<?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>165079</bug_id>
          
          <creation_ts>2016-11-26 11:44:27 -0800</creation_ts>
          <short_desc>Change Timers to use only Seconds, not raw doubles or std::chrono</short_desc>
          <delta_ts>2018-08-28 17:16:55 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>165074</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1253690</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-26 11:44:27 -0800</bug_when>
    <thetext>Change Timers to use only Seconds, not raw doubles or std::chrono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253691</commentid>
    <comment_count>1</comment_count>
      <attachid>295437</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-26 11:48:43 -0800</bug_when>
    <thetext>Created attachment 295437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253692</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-26 11:51:15 -0800</bug_when>
    <thetext>Attachment 295437 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/loader/cache/MemoryCache.cpp:774:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 247 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253693</commentid>
    <comment_count>3</comment_count>
      <attachid>295438</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-26 12:29:20 -0800</bug_when>
    <thetext>Created attachment 295438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253694</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-26 12:35:21 -0800</bug_when>
    <thetext>Attachment 295438 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 260 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253696</commentid>
    <comment_count>5</comment_count>
      <attachid>295439</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-26 13:37:16 -0800</bug_when>
    <thetext>Created attachment 295439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253698</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-26 13:39:58 -0800</bug_when>
    <thetext>Attachment 295439 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 291 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253699</commentid>
    <comment_count>7</comment_count>
      <attachid>295440</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-26 14:21:15 -0800</bug_when>
    <thetext>Created attachment 295440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253700</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-26 14:24:16 -0800</bug_when>
    <thetext>Attachment 295440 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 291 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253703</commentid>
    <comment_count>9</comment_count>
      <attachid>295442</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-26 14:44:23 -0800</bug_when>
    <thetext>Created attachment 295442
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253704</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-26 14:49:08 -0800</bug_when>
    <thetext>Attachment 295442 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 293 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253709</commentid>
    <comment_count>11</comment_count>
      <attachid>295442</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-11-26 16:06:04 -0800</bug_when>
    <thetext>Comment on attachment 295442
Patch

Attachment 295442 did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/2575692

New failing tests:
http/tests/eventsource/eventsource-retry-precision.html
http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253710</commentid>
    <comment_count>12</comment_count>
      <attachid>295444</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-11-26 16:06:07 -0800</bug_when>
    <thetext>Created attachment 295444
Archive of layout-test-results from ews103 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews103  Port: mac-yosemite  Platform: Mac OS X 10.10.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253711</commentid>
    <comment_count>13</comment_count>
      <attachid>295442</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-11-26 16:11:49 -0800</bug_when>
    <thetext>Comment on attachment 295442
Patch

Attachment 295442 did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/2575681

New failing tests:
http/tests/eventsource/eventsource-retry-precision.html
editing/input/password-echo-textnode.html
http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253712</commentid>
    <comment_count>14</comment_count>
      <attachid>295445</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-11-26 16:11:53 -0800</bug_when>
    <thetext>Created attachment 295445
Archive of layout-test-results from ews124 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253713</commentid>
    <comment_count>15</comment_count>
      <attachid>295442</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-11-26 16:12:27 -0800</bug_when>
    <thetext>Comment on attachment 295442
Patch

Attachment 295442 did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/2575695

New failing tests:
http/tests/eventsource/eventsource-retry-precision.html
http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253714</commentid>
    <comment_count>16</comment_count>
      <attachid>295446</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-11-26 16:12:30 -0800</bug_when>
    <thetext>Created attachment 295446
Archive of layout-test-results from ews117 for mac-yosemite

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117  Port: mac-yosemite  Platform: Mac OS X 10.10.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253716</commentid>
    <comment_count>17</comment_count>
      <attachid>295442</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-11-26 16:23:36 -0800</bug_when>
    <thetext>Comment on attachment 295442
Patch

Attachment 295442 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.webkit.org/results/2575713

New failing tests:
http/tests/eventsource/eventsource-retry-precision.html
http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253717</commentid>
    <comment_count>18</comment_count>
      <attachid>295447</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2016-11-26 16:23:39 -0800</bug_when>
    <thetext>Created attachment 295447
Archive of layout-test-results from ews107 for mac-yosemite-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107  Port: mac-yosemite-wk2  Platform: Mac OS X 10.10.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253721</commentid>
    <comment_count>19</comment_count>
      <attachid>295449</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-26 16:33:07 -0800</bug_when>
    <thetext>Created attachment 295449
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253722</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-26 16:38:40 -0800</bug_when>
    <thetext>Attachment 295449 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 296 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253752</commentid>
    <comment_count>21</comment_count>
      <attachid>295454</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-27 09:33:15 -0800</bug_when>
    <thetext>Created attachment 295454
Almost complete other than some Settings-related bindings issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253753</commentid>
    <comment_count>22</comment_count>
      <attachid>295455</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-27 09:55:46 -0800</bug_when>
    <thetext>Created attachment 295455
Almost complete other than some Settings-related bindings issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253754</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-27 09:59:17 -0800</bug_when>
    <thetext>Attachment 295455 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 296 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253773</commentid>
    <comment_count>24</comment_count>
      <attachid>295466</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-27 14:22:04 -0800</bug_when>
    <thetext>Created attachment 295466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253775</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-27 14:24:57 -0800</bug_when>
    <thetext>Attachment 295466 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 303 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253776</commentid>
    <comment_count>26</comment_count>
      <attachid>295467</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-27 14:40:30 -0800</bug_when>
    <thetext>Created attachment 295467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253777</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-27 14:43:02 -0800</bug_when>
    <thetext>Attachment 295467 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:317:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 303 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253784</commentid>
    <comment_count>28</comment_count>
      <attachid>295466</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-11-27 15:27:19 -0800</bug_when>
    <thetext>Comment on attachment 295466
Patch

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

&gt; Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp:39
&gt; +static const Seconds taskDelayInterval = Seconds(1.0 / 10);

Is the division here needed? Can this just be 0.1_s?

&gt; Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp:449
&gt; +        Seconds interval = didPlayToEnd ? watchdogTimerIntervalAfterPlayingToEnd : watchdogTimerIntervalAfterPausing;

auto?

&gt; Source/WebCore/bindings/js/JSInternalSettingsGeneratedCustom.cpp:49
&gt; +    impl.setIncrementalRenderingSuppressionTimeout(Seconds(incrementalRenderingSuppressionTimeout));

I&apos;m not a fan of adding custom bindings for something like this.  Can we instead have the settings generator add a setIncrementalRenderingSuppressionTimeoutAsDouble (or something) and have that called?

&gt; Source/WebCore/bindings/js/JSInternalSettingsGeneratedCustom.cpp:65
&gt; +    impl.setPasswordEchoDuration(Seconds(passwordEchoDuration));

Same as above.

&gt; Source/WebCore/css/StyleResolver.cpp:1243
&gt; +        static const Seconds matchedDeclarationCacheSweepTime = 60_s;
&gt; +        m_matchedPropertiesCacheSweepTimer.startOneShot(matchedDeclarationCacheSweepTime);

Not sure this constant really adds much.

&gt; Source/WebCore/editing/AlternativeTextController.cpp:143
&gt; +    const Seconds correctionPanelTimerInterval = 0.3_s;

auto?

&gt; Source/WebCore/editing/FrameSelection.cpp:2048
&gt; +        if (Seconds blinkInterval = m_frame-&gt;page()-&gt;theme().caretBlinkInterval())

auto?

&gt; Source/WebCore/html/HTMLMediaElement.cpp:164
&gt; +static const Seconds HideMediaControlsAfterEndedDelay = Seconds(6);

6_s?

&gt; Source/WebCore/html/HTMLMediaElement.cpp:1970
&gt; +    m_progressEventTimer.startRepeating(0.350_s);

I think this might read better as 350_ms given the comment.

&gt; Source/WebCore/html/MediaController.cpp:678
&gt; +    MonotonicTime now = MonotonicTime::now();
&gt; +    Seconds timedelta = now - m_previousTimeupdateTime;

auto?

&gt; Source/WebCore/html/MediaElementSession.cpp:60
&gt; +static const Seconds elementMainContentCheckInterval = 0.25_s;

250_ms?

&gt; Source/WebCore/html/shadow/MediaControlElements.cpp:140
&gt; +    Seconds duration = document().page() ? document().page()-&gt;theme().mediaControlsFadeOutDuration() : 0_s;

auto?

&gt; Source/WebCore/html/shadow/MediaControlElements.cpp:191
&gt; +    Seconds duration = document().page() ? document().page()-&gt;theme().mediaControlsFadeInDuration() : 0_s;

auto?

&gt; Source/WebCore/html/shadow/MediaControlElements.cpp:194
&gt; +    setInlineStyleProperty(CSSPropertyTransitionDuration, duration.value(), CSSPrimitiveValue::CSS_S);

Should we have an overload of setInlineStyleProperty that takes a Seconds?

&gt; Source/WebCore/html/shadow/MediaControlElements.cpp:208
&gt; +    Seconds duration = document().page() ? document().page()-&gt;theme().mediaControlsFadeOutDuration() : 0_s;

auto?

&gt; Source/WebCore/html/track/VTTRegion.cpp:59
&gt; +static const Seconds scrollTime = Seconds(0.433);

_s or _ms?

&gt; Source/WebCore/html/track/VTTRegion.cpp:406
&gt; +    Seconds duration = isScrollingRegion() ? scrollTime : 0_s;

auto?

&gt; Source/WebCore/inspector/InspectorOverlay.cpp:512
&gt; +        const Seconds paintRectsUpdateInterval = 0.032_s;

auto? _ms?

&gt; Source/WebCore/loader/cache/MemoryCache.cpp:54
&gt; +static const Seconds defaultDecodedDataDeletionInterval = 0_s;

why remove the auto?

&gt; Source/WebCore/page/DOMTimer.cpp:55
&gt; +static const Seconds maxIntervalForUserGestureForwarding = 1_s; // One second matches Gecko.
&gt; +static const Seconds minIntervalForNonUserObservableChangeTimers = 1_s; // Empirically determined to maximize battery life.

Why remove auto?

&gt; Source/WebCore/page/DOMTimer.cpp:434
&gt; +    // Do we really want to initialize randomizedProportion just once?

I don&apos;t think we need this comment. If you want to keep it, please add a FIXME.

&gt; Source/WebCore/page/Frame.cpp:125
&gt; +static const Seconds scrollFrequency = Seconds(1.0 / 60);

This is a terrifying constant :).

&gt; Source/WebCore/page/FrameView.cpp:2844
&gt; +    static const Seconds speculativeTilingEnableDelay = 0.5_s;

Is this constant needed?

&gt; Source/WebCore/page/animation/AnimationController.cpp:51
&gt; +static const Seconds animationTimerDelay = Seconds(1.0 / 60);

Not new, but this really seems like it should not be a constant, but rather something you get from settings.

&gt; Source/WebCore/platform/ThreadTimers.cpp:47
&gt; +static const Seconds maxDurationOfFiringTimers = Seconds::fromMilliseconds(50);

_ms?

&gt; Source/WebCore/platform/ThreadTimers.cpp:67
&gt; +        m_pendingSharedTimerFireTime = MonotonicTime();

Can this use { }?

&gt; Source/WebCore/platform/ThreadTimers.cpp:84
&gt; +        m_pendingSharedTimerFireTime = MonotonicTime();

{ }?

&gt; Source/WebCore/platform/ThreadTimers.cpp:88
&gt; +        MonotonicTime nextFireTime = m_timerHeap.first()-&gt;m_nextFireTime;
&gt; +        MonotonicTime currentMonotonicTime = MonotonicTime::now();

auto?

&gt; Source/WebCore/platform/ThreadTimers.cpp:106
&gt; +    m_pendingSharedTimerFireTime = MonotonicTime();

{ }

&gt; Source/WebCore/platform/ThreadTimers.cpp:109
&gt; +    MonotonicTime fireTime = MonotonicTime::now();
&gt; +    MonotonicTime timeToQuit = fireTime + maxDurationOfFiringTimers;

auto?

&gt; Source/WebCore/platform/ThreadTimers.cpp:114
&gt; +        timer-&gt;m_nextFireTime = MonotonicTime();
&gt; +        timer-&gt;m_unalignedNextFireTime = MonotonicTime();

{ }?

&gt; Source/WebCore/platform/ThreadTimers.cpp:117
&gt; +        Seconds interval = timer-&gt;repeatInterval();

auto?

&gt; Source/WebCore/platform/ThreadTimers.cpp:140
&gt; +        m_pendingSharedTimerFireTime = MonotonicTime();

{ }?

&gt; Source/WebCore/platform/Timer.cpp:230
&gt; +    MonotonicTime current = MonotonicTime::now();

auto?

&gt; Source/WebCore/platform/Timer.cpp:296
&gt; +    MonotonicTime fireTime = m_nextFireTime;

auto?

&gt; Source/WebCore/platform/Timer.cpp:379
&gt; +    MonotonicTime oldTime = m_nextFireTime;

auto?

&gt; Source/WebCore/platform/cocoa/ScrollController.mm:79
&gt; +static const Seconds statelessScrollSnapDelay = Seconds(0.5);

0.5_s?

&gt; Source/WebCore/platform/graphics/ShadowBlur.cpp:127
&gt; +        const Seconds scratchBufferPurgeInterval = 2_s;

auto?

&gt; Source/WebCore/platform/graphics/ca/TileGrid.cpp:384
&gt; +                    Seconds timeUntilCohortExpires = cohort.timeUntilExpiration();

auto?

&gt; Source/WebCore/platform/graphics/ca/TileGrid.cpp:500
&gt; +    const Seconds cohortRemovalTimerSeconds = 1_s;

You can remove the Seconds suffix.

&gt; Source/WebCore/platform/graphics/ca/TileGrid.cpp:509
&gt; +    const Seconds cohortLifeTime = Seconds(2);

2_s? auto?

&gt; Source/WebCore/platform/graphics/cg/SubimageCacheWithTimer.cpp:37
&gt; +static const Seconds subimageCacheClearDelay = 1_s;

why remove the auto?

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:370
&gt; +        static const Seconds readyStateTimerDelay = 60_s;

auto?

&gt; Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:147
&gt; +static const Seconds clearContentsTimerInterval = Seconds(3);

3_s?

&gt; Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:84
&gt; +static const Seconds defaultWatchdogTimerInterval = Seconds(1);

1_s?

&gt; Source/WebCore/rendering/RenderMarquee.cpp:171
&gt; +    m_timer.startRepeating(Seconds::fromMilliseconds(speed()));

Really got to make this use RAF ;).

&gt; Source/WebCore/replay/EventLoopInputDispatcher.cpp:104
&gt; +        Seconds targetInterval = m_currentWork.timestamp - m_previousInputTimestamp;
&gt; +        Seconds elapsed = MonotonicTime::now() - m_previousDispatchStartTime;

auto?

&gt; Source/WebCore/svg/animation/SMILTimeContainer.cpp:207
&gt;      SMILTime delay = std::max(fireTime - elapsed, minimumDelay);

Perhaps SMILTime should have a toSeconds() function that returns a WTF::Seconds?

&gt; Source/WebCore/xml/XMLHttpRequest.cpp:248
&gt; +    Seconds interval = Seconds::fromMilliseconds(m_timeoutMilliseconds ? m_timeoutMilliseconds : 60000) - (MonotonicTime::now() - m_sendingTime);

auto?

&gt; Source/WebKit/Storage/StorageAreaSync.cpp:44
&gt; +static const Seconds storageSyncInterval = Seconds(1);

1_s?

&gt; Source/WebKit/Storage/StorageTracker.cpp:54
&gt;  // after it has been idle for m_StorageDatabaseIdleInterval seconds.

m_StorageDatabaseIdleInterval -&gt; m_storageDatabaseIdleInterval

&gt; Source/WebKit/mac/Plugins/WebNetscapePluginView.mm:114
&gt; +static const Seconds ThrottledTimerInterval = Seconds(0.25);

_s?

&gt; Source/WebKit/mac/Plugins/WebNetscapePluginView.mm:133
&gt; +        Seconds timeInterval = Seconds::fromMilliseconds(m_interval);

auto?

&gt; Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp:42
&gt; +static const Seconds MessageThrottleTimeInterval = Seconds(0.016);

_s or _ms?

&gt; Source/WebKit2/NetworkProcess/NetworkLoad.cpp:314
&gt; +    Seconds delay = NetworkProcess::singleton().loadThrottleLatency();

auto?

&gt; Source/WebKit2/NetworkProcess/PingLoad.h:49
&gt; +        m_timeoutTimer.startOneShot(60000_s);

Seems like this should _min

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:49
&gt; +static const Seconds preloadedEntryLifetime = 10_s;

Why remove the auto?

&gt; Source/WebKit2/Shared/CacheModel.cpp:112
&gt; +        deadDecodedDataDeletionInterval = 60_s;

1_min?

&gt; Source/WebKit2/Shared/mac/RemoteLayerBackingStoreCollection.mm:35
&gt; +const Seconds volatileBackingStoreAgeThreshold = Seconds(1);
&gt; +const Seconds volatileSecondaryBackingStoreAgeThreshold = Seconds(0.2);
&gt; +const Seconds volatilityTimerInterval = Seconds(0.2);

_s?

&gt; Source/WebKit2/UIProcess/Cocoa/ViewGestureController.cpp:44
&gt; +static const Seconds swipeSnapshotRemovalWatchdogAfterFirstVisuallyNonEmptyLayoutDuration = Seconds(3);
&gt; +static const Seconds swipeSnapshotRemovalActiveLoadMonitoringInterval = Seconds(0.25);

_s?

&gt; Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp:218
&gt; +    m_timer.startOneShot(Seconds(1));

1_s?

&gt; Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp:230
&gt; +    m_startTime = MonotonicTime();

{ }?

&gt; Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp:49
&gt; +static const Seconds minimumLifetime = Seconds(2 * 60);

2_min?

&gt; Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp:52
&gt; +static const Seconds shutdownTimeout = Seconds(1 * 60);

1_min?

&gt; Source/WebKit2/UIProcess/ResponsivenessTimer.cpp:31
&gt; +static const Seconds responsivenessTimeout = Seconds(3);

3_s?

&gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:1422
&gt; +    static const Seconds maximumTimerThrottlePerPage = Seconds::fromMilliseconds(200) * 100;

200_ms (or even 20_s for the whole thing).

&gt; Source/WebKit2/UIProcess/WebProcessPool.cpp:1424
&gt; +    Seconds limit = maximumTimerThrottlePerPage * m_hiddenPageThrottlingAutoIncreasesCounter.value();

auto?

&gt; Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp:329
&gt; +    Seconds timeInterval = Seconds::fromMilliseconds(m_interval);

auto?

&gt; Source/WebKit2/WebProcess/Plugins/PluginView.cpp:81
&gt; +static const Seconds pluginSnapshotTimerDelay = Seconds(1.1);

1.1_s?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2054
&gt; +    Seconds newInterval = m_layerVolatilityTimer.repeatInterval() * 2;

auto?

&gt; Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:309
&gt; +    const Seconds initialFlushDelay = 0.5_s;
&gt; +    const Seconds flushDelay = 1.5_s;
&gt; +    Seconds throttleDelay = m_isThrottlingLayerFlushes ? (m_isInitialThrottledLayerFlush ? initialFlushDelay : flushDelay) : 0_s;

auto?

&gt; Source/WebKit2/WebProcess/WebProcess.cpp:145
&gt; +static const Seconds nonVisibleProcessCleanupDelay = Seconds(10);

10_s?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253785</commentid>
    <comment_count>29</comment_count>
      <attachid>295467</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-11-27 15:27:58 -0800</bug_when>
    <thetext>Comment on attachment 295467
Patch

rs=me when you fix all the builds / tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253816</commentid>
    <comment_count>30</comment_count>
      <attachid>295482</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-11-27 23:03:53 -0800</bug_when>
    <thetext>Created attachment 295482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256244</commentid>
    <comment_count>31</comment_count>
      <attachid>296118</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-04 20:12:39 -0800</bug_when>
    <thetext>Created attachment 296118
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256247</commentid>
    <comment_count>32</comment_count>
      <attachid>296120</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-04 20:44:36 -0800</bug_when>
    <thetext>Created attachment 296120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256248</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-04 20:47:54 -0800</bug_when>
    <thetext>Attachment 296120 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:318:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 295 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256264</commentid>
    <comment_count>34</comment_count>
      <attachid>296128</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-04 22:13:12 -0800</bug_when>
    <thetext>Created attachment 296128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256265</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-04 22:18:26 -0800</bug_when>
    <thetext>Attachment 296128 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:318:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 296 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256267</commentid>
    <comment_count>36</comment_count>
      <attachid>296129</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-04 23:00:56 -0800</bug_when>
    <thetext>Created attachment 296129
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256268</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-04 23:03:14 -0800</bug_when>
    <thetext>Attachment 296129 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:318:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 298 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256270</commentid>
    <comment_count>38</comment_count>
      <attachid>296130</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-04 23:13:55 -0800</bug_when>
    <thetext>Created attachment 296130
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256271</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-04 23:17:11 -0800</bug_when>
    <thetext>Attachment 296130 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:318:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 301 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256272</commentid>
    <comment_count>40</comment_count>
      <attachid>296131</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-04 23:24:36 -0800</bug_when>
    <thetext>Created attachment 296131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256273</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-04 23:41:23 -0800</bug_when>
    <thetext>Attachment 296131 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:318:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 301 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256317</commentid>
    <comment_count>42</comment_count>
      <attachid>296143</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-05 09:13:46 -0800</bug_when>
    <thetext>Created attachment 296143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256327</commentid>
    <comment_count>43</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-05 09:21:53 -0800</bug_when>
    <thetext>Attachment 296143 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:318:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 302 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256333</commentid>
    <comment_count>44</comment_count>
      <attachid>296148</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-05 09:28:39 -0800</bug_when>
    <thetext>Created attachment 296148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256338</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-05 09:32:08 -0800</bug_when>
    <thetext>Attachment 296148 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/WebPage/WebPage.cpp:318:  More than one command on the same line in if  [whitespace/parens] [4]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/WebCore/platform/Timer.h:159:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 3 in 303 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454637</commentid>
    <comment_count>46</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-08-28 17:16:55 -0700</bug_when>
    <thetext>This all happened.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295437</attachid>
            <date>2016-11-26 11:48:43 -0800</date>
            <delta_ts>2016-11-26 12:29:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161126114823.patch</filename>
            <type>text/plain</type>
            <size>303933</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcAppbmRl
eCA0MDQxNjlmN2Y1NGZhZjBkOTY4MWYyZWYwMjBmZjRhNmQ4YzFkYzRlLi5iMWFlZTM4NjYwMmNi
NGJkZWU1ZDhmNjYwNjRhMGIzNDRlM2ZiOTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAK
QEAgLTczLDcgKzczLDcgQEAgdm9pZCBTZW5kR2FyYmFnZUNvbGxlY3Rpb25FdmVudHNUYXNrOjph
ZGRHYXJiYWdlQ29sbGVjdGlvbihHYXJiYWdlQ29sbGVjdGlvbkRhdGEKICAgICB9CiAKICAgICBp
ZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNl
bmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OnJlc2V0KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCBhZDVkY2UyNDU4NmM0
YjMxY2RlNTk1YmEyYjFmN2Y2ZTMwYjM3MWE5Li5hM2U1OTFlMDA5ZjE0ZGU4YzBlM2ViNTc1NGQ4
MmM2ZjUwMzFhZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCkBAIC0yMjMsMTMgKzIyMywxMyBAQCBzdGF0aWMgQUxXQVlTX0lOTElO
RSBzdGQ6OnBhaXI8U3BlY2llc0NvbnN0cnVjdFJlc3VsdCwgSlNPYmplY3QqPiBzcGVjaWVzQ29u
c3RydQogICAgICAgICBpZiAoY29uc3RydWN0b3IuaXNDb25zdHJ1Y3RvcigpKSB7CiAgICAgICAg
ICAgICBKU09iamVjdCogY29uc3RydWN0b3JPYmplY3QgPSBqc0Nhc3Q8SlNPYmplY3QqPihjb25z
dHJ1Y3Rvcik7CiAgICAgICAgICAgICBpZiAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpICE9
IGNvbnN0cnVjdG9yT2JqZWN0LT5nbG9iYWxPYmplY3QoKSkKLSAgICAgICAgICAgICAgICByZXR1
cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxw
dHIpOzsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0
cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOwogICAgICAgICB9CiAgICAgICAgIGlmIChj
b25zdHJ1Y3Rvci5pc09iamVjdCgpKSB7CiAgICAgICAgICAgICBjb25zdHJ1Y3RvciA9IGNvbnN0
cnVjdG9yLmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuc3BlY2llc1N5bWJvbCk7CiAg
ICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBleGNlcHRpb25SZXN1bHQoKSk7
CiAgICAgICAgICAgICBpZiAoY29uc3RydWN0b3IuaXNOdWxsKCkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBu
dWxscHRyKTs7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXND
b25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTsKICAgICAgICAgfQogICAgIH0gZWxz
ZQogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBleGNlcHRpb25SZXN1bHQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9S
dW5Mb29wLmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhiY2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4u
NjNkMGM3OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZjNDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAt
ODgsMTAgKzg4LDggQEAgcHVibGljOgogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGlj
aXQgVGltZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1
YWwgflRpbWVyQmFzZSgpOwogCi0gICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2
b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2
YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQot
ICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2
YWwsIGZhbHNlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFs
c2UpOyB9CisgICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZh
bCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9u
ZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1Ymxp
YzoKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZv
aWQgc3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBi
b29sIHJlcGVhdCk7CiAKICAgICAgICAgUnVuTG9vcCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BU
aW1lci5oCmluZGV4IDM3ODBlNzZjMDMxMzEwNGFlYzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLmU4
Y2E2Y2Y0YzNkNmEwYTI4ZGJjODFlZTk5MThmNjM4OGFhNTk3NTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1l
ci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGljOgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9F
WFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUg
cmVwZWF0SW50ZXJ2YWwpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29u
ZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRl
cnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGlu
dGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmco
U2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50
ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgU2Vjb25kcygwKSk7IH0KIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lk
IHN0b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJD
Ri5jcHAKaW5kZXggZWE2NWNiYjUzMmUyM2JhN2JmOTU3M2MzMWI3Y2FiYjNiODlhOThjYi4uMDg1
Y2JhNjNjY2Q0NmVlMGVhZGZlMTk3OWM4ODUyMGVmZTViZWE3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BU
aW1lckNGLmNwcApAQCAtNTIsMTIgKzUyLDEyIEBAIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQoQ0ZS
dW5Mb29wVGltZXJSZWYsIHZvaWQqIGNvbnRleHQpCiAgICAgdGltZXItPmZpcmVkKCk7CiB9CiAK
LXZvaWQgUnVuTG9vcFRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRv
dWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgUnVuTG9vcFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25k
cyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICht
X3RpbWVyKQogICAgICAgICBDRlJ1bkxvb3BUaW1lckludmFsaWRhdGUobV90aW1lci5nZXQoKSk7
CiAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAg
fTsKLSAgICBtX3RpbWVyID0gYWRvcHRDRihDRlJ1bkxvb3BUaW1lckNyZWF0ZSgwLCBDRkFic29s
dXRlVGltZUdldEN1cnJlbnQoKSArIG5leHRGaXJlSW50ZXJ2YWwsIHJlcGVhdEludGVydmFsLCAw
LCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkpOworICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVu
TG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJ
bnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbC52YWx1ZSgpLCAwLCAwLCB0aW1lckZpcmVk
LCAmY29udGV4dCkpOwogfQogCiB2b2lkIFJ1bkxvb3BUaW1lckJhc2U6OnNjaGVkdWxlKGNvbnN0
IFNjaGVkdWxlUGFpciogc2NoZWR1bGVQYWlyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
Y2YvUnVuTG9vcENGLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKaW5kZXgg
N2U4NDBkZDUyZGY4Y2Y2MDRhZjE4YTk4NmRlOTIzZTg3MjkyNDQ2Mi4uOTZlNzhkYjM2NTEwMzBj
MzI1NDMxMzEwZmZhYmY5NWU1ZjU0OThmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCkBAIC0x
MDEsMTQgKzEwMSwxNCBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0
b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIGlmIChtX3RpbWVy
KQogICAgICAgICBzdG9wKCk7CiAgICAgCiAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRl
eHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRl
cnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwgOiAwOwotICAgIG1fdGltZXIgPSBhZG9w
dENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1dGVU
aW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAs
IHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgQ0ZUaW1lSW50ZXJ2YWwgcmVwZWF0SW50ZXJ2
YWwgPSByZXBlYXQgPyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCkgOiAwOworICAgIG1fdGltZXIg
PSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIENGQWJz
b2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJ
bnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKICAgICBDRlJ1bkxvb3BBZGRU
aW1lcihtX3J1bkxvb3AubV9ydW5Mb29wLmdldCgpLCBtX3RpbWVyLmdldCgpLCBrQ0ZSdW5Mb29w
Q29tbW9uTW9kZXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9u
LmNwcAppbmRleCAwZmFmMjEyMDJhMTMwYjkyZTVkMTI3MDIzNjJjNDQ3YmQ4ZTcyM2RhLi5iYzBj
MDVhYzBiYTQwMTM3ZjFhZWU2MDlkM2ZjODI5NGExMTVlNmNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Np
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5
L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgY29uc3QgU3RyaW5n
JiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCgpIGNvbnN0CiB2b2lkIFdlYktpdE1l
ZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IFJlZjxVaW50OEFycmF5PiYmIGluaXREYXRhKQogewogICAgIG1fcGVuZGluZ0tleVJlcXVlc3Rz
LmFwcGVuZCh7IG1pbWVUeXBlLCBXVEZNb3ZlKGluaXREYXRhKSB9KTsKLSAgICBtX2tleVJlcXVl
c3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9rZXlSZXF1ZXN0VGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6a2V5UmVx
dWVzdFRpbWVyRmlyZWQoKQpAQCAtMTQyLDcgKzE0Miw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdl
YktpdE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRlKFJlZjxVaW50OEFycmF5PiYmIGtleSkKIAogICAg
IC8vIDIuIFNjaGVkdWxlIGEgdGFzayB0byBoYW5kbGUgdGhlIGNhbGwsIHByb3ZpZGluZyBrZXku
CiAgICAgbV9wZW5kaW5nS2V5cy5hcHBlbmQoV1RGTW92ZShrZXkpKTsKLSAgICBtX2FkZEtleVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FkZEtleVRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IGNlYzk3Y2M5MDJlNDUwNjg5
N2ZlZmJkM2VhZTJmOTc5MDdhYWNjMTYuLjI2MWIwN2M1ZDc3MzAyODQwOTc0OGM5N2YxYjdhNzg1
YjIxZjg1NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24v
R2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24v
R2VvTm90aWZpZXIuY3BwCkBAIC01OSwxMyArNTksMTMgQEAgdm9pZCBHZW9Ob3RpZmllcjo6c2V0
RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikKICAgICBtX2ZhdGFsRXJy
b3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0aW1lciBtYXkgbm90IGhh
dmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0gICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAK
IHZvaWQgR2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKCkKIHsKICAgICBtX3VzZUNh
Y2hlZFBvc2l0aW9uID0gdHJ1ZTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogYm9vbCBHZW9Ob3RpZmllcjo6
aGFzWmVyb1RpbWVvdXQoKSBjb25zdApAQCAtOTIsNyArOTIsNyBAQCB2b2lkIEdlb05vdGlmaWVy
OjpydW5FcnJvckNhbGxiYWNrKFBvc2l0aW9uRXJyb3IqIGVycm9yKQogdm9pZCBHZW9Ob3RpZmll
cjo6c3RhcnRUaW1lcklmTmVlZGVkKCkKIHsKICAgICBpZiAobV9vcHRpb25zLT5oYXNUaW1lb3V0
KCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1fb3B0aW9ucy0+dGltZW91dCgpIC8g
MTAwMC4wKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcyhtX29wdGlvbnMtPnRpbWVvdXQoKSkpOwogfQogCiB2b2lkIEdlb05vdGlmaWVyOjpz
dG9wVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlv
bi9HZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dl
b2xvY2F0aW9uLmNwcAppbmRleCA4NWFlNDBmNjM0MTc1MzI3MTY3MmYzYTM3N2ZlOTkzZGY0YTMx
OGMwLi41MmYxOTI5MzU4ZjNhOWYwNDE1MTIzYmZkMmVjNzg1OTc3M2M0M2E2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcApAQCAt
MTk4LDcgKzE5OCw3IEBAIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZSgpCiAgICAgQWN0aXZlRE9N
T2JqZWN0OjpyZXN1bWUoKTsKIAogICAgIGlmICghbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVU
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnJl
c3VtZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IDM4ZGVjZDUzYjlhYjA4MTJlYjgwOWY1ZmJiM2I2
YmRhMWVjOGIwMWEuLjVhNTk0NTJhYWRiZmZjOGJjODY3OWJiMGEwZTNmOWM3YzE3MzI1MzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5jcHAKQEAgLTM1MCw3ICszNTAsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZU9w
ZXJhdGlvblRpbWVyKCkKICAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fZGF0YWJhc2Ut
Pm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgaWYgKCFtX29wZXJhdGlvblRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fb3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X29wZXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBJREJU
cmFuc2FjdGlvbjo6b3BlcmF0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNw
cAppbmRleCBjYjA0ODYxY2M3Y2NjNWNmMmY3Y2ViYWQ3M2NkNTk3YmQyYTI3MGFhLi5jNjZmZDEx
YzZiNzVmZWM4NjZkNmEyMTFiNTUwN2Y0MmNjOWZkMjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZS5jcHAKQEAgLTE0OTQsNyArMTQ5NCw3IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Omludm9r
ZU9wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIoKQogICAgIEFTU0VSVCghbV9oYXJkQ2xvc2Vk
Rm9yVXNlckRlbGV0ZSk7CiAKICAgICBpZiAoIW1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVy
YXRpb25BbmRUcmFuc2FjdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNw
cAppbmRleCA3YTMzNjlmMTBlNTMwZTRkYzg3ZTcxN2Q1Njc1ZjcwOTExM2I4MGU5Li5mNWQ2NjM2
MDI2NGRmNjkxYzZkOGVjYjU3ZTQzNTA1OGM1NjA2ZTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5h
Z2VyLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBjb25zdCBkb3VibGUgdGFza0RlbGF5SW50ZXJ2YWwgPSAxLjAgLyAxMC4wOworc3RhdGljIGNv
bnN0IFNlY29uZHMgdGFza0RlbGF5SW50ZXJ2YWwgPSBTZWNvbmRzKDEuMCAvIDEwKTsKIAogc3Ry
dWN0IENsaWVudFN0YXRlIHsKICAgICBleHBsaWNpdCBDbGllbnRTdGF0ZShXZWJNZWRpYVNlc3Np
b25NYW5hZ2VyQ2xpZW50JiBjbGllbnQsIHVpbnQ2NF90IGNvbnRleHRJZCkKQEAgLTQyMyw4ICs0
MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZmluZChXZWJNZWRpYVNlc3Np
b25NYW5hZ2VyQ2xpZW50KiBjbGllbnQsIHVpbnQ2NAogCiB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1h
bmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogewotICAgIHN0YXRpYyBjb25zdCBkb3Vi
bGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gNjAgKiA2MDsKLSAgICBzdGF0
aWMgY29uc3QgZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kID0g
OCAqIDYwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFm
dGVyUGF1c2luZyA9IFNlY29uZHMoNjAgKiA2MCk7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMg
d2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSBTZWNvbmRzKDggKiA2MCk7
CiAKICAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tUYXJnZXQtPmhhc0Fj
dGl2ZVJvdXRlKCkpIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKQEAgLTQ0Miwx
NCArNDQyLDE0IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lcigpCiAgICAgfQogCiAgICAgaWYgKHN0b3BUaW1lcikgewotICAgICAgICBtX2N1cnJl
bnRXYXRjaGRvZ0ludGVydmFsID0gMDsKKyAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZh
bCA9IFNlY29uZHMoMCk7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAgICAgICAg
IExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGlt
ZXIgLSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91YmxlIGludGVy
dmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9F
bmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNlY29uZHMg
aW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAgICAgaWYg
KGludGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hkb2dUaW1l
ci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90
KGludGVydmFsKTsKLSAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuMGYiLCBp
bnRlcnZhbCk7CisgICAgICAgICAgICBMT0coTWVkaWEsICJXZWJNZWRpYVNlc3Npb25NYW5hZ2Vy
Ojpjb25maWd1cmVXYXRjaGRvZ1RpbWVyIC0gdGltZXIgc2NoZWR1bGVkIGZvciAlLjNmcyIsIGlu
dGVydmFsLnZhbHVlKCkpOwogICAgICAgICB9CiAgICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50
ZXJ2YWwgPSBpbnRlcnZhbDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdk
NThlZjkxNGNiMjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZk
NDZhMTNhZDNjMWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAy
LDcgKzEwMiw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1f
cGxheWJhY2tUYXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJh
Y2tUYXJnZXRQaWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25U
YXNrcyBtX3Rhc2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRv
Z0ludGVydmFsIHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsK
ICAgICBib29sIG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV90YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVu
YWJsZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IGY1NTk4MTE4YTg4ZjI4MDAzMTVkOTQxNzMwYWFm
YzIxZTA1NTI4NGIuLjI4NDhmYWFmYmNjYWVlNWRiZTllZGMyYzQ4NGZlZGIxMmVlMTFlOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHAKQEAgLTM0OCw3ICszNDgsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmFuZ2VSZW1vdmFs
KGNvbnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kKQogICAgIC8vIDUu
IFJldHVybiBjb250cm9sIHRvIHRoZSBjYWxsZXIgYW5kIHJ1biB0aGUgcmVzdCBvZiB0aGUgc3Rl
cHMgYXN5bmNocm9ub3VzbHkuCiAgICAgbV9wZW5kaW5nUmVtb3ZlU3RhcnQgPSBzdGFydDsKICAg
ICBtX3BlbmRpbmdSZW1vdmVFbmQgPSBlbmQ7Ci0gICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAK
IHZvaWQgU291cmNlQnVmZmVyOjphYm9ydElmVXBkYXRpbmcoKQpAQCAtNTMzLDcgKzUzMyw3IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwoY29u
c3QgdW5zaWduZWQgY2hhciogZGF0YSwKICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS51
cGRhdGVzdGFydEV2ZW50KTsKIAogICAgIC8vIDYuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgYnVm
ZmVyIGFwcGVuZCBhbGdvcml0aG0uCi0gICAgbV9hcHBlbmRCdWZmZXJUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9hcHBlbmRCdWZmZXJUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiAKICAgICByZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkNTJhNDhh
NTNkYWUyODhjODQ3MTlmZGMxZTFlZWJkNDdlZTZlNTcuLmQ1NDQwYmZmNjdjOTI4Y2Y3MWRkY2Ji
NTU1ZGVlNzQ2Yzc4YTU0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBNZWRpYVN0
cmVhbTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hlZHVsZWRBY3Rpdml0
eUV2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwog
CiAgICAgaWYgKCFtX2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Fj
dGl2aXR5RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYWN0aXZpdHlFdmVu
dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYVN0cmVhbTo6
YWN0aXZpdHlFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKaW5kZXggODMzMGM4NzhjMTdjMDllNzgy
NjliYzU1YWQ3OGZlMTdiMTRiODBkYi4uMTZlODAwNjg3ODA0Y2ZjNDk0M2JmNTg0YjcyY2U2ODUx
MmQwMjY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEVE1GU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9pZCBSVENEVE1GU2VuZGVy
OjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1
bGVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVk
RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlZEV2ZW50VGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0RhdGFDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRGF0YUNoYW5uZWwuY3BwCmluZGV4IDA1MWM3MDE0OWFlMmRhMTJlNjAwYTQwNTBmMDljMWVj
OGJmZDU3NTYuLjQzYTk0YmEyMzc2M2RlZTI3N2RjZWJiNzI1NTBhODNkY2MxZTI2YjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5u
ZWwuY3BwCkBAIC0yMzcsNyArMjM3LDcgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2NoZWR1bGVE
aXNwYXRjaEV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkKICAgICBtX3NjaGVkdWxlZEV2ZW50cy5h
cHBlbmQoV1RGTW92ZShldmVudCkpOwogCiAgICAgaWYgKCFtX3NjaGVkdWxlZEV2ZW50VGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5jcHAKaW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkxMjg3NWFiZjgwYjJkZGRlODM3YTdlNy4u
M2FiNzY2NDE1MjczYjkxOWVjMGU2ODNkZTA5NDJmZTdjY2RkN2Q4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAg
LTc0LDcgKzc0LDcgQEAgTm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24oRG9jdW1lbnQmIGRvY3Vt
ZW50LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIC8vIEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90
aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNob3VsZCBub3QgYmUgY2hhbmdlZCBmcm9t
IFJlZlB0ciB0byBSZWYuCiAgICAgLy8gQnV0IHRoZSByZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMg
Y2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90
aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7Ci0gICAgbV90YXNrVGltZXItPnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggYTkyOThmNzUyNWNlN2E4ODRhMDVhZTJl
NDczZGUxY2FiMTBlYmZlMC4uZjA3MzQ1ZGQyZTc3ZTc2NWMzZjZmMGU3ZjNhNWI0MDZkMTM4ODlm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBOb3RpZmlj
YXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYgY2Fs
bGJhY2spCiAgICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToKICAgICAgICAgaWYg
KG1fY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgcmVmKCk7IC8vIEJhbGFuY2Vk
IGJ5IHRoZSBkZXJlZnMgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wIGFuZCBOb3RpZmljYXRp
b25DZW50ZXI6OnRpbWVyRmlyZWQuCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAg
ICB9CiAgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChbY2FsbGJhY2tdKCkgewogICAgICAgICAg
ICAgaWYgKGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAppbmRleCA2NDMyMTY1OWJiMWMyMjk0ZDIyMmFmZGViZjM0NDVjYTZiNzRj
MTVjLi5lZGNlMTE5MmQwMzU4NGI1ZmU1NjNhMzY3YTBlNWUzMzlkNmEwMGQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNTAzLDcg
KzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQogICAgICAgICBtX2NoYW5uZWwtPnJl
c3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVudHMuaXNFbXB0eSgpICYmICFtX3Jl
c3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gRmlyZSB0aGUgcGVuZGluZyBldmVu
dHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkg
SlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0K
IAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4
IDRlNGFhN2MzYTliYjI1MjU5NWE3MjkyMzA4NzA2MWJiN2IzNDIzOTkuLmJkYzY0MDI0ZDA4NDFk
YWE5ZWI2ZTVlM2Y3OWRkM2UxZmI5MTNiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYyLDcgKzYyLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4aW11bVNlZ21l
bnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVtU2VnbWVudExp
ZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRD
aGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYgY2xpZW50
LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZkb2N1bWVudCkK
QEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3NlKGludCBjb2Rl
LCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5lbD4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhhbmRzaGFrZSBt
YXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBkZXJlZmVyZW5j
ZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAgICAgaWYgKG1f
Y2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbG9zaW5n
VGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lKTsKKyAgICAg
ICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUg
KiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVh
c29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lKCkK
IHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVyLmlzRW1wdHko
KSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5u
ZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBkMWU4
MjA1YTExNjEyZjBkYWY4NDEwYjhlNjMxODk4YTFlMjZjMDc0Li5hZWIzNzMzODNhMzQzMDU4OWQx
ZTBkODNiZWEyNjYyMWFmOWUwY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTExMCw4ICsxMTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAvLyBQb3N0IHZhbHVlIGNoYW5nZSBu
b3RpZmljYXRpb25zIGZvciBwYXNzd29yZCBmaWVsZHMgb3IgZWxlbWVudHMgY29udGFpbmVkIGlu
IHBhc3N3b3JkIGZpZWxkcyBhdCBhIDQwaHogaW50ZXJ2YWwgdG8gdGh3YXJ0IGFuYWx5c2lzIG9m
IHR5cGluZyBjYWRlbmNlCi1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVl
Q2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyNTsKLXN0YXRpYyBkb3VibGUgQWNjZXNz
aWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyMDsKK3N0
YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9u
SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDI1KTsKK3N0YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlM
aXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAog
QWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2Fj
aGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0LCBEb2N1bWVudCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3Vz
bHkpIHsKICAgICAgICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihvYmplY3QsIG5vdGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9z
dFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHBvc3RQbGF0Zm9ybU5v
dGlmaWNhdGlvbihvYmplY3QsIG5vdGlmaWNhdGlvbik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAppbmRleCBiZmYzYjBjYWVlZjhkNGIwZDM2MWMyY2M0
YjI0OWZmMDgzNTgyZTI1Li5hMTQxNGIzYzRiYjBjNDdlMmYzM2JlNDg4MzkwMDE5ZjQ2NDEzNTA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKQEAgLTcx
LDcgKzcxLDcgQEAgdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0U29vbigpCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKCkKIHsKICAgICBpZiAo
IW1fR0NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3Bw
CmluZGV4IDVlYWI1NWI1NDMzMzNiZDE3ZjY3YjExZWJhZDY2MTc3MjgyNTAxZjEuLmJjMjRmMjI0
MTRlYjBhZGEwMzE4ZjBiZjUyYjEyZTNiMzgzZTcyMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHZvaWQgQ1NTRm9udEZhY2U6OnNldFN0YXR1cyhT
dGF0dXMgbmV3U3RhdHVzKQogICAgIH0KIAogICAgIGlmIChuZXdTdGF0dXMgPT0gU3RhdHVzOjpM
b2FkaW5nKQotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qod2ViRm9udHNTaG91
bGRBbHdheXNGYWxsQmFjaygpID8gMCA6IDMpOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFy
dE9uZVNob3Qod2ViRm9udHNTaG91bGRBbHdheXNGYWxsQmFjaygpID8gU2Vjb25kcygwKSA6IFNl
Y29uZHMoMykpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OlN1Y2Nlc3MgfHwg
bmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3Rv
cCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IGU4NDk4OGVi
ZTA2YjZmNTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIuLmMyZjlhMTYyNTM0ZGVjYTJhYjc5MGVm
MWQ2ZDRmMjQzNmZiZGIyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0Zv
bnRTb29uKENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8gYWZ0ZXIgdGhpcyBmb250IGhhcyBiZWVu
IHJlcXVlc3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxvYWRpbmcuIEJhbGFuY2VkIGJ5CiAgICAg
Ly8gZGVjcmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVnaW5Mb2FkVGltZXJGaXJlZCgpIGFuZCBp
biBjbGVhckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0gICAgbV9iZWdpbkxvYWRpbmdUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAppbmRl
eCBhNzUyODNhMmIyN2MzZGVkOGQ5NDMxMmRlMDRhNDE1OGVlY2MyZjkzLi5kNGY3ZmE0NmU2MDFm
M2VmNzg0NGIzMTJiYjRkYjZmNTllZWIzMDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZElt
YWdlcyA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
dGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9IFNlY29uZHMoMyk7CiAKIENTU0ltYWdl
R2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNzVHlw
ZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCA5MTM2M2MxNDNiMjZjYTQxOWFmZTRlNGJlMjIxNzM3ZTE1MTFmMDRmLi4xOWE4
NTI5MzhkMjBkOGY2YzE1ZDc2ODZiM2U5NDllY2UyMzgwZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM5LDggKzEyMzksOCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFkZFRvTWF0Y2hlZFByb3BlcnRpZXNDYWNoZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNv
bnN0CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRk
aXRpb25zQmV0d2VlblN3ZWVwcyA9IDEwMDsKICAgICBpZiAoKyttX21hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGVBZGRpdGlvbnNTaW5jZUxhc3RTd2VlcCA+PSBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZUFk
ZGl0aW9uc0JldHdlZW5Td2VlcHMKICAgICAgICAgJiYgIW1fbWF0Y2hlZFByb3BlcnRpZXNDYWNo
ZVN3ZWVwVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMgPSA2MDsKLSAgICAgICAg
bV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3QobWF0Y2hlZERl
Y2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMpOworICAgICAgICBzdGF0aWMgY29uc3Qg
U2Vjb25kcyBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSA9IFNlY29uZHMoNjApOwor
ICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdCht
YXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSk7CiAgICAgfQogCiAgICAgQVNTRVJUKGhh
c2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYzYxOGE5ZGQ2ZmNhY2I5N2ZlMzBiYmNm
MjE5OGY4YWY5ZTI3NDQ4NC4uY2M2NmIxN2UyMTA4YWMyZWM3ZjViYjlhY2ZlZWM4ZDJlMmQ3NzQ1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjU3LDcgKzEyNTcsNyBAQCB2b2lkIERv
Y3VtZW50OjpzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZChib29sIHZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KQogICAgIGlmICh2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgbV92aXN1YWxVcGRhdGVz
U3VwcHJlc3Npb25UaW1lci5zdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3Zpc3VhbFVwZGF0
ZXNTdXBwcmVzc2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoKSk7CiAKICAgICBpZiAoIXZpc3VhbFVwZGF0
ZXNBbGxvd2VkKQogICAgICAgICByZXR1cm47CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCB2b2lkIERv
Y3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKCkKICAgICAvLyBGSVhNRTogV2h5IG9uIGVhcnRo
IGlzIHRoaXMgaGVyZT8gVGhpcyBpcyBjbGVhcmx5IG1pc3BsYWNlZC4KICAgICBpbnZhbGlkYXRl
QWNjZXNzS2V5TWFwKCk7CiAgICAgCi0gICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxh
dGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lkIERvY3VtZW50Ojp3cml0
ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9jdW1lbnQpCiAgICAgd3Jp
dGUoIlxuIiwgb3duZXJEb2N1bWVudCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKK1NlY29uZHMgRG9jdW1lbnQ6
Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKICAgICBhdXRvKiBwYWdlID0gdGhpcy0+
cGFnZSgpOwogICAgIGlmICghcGFnZSkKQEAgLTI4NDEsNyArMjg0MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBzaG91bGRUaHJvdHRsZSkKICAgICBk
aWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0CiB7CiAgICAgYXV0
byBhbGlnbm1lbnRJbnRlcnZhbCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCk7CiAKQEAgLTUwMjcsOCArNTAy
Nyw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgPSBTZWNvbmRzKDEw
KTsKKyAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQpOwogCiAgICAgLy8g
UGFyc2VyIHNob3VsZCBoYXZlIHBpY2tlZCB1cCBhbGwgcHJlbG9hZHMgYnkgbm93CiAgICAgbV9j
YWNoZWRSZXNvdXJjZUxvYWRlci0+Y2xlYXJQcmVsb2FkcygpOwpAQCAtNTI1NSw3ICs1MjU1LDcg
QEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25SZXN0
b3JhdGlvbk1vZGUgbW9kZSkKIHsKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3RvcmVz
U2VsZWN0aW9uID0gbW9kZTsKICAgICBpZiAoIW1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFu
Y2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9pZCBEb2N1bWVudDo6cmVzdW1lU2No
ZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikK
ICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6V2lsbERlZmVyTG9hZGluZyAmJiBt
X3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAgICAg
aWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVuZGluZ1Rhc2tzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICAgICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CiAgICAgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0cyhyZWFzb24pOwogICAgIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlckNhbGxiYWNrcygpOwpAQCAtNTY4Nyw3ICs1Njg3LDcgQEAgdm9pZCBEb2N1bWVu
dDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVk
IHNob3J0IGZsYWcKICAgICB9IHdoaWxlICgwKTsKIAogICAgIG1fZnVsbFNjcmVlbkVycm9yRXZl
bnRUYXJnZXRRdWV1ZS5hcHBlbmQoZWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVudEVsZW1lbnQo
KSk7Ci0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKQpAQCAtNTg1NCw3
ICs1ODU0LDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudChFbGVtZW50KikKIAogICAgIG1fZnVsbFNjcmVlbkVsZW1lbnQtPmRpZEJlY29tZUZ1bGxz
Y3JlZW5FbGVtZW50KCk7CiAKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVlblJlbmRlcmVyKFJlbmRlckZ1bGxT
Y3JlZW4qIHJlbmRlcmVyKQpAQCAtNjA1Nyw3ICs2MDU3LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGVj
cmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpCiAgICAgLS1tX2xvYWRFdmVudERlbGF5Q291bnQ7
CiAKICAgICBpZiAoZnJhbWUoKSAmJiAhbV9sb2FkRXZlbnREZWxheUNvdW50ICYmICFtX2xvYWRF
dmVudERlbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1l
ckZpcmVkKCkKQEAgLTY3MDEsNyArNjcwMSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0
ZUZvcm1Db250cm9sKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2Fz
c29jaWF0ZWRGb3JtQ29udHJvbHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV9kaWRBc3NvY2lh
dGVGb3JtQ29udHJvbHNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2RpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaWRBc3NvY2lhdGVG
b3JtQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9j
dW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2
NzIxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcm
IGNvb2tpZXMpCiAgICAgQVNTRVJUKCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9j
YWNoZWRET01Db29raWVzID0gY29va2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZh
bGlkIGF0IG1vc3QgdW50aWwgd2UgZ28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nv
b2tpZUNhY2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVF
eHBpcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OmludmFsaWRhdGVET01Db29raWVDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDhmNWI0
M2UyMGZhZjZjNDFjMTY3NzFkZjY2Yjg0Y2U2ZjU4ZmMxNTMuLjZlNWRlMGE5NTMxNjFmZmJiODVm
ZWU2MGRhMDdiN2Q0ZjM4YjczODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzM3LDkgKzEz
MzcsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBmaW5hbDsKIAotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKKyAg
ICBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QgZmluYWw7CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFj
aGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsKKyAgICBTZWNvbmRzIHRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsK
IAogICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVFbGVtZW50KCk7CiAgICAgdm9pZCB1cGRh
dGVUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudEV2ZW50UXVldWUuY3BwCmluZGV4IDllMDc3ZjcyZjEzNjU5YTM4NjkxNWE5Y2JlNjAx
NDZmMjAyOTljMjcuLjNjZGUyM2E0Zjg0Nzg4OGJhZTVjYzEwOGNmMDFhOGY5NzdkNDc4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCkBAIC03OSw3ICs3OSw3
IEBAIGJvb2wgRG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYmIGV2
ZW50KQogCiAgICAgbV9xdWV1ZWRFdmVudHMuYWRkKGV2ZW50LnB0cigpKTsKICAgICBpZiAoIW1f
cGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ0V2ZW50VGlt
ZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFNlbmRlci5oCmluZGV4IDg3MmQ4NWExYTQ1NTFhZDAxOTkwODA5ODBlNmY1ZjNhZDI4YTdiN2Yu
LmFmMGQxYzUxNDE4ZjkwMjJmZTdlNmEwMmFlNTRhNDQzYzQxMDkyZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFNlbmRlci5oCkBAIC02Niw3ICs2Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKFQmIHNlbmRlcikKIHsKICAgICBtX2Rp
c3BhdGNoU29vbkxpc3QuYXBwZW5kKCZzZW5kZXIpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rh
c2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5MTQ2ZmNlYjlmOGY3Li5l
M2U1M2U0ODQ2MTQxNmZmYjc4MDMzMDY5OGJiYjk1MzkwZmYwZGVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01p
Y3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90YXNrUXVldWU6OmFwcGVu
ZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAgZWxzZQogICAgICAgICBt
X21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAotICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIE1pY3JvdGFza1F1ZXVlOjpyZW1vdmUoY29uc3QgTWljcm90YXNrJiB0YXNrKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDkzN2Yx
YzIzYmQ3ZTk5NGNhZWViNmUyZDA0ODljMDBlZTE5Y2Y1NmIuLjdlOGRhOWM3M2RkOWRjNGE1OWRi
YWUwZTEzODkyYTFjODQ1Y2UyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKQEAgLTQ0NSw3ICs0NDUsNyBAQCBQdWJsaWNVUkxNYW5hZ2VyJiBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpwdWJsaWNVUkxNYW5hZ2VyKCkKICAgICByZXR1cm4gKm1f
cHVibGljVVJMTWFuYWdlcjsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1
c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmlt
dW1UaW1lckludGVydmFsKQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5p
bXVtVGltZXJJbnRlcnZhbChTZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKQogewogICAg
IGlmIChtaW5pbXVtVGltZXJJbnRlcnZhbCgpICE9IG9sZE1pbmltdW1UaW1lckludGVydmFsKSB7
CiAgICAgICAgIGZvciAoYXV0byYgdGltZXIgOiBtX3RpbWVvdXRzLnZhbHVlcygpKQpAQCAtNDUz
LDcgKzQ1Myw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRp
bWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kCiAgICAgfQogfQogCi1zdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lcklu
dGVydmFsKCkgY29uc3QKK1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRp
bWVySW50ZXJ2YWwoKSBjb25zdAogewogICAgIC8vIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9u
IHJldHVybnMgdGhlIERPTVRpbWVyJ3MgZGVmYXVsdAogICAgIC8vIG1pbmltdW0gdGltZXIgaW50
ZXJ2YWwuIEZJWE1FOiB0byBtYWtlIGl0IHdvcmsgd2l0aCBkZWRpY2F0ZWQKQEAgLTQ2OSw3ICs0
NjksNyBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKQogICAgICAgICB0aW1lci0+ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwo
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYzkyOThkMzJjYTQwMTZi
ZTA1ZmNmZjE4NGE5OTc2ODI2NTRhZTY4ZS4uN2ZkZTc4ZDVmYmY5YTgyMGU4YWY0ZDhiYzhkM2Ew
ZjM2NGQ3OGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCkBAIC0xOTIsMTEgKzE5MiwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSlND
OjpWTSYgdm0oKTsKIAogICAgIC8vIEludGVydmFsIGlzIGluIHNlY29uZHMuCi0gICAgdm9pZCBh
ZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1p
bmltdW1UaW1lckludGVydmFsKTsKLSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIGFkanVzdE1pbmltdW1U
aW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHZpcnR1
YWwgU2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRD
aGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7Ci0gICAgdmlydHVhbCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVz
dGluZ0xldmVsKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRl
cnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OwogCiAgICAgdmlydHVh
bCBFdmVudFF1ZXVlJiBldmVudFF1ZXVlKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRSdW5uZXIuY3BwCmluZGV4IDcwOTg5ZWI0MGMwNDVhZGU3NzRhZTU3ZDA5YTQwNDhiNTllMzg4
MDQuLjM2ODY4NzdjMGJmYTgxNTNmY2NlMDFmY2Y4ZWZmMzk3NzVmNTkyZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2NyaXB0UnVubmVy
OjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQ
ZW5kaW5nU2NyaXB0cygpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2NyaXB0UnVu
bmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2NyaXB0KQpAQCAtMTAw
LDcgKzEwMCw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2Ny
aXB0JiBwZW5kaW5nU2NyaXB0KQogICAgICAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVu
ZChtX3BlbmRpbmdBc3luY1NjcmlwdHMudGFrZShwZW5kaW5nU2NyaXB0KS0+cHRyKCkpOwogICAg
IH0KICAgICBwZW5kaW5nU2NyaXB0LmNsZWFyQ2xpZW50KCk7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZv
aWQgU2NyaXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRh
Njc0MDE5NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYx
ZjEwMjgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2No
ZWR1bGVEZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1
bWVudC0+ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVU
aW1lc3RhbXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVs
ZURlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVk
dWxlRGVsYXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1
bWVudC0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2
N2Y5Njg0MDNkMTQ3ZTgzZmJiMS4uNzQ2ZmFlYTUzMzhiOWY0NGY0N2M3ZjUxMDY5OTEwYzQ2MjU3
ZDE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBA
QCBzdGF0aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlKCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gU2Vjb25kcyg2MCk7CitzdGF0aWMg
Y29uc3QgaW50IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmlu
ZyA9IDEwMDsKKwogY2xhc3MgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTkxLDE2ICs5NCwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIG1faGl0Q291bnQrKzsKIAogICAgICAgICBpZiAoIW1fY2xlYW5UaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV9jbGVhblRpbWVyLnN0YXJ0T25lU2hvdChwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyk7CisgICAgICAgICAgICBt
X2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5U
aW1lKTsKICAgICAgfQogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyA9IDYwOwotICAgIHN0YXRp
YyBjb25zdCBpbnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFu
aW5nID0gMTAwOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcykgLyA2MDsKLQogICAgIHZvaWQgY2xlYW5DYWNo
ZSgpCiAgICAgeworICAgICAgICB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRl
Q2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUNsZWFuVGltZS52YWx1ZSgpKSAvIDYwOworCiAgICAgICAgIHVuc2lnbmVkIGhpdENvdW50ID0g
bV9oaXRDb3VudDsKICAgICAgICAgbV9oaXRDb3VudCA9IDA7CiAgICAgICAgIGlmIChoaXRDb3Vu
dCA+IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50UGVyTWludXRlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZDVjZDFlYTY3ZGQ5MGI4OTNmNTM0N2E3YTE3ZWVjZTA5NGE0YWE2Yy4uNjgy
ZjRhZjEwZmMzZjcyOTg0MmVlYWI3MTFhOGRiMDU2ZWU5ZTMyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsKDAuMyk7CiAgICAgaWYgKCFpc0F1dG9t
YXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMjBlNmIwYzJiNzRjYWZjZWVhMjI4ZjgyY2NlMjIy
YmM1ZmMxN2EzNy4uMzE2Y2I5Yzc5ZjA4YTlmN2IwZDE0ODFhOTA4NjkwZjMxNDFhOWVlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMzI2Miw3ICszMjYyLDcgQEAgdm9pZCBFZGl0
b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZy
YW1lU2VsZWN0aW9uOjoKIAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JiYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVtYmVycygp
KQotICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZW5kaWYKIAogICAgIHNldFN0YXJ0TmV3S2lsbFJp
bmdTZXF1ZW5jZSh0cnVlKTsKQEAgLTMyNzQsNyArMzI3NCw3IEBAIHZvaWQgRWRpdG9yOjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFtZVNlbGVj
dGlvbjo6CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyU2hvdWxkQ2hlY2tTcGVsbGluZ0FuZEdy
YW1tYXIgPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkNsb3NlVHlwaW5nCiAgICAgICAgICYm
ICEob3B0aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpTcGVsbENvcnJlY3Rpb25UcmlnZ2VyZWQpOwog
ICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1RyaWdnZXJlZEJ5RGljdGF0aW9uID0gb3B0aW9u
cyAmIEZyYW1lU2VsZWN0aW9uOjpEaWN0YXRpb25UcmlnZ2VyZWQ7Ci0gICAgbV9lZGl0b3JVSVVw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmNwcAppbmRleCAzNTYxNzQ5MGJhODYwZjJiOWVhNDg1NjFkOTA1NjJmZThjNzJi
NDJhLi5jYTI5MjQ5NmU4YjBhMmNjZjFlMmEwYmU5NGI4NjU5NjFmNzQxMGIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMjA0NSw3ICsyMDQ1LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxp
bmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBCZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3Jl
CiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBpbiB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYg
KHNob3VsZEJsaW5rICYmICFtX2NhcmV0QmxpbmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAg
IGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJl
dEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAgaWYgKFNlY29uZHMgYmxpbmtJbnRlcnZhbCA9IG1f
ZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAg
IG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAg
ICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRmY2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uOTVi
ZDY2MDkzMTljYTgyNGMxYzUxNGJmMzhjYmIzMTg0OWM2NDNlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVj
a2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1
bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAo
IW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVl
ZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVk
UmVxdWVzdC5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2Vy
OjpkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5n
UmVzdWx0PiYgcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApp
bmRleCA0MTZhMmQxYTdiOTI1MTM0MTBlNDA2ZjQzNDVkYzgzY2Y1Y2ZhMTBjLi44M2E1MjYzZjQy
YmNkMjUzMDdiNTNjNDkxOGQ2YjdjNjMxOWY5OWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6
OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKIAog
ICAgIC8vIERpc3BhdGNoIGV2ZW50cyBsYXRlciBhcyB0aGlzIEFQSSBpcyBtZWFudCB0byB3b3Jr
IGFzeW5jaHJvbm91c2x5IGluIGFsbCBzaXR1YXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMuCiAg
ICAgaWYgKCFtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGExZjRmZTE4YzVkNWE2MDA0
OTRkYjRiMTY4Y2Q4NDRjNmRlNmRkZGIuLjJmMWY4YzZhMTFjOTNiNzg0ZGIxODM2NzBlZDYzNzU5
MTYzNjA0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAt
MTU2LDEyICsxNTYsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFNlZWtSZXBlYXREZWxheSA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNlZWtS
ZXBlYXREZWxheSA9IFNlY29uZHMoMC4xKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNjYW5SZXBl
YXREZWxheSA9IFNlY29uZHMoMS41KTsKIHN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1RpbWUgPSAw
LjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIFNjYW5SZXBlYXREZWxheSA9IDEuNTsKIHN0YXRpYyBj
b25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBI
aWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IFNlY29uZHMoNik7CiAKIHN0YXRp
YyB2b2lkIHNldEZsYWdzKHVuc2lnbmVkJiB2YWx1ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CkBAIC05
MjAsNyArOTIwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rp
b24oRGVsYXllZEFjdGlvblR5cGUgYWN0aW9uVHlwZSkKICAgICBpZiAoYWN0aW9uVHlwZSAmIFVw
ZGF0ZVBsYXlTdGF0ZSkKICAgICAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIFVw
ZGF0ZVBsYXlTdGF0ZSk7CiAKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAg
LTkyOCw3ICs5MjgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJj
ZUNoaWxkKCkKICAgICAvLyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3Vy
Y2U+IGVsZW1lbnQgV0lUSE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgog
ICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KCVwKSAtIHNldHRpbmcgJXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3Vy
Y2UpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBM
b2FkTWVkaWFSZXNvdXJjZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckFjdGl2ZVNvdXJjZUJ1ZmZl
cnNDaGFuZ2VkKGNvbnN0IE1lZGlhUGxheWVyKikKQEAgLTE5NjcsNyArMTk2Nyw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKQogCiAgICAgbV9wcmV2
aW91c1Byb2dyZXNzVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIC8v
IDM1MG1zIGlzIG5vdCBtYWdpYywgaXQgaXMgaW4gdGhlIHNwZWMhCi0gICAgbV9wcm9ncmVzc0V2
ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMC4zNTApOworICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4zNTApKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTMzNTQsNyArMzM1NCw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhTY2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2FuUmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3Nj
YW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBT
Y2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRpbWVyLnN0YXJ0KFNlY29uZHMoMCksIG1fc2Nh
blR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXREZWxheSk7CiB9CiAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5kU2Nhbm5pbmcoKQpAQCAtMzM5Myw3ICszMzkzLDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZCgpCiAKIC8vIFRoZSBzcGVj
IHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGls
ZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0
IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVu
Y3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5ID0gU2Vjb25kcygwLjI1KTsKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXli
YWNrUHJvZ3Jlc3NUaW1lcigpCiB7CkBAIC0zNDQwLDcgKzM0NDAsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKICAg
ICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsK
IAogICAgIC8vIHRocm90dGxlIHRoZSBwZXJpb2RpYyBldmVudHMKLSAgICBpZiAocGVyaW9kaWNF
dmVudCAmJiB0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpCisgICAgaWYg
KHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5
LnZhbHVlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFNvbWUgbWVkaWEgZW5naW5lcyBt
YWtlIG11bHRpcGxlICJ0aW1lIGNoYW5nZWQiIGNhbGxiYWNrcyBhdCB0aGUgc2FtZSB0aW1lLCBi
dXQgd2Ugb25seSB3YW50IG9uZQpAQCAtNDM3MSw3ICs0MzcxLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbikKICAg
ICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUgZGV0YWls
cy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikpOwogICAg
IG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1fc2Vla1Rv
UGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgbV9zZWVr
VG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjUpKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYuLjE0MGYx
MTdjODc3YzE4YTNiZGQ2MjZlZmVmNTk0Y2IxOGMzMDViZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBIVE1MUGx1
Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAgICBtX2Rp
c3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxheWluZ1Nu
YXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2VtZW50KSAm
JiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBSZW5kZXJl
clRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRpZEFk
ZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hhZG93Um9vdCogcm9vdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IGI5NmUzY2UzMTNkZjQ4ZDI5
MmUzNzI4MGYzZjk5OTY3ZmNiMGE5MDguLjBlMWQ1NmZkZTZkNzI0YTJjM2VhMjk2ZGY2ZTU1ZDll
NmZlYTczMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcApAQCAtNzIsMTAgKzcyLDEwIEBAIHN0YXRpYyBjb25zdCBmbG9hdCBzaXppbmdGdWxs
UGFnZUFyZWFSYXRpb1RocmVzaG9sZCA9IDAuOTY7CiBzdGF0aWMgY29uc3QgZmxvYXQgYXV0b3N0
YXJ0U29vbkFmdGVyVXNlckdlc3R1cmVUaHJlc2hvbGQgPSA1LjA7CiAKIC8vIFRoaXMgZGVsYXkg
c2hvdWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCi1z
dGF0aWMgY29uc3QgYXV0byBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgeyA3NTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNpbXVsYXRl
ZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gU2Vjb25kcygwLjc1KTsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQotc3RhdGljIGNvbnN0IGF1dG8gcmVtb3ZlU25hcHNob3RUaW1lckRlbGF5ID0gc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyB7IDE1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbW92
ZVNuYXBzaG90VGltZXJEZWxheSA9IFNlY29uZHMoMS41KTsKICNlbmRpZgogCiBzdGF0aWMgY29u
c3QgU3RyaW5nIHRpdGxlVGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0
ODRmNTFjMGMzNjVhZjgxNWU3ZjYzOWYuLjJiYTVhMDhkMjU4NmEzY2JkMWRhNGZlMzEwNDg4ODY1
Y2RjN2ZiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBA
IC0xMjUsNyArMTI1LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2
ZW50KCkKICAgICBpZiAobV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJy
b3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBIVE1MU291
cmNlRWxlbWVudDo6Y2FuY2VsUGVuZGluZ0Vycm9yRXZlbnQoKQpAQCAtMTY2LDcgKzE2Niw3IEBA
IHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiB3aHkp
CiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpyZXN1bWUoKQogewogICAgIGlmIChtX3Nob3VsZFJl
c2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUpIHsKLSAgICAgICAgbV9lcnJvckV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJlc3Vt
ZSA9IGZhbHNlOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCmluZGV4IDA3ZjQyZDk5ZjhkN2I0OGE5YmEyNDFiNGM0NzFkNTc5ZjU1ZThiZDUuLjA2ZWRm
NzMwMzQyZGUyMTYyY2E4MzUzZWQ3YjA1NTk1MGExNWZhNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgSFRNTFRyYWNr
RWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4gUnVu
IHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFsbG93aW5nIHdo
YXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0gICAgbV9sb2Fk
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKaW5kZXggOTU0MDUyNTA5ZWI3ZTIy
YmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uZjY0YjU1ZWVhMjIwMzc2NDllYzY3NzFkYTNkYTQ5
MGRmNzNmODNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcApAQCAt
NTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9jayhDbG9jazo6Y3JlYXRlKCkpCiAg
ICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKICAgICAsIG1fdGltZXVwZGF0
ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCkK
LSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQogewogfQogCkBAIC0xNDgsNyArMTQ3
LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIGlm
IChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKSB7CiAgICAgICAgIC8v
IFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1
cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6bWF4PGRvdWJsZT4oMCwgc3RkOjpt
aW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUoKSkpOwotICAgICAgICBtX2NsZWFy
UG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY2xlYXJQb3NpdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiAKICAgICByZXR1cm4gbV9wb3Np
dGlvbjsKQEAgLTUzNyw3ICs1MzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkKIHsKICAgICBtX3BlbmRpbmdFdmVu
dHMuYXBwZW5kKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgdHJ1ZSkpOwogICAgIGlm
ICghbV9hc3luY0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hc3luY0V2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGlt
ZXJGaXJlZCgpCkBAIC02NjMsNyArNjYyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnJldHVy
blRvUmVhbHRpbWUoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMgdGltZXVw
ZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIxNSB0byAy
NTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IFNlY29uZHMoMC4yNSk7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1l
IG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93
IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2
M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0
ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVw
ZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9u
b3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3Vy
cmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RG9jdW1lbnQuY3BwCmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBm
ZmUuLjJhNDMzM2EyNTIxNjI0MzM3ZDQ4MGUzMzc1NGVlYTNhMGVmYzcxODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFE
b2N1bWVudDo6bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBs
ZXQgdGhlIHBsdWdpbiBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhp
cyAKICAgICAvLyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBl
bmdpbmUgY2FsbGJhY2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRo
ZSBlbGVtZW50LCBtZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNl
TWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYURvY3Vt
ZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA1Y2I3M2JiYzI1ZjMwNDAxMzcwNDQ3MzFm
YjU1ZTNmZjhlMmZjZGEzLi41YTRhOWU0YWM0MjdlY2I1YWVmMmQxOTRmZDA4MTc4YWQ3NGQwMWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTU3
LDcgKzU3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IGVsZW1lbnRNYWluQ29udGVudENoZWNrSW50ZXJ2YWwgPSAuMjUwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IFNlY29uZHMoMC4yNSk7CiAK
IHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVk
aWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250
ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBv
c2UpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJu
YWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBoYXNUYXJnZXRzCiAgICAgTE9H
KE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFi
bGVEaWRDaGFuZ2UoJXApIC0gaGFzVGFyZ2V0cyAlcyIsIHRoaXMsIGhhc1RhcmdldHMgPyAiVFJV
RSIgOiAiRkFMU0UiKTsKIAogICAgIG1faGFzUGxheWJhY2tUYXJnZXRzID0gaGFzVGFyZ2V0czsK
LSAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNhblBsYXlUb1dpcmVsZXNzUGxh
eWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFy
Y2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3Bw
CmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODli
ZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Nl
YXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAgIC8vIEFmdGVyIHR5cGluZyB0aGUgZmly
c3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAgIC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5
LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4yIGZyb20gdGhlbiBvbi4KLSAgICBtX3Nl
YXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVu
Z3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwogfQogCiB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25N
ZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBjYmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0
Li4zMWU2ODI5MjMyMTg3YTQ0MmZiZmRlOTczNGJlZDk1ZmFhYzczMmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQg
VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAg
ICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9u
TWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBlbHNlCiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNz
YWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBWYWxpZGF0aW9u
TWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQpAQCAtMTQ0LDcgKzE0NCw3IEBA
IHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKCkKICAg
ICAgICAgbV90aW1lciA9IG51bGxwdHI7CiAgICAgZWxzZSB7CiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVC
dWJibGVUcmVlKTsKLSAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDUuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAv
IDEwMDApKTsKKyAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KFNlY29uZHMo
NSksIFNlY29uZHMobV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwLjAp
KTsKICAgICB9CiB9CiAKQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdl
OjpyZXF1ZXN0VG9IaWRlTWVzc2FnZSgpCiAKICAgICAvLyBXZSBtdXN0IG5vdCBtb2RpZnkgdGhl
IERPTSB0cmVlIGluIHRoaXMgY29udGV4dCBieSB0aGUgc2FtZSByZWFzb24gYXMgc2V0TWVzc2Fn
ZSgpLgogICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29s
IFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9kZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggM2U5ZGNjYWM1MWNmMjNkY2M4NGU4NGEzYWJmMTdh
Y2U3MGMyMTMwMy4uNzMwOTczOTAzNzkzNmFiY2QxMGI2ZDhhNGNmMWY2NzFiMGVmNjQxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citjb25z
dCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gU2Vjb25kcygxKTsKIGNvbnN0
IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiAKIG5hbWVzcGFjZSB7CkBA
IC00NjY2LDcgKzQ2NjYsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VD
b250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpMb3N0QwogCiAgICAgLy8gQWx3
YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUgY29udGV4dCBsb3N0IGV2ZW50LCB0byBpbXBs
ZW1lbnQKICAgICAvLyB0aGUgc3BlYyBiZWhhdmlvciBvZiBxdWV1ZWluZyBhIHRhc2suCi0gICAg
bV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9k
aXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgp
CkBAIC00NjgzLDcgKzQ2ODMsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZv
cmNlUmVzdG9yZUNvbnRleHQoKQogICAgIH0KIAogICAgIGlmICghbV9yZXN0b3JlVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIFBsYXRmb3Jt
TGF5ZXIqIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApA
QCAtNTYxNCw3ICs1NjE0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNw
YXRjaENvbnRleHRMb3N0RXZlbnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQp
OwogICAgIG1fcmVzdG9yZUFsbG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAg
IGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxs
b3dlZCkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCkBAIC01Njc5LDcgKzU2
NzksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRl
eHQoKQogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dChHcmFwaGljc0NvbnRl
eHQzRDo6Y3JlYXRlKG1fYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOwogICAgIGlmICghY29udGV4
dCkgewogICAgICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RDb250ZXh0KQot
ICAgICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHNlY29uZHNCZXR3ZWVuUmVz
dG9yZUF0dGVtcHRzKTsKKyAgICAgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCh0
aW1lQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIC8v
IFRoaXMgbGlrZWx5IHNob3VsZG4ndCBoYXBwZW4gYnV0IGlzIHRoZSBiZXN0IHdheSB0byByZXBv
cnQgaXQgdG8gdGhlIFdlYkdMIGFwcC4KICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgIiIsICJlcnJvciByZXN0b3Jpbmcg
Y29udGV4dCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2Vy
U2NoZWR1bGVyLmNwcAppbmRleCAyODMzN2Q4NmQ1M2Y4OWRlYTUzOThiZjYzYzZmYjhjMTEzNWQz
NjFkLi4yN2NhZGVjNDIyNWY1NmVhODE5MTFlZjEwODcwOWY4MTQwNDIwOTJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1
bmtUaW1lckZpcmVkKCkKICAgICAvLyBGSVhNRTogVGhlIHRpbWVyIGNsYXNzIHNob3VsZCBoYW5k
bGUgdGltZXIgcHJpb3JpdGllcyBpbnN0ZWFkIG9mIHRoaXMgY29kZS4KICAgICAvLyBJZiBhIGxh
eW91dCBpcyBzY2hlZHVsZWQsIHdhaXQgYWdhaW4gdG8gbGV0IHRoZSBsYXlvdXQgdGltZXIgcnVu
IGZpcnN0LgogICAgIGlmIChtX3BhcnNlci5kb2N1bWVudCgpLT5pc0xheW91dFRpbWVyQWN0aXZl
KCkpIHsKLSAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3BhcnNlci5yZXN1bWVQYXJzaW5nQWZ0
ZXJZaWVsZCgpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c2hvdWxkWWllbGRCZWZvcmVFeGVjdXRpbmdTY3JpcHQoUHVtcFNlc3Npb24mIHNlc3Npb24pCiB2
b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1lKCkKIHsKICAgICBBU1NF
UlQoIW1fc3VzcGVuZGVkKTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6c3VzcGVuZCgpCkBAIC0xNDgs
NyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUoKQogICAgIGlmICgh
bV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAgcmV0dXJuOwogICAgIG1faXNT
dXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCAxNWVhMWYwOGMzMDYzYzYx
MzQyMGRiZTE1NjY2NWE4MTgzYmVjNTQ1Li42YWM4ZTExMDNmNDNiNjYzMmIzYzdkMTlkOGVkMGE2
YmNkNGJjM2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xQ
YW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIoKQogICAgIC8vIFRoZSB0aW1lciBpcyByZXF1aXJlZCB0
byBzZXQgdGhlIHByb3BlcnR5IGRpc3BsYXk6J25vbmUnIG9uIHRoZSBwYW5lbCwKICAgICAvLyBz
dWNoIHRoYXQgY2FwdGlvbnMgYXJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgYXQgdGhlIGJvdHRvbSBv
ZiB0aGUgdmlkZW8KICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBmYWRlb3V0IHRyYW5zaXRpb24u
Ci0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBh
Z2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAgIFNl
Y29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50
aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IFNlY29uZHMoMCk7CiAgICAg
bV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApAQCAtMTg4LDEw
ICsxODgsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUoKQog
ICAgIGlmIChtX29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9u
ID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNv
bnRyb2xzRmFkZUluRHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVJbkR1cmF0aW9uKCkgOiBTZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBk
dXJhdGlvbiwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlPcGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAog
ICAgIG1fb3BhcXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250
cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgp
ID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlv
bigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1
bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiBT
ZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5z
aXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlPcGFjaXR5LCAw
LjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3BhcXVlID0gZmFs
c2U7CkBAIC0xMzM2LDcgKzEzMzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRh
aW5lckVsZW1lbnQ6OnVwZGF0ZVNpemVzKGJvb2wgZm9yY2VVcGRhdGUpCiAgICAgbV91cGRhdGVU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvblN0eWxlID0gdHJ1ZTsKIAogICAgIC8vIEZJWE1FICgxMjEx
NzApOiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgbGF5b3V0LCBhbmQgc2hvdWxkIGxh
eSBvdXQgdGhlIHRleHQgdHJhY2tzIGltbWVkaWF0ZWx5LgotICAgIG1fdXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiBSZWZQdHI8SW1hZ2U+IE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1l
bnQ6OmNyZWF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uSW1hZ2UoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAyMTBmNmE5ZGY1YWM3
NzE3NWE5ODEyYWMwNTEwNDIyMzJhMzQwZjMzLi5mNjI1NGJiODEzODRiM2E3ZWQxNDA4ZmE0M2Vk
ODUxNTM0NTU1ZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRh
YmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxl
VGV4dFRyYWNrLmNwcApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpz
Y2hlZHVsZUxvYWQoY29uc3QgVVJMJiB1cmwpCiAgICAgLy8gMy4gQXN5bmNocm9ub3VzbHkgcnVu
IHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxlIGNvbnRpbnVpbmcgd2l0aCB3aGF0ZXZlciB0YXNr
IAogICAgIC8vIHdhcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHRleHQgdHJhY2sgb3Ig
Y2hhbmdpbmcgdGhlIHRleHQgdHJhY2sgbW9kZS4KICAgICBpZiAoIW1fbG9hZFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9s
b2FkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBFbGVtZW50KiBMb2FkYWJs
ZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5j
cHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdlMjIzZGQ0MzZjMDdkNTFiNi4uZTg0YjI4
YzBlMmVhN2FjZTQzNzI4NGE4NzJlOWMyNmNlNjYwYjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Ny
b2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocykuCi1zdGF0aWMgY29uc3QgZmxvYXQgc2Ny
b2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsVGltZSA9IFNlY29u
ZHMoMC40MzMpOwogCiBWVFRSZWdpb246OlZUVFJlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0KQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCkBA
IC00MDMsNyArNDAzLDcgQEAgdm9pZCBWVFRSZWdpb246OnN0YXJ0VGltZXIoKQogICAgIGlmICht
X3Njcm9sbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
dXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxUaW1lIDogMDsKKyAgICBTZWNv
bmRzIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiBTZWNvbmRz
KDApOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggM2Q1
NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uMTJlMjJlMTZkMDk2OTRhYmM2
ZGYyZWFjMDg5MDYxZGVlMThjNTFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFuZ2VSZWdp
b25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3csIGlu
dCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnROb2RlSWQp
OwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6dW5zY2hlZHVsZShXZWJLaXROYW1lZEZs
b3cqIG5hbWVkRmxvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuY3BwCmluZGV4IDgzYTAyNGJjZGRkMjEzMDk3ODc1OTg3MjI0MTI3MWUwYThmYjNmMGYu
LjFiZGQ0YzYwNjIxN2ZhYzQyNjg2YTA5MDkxN2RjM2YzYTIyZmU0MzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTg1LDcgKzE4NSw3
IEBAIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBtX2VsZW1lbnRzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1f
dGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJldmFsaWRh
dGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4
IDhhMzVhMTc5ZWI4YmY1OWI0YmMwOThkYzZlZGM5MGNkZTBkYTA1OTMuLjhkZWE4ZmM2NWY5YjA1
MWViY2M2ZmQxODZkNDg4MmU5NTEwZDBkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgwLDcg
KzgwLDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpOwog
ICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfQogCiAgICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdl
RnJvbUZyb250ZW5kKG1fbWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9t
ZXNzYWdlcy5pc0VtcHR5KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmY2EzMTBkMDBhYzIxZGM3YjYx
YmUwYTlmZTA1NWM4YjdmN2FhZDguLmJkZTJkNDIxYjljZGI1MDUyZGJmNzhiYzJjYjUzNzY3YjVm
ZTk0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5j
cHAKQEAgLTUwOSw4ICs1MDksOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJl
Y3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBk
YXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1Vw
ZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRp
bWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAg
ICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMC4w
MzIpOworICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50
UmVjdHNVcGRhdGVJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgZHJhd1BhaW50UmVjdHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCmlu
ZGV4IDNhYWE1MmE2YjhhYTYyZjNkYzc4ZDEyNGFkY2UxOGFlZDA3OTdmOTcuLjc5MGRhMTczYTNl
NTBiNjQ1MmFhMTBjNWM1ODk0ZTI4MDIxMzU4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHN0
YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudD4gYnVp
bGRJbnNwZWN0b3JPYmplY3RGb3JTCiAKICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKICAgICAgICAgLnNldElkKHNlZ21lbnQt
PmlkZW50aWZpZXIoKSkKLSAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAo
KSkKKyAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAoKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCkpCiAgICAgICAgIC5zZXRRdWV1ZXMoV1RGTW92ZShxdWV1ZXNPYmpl
Y3QpKQogICAgICAgICAucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKaW5kZXggZGI0Nzk5ODQxNTJlMzU2MmYzMTk0NjhiZTk1OTVlZWJiZTkwODc1
MC4uYTViOGRiYmFmM2IzMGI4YzJkOWMwN2FiM2E3Yzg1NTgzYmU5Y2IxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00ODksNyArNDg5LDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9pZCBEb2N1
bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2FkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAKICNpZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgaWYgKFNjaGVkdWxlUGFpckhh
c2hTZXQqIHNjaGVkdWxlZFBhaXJzID0gbV9mcmFtZS0+cGFnZSgpLT5zY2hlZHVsZWRSdW5Mb29w
UGFpcnMoKSkKQEAgLTEyMjUsNyArMTIyNSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2
ZXJTdWJzdGl0dXRlUmVzb3VyY2VzQWZ0ZXJEZWxheSgpCiAgICAgaWYgKG1fZnJhbWUtPnBhZ2Uo
KS0+ZGVmZXJzTG9hZGluZygpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFtX3N1YnN0aXR1
dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zdWJzdGl0dXRl
UmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zdWJzdGl0
dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
dm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGM3ODgzYWNiMWIxZmJl
NTBjMjk4MThiNmY0NjY2ZDljZTk2ZTQzOWYuLmQyYjY0NDA5MmFmZDZiNDEwYmRjZWY3MTg5OGY4
NjM3YTgyYjI4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODMx
LDcgKzgzMSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0ZVRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jaGVj
a1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6
c2NoZWR1bGVDaGVja0NvbXBsZXRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cAppbmRleCBhNTNhZjExYmI5ZjkzYmEyYTgxMjNkYjFhODEwZjM4ODc5OTZmZGM1Li5lYWZjZTFi
OTY4YTRiZjExNmQ4NzFhODQ2MzM1ODExZTFjNzNmYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRh
dGVkSGFzUGVuZGluZ0V2ZW50KCkKICAgICAgICAgICAgIG1fcHJvdGVjdGVkRWxlbWVudCA9ICZl
bGVtZW50KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUKCFtX2RlcmVmRWxlbWVudFRp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfSAgIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAKaW5kZXggN2VmZmFkN2ZhMWM1YWEzNDQ2ZWFjMDAyOTYxOGYxMmJiNTc1YjRl
NS4uMmJkOWQ5MzVhN2Q0MmVkZWVlYjJhZjNmZjMyMjI3MzYwZmNjNDhjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3
IEBAIHByb3RlY3RlZDoKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKICAgICAg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9y
d2FyZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3VybCwg
ZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9ja0Jh
Y2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3Rl
ZChtX3VybCwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwo
KS52YWx1ZSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlk
U3RvcFRpbWVyKEZyYW1lJiBmcmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVzcykgb3ZlcnJpZGUK
QEAgLTI3NSw3ICsyNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0
cnVlOwogCiAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNl
ckdlc3R1cmVUb0ZvcndhcmQoKSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGly
ZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkg
KyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CisgICAg
ICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0
VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCku
dmFsdWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0
b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBA
IC01MzksNyArNTM5LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIGRlbGF5ID0gbV9yZWRpcmVjdC0+ZGVsYXko
KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcyhkZWxheSkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJh
bWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJhbWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5k
aWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGltZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxs
IG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50IGNhbmNlbGVkIHRoZSBsb2FkKQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIyOWU2ZWFiNjVm
NTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi43ZTgzZTFjMjViNzc5OWEwNDAxMDhiODBlYjgwZWJj
NWE1NTgyZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApA
QCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9
IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25zdCBpbnQgcHJv
Z3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAogLy8gQ2hlY2sg
aWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7CiAKIC8vIEhvdyBtYW55
IGhlYXJ0YmVhdHMgbXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRo
ZSBsb2FkIGlzIGN1cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRT
dGFsbGVkSGVhcnRiZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcAppbmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4
Li5mMGUzOGFkZmVlZmUyMGU2MzQzYzZhYzFkMTM1NDcwOWZmNDgwOThjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQg
VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Up
CiAgICAgICAgIG1fY3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIGNh
bmNlbExvYWQoKTsKIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6
bmV3Q3Vlc1BhcnNlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbmV3Q3Vlc0F2YWlsYWJs
ZSA9IHRydWU7Ci0gICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tM
b2FkZXI6Om5ld1JlZ2lvbnNQYXJzZWQoKQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgVGV4dFRy
YWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSgpCiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIAog
ICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAKICAgICBjYW5jZWxMb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4
IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYxN2NmOTJlMTAuLjJjYmE5YzYyMGE3MWZj
MGE2MWVmNjhmYWU0MGI2ZjIwNDFhZmI0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcg
KzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4
QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGltZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2Fs
bGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVy
LT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgLy8gVGhlIHRpbWVyIHdpbGwgZGVsZXRl
IGl0c2VsZiBvbmNlIGl0IGZpcmVzLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBlMDc5MzhjOWY3NTAxNzk1Mjc5MTBhNDk2Y2U2
ZjRjYWRkMmU2MDA0Li4xMDRiNDBlNjI4MzM4OWU2N2ZiOWY5ZTFkZGMyOTc1MWZhMTAwMjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAg
LTEwMywxMCArMTAzLDEwIEBAIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291cmNlOjpk
ZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQogICAgIHJldHVybiBSZXNv
dXJjZUxvYWRQcmlvcml0eTo6TG93OwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7
CiAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCkKLSAgICAgICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBTZWNvbmRz
KDApOwogCiAgICAgcmV0dXJuIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCk7CiB9CkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWVkZWQoKQogewogICAgIGlmICghbV9kZWNv
ZGVkU2l6ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghTWVtb3J5Q2FjaGU6OnNpbmdsZXRv
bigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKS5jb3VudCgpKQorICAgIGlmICgh
TWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3Rh
cnQoKTsKIH0KQEAgLTgxNSw3ICs4MTUsNyBAQCBpbmxpbmUgQ2FjaGVkUmVzb3VyY2U6OkNhbGxi
YWNrOjpDYWxsYmFjayhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIENhY2hlZFJlc291cgogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aW1lcigqdGhpcywgJkNhbGxiYWNrOjp0aW1l
ckZpcmVkKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJmM2Rm
MzYxMWZiNzU5MzM1NGFhLi44MjAxOTQyMzYxOWY5OTYzMzk2ZDRhNGY5ZDY4NWE0ODdhOGM2ZGEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJmb3Jt
CiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJiYWdl
Q29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIC8vIEdhcmJhZ2UgY29sbGVjdGluZyBtX2RvY3VtZW50UmVzb3VyY2Vz
IGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmNwcAppbmRleCBkOGQzMGRmYzRlZTkxMDNiMzRkZjhhMTdiYmQ0NzVkZDhhOWU4
Mjc5Li5hN2NlYjhhNWNlODdhY2ViZGEzNTQ0MjRmOWMwZTJhYjBlOWE0MTQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNp
dHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBjb25zdCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2
ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29uZHMuCiBzdGF0aWMgY29uc3QgZmxvYXQgY1Rhcmdl
dFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8vIFBlcmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJk
IHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBpbW1lZGlhdGVseSBwcnVuaW5nIGFnYWluLgotc3Rh
dGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHsgMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAKIE1lbW9yeUNhY2hlJiBNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkKIHsKQEAgLTc3MSw3ICs3NzEsNyBAQCB2b2lkIE1lbW9yeUNh
Y2hlOjpwcnVuZVNvb24oKQogICAgICAgICByZXR1cm47CiAgICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCiAgICAgICAgICByZXR1cm47Ci0gICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNpZm5k
ZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4
IDE4MzZjMmJmMTAwOWVlN2FlZDI0OTYzMDUzOGYyODJiZTU4ZDE3MGQuLjc5YzBhMjY5ZDA1NmVm
ODk5Y2E2YWNjNDI1YmNmNzFhMTE5MjZiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCkBAIC0xMjUsOCArMTI1LDggQEAgcHVibGljOgogICAgIHZvaWQgcHJ1
bmVTb29uKCk7CiAgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGl2ZVNpemUg
KyBtX2RlYWRTaXplOyB9CiAKLSAgICB2b2lkIHNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBtX2RlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQotICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJu
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0RGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vjb25kcyBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsOyB9CiAKICAgICAvLyBDYWxscyB0byBwdXQgdGhlIGNhY2hlZCBy
ZXNvdXJjZSBpbnRvIGFuZCBvdXQgb2YgTFJVIGxpc3RzLgogICAgIHZvaWQgaW5zZXJ0SW5MUlVM
aXN0KENhY2hlZFJlc291cmNlJik7CkBAIC0xOTksNyArMTk5LDcgQEAgcHJpdmF0ZToKICAgICB1
bnNpZ25lZCBtX2NhcGFjaXR5OwogICAgIHVuc2lnbmVkIG1fbWluRGVhZENhcGFjaXR5OwogICAg
IHVuc2lnbmVkIG1fbWF4RGVhZENhcGFjaXR5OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOworICAgIFNlY29uZHMgbV9kZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQgbV9saXZlU2l6ZTsg
Ly8gVGhlIG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImxpdmUiIHJlc291
cmNlcyBpbiB0aGUgY2FjaGUuCiAgICAgdW5zaWduZWQgbV9kZWFkU2l6ZTsgLy8gVGhlIG51bWJl
ciBvZiBieXRlcyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImRlYWQiIHJlc291cmNlcyBpbiB0aGUg
Y2FjaGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRl
eCBlZTQzN2U4NjI4ZWJmNGU4NjMyN2NjNzcwMzBmNWY2OTRlMzBiYjJkLi5jYTBjMWQ5NDAyMDQ1
OWU4YjgwZTJiNmIzN2E2NmFjNWU1ODAxMDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIGNvbnN0IGludCBj
dXJyZW50RGF0YWJhc2VWZXJzaW9uID0gNjsKIC8vIEljb25zIGV4cGlyZSBvbmNlIGV2ZXJ5IDQg
ZGF5cwogc3RhdGljIGNvbnN0IGludCBpY29uRXhwaXJhdGlvblRpbWUgPSA2MCo2MCoyNCo0OyAK
IAotc3RhdGljIGNvbnN0IGludCB1cGRhdGVUaW1lckRlbGF5ID0gNTsgCitzdGF0aWMgY29uc3Qg
U2Vjb25kcyB1cGRhdGVUaW1lckRlbGF5ID0gU2Vjb25kcyg1KTsKIAogc3RhdGljIGJvb2wgY2hl
Y2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9z
Y3JvbGxDb250cm9sbGVyLmNwcAppbmRleCBhN2M3YTU4ZTdkMzE1ZWRmYmY5YzUwZTBhODcxYzIw
Y2I3MmY0Y2EyLi5jYzFiNjdmNjBjNGJlM2ZhNGFhNjQyNGM4MTU1ODk4MTdmNjQ5OWYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcApAQCAtNDUsNyAr
NDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3Jv
bGxEZWxheSA9IDAuMjsKIAogLy8gV2hlbiB0aGUgYXV0b3Njcm9sbCBvciB0aGUgcGFuU2Nyb2xs
IGlzIHRyaWdnZXJlZCB3aGVuIGRvIHRoZSBzY3JvbGwgZXZlcnkgMC4wNXMgdG8gbWFrZSBpdCBz
bW9vdGgKLXN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9sbEludGVydmFsID0gMC4wNTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIGF1dG9zY3JvbGxJbnRlcnZhbCA9IFNlY29uZHMoMC4wNSk7CiAK
ICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQuLmI2
YTdhY2FmYjkyNzg1NTBhNWNmMzg5YThmYThlZDdlNmI4MDRlZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJl
bmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIH0KIAogQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIENh
cHRpb25Vc2VyUHJlZmVyZW5jZXM6OmNhcHRpb25EaXNwbGF5TW9kZSgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3Bw
CmluZGV4IDk4YjIyYmFmZTJjZmJiZDZhMGMyMTkxMTIzNTBlN2M5MDcwZmIyNTguLjRjYTVlY2Nm
NzlkZjMwNjBmZmQ4MGNhMjFjODc2MDcwMjBhNTY3NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCkBAIC0yNDYsNyAr
MjQ2LDcgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3Rl
ZEluQ2FwdGlvblByZWZlcmVuY2VDaGFuZ2VzKCkKIAogICAgIC8vIEdlbmVyYXRpbmcgYW5kIHJl
Z2lzdGVyaW5nIHRoZSBjYXB0aW9uIHN0eWxlc2hlZXQgY2FuIGJlIGV4cGVuc2l2ZSBhbmQgdGhp
cyBtZXRob2QgaXMgY2FsbGVkIGluZGlyZWN0bHkgd2hlbiB0aGUgcGFyc2VyIGNyZWF0ZXMgYW4g
YXVkaW8gb3IKICAgICAvLyB2aWRlbyBlbGVtZW50LCBzbyBkbyBpdCBhZnRlciBhIGJyaWVmIHBh
dXNlLgotICAgIG1fdXBkYXRlU3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3VwZGF0ZVN0eWxlU2hlZXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZv
aWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OmNhcHRpb25QcmVmZXJlbmNlc0NoYW5n
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAppbmRleCBkMDNjMWIwMmZlNjAyM2I2MjMxN2Mz
MTFkMzZjM2RhNWZhZGM0ZmQ1Li5hZTY0NTRiMzhhZGIyY2M1ZjlmNzgyMDA3ZmNjODViY2M4ODUw
NDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcApAQCAtNTEsOCArNTEsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIG1heEludGVydmFsRm9yVXNlckdl
c3R1cmVGb3J3YXJkaW5nID0gMTAwMG1zOyAvLyBPbmUgc2Vjb25kIG1hdGNoZXMgR2Vja28uCi1z
dGF0aWMgY29uc3QgYXV0byBtaW5JbnRlcnZhbEZvck5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlVGlt
ZXJzID0gMTAwMG1zOyAvLyBFbXBpcmljYWxseSBkZXRlcm1pbmVkIHRvIG1heGltaXplIGJhdHRl
cnkgbGlmZS4KK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heEludGVydmFsRm9yVXNlckdlc3R1cmVG
b3J3YXJkaW5nID0gU2Vjb25kcygxKTsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRp
bWVycyA9IFNlY29uZHMoMSk7IC8vIEVtcGlyaWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1pemUg
YmF0dGVyeSBsaWZlLgogc3RhdGljIGNvbnN0IGludCBtYXhUaW1lck5lc3RpbmdMZXZlbCA9IDU7
CiAKIGNsYXNzIERPTVRpbWVyRmlyZVN0YXRlIHsKQEAgLTE2MCwxNCArMTYwLDE0IEBAIHByaXZh
dGU6CiAKIGJvb2wgTmVzdGVkVGltZXJzTWFwOjppc1RyYWNraW5nTmVzdGVkVGltZXJzID0gZmFs
c2U7CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKK3N0YXRpYyBp
bmxpbmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoU2Vjb25kcyBpbnRlcnZhbCwgaW50
IG5lc3RpbmdMZXZlbCkKIHsKICAgICByZXR1cm4gVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nl
c3NpbmdVc2VyR2VzdHVyZSgpCiAgICAgICAgICYmIGludGVydmFsIDw9IG1heEludGVydmFsRm9y
VXNlckdlc3R1cmVGb3J3YXJkaW5nCiAgICAgICAgICYmICFuZXN0aW5nTGV2ZWw7IC8vIEdlc3R1
cmVzIHNob3VsZCBub3QgYmUgZm9yd2FyZGVkIHRvIG5lc3RlZCB0aW1lcnMuCiB9CiAKLXN0YXRp
YyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJHZXN0dXJlVG9rZW5Ub0Zvcndh
cmQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkK
K3N0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJHZXN0dXJlVG9rZW5U
b0ZvcndhcmQoU2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKIHsKICAgICBpZiAo
IXNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShpbnRlcnZhbCwgbmVzdGluZ0xldmVsKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xNzUsMTIgKzE3NSwxMSBAQCBzdGF0aWMgaW5saW5lIFJl
ZlB0cjxVc2VyR2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKHN0ZDo6Y2hy
b25vOjptaQogICAgIHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVudFVzZXJHZXN0
dXJlKCk7CiB9CiAKLURPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKK0RPTVRpbWVyOjpE
T01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCkKICAgICA6IFN1c3BlbmRhYmxlVGltZXIoY29udGV4dCkKICAgICAsIG1fbmVzdGluZ0xldmVs
KGNvbnRleHQudGltZXJOZXN0aW5nTGV2ZWwoKSkKICAgICAsIG1fYWN0aW9uKFdURk1vdmUoYWN0
aW9uKSkKICAgICAsIG1fb3JpZ2luYWxJbnRlcnZhbChpbnRlcnZhbCkKLSAgICAsIG1fdGhyb3R0
bGVTdGF0ZShVbmRldGVybWluZWQpCiAgICAgLCBtX2N1cnJlbnRUaW1lckludGVydmFsKGludGVy
dmFsQ2xhbXBlZFRvTWluaW11bSgpKQogICAgICwgbV91c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJk
KHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoaW50ZXJ2YWwsIG1fbmVzdGluZ0xldmVsKSkKIHsK
QEAgLTIwMSw3ICsyMDAsNyBAQCBET01UaW1lcjo6fkRPTVRpbWVyKCkKIHsKIH0KIAotaW50IERP
TVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5p
cXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpCitpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkKIHsKICAgICAvLyBE
T01UaW1lciBjb25zdHJ1Y3RvciBwYXNzZXMgb3duZXJzaGlwIG9mIHRoZSBpbml0aWFsIHJlZiBv
biB0aGUgb2JqZWN0IHRvIHRoZSBjb25zdHJ1Y3Rvci4KICAgICAvLyBUaGlzIHJlZmVyZW5jZSB3
aWxsIGJlIHJlbGVhc2VkIGF1dG9tYXRpY2FsbHkgd2hlbiBhIG9uZS1zaG90IHRpbWVyIGZpcmVz
LCB3aGVuIHRoZSBjb250ZXh0CkBAIC0yMTAsNyArMjA5LDcgQEAgaW50IERPTVRpbWVyOjppbnN0
YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWQKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkg
ewogICAgICAgICBib29sIGRpZERlZmVyVGltZW91dCA9IGNvbnRleHQuYWN0aXZlRE9NT2JqZWN0
c0FyZVN1c3BlbmRlZCgpOwotICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0
LmNvdW50KCkgPD0gMTAwICYmIHNpbmdsZVNob3QpIHsKKyAgICAgICAgaWYgKCFkaWREZWZlclRp
bWVvdXQgJiYgdGltZW91dCA8PSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKDEwMCkgJiYgc2lu
Z2xlU2hvdCkgewogICAgICAgICAgICAgV0tTZXRPYnNlcnZlZENvbnRlbnRDaGFuZ2UoV0tDb250
ZW50SW5kZXRlcm1pbmF0ZUNoYW5nZSk7CiAgICAgICAgICAgICBXZWJUaHJlYWRBZGRPYnNlcnZl
ZENvbnRlbnRNb2RpZmllcih0aW1lcik7IC8vIFdpbGwgb25seSB0YWtlIGFmZmVjdCBpZiBub3Qg
YWxyZWFkeSB2aXNpYmlsaXR5IGNoYW5nZS4KICAgICAgICAgfQpAQCAtMjE4LDcgKzIxNyw3IEBA
IGludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkCiAjZW5kaWYKIAogICAgIHRpbWVyLT5zdXNwZW5kSWZO
ZWVkZWQoKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc3RhbGxUaW1lcihj
b250ZXh0LCB0aW1lci0+bV90aW1lb3V0SWQsIHRpbWVvdXQsIHNpbmdsZVNob3QpOworICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5t
X3RpbWVvdXRJZCwgc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4oc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJsZT4odGltZW91dC52YWx1ZSgpKSks
IHNpbmdsZVNob3QpOwogCiAgICAgLy8gS2VlcCB0cmFjayBvZiBuZXN0ZWQgdGltZXIgaW5zdGFs
bHMuCiAgICAgaWYgKE5lc3RlZFRpbWVyc01hcCogbmVzdGVkVGltZXJzID0gTmVzdGVkVGltZXJz
TWFwOjppbnN0YW5jZUZvckNvbnRleHQoY29udGV4dCkpCkBAIC0zOTksMjEgKzM5OCwyMSBAQCB2
b2lkIERPTVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkoKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBpZiAocmVwZWF0SW50ZXJ2YWwoKSkgewotICAgICAgICBBU1NFUlQocmVw
ZWF0SW50ZXJ2YWxNUygpID09IHByZXZpb3VzSW50ZXJ2YWwpOwotICAgICAgICBMT0coRE9NVGlt
ZXJzLCAiJXAgLSBVcGRhdGluZyBET01UaW1lcidzIHJlcGVhdCBpbnRlcnZhbCBmcm9tICUiIFBS
SWQ2NCAiIG1zIHRvICUiIFBSSWQ2NCAiIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHBy
ZXZpb3VzSW50ZXJ2YWwuY291bnQoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5jb3VudCgpKTsK
KyAgICAgICAgQVNTRVJUKHJlcGVhdEludGVydmFsKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Cisg
ICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGlu
dGVydmFsIGZyb20gJS4zZiBtcyB0byAlLjNmIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMs
IHByZXZpb3VzSW50ZXJ2YWwubWlsbGlzZWNvbmRzKCksIG1fY3VycmVudFRpbWVySW50ZXJ2YWwu
bWlsbGlzZWNvbmRzKCkpOwogICAgICAgICBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobV9jdXJyZW50
VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0gZWxzZSB7Ci0gICAgICAg
IExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgZmlyZSBpbnRlcnZhbCBm
cm9tICUiIFBSSWQ2NCAiIG1zIHRvICUiIFBSSWQ2NCAiIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIs
IHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwuY291bnQoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5j
b3VudCgpKTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIn
cyBmaXJlIGludGVydmFsIGZyb20gJS4zZiBtcyB0byAlLjNmIG1zIGR1ZSB0byB0aHJvdHRsaW5n
LiIsIHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwubWlsbGlzZWNvbmRzKCksIG1fY3VycmVudFRpbWVy
SW50ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOwogICAgICAgICBhdWdtZW50RmlyZUludGVydmFsKG1f
Y3VycmVudFRpbWVySW50ZXJ2YWwgLSBwcmV2aW91c0ludGVydmFsKTsKICAgICB9CiB9CiAKLXN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CitTZWNvbmRzIERPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBj
b25zdAogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIEFTU0VS
VChtX25lc3RpbmdMZXZlbCA8PSBtYXhUaW1lck5lc3RpbmdMZXZlbCk7CiAKLSAgICBhdXRvIGlu
dGVydmFsID0gc3RkOjptYXgoMW1zLCBtX29yaWdpbmFsSW50ZXJ2YWwpOworICAgIGF1dG8gaW50
ZXJ2YWwgPSBzdGQ6Om1heChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKDEpLCBtX29yaWdpbmFs
SW50ZXJ2YWwpOwogCiAgICAgLy8gT25seSBhcHBseSB0aHJvdHRsaW5nIHRvIHJlcGVhdGluZyB0
aW1lcnMuCiAgICAgaWYgKG1fbmVzdGluZ0xldmVsIDwgbWF4VGltZXJOZXN0aW5nTGV2ZWwpCkBA
IC00MjYsMTkgKzQyNSwyMCBAQCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIERPTVRpbWVyOjpp
bnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdAogICAgIHJldHVybiBpbnRlcnZhbDsKIH0K
IAotT3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4gRE9NVGltZXI6OmFsaWduZWRG
aXJlVGltZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGZpcmVUaW1lKSBjb25zdAorT3B0aW9u
YWw8TW9ub3RvbmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1l
IGZpcmVUaW1lKSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwg
Pj0gbWF4VGltZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAw
bXMpCisgICAgU2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+dGltZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5l
c3RpbmdMZXZlbCk7CisgICAgaWYgKCFhbGlnbm1lbnRJbnRlcnZhbCkKICAgICAgICAgcmV0dXJu
IE51bGxvcHQ7CiAgICAgCisgICAgLy8gRG8gd2UgcmVhbGx5IHdhbnQgdG8gaW5pdGlhbGl6ZSBy
YW5kb21pemVkUHJvcG9ydGlvbiBqdXN0IG9uY2U/CiAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBy
YW5kb21pemVkUHJvcG9ydGlvbiA9IHJhbmRvbU51bWJlcigpOwogCi0gICAgLy8gRm9yY2UgYWxp
Z25tZW50IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVu
IGFsaWduZW1udEludGVydmFscywgZS5nLgorICAgIC8vIEZvcmNlIGFsaWdubWVudCB0byByYW5k
b21pemVkQWxpZ25tZW50IGZyYWN0aW9uIG9mIHRoZSB3YXkgYmV0d2VlbiBhbGlnbm1lbnRJbnRl
cnZhbHMsIGUuZy4KICAgICAvLyBpZiBhbGlnbm1lbnRJbnRlcnZhbCBpcyAxMCBhbmQgcmFuZG9t
aXplZEFsaWdubWVudCBpcyAwLjMgdGhpcyB3aWxsIGFsaWduIHRvIDMsIDEzLCAyMywgLi4uCi0g
ICAgYXV0byByYW5kb21pemVkT2Zmc2V0ID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oYWxpZ25tZW50SW50ZXJ2YWwgKiByYW5kb21pemVkUHJv
cG9ydGlvbik7Ci0gICAgYXV0byBhZGp1c3RlZEZpcmVUaW1lID0gZmlyZVRpbWUgLSByYW5kb21p
emVkT2Zmc2V0OwotICAgIHJldHVybiBhZGp1c3RlZEZpcmVUaW1lIC0gKGFkanVzdGVkRmlyZVRp
bWUgJSBhbGlnbm1lbnRJbnRlcnZhbCkgKyBhbGlnbm1lbnRJbnRlcnZhbCArIHJhbmRvbWl6ZWRP
ZmZzZXQ7CisgICAgU2Vjb25kcyByYW5kb21pemVkT2Zmc2V0ID0gYWxpZ25tZW50SW50ZXJ2YWwg
KiByYW5kb21pemVkUHJvcG9ydGlvbjsKKyAgICBNb25vdG9uaWNUaW1lIGFkanVzdGVkRmlyZVRp
bWUgPSBmaXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7CisgICAgcmV0dXJuIGFkanVzdGVkRmly
ZVRpbWUgLSBTZWNvbmRzKGZtb2QoYWRqdXN0ZWRGaXJlVGltZS5zZWNvbmRzU2luY2VFcG9jaCgp
LnZhbHVlKCksIGFsaWdubWVudEludGVydmFsLnZhbHVlKCkpKSArIGFsaWdubWVudEludGVydmFs
ICsgcmFuZG9taXplZE9mZnNldDsKIH0KIAogY29uc3QgY2hhciogRE9NVGltZXI6OmFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCmluZGV4IDk2YzhiM2JiNjVh
N2ZjZjI2N2U4ZTBhZGU2Y2ZjZTBmYjlhZGE3ZDQuLjQ0NWI1ZjE4YWQwOWI1MGVkNzdiN2UyOTQ1
NjMzZDU1N2I0NTk5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKQEAgLTQ0LDEzICs0NCwxMyBA
QCBjbGFzcyBET01UaW1lciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTVRpbWVyPiwgcHVi
bGljIFN1c3BlbmRhYmxlVGltZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVRpbWVyKCk7
CiAKLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0TWluaW11bUlu
dGVydmFsKCkgeyByZXR1cm4gNG1zOyB9Ci0gICAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgZGVmYXVsdEFsaWdubWVudEludGVydmFsKCkgeyByZXR1cm4gMG1zOyB9Ci0gICAgc3Rh
dGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaGlkZGVuUGFnZUFsaWdubWVudEludGVydmFs
KCkgeyByZXR1cm4gMTAwMG1zOyB9CisgICAgc3RhdGljIFNlY29uZHMgZGVmYXVsdE1pbmltdW1J
bnRlcnZhbCgpIHsgcmV0dXJuIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoNCk7IH0KKyAgICBz
dGF0aWMgU2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiBTZWNvbmRz
KDApOyB9CisgICAgc3RhdGljIFNlY29uZHMgaGlkZGVuUGFnZUFsaWdubWVudEludGVydmFsKCkg
eyByZXR1cm4gU2Vjb25kcygxKTsgfQogCiAgICAgLy8gQ3JlYXRlcyBhIG5ldyB0aW1lciBvd25l
ZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgc3RhcnRzIGl0CiAgICAgLy8g
YW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICBzdGF0aWMgaW50
IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CiAgICAgc3RhdGlj
IHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgaW50IHRpbWVvdXRJZCk7
CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUu
Zy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApAQCAtNjAsMTAgKzYwLDEwIEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRlcmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJ
bkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCk7CisgICAgRE9NVGltZXIoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNv
bmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwogICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5h
bHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29u
c3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBj
b25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdTdGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERP
TVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gU3Vz
cGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFN0
b3AoKSBvdmVycmlkZTsKLSAgICBPcHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPiBh
bGlnbmVkRmlyZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcykgY29uc3Qgb3ZlcnJpZGU7
CisgICAgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4gYWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1Rp
bWUpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICBj
b25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC04NSwx
MCArODUsMTAgQEAgcHJpdmF0ZToKICAgICBpbnQgbV90aW1lb3V0SWQ7CiAgICAgaW50IG1fbmVz
dGluZ0xldmVsOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IG1fYWN0aW9u
OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9vcmlnaW5hbEludGVydmFsOwotICAg
IFRpbWVyVGhyb3R0bGVTdGF0ZSBtX3Rocm90dGxlU3RhdGU7Ci0gICAgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtX2N1cnJlbnRUaW1lckludGVydmFsOworICAgIFNlY29uZHMgbV9vcmlnaW5h
bEludGVydmFsOworICAgIFNlY29uZHMgbV9jdXJyZW50VGltZXJJbnRlcnZhbDsKICAgICBSZWZQ
dHI8VXNlckdlc3R1cmVUb2tlbj4gbV91c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkOworICAgIFRp
bWVyVGhyb3R0bGVTdGF0ZSBtX3Rocm90dGxlU3RhdGUgeyBVbmRldGVybWluZWQgfTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCAy
YTkzOTNhZjhiNjhiZmViYWExZDZmMGFjNGI2Y2FmOGRlNjkyOTdiLi4wNTcwMTUzMmUxZmY0OGQ4
MzFiYTY2MDI0NWEzZDlmODY3NDg4NTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBA
IC05NTgsNyArOTU4LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gRE9NV2luZG93Ojpwb3N0TWVzc2Fn
ZShSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFYKIAogICAgIC8vIFNjaGVk
dWxlIHRoZSBtZXNzYWdlLgogICAgIGF1dG8qIHRpbWVyID0gbmV3IFBvc3RNZXNzYWdlVGltZXIo
KnRoaXMsIFdURk1vdmUobWVzc2FnZSksIHNvdXJjZU9yaWdpbiwgc291cmNlLCBjaGFubmVscy5y
ZWxlYXNlUmV0dXJuVmFsdWUoKSwgV1RGTW92ZSh0YXJnZXQpLCBXVEZNb3ZlKHN0YWNrVHJhY2Up
KTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMTY0OCw3ICsxNjQ4LDcgQEAg
RXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNj
aGVkdWxlZEFjdGlvbj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpj
b250ZXh0LCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91
dCksIHRydWUpOworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92
ZShhY3Rpb24pLCBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0K
IAogdm9pZCBET01XaW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4MCw3
ICsxNjgwLDcgQEAgRXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1l
cjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzKHRpbWVvdXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpj
b250ZXh0LCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91
dCksIGZhbHNlKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVv
dXRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0
MzA5NTYzNDk2MjJhZTJlMTlmZDViNzYwMzg1Yzk1OTA0Y2MuLjcwNDliNjJkNTgzYzVhMTQzNjUy
MjlkODg5NTIzYjNiODk5ZGExOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2
aWNlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9s
bGVyLmNwcApAQCAtNDgsNyArNDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmlj
ZUV2ZW50TGlzdGVuZXIoRE9NV2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkp
IHsKICAgICAgICAgbV9sYXN0RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlm
ICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9
CiAKICAgICBpZiAod2FzRW1wdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5k
ZXggZTk0YTkyNTUyYzk5NmE1MzhlNDY2ODJjZWIzMWUzNTE5MWEzMzM3YS4uNzNjNzE3ZDAxYzQ1
MmRiYmM5YWI3OTI4NDhlZTViNzkxMmFhNDI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcApAQCAtMTU2LDE1ICsxNTYsMTUgQEAgdXNpbmcgbmFtZXNwYWNlIFNWR05hbWVzOwog
Ly8gVGhlIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYSBmYWtlIG1vdXNl
IGV2ZW50LCB0cmlnZ2VyZWQKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVydmFs
IGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwogLy8g
aW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0aGUg
bG9uZyBpbnRlcnZhbCBpcyB1c2VkLgotY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJhdGlv
blRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2
YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAuMjU7
Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVEdXJhdGlvblRocmVzaG9sZCA9IFNlY29uZHMo
MC4wMSk7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0gU2Vjb25k
cygwLjEpOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gU2Vjb25k
cygwLjI1KTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKENVUlNPUl9TVVBQT1JUKQogLy8gVGhlIGFt
b3VudCBvZiB0aW1lIHRvIHdhaXQgZm9yIGEgY3Vyc29yIHVwZGF0ZSBvbiBzdHlsZSBhbmQgbGF5
b3V0IGNoYW5nZXMKIC8vIFNldCB0byA1MEh6LCBubyBuZWVkIHRvIGJlIGZhc3RlciB0aGFuIGNv
bW1vbiBzY3JlZW4gcmVmcmVzaCByYXRlCi1jb25zdCBkb3VibGUgY3Vyc29yVXBkYXRlSW50ZXJ2
YWwgPSAwLjAyOworY29uc3QgU2Vjb25kcyBjdXJzb3JVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMo
MC4wMik7CiAKIGNvbnN0IGludCBtYXhpbXVtQ3Vyc29yU2l6ZSA9IDEyODsKICNlbmRpZgpAQCAt
MTkzLDIwICsxOTMsMjAgQEAgcHJpdmF0ZToKIAogY2xhc3MgTWF4aW11bUR1cmF0aW9uVHJhY2tl
ciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgTWF4aW11bUR1cmF0aW9uVHJhY2tlcihkb3VibGUg
Km1heER1cmF0aW9uKQorICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNrZXIoU2Vjb25k
cyYgbWF4RHVyYXRpb24pCiAgICAgICAgIDogbV9tYXhEdXJhdGlvbihtYXhEdXJhdGlvbikKLSAg
ICAgICAgLCBtX3N0YXJ0KG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKQorICAgICAgICAs
IG1fc3RhcnQoTW9ub3RvbmljVGltZTo6bm93KCkpCiAgICAgewogICAgIH0KIAogICAgIH5NYXhp
bXVtRHVyYXRpb25UcmFja2VyKCkKICAgICB7Ci0gICAgICAgICptX21heER1cmF0aW9uID0gc3Rk
OjptYXgoKm1fbWF4RHVyYXRpb24sIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9z
dGFydCk7CisgICAgICAgIG1fbWF4RHVyYXRpb24gPSBzdGQ6Om1heChtX21heER1cmF0aW9uLCBN
b25vdG9uaWNUaW1lOjpub3coKSAtIG1fc3RhcnQpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBk
b3VibGUqIG1fbWF4RHVyYXRpb247Ci0gICAgZG91YmxlIG1fc3RhcnQ7CisgICAgU2Vjb25kcyYg
bV9tYXhEdXJhdGlvbjsKKyAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnQ7CiB9OwogCiAjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykgJiYgIUVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQpAQCAtNDYyLDcg
KzQ2Miw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVhcigpCiAgICAgbV9vcmlnaW5hdGluZ1Rv
dWNoUG9pbnREb2N1bWVudCA9IG51bGxwdHI7CiAgICAgbV9vcmlnaW5hdGluZ1RvdWNoUG9pbnRU
YXJnZXRLZXkgPSAwOwogI2VuZGlmCi0gICAgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24gPSAwOwor
ICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uID0gU2Vjb25kcygwKTsKICAgICBtX2Jhc2VFdmVu
dFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBmYWxz
ZTsKIH0KQEAgLTE4MjAsNyArMTgyMCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1vdmVk
KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBwcm90
ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3IobV9m
cmFtZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25UcmFj
a2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJhY2tl
ciBtYXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAgaWYg
KG1fZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91c2VF
dmVudChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjg5OCw3ICsyODk4LDcgQEAg
Ym9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQgRXZl
bnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9ob3Zl
clRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNp
ZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRl
eCA5YmNhYzcyYzdlMjE2MzIxMDkxNWY3MmMxZjgzZWQ5NWEwZGVjOTMzLi5hN2E5MWY2NjdmMjZm
OTE1M2IzNjg5YjZhMmQ1MmE2OTQ4OGY2MTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmgKQEAgLTU3MCw3ICs1NzAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV90b3VjaFByZXNzZWQg
eyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBkb3VibGUgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24g
eyAwIH07CisgICAgU2Vjb25kcyBtX21heE1vdXNlTW92ZWREdXJhdGlvbjsKICAgICBQbGF0Zm9y
bUV2ZW50OjpUeXBlIG1fYmFzZUV2ZW50VHlwZSB7IFBsYXRmb3JtRXZlbnQ6Ok5vVHlwZSB9Owog
ICAgIGJvb2wgbV9kaWRTdGFydERyYWcgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0hhbmRsaW5n
V2hlZWxFdmVudCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4
IDQ3NDIyODgwNzJjZTVhNWExZWI3YTkwNGY1MjE1MzNmNWU1MjQ1YzcuLjhiMTc2YmMzNDg4YmVi
MTY5YTNmM2IzOTI1ZTBkYTY0MjM4MjNhYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
Y3BwCkBAIC00Nyw3ICs0Nyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgdWlu
dDY0X3QgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDMwMDA7Citjb25zdCBT
ZWNvbmRzIEV2ZW50U291cmNlOjpkZWZhdWx0UmVjb25uZWN0RGVsYXkgPSBTZWNvbmRzKDMpOwog
CiBpbmxpbmUgRXZlbnRTb3VyY2U6OkV2ZW50U291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBJbml0JiBldmVudFNvdXJjZUluaXQpCiAg
ICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9pZCBF
dmVudFNvdXJjZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUg
PT0gQ09OTkVDVElORyk7CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBt
X2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZVJlY29u
bmVjdCgpCkBAIC0zNTUsOSArMzU1LDkgQEAgdm9pZCBFdmVudFNvdXJjZTo6cGFyc2VFdmVudFN0
cmVhbUxpbmUodW5zaWduZWQgcG9zaXRpb24sIE9wdGlvbmFsPHVuc2lnbmVkPiBmaWUKICAgICAg
ICAgICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgd2FudCB0byBpZ25vcmUgdHJhaWxpbmcgZ2Fy
YmFnZSBoZXJlPyBTaG91bGQgd2UgYmUgdXNpbmcgdGhlIHN0cmljdCB2ZXJzaW9uIGluc3RlYWQ/
CiAgICAgICAgICAgICAvLyBGSVhNRTogSWYgd2UgY2FuJ3QgcGFyc2UgdGhlIHZhbHVlLCBzaG91
bGQgd2UgbGVhdmUgbV9yZWNvbm5lY3REZWxheSBhbG9uZSBvciBzZXQgaXQgdG8gZGVmYXVsdFJl
Y29ubmVjdERlbGF5PwogICAgICAgICAgICAgYm9vbCBvazsKLSAgICAgICAgICAgIGF1dG8gcmVj
b25uZWN0RGVsYXkgPSBjaGFyYWN0ZXJzVG9VSW50NjQoJm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlv
bl0sIHZhbHVlTGVuZ3RoLCAmb2spOworICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheU1T
ID0gY2hhcmFjdGVyc1RvVUludDY0KCZtX3JlY2VpdmVCdWZmZXJbcG9zaXRpb25dLCB2YWx1ZUxl
bmd0aCwgJm9rKTsKICAgICAgICAgICAgIGlmIChvaykKLSAgICAgICAgICAgICAgICBtX3JlY29u
bmVjdERlbGF5ID0gcmVjb25uZWN0RGVsYXk7CisgICAgICAgICAgICAgICAgbV9yZWNvbm5lY3RE
ZWxheSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMocmVjb25uZWN0RGVsYXlNUyk7CiAgICAg
ICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggMDNhZWMyYmIz
MWI4YWFlNTI5NGI2Zjc5OTg0NjhkZGI5MTZhOThkZC4uYzk0NjE1NzkyMDI0ODAzY2JhYjI5OTc5
NDJkN2M4NTQ5YTBkMWI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtOTgsNyAr
OTgsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCByZXNwb25zZUlzVmFsaWQoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYpIGNvbnN0OwogCi0gICAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IGRlZmF1bHRS
ZWNvbm5lY3REZWxheTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0UmVjb25uZWN0
RGVsYXk7CiAKICAgICBVUkwgbV91cmw7CiAgICAgYm9vbCBtX3dpdGhDcmVkZW50aWFsczsKQEAg
LTExNSw3ICsxMTUsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxVQ2hhcj4gbV9kYXRhOwogICAg
IFN0cmluZyBtX2N1cnJlbnRseVBhcnNlZEV2ZW50SWQ7CiAgICAgU3RyaW5nIG1fbGFzdEV2ZW50
SWQ7Ci0gICAgdWludDY0X3QgbV9yZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5lY3REZWxh
eSB9OworICAgIFNlY29uZHMgbV9yZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5lY3REZWxh
eSB9OwogICAgIFN0cmluZyBtX2V2ZW50U3RyZWFtT3JpZ2luOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4IGE3YjI1NTdlNjk0NmRiOWU1NjExNTdhZGY3
MmNjMjgyNmVmZTg3NDcuLjkzOGJlMDY0YjFhNDcxODRmZGY0NzljOGIxYzM2Yzk3MTMyMTEyN2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKQEAgLTEwODgsNyArMTA4
OCw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZv
Y3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpz
ZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1l
ci5zdGFydE9uZVNob3QoMC4wMzMpOworICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoMzMpKTsKIH0KIAogdm9pZCBGb2N1c0NvbnRy
b2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCAz
N2ZiN2RhZjFmZDllMjk1NmJhZjUwZjFjYTVjOGFhOTNiZDBjMjQyLi41NWNmNDM2ZTY4OTNhYTlm
NWNjYmEwZWM2MzJiNzYzNWIxNzNhMDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtMTIyLDcg
KzEyMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVuY3kgPSAx
MDAwIC8gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxGcmVxdWVuY3kgPSBTZWNvbmRz
KDEuMCAvIDYwKTsKICNlbmRpZgogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwoV1RGOjpSZWZD
b3VudGVkTGVha0NvdW50ZXIsIGZyYW1lQ291bnRlciwgKCJGcmFtZSIpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAppbmRleCBhNjE5YTBiMjY1YTc2NzU0MDBmZDJlMjg5ZDYzMGZiZWQ5NTRm
NjIxLi45MTU2NTY0ZGJhNDVmMGYzYWI2MjE1MmM2NTdiNGY1ZjgyOTRhNDg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xNTYwLDcgKzE1NjAsNyBAQCB2b2lkIEZyYW1lVmlldzo6
bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogICAgICAgICAgICAgLy8gZGVmZXIgd2lkZ2V0IHVw
ZGF0ZXMgYW5kIGV2ZW50IGRpc3BhdGNoIHVudGlsIGFmdGVyIHdlIHJldHVybi4gcG9zdExheW91
dFRhc2tzKCkKICAgICAgICAgICAgIC8vIGNhbiBtYWtlIHVzIG5lZWQgdG8gdXBkYXRlIGFnYWlu
LCBhbmQgd2UgY2FuIGdldCBzdHVjayBpbiBhIG5hc3R5IGN5Y2xlIHVubGVzcwogICAgICAgICAg
ICAgLy8gd2UgY2FsbCBpdCB0aHJvdWdoIHRoZSB0aW1lciBoZXJlLgotICAgICAgICAgICAgbV9w
b3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3Bvc3RM
YXlvdXRUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgICAgIGlm
IChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAgICB9CkBA
IC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAgICBtX2Rl
bGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2ZW50KCk7
CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5n
RGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0g
ZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZlYWxFZGdl
RXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29udGVudFJl
Y3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBGcmFtZVZp
ZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3NwZWN1bGF0
aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIC8v
IERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dlciBmdXJ0
aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgc3BlY3Vs
YXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBz
cGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gU2Vjb25kcygwLjUpOwogICAgIG1fc3BlY3Vs
YXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3Qoc3BlY3VsYXRpdmVUaWxpbmdFbmFi
bGVEZWxheSk7CiB9CiAKQEAgLTI5MTQsNyArMjkxNCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY2hl
ZHVsZVJlbGF5b3V0KCkKICAgICAgICAgcHJpbnRmKCJTY2hlZHVsaW5nIGxheW91dCBmb3IgJWRc
biIsIGRlbGF5KTsKICNlbmRpZgogCi0gICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVs
YXkpOworICAgIG1fbGF5b3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNl
Y29uZHMoZGVsYXkuY291bnQoKSkpOwogfQogCiBzdGF0aWMgYm9vbCBpc09iamVjdEFuY2VzdG9y
Q29udGFpbmVyT2YoUmVuZGVyT2JqZWN0KiBhbmNlc3RvciwgUmVuZGVyT2JqZWN0KiBkZXNjZW5k
YW50KQpAQCAtMjk0OSw3ICsyOTQ5LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjaGVkdWxlUmVsYXlv
dXRPZlN1YnRyZWUoUmVuZGVyRWxlbWVudCYgbmV3UmVsYXlvdXRSb290KQogICAgICAgICBtX2xh
eW91dFJvb3QgPSAmbmV3UmVsYXlvdXRSb290OwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQoZnJhbWUoKSk7CiAgICAgICAgIG1fZGVsYXllZExh
eW91dCA9IGRlbGF5LmNvdW50KCk7Ci0gICAgICAgIG1fbGF5b3V0VGltZXIuc3RhcnRPbmVTaG90
KGRlbGF5KTsKKyAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJv
bU1pbGxpc2Vjb25kcyhkZWxheS5jb3VudCgpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTM0MjksNyArMzQyOSw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRh
c2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIuCiAg
ICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0ZUVt
YmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVkZGVk
T2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIGlmIChhdXRvKiBw
YWdlID0gZnJhbWUoKS5wYWdlKCkpIHsKICAgICAgICAgaWYgKGF1dG8qIHNjcm9sbGluZ0Nvb3Jk
aW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmlu
ZGV4IGFlOTY2MDgxMWI0MzkwZWM3ZGRiYjU2OGJmYzY1ZGY0MWM1ZTljMWQuLjY1ODcxNWU5NTMz
ZTFkNmQwY2M1N2I3ODJmMTM2MWZjN2RlZWI4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTI0
Myw3ICsxMjQzLDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRo
cm90dGxpbmdTdGF0ZSBzdGF0ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV90aW1lclRocm90
dGxpbmdTdGF0ZSA9IHN0YXRlOwotICAgIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX3RpbWVyVGhy
b3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAg
ICB1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKCk7CiAKQEAgLTEyNTYsNyArMTI1Niw3
IEBAIHZvaWQgUGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nU3RhdGUoVGltZXJUaHJvdHRsaW5nU3Rh
dGUgc3RhdGUpCiAgICAgfQogfQogCi12b2lkIFBhZ2U6OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2
YWxJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGltaXQpCit2b2lkIFBh
Z2U6OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQp
CiB7CiAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCA9IGxpbWl0Owog
CkBAIC0xMjg0LDggKzEyODQsOCBAQCB2b2lkIFBhZ2U6OnVwZGF0ZURPTVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKQogICAgICAgICBpZiAobV9pc1ByZXJlbmRlcikKICAgICAgICAgICAgIG1fdGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCA9IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGlt
aXQ7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJvdHRsaW5n
U3RhdGVMYXN0Q2hhbmdlZFRpbWUudGltZV9zaW5jZV9lcG9jaCgpICE9IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkpOwotICAgICAgICAgICAgbV90aW1lckFsaWdu
bWVudEludGVydmFsID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcz4oc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX3RpbWVyVGhy
b3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lKTsKKyAgICAgICAgICAgIEFTU0VSVChtX3RpbWVy
VGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lKTsKKyAgICAgICAgICAgIG1fdGltZXJBbGln
bm1lbnRJbnRlcnZhbCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV90aW1lclRocm90dGxpbmdT
dGF0ZUxhc3RDaGFuZ2VkVGltZTsKICAgICAgICAgICAgIC8vIElmIHdlJ3JlIGJlbG93IHRoZSBs
aW1pdCwgc2V0IHRoZSB0aW1lci4gSWYgYWJvdmUsIGNsYW1wIHRvIGxpbWl0LgogICAgICAgICAg
ICAgaWYgKG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA8IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZh
bEluY3JlYXNlTGltaXQpCiAgICAgICAgICAgICAgICAgbmVlZHNJbmNyZWFzZVRpbWVyID0gdHJ1
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKaW5kZXggMjAwYWIzOTZlMzdmNzk2ODY0ZDBlNDYwMjRhYzFlODVmYmY5
ODBmNi4uNzJhMGJmMDQ1MjNjZjkzNTJkYjk1ODE2YTBmMzI5ZTFhMjUxMTJlMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKQEAgLTIyNSw3ICsyMjUsNyBAQCBwdWJsaWM6CiAgICAgUHJvZ3Jlc3NUcmFja2VyJiBw
cm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuICptX3Byb2dyZXNzOyB9CiAgICAgQmFja0ZvcndhcmRD
b250cm9sbGVyJiBiYWNrRm9yd2FyZCgpIGNvbnN0IHsgcmV0dXJuICptX2JhY2tGb3J3YXJkQ29u
dHJvbGxlcjsgfQogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkb21UaW1lckFsaWdu
bWVudEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV90aW1lckFsaWdubWVudEludGVydmFsOyB9
CisgICAgU2Vjb25kcyBkb21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
bV90aW1lckFsaWdubWVudEludGVydmFsOyB9CiAKICNpZiBFTkFCTEUoVklFV19NT0RFX0NTU19N
RURJQSkKICAgICBlbnVtIFZpZXdNb2RlIHsKQEAgLTUyOCw3ICs1MjgsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRTaG93QWxsUGx1Z2lucyhib29sIHNob3dBbGwpIHsgbV9zaG93QWxsUGx1Z2lu
cyA9IHNob3dBbGw7IH0KICAgICBib29sIHNob3dBbGxQbHVnaW5zKCkgY29uc3Q7CiAKLSAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0
KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyk7CiAKICAgICBib29s
IGlzQ29udHJvbGxlZEJ5QXV0b21hdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29udHJvbGxlZEJ5
QXV0b21hdGlvbjsgfQogICAgIHZvaWQgc2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihib29sIGNv
bnRyb2xsZWQpIHsgbV9jb250cm9sbGVkQnlBdXRvbWF0aW9uID0gY29udHJvbGxlZDsgfQpAQCAt
NjY3LDEwICs2NjcsMTAgQEAgcHJpdmF0ZToKICNlbmRpZiAvLyBFTkFCTEUoVklFV19NT0RFX0NT
U19NRURJQSkKIAogICAgIFRpbWVyVGhyb3R0bGluZ1N0YXRlIG1fdGltZXJUaHJvdHRsaW5nU3Rh
dGUgeyBUaW1lclRocm90dGxpbmdTdGF0ZTo6RGlzYWJsZWQgfTsKLSAgICBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUgeyBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbjo6emVybygpIH07Ci0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7Cisg
ICAgTW9ub3RvbmljVGltZSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lOwor
ICAgIFNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsOwogICAgIFRpbWVyIG1fdGltZXJB
bGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlVGltZXI7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0IHsgMCB9OworICAgIFNl
Y29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsKIAogICAgIGJvb2wg
bV9pc0VkaXRhYmxlOwogICAgIGJvb2wgbV9pc1ByZXJlbmRlcjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
T3ZlcmxheS5jcHAKaW5kZXggZTcwYmNhMDUyM2YwZTM5NWY4NzdmZjYzYzEyYWEzOTU1N2FkZWQ3
Yy4uZTkwMmIwMjU4ZDFlMTg5YTYwMDMyMjRmY2RhMjQ2OGQ5YTRiZTcyNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlT3ZlcmxheS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBmYWRlQW5pbWF0aW9uRHVyYXRpb24gPSAwLjI7Ci1z
dGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25GcmFtZVJhdGUgPSAzMDsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIGZhZGVBbmltYXRpb25JbnRlcnZhbCA9IFNlY29uZHMoMS4wIC8gMzApOwog
CiBzdGF0aWMgUGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQgZ2VuZXJhdGVQYWdlT3ZlcmxheUlE
KCkKIHsKQEAgLTI1MCw3ICsyNTAsNyBAQCB2b2lkIFBhZ2VPdmVybGF5OjpzdG9wRmFkZU91dEFu
aW1hdGlvbigpCiB2b2lkIFBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmltYXRpb24oKQogewogICAg
IG1fZmFkZUFuaW1hdGlvblN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgbV9mYWRlQW5p
bWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoMSAvIGZhZGVBbmltYXRpb25GcmFtZVJhdGUpOwor
ICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGZhZGVBbmltYXRpb25JbnRl
cnZhbCk7CiB9CiAKIHZvaWQgUGFnZU92ZXJsYXk6OmZhZGVBbmltYXRpb25UaW1lckZpcmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggNmVjMzA2ZGExNzFlOTdjNTM4ZjQ3MzUxZDBk
YjEyNzllYmQ1MWI5OS4uNWY2NGZhZGRjNDM2ZjU4YTk1YTA1NzQxODYwYWU4M2ZmZGM3OTZhYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTE3Miw3ICsxNzIsNyBAQCBzdGF0aWMgY29u
c3QgYm9vbCBkZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZFZpZGVvID0gdHJ1ZTsKIAog
c3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrID0gdHJ1ZTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0SW5jcmVtZW50YWxSZW5k
ZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMgPSA1Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0ID0gU2Vjb25k
cyg1KTsKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0IGJvb2wg
ZGVmYXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKQEAgLTM2OCw3
ICszNjgsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoYm9v
bCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpCiAgICAgLy8gU3RhcnRpbmcgdGhlc2UgbG9hZHMg
c3luY2hyb25vdXNseSBpcyBub3QgaW1wb3J0YW50LiAgQnkgcHV0dGluZyBpdCBvbiBhIDAtZGVs
YXksIHByb3Blcmx5IGNsb3NpbmcgdGhlIFBhZ2UgY2FuY2VscyB0aGVtCiAgICAgLy8gYmVmb3Jl
IHRoZXkgaGF2ZSBhIGNoYW5jZSB0byByZWFsbHkgc3RhcnQuCiAgICAgLy8gU2VlIGh0dHA6Ly93
ZWJraXQub3JnL2IvNjA1NzIgZm9yIG1vcmUgZGlzY3Vzc2lvbi4KLSAgICBtX3NldEltYWdlTG9h
ZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5n
U2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2V0dGlu
Z3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAg
dm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAg
ICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1hZ2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBj
b21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseS4KLSAgICBtX3NldEltYWdlTG9h
ZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5n
U2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2V0dGlu
Z3M6OnNldFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKGJvb2wgcHJlZmVyTUlNRVR5cGVGb3JJbWFn
ZXMpCkBAIC00NDcsNyArNDQ3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0TmVlZHNBZG9iZUZyYW1l
UmVsb2FkaW5nUXVpcmsoYm9vbCBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW4KICAgICBtX25l
ZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrID0gc2hvdWxkTm90UmVsb2FkSUZyYW1lc0ZvclVu
Y2hhbmdlZFNSQzsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2
YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkKK3ZvaWQgU2V0dGluZ3M6OnNl
dE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgYXV0byBv
bGRUaW1lckludGVydmFsID0gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsKICAgICBtX21pbmlt
dW1ET01UaW1lckludGVydmFsID0gaW50ZXJ2YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXgg
ZDA2OTU3ZGFlZjY2NzdmNzE5MzVmN2Y1YjEzZTUyOTEzZGJkZGVjNS4uZmIwMjJmOTBlY2FiOTAx
NmU5ODg1ZThjMzNlYTUyZDE4NGIxZGRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5
LDggKzE2OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE5lZWRzQWRv
YmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAgIGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVS
ZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5n
UXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50
ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7IC8vIEluaXRpYWxpemVkIHRvIERPTVRp
bWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bURP
TVRpbWVySW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbmltdW1ET01U
aW1lckludGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVs
dE1pbmltdW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMgbWluaW11bURPTVRpbWVySW50ZXJ2YWwo
KSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1lckludGVydmFsOyB9CiAKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldExheW91dEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMpOwogICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25z
dCB7IHJldHVybiBtX2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVibGlj
OgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlvcml0
eUluQ1NTQXR0cmlidXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNw
ZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KLSAg
ICBkb3VibGUgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBj
b25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzOyB9CisgICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyhTZWNvbmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VNb3Zl
bWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5QYWdl
Q1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBh
Z2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpAQCAt
MzI2LDcgKzMyNiw3IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRH
ZW5lcmljRmFtaWxpZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdp
bjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9sYXlvdXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBt
X21pbmltdW1ET01UaW1lckludGVydmFsOwogCiAgICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxF
UwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3Jv
bGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkIDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKIAogICAgIFRpbWVy
IG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1Nl
dHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5pbiBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggODkxZmU3NGU3
MmJjNGIyMmI0ZmEwYWI1ZWIyZTQ3MGJlNzQ0MjMyMC4uNjQ2ZGUxZTE0OWEzNTE3MzY0ZDM4OWM1
NWZiMDhmZTllNTE5NTU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC03LDcgKzcsNyBA
QCBsb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGggdHlwZT1TdHJpbmcKIGVkaXRhYmxlTGlua0JlaGF2
aW9yIHR5cGU9RWRpdGFibGVMaW5rQmVoYXZpb3IsIGluaXRpYWw9RWRpdGFibGVMaW5rRGVmYXVs
dEJlaGF2aW9yCiB0ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yIHR5cGU9VGV4
dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvciwgaW5pdGlhbD1UZXh0RGlyZWN0aW9u
U3VibWVudUF1dG9tYXRpY2FsbHlJbmNsdWRlZAogcGRmSW1hZ2VDYWNoaW5nUG9saWN5IHR5cGU9
UERGSW1hZ2VDYWNoaW5nUG9saWN5LCBpbml0aWFsID0gUERGSW1hZ2VDYWNoaW5nRGVmYXVsdAot
cGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMgdHlwZT1kb3VibGUsIGluaXRpYWw9MQorcGFz
c3dvcmRFY2hvRHVyYXRpb24gdHlwZT1TZWNvbmRzLCBpbml0aWFsPTEKIAogIyBTZXRzIHRoZSBt
YWduaWZpY2F0aW9uIHZhbHVlIGZvciB2YWxpZGF0aW9uIG1lc3NhZ2UgdGltZXIuICBJZiB0aGUK
ICMgbWFnbmlmaWNhdGlvbiB2YWx1ZSBpcyBOLCBhIHZhbGlkYXRpb24gbWVzc2FnZSBkaXNhcHBl
YXJzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIKQEAgLTE0MCw3ICsxNDAsNyBAQCBtZWRpYUNvbnRyb2xz
U2NhbGVXaXRoUGFnZVpvb20gaW5pdGlhbD1kZWZhdWx0TWVkaWFDb250cm9sc1NjYWxlV2l0aFBh
Z2Vab29tCiBpbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCBpbml0aWFsPWZhbHNlCiBwYXNz
d29yZEVjaG9FbmFibGVkIGluaXRpYWw9ZmFsc2UKIHN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRl
cmluZyBpbml0aWFsPWZhbHNlCi1pbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dEluU2Vjb25kcyB0eXBlPWRvdWJsZSwgaW5pdGlhbD1kZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMKK2luY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJl
c3Npb25UaW1lb3V0IHR5cGU9U2Vjb25kcywgaW5pdGlhbD1kZWZhdWx0SW5jcmVtZW50YWxSZW5k
ZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQKIGJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkIGlu
aXRpYWw9dHJ1ZQogc2hvdWxkRGlzcGxheVN1YnRpdGxlcyBpbml0aWFsPWZhbHNlLCBjb25kaXRp
b25hbD1WSURFT19UUkFDSwogc2hvdWxkRGlzcGxheUNhcHRpb25zIGluaXRpYWw9ZmFsc2UsIGNv
bmRpdGlvbmFsPVZJREVPX1RSQUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1
c3BlbmRhYmxlVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVy
LmNwcAppbmRleCA3NjU4M2MxMmJhODI5MWFhYTZhZTRiYzVkZmRkNDZiMjRjNTc2NDM1Li5mM2Nl
YjczNTgxNDc0NjIyNmUyNjk3NDg2ZmFmOTYwYWI2NTcxOWNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3VzcGVuZGFibGVUaW1lci5jcHAKQEAgLTMzLDEwICszMyw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogU3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQotICAg
ICwgbV9zdXNwZW5kZWQoZmFsc2UpCi0gICAgLCBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCgwKQot
ICAgICwgbV9zYXZlZFJlcGVhdEludGVydmFsKDApCi0gICAgLCBtX3NhdmVkSXNBY3RpdmUoZmFs
c2UpCiB7CiB9CiAKQEAgLTEwMSw3ICs5Nyw3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6Y2Fu
Y2VsKCkKICAgICAgICAgbV9zdXNwZW5kZWQgPSBmYWxzZTsKIH0KIAotdm9pZCBTdXNwZW5kYWJs
ZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpCit2b2lkIFN1c3Bl
bmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAg
ICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjpzdGFydFJlcGVhdGluZyhy
ZXBlYXRJbnRlcnZhbCk7CkBAIC0xMTIsMjcgKzEwOCwyNyBAQCB2b2lkIFN1c3BlbmRhYmxlVGlt
ZXI6OnN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKICAgICB9CiB9CiAKLXZv
aWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQg
U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjpzdGFydE9uZVNob3QoaW50ZXJ2
YWwpOwogICAgIGVsc2UgewogICAgICAgICBtX3NhdmVkSXNBY3RpdmUgPSB0cnVlOwogICAgICAg
ICBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCA9IGludGVydmFsOwotICAgICAgICBtX3NhdmVkUmVw
ZWF0SW50ZXJ2YWwgPSAwOworICAgICAgICBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSBTZWNvbmRz
KDApOwogICAgIH0KIH0KIAotZG91YmxlIFN1c3BlbmRhYmxlVGltZXI6OnJlcGVhdEludGVydmFs
KCkgY29uc3QKK1NlY29uZHMgU3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwoKSBjb25z
dAogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIHJldHVybiBUaW1lckJhc2U6OnJl
cGVhdEludGVydmFsKCk7CiAgICAgaWYgKG1fc2F2ZWRJc0FjdGl2ZSkKICAgICAgICAgcmV0dXJu
IG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gU2Vjb25k
cygwKTsKIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50RmlyZUludGVydmFsKGRv
dWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChT
ZWNvbmRzIGRlbHRhKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVyQmFz
ZTo6YXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7CkBAIC0xNDEsMTEgKzEzNywxMSBAQCB2b2lk
IFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKQogICAg
IH0gZWxzZSB7CiAgICAgICAgIG1fc2F2ZWRJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2
ZWROZXh0RmlyZUludGVydmFsID0gZGVsdGE7Ci0gICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZh
bCA9IDA7CisgICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAgICAg
fQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3Vi
bGUgZGVsdGEpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChT
ZWNvbmRzIGRlbHRhKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVyQmFz
ZTo6YXVnbWVudFJlcGVhdEludGVydmFsKGRlbHRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5k
YWJsZVRpbWVyLmgKaW5kZXggZTE1ZjBhNzA5Mzc4NTBhM2E2OTAxZjcyMGM1ZGUxZjYwOTkxMzg2
NC4uMTM0NTc1MTg1MjRkZDIxMmE5MmI3Zjg1NTUxNzgxYTAzNjVkMTkzMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKQEAgLTQzLDE3ICs0MywxMiBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSB8
fCAobV9zdXNwZW5kZWQgJiYgbV9zYXZlZElzQWN0aXZlKTsgfQogICAgIGJvb2wgaXNTdXNwZW5k
ZWQoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRlZDsgfQogCi0gICAgdm9pZCBzdGFydFJlcGVh
dGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOwotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJs
ZSBpbnRlcnZhbCk7Ci0gICAgZG91YmxlIHJlcGVhdEludGVydmFsKCkgY29uc3Q7Ci0gICAgdm9p
ZCBhdWdtZW50RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSk7Ci0gICAgdm9pZCBhdWdtZW50UmVw
ZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRhKTsKKyAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29u
ZHMgcmVwZWF0SW50ZXJ2YWwpOworICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2
YWwpOworICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKIAotICAgIHZvaWQgc3Rh
cnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRlcnZhbCkpOyB9Ci0gICAgdm9pZCBz
dGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydE9u
ZVNob3QobXNUb1NlY29uZHMoaW50ZXJ2YWwpKTsgfQotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsgcmV0dXJuIHNlY29uZHNUb01TKHJlcGVh
dEludGVydmFsKCkpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChtc1RvU2Vjb25kcyhk
ZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVs
dGEpKTsgfQorICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKTsKKyAg
ICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKTsKIAogICAgIHVzaW5n
IFRpbWVyQmFzZTo6ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgdXNpbmcgVGltZXJC
YXNlOjpvcGVyYXRvciBuZXc7CkBAIC03MSwxMSArNjYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikgZmluYWw7CiAgICAgdm9pZCByZXN1bWUoKSBm
aW5hbDsKIAotICAgIGJvb2wgbV9zdXNwZW5kZWQ7CisgICAgU2Vjb25kcyBtX3NhdmVkTmV4dEZp
cmVJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKIAotICAgIGRv
dWJsZSBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbDsKLSAgICBkb3VibGUgbV9zYXZlZFJlcGVhdElu
dGVydmFsOwotICAgIGJvb2wgbV9zYXZlZElzQWN0aXZlOworICAgIGJvb2wgbV9zdXNwZW5kZWQg
eyBmYWxzZSB9OworICAgIGJvb2wgbV9zYXZlZElzQWN0aXZlIHsgZmFsc2UgfTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hl
ZWxFdmVudFRlc3RUcmlnZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRl
c3RUcmlnZ2VyLmNwcAppbmRleCAzOTg4N2YxMzUyMjk0MTJlM2YwMzUyM2RmNGI1OTdiY2UzNzYw
Yzc1Li5lZmJiMzZkZWE5NjkwZTEyYjhjYmZlNWI4M2UyZjVmOWMwMmJjYTQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCkBAIC02MCw3ICs2MCw3
IEBAIHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpzZXRUZXN0Q2FsbGJhY2tBbmRTdGFydE5v
dGlmaWNhdGlvblRpbWVyKHN0ZDo6ZnVuY3RpCiAgICAgfQogICAgIAogICAgIGlmICghbV90ZXN0
VHJpZ2dlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5zdGFy
dFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIH0KIAogdm9pZCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OmRlZmVyVGVzdHNGb3JSZWFzb24oU2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyIGlkZW50
aWZpZXIsIERlZmVyVGVzdFRyaWdnZXJSZWFzb24gcmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCA5YTQ2
ZGViNDExYWZjOWFjYWIxNGQ5ZTZjZDdhODFkYWQyZjc1Y2VkLi44OTY0Y2VjNzBiYTQ2ZjIzMTZj
ZTRjNTc1MjJjZGFkYTQyZTc5MzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDgsOCArNDgsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgY0FuaW1hdGlvblRpbWVy
RGVsYXkgPSAxLjAgLyA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgY0JlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZU5vdFNldCA9IC0xOworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJE
ZWxheSA9IFNlY29uZHMoMS4wIC8gNjApOworc3RhdGljIGNvbnN0IGRvdWJsZSBiZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKIAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0
ZUJsb2NrIHsKIHB1YmxpYzoKQEAgLTcxLDcgKzcxLDcgQEAgQW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lJiBmcmFtZSkKICAgICA6IG1f
YW5pbWF0aW9uVGltZXIoKnRoaXMsICZBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YW5pbWF0
aW9uVGltZXJGaXJlZCkKICAgICAsIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKnRo
aXMsICZBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlU3R5bGVJZk5lZWRlZERpc3Bh
dGNoZXJGaXJlZCkKICAgICAsIG1fZnJhbWUoZnJhbWUpCi0gICAgLCBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZShjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQorICAgICwgbV9iZWdp
bkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAg
ICwgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50KDApCiAgICAgLCBtX3dhaXRpbmdGb3JBc3lu
Y1N0YXJ0Tm90aWZpY2F0aW9uKGZhbHNlKQogICAgICwgbV9pc1N1c3BlbmRlZChmYWxzZSkKQEAg
LTE1MiwxMSArMTUyLDExIEBAIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBk
YXRlQW5pbWF0aW9ucyhTZXRDaGFuZ2VkIGNhbGxTZXRDaGFuZ2VkLyoKIAogdm9pZCBBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXJGb3JSZW5kZXJlcihSZW5k
ZXJFbGVtZW50JiByZW5kZXJlcikKIHsKLSAgICBkb3VibGUgdGltZVRvTmV4dFNlcnZpY2UgPSAw
OworICAgIFNlY29uZHMgdGltZVRvTmV4dFNlcnZpY2U7CiAKICAgICBjb25zdCBDb21wb3NpdGVB
bmltYXRpb24qIGNvbXBvc2l0ZUFuaW1hdGlvbiA9IG1fY29tcG9zaXRlQW5pbWF0aW9ucy5nZXQo
JnJlbmRlcmVyKTsKICAgICBpZiAoIWNvbXBvc2l0ZUFuaW1hdGlvbi0+aXNTdXNwZW5kZWQoKSAm
JiBjb21wb3NpdGVBbmltYXRpb24tPmhhc0FuaW1hdGlvbnMoKSkKLSAgICAgICAgdGltZVRvTmV4
dFNlcnZpY2UgPSBjb21wb3NpdGVBbmltYXRpb24tPnRpbWVUb05leHRTZXJ2aWNlKCk7CisgICAg
ICAgIHRpbWVUb05leHRTZXJ2aWNlID0gU2Vjb25kcyhjb21wb3NpdGVBbmltYXRpb24tPnRpbWVU
b05leHRTZXJ2aWNlKCkpOwogCiAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSAm
JiAobV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRlcnZhbCgpIHx8IG1fYW5pbWF0aW9uVGltZXIu
bmV4dEZpcmVJbnRlcnZhbCgpIDw9IHRpbWVUb05leHRTZXJ2aWNlKSkKICAgICAgICAgcmV0dXJu
OwpAQCAtMTY2LDE5ICsxNjYsMjAgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6
dXBkYXRlQW5pbWF0aW9uVGltZXJGb3JSZW5kZXJlcihSZW5kZXJFbGVtZW50JgogCiB2b2lkIEFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lcihTZXRDaGFuZ2Vk
IGNhbGxTZXRDaGFuZ2VkLyogPSBEb05vdENhbGxTZXRDaGFuZ2VkKi8pCiB7Ci0gICAgZG91Ymxl
IHRpbWVUb05leHRTZXJ2aWNlID0gdXBkYXRlQW5pbWF0aW9ucyhjYWxsU2V0Q2hhbmdlZCk7Cisg
ICAgLy8gRklYTUU6IE5lZWQgdG8gY29udmVydCByZXN0IG9mIGFuaW1hdGlvbnMgY29kZSB0byBT
ZWNvbmRzIGFuZCBNb25vdG9uaWNUaW1lLgorICAgIFNlY29uZHMgdGltZVRvTmV4dFNlcnZpY2Ug
PSBTZWNvbmRzKHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpKTsKIAotICAgIExPRyhB
bmltYXRpb25zLCAidXBkYXRlQW5pbWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUu
MmYiLCB0aW1lVG9OZXh0U2VydmljZSk7CisgICAgTE9HKEFuaW1hdGlvbnMsICJ1cGRhdGVBbmlt
YXRpb25UaW1lcjogdGltZVRvTmV4dFNlcnZpY2UgaXMgJS4yZm1zIiwgdGltZVRvTmV4dFNlcnZp
Y2UubWlsbGlzZWNvbmRzKCkpOwogCiAgICAgLy8gSWYgd2Ugd2FudCBzZXJ2aWNlIGltbWVkaWF0
ZWx5LCB3ZSBzdGFydCBhIHJlcGVhdGluZyB0aW1lciB0byByZWR1Y2UgdGhlIG92ZXJoZWFkIG9m
IHN0YXJ0aW5nCiAgICAgaWYgKCF0aW1lVG9OZXh0U2VydmljZSkgewotICAgICAgICBpZiAoIW1f
YW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSB8fCBtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVy
dmFsKCkgPT0gMCkKLSAgICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmco
Y0FuaW1hdGlvblRpbWVyRGVsYXkpOworICAgICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNB
Y3RpdmUoKSB8fCAhbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRlcnZhbCgpKQorICAgICAgICAg
ICAgbV9hbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhhbmltYXRpb25UaW1lckRlbGF5KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIElmIHdlIGRvbid0IG5lZWQgc2Vydmlj
ZSwgd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhlIHRpbWVyIGlzIG5vIGxvbmdlciBydW5uaW5nCi0g
ICAgaWYgKHRpbWVUb05leHRTZXJ2aWNlIDwgMCkgeworICAgIGlmICh0aW1lVG9OZXh0U2Vydmlj
ZSA8IFNlY29uZHMoMCkpIHsKICAgICAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgICAgICByZXR1cm47
CkBAIC0yMjIsNyArMjIzLDcgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6Zmly
ZUV2ZW50c0FuZFVwZGF0ZVN0eWxlKCkKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OnN0YXJ0VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKQogewogICAgIGlmICghbV91cGRh
dGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVN0
eWxlSWZOZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVT
dHlsZUlmTmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFkZEV2ZW50VG9EaXNwYXRjaChQYXNzUmVm
UHRyPEVsZW1lbnQ+IGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBlbGFwc2VkVGltZSkKQEAgLTM4NCw3ICszODUsNyBAQCBi
b29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUoUmVu
ZGVyRWxlbWVudCogcmVuZGVyZXIsCiBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OmJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpCiB7CiAgICAgQVNTRVJUKG1fYmVnaW5BbmltYXRp
b25VcGRhdGVDb3VudCk7Ci0gICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGNC
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgaWYgKG1fYmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lID09IGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAgICAgICAgbV9i
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
IAogICAgIHJldHVybiBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZTsKQEAgLTM5Myw3ICszOTQs
NyBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZSgpCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlv
blVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQpCi0gICAg
ICAgIHNldEJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKKyAgICAgICAgc2V0QmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0
aW9uVXBkYXRlVGltZU5vdFNldCk7CiAgICAgKyttX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQ7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBi
MDM1MjcwODkxZDBjMjY4OTkwMzYzYzRmZDBmNmQxNmEyNzFlMzY5Li4wZmNiYTRlYTYxYjcyMzIz
ZWE5NzIxMjZkYzIyMmVlZDhhM2M4ZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZl
bnRIYW5kbGVyTWFjLm1tCkBAIC03OCw3ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNv
bnN0IGRvdWJsZSBFdmVudEhhbmRsZXI6OlRleHREcmFnRGVsYXkgPSAwLjE1OwogI2VuZGlmCiAK
LWNvbnN0IGRvdWJsZSByZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQgPSAwLjE7Citjb25zdCBTZWNv
bmRzIHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkgPSBTZWNvbmRzKDAuMSk7CiAKIHN0YXRpYyBSZXRh
aW5QdHI8TlNFdmVudD4mIGN1cnJlbnROU0V2ZW50U2xvdCgpCiB7CkBAIC05MjQsNyArOTI0LDcg
QEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQoY29uc3QgUGxhdGZvcm1XaGUKICAgICAvLyByZXNldCB0aGUgbGF0Y2hlZCBzdGF0
ZS4gSWYgaXQgZG9lcywgc3RvcCB0aGUgdGltZXIsIGxlYXZpbmcgdGhlIGxhdGNoZWQgc3RhdGUg
dW50b3VjaGVkLgogICAgIGlmICghbV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2ZW50c1RpbWVyLmlz
QWN0aXZlKCkpIHsKICAgICAgICAgaWYgKGV2ZW50LmlzRW5kT2ZOb25Nb21lbnR1bVNjcm9sbCgp
KQotICAgICAgICAgICAgbV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2ZW50c1RpbWVyLnN0YXJ0T25l
U2hvdChyZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQpOworICAgICAgICAgICAgbV9wZW5kaW5nTW9t
ZW50dW1XaGVlbEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdChyZXNldExhdGNoZWRTdGF0ZURlbGF5
KTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBJZiBhbm90aGVyIHdoZWVsIGV2ZW50IHNjcm9s
bGluZyBzdGFydHMsIHN0b3AgdGhlIHRpbWVyIG1hbnVhbGx5LCBhbmQgcmVzZXQgdGhlIGxhdGNo
ZWQgc3RhdGUgaW1tZWRpYXRlbHkuCiAgICAgICAgIGlmIChldmVudC5zaG91bGRDb25zaWRlckxh
dGNoaW5nKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXIuaAppbmRleCA1NWU0ZDY1OTVlZWI2MDUzZjZhNmE5NDUwYjlkYWViODEy
OGM1MjcwLi4wYmIwOTgwMGY4ZmFlN2ExZTcyN2M5NDRkZWRkYjFmNmE1NjZkMjIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5o
CkBAIC0xMjIsNyArMTIyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1JlbGV2YW50U2VsZWN0
aW9uU2VydmljZXMoKTsKIAogICAgIGJvb2wgbW91c2VJc092ZXJIaWdobGlnaHQoSGlnaGxpZ2h0
JiwgYm9vbCYgbW91c2VJc092ZXJCdXR0b24pIGNvbnN0OwotICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGln
aHQqKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CiAgICAgdm9pZCBkZXRlcm1pbmVBY3RpdmVIaWdo
bGlnaHRUaW1lckZpcmVkKCk7CiAKICAgICBzdGF0aWMgYm9vbCBoaWdobGlnaHRzQXJlRXF1aXZh
bGVudChjb25zdCBIaWdobGlnaHQqIGEsIGNvbnN0IEhpZ2hsaWdodCogYik7CkBAIC0xNTEsOSAr
MTUxLDkgQEAgcHJpdmF0ZToKIAogICAgIEhpZ2hsaWdodDo6VHlwZSBtX2RpcnR5SGlnaGxpZ2h0
VHlwZXMgeyAwIH07CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50
IG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOwotICAgIHN0ZDo6
Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0TW91c2VVcFRpbWU7CisgICAg
TW9ub3RvbmljVGltZSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1Rp
bWUgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1f
bGFzdE1vdXNlVXBUaW1lOwogCiAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbV9jdXJyZW50TW91c2VE
b3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAgSW50UG9pbnQgbV9tb3VzZVBvc2l0aW9uOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
bW0KaW5kZXggOWE4MTViNWFlNTU5NjQ5OWJkZjYxNmVkNDIxMWI5YTUyMzgxNWU2Mi4uNWFmZjky
N2ViYmM2NGViMzlkYzk0ZDM4YjRkNjQ4ZjAwYzBmMGIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCkBAIC0zNjgsNyAr
MzY4LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpzZWxlY3Rpb25SZWN0c0Rp
ZENoYW5nZShjb25zdCBWZWN0b3I8TGF5b3V0UmVjdD4KICAgICBtX2N1cnJlbnRTZWxlY3Rpb25S
ZWN0cyA9IHJlY3RzOwogICAgIG1faXNUZXh0T25seSA9IGlzVGV4dE9ubHk7CiAKLSAgICBtX2xh
c3RTZWxlY3Rpb25DaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7
CisgICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwog
CiAgICAgY29tcGFjdFJlY3RzV2l0aEdhcFJlY3RzKG1fY3VycmVudFNlbGVjdGlvblJlY3RzLCBn
YXBSZWN0cyk7CiAKQEAgLTM5MSw3ICszOTEsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKEhpZ2hsaWdodDo6VHlwZSB0eXBlKQog
ICAgICAgICByZXR1cm47CiAKICAgICBtX2RpcnR5SGlnaGxpZ2h0VHlwZXMgfD0gdHlwZTsKLSAg
ICBtX2J1aWxkSGlnaGxpZ2h0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2J1aWxkSGln
aGxpZ2h0c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyOjpidWlsZFBvdGVudGlhbEhpZ2hsaWdodHNJZk5lZWRlZCgpCkBA
IC00MzMsMTUgKzQzMywxNSBAQCBib29sIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNl
SXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYgaGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBo
b3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxp
Z2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdo
bGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFoaWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7
CisgICAgICAgIHJldHVybiBTZWNvbmRzKDApOwogCi0gICAgYXV0byBtaW5pbXVtVGltZVVudGls
SGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDIwMG1zOworICAgIFNlY29uZHMgbWluaW11bVRpbWVV
bnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSBTZWNvbmRzKDAuMik7CiAgICAgUGFnZSogcGFn
ZSA9IG1fbWFpbkZyYW1lLnBhZ2UoKTsKICAgICBpZiAocGFnZSAmJiBwYWdlLT5mb2N1c0NvbnRy
b2xsZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5pc0Nv
bnRlbnRFZGl0YWJsZSgpKQotICAgICAgICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxk
QmVTaG93biA9IDEwMDBtczsKKyAgICAgICAgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24gPSBTZWNvbmRzKDEpOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQgPSBtX21haW5G
cmFtZS5ldmVudEhhbmRsZXIoKS5tb3VzZVByZXNzZWQoKTsKIApAQCAtNDQ5LDE1ICs0NDksMTQg
QEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpy
ZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICAvLyBieSB2aXJ0dWUgb2YgYmVpbmcgZXhw
YW5kZWQgdG8gaW5jbHVkZSB0aGUgZW50aXJlIHRlbGVwaG9uZSBudW1iZXIuIEhvd2V2ZXIsIHdl
IHdpbGwgc3RpbGwgYXZvaWQgaGlnaGxpZ2h0aW5nCiAgICAgLy8gdGVsZXBob25lIG51bWJlcnMg
d2hpbGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgaWYgKGhpZ2hsaWdodC0+dHlwZSgpID09IEhp
Z2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSkKLSAgICAgICAgcmV0dXJuIG1vdXNlUHJlc3Nl
ZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMG1zOworICAgICAg
ICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24gOiBTZWNvbmRzKDApOwogCi0gICAgYXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5
X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAg
IGF1dG8gdGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSA9IG5vdyAtIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWU7CiAgICAgYXV0byB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUgPSBu
b3cgLSBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOwotICAgIGF1dG8gdGltZVNpbmNl
TGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwbXMgOiBub3cgLSBtX2xhc3RNb3VzZVVwVGlt
ZTsKKyAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91c2VQcmVzc2VkID8gU2Vjb25k
cygwKSA6IG5vdyAtIG1fbGFzdE1vdXNlVXBUaW1lOwogCi0gICAgYXV0byByZW1haW5pbmdEZWxh
eSA9IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIC0gc3RkOjptaW4oc3Rk
OjptaW4odGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSwgdGltZVNpbmNlSGlnaGxpZ2h0QmVj
YW1lQWN0aXZlKSwgdGltZVNpbmNlTGFzdE1vdXNlVXApOwotICAgIHJldHVybiBzdGQ6OmNocm9u
bzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihyZW1haW5pbmdEZWxh
eSk7CisgICAgcmV0dXJuIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIC0g
c3RkOjptaW4oc3RkOjptaW4odGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSwgdGltZVNpbmNl
SGlnaGxpZ2h0QmVjYW1lQWN0aXZlKSwgdGltZVNpbmNlTGFzdE1vdXNlVXApOwogfQogCiB2b2lk
IFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVy
RmlyZWQoKQpAQCAtNzIzLDcgKzcyMiw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAgICAg
ICAgIC8vIGhpZ2hsaWdodCwgYW5kIG9ubHkgcmVzZXQgdGhlIGFjdGl2ZSBoaWdobGlnaHQgaHlz
dGVyZXNpcyB3aGVuIHRoYXQgY2hhbmdlcy4KICAgICAgICAgaWYgKG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodCAhPSBuZXdBY3RpdmVIaWdobGlnaHQpIHsKICAgICAgICAgICAgIG1fbmV4dEFjdGl2ZUhp
Z2hsaWdodCA9IG5ld0FjdGl2ZUhpZ2hsaWdodDsKLSAgICAgICAgICAgIG1fbmV4dEFjdGl2ZUhp
Z2hsaWdodENoYW5nZVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAg
ICAgICAgICAgIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICAgICAgfQogCiAgICAgICAgIG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9u
SGlnaGxpZ2h0ID0gbnVsbHB0cjsKQEAgLTczNCw3ICs3MzMsNyBAQCB2b2lkIFNlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXI6OmRldGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3Zl
ckFjdGl2ZQogICAgICAgICB9CiAKICAgICAgICAgYXV0byByZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID0gdGhpcy0+cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hv
dWxkQmVTaG93bihuZXdBY3RpdmVIaWdobGlnaHQuZ2V0KCkpOwotICAgICAgICBpZiAocmVtYWlu
aW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA+IHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkpIHsKKyAgICAgICAgaWYgKHJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiBTZWNvbmRzKDApKSB7CiAgICAgICAgICAgICBtX2Rl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyLnN0YXJ0T25lU2hvdChyZW1haW5pbmdUaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQpAQCAtNzY2LDcgKzc2NSw3IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91
c2VFdmVudChQYWdlT3ZlcmxheSYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVuCiAgICAgICAgIFJl
ZlB0cjxIaWdobGlnaHQ+IG1vdXNlRG93bkhpZ2hsaWdodCA9IG1fY3VycmVudE1vdXNlRG93bk9u
QnV0dG9uSGlnaGxpZ2h0OwogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hs
aWdodCA9IG51bGxwdHI7CiAKLSAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBNb25v
dG9uaWNUaW1lOjpub3coKTsKIAogICAgICAgICBpZiAobW91c2VJc092ZXJBY3RpdmVIaWdobGln
aHRCdXR0b24gJiYgbW91c2VEb3duSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBoYW5kbGVDbGlj
ayhtX21vdXNlUG9zaXRpb24sICptb3VzZURvd25IaWdobGlnaHQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTRlMjBkMjI3NjhjODgy
ZTkwMGIxMmI0MWZlMDJlY2RmYjQ4ZjYyOC4uNTA0NGVhZjYyMDRhM2JjMmI4ZGRlNmFlNGE4NTk5
YWI1MTE2YjFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGlj
YXRvcldpbmRvdy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9y
V2luZG93Lm1tCkBAIC00NzUsNyArNDc1LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93Ojpz
ZXRUZXh0SW5kaWNhdG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAg
ICAgICAgW21fdGV4dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUg
PT0gVGV4dEluZGljYXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVt
cG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0
cyk7CisgICAgICAgIG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzKHRpbWVCZWZvcmVGYWRlU3RhcnRzKSk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldp
bmRvdzo6Y2xvc2VXaW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCA4NWE2NDcyZWNl
MjExZmYyMDA4MGQzN2E1MmVhZTE5MGE5MTA5NzQwLi5iZWI4NWJlZGVhNzJkZGYzNDdlM2Q5ODY1
ZTcxZWRiYTVmMTkzZjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjU3LDcgKzI1Nyw3
IEBAIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQ
b3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3Jv
bGxVcGRhdGUgPSBzY3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25U
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvcjo6dXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Ny
b2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KaW5kZXggNGNjZjQ0NDI5Zjk5ZTEwOWY4NzU1Yjk0NjAx
MjZiYmNhN2U1YjllYS4uNmVmYmVmNzAzMGNkY2ZlMDM1NjM0ODU4NGFhMGFjMzkyMGViODU2NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nv
b3JkaW5hdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9T
Y3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQpAQCAtODYsNyArODYsNyBAQCB2b2lkIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Ny
b2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OmNvbW1pdFRy
ZWVTdGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggZDQzZDk0YjI0N2E2ZTRmOTM5
NzQxNTgyNjE5N2MyYjBhZGYwNzE0OC4uNTBjNDFiMjUxMzdmZDI5NTRlOGNjMWUxMWRmZTJmNTE2
MDA0MDY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTAzLDcgKzEwMyw3IEBAIHZv
aWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAg
ICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1h
Yzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFiNDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWVi
Mi4uYmRhNGIyMjgwNzk1MWI4ZGZhYmM3YzYxMDYzYmNlYTQyYTY2ZTY2ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAg
dm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RUYXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBm
dW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBlbmQoV1RGTW92ZShmdW5jdGlvbikpOwog
ICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZChtX3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdl
YWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigpLmlzQWN0aXZlKCkpCi0gICAgICAgIHNo
YXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAgICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0
T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogVGltZXImIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6
c2hhcmVkVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVy
ZXNpc0FjdGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZp
dHkuaAppbmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi5iMjVl
ZGRmYTQ0YTdiNTg5MTU2MWY0NTRiNmFjZjcyNzMwYWUyNmZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtMzAsNyArMzAsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdEh5c3RlcmVzaXNT
ZWNvbmRzID0gNS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgRGVmYXVsdEh5c3RlcmVzaXNJbnRl
cnZhbCA9IFNlY29uZHMoNS4wKTsKIAogZW51bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgewogICAg
IFN0YXJ0ZWQsCkBAIC0zOSw5ICszOSw5IEBAIGVudW0gY2xhc3MgSHlzdGVyZXNpc1N0YXRlIHsK
IAogY2xhc3MgSHlzdGVyZXNpc0FjdGl2aXR5IHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBIeXN0
ZXJlc2lzQWN0aXZpdHkoc3RkOjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IGNhbGxi
YWNrID0gW10oSHlzdGVyZXNpc1N0YXRlKSB7IH0sIGRvdWJsZSBoeXN0ZXJlc2lzU2Vjb25kcyA9
IERlZmF1bHRIeXN0ZXJlc2lzU2Vjb25kcykKKyAgICBleHBsaWNpdCBIeXN0ZXJlc2lzQWN0aXZp
dHkoc3RkOjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IGNhbGxiYWNrID0gW10oSHlz
dGVyZXNpc1N0YXRlKSB7IH0sIFNlY29uZHMgaHlzdGVyZXNpc0ludGVydmFsID0gRGVmYXVsdEh5
c3RlcmVzaXNJbnRlcnZhbCkKICAgICAgICAgOiBtX2NhbGxiYWNrKGNhbGxiYWNrKQotICAgICAg
ICAsIG1faHlzdGVyZXNpc1NlY29uZHMoaHlzdGVyZXNpc1NlY29uZHMpCisgICAgICAgICwgbV9o
eXN0ZXJlc2lzSW50ZXJ2YWwoaHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICAsIG1fYWN0aXZl
KGZhbHNlKQogICAgICAgICAsIG1fdGltZXIoKnRoaXMsICZIeXN0ZXJlc2lzQWN0aXZpdHk6Omh5
c3RlcmVzaXNUaW1lckZpcmVkKQogICAgIHsKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICBtX2FjdGl2ZSA9IGZhbHNlOwogCi0gICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc1NlY29uZHMpOworICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdChtX2h5c3RlcmVzaXNJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgdm9pZCBp
bXB1bHNlKCkKQEAgLTg5LDcgKzg5LDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBzdGQ6OmZ1
bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gbV9jYWxsYmFjazsKLSAgICBkb3VibGUgbV9o
eXN0ZXJlc2lzU2Vjb25kczsKKyAgICBTZWNvbmRzIG1faHlzdGVyZXNpc0ludGVydmFsOwogICAg
IGJvb2wgbV9hY3RpdmU7CiAgICAgVGltZXIgbV90aW1lcjsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYmFyLmNwcAppbmRleCA4ODE4MWQzMDU3ZjQ2ODk0ZGZlYjlhOTc3YTU2NzA2NjE2
NDUzNTdjLi5mMDllOTRiMDlmMDYxNTM1ZTc5OGEwZDBlODAwZTM4YmY2ZDk0MjlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKQEAgLTE4Myw3ICsxODMsNyBAQCBzdGF0aWMg
Ym9vbCB0aHVtYlVuZGVyTW91c2UoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiAgICAgcmV0dXJuIHNj
cm9sbGJhci0+cHJlc3NlZFBvcygpID49IHRodW1iUG9zICYmIHNjcm9sbGJhci0+cHJlc3NlZFBv
cygpIDwgdGh1bWJQb3MgKyB0aHVtYkxlbmd0aDsKIH0KIAotdm9pZCBTY3JvbGxiYXI6OmF1dG9z
Y3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCit2b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9s
bFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpCiB7CiAgICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcg
Zm9yIHRoZSB0aHVtYiBvciBpZiBub3RoaW5nIHdhcyBwcmVzc2VkLgogICAgIGlmIChtX3ByZXNz
ZWRQYXJ0ID09IFRodW1iUGFydCB8fCBtX3ByZXNzZWRQYXJ0ID09IE5vUGFydCkKQEAgLTIwMSw3
ICsyMDEsNyBAQCB2b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBk
ZWxheSkKICAgICAgICAgc3RhcnRUaW1lcklmTmVlZGVkKGRlbGF5KTsKIH0KIAotdm9pZCBTY3Jv
bGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVsYXkpCit2b2lkIFNjcm9sbGJhcjo6
c3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpCiB7CiAgICAgLy8gRG9uJ3QgZG8gYW55
dGhpbmcgZm9yIHRoZSB0aHVtYi4KICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBUaHVtYlBhcnQp
CkBAIC0yMjUsNyArMjI1LDcgQEAgdm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZChk
b3VibGUgZGVsYXkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9zY3JvbGxU
aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKIH0KIAogdm9pZCBTY3JvbGxiYXI6OnN0b3BUaW1lcklmTmVlZGVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKaW5kZXggZjg2YTk2MmFmZTAyYjUyNjAz
OGJkN2Q1ZWRkZWE5NjRiYmE2ZjcxYS4uYTIzNmM3ZThlYjEyN2FlYTM3NTY1MjNlYmVjNDFmOTkz
YTlhNWM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKQEAgLTE0NCw5ICsxNDQs
OSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRodW1iUHJvcG9ydGlvbigp
OwogCiAgICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJlZCgpOwotICAgIHZvaWQgc3RhcnRUaW1l
cklmTmVlZGVkKGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoU2Vj
b25kcyBkZWxheSk7CiAgICAgdm9pZCBzdG9wVGltZXJJZk5lZWRlZCgpOwotICAgIHZvaWQgYXV0
b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBhdXRvc2Nyb2xsUHJl
c3NlZFBhcnQoU2Vjb25kcyBkZWxheSk7CiAgICAgU2Nyb2xsRGlyZWN0aW9uIHByZXNzZWRQYXJ0
U2Nyb2xsRGlyZWN0aW9uKCk7CiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkgcHJlc3NlZFBhcnRTY3Jv
bGxHcmFudWxhcml0eSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUu
aAppbmRleCA3MjUyOTQyYjBjYWNiYTRhMGUzYTBkZmI0NzYxZGQ0YTY1NzVlZGJjLi4yNjkwNDI3
ZDA3N2IwYzNkNjhjN2NhNzU4M2ZkODdjNmYzN2Y5YzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTEwNSw4ICsxMDUsOCBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIGludCBtYXhPdmVybGFwQmV0d2VlblBhZ2VzKCkgeyByZXR1cm4gc3RkOjpudW1lcmlj
X2xpbWl0czxpbnQ+OjptYXgoKTsgfQogCi0gICAgdmlydHVhbCBkb3VibGUgaW5pdGlhbEF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4yNTsgfQotICAgIHZpcnR1YWwgZG91YmxlIGF1
dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4wNTsgfQorICAgIHZpcnR1YWwgU2Vjb25k
cyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiBTZWNvbmRzKDAuMjUpOyB9
CisgICAgdmlydHVhbCBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gU2Vj
b25kcygwLjA1KTsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9s
bGJhciYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJh
ciYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggMzU4NjNiYzgyMDE0YzM5NzdjM2M2
OTRmYTQyNzZjMDU0MTFlZjFiMS4uNmZkNTUzMTlmZGVmN2ZjNDEwNzk2ZTMyNWIzZTEyOGUyZWJh
NDIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250LCBGb250RGVzY3Jp
cHRpb24mKSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAgCiAgICAgLy8gSG93
IGZhc3QgdGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2aXJ0dWFsIGRvdWJs
ZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFs
IFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gU2Vjb25kcygwLjUp
OyB9CiAKICAgICAvLyBOb3RpZmljYXRpb24gd2hlbiB0aGUgdGhlbWUgaGFzIGNoYW5nZWQKICAg
ICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFuZ2VkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhyZWFkVGltZXJzLmNwcAppbmRleCBlM2Q2NWVhYmJlNDU5ZDNiN2FlZmQxNmQyMzFhYTEwZmNm
ZGJjYTQ0Li41NDI1YzQ5YTRjYjZlNGU3MDIzZTkwMDczYWQwMjA0ZjcwOTYxMzMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KIAogI2lm
IFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJXZWJDb3JlVGhyZWFkLmgiCkBAIC00Myw3ICs0NCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEZpcmUgdGltZXJzIGZvciB0aGlzIGxlbmd0aCBv
ZiB0aW1lLCBhbmQgdGhlbiBxdWl0IHRvIGxldCB0aGUgcnVuIGxvb3AgcHJvY2VzcyB1c2VyIGlu
cHV0IGV2ZW50cy4KIC8vIDEwMG1zIGlzIGFib3V0IGEgcGVyY2VwdGFibGUgZGVsYXkgaW4gVUks
IHNvIHVzZSBhIGhhbGYgb2YgdGhhdCBhcyBhIHRocmVzaG9sZC4KIC8vIFRoaXMgaXMgdG8gcHJl
dmVudCBVSSBmcmVlemUgd2hlbiB0aGVyZSBhcmUgdG9vIG1hbnkgdGltZXJzIG9yIG1hY2hpbmUg
cGVyZm9ybWFuY2UgaXMgbG93Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhEdXJhdGlvbk9mRmly
aW5nVGltZXJzID0gMC4wNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhEdXJhdGlvbk9mRmly
aW5nVGltZXJzID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyg1MCk7CiAKIC8vIFRpbWVycyBh
cmUgY3JlYXRlZCwgc3RhcnRlZCBhbmQgZmlyZWQgb24gdGhlIHNhbWUgdGhyZWFkLCBhbmQgZWFj
aCB0aHJlYWQgaGFzIGl0cyBvd24gVGhyZWFkVGltZXJzCiAvLyBjb3B5IHRvIGtlZXAgdGhlIGhl
YXAgYW5kIGEgc2V0IG9mIGN1cnJlbnRseSBmaXJpbmcgdGltZXJzLgpAQCAtNTEsNyArNTIsNiBA
QCBzdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsK
IFRocmVhZFRpbWVyczo6VGhyZWFkVGltZXJzKCkKICAgICA6IG1fc2hhcmVkVGltZXIoMCkKICAg
ICAsIG1fZmlyaW5nVGltZXJzKGZhbHNlKQotICAgICwgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJl
VGltZSgwKQogewogICAgIGlmIChpc1VJVGhyZWFkKCkpCiAgICAgICAgIHNldFNoYXJlZFRpbWVy
KCZNYWluVGhyZWFkU2hhcmVkVGltZXI6OnNpbmdsZXRvbigpKTsKQEAgLTY0LDcgKzY0LDcgQEAg
dm9pZCBUaHJlYWRUaW1lcnM6OnNldFNoYXJlZFRpbWVyKFNoYXJlZFRpbWVyKiBzaGFyZWRUaW1l
cikKICAgICBpZiAobV9zaGFyZWRUaW1lcikgewogICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRG
aXJlZEZ1bmN0aW9uKG51bGxwdHIpOwogICAgICAgICBtX3NoYXJlZFRpbWVyLT5zdG9wKCk7Ci0g
ICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgICAgICBtX3BlbmRp
bmdTaGFyZWRUaW1lckZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgIH0KICAgICAKICAg
ICBtX3NoYXJlZFRpbWVyID0gc2hhcmVkVGltZXI7CkBAIC04MSwxOCArODEsMTggQEAgdm9pZCBU
aHJlYWRUaW1lcnM6OnVwZGF0ZVNoYXJlZFRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAKICAgICBpZiAobV9maXJpbmdUaW1lcnMgfHwgbV90aW1lckhlYXAuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgICAgICBtX3BlbmRp
bmdTaGFyZWRUaW1lckZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgICAgICBtX3NoYXJl
ZFRpbWVyLT5zdG9wKCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91YmxlIG5leHRGaXJlVGlt
ZSA9IG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lOwotICAgICAgICBkb3VibGUg
Y3VycmVudE1vbm90b25pY1RpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICAgICAgTW9ub3RvbmljVGltZSBuZXh0RmlyZVRpbWUgPSBtX3RpbWVySGVhcC5maXJzdCgpLT5t
X25leHRGaXJlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBjdXJyZW50TW9ub3RvbmljVGlt
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGlt
ZXJGaXJlVGltZSkgewogICAgICAgICAgICAgLy8gTm8gbmVlZCB0byByZXN0YXJ0IHRoZSB0aW1l
ciBpZiBib3RoIHRoZSBwZW5kaW5nIGZpcmUgdGltZSBhbmQgdGhlIG5ldyBmaXJlIHRpbWUgYXJl
IGluIHRoZSBwYXN0LgogICAgICAgICAgICAgaWYgKG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPD0gY3VycmVudE1vbm90b25pY1RpbWUgJiYgbmV4dEZpcmVUaW1lIDw9IGN1cnJlbnRNb25v
dG9uaWNUaW1lKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfSAKICAgICAgICAg
bV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IG5leHRGaXJlVGltZTsKLSAgICAgICAgbV9z
aGFyZWRUaW1lci0+c2V0RmlyZUludGVydmFsKFNlY29uZHMoc3RkOjptYXgobmV4dEZpcmVUaW1l
IC0gY3VycmVudE1vbm90b25pY1RpbWUsIDAuMCkpKTsKKyAgICAgICAgbV9zaGFyZWRUaW1lci0+
c2V0RmlyZUludGVydmFsKHN0ZDo6bWF4PFNlY29uZHM+KG5leHRGaXJlVGltZSAtIGN1cnJlbnRN
b25vdG9uaWNUaW1lLCBTZWNvbmRzKDApKSk7CiAgICAgfQogfQogCkBAIC0xMDMsMjUgKzEwMywy
NSBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2hhcmVkVGltZXJGaXJlZEludGVybmFsKCkKICAgICBp
ZiAobV9maXJpbmdUaW1lcnMpCiAgICAgICAgIHJldHVybjsKICAgICBtX2ZpcmluZ1RpbWVycyA9
IHRydWU7Ci0gICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgbV9wZW5k
aW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsKIAotICAgIGRvdWJsZSBm
aXJlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIGRvdWJsZSB0aW1l
VG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzOworICAgIE1vbm90
b25pY1RpbWUgZmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICBNb25vdG9uaWNU
aW1lIHRpbWVUb1F1aXQgPSBmaXJlVGltZSArIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnM7CiAK
ICAgICB3aGlsZSAoIW1fdGltZXJIZWFwLmlzRW1wdHkoKSAmJiBtX3RpbWVySGVhcC5maXJzdCgp
LT5tX25leHRGaXJlVGltZSA8PSBmaXJlVGltZSkgewogICAgICAgICBUaW1lckJhc2UqIHRpbWVy
ID0gbV90aW1lckhlYXAuZmlyc3QoKTsKLSAgICAgICAgdGltZXItPm1fbmV4dEZpcmVUaW1lID0g
MDsKLSAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gMDsKKyAgICAgICAg
dGltZXItPm1fbmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgpOworICAgICAgICB0aW1lci0+
bV91bmFsaWduZWROZXh0RmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgIHRpbWVy
LT5oZWFwRGVsZXRlTWluKCk7CiAKLSAgICAgICAgZG91YmxlIGludGVydmFsID0gdGltZXItPnJl
cGVhdEludGVydmFsKCk7Ci0gICAgICAgIHRpbWVyLT5zZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwg
PyBmaXJlVGltZSArIGludGVydmFsIDogMCk7CisgICAgICAgIFNlY29uZHMgaW50ZXJ2YWwgPSB0
aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsKKyAgICAgICAgdGltZXItPnNldE5leHRGaXJlVGltZShp
bnRlcnZhbCA/IGZpcmVUaW1lICsgaW50ZXJ2YWwgOiBNb25vdG9uaWNUaW1lKCkpOwogCiAgICAg
ICAgIC8vIE9uY2UgdGhlIHRpbWVyIGhhcyBiZWVuIGZpcmVkLCBpdCBtYXkgYmUgZGVsZXRlZCwg
c28gZG8gbm90aGluZyBlbHNlIHdpdGggaXQgYWZ0ZXIgdGhpcyBwb2ludC4KICAgICAgICAgdGlt
ZXItPmZpcmVkKCk7CiAKICAgICAgICAgLy8gQ2F0Y2ggdGhlIGNhc2Ugd2hlcmUgdGhlIHRpbWVy
IGFza2VkIHRpbWVycyB0byBmaXJlIGluIGEgbmVzdGVkIGV2ZW50IGxvb3AsIG9yIHdlIGFyZSBv
dmVyIHRpbWUgbGltaXQuCi0gICAgICAgIGlmICghbV9maXJpbmdUaW1lcnMgfHwgdGltZVRvUXVp
dCA8IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKQorICAgICAgICBpZiAoIW1fZmlyaW5n
VGltZXJzIHx8IHRpbWVUb1F1aXQgPCBNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAgICAgICAg
IGJyZWFrOwogICAgIH0KIApAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgVGhyZWFkVGltZXJzOjpm
aXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3AoKQogCiAgICAgaWYgKG1fc2hhcmVkVGltZXIpIHsK
ICAgICAgICAgbV9zaGFyZWRUaW1lci0+aW52YWxpZGF0ZSgpOwotICAgICAgICBtX3BlbmRpbmdT
aGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJl
VGltZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICB9CiAKICAgICB1cGRhdGVTaGFyZWRUaW1lcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBlYWJjNGQxMjFlODI2
NjYyZTlhYmIzMDRlMzgzZjE3YjFlNzI5YTk3Li5jZjU4YzkxN2E5NWNlMzY3MmMxNmI3ZTZlYzY5
MTczOWE4OTAzYTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRU
aW1lcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAt
MjcsNiArMjcsNyBAQAogI2lmbmRlZiBUaHJlYWRUaW1lcnNfaAogI2RlZmluZSBUaHJlYWRUaW1l
cnNfaAogCisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU2LDcgKzU3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBWZWN0b3I8VGltZXJCYXNlKj4gbV90aW1lckhl
YXA7CiAgICAgICAgIFNoYXJlZFRpbWVyKiBtX3NoYXJlZFRpbWVyOyAvLyBFeHRlcm5hbCBvYmpl
Y3QsIGNhbiBiZSBhIHJ1biBsb29wIG9uIGEgd29ya2VyIHRocmVhZC4gTm9ybWFsbHkgc2V0L3Jl
c2V0IGJ5IHdvcmtlciB0aHJlYWQuCiAgICAgICAgIGJvb2wgbV9maXJpbmdUaW1lcnM7IC8vIFJl
ZW50cmFuY3kgZ3VhcmQuCi0gICAgICAgIGRvdWJsZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVU
aW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWU7
CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCmluZGV4IGNkNTk0ZmU3Y2M1
NTg5MTI5NDc0NjM5NzZkOGQxODVmOTExMTRiYmEuLmZiYzg3NjkwODhjZDFjM2Y5ZjNjODBiMWVl
MzFkNDA2NDY2ZDdmMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKQEAgLTE3Miw4ICsx
NzIsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigp
KGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQogewogICAgIC8vIFRoZSBjb21wYXJpc29u
cyBiZWxvdyBhcmUgImJhY2t3YXJkcyIgYmVjYXVzZSB0aGUgaGVhcCBwdXRzIHRoZSBsYXJnZXN0
IAogICAgIC8vIGVsZW1lbnQgZmlyc3QgYW5kIHdlIHdhbnQgdGhlIGxvd2VzdCB0aW1lIHRvIGJl
IHRoZSBmaXJzdCBvbmUgaW4gdGhlIGhlYXAuCi0gICAgZG91YmxlIGFGaXJlVGltZSA9IGEtPm1f
bmV4dEZpcmVUaW1lOwotICAgIGRvdWJsZSBiRmlyZVRpbWUgPSBiLT5tX25leHRGaXJlVGltZTsK
KyAgICBNb25vdG9uaWNUaW1lIGFGaXJlVGltZSA9IGEtPm1fbmV4dEZpcmVUaW1lOworICAgIE1v
bm90b25pY1RpbWUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRpbWU7CiAgICAgaWYgKGJGaXJl
VGltZSAhPSBhRmlyZVRpbWUpCiAgICAgICAgIHJldHVybiBiRmlyZVRpbWUgPCBhRmlyZVRpbWU7
CiAgICAgCkBAIC0xODYsMTEgKzE4Niw4IEBAIGlubGluZSBib29sIFRpbWVySGVhcExlc3NUaGFu
RnVuY3Rpb246Om9wZXJhdG9yKCkoY29uc3QgVGltZXJCYXNlKiBhLCBjb25zdCBUaW1lCiAvLyAt
LS0tLS0tLS0tLS0tLS0tCiAKIFRpbWVyQmFzZTo6VGltZXJCYXNlKCkKLSAgICA6IG1fbmV4dEZp
cmVUaW1lKDApCi0gICAgLCBtX3VuYWxpZ25lZE5leHRGaXJlVGltZSgwKQotICAgICwgbV9yZXBl
YXRJbnRlcnZhbCgwKQotICAgICwgbV9oZWFwSW5kZXgoLTEpCi0gICAgLCBtX2NhY2hlZFRocmVh
ZEdsb2JhbFRpbWVySGVhcCgwKQorICAgIDogbV9oZWFwSW5kZXgoLTEpCisgICAgLCBtX2NhY2hl
ZFRocmVhZEdsb2JhbFRpbWVySGVhcChudWxscHRyKQogI2lmbmRlZiBOREVCVUcKICAgICAsIG1f
dGhyZWFkKGN1cnJlbnRUaHJlYWQoKSkKICAgICAsIG1fd2FzRGVsZXRlZChmYWxzZSkKQEAgLTIw
NywzMiArMjA0LDMyIEBAIFRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAjZW5kaWYKIH0KIAotdm9p
ZCBUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpCit2b2lkIFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFs
LCBTZWNvbmRzIHJlcGVhdEludGVydmFsKQogewogICAgIEFTU0VSVChjYW5BY2Nlc3NUaHJlYWRM
b2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKIAogICAgIG1fcmVwZWF0SW50ZXJ2YWwgPSBy
ZXBlYXRJbnRlcnZhbDsKLSAgICBzZXROZXh0RmlyZVRpbWUobW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgKyBuZXh0RmlyZUludGVydmFsKTsKKyAgICBzZXROZXh0RmlyZVRpbWUoTW9ub3Rv
bmljVGltZTo6bm93KCkgKyBuZXh0RmlyZUludGVydmFsKTsKIH0KIAogdm9pZCBUaW1lckJhc2U6
OnN0b3AoKQogewogICAgIEFTU0VSVChjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQo
bV90aHJlYWQpKTsKIAotICAgIG1fcmVwZWF0SW50ZXJ2YWwgPSAwOwotICAgIHNldE5leHRGaXJl
VGltZSgwKTsKKyAgICBtX3JlcGVhdEludGVydmFsID0gU2Vjb25kcygwKTsKKyAgICBzZXROZXh0
RmlyZVRpbWUoTW9ub3RvbmljVGltZSgpKTsKIAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9
PSAwKTsKLSAgICBBU1NFUlQobV9yZXBlYXRJbnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1f
bmV4dEZpcmVUaW1lKTsKKyAgICBBU1NFUlQoIW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VS
VCghaW5IZWFwKCkpOwogfQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkg
Y29uc3QKK1NlY29uZHMgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAg
ICBBU1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKICAgICBpZiAobV9uZXh0RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIFNlY29uZHMoMCk7CiAgICAgcmV0dXJuIG1fbmV4dEZp
cmVUaW1lIC0gY3VycmVudDsKIH0KIApAQCAtMjQ4LDE0ICsyNDUsMTQgQEAgaW5saW5lIHZvaWQg
VGltZXJCYXNlOjpjaGVja0hlYXBJbmRleCgpIGNvbnN0CiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6
OmNoZWNrQ29uc2lzdGVuY3koKSBjb25zdAogewogICAgIC8vIFRpbWVycyBzaG91bGQgYmUgaW4g
dGhlIGhlYXAgaWYgYW5kIG9ubHkgaWYgdGhleSBoYXZlIGEgbm9uLXplcm8gbmV4dCBmaXJlIHRp
bWUuCi0gICAgQVNTRVJUKGluSGVhcCgpID09IChtX25leHRGaXJlVGltZSAhPSAwKSk7CisgICAg
QVNTRVJUKGluSGVhcCgpID09ICEhbV9uZXh0RmlyZVRpbWUpOwogICAgIGlmIChpbkhlYXAoKSkK
ICAgICAgICAgY2hlY2tIZWFwSW5kZXgoKTsKIH0KIAogdm9pZCBUaW1lckJhc2U6OmhlYXBEZWNy
ZWFzZUtleSgpCiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lICE9IDApOworICAgIEFTU0VS
VChtX25leHRGaXJlVGltZSk7CiAgICAgY2hlY2tIZWFwSW5kZXgoKTsKICAgICBUaW1lckJhc2Uq
KiBoZWFwRGF0YSA9IHRpbWVySGVhcCgpLmRhdGEoKTsKICAgICBwdXNoX2hlYXAoVGltZXJIZWFw
SXRlcmF0b3IoaGVhcERhdGEpLCBUaW1lckhlYXBJdGVyYXRvcihoZWFwRGF0YSArIG1faGVhcElu
ZGV4ICsgMSksIFRpbWVySGVhcExlc3NUaGFuRnVuY3Rpb24oKSk7CkBAIC0yNjQsNyArMjYxLDcg
QEAgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtleSgpCiAKIGlubGluZSB2b2lkIFRpbWVy
QmFzZTo6aGVhcERlbGV0ZSgpCiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lID09IDApOwor
ICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICB0aW1lckhl
YXAoKS5yZW1vdmVMYXN0KCk7CiAgICAgbV9oZWFwSW5kZXggPSAtMTsKQEAgLTI3Miw3ICsyNjks
NyBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGUoKQogCiB2b2lkIFRpbWVyQmFz
ZTo6aGVhcERlbGV0ZU1pbigpCiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lID09IDApOwor
ICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3BNaW4oKTsKICAgICB0aW1l
ckhlYXAoKS5yZW1vdmVMYXN0KCk7CiAgICAgbV9oZWFwSW5kZXggPSAtMTsKQEAgLTI4MCw3ICsy
NzcsNyBAQCB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbigpCiAKIGlubGluZSB2b2lkIFRp
bWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUg
IT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAgICBoZWFwUG9wKCk7CiAgICAg
aGVhcERlY3JlYXNlS2V5KCk7CiB9CkBAIC0yOTYsOCArMjkzLDggQEAgaW5saW5lIHZvaWQgVGlt
ZXJCYXNlOjpoZWFwSW5zZXJ0KCkKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcFBvcCgpCiB7
CiAgICAgLy8gVGVtcG9yYXJpbHkgZm9yY2UgdGhpcyB0aW1lciB0byBoYXZlIHRoZSBtaW5pbXVt
IGtleSBzbyB3ZSBjYW4gcG9wIGl0LgotICAgIGRvdWJsZSBmaXJlVGltZSA9IG1fbmV4dEZpcmVU
aW1lOwotICAgIG1fbmV4dEZpcmVUaW1lID0gLXN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6
aW5maW5pdHkoKTsKKyAgICBNb25vdG9uaWNUaW1lIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7
CisgICAgbV9uZXh0RmlyZVRpbWUgPSAtTW9ub3RvbmljVGltZTo6aW5maW5pdHkoKTsKICAgICBo
ZWFwRGVjcmVhc2VLZXkoKTsKICAgICBoZWFwUG9wTWluKCk7CiAgICAgbV9uZXh0RmlyZVRpbWUg
PSBmaXJlVGltZTsKQEAgLTM0Nyw3ICszNDQsNyBAQCBib29sIFRpbWVyQmFzZTo6aGFzVmFsaWRI
ZWFwUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBjaGlsZEhlYXBQcm9wZXJ0eUhvbGRzKHRo
aXMsIGhlYXAsIGNoaWxkSW5kZXgxKSAmJiBjaGlsZEhlYXBQcm9wZXJ0eUhvbGRzKHRoaXMsIGhl
YXAsIGNoaWxkSW5kZXgyKTsKIH0KIAotdm9pZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRl
ZChkb3VibGUgb2xkVGltZSkKK3ZvaWQgVGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQoTW9u
b3RvbmljVGltZSBvbGRUaW1lKQogewogICAgIGlmIChtX25leHRGaXJlVGltZSAmJiBoYXNWYWxp
ZEhlYXBQb3NpdGlvbigpKQogICAgICAgICByZXR1cm47CkBAIC0zNjYsNyArMzYzLDcgQEAgdm9p
ZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChkb3VibGUgb2xkVGltZSkKICAgICBBU1NF
UlQoIWluSGVhcCgpIHx8IGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkpOwogfQogCi12b2lkIFRpbWVy
QmFzZTo6c2V0TmV4dEZpcmVUaW1lKGRvdWJsZSBuZXdUaW1lKQordm9pZCBUaW1lckJhc2U6OnNl
dE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lIG5ld1RpbWUpCiB7CiAgICAgQVNTRVJUKGNhbkFj
Y2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3RocmVhZCkpOwogICAgIEFTU0VSVCghbV93
YXNEZWxldGVkKTsKQEAgLTM3OSwxMSArMzc2LDExIEBAIHZvaWQgVGltZXJCYXNlOjpzZXROZXh0
RmlyZVRpbWUoZG91YmxlIG5ld1RpbWUpCiAgICAgICAgIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGlt
ZXJIZWFwID0gJnRocmVhZEdsb2JhbFRpbWVySGVhcCgpOwogCiAgICAgLy8gS2VlcCBoZWFwIHZh
bGlkIHdoaWxlIGNoYW5naW5nIHRoZSBuZXh0LWZpcmUgdGltZS4KLSAgICBkb3VibGUgb2xkVGlt
ZSA9IG1fbmV4dEZpcmVUaW1lOworICAgIE1vbm90b25pY1RpbWUgb2xkVGltZSA9IG1fbmV4dEZp
cmVUaW1lOwogICAgIC8vIERvbid0IHJlYWxpZ24gemVyby1kZWxheSB0aW1lcnMuCiAgICAgaWYg
KG5ld1RpbWUpIHsKLSAgICAgICAgaWYgKGF1dG8gbmV3QWxpZ25lZFRpbWUgPSBhbGlnbmVkRmly
ZVRpbWUoc2Vjb25kc1RvTVMobmV3VGltZSkpKQotICAgICAgICAgICAgbmV3VGltZSA9IG1zVG9T
ZWNvbmRzKG5ld0FsaWduZWRUaW1lLnZhbHVlKCkpOworICAgICAgICBpZiAoYXV0byBuZXdBbGln
bmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShuZXdUaW1lKSkKKyAgICAgICAgICAgIG5ld1RpbWUg
PSBuZXdBbGlnbmVkVGltZS52YWx1ZSgpOwogICAgIH0KIAogICAgIGlmIChvbGRUaW1lICE9IG5l
d1RpbWUpIHsKQEAgLTQxNiwxMCArNDEzLDEwIEBAIHZvaWQgVGltZXJCYXNlOjpkaWRDaGFuZ2VB
bGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgc2V0TmV4dEZpcmVUaW1lKG1fdW5hbGlnbmVkTmV4dEZp
cmVUaW1lKTsKIH0KIAotZG91YmxlIFRpbWVyQmFzZTo6bmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZh
bCgpIGNvbnN0CitTZWNvbmRzIFRpbWVyQmFzZTo6bmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZhbCgp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzQWN0aXZlKCkpOwotICAgIHJldHVybiBzdGQ6Om1heCht
X3VuYWxpZ25lZE5leHRGaXJlVGltZSAtIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLCAw
LjApOworICAgIHJldHVybiBzdGQ6Om1heChtX3VuYWxpZ25lZE5leHRGaXJlVGltZSAtIE1vbm90
b25pY1RpbWU6Om5vdygpLCBTZWNvbmRzKDApKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYTM1YzhjNjdlZTIyYjZlZDVkYzg1M2JkZTJl
MTlmM2NlZGNlOGYxZS4uN2M1MWJhODdiZWRiMmYxOTVjMTAwNGI3YzNjNDg1ZmRkN2Q3YjUwNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxj
aHJvbm8+CiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25h
bC5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CkBAIC00NywzOSArNDgsMjQgQEAgY2xhc3Mg
VGltZXJIZWFwRWxlbWVudDsKIGNsYXNzIFRpbWVyQmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGltZXJCYXNlKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXByb3RlY3Rl
ZDoKLSAgICBzdGF0aWMgaW5saW5lIGRvdWJsZSBtc1RvU2Vjb25kcyhzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGR1cmF0aW9uKSB7IHJldHVybiBkdXJhdGlvbi5jb3VudCgpICogMC4wMDE7IH0K
LSAgICBzdGF0aWMgaW5saW5lIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2Vjb25kc1RvTVMo
ZG91YmxlIGR1cmF0aW9uKSB7IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKChzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGR1cmF0aW9uICogMTAwMCkpOyB9Ci0KIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBUaW1lckJhc2UoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7Ci0KLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRl
cnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9T
ZWNvbmRzKHJlcGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29u
ZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwudmFsdWUo
KSk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDApOyB9Ci0gICAgdm9pZCBzdGFydE9u
ZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3Qo
bXNUb1NlY29uZHMoaW50ZXJ2YWwpKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMg
aW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwudmFsdWUoKSwgMCk7IH0KKyAgICB2b2lkIHN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWws
IHJlcGVhdEludGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2
YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIFNlY29uZHMoMCkpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHN0b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3Q7CiAKLSAgICBkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0OwotICAgIGRvdWJsZSBuZXh0VW5hbGlnbmVkRmlyZUlu
dGVydmFsKCkgY29uc3Q7Ci0gICAgZG91YmxlIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1
cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsgcmV0dXJuIHNlY29uZHNUb01TKHJlcGVhdEludGVydmFs
KCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IHNl
dE5leHRGaXJlVGltZShtX25leHRGaXJlVGltZSArIGRlbHRhKTsgfQotICAgIHZvaWQgYXVnbWVu
dEZpcmVJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRG
aXJlSW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJ
bnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEudmFsdWUo
KSk7IH0KKyAgICBTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRz
IG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQogCi0gICAgdm9pZCBh
dWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwo
ZGVsdGEpOyBtX3JlcGVhdEludGVydmFsICs9IGRlbHRhOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVw
ZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVw
ZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVh
dEludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKGRlbHRhLnZh
bHVlKCkpOyB9CisgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsg
c2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZpcmVUaW1lICsgZGVsdGEpOyB9CisgICAgdm9pZCBhdWdt
ZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRl
bHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsgfQogCiAgICAgdm9pZCBkaWRDaGFuZ2VB
bGlnbm1lbnRJbnRlcnZhbCgpOwogCkBAIC04OCwxNyArNzQsMTcgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIE9wdGlvbmFs
PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKSBjb25zdCB7IHJldHVybiBOdWxsb3B0OyB9CisgICAgdmlydHVhbCBPcHRp
b25hbDxNb25vdG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3Qg
eyByZXR1cm4gTnVsbG9wdDsgfQogCiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7
CiAgICAgdm9pZCBjaGVja0hlYXBJbmRleCgpIGNvbnN0OwogCi0gICAgdm9pZCBzZXROZXh0Rmly
ZVRpbWUoZG91YmxlKTsKKyAgICB2b2lkIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lKTsK
IAogICAgIGJvb2wgaW5IZWFwKCkgY29uc3QgeyByZXR1cm4gbV9oZWFwSW5kZXggIT0gLTE7IH0K
IAogICAgIGJvb2wgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSBjb25zdDsKLSAgICB2b2lkIHVwZGF0
ZUhlYXBJZk5lZWRlZChkb3VibGUgb2xkVGltZSk7CisgICAgdm9pZCB1cGRhdGVIZWFwSWZOZWVk
ZWQoTW9ub3RvbmljVGltZSBvbGRUaW1lKTsKIAogICAgIHZvaWQgaGVhcERlY3JlYXNlS2V5KCk7
CiAgICAgdm9pZCBoZWFwRGVsZXRlKCk7CkBAIC0xMTAsOSArOTYsOSBAQCBwcml2YXRlOgogCiAg
ICAgVmVjdG9yPFRpbWVyQmFzZSo+JiB0aW1lckhlYXAoKSBjb25zdCB7IEFTU0VSVChtX2NhY2hl
ZFRocmVhZEdsb2JhbFRpbWVySGVhcCk7IHJldHVybiAqbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1l
ckhlYXA7IH0KIAotICAgIGRvdWJsZSBtX25leHRGaXJlVGltZTsgLy8gMCBpZiBpbmFjdGl2ZQot
ICAgIGRvdWJsZSBtX3VuYWxpZ25lZE5leHRGaXJlVGltZTsgLy8gbV9uZXh0RmlyZVRpbWUgbm90
IGNvbnNpZGVyaW5nIGFsaWdubWVudCBpbnRlcnZhbAotICAgIGRvdWJsZSBtX3JlcGVhdEludGVy
dmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEZpcmVU
aW1lOyAvLyAwIGlmIGluYWN0aXZlCisgICAgTW9ub3RvbmljVGltZSBtX3VuYWxpZ25lZE5leHRG
aXJlVGltZTsgLy8gbV9uZXh0RmlyZVRpbWUgbm90IGNvbnNpZGVyaW5nIGFsaWdubWVudCBpbnRl
cnZhbAorICAgIFNlY29uZHMgbV9yZXBlYXRJbnRlcnZhbDsgLy8gMCBpZiBub3QgcmVwZWF0aW5n
CiAgICAgaW50IG1faGVhcEluZGV4OyAvLyAtMSBpZiBub3QgaW4gaGVhcAogICAgIHVuc2lnbmVk
IG1faGVhcEluc2VydGlvbk9yZGVyOyAvLyBVc2VkIHRvIGtlZXAgb3JkZXIgYW1vbmcgZXF1YWwt
ZmlyZS10aW1lIHRpbWVycwogICAgIFZlY3RvcjxUaW1lckJhc2UqPiogbV9jYWNoZWRUaHJlYWRH
bG9iYWxUaW1lckhlYXA7CkBAIC0xNTksMTggKzE0NSwxOCBAQCBpbmxpbmUgYm9vbCBUaW1lckJh
c2U6OmlzQWN0aXZlKCkgY29uc3QKICNlbHNlCiAgICAgQVNTRVJUKFdlYlRocmVhZElzQ3VycmVu
dCgpIHx8IHB0aHJlYWRfbWFpbl9ucCgpIHx8IG1fdGhyZWFkID09IGN1cnJlbnRUaHJlYWQoKSk7
CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQotICAgIHJldHVybiBtX25leHRGaXJlVGltZTsKKyAg
ICByZXR1cm4gISFtX25leHRGaXJlVGltZTsKIH0KIAogY2xhc3MgRGVmZXJyYWJsZU9uZVNob3RU
aW1lciA6IHByb3RlY3RlZCBUaW1lckJhc2UgewogcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFRpbWVyRmlyZWRDbGFzcz4KLSAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKFRpbWVyRmly
ZWRDbGFzcyYgb2JqZWN0LCB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipmdW5jdGlvbikoKSwgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVy
KFRpbWVyRmlyZWRDbGFzcyYgb2JqZWN0LCB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipmdW5jdGlv
bikoKSwgU2Vjb25kcyBkZWxheSkKICAgICAgICAgOiBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0
ZDo6YmluZChmdW5jdGlvbiwgJm9iamVjdCksIGRlbGF5KQogICAgIHsKICAgICB9CiAKLSAgICBE
ZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gZnVuY3Rpb24sIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXkpCisgICAgRGVmZXJyYWJsZU9uZVNob3RUaW1l
cihzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGZ1bmN0aW9uLCBTZWNvbmRzIGRlbGF5KQogICAgICAg
ICA6IG1fZnVuY3Rpb24oV1RGTW92ZShmdW5jdGlvbikpCiAgICAgICAgICwgbV9kZWxheShkZWxh
eSkKICAgICAgICAgLCBtX3Nob3VsZFJlc3RhcnRXaGVuVGltZXJGaXJlcyhmYWxzZSkKQEAgLTIx
Miw3ICsxOTgsNyBAQCBwcml2YXRlOgogCiAgICAgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBtX2Z1
bmN0aW9uOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2RlbGF5OworICAgIFNl
Y29uZHMgbV9kZWxheTsKICAgICBib29sIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKaW5kZXggZDRmY2Y5
NjFlMDE5MTQ0YTIxZmY0ZDNkYzBlMThmOWZjOTI4ZTFhNy4uN2E5ZTZhMDlkNzBiNzk5YmI2MDBm
N2VlN2MwYTkxZWZhMDE4ZTA5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Vk5vZGVUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNr
ZXIuY3BwCkBAIC00MCw3ICs0MCw3IEBAIFZOb2RlVHJhY2tlciYgVk5vZGVUcmFja2VyOjpzaW5n
bGV0b24oKQogVk5vZGVUcmFja2VyOjpWTm9kZVRyYWNrZXIoKQogICAgIDogbV92bm9kZUNvdW50
ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCBldmVudCkgeyBpZiAoZXZlbnQgPT0gUmVmQ291bnRl
ckV2ZW50OjpJbmNyZW1lbnQpIGNoZWNrUHJlc3N1cmVTdGF0ZSgpOyB9KQogICAgICwgbV9wcmVz
c3VyZVdhcm5pbmdUaW1lcigqdGhpcywgJlZOb2RlVHJhY2tlcjo6cHJlc3N1cmVXYXJuaW5nVGlt
ZXJGaXJlZCkKLSAgICAsIG1fbGFzdFdhcm5pbmdUaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xv
Y2s6Om5vdygpKQorICAgICwgbV9sYXN0V2FybmluZ1RpbWUoTW9ub3RvbmljVGltZTo6bm93KCkp
CiB7CiAgICAgcGxhdGZvcm1Jbml0aWFsaXplKCk7CiAKQEAgLTYzLDIxICs2MywyMiBAQCB2b2lk
IFZOb2RlVHJhY2tlcjo6cHJlc3N1cmVXYXJuaW5nVGltZXJGaXJlZCgpCiAgICAgaWYgKG1fdm5v
ZGVDb3VudGVyLnZhbHVlKCkgPD0gbV9zb2Z0Vk5vZGVMaW1pdCkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9sYXN0V2FybmluZ1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3co
KTsKKyAgICBtX2xhc3RXYXJuaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIHVu
c2lnbmVkIHZub2RlQ291bnQgPSBtX3Zub2RlQ291bnRlci52YWx1ZSgpOwogICAgIGF1dG8gY3Jp
dGljYWwgPSB2bm9kZUNvdW50ID4gbV9oYXJkVk5vZGVMaW1pdCA/IENyaXRpY2FsOjpZZXMgOiBD
cml0aWNhbDo6Tm87CiAgICAgbV9wcmVzc3VyZUhhbmRsZXIoY3JpdGljYWwpOwogICAgIExPRyhN
ZW1vcnlQcmVzc3VyZSwgInZub2RlIHByZXNzdXJlIGhhbmRsZXIgZnJlZWQgJWx1IHZub2RlcyBv
dXQgb2YgJXUgKGNyaXRpY2FsIHByZXNzdXJlOiAlcykiLCB2bm9kZUNvdW50IC0gbV92bm9kZUNv
dW50ZXIudmFsdWUoKSwgdm5vZGVDb3VudCwgY3JpdGljYWwgPT0gQ3JpdGljYWw6OlllcyA/ICJZ
ZXMiIDogIk5vIik7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgVk5vZGVUcmFja2Vy
OjpuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBWTm9kZVRyYWNr
ZXI6Om5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gV2UgcnVu
IHRoZSB2bm9kZSBwcmVzc3VyZSBoYW5kbGVyIGV2ZXJ5IDMwIHNlY29uZHMgYXQgbW9zdC4KLSAg
ICBzdGF0aWMgY29uc3QgYXV0byBtaW5pbXVtV2FybmluZ0ludGVydmFsID0gc3RkOjpjaHJvbm86
OnNlY29uZHMgeyAzMCB9OwotICAgIGF1dG8gdGltZVNpbmNlTGFzdFdhcm5pbmcgPSBzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fbGFzdFdhcm5pbmdUaW1lOworICAgIHN0YXRp
YyBjb25zdCBTZWNvbmRzIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBTZWNvbmRzKDMwKTsKKyAg
ICBhdXRvIHRpbWVTaW5jZUxhc3RXYXJuaW5nID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX2xh
c3RXYXJuaW5nVGltZTsKICAgICBpZiAodGltZVNpbmNlTGFzdFdhcm5pbmcgPCBtaW5pbXVtV2Fy
bmluZ0ludGVydmFsKQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4obWluaW11bVdhcm5pbmdJbnRlcnZhbCAtIHRpbWVT
aW5jZUxhc3RXYXJuaW5nKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7
IDAgfTsKKyAgICAgICAgcmV0dXJuIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VM
YXN0V2FybmluZzsKKworICAgIHJldHVybiBTZWNvbmRzKDApOwogfQogCiAjaWYgIVBMQVRGT1JN
KENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAppbmRleCAxYjAxMTBl
ODNlN2ExNmRhOTY0ODAxMzA4NWFiZmUxODI2MGY0YTI0Li4wNGZiMzc5NWQ2NWM3ODc1MjkzYjlj
N2JkZGYzODcwMTUzZWExZjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
Tm9kZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIu
aApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBjaGVja1ByZXNzdXJlU3Rh
dGUoKTsKICAgICB2b2lkIHByZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQoKTsKLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIG5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0Owor
ICAgIFNlY29uZHMgbmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CiAKICAgICB2
b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAg
ICAgUHJlc3N1cmVIYW5kbGVyIG1fcHJlc3N1cmVIYW5kbGVyOwogICAgIFZOb2RlQ291bnRlciBt
X3Zub2RlQ291bnRlcjsKICAgICBUaW1lciBtX3ByZXNzdXJlV2FybmluZ1RpbWVyOwotICAgIHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0V2FybmluZ1RpbWU7Cisg
ICAgTW9ub3RvbmljVGltZSBtX2xhc3RXYXJuaW5nVGltZTsKIH07CiAKIGlubGluZSB2b2lkIFZO
b2RlVHJhY2tlcjo6c2V0UHJlc3N1cmVIYW5kbGVyKFByZXNzdXJlSGFuZGxlciBoYW5kbGVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb24uY3BwCmluZGV4IDE2NzY2OWEyMDYwODQ4Y2M2ODEyY2Y0NmU0Nzc4NjU5OGUxMTQzZTgu
LjA3OTUxMGYxYTkyMmMwNjVmNjNhMGM3YTFjZTg0MmNiZTUxZmFhOTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAK
QEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUg
a0NsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVsYXkgPSAwLjE7Citjb25zdCBTZWNv
bmRzIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5ID0gU2Vjb25kcygwLjEp
OwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6U3RhdGUgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCBjZDZmZGJlMjA5N2JiYTU3NDRk
ODFmYTg4ZTQ3MDk0YWNhMjYyNzBjLi44MDk4Y2Y4OWFjZDAyMTBkZmE5MDQxNmJiYWVmMWUwOGU1
OGYyMjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxD
b250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW0KQEAgLTc2LDcgKzc2LDcgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHJ1YmJlcmJh
bmRNaW5pbXVtUmVxdWlyZWREZWx0YUJlZm9yZVN0cmV0Y2ggPSAxMDsKIAogI2lmIEVOQUJMRShD
U1NfU0NST0xMX1NOQVApICYmIFBMQVRGT1JNKE1BQykKIHN0YXRpYyBjb25zdCBmbG9hdCBpbmVy
dGlhbFNjcm9sbFByZWRpY3Rpb25GYWN0b3IgPSAxNi43Owotc3RhdGljIGNvbnN0IGRvdWJsZSBz
dGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkgPSAwLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzdGF0
ZWxlc3NTY3JvbGxTbmFwRGVsYXkgPSBTZWNvbmRzKDAuNSk7CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKE1BQykKQEAgLTQyMSw3ICs0MjEsNyBAQCBib29sIFNjcm9sbENvbnRyb2xsZXI6OmlzU2Ny
b2xsU25hcEluUHJvZ3Jlc3MoKSBjb25zdAogdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGFydFNu
YXBSdWJiZXJiYW5kVGltZXIoKQogewogICAgIG1fY2xpZW50LnN0YXJ0U25hcFJ1YmJlcmJhbmRU
aW1lcigpOwotICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2
MC4wKTsKKyAgICBtX3NuYXBSdWJiZXJiYW5kVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygx
LjAgLyA2MCkpOwogCiAgICAgbV9jbGllbnQuZGVmZXJUZXN0c0ZvclJlYXNvbihyZWludGVycHJl
dF9jYXN0PFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyPih0
aGlzKSwgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpSdWJiZXJiYW5kSW5Qcm9ncmVzcyk7CiB9CkBA
IC02MzQsNyArNjM0LDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGFydFNjcm9sbFNuYXBU
aW1lcigpCiB7CiAgICAgaWYgKCFtX3Njcm9sbFNuYXBUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAg
ICAgIG1fY2xpZW50LnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCk7Ci0gICAgICAgIG1fc2Nyb2xsU25h
cFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgICAgICBtX3Njcm9sbFNuYXBU
aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAgICAgfQogCiAgICAgaWYg
KCFtX3Njcm9sbFNuYXBUaW1lci5pc0FjdGl2ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJH
YW1lcGFkUHJvdmlkZXIubW0KaW5kZXggNmE1M2YxMjI5MjE5ZjQ4Y2VjOTcyMjg0ZDJiNTljN2Q4
YTJhOWQ5MC4uODNhMDcxMzAxM2M3YzY0MGJkNDZlZmMzY2Q2MzJhNTExNTg3OWMwMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFk
L2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBAIC00MCw3ICs0MCw3IEBA
IFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxlciwgR0NDb250cm9sbGVy
RGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGlj
IGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9
IDE2bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcygxNik7CiAKIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3Zp
ZGVyJiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92
aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFk
UHJvdmlkZXIuY3BwCmluZGV4IDBkOGE3OWEwNTBkMThhYTg3MDg5ZTk1OGU4MTIxNGUxY2RmYjE0
ZWIuLjM5N2Y0Njc4OWU1MzJiYWVkOGRjZjRjNzRkOTM1MmFkZDY3ZGE0YTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFBy
b3ZpZGVyLmNwcApAQCAtMzQsOCArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0
YXRpYyBjb25zdCBkb3VibGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjU7Ci1zdGF0aWMg
Y29uc3QgZG91YmxlIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAwLjA1Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSBTZWNvbmRzKDAuNSk7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gU2Vjb25kcygwLjA1KTsKIAog
c3RhdGljIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGRldmljZU1hdGNoaW5nRGljdGlvbmFy
eSh1aW50MzJfdCB1c2FnZVBhZ2UsIHVpbnQzMl90IHVzYWdlKQogewpAQCAtMjAxLDcgKzIwMSw3
IEBAIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VBZGRlZChJT0hJRERldmljZVJlZiBk
ZXZpY2UpCiAgICAgICAgIC8vIGFuZCB3ZSBkb24ndCB3YW50IHRvIHRlbGwgdGhlIGNsaWVudCBh
Ym91dCBhbnkgb2YgdGhlbS4KICAgICAgICAgLy8gVGhlIG1fY29ubmVjdGlvbkRlbGF5VGltZXIg
ZmlyZXMgaW4gYSBzdWJzZXF1ZW50IHNwaW4gb2YgdGhlIHJ1bmxvb3AgYWZ0ZXIgd2hpY2gKICAg
ICAgICAgLy8gYW55IGNvbm5lY3Rpb24gZXZlbnRzIGFyZSBhY3R1YWwgbmV3IGRldmljZXMuCi0g
ICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X2Nvbm5lY3Rpb25EZWxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgICAg
ICBMT0coR2FtZXBhZCwgIkRldmljZSAlcCB3YXMgYWRkZWQgd2hpbGUgc3VwcHJlc3NpbmcgY2Fs
bGJhY2tzLCBzbyB0aGlzIHNob3VsZCBiZSBhbiAnYWxyZWFkeSBjb25uZWN0ZWQnIGV2ZW50Iiwg
ZGV2aWNlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuY3BwCmluZGV4IDNkYmE1NjIzYmFkZmJiY2RjODgyMmUzN2JmZDJkZGRlNzY0MWQ1N2Mu
Ljg0ZmU1NjQzYzcwMGMyNzk3YWM1NjFiZmJlNDgzYzBmNWU1YTU0OGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKQEAgLTIyMSw3ICsy
MjEsNyBAQCB2b2lkIEJpdG1hcEltYWdlOjpjbGVhclRpbWVyKCkKICAgICBtX2ZyYW1lVGltZXIg
PSBudWxscHRyOwogfQogCi12b2lkIEJpdG1hcEltYWdlOjpzdGFydFRpbWVyKGRvdWJsZSBkZWxh
eSkKK3ZvaWQgQml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoU2Vjb25kcyBkZWxheSkKIHsKICAgICBB
U1NFUlQoIW1fZnJhbWVUaW1lcik7CiAgICAgbV9mcmFtZVRpbWVyID0gc3RkOjptYWtlX3VuaXF1
ZTxUaW1lcj4oKnRoaXMsICZCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik7CkBAIC0yODUs
NyArMjg1LDcgQEAgQml0bWFwSW1hZ2U6OlN0YXJ0QW5pbWF0aW9uUmVzdWx0IEJpdG1hcEltYWdl
OjppbnRlcm5hbFN0YXJ0QW5pbWF0aW9uKCkKICAgICB9CiAKICAgICBBU1NFUlQoIW1fZnJhbWVU
aW1lcik7Ci0gICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSAtIHRpbWUpOwor
ICAgIHN0YXJ0VGltZXIoU2Vjb25kcyhtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSAtIHRpbWUpKTsK
ICAgICByZXR1cm4gU3RhcnRBbmltYXRpb25SZXN1bHQ6OlN0YXJ0ZWQ7CiB9CiAKQEAgLTI5OSw3
ICsyOTksNyBAQCB2b2lkIEJpdG1hcEltYWdlOjphZHZhbmNlQW5pbWF0aW9uKCkKICAgICAgICAg
ZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAgICAgLy8g
U3RhcnQgYSB0aW1lciB3aXRoIHRoZSByZW1haW5pbmcgdGltZSBmcm9tIG5vdyB0aWxsIHRoZSBt
X2Rlc2lyZWRGcmFtZURlY29kZVRpbWUuCiAgICAgICAgIGlmIChtX2Rlc2lyZWRGcmFtZURlY29k
ZVRpbWVGb3JUZXN0aW5nID4gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUp
KSB7Ci0gICAgICAgICAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRl
c3RpbmcgLSB0aW1lKTsKKyAgICAgICAgICAgIHN0YXJ0VGltZXIoU2Vjb25kcyhtX2Rlc2lyZWRG
cmFtZURlY29kZVRpbWVGb3JUZXN0aW5nIC0gdGltZSkpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgKaW5kZXggODkwMzJkY2E0YjFiNTI0OGQ0ZDc5NGM5ZWQzNTQ3YzU4MDYwNTJj
My4uZTVjOTJjNDYwODgzZDI2NjM3OGZkMTU5YmUyZTQ3MGM3YTM4Yjc5MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC0xODUsNyArMTg1
LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJUaW1lcigpOwotICAg
IHZvaWQgc3RhcnRUaW1lcihkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3RhcnRUaW1lcihTZWNv
bmRzIGRlbGF5KTsKICAgICBib29sIGlzQml0bWFwSW1hZ2UoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CiAgICAgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5k
ZXggMDNhNzhlN2FmYThlNDFlNWVlNDU5Y2YxNWRjN2ZhZTA2YzYxYjYwYy4uNTcxZDQ4MTJhMjNk
ZTkwYjQxZTMxODAxN2ExYmU0ZGI3M2E4ZjVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC0zMjksNyArMzI5LDcgQEAgY29uc3QgdW5z
aWduZWQgY1RhcmdldFVuZGVyTWVtb3J5UHJlc3N1cmVJbmFjdGl2ZUZvbnREYXRhID0gMzA7CiBS
ZWZQdHI8Rm9udD4gRm9udENhY2hlOjpmb250Rm9yRmFtaWx5KGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgY29uc3QgRm9u
dEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0
aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGJvb2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1l
KQogewogICAgIGlmICghbV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcHVyZ2VU
aW1lci5zdGFydE9uZVNob3QoMG1zKTsKKyAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIAogICAgIEZvbnRQbGF0Zm9ybURhdGEqIHBsYXRmb3JtRGF0YSA9IGdl
dENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBmYW1pbHksIGZvbnRGYWNl
RmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBjaGVja2luZ0FsdGVybmF0ZU5hbWUp
OwogICAgIGlmICghcGxhdGZvcm1EYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAppbmRl
eCA0OTMxNjg2YjMxNTEyNzcxNjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li5kNmMxM2VlMDgyMzYz
MWRiODIwZjkxNWY5OTZiNDdhYzdkNDcyMzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNw
cApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgcGVuZGluZ0FjdGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IFNlY29uZHMoMS4wIC8gMTApOwogCiBN
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVu
dCYgY2xpZW50KQogICAgIDogbV9jbGllbnQoJmNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCAwZGM4OGM3ZDkzNGQxNGEz
ZjQ0Y2Q4MDc0ZDJmOGJiZGRmMzYzNjczLi44MTAxYmFiNDg0MDA1ZmY2YzVhZjc5YzNhYWZjNGJl
ZTEzNDZmYTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCkBAIC0xMDk4LDcgKzEwOTgsNyBAQCB2b2lkIE1lZGlhUGxheWVyOjpuZXR3
b3JrU3RhdGVDaGFuZ2VkKCkKICAgICBpZiAobV9wcml2YXRlLT5uZXR3b3JrU3RhdGUoKSA+PSBG
b3JtYXRFcnJvciAmJiBtX3ByaXZhdGUtPnJlYWR5U3RhdGUoKSA8IEhhdmVNZXRhZGF0YSkgewog
ICAgICAgICBtX2NsaWVudC5tZWRpYVBsYXllckVuZ2luZUZhaWxlZFRvTG9hZCgpOwogICAgICAg
ICBpZiAoaW5zdGFsbGVkTWVkaWFFbmdpbmVzKCkuc2l6ZSgpID4gMSAmJiAobV9jb250ZW50TUlN
RVR5cGUuaXNFbXB0eSgpIHx8IG5leHRCZXN0TWVkaWFFbmdpbmUobV9jdXJyZW50TWVkaWFFbmdp
bmUpKSkgewotICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgICAgICBtX3JlbG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggNTIzYjNhZjVkN2JlNzdmYTFkZTc2OWU4
ZGMxMzA3NmQ1ZjNjMjEzZi4uNWZkNzY0N2JkN2ZiMTU1YjBlYjMxMDA1MGU1OTBhZjM5YTA5OTA4
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5j
cHAKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIu
aXNBY3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAg
Y29uc3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29u
c3QgU2Vjb25kcyBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IFNlY29uZHMoMik7CiAgICAg
ICAgIG1fcHVyZ2VUaW1lci5zdGFydE9uZVNob3Qoc2NyYXRjaEJ1ZmZlclB1cmdlSW50ZXJ2YWwp
OwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3Vw
QVZGT2JqQy5tbQppbmRleCA2ZWU4YmM0ZWZiMzE3YWJmMTY2MzRhNGMyOTM1NGViODVjNDlhZTZk
Li5lMmU1MzgwNDhlNTk0ODE0NGY2ZmFkMGMzZjJjNmI2MmMxM2EyMGQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCkBAIC0xNjYsNyArMTY2
LDcgQEAgdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyhjb25z
dCBWZWN0b3I8U3RyaW5nPiYgY2hhcmFjdGVyaXMKIAogICAgIEFTU0VSVChtX29wdGlvbnMuY29u
dGFpbnMocHJlZmVycmVkT3B0aW9uKSk7CiAgICAgbV9zZWxlY3RlZE9wdGlvbiA9IG1fb3B0aW9u
cy5nZXQocHJlZmVycmVkT3B0aW9uKTsKLSAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24oTWVk
aWFTZWxlY3Rpb25PcHRpb25BVkZPYmpDKiBvcHRpb24pCkBAIC0xNzgsNyArMTc4LDcgQEAgdm9p
ZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24oTWVkaWFTZWxl
Y3Rpb25PcHRpb25BVkZPYmpDKgogICAgIG1fc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247CiAgICAg
aWYgKG1fc2VsZWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9zZWxlY3Rpb25UaW1l
ci5zdG9wKCk7Ci0gICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9z
ZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFT
ZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVjdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZiYTY0YTc5ODYzNjNkMjgzZWQ0ZjUyOGRkOGUxMzY1
NjEuLjY4OWM2ZmUzNjQxYTRmZGI0ODI0Yjc2YzBlMzA5NWViMTc2ZjE2NWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3ICsyMjgsNyBAQCBNZWRpYVBsYXllcjo6U3VwcG9y
dHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBl
KGNvbgogICAgICAgICBvdXRwdXRDb2RlY3MgPSBbZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3Mo
KSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJGb3JJbnB1dE1JTUVDb2RlY1BhcmFtZXRlcjpvdXRw
dXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcgKnR5cGVTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5n
V2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIlQFwiIiwgKE5TU3RyaW5nICopcGFyYW1ldGVycy50
eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2RlY3NdOwotICAgIHJldHVybiBbZ2V0QVZVUkxBc3Nl
dENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBs
YXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7OworICAgIHJl
dHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlw
ZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVT
dXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFyayAtCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNv
bnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlmIChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0gICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtJbnRlcm5hbCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcAppbmRl
eCAwY2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4NDVmLi4xOTU2ZjY4NWE5NmVh
ODMwMzg4NGU5ZjRjNTRiMjA0MDc1YWI0ZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lk
IExheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYgKG1fcHJ1bmVUaW1lci5pc0Fj
dGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgx
KTsKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwogfQogCiB2b2lk
IExheWVyUG9vbDo6cHJ1bmVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcAppbmRleCA0MTMyYjA0ODZh
M2E4N2QyZWYzYTM3ODhhMjc5OWI2MTRiM2ExZTJjLi5mYWViYzY2NTUyOWI1OGY0YjZjOTc2MzYw
OTA4NzQyMDQ5MDcwMTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCkBAIC00OSw3ICs0OSw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGlsZVNpemVVcGRhdGVEZWxheSA9
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyA1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHRpbGVTaXplVXBkYXRlRGVsYXkgPSBTZWNvbmRzKDAuNSk7CiAKIFN0cmluZyBUaWxlQ29udHJv
bGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcgKzI2Niw3IEBA
IHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2luZG93KQogICAg
IGlmIChtX2lzSW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRpbGVzKCk7CiAg
ICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCA9
IDQ7CisgICAgICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgPSBTZWNv
bmRzKDQpOwogICAgICAgICBzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24odGlsZVJldmFsaWRhdGlv
blRpbWVvdXQpOwogICAgIH0KIH0KQEAgLTQ1Niw3ICs0NTYsNyBAQCB2b2lkIFRpbGVDb250cm9s
bGVyOjphZGp1c3RUaWxlQ292ZXJhZ2VSZWN0KEZsb2F0UmVjdCYgY292ZXJhZ2VSZWN0LCBjb25z
dCBGbG9hdAogI2VuZGlmCiB9CiAKLXZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJl
dmFsaWRhdGlvbihkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFRpbGVDb250cm9sbGVyOjpzY2hlZHVs
ZVRpbGVSZXZhbGlkYXRpb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAobV90aWxlUmV2
YWxpZGF0aW9uVGltZXIuaXNBY3RpdmUoKSAmJiBtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5uZXh0
RmlyZUludGVydmFsKCkgPCBpbnRlcnZhbCkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKaW5kZXgg
YzNlZTQxZTA2YmQ4ODIwMDMxZWQyOTIxMjg2MTVmZTc5ZDkzM2FjOC4uNmQ4YzIwYzQ1YTM0ZjRl
NzIwYmM3Y2VhMDkyNTk1OGJlMDE0YWI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCkBAIC0xMzQsNyArMTM0LDcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBUaWxlR3JpZCYgdGlsZUdyaWQoKSB7IHJldHVybiAqbV90
aWxlR3JpZDsgfQogCi0gICAgdm9pZCBzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24oZG91YmxlIGlu
dGVydmFsKTsKKyAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVy
dmFsKTsKIAogICAgIGJvb2wgaXNJbldpbmRvdygpIGNvbnN0IHsgcmV0dXJuIG1faXNJbldpbmRv
dzsgfQogICAgIGZsb2F0IHRvcENvbnRlbnRJbnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fdG9wQ29u
dGVudEluc2V0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcAppbmRleCA3OTIzOTY3ZWY1NzVmYWQxYmIzMmYxYWYw
M2M5ODk4ZmZiYjE3MTVjLi44OGRiNzEwYjJmOWJjYzI3OTcwZWFjMGE3ZDkzZWZkYjY1YjcwNDFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292
ZXJhZ2VNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVDb3ZlcmFnZU1hcC5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgVGlsZUNvdmVyYWdlTWFwOjp+VGls
ZUNvdmVyYWdlTWFwKCkKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjpzZXROZWVkc1VwZGF0ZSgpCiB7
CiAgICAgaWYgKCFtX3VwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzKDApKTsKIH0KIAogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnVwZGF0ZVRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3Bw
CmluZGV4IDI4ZjI5Y2JkZThlMjFmNzE4MDFiODg2MjI3OTU2MWVmOTIyZmExYzEuLjMyYjBlYWQy
ODJmNDU2MmI0ZDFiZGJhY2UwMGRkMWE1NGUxMmE4YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2
b2lkIFRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMoVGlsZVZhbGlkYXRpb25Qb2xpY3kgdmFsaWRh
dGlvblBvbGljeSkKICAgICBUaWxlQ29ob3J0IGN1cnJDb2hvcnQgPSBuZXh0VGlsZUNvaG9ydCgp
OwogICAgIHVuc2lnbmVkIHRpbGVzSW5Db2hvcnQgPSAwOwogCi0gICAgZG91YmxlIG1pbmltdW1S
ZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpt
YXgoKTsKKyAgICBTZWNvbmRzIG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uID0gU2Vj
b25kczo6aW5maW5pdHkoKTsKICAgICBib29sIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IGZhbHNl
OwogICAgIAogICAgIGF1dG8gdGlsZVNpemUgPSBtX2NvbnRyb2xsZXIudGlsZVNpemUoKTsKQEAg
LTM4MSw4ICszODEsOCBAQCB2b2lkIFRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMoVGlsZVZhbGlk
YXRpb25Qb2xpY3kgdmFsaWRhdGlvblBvbGljeSkKICAgICAgICAgICAgICAgICBmb3IgKGF1dG8m
IGNvaG9ydCA6IG1fY29ob3J0TGlzdCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY29ob3J0
LmNvaG9ydCAhPSB0aWxlSW5mby5jb2hvcnQpCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgZG91YmxlIHRpbWVVbnRpbENvaG9ydEV4cGlyZXMg
PSBjb2hvcnQudGltZVVudGlsRXhwaXJhdGlvbigpOwotICAgICAgICAgICAgICAgICAgICBpZiAo
dGltZVVudGlsQ29ob3J0RXhwaXJlcyA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgU2Vjb25k
cyB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29ob3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVVbnRpbENvaG9ydEV4cGlyZXMgPiBTZWNvbmRz
KDApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJE
dXJhdGlvbiA9IHN0ZDo6bWluKG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uLCB0aW1l
VW50aWxDb2hvcnRFeHBpcmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzVGlsZVJl
dmFsaWRhdGlvbiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDc4LDcg
KzQ3OCw3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgp
IGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hv
cnQpCiB7Ci0gICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKSk7CisgICAgbV9jb2hvcnRMaXN0LmFwcGVuZChU
aWxlQ29ob3J0SW5mbyhjb2hvcnQsIE1vbm90b25pY1RpbWU6Om5vdygpKSk7CiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIGlmICghbV9jb250cm9sbGVyLmlzSW5XaW5kb3coKSkKICAgICAgICAgdGls
ZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVyKCkudGlsZUNvbnRyb2xsZXJHYWluZWRVbnBhcmVudGVk
VGlsZXMoJm1fY29udHJvbGxlcik7CkBAIC00OTcsMTcgKzQ5NywxNyBAQCBUaWxlR3JpZDo6VGls
ZUNvaG9ydCBUaWxlR3JpZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdy
aWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJl
bW92YWxUaW1lclNlY29uZHMgPSAxOworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0UmVtb3ZhbFRp
bWVyU2Vjb25kcyA9IFNlY29uZHMoMSk7CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIsIG9yIHJl
c2NoZWR1bGUgdGhlIHRpbWVyIGZyb20gbm93IGlmIGl0J3MgYWxyZWFkeSBhY3RpdmUuCiAgICAg
aWYgKCFtX2NvaG9ydFJlbW92YWxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2NvaG9ydFJl
bW92YWxUaW1lci5zdGFydFJlcGVhdGluZyhjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzKTsKIH0K
IAotZG91YmxlIFRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJhdGlvbigp
CitTZWNvbmRzIFRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJhdGlvbigp
CiB7Ci0gICAgZG91YmxlIGNvaG9ydExpZmVUaW1lU2Vjb25kcyA9IDI7Ci0gICAgZG91YmxlIHRp
bWVUaHJlc2hvbGQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGNvaG9ydExpZmVU
aW1lU2Vjb25kczsKKyAgICBjb25zdCBTZWNvbmRzIGNvaG9ydExpZmVUaW1lID0gU2Vjb25kcygy
KTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVUaHJlc2hvbGQgPSBNb25vdG9uaWNUaW1lOjpub3co
KSAtIGNvaG9ydExpZmVUaW1lOwogICAgIHJldHVybiBjcmVhdGlvblRpbWUgLSB0aW1lVGhyZXNo
b2xkOwogfQogCkBAIC01MTgsNyArNTE4LDcgQEAgdm9pZCBUaWxlR3JpZDo6Y29ob3J0UmVtb3Zh
bFRpbWVyRmlyZWQoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgd2hpbGUgKCFtX2Nv
aG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgpLnRpbWVVbnRpbEV4cGly
YXRpb24oKSA8IDApIHsKKyAgICB3aGlsZSAoIW1fY29ob3J0TGlzdC5pc0VtcHR5KCkgJiYgbV9j
b2hvcnRMaXN0LmZpcnN0KCkudGltZVVudGlsRXhwaXJhdGlvbigpIDwgU2Vjb25kcygwKSkgewog
ICAgICAgICBUaWxlQ29ob3J0SW5mbyBmaXJzdENvaG9ydCA9IG1fY29ob3J0TGlzdC50YWtlRmly
c3QoKTsKICAgICAgICAgcmVtb3ZlVGlsZXNJbkNvaG9ydChmaXJzdENvaG9ydC5jb2hvcnQpOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5o
CmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIzYzc1NWQ4NzgyYzQyYWEwZGU1NzY1MWQuLjQyNjkzNzc0
YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVlOThhZTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaApAQCAtMTIxLDEzICsxMjEsMTMgQEAgcHJp
dmF0ZToKIAogICAgIHN0cnVjdCBUaWxlQ29ob3J0SW5mbyB7CiAgICAgICAgIFRpbGVDb2hvcnQg
Y29ob3J0OwotICAgICAgICBkb3VibGUgY3JlYXRpb25UaW1lOyAvLyBpbiBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAgICAgVGlsZUNvaG9ydEluZm8oVGlsZUNvaG9ydCBpbkNv
aG9ydCwgZG91YmxlIGluVGltZSkKKyAgICAgICAgTW9ub3RvbmljVGltZSBjcmVhdGlvblRpbWU7
CisgICAgICAgIFRpbGVDb2hvcnRJbmZvKFRpbGVDb2hvcnQgaW5Db2hvcnQsIE1vbm90b25pY1Rp
bWUgaW5UaW1lKQogICAgICAgICAgICAgOiBjb2hvcnQoaW5Db2hvcnQpCiAgICAgICAgICAgICAs
IGNyZWF0aW9uVGltZShpblRpbWUpCiAgICAgICAgIHsgfQogCi0gICAgICAgIGRvdWJsZSB0aW1l
VW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAgIFNlY29uZHMgdGltZVVudGlsRXhwaXJhdGlvbigp
OwogICAgIH07CiAKICAgICB2b2lkIHJlbW92ZUFsbFRpbGVzKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCmluZGV4IGI4
MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVjM2E4YTBmZTBiZmYxNDguLjMyZjIyNTc1MjVhYWMyNGU5
NTZhYjhmZDNiNDE4NWE2MDllZTdmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAj
aW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi1jb25z
dCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9IDUwMG1zOwot
Y29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3VyZmFjZUFnZUJlZm9yZU1hcmtpbmdQdXJnZWFi
bGUgPSAyczsKK2NvbnN0IFNlY29uZHMgY29sbGVjdGlvbkludGVydmFsID0gU2Vjb25kcygwLjUp
OworY29uc3QgU2Vjb25kcyBzdXJmYWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IFNlY29u
ZHMoMik7CiBjb25zdCBzaXplX3QgZGVmYXVsdE1heGltdW1CeXRlc0NhY2hlZCA9IDEwMjQgKiAx
MDI0ICogNjQ7CiAKIC8vIFdlJ2xsIG5ldmVyIGFsbG93IG1vcmUgdGhhbiAxLzIgb2YgdGhlIGNh
Y2hlIHRvIGJlIGZpbGxlZCB3aXRoIGluLXVzZSBzdXJmYWNlcywgYmVjYXVzZQpAQCAtMjgzLDcg
KzI4Myw3IEBAIHZvaWQgSU9TdXJmYWNlUG9vbDo6Y29sbGVjdEluVXNlU3VyZmFjZXMoKQogYm9v
bCBJT1N1cmZhY2VQb29sOjptYXJrT2xkZXJTdXJmYWNlc1B1cmdlYWJsZSgpCiB7CiAgICAgYm9v
bCBtYXJrZWRBbGxTdXJmYWNlcyA9IHRydWU7Ci0gICAgYXV0byBtYXJrVGltZSA9IHN0ZDo6Y2hy
b25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbWFya1RpbWUgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKIAogICAgIGZvciAoYXV0byYgc3VyZmFjZUFuZERldGFpbHMgOiBtX3N1cmZh
Y2VEZXRhaWxzKSB7CiAgICAgICAgIGlmIChzdXJmYWNlQW5kRGV0YWlscy52YWx1ZS5oYXNNYXJr
ZWRQdXJnZWFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JT1N1cmZhY2VQb29sLmgKaW5kZXggMzQ5YTNiYzNkMjdjNTQ2OTZkN2I1YjU2Mzk1ZjNmM2Uy
ZjI3ZjNjNC4uOTgyMWE0ZmYwOTcxMDBmNTVlMWJmM2M0ODIwMDZlYmM5NGZlMTA5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wu
aApAQCAtNjMsOSArNjMsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgOiBoYXNNYXJrZWRQdXJn
ZWFibGUoZmFsc2UpCiAgICAgICAgIHsgfQogCi0gICAgICAgIHZvaWQgcmVzZXRMYXN0VXNlVGlt
ZSgpIHsgbGFzdFVzZVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsgfQor
ICAgICAgICB2b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7IH0KIAotICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1l
X3BvaW50IGxhc3RVc2VUaW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIGxhc3RVc2VUaW1lOwog
ICAgICAgICBib29sIGhhc01hcmtlZFB1cmdlYWJsZTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVX
aXRoVGltZXIuY3BwCmluZGV4IDRmYWY3N2UyNTRlMmFhYzQwOGI0ZTgzNjNmNDhlM2VkMjMwZmZk
NzYuLmMxMjc2MDg5MzczYTdlNDM4MTBlNDQ4Y2JjNTE4NWVlNjkxNjlmZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGlt
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdl
Q2FjaGVXaXRoVGltZXIuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RhdGljIGNvbnN0IGF1dG8gc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgPSBzdGQ6OmNo
cm9ubzo6c2Vjb25kcyB7IDEgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN1YmltYWdlQ2FjaGVD
bGVhckRlbGF5ID0gU2Vjb25kcygxKTsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3ViaW1hZ2VDYWNo
ZVNpemUgPSAzMDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggYjBiN2JmZGEyZGI4MWVl
Zjc0MWNmNjY0M2MxMGY4MGVmN2QyOWVmMy4uOTcyMjgyODdiZDYxYTRiNTkyMTgyZjNmNWM3ZGQ3
YjFkOTRjMzc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2Fj
eVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGls
ZUNhY2hlLm1tCkBAIC00MjAsNyArNDIwLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OmZpbmlz
aGVkQ3JlYXRpbmdUaWxlcyhib29sIGRpZENyZWF0ZVRpbGVzLCBib29sIGNyZWF0ZU1vcmUKIAog
ICAgIC8vIEtlZXAgY3JlYXRpbmcgdGlsZXMgdW50aWwgdGhlIHdob2xlIGNvdmVyUmVjdCBpcyBj
b3ZlcmVkLgogICAgIGlmIChjcmVhdGVNb3JlKQotICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3JlYXRpb25U
aW1lckZpcmVkKCkKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6c2V0
U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAgICAgcmV0
dXJuOwogICAgIG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQgPSBlbmFibGVkOwog
ICAgIGlmIChtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKQotICAgICAgICBtX3Rp
bGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25U
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJvb2wgTGVnYWN5VGlsZUNhY2hl
OjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1NmQ0MDYwN2Y1NjNhNmNlNTk4ZTI5YmIyN2I0
MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBmYzBmZmY2OGQ1M2Q0MzQ3YTA3NGIxZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCkBA
IC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIHN1cHBvcnRzQ29udHJvbFRp
bnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgZG91YmxlIGluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xs
VGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1l
ckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92
ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50
KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9T
Y3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUyMGJlZjU0OGY1NDAyMDNhOWE2YTNjNzc3ZDgx
NmRhYTUwOTkwLi41YjAwNWM1MDExMzYzYWNiOWJlOGVhYTdmYmUyZWZjOGEyMzBjMzRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCkBA
IC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJhclRoZW1lSU9TOjpzY3JvbGxiYXJUaGlja25l
c3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWRvdWJsZSBTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Ny
b2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVt
ZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZUlPUzo6
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiBTZWNv
bmRzKDApOwogfQogICAgIAogU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBTY3JvbGxiYXJUaGVt
ZUlPUzo6YnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggYWM3ZjRmZDRhOTg0ZGMzMWRkZDRm
YzgwYjE2OTM0MTUxOTAyNTA5NS4uNGYyOTFhODdjYmVmZWZiZWExYzdlZDhkNGRkMTFkN2MzMjI4
N2ZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1h
dG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRv
ck1hYy5tbQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6dXBk
YXRlU2Nyb2xsZXJTdHlsZSgpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnN0YXJ0U2Nyb2xs
YmFyUGFpbnRUaW1lcigpCiB7Ci0gICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFy
dE9uZVNob3QoMC4xKTsKKyAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDAuMSkpOwogfQogCiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpzY3JvbGxi
YXJQYWludFRpbWVySXNBY3RpdmUoKSBjb25zdApAQCAtMTM2NCw3ICsxMzY0LDcgQEAgdm9pZCBT
Y3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKGNvbnN0IEZsb2F0
U2l6ZSYgZGVsdGEpCiAgICAgbV9jb250ZW50QXJlYVNjcm9sbGVkVGltZXJTY3JvbGxEZWx0YSA9
IGRlbHRhOwogCiAgICAgaWYgKCFtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIAogICAgIGlmIChtX3doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAg
ICAgbV93aGVlbEV2ZW50VGVzdFRyaWdnZXItPmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnBy
ZXRfY2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4o
dGhpcyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6Q29udGVudFNjcm9sbEluUHJvZ3Jlc3MpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFj
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRl
eCBhNzI4Mjk4YzhlYmI1YzU1NTQ3ZDZkM2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFhOTExYmI5MmIw
OGYwMWI3ZDk5MjY2ZDAxM2E0NzZjN2RkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB1c2VzT3ZlcmxheVNjcm9sbGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCB1cGRhdGVTY3JvbGxiYXJPdmVybGF5U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJyaWRlOwogCi0g
ICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRv
dWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xs
VGltZXJEZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBi
dXR0b25zUGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQppbmRleCBiMmUxNjE4YzAzMmZiN2M2
NWYxZmUxOTE3ZjIwNGUyOTY3NGMzODlmLi5mOWNkMDU3OGFhZGI5N2E4MTQwMWJiZjkxNzQwY2E2
YjM0MmVjMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
YmFyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLm1tCkBAIC0xMzAsOCArMTMwLDggQEAgc3RhdGljIGNvbnN0IGludCBjQnV0dG9u
TGVuZ3RoW10gPSB7IDE0LCAxMCB9Owogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25MZW5n
dGhbXSA9IHsgMTYsIDE0IH07IC8vIFRoZSBvdXRlciBidXR0b24gaW4gYSBkb3VibGUgYnV0dG9u
IHBhaXIgaXMgYSBiaXQgYmlnZ2VyLgogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25PdmVy
bGFwID0gMjsKIAotc3RhdGljIGZsb2F0IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAwLjVmOwotc3Rh
dGljIGZsb2F0IGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRpYyBTZWNvbmRz
IGdJbml0aWFsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKDAuNSk7CitzdGF0aWMgU2Vjb25kcyBnQXV0
b3Njcm9sbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcygwLjA1KTsKIHN0YXRpYyBib29sIGdKdW1wT25U
cmFja0NsaWNrID0gZmFsc2U7CiBzdGF0aWMgYm9vbCBnVXNlc092ZXJsYXlTY3JvbGxiYXJzID0g
ZmFsc2U7CiAKQEAgLTIzNCw4ICsyMzQsOCBAQCB2b2lkIFNjcm9sbGJhclRoZW1lTWFjOjpwcmVm
ZXJlbmNlc0NoYW5nZWQoKQogewogICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1Vz
ZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CiAgICAgW2RlZmF1bHRzIHN5bmNocm9u
aXplXTsKLSAgICBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAi
TlNTY3JvbGxlckJ1dHRvbkRlbGF5Il07Ci0gICAgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IFtk
ZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25QZXJpb2QiXTsKKyAgICBnSW5p
dGlhbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcyhbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9s
bGVyQnV0dG9uRGVsYXkiXSk7CisgICAgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IFNlY29uZHMo
W2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlvZCJdKTsKICAgICBn
SnVtcE9uVHJhY2tDbGljayA9IFtkZWZhdWx0cyBib29sRm9yS2V5OkAiQXBwbGVTY3JvbGxlclBh
Z2luZ0JlaGF2aW9yIl07CiAgICAgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpOwogfQpA
QCAtMjc3LDEyICsyNzcsMTIgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6dXBkYXRlU2Nyb2xs
YmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYgc2Nyb2xsYmFyKQogICAgIEVORF9CTE9DS19PQkpD
X0VYQ0VQVElPTlM7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRv
c2Nyb2xsVGltZXJEZWxheSgpCiB7CiAgICAgcmV0dXJuIGdJbml0aWFsQnV0dG9uRGVsYXk7CiB9
CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vj
b25kcyBTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJl
dHVybiBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmlu
ZGV4IGFmMGE4MzRjMzIwNDIyYjNlMWZhNDMwZWUxZTI2NzJkOGQ2MTAxYzIuLjQyZjAzY2Q1MDQ2
OGJiYjljZjFjNGEzZjdmNGRmMTk4M2NjMmNkZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAK
QEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9y
aWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25EYXQKIHsKICAgICBtX29yaWVu
dGF0aW9uID0gb3JpZW50YXRpb247CiAgICAgaWYgKG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKaW5k
ZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1Yi4uOWYzZTFlODY3NWEz
NDViMzg4YjQ0MDE2MWQ1NzIwZmRjZDBlYjBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5j
cHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lckludGVydmFsID0gMS4wIC8g
MTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDEuMCAv
IDEwKTsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50KQog
ICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDYwYmIwMTgx
YWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJlMGRlNTkuLjI3ODZkNDZlZWVlNmFiODg5OTVhZmRj
ZjZhYzFhZTk3MDRkMTQ2YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBNb2NrTWVk
aWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAgLy8gUmV2ZXJzZSBv
cmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgogICAg
IG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VDYW5kaWRhdGVUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRp
bWVyRmlyZWQoKQpAQCAtMjU1LDcgKzI1NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6Omlj
ZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQogCiAgICAgaWYgKCFtX2Zha2VJY2VDYW5kaWRhdGVzLmlz
RW1wdHkoKSkgewogICAgICAgICBtX2NsaWVudC5nb3RJY2VDYW5kaWRhdGUobV9taWRzWzBdLCBt
X2Zha2VJY2VDYW5kaWRhdGVzLnRha2VMYXN0KCkpOwotICAgICAgICBtX2ljZUNhbmRpZGF0ZVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fY2xpZW50LmRvbmVHYXRo
ZXJpbmdDYW5kaWRhdGVzKG1fbWlkc1swXSk7CiB9CkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBN
b2NrTWVkaWFFbmRwb2ludDo6c3RlcEljZVRyYW5zcG9ydFN0YXRlcygpCiAgICAgLy8gUmV2ZXJz
ZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgog
ICAgIG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnJldmVyc2UoKTsKIAotICAgIG1faWNlVHJh
bnNwb3J0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNlVHJhbnNwb3J0VGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VU
cmFuc3BvcnRUaW1lckZpcmVkKCkKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVu
ZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0g
bV9pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZXMudGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VU
cmFuc3BvcnRTdGF0ZUNoYW5nZWQoc3RhdGVDaGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29u
ZCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2lj
ZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKCkKQEAgLTMyMCw3ICszMjAs
NyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQoKQog
ICAgIGZvciAoaW50IGkgPSBtX21pZHMuc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpCiAgICAgICAg
IG1fbWlkc09mU291cmNlc1RvVW5tdXRlLmFwcGVuZChtX21pZHNbaV0pOwogCi0gICAgbV91bm11
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmly
ZWQoKQpAQCAtMzMwLDcgKzMzMCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRp
bWVyRmlyZWQoKQogICAgICAgICBzb3VyY2UtPnNldE11dGVkKGZhbHNlKTsKIAogICAgIGlmICgh
bV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUuaXNFbXB0eSgpKQotICAgICAgICBtX3VubXV0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKaW5k
ZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0ZTM2MTcxNDQxYjRjZGM2ZS4uNjRhMzVhNmQyN2Jj
ZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTg0LDcg
Kzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRh
KCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRp
bmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygobHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkp
KSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRh
KCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjppbml0
aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZQogYm9vbCBNb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFtZVJhdGUoZG91YmxlIHJhdGUpCiB7CiAgICAg
aWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKKyAgICAgICAg
bV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGxyb3VuZCgx
MDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0ZVNhbXBsZUJ1ZmZlcigpOwogICAgIHJldHVybiB0
cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Bs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBmM2JjNzFjMGY3MzNkMjgzM2Vj
MzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi4yN2JkYWUyYjVjY2UyYzg0NGJiMTNkZTcwYzk5NGEzNTBj
ODM2ZWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApAQCAtNjgsNyArNjgsNyBAQCB2
b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVhayhSZWZQdHI8UGxhdGZvcm1T
cGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5ib3VuZGFyeUV2ZW50T2NjdXJy
ZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5LCBtX3V0dGVyYW5jZS0+dGV4
dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ugc3BlZWNoIGpvYiBzb21lIHRp
bWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhhdmUgdGltZSB0byBiZSBjYWxs
ZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KC4xKTsKKyAgICBt
X3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjEpKTsKIH0KIAog
dm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXggZGUw
ZThhOWZkNjU5NmIyZTJhYjczNzAzMDQ3ZGU1ZWQzN2ZmZWNhYy4uMDY2ZDZlMzM1MjNkZDQyMmJl
OWE0M2FkYTEwOTRlOWJjNmExOTBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgog
ICAgICAgICAsIG1fdGltZXIoKnRoaXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAgICAg
ICAsIG1fbm90aWZpZXIobm90aWZpZXIpCiAgICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwLjUpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAuNSkpOwog
ICAgIH0KIAogICAgIHZpcnR1YWwgflRpbWVyRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCmluZGV4IDU4NzczYWEzMzI5
MWNhN2E2ODk1NzU4NmVlODIwM2M2YmFjMmNmZjMuLjk2MjMwZmUxNzQ0OTIxM2Y2MjQwYTE4ZWFl
ODczYzY2NjU5YWM1ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogc3RhdGljIGNvbnN0IGludCBnTmFtZXNUb1Jlc29sdmVJbW1lZGlhdGVseSA9IDQ7CiAK
IC8vIENvYWxlc2NlIHByZWZldGNoIHJlcXVlc3RzIGZvciB0aGlzIGxvbmcgYmVmb3JlIHNlbmRp
bmcgdGhlbSBvdXQuCi1zdGF0aWMgY29uc3QgZG91YmxlIGdDb2FsZXNjZURlbGF5SW5TZWNvbmRz
ID0gMS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgY29hbGVzY2VEZWxheSA9IFNlY29uZHMoMSk7
CiAKIC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNv
bWUgZ2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1
ZXMgd2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFu
ZW91c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4
U2ltdWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNU
b1F1ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRu
J3QgYmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBh
ZnRlciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNl
Y29uZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXRyeVJlc29sdmluZ0RlbGF5ID0g
U2Vjb25kcygwLjEpOwogCiBETlNSZXNvbHZlUXVldWUmIEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xl
dG9uKCkKIHsKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIEROU1Jlc29sdmVRdWV1ZTo6YWRkKGNv
bnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAgaWYgKG1fbmFtZXMuc2l6ZSgpIDwgZ01heFJlcXVl
c3RzVG9RdWV1ZSkgewogICAgICAgICBtX25hbWVzLmFkZChob3N0bmFtZSk7CiAgICAgICAgIGlm
ICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
Z0NvYWxlc2NlRGVsYXlJblNlY29uZHMpOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoY29hbGVzY2VEZWxheSk7CiAgICAgfQogfQogCkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBE
TlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQoKQogICAgIH0KIAogICAgIGlmICghbV9uYW1lcy5p
c0VtcHR5KCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGdSZXRyeVJlc29sdmluZ0lu
U2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHJldHJ5UmVzb2x2aW5nRGVs
YXkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCmluZGV4IGFiZmI0NmNlY2Y4MjE0
M2I5ZmZhY2QwMWJlNTc4NmE1M2EwMDhlYzAuLjMzMGM2ZGI0ZWZiYjM3YTJmYzFmODQ3OThjNDNm
ZThhOWQ1OWNiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
RGF0YVVSTERlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
RGF0YVVSTERlY29kZXIuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJl
ZigpOwogCiAgICAgICAgIGF1dG8gc2NoZWR1bGVkUGFpcnMgPSBtX2RlY29kZVRhc2stPnNjaGVk
dWxlQ29udGV4dC5zY2hlZHVsZWRQYWlyczsKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICBt
X3RpbWVyLnNjaGVkdWxlKHNjaGVkdWxlZFBhaXJzKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKaW5kZXggY2Q5ZjJiZjk2MDA2M2U3MDNm
OGMzZjBiOGQwMTFmMmJiOWNiMWJkMS4uM2ZmMDBmMmIxMmYwNjcyMDJlYjJjMzM1NThhOGNiMTA5
ZmViNTE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5n
SGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxl
LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIg
bmV2ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAg
ICAgICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAg
ICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91
dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDYwMDAwKSk7CiAgICAgfQogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNw
cAppbmRleCA0NzczZGVkN2Y0ZTFlNzg0MTlmODRmZjQ2MThhNWQ5ZjViNWZhNmU5Li5hMDE0Mzdj
YjQ4OThjMDA1Nzc2ZmEzNzJhYWE3M2ZlOTRlNDE2YTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcApAQCAtMTA1LDcgKzEwNSw3
IEBAIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3Jr
aW5nQ29udGV4dCogY29udGV4dCwgY29uc3QKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxl
RmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQogewogICAgIGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5
cGUgPSB0eXBlOwotICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBk
LT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgUmVz
b3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lk
IFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICAg
ICAgZC0+bV9mYWlsdXJlVGltZXIuc3RvcCgpOwogICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVs
ZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpIHsKICAgICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1
cmVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfQogCiAgICAgcGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVO
b3RpZmllck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3
b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKaW5kZXggNTVhZGUyMThjMTM4ODhjMGNjMjZlYmVjYjc5
MjYzZGNhNzAwOTE2ZC4uMmI0MTFlYTZjODRkZGM3ZWM5M2M1MGI2OThlMzYwZWQ1NjI4MmEzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0
YXRlTm90aWZpZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU3RhdGVDaGFuZ2VUaW1lcklu
dGVydmFsID0gMi4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RhdGVDaGFuZ2VUaW1lckludGVy
dmFsID0gU2Vjb25kcygyKTsKIAogdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6dXBkYXRlU3Rh
dGUoKQogewpAQCAtNzgsNyArNzgsNyBAQCB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpkeW5h
bWljU3RvcmVDYWxsYmFjayhTQ0R5bmFtaWNTdG9yZVJlZiwgQ0ZBcnJheVJlZiwgdgogICAgIAog
ICAgIC8vIENhbGxpbmcgdXBkYXRlU3RhdGUoKSBjb3VsZCBiZSBleHBlbnNpdmUgc28gd2Ugc2No
ZWR1bGUgYSB0aW1lciB0aGF0IHdpbGwgZG8gaXQgCiAgICAgLy8gd2hlbiB0aGluZ3MgaGF2ZSBj
b29sZWQgZG93bi4KLSAgICBub3RpZmllci0+bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFy
dE9uZVNob3QoU3RhdGVDaGFuZ2VUaW1lckludGVydmFsKTsKKyAgICBub3RpZmllci0+bV9uZXR3
b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9uZVNob3Qoc3RhdGVDaGFuZ2VUaW1lckludGVydmFs
KTsKIH0KIAogdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFs
aXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5
Q29udHJvbGxlci5jcHAKaW5kZXggNGVjZDg1YTYxMWQzNDJhNzkzYmMyMmJiZGNkY2Y3MTA0ZmYy
YTliYS4uYzhlZTAxYWJkYWM5ODZkNThiOGYwMzIwZjdmMjZmODU3NmJmOGJiYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApA
QCAtMzUsNyArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91
YmxlIGNJbnRlcnBvbGF0aW9uQ3V0b2ZmID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91
YmxlIGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIGxvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gU2Vjb25kcygwLjUwMCk7CiAK
IEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OkltYWdlUXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVu
ZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6IG1fcmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAt
OTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVw
YWludFRpbWVyRmlyZWQoKQogCiB2b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRU
aW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNo
b2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7
CiB9CiAKIE9wdGlvbmFsPEludGVycG9sYXRpb25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9s
bGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCmluZGV4IDYzYTVhNjkwYWMxMGFiMWY1YzliNGRlYzQ3ZWNlYWM1YTAwNWY2M2UuLjlm
Y2FiZWU5ZDUzMGViYjJjNWQ1ZDE3Y2Y5YTg5OGY4YTU5NjgyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSAr
OTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBjYW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29t
cG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRpZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxh
eSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29h
bGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgogI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25z
dCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNv
bnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gU2Vjb25kcygwLjUpOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gU2Vjb25kcygx
LjUpOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRp
YWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVs
YXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFs
RGVsYXkgPSBTZWNvbmRzKDAuNSk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXll
ckZsdXNoRGVsYXkgPSBTZWNvbmRzKDAuNSk7CiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhU
TUxOYW1lczsKQEAgLTYzNCw3ICs2MzQsNyBAQCBSZW5kZXJMYXllckNvbXBvc2l0b3IqIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6ZW5jbG9zaW5nQ29tcG9zaXRvckZsdXNoaW5nTGF5ZXJzKAogdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgp
CiB7CiAgICAgaWYgKCFtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0
aW5nTGF5ZXJzVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFy
cXVlZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4u
Yjc0MDk3Y2YyMWUxYTgyMjVhNmFlZDhmZDlhM2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQg
UmVuZGVyTWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9
CiAKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90
aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsK
IH0KIAogdm9pZCBSZW5kZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2
b2lkIFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkg
IT0gbWFycXVlZVNwZWVkKCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwog
ICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFy
dFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAg
CiAgICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3Rv
cC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dU
aHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVh
ZC5jcHAKaW5kZXggNDc1MDZhY2QzM2I3MDc0MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uZGVl
MmIyZjEwYWNmMjcyZDZjYjY1ZjFiYmViOTlmNjhhNWVhZDJlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1
MzAsNyBAQCB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnRJZk5lZWRlZCgpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRD
aGFuZ2VSZWdpb25PdmVyc2V0KGRvY3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBp
ZiAoIW1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZs
b3coKS5oYXNFdmVudExpc3RlbmVycygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VF
dmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdl
RXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgUmVuZGVyTmFt
ZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IDlhMWYyNDBmYTVm
OWFmZjg3MDFjMTM0OGNjYzU3ZDM2YWIzZTBiODQuLjUxYTMwOGZiYTM3MGM0Nzk4OWM4YzVjZWFl
MGIwODc3NDJjOWM3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dy
ZXNzLmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lkIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25U
aW1lckZpcmVkKCkKIHsKICAgICByZXBhaW50KCk7CiAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVy
LmlzQWN0aXZlKCkgJiYgbV9hbmltYXRpbmcpCi0gICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlv
blRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsK
IH0KIAogdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQpAQCAtMTAw
LDcgKzEwMCw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkK
ICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGluZzsKICAgICBpZiAobV9hbmltYXRpbmcpIHsKICAg
ICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QobV9hbmltYXRpb25SZXBl
YXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29u
ZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2Fu
aW1hdGlvblRpbWVyLnN0b3AoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNjcm9sbGJhclRoZW1lLmgKaW5kZXggZWQ0OWJlZGNiZGI2MTVkMGE3MzI3MTdkN2NhYTM4
ZGJjYzhkZGI3Ny4uNDFiZDgyM2FhYTAxNDY1NmIxMWFiNmQyNjE5ZGQxNmZhMGViNzg2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAg
LTQ3LDggKzQ3LDggQEAgcHVibGljOgogCiAgICAgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24g
aGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9y
bU1vdXNlRXZlbnQmIGV2ZW50LCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0KSBvdmVycmlkZSB7
IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoc2Ny
b2xsYmFyLCBldmVudCwgcHJlc3NlZFBhcnQpOyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1l
KCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9s
bFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5h
dXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0
aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Ny
b2xsVGltZXJEZWxheSgpOyB9CiAKICAgICB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJh
ciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5y
ZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIpOyB9CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xs
YmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVt
ZTo6dGhlbWUoKS51bnJlZ2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCBjZTE1NmVjOGY5OGY5MGM2ODFlNzA2YjU4
ODgyNWM0Y2JiZGJmNDg1Li45MjE4ZDVjYjVhNzgxZmI4NTdjN2Y0OGE5MjUyOWRkZWJiMWI1M2Rj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3
LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1lcjo6U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQm
IHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2VjdXJlVGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVk
IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0
VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFy
dE9uZVNob3QobV9yZW5kZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRp
b25JblNlY29uZHMoKSk7CisgICAgc3RhcnRPbmVTaG90KG1fcmVuZGVyZXIuZnJhbWUoKS5zZXR0
aW5ncygpLnBhc3N3b3JkRWNob0R1cmF0aW9uKCkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2Vj
dXJlVGV4dFRpbWVyOjp0YWtlT2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAx
MzhjZWY0MGVjODI4ZjljMmJlLi5iMTNlYTU1ODJiNzYwMDgxNmQ2YTY1ZjQ5NDZlYmFkN2VmOTY3
ZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUs
NyBAQAogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNzUsNyArMTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFs
IGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2
aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gU2Vjb25k
cygwLjUpOyB9CiAKICAgICAvLyBTeXN0ZW0gZm9udHMgYW5kIGNvbG9ycyBmb3IgQ1NTLgogICAg
IHZvaWQgc3lzdGVtRm9udChDU1NWYWx1ZUlELCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJikgY29u
c3Q7CkBAIC0yMDQsOCArMjA1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVk
aWFDb250cm9sU3RhdHVzRGlzcGxheSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIHVzZXNNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRp
b24oKSB7IHJldHVybiAwLjE7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFk
ZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlh
Q29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIFNlY29uZHMoMC4xKTsgfQorICAgIHZp
cnR1YWwgU2Vjb25kcyBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gU2Vj
b25kcygwLjMpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUo
ZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9s
c0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAg
ICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQg
Y3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWV3LmNwcAppbmRleCA4MTMwZDJlODIwNmIwYzA0MTZkZGQ5YWYxYmU0MWQ0MjY0
MTViM2MxLi5mOTg0NzA2ZDFlNjU2OTMyMjhlYjZmMDQxY2NjN2FiNTkxNjAxMTQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgdm9p
ZCBSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCiAg
ICAgcmVuZGVyZXIuc2V0UmVuZGVyQm94TmVlZHNMYXp5UmVwYWludCh0cnVlKTsKICAgICBtX3Jl
bmRlcmVyc05lZWRpbmdMYXp5UmVwYWludC5hZGQoJnJlbmRlcmVyKTsKICAgICBpZiAoIW1fbGF6
eVJlcGFpbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiB2b2lkIFJlbmRlclZpZXc6OnVuc2NoZWR1bGVMYXp5UmVwYWludChS
ZW5kZXJCb3gmIHJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0Nh
cHR1cmluZ0lucHV0Q3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJ
bnB1dEN1cnNvci5jcHAKaW5kZXggOTk2NDliZmUyOTAzNjY3NmFkNDk2OGEzNmRmMWY1YzNjNjJl
MGVkOS4uNWI0MzQ5ZmE5MzRmMzJiNDEwOTVkNWEwZjg0NDk2OTE0Zjg3ZjUyNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCkBAIC01OCwxMSAr
NTgsOCBAQCB2b2lkIENhcHR1cmluZ0lucHV0Q3Vyc29yOjpzdG9yZUlucHV0KHN0ZDo6dW5pcXVl
X3B0cjxOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlPgogewogICAgIEFTU0VSVF9BUkcoaW5wdXQs
IGlucHV0KTsKIAotICAgIGlmIChpbnB1dC0+cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExv
b3BJbnB1dCkgewotICAgICAgICAvLyBGSVhNRTogcmV3cml0ZSB0aGlzIChhbmQgcmVsYXRlZCBk
aXNwYXRjaCBjb2RlKSB0byB1c2Ugc3RkOjpjaHJvbm8uCi0gICAgICAgIGRvdWJsZSBub3cgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9zZWdtZW50LT5ldmVudExv
b3BUaW1pbmdzKCkuYXBwZW5kKG5vdyk7Ci0gICAgfQorICAgIGlmIChpbnB1dC0+cXVldWUoKSA9
PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dCkKKyAgICAgICAgbV9zZWdtZW50LT5ldmVudExv
b3BUaW1pbmdzKCkuYXBwZW5kKE1vbm90b25pY1RpbWU6Om5vdygpKTsKIAogICAgIG1fc2VnbWVu
dC0+c3RvcmFnZSgpLnN0b3JlKFdURk1vdmUoaW5wdXQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKaW5kZXggNTEwMjkzZmMx
NmM2NGFjOWI1ZmI1MWU3Yjk4ZDA5MGQ4YjUxMzY2Ny4uNjJkZjUxZGQ0YWIyOTAwZmQ1YTg1NDhm
OGJhMzE0ZGJlMGFhODBiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKQEAgLTUxLDggKzUxLDYgQEAgRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXIoUGFnZSYgcGFnZSwgUmVwbGF5aW5n
SW5wdXRDdXIKICAgICAsIG1fdGltZXIoKnRoaXMsICZFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6
OnRpbWVyRmlyZWQpCiAgICAgLCBtX3NwZWVkKERpc3BhdGNoU3BlZWQ6OkZhc3RGb3J3YXJkKQog
ewotICAgIG1fY3VycmVudFdvcmsuaW5wdXQgPSBudWxscHRyOwotICAgIG1fY3VycmVudFdvcmsu
dGltZXN0YW1wID0gMC4wOwogfQogCiB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6cnVu
KCkKQEAgLTkxLDcgKzg5LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3Bh
dGNoSW5wdXRTb29uKCkKICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3Rp
bWVyLnN0b3AoKTsKIAotICAgIGRvdWJsZSB3YWl0SW50ZXJ2YWwgPSAwOworICAgIFNlY29uZHMg
d2FpdEludGVydmFsOwogCiAgICAgaWYgKG1fc3BlZWQgPT0gRGlzcGF0Y2hTcGVlZDo6UmVhbFRp
bWUpIHsKICAgICAgICAgLy8gVGhlIGdvYWwgaXMgdG8gcmVwcm9kdWNlIHRoZSBkaXNwYXRjaCBk
ZWxheSBiZXR3ZWVuIGlucHV0cyBhcyBpdCB3YXMKQEAgLTEwMiwyMiArMTAwLDIyIEBAIHZvaWQg
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0U29vbigpCiAgICAgICAgIGlm
ICghbV9wcmV2aW91c0lucHV0VGltZXN0YW1wKQogICAgICAgICAgICAgbV9wcmV2aW91c0lucHV0
VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50aW1lc3RhbXA7CiAKLSAgICAgICAgZG91YmxlIHRh
cmdldEludGVydmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRU
aW1lc3RhbXA7Ci0gICAgICAgIGRvdWJsZSBlbGFwc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWU7CisgICAgICAgIFNlY29uZHMg
dGFyZ2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJbnB1
dFRpbWVzdGFtcDsKKyAgICAgICAgU2Vjb25kcyBlbGFwc2VkID0gTW9ub3RvbmljVGltZTo6bm93
KCkgLSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWU7CiAgICAgICAgIHdhaXRJbnRlcnZhbCA9
IHRhcmdldEludGVydmFsIC0gZWxhcHNlZDsKICAgICB9CiAKICAgICAvLyBBIG5lZ2F0aXZlIHdh
aXQgdGltZSBtZWFucyB0aGF0IGRpc3BhdGNoIHRvb2sgbG9uZ2VyIG9uIHJlcGxheSB0aGFuIG9u
CiAgICAgLy8gY2FwdHVyZS4gSW4gdGhpcyBjYXNlLCBwcm9jZWVkIHdpdGhvdXQgd2FpdGluZyBh
dCBhbGwuCi0gICAgaWYgKHdhaXRJbnRlcnZhbCA8IDApCi0gICAgICAgIHdhaXRJbnRlcnZhbCA9
IDA7CisgICAgaWYgKHdhaXRJbnRlcnZhbCA8IFNlY29uZHMoMCkpCisgICAgICAgIHdhaXRJbnRl
cnZhbCA9IFNlY29uZHMoMCk7CiAKLSAgICBpZiAod2FpdEludGVydmFsID4gMTAwMC4wKSB7Cisg
ICAgaWYgKHdhaXRJbnRlcnZhbCA+IFNlY29uZHMoMTAwMCkpIHsKICAgICAgICAgTE9HX0VSUk9S
KCIlLTIwcyBUcmllZCB0byB3YWl0IGZvciBvdmVyIDEwMDAgc2Vjb25kcyBiZWZvcmUgZGlzcGF0
Y2hpbmcgbmV4dCBldmVudCBsb29wIGlucHV0OyB0aGlzIGlzIHByb2JhYmx5IGEgYnVnLiIsICJS
ZXBsYXlFdmVudHMiKTsKLSAgICAgICAgd2FpdEludGVydmFsID0gMDsKKyAgICAgICAgd2FpdElu
dGVydmFsID0gU2Vjb25kcygwKTsKICAgICB9CiAKLSAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMg
KFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIsIHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7
CisgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlUOiAlLjNmIG1zKSIsICJSZXBsYXlFdmVu
dHMiLCBTZWNvbmRzKHdhaXRJbnRlcnZhbCAqIDEwMDAuMCkubWlsbGlzZWNvbmRzKCkpOwogICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJbnRlcnZhbCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUs
NyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAg
QVNTRVJUKCFtX2Rpc3BhdGNoaW5nKTsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3Bl
ZWQ6OlJlYWxUaW1lKSB7Ci0gICAgICAgIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hT
dGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgbV9wcmV2aW91c0lucHV0
VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50aW1lc3RhbXA7CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3
OGQ0M2YyNWE1ZDI1ZTRjM2Y5YTUyMzIzNWIwYzc5NWYzNC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1
NDgxNDM2MGYwZGFiNmI0NDBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2
ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVu
dExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50
TG9vcElucHV0LmgiCiAjaW5jbHVkZSAiUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2
LDkgKzg3LDkgQEAgcHJpdmF0ZToKIAogICAgIERpc3BhdGNoU3BlZWQgbV9zcGVlZDsKICAgICAv
LyBUaGUgdGltZSBhdCB3aGljaCB0aGUgbGFzdCBpbnB1dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMg
Y2FsbGVkLgotICAgIGRvdWJsZSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgezAuMH07Cisg
ICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhl
IHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhlIGxhc3QgZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBk
b3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wIHswLjB9OworICAgIE1vbm90b25pY1RpbWUg
bV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAKaW5kZXgg
ZjE4ZGRmNDFmY2RjMDQ0NmVlNDAwOGI4MWIzOWJmNmM0YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0
YzMxNmNjZDkxZmJlMDA4NDg5ZTMxZjM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVw
bGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
UmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBAIC00Nyw4ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNz
aW9uU2VnbWVudD4gUmVwbGF5U2Vzc2lvblNlZ21lbnQ6OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Np
b25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2VnbWVudCgpCiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjpt
YWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+KCkpCisgICAgLCBtX3RpbWVzdGFtcChN
b25vdG9uaWNUaW1lOjpub3coKSkKICAgICAsIG1faWRlbnRpZmllcihzX25leHRTZWdtZW50SWRl
bnRpZmllcisrKQotICAgICwgbV90aW1lc3RhbXAoY3VycmVudFRpbWVNUygpKQogewogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCmluZGV4IGQ1NjJi
NTNjMDQ0ODQxM2Y0NjMyOTk3Y2ExOWY5NDhkZTIzYTJkOWMuLmY3Njc0MmM2NThlZGMwMTIzMmNl
MzNiZmVmNzk0ZjM1MzM2NDU3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkp
CiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTUxLDIwICs1MiwyMSBAQCBwdWJsaWM6CiAgICAgflJlcGxheVNlc3Npb25TZWdtZW50
KCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlm
aWVyOyB9Ci0gICAgZG91YmxlIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1w
OyB9CisgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVz
dGFtcDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgU2VnbWVudGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdl
KCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQotICAgIFZlY3Rvcjxkb3VibGUsIDA+JiBldmVudExv
b3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CisgICAgVmVjdG9yPE1v
bm90b25pY1RpbWUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BU
aW1pbmdzOyB9CiAKIHByaXZhdGU6CiAgICAgUmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKIAogICAg
IHN0ZDo6dW5pcXVlX3B0cjxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBW
ZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9vcFRpbWluZ3M7CisgICAgVmVjdG9yPE1vbm90b25p
Y1RpbWUsIDA+IG1fZXZlbnRMb29wVGltaW5nczsKIAorICAgIE1vbm90b25pY1RpbWUgbV90aW1l
c3RhbXA7CiAgICAgdW5zaWduZWQgbV9pZGVudGlmaWVyOwogICAgIGJvb2wgbV9jYW5DYXB0dXJl
IHt0cnVlfTsKLSAgICBkb3VibGUgbV90aW1lc3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRD
dXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCmlu
ZGV4IDc3YzNiOTQyMGM4ZmFkNDRkZTUzYmMwMTUyZGJlOTc2YmRkNmI2OTIuLjBmZWQxMDkyODEw
N2IzZTg0YmFlOTVlYzIzNzdlMGRjNzc5NTFiYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxh
eS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKFdF
Ql9SRVBMQVkpCiAKICNpbmNsdWRlIDxyZXBsYXkvSW5wdXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3
dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDEsOCArNDIsOCBAQCBjbGFzcyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vz
c2lvblNlZ21lbnQ7CiAKIHN0cnVjdCBFdmVudExvb3BJbnB1dERhdGEgewotICAgIEV2ZW50TG9v
cElucHV0QmFzZSogaW5wdXQ7Ci0gICAgZG91YmxlIHRpbWVzdGFtcDsKKyAgICBFdmVudExvb3BJ
bnB1dEJhc2UqIGlucHV0IHsgbnVsbHB0ciB9OworICAgIE1vbm90b25pY1RpbWUgdGltZXN0YW1w
OwogfTsKIAogY2xhc3MgUmVwbGF5aW5nSW5wdXRDdXJzb3IgZmluYWwgOiBwdWJsaWMgSW5wdXRD
dXJzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAppbmRleCBiMGJiYTRlZTJjNjZm
OTY3OGIxYzkwMDUwN2Y1MThhMDczMGU2OWQ0Li4xYTg4ZDg5Y2E0N2U5ODMxMjAyMjQyYTM1N2Mx
MDAyZWNkYzNjMjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcApAQCAtNTEzLDcg
KzUxMyw3IEBAIHZvaWQgU2NvcGU6OnNjaGVkdWxlVXBkYXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQog
CiAgICAgaWYgKG1fcGVuZGluZ1VwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX3BlbmRpbmdVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5k
aW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNjb3Bl
OjpkaWRDaGFuZ2VBY3RpdmVTdHlsZVNoZWV0Q2FuZGlkYXRlcygpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5jcHAKaW5kZXggYjJjYjNiMzNjYWMxYjcyYjZhZGQyNDI0YzNhYjRhMjBhYTIwNTZjNy4u
MTc0ZDYxZWM0MGEzMzI5ZWNkMTFhMGNkNTZhNTk1OGM3MzcyMzk5ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmNwcApAQCAtNjIxLDcgKzYyMSw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNW
R0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBzZW5kUGFyZW50TG9hZEV2ZW50cykKIAogdm9pZCBT
VkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KCkKIHsK
LSAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9uZVNob3QoMCk7CisgICAgc3ZnTG9hZEV2
ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNWR0VsZW1l
bnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
YW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAppbmRleCBjYmYzYjdiYTU4NDg1MDc3Mzdl
OTc1Y2RkMGE4MTkyZDMzNWZiZjUwLi43NTNlNDAxNGJjYzIxMmNiMzA4ZDhkNjY3Y2ZmZWJmZDEz
YzQ0NWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1l
Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1l
Q29udGFpbmVyLmNwcApAQCAtMjA1LDcgKzIwNSw3IEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6
OnN0YXJ0VGltZXIoU01JTFRpbWUgZWxhcHNlZCwgU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1l
CiAgICAgICAgIHJldHVybjsKIAogICAgIFNNSUxUaW1lIGRlbGF5ID0gc3RkOjptYXgoZmlyZVRp
bWUgLSBlbGFwc2VkLCBtaW5pbXVtRGVsYXkpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRl
bGF5LnZhbHVlKCkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoZGVsYXkudmFs
dWUoKSkpOwogfQogCiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjp0aW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IDYxMWM5MmI4ZmIz
NDUxY2ZjNmNmOTZjOGVkMzdlNzg1YTMyZDk3ZjguLjU0M2MzZjRkYWRlODk1MzhkOGI3NjI1MGM4
YWU1OGQ1MmVmNmJmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcApAQCAtNTM2LDcgKzUzNiw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0
dGluZ3M6OnNldE1pbmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbEluU2VjCiB7CiAg
ICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VT
U19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50
ZXJ2YWxJblNlY29uZHMgKiAxMDAwKSkpOworICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRp
bWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbEluU2Vjb25kcykpOwogICAgIHJldHVybiB7IH07
CiB9CiAKQEAgLTU2MCw3ICs1NjAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRp
bmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewogICAg
IGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1Nf
RVJSIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scyh0aW1lKTsKKyAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHModGltZSkpOwogICAgIHJldHVybiB7
IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXgg
NWE0ZjZlNGRhZDQ4NWNiNWFmMzEyN2RlZjgwNzhkYzc3NjFjMTk0MC4uODQ1OThhMmE1YjA0ZDI2
OTEyNDI2YTkwZTUzM2NiOTFjMTc4MWVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29s
IG1fbGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQ7CiAgICAgICAgIGJvb2wg
bV9pbWFnZXNFbmFibGVkOwogICAgICAgICBib29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7
Ci0gICAgICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5pbXVtVGltZXJJbnRlcnZh
bDsKKyAgICAgICAgU2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOwogI2lmIEVOQUJMRShW
SURFT19UUkFDSykKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7CiAgICAg
ICAgIGJvb2wgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnM7CkBAIC0xNTEsNyArMTUxLDcgQEAgcHJp
dmF0ZToKICNlbmRpZgogICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAg
ICAgICAgIGJvb2wgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKLSAgICAgICAgYm9vbCBtX29y
aWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAg
ICAgIFNlY29uZHMgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhh
bmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJs
ZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZl
ZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3NWM0YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0
NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29w
ZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAKIGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGlt
ZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0
KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24p
LCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4g
RE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6
OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29y
a2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQogCiBpbnQgV29ya2Vy
R2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+
IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0
aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCks
IGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0
aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2
b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA1MDlhOWE5Y2Q3MTBiNDViZmMwY2I5
ZWU5MWEyMmYxMzdjZjY4YjdhLi4xNDkyNDA2MGFjZmEyNjVjZWYyZmM3NWYxMTI2NmNjNmQ5Njhh
MmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUs
OCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25l
ZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6
ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRp
c2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0IHdpdGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFs
dWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWls
bGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAt
IG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1h
eCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsKKyAgICBTZWNvbmRzIGludGVydmFsID0gU2Vjb25k
czo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxsaXNlY29uZHMgPyBtX3RpbWVvdXRNaWxs
aXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1l
KTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoU2Vjb25kcygwKSwg
aW50ZXJ2YWwpKTsKICAgICByZXR1cm4geyB9OwogfQogCkBAIC00OTYsNyArNDk2LDcgQEAgT3B0
aW9uYWw8RXhjZXB0aW9uT3I8dm9pZD4+IFhNTEh0dHBSZXF1ZXN0OjpwcmVwYXJlVG9TZW5kKCkK
ICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb25Pcjx2b2lkPiB7IEV4Y2VwdGlvbiB7IE5FVFdP
UktfRVJSIH0gfTsKICAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwogICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+IHsgfTsKICAgICB9CiAK
QEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6Y3Jl
YXRlUmVxdWVzdCgpCiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChtX3Rp
bWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
IHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6
aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyB9KTsK
KyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICAg
ICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNv
bmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykpOwogICAgICAgICB9CiAgICAgfQogCkBAIC05NjAs
NyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwogICAgICAgICBzZXRQZW5k
aW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAgICAg
ICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0d29y
a0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogICAgIG1fZXhjZXB0aW9uQ29kZSA9IE5FVFdPUktfRVJSOwpAQCAtMTE4Myw3ICsxMTgz
LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVzdW1lKCkKICAgICAvLyBXZSBhcmUgbm90IGFs
bG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgSlMgaW4gcmVzdW1lKCkgc28gZGlzcGF0Y2gKICAg
ICAvLyB0aGUgZXJyb3IgZXZlbnQgaW4gYSB0aW1lci4KICAgICBpZiAobV9kaXNwYXRjaEVycm9y
T25SZXN1bWluZyAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3Vt
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnJlc3VtZVRpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBhZjY1MGZlNzkzZDljOGRi
NTgwODU5OTI4MWJkZjgwMGJlNTNiNzQ5Li40NTIyMTc5YmIwZmE1MTA1ZjRjOTQ1YjM1YTI3M2Zj
YzcyY2Q3ZWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMjMwLDcgKzIz
MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBuZXR3b3JrRXJyb3JUaW1lckZpcmVkKCk7CiAKICAg
ICB1bnNpZ25lZCBtX3RpbWVvdXRNaWxsaXNlY29uZHMgeyAwIH07Ci0gICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX3NlbmRpbmdUaW1lOworICAgIE1vbm90b25pY1Rp
bWUgbV9zZW5kaW5nVGltZTsKICAgICBUaW1lciBtX3RpbWVvdXRUaW1lcjsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
VGhyb3R0bGUuY3BwCmluZGV4IDM2NjYyNjU2YjUxYmY4YzllOWYyMjViY2IwNjc2ZTYwZjQ2MzA4
NzMuLjhhNzFlYzAwYWM4OTY5ZGIxYzVlOTRjMGQxMGViYmUxY2M5NDE3MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNv
bnN0IGRvdWJsZSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVBy
b2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzID0gLjA1OyAvLyA1MCBtcyBw
ZXIgc3BlY2lmaWNhdGlvbi4KK2NvbnN0IFNlY29uZHMgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCA9IFNl
Y29uZHMoMC4wNSk7IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTczLDEy
ICs3MywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNw
YXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZQogICAgICAgICBBU1NFUlQoIW1faGFz
VGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwg
bGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVhdGlu
ZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOworICAg
ICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2
YWwpOwogICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBz
byBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMgdGhl
IGxlYXN0IGZyZXF1ZW50IGV2ZW50LgorICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2
ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxlYXN0
IGZyZXF1ZW50IGV2ZW50LgogICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRydWU7
CiB9CiAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlOjpyZXN1bWUoKQogICAgIC8vIHRoZSBsaXN0IG9mIGFjdGl2ZSBET00gb2JqZWN0
cyB0byByZXN1bWUgdGhlbSwgYW5kIGFueSBhY3RpdmF0ZWQgSlMgZXZlbnQtaGFuZGxlcgogICAg
IC8vIGNvdWxkIGluc2VydCBuZXcgYWN0aXZlIERPTSBvYmplY3RzIHRvIHRoZSBsaXN0LgogICAg
IC8vIG1fZGVmZXJFdmVudHMgaXMga2VwdCB0cnVlIHVudGlsIGFsbCBkZWZlcnJlZCBldmVudHMg
aGF2ZSBiZWVuIGRpc3BhdGNoZWQuCi0gICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUuaAppbmRleCA5NzFiZDIzNDJjMDU2YjExNThiNDAxOWZiMmIzYWEyNTAzNDg0YThkLi4z
NDBmYjVjMDBkMTczZmI2MTYxYTc0ZTQxNWEwMTJiYWVmYjRmNzg2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
aApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXN1bWUoKTsKIAogcHJpdmF0
ZToKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hp
bmdJbnRlcnZhbEluU2Vjb25kczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtUHJv
Z3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWw7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQo
KTsKICAgICB2b2lkIGRpc3BhdGNoRGVmZXJyZWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwIGIvU291cmNlL1dlYktpdC9TdG9y
YWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKaW5kZXggYWMwZGNjMTI1Njk0ZGFkNGM0YjkyMjg3YTAz
MWVmYTA5MzU0ZWExOS4uYWZmOTViYmEzNWVkYzM5Njk3Y2IwZTk5ZGUwN2YyNWI0NzhmMDkyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKQEAgLTQxLDcgKzQx
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIElmIHRoZSBTdG9yYWdlQXJlYSB1bmRlcmdv
ZXMgcmFwaWQgY2hhbmdlcywgZG9uJ3Qgc3luYyBlYWNoIGNoYW5nZSB0byBkaXNrLgogLy8gSW5z
dGVhZCwgcXVldWUgdXAgYSBiYXRjaCBvZiBpdGVtcyB0byBzeW5jIGFuZCBhY3R1YWxseSBkbyB0
aGUgc3luYyBhdCB0aGUgZm9sbG93aW5nIGludGVydmFsLgotc3RhdGljIGNvbnN0IGRvdWJsZSBT
dG9yYWdlU3luY0ludGVydmFsID0gMS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RvcmFnZVN5
bmNJbnRlcnZhbCA9IFNlY29uZHMoMSk7CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBp
dGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBzeW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAog
Ly8gbXVjaCBoYXJkZXIgdG8gc3RhcnZlIHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhl
IE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdlbmVyYWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBT
dG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlSXRlbUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNv
bnN0IFN0cmluZyYgdmFsdWUKIAogICAgIG1fY2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsK
ICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIu
c3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5z
dGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxv
d2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBp
biB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMz
LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdl
ZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9pdGVtc0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9z
eW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qo
U3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChz
dG9yYWdlU3luY0ludGVydmFsKTsKIAogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFu
Y2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAg
ICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0
b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbG9zZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURh
dGFiYXNlID0gdHJ1ZTsKICAgICAKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsK
LSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwor
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAg
ICAgICAgIAogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxs
IHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJG
aXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6
c3luY1RpbWVyRmlyZWQoKQogICAgICAgICAvLyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUg
c2h1dHRpbmcgZG93biwgc2NoZWR1bGUgaXQgYW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Q
cm9ncmVzcyAmJiAhbV9maW5hbFN5bmNTY2hlZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCgh
bV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9u
ZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFy
dE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGlt
ZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRpYWxTeW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4n
dCBmaW5pc2ggc3luY2luZywgdGhlbiB3ZSBuZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgog
ICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNU
aW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1Rp
bWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAg
ICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxl
U3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMs
IHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hlZHVsZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNk
OGIwZGRhMDRkYjYwODFhNjYyM2JkLi45NWE5NmEwM2RjMTViOGYxMmU3NmY1ODI2YjVhNDg5ODBm
ZTEzOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIFN0b3JhZ2VUcmFja2VyKiBzdG9yYWdlVHJhY2tlciA9IG51bGxw
dHI7CiAKIC8vIElmIHRoZXJlIGlzIG5vIGRvY3VtZW50IHJlZmVyZW5jaW5nIGEgc3RvcmFnZSBk
YXRhYmFzZSwgY2xvc2UgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UKIC8vIGFmdGVyIGl0IGhhcyBi
ZWVuIGlkbGUgZm9yIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHNlY29uZHMuCi1zdGF0
aWMgY29uc3QgZG91YmxlIERlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDA7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
ID0gU2Vjb25kcygzMDApOwogICAgIAogdm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRy
YWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNs
aWVudCkKIHsKQEAgLTk3LDcgKzk3LDcgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2Vy
KGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgpCiAgICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5p
cXVlPFN0b3JhZ2VUaHJlYWQ+KCkpCiAgICAgLCBtX2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9u
ZWVkc0luaXRpYWxpemF0aW9uKGZhbHNlKQotICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1fc3RvcmFn
ZURhdGFiYXNlSWRsZUludGVydmFsKGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwp
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tl
ci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIw
ZDIyZTlhMzlmOWI4YzA4OTM3ZjU5NGU4ZmEzYmRhY2E4OC4uNzI2ZjMyNTFiMWQxZWVmNmMxYWFm
MTEyNjFjMGQyOTk3YjU5MTRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0
b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmgKQEAgLTU5LDggKzU5LDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsK
IAotICAgIGRvdWJsZSBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0
b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQotICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwoKSB7IHJldHVybiBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQg
c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9zdG9y
YWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmls
ZVN5c3RlbUFuZFRyYWNrZXJEYXRhYmFzZSgpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0
ZToKICAgICAKICAgICBib29sIG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6
YXRpb247Ci0gICAgZG91YmxlIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOworICAgIFNl
Y29uZHMgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9X
ZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9y
dC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCmluZGV4IDExYmNlM2JlZTBlMGJhMWQ3MDJm
NzJjNjY0NTNjYzJhMmJkZWI3ZjYuLjUzNzIxZTQ4OTFkMzRhMjJlNjYxY2QzZjkzNDE2YmEyYzUy
NDIxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIFdlYlJl
c291cmNlTG9hZFNjaGVkdWxlcjo6cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCkKIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCkKIHsKICAg
ICBpZiAoIW1fcmVxdWVzdFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVxdWVzdFRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQv
TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCmluZGV4IDM2ZGJiZWM2MjRl
ZWIwNTRmMDYyYTAyODQxMDAyOWJmMDhlNDI5ZDkuLmUwZDc4OTRmMzQ0NTNhZGYzYWM5MzczMGZk
NDhjM2VlNWQ2ZDc2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9z
dGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTc0NCw3
ICs3NDQsNyBAQCB2b2lkIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVy
RmlyZWQoKQogICAgIG1fcGx1Z2luUmVxdWVzdHMucmVtb3ZlRmlyc3QoKTsKICAgICAKICAgICBp
ZiAoIW1fcGx1Z2luUmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKICAgICAKICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAg
LTgwMCw3ICs4MDAsNyBAQCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9h
ZFJlcXVlc3QoTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8g
cGx1Z2luUmVxdWVzdCA9IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3Qs
IHRhcmdldCwgYWxsb3dQb3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChX
VEZNb3ZlKHBsdWdpblJlcXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgUmVmUHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFt
PiBzdHJlYW0gPSBIb3N0ZWROZXRzY2FwZVBsdWdpblN0cmVhbTo6Y3JlYXRlKHRoaXMsIHJlcXVl
c3RJRCwgcmVxdWVzdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
V2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dl
Yk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCmluZGV4IDA1Y2M0ZDQ3MmRhODYxMGEzNGJhNWJkYmVj
OGExNjNlNGFkMzhiOTQuLmMxZDlhYzgzNDIxMWE2MmJiZjBiMzI2MDdiM2RhODJjNmQ2YjU5Zjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5T
dHJlYW0ubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blN0cmVhbS5tbQpAQCAtNTI5LDcgKzUyOSw3IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVnaW5TdHJl
YW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewogICAg
ICAgICAgICAgLy8gUGx1Zy1pbiBjYW4ndCByZWNlaXZlIGFueW1vcmUgZGF0YSByaWdodCBub3cu
IFNlbmQgaXQgbGF0ZXIuCiAgICAgICAgICAgICBpZiAoIW1fZGVsaXZlckRhdGFUaW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICAgICAgICAgIG1fZGVsaXZlckRhdGFUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgZGVsaXZlcnlCeXRlcyA9IHN0ZDo6bWluKGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0ZXMgLSB0
b3RhbEJ5dGVzRGVsaXZlcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9X
ZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KaW5kZXggZWVhYWJhODI0ODFlNzM5MGQzNjJlOGIzYTE0
MmFlNTIyMDMyMjRhYi4uOGM2M2IwYjAzYTEwMmJkYzAzYzExNzNhNTM1ODMzNzBhYmI1OTBhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZp
ZXcubW0KQEAgLTEzNiw5ICsxMzYsOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICB0aW1lSW50ZXJ2
YWwgPSBzdGQ6Om1heCh0aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwogICAg
ICAgICAKICAgICAgICAgaWYgKG1fcmVwZWF0KQotICAgICAgICAgICAgc3RhcnRSZXBlYXRpbmco
dGltZUludGVydmFsKTsKKyAgICAgICAgICAgIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHModGltZUlu
dGVydmFsKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHN0YXJ0T25lU2hvdCh0aW1lSW50
ZXJ2YWwpOworICAgICAgICAgICAgc3RhcnRPbmVTaG90KFNlY29uZHModGltZUludGVydmFsKSk7
CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFn
ZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3Rv
cmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZhZDVkNjBlNGJlMGYxYjk4NzQz
Njg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2IwNWEyNzM5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCkBAIC0xMTYsNyAr
MTE2LDcgQEAgKyAoTlNTdHJpbmcgKilfc3RvcmFnZURpcmVjdG9yeVBhdGgKIAogKyAodm9pZClz
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbAogewotICAgIFdl
YktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5z
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQogCiAr
ICh2b2lkKWNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdGFiYXNlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IDhlNDcxYjE2YjMyYTYyOGZhNGU1ODRkYzhkYzVjOGM5OTA5Yjdh
NDMuLjNhMjBiOTQyOGM1YTkyNDU3YjlhMjQ4MjQ4OWVkYjU1OWVmMjJmM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI3NDksNyArMjc0OSw3IEBAIC0gKHZvaWQpX3By
ZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogICAgIHNldHRp
bmdzLnNldFNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMoc2hvdWxk
RGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cygpKTsKIAogICAgIHNldHRpbmdz
LnNldFBhc3N3b3JkRWNob0VuYWJsZWQoW3ByZWZlcmVuY2VzIF9hbGxvd1Bhc3N3b3JkRWNob10p
OwotICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKFtwcmVmZXJl
bmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRpb25dKTsKKyAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVj
aG9EdXJhdGlvbihbcHJlZmVyZW5jZXMgX3Bhc3N3b3JkRWNob0R1cmF0aW9uXSk7CiAKICAgICBB
U1NFUlRfV0lUSF9NRVNTQUdFKHNldHRpbmdzLnBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucygpLCAi
UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zIHNob3VsZCBiZSBlbmFibGVkIG9uIGlPUy4iKTsKICAg
ICBzZXR0aW5ncy5zZXREZWxlZ2F0ZXNQYWdlU2NhbGluZyh0cnVlKTsKQEAgLTI4NjQsNyArMjg2
NCw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVm
ZXJlbmNlcwogCiAgICAgTlNUaW1lSW50ZXJ2YWwgdGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRp
bWVvdXQgPiAwKQotICAgICAgICBzZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHBy
ZXNzaW9uVGltZW91dEluU2Vjb25kcyh0aW1lb3V0KTsKKyAgICAgICAgc2V0dGluZ3Muc2V0SW5j
cmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoU2Vjb25kcyh0aW1lb3V0KSk7CiAK
ICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBQcmVmZXJlbmNlcyBhcmUgc3RvcmVkIG9uIHRoZSBn
bG9iYWwgY2FjaGUgc3RvcmFnZSBtYW5hZ2VyLCBub3QgaW4gU2V0dGluZ3MuCiAgICAgW1dlYkFw
cGxpY2F0aW9uQ2FjaGUgc2V0RGVmYXVsdE9yaWdpblF1b3RhOltwcmVmZXJlbmNlcyBhcHBsaWNh
dGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhXV07CkBAIC04Mjk4LDcgKzgyOTgsNyBAQCArICh2
b2lkKV9zZXRDYWNoZU1vZGVsOihXZWJDYWNoZU1vZGVsKWNhY2hlTW9kZWwKICAgICB1bnNpZ25l
ZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFj
aXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0
byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMg
eyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vj
b25kcygwKTsKIAogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDI1LDcg
Kzg0MjUsNyBAQCArICh2b2lkKV9zZXRDYWNoZU1vZGVsOihXZWJDYWNoZU1vZGVsKWNhY2hlTW9k
ZWwKICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291
bGQganVzdGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkg
PSBzdGQ6Om1heDx1bnNpZ25lZD4oMjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAg
ICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMg
eyA2MCB9OworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vjb25k
cyg2MCk7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRh
c2suY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNw
cAppbmRleCAzMTI1ODg4MzM1NTBlYTFmODI0N2MzN2M5ZmQzOTdlODVhOGMxZDQ0Li5lNWM0YmQx
NjczNzc4Njk5YTM4ZDY2YWU2OGI3OTYyYTljYTc2OWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKQEAgLTkxLDcgKzkxLDcgQEAg
dm9pZCBOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQog
ewogICAgIEFTU0VSVCh0eXBlICE9IE5vRmFpbHVyZSk7CiAgICAgbV9zY2hlZHVsZWRGYWlsdXJl
VHlwZSA9IHR5cGU7Ci0gICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
ZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBOZXR3b3Jr
RGF0YVRhc2s6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2Us
IFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAppbmRleCA1MTdmODQ1YWFi
ZTUyM2YyZWZhOTYxODRlZWY3MjUzYWUyY2E0ZDlmLi5lZjIzZjcwMDA1Y2VmN2UwODhjZjJiYzBh
MTJjMGUwYTE4NGY0NzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrTG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWQuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
I2lmIFVTRShORVRXT1JLX1NFU1NJT04pCiAKIHN0cnVjdCBOZXR3b3JrTG9hZDo6VGhyb3R0bGUg
ewotICAgIFRocm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlv
bkhhbmRsZXImJiBoYW5kbGVyKQorICAgIFRocm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBTZWNv
bmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlv
bkhhbmRsZXImJiBoYW5kbGVyKQogICAgICAgICA6IHRpbWVyKGxvYWQsICZOZXR3b3JrTG9hZDo6
dGhyb3R0bGVEZWxheUNvbXBsZXRlZCkKICAgICAgICAgLCByZXNwb25zZShXVEZNb3ZlKHJlc3Bv
bnNlKSkKICAgICAgICAgLCByZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFuZGxl
cikpCkBAIC0zMTEsOCArMzExLDggQEAgdm9pZCBOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlTmV0d29ya1Nlc3Npb24oUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLAogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBkZWxheSA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0
b24oKS5sb2FkVGhyb3R0bGVMYXRlbmN5KCk7Ci0gICAgaWYgKGRlbGF5ID4gMG1zKSB7CisgICAg
U2Vjb25kcyBkZWxheSA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5sb2FkVGhyb3R0bGVM
YXRlbmN5KCk7CisgICAgaWYgKGRlbGF5ID4gU2Vjb25kcygwKSkgewogICAgICAgICBtX3Rocm90
dGxlID0gc3RkOjptYWtlX3VuaXF1ZTxUaHJvdHRsZT4oKnRoaXMsIGRlbGF5LCBXVEZNb3ZlKHJl
c3BvbnNlKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
aW5kZXggYzk2ZDA4MjllMTViNmQ4OGJhZTE1Y2YwYzEyY2M0Y2QyMzhmMTEzYi4uOGM1YjdhNDg4
NWZjNDQ5ZWVhZGUwNzQ0Y2Q5ZmM2MDI1YWNlNjFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xMTUsNyArMTE1LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBncmFudFNhbmRib3hFeHRlbnNpb25zVG9EYXRhYmFzZVByb2Nlc3NGb3JC
bG9icyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGdW5jdGlvbjx2b2lkICgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKTsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9h
ZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsg
fQorICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9h
ZFRocm90dGxlTGF0ZW5jeTsgfQogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBA
IC0yMDcsNyArMjA3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3VwcHJlc3NNZW1vcnlQcmVz
c3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaXNrQ2FjaGVJc0Rpc2FibGVkRm9y
VGVzdGluZzsKICAgICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247
Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7Cisg
ICAgU2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8
Y29uc3QgY2hhciosIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ+LCBQ
dHJIYXNoPGNvbnN0IGNoYXIqPj4gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwOwogICAgIE5l
dHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKaW5kZXggZjQ1NjljOTQ2OWE1NzcyZTYwYjFjOWJmZjU2MDg1ZDNhY2I0
M2MzZC4uNzA5NTE1MzBlMzI5ZmExYzVmM2ZmOGU2NzJiOTM0MzA4YzU4ZjhhZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQXR0
YWNobWVudC5oIgogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0
ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTczLDcgKzc0LDcgQEAg
c3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIHNob3Vs
ZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIHNob3Vs
ZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbjsKICAgICBib29sIHVybFBhcnNlckVuYWJsZWQgeyBm
YWxzZSB9OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5j
eSB7IDBtcyB9OworICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIFZlY3Rv
cjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xzOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCA0MjU1YWRlNDExNTBkYTk2OWYyMTExNzUxMmQ3ZGY2
ZjdmN2M5YzRhLi41YjI5ZTBlYmQ0M2EzOGJlNTJhZTY2ZGM1MjEwMzJlYzIwNjcwYWQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIFJl
c291cmNlTG9hZElkZW50aWZpZXIgaWRlbnRpZmllciB7IDAgfTsKICAgICBWZWN0b3I8UmVmUHRy
PFNhbmRib3hFeHRlbnNpb24+PiByZXF1ZXN0Qm9keVNhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVh
dGVkIGF1dG9tYXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCiAgICAgUmVmUHRyPFNhbmRib3hFeHRl
bnNpb24+IHJlc291cmNlU2FuZGJveEV4dGVuc2lvbjsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5
IGZvciB0aGUgc2VuZGVyLgotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1
ZmZlcmluZ1RpbWUgeyAwbXMgfTsKKyAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA5MDEwNTk5Njhh
MzkxMzAxZGEyYWM5MjM3NGI3ZjkyNDVkNjk0ZGQ2Li42YzE3Y2U1Y2Y1NGU4NmI2YTliNmE5ZTY3
ODBjMzE5NGQ5MDVhODU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9hZChjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QpCiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIAotICAg
IGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1l
ID4gMG1zKQorICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGltdW1C
dWZmZXJpbmdUaW1lID4gU2Vjb25kcygwKSkKICAgICAgICAgbV9idWZmZXJlZERhdGEgPSBTaGFy
ZWRCdWZmZXI6OmNyZWF0ZSgpOwogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaAppbmRleCAzMDBjMzA4MTI0ZjM0Y2E2N2E5
ZGE1YmI3NDA1NGU2MDJlYzI5ZDEyLi44MTYyNjUzYmQzZmI1ZmYyNjM2YTNlMDkxZmI3ZGE3ZTc0
OGVlNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9h
ZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKQEAgLTQ2
LDcgKzQ2LDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVz
cG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8g
U2V0IGEgdmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGlt
ZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDYwMDAwKSk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggZjI2MjI5
ZDBlMGE5YTc3YTE3NmFlZjQxMTlkYzRlN2Q4NDg5YjQxOC4uY2M4MzA2MzI3NDAwMWNkNDE0NGRi
MGZlYmIxZDVjYmEzNGNkNzAyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRp
dmVMb2FkTWFuYWdlci5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIE5ldHdvcmtDYWNo
ZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3QgYXV0byBwcmVs
b2FkZWRFbnRyeUxpZmV0aW1lID0gMTBzOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJlbG9hZGVk
RW50cnlMaWZldGltZSA9IFNlY29uZHMoMTApOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGlj
IEhhc2hDb3VudGVkU2V0PFN0cmluZz4mIGFsbFNwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNN
ZXNzYWdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCmluZGV4IGU4ZGM2NDNjN2YyNDUy
YmE5ZGM1MzNmNTE4ZTFmZmJhOTk4OGQ1MWIuLmMwZWUyMGE2NGUyYWQyZWJlZjkyYzcyMDRmYWM2
Nzk2ODA4NzUxMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCkBAIC00NCw3ICs0NCw3
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKIHN0YXRp
YyBjb25zdCBjaGFyKiBTdGF0aXN0aWNzRGF0YWJhc2VOYW1lID0gIldlYktpdENhY2hlU3RhdGlz
dGljcy5kYiI7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbnVt
V3JpdGVJbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoMTAwMDApOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWluaW51bVdyaXRlSW50ZXJ2YWwgPSBTZWNvbmRzKDEwKTsKIAogc3Rh
dGljIGJvb2wgZXhlY3V0ZVNRTENvbW1hbmQoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFi
YXNlLCBjb25zdCBTdHJpbmcmIHNxbCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggMDVh
M2QxYzYxZjYzMGM2MWE0NWU0NzQyOGFlYmNlOGEyZjIzMmU2Yy4uYmQ4MWMzYjcyYTg2Y2M5NDc5
YTZlYjY0NWFhNTZiOGJjMGMxZGM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTU3NCw3
ICs1NzQsNyBAQCB2b2lkIFN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbihzdGQ6OnVuaXF1
ZV9wdHI8UmVhZE9wZXJhdGlvbj4gcmVhZE9wZXJhdGlvbgogICAgIG1fYWN0aXZlUmVhZE9wZXJh
dGlvbnMuYWRkKFdURk1vdmUocmVhZE9wZXJhdGlvblB0cikpOwogCiAgICAgLy8gSS9PIHByZXNz
dXJlIG1heSBtYWtlIGRpc2sgb3BlcmF0aW9ucyBzbG93LiBJZiB0aGV5IHN0YXJ0IHRha2luZyB2
ZXJ5IGxvbmcgdGltZSB3ZSByYXRoZXIgZ28gdG8gbmV0d29yay4KLSAgICBjb25zdCBhdXRvIHJl
YWRUaW1lb3V0ID0gMTUwMG1zOworICAgIGNvbnN0IFNlY29uZHMgcmVhZFRpbWVvdXQgPSBTZWNv
bmRzKDEuNSk7CiAgICAgbV9yZWFkT3BlcmF0aW9uVGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChy
ZWFkVGltZW91dCk7CiAKICAgICBib29sIHNob3VsZEdldEJvZHlCbG9iID0gbWF5Q29udGFpbkJs
b2IocmVhZE9wZXJhdGlvbi5rZXkpOwpAQCAtNzk2LDcgKzc5Niw3IEBAIHZvaWQgU3RvcmFnZTo6
c3RvcmUoY29uc3QgUmVjb3JkJiByZWNvcmQsIE1hcHBlZEJvZHlIYW5kbGVyJiYgbWFwcGVkQm9k
eUhhbmRsZXIpCiAKICAgICAvLyBEZWxheSB0aGUgc3RhcnQgb2Ygd3JpdGVzIGEgYml0IHRvIGF2
b2lkIGFmZmVjdGluZyBlYXJseSBwYWdlIGxvYWQuCiAgICAgLy8gQ29tcGxldGluZyB3cml0ZXMg
d2lsbCBkaXNwYXRjaCBtb3JlIHdyaXRlcyB3aXRob3V0IGRlbGF5LgotICAgIHN0YXRpYyBjb25z
dCBhdXRvIGluaXRpYWxXcml0ZURlbGF5ID0gMXM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMg
aW5pdGlhbFdyaXRlRGVsYXkgPSBTZWNvbmRzKDEpOwogICAgIG1fd3JpdGVPcGVyYXRpb25EaXNw
YXRjaFRpbWVyLnN0YXJ0T25lU2hvdChpbml0aWFsV3JpdGVEZWxheSk7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0Nv
Y29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFU
YXNrQ29jb2EubW0KaW5kZXggNGNlZmE4ZWIzNTdhZTQ0YmQyNWE1NzQ2YjQ1ZmY5YTA4YjRlMjBk
Zi4uZjA4NzUyZTU0YzljNzE1NTVkZDBhNzE0ZjEwMzcxNDIyOWUxZTMwNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFU
YXNrQ29jb2EubW0KQEAgLTMzMyw3ICszMzMsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29h
OjpjYW5jZWwoKQogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKCkKIHsKICAgICBp
ZiAobV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpCi0gICAgICAgIG1fZmFpbHVy
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogICAgIFttX3Rhc2sgcmVzdW1lXTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKaW5kZXggOWFjNzZjNmQzOTQ3
ZGUyNjg3MWViNjg5MjA2NWJkYTZiNzc4Y2ZlMS4uZDA0NmFmNWRlMjA3MzYzMjdiMTA3NjgzMGVj
YjliOGE5ZWZlZDU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Fy
Z3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1l
bnRDb2RlcnMuY3BwCkBAIC0zMiw2ICszMiwzNiBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIAordm9p
ZCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25k
c1NpbmNlRXBvY2goKS52YWx1ZSgpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8TW9ub3Rvbmlj
VGltZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQorewor
ICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgdGltZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNv
bmRzKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBBcmd1bWVudENvZGVyPFNl
Y29uZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25kcykK
K3sKKyAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENv
ZGVyPFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25kcykK
K3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0
ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50JiB0aW1lUG9pbnQpCiB7CiAg
ICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxpbnQ2NF90Pih0aW1lUG9pbnQudGltZV9zaW5jZV9l
cG9jaCgpLmNvdW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0FyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRD
b2RlcnMuaAppbmRleCAwNTY4YWNlYTlmNDc5NzE0NWIwMGQ5ZGI1NzZjM2MxOGM3NzUzZTFjLi43
NzQwNDlhZjIyNjcxNzJiMTIxMmFhZmZmYzJjNWFkMzJlMzE1MTUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaApAQCAtMTYzLDcgKzE2Myw2IEBAIHRl
bXBsYXRlPHR5cGVuYW1lLi4uIEVsZW1lbnRzPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OnR1
cGxlPEVsZW1lbnRzLi4uPj4gewogICAgIH0KIH07CiAKLQogdGVtcGxhdGU8dHlwZW5hbWUgUmVw
LCB0eXBlbmFtZSBQZXJpb2Q+IHN0cnVjdCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpkdXJh
dGlvbjxSZXAsIFBlcmlvZD4+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5j
b2RlciwgY29uc3Qgc3RkOjpjaHJvbm86OmR1cmF0aW9uPFJlcCwgUGVyaW9kPiYgZHVyYXRpb24p
CiAgICAgewpAQCAtMzc5LDYgKzM3OCwxNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5
cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZz4gc3RydWN0IEFyZ3VtZQogICAg
IH0KIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpNb25vdG9uaWNU
aW1lPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6Ok1vbm90
b25pY1RpbWUmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6TW9ub3Rv
bmljVGltZSYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6OlNl
Y29uZHM+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6U2Vj
b25kcyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpTZWNvbmRzJik7
Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0
ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYs
IGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQmKTsKICAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVf
cG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IDUw
M2NmNWYzYmIyMjYyNjFjMjI0MGRlYzgyZDZlMDdlYWFkZmUxZTIuLjE4YmYzMWM2NjRjMGMyZGZi
ODUxNGFlODMyNzdkZjAxMGMyMTIxYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uaApAQCAtMTg2LDcgKzE4Niw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIGJvb2wga2lsbCgpOwotICAgIHZvaWQgdGVybWluYXRlU29vbihkb3VibGUgaW50
ZXJ2YWxJblNlY29uZHMpOworICAgIHZvaWQgdGVybWluYXRlU29vbihTZWNvbmRzKTsKICNlbmRp
ZgogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5kZXgg
Mjg5OTUxMjk0NjNlODMxOTEwNzBiZWU4NWZkYmU4NzA1NDhlNTViMS4uNzA0NDY5MTU2YWY4MWJk
NDE1OGYxNzFlMDgxN2Q4OGVkYmZiMTdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQpAQCAtODAsMjAgKzgwLDIwIEBAIGVudW0gewog
Ly8gICAgdG8gZW5zdXJlIGl0IGhhcyBhIGNoYW5jZSB0byB0ZXJtaW5hdGUgY2xlYW5seS4KIGNs
YXNzIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
dm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNf
Y29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQor
ICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2Jq
ZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFs
KQogICAgIHsKLSAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nv
bm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsKTsKICAgICB9CiAgICAgCiBw
cml2YXRlOgotICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhw
Y19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMp
CisgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5l
Y3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgICAgIDogbV94
cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24pCiAgICAgICAgICwgbV93YXRjaGRvZ1RpbWVyKFJ1
bkxvb3A6Om1haW4oKSwgdGhpcywgJkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjp3YXRj
aGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICAsIG1fYXNzZXJ0aW9u
KHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQcm9jZXNzQW5kVUlBc3NlcnRpb24+KHhwY19jb25u
ZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgpKSwgV2ViS2l0OjpBc3NlcnRpb25T
dGF0ZTo6QmFja2dyb3VuZCkpCiAjZW5kaWYKICAgICB7Ci0gICAgICAgIG1fd2F0Y2hkb2dUaW1l
ci5zdGFydE9uZVNob3QoaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBtX3dhdGNoZG9nVGlt
ZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCB3YXRjaGRv
Z1RpbWVyRmlyZWQoKQpAQCAtMTUxLDEwICsxNTEsMTAgQEAgdm9pZCBDb25uZWN0aW9uOjpwbGF0
Zm9ybUludmFsaWRhdGUoKQogI2VuZGlmCiB9CiAgICAgCi12b2lkIENvbm5lY3Rpb246OnRlcm1p
bmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQordm9pZCBDb25uZWN0aW9uOjp0ZXJt
aW5hdGVTb29uKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1feHBjQ29ubmVjdGlvbikK
LSAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOwor
ICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRl
cm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiB9CiAgICAgCiB2
b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW5pdGlhbGl6ZShJZGVudGlmaWVyIGlkZW50aWZpZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5jcHAKaW5kZXggZGE5ZGIyMjRlZGMwZWEwY2JkMDAyZGMxNzEyYTBjMTg2ZDE5MzVl
NC4uMTFjYmFhMzFkYzViMzdlNzliZTQ1NWUwYzgzYWExMTVhZTcxMGU2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNw
cApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95
KCkKICAgICBpZiAobV9wbHVnaW5EZXN0cnVjdGlvblByb3RlY3RDb3VudCB8fCBtX2Nvbm5lY3Rp
b24tPmNvbm5lY3Rpb24oKS0+aW5TZW5kU3luYygpKSB7CiAgICAgICAgIC8vIFdlIGhhdmUgcGx1
Zy1pbiBjb2RlIG9uIHRoZSBzdGFjayBzbyB3ZSBjYW4ndCBkZXN0cm95IGl0IHJpZ2h0IG5vdy4K
ICAgICAgICAgLy8gRGVzdHJveSBpdCBsYXRlci4KLSAgICAgICAgbV9wbHVnaW5EZXN0cm95VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIxNSw3ICsy
MTUsNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLgotICAgIG1fcGFpbnRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIAogICAgIG1fd2FpdGluZ0ZvckRpZFVwZGF0ZSA9IHRydWU7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAppbmRleCBhNzI0ZWIwOGY5
MGQ1OWRiMTI5ODIzNDQxZTc3ZTA4ZmVlYzdiMjViLi5jYTIxNDZjMzdmNmYxZmY4NzY0MGRkMjZm
MzA0NzAyZjc1NjgyMTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5jcHAKQEAgLTIyMCw5ICsyMjAsOSBAQCB2b2lkIFBsdWdpblByb2Nlc3M6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0TmFt
ZQogICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OlBsdWdpblBy
b2Nlc3NQcm94eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY2FsbGJhY2tJRCks
IDApOwogfQogCi12b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZShkb3VibGUg
bGlmZXRpbWUpCit2b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZShTZWNvbmRz
IGxpZmV0aW1lKQogewotICAgIGlmIChsaWZldGltZSA8PSAwLjApCisgICAgaWYgKGxpZmV0aW1l
IDw9IFNlY29uZHMoMCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBkaXNhYmxlVGVybWlu
YXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgK
aW5kZXggOWE5MGU0YzI1MzkzYTdlZDQ2Yzk4N2I1ZWU0NDQ5YTc0YWI5MjMzYi4uMjBhYzA2N2Iw
NDk1ZTZhYzc2MjJjMDA2MjAwMzhjMDFmNWYzMDI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKFBsdWdpblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgCi0gICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRpbWUo
ZG91YmxlKTsKKyAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShTZWNvbmRzKTsKICAgICB2b2lk
IG1pbmltdW1MaWZldGltZVRpbWVyRmlyZWQoKTsKICAgICAvLyBPdXIgd2ViIHByb2Nlc3MgY29u
bmVjdGlvbnMuCiAgICAgVmVjdG9yPFJlZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1fd2Vi
UHJvY2Vzc0Nvbm5lY3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nh
Y2hlTW9kZWwuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCmluZGV4
IDQwM2YzNGRmY2Q0YjdhZGM0OWJhMDQ2MmI5ZmRlZmE2ZGVmM2ZkNDUuLjEyYmE3YjEzMWExZDg5
ZjlhOWRlZDhjMDU1YmFiNTg3YTgzNDhhNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DYWNoZU1vZGVsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2Rl
bC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgY2Fs
Y3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBj
YWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWdu
ZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQordm9p
ZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWdu
ZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1
bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkKIHsKICAgICB1aW50
NjRfdCBtZW1vcnlTaXplID0gcmFtU2l6ZSgpIC8gTUI7CiAKQEAgLTEwOSw3ICsxMDksNyBAQCB2
b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNp
Z25lZCYgY2FjaGVUb3RhbENhcGFjaQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3Zl
cmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBj
YWNoZU1heERlYWRDYXBhY2l0eSA9IHN0ZDo6bWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkp
OwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwgPSBTZWNvbmRzKDYwKTsKIAogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0NhY2hlTW9kZWwuaAppbmRleCBjZjQ3MzQ1NGZlMmFjMzNkM2NhNDNhNzJmYTU5M2U0YzRlNTFk
M2Q1Li4xZTA3NzY4OGVhNzhkYzg0Mjk4OGY0ZjVmMDNhY2FiYjkzMTI0YTczIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9DYWNoZU1vZGVsLmgKQEAgLTI2LDggKzI2LDggQEAKICNpZm5kZWYgQ2FjaGVNb2Rl
bF9oCiAjZGVmaW5lIENhY2hlTW9kZWxfaAogCi0jaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUg
PHN0ZGludC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCkBAIC0zNyw3ICszNyw3IEBAIGVudW0gQ2FjaGVNb2RlbCB7CiAgICAgQ2FjaGVNb2RlbFBy
aW1hcnlXZWJCcm93c2VyCiB9OwogCi12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2Fj
aGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWlu
RGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25v
OjpzZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFn
ZUNhY2hlQ2FwYWNpdHkpOwordm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9k
ZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRD
YXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNvbmRzJiBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpOwog
dm9pZCBjYWxjdWxhdGVVUkxDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVpbnQ2NF90IGRpc2tGcmVl
U2l6ZSwgdW5zaWduZWQmIHVybENhY2hlTWVtb3J5Q2FwYWNpdHksIHVpbnQ2NF90JiB1cmxDYWNo
ZURpc2tDYXBhY2l0eSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmNwcAppbmRleCAxNzU3ODlmYjlhZTcxM2YxNmVlZWRiZmFiZTAwZDZm
MzNlNjNjZjIzLi40OWI3OTQ2NWRmNmUxYjJhMTIxYzNmYTUyZDAwM2ZiMTk1MWJjMjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcApAQCAtMzMsOCArMzMsNyBAQAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIENoaWxkUHJvY2Vzczo6Q2hpbGRQcm9jZXNzKCkKLSAgICA6IG1f
dGVybWluYXRpb25UaW1lb3V0KDApCi0gICAgLCBtX3Rlcm1pbmF0aW9uQ291bnRlcigwKQorICAg
IDogbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKICAgICAsIG1fdGVybWluYXRpb25UaW1lcihSdW5M
b29wOjptYWluKCksIHRoaXMsICZDaGlsZFByb2Nlc3M6OnRlcm1pbmF0aW9uVGltZXJGaXJlZCkK
ICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWQoIlByb2Nlc3MgU3VwcHJlc3Npb24g
RGlzYWJsZWQgYnkgVUlQcm9jZXNzIikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3Mu
aAppbmRleCBhMDZlMzQ5YTM4YzI4MWY1YWNlOGQzNjIyYTA1NDYxZjk0MDRkYTVjLi45ODVhZDZh
NjFiMmE4MmFiNzg1MDI5ZmU0MmRlYzQ3NTJlZmM0NmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5oCkBAIC04MSw3ICs4MSw3IEBAIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBD
aGlsZFByb2Nlc3MoKTsKICAgICB2aXJ0dWFsIH5DaGlsZFByb2Nlc3MoKTsKIAotICAgIHZvaWQg
c2V0VGVybWluYXRpb25UaW1lb3V0KGRvdWJsZSBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1l
b3V0ID0gc2Vjb25kczsgfQorICAgIHZvaWQgc2V0VGVybWluYXRpb25UaW1lb3V0KFNlY29uZHMg
c2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KIAogICAgIHZpcnR1
YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMmKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNv
bnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwpAQCAtMTE3LDcgKzEx
Nyw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGUgdGltZW91dCwgaW4gc2Vjb25kcywgYmVmb3Jl
IHRoaXMgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaWYgdGVybWluYXRpb24KICAgICAvLyBo
YXMgYmVlbiBlbmFibGVkLiBJZiB0aGUgdGltZW91dCBpcyAwIHNlY29uZHMsIHRoZSBwcm9jZXNz
IHdpbGwgYmUgdGVybWluYXRlZCBpbW1lZGlhdGVseS4KLSAgICBkb3VibGUgbV90ZXJtaW5hdGlv
blRpbWVvdXQ7CisgICAgU2Vjb25kcyBtX3Rlcm1pbmF0aW9uVGltZW91dDsKIAogICAgIC8vIEEg
dGVybWluYXRpb24gY291bnRlcjsgd2hlbiB0aGUgY291bnRlciByZWFjaGVzIHplcm8sIHRoZSBw
cm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZAogICAgIC8vIGFmdGVyIGEgZ2l2ZW4gcGVyaW9kIG9m
IHRpbWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYTEyYTQ0NDViYjE2Y2Fh
ZjY5MjczYjY0YTg2MzIxMDhlN2Q1NDlmNC4uYjFhMzRhNGRmMWQyZDgyNTk4YWNhNmNmODQ1NGVi
NGZhMWNkZTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMzAsNiArMzAs
NyBAQAogCiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NB
dHRyaWJ1dGVzLmgiCisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogI2lmIFBMQVRGT1JNKENP
Q09BKQogI2luY2x1ZGUgPFdlYkNvcmUvTWFjaFNlbmRSaWdodC5oPgpAQCAtNTEsOCArNTIsOCBA
QCBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgUGx1Z2luUHJv
Y2Vzc1R5cGUgcHJvY2Vzc1R5cGU7CiAgICAgYm9vbCBzdXBwb3J0c0FzeW5jaHJvbm91c1BsdWdp
bkluaXRpYWxpemF0aW9uOwogCi0gICAgZG91YmxlIG1pbmltdW1MaWZldGltZTsKLSAgICBkb3Vi
bGUgdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbWluaW11bUxpZmV0aW1lOworICAg
IFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
V2ViQ29yZTo6TWFjaFNlbmRSaWdodCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggZjBm
ZmI3NzI2YTUzZWU0Zjg0MjNkNDZiNzliYjBmZGFmMDVkZTdjNC4uMzgwZTAxZTVlNzQ2MTczN2U1
NzUzZTk2NjVhYzJlMzQ2MDU1MjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTEwNiwzNiArMTA2LDYgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxNb25v
dG9uaWNUaW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25pY1RpbWUm
IHRpbWUpCi17Ci0gICAgZW5jb2RlciA8PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUo
KTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBkb3VibGUgdmFsdWU7Ci0g
ICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIHRpbWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7Ci0gICAgcmV0
dXJuIHRydWU7Ci19Ci0KLXZvaWQgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29uZHMpCi17Ci0gICAgZW5jb2RlciA8PCBz
ZWNvbmRzLnZhbHVlKCk7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29uZHMpCi17Ci0gICAgZG91YmxlIHZhbHVl
OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IHZvaWQgQXJndW1lbnRDb2RlcjxBZmZpbmVUcmFuc2Zvcm0+OjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlciwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhZmZpbmVUcmFuc2Zvcm0pCiB7CiAgICAgU2lt
cGxlQXJndW1lbnRDb2RlcjxBZmZpbmVUcmFuc2Zvcm0+OjplbmNvZGUoZW5jb2RlciwgYWZmaW5l
VHJhbnNmb3JtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaAppbmRleCA0ODE5ZmNiYzA0YWM3MTYyNTY3M2E4NDQ2N2Y3NDU0MmNjYjkyOTk1Li4zMTU0
MDYyZDlkYzM1MmE5MWY0YjMzYmI2NTQzOTk1NmU1ODgwOWI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC0zMSwxMSArMzEsNiBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvSW5kZXhlZERCLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYXltZW50SGVh
ZGVycy5oPgogCi1uYW1lc3BhY2UgV1RGIHsKLWNsYXNzIE1vbm90b25pY1RpbWU7Ci1jbGFzcyBT
ZWNvbmRzOwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07
CiBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKQEAgLTE1MiwxNiArMTQ3LDYgQEAgdXNp
bmcgSURCS2V5UGF0aCA9IFZhcmlhbnQ8U3RyaW5nLCBWZWN0b3I8U3RyaW5nPj47CiAKIG5hbWVz
cGFjZSBJUEMgewogCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3Rv
bmljVGltZT4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpN
b25vdG9uaWNUaW1lJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1v
bm90b25pY1RpbWUmKTsKLX07Ci0KLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RG
OjpTZWNvbmRzPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6
OlNlY29uZHMmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25k
cyYpOwotfTsKLQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBZmZp
bmVUcmFuc2Zvcm0+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdl
YkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVy
JiwgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
TWVtb3J5U2FtcGxlci5jcHAKaW5kZXggMDUzZmE2ZWEyOTczY2U3YjFkYjNjZmYzOTI3NTFlYWJm
NGUxOGQxMC4uNDQ2M2EwNzgyZGFkNmZkZTcwMDA2NzdhOGZjNTZiNDQwNDllMjcxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcApAQCAtNTcsNyArNTcsNiBA
QCBXZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKCkKICAgICA6IG1fc2FtcGxlVGlt
ZXIoKnRoaXMsICZXZWJNZW1vcnlTYW1wbGVyOjpzYW1wbGVUaW1lckZpcmVkKQogICAgICwgbV9z
dG9wVGltZXIoKnRoaXMsICZXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCkKICAgICAs
IG1faXNSdW5uaW5nKGZhbHNlKQotICAgICwgbV9ydW5uaW5nVGltZSgwKQogewogfQogCkBAIC02
Nyw3ICs2Niw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3QgZG91YmxlIGlu
dGVydmFsKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaW5pdGlhbGl6ZVRlbXBMb2dGaWxl
KCk7Ci0gICAgaW5pdGlhbGl6ZVRpbWVycyhpbnRlcnZhbCk7CisgICAgaW5pdGlhbGl6ZVRpbWVy
cyhTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQo
Y29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxlLCBjb25z
dCBTdHJpbmcmIHNhbXBsZUxvZ0ZpbGVQYXRoLCBjb25zdCBkb3VibGUgaW50ZXJ2YWwpIApAQCAt
ODIsMTcgKzgxLDE3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3QgU2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxlCiAgICAgfQogICAgICAgICAK
ICAgICBpbml0aWFsaXplU2FuZGJveGVkTG9nRmlsZShzYW1wbGVMb2dGaWxlSGFuZGxlLCBzYW1w
bGVMb2dGaWxlUGF0aCk7Ci0gICAgaW5pdGlhbGl6ZVRpbWVycyhpbnRlcnZhbCk7CisgICAgaW5p
dGlhbGl6ZVRpbWVycyhTZWNvbmRzKGludGVydmFsKSk7CiAgICAKIH0KIAotdm9pZCBXZWJNZW1v
cnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgV2ViTWVt
b3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzIGludGVydmFsKQogewotICAgIG1f
c2FtcGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoMSk7CisgICAgbV9zYW1wbGVUaW1lci5zdGFydFJl
cGVhdGluZyhTZWNvbmRzKDEpKTsKICAgICBwcmludGYoIlN0YXJ0ZWQgbWVtb3J5IHNhbXBsZXIg
Zm9yIHByb2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFtZSgpLnV0ZjgoKS5kYXRhKCksIGdldHBpZCgp
KTsKLSAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7CisgICAgaWYgKGludGVydmFsID4gU2Vjb25kcygw
KSkgewogICAgICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwotICAgICAg
ICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2YWwpOworICAg
ICAgICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2YWwudmFs
dWUoKSk7CiAgICAgfQogICAgIHByaW50ZigiOyBTYW1wbGVyIGxvZyBmaWxlIHN0b3JlZCBhdDog
JXNcbiIsIG1fc2FtcGxlTG9nRmlsZVBhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAgbV9ydW5uaW5n
VGltZSA9IGludGVydmFsOwpAQCAtMTU5LDcgKzE1OCw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxl
cjo6c3RvcFRpbWVyRmlyZWQoKQogewogICAgIGlmICghbV9pc1J1bm5pbmcpCiAgICAgICAgIHJl
dHVybjsKLSAgICBwcmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5IHNh
bXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUpOworICAgIHByaW50ZigiJWcgc2Vjb25kcyBlbGFw
c2VkLiBTdG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9ydW5uaW5nVGltZS52YWx1ZSgp
KTsKICAgICBzdG9wKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJNZW1vcnlTYW1wbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxl
ci5oCmluZGV4IDI3ODdiNTE1ZGFiYzUxZWJlYzViYzA2NDZmMTNiZWZlNTEyOTg2MjIuLmRhNDI4
OGI1ODQwOWZmYmFhZjhkMjczY2IzODU4NDViMGQxZDg4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYk1lbW9yeVNhbXBsZXIuaApAQCAtODQsNyArODQsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgaW5pdGlhbGl6ZVRlbXBMb2dGaWxlKCk7CiAgICAgdm9pZCBpbml0aWFsaXplU2FuZGJveGVk
TG9nRmlsZShjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmLCBjb25zdCBTdHJpbmcmKTsK
ICAgICB2b2lkIHdyaXRlSGVhZGVycygpOwotICAgIHZvaWQgaW5pdGlhbGl6ZVRpbWVycyhkb3Vi
bGUpOworICAgIHZvaWQgaW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzKTsKICAgICB2b2lkIHNhbXBs
ZVRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHN0b3BUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBhcHBl
bmRDdXJyZW50TWVtb3J5VXNhZ2VUb0ZpbGUoV2ViQ29yZTo6UGxhdGZvcm1GaWxlSGFuZGxlJik7
CkBAIC0xMDAsNyArMTAwLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpUaW1lciBtX3NhbXBs
ZVRpbWVyOwogICAgIFdlYkNvcmU6OlRpbWVyIG1fc3RvcFRpbWVyOwogICAgIGJvb2wgbV9pc1J1
bm5pbmc7Ci0gICAgZG91YmxlIG1fcnVubmluZ1RpbWU7CisgICAgU2Vjb25kcyBtX3J1bm5pbmdU
aW1lOwogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX3NhbXBsZUxvZ1NhbmRib3hFeHRl
bnNpb247CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBlYzg2ZTFlMjFmZmNjZDZkODcyYWFhMWYyZDQxOWU0
NjY2YTMyN2RiLi4wZDM3YjlhM2VkN2UzNjRjMWM0YjY5OTNmOTA2NzkyYTVmZWFlZWRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKQEAgLTExMyw3ICsxMTMsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyB7CiAKICAgICBib29sIGljb25EYXRhYmFzZUVuYWJsZWQ7CiAKLSAgICBkb3VibGUgdGVy
bWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAg
VmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKaW5kZXggNmFmNzkwMmRhM2Y5ZmE5YzJl
YWJkYWFhMGU1ZDc4NWY2NTMyZTZlNy4uNmYyNzM4NTY1ZWVlYTlmMWMwMDdiM2RmZmRhMjE2OTI4
NDM0MmRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXll
ckJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUuaApAQCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHNl
dEJ1ZmZlclZvbGF0aWxpdHkoQnVmZmVyVHlwZSB0eXBlLCBib29sIGlzVm9sYXRpbGUpOwogCi0g
ICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0RGlzcGxheVRpbWUo
KSBjb25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5VGltZTsgfQorICAgIE1vbm90b25pY1RpbWUg
bGFzdERpc3BsYXlUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7IH0KIAog
cHJpdmF0ZToKICAgICB2b2lkIGRyYXdJbkNvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
JiwgQ0dJbWFnZVJlZiBiYWNrSW1hZ2UpOwpAQCAtMTAzLDggKzEwMywxMCBAQCBwcml2YXRlOgog
ICAgIFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbV9sYXllcjsKIAogICAgIFdlYkNvcmU6OkZsb2F0
U2l6ZSBtX3NpemU7Ci0gICAgZmxvYXQgbV9zY2FsZTsKLSAgICBib29sIG1faXNPcGFxdWU7Cisg
ICAgZmxvYXQgbV9zY2FsZSB7IDEgfTsKKworICAgIGJvb2wgbV9pc09wYXF1ZSB7IGZhbHNlIH07
CisgICAgYm9vbCBtX2FjY2VsZXJhdGVzRHJhd2luZyB7IGZhbHNlIH07CiAKICAgICBXZWJDb3Jl
OjpSZWdpb24gbV9kaXJ0eVJlZ2lvbjsKIApAQCAtMTEyLDcgKzExNCw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcDsKICNpZiBVU0UoSU9TVVJGQUNF
KQogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBzdXJmYWNlOwot
ICAgICAgICBib29sIGlzVm9sYXRpbGUgPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc1ZvbGF0aWxl
IHsgZmFsc2UgfTsKICNlbmRpZgogCiAgICAgICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBj
b25zdApAQCAtMTM4LDExICsxNDAsOSBAQCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRyPENHQ29u
dGV4dFJlZj4gbV9mcm9udENvbnRleHRQZW5kaW5nRmx1c2g7CiAKLSAgICBib29sIG1fYWNjZWxl
cmF0ZXNEcmF3aW5nOwotCiAgICAgV2ViQ29yZTo6UmVwYWludFJlY3RMaXN0IG1fcGFpbnRpbmdS
ZWN0czsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0
RGlzcGxheVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3REaXNwbGF5VGltZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggZDU3MTlkZGExMmJlYWI4MjJkZjMy
YjcyMTU4ZWJhNmE1ZTk5NDIwNS4uY2JjZjcxYzVmNzU0ZWVjM2U4NjBmZjEyZmM3M2ZmYTg1YzY3
ZGQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlLm1tCkBAIC02Miw4ICs2Miw2IEBAIHN0YXRpYyBXZWJDb3JlOjpJT1N1cmZh
Y2U6OkZvcm1hdCBidWZmZXJGb3JtYXQoYm9vbCBpc09wYXF1ZSkKIAogUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90ZSog
bGF5ZXIpCiAgICAgOiBtX2xheWVyKGxheWVyKQotICAgICwgbV9pc09wYXF1ZShmYWxzZSkKLSAg
ICAsIG1fbGFzdERpc3BsYXlUaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9p
bnQ6Om1pbigpKQogewogICAgIGlmICghbV9sYXllcikKICAgICAgICAgcmV0dXJuOwpAQCAtMjMx
LDcgKzIyOSw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkoKQogewog
ICAgIEFTU0VSVCghbV9mcm9udENvbnRleHRQZW5kaW5nRmx1c2gpOwogCi0gICAgbV9sYXN0RGlz
cGxheVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3RE
aXNwbGF5VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgYm9vbCBuZWVkVG9FbmNv
ZGVCYWNraW5nU3RvcmUgPSBmYWxzZTsKICAgICBpZiAoUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCog
Y29udGV4dCA9IG1fbGF5ZXItPmNvbnRleHQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCmlu
ZGV4IGZlNDk3MWVlNzM5MjQxNGFiYzExOTQwYWM3OWY4Zjc5MTRjYTQ4NjIuLmNkODNhMzhkOTg0
NTVkYjVkNTRlZDNmNDY1Mzk4NmVlZDk3NDUzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
aApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25l
ZCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdzOwogICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0
aWxlSW1tZWRpYXRlbHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBWb2xhdGlsaXR5TWFya2lu
Z0ZsYWdzIHZvbGF0aWxpdHlNYXJraW5nRmxhZ3MgPSAwKTsKLSAgICBib29sIG1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93KTsKKyAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xh
dGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIE1vbm90b25pY1RpbWUgbm93KTsKIAogICAg
IEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3RvcmU7CiAg
ICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJhY2tpbmdT
dG9yZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggMjY4MzZlN2JmMzg2NDdlNDgw
MGE2NGIwYzc1Y2U2ZmZiMGNhMTRiZS4uYmRjODdhNzA4MDczNjRlNjYzOTljOWQ2N2MyNTZlMzFl
ZmZjOGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXll
ckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KQEAgLTMwLDkgKzMwLDkgQEAK
ICNpbXBvcnQgIlJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXll
clRyZWVDb250ZXh0LmgiCiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHZvbGF0aWxlQmFj
a2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMjAwbXM7Ci1j
b25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFsID0g
MjAwbXM7Citjb25zdCBTZWNvbmRzIHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0g
U2Vjb25kcygxKTsKK2NvbnN0IFNlY29uZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVB
Z2VUaHJlc2hvbGQgPSBTZWNvbmRzKDAuMik7Citjb25zdCBTZWNvbmRzIHZvbGF0aWxpdHlUaW1l
ckludGVydmFsID0gU2Vjb25kcygwLjIpOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTIw
LDcgKzEyMCw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJr
QmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vCiAgICAgcmV0dXJuIHN1Y2Nlc3Nm
dWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZTsKIH0KIAotYm9vbCBSZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJh
Y2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1l
X3BvaW50IG5vdykKK2Jvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJr
QmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9y
ZSwgTW9ub3RvbmljVGltZSBub3cpCiB7CiAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0
RGlzcGxheVRpbWUoKSA8IHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKSB7CiAgICAg
ICAgIGlmIChub3cgLSBiYWNraW5nU3RvcmUubGFzdERpc3BsYXlUaW1lKCkgPj0gdm9sYXRpbGVT
ZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQpCkBAIC0xNjQsNyArMTY0LDcgQEAgdm9p
ZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVk
KCkKIHsKICAgICBib29sIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IHRy
dWU7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwor
ICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgZm9yIChjb25zdCBhdXRv
JiBiYWNraW5nU3RvcmUgOiBtX2xpdmVCYWNraW5nU3RvcmUpCiAgICAgICAgIHN1Y2Nlc3NmdWxs
eU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoKmJh
Y2tpbmdTdG9yZSwgbm93KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0K
aW5kZXggODM5NDVkZmVkMzFjNTkxODM1OGJlN2Y2NzE2YjFiZmU3MDE4OGI1OS4uZGM1NjE5OWU2
OTkyYzY3YTJlMjBlN2ZlZTdlOWU5NzEzN2U5YzZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUNvY29hLm1tCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IGlmICghbV9jb250ZXh0KSB7CiAgICAgICAgICAgICBtX2NvbnRleHQgPSBhZG9wdE5TKFtbSlND
b250ZXh0IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgx
KTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZmQ4YmM1YWM5YTk3
YzgzMDU1ZDQ4Yjc1YmE4MDA5MzM5OTY1MTdiMC4uOWVlY2EyMDZkZDJlZTZmYmZhZjBjM2VhMTdh
M2Q0ZjQ3NDcyODkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxk
UHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9j
ZXNzUHJveHkuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBDaGlsZFByb2Nlc3NQcm94eTo6
c2h1dERvd25Qcm9jZXNzKCkKICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdhdGNoZG9nIGlu
IHRoZSBVSSBwcm9jZXNzLCBzaW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUgc3VzcGVuZGVk
LgogICAgICAgICAvLyBJZiAzMHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0c3RhbmRpbmcg
YWN0aXZpdHkgdG8gY29tcGxldGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtpbGxlZC4KICAg
ICAgICAgQVNTRVJUKG1fY29ubmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWlu
YXRlU29vbigzMCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbihTZWNvbmRz
KDMwKSk7CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdGF0ZTo6VGVybWluYXRl
ZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9u
U3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tCmluZGV4IDQ1Mjk5MjJiNGZiZjZiZjUzMWM3YzA1YTdjMjIzYjYzNTE0MzI1NjAuLmY3MmY0
YmM2NzExZWFhNjg1ZmE0YzliYTg0NTJjNTI3ZWIxYTUwMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpAQCAtODUyLDcgKzg1Miw3
IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpkaWRDaGFuZ2VJc0xvYWRpbmcoKQogICAgIH0gZWxz
ZSB7CiAgICAgICAgIC8vIERlbGF5IHJlbGVhc2luZyB0aGUgYmFja2dyb3VuZCBhY3Rpdml0eSBm
b3IgMyBzZWNvbmRzIHRvIGdpdmUgdGhlIGFwcGxpY2F0aW9uIGEgY2hhbmNlIHRvIHN0YXJ0IGFu
b3RoZXIgbmF2aWdhdGlvbgogICAgICAgICAvLyBiZWZvcmUgc3VzcGVuZGluZyB0aGUgV2ViQ29u
dGVudCBwcm9jZXNzIDxyZGFyOi8vcHJvYmxlbS8yNzkxMDk2ND4uCi0gICAgICAgIG1fcmVsZWFz
ZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNzKTsKKyAgICAgICAgbV9yZWxlYXNlQWN0aXZp
dHlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygzKSk7CiAgICAgfQogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5jcHAKaW5kZXggNDlmMThlMzc4YTUyOWQwNTY1YjBkN2VlOWU2MTg4MjEyY2ZkZDJiOC4u
Mjg2ZjJhYmFlYjQwNTg0Yzk0MDUxOTFkZjlhMDk3NTQ5ZDQ0NzU2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5j
cHAKQEAgLTQwLDEzICs0MCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNu
YXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJh
dGlvbiA9IDNzOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc3dpcGVT
bmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwbXM7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZp
c3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IFNlY29uZHMoMyk7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwg
PSBTZWNvbmRzKDAuMjUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQotc3RhdGljIGNvbnN0IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVz
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0
aW9uID0gU2Vjb25kcyg1KTsKICNlbHNlCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSBTZWNvbmRz
KDMpOwogI2VuZGlmCiAKIHN0YXRpYyBIYXNoTWFwPHVpbnQ2NF90LCBWaWV3R2VzdHVyZUNvbnRy
b2xsZXIqPiYgdmlld0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkKQEAgLTI5NywxMCAr
Mjk3LDEwIEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFj
a2VyOjp3YXRjaGRvZ1RpbWVyRmlyZWQoKQogICAgIGZpcmVSZW1vdmFsQ2FsbGJhY2tJbW1lZGlh
dGVseSgpOwogfQogCi12b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFs
VHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyBkdXJhdGlvbikKK3Zv
aWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdh
dGNoZG9nKFNlY29uZHMgZHVyYXRpb24pCiB7Ci0gICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUp
c3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJWxsZCBzZWNvbmRzIiwgZHVyYXRpb24uY291bnQo
KSkpOwotICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24uY291bnQoKSk7
CisgICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3Ig
JS4zZiBzZWNvbmRzIiwgZHVyYXRpb24udmFsdWUoKSkpOworICAgIG1fd2F0Y2hkb2dUaW1lci5z
dGFydE9uZVNob3QoZHVyYXRpb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXIuaAppbmRleCA3NThkNzM1MGRiZDg0NzU3NDY2Y2NkYmE4NDM2YjZlNDlkNjJiYzJkLi5lMTRk
NzM5NzE5MmFkMGMwN2YxMjI4MDlmYzg3YjE0NDQ3NmQ0ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCkBAIC0x
NTcsNyArMTU3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBldmVudE9jY3VycmVkKEV2ZW50
cyk7CiAgICAgICAgIGJvb2wgY2FuY2VsT3V0c3RhbmRpbmdFdmVudChFdmVudHMpOwogCi0gICAg
ICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyk7CisgICAgICAgIHZv
aWQgc3RhcnRXYXRjaGRvZyhTZWNvbmRzKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRp
YyBTdHJpbmcgZXZlbnRzRGVzY3JpcHRpb24oRXZlbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggNDlkNGQ1
YmQ1YTk5ZDRkOTgxMTE2YTA4YTEzMjdkNTAxY2JhYjk1MS4uYjBjMzFjYjFlZGQwMjUyYTIyYmI5
YTdhOTgxMzYyY2FkNDI0YmFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTI1Myw3ICsyNTMsNyBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYQogI2VuZGlmCiAKICAgICBwYXJhbWV0ZXJzLnNob3VsZFN1cHBy
ZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0U3Vw
cHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJEZWZhdWx0c0tleV07Ci0gICAgcGFyYW1ldGVycy5s
b2FkVGhyb3R0bGVMYXRlbmN5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhbZGVmYXVsdHMg
aW50ZWdlckZvcktleTpXZWJLaXROZXR3b3JrTG9hZFRocm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25k
c0RlZmF1bHRzS2V5XSk7CisgICAgcGFyYW1ldGVycy5sb2FkVGhyb3R0bGVMYXRlbmN5ID0gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyhbZGVmYXVsdHMgaW50ZWdlckZvcktleTpXZWJLaXROZXR3
b3JrTG9hZFRocm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25kc0RlZmF1bHRzS2V5XSk7CiAKICNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMTAw
CiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gY29va2llU3RvcmFnZURhdGEgPSBhZG9wdENGKENG
SFRUUENvb2tpZVN0b3JhZ2VDcmVhdGVJZGVudGlmeWluZ0RhdGEoa0NGQWxsb2NhdG9yRGVmYXVs
dCwgW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBfY29va2ll
U3RvcmFnZV0pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
LmNwcAppbmRleCA2OWU4YzViMzIyMzIyZGIwMzcxYmJjYjFmMzY0MGZlNGM5NmQ4NTY1Li43ZWM3
OTkzMjhhY2Q2YjRiMTQxYWYyNjQ0MWZiMWQ3ODExN2ZmMzFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQg
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KE9wdGlvbmFsPFdlYkNvcmU6OkZs
b2F0UmVjdD4gdmlld0V4cG9zCiAgICAgbV92aWV3RXhwb3NlZFJlY3QgPSB2aWV3RXhwb3NlZFJl
Y3Q7CiAKICAgICBpZiAoIW1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KFNlY29u
ZHMoMCkpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnZpZXdFeHBvc2VkUmVjdENoYW5n
ZWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1l
cGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1l
cGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCA2NzdjZDY3MzkxYWY1NjlmNDJhZmZiZGY0
NDBhYWUyMTU1MTVmNDNlLi5jZWE5ODJmNmUyMmM2MDQ5OGVhYjgyOTY5NDNmNTA1MzJiOGI0MzZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQ
cm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1l
cGFkUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhpbXVtR2Ft
ZXBhZFVwZGF0ZUludGVydmFsID0gMSAvIDEyMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4
aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMSAvIDEyMC4wKTsKIAogVUlHYW1l
cGFkUHJvdmlkZXImIFVJR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5j
cHAKaW5kZXggNTRkZmIzYjA1OGQ0ZmU5MDM3NDYxNTc5MmVmYTU2YjA4ZmRkMGI2OC4uNDViYmQw
MzhkNzAxNTJiNTU0NTI5YTQ5NjJiMjM0MjQ2ZTVhNzRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00
NiwxMSArNDYsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1MaWZldGltZSA9IDIgKiA2MDsKLXN0
YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0gMzA7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWUgPSBTZWNvbmRzKDIgKiA2MCk7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgPSBTZWNvbmRzKDMw
KTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBzaHV0ZG93blRpbWVvdXQgPSAxICogNjA7Ci1zdGF0
aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1Oworc3RhdGlj
IGNvbnN0IFNlY29uZHMgc2h1dGRvd25UaW1lb3V0ID0gU2Vjb25kcygxICogNjApOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0ID0gU2Vjb25kcygxNSk7
CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCmluZGV4IDIyNzViYjNiMjI2Yjdk
YmQ0OGQzM2NmMGYzNmQyMzQ5ZDg1MGJlYzYuLjc0NGNjOWRjNzEwZmI4NDQxY2YwYzIyZGExNjMx
MDJjMzNmOGM3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNz
VGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90
dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgCi1z
dGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0gMzA7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgPSBTZWNvbmRzKDMwKTsK
ICAgICAKIFByb2Nlc3NUaHJvdHRsZXI6OlByb2Nlc3NUaHJvdHRsZXIoUHJvY2Vzc1Rocm90dGxl
ckNsaWVudCYgcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCmluZGV4IGZlYjQ2OWYw
ODQyYjVhZTY5YjM2ZjBmY2ZkNjg2MWM0MDY3ZWVmMmIuLmE0MGE5OTg2YzM0ZWQzYWMyZWVjZTc4
MzRjNmE1MDRmNjNmOGZjMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9S
ZXNwb25zaXZlbmVzc1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVz
cG9uc2l2ZW5lc3NUaW1lci5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0ID0gMzsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHJlc3BvbnNpdmVuZXNzVGltZW91dCA9IFNlY29uZHMoMyk7CiAK
IFJlc3BvbnNpdmVuZXNzVGltZXI6OlJlc3BvbnNpdmVuZXNzVGltZXIoUmVzcG9uc2l2ZW5lc3NU
aW1lcjo6Q2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKaW5kZXggYTNmYjc3MGY1Y2Ri
Y2RjYjVmYTc3YWI0ZDJmMGI1NDc0NDg5MGY2Zi4uZTM0Mjg3MDZiMWNkMTNmZTUyMDg5NWU1ZDQ4
YmY5ZGY3YjJmOGFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0
ZWRMaW5rU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1N0b3JlLmNwcApAQCAtOTgsNyArOTgsNyBAQCB2b2lkIFZpc2l0ZWRMaW5rU3RvcmU6OmFkZFZp
c2l0ZWRMaW5rSGFzaChMaW5rSGFzaCBsaW5rSGFzaCkKICAgICBtX3BlbmRpbmdWaXNpdGVkTGlu
a3MuYWRkKGxpbmtIYXNoKTsKIAogICAgIGlmICghbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgVmlzaXRlZExpbmtTdG9yZTo6cmVtb3ZlQWxsKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGY3Y2U2OWY0
Y2U5NzY4MmM0YzUwNmYyM2ZiZjI0ODZiMGMwODgyNzcuLmYxNjQ4ZWFlOGFlODZmNDAyMDA2YjRk
ZjQ0NTY2YWQ3ODgxMmQ0ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNz
UG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAgICAs
IG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KG1fY29uZmlndXJhdGlvbi0+YWx3YXlz
UnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkpCiAgICAgLCBtX3VzZXJPYnNlcnZhYmxlUGFnZUNv
dW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25T
dGF0ZSgpOyB9KQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZEZvclBhZ2VDb3Vu
dGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3Rh
dGUoKTsgfSkKLSAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRl
cihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5z
dGFydE9uZVNob3QoMCk7IH0pCisgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3Jl
YXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJvdHRs
aW5nVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOyB9KQogICAgICwgbV9oaWRkZW5QYWdl
VGhyb3R0bGluZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJldlYlByb2Nlc3NQb29sOjp1
cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KQogewogICAgIGZvciAo
YXV0byYgc2NoZW1lIDogbV9jb25maWd1cmF0aW9uLT5hbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVt
ZXMoKSkKQEAgLTU5OCw3ICs1OTgsNyBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29s
OjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkKICAgICAvLyBpY29uRGF0YWJhc2VQYXRoIGlzIG5vbi1l
bXB0eSBieSBkZWZhdWx0LCBidXQgbV9pY29uRGF0YWJhc2UgaXNuJ3QgZW5hYmxlZCBpbiBVSSBw
cm9jZXNzIHVubGVzcyBzZXREYXRhYmFzZVBhdGggaXMgY2FsbGVkIGV4cGxpY2l0bHkuCiAgICAg
cGFyYW1ldGVycy5pY29uRGF0YWJhc2VFbmFibGVkID0gIWljb25EYXRhYmFzZVBhdGgoKS5pc0Vt
cHR5KCk7CiAKLSAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDA7CisgICAgcGFy
YW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQgPSBTZWNvbmRzKDApOwogCiAgICAgcGFyYW1ldGVy
cy50ZXh0Q2hlY2tlclN0YXRlID0gVGV4dENoZWNrZXI6OnN0YXRlKCk7CiAKQEAgLTE0MTksMTAg
KzE0MTksMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxp
bmdBdXRvSW5jcmVhc2VMaW1pdCgpCiAgICAgLy8gV2UncmUgZXN0aW1hdGluZyBhbiB1cHBlciBi
b3VuZCBmb3IgYSBzZXQgb2YgYmFja2dyb3VuZCB0aW1lciBmaXJlcyBmb3IgYSBwYWdlIHRvIGJl
IDIwMG1zCiAgICAgLy8gKGluY2x1ZGluZyBhbGwgdGltZXIgZmlyZXMsIGFsbCBwYWdpbmctaW4s
IGFuZCBhbnkgcmVzdWx0aW5nIEdDKS4gVG8gZW5zdXJlIHRoaXMgZG9lcyBub3QKICAgICAvLyBy
ZXN1bHQgaW4gbW9yZSB0aGFuIDElIENQVSBsb2FkIGFsbG93IGZvciBvbmUgdGltZXIgZmlyZSBw
ZXIgMTAweCB0aGlzIGR1cmF0aW9uLgotICAgIHN0YXRpYyBpbnQgbWF4aW11bVRpbWVyVGhyb3R0
bGVQZXJQYWdlSW5NUyA9IDIwMCAqIDEwMDsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhp
bXVtVGltZXJUaHJvdHRsZVBlclBhZ2UgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKDIwMCkg
KiAxMDA7CiAKLSAgICBpbnQgbGltaXRJbk1pbGxpc2Vjb25kcyA9IG1heGltdW1UaW1lclRocm90
dGxlUGVyUGFnZUluTVMgKiBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50
ZXIudmFsdWUoKTsKLSAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6
OlNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0SW5NaWxsaXNl
Y29uZHMpKTsKKyAgICBTZWNvbmRzIGxpbWl0ID0gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdl
ICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7Cisg
ICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdl
VGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5z
cGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3Bl
Y3RvclByb3h5TWFjLm1tCmluZGV4IDgxOGJkMzkwZDQ4M2QwODIyYmFlNzkzNGUxMDZmZGJiMGNk
ZmY4NTQuLjcyNWE5ZmQ4OTlkNWZkOTNlYjM3NjRiMGFlZTdkN2JiNTcxOTUwN2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5t
bQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgTlNVSW50ZWdlciB3aW5kb3dTdHlsZU1h
c2sgPSBOU1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8IE5TV2luZG93U3R5bAogCiAvLyBUaGUgdGlt
ZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9zaW5nIGl0IGFuZCBpdHMgcHJv
Y2Vzcy4KIC8vIFJldXNpbmcgdGhlIFdlYlZpZXcgaW1wcm92ZXMgc3RhcnQgdXAgdGltZSBmb3Ig
cGVvcGxlIHRoYXQganVtcCBpbiBhbmQgb3V0IG9mIHRoZSBJbnNwZWN0b3IuCi1zdGF0aWMgY29u
c3QgdW5zaWduZWQgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgd2ViVmlld0Nsb3NlVGltZW91dCA9IFNlY29uZHMoNjApOwogCiAvLyBXS1dlYkluc3BlY3Rv
clByb3h5T2JqQ0FkYXB0ZXIgaXMgYSBoZWxwZXIgT2JqQyBvYmplY3QgdXNlZCBhcyBhIGRlbGVn
YXRlIG9yIG5vdGlmaWNhdGlvbiBvYnNlcnZlcgogLy8gZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2Yg
Z2V0dGluZyBiYWNrIGludG8gdGhlIEMrKyBjb2RlIGZyb20gYW4gT2JqQyBjYWxsZXIuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRl
Z3kuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0
ZWd5LmNwcAppbmRleCBlODkxY2QwMzJiMmY0MzY2NGI2N2UwNmRiZWNjYzhlZTAzNThkZDhmLi5k
OWI4MjhhMWM4NzlkYmExYjhmZmZmOTMxZDFmMGU2NWQzYjgxZWIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAK
QEAgLTkxLDE0ICs5MSwxNCBAQCBSZWZQdHI8TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI+IFdl
YkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZVBsdWdpblN0cmVhbUxvYWQoRgogICAgIHJldHVybiBs
b2FkZXI7CiB9CiAKLXN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZm
ZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK3N0YXRpYyBTZWNvbmRzIG1heGlt
dW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICNpZiAhRU5BQkxF
KE5FVFdPUktfQ0FDSEUpCi0gICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4gU2Vjb25kcygwKTsK
ICNlbmRpZgogCiAgICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAg
ICAgcmV0dXJuIFNlY29uZHMoMCk7CiAKICAgICBzd2l0Y2ggKHJlc291cmNlLT50eXBlKCkpIHsK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgpAQCAtMTA3LDkgKzEwNyw5
IEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1l
KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdG
b250UmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3Vy
Y2U6Ci0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAg
ICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6SW1hZ2VSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIDUwMG1zOworICAgICAgICByZXR1cm4g
U2Vjb25kcygwLjUpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1lZGlhUmVzb3VyY2U6CiAg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWFpblJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlJhd1Jlc291cmNlOgpAQCAtMTI0LDExICsxMjQsMTEgQEAgc3RhdGljIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJl
c291cmNlKQogI2lmIEVOQUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0
eWxlU2hlZXQ6CiAjZW5kaWYKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIFNl
Y29uZHMoMCk7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IDBtczsKKyAgICByZXR1cm4gU2Vjb25kcygwKTsKIH0KIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVn
eTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVk
aXJlY3QpCkBAIC0yMzEsNyArMjMxLDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1
bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKIHZvaWQg
V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQoV2ViQ29yZTo6
UmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyKQogewogICAgIG1faW50ZXJuYWxseUZhaWxl
ZFJlc291cmNlTG9hZGVycy5hZGQoJnJlc291cmNlTG9hZGVyKTsKLSAgICBtX2ludGVybmFsbHlG
YWlsZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faW50ZXJuYWxseUZhaWxlZExv
YWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3Ry
YXRlZ3k6OmludGVybmFsbHlGYWlsZWRMb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFw
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRp
bWVPYmplY3RNYXAuY3BwCmluZGV4IDQ5OTIwZjJjYWE4NGY3NjliNjJkMjQ2MmE5Yzk4MDdmNTIw
Y2YzZWQuLmE1ZTY2YWNhNzNlMTljYTVmOTQzZTEyNWFhNGI2NGNmODg5YTA5ZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVP
YmplY3RNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCkBAIC0yOTMsNyArMjkzLDcgQEAgdm9pZCBOUFJ1
bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUoTlBPYmplY3QqIG5wT2JqZWN0
KQogICAgIGlmICh0cnlTYWZlUmVsZWFzZU5QT2JqZWN0KG5wT2JqZWN0KSkKICAgICAgICAgcmV0
dXJuOwogICAgIGlmIChtX25wT2JqZWN0c1RvRmluYWxpemUuaXNFbXB0eSgpKQotICAgICAgICBt
X2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9maW5hbGl6YXRp
b25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgQVNTRVJUKG1fZmluYWxpemF0
aW9uVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgbV9ucE9iamVjdHNUb0ZpbmFsaXplLmFwcGVuZChu
cE9iamVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAppbmRleCA1YzlhOTE4MjQ1NjZh
NDYzMDEwYzBlNzM5NjgwMzQ1N2UzMzM0NzdkLi41NDE3MWMyMjU0NzhmNzY2ZGMyYzZhYWI1NzA5
MDRjNTFjMGNiMGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTMyNiw3ICszMjYs
NyBAQCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6On5UaW1lcigpCiAKIHZvaWQgTmV0c2NhcGVQbHVn
aW46OlRpbWVyOjpzdGFydCgpCiB7Ci0gICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1faW50ZXJ2
YWwgLyAxMDAwLjA7CisgICAgU2Vjb25kcyB0aW1lSW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKG1faW50ZXJ2YWwpOwogCiAgICAgaWYgKG1fcmVwZWF0KQogICAgICAgICBtX3Rp
bWVyLnN0YXJ0UmVwZWF0aW5nKHRpbWVJbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1
Z2luU3RyZWFtLmNwcAppbmRleCA3ZDU0ZDg4YzdlODk4YzVjZTBiYWRmMWQ3NjliMmU1ZDM1ZDlh
MjU0Li5hNzVhNjYyMzE5NDUwMTBmZDZiZTBkMjA1OWNjMjU0YmMzNmEyOTI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVn
aW5TdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKQEAgLTIyMiw3ICsyMjIsNyBAQCB2b2lkIE5l
dHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKCkKIAogICAgICAgICBpZiAo
bnVtQnl0ZXNQbHVnaW5DYW5IYW5kbGUgPD0gMCkgewogICAgICAgICAgICAgLy8gVGhlIHBsdWct
aW4gY2FuJ3QgaGFuZGxlIG1vcmUgZGF0YSwgd2UnbGwgc2VuZCB0aGUgcmVzdCBsYXRlcgotICAg
ICAgICAgICAgbV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAg
ICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBhMGQ4YWI4NjZmYzBiYWQxMDIwYmQxNjViZmQ1
NGY1NWUyMWNmNjk0Li4yMWU2ZjBmYTczNDlmYWJjMzdkZGYwMjY5OTQxOWQ0MzQ0ZTQ1MDE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3Bw
CkBAIC03OCw3ICs3OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIC8vIFRoaXMgc2ltdWxhdGVkIG1vdXNlIGNsaWNrIGRlbGF5IGluIEhUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwIHNob3VsZCBnZW5lcmFsbHkgYmUgdGhlIHNhbWUgb3Igc2hvcnRl
ciB0aGFuIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29uc3QgYXV0byBwbHVnaW5TbmFwc2hvdFRpbWVy
RGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMTEwMCB9Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgcGx1Z2luU25hcHNob3RUaW1lckRlbGF5ID0gU2Vjb25kcygxLjEpOwogCiBjbGFz
cyBQbHVnaW5WaWV3OjpVUkxSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8VVJMUmVxdWVzdD4g
ewogcHVibGljOgpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZW5kaW5n
VVJMUmVxdWVzdHNUaW1lckZpcmVkKCkKIAogICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHJlcXVl
c3RzIHRvIHBlcmZvcm0sIHJlc2NoZWR1bGUgdGhlIHRpbWVyLgogICAgIGlmICghbV9wZW5kaW5n
VVJMUmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgCiAgICAgcGVyZm9ybVVSTFJlcXVlc3QodXJsUmVx
dWVzdC5nZXQoKSk7CiB9CkBAIC0xNDIzLDcgKzE0MjMsNyBAQCB2b2lkIFBsdWdpblZpZXc6Omxv
YWRVUkwodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgU3Ry
aW5nJgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBS
ZWZlcnJlcihyZWZlcnJlcik7CiAKICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0cy5hcHBlbmQoVVJM
UmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3RJRCwgZnJhbWVMb2FkUmVxdWVzdCwgYWxsb3dQb3B1cHMp
KTsKLSAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
dm9pZCBQbHVnaW5WaWV3OjpjYW5jZWxTdHJlYW1Mb2FkKHVpbnQ2NF90IHN0cmVhbUlEKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGQ5NTAx
ODNmNTFjMjU3MjkxM2ZjYWI3MmQ2NDAxNTlmMTc5MjEyMzYuLmM4ZGNiNGVhMjQ2ZjNkMDU2NDY1
N2QwOTMyMGEzNjEzMzJmMjI2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI1Myw5ICsyNTMsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcGFnZVNj
cm9sbEh5c3RlcmVzaXNTZWNvbmRzID0gMC4zOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyMCB9Owot
c3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlU
aW1lckludGVydmFsIHsgMiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGFnZVNjcm9sbEh5c3Rl
cmVzaXMgPSBTZWNvbmRzKDAuMyk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJW
b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoMjApOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwg
PSBTZWNvbmRzKDIpOwogCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoLi4uKSBSRUxF
QVNFX0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJzLCBfX1ZBX0FSR1Nf
XykKICNkZWZpbmUgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRCguLi4pIFJFTEVBU0VfTE9H
X0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBMYXllcnMsIF9fVkFfQVJHU19f
KQpAQCAtMzE0LDcgKzMxNCw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBj
b25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAgICAgLCBtX3VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigq
dGhpcykKICNlbmRpZgotICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShIeXN0
ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBl
ZCkgcGFnZVN0b3BwZWRTY3JvbGxpbmcoKTsgfSwgcGFnZVNjcm9sbEh5c3RlcmVzaXNTZWNvbmRz
KQorICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUg
c3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgcGFnZVN0b3Bw
ZWRTY3JvbGxpbmcoKTsgfSwgcGFnZVNjcm9sbEh5c3RlcmVzaXMpCiAgICAgLCBtX2NhblJ1bkJl
Zm9yZVVubG9hZENvbmZpcm1QYW5lbChwYXJhbWV0ZXJzLmNhblJ1bkJlZm9yZVVubG9hZENvbmZp
cm1QYW5lbCkKICAgICAsIG1fY2FuUnVuTW9kYWwocGFyYW1ldGVycy5jYW5SdW5Nb2RhbCkKICNp
ZiBQTEFURk9STShJT1MpCkBAIC0yMDUxLDcgKzIwNTEsNyBAQCB2b2lkIFdlYlBhZ2U6OmNhbGxW
b2xhdGlsaXR5Q29tcGxldGlvbkhhbmRsZXJzKCkKIAogdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0
aWxpdHlUaW1lckZpcmVkKCkKIHsKLSAgICBhdXRvIG5ld0ludGVydmFsID0gMiAqIG1fbGF5ZXJW
b2xhdGlsaXR5VGltZXIucmVwZWF0SW50ZXJ2YWxNUygpOworICAgIFNlY29uZHMgbmV3SW50ZXJ2
YWwgPSBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsKCkgKiAyOwogICAgIGJv
b2wgZGlkU3VjY2VlZCA9IG1hcmtMYXllcnNWb2xhdGlsZUltbWVkaWF0ZWx5SWZQb3NzaWJsZSgp
OwogICAgIGlmIChkaWRTdWNjZWVkIHx8IG5ld0ludGVydmFsID4gbWF4aW11bUxheWVyVm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwpIHsKICAgICAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdG9w
KCk7CkBAIC0yMDYwLDcgKzIwNjAsNyBAQCB2b2lkIFdlYlBhZ2U6OmxheWVyVm9sYXRpbGl0eVRp
bWVyRmlyZWQoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfRVJS
T1JfSUZfQUxMT1dFRCgiJXAgLSBXZWJQYWdlIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBh
cyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlbGxkIG1zIiwgdGhpcywgc3RhdGljX2Nhc3Q8bG9u
ZyBsb25nPihuZXdJbnRlcnZhbC5jb3VudCgpKSk7CisgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZf
QUxMT1dFRCgiJXAgLSBXZWJQYWdlIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xh
dGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBuZXdJbnRlcnZhbC52YWx1ZSgpKTsK
ICAgICBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKG5ld0ludGVydmFsKTsK
IH0KIApAQCAtMjA5MSw3ICsyMDkxLDcgQEAgdm9pZCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9sYXRp
bGUoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRv
IG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlbGxkIG1zIiwgdGhp
cywgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwuY291bnQoKSk7CisgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgiJXAgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZv
bGF0aWxlLCB3aWxsIHJldHJ5IGluICUuM2YgcyIsIHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxp
dHlUaW1lckludGVydmFsLnZhbHVlKCkpOwogICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3Rh
cnRSZXBlYXRpbmcoaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwpOwogfQogCkBA
IC0yNTMwLDcgKzI1MzAsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZUlzSW5XaW5kb3coYm9vbCBp
c0luaXRpYWxTdGF0ZSkKICAgICAgICAgLy8gaW4gb3JkZXIgdG8gZ2V0IHBsdWctaW4gY29ubmVj
dGlvbnMsIGFuZCB0aGUgVUkgcHJvY2VzcyB3aWxsIGJlIHdhaXRpbmcgZm9yIHRoZSBXZWIgcHJv
Y2VzcyB0byB1cGRhdGUgdGhlIGJhY2tpbmcKICAgICAgICAgLy8gc3RvcmUgYWZ0ZXIgbW92aW5n
IHRoZSB2aWV3IGludG8gYSB3aW5kb3csIHVudGlsIGl0IHRpbWVzIG91dCBhbmQgcGFpbnRzIHdo
aXRlLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzkyNDI3NzE+LgogICAgICAgICBpZiAobV9tYXlTdGFy
dE1lZGlhV2hlbkluV2luZG93KQotICAgICAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LnBhZ2VEaWRFbnRlcldpbmRvdyhtX3BhZ2VJRCk7CiAgICAgfQpAQCAtMzAzNyw3ICszMDM3LDcg
QEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0
b3JlJiBzdG9yZSkKICNlbmRpZgogCiAgICAgc2V0dGluZ3Muc2V0U3VwcHJlc3Nlc0luY3JlbWVu
dGFsUmVuZGVyaW5nKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
c3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRJ
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyhzdG9yZS5nZXRE
b3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aW5jcmVtZW50YWxSZW5kZXJpbmdT
dXBwcmVzc2lvblRpbWVvdXRLZXkoKSkpOworICAgIHNldHRpbmdzLnNldEluY3JlbWVudGFsUmVu
ZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1l
b3V0S2V5KCkpKSk7CiAgICAgc2V0dGluZ3Muc2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpiYWNrc3BhY2VL
ZXlOYXZpZ2F0aW9uRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0V2FudHNCYWxhbmNl
ZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvcihzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OndhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3JLZXkoKSkp
OwogICAgIHNldHRpbmdzLnNldENhcmV0QnJvd3NpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y2FyZXRCcm93c2luZ0VuYWJsZWRLZXkoKSkpOwpA
QCAtMzExMCw3ICszMTEwLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25z
dCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy5zZXRBbHdheXNVc2VB
Y2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6YWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbEtleSgpKSk7CiAK
ICAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFzc3dvcmRFY2hvRW5hYmxlZEtleSgpKSk7Ci0gICAg
c2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoc3RvcmUuZ2V0RG91Ymxl
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhc3N3b3JkRWNob0R1cmF0aW9uS2V5KCkp
KTsKKyAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbihTZWNvbmRzKHN0b3JlLmdl
dERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYXNzd29yZEVjaG9EdXJhdGlv
bktleSgpKSkpOwogICAgIAogICAgIHNldHRpbmdzLnNldExheW91dEludGVydmFsKHN0ZDo6Y2hy
b25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHN0ZDo6Y2hyb25v
OjpkdXJhdGlvbjxkb3VibGU+KHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpsYXlvdXRJbnRlcnZhbEtleSgpKSkpKTsKICAgICBzZXR0aW5ncy5zZXRNYXhQYXJz
ZUR1cmF0aW9uKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpt
YXhQYXJzZUR1cmF0aW9uS2V5KCkpKTsKQEAgLTM4NDQsNyArMzg0NCw3IEBAIHZvaWQgV2ViUGFn
ZTo6YWRkUGx1Z2luVmlldyhQbHVnaW5WaWV3KiBwbHVnaW5WaWV3KQogICAgIG1faGFzU2VlblBs
dWdpbiA9IHRydWU7CiAjaWYgRU5BQkxFKFBSSU1BUllfU05BUFNIT1RURURfUExVR0lOX0hFVVJJ
U1RJQykKICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHRyaWdn
ZXJpbmcgZGV0ZWN0aW9uIGZyb20gYWRkUGx1Z2luVmlldyglcCkiLCBwbHVnaW5WaWV3KTsKLSAg
ICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICNlbmRpZgogfQogCkBAIC00MzgxLDcgKzQzODEsNyBAQCB2b2lk
IFdlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3coYm9vbCBtYXlTdGFydE1lZGlh
KQogCiAgICAgbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ID0gbWF5U3RhcnRNZWRpYTsKICAg
ICBpZiAobV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ICYmIG1fcGFnZS0+aXNJbldpbmRvdygp
KQotICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBXZWJQYWdlOjpydW5Nb2RhbCgpCkBAIC01MTU5LDcgKzUxNTksNyBAQCB2b2lkIFdl
YlBhZ2U6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUqIGZyYW1lKQogCiAgICAgbV9yZWFkeVRvRmlu
ZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbiA9IHRydWU7CiAgICAgTE9HKFBsdWdpbnMsICJQcmlt
YXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGRpZEZpbmlz
aExvYWQgKG1hcmtpbmcgYXMgcmVhZHkgdG8gZGV0ZWN0KS4iKTsKLSAgICBtX2RldGVybWluZVBy
aW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVy
bWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKICNlbmRpZgpAQCAtNTE3MSw3ICs1
MTcxLDcgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblNlYXJj
aEJ1Y2tldFNpemUgPSAxLjE7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBs
dWdJbk1pbmltdW1XaWR0aCA9IDQwMDsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90
dGVkUGx1Z0luTWluaW11bUhlaWdodCA9IDMwMDsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cyA9IDI7Ci1zdGF0aWMgY29u
c3QgaW50IGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAz
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5E
ZXRlY3Rpb25EZWxheSA9IFNlY29uZHMoMyk7CiBzdGF0aWMgY29uc3QgZmxvYXQgb3ZlcmxhcHBp
bmdJbWFnZUJvdW5kc1NjYWxlID0gMS4xOwogc3RhdGljIGNvbnN0IGZsb2F0IG1pbmltdW1PdmVy
bGFwcGluZ0ltYWdlVG9QbHVnaW5EaW1lbnNpb25TY2FsZSA9IC45OwogCkBAIC01Mjc5LDcgKzUy
NzksNyBAQCB2b2lkIFdlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbigp
CiAgICAgaWYgKCFjYW5kaWRhdGVQbHVnSW4pIHsKICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmlt
YXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiBmYWlsIC0gZGlkIG5vdCBmaW5kIGEgY2FuZGlkYXRlIHBs
dWctaW4uIik7CiAgICAgICAgIGlmIChtX251bWJlck9mUHJpbWFyeVNuYXBzaG90RGV0ZWN0aW9u
QXR0ZW1wdHMgPCBtYXhQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cykg
ewotICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3
aWxsIGF0dGVtcHQgYWdhaW4gaW4gJWRzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luRGV0ZWN0aW9uRGVsYXkpOworICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBs
dWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJS4zZnMuIiwgZGVmZXJyZWRQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheS52YWx1ZSgpKTsKICAgICAgICAg
ICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90
KGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkpOwogICAgICAg
ICB9CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCmluZGV4IDY5MzA1M2Y3ZDgyYmE0ZjllODllY2QxNjk3YzhhMTZkYjhhYmMyNDEu
LmNlNjg5ZGZiNTBlNTkwNjA4MmJhNzZmNTU3OWI0ZmJiMjg1Y2ZjNTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMzAwLDcgKzMwMCw3IEBAIHB1
YmxpYzoKICAgICBib29sIGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0OwogICAgIHZv
aWQgc2V0QWN0aXZlUG9wdXBNZW51KFdlYlBvcHVwTWVudSopOwogCi0gICAgdm9pZCBzZXRIaWRk
ZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGxpbWl0KQorICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICB7CiAgICAgICAgIG1fcGFnZS0+c2V0VGltZXJBbGln
bm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQobGltaXQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDU5NGQ5MDBlZmYwMjIwZjgzY2RhZjBjM2ZkOThi
OWViZjcxOTJiY2QuLjM5MjYwZDc2MjlkZWVhNzViMDUyNDY1MzJlNGFhN2Q0NzExZTNkYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMjg1LDcgKzI4NSw3IEBA
IFRpbGVkQmFja2luZyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6Om1haW5GcmFtZVRpbGVk
QmFja2luZygpIGNvbnN0CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkoKQogewotICAgIG1fbGF5ZXJGbHVz
aFRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6
c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQpAQCAtMzA0LDkgKzMwNCw5IEBAIHZvaWQg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNo
KCkKICAgICBpZiAobV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgY29uc3QgYXV0byBpbml0aWFsRmx1c2hEZWxheSA9IDUwMG1zOwotICAgIGNvbnN0
IGF1dG8gZmx1c2hEZWxheSA9IDE1MDBtczsKLSAgICBhdXRvIHRocm90dGxlRGVsYXkgPSBtX2lz
VGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2gg
PyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDogMG1zOworICAgIGNvbnN0IFNlY29u
ZHMgaW5pdGlhbEZsdXNoRGVsYXkgPSBTZWNvbmRzKDAuNSk7CisgICAgY29uc3QgU2Vjb25kcyBm
bHVzaERlbGF5ID0gU2Vjb25kcygxLjUpOworICAgIFNlY29uZHMgdGhyb3R0bGVEZWxheSA9IG1f
aXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzID8gKG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVz
aCA/IGluaXRpYWxGbHVzaERlbGF5IDogZmx1c2hEZWxheSkgOiBTZWNvbmRzKDApOwogICAgIG1f
aXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA9IGZhbHNlOwogCiAgICAgbV9sYXllckZsdXNo
VGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxlRGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggNThkOGE5YWNiMGMzZDhhNmU2NDA5NGZlZmJlOTYy
MDJiODRlNjFlOS4uNDNhZGUzNmY5NmMxMjUxMzQyNGRlNGJkZTRkOGEzZDY1YjA0OTJjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC00NzIsNyArNDcy
LDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWN0aXZpdHlTdGF0ZURp
ZENoYW5nZShBY3Rpdml0eVN0YXRlOjpGbGFncwogICAgIH0KIAogICAgIGlmIChtX3dhbnRzRGlk
VXBkYXRlQWN0aXZpdHlTdGF0ZSB8fCAhbV9uZXh0QWN0aXZpdHlTdGF0ZUNoYW5nZUNhbGxiYWNr
SURzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYTo6ZGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZGQwMGExOGQ5YjYyMTY1ZDkz
NjJhOTgyZTRmZTc2NTg4NzFlNTE5YS4uNTY0MDEzMDM2OTAwMzc0MWZiODBmMTMyOGU1NDdlYmU2
MjFkNTVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0x
NDIsNyArMTQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBzdGF0aWMgY29uc3QgZG91
YmxlIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBkYXRlVGhyZXNob2xkID0gMjkgKiAy
NCAqIDYwICogNjA7CiAKIC8vIFRoaXMgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aWxlUmV2YWxp
ZGF0aW9uVGltZW91dCBpbiBUaWxlQ29udHJvbGxlci4KLXN0YXRpYyBjb25zdCBkb3VibGUgbm9u
VmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG5v
blZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gU2Vjb25kcygxMCk7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCkBAIC0yMTEsNyArMjExLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAg
ICAgICAgIGlmIChtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgCi0gICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5z
dGFydE9uZVNob3Qoc3RkOjpjaHJvbm86OnNlY29uZHMoNSkpOworICAgICAgICBtX3N0YXRpc3Rp
Y3NDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoNSkpOwogICAgIH0pOwogfQogCkBA
IC01MzgsNyArNTM4LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90
IGNtKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQg
Y2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFj
aXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6
OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWw7CiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAgICAgY2FsY3Vs
YXRlTWVtb3J5Q2FjaGVTaXplcyhjYWNoZU1vZGVsLCBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hl
TWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVs
ZXRpb25JbnRlcnZhbCwgcGFnZUNhY2hlU2l6ZSk7CiAKQEAgLTEyNDQsMTAgKzEyNDQsMTAgQEAg
dm9pZCBXZWJQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW8KICAgICB9CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6c2V0
SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykK
K3ZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGlt
aXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFs
dWVzKCkpCi0gICAgICAgIHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFz
ZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMobWlsbGlzZWNvbmRzKSk7CisgICAgICAg
IHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KTsK
IH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKaW5kZXggMmE5NjQxYmZkNTRlODM0NzgyODRkNjVhNWVhMzU3MWExZjI3YjViOS4uMzMz
ZmRiNmMxNjU1OWI5ODNjNzc1NjZkYjM4MzRlZjdjNGY5MDdjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTE4OCw3ICsxODgsNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpOworICAgIHZvaWQgc2V0SGlk
ZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyk7CiAKICAgICB2b2lk
IHByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHkoYm9vbCYgaGFuZGxlZCk7CiAgICAgdm9pZCBw
cmVwYXJlVG9TdXNwZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNmQ3NmU1ODMyNmVkMzUyNGFhYzVhOTg2YzQ5OTA2Nzhh
NTI0MTY2Yi4uMjU5MDQ0OThhNmU0YTk3MDZiMWZjMWQ2NjliMWUxYzZiNzgyMDI4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAt
ODAsNyArODAsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAg
ICBEZWxldGVXZWJzaXRlRGF0YShXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25T
ZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIHN0ZDo6Y2hyb25v
OjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9kaWZpZWRTaW5jZSkgLT4gKCkKICAgICBEZWxl
dGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0
aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zKSAtPiAoKQogCi0gICAgU2V0SGlk
ZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKKyAg
ICBTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0
KQogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKQogI2lmIFBMQVRG
T1JNKENPQ09BKQogICAgIFNldFFPUyhpbnQgbGF0ZW5jeVFPUywgaW50IHRocm91Z2hwdXRRT1Mp
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcCBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCmluZGV4IDFkYzdlOTM4
YTc2ZTk5NGJlOTc2OThlZTgwNWNjNmZmZWQ2ZmUzZGIuLjc5NGIzOWE5YzhlMWFkM2FjOWE2YzUz
Nzk4OTQ0ZTI4OTliNGI3NjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1J1bkxvb3AuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxv
b3AuY3BwCkBAIC05NSw3ICs5NSw3IEBAIFRFU1QoV1RGX1J1bkxvb3AsIE9uZVNob3RUaW1lcikK
IAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAg
ICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjEpOworICAgICAgICB0aW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwLjEpKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0K
IH0KQEAgLTEyOSw3ICsxMjksNyBAQCBURVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikK
IAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAg
ICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDEpOworICAgICAgICB0aW1lci5zdGFydFJlcGVh
dGluZyhTZWNvbmRzKDAuMDEpKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwog
ICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295438</attachid>
            <date>2016-11-26 12:29:20 -0800</date>
            <delta_ts>2016-11-26 13:37:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161126122900.patch</filename>
            <type>text/plain</type>
            <size>347226</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OWI0MjljMjk4ZDljZDEyMzEyOWIwNjE0OGQwZmU0ZmM5MjA5ODc5Li5lMjYyZGE0Njk0ZjBkZTYw
MjA1YzQzYjQ4MDIwOWYyZDZiYmViNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0xMS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6YWRkR2FyYmFnZUNv
bGxlY3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpzcGVjaWVzQ29uc3RydWN0QXJyYXkpOgorCiAyMDE2LTExLTIzICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFX0FTU0VN
QkxFUl9XWF9FWENMVVNJVkUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA5ZjNmOGYyOTFjMzNkZmM2NWRhNzUzNWRmYWI1
NThiMzk3NzdjZDZlLi4wYWYyNjRmNGExZDY5NDY0NDZkNDQ0MzQ5NzI2NjM5ZTgxN2E0NzU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25k
cywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3Ag
VGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3
CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRz
LgorCisgICAgICAgICogd3RmL1J1bkxvb3AuaDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKiB3dGYvUnVuTG9vcFRpbWVyLmg6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lckNGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcFRpbWVyQmFz
ZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi9jZi9SdW5Mb29wQ0YuY3BwOgorICAgICAgICAoV1RG
OjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKwogMjAxNi0xMS0yMiAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgT25lIG1vcmUgdGlueSBiaXQgb2YgZm9sbG93
LXVwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGJiZGY5ZDQ5NWIxMzg1NzhkZGU5ZWVkOWYyOTczMmNjNGQxZWEz
ZmUuLmQyY2UyMmI3ZmM4MDY4NGJiM2M5ZGE0ZDk2MjEwY2JmYmYzMzNkNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0NzkgQEAKKzIwMTYtMTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBU
aW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcK
KyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMu
CisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpn
ZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAq
IE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxl
T3BlcmF0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGlt
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJhbmdlUmVtb3ZhbCk6CisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtOjpzY2hlZHVsZUFjdGl2ZVN0YXRlQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRFRN
RlNlbmRlcjo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RhdGFDaGFu
bmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2Vu
dGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
U29ja2V0Q2hhbm5lbDo6cmVzdW1lKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAg
ICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFN0YXR1cyk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29uKToKKyAg
ICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9N
YXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1
cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVz
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJr
aXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20v
RXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRj
aEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01pY3JvdGFza3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAg
ICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0
UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAq
IGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAg
ICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6
CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNs
ZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFs
dGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAg
ICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6CisgICAgICAgICogZWRpdGluZy9TcGVsbENo
ZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5pbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAg
ICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAg
ICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAg
ICAgIChNZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6c2NoZWR1bGVFdmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxl
VGltZXVwZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGh0bWwvTWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURv
Y3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVu
dFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAg
ICAgKiBodG1sL1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJ
bnB1dFR5cGU6OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6
OnJlcXVlc3RUb0hpZGVNZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVD
b250ZXh0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5r
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hl
ZHVsZUZvclJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNw
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVy
RWxlbWVudDo6dXBkYXRlU2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0
VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxl
TG9hZCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRh
c2s6OnNjaGVkdWxlRm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2No
ZWR1bGVGb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6
OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRh
c2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c3RhcnREYXRhTG9hZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpk
ZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVj
a0NvbXBsZXRlVGltZXIpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAg
ICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHA6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBs
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
Q2FsbGJhY2spOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3Vy
Y2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2Rl
ZERhdGFJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJh
Y2s6OkNhbGxiYWNrKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25l
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVtb3J5Q2FjaGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVy
ZW5jZUNoYW5nZXMpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAg
IChXZWJDb3JlOjpET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6
CisgICAgICAgICogcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBh
Z2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRy
YWNrZXI6Ok1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11
bUR1cmF0aW9uVHJhY2tlcjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVs
ZUhvdmVyU3RhdGVVcGRhdGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAg
ICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6cGFyc2VFdmVudFN0cmVhbUxpbmUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoK
KyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRJ
bWFnZXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5pbXVtRE9N
VGltZXJJbnRlcnZhbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6Om1pbmltdW1ET01UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46Cisg
ICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1
c3BlbmRhYmxlVGltZXI6OlN1c3BlbmRhYmxlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3Vz
cGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxl
VGltZXI6OnJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVU
aW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxl
VGltZXIuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0
YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVB
bmltYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFu
aW1hdGlvblVwZGF0ZSk6CisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xh
dGNoZWRTdGF0ZUlmTmVlZGVkKToKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVj
dGlvblJlY3RzRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNo
b3VsZEJlU2hvd24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQpOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJ
bmRpY2F0b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93
OjpzZXRUZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVl
U3RhdGVDb21taXQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBv
c3RUYXNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6SHlzdGVyZXNpc0FjdGl2aXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Nj
cm9sbFByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6c3RhcnRUaW1l
cklmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkVGltZXJzOjpUaHJlYWRUaW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJz
OjpzZXRTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnVwZGF0
ZVNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6c2hhcmVkVGlt
ZXJGaXJlZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6ZmlyZVRp
bWVyc0luTmVzdGVkRXZlbnRMb29wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6VGltZXJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJh
c2U6OmNoZWNrQ29uc2lzdGVuY3kpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFw
RGVjcmVhc2VLZXkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbik6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OmhlYXBQb3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjp1cGRhdGVI
ZWFwSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzZXROZXh0RmlyZVRp
bWUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVy
dmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0T25lU2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnJlcGVhdEludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OmlzQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmFibGVP
bmVTaG90VGltZXI6OkRlZmVycmFibGVPbmVTaG90VGltZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L1ZOb2RlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2xhc3RXYXJuaW5nVGltZSk6
CisgICAgICAgIChXZWJDb3JlOjpWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5n
SW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1ZOb2RlVHJhY2tlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
aXRtYXBJbWFnZTo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
aW50ZXJuYWxTdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
YWR2YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JhdGNoQnVmZmVyOjpzY2hlZHVs
ZVNjcmF0Y2hCdWZmZXJQdXJnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnVwZGF0ZU9wdGlvbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJh
bmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
aWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29u
dHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ292ZXJhZ2VN
YXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
R3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29ob3J0KToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OklP
U3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExhc3RVc2VUaW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJs
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNv
b24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50
YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNh
bmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRp
ZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0
ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9p
bnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0v
bW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0ZSk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWspOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9E
TlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGluZ1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGlt
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9yZUNhbGxiYWNrKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1
ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1
ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9u
T3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5p
bWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzRmFkZUluRHVy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRl
T3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQpOgorICAgICAgICAq
IHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0
dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERp
c3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgorICAgICAgICAqIHJlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9u
U2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAgICAqIHJlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6ZXZl
bnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmg6
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJs
ZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVy
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVv
dXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpk
aXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIwMTYtMTEtMjMgIFNlcmdp
byBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlk
XSBDb252ZXJ0IGdyaWQgcmVwcmVzZW50YXRpb24gaW50byBhIGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVh
NmU5OGFhNzc4OTFjMjBiODczYzM3YTNhOTBhNWQ0NjdkNGM4ZjYuLjE4NmNmNzY4ZmI5ZDJkNGM2
NmQ1MTUyZjhlYjllNGFhYTllY2FkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTYt
MTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAg
Q2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3Rk
OjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMsIHJl
cGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5kIHJl
bW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgKiBTdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVJdGVtRm9yU3luYyk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVDbGVhcik6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzeW5jVGlt
ZXJGaXJlZCk6CisgICAgICAgICogU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcik6CisgICAgICAgICogU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5oOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6
c3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRy
YWNrZXI6OnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYlJlc291
cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cyk6CisKIDIwMTYt
MTEtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0pTQ10gV1RGOjpUZW1wb3JhcnlDaGFuZ2Ugd2l0aCBXVEY6OlNldEZvclNjb3BlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggMWQyZThiMmFmYjM1YWM4OGM4YTI4NjFjMDFkMTY5NWRhMjRmMTk4MS4uNmQ1
OWExZmZkZjE5MDM4NDllODM2YjE0ZTNkMWUxY2RiMzA5YTgzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI2IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywg
bm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGlt
ZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3Cisg
ICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgor
CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgIChQbHVn
aW5UaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFN0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW06
CisgICAgICAgICgrW1dlYlN0b3JhZ2VNYW5hZ2VyIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVN
b2RlbDpdKToKKwogMjAxNi0xMS0yMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtNYWNdIEluIExlZ2FjeSBXZWJLaXQsIHByZXNzaW5nIGFuIGFycm93IGtleSBp
biBlZGl0YWJsZSBjb250ZW50IGRvZXNu4oCZdCBoaWRlIHRoZSBtb3VzZSBjdXJzb3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBlMGU0ZTU2MDQyNTZhNmFkNmRiMWMwODE2NGEwNTI5MzdjMDU2NmRjLi43YTAyZTM3
ZjQwZmExMGExMWI5M2EyZmZmMzlmZGNkNjE4ZjA1NGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTM1IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVz
ZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRv
dWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWQ6OlRocm90
dGxlOjpUaHJvdHRsZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpkaWRSZWNlaXZl
UmVzcG9uc2VOZXR3b3JrU2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvYWRUaHJvdHRs
ZUxhdGVuY3kpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0TmV0d29ya0xvYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RhdGlzdGljcy5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6
ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpT
dG9yYWdlOjpzdG9yZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpy
ZXN1bWUpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHA6CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6CisgICAgICAgIChJ
UEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6OkNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246
OnRlcm1pbmF0ZVNvb24pOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0
cm95KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50
VGltZXIpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZSk6CisgICAgICAg
ICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NhY2hl
TW9kZWwuY3BwOgorICAgICAgICAoV2ViS2l0OjpjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKToK
KyAgICAgICAgKiBTaGFyZWQvQ2FjaGVNb2RlbC5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6
CisgICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Omxhc3REaXNwbGF5VGltZSk6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0
b3JlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkp
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lmg6CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24ubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbToK
KyAgICAgICAgKEFQSTo6U2hhcmVkSlNDb250ZXh0OjplbnN1cmVDb250ZXh0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6
OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0Fy
ZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR2FtZXBh
ZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxl
ci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hpZGRlblBhZ2VUaHJv
dHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Om1heGltdW1CdWZmZXJpbmdUaW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5WaWV3Ojpsb2FkVVJMKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUGx1Z2lu
Vmlldyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5X
aW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNy
ZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisKIDIwMTYtMTEtMjQgIE1pY2hh
ZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE5v
dGlmaWNhdGlvbnMgQVBJIGRvZXMgbm90IGV4cG9zZSBvciByZXNwZWN0IHRoZSAidGFnIiBhdHRy
aWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDQwNDE2OWY3ZjU0ZmFmMGQ5Njgx
ZjJlZjAyMGZmNGE2ZDhjMWRjNGUuLmIxYWVlMzg2NjAyY2I0YmRlZTVkOGY2NjA2NGEwYjM0NGUz
ZmI5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2b2lk
IFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKEdh
cmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZl
bnRzVGFzazo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCmluZGV4IGFkNWRjZTI0NTg2YzRiMzFjZGU1OTViYTJiMWY3ZjZlMzBi
MzcxYTkuLmEzZTU5MWUwMDlmMTRkZThjMGUzZWI1NzU0ZDgyYzZmNTAzMWFkM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTIy
MywxMyArMjIzLDEzIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHN0ZDo6cGFpcjxTcGVjaWVzQ29u
c3RydWN0UmVzdWx0LCBKU09iamVjdCo+IHNwZWNpZXNDb25zdHJ1CiAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc0NvbnN0cnVjdG9yKCkpIHsKICAgICAgICAgICAgIEpTT2JqZWN0KiBjb25zdHJ1
Y3Rvck9iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yKTsKICAgICAgICAgICAg
IGlmIChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkgIT0gY29uc3RydWN0b3JPYmplY3QtPmds
b2JhbE9iamVjdCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVj
aWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwg
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNvbnN0cnVjdG9yLmlzT2JqZWN0KCkp
IHsKICAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3RydWN0b3IuZ2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKICAgICAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc051bGwoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
U3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOzsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBh
dGgsIG51bGxwdHIpOwogICAgICAgICB9CiAgICAgfSBlbHNlCiAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3AuaCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAppbmRleCA1NTVkNDQ3
MzFjZjMwOGJjYmQ5ZWViZGZiZTY1YjIxZmRhYTU4ZWRlLi42M2QwYzc5OTkxZWQ5MmQ2ODhlNWI5
OGI1MWNiZmM0NzQ3YzM4MzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgK
KysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCkBAIC04OCwxMCArODgsOCBAQCBwdWJsaWM6
CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBleHBsaWNpdCBUaW1lckJhc2UoUnVuTG9vcCYp
OwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAg
ICAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQo
cmVwZWF0SW50ZXJ2YWwsIHRydWUpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhy
ZXBlYXRJbnRlcnZhbC5jb3VudCgpICogMC4wMDEpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRPbmVT
aG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgZmFsc2UpOyB9Ci0gICAgICAg
IHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwuY291bnQoKSAqIDAuMDAxLCBmYWxzZSk7IH0KKyAgICAgICAgdm9pZCBz
dGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVy
dmFsLCB0cnVlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFs
KSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KIAogICAgICAgICBXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBzdG9wKCk7CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGlzQWN0aXZl
KCkgY29uc3Q7CkBAIC0xMDMsNyArMTAxLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBwcml2
YXRlOgotICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChkb3VibGUgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOworICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KTsKIAogICAgICAg
ICBSdW5Mb29wJiBtX3J1bkxvb3A7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxv
b3BUaW1lci5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKaW5kZXggMzc4MGU3NmMw
MzEzMTA0YWVjN2ZkNzk3MzIzZWI0MTA0ZjgzZTU5Ny4uZThjYTZjZjRjM2Q2YTBhMjhkYmM4MWVl
OTkxOGY2Mzg4YWE1OTc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVy
LmgKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKQEAgLTQ1LDEwICs0NSwxMCBA
QCBwdWJsaWM6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3QgU2No
ZWR1bGVQYWlyKik7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3Qg
U2NoZWR1bGVQYWlySGFzaFNldCYpOwogCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3Rh
cnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2
YWwsIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0
YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBTZWNvbmRzKDAp
KTsgfQogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNG
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMy
ZTIzYmE3YmY5NTczYzMxYjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5
Yzg4NTIwZWZlNWJlYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJD
Ri5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiAr
NTIsMTIgQEAgc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCog
Y29udGV4dCkKICAgICB0aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNl
OjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQor
dm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNl
Y29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVu
TG9vcFRpbWVySW52YWxpZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNv
bnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9w
dENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsg
bmV4dEZpcmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250
ZXh0KSk7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVh
dEludGVydmFsLnZhbHVlKCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZv
aWQgUnVuTG9vcFRpbWVyQmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVs
ZVBhaXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291
cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThh
OTg2ZGU5MjNlODcyOTI0NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5
OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0
KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZh
bCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAg
ICAKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwg
MCB9OwotICAgIENGVGltZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZp
cmVJbnRlcnZhbCA6IDA7Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0
RmlyZUludGVydmFsLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQp
KTsKKyAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJl
SW50ZXJ2YWwudmFsdWUoKSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGlt
ZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkg
KyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZp
cmVkLCAmY29udGV4dCkpOwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxv
b3AuZ2V0KCksIG1fdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3
NGM2NzUwZGFlNTk2Li42MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1
bkxvb3A6OlRpbWVyQmFzZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1l
ci0+bV9pc1JlcGVhdGluZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tf
Q0FOQ0VMOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRG
aXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0
aXZlKCkpCiAgICAgICAgIHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAg
ICAgQVNTRVJUKCFtX3RpbWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRG
aXJlSW50ZXJ2YWwsIHJlaW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCks
IHRoaXMpOworICAgIG1fdGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52
YWx1ZSgpLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlz
KTsKIH0KIAogdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9n
ZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQx
NjdlYzdiNWZkYTI2NjM4Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEy
ICsyNjMsMTIgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7
CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJv
b2wgcmVwZWF0aW5nKQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50
ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRh
c2sgPSBTY2hlZHVsZWRUYXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAg
ICB9LCBTZWNvbmRzKGludGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVw
ZWF0aW5nKTsKICAgICBtX3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNr
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1
NjI3OGJhNmI3ZmYwMjFjMGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0
Njg3ODEzNjMzYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGli
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkg
KzE5MCw5IEBAIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAg
IGdfc291cmNlX3NldF9yZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0K
IAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6
OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2
YWxEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52
YWx1ZSgpKTsKICAgICBhdXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29u
ZHM6Om1heCgpOwogICAgIGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAg
ICAgICBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9u
bzo6bWljcm9zZWNvbmRzPihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2lu
LmNwcAppbmRleCA0YjQ1YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAy
MWY3ZGI0Y2EyYTI4YjE5ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxv
b3BXaW4uY3BwCkBAIC0xNTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1l
ckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewog
ICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJz
LnNldChtX0lELCB0aGlzKTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNz
YWdlV2luZG93LCBtX0lELCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRU
aW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpz
dG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBm
YWYyMTIwMmExMzBiOTJlNWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLmJjMGMwNWFjMGJhNDAxMzdm
MWFlZTYwOWQzZmM4Mjk0YTExNWU2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmNwcApAQCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlh
S2V5U2Vzc2lvbjo6c2Vzc2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9u
OjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJy
YXk+JiYgaW5pdERhdGEpCiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWlt
ZVR5cGUsIFdURk1vdmUoaW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiB9CiAKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJl
ZCgpCkBAIC0xNDIsNyArMTQyLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViS2l0TWVkaWFLZXlT
ZXNzaW9uOjp1cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYga2V5KQogCiAgICAgLy8gMi4gU2NoZWR1
bGUgYSB0YXNrIHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJvdmlkaW5nIGtleS4KICAgICBtX3BlbmRp
bmdLZXlzLmFwcGVuZChXVEZNb3ZlKGtleSkpOwotICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAg
ICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2Vv
bG9jYXRpb24vR2VvTm90aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9Ob3RpZmllci5jcHAKaW5kZXggY2VjOTdjYzkwMmU0NTA2ODk3ZmVmYmQzZWFlMmY5
NzkwN2FhY2MxNi4uMjYxYjA3YzVkNzczMDI4NDA5NzQ4Yzk3ZjFiN2E3ODViMjFmODU2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKQEAgLTU5LDEzICs1OSwxMyBAQCB2b2lkIEdlb05vdGlmaWVyOjpzZXRGYXRhbEVycm9yKFJl
ZlB0cjxQb3NpdGlvbkVycm9yPiYmIGVycm9yKQogICAgIG1fZmF0YWxFcnJvciA9IFdURk1vdmUo
ZXJyb3IpOwogICAgIC8vIEFuIGV4aXN0aW5nIHRpbWVyIG1heSBub3QgaGF2ZSBhIHplcm8gdGlt
ZW91dC4KICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9Ob3Rp
Zmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAgIG1fdXNlQ2FjaGVkUG9zaXRpb24g
PSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29sIEdlb05vdGlmaWVyOjpoYXNaZXJvVGltZW91
dCgpIGNvbnN0CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2Fs
bGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiB2b2lkIEdlb05vdGlmaWVyOjpzdGFydFRpbWVy
SWZOZWVkZWQoKQogewogICAgIGlmIChtX29wdGlvbnMtPmhhc1RpbWVvdXQoKSkKLSAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QobV9vcHRpb25zLT50aW1lb3V0KCkgLyAxMDAwLjApOworICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fb3B0
aW9ucy0+dGltZW91dCgpKSk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnN0b3BUaW1lcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3Bw
CmluZGV4IDg1YWU0MGY2MzQxNzUzMjcxNjcyZjNhMzc3ZmU5OTNkZjRhMzE4YzAuLjUyZjE5Mjkz
NThmM2E5ZjA0MTUxMjNiZmQyZWM3ODU5NzczYzQzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xOTgsNyArMTk4LDcg
QEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnJlc3Vt
ZSgpOwogCiAgICAgaWYgKCFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVz
dW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggMzhkZWNkNTNiOWFiMDgxMmViODA5ZjVmYmIzYjZiZGExZWM4YjAxYS4u
NWE1OTQ1MmFhZGJmZmM4YmM4Njc5YmIwYTBlM2Y5YzdjMTczMjUzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzUw
LDcgKzM1MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0aW9uVGltZXIo
KQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFk
SUQoKSk7CiAKICAgICBpZiAoIW1fb3BlcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9vcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3BlcmF0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpv
cGVyYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCmluZGV4IGNiMDQ4
NjFjYzdjY2M1Y2YyZjdjZWJhZDczY2Q1OTdiZDJhMjcwYWEuLmM2NmZkMTFjNmI3NWZlYzg2NmQ2
YTIxMWI1NTA3ZjQyY2M5ZmQyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcApAQCAtMTQ5
NCw3ICsxNDk0LDcgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6aW52b2tlT3BlcmF0aW9uQW5k
VHJhbnNhY3Rpb25UaW1lcigpCiAgICAgQVNTRVJUKCFtX2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRl
KTsKIAogICAgIGlmICghbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5z
YWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2
OWYxMGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLmY1ZDY2MzYwMjY0ZGY2OTFjNmQ4
ZWNiNTdlNDM1MDU4YzU2MDZlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0z
Niw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSB0YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0
YXNrRGVsYXlJbnRlcnZhbCA9IFNlY29uZHMoMS4wIC8gMTApOwogCiBzdHJ1Y3QgQ2xpZW50U3Rh
dGUgewogICAgIGV4cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQmIGNsaWVudCwgdWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVf
dCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQqIGNsaWVudCwgdWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmln
dXJlV2F0Y2hkb2dUaW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1Rp
bWVySW50ZXJ2YWxBZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3Vi
bGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0g
U2Vjb25kcyg2MCAqIDYwKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVy
SW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA9IFNlY29uZHMoOCAqIDYwKTsKIAogICAgIGlmICgh
bV9wbGF5YmFja1RhcmdldCB8fCAhbV9wbGF5YmFja1RhcmdldC0+aGFzQWN0aXZlUm91dGUoKSkg
ewogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwpAQCAtNDQyLDE0ICs0NDIsMTQgQEAg
dm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKCkKICAg
ICB9CiAKICAgICBpZiAoc3RvcFRpbWVyKSB7Ci0gICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50
ZXJ2YWwgPSAwOworICAgICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gU2Vjb25kcygw
KTsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAgICAgICAgTE9HKE1lZGlhLCAi
V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHN0
b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSBkaWRQbGF5
VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA6IHdhdGNoZG9n
VGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IGRp
ZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kIDogd2F0
Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBpZiAoaW50ZXJ2YWwgIT0g
bV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkp
IHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwot
ICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJl
V2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIsIGludGVydmFsKTsKKyAg
ICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdh
dGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwgaW50ZXJ2YWwudmFsdWUo
KSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IGludGVy
dmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1N2Q1OGVmOTE0Y2IyM2Yx
OTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRjNmQ0NmExM2FkM2MxZjEx
YjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0xMDIsNyArMTAyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4gbV9wbGF5YmFja1Rhcmdl
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlvblRhc2tzIG1fdGFza0Zs
YWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgeyAw
IH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsOwogICAgIGJvb2wgbV9l
eHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Rhcmdl
dENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2VyRW5hYmxlZCB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBhYWZjMjFlMDU1Mjg0Yi4u
Mjg0OGZhYWZiY2NhZWU1ZGJlOWVkYzJjNDg0ZmVkYjEyZWUxMWU5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtMzQ4
LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwoY29uc3QgTWVkaWFU
aW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8gNS4gUmV0dXJuIGNvbnRy
b2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBzdGVwcyBhc3luY2hyb25v
dXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0OwogICAgIG1fcGVuZGluZ1Jl
bW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXI6OmFib3J0SWZVcGRhdGluZygpCkBAIC01MzMsNyArNTMzLDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25lZCBj
aGFyKiBkYXRhLAogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0RXZl
bnQpOwogCiAgICAgLy8gNi4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFs
Z29yaXRobS4KLSAgICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJlcG9y
dEV4dHJhTWVtb3J5QWxsb2NhdGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggMWQ1MmE0OGE1M2RhZTI4OGM4NDcx
OWZkYzFlMWVlYmQ0N2VlNmU1Ny4uZDU0NDBiZmY2N2M5MjhjZjcxZGRjYmI1NTVkZWU3NDZjNzhh
NTQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIE1lZGlhU3RyZWFtOjpzY2hlZHVs
ZUFjdGl2ZVN0YXRlQ2hhbmdlKCkKICAgICBtX3NjaGVkdWxlZEFjdGl2aXR5RXZlbnRzLmFwcGVu
ZChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiAKICAgICBpZiAoIW1f
YWN0aXZpdHlFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fYWN0aXZpdHlFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GU2VuZGVyLmNwcAppbmRleCA4MzMwYzg3OGMxN2MwOWU3ODI2OWJjNTVhZDc4ZmUx
N2IxNGI4MGRiLi4xNmU4MDA2ODc4MDRjZmM0OTQzYmY1ODRiNzJjZTY4NTEyZDAyNjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlz
cGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBw
ZW5kKFdURk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5u
ZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bC5jcHAKaW5kZXggMDUxYzcwMTQ5YWUyZGExMmU2MDBhNDA1MGYwOWMxZWM4YmZkNTc1Ni4uNDNh
OTRiYTIzNzYzZGVlMjc3ZGNlYmI3MjU1MGE4M2RjYzFlMjZiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKQEAgLTIz
Nyw3ICsyMzcsNyBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UmVmPEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3Zl
KGV2ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRl
eCAxZTAyY2UxY2Y2N2Y2ZTRkOTEyODc1YWJmODBiMmRkZGU4MzdhN2U3Li4zYWI3NjY0MTUyNzNi
OTE5ZWMwZTY4M2RlMDk0MmZlN2NjZGQ3ZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBA
QCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGl0bGUpCiAgICAgLy8gRklYTUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50
ZXIgY2FuIGJlIG51bGwgc28gc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJl
Zi4KICAgICAvLyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0
cnlpbmcgdG8gaGFuZGxlIHRoYXQgY2FzZS4KICAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50
ZXItPmNsaWVudCgpKTsKLSAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1f
dGFza1RpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGVi
ZmUwLi5mMDczNDVkZDJlNzdlNzY1YzNmNmYwZTdmM2E1YjQwNmQxMzg4OWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBj
YXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNEZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3Mu
aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICByZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVm
cyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGlt
ZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgIH0KICAgICAgICAg
bV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAgICAgICAgICBpZiAoY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3Bw
CmluZGV4IDY0MzIxNjU5YmIxYzIyOTRkMjIyYWZkZWJmMzQ0NWNhNmI3NGMxNWMuLmVkY2UxMTky
ZDAzNTg0YjVmZTU2M2EzNjdhMGU1ZTMzOWQ2YTAwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC01MDMsNyArNTAzLDcgQEAgdm9p
ZCBXZWJTb2NrZXQ6OnJlc3VtZSgpCiAgICAgICAgIG1fY2hhbm5lbC0+cmVzdW1lKCk7CiAgICAg
ZWxzZSBpZiAoIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCkgJiYgIW1fcmVzdW1lVGltZXIuaXNB
Y3RpdmUoKSkgewogICAgICAgICAvLyBGaXJlIHRoZSBwZW5kaW5nIGV2ZW50cyBpbiBhIHRpbWVy
IGFzIHdlIGFyZSBub3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBmcm9tIHJlc3Vt
ZSgpLgotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9y
ZXN1bWVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfQogCiAgICAgbV9zaG91
bGREZWxheUV2ZW50RmlyaW5nID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggNGU0YWE3YzNhOWJi
MjUyNTk1YTcyOTIzMDg3MDYxYmI3YjM0MjM5OS4uYmRjNjQwMjRkMDg0MWRhYTllYjZlNWUzZjc5
ZGQzZTFmYjkxM2IxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtNjIsNyArNjIsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lID0g
MiAqIDYwLjA7Citjb25zdCBTZWNvbmRzIFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUgPSBTZWNv
bmRzKDIgKiA2MCk7CiAKIFdlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwoRG9jdW1l
bnQmIGRvY3VtZW50LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50JiBjbGllbnQsIFNvY2tldFByb3Zp
ZGVyJiBwcm92aWRlcikKICAgICA6IG1fZG9jdW1lbnQoJmRvY3VtZW50KQpAQCAtMjA3LDcgKzIw
Nyw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UoaW50IGNvZGUsIGNvbnN0IFN0cmlu
ZyYgcmVhc29uKQogICAgIFJlZjxXZWJTb2NrZXRDaGFubmVsPiBwcm90ZWN0ZWRUaGlzKCp0aGlz
KTsgLy8gQW4gYXR0ZW1wdCB0byBzZW5kIGNsb3NpbmcgaGFuZHNoYWtlIG1heSBmYWlsLCB3aGlj
aCB3aWxsIGdldCB0aGUgY2hhbm5lbCBjbG9zZWQgYW5kIGRlcmVmZXJlbmNlZC4KICAgICBzdGFy
dENsb3NpbmdIYW5kc2hha2UoY29kZSwgcmVhc29uKTsKICAgICBpZiAobV9jbG9zaW5nICYmICFt
X2Nsb3NpbmdUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Nsb3NpbmdUaW1lci5zdGFydE9u
ZVNob3QoMiAqIFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUpOworICAgICAgICBtX2Nsb3NpbmdU
aW1lci5zdGFydE9uZVNob3QoVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSAqIDIpOwogfQogCiB2
b2lkIFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCkBAIC0yNjYs
NyArMjY2LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUoKQogewogICAgIG1fc3Vz
cGVuZGVkID0gZmFsc2U7CiAgICAgaWYgKCghbV9idWZmZXIuaXNFbXB0eSgpIHx8IG1fY2xvc2Vk
KSAmJiBtX2NsaWVudCAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jl
c3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlblNv
Y2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQxZTgyMDVhMTE2MTJmMGRh
Zjg0MTBiOGU2MzE4OThhMWUyNmMwNzQuLmFlYjM3MzM4M2EzNDMwNTg5ZDFlMGQ4M2JlYTI2NjIx
YWY5ZTBjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcApAQCAtMTEwLDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5h
bWVzcGFjZSBIVE1MTmFtZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMg
Zm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmll
bGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVu
Y2UKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmlj
YXRpb25JbnRlcnZhbCA9IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJl
Z2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOworc3RhdGljIFNlY29uZHMg
QWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IFNl
Y29uZHMoMC4wMjUpOworc3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFu
Z2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDIpOwogCiBBY2Nlc3NpYmlsaXR5
T2JqZWN0SW5jbHVzaW9uIEFYQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZTo6Z2V0SWdub3Jl
ZChBWElEIGlkKSBjb25zdAogewpAQCAtOTkzLDcgKzk5Myw3IEBAIHZvaWQgQVhPYmplY3RDYWNo
ZTo6cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50
KiBkb2N1CiAgICAgaWYgKHBvc3RUeXBlID09IFBvc3RBc3luY2hyb25vdXNseSkgewogICAgICAg
ICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKG9iamVjdCwgbm90
aWZpY2F0aW9uKSk7CiAgICAgICAgIGlmICghbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKG9i
amVjdCwgbm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBkMzYxYzJjYzRiMjQ5ZmYwODM1ODJl
MjUuLmExNDE0YjNjNGJiMGM0N2UyZjMzYmU0ODgzOTAwMTlmNDY0MTM1MDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2
b2lkIEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29uKCkKIHZvaWQgR0NDb250cm9sbGVy
OjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewogICAgIGlmICghbV9HQ1RpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
R0NUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgR0NDb250cm9sbGVy
OjpnY1RpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKaW5kZXggNWVhYjU1
YjU0MzMzM2JkMTdmNjdiMTFlYmFkNjYxNzcyODI1MDFmMS4uYmMyNGYyMjQxNGViMGFkYTAzMThm
MGJmNTJiMTJlM2IzODNlNzIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC00
OTcsNyArNDk3LDcgQEAgdm9pZCBDU1NGb250RmFjZTo6c2V0U3RhdHVzKFN0YXR1cyBuZXdTdGF0
dXMpCiAgICAgfQogCiAgICAgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OkxvYWRpbmcpCi0gICAg
ICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCh3ZWJGb250c1Nob3VsZEFsd2F5c0ZhbGxC
YWNrKCkgPyAwIDogMyk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCh3ZWJG
b250c1Nob3VsZEFsd2F5c0ZhbGxCYWNrKCkgPyBTZWNvbmRzKDApIDogU2Vjb25kcygzKSk7CiAg
ICAgZWxzZSBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0g
U3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggZTg0OTg4ZWJlMDZiNmY1NmUyMmM3
ZmUyNDZjNmRhNGJlYmZiNmEyYi4uYzJmOWExNjI1MzRkZWNhMmFiNzkwZWYxZDZkNGYyNDM2ZmJk
YjJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0MCw3ICsz
NDAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVk
Rm9udCYgZm9udCkKICAgICAvLyBhZnRlciB0aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1
dCBiZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4gQmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRS
ZXF1ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRUaW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1l
bnQoKS4KICAgICBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJl
cXVlc3RDb3VudChmb250KTsKLSAgICBtX2JlZ2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX2JlZ2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IGE3NTI4M2EyYjI3
YzNkZWQ4ZDk0MzEyZGUwNGE0MTU4ZWVjYzJmOTMuLmQ0ZjdmYTQ2ZTYwMWYzZWY3ODQ0YjMxMmJi
NGRiNmY1OWVlYjMwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdl
bmVyYXRvclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0
b3JWYWx1ZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgYXV0byB0aW1lVG9LZWVwQ2FjaGVkR2VuZXJhdGVkSW1hZ2VzID0gc3RkOjpj
aHJvbm86OnNlY29uZHMgeyAzIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9LZWVwQ2Fj
aGVkR2VuZXJhdGVkSW1hZ2VzID0gU2Vjb25kcygzKTsKIAogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZShDbGFzc1R5cGUgY2xhc3NUeXBlKQogICAgIDogQ1NT
VmFsdWUoY2xhc3NUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDkx
MzYzYzE0M2IyNmNhNDE5YWZlNGU0YmUyMjE3MzdlMTUxMWYwNGYuLjE5YTg1MjkzOGQyMGQ4ZjZj
MTVkNzY4NmIzZTk0OWVjZTIzODBkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKQEAgLTEyMzksOCArMTIzOSw4IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVk
UHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QKICAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVBZGRpdGlvbnNCZXR3ZWVu
U3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZUFkZGl0aW9u
c1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRkaXRpb25zQmV0d2Vl
blN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5p
c0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFy
YXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAgICAgICBtX21hdGNoZWRQcm9w
ZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRjaGVkRGVjbGFyYXRpb25DYWNo
ZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1hdGNo
ZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lID0gU2Vjb25kcyg2MCk7CisgICAgICAgIG1fbWF0
Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1hdGNoZWREZWNsYXJh
dGlvbkNhY2hlU3dlZXBUaW1lKTsKICAgICB9CiAKICAgICBBU1NFUlQoaGFzaCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAppbmRleCBjNjE4YTlkZDZmY2FjYjk3ZmUzMGJiY2YyMTk4ZjhhZjllMjc0
NDg0Li5jYzY2YjE3ZTIxMDhhYzJlYzdmNWJiOWFjZmVlYzhkMmUyZDc3NDViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKQEAgLTEyNTcsNyArMTI1Nyw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFZp
c3VhbFVwZGF0ZXNBbGxvd2VkKGJvb2wgdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgaWYgKHZp
c3VhbFVwZGF0ZXNBbGxvd2VkKQogICAgICAgICBtX3Zpc3VhbFVwZGF0ZXNTdXBwcmVzc2lvblRp
bWVyLnN0b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1fdmlzdWFsVXBkYXRlc1N1cHByZXNzaW9u
VGltZXIuc3RhcnRPbmVTaG90KHNldHRpbmdzKCktPmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJl
c3Npb25UaW1lb3V0SW5TZWNvbmRzKCkpOworICAgICAgICBtX3Zpc3VhbFVwZGF0ZXNTdXBwcmVz
c2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRhbFJlbmRlcmluZ1N1
cHByZXNzaW9uVGltZW91dCgpKTsKIAogICAgIGlmICghdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAg
ICAgICAgIHJldHVybjsKQEAgLTE3NDQsNyArMTc0NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNjaGVk
dWxlU3R5bGVSZWNhbGMoKQogICAgIC8vIEZJWE1FOiBXaHkgb24gZWFydGggaXMgdGhpcyBoZXJl
PyBUaGlzIGlzIGNsZWFybHkgbWlzcGxhY2VkLgogICAgIGludmFsaWRhdGVBY2Nlc3NLZXlNYXAo
KTsKICAgICAKLSAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c3R5bGVSZWNhbGNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAKICAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uKCp0aGlzKTsK
IH0KQEAgLTI4MjQsNyArMjgyNCw3IEBAIHZvaWQgRG9jdW1lbnQ6OndyaXRlbG4oY29uc3QgU3Ry
aW5nJiB0ZXh0LCBEb2N1bWVudCogb3duZXJEb2N1bWVudCkKICAgICB3cml0ZSgiXG4iLCBvd25l
ckRvY3VtZW50KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWlu
aW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAg
aWYgKCFwYWdlKQpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJU
aHJvdHRsaW5nRW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1
bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2
ZWwpIGNvbnN0CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wg
aGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudElu
dGVydmFsID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCho
YXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNyw4ICs1MDI3LDggQEAgdm9pZCBE
b2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGlu
c2VydGVkIGNvbnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9u
cy4KICAgICAvLyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBh
Y2Nlc3Mgc2luY2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAg
ICAvLyBhbGl2ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNl
dHRpbmcgLmlubmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0
IGludCB0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJ
blNlY29uZHMgPSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25l
U2hvdCh0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJ
blNlY29uZHMpOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmpl
Y3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IFNlY29uZHMoMTApOworICAgIG1fc2hh
cmVkT2JqZWN0UG9vbENsZWFyVGltZXIuc3RhcnRPbmVTaG90KHRpbWVUb0tlZXBTaGFyZWRPYmpl
Y3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hlZCk7CiAKICAgICAvLyBQYXJzZXIgc2hvdWxk
IGhhdmUgcGlja2VkIHVwIGFsbCBwcmVsb2FkcyBieSBub3cKICAgICBtX2NhY2hlZFJlc291cmNl
TG9hZGVyLT5jbGVhclByZWxvYWRzKCk7CkBAIC01MjU1LDcgKzUyNTUsNyBAQCB2b2lkIERvY3Vt
ZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSBt
b2RlKQogewogICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlUmVzdG9yZXNTZWxlY3Rpb24gPSBt
b2RlOwogICAgIGlmICghbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpCkBA
IC01NDQwLDcgKzU0NDAsNyBAQCB2b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyhB
Y3RpdmVET01PYmplY3Q6OlJlYXNvbkZvclN1c3BlbnNpb24gcmVhc29uKQogICAgIGlmIChyZWFz
b24gPT0gQWN0aXZlRE9NT2JqZWN0OjpXaWxsRGVmZXJMb2FkaW5nICYmIG1fcGFyc2VyKQogICAg
ICAgICBtX3BhcnNlci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKICAgICBpZiAoIW1fcGVuZGlu
Z1Rhc2tzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogICAgIHNjcmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01P
YmplY3RzKHJlYXNvbik7CiAgICAgcmVzdW1lU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2Fs
bGJhY2tzKCk7CkBAIC01Njg3LDcgKzU2ODcsNyBAQCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVs
bFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwog
ICAgIH0gd2hpbGUgKDApOwogCiAgICAgbV9mdWxsU2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVl
LmFwcGVuZChlbGVtZW50ID8gZWxlbWVudCA6IGRvY3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1
bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3Jl
ZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBE
b2N1bWVudDo6d2Via2l0Q2FuY2VsRnVsbFNjcmVlbigpCkBAIC01ODU0LDcgKzU4NTQsNyBAQCB2
b2lkIERvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQq
KQogCiAgICAgbV9mdWxsU2NyZWVuRWxlbWVudC0+ZGlkQmVjb21lRnVsbHNjcmVlbkVsZW1lbnQo
KTsKIAotICAgIG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgIG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRXaWxsRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KEVsZW1lbnQqKQpAQCAtNTg5MSw3ICs1ODkxLDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlk
RXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQogICAgIGJvb2wgZXZlbnRUYXJnZXRR
dWV1ZXNFbXB0eSA9IG1fZnVsbFNjcmVlbkNoYW5nZUV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0eSgp
ICYmIG1fZnVsbFNjcmVlbkVycm9yRXZlbnRUYXJnZXRRdWV1ZS5pc0VtcHR5KCk7CiAgICAgRG9j
dW1lbnQmIGV4aXRpbmdEb2N1bWVudCA9IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPyB0b3BEb2N1
bWVudCgpIDogKnRoaXM7CiAKLSAgICBleGl0aW5nRG9jdW1lbnQubV9mdWxsU2NyZWVuQ2hhbmdl
RGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVsbFNj
cmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiogcmVuZGVy
ZXIpCkBAIC02MDU3LDcgKzYwNTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRMb2FkRXZl
bnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsKIAogICAgIGlmIChm
cmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2ZW50RGVsYXlUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiB2b2lkIERvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoKQpAQCAt
NjcwMSw3ICs2NzAxLDcgQEAgdm9pZCBEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2wo
RWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fYXNzb2NpYXRlZEZvcm1D
b250cm9scy5hZGQoZWxlbWVudCk7CiAgICAgaWYgKCFtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9s
c1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6ZGlkQXNz
b2NpYXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZCgpCkBAIC02NzIxLDcgKzY3MjEsNyBAQCB2b2lk
IERvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKGNvbnN0IFN0cmluZyYgY29va2llcykKICAg
ICBBU1NFUlQoIWlzRE9NQ29va2llQ2FjaGVWYWxpZCgpKTsKICAgICBtX2NhY2hlZERPTUNvb2tp
ZXMgPSBjb29raWVzOwogICAgIC8vIFRoZSBjb29raWUgY2FjaGUgaXMgdmFsaWQgYXQgbW9zdCB1
bnRpbCB3ZSBnbyBiYWNrIHRvIHRoZSBldmVudCBsb29wLgotICAgIG1fY29va2llQ2FjaGVFeHBp
cnlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb29raWVDYWNoZUV4cGlyeVRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURP
TUNvb2tpZUNhY2hlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggOGY1YjQzZTIwZmFmNmM0MWMx
Njc3MWRmNjZiODRjZTZmNThmYzE1My4uNmU1ZGUwYTk1MzE2MWZmYmI4NWZlZTYwZGEwN2I3ZDRm
MzhiNzM4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBs
aW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlw
dENhbGxTdGFjaz4mJiwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0SWRlbnRpZmllciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWlu
aW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5n
TGV2ZWwpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChi
b29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1
cGRhdGVUaXRsZUZyb21UaXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0
IFN0cmluZ1dpdGhEaXJlY3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudEV2ZW50UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRR
dWV1ZS5jcHAKaW5kZXggOWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4u
M2NkZTIzYTRmODQ3ODg4YmFlNWNjMTA4Y2YwMWE4Zjk3N2Q0Nzg1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1
bWVudEV2ZW50UXVldWU6OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBt
X3F1ZXVlZEV2ZW50cy5hZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRU
aW1lci0+aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFNlbmRlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmgKaW5k
ZXggODcyZDg1YTFhNDU1MWFkMDE5OTA4MDk4MGU2ZjVmM2FkMjhhN2I3Zi4uYWYwZDFjNTE0MThm
OTAyMmZlN2U2YTAyYWU1NGE0NDNjNDEwOTJkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50U2VuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmgK
QEAgLTY2LDcgKzY2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBFdmVudFNlbmRlcjxU
Pjo6ZGlzcGF0Y2hFdmVudFNvb24oVCYgc2VuZGVyKQogewogICAgIG1fZGlzcGF0Y2hTb29uTGlz
dC5hcHBlbmQoJnNlbmRlcik7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzKDApKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBFdmVudFNlbmRlcjxU
Pjo6Y2FuY2VsRXZlbnQoVCYgc2VuZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L01pY3JvdGFza3MuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCmluZGV4
IDE5NmRmZWQxMDIwNjQzNWY2ZmVjZTRjN2E4NTkxNDZmY2ViOWY4ZjcuLmUzZTUzZTQ4NDYxNDE2
ZmZiNzgwMzMwNjk4YmJiOTUzOTBmZjBkZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NaWNyb3Rhc2tzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAK
QEAgLTU1LDcgKzU1LDcgQEAgdm9pZCBNaWNyb3Rhc2tRdWV1ZTo6YXBwZW5kKHN0ZDo6dW5pcXVl
X3B0cjxNaWNyb3Rhc2s+JiYgdGFzaykKICAgICBlbHNlCiAgICAgICAgIG1fbWljcm90YXNrUXVl
dWUuYXBwZW5kKFdURk1vdmUodGFzaykpOwogCi0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWljcm90
YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rhc2smIHRhc2spCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggOTM3ZjFjMjNiZDdlOTk0Y2Fl
ZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5YzczZGQ5ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4
NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1YmxpY1VSTE1hbmFnZXImIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQogICAgIHJldHVybiAqbV9wdWJsaWNVUkxNYW5h
Z2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkanVzdE1pbmltdW1UaW1l
ckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2
YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVy
dmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1pbmltdW1U
aW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpIHsKICAgICAgICAgZm9y
IChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFsdWVzKCkpCkBAIC00NTMsNyArNDUzLDcgQEAg
dm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25z
dAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCgp
IGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyB0aGUg
RE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWluaW11bSB0aW1lciBpbnRlcnZhbC4gRklYTUU6
IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRlZApAQCAtNDY5LDcgKzQ2OSw3IEBAIHZvaWQg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgp
CiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQogCi1zdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAogewogICAgIHJldHVybiBET01UaW1l
cjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBjOTI5OGQzMmNhNDAxNmJlMDVmY2ZmMTg0YTk5
NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIwZThhZjRkOGJjOGQzYTBmMzY0ZDc4YWZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTE5Miwx
MSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBKU0M6OlZNJiB2bSgpOwog
CiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25kcy4KLSAgICB2b2lkIGFkanVzdE1pbmltdW1U
aW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwo
U2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7CisgICAgdmlydHVhbCBTZWNvbmRzIG1p
bmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIGRpZENoYW5nZVRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNv
bnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFz
UmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIEV2ZW50UXVldWUm
IGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAK
aW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdkMDlhNDA0OGI1OWUzODgwNC4uMzY4Njg3N2Mw
YmZhODE1M2ZjY2UwMWZjZjhlZmYzOTc3NWY1OTJmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1
bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3JpcHRSdW5uZXI6OnN1c3BlbmQoKQog
dm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7CiAgICAgaWYgKGhhc1BlbmRpbmdTY3JpcHRz
KCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5uZXI6Om5vdGlmeUZp
bmlzaGVkKFBlbmRpbmdTY3JpcHQmIHBlbmRpbmdTY3JpcHQpCkBAIC0xMDAsNyArMTAwLDcgQEAg
dm9pZCBTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3JpcHQmIHBlbmRpbmdT
Y3JpcHQpCiAgICAgICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1fcGVuZGluZ0Fz
eW5jU2NyaXB0cy50YWtlKHBlbmRpbmdTY3JpcHQpLT5wdHIoKSk7CiAgICAgfQogICAgIHBlbmRp
bmdTY3JpcHQuY2xlYXJDbGllbnQoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5u
ZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcAppbmRleCA3MTc4MmYyZjExMGUzZmRjNGE2NzQwMTk3NmQ5YTlm
NjRhYTY1ZjI0Li40M2M3MGM0YTYyMWJlMjllOTQxOTg3ODJlOTUxMTk4NjFmMTAyODMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNw
cApAQCAtMjE4LDcgKzIxOCw3IEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
Y2hlZHVsZUFuaW1hdGlvbigpCiAjZW5kaWYKIAogICAgIGRvdWJsZSBzY2hlZHVsZURlbGF5ID0g
c3RkOjptYXg8ZG91YmxlPihhbmltYXRpb25JbnRlcnZhbCAtIChtX2RvY3VtZW50LT5kb21XaW5k
b3coKS0+bm93VGltZXN0YW1wKCkgLSBtX2xhc3RBbmltYXRpb25GcmFtZVRpbWVzdGFtcCksIDAp
OwotICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KHNjaGVkdWxlRGVsYXkpOworICAg
IG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2NoZWR1bGVEZWxheSkpOwog
I2Vsc2UKICAgICBpZiAoRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX2RvY3VtZW50LT52aWV3KCkp
CiAgICAgICAgIGZyYW1lVmlldy0+c2NoZWR1bGVBbmltYXRpb24oKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
dHlsZWRFbGVtZW50LmNwcAppbmRleCBiODA4YWYyN2Q2OTY1OTIxYjQzMzY3Zjk2ODQwM2QxNDdl
ODNmYmIxLi43NDZmYWVhNTMzOGI5ZjQ0ZjQ3YzdmNTEwNjk5MTBjNDYyNTdkMTYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC03NCw2ICs3NCw5IEBAIHN0YXRpYyBQcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZSYgcHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUoKQogICAg
IHJldHVybiBjYWNoZTsKIH0KIAorc3RhdGljIGNvbnN0IFNlY29uZHMgcHJlc2VudGF0aW9uQXR0
cmlidXRlQ2FjaGVDbGVhblRpbWUgPSBTZWNvbmRzKDYwKTsKK3N0YXRpYyBjb25zdCBpbnQgbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOworCiBj
bGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5UaW1lci5z
dGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwogICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBt
aW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAxMDA7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lLnZh
bHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENvdW50Owog
ICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWluaW11bVBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCBk
NWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42ODJmNGFmMTBmYzNmNzI5
ODQyZWVhYjcxMWE4ZGIwNTZlZTllMzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcigpCiAK
IHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRp
bWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ycmVj
dGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBTZWNvbmRzIGNvcnJlY3Rp
b25QYW5lbFRpbWVySW50ZXJ2YWwoMC4zKTsKICAgICBpZiAoIWlzQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVmYzE3YTM3Li4z
MTZjYjljNzlmMDhhOWY3YjBkMTQ4MWE5MDg2OTBmMzE0MWE5ZWUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246
OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0gICAgICAgIG1f
dGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzKDApKTsKICNlbmRpZgogCiAgICAgc2V0U3RhcnROZXdLaWxsUmluZ1NlcXVlbmNlKHRy
dWUpOwpAQCAtMzI3NCw3ICszMjc0LDcgQEAgdm9pZCBFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRT
ZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZyYW1lU2VsZWN0aW9uOjoKICAgICBt
X2VkaXRvclVJVXBkYXRlVGltZXJTaG91bGRDaGVja1NwZWxsaW5nQW5kR3JhbW1hciA9IG9wdGlv
bnMgJiBGcmFtZVNlbGVjdGlvbjo6Q2xvc2VUeXBpbmcKICAgICAgICAgJiYgIShvcHRpb25zICYg
RnJhbWVTZWxlY3Rpb246OlNwZWxsQ29ycmVjdGlvblRyaWdnZXJlZCk7CiAgICAgbV9lZGl0b3JV
SVVwZGF0ZVRpbWVyV2FzVHJpZ2dlcmVkQnlEaWN0YXRpb24gPSBvcHRpb25zICYgRnJhbWVTZWxl
Y3Rpb246OkRpY3RhdGlvblRyaWdnZXJlZDsKLSAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICYm
ICFQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3Bw
CmluZGV4IDM1NjE3NDkwYmE4NjBmMmI5ZWE0ODU2MWQ5MDU2MmZlOGM3MmI0MmEuLmNhMjkyNDk2
ZThiMGEyY2NmMWUyYTBiZTk0Yjg2NTk2MWY3NDEwYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDQ1LDcgKzIwNDUsNyBAQCB2b2lkIEZyYW1lU2Vs
ZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAgICAvLyBTdGFydCBibGlua2luZyB3aXRoIGEg
YmxhY2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJlc3RhcnQgaWYgd2UncmUKICAgICAvLyBhbHJl
YWR5IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2NhdGlvbi4KICAgICBpZiAoc2hvdWxkQmxpbmsg
JiYgIW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgaWYgKGRvdWJsZSBi
bGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZh
bCgpKQorICAgICAgICBpZiAoU2Vjb25kcyBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgp
LT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQogICAgICAgICAgICAgbV9jYXJldEJsaW5r
VGltZXIuc3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRlcnZhbCk7CiAKICAgICAgICAgaWYgKCFtX2Nh
cmV0UGFpbnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVj
a2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcAppbmRleCA5
ZDBmODczNmUwODFjM2RmNGZjYTdlMjFhN2ZmNjVjMTg1YzQxZmQ0Li45NWJkNjYwOTMxOWNhODI0
YzFjNTE0YmYzOGNiYjMxODQ5YzY0M2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NwZWxsQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENo
ZWNrZXIuY3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNr
KGludCBzZXF1ZW5jZSwgY29uc3QgVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mIHJlc3UKIAog
ICAgIG1fcHJvY2Vzc2luZ1JlcXVlc3QgPSBudWxscHRyOwogICAgIGlmICghbV9yZXF1ZXN0UXVl
dWUuaXNFbXB0eSgpKQotICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXJUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0LnN0YXJ0
T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3Vj
Y2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1
bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFh
N2I5MjUxMzQxMGU0MDZmNDM0NWRjODNjZjVjZmExMGMuLjgzYTUyNjNmNDJiY2QyNTMwN2I1M2M0
OTE4ZDZiN2M2MzE5Zjk5YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVz
dEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0
Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMgQVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3Vz
bHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5kIGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9j
b21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBs
ZXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEhUTUxGb3JtRWxl
bWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYTFmNGZlMThjNWQ1YTYwMDQ5NGRiNGIxNjhjZDg0
NGM2ZGU2ZGRkYi4uMmYxZjhjNmExMWM5M2I3ODRkYjE4MzY3MGVkNjM3NTkxNjM2MDRjZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNTYsMTIgKzE1Niwx
MiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1Jl
cGVhdERlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgU2Vla1JlcGVhdERlbGF5ID0g
U2Vjb25kcygwLjEpOworc3RhdGljIGNvbnN0IFNlY29uZHMgU2NhblJlcGVhdERlbGF5ID0gU2Vj
b25kcygxLjUpOwogc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrVGltZSA9IDAuMjsKLXN0YXRpYyBj
b25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41Owogc3RhdGljIGNvbnN0IGRvdWJsZSBT
Y2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIEhpZGVNZWRpYUNvbnRy
b2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIEhpZGVNZWRpYUNv
bnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gU2Vjb25kcyg2KTsKIAogc3RhdGljIHZvaWQgc2V0Rmxh
Z3ModW5zaWduZWQmIHZhbHVlLCB1bnNpZ25lZCBmbGFncykKIHsKQEAgLTkyMCw3ICs5MjAsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlRGVsYXllZEFjdGlvbihEZWxheWVkQWN0
aW9uVHlwZSBhY3Rpb25UeXBlKQogICAgIGlmIChhY3Rpb25UeXBlICYgVXBkYXRlUGxheVN0YXRl
KQogICAgICAgICBzZXRGbGFncyhtX3BlbmRpbmdBY3Rpb25GbGFncywgVXBkYXRlUGxheVN0YXRl
KTsKIAotICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Bl
bmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoKQpAQCAtOTI4LDcgKzkyOCw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoKQogICAg
IC8vIFNjaGVkdWxlIHRoZSB0aW1lciB0byB0cnkgdGhlIG5leHQgPHNvdXJjZT4gZWxlbWVudCBX
SVRIT1VUIHJlc2V0dGluZyBzdGF0ZSBhbGEgcHJlcGFyZUZvckxvYWQuCiAgICAgTE9HKE1lZGlh
LCAiSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoJXApIC0gc2V0dGlu
ZyAlcyBmbGFnIiwgdGhpcywgYWN0aW9uTmFtZShMb2FkTWVkaWFSZXNvdXJjZSkudXRmOCgpLmRh
dGEoKSk7CiAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIExvYWRNZWRpYVJlc291
cmNlKTsKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9w
ZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoY29u
c3QgTWVkaWFQbGF5ZXIqKQpAQCAtMTk2Nyw3ICsxOTY3LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NU
aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUwbXMgaXMgbm90
IG1hZ2ljLCBpdCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFy
dFJlcGVhdGluZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRp
bmcoU2Vjb25kcygwLjM1MCkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndhaXRGb3JT
b3VyY2VDaGFuZ2UoKQpAQCAtMzM1NCw3ICszMzU0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpiZWdpblNjYW5uaW5nKFNjYW5EaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgICAgICBzZXRQbGF5
YmFja1JhdGUobmV4dFNjYW5SYXRlKCkpOwogICAgIH0KIAotICAgIG1fc2NhblRpbWVyLnN0YXJ0
KDAsIG1fc2NhblR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXREZWxh
eSk7CisgICAgbV9zY2FuVGltZXIuc3RhcnQoU2Vjb25kcygwKSwgbV9zY2FuVHlwZSA9PSBTZWVr
ID8gU2Vla1JlcGVhdERlbGF5IDogU2NhblJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjplbmRTY2FubmluZygpCkBAIC0zMzkzLDcgKzMzOTMsNyBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZpcmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJl
IHBlcmlvZGljIHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2
ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1z
dGF0aWMgY29uc3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSBTZWNvbmRz
KDAuMjUpOwogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVzc1Rp
bWVyKCkKIHsKQEAgLTM0NDAsNyArMzQ0MCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2No
ZWR1bGVUaW1ldXBkYXRlRXZlbnQoYm9vbCBwZXJpb2RpY0V2ZW50KQogICAgIGRvdWJsZSB0aW1l
ZGVsdGEgPSBub3cgLSBtX2Nsb2NrVGltZUF0TGFzdFVwZGF0ZUV2ZW50OwogCiAgICAgLy8gdGhy
b3R0bGUgdGhlIHBlcmlvZGljIGV2ZW50cwotICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVk
ZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKKyAgICBpZiAocGVyaW9kaWNFdmVu
dCAmJiB0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kudmFsdWUoKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgLy8gU29tZSBtZWRpYSBlbmdpbmVzIG1ha2UgbXVsdGlwbGUg
InRpbWUgY2hhbmdlZCIgY2FsbGJhY2tzIGF0IHRoZSBzYW1lIHRpbWUsIGJ1dCB3ZSBvbmx5IHdh
bnQgb25lCkBAIC00MzcxLDcgKzQzNzEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRs
ZVNlZWtUb1BsYXliYWNrUG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQogICAgIC8vIFBsZWFzZSBz
ZWUgPHJkYXI6Ly9wcm9ibGVtLzI4NDU3MjE5PiBmb3IgbW9yZSBkZXRhaWxzLgogICAgIHNlZWso
TWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKHBvc2l0aW9uKSk7CiAgICAgbV9zZWVrVG9QbGF5
YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdG9wKCk7Ci0gICAgbV9zZWVrVG9QbGF5YmFja1Bvc2l0
aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoMC41KTsKKyAgICBtX3NlZWtUb1BsYXliYWNrUG9z
aXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAuNSkpOwogCiAgICAgaWYgKCFt
X2lzU2NydWJiaW5nUmVtb3RlbHkpIHsKICAgICAgICAgbV9pc1NjcnViYmluZ1JlbW90ZWx5ID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggYTg2
NGU4N2VhZmQ0MjgzZTU0ZjFlNDBiZmVjZjkyMjVhNWNiNWRkNi4uMTQwZjExN2M4NzdjMThhM2Jk
ZDYyNmVmZWY1OTRjYjE4YzMwNWJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0lu
RWxlbWVudC5jcHAKQEAgLTI4OSw3ICsyODksNyBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50Ojpz
ZXREaXNwbGF5U3RhdGUoRGlzcGxheVN0YXRlIHN0YXRlKQogICAgIG1fZGlzcGxheVN0YXRlID0g
c3RhdGU7CiAgICAgCiAgICAgaWYgKChzdGF0ZSA9PSBEaXNwbGF5aW5nU25hcHNob3QgfHwgZGlz
cGxheVN0YXRlKCkgPT0gUHJlcGFyaW5nUGx1Z2luUmVwbGFjZW1lbnQpICYmICFtX3N3YXBSZW5k
ZXJlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc3dhcFJlbmRlcmVyVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3N3YXBSZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRkVXNlckFnZW50U2hh
ZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBs
dWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjkyZTM3MjgwZjNmOTk5
NjdmY2IwYTkwOC4uMGUxZDU2ZmRlNmQ3MjRhMmMzZWEyOTZkZjZlNTVkOWU2ZmVhNzMyYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC03
MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQYWdlQXJlYVJhdGlv
VGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3RhcnRTb29uQWZ0ZXJV
c2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBzaG91bGQgbm90IGV4
Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0YXRpYyBjb25zdCBh
dXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVkTW91c2VDbGlja1Rp
bWVyRGVsYXkgPSBTZWNvbmRzKDAuNzUpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi1zdGF0aWMg
Y29uc3QgYXV0byByZW1vdmVTbmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIHsgMTUwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcmVtb3ZlU25hcHNob3RUaW1l
ckRlbGF5ID0gU2Vjb25kcygxLjUpOwogI2VuZGlmCiAKIHN0YXRpYyBjb25zdCBTdHJpbmcgdGl0
bGVUZXh0KFBhZ2UqIHBhZ2UsIFN0cmluZyBtaW1lVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXggNDUwMThiNzFjMWM4YzI2ZTQ4NGY1MWMwYzM2NWFm
ODE1ZTdmNjM5Zi4uMmJhNWEwOGQyNTg2YTNjYmQxZGE0ZmUzMTA0ODg4NjVjZGM3ZmJlZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKQEAgLTEyNSw3ICsxMjUs
NyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQoKQogICAgIGlm
IChtX2Vycm9yRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9lcnJvckV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50Ojpj
YW5jZWxQZW5kaW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291
cmNlRWxlbWVudDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNv
dXJjZUVsZW1lbnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9y
RXZlbnRPblJlc3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
ICAgICAgICAgbV9zaG91bGRSZXNjaGVkdWxlRXJyb3JFdmVudE9uUmVzdW1lID0gZmFsc2U7CiAg
ICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKaW5kZXggMDdm
NDJkOTlmOGQ3YjQ4YTliYTI0MWI0YzQ3MWQ1NzlmNTVlOGJkNS4uMDZlZGY3MzAzNDJkZTIxNjJj
YTgzNTNlZDdiMDU1OTUwYTE1ZmE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0Vs
ZW1lbnQuY3BwCkBAIC0xNzgsNyArMTc4LDcgQEAgdm9pZCBIVE1MVHJhY2tFbGVtZW50OjpzY2hl
ZHVsZUxvYWQoKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyA0LiBSdW4gdGhlIHJlbWFpbmRl
ciBvZiB0aGVzZSBzdGVwcyBhc3luY2hyb25vdXNseSwgYWxsb3dpbmcgd2hhdGV2ZXIgY2F1c2Vk
IHRoZXNlIHN0ZXBzIHRvIHJ1biB0byBjb250aW51ZS4KLSAgICBtX2xvYWRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFDb250cm9sbGVyLmNwcAppbmRleCA5NTQwNTI1MDllYjdlMjJiYTI5NzJlZWFiNzY5
MWJjNTc0NDNmMzhiLi5mNjRiNTVlZWEyMjAzNzY0OWVjNjc3MWRhM2RhNDkwZGY3M2Y4M2I4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01Nyw3ICs1Nyw2IEBA
IE1lZGlhQ29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQpCiAgICAgLCBtX2Nsb2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMs
ICZNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2
aW91c1RpbWV1cGRhdGVUaW1lKDApCiB7CiB9CiAKQEAgLTE0OCw3ICsxNDcsNyBAQCBkb3VibGUg
TWVkaWFDb250cm9sbGVyOjpjdXJyZW50VGltZSgpIGNvbnN0CiAgICAgaWYgKG1fcG9zaXRpb24g
PT0gTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCkpIHsKICAgICAgICAgLy8gU29tZSBjbG9ja3Mg
bWF5IHJldHVybiB0aW1lcyBvdXRzaWRlIHRoZSByYW5nZSBvZiBbMC4uZHVyYXRpb25dLgogICAg
ICAgICBtX3Bvc2l0aW9uID0gc3RkOjptYXg8ZG91YmxlPigwLCBzdGQ6Om1pbihkdXJhdGlvbigp
LCBtX2Nsb2NrLT5jdXJyZW50VGltZSgpKSk7Ci0gICAgICAgIG1fY2xlYXJQb3NpdGlvblRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jbGVhclBvc2l0aW9uVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3
LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAgIG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZl
bnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OmFzeW5jRXZlbnRUaW1lckZpcmVkKCkKQEAg
LTY2Myw3ICs2NjIsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cmV0dXJuVG9SZWFsdGltZSgp
CiAKIC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAo
dGhvc2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hv
b3NlIHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBk
YXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVw
ZGF0ZUV2ZW50RnJlcXVlbmN5ID0gU2Vjb25kcygwLjI1KTsKIAogdm9pZCBNZWRpYUNvbnRyb2xs
ZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIHsKQEAgLTY3NSw4ICs2NzQsOCBAQCB2b2lkIE1l
ZGlhQ29udHJvbGxlcjo6c3RhcnRUaW1ldXBkYXRlVGltZXIoKQogCiB2b2lkIE1lZGlhQ29udHJv
bGxlcjo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQoKQogewotICAgIGRvdWJsZSBub3cgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0g
bV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOworICAgIE1vbm90b25pY1RpbWUgbm93ID0gTW9ub3Rv
bmljVGltZTo6bm93KCk7CisgICAgU2Vjb25kcyB0aW1lZGVsdGEgPSBub3cgLSBtX3ByZXZpb3Vz
VGltZXVwZGF0ZVRpbWU7CiAKICAgICBpZiAodGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50
RnJlcXVlbmN5KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xs
ZXIuaAppbmRleCAxNzhmYTc0MmRmODNhM2YyMzIwNjM1ZTM4Mzg0MDMxNzYzYjViM2QyLi5hOTE5
MjQ4MTdjNTE0ZWJjODAwZmNjODBjYTVkMDNlYzdhOGE2MGJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmgKQEAgLTE0NSw3ICsxNDUsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6
dW5pcXVlX3B0cjxDbG9jaz4gbV9jbG9jazsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBt
X3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgVGltZXIgbV90aW1ldXBkYXRlVGltZXI7Ci0g
ICAgZG91YmxlIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1f
cHJldmlvdXNUaW1ldXBkYXRlVGltZTsKICAgICBib29sIG1fcmVzZXRDdXJyZW50VGltZUluTmV4
dFBsYXkgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYURvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAK
aW5kZXggNzg1Mzg2MzJjYWE1YjMzMDRhZWUzMjFjNzhhYzUxZjFiN2Y2MGZmZS4uMmE0MzMzYTI1
MjE2MjQzMzdkNDgwZTMzNzU0ZWVhM2EwZWZjNzE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RG9jdW1lbnQuY3BwCkBAIC0yMjksNyArMjI5LDcgQEAgdm9pZCBNZWRpYURvY3VtZW50OjptZWRp
YUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcygpCiAgICAgLy8gYW5kIGxldCB0aGUgcGx1Z2lu
IGhhbmRsZSB0aGlzLiBEb24ndCBkbyBpdCBpbW1lZGlhdGVseSBhcyB0aGlzIAogICAgIC8vIGZ1
bmN0aW9uIG1heSBiZSBjYWxsZWQgZGlyZWN0bHkgZnJvbSBhIG1lZGlhIGVuZ2luZSBjYWxsYmFj
aywgYW5kIAogICAgIC8vIHJlcGxhY2VDaGlsZCB3aWxsIGRlc3Ryb3kgdGhlIGVsZW1lbnQsIG1l
ZGlhIHBsYXllciwgYW5kIG1lZGlhIGVuZ2luZS4KLSAgICBtX3JlcGxhY2VNZWRpYUVsZW1lbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50VGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VN
ZWRpYUVsZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNk
YTMuLjVhNGE5ZTRhYzQyN2VjYjVhZWYyZDE5NGZkMDgxNzhhZDc0ZDAxYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5D
b250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50
TWFpbkNvbnRlbnRDaGVja0ludGVydmFsID0gU2Vjb25kcygwLjI1KTsKIAogc3RhdGljIGJvb2wg
aXNFbGVtZW50UmVjdE1vc3RseUluTWFpbkZyYW1lKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmKTsK
IHN0YXRpYyBib29sIGlzRWxlbWVudExhcmdlRW5vdWdoRm9yTWFpbkNvbnRlbnQoY29uc3QgSFRN
TE1lZGlhRWxlbWVudCYsIE1lZGlhU2Vzc2lvbk1haW5Db250ZW50UHVycG9zZSk7CkBAIC00NzYs
NyArNDc2LDcgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpleHRlcm5hbE91dHB1dERldmlj
ZUF2YWlsYWJsZURpZENoYW5nZShib29sIGhhc1RhcmdldHMKICAgICBMT0coTWVkaWEsICJNZWRp
YUVsZW1lbnRTZXNzaW9uOjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSgl
cCkgLSBoYXNUYXJnZXRzICVzIiwgdGhpcywgaGFzVGFyZ2V0cyA/ICJUUlVFIiA6ICJGQUxTRSIp
OwogCiAgICAgbV9oYXNQbGF5YmFja1RhcmdldHMgPSBoYXNUYXJnZXRzOwotICAgIG1fdGFyZ2V0
QXZhaWxhYmlsaXR5Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RhcmdldEF2
YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJv
b2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKaW5kZXggZjVkMmJi
OTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uODlkOTU4OWJmYjQxNmY5MGM3N2I4
NzllNWZkNzk5OGRlMjJiYmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFy
Y2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBl
LmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBlOjpzdGFydFNlYXJj
aEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJzdCBrZXksIHdlIHdh
aXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXksIDAuNCBzZWNvbmRz
LCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2VhcmNoRXZlbnRUaW1l
ci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5ndGgpKTsKKyAgICBt
X3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc3RkOjptYXgoMC4yLCAwLjYg
LSAwLjEgKiBsZW5ndGgpKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBlOjpzdG9wU2VhcmNo
RXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25N
ZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCmlu
ZGV4IDlkNWRjYWNmYmVjMWUzMGNiZjg3MDExMWM0ZTQyNTIxMWY5Y2FhZTQuLjMxZTY4MjkyMzIx
ODdhNDQyZmJmZGU5NzM0YmVkOTVmYWFjNzMyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVz
c2FnZTo6c2V0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgIG1fdGltZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpidWls
ZEJ1YmJsZVRyZWUpOwogICAgIGVsc2UKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlx
dWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFy
dFRpbWVyKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci0+c3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRN
ZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0
aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVy
ID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlx
dWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwot
ICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxk
b3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAg
ICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoU2Vjb25kcyg1KSwgU2Vjb25kcyht
X21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAvIDEwMDAuMCkpOwogICAgIH0KIH0K
IApAQCAtMjI4LDcgKzIyOCw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hp
ZGVNZXNzYWdlKCkKIAogICAgIC8vIFdlIG11c3Qgbm90IG1vZGlmeSB0aGUgRE9NIHRyZWUgaW4g
dGhpcyBjb250ZXh0IGJ5IHRoZSBzYW1lIHJlYXNvbiBhcyBzZXRNZXNzYWdlKCkuCiAgICAgbV90
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6
OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJvb2wgVmFsaWRhdGlvbk1l
c3NhZ2U6OnNoYWRvd1RyZWVDb250YWlucyhjb25zdCBOb2RlJiBub2RlKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlLmNwcAppbmRleCAzZTlkY2NhYzUxY2YyM2RjYzg0ZTg0YTNhYmYxN2FjZTcwYzIxMzAzLi43
MzA5NzM5MDM3OTM2YWJjZDEwYjZkOGE0Y2YxZjY3MWIwZWY2NDFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNw
cApAQCAtOTgsNyArOTgsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJs
ZSBzZWNvbmRzQmV0d2VlblJlc3RvcmVBdHRlbXB0cyA9IDEuMDsKK2NvbnN0IFNlY29uZHMgdGlt
ZUJldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSBTZWNvbmRzKDEpOwogY29uc3QgaW50IG1heEdMRXJy
b3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2NjYsNyArNDY2
Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRleHRJbXBsKFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMgZGVmZXIgdGhl
IGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVudAogICAgIC8v
IHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rpc3BhdGNoQ29u
dGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3BhdGNoQ29udGV4
dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0KCkKQEAgLTQ2ODMsNyAr
NDY4Myw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29u
dGV4dCgpCiAgICAgfQogCiAgICAgaWYgKCFtX3Jlc3RvcmVUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdG9yZVRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogUGxhdGZvcm1MYXllciogV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6cGxhdGZvcm1MYXllcigpIGNvbnN0CkBAIC01NjE0LDcgKzU2
MTQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExv
c3RFdmVudCgpCiAgICAgY2FudmFzKCkuZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICAgbV9yZXN0
b3JlQWxsb3dlZCA9IGV2ZW50LT5kZWZhdWx0UHJldmVudGVkKCk7CiAgICAgaWYgKG1fY29udGV4
dExvc3RNb2RlID09IFJlYWxMb3N0Q29udGV4dCAmJiBtX3Jlc3RvcmVBbGxvd2VkKQotICAgICAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdG9yZVRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQg
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVm
UHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUo
bV9hdHRyaWJ1dGVzLCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAg
IGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBt
X3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMp
OworICAgICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVz
dG9yZUF0dGVtcHRzKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkg
c2hvdWxkbid0IGhhcHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUg
V2ViR0wgYXBwLgogICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0
M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3Bw
CmluZGV4IDI4MzM3ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLjI3Y2FkZWM0
MjI1ZjU2ZWE4MTkxMWVmMTA4NzA5ZjgxNDA0MjA5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcg
QEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQo
KQogICAgIC8vIEZJWE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlv
cml0aWVzIGluc3RlYWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVk
dWxlZCwgd2FpdCBhZ2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAg
aWYgKG1fcGFyc2VyLmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAg
ICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Nv
bnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogICAgIG1fcGFyc2VyLnJlc3VtZVBhcnNpbmdBZnRlcllpZWxkKCk7CkBA
IC0xMjAsNyArMTIwLDcgQEAgYm9vbCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzaG91bGRZaWVsZEJl
Zm9yZUV4ZWN1dGluZ1NjcmlwdChQdW1wU2Vzc2lvbiYgc2Vzc2lvbikKIHZvaWQgSFRNTFBhcnNl
clNjaGVkdWxlcjo6c2NoZWR1bGVGb3JSZXN1bWUoKQogewogICAgIEFTU0VSVCghbV9zdXNwZW5k
ZWQpOwotICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
dm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzdXNwZW5kKCkKQEAgLTE0OCw3ICsxNDgsNyBAQCB2
b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnJlc3VtZSgpCiAgICAgaWYgKCFtX2lzU3VzcGVuZGVk
V2l0aEFjdGl2ZVRpbWVyKQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1N1c3BlbmRlZFdpdGhB
Y3RpdmVUaW1lciA9IGZhbHNlOwotICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWExZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1
YTgxODNiZWM1NDUuLjZhYzhlMTEwM2Y0M2I2NjMyYjNjN2QxOWQ4ZWQwYTZiY2Q0YmMzZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6
c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlzIHJlcXVpcmVkIHRvIHNldCB0aGUgcHJv
cGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVsLAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0
aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0aGUgYm90dG9tIG9mIHRoZSB2aWRlbwog
ICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQgdHJhbnNpdGlvbi4KLSAgICBkb3VibGUg
ZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgp
Lm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogU2Vjb25kcygwKTsKICAgICBtX3RyYW5zaXRpb25U
aW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwogfQogCkBAIC0xODgsMTAgKzE4OCwxMCBAQCB2
b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZU9wYXF1ZSgpCiAgICAgaWYgKG1fb3Bh
cXVlKQogICAgICAgICByZXR1cm47CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgp
LnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlSW5E
dXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkg
PyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24o
KSA6IFNlY29uZHMoMCk7CiAKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQcm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0
eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1MpOworICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJv
cGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUyk7CiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNp
dHksIDEuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUg
PSB0cnVlOwpAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1l
bnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgp
LnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAg
IFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgp
LT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IFNlY29uZHMoMCk7CiAK
ICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5
LCBDU1NQcm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJv
cGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1MpOworICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVy
YXRpb24sIGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAg
c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYs
NyArMTMzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6
dXBkYXRlU2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJl
c2VudGF0aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVu
Y3Rpb24gaXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4
dCB0cmFja3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIFJlZlB0
cjxJbWFnZT4gTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlVGV4
dFRyYWNrUmVwcmVzZW50YXRpb25JbWFnZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svTG9hZGFibGVUZXh0VHJhY2suY3BwCmluZGV4IDIxMGY2YTlkZjVhYzc3MTc1YTk4MTJhYzA1
MTA0MjIzMmEzNDBmMzMuLmY2MjU0YmI4MTM4NGIzYTdlZDE0MDhmYTQzZWQ4NTE1MzQ1NTVmMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3Bw
CkBAIC01OCw3ICs1OCw3IEBAIHZvaWQgTG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxlTG9hZChj
b25zdCBVUkwmIHVybCkKICAgICAvLyAzLiBBc3luY2hyb25vdXNseSBydW4gdGhlIHJlbWFpbmlu
ZyBzdGVwcywgd2hpbGUgY29udGludWluZyB3aXRoIHdoYXRldmVyIHRhc2sgCiAgICAgLy8gd2Fz
IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGUgdGV4dCB0cmFjayBvciBjaGFuZ2luZyB0aGUg
dGV4dCB0cmFjayBtb2RlLgogICAgIGlmICghbV9sb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xvYWRUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIEVsZW1lbnQqIExvYWRhYmxlVGV4dFRyYWNrOjpl
bGVtZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAppbmRleCAwNTc4
YmY5MTI2N2NiNTUwYWYwMmRiN2UyMjNkZDQzNmMwN2Q1MWI2Li5lODRiMjhjMGUyZWE3YWNlNDM3
Mjg0YTg3MmU5YzI2Y2U2NjBiMzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdp
b24uY3BwCkBAIC01Niw3ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25z
dCBmbG9hdCBsaW5lSGVpZ2h0ID0gNS4zMzsKIAogLy8gRGVmYXVsdCBzY3JvbGxpbmcgYW5pbWF0
aW9uIHRpbWUgcGVyaW9kIChzKS4KLXN0YXRpYyBjb25zdCBmbG9hdCBzY3JvbGxUaW1lID0gMC40
MzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxUaW1lID0gU2Vjb25kcygwLjQzMyk7CiAK
IFZUVFJlZ2lvbjo6VlRUUmVnaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAg
ICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKQEAgLTQwMyw3ICs0MDMs
NyBAQCB2b2lkIFZUVFJlZ2lvbjo6c3RhcnRUaW1lcigpCiAgICAgaWYgKG1fc2Nyb2xsVGltZXIu
aXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gaXNT
Y3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiAwOworICAgIFNlY29uZHMgZHVyYXRpb24g
PSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGltZSA6IFNlY29uZHMoMCk7CiAgICAgbV9z
Y3JvbGxUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCAzZDU0MjIxYzVkYzg5M2Nk
ZDk1NzFkYzNmM2IxZmU2ODdiYjA4NjMzLi4xMmUyMmUxNmQwOTY5NGFiYzZkZjJlYWMwODkwNjFk
ZWUxOGM1MWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NB
Z2VudC5jcHAKQEAgLTEyOCw3ICsxMjgsNyBAQCB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNr
OjpzY2hlZHVsZUZvcihXZWJLaXROYW1lZEZsb3cqIG5hbWVkRmxvdywgaW50IGRvY3VtZQogICAg
IG1fbmFtZWRGbG93cy5hZGQobmFtZWRGbG93LCBkb2N1bWVudE5vZGVJZCk7CiAKICAgICBpZiAo
IW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIENoYW5n
ZVJlZ2lvbk92ZXJzZXRUYXNrOjp1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxvdyogbmFtZWRGbG93
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5k
ZXggODNhMDI0YmNkZGQyMTMwOTc4NzU5ODcyMjQxMjcxZTBhOGZiM2YwZi4uMWJkZDRjNjA2MjE3
ZmFjNDI2ODZhMDkwOTE3ZGMzZjNhMjJmZTQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcgQEAgdm9pZCBSZXZh
bGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50KiBlbGVtZW50KQog
ewogICAgIG1fZWxlbWVudHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmli
dXRlVGFzazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggOGEzNWExNzllYjhi
ZjU5YjRiYzA5OGRjNmVkYzkwY2RlMGRhMDU5My4uOGRlYThmYzY1ZjliMDUxZWJjYzZmZDE4NmQ0
ODgyZTk1MTBkMGQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtODAsNyArODAsNyBAQCBwdWJs
aWM6CiAKICAgICAgICAgbV9tZXNzYWdlcy5hcHBlbmQobWVzc2FnZSk7CiAgICAgICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiAK
ICAgICB2b2lkIHJlc2V0KCkKQEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyLT5kaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQo
bV9tZXNzYWdlcy50YWtlRmlyc3QoKSk7CiAKICAgICAgICAgaWYgKCFtX21lc3NhZ2VzLmlzRW1w
dHkoKSAmJiBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyKQotICAgICAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5jcHAKaW5kZXggNWZjYTMxMGQwMGFjMjFkYzdiNjFiZTBhOWZlMDU1Yzhi
N2Y3YWFkOC4uYmRlMmQ0MjFiOWNkYjUwNTJkYmY3OGJjMmNiNTM3NjdiNWZlOTRhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTA5LDgg
KzUwOSw4IEBAIHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdChjb25zdCBGbG9h
dFJlY3QmIHJlY3QpCiAgICAgbV9wYWludFJlY3RzLmFwcGVuZChUaW1lUmVjdFBhaXIocmVtb3Zl
VGltZSwgcm9vdFJlY3QpKTsKIAogICAgIGlmICghbV9wYWludFJlY3RVcGRhdGVUaW1lci5pc0Fj
dGl2ZSgpKSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxT
ZWNvbmRzID0gMC4wMzI7Ci0gICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBl
YXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyk7CisgICAgICAgIGNvbnN0IFNl
Y29uZHMgcGFpbnRSZWN0c1VwZGF0ZUludGVydmFsID0gU2Vjb25kcygwLjAzMik7CisgICAgICAg
IG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUlu
dGVydmFsKTsKICAgICB9CiAKICAgICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZi
OGFhNjJmM2RjNzhkMTI0YWRjZTE4YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1
YzU4OTRlMjgwMjEzNTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclJlcGxheUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUmVwbGF5QWdlbnQuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNw
ZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9i
amVjdEZvclMKIAogICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Np
b25TZWdtZW50OjpjcmVhdGUoKQogICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigp
KQotICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAu
c2V0VGltZXN0YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFs
dWUoKSkKICAgICAgICAgLnNldFF1ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAg
IC5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApp
bmRleCBkYjQ3OTk4NDE1MmUzNTYyZjMxOTQ2OGJlOTU5NWVlYmJlOTA4NzUwLi5hNWI4ZGJiYWYz
YjMwYjhjMmQ5YzA3YWIzYTdjODU1ODNiZTljYjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKQEAgLTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVy
OjpoYW5kbGVTdWJzdGl0dXRlRGF0YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpz
dGFydERhdGFMb2FkVGltZXIoKQogewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9kYXRhTG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogI2lm
IEhBVkUoUlVOTE9PUF9USU1FUikKICAgICBpZiAoU2NoZWR1bGVQYWlySGFzaFNldCogc2NoZWR1
bGVkUGFpcnMgPSBtX2ZyYW1lLT5wYWdlKCktPnNjaGVkdWxlZFJ1bkxvb3BQYWlycygpKQpAQCAt
MTIyNSw3ICsxMjI1LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1YnN0aXR1dGVS
ZXNvdXJjZXNBZnRlckRlbGF5KCkKICAgICBpZiAobV9mcmFtZS0+cGFnZSgpLT5kZWZlcnNMb2Fk
aW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIW1fc3Vic3RpdHV0ZVJlc291cmNlRGVs
aXZlcnlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2
ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3N1YnN0aXR1dGVSZXNvdXJjZURl
bGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERvY3VtZW50
TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggYzc4ODNhY2IxYjFmYmU1MGMyOTgxOGI2ZjQ2
NjZkOWNlOTZlNDM5Zi4uZDJiNjQ0MDkyYWZkNmI0MTBiZGNlZjcxODk4Zjg2MzdhODJiMjhkZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC04MzEsNyArODMxLDcgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6c3RhcnRDaGVja0NvbXBsZXRlVGltZXIoKQogICAgICAgICByZXR1
cm47CiAgICAgaWYgKG1fY2hlY2tUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NoZWNrVGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpzY2hlZHVsZUNoZWNr
Q29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGE1M2Fm
MTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLmVhZmNlMWI5NjhhNGJmMTE2ZDg3
MWE4NDYzMzU4MTFlMWM3M2ZhMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5n
RXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0gJmVsZW1lbnQoKTsKICAg
ICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50VGltZXIuaXNBY3RpdmUo
KSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9ICAg
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApp
bmRleCA3ZWZmYWQ3ZmExYzVhYTM0NDZlYWMwMDI5NjE4ZjEyYmI1NzViNGU1Li4yYmQ5ZDkzNWE3
ZDQyZWRlZWViMmFmM2ZmMzIyMjczNjBmY2M0OGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsKIAogICAgICAgICBVc2VyR2VzdHVy
ZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0dXJlVG9Gb3J3YXJkKCkpOwotICAg
ICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fdXJsLCBkZWxheSgpLCBjdXJy
ZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0
KCkpOworICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fdXJsLCBkZWxh
eSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVlKCksIGxv
Y2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGltZXIoRnJh
bWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtMjc1LDcgKzI3
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKICAgICAg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9y
d2FyZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3N1Ym1p
c3Npb24tPnJlcXVlc3RVUkwoKSwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRG
aXJlSW50ZXJ2YWwoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9h
ZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3N1Ym1pc3Npb24tPnJlcXVlc3RVUkwoKSwgZGVsYXko
KSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKS52YWx1ZSgpLCBsb2Nr
QmFja0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlkU3RvcFRpbWVyKEZyYW1l
JiBmcmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVzcykgb3ZlcnJpZGUKQEAgLTUzOSw3ICs1Mzks
NyBAQCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnN0YXJ0VGltZXIoKQogICAgICAgICByZXR1
cm47CiAKICAgICBkb3VibGUgZGVsYXkgPSBtX3JlZGlyZWN0LT5kZWxheSgpOwotICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5KSk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5h
dmlnYXRpb24obV9mcmFtZSwgZGVsYXkpOwogICAgIG1fcmVkaXJlY3QtPmRpZFN0YXJ0VGltZXIo
bV9mcmFtZSwgbV90aW1lcik7IC8vIG1fcmVkaXJlY3QgbWF5IGJlIG51bGwgb24gcmV0dXJuIChl
LmcuIHRoZSBjbGllbnQgY2FuY2VsZWQgdGhlIGxvYWQpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGZlMGM3MjI5ZTZlYWI2NWY1NmUyNGRkYWMxYmJk
NGQ1OTA0N2IxNWUuLjdlODNlMWMyNWI3Nzk5YTA0MDEwOGI4MGViODBlYmM1YTU1ODJkNGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3
IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAg
LSBpbml0aWFsUHJvZ3Jlc3NWYWx1ZQogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZh
dWx0RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCiAvLyBDaGVjayBpZiB0aGUgbG9hZCBp
cyBwcm9ncmVzc2luZyB0aGlzIG9mdGVuLgotc3RhdGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc0hl
YXJ0YmVhdEludGVydmFsID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvZ3Jlc3NIZWFy
dGJlYXRJbnRlcnZhbCA9IFNlY29uZHMoMC4xKTsKIAogLy8gSG93IG1hbnkgaGVhcnRiZWF0cyBt
dXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVzcyBiZWZvcmUgZGVjaWRpbmcgdGhlIGxvYWQgaXMgY3Vy
cmVudGx5IHN0YWxsZWQuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9hZFN0YWxsZWRIZWFydGJl
YXRDb3VudCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCmlu
ZGV4IDk2ZTkwYjVmZDIyZDUxOGMxNTNiOWY4MzA0YTlkZTBkM2U4OWJiODguLmYwZTM4YWRmZWVm
ZTIwZTYzNDNjNmFjMWQxMzU0NzA5ZmY0ODA5OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
ZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0xMzksNyArMTM5LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2Fk
ZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkKICAgICAgICAgbV9j
dWVQYXJzZXItPmZsdXNoKCk7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jdWVM
b2FkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgY2FuY2VsTG9hZCgpOwog
fQpAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2Vk
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAg
ICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFRleHRUcmFja0xvYWRlcjo6bmV3UmVn
aW9uc1BhcnNlZCgpCkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmZp
bGVGYWlsZWRUb1BhcnNlKCkKICAgICBtX3N0YXRlID0gRmFpbGVkOwogCiAgICAgaWYgKCFtX2N1
ZUxvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IAogICAgIGNhbmNlbExvYWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMzdhYzc1ZGJmNTAx
YzQ4YjY2ZDA1YmU0NTk1M2E1NjE3Y2Y5MmUxMC4uMmNiYTljNjIwYTcxZmMwYTYxZWY2OGZhZTQw
YjZmMjA0MWFmYjQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKQEAgLTEwNzAsNyArMTA3MCw3IEBAIHZv
aWQgQXBwbGljYXRpb25DYWNoZUdyb3VwOjpzY2hlZHVsZVJlYWNoZWRNYXhBcHBDYWNoZVNpemVD
YWxsYmFjaygpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBDaHJvbWVDbGll
bnRDYWxsYmFja1RpbWVyKiB0aW1lciA9IG5ldyBDaHJvbWVDbGllbnRDYWxsYmFja1RpbWVyKHRo
aXMpOwotICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgdGltZXItPnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKICAgICAvLyBUaGUgdGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2Ug
aXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuY3BwCmluZGV4IGUwNzkzOGM5Zjc1MDE3OTUyNzkxMGE0OTZjZTZmNGNhZGQyZTYwMDQu
LjEwNGI0MGU2MjgzMzg5ZTY3ZmI5ZjllMWRkYzI5NzUxZmExMDAyOGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMs
MTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgQ2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0
eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUpCiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9y
aXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxG
b3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlw
ZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAgICAgcmV0dXJuIFNlY29uZHMoMCk7CiAKICAgICBy
ZXR1cm4gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwoKTsKIH0KQEAgLTUzOCw3ICs1MzgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkZXN0
cm95RGVjb2RlZERhdGFJZk5lZWRlZCgpCiB7CiAgICAgaWYgKCFtX2RlY29kZWRTaXplKQogICAg
ICAgICByZXR1cm47Ci0gICAgaWYgKCFNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpLmNvdW50KCkpCisgICAgaWYgKCFNZW1vcnlDYWNoZTo6
c2luZ2xldG9uKCkuZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIucmVzdGFydCgpOwogfQpAQCAt
ODE1LDcgKzgxNSw3IEBAIGlubGluZSBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNr
KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgQ2FjaGVkUmVzb3VyCiAgICAgLCBtX2NsaWVudChj
bGllbnQpCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmQ2FsbGJhY2s6OnRpbWVyRmlyZWQpCiB7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIGlubGluZSB2b2lkIENhY2hlZFJlc291cmNlOjpDYWxsYmFjazo6Y2Fu
Y2VsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IGUxNjNlOGJhNzdkMTNlNzcyMmU5MmYzZGYzNjExZmI3NTkzMzU0
YWEuLjgyMDE5NDIzNjE5Zjk5NjMzOTZkNGE0ZjlkNjg1YTQ4N2E4YzZkYTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApA
QCAtMTE2Myw3ICsxMTYzLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZERvbmUo
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBib29sIHNob3VsZFBlcmZvcm0KICAgICAgICAgcGVy
Zm9ybVBvc3RMb2FkQWN0aW9ucygpOwogCiAgICAgaWYgKCFtX2dhcmJhZ2VDb2xsZWN0RG9jdW1l
bnRSZXNvdXJjZXNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9j
dW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZ2FyYmFnZUNv
bGxlY3REb2N1bWVudFJlc291cmNlc1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMgYSB3b3JrYXJv
dW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3Bw
CmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzkuLjNhOTYwMGJm
ZjZhMjM2MWJlMzIwNGI2NGM2ZjA2MGZjNzQ4MjA3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9IDgxOTIgKiAx
MDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVjb2RlZFBydW5l
ID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1bmVQZXJjZW50
YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hpY2ggd2UgcHJ1
bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMgY29uc3QgYXV0
byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29u
ZHMgeyAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gU2Vjb25kcygwKTsKIAogTWVtb3J5Q2FjaGUmIE1lbW9yeUNhY2hlOjpzaW5n
bGV0b24oKQogewpAQCAtNzY3LDExICs3NjcsMTMgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmUo
KQogCiB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZVNvb24oKQogewotICAgICBpZiAobV9wcnVuZVRp
bWVyLmlzQWN0aXZlKCkpCisgICAgaWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47Ci0gICAgIGlmICghbmVlZHNQcnVuaW5nKCkpCi0gICAgICAgICByZXR1cm47Ci0g
ICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisKKyAgICBpZiAoIW5lZWRzUHJ1bmlu
ZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvTWVtb3J5Q2FjaGUuaAppbmRleCAxODM2YzJiZjEwMDllZTdhZWQyNDk2MzA1MzhmMjgyYmU1
OGQxNzBkLi43OWMwYTI2OWQwNTZlZjg5OWNhNmFjYzQyNWJjZjcxYTExOTI2YjNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaApAQCAtMTI1LDggKzEyNSw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHBydW5lU29vbigpOwogICAgIHVuc2lnbmVkIHNpemUoKSBjb25z
dCB7IHJldHVybiBtX2xpdmVTaXplICsgbV9kZWFkU2l6ZTsgfQogCi0gICAgdm9pZCBzZXREZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50
ZXJ2YWwpIHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0K
LSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7
IH0KKyAgICB2b2lkIHNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoU2Vjb25kcyBp
bnRlcnZhbCkgeyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBpbnRlcnZhbDsg
fQorICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpIGNvbnN0IHsg
cmV0dXJuIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsgfQogCiAgICAgLy8gQ2Fs
bHMgdG8gcHV0IHRoZSBjYWNoZWQgcmVzb3VyY2UgaW50byBhbmQgb3V0IG9mIExSVSBsaXN0cy4K
ICAgICB2b2lkIGluc2VydEluTFJVTGlzdChDYWNoZWRSZXNvdXJjZSYpOwpAQCAtMTk5LDcgKzE5
OSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jYXBhY2l0eTsKICAgICB1bnNpZ25lZCBt
X21pbkRlYWRDYXBhY2l0eTsKICAgICB1bnNpZ25lZCBtX21heERlYWRDYXBhY2l0eTsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bDsKKyAgICBTZWNvbmRzIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAg
IHVuc2lnbmVkIG1fbGl2ZVNpemU7IC8vIFRoZSBudW1iZXIgb2YgYnl0ZXMgY3VycmVudGx5IGNv
bnN1bWVkIGJ5ICJsaXZlIiByZXNvdXJjZXMgaW4gdGhlIGNhY2hlLgogICAgIHVuc2lnbmVkIG1f
ZGVhZFNpemU7IC8vIFRoZSBudW1iZXIgb2YgYnl0ZXMgY3VycmVudGx5IGNvbnN1bWVkIGJ5ICJk
ZWFkIiByZXNvdXJjZXMgaW4gdGhlIGNhY2hlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5jcHAKaW5kZXggZWU0MzdlODYyOGViZjRlODYzMjdjYzc3MDMwZjVmNjk0
ZTMwYmIyZC4uY2EwYzFkOTQwMjA0NTllOGI4MGUyYjZiMzdhNjZhYzVlNTgwMTAxNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCkBAIC02Nyw3ICs2Nyw3
IEBAIHN0YXRpYyBjb25zdCBpbnQgY3VycmVudERhdGFiYXNlVmVyc2lvbiA9IDY7CiAvLyBJY29u
cyBleHBpcmUgb25jZSBldmVyeSA0IGRheXMKIHN0YXRpYyBjb25zdCBpbnQgaWNvbkV4cGlyYXRp
b25UaW1lID0gNjAqNjAqMjQqNDsgCiAKLXN0YXRpYyBjb25zdCBpbnQgdXBkYXRlVGltZXJEZWxh
eSA9IDU7IAorc3RhdGljIGNvbnN0IFNlY29uZHMgdXBkYXRlVGltZXJEZWxheSA9IFNlY29uZHMo
NSk7CiAKIHN0YXRpYyBib29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3
ZDMxNWVkZmJmOWM1MGUwYTg3MWMyMGNiNzJmNGNhMi4uY2MxYjY3ZjYwYzRiZTNmYTRhYTY0MjRj
ODE1NTg5ODE3ZjY0OTlmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Ny
b2xsQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29u
dHJvbGxlci5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGlj
IGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9z
Y3JvbGwgb3IgdGhlIHBhblNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2
ZXJ5IDAuMDVzIHRvIG1ha2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3Jv
bGxJbnRlcnZhbCA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2
YWwgPSBTZWNvbmRzKDAuMDUpOwogCiAjaWYgRU5BQkxFKFBBTl9TQ1JPTExJTkcpCiBzdGF0aWMg
RnJhbWUqIGdldE1haW5GcmFtZShGcmFtZSogZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAppbmRleCBjZmVhMTBjNGQ5Y2VlYTM0Y2JkZmQy
MTBiNTNmNzFhYTdmODFiZTQ0Li5iNmE3YWNhZmI5Mjc4NTUwYTVjZjM4OWE4ZmE4ZWQ3ZTZiODA0
ZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpub3RpZnko
KQogCiAgICAgbV9oYXZlUHJlZmVyZW5jZXMgPSB0cnVlOwogICAgIGlmICghbV90aW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6
OkNhcHRpb25EaXNwbGF5TW9kZSBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpjYXB0aW9uRGlzcGxh
eU1vZGUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGLmNwcAppbmRleCA5OGIyMmJhZmUyY2ZiYmQ2YTBjMjE5MTEyMzUw
ZTdjOTA3MGZiMjU4Li40Y2E1ZWNjZjc5ZGYzMDYwZmZkODBjYTIxYzg3NjA3MDIwYTU2NzYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRp
YUFGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNN
ZWRpYUFGLmNwcApAQCAtMjQ2LDcgKzI0Niw3IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNl
c01lZGlhQUY6OnNldEludGVyZXN0ZWRJbkNhcHRpb25QcmVmZXJlbmNlQ2hhbmdlcygpCiAKICAg
ICAvLyBHZW5lcmF0aW5nIGFuZCByZWdpc3RlcmluZyB0aGUgY2FwdGlvbiBzdHlsZXNoZWV0IGNh
biBiZSBleHBlbnNpdmUgYW5kIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCBpbmRpcmVjdGx5IHdoZW4g
dGhlIHBhcnNlciBjcmVhdGVzIGFuIGF1ZGlvIG9yCiAgICAgLy8gdmlkZW8gZWxlbWVudCwgc28g
ZG8gaXQgYWZ0ZXIgYSBicmllZiBwYXVzZS4KLSAgICBtX3VwZGF0ZVN0eWxlU2hlZXRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpj
YXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKaW5kZXgg
ZDAzYzFiMDJmZTYwMjNiNjIzMTdjMzExZDM2YzNkYTVmYWRjNGZkNS4uYWU2NDU0YjM4YWRiMmNj
NWY5Zjc4MjAwN2ZjYzg1YmNjODg1MDQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKQEAg
LTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0
byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IDEwMDBtczsgLy8gT25lIHNl
Y29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0IGF1dG8gbWluSW50ZXJ2YWxGb3JOb25V
c2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBtczsgLy8gRW1waXJpY2FsbHkgZGV0ZXJt
aW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhJ
bnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IFNlY29uZHMoMSk7IC8vIE9uZSBzZWNv
bmQgbWF0Y2hlcyBHZWNrby4KK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbkludGVydmFsRm9yTm9u
VXNlck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSBTZWNvbmRzKDEpOyAvLyBFbXBpcmljYWxseSBk
ZXRlcm1pbmVkIHRvIG1heGltaXplIGJhdHRlcnkgbGlmZS4KIHN0YXRpYyBjb25zdCBpbnQgbWF4
VGltZXJOZXN0aW5nTGV2ZWwgPSA1OwogCiBjbGFzcyBET01UaW1lckZpcmVTdGF0ZSB7CkBAIC0x
NjAsMTQgKzE2MCwxNCBAQCBwcml2YXRlOgogCiBib29sIE5lc3RlZFRpbWVyc01hcDo6aXNUcmFj
a2luZ05lc3RlZFRpbWVycyA9IGZhbHNlOwogCi1zdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkRm9y
d2FyZFVzZXJHZXN0dXJlKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGludCBu
ZXN0aW5nTGV2ZWwpCitzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJl
KFNlY29uZHMgaW50ZXJ2YWwsIGludCBuZXN0aW5nTGV2ZWwpCiB7CiAgICAgcmV0dXJuIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKQogICAgICAgICAmJiBpbnRl
cnZhbCA8PSBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZwogICAgICAgICAmJiAh
bmVzdGluZ0xldmVsOyAvLyBHZXN0dXJlcyBzaG91bGQgbm90IGJlIGZvcndhcmRlZCB0byBuZXN0
ZWQgdGltZXJzLgogfQogCi1zdGF0aWMgaW5saW5lIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiB1
c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2
YWwsIGludCBuZXN0aW5nTGV2ZWwpCitzdGF0aWMgaW5saW5lIFJlZlB0cjxVc2VyR2VzdHVyZVRv
a2VuPiB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKFNlY29uZHMgaW50ZXJ2YWwsIGludCBuZXN0
aW5nTGV2ZWwpCiB7CiAgICAgaWYgKCFzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoaW50ZXJ2YWws
IG5lc3RpbmdMZXZlbCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMTc1LDEyICsxNzUs
MTEgQEAgc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVU
b2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWkKICAgICByZXR1cm4gVXNlckdlc3R1cmVJbmRp
Y2F0b3I6OmN1cnJlbnRVc2VyR2VzdHVyZSgpOwogfQogCi1ET01UaW1lcjo6RE9NVGltZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4gYWN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsLCBib29sIHNp
bmdsZVNob3QpCitET01UaW1lcjo6RE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBTZWNvbmRzIGlu
dGVydmFsLCBib29sIHNpbmdsZVNob3QpCiAgICAgOiBTdXNwZW5kYWJsZVRpbWVyKGNvbnRleHQp
CiAgICAgLCBtX25lc3RpbmdMZXZlbChjb250ZXh0LnRpbWVyTmVzdGluZ0xldmVsKCkpCiAgICAg
LCBtX2FjdGlvbihXVEZNb3ZlKGFjdGlvbikpCiAgICAgLCBtX29yaWdpbmFsSW50ZXJ2YWwoaW50
ZXJ2YWwpCi0gICAgLCBtX3Rocm90dGxlU3RhdGUoVW5kZXRlcm1pbmVkKQogICAgICwgbV9jdXJy
ZW50VGltZXJJbnRlcnZhbChpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSkKICAgICAsIG1fdXNl
ckdlc3R1cmVUb2tlblRvRm9yd2FyZCh1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKGludGVydmFs
LCBtX25lc3RpbmdMZXZlbCkpCiB7CkBAIC0yMDEsNyArMjAwLDcgQEAgRE9NVGltZXI6On5ET01U
aW1lcigpCiB7CiB9CiAKLWludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQoraW50IERP
TVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5p
cXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNp
bmdsZVNob3QpCiB7CiAgICAgLy8gRE9NVGltZXIgY29uc3RydWN0b3IgcGFzc2VzIG93bmVyc2hp
cCBvZiB0aGUgaW5pdGlhbCByZWYgb24gdGhlIG9iamVjdCB0byB0aGUgY29uc3RydWN0b3IuCiAg
ICAgLy8gVGhpcyByZWZlcmVuY2Ugd2lsbCBiZSByZWxlYXNlZCBhdXRvbWF0aWNhbGx5IHdoZW4g
YSBvbmUtc2hvdCB0aW1lciBmaXJlcywgd2hlbiB0aGUgY29udGV4dApAQCAtMjEwLDcgKzIwOSw3
IEBAIGludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmIChp
czxEb2N1bWVudD4oY29udGV4dCkpIHsKICAgICAgICAgYm9vbCBkaWREZWZlclRpbWVvdXQgPSBj
b250ZXh0LmFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQoKTsKLSAgICAgICAgaWYgKCFkaWRE
ZWZlclRpbWVvdXQgJiYgdGltZW91dC5jb3VudCgpIDw9IDEwMCAmJiBzaW5nbGVTaG90KSB7Cisg
ICAgICAgIGlmICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQgPD0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcygxMDApICYmIHNpbmdsZVNob3QpIHsKICAgICAgICAgICAgIFdLU2V0T2JzZXJ2
ZWRDb250ZW50Q2hhbmdlKFdLQ29udGVudEluZGV0ZXJtaW5hdGVDaGFuZ2UpOwogICAgICAgICAg
ICAgV2ViVGhyZWFkQWRkT2JzZXJ2ZWRDb250ZW50TW9kaWZpZXIodGltZXIpOyAvLyBXaWxsIG9u
bHkgdGFrZSBhZmZlY3QgaWYgbm90IGFscmVhZHkgdmlzaWJpbGl0eSBjaGFuZ2UuCiAgICAgICAg
IH0KQEAgLTIxOCw3ICsyMTcsNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2VuZGlmCiAK
ICAgICB0aW1lci0+c3VzcGVuZElmTmVlZGVkKCk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCB0aW1lb3V0
LCBzaW5nbGVTaG90KTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc3RhbGxU
aW1lcihjb250ZXh0LCB0aW1lci0+bV90aW1lb3V0SWQsIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9j
YXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3Vi
bGU+KHRpbWVvdXQudmFsdWUoKSkpLCBzaW5nbGVTaG90KTsKIAogICAgIC8vIEtlZXAgdHJhY2sg
b2YgbmVzdGVkIHRpbWVyIGluc3RhbGxzLgogICAgIGlmIChOZXN0ZWRUaW1lcnNNYXAqIG5lc3Rl
ZFRpbWVycyA9IE5lc3RlZFRpbWVyc01hcDo6aW5zdGFuY2VGb3JDb250ZXh0KGNvbnRleHQpKQpA
QCAtMzk5LDIxICszOTgsMjEgQEAgdm9pZCBET01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElm
TmVjZXNzYXJ5KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHJlcGVhdEludGVydmFsKCkp
IHsKLSAgICAgICAgQVNTRVJUKHJlcGVhdEludGVydmFsTVMoKSA9PSBwcmV2aW91c0ludGVydmFs
KTsKLSAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBl
YXQgaW50ZXJ2YWwgZnJvbSAlIiBQUklkNjQgIiBtcyB0byAlIiBQUklkNjQgIiBtcyBkdWUgdG8g
dGhyb3R0bGluZy4iLCB0aGlzLCBwcmV2aW91c0ludGVydmFsLmNvdW50KCksIG1fY3VycmVudFRp
bWVySW50ZXJ2YWwuY291bnQoKSk7CisgICAgICAgIEFTU0VSVChyZXBlYXRJbnRlcnZhbCgpID09
IHByZXZpb3VzSW50ZXJ2YWwpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGlu
ZyBET01UaW1lcidzIHJlcGVhdCBpbnRlcnZhbCBmcm9tICUuM2YgbXMgdG8gJS4zZiBtcyBkdWUg
dG8gdGhyb3R0bGluZy4iLCB0aGlzLCBwcmV2aW91c0ludGVydmFsLm1pbGxpc2Vjb25kcygpLCBt
X2N1cnJlbnRUaW1lckludGVydmFsLm1pbGxpc2Vjb25kcygpKTsKICAgICAgICAgYXVnbWVudFJl
cGVhdEludGVydmFsKG1fY3VycmVudFRpbWVySW50ZXJ2YWwgLSBwcmV2aW91c0ludGVydmFsKTsK
ICAgICB9IGVsc2UgewotICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlIiBQUklkNjQgIiBtcyB0byAlIiBQUklkNjQgIiBt
cyBkdWUgdG8gdGhyb3R0bGluZy4iLCB0aGlzLCBwcmV2aW91c0ludGVydmFsLmNvdW50KCksIG1f
Y3VycmVudFRpbWVySW50ZXJ2YWwuY291bnQoKSk7CisgICAgICAgIExPRyhET01UaW1lcnMsICIl
cCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgZmlyZSBpbnRlcnZhbCBmcm9tICUuM2YgbXMgdG8gJS4z
ZiBtcyBkdWUgdG8gdGhyb3R0bGluZy4iLCB0aGlzLCBwcmV2aW91c0ludGVydmFsLm1pbGxpc2Vj
b25kcygpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLm1pbGxpc2Vjb25kcygpKTsKICAgICAgICAg
YXVnbWVudEZpcmVJbnRlcnZhbChtX2N1cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRl
cnZhbCk7CiAgICAgfQogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIERPTVRpbWVyOjpp
bnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdAorU2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKICAgICBBU1NFUlQobV9uZXN0aW5nTGV2ZWwgPD0gbWF4VGltZXJOZXN0aW5n
TGV2ZWwpOwogCi0gICAgYXV0byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFtcywgbV9vcmlnaW5hbElu
dGVydmFsKTsKKyAgICBhdXRvIGludGVydmFsID0gc3RkOjptYXgoU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcygxKSwgbV9vcmlnaW5hbEludGVydmFsKTsKIAogICAgIC8vIE9ubHkgYXBwbHkgdGhy
b3R0bGluZyB0byByZXBlYXRpbmcgdGltZXJzLgogICAgIGlmIChtX25lc3RpbmdMZXZlbCA8IG1h
eFRpbWVyTmVzdGluZ0xldmVsKQpAQCAtNDI2LDE5ICs0MjUsMjAgQEAgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3QKICAg
ICByZXR1cm4gaW50ZXJ2YWw7CiB9CiAKLU9wdGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHM+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBm
aXJlVGltZSkgY29uc3QKK09wdGlvbmFsPE1vbm90b25pY1RpbWU+IERPTVRpbWVyOjphbGlnbmVk
RmlyZVRpbWUoTW9ub3RvbmljVGltZSBmaXJlVGltZSkgY29uc3QKIHsKLSAgICBhdXRvIGFsaWdu
bWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT50aW1lckFsaWdubWVudElu
dGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKLSAgICBpZiAo
YWxpZ25tZW50SW50ZXJ2YWwgPT0gMG1zKQorICAgIFNlY29uZHMgYWxpZ25tZW50SW50ZXJ2YWwg
PSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0
aW5nTGV2ZWwgPj0gbWF4VGltZXJOZXN0aW5nTGV2ZWwpOworICAgIGlmICghYWxpZ25tZW50SW50
ZXJ2YWwpCiAgICAgICAgIHJldHVybiBOdWxsb3B0OwogICAgIAorICAgIC8vIERvIHdlIHJlYWxs
eSB3YW50IHRvIGluaXRpYWxpemUgcmFuZG9taXplZFByb3BvcnRpb24ganVzdCBvbmNlPwogICAg
IHN0YXRpYyBjb25zdCBkb3VibGUgcmFuZG9taXplZFByb3BvcnRpb24gPSByYW5kb21OdW1iZXIo
KTsKIAotICAgIC8vIEZvcmNlIGFsaWdubWVudCB0byByYW5kb21pemVkQWxpZ25tZW50IGZyYWN0
aW9uIG9mIHRoZSB3YXkgYmV0d2VlbiBhbGlnbmVtbnRJbnRlcnZhbHMsIGUuZy4KKyAgICAvLyBG
b3JjZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5
IGJldHdlZW4gYWxpZ25tZW50SW50ZXJ2YWxzLCBlLmcuCiAgICAgLy8gaWYgYWxpZ25tZW50SW50
ZXJ2YWwgaXMgMTAgYW5kIHJhbmRvbWl6ZWRBbGlnbm1lbnQgaXMgMC4zIHRoaXMgd2lsbCBhbGln
biB0byAzLCAxMywgMjMsIC4uLgotICAgIGF1dG8gcmFuZG9taXplZE9mZnNldCA9IHN0ZDo6Y2hy
b25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KGFsaWdubWVudElu
dGVydmFsICogcmFuZG9taXplZFByb3BvcnRpb24pOwotICAgIGF1dG8gYWRqdXN0ZWRGaXJlVGlt
ZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKLSAgICByZXR1cm4gYWRqdXN0ZWRGaXJl
VGltZSAtIChhZGp1c3RlZEZpcmVUaW1lICUgYWxpZ25tZW50SW50ZXJ2YWwpICsgYWxpZ25tZW50
SW50ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OworICAgIFNlY29uZHMgcmFuZG9taXplZE9mZnNl
dCA9IGFsaWdubWVudEludGVydmFsICogcmFuZG9taXplZFByb3BvcnRpb247CisgICAgTW9ub3Rv
bmljVGltZSBhZGp1c3RlZEZpcmVUaW1lID0gZmlyZVRpbWUgLSByYW5kb21pemVkT2Zmc2V0Owor
ICAgIHJldHVybiBhZGp1c3RlZEZpcmVUaW1lIC0gU2Vjb25kcyhmbW9kKGFkanVzdGVkRmlyZVRp
bWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpLCBhbGlnbm1lbnRJbnRlcnZhbC52YWx1ZSgp
KSkgKyBhbGlnbm1lbnRJbnRlcnZhbCArIHJhbmRvbWl6ZWRPZmZzZXQ7CiB9CiAKIGNvbnN0IGNo
YXIqIERPTVRpbWVyOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGlt
ZXIuaAppbmRleCA5NmM4YjNiYjY1YTdmY2YyNjdlOGUwYWRlNmNmY2UwZmI5YWRhN2Q0Li40NDVi
NWYxOGFkMDliNTBlZDc3YjdlMjk0NTYzM2Q1NTdiNDU5OWE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1l
ci5oCkBAIC00NCwxMyArNDQsMTMgQEAgY2xhc3MgRE9NVGltZXIgZmluYWwgOiBwdWJsaWMgUmVm
Q291bnRlZDxET01UaW1lcj4sIHB1YmxpYyBTdXNwZW5kYWJsZVRpbWVyIHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5ET01UaW1lcigpOwogCi0gICAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpIHsgcmV0dXJuIDRtczsgfQotICAgIHN0YXRp
YyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsg
cmV0dXJuIDBtczsgfQotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGhpZGRl
blBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDEwMDBtczsgfQorICAgIHN0YXRpYyBT
ZWNvbmRzIGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiBTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKDQpOyB9CisgICAgc3RhdGljIFNlY29uZHMgZGVmYXVsdEFsaWdubWVudEludGVy
dmFsKCkgeyByZXR1cm4gU2Vjb25kcygwKTsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGhpZGRlblBh
Z2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIFNlY29uZHMoMSk7IH0KIAogICAgIC8vIENy
ZWF0ZXMgYSBuZXcgdGltZXIgb3duZWQgYnkgc3BlY2lmaWVkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIHN0YXJ0cyBpdAogICAgIC8vIGFuZCByZXR1cm5zIGl0cyBJZC4KLSAgICBzdGF0aWMgaW50
IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWRBY3Rpb24+LCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xl
U2hvdCk7CisgICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNp
bmdsZVNob3QpOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZUJ5SWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIGludCB0aW1lb3V0SWQpOwogCiAgICAgLy8gTm90aWZ5IHRoYXQgdGhlIGludGVydmFs
IG1heSBuZWVkIHVwZGF0aW5nIChlLmcuIGJlY2F1c2UgdGhlIG1pbmltdW0gaW50ZXJ2YWwKQEAg
LTYwLDEwICs2MCwxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2NyaXB0RGlkSW50ZXJh
Y3RXaXRoUGx1Z2luKEhUTUxQbHVnSW5FbGVtZW50Jik7CiAKIHByaXZhdGU6Ci0gICAgRE9NVGlt
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rp
b24+LCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3Qp
OworICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiwgU2Vjb25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KTsKICAg
ICBmcmllbmQgY2xhc3MgSW50ZXJuYWxzOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsKKyAgICBTZWNvbmRzIGludGVydmFs
Q2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OwogCiAgICAgYm9vbCBpc0RPTVRpbWVyc1Rocm90dGxp
bmdFbmFibGVkKERvY3VtZW50JikgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVUaHJvdHRsaW5nU3Rh
dGVJZk5lY2Vzc2FyeShjb25zdCBET01UaW1lckZpcmVTdGF0ZSYpOwpAQCAtNzEsNyArNzEsNyBA
QCBwcml2YXRlOgogICAgIC8vIFN1c3BlbmRhYmxlVGltZXIKICAgICB2b2lkIGZpcmVkKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBkaWRTdG9wKCkgb3ZlcnJpZGU7Ci0gICAgT3B0aW9uYWw8c3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMpIGNvbnN0IG92ZXJyaWRlOworICAgIE9wdGlvbmFsPE1vbm90b25pY1RpbWU+IGFsaWdu
ZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBvdmVycmlkZTsKIAogICAgIC8vIEFjdGl2
ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBAIHByaXZhdGU6CiAgICAgaW50IG1fdGlt
ZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2No
ZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1f
b3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJvdHRsZVN0YXRl
OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9jdXJyZW50VGltZXJJbnRlcnZhbDsK
KyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fY3VycmVudFRp
bWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IG1fdXNlckdlc3R1cmVU
b2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJvdHRsZVN0YXRlIHsg
VW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAKaW5kZXggMmE5MzkzYWY4YjY4YmZlYmFhMWQ2ZjBhYzRiNmNhZjhkZTY5
Mjk3Yi4uMDU3MDE1MzJlMWZmNDhkODMxYmE2NjAyNDVhM2Q5Zjg2NzQ4ODU3MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTU4LDcgKzk1OCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+
IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoUmVmPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNz
YWdlLCBWCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBhdXRvKiB0aW1lciA9
IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3VyY2VPcmln
aW4sIHNvdXJjZSwgY2hhbm5lbHMucmVsZWFzZVJldHVyblZhbHVlKCksIFdURk1vdmUodGFyZ2V0
KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0gICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICB0aW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0K
QEAgLTE2NDgsNyArMTY0OCw3IEBAIEV4Y2VwdGlvbk9yPGludD4gRE9NV2luZG93OjpzZXRUaW1l
b3V0KHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBj
b250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVy
biBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omlu
c3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25k
cyh0aW1lb3V0KSwgdHJ1ZSk7CiB9CiAKIHZvaWQgRE9NV2luZG93OjpjbGVhclRpbWVvdXQoaW50
IHRpbWVvdXRJZCkKQEAgLTE2ODAsNyArMTY4MCw3IEBAIEV4Y2VwdGlvbk9yPGludD4gRE9NV2lu
ZG93OjpzZXRJbnRlcnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24s
CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAo
IWNvbnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIg
fTsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOworICAgIHJldHVy
biBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBTZWNvbmRzOjpm
cm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBmYWxzZSk7CiB9CiAKIHZvaWQgRE9NV2luZG93Ojpj
bGVhckludGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RldmljZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250
cm9sbGVyLmNwcAppbmRleCAzYzM4NDMwOTU2MzQ5NjIyYWUyZTE5ZmQ1Yjc2MDM4NWM5NTkwNGNj
Li43MDQ5YjYyZDU4M2M1YTE0MzY1MjI5ZDg4OTUyM2IzYjg5OWRhMTkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdm9pZCBEZXZp
Y2VDb250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQog
ICAgIGlmIChoYXNMYXN0RGF0YSgpKSB7CiAgICAgICAgIG1fbGFzdEV2ZW50TGlzdGVuZXJzLmFk
ZCh3aW5kb3cpOwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiAgICAgfQogCiAgICAgaWYgKHdhc0VtcHR5KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGU5NGE5MjU1MmM5OTZhNTM4ZTQ2NjgyY2ViMzFlMzUx
OTFhMzMzN2EuLjczYzcxN2QwMWM0NTJkYmJjOWFiNzkyODQ4ZWU1Yjc5MTJhYTQyNjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NiwxNSArMTU2LDE1IEBAIHVzaW5n
IG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIFRoZSBhbW91bnQgb2YgdGltZSB0byB3YWl0IGJlZm9y
ZSBzZW5kaW5nIGEgZmFrZSBtb3VzZSBldmVudCwgdHJpZ2dlcmVkCiAvLyBkdXJpbmcgYSBzY3Jv
bGwuIFRoZSBzaG9ydCBpbnRlcnZhbCBpcyB1c2VkIGlmIHRoZSBjb250ZW50IHJlc3BvbmRzIHRv
IHRoZSBtb3VzZSBldmVudHMKIC8vIGluIGZha2VNb3VzZU1vdmVEdXJhdGlvblRocmVzaG9sZCBv
ciBsZXNzLCBvdGhlcndpc2UgdGhlIGxvbmcgaW50ZXJ2YWwgaXMgdXNlZC4KLWNvbnN0IGRvdWJs
ZSBmYWtlTW91c2VNb3ZlRHVyYXRpb25UaHJlc2hvbGQgPSAwLjAxOwotY29uc3QgZG91YmxlIGZh
a2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0gMC4xOwotY29uc3QgZG91YmxlIGZha2VNb3VzZU1v
dmVMb25nSW50ZXJ2YWwgPSAwLjI1OworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VNb3ZlRHVyYXRp
b25UaHJlc2hvbGQgPSBTZWNvbmRzKDAuMDEpOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VNb3Zl
U2hvcnRJbnRlcnZhbCA9IFNlY29uZHMoMC4xKTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92
ZUxvbmdJbnRlcnZhbCA9IFNlY29uZHMoMC4yNSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJT
T1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2YgdGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1
cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFuZ2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVl
ZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2NyZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91
YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0gMC4wMjsKK2NvbnN0IFNlY29uZHMgY3Vyc29yVXBk
YXRlSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDIpOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNp
emUgPSAxMjg7CiAjZW5kaWYKQEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNz
IE1heGltdW1EdXJhdGlvblRyYWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1E
dXJhdGlvblRyYWNrZXIoZG91YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVt
RHVyYXRpb25UcmFja2VyKFNlY29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVy
YXRpb24obWF4RHVyYXRpb24pCi0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSkKKyAgICAgICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAg
IHsKICAgICB9CiAKICAgICB+TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAg
ICAqbV9tYXhEdXJhdGlvbiA9IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKSAtIG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3Rk
OjptYXgobV9tYXhEdXJhdGlvbiwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAg
ICB9CiAKIHByaXZhdGU6Ci0gICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBt
X3N0YXJ0OworICAgIFNlY29uZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBt
X3N0YXJ0OwogfTsKIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RP
VUNIX0VWRU5UUykKQEAgLTQ2Miw3ICs0NjIsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIo
KQogICAgIG1fb3JpZ2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1f
b3JpZ2luYXRpbmdUb3VjaFBvaW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91
c2VNb3ZlZER1cmF0aW9uID0gMDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IFNlY29u
ZHMoMCk7CiAgICAgbV9iYXNlRXZlbnRUeXBlID0gUGxhdGZvcm1FdmVudDo6Tm9UeXBlOwogICAg
IG1fZGlkU3RhcnREcmFnID0gZmFsc2U7CiB9CkBAIC0xODIwLDcgKzE4MjAsNyBAQCBib29sIEV2
ZW50SGFuZGxlcjo6bW91c2VNb3ZlZChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQog
ewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAgICAgUmVmUHRyPEZy
YW1lVmlldz4gcHJvdGVjdG9yKG1fZnJhbWUudmlldygpKTsKLSAgICBNYXhpbXVtRHVyYXRpb25U
cmFja2VyIG1heER1cmF0aW9uVHJhY2tlcigmbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOworICAg
IE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25UcmFja2VyKG1fbWF4TW91c2VNb3Zl
ZER1cmF0aW9uKTsKIAogICAgIGlmIChtX2ZyYW1lLm1haW5GcmFtZSgpLnBhZ2VPdmVybGF5Q29u
dHJvbGxlcigpLmhhbmRsZU1vdXNlRXZlbnQoZXZlbnQpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTI4OTgsNyArMjg5OCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVF
dmVudEZvcktleSgpCiB2b2lkIEV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0YXRlVXBkYXRl
KCkKIHsKICAgICBpZiAoIW1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2hvdmVy
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2hvdmVyVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiAjaWYgRU5BQkxFKENVUlNPUl9TVVBQT1JUKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggOWJjYWM3MmM3ZTIxNjMyMTA5MTVmNzJjMWY4M2VkOTVh
MGRlYzkzMy4uYTdhOTFmNjY3ZjI2ZjkxNTNiMzY4OWI2YTJkNTJhNjk0ODhmNjE0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC01NzAsNyArNTcwLDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1fdG91Y2hQcmVzc2VkIHsgZmFsc2UgfTsKICNlbmRpZgogCi0gICAgZG91YmxlIG1f
bWF4TW91c2VNb3ZlZER1cmF0aW9uIHsgMCB9OworICAgIFNlY29uZHMgbV9tYXhNb3VzZU1vdmVk
RHVyYXRpb247CiAgICAgUGxhdGZvcm1FdmVudDo6VHlwZSBtX2Jhc2VFdmVudFR5cGUgeyBQbGF0
Zm9ybUV2ZW50OjpOb1R5cGUgfTsKICAgICBib29sIG1fZGlkU3RhcnREcmFnIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNIYW5kbGluZ1doZWVsRXZlbnQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmNwcAppbmRleCA0NzQyMjg4MDcyY2U1YTVhMWViN2E5MDRmNTIxNTMzZjVl
NTI0NWM3Li44YjE3NmJjMzQ4OGJlYjE2OWEzZjNiMzkyNWUwZGE2NDIzODIzYWM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApAQCAtNDcsNyArNDcsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNvbnN0IHVpbnQ2NF90IEV2ZW50U291cmNlOjpkZWZhdWx0UmVjb25uZWN0
RGVsYXkgPSAzMDAwOworY29uc3QgU2Vjb25kcyBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVj
dERlbGF5ID0gU2Vjb25kcygzKTsKIAogaW5saW5lIEV2ZW50U291cmNlOjpFdmVudFNvdXJjZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBVUkwmIHVybCwgY29uc3QgSW5p
dCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQpAQCAt
MTMyLDcgKzEzMiw3IEBAIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlSW5pdGlhbENvbm5lY3Qo
KQogICAgIEFTU0VSVChtX3N0YXRlID09IENPTk5FQ1RJTkcpOwogICAgIEFTU0VSVCghbV9yZXF1
ZXN0SW5GbGlnaHQpOwogCi0gICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBFdmVu
dFNvdXJjZTo6c2NoZWR1bGVSZWNvbm5lY3QoKQpAQCAtMzU1LDkgKzM1NSw5IEBAIHZvaWQgRXZl
bnRTb3VyY2U6OnBhcnNlRXZlbnRTdHJlYW1MaW5lKHVuc2lnbmVkIHBvc2l0aW9uLCBPcHRpb25h
bDx1bnNpZ25lZD4gZmllCiAgICAgICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IHdhbnQg
dG8gaWdub3JlIHRyYWlsaW5nIGdhcmJhZ2UgaGVyZT8gU2hvdWxkIHdlIGJlIHVzaW5nIHRoZSBz
dHJpY3QgdmVyc2lvbiBpbnN0ZWFkPwogICAgICAgICAgICAgLy8gRklYTUU6IElmIHdlIGNhbid0
IHBhcnNlIHRoZSB2YWx1ZSwgc2hvdWxkIHdlIGxlYXZlIG1fcmVjb25uZWN0RGVsYXkgYWxvbmUg
b3Igc2V0IGl0IHRvIGRlZmF1bHRSZWNvbm5lY3REZWxheT8KICAgICAgICAgICAgIGJvb2wgb2s7
Ci0gICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5ID0gY2hhcmFjdGVyc1RvVUludDY0KCZt
X3JlY2VpdmVCdWZmZXJbcG9zaXRpb25dLCB2YWx1ZUxlbmd0aCwgJm9rKTsKKyAgICAgICAgICAg
IGF1dG8gcmVjb25uZWN0RGVsYXlNUyA9IGNoYXJhY3RlcnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVm
ZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7CiAgICAgICAgICAgICBpZiAob2spCi0g
ICAgICAgICAgICAgICAgbV9yZWNvbm5lY3REZWxheSA9IHJlY29ubmVjdERlbGF5OworICAgICAg
ICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHJl
Y29ubmVjdERlbGF5TVMpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNv
dXJjZS5oCmluZGV4IDAzYWVjMmJiMzFiOGFhZTUyOTRiNmY3OTk4NDY4ZGRiOTE2YTk4ZGQuLmM5
NDYxNTc5MjAyNDgwM2NiYWIyOTk3OTQyZDdjODU0OWEwZDFiNzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmgKQEAgLTk4LDcgKzk4LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgcmVzcG9u
c2VJc1ZhbGlkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBjb25zdDsKIAotICAgIHN0YXRpYyBj
b25zdCB1aW50NjRfdCBkZWZhdWx0UmVjb25uZWN0RGVsYXk7CisgICAgc3RhdGljIGNvbnN0IFNl
Y29uZHMgZGVmYXVsdFJlY29ubmVjdERlbGF5OwogCiAgICAgVVJMIG1fdXJsOwogICAgIGJvb2wg
bV93aXRoQ3JlZGVudGlhbHM7CkBAIC0xMTUsNyArMTE1LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0
b3I8VUNoYXI+IG1fZGF0YTsKICAgICBTdHJpbmcgbV9jdXJyZW50bHlQYXJzZWRFdmVudElkOwog
ICAgIFN0cmluZyBtX2xhc3RFdmVudElkOwotICAgIHVpbnQ2NF90IG1fcmVjb25uZWN0RGVsYXkg
eyBkZWZhdWx0UmVjb25uZWN0RGVsYXkgfTsKKyAgICBTZWNvbmRzIG1fcmVjb25uZWN0RGVsYXkg
eyBkZWZhdWx0UmVjb25uZWN0RGVsYXkgfTsKICAgICBTdHJpbmcgbV9ldmVudFN0cmVhbU9yaWdp
bjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAppbmRleCBhN2Iy
NTU3ZTY5NDZkYjllNTYxMTU3YWRmNzJjYzI4MjZlZmU4NzQ3Li45MzhiZTA2NGIxYTQ3MTg0ZmRm
NDc5YzhiMWMzNmM5NzEzMjExMjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xs
ZXIuY3BwCkBAIC0xMDg4LDcgKzEwODgsNyBAQCBib29sIEZvY3VzQ29udHJvbGxlcjo6YWR2YW5j
ZUZvY3VzRGlyZWN0aW9uYWxseShGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24sIEtleWJvYQogCiB2
b2lkIEZvY3VzQ29udHJvbGxlcjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKQogewot
ICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAuMDMzKTsKKyAgICBtX2ZvY3Vz
UmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKDMzKSk7
CiB9CiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAKaW5kZXggMzdmYjdkYWYxZmQ5ZTI5NTZiYWY1MGYxY2E1YzhhYTkzYmQw
YzI0Mi4uNTVjZjQzNmU2ODkzYWE5ZjVjY2JhMGVjNjMyYjc2MzViMTczYTAyYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZS5jcHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWdu
ZWQgc2Nyb2xsRnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Ny
b2xsRnJlcXVlbmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVH
X09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgi
RnJhbWUiKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYTYxOWEwYjI2NWE3Njc1
NDAwZmQyZTI4OWQ2MzBmYmVkOTU0ZjYyMS4uOTE1NjU2NGRiYTQ1ZjBmM2FiNjIxNTJjNjU3YjRm
NWY4Mjk0YTQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYw
LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAg
ICAgIC8vIGRlZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRl
ciB3ZSByZXR1cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1
cyBuZWVkIHRvIHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBj
eWNsZSB1bmxlc3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIg
aGVyZS4KLSAgICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAgICAgICAgICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBs
YXlvdXQoKTsKICAgICAgICAgfQpAQCAtMjQ0Myw3ICsyNDQzLDcgQEAgdm9pZCBGcmFtZVZpZXc6
OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBTY3JvbGxQb3NpdGlvbiYgb2xkUG9zaXRpb24s
IGNvbnN0IFMKICAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdG9wKCk7CiAgICAg
ICAgIHNlbmRTY3JvbGxFdmVudCgpOwogICAgIH0gZWxzZSBpZiAoIW1fZGVsYXllZFNjcm9sbEV2
ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5z
dGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5LnZhbHVlKCkpOworICAgICAgICBtX2RlbGF5ZWRT
Y3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5nRGVsYXkpOwogCiAgICAgaWYg
KERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkKICAgICAgICAgZG9jdW1l
bnQtPnNlbmRXaWxsUmV2ZWFsRWRnZUV2ZW50c0lmTmVlZGVkKG9sZFBvc2l0aW9uLCBuZXdQb3Np
dGlvbiwgdmlzaWJsZUNvbnRlbnRSZWN0KCksIGNvbnRlbnRzU2l6ZSgpKTsKQEAgLTI4NDEsNyAr
Mjg0MSw3IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVk
KCkKICAgICBpZiAobV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybjsKICAgICAvLyBEZWxheSBlbmFibGluZyBhIGJpdCBhcyBsb2FkIGNvbXBs
ZXRpb24gbWF5IHRyaWdnZXIgZnVydGhlciBsb2FkaW5nIGZyb20gc2NyaXB0cy4KLSAgICBzdGF0
aWMgY29uc3QgZG91YmxlIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgPSAwLjU7CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IFNlY29u
ZHMoMC41KTsKICAgICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90
KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCkBAIC0yOTE0LDcgKzI5MTQsNyBA
QCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dCgpCiAgICAgICAgIHByaW50ZigiU2No
ZWR1bGluZyBsYXlvdXQgZm9yICVkXG4iLCBkZWxheSk7CiAjZW5kaWYKIAotICAgIG1fbGF5b3V0
VGltZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsKKyAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGRlbGF5LmNvdW50KCkpKTsKIH0KIAogc3RhdGlj
IGJvb2wgaXNPYmplY3RBbmNlc3RvckNvbnRhaW5lck9mKFJlbmRlck9iamVjdCogYW5jZXN0b3Is
IFJlbmRlck9iamVjdCogZGVzY2VuZGFudCkKQEAgLTI5NDksNyArMjk0OSw3IEBAIHZvaWQgRnJh
bWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0T2ZTdWJ0cmVlKFJlbmRlckVsZW1lbnQmIG5ld1JlbGF5
b3V0Um9vdCkKICAgICAgICAgbV9sYXlvdXRSb290ID0gJm5ld1JlbGF5b3V0Um9vdDsKICAgICAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlkYXRlTGF5b3V0KGZyYW1lKCkp
OwogICAgICAgICBtX2RlbGF5ZWRMYXlvdXQgPSBkZWxheS5jb3VudCgpOwotICAgICAgICBtX2xh
eW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgICAgIG1fbGF5b3V0VGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoZGVsYXkuY291bnQoKSkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zNDI5LDcgKzM0MjksNyBAQCB2b2lkIEZyYW1lVmll
dzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcygpCiAgICAgLy8gaXMgY2FsbGVkIHRocm91Z2ggdGhl
IHBvc3QgbGF5b3V0IHRpbWVyLgogICAgIFJlZjxGcmFtZVZpZXc+IHByb3RlY3RlZFRoaXMoKnRo
aXMpOwogCi0gICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAKICAgICBpZiAoYXV0byogcGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7CiAgICAgICAgIGlm
IChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9y
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBhZTk2NjA4MTFiNDM5MGVjN2RkYmI1NjhiZmM2NWRm
NDFjNWU5YzFkLi42NTg3MTVlOTUzM2UxZDZkMGNjNTdiNzgyZjEzNjFmYzdkZWViODNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKQEAgLTEyNDMsNyArMTI0Myw3IEBAIHZvaWQgUGFnZTo6c2V0VGltZXJU
aHJvdHRsaW5nU3RhdGUoVGltZXJUaHJvdHRsaW5nU3RhdGUgc3RhdGUpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIG1fdGltZXJUaHJvdHRsaW5nU3RhdGUgPSBzdGF0ZTsKLSAgICBtX3RpbWVyVGhy
b3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
bm93KCk7CisgICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSA9IE1vbm90
b25pY1RpbWU6Om5vdygpOwogCiAgICAgdXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgp
OwogCkBAIC0xMjU2LDcgKzEyNTYsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0
YXRlKFRpbWVyVGhyb3R0bGluZ1N0YXRlIHN0YXRlKQogICAgIH0KIH0KIAotdm9pZCBQYWdlOjpz
ZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGxpbWl0KQordm9pZCBQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVh
c2VMaW1pdChTZWNvbmRzIGxpbWl0KQogewogICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQgPSBsaW1pdDsKIApAQCAtMTI4NCw4ICsxMjg0LDggQEAgdm9pZCBQYWdlOjp1
cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKCkKICAgICAgICAgaWYgKG1faXNQcmVyZW5k
ZXIpCiAgICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBtX3RpbWVyQWxpZ25t
ZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFT
U0VSVChtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lLnRpbWVfc2luY2VfZXBv
Y2goKSAhPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbjo6emVybygpKTsKLSAg
ICAgICAgICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlv
bl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xv
Y2s6Om5vdygpIC0gbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSk7CisgICAg
ICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSk7Cisg
ICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBNb25vdG9uaWNUaW1lOjpub3co
KSAtIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CiAgICAgICAgICAgICAv
LyBJZiB3ZSdyZSBiZWxvdyB0aGUgbGltaXQsIHNldCB0aGUgdGltZXIuIElmIGFib3ZlLCBjbGFt
cCB0byBsaW1pdC4KICAgICAgICAgICAgIGlmIChtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPCBt
X3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KQogICAgICAgICAgICAgICAgIG5l
ZWRzSW5jcmVhc2VUaW1lciA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDIwMGFiMzk2ZTM3Zjc5
Njg2NGQwZTQ2MDI0YWMxZTg1ZmJmOTgwZjYuLjcyYTBiZjA0NTIzY2Y5MzUyZGI5NTgxNmEwZjMy
OWUxYTI1MTEyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yMjUsNyArMjI1LDcgQEAgcHVibGljOgog
ICAgIFByb2dyZXNzVHJhY2tlciYgcHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiAqbV9wcm9ncmVz
czsgfQogICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlciYgYmFja0ZvcndhcmQoKSBjb25zdCB7IHJl
dHVybiAqbV9iYWNrRm9yd2FyZENvbnRyb2xsZXI7IH0KIAotICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbDsgfQorICAgIFNlY29uZHMgZG9tVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsgfQogCiAjaWYg
RU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAgICAgZW51bSBWaWV3TW9kZSB7CkBAIC01Mjgs
NyArNTI4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hvd0FsbFBsdWdpbnMoYm9vbCBzaG93
QWxsKSB7IG1fc2hvd0FsbFBsdWdpbnMgPSBzaG93QWxsOyB9CiAgICAgYm9vbCBzaG93QWxsUGx1
Z2lucygpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1lckFsaWdubWVu
dEludGVydmFsSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0
KFNlY29uZHMpOwogCiAgICAgYm9vbCBpc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24oKSBjb25zdCB7
IHJldHVybiBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb247IH0KICAgICB2b2lkIHNldENvbnRyb2xs
ZWRCeUF1dG9tYXRpb24oYm9vbCBjb250cm9sbGVkKSB7IG1fY29udHJvbGxlZEJ5QXV0b21hdGlv
biA9IGNvbnRyb2xsZWQ7IH0KQEAgLTY2NywxMCArNjY3LDEwIEBAIHByaXZhdGU6CiAjZW5kaWYg
Ly8gRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAKICAgICBUaW1lclRocm90dGxpbmdTdGF0
ZSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlIHsgVGltZXJUaHJvdHRsaW5nU3RhdGU6OkRpc2FibGVk
IH07Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX3RpbWVyVGhy
b3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lIHsgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
ZHVyYXRpb246Onplcm8oKSB9OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV90aW1l
ckFsaWdubWVudEludGVydmFsOworICAgIE1vbm90b25pY1RpbWUgbV90aW1lclRocm90dGxpbmdT
dGF0ZUxhc3RDaGFuZ2VkVGltZTsKKyAgICBTZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZh
bDsKICAgICBUaW1lciBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZVRpbWVyOwotICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVh
c2VMaW1pdCB7IDAgfTsKKyAgICBTZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3Jl
YXNlTGltaXQ7CiAKICAgICBib29sIG1faXNFZGl0YWJsZTsKICAgICBib29sIG1faXNQcmVyZW5k
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGU3MGJjYTA1MjNmMGUzOTVm
ODc3ZmY2M2MxMmFhMzk1NTdhZGVkN2MuLmU5MDJiMDI1OGQxZTE4OWE2MDAzMjI0ZmNkYTI0Njhk
OWE0YmU3MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC0zOCw3ICszOCw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUgZmFkZUFuaW1h
dGlvbkR1cmF0aW9uID0gMC4yOwotc3RhdGljIGNvbnN0IGRvdWJsZSBmYWRlQW5pbWF0aW9uRnJh
bWVSYXRlID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmYWRlQW5pbWF0aW9uSW50ZXJ2YWwg
PSBTZWNvbmRzKDEuMCAvIDMwKTsKIAogc3RhdGljIFBhZ2VPdmVybGF5OjpQYWdlT3ZlcmxheUlE
IGdlbmVyYXRlUGFnZU92ZXJsYXlJRCgpCiB7CkBAIC0yNTAsNyArMjUwLDcgQEAgdm9pZCBQYWdl
T3ZlcmxheTo6c3RvcEZhZGVPdXRBbmltYXRpb24oKQogdm9pZCBQYWdlT3ZlcmxheTo6c3RhcnRG
YWRlQW5pbWF0aW9uKCkKIHsKICAgICBtX2ZhZGVBbmltYXRpb25TdGFydFRpbWUgPSBjdXJyZW50
VGltZSgpOwotICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEgLyBmYWRl
QW5pbWF0aW9uRnJhbWVSYXRlKTsKKyAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVh
dGluZyhmYWRlQW5pbWF0aW9uSW50ZXJ2YWwpOwogfQogCiB2b2lkIFBhZ2VPdmVybGF5OjpmYWRl
QW5pbWF0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDZlYzMw
NmRhMTcxZTk3YzUzOGY0NzM1MWQwZGIxMjc5ZWJkNTFiOTkuLjVmNjRmYWRkYzQzNmY1OGE5NWEw
NTc0MTg2MGFlODNmZmRjNzk2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNzIs
NyArMTcyLDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVU
b0xvYWRWaWRlbyA9IHRydWU7CiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRBbGxvd3NQaWN0
dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IHRydWU7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUg
ZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzID0g
NTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHBy
ZXNzaW9uVGltZW91dCA9IFNlY29uZHMoNSk7CiAjaWYgVVNFKFVOSUZJRURfVEVYVF9DSEVDS0lO
RykKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0g
dHJ1ZTsKICNlbHNlCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0TG9hZHNJ
bWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KQogICAgIC8v
IFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGltcG9ydGFudC4gIEJ5
IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRoZSBQYWdlIGNhbmNl
bHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8gcmVhbGx5IHN0YXJ0
LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBtb3JlIGRpc2N1c3Np
b24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiB2b2lkIFNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQo
KQpAQCAtNDA3LDcgKzQwNyw3IEBAIHZvaWQgU2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQoYm9v
bCBhcmVJbWFnZXNFbmFibGVkKQogICAgIG1fYXJlSW1hZ2VzRW5hYmxlZCA9IGFyZUltYWdlc0Vu
YWJsZWQ7CiAKICAgICAvLyBTZWUgY29tbWVudCBpbiBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2Fs
bHkuCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRQcmVmZXJNSU1FVHlwZUZvckltYWdlcyhib29s
IHByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKQpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wgc2hvdWxkTm90UmVsb2Fk
SUZyYW1lc0ZvclVuCiAgICAgbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayA9IHNob3Vs
ZE5vdFJlbG9hZElGcmFtZXNGb3JVbmNoYW5nZWRTUkM7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNl
dE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2
YWwpCit2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzIGlu
dGVydmFsKQogewogICAgIGF1dG8gb2xkVGltZXJJbnRlcnZhbCA9IG1fbWluaW11bURPTVRpbWVy
SW50ZXJ2YWw7CiAgICAgbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbCA9IGludGVydmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCmluZGV4IGQwNjk1N2RhZWY2Njc3ZjcxOTM1ZjdmNWIxM2U1MjkxM2Ri
ZGRlYzUuLmZiMDIyZjkwZWNhYjkwMTZlOTg4NWU4YzMzZWE1MmQxODRiMWRkYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKQEAgLTE2OSw4ICsxNjksOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sKTsKICAgICBi
b29sIG5lZWRzQWNyb2JhdEZyYW1lUmVsb2FkaW5nUXVpcmsoKSBjb25zdCB7IHJldHVybiBtX25l
ZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOyAv
LyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgotICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25z
dCB7IHJldHVybiBtX21pbmltdW1ET01UaW1lckludGVydmFsOyB9CisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKTsgLy8gSW5pdGlhbGl6
ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKS4KKyAgICBTZWNvbmRzIG1p
bmltdW1ET01UaW1lckludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJ
bnRlcnZhbDsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRMYXlvdXRJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGxheW91dEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRJbnRlcnZhbDsgfQpAQCAt
MjQ0LDggKzI0NCw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBz
ZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAg
c3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7
CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91YmxlIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJl
Zm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92
ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQorICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3Vz
ZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoU2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25k
cyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsg
cmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0K
IAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0K
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5z
aW9uRW5hYmxlZChib29sKTsKQEAgLTMyNiw3ICszMjYsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0
IHN0ZDo6dW5pcXVlX3B0cjxGb250R2VuZXJpY0ZhbWlsaWVzPiBtX2ZvbnRHZW5lcmljRmFtaWxp
ZXM7CiAgICAgU2VjdXJpdHlPcmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvbGljeSBtX3N0b3JhZ2VC
bG9ja2luZ1BvbGljeTsKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbGF5b3V0SW50
ZXJ2YWw7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOworICAgIFNlY29uZHMgbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsKIAogICAgIFNF
VFRJTkdTX01FTUJFUl9WQVJJQUJMRVMKIApAQCAtMzQ5LDcgKzM0OSw3IEBAIHByaXZhdGU6CiAj
ZW5kaWYKICAgICBib29sIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCA6IDE7
CiAKLSAgICBkb3VibGUgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9sczsKKyAgICBTZWNvbmRzIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHM7CiAKICAgICBUaW1lciBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXI7CiAg
ICAgdm9pZCBpbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmluCmluZGV4IDg5MWZlNzRlNzJiYzRiMjJiNGZhMGFiNWViMmU0NzBiZTc0NDIzMjAuLjY0
NmRlMWUxNDlhMzUxNzM2NGQzODljNTVmYjA4ZmU5ZTUxOTU1N2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5pbgpAQCAtNyw3ICs3LDcgQEAgbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoIHR5cGU9U3Ry
aW5nCiBlZGl0YWJsZUxpbmtCZWhhdmlvciB0eXBlPUVkaXRhYmxlTGlua0JlaGF2aW9yLCBpbml0
aWFsPUVkaXRhYmxlTGlua0RlZmF1bHRCZWhhdmlvcgogdGV4dERpcmVjdGlvblN1Ym1lbnVJbmNs
dXNpb25CZWhhdmlvciB0eXBlPVRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3Is
IGluaXRpYWw9VGV4dERpcmVjdGlvblN1Ym1lbnVBdXRvbWF0aWNhbGx5SW5jbHVkZWQKIHBkZklt
YWdlQ2FjaGluZ1BvbGljeSB0eXBlPVBERkltYWdlQ2FjaGluZ1BvbGljeSwgaW5pdGlhbCA9IFBE
RkltYWdlQ2FjaGluZ0RlZmF1bHQKLXBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzIHR5cGU9
ZG91YmxlLCBpbml0aWFsPTEKK3Bhc3N3b3JkRWNob0R1cmF0aW9uIHR5cGU9U2Vjb25kcywgaW5p
dGlhbD0xCiAKICMgU2V0cyB0aGUgbWFnbmlmaWNhdGlvbiB2YWx1ZSBmb3IgdmFsaWRhdGlvbiBt
ZXNzYWdlIHRpbWVyLiAgSWYgdGhlCiAjIG1hZ25pZmljYXRpb24gdmFsdWUgaXMgTiwgYSB2YWxp
ZGF0aW9uIG1lc3NhZ2UgZGlzYXBwZWFycyBhdXRvbWF0aWNhbGx5IGFmdGVyCkBAIC0xNDAsNyAr
MTQwLDcgQEAgbWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29tIGluaXRpYWw9ZGVmYXVsdE1l
ZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbQogaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0
ZWQgaW5pdGlhbD1mYWxzZQogcGFzc3dvcmRFY2hvRW5hYmxlZCBpbml0aWFsPWZhbHNlCiBzdXBw
cmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcgaW5pdGlhbD1mYWxzZQotaW5jcmVtZW50YWxSZW5k
ZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMgdHlwZT1kb3VibGUsIGluaXRpYWw9ZGVm
YXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzCitpbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCB0eXBlPVNlY29uZHMsIGluaXRpYWw9
ZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0CiBiYWNrc3BhY2VL
ZXlOYXZpZ2F0aW9uRW5hYmxlZCBpbml0aWFsPXRydWUKIHNob3VsZERpc3BsYXlTdWJ0aXRsZXMg
aW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKIHNob3VsZERpc3BsYXlDYXB0
aW9ucyBpbml0aWFsPWZhbHNlLCBjb25kaXRpb25hbD1WSURFT19UUkFDSwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFhYWE2YWU0YmM1
ZGZkZDQ2YjI0YzU3NjQzNS4uZjNjZWI3MzU4MTQ3NDYyMjZlMjY5NzQ4NmZhZjk2MGFiNjU3MTlj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMywxMCAr
MzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3BlbmRh
YmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2ZURP
TU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9zYXZl
ZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCgwKQotICAg
ICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcsNyBAQCB2b2lk
IFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVkID0gZmFsc2U7
CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVh
dEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhTZWNvbmRz
IHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3ICsxMDgsMjcg
QEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50
ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChTZWNv
bmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVyQmFz
ZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zYXZlZElz
QWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBpbnRlcnZh
bDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZlZFJl
cGVhdEludGVydmFsID0gU2Vjb25kcygwKTsKICAgICB9CiB9CiAKLWRvdWJsZSBTdXNwZW5kYWJs
ZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFN1c3BlbmRhYmxlVGltZXI6
OnJlcGVhdEludGVydmFsKCkgY29uc3QKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAg
ICByZXR1cm4gVGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbCgpOwogICAgIGlmIChtX3NhdmVkSXNB
Y3RpdmUpCiAgICAgICAgIHJldHVybiBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6
YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6
OmF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVu
ZGVkKQogICAgICAgICBUaW1lckJhc2U6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOwpAQCAt
MTQxLDExICsxMzcsMTEgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50RmlyZUludGVy
dmFsKGRvdWJsZSBkZWx0YSkKICAgICB9IGVsc2UgewogICAgICAgICBtX3NhdmVkSXNBY3RpdmUg
PSB0cnVlOwogICAgICAgICBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCA9IGRlbHRhOwotICAgICAg
ICBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSAwOworICAgICAgICBtX3NhdmVkUmVwZWF0SW50ZXJ2
YWwgPSBTZWNvbmRzKDApOwogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdt
ZW50UmVwZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjph
dWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVu
ZGVkKQogICAgICAgICBUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcwOTM3ODUwYTNh
NjkwMWY3MjBjNWRlMWY2MDk5MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4NTU1MTc4MWEw
MzY1ZDE5MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00Mywx
NyArNDMsMTIgQEAgcHVibGljOgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBU
aW1lckJhc2U6OmlzQWN0aXZlKCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7
IH0KICAgICBib29sIGlzU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0K
IAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKTsKLSAgICB2
b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSByZXBlYXRJbnRl
cnZhbCgpIGNvbnN0OwotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEp
OwotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgdm9p
ZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2b2lkIHN0YXJ0
T25lU2hvdChTZWNvbmRzIGludGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkg
Y29uc3Q7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50
ZXJ2YWwpKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJl
dHVybiBzZWNvbmRzVG9NUyhyZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQgYXVnbWVudEZp
cmVJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJl
SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdElu
dGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdElu
dGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSk7CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25k
cyBkZWx0YSk7CiAKICAgICB1c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVy
dmFsOwogICAgIHVzaW5nIFRpbWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEsMTEgKzY2LDEx
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFs
OwogICAgIHZvaWQgcmVzdW1lKCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVuZGVkOworICAg
IFNlY29uZHMgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3NhdmVkUmVw
ZWF0SW50ZXJ2YWw7CiAKLSAgICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7Ci0gICAg
ZG91YmxlIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZTsK
KyAgICBib29sIG1fc3VzcGVuZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2ZWRJc0FjdGl2
ZSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEy
ZTNmMDM1MjNkZjRiNTk3YmNlMzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2JmZTViODNlMmY1
ZjljMDJiY2E0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVz
dFRyaWdnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmln
Z2VyLmNwcApAQCAtNjAsNyArNjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0
VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0K
ICAgICAKICAgICBpZiAoIW1fdGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1f
dGVzdFRyaWdnZXJUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAK
IHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29uKFNjcm9sbGFi
bGVBcmVhSWRlbnRpZmllciBpZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVhc29uIHJlYXNv
bikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29u
dHJvbGxlci5jcHAKaW5kZXggOWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgxZGFkMmY3NWNl
ZC4uODk2NGNlYzcwYmE0NmYyMzE2Y2U0YzU3NTIyY2RhZGE0MmU3OTM0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAK
QEAgLTQ4LDggKzQ4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIGNBbmltYXRpb25UaW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMgY29uc3QgZG91
YmxlIGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGFuaW1hdGlvblRpbWVyRGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsKK3N0YXRpYyBj
b25zdCBkb3VibGUgYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CiAKIGNsYXNz
IEFuaW1hdGlvblByaXZhdGVVcGRhdGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3ICs3MSw3IEBA
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShG
cmFtZSYgZnJhbWUpCiAgICAgOiBtX2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OmFuaW1hdGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3VwZGF0ZVN0eWxl
SWZOZWVkZWREaXNwYXRjaGVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1lKGZyYW1lKQot
ICAgICwgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZU5vdFNldCkKKyAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKICAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCgwKQog
ICAgICwgbV93YWl0aW5nRm9yQXN5bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1f
aXNTdXNwZW5kZWQoZmFsc2UpCkBAIC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hh
bmdlZC8qCiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlv
blRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgZG91Ymxl
IHRpbWVUb05leHRTZXJ2aWNlID0gMDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlOwog
CiAgICAgY29uc3QgQ29tcG9zaXRlQW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24gPSBtX2Nv
bXBvc2l0ZUFuaW1hdGlvbnMuZ2V0KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21wb3NpdGVBbmlt
YXRpb24tPmlzU3VzcGVuZGVkKCkgJiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNBbmltYXRpb25z
KCkpCi0gICAgICAgIHRpbWVUb05leHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0aW9uLT50aW1l
VG9OZXh0U2VydmljZSgpOworICAgICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHMoY29t
cG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlmIChtX2FuaW1h
dGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwo
KSB8fCBtX2FuaW1hdGlvblRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1lVG9OZXh0U2Vy
dmljZSkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVu
ZGVyRWxlbWVudCYKIAogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5p
bWF0aW9uVGltZXIoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hh
bmdlZCovKQogewotICAgIGRvdWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlv
bnMoY2FsbFNldENoYW5nZWQpOworICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZlcnQgcmVzdCBv
ZiBhbmltYXRpb25zIGNvZGUgdG8gU2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4KKyAgICBTZWNv
bmRzIHRpbWVUb05leHRTZXJ2aWNlID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRD
aGFuZ2VkKSk7CiAKLSAgICBMT0coQW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0
aW1lVG9OZXh0U2VydmljZSBpcyAlLjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOworICAgIExPRyhB
bmltYXRpb25zLCAidXBkYXRlQW5pbWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUu
MmZtcyIsIHRpbWVUb05leHRTZXJ2aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAgIC8vIElmIHdl
IHdhbnQgc2VydmljZSBpbW1lZGlhdGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcgdGltZXIgdG8g
cmVkdWNlIHRoZSBvdmVyaGVhZCBvZiBzdGFydGluZwogICAgIGlmICghdGltZVRvTmV4dFNlcnZp
Y2UpIHsKLSAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmlt
YXRpb25UaW1lci5yZXBlYXRJbnRlcnZhbCgpID09IDApCi0gICAgICAgICAgICBtX2FuaW1hdGlv
blRpbWVyLnN0YXJ0UmVwZWF0aW5nKGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgaWYg
KCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGltZXIucmVwZWF0
SW50ZXJ2YWwoKSkKKyAgICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmco
YW5pbWF0aW9uVGltZXJEZWxheSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJ
ZiB3ZSBkb24ndCBuZWVkIHNlcnZpY2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSB0aW1lciBp
cyBubyBsb25nZXIgcnVubmluZwotICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDApIHsKKyAg
ICBpZiAodGltZVRvTmV4dFNlcnZpY2UgPCBTZWNvbmRzKDApKSB7CiAgICAgICAgIGlmIChtX2Fu
aW1hdGlvblRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0
b3AoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjIyLDcgKzIyMyw3IEBAIHZvaWQgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OmZpcmVFdmVudHNBbmRVcGRhdGVTdHlsZSgpCiB2b2lkIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVy
KCkKIHsKICAgICBpZiAoIW1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphZGRF
dmVudFRvRGlzcGF0Y2goUGFzc1JlZlB0cjxFbGVtZW50PiBlbGVtZW50LCBjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgZWxhcHNlZFRpbWUp
CkBAIC0zODQsNyArMzg1LDcgQEAgYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6cGF1
c2VUcmFuc2l0aW9uQXRUaW1lKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLAogZG91YmxlIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKQogewogICAg
IEFTU0VSVChtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQpOwotICAgIGlmIChtX2JlZ2luQW5p
bWF0aW9uVXBkYXRlVGltZSA9PSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQorICAg
IGlmIChtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSA9PSBiZWdpbkFuaW1hdGlvblVwZGF0ZVRp
bWVOb3RTZXQpCiAgICAgICAgIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCk7CiAKICAgICByZXR1cm4gbV9iZWdpbkFuaW1hdGlvblVwZGF0
ZVRpbWU7CkBAIC0zOTMsNyArMzk0LDcgQEAgZG91YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKQogdm9pZCBBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGUoKQogewogICAgIGlmICghbV9iZWdpbkFuaW1h
dGlvblVwZGF0ZUNvdW50KQotICAgICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoY0Jl
Z2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCk7CisgICAgICAgIHNldEJlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZShiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOwogICAgICsrbV9iZWdp
bkFuaW1hdGlvblVwZGF0ZUNvdW50OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVu
dEhhbmRsZXJNYWMubW0KaW5kZXggYjAzNTI3MDg5MWQwYzI2ODk5MDM2M2M0ZmQwZjZkMTZhMjcx
ZTM2OS4uMGZjYmE0ZWE2MWI3MjMyM2VhOTcyMTI2ZGMyMjJlZWQ4YTNjOGRjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzgsNyArNzgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjb25zdCBkb3VibGUgRXZlbnRIYW5kbGVyOjpUZXh0RHJhZ0Rl
bGF5ID0gMC4xNTsKICNlbmRpZgogCi1jb25zdCBkb3VibGUgcmVzZXRMYXRjaGVkU3RhdGVUaW1l
b3V0ID0gMC4xOworY29uc3QgU2Vjb25kcyByZXNldExhdGNoZWRTdGF0ZURlbGF5ID0gU2Vjb25k
cygwLjEpOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3Qo
KQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVhck9yU2NoZWR1
bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRmb3JtV2hlCiAgICAgLy8g
cmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3AgdGhlIHRpbWVyLCBsZWF2
aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAoIW1fcGVuZGluZ01vbWVu
dHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIGlmIChldmVudC5pc0Vu
ZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hl
ZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVUaW1lb3V0KTsKKyAg
ICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3Qo
cmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gSWYgYW5v
dGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRoZSB0aW1lciBtYW51YWxs
eSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5LgogICAgICAgICBpZiAo
ZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggNTVlNGQ2NTk1ZWVi
NjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZhZTdhMWU3MjdjOTQ0ZGVk
ZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAgICBib29sIG1vdXNlSXNP
dmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVyQnV0dG9uKSBjb25zdDsK
LSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vjb25kcyByZW1haW5pbmdU
aW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCopIGNvbnN0OwogICAgIHZv
aWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwogCiAgICAgc3RhdGljIGJv
b2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0KiBhLCBjb25zdCBIaWdo
bGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAKICAgICBIaWdobGlnaHQ6
OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAgc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lOwotICAgIHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0
Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1f
bGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0U2VsZWN0aW9uQ2hhbmdl
VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7
CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAogICAgIFJlZlB0cjxIaWdo
bGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0OwogICAgIEludFBvaW50
IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1Nl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1OTY0OTliZGY2MTZlZDQy
MTFiOWE1MjM4MTVlNjIuLjVhZmY5MjdlYmJjNjRlYjM5ZGM5NGQzOGI0ZDY0OGYwMGMwZjBiMDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9yPExheW91dFJlY3Q+CiAg
ICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBtX2lzVGV4dE9ubHkgPSBp
c1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZSA9IHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWUgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dpdGhHYXBSZWN0cyhtX2N1
cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEsNyArMzkxLDcgQEAgdm9p
ZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGlnaGxpZ2h0c09mVHlwZShI
aWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9kaXJ0eUhpZ2hs
aWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6YnVpbGRQb3RlbnRpYWxI
aWdobGlnaHRzSWZOZWVkZWQoKQpAQCAtNDMzLDE1ICs0MzMsMTUgQEAgYm9vbCBTZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyOjptb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmIGhpZ2hsaWdo
dCwgYm9vbCYKICAgICByZXR1cm4gaG92ZXJlZDsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGln
aHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAorU2Vjb25kcyBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRC
ZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAogewogICAgIGlmICghaGlnaGxpZ2h0
KQotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gU2Vjb25kcygwKTsKIAotICAg
IGF1dG8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAyMDBtczsKKyAg
ICBTZWNvbmRzIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gU2Vjb25k
cygwLjIpOwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAgICAgaWYgKHBh
Z2UgJiYgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0
aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAgbWluaW11bVRp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAgIG1pbmltdW1U
aW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gU2Vjb25kcygxKTsKIAogICAgIGJvb2wg
bW91c2VQcmVzc2VkID0gbV9tYWluRnJhbWUuZXZlbnRIYW5kbGVyKCkubW91c2VQcmVzc2VkKCk7
CiAKQEAgLTQ0OSwxNSArNDQ5LDE0IEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0CiAgICAgLy8g
YnkgdmlydHVlIG9mIGJlaW5nIGV4cGFuZGVkIHRvIGluY2x1ZGUgdGhlIGVudGlyZSB0ZWxlcGhv
bmUgbnVtYmVyLiBIb3dldmVyLCB3ZSB3aWxsIHN0aWxsIGF2b2lkIGhpZ2hsaWdodGluZwogICAg
IC8vIHRlbGVwaG9uZSBudW1iZXJzIHdoaWxlIHRoZSBtb3VzZSBpcyBkb3duLgogICAgIGlmICho
aWdobGlnaHQtPnR5cGUoKSA9PSBIaWdobGlnaHQ6OlRlbGVwaG9uZU51bWJlclR5cGUpCi0gICAg
ICAgIHJldHVybiBtb3VzZVByZXNzZWQgPyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxk
QmVTaG93biA6IDBtczsKKyAgICAgICAgcmV0dXJuIG1vdXNlUHJlc3NlZCA/IG1pbmltdW1UaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogU2Vjb25kcygwKTsKIAotICAgIGF1dG8gbm93
ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBub3cgPSBNb25v
dG9uaWNUaW1lOjpub3coKTsKICAgICBhdXRvIHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2Ug
PSBub3cgLSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lOwogICAgIGF1dG8gdGltZVNpbmNlSGln
aGxpZ2h0QmVjYW1lQWN0aXZlID0gbm93IC0gbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGlt
ZTsKLSAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91c2VQcmVzc2VkID8gMG1zIDog
bm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CisgICAgYXV0byB0aW1lU2luY2VMYXN0TW91c2VVcCA9
IG1vdXNlUHJlc3NlZCA/IFNlY29uZHMoMCkgOiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsKIAot
ICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxk
QmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2Us
IHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsK
LSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOworICAgIHJldHVybiBtaW5pbXVtVGltZVVudGlsSGln
aGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxl
Y3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxh
c3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKCkKQEAgLTcyMyw3ICs3MjIsNyBAQCB2b2lkIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRldGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBt
b3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAvLyBoaWdobGlnaHQsIGFuZCBvbmx5IHJlc2V0IHRo
ZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVzaXMgd2hlbiB0aGF0IGNoYW5nZXMuCiAgICAgICAg
IGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQgIT0gbmV3QWN0aXZlSGlnaGxpZ2h0KSB7CiAgICAg
ICAgICAgICBtX25leHRBY3RpdmVIaWdobGlnaHQgPSBuZXdBY3RpdmVIaWdobGlnaHQ7Ci0gICAg
ICAgICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFu
Z2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIH0KIAogICAgICAgICBtX2N1
cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxwdHI7CkBAIC03MzQsNyArNzMz
LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdo
bGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3RpdmUKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8g
cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IHRoaXMtPnJlbWFpbmlu
Z1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24obmV3QWN0aXZlSGlnaGxpZ2h0LmdldCgp
KTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24g
PiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbjo6emVybygpKSB7CisgICAgICAg
IGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID4gU2Vjb25kcygw
KSkgewogICAgICAgICAgICAgbV9kZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lci5zdGFydE9u
ZVNob3QocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTc2Niw3ICs3NjUsNyBAQCBib29sIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQoUGFnZU92ZXJsYXkmLCBjb25zdCBQbGF0Zm9y
bU1vdXNlRXZlbgogICAgICAgICBSZWZQdHI8SGlnaGxpZ2h0PiBtb3VzZURvd25IaWdobGlnaHQg
PSBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsKICAgICAgICAgbV9jdXJyZW50
TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwogCi0gICAgICAgIG1fbGFzdE1v
dXNlVXBUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAgIG1f
bGFzdE1vdXNlVXBUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICAgICAgaWYgKG1v
dXNlSXNPdmVyQWN0aXZlSGlnaGxpZ2h0QnV0dG9uICYmIG1vdXNlRG93bkhpZ2hsaWdodCkgewog
ICAgICAgICAgICAgaGFuZGxlQ2xpY2sobV9tb3VzZVBvc2l0aW9uLCAqbW91c2VEb3duSGlnaGxp
Z2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JX
aW5kb3cubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1t
CmluZGV4IGU0ZTIwZDIyNzY4Yzg4MmU5MDBiMTJiNDFmZTAyZWNkZmI0OGY2MjguLjUwNDRlYWY2
MjA0YTNiYzJiOGRkZTZhZTRhODU5OWFiNTExNmIxYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbQpAQCAtNDc1LDcgKzQ3NSw3IEBAIHZvaWQg
VGV4dEluZGljYXRvcldpbmRvdzo6c2V0VGV4dEluZGljYXRvcihSZWY8VGV4dEluZGljYXRvcj4g
dGV4dEluZGljYXRvciwgQ0dSCiAgICAgICAgIFttX3RleHRJbmRpY2F0b3JWaWV3IHByZXNlbnRd
OwogCiAgICAgaWYgKGxpZmV0aW1lID09IFRleHRJbmRpY2F0b3JXaW5kb3dMaWZldGltZTo6VGVt
cG9yYXJ5KQotICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNo
b3QodGltZUJlZm9yZUZhZGVTdGFydHMpOworICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRpY2F0
b3JUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyh0aW1lQmVmb3JlRmFkZVN0YXJ0cykpOwogfQog
CiB2b2lkIFRleHRJbmRpY2F0b3JXaW5kb3c6OmNsb3NlV2luZG93KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5jcHAKaW5kZXggODVhNjQ3MmVjZTIxMWZmMjAwODBkMzdhNTJlYWUxOTBhOTEwOTc0MC4uYmVi
ODViZWRlYTcyZGRmMzQ3ZTNkOTg2NWU3MWVkYmE1ZjE5M2Y0MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5jcHAKQEAgLTI1Nyw3ICsyNTcsNyBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OnNjaGVkdWxlVXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKFNjcgogICAgIH0K
IAogICAgIG1fc2NoZWR1bGVkU2Nyb2xsVXBkYXRlID0gc2Nyb2xsVXBkYXRlOwotICAgIG1fdXBk
YXRlTm9kZVNjcm9sbFBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
Tm9kZVNjcm9sbFBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2
b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJB
c3luY1Njcm9sbFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCmluZGV4IDRjY2Y0
NDQyOWY5OWUxMDlmODc1NWI5NDYwMTI2YmJjYTdlNWI5ZWEuLjZlZmJlZjcwMzBjZGNmZTAzNTYz
NDg1ODRhYTBhYzM5MjBlYjg1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KQEAgLTg2LDcg
Kzg2LDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVlU3RhdGVD
b21taXQoKQogICAgIGlmIChtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLmlzQWN0
aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0
dGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0
dGVyVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNjcm9sbGluZ0Nv
b3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCmlu
ZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUwYzQxYjI1MTM3
ZmQyOTU0ZThjYzFlMTFkZmUyZjUxNjAwNDA2NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0K
QEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpzY2hlZHVs
ZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVy
VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3JvbGxpbmdTdGF0
ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3JvbGxpbmdTdGF0
ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQg
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZSgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwCmluZGV4IDFhYTdlMWI4NzYzZmYxYjQ3
ZGZiOGUyMTM5NDA3NjQ1ZWI3NTVlYjIuLmJkYTRiMjI4MDc5NTFiOGRmYWJjN2M2MTA2M2JjZWE0
MmE2NmU2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNr
UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUu
Y3BwCkBAIC00MSw3ICs0MSw3IEBAIHZvaWQgVGFza0Rpc3BhdGNoZXI8VGltZXI+Ojpwb3N0VGFz
ayhGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pCiAgICAgbV9wZW5kaW5nVGFza3MuYXBwZW5k
KFdURk1vdmUoZnVuY3Rpb24pKTsKICAgICBwZW5kaW5nRGlzcGF0Y2hlcnMoKS5hcHBlbmQobV93
ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOwogICAgIGlmICghc2hhcmVkVGltZXIoKS5p
c0FjdGl2ZSgpKQotICAgICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgc2hhcmVkVGltZXIoKS5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIFRpbWVyJiBU
YXNrRGlzcGF0Y2hlcjxUaW1lcj46OnNoYXJlZFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKaW5kZXggMTI4ZWY4MjA5ZTJhNzQ4MzA5ZTA2Mjgy
MGVkYzgyMzk4MGMwYjJlMS4uYjI1ZWRkZmE0NGE3YjU4OTE1NjFmNDU0YjZhY2Y3MjczMGFlMjZm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKQEAg
LTMwLDcgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91
YmxlIERlZmF1bHRIeXN0ZXJlc2lzU2Vjb25kcyA9IDUuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IERlZmF1bHRIeXN0ZXJlc2lzSW50ZXJ2YWwgPSBTZWNvbmRzKDUuMCk7CiAKIGVudW0gY2xhc3Mg
SHlzdGVyZXNpc1N0YXRlIHsKICAgICBTdGFydGVkLApAQCAtMzksOSArMzksOSBAQCBlbnVtIGNs
YXNzIEh5c3RlcmVzaXNTdGF0ZSB7CiAKIGNsYXNzIEh5c3RlcmVzaXNBY3Rpdml0eSB7CiBwdWJs
aWM6Ci0gICAgZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5KHN0ZDo6ZnVuY3Rpb248dm9pZChI
eXN0ZXJlc2lzU3RhdGUpPiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNTdGF0ZSkgeyB9LCBkb3Vi
bGUgaHlzdGVyZXNpc1NlY29uZHMgPSBEZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMpCisgICAgZXhw
bGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5KHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3Rh
dGUpPiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNTdGF0ZSkgeyB9LCBTZWNvbmRzIGh5c3RlcmVz
aXNJbnRlcnZhbCA9IERlZmF1bHRIeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgIDogbV9jYWxs
YmFjayhjYWxsYmFjaykKLSAgICAgICAgLCBtX2h5c3RlcmVzaXNTZWNvbmRzKGh5c3RlcmVzaXNT
ZWNvbmRzKQorICAgICAgICAsIG1faHlzdGVyZXNpc0ludGVydmFsKGh5c3RlcmVzaXNJbnRlcnZh
bCkKICAgICAgICAgLCBtX2FjdGl2ZShmYWxzZSkKICAgICAgICAgLCBtX3RpbWVyKCp0aGlzLCAm
SHlzdGVyZXNpc0FjdGl2aXR5OjpoeXN0ZXJlc2lzVGltZXJGaXJlZCkKICAgICB7CkBAIC02NSw3
ICs2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgbV9hY3RpdmUg
PSBmYWxzZTsKIAotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX2h5c3RlcmVzaXNTZWNv
bmRzKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzSW50ZXJ2YWwp
OwogICAgIH0KIAogICAgIHZvaWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6
CiAgICAgfQogCiAgICAgc3RkOjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2Fs
bGJhY2s7Ci0gICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgU2Vjb25kcyBtX2h5
c3RlcmVzaXNJbnRlcnZhbDsKICAgICBib29sIG1fYWN0aXZlOwogICAgIFRpbWVyIG1fdGltZXI7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggODgxODFkMzA1N2Y0
Njg5NGRmZWI5YTk3N2E1NjcwNjYxNjQ1MzU3Yy4uZjA5ZTk0YjA5ZjA2MTUzNWU3OThhMGQwZTgw
MGUzOGJmNmQ5NDI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YmFyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCkBAIC0x
ODMsNyArMTgzLDcgQEAgc3RhdGljIGJvb2wgdGh1bWJVbmRlck1vdXNlKFNjcm9sbGJhciogc2Ny
b2xsYmFyKQogICAgIHJldHVybiBzY3JvbGxiYXItPnByZXNzZWRQb3MoKSA+PSB0aHVtYlBvcyAm
JiBzY3JvbGxiYXItPnByZXNzZWRQb3MoKSA8IHRodW1iUG9zICsgdGh1bWJMZW5ndGg7CiB9CiAK
LXZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQordm9p
ZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KQogewogICAg
IC8vIERvbid0IGRvIGFueXRoaW5nIGZvciB0aGUgdGh1bWIgb3IgaWYgbm90aGluZyB3YXMgcHJl
c3NlZC4KICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBUaHVtYlBhcnQgfHwgbV9wcmVzc2VkUGFy
dCA9PSBOb1BhcnQpCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBTY3JvbGxiYXI6OmF1dG9zY3Jv
bGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCiAgICAgICAgIHN0YXJ0VGltZXJJZk5lZWRlZChk
ZWxheSk7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRl
bGF5KQordm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KQog
ewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGZvciB0aGUgdGh1bWIuCiAgICAgaWYgKG1fcHJl
c3NlZFBhcnQgPT0gVGh1bWJQYXJ0KQpAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgU2Nyb2xsYmFy
OjpzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KQogICAgICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsKKyAgICBtX3Nj
cm9sbFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5KSk7CiB9CiAKIHZvaWQgU2Nyb2xs
YmFyOjpzdG9wVGltZXJJZk5lZWRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxiYXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCmlu
ZGV4IGY4NmE5NjJhZmUwMmI1MjYwMzhiZDdkNWVkZGVhOTY0YmJhNmY3MWEuLmEyMzZjN2U4ZWIx
MjdhZWEzNzU2NTIzZWJlYzQxZjk5M2E5YTVjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGJhci5oCkBAIC0xNDQsOSArMTQ0LDkgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB1
cGRhdGVUaHVtYlByb3BvcnRpb24oKTsKIAogICAgIHZvaWQgYXV0b3Njcm9sbFRpbWVyRmlyZWQo
KTsKLSAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVsYXkpOworICAgIHZvaWQg
c3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpOwogICAgIHZvaWQgc3RvcFRpbWVySWZO
ZWVkZWQoKTsKLSAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpOwor
ICAgIHZvaWQgYXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpOwogICAgIFNjcm9s
bERpcmVjdGlvbiBwcmVzc2VkUGFydFNjcm9sbERpcmVjdGlvbigpOwogICAgIFNjcm9sbEdyYW51
bGFyaXR5IHByZXNzZWRQYXJ0U2Nyb2xsR3JhbnVsYXJpdHkoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggNzI1Mjk0MmIwY2FjYmE0YTBlM2EwZGZiNDc2
MWRkNGE2NTc1ZWRiYy4uMjY5MDQyN2QwNzdiMGMzZDY4YzdjYTc1ODNmZDg3YzZmMzdmOWM5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0xMDUsOCArMTA1
LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQgbWF4T3ZlcmxhcEJldHdlZW5QYWdlcygp
IHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7IH0KIAotICAgIHZpcnR1
YWwgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMjU7IH0K
LSAgICB2aXJ0dWFsIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMDU7
IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyBy
ZXR1cm4gU2Vjb25kcygwLjI1KTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpIHsgcmV0dXJuIFNlY29uZHMoMC4wNSk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBy
ZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXImKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdp
c3RlclNjcm9sbGJhcihTY3JvbGxiYXImKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCmluZGV4
IDM1ODYzYmM4MjAxNGMzOTc3YzNjNjk0ZmE0Mjc2YzA1NDExZWYxYjEuLjZmZDU1MzE5ZmRlZjdm
YzQxMDc5NmUzMjViM2UxMjhlMmViYTQyMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaApAQCAt
NzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBGb250Q2FzY2FkZSBzeXN0ZW1Gb250
KFRoZW1lRm9udCwgRm9udERlc2NyaXB0aW9uJikgY29uc3QgeyByZXR1cm4gRm9udENhc2NhZGUo
KTsgfQogICAgIAogICAgIC8vIEhvdyBmYXN0IHRoZSBjYXJldCBibGlua3MgaW4gdGV4dCBmaWVs
ZHMuCi0gICAgdmlydHVhbCBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1
cm4gMC41OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0
IHsgcmV0dXJuIFNlY29uZHMoMC41KTsgfQogCiAgICAgLy8gTm90aWZpY2F0aW9uIHdoZW4gdGhl
IHRoZW1lIGhhcyBjaGFuZ2VkCiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdlZCgpIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKaW5kZXggZTNkNjVlYWJiZTQ1
OWQzYjdhZWZkMTZkMjMxYWExMGZjZmRiY2E0NC4uNTQyNWM0OWE0Y2I2ZTRlNzAyM2U5MDA3M2Fk
MDIwNGY3MDk2MTMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
VGltZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3Bw
CkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi9N
b25vdG9uaWNUaW1lLmg+CiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVkZSAiV2ViQ29yZVRo
cmVhZC5oIgpAQCAtNDMsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBGaXJlIHRp
bWVycyBmb3IgdGhpcyBsZW5ndGggb2YgdGltZSwgYW5kIHRoZW4gcXVpdCB0byBsZXQgdGhlIHJ1
biBsb29wIHByb2Nlc3MgdXNlciBpbnB1dCBldmVudHMuCiAvLyAxMDBtcyBpcyBhYm91dCBhIHBl
cmNlcHRhYmxlIGRlbGF5IGluIFVJLCBzbyB1c2UgYSBoYWxmIG9mIHRoYXQgYXMgYSB0aHJlc2hv
bGQuCiAvLyBUaGlzIGlzIHRvIHByZXZlbnQgVUkgZnJlZXplIHdoZW4gdGhlcmUgYXJlIHRvbyBt
YW55IHRpbWVycyBvciBtYWNoaW5lIHBlcmZvcm1hbmNlIGlzIGxvdy4KLXN0YXRpYyBjb25zdCBk
b3VibGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29u
ZHMoNTApOwogCiAvLyBUaW1lcnMgYXJlIGNyZWF0ZWQsIHN0YXJ0ZWQgYW5kIGZpcmVkIG9uIHRo
ZSBzYW1lIHRocmVhZCwgYW5kIGVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIFRocmVhZFRpbWVycwog
Ly8gY29weSB0byBrZWVwIHRoZSBoZWFwIGFuZCBhIHNldCBvZiBjdXJyZW50bHkgZmlyaW5nIHRp
bWVycy4KQEAgLTUxLDcgKzUyLDYgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhEdXJhdGlvbk9m
RmlyaW5nVGltZXJzID0gMC4wNTA7CiBUaHJlYWRUaW1lcnM6OlRocmVhZFRpbWVycygpCiAgICAg
OiBtX3NoYXJlZFRpbWVyKDApCiAgICAgLCBtX2ZpcmluZ1RpbWVycyhmYWxzZSkKLSAgICAsIG1f
cGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUoMCkKIHsKICAgICBpZiAoaXNVSVRocmVhZCgpKQog
ICAgICAgICBzZXRTaGFyZWRUaW1lcigmTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzaW5nbGV0b24o
KSk7CkBAIC02NCw3ICs2NCw3IEBAIHZvaWQgVGhyZWFkVGltZXJzOjpzZXRTaGFyZWRUaW1lcihT
aGFyZWRUaW1lciogc2hhcmVkVGltZXIpCiAgICAgaWYgKG1fc2hhcmVkVGltZXIpIHsKICAgICAg
ICAgbV9zaGFyZWRUaW1lci0+c2V0RmlyZWRGdW5jdGlvbihudWxscHRyKTsKICAgICAgICAgbV9z
aGFyZWRUaW1lci0+c3RvcCgpOwotICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1l
ID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1vbm90b25pY1Rp
bWUoKTsKICAgICB9CiAgICAgCiAgICAgbV9zaGFyZWRUaW1lciA9IHNoYXJlZFRpbWVyOwpAQCAt
ODEsMTggKzgxLDE4IEBAIHZvaWQgVGhyZWFkVGltZXJzOjp1cGRhdGVTaGFyZWRUaW1lcigpCiAg
ICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgaWYgKG1fZmlyaW5nVGltZXJzIHx8IG1fdGlt
ZXJIZWFwLmlzRW1wdHkoKSkgewotICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1l
ID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1vbm90b25pY1Rp
bWUoKTsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c3RvcCgpOwogICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGRvdWJsZSBuZXh0RmlyZVRpbWUgPSBtX3RpbWVySGVhcC5maXJzdCgpLT5tX25leHRGaXJl
VGltZTsKLSAgICAgICAgZG91YmxlIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIE1vbm90b25pY1RpbWUgbmV4dEZpcmVUaW1lID0g
bV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7CisgICAgICAgIE1vbm90b25pY1Rp
bWUgY3VycmVudE1vbm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAg
aWYgKG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUpIHsKICAgICAgICAgICAgIC8vIE5vIG5l
ZWQgdG8gcmVzdGFydCB0aGUgdGltZXIgaWYgYm90aCB0aGUgcGVuZGluZyBmaXJlIHRpbWUgYW5k
IHRoZSBuZXcgZmlyZSB0aW1lIGFyZSBpbiB0aGUgcGFzdC4KICAgICAgICAgICAgIGlmIChtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lIDw9IGN1cnJlbnRNb25vdG9uaWNUaW1lICYmIG5leHRG
aXJlVGltZSA8PSBjdXJyZW50TW9ub3RvbmljVGltZSkKICAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0gCiAgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSBuZXh0
RmlyZVRpbWU7Ci0gICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZhbChTZWNvbmRz
KHN0ZDo6bWF4KG5leHRGaXJlVGltZSAtIGN1cnJlbnRNb25vdG9uaWNUaW1lLCAwLjApKSk7Cisg
ICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZhbChzdGQ6Om1heDxTZWNvbmRzPihu
ZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGltZSwgU2Vjb25kcygwKSkpOwogICAgIH0K
IH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OnNoYXJlZFRpbWVy
RmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5nVGltZXJzKQogICAgICAgICByZXR1cm47
CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmly
ZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSBNb25vdG9uaWNU
aW1lKCk7CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKTsKLSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4RHVyYXRpb25PZkZp
cmluZ1RpbWVyczsKKyAgICBNb25vdG9uaWNUaW1lIGZpcmVUaW1lID0gTW9ub3RvbmljVGltZTo6
bm93KCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJh
dGlvbk9mRmlyaW5nVGltZXJzOwogCiAgICAgd2hpbGUgKCFtX3RpbWVySGVhcC5pc0VtcHR5KCkg
JiYgbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRpbWUpIHsKICAg
ICAgICAgVGltZXJCYXNlKiB0aW1lciA9IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0gICAgICAgIHRp
bWVyLT5tX25leHRGaXJlVGltZSA9IDA7Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRG
aXJlVGltZSA9IDA7CisgICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IE1vbm90b25pY1Rp
bWUoKTsKKyAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gTW9ub3Rvbmlj
VGltZSgpOwogICAgICAgICB0aW1lci0+aGVhcERlbGV0ZU1pbigpOwogCi0gICAgICAgIGRvdWJs
ZSBpbnRlcnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwotICAgICAgICB0aW1lci0+c2V0
TmV4dEZpcmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDApOworICAgICAg
ICBTZWNvbmRzIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7CisgICAgICAgIHRp
bWVyLT5zZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogTW9u
b3RvbmljVGltZSgpKTsKIAogICAgICAgICAvLyBPbmNlIHRoZSB0aW1lciBoYXMgYmVlbiBmaXJl
ZCwgaXQgbWF5IGJlIGRlbGV0ZWQsIHNvIGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0IGFmdGVyIHRo
aXMgcG9pbnQuCiAgICAgICAgIHRpbWVyLT5maXJlZCgpOwogCiAgICAgICAgIC8vIENhdGNoIHRo
ZSBjYXNlIHdoZXJlIHRoZSB0aW1lciBhc2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBhIG5lc3RlZCBl
dmVudCBsb29wLCBvciB3ZSBhcmUgb3ZlciB0aW1lIGxpbWl0LgotICAgICAgICBpZiAoIW1fZmly
aW5nVGltZXJzIHx8IHRpbWVUb1F1aXQgPCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
KyAgICAgICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgTW9ub3RvbmljVGlt
ZTo6bm93KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTEzNyw3ICsxMzcsNyBA
QCB2b2lkIFRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIAogICAg
IGlmIChtX3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPmludmFsaWRhdGUo
KTsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1f
cGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CiAgICAgfQogCiAg
ICAgdXBkYXRlU2hhcmVkVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RocmVhZFRpbWVycy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJz
LmgKaW5kZXggZWFiYzRkMTIxZTgyNjY2MmU5YWJiMzA0ZTM4M2YxN2IxZTcyOWE5Ny4uY2Y1OGM5
MTdhOTVjZTM2NzJjMTZiN2U2ZWM2OTE3MzlhODkwM2EwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJz
X2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCkBAIC01Niw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVmVjdG9y
PFRpbWVyQmFzZSo+IG1fdGltZXJIZWFwOwogICAgICAgICBTaGFyZWRUaW1lciogbV9zaGFyZWRU
aW1lcjsgLy8gRXh0ZXJuYWwgb2JqZWN0LCBjYW4gYmUgYSBydW4gbG9vcCBvbiBhIHdvcmtlciB0
aHJlYWQuIE5vcm1hbGx5IHNldC9yZXNldCBieSB3b3JrZXIgdGhyZWFkLgogICAgICAgICBib29s
IG1fZmlyaW5nVGltZXJzOyAvLyBSZWVudHJhbmN5IGd1YXJkLgotICAgICAgICBkb3VibGUgbV9w
ZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3BlbmRp
bmdTaGFyZWRUaW1lckZpcmVUaW1lOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmNwcAppbmRleCBjZDU5NGZlN2NjNTU4OTEyOTQ3NDYzOTc2ZDhkMTg1ZjkxMTE0YmJhLi5mYmM4
NzY5MDg4Y2QxYzNmOWYzYzgwYjFlZTMxZDQwNjQ2NmQ3ZjBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuY3BwCkBAIC0xNzIsOCArMTcyLDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1Ro
YW5GdW5jdGlvbjo6b3BlcmF0b3IoKShjb25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIHsK
ICAgICAvLyBUaGUgY29tcGFyaXNvbnMgYmVsb3cgYXJlICJiYWNrd2FyZHMiIGJlY2F1c2UgdGhl
IGhlYXAgcHV0cyB0aGUgbGFyZ2VzdCAKICAgICAvLyBlbGVtZW50IGZpcnN0IGFuZCB3ZSB3YW50
IHRoZSBsb3dlc3QgdGltZSB0byBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBoZWFwLgotICAgIGRv
dWJsZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKLSAgICBkb3VibGUgYkZpcmVUaW1l
ID0gYi0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBhRmlyZVRpbWUgPSBhLT5t
X25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIGJGaXJlVGltZSA9IGItPm1fbmV4dEZp
cmVUaW1lOwogICAgIGlmIChiRmlyZVRpbWUgIT0gYUZpcmVUaW1lKQogICAgICAgICByZXR1cm4g
YkZpcmVUaW1lIDwgYUZpcmVUaW1lOwogICAgIApAQCAtMTg2LDExICsxODYsOCBAQCBpbmxpbmUg
Ym9vbCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFz
ZSogYSwgY29uc3QgVGltZQogLy8gLS0tLS0tLS0tLS0tLS0tLQogCiBUaW1lckJhc2U6OlRpbWVy
QmFzZSgpCi0gICAgOiBtX25leHRGaXJlVGltZSgwKQotICAgICwgbV91bmFsaWduZWROZXh0Rmly
ZVRpbWUoMCkKLSAgICAsIG1fcmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1faGVhcEluZGV4KC0x
KQotICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAoMCkKKyAgICA6IG1faGVhcElu
ZGV4KC0xKQorICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAobnVsbHB0cikKICNp
Zm5kZWYgTkRFQlVHCiAgICAgLCBtX3RocmVhZChjdXJyZW50VGhyZWFkKCkpCiAgICAgLCBtX3dh
c0RlbGV0ZWQoZmFsc2UpCkBAIC0yMDcsMzIgKzIwNCwzMiBAQCBUaW1lckJhc2U6On5UaW1lckJh
c2UoKQogI2VuZGlmCiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4dEZpcmVJ
bnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBUaW1lckJhc2U6OnN0YXJ0KFNl
Y29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBB
U1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKICAg
ICBtX3JlcGVhdEludGVydmFsID0gcmVwZWF0SW50ZXJ2YWw7Ci0gICAgc2V0TmV4dEZpcmVUaW1l
KG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgbmV4dEZpcmVJbnRlcnZhbCk7CisgICAg
c2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWU6Om5vdygpICsgbmV4dEZpcmVJbnRlcnZhbCk7
CiB9CiAKIHZvaWQgVGltZXJCYXNlOjpzdG9wKCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKLSAgICBtX3JlcGVhdEludGVydmFs
ID0gMDsKLSAgICBzZXROZXh0RmlyZVRpbWUoMCk7CisgICAgbV9yZXBlYXRJbnRlcnZhbCA9IFNl
Y29uZHMoMCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUoKSk7CiAKLSAgICBB
U1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7Ci0gICAgQVNTRVJUKG1fcmVwZWF0SW50ZXJ2YWwg
PT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7CisgICAgQVNTRVJUKCFtX3JlcGVh
dEludGVydmFsKTsKICAgICBBU1NFUlQoIWluSGVhcCgpKTsKIH0KIAotZG91YmxlIFRpbWVyQmFz
ZTo6bmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFRpbWVyQmFzZTo6bmV4dEZpcmVJ
bnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzQWN0aXZlKCkpOwotICAgIGRvdWJsZSBj
dXJyZW50ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgTW9ub3RvbmljVGlt
ZSBjdXJyZW50ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1l
IDwgY3VycmVudCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBTZWNvbmRzKDAp
OwogICAgIHJldHVybiBtX25leHRGaXJlVGltZSAtIGN1cnJlbnQ7CiB9CiAKQEAgLTI0OCwxNCAr
MjQ1LDE0IEBAIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tIZWFwSW5kZXgoKSBjb25zdAog
aW5saW5lIHZvaWQgVGltZXJCYXNlOjpjaGVja0NvbnNpc3RlbmN5KCkgY29uc3QKIHsKICAgICAv
LyBUaW1lcnMgc2hvdWxkIGJlIGluIHRoZSBoZWFwIGlmIGFuZCBvbmx5IGlmIHRoZXkgaGF2ZSBh
IG5vbi16ZXJvIG5leHQgZmlyZSB0aW1lLgotICAgIEFTU0VSVChpbkhlYXAoKSA9PSAobV9uZXh0
RmlyZVRpbWUgIT0gMCkpOworICAgIEFTU0VSVChpbkhlYXAoKSA9PSAhIW1fbmV4dEZpcmVUaW1l
KTsKICAgICBpZiAoaW5IZWFwKCkpCiAgICAgICAgIGNoZWNrSGVhcEluZGV4KCk7CiB9CiAKIHZv
aWQgVGltZXJCYXNlOjpoZWFwRGVjcmVhc2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJl
VGltZSAhPSAwKTsKKyAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGNoZWNrSGVhcElu
ZGV4KCk7CiAgICAgVGltZXJCYXNlKiogaGVhcERhdGEgPSB0aW1lckhlYXAoKS5kYXRhKCk7CiAg
ICAgcHVzaF9oZWFwKFRpbWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhKSwgVGltZXJIZWFwSXRlcmF0
b3IoaGVhcERhdGEgKyBtX2hlYXBJbmRleCArIDEpLCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9u
KCkpOwpAQCAtMjY0LDcgKzI2MSw3IEBAIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVjcmVhc2VLZXko
KQogCiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGUoKQogewotICAgIEFTU0VSVCht
X25leHRGaXJlVGltZSA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKICAgICBo
ZWFwUG9wKCk7CiAgICAgdGltZXJIZWFwKCkucmVtb3ZlTGFzdCgpOwogICAgIG1faGVhcEluZGV4
ID0gLTE7CkBAIC0yNzIsNyArMjY5LDcgQEAgaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVs
ZXRlKCkKIAogdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGVNaW4oKQogewotICAgIEFTU0VSVCht
X25leHRGaXJlVGltZSA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKICAgICBo
ZWFwUG9wTWluKCk7CiAgICAgdGltZXJIZWFwKCkucmVtb3ZlTGFzdCgpOwogICAgIG1faGVhcElu
ZGV4ID0gLTE7CkBAIC0yODAsNyArMjc3LDcgQEAgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGVN
aW4oKQogCiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSgpCiB7Ci0gICAg
QVNTRVJUKG1fbmV4dEZpcmVUaW1lICE9IDApOworICAgIEFTU0VSVChtX25leHRGaXJlVGltZSk7
CiAgICAgaGVhcFBvcCgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogfQpAQCAtMjk2LDggKzI5
Myw4IEBAIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcEluc2VydCgpCiBpbmxpbmUgdm9pZCBU
aW1lckJhc2U6OmhlYXBQb3AoKQogewogICAgIC8vIFRlbXBvcmFyaWx5IGZvcmNlIHRoaXMgdGlt
ZXIgdG8gaGF2ZSB0aGUgbWluaW11bSBrZXkgc28gd2UgY2FuIHBvcCBpdC4KLSAgICBkb3VibGUg
ZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKLSAgICBtX25leHRGaXJlVGltZSA9IC1zdGQ6Om51
bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCk7CisgICAgTW9ub3RvbmljVGltZSBmaXJl
VGltZSA9IG1fbmV4dEZpcmVUaW1lOworICAgIG1fbmV4dEZpcmVUaW1lID0gLU1vbm90b25pY1Rp
bWU6OmluZmluaXR5KCk7CiAgICAgaGVhcERlY3JlYXNlS2V5KCk7CiAgICAgaGVhcFBvcE1pbigp
OwogICAgIG1fbmV4dEZpcmVUaW1lID0gZmlyZVRpbWU7CkBAIC0zNDcsNyArMzQ0LDcgQEAgYm9v
bCBUaW1lckJhc2U6Omhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkgY29uc3QKICAgICByZXR1cm4gY2hp
bGRIZWFwUHJvcGVydHlIb2xkcyh0aGlzLCBoZWFwLCBjaGlsZEluZGV4MSkgJiYgY2hpbGRIZWFw
UHJvcGVydHlIb2xkcyh0aGlzLCBoZWFwLCBjaGlsZEluZGV4Mik7CiB9CiAKLXZvaWQgVGltZXJC
YXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpCit2b2lkIFRpbWVyQmFzZTo6
dXBkYXRlSGVhcElmTmVlZGVkKE1vbm90b25pY1RpbWUgb2xkVGltZSkKIHsKICAgICBpZiAobV9u
ZXh0RmlyZVRpbWUgJiYgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwpA
QCAtMzY2LDcgKzM2Myw3IEBAIHZvaWQgVGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQoZG91
YmxlIG9sZFRpbWUpCiAgICAgQVNTRVJUKCFpbkhlYXAoKSB8fCBoYXNWYWxpZEhlYXBQb3NpdGlv
bigpKTsKIH0KIAotdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGlt
ZSkKK3ZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGltZSBuZXdUaW1l
KQogewogICAgIEFTU0VSVChjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJl
YWQpKTsKICAgICBBU1NFUlQoIW1fd2FzRGVsZXRlZCk7CkBAIC0zNzksMTEgKzM3NiwxMSBAQCB2
b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKGRvdWJsZSBuZXdUaW1lKQogICAgICAgICBt
X2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcCA9ICZ0aHJlYWRHbG9iYWxUaW1lckhlYXAoKTsK
IAogICAgIC8vIEtlZXAgaGVhcCB2YWxpZCB3aGlsZSBjaGFuZ2luZyB0aGUgbmV4dC1maXJlIHRp
bWUuCi0gICAgZG91YmxlIG9sZFRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNU
aW1lIG9sZFRpbWUgPSBtX25leHRGaXJlVGltZTsKICAgICAvLyBEb24ndCByZWFsaWduIHplcm8t
ZGVsYXkgdGltZXJzLgogICAgIGlmIChuZXdUaW1lKSB7Ci0gICAgICAgIGlmIChhdXRvIG5ld0Fs
aWduZWRUaW1lID0gYWxpZ25lZEZpcmVUaW1lKHNlY29uZHNUb01TKG5ld1RpbWUpKSkKLSAgICAg
ICAgICAgIG5ld1RpbWUgPSBtc1RvU2Vjb25kcyhuZXdBbGlnbmVkVGltZS52YWx1ZSgpKTsKKyAg
ICAgICAgaWYgKGF1dG8gbmV3QWxpZ25lZFRpbWUgPSBhbGlnbmVkRmlyZVRpbWUobmV3VGltZSkp
CisgICAgICAgICAgICBuZXdUaW1lID0gbmV3QWxpZ25lZFRpbWUudmFsdWUoKTsKICAgICB9CiAK
ICAgICBpZiAob2xkVGltZSAhPSBuZXdUaW1lKSB7CkBAIC00MTYsMTAgKzQxMywxMCBAQCB2b2lk
IFRpbWVyQmFzZTo6ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKQogICAgIHNldE5leHRGaXJl
VGltZShtX3VuYWxpZ25lZE5leHRGaXJlVGltZSk7CiB9CiAKLWRvdWJsZSBUaW1lckJhc2U6Om5l
eHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJhc2U6Om5leHRV
bmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsK
LSAgICByZXR1cm4gc3RkOjptYXgobV91bmFsaWduZWROZXh0RmlyZVRpbWUgLSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSwgMC4wKTsKKyAgICByZXR1cm4gc3RkOjptYXgobV91bmFsaWdu
ZWROZXh0RmlyZVRpbWUgLSBNb25vdG9uaWNUaW1lOjpub3coKSwgU2Vjb25kcygwKSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IGEzNWM4
YzY3ZWUyMmI2ZWQ1ZGM4NTNiZGUyZTE5ZjNjZWRjZThmMWUuLjdjNTFiYTg3YmVkYjJmMTk1YzEw
MDRiN2MzYzQ4NWZkZDdkN2I1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisjaW5j
bHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgpAQCAt
NDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiBjbGFzcyBUaW1lckJhc2Ug
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlubGluZSBkb3VibGUgbXNUb1Nl
Y29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlvbikgeyByZXR1cm4gZHVyYXRp
b24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGluZSBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShkdXJhdGlv
biAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVGltZXJCYXNlKCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2
YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotICAgIHZvaWQg
c3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkg
eyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRlcnZhbCkpOyB9Ci0gICAgdm9p
ZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5n
KHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFy
dChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0g
ICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAw
KTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50
ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICB2b2lk
IHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLnZhbHVlKCks
IDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7
IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0YXJ0
T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBTZWNvbmRzKDApKTsg
fQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdG9wKCk7CiAgICAgYm9vbCBpc0FjdGl2ZSgp
IGNvbnN0OwogCi0gICAgZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKLSAgICBkb3Vi
bGUgbmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0OwotICAgIGRvdWJsZSByZXBlYXRJ
bnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwZWF0SW50ZXJ2YWw7IH0KLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNv
bmRzVG9NUyhyZXBlYXRJbnRlcnZhbCgpKTsgfQotCi0gICAgdm9pZCBhdWdtZW50RmlyZUludGVy
dmFsKGRvdWJsZSBkZWx0YSkgeyBzZXROZXh0RmlyZVRpbWUobV9uZXh0RmlyZVRpbWUgKyBkZWx0
YSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0K
LSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50Rmly
ZUludGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgU2Vjb25kcyBuZXh0RmlyZUludGVydmFs
KCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7
CisgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwZWF0SW50
ZXJ2YWw7IH0KIAotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkg
eyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsg
fQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0K
LSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRS
ZXBlYXRJbnRlcnZhbChkZWx0YS52YWx1ZSgpKTsgfQorICAgIHZvaWQgYXVnbWVudEZpcmVJbnRl
cnZhbChTZWNvbmRzIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJlVGltZSArIGRl
bHRhKTsgfQorICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpIHsg
YXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7IG1fcmVwZWF0SW50ZXJ2YWwgKz0gZGVsdGE7IH0K
IAogICAgIHZvaWQgZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtODgsMTcgKzc0
LDE3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCkgPSAwOwog
Ci0gICAgdmlydHVhbCBPcHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPiBhbGlnbmVk
RmlyZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcykgY29uc3QgeyByZXR1cm4gTnVsbG9w
dDsgfQorICAgIHZpcnR1YWwgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4gYWxpZ25lZEZpcmVUaW1l
KE1vbm90b25pY1RpbWUpIGNvbnN0IHsgcmV0dXJuIE51bGxvcHQ7IH0KIAogICAgIHZvaWQgY2hl
Y2tDb25zaXN0ZW5jeSgpIGNvbnN0OwogICAgIHZvaWQgY2hlY2tIZWFwSW5kZXgoKSBjb25zdDsK
IAotICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXROZXh0Rmly
ZVRpbWUoTW9ub3RvbmljVGltZSk7CiAKICAgICBib29sIGluSGVhcCgpIGNvbnN0IHsgcmV0dXJu
IG1faGVhcEluZGV4ICE9IC0xOyB9CiAKICAgICBib29sIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkg
Y29uc3Q7Ci0gICAgdm9pZCB1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpOworICAg
IHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKE1vbm90b25pY1RpbWUgb2xkVGltZSk7CiAKICAgICB2
b2lkIGhlYXBEZWNyZWFzZUtleSgpOwogICAgIHZvaWQgaGVhcERlbGV0ZSgpOwpAQCAtMTEwLDkg
Kzk2LDkgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxUaW1lckJhc2UqPiYgdGltZXJIZWFwKCkg
Y29uc3QgeyBBU1NFUlQobV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXApOyByZXR1cm4gKm1f
Y2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwOyB9CiAKLSAgICBkb3VibGUgbV9uZXh0RmlyZVRp
bWU7IC8vIDAgaWYgaW5hY3RpdmUKLSAgICBkb3VibGUgbV91bmFsaWduZWROZXh0RmlyZVRpbWU7
IC8vIG1fbmV4dEZpcmVUaW1lIG5vdCBjb25zaWRlcmluZyBhbGlnbm1lbnQgaW50ZXJ2YWwKLSAg
ICBkb3VibGUgbV9yZXBlYXRJbnRlcnZhbDsgLy8gMCBpZiBub3QgcmVwZWF0aW5nCisgICAgTW9u
b3RvbmljVGltZSBtX25leHRGaXJlVGltZTsgLy8gMCBpZiBpbmFjdGl2ZQorICAgIE1vbm90b25p
Y1RpbWUgbV91bmFsaWduZWROZXh0RmlyZVRpbWU7IC8vIG1fbmV4dEZpcmVUaW1lIG5vdCBjb25z
aWRlcmluZyBhbGlnbm1lbnQgaW50ZXJ2YWwKKyAgICBTZWNvbmRzIG1fcmVwZWF0SW50ZXJ2YWw7
IC8vIDAgaWYgbm90IHJlcGVhdGluZwogICAgIGludCBtX2hlYXBJbmRleDsgLy8gLTEgaWYgbm90
IGluIGhlYXAKICAgICB1bnNpZ25lZCBtX2hlYXBJbnNlcnRpb25PcmRlcjsgLy8gVXNlZCB0byBr
ZWVwIG9yZGVyIGFtb25nIGVxdWFsLWZpcmUtdGltZSB0aW1lcnMKICAgICBWZWN0b3I8VGltZXJC
YXNlKj4qIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwOwpAQCAtMTU5LDE4ICsxNDUsMTgg
QEAgaW5saW5lIGJvb2wgVGltZXJCYXNlOjppc0FjdGl2ZSgpIGNvbnN0CiAjZWxzZQogICAgIEFT
U0VSVChXZWJUaHJlYWRJc0N1cnJlbnQoKSB8fCBwdGhyZWFkX21haW5fbnAoKSB8fCBtX3RocmVh
ZCA9PSBjdXJyZW50VGhyZWFkKCkpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKLSAgICByZXR1
cm4gbV9uZXh0RmlyZVRpbWU7CisgICAgcmV0dXJuICEhbV9uZXh0RmlyZVRpbWU7CiB9CiAKIGNs
YXNzIERlZmVycmFibGVPbmVTaG90VGltZXIgOiBwcm90ZWN0ZWQgVGltZXJCYXNlIHsKIHB1Ymxp
YzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+Ci0gICAgRGVmZXJyYWJs
ZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwgdm9pZCAoVGltZXJGaXJlZENs
YXNzOjoqZnVuY3Rpb24pKCksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXkpCisgICAg
RGVmZXJyYWJsZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwgdm9pZCAoVGlt
ZXJGaXJlZENsYXNzOjoqZnVuY3Rpb24pKCksIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogRGVm
ZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6OmJpbmQoZnVuY3Rpb24sICZvYmplY3QpLCBkZWxheSkK
ICAgICB7CiAgICAgfQogCi0gICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6OmZ1bmN0aW9u
PHZvaWQgKCk+IGZ1bmN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5KQorICAg
IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwg
U2Vjb25kcyBkZWxheSkKICAgICAgICAgOiBtX2Z1bmN0aW9uKFdURk1vdmUoZnVuY3Rpb24pKQog
ICAgICAgICAsIG1fZGVsYXkoZGVsYXkpCiAgICAgICAgICwgbV9zaG91bGRSZXN0YXJ0V2hlblRp
bWVyRmlyZXMoZmFsc2UpCkBAIC0yMTIsNyArMTk4LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6
ZnVuY3Rpb248dm9pZCAoKT4gbV9mdW5jdGlvbjsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbV9kZWxheTsKKyAgICBTZWNvbmRzIG1fZGVsYXk7CiAgICAgYm9vbCBtX3Nob3VsZFJl
c3RhcnRXaGVuVGltZXJGaXJlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRy
YWNrZXIuY3BwCmluZGV4IGQ0ZmNmOTYxZTAxOTE0NGEyMWZmNGQzZGMwZTE4ZjlmYzkyOGUxYTcu
LjdhOWU2YTA5ZDcwYjc5OWJiNjAwZjdlZTdjMGE5MWVmYTAxOGUwOWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcApAQCAtNDAsNyArNDAsNyBAQCBWTm9kZVRyYWNr
ZXImIFZOb2RlVHJhY2tlcjo6c2luZ2xldG9uKCkKIFZOb2RlVHJhY2tlcjo6Vk5vZGVUcmFja2Vy
KCkKICAgICA6IG1fdm5vZGVDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQgZXZlbnQpIHsg
aWYgKGV2ZW50ID09IFJlZkNvdW50ZXJFdmVudDo6SW5jcmVtZW50KSBjaGVja1ByZXNzdXJlU3Rh
dGUoKTsgfSkKICAgICAsIG1fcHJlc3N1cmVXYXJuaW5nVGltZXIoKnRoaXMsICZWTm9kZVRyYWNr
ZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQpCi0gICAgLCBtX2xhc3RXYXJuaW5nVGltZShz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkKKyAgICAsIG1fbGFzdFdhcm5pbmdUaW1l
KE1vbm90b25pY1RpbWU6Om5vdygpKQogewogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCkBA
IC02MywyMSArNjMsMjIgQEAgdm9pZCBWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVy
RmlyZWQoKQogICAgIGlmIChtX3Zub2RlQ291bnRlci52YWx1ZSgpIDw9IG1fc29mdFZOb2RlTGlt
aXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGFzdFdhcm5pbmdUaW1lID0gc3RkOjpjaHJv
bm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgbV9sYXN0V2FybmluZ1RpbWUgPSBNb25vdG9u
aWNUaW1lOjpub3coKTsKICAgICB1bnNpZ25lZCB2bm9kZUNvdW50ID0gbV92bm9kZUNvdW50ZXIu
dmFsdWUoKTsKICAgICBhdXRvIGNyaXRpY2FsID0gdm5vZGVDb3VudCA+IG1faGFyZFZOb2RlTGlt
aXQgPyBDcml0aWNhbDo6WWVzIDogQ3JpdGljYWw6Ok5vOwogICAgIG1fcHJlc3N1cmVIYW5kbGVy
KGNyaXRpY2FsKTsKICAgICBMT0coTWVtb3J5UHJlc3N1cmUsICJ2bm9kZSBwcmVzc3VyZSBoYW5k
bGVyIGZyZWVkICVsdSB2bm9kZXMgb3V0IG9mICV1IChjcml0aWNhbCBwcmVzc3VyZTogJXMpIiwg
dm5vZGVDb3VudCAtIG1fdm5vZGVDb3VudGVyLnZhbHVlKCksIHZub2RlQ291bnQsIGNyaXRpY2Fs
ID09IENyaXRpY2FsOjpZZXMgPyAiWWVzIiA6ICJObyIpOwogfQogCi1zdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29u
c3QKK1NlY29uZHMgVk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBj
b25zdAogewogICAgIC8vIFdlIHJ1biB0aGUgdm5vZGUgcHJlc3N1cmUgaGFuZGxlciBldmVyeSAz
MCBzZWNvbmRzIGF0IG1vc3QuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gbWluaW11bVdhcm5pbmdJ
bnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMzAgfTsKLSAgICBhdXRvIHRpbWVTaW5j
ZUxhc3RXYXJuaW5nID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX2xhc3RX
YXJuaW5nVGltZTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtV2FybmluZ0ludGVy
dmFsID0gU2Vjb25kcygzMCk7CisgICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IE1vbm90
b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CiAgICAgaWYgKHRpbWVTaW5jZUxh
c3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZhbCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6
Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KG1pbmltdW1X
YXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2FybmluZyk7Ci0gICAgcmV0dXJuIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBtaW5pbXVtV2Fybmlu
Z0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7CisKKyAgICByZXR1cm4gU2Vjb25kcygw
KTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVU
cmFja2VyLmgKaW5kZXggMWIwMTEwZTgzZTdhMTZkYTk2NDgwMTMwODVhYmZlMTgyNjBmNGEyNC4u
MDRmYjM3OTVkNjVjNzg3NTI5M2I5YzdiZGRmMzg3MDE1M2VhMWYxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgY2hlY2tQcmVzc3VyZVN0YXRlKCk7CiAgICAgdm9pZCBwcmVzc3VyZVdhcm5pbmdUaW1l
ckZpcmVkKCk7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBuZXh0UHJlc3N1cmVXYXJu
aW5nSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRQcmVzc3VyZVdhcm5pbmdJbnRl
cnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKIApAQCAtNjIs
NyArNjIsNyBAQCBwcml2YXRlOgogICAgIFByZXNzdXJlSGFuZGxlciBtX3ByZXNzdXJlSGFuZGxl
cjsKICAgICBWTm9kZUNvdW50ZXIgbV92bm9kZUNvdW50ZXI7CiAgICAgVGltZXIgbV9wcmVzc3Vy
ZVdhcm5pbmdUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50
IG1fbGFzdFdhcm5pbmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0V2FybmluZ1RpbWU7
CiB9OwogCiBpbmxpbmUgdm9pZCBWTm9kZVRyYWNrZXI6OnNldFByZXNzdXJlSGFuZGxlcihQcmVz
c3VyZUhhbmRsZXIgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCAxNjc2NjlhMjA2MDg0OGNjNjgx
MmNmNDZlNDc3ODY1OThlMTE0M2U4Li4wNzk1MTBmMWE5MjJjMDY1ZjYzYTBjN2ExY2U4NDJjYmU1
MWZhYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURl
bGF5ID0gMC4xOworY29uc3QgU2Vjb25kcyBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0
bGVEZWxheSA9IFNlY29uZHMoMC4xKTsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBjb25z
dCBjaGFyKiBzdGF0ZU5hbWUoUGxhdGZvcm1NZWRpYVNlc3Npb246OlN0YXRlIHN0YXRlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5k
ZXggY2Q2ZmRiZTIwOTdiYmE1NzQ0ZDgxZmE4OGU0NzA5NGFjYTI2MjcwYy4uODA5OGNmODlhY2Qw
MjEwZGZhOTA0MTZiYmFlZjFlMDhlNThmMjIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCkBAIC03Niw3ICs3Niw3IEBAIHN0YXRp
YyBjb25zdCBmbG9hdCBydWJiZXJiYW5kTWluaW11bVJlcXVpcmVkRGVsdGFCZWZvcmVTdHJldGNo
ID0gMTA7CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9STShNQUMpCiBz
dGF0aWMgY29uc3QgZmxvYXQgaW5lcnRpYWxTY3JvbGxQcmVkaWN0aW9uRmFjdG9yID0gMTYuNzsK
LXN0YXRpYyBjb25zdCBkb3VibGUgc3RhdGVsZXNzU2Nyb2xsU25hcERlbGF5ID0gMC41Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgc3RhdGVsZXNzU2Nyb2xsU25hcERlbGF5ID0gU2Vjb25kcygwLjUp
OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkBAIC00MjEsNyArNDIxLDcgQEAgYm9vbCBT
Y3JvbGxDb250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIHZvaWQgU2Ny
b2xsQ29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCkKIHsKICAgICBtX2NsaWVu
dC5zdGFydFNuYXBSdWJiZXJiYW5kVGltZXIoKTsKLSAgICBtX3NuYXBSdWJiZXJiYW5kVGltZXIu
c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIAogICAgIG1fY2xpZW50LmRlZmVyVGVz
dHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9s
bGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6UnViYmVy
YmFuZEluUHJvZ3Jlc3MpOwogfQpAQCAtNjM0LDcgKzYzNCw3IEBAIHZvaWQgU2Nyb2xsQ29udHJv
bGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIoKQogewogICAgIGlmICghbV9zY3JvbGxTbmFwVGlt
ZXIuaXNBY3RpdmUoKSkgewogICAgICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigp
OwotICAgICAgICBtX3Njcm9sbFNuYXBUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsK
KyAgICAgICAgbV9zY3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAgLyA2
MCkpOwogICAgIH0KIAogICAgIGlmICghbV9zY3JvbGxTbmFwVGltZXIuaXNBY3RpdmUoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRy
b2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFk
L2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IDZhNTNmMTIyOTIx
OWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlkOTAuLjgzYTA3MTMwMTNjN2M2NDBiZDQ2ZWZjM2Nk
NjMyYTUxMTU4NzljMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVw
YWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRl
ci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUwoR2FtZUNv
bnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERpc2Nvbm5lY3ROb3RpZmljYXRpbwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIElu
cHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1zOworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXRO
b3RpZmljYXRpb25EZWxheSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoMTYpOwogCiBHYW1l
Q29udHJvbGxlckdhbWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6
OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlhMDUwZDE4YWE4
NzA4OWU5NThlODEyMTRlMWNkZmIxNGViLi4zOTdmNDY3ODllNTMyYmFlZDhkY2Y0Yzc0ZDkzNTJh
ZGQ2N2RhNGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21h
Yy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dh
bWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25EZWxheUlu
dGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5
ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUludGVydmFsID0g
U2Vjb25kcygwLjUpOworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxh
eSA9IFNlY29uZHMoMC4wNSk7CiAKIHN0YXRpYyBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBk
ZXZpY2VNYXRjaGluZ0RpY3Rpb25hcnkodWludDMyX3QgdXNhZ2VQYWdlLCB1aW50MzJfdCB1c2Fn
ZSkKIHsKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNl
QWRkZWQoSU9ISUREZXZpY2VSZWYgZGV2aWNlKQogICAgICAgICAvLyBhbmQgd2UgZG9uJ3Qgd2Fu
dCB0byB0ZWxsIHRoZSBjbGllbnQgYWJvdXQgYW55IG9mIHRoZW0uCiAgICAgICAgIC8vIFRoZSBt
X2Nvbm5lY3Rpb25EZWxheVRpbWVyIGZpcmVzIGluIGEgc3Vic2VxdWVudCBzcGluIG9mIHRoZSBy
dW5sb29wIGFmdGVyIHdoaWNoCiAgICAgICAgIC8vIGFueSBjb25uZWN0aW9uIGV2ZW50cyBhcmUg
YWN0dWFsIG5ldyBkZXZpY2VzLgotICAgICAgICBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAKICAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAgd2FzIGFkZGVk
IHdoaWxlIHN1cHByZXNzaW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUgYW4gJ2FscmVh
ZHkgY29ubmVjdGVkJyBldmVudCIsIGRldmljZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCAzZGJhNTYyM2JhZGZiYmNkYzg4
MjJlMzdiZmQyZGRkZTc2NDFkNTdjLi44NGZlNTY0M2M3MDBjMjc5N2FjNTYxYmZiZTQ4M2MwZjVl
NWE1NDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuY3BwCkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6Y2xlYXJUaW1l
cigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9pZCBCaXRtYXBJbWFnZTo6
c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdlOjpzdGFydFRpbWVyKFNl
Y29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwogICAgIG1fZnJhbWVU
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24pOwpAQCAtMjg1LDcgKzI4NSw3IEBAIEJpdG1hcEltYWdlOjpTdGFydEFuaW1h
dGlvblJlc3VsdCBCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1hdGlvbigpCiAgICAgfQog
CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwotICAgIHN0YXJ0VGltZXIobV9kZXNpcmVkRnJh
bWVTdGFydFRpbWUgLSB0aW1lKTsKKyAgICBzdGFydFRpbWVyKFNlY29uZHMobV9kZXNpcmVkRnJh
bWVTdGFydFRpbWUgLSB0aW1lKSk7CiAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0aW9uUmVzdWx0OjpT
dGFydGVkOwogfQogCkBAIC0yOTksNyArMjk5LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5j
ZUFuaW1hdGlvbigpCiAgICAgICAgIGRvdWJsZSB0aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CiAgICAgICAgIC8vIFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRp
bWUgZnJvbSBub3cgdGlsbCB0aGUgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgogICAgICAgICBp
ZiAobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1f
ZGVzaXJlZEZyYW1lU3RhcnRUaW1lKSkgewotICAgICAgICAgICAgc3RhcnRUaW1lcihtX2Rlc2ly
ZWRGcmFtZURlY29kZVRpbWVGb3JUZXN0aW5nIC0gdGltZSk7CisgICAgICAgICAgICBzdGFydFRp
bWVyKFNlY29uZHMobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IDg5MDMyZGNhNGIxYjUyNDhk
NGQ3OTRjOWVkMzU0N2M1ODA2MDUyYzMuLmU1YzkyYzQ2MDg4M2QyNjYzNzhmZDE1OWJlMmU0NzBj
N2EzOGI3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuaApAQCAtMTg1LDcgKzE4NSw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2
b2lkIGNsZWFyVGltZXIoKTsKLSAgICB2b2lkIHN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KTsKKyAg
ICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAgICAgYm9vbCBpc0JpdG1hcEltYWdl
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcChUZXh0U3Ry
ZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDAzYTc4ZTdhZmE4ZTQxZTVlZTQ1OWNmMTVkYzdmYWUw
NmM2MWI2MGMuLjU3MWQ0ODEyYTIzZGU5MGI0MWUzMTgwMTdhMWJlNGRiNzNhOGY1YTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcApAQCAtMzI5
LDcgKzMyOSw3IEBAIGNvbnN0IHVuc2lnbmVkIGNUYXJnZXRVbmRlck1lbW9yeVByZXNzdXJlSW5h
Y3RpdmVGb250RGF0YSA9IDMwOwogUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6Zm9udEZvckZhbWls
eShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbWljU3Ry
aW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMs
IGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBib29s
IGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKIHsKICAgICBpZiAoIW1fcHVyZ2VUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBtcyk7CisgICAgICAgIG1f
cHVyZ2VUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAKICAgICBGb250UGxhdGZvcm1E
YXRhKiBwbGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlw
dGlvbiwgZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywg
Y2hlY2tpbmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFh
Mjc1OTIwNi4uZDZjMTNlZTA4MjM2MzFkYjgyMGY5MTVmOTk2YjQ3YWM3ZDQ3MjM2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5YmFja1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEu
MCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSBT
ZWNvbmRzKDEuMCAvIDEwKTsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlcihDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAK
aW5kZXggMGRjODhjN2Q5MzRkMTRhM2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4uODEwMWJhYjQ4
NDAwNWZmNmM1YWY3OWMzYWFmYzRiZWUxMzQ2ZmEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAg
dm9pZCBNZWRpYVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0
ZS0+bmV0d29ya1N0YXRlKCkgPj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRl
KCkgPCBIYXZlTWV0YWRhdGEpIHsKICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5ZXJFbmdpbmVG
YWlsZWRUb0xvYWQoKTsKICAgICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUo
KSA+IDEgJiYgKG1fY29udGVudE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5n
aW5lKG1fY3VycmVudE1lZGlhRW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCmluZGV4IDUy
M2IzYWY1ZDdiZTc3ZmExZGU3NjllOGRjMTMwNzZkNWYzYzIxM2YuLjVmZDc2NDdiZDdmYjE1NWIw
ZWIzMTAwNTBlNTkwYWYzOWEwOTkwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGljOgogICAg
ICAgICBpZiAobV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBtX3B1cmdlVGlt
ZXIuc3RvcCgpOwogCi0gICAgICAgIGNvbnN0IGRvdWJsZSBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRl
cnZhbCA9IDI7CisgICAgICAgIGNvbnN0IFNlY29uZHMgc2NyYXRjaEJ1ZmZlclB1cmdlSW50ZXJ2
YWwgPSBTZWNvbmRzKDIpOwogICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KHNjcmF0
Y2hCdWZmZXJQdXJnZUludGVydmFsKTsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KaW5kZXggNmVlOGJjNGVmYjMxN2FiZjE2
NjM0YTRjMjkzNTRlYjg1YzQ5YWU2ZC4uZTJlNTM4MDQ4ZTU5NDgxNDRmNmZhZDBjM2YyYzZiNjJj
MTNhMjBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZG
T2JqQy5tbQpAQCAtMTY2LDcgKzE2Niw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9i
akM6OnVwZGF0ZU9wdGlvbnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGNoYXJhY3RlcmlzCiAKICAg
ICBBU1NFUlQobV9vcHRpb25zLmNvbnRhaW5zKHByZWZlcnJlZE9wdGlvbikpOwogICAgIG1fc2Vs
ZWN0ZWRPcHRpb24gPSBtX29wdGlvbnMuZ2V0KHByZWZlcnJlZE9wdGlvbik7Ci0gICAgbV9zZWxl
Y3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6
OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyogb3B0aW9uKQpA
QCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNl
bGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoKICAgICBtX3NlbGVjdGVk
T3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZWxlY3Rpb25UaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCBmZjI5OTRmYmE2NGE3OTg2
MzYzZDI4M2VkNGY1MjhkZDhlMTM2NTYxLi42ODljNmZlMzY0MWE0ZmRiNDgyNGI3NmMwZTMwOTVl
YjE3NmYxNjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0yMjgsNyArMjI4LDcg
QEAgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnN1cHBvcnRzVHlwZShjb24KICAgICAgICAgb3V0cHV0Q29kZWNzID0gW2dldEFW
U3RyZWFtRGF0YVBhcnNlckNsYXNzKCkgb3V0cHV0TUlNRUNvZGVjUGFyYW1ldGVyRm9ySW5wdXRN
SU1FQ29kZWNQYXJhbWV0ZXI6b3V0cHV0Q29kZWNzXTsKIAogICAgIE5TU3RyaW5nICp0eXBlU3Ry
aW5nID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQDsgY29kZWNzPVwiJUBcIiIsIChO
U1N0cmluZyAqKXBhcmFtZXRlcnMudHlwZSwgKE5TU3RyaW5nICopb3V0cHV0Q29kZWNzXTsKLSAg
ICByZXR1cm4gW2dldEFWVVJMQXNzZXRDbGFzcygpIGlzUGxheWFibGVFeHRlbmRlZE1JTUVUeXBl
OnR5cGVTdHJpbmddID8gTWVkaWFQbGF5ZXI6OklzU3VwcG9ydGVkIDogTWVkaWFQbGF5ZXI6Ok1h
eUJlU3VwcG9ydGVkOzsKKyAgICByZXR1cm4gW2dldEFWVVJMQXNzZXRDbGFzcygpIGlzUGxheWFi
bGVFeHRlbmRlZE1JTUVUeXBlOnR5cGVTdHJpbmddID8gTWVkaWFQbGF5ZXI6OklzU3VwcG9ydGVk
IDogTWVkaWFQbGF5ZXI6Ok1heUJlU3VwcG9ydGVkOwogfQogCiAjcHJhZ21hIG1hcmsgLQpAQCAt
Mzk2LDcgKzM5Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzZWVrV2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmIHRpCiAKICAgICBpZiAobV9zZWVr
VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9zZWVrVGltZXIuc3RvcCgpOwotICAgIG1fc2Vl
a1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlZWtUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzZWVrSW50ZXJuYWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvTGF5ZXJQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL0xheWVyUG9vbC5jcHAKaW5kZXggMGNmN2Y3N2U2MTFhZDJiZDRlYjA3MjM1MDAxOGFkYzRi
Y2RiODQ1Zi4uMTk1NmY2ODVhOTZlYTgzMDM4ODRlOWY0YzU0YjIwNDA3NWFiNGU0ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCkBA
IC0xMTAsNyArMTEwLDcgQEAgdm9pZCBMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUoKQogewogICAg
IGlmIChtX3BydW5lVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fcHJ1
bmVUaW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzKDEpKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxl
ci5jcHAKaW5kZXggNDEzMmIwNDg2YTNhODdkMmVmM2EzNzg4YTI3OTliNjE0YjNhMWUyYy4uZmFl
YmM2NjU1MjliNThmNGI2Yzk3NjM2MDkwODc0MjA0OTA3MDEwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAt
NDksNyArNDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRv
IHRpbGVTaXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07
CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gU2Vjb25kcygwLjUp
OwogCiBTdHJpbmcgVGlsZUNvbnRyb2xsZXI6OnRpbGVHcmlkQ29udGFpbmVyTGF5ZXJOYW1lKCkK
IHsKQEAgLTI2Niw3ICsyNjYsNyBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRJc0luV2luZG93
KGJvb2wgaXNJbldpbmRvdykKICAgICBpZiAobV9pc0luV2luZG93KQogICAgICAgICBzZXROZWVk
c1JldmFsaWRhdGVUaWxlcygpOwogICAgIGVsc2UgewotICAgICAgICBjb25zdCBkb3VibGUgdGls
ZVJldmFsaWRhdGlvblRpbWVvdXQgPSA0OworICAgICAgICBjb25zdCBTZWNvbmRzIHRpbGVSZXZh
bGlkYXRpb25UaW1lb3V0ID0gU2Vjb25kcyg0KTsKICAgICAgICAgc2NoZWR1bGVUaWxlUmV2YWxp
ZGF0aW9uKHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0KTsKICAgICB9CiB9CkBAIC00NTYsNyArNDU2
LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChGbG9hdFJl
Y3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXQKICNlbmRpZgogfQogCi12b2lkIFRpbGVDb250
cm9sbGVyOjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24oZG91YmxlIGludGVydmFsKQordm9pZCBU
aWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV90aWxl
UmV2YWxpZGF0aW9uVGltZXIubmV4dEZpcmVJbnRlcnZhbCgpIDwgaW50ZXJ2YWwpCiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlQ29udHJvbGxlci5oCmluZGV4IGMzZWU0MWUwNmJkODgyMDAzMWVkMjkyMTI4NjE1ZmU3OWQ5
MzNhYzguLjZkOGMyMGM0NWEzNGY0ZTcyMGJjN2NlYTA5MjU5NThiZTAxNGFiNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIu
aApAQCAtMTM0LDcgKzEzNCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgVGlsZUdyaWQmIHRp
bGVHcmlkKCkgeyByZXR1cm4gKm1fdGlsZUdyaWQ7IH0KIAotICAgIHZvaWQgc2NoZWR1bGVUaWxl
UmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCk7CisgICAgdm9pZCBzY2hlZHVsZVRpbGVSZXZh
bGlkYXRpb24oU2Vjb25kcyBpbnRlcnZhbCk7CiAKICAgICBib29sIGlzSW5XaW5kb3coKSBjb25z
dCB7IHJldHVybiBtX2lzSW5XaW5kb3c7IH0KICAgICBmbG9hdCB0b3BDb250ZW50SW5zZXQoKSBj
b25zdCB7IHJldHVybiBtX3RvcENvbnRlbnRJbnNldDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKaW5kZXggNzky
Mzk2N2VmNTc1ZmFkMWJiMzJmMWFmMDNjOTg5OGZmYmIxNzE1Yy4uODhkYjcxMGIyZjliY2MyNzk3
MGVhYzBhN2Q5M2VmZGI2NWI3MDQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCkBAIC03OSw3ICs3OSw3IEBA
IFRpbGVDb3ZlcmFnZU1hcDo6flRpbGVDb3ZlcmFnZU1hcCgpCiB2b2lkIFRpbGVDb3ZlcmFnZU1h
cDo6c2V0TmVlZHNVcGRhdGUoKQogewogICAgIGlmICghbV91cGRhdGVUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRh
dGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdl
TWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCAyOGYyOWNiZGU4ZTIxZjcxODAxYjg4NjIyNzk1
NjFlZjkyMmZhMWMxLi4zMmIwZWFkMjgyZjQ1NjJiNGQxYmRiYWNlMDBkZDFhNTRlMTJhOGE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3Bw
CkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVW
YWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgVGlsZUNvaG9ydCBjdXJyQ29o
b3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAgICB1bnNpZ25lZCB0aWxlc0luQ29ob3J0ID0gMDsK
IAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CisgICAgU2Vjb25kcyBtaW5pbXVtUmV2YWxpZGF0
aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgYm9vbCBuZWVkc1Rp
bGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAgICAKICAgICBhdXRvIHRpbGVTaXplID0gbV9jb250
cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEsOCArMzgxLDggQEAgdm9pZCBUaWxlR3JpZDo6cmV2
YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAg
ICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hvcnQgOiBtX2NvaG9ydExpc3QpIHsKICAgICAgICAg
ICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hvcnQgIT0gdGlsZUluZm8uY29ob3J0KQogICAgICAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0
aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29ob3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKHRpbWVVbnRpbENvaG9ydEV4cGlyZXMgPiAwKSB7CisgICAg
ICAgICAgICAgICAgICAgIFNlY29uZHMgdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50
aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0aW1lVW50aWxD
b2hvcnRFeHBpcmVzID4gU2Vjb25kcygwKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgbWlu
aW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBzdGQ6Om1pbihtaW5pbXVtUmV2YWxpZGF0
aW9uVGltZXJEdXJhdGlvbiwgdGltZVVudGlsQ29ob3J0RXhwaXJlcyk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSB0cnVlOwogICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UKQEAgLTQ3OCw3ICs0NzgsNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxl
R3JpZDo6bmV4dFRpbGVDb2hvcnQoKSBjb25zdAogCiB2b2lkIFRpbGVHcmlkOjpzdGFydGVkTmV3
Q29ob3J0KFRpbGVDb2hvcnQgY29ob3J0KQogewotICAgIG1fY29ob3J0TGlzdC5hcHBlbmQoVGls
ZUNvaG9ydEluZm8oY29ob3J0LCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkpOworICAg
IG1fY29ob3J0TGlzdC5hcHBlbmQoVGlsZUNvaG9ydEluZm8oY29ob3J0LCBNb25vdG9uaWNUaW1l
Ojpub3coKSkpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAoIW1fY29udHJvbGxlci5pc0lu
V2luZG93KCkpCiAgICAgICAgIHRpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcigpLnRpbGVDb250
cm9sbGVyR2FpbmVkVW5wYXJlbnRlZFRpbGVzKCZtX2NvbnRyb2xsZXIpOwpAQCAtNDk3LDE3ICs0
OTcsMTcgQEAgVGlsZUdyaWQ6OlRpbGVDb2hvcnQgVGlsZUdyaWQ6Om9sZGVzdFRpbGVDb2hvcnQo
KSBjb25zdAogCiB2b2lkIFRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwoKQogewotICAg
IGNvbnN0IGRvdWJsZSBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzID0gMTsKKyAgICBjb25zdCBT
ZWNvbmRzIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgPSBTZWNvbmRzKDEpOwogCiAgICAgLy8g
U3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5vdyBpZiBpdCdz
IGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29ob3J0UmVt
b3ZhbFRpbWVyU2Vjb25kcyk7CiB9CiAKLWRvdWJsZSBUaWxlR3JpZDo6VGlsZUNvaG9ydEluZm86
OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3JpZDo6VGlsZUNvaG9ydEluZm86
OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBjb2hvcnRMaWZlVGltZVNlY29u
ZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAgY29uc3QgU2Vjb25kcyBjb2hv
cnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3RvbmljVGltZSB0aW1lVGhyZXNob2xk
ID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGltZTsKICAgICByZXR1cm4gY3Jl
YXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4LDcgKzUxOCw3IEBAIHZvaWQg
VGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2NvaG9ydExpc3Qu
Zmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7CisgICAgd2hpbGUgKCFtX2NvaG9y
dExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgpLnRpbWVVbnRpbEV4cGlyYXRp
b24oKSA8IFNlY29uZHMoMCkpIHsKICAgICAgICAgVGlsZUNvaG9ydEluZm8gZmlyc3RDb2hvcnQg
PSBtX2NvaG9ydExpc3QudGFrZUZpcnN0KCk7CiAgICAgICAgIHJlbW92ZVRpbGVzSW5Db2hvcnQo
Zmlyc3RDb2hvcnQuY29ob3J0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUdyaWQuaAppbmRleCAzMjUzMzZmODE5MWU0NTgyM2M3NTVkODc4MmM0
MmFhMGRlNTc2NTFkLi40MjY5Mzc3NGJhNGYxYzVhYjRjZDM0ZTI4YTMyN2ZlZTk4YWUwYzRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKQEAg
LTEyMSwxMyArMTIxLDEzIEBAIHByaXZhdGU6CiAKICAgICBzdHJ1Y3QgVGlsZUNvaG9ydEluZm8g
ewogICAgICAgICBUaWxlQ29ob3J0IGNvaG9ydDsKLSAgICAgICAgZG91YmxlIGNyZWF0aW9uVGlt
ZTsgLy8gaW4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkuCi0gICAgICAgIFRpbGVDb2hv
cnRJbmZvKFRpbGVDb2hvcnQgaW5Db2hvcnQsIGRvdWJsZSBpblRpbWUpCisgICAgICAgIE1vbm90
b25pY1RpbWUgY3JlYXRpb25UaW1lOworICAgICAgICBUaWxlQ29ob3J0SW5mbyhUaWxlQ29ob3J0
IGluQ29ob3J0LCBNb25vdG9uaWNUaW1lIGluVGltZSkKICAgICAgICAgICAgIDogY29ob3J0KGlu
Q29ob3J0KQogICAgICAgICAgICAgLCBjcmVhdGlvblRpbWUoaW5UaW1lKQogICAgICAgICB7IH0K
IAotICAgICAgICBkb3VibGUgdGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAgICBTZWNvbmRz
IHRpbWVVbnRpbEV4cGlyYXRpb24oKTsKICAgICB9OwogCiAgICAgdm9pZCByZW1vdmVBbGxUaWxl
cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9T
dXJmYWNlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1
cmZhY2VQb29sLmNwcAppbmRleCBiODFkNThlNjNkMThiMjZhZjRkYjE0ZmE1YzNhOGEwZmUwYmZm
MTQ4Li4zMmYyMjU3NTI1YWFjMjRlOTU2YWI4ZmQzYjQxODVhNjA5ZWU3ZjgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNw
cApAQCAtMzMsOCArMzMsOCBAQAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KIAotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBjb2xsZWN0
aW9uSW50ZXJ2YWwgPSA1MDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN1cmZhY2VB
Z2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxlID0gMnM7Citjb25zdCBTZWNvbmRzIGNvbGxlY3Rpb25J
bnRlcnZhbCA9IFNlY29uZHMoMC41KTsKK2NvbnN0IFNlY29uZHMgc3VyZmFjZUFnZUJlZm9yZU1h
cmtpbmdQdXJnZWFibGUgPSBTZWNvbmRzKDIpOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVt
Qnl0ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBt
b3JlIHRoYW4gMS8yIG9mIHRoZSBjYWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFj
ZXMsIGJlY2F1c2UKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxl
Y3RJblVzZVN1cmZhY2VzKCkKIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQ
dXJnZWFibGUoKQogewogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1
dG8gbWFya1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRv
IG1hcmtUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZh
Y2VBbmREZXRhaWxzIDogbV9zdXJmYWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFu
ZERldGFpbHMudmFsdWUuaGFzTWFya2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3
YzU0Njk2ZDdiNWI1NjM5NWYzZjNlMmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgy
MDA2ZWJjOTRmZTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgIDogaGFzTWFya2VkUHVyZ2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAg
ICB2b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6bm93KCk7IH0KKyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBs
YXN0VXNlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJv
bm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3Rv
bmljVGltZSBsYXN0VXNlVGltZTsKICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
U3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0
MDhiNGU4MzYzZjQ4ZTNlZDIzMGZmZDc2Li5jMTI3NjA4OTM3M2E3ZTQzODEwZTQ0OGNiYzUxODVl
ZTY5MTY5ZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2Fj
aGVDbGVhckRlbGF5ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IFNlY29uZHMoMSk7CiBzdGF0aWMgY29u
c3QgaW50IG1heFN1YmltYWdlQ2FjaGVTaXplID0gMzAwOwogCiBzdHJ1Y3QgU3ViaW1hZ2VSZXF1
ZXN0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9N
ZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5NjhhMmQ4OGI2NTFiY2Ji
MjMwNjIyNzEzM2RmNTYwYzFlZjJmYjRmLi5kZTY0NDAyOTg5ZTc4MGQ4NTBjZmUwMzg5MWQwOTRm
NTcyMDBiNjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayhjb25zdCBNZWRpYVRpbWUm
IGluVGltZSkKICAgICBpZiAobWF4TWVkaWFUaW1lU2Vla2FibGUoKSA+PSBtX3NlZWtUbykKICAg
ICAgICAgZG9TZWVrKCk7CiAgICAgZWxzZSAKLSAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMCwg
MC41Zik7CisgICAgICAgIG1fc2Vla1RpbWVyLnN0YXJ0KFNlY29uZHMoMCksIFNlY29uZHMoMC41
KSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmRvU2VlaygpIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggYjBiN2Jm
ZGEyZGI4MWVlZjc0MWNmNjY0M2MxMGY4MGVmN2QyOWVmMy4uOTcyMjgyODdiZDYxYTRiNTkyMTgy
ZjNmNWM3ZGQ3YjFkOTRjMzc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUNhY2hlLm1tCkBAIC00MjAsNyArNDIwLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2Fj
aGU6OmZpbmlzaGVkQ3JlYXRpbmdUaWxlcyhib29sIGRpZENyZWF0ZVRpbGVzLCBib29sIGNyZWF0
ZU1vcmUKIAogICAgIC8vIEtlZXAgY3JlYXRpbmcgdGlsZXMgdW50aWwgdGhlIHdob2xlIGNvdmVy
UmVjdCBpcyBjb3ZlcmVkLgogICAgIGlmIChjcmVhdGVNb3JlKQotICAgICAgICBtX3RpbGVDcmVh
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjp0aWxl
Q3JlYXRpb25UaW1lckZpcmVkKCkKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIExlZ2FjeVRpbGVD
YWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKICAg
ICAgICAgcmV0dXJuOwogICAgIG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQgPSBl
bmFibGVkOwogICAgIGlmIChtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKQotICAg
ICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxl
Q3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJvb2wgTGVnYWN5
VGlsZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1NmQ0MDYwN2Y1NjNhNmNlNTk4
ZTI5YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBmYzBmZmY2OGQ1M2Q0MzQ3YTA3
NGIxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJU
aGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVt
ZUlPUy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIHN1cHBvcnRz
Q29udHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgZG91
YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBh
dXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25z
UGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUyMGJlZjU0OGY1NDAyMDNhOWE2
YTNjNzc3ZDgxNmRhYTUwOTkwLi41YjAwNWM1MDExMzYzYWNiOWJlOGVhYTdmYmUyZWZjOGEyMzBj
MzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhl
bWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1l
SU9TLm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJhclRoZW1lSU9TOjpzY3JvbGxi
YXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWRv
dWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1Nl
Y29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKLWRvdWJsZSBTY3Jv
bGxiYXJUaGVtZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJU
aGVtZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJl
dHVybiBTZWNvbmRzKDApOwogfQogICAgIAogU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBTY3Jv
bGxiYXJUaGVtZUlPUzo6YnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQubW0KaW5kZXggY2M2MmUzYTg4NGFlZjI5NTE5N2UyYmI3NmJiMGZhN2VjMzA3MGJh
MS4uNDZjYzAxMGVhNjM4NDkyMjJkYzA5YTEzYjkxY2JjYTVmMWZkNDNiMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29uc3QgY2hhciog
Ym9vbFN0cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1zdGF0aWMgY29uc3QgZG91YmxlIERl
ZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVm
YXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMSk7CiAKIEBjbGFzcyBXZWJBVk1l
ZGlhU2VsZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKFdl
YlZpZGVvRnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVlbk1v
ZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAg
ICBpZiAoIW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGlt
ZXIuc3RhcnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBt
X3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwp
OwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IGFjN2Y0ZmQ0YTk4NGRjMzFkZGQ0ZmM4MGIx
NjkzNDE1MTkwMjUwOTUuLjRmMjkxYTg3Y2JlZmVmYmVhMWM3ZWQ4ZDRkZDExZDdjMzIyODdmYjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMu
bW0KQEAgLTEzMzgsNyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNj
cm9sbGVyU3R5bGUoKQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBh
aW50VGltZXIoKQogewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVT
aG90KDAuMSk7CisgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwLjEpKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFp
bnRUaW1lcklzQWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xs
QW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUm
IGRlbHRhKQogICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0
YTsKIAogICAgIGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiAKICAgICBpZiAobV93aGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAgICAgICAgIG1f
d2hlZWxFdmVudFRlc3RUcmlnZ2VyLT5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nh
c3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMp
LCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OkNvbnRlbnRTY3JvbGxJblByb2dyZXNzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKaW5kZXggYTcy
ODI5OGM4ZWJiNWM1NTU0N2Q2ZDNjYmQ4ZDVlMTQ3NDBhNGU4Yy4uN2VhYTkxMWJiOTJiMDhmMDFi
N2Q5OTI2NmQwMTNhNDc2YzdkZDViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKQEAgLTQ4LDggKzQ4LDggQEAgcHVibGljOgogICAgIHZv
aWQgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgdXBk
YXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYpICBvdmVycmlkZTsKIAotICAgIGRv
dWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUg
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRv
c2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9u
c1BsYWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KaW5kZXggYjJlMTYxOGMwMzJmYjdjNjVmMWZl
MTkxN2YyMDRlMjk2NzRjMzg5Zi4uZjljZDA1NzhhYWRiOTdhODE0MDFiYmY5MTc0MGNhNmIzNDJl
YzM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRo
ZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVt
ZU1hYy5tbQpAQCAtMTMwLDggKzEzMCw4IEBAIHN0YXRpYyBjb25zdCBpbnQgY0J1dHRvbkxlbmd0
aFtdID0geyAxNCwgMTAgfTsKIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9uTGVuZ3RoW10g
PSB7IDE2LCAxNCB9OyAvLyBUaGUgb3V0ZXIgYnV0dG9uIGluIGEgZG91YmxlIGJ1dHRvbiBwYWly
IGlzIGEgYml0IGJpZ2dlci4KIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9uT3ZlcmxhcCA9
IDI7CiAKLXN0YXRpYyBmbG9hdCBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41ZjsKLXN0YXRpYyBm
bG9hdCBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gMC4wNWY7CitzdGF0aWMgU2Vjb25kcyBnSW5p
dGlhbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcygwLjUpOworc3RhdGljIFNlY29uZHMgZ0F1dG9zY3Jv
bGxCdXR0b25EZWxheSA9IFNlY29uZHMoMC4wNSk7CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tD
bGljayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNl
OwogCkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5j
ZXNDaGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwogICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07
Ci0gICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Ny
b2xsZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVs
dHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxC
dXR0b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1
dHRvbkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZh
dWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBP
blRyYWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdC
ZWhhdmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Nyb2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3
NywxMiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92
ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENF
UFRJT05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xs
VGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9s
bFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBnSW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1k
b3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMg
U2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4g
Z0F1dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAppbmRleCBh
ZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhkNjEwMWMyLi40MmYwM2NkNTA0NjhiYmI5
Y2YxYzRhM2Y3ZjRkZjE5ODNjYzJjZGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCkBAIC01
OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjpzZXRPcmllbnRh
dGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0CiB7CiAgICAgbV9vcmllbnRhdGlv
biA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50TW9jazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCmluZGV4IDFh
NjBjYTI0YmJjNjA5NmI3YTk1ZTIxMDY2MDQ5NTEyZmUyZjI1NWIuLjlmM2UxZTg2NzVhMzQ1YjM4
OGI0NDAxNjFkNTcyMGZkY2QwZWIwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCkBA
IC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGltZXJJbnRlcnZhbCA9IDEuMCAvIDEwLjA7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gU2Vjb25kcygxLjAgLyAxMCk7
CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyTW9jayhNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpDbGllbnQmIGNsaWVudCkKICAgICA6
IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcAppbmRleCA2MGJiMDE4MWFlOGNk
M2I3N2I4OWVkZjQ5YTM2NTM4NGYyZTBkZTU5Li4yNzg2ZDQ2ZWVlZTZhYjg4OTk1YWZkY2Y2YWMx
YWU5NzA0ZDE0NmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tNZWRpYUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tNZWRpYUVuZHBvaW50LmNwcApAQCAtMjQ1LDcgKzI0NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIg
dG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2Zh
a2VJY2VDYW5kaWRhdGVzLnJldmVyc2UoKTsKIAotICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29u
ZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VDYW5kaWRhdGVUaW1lckZp
cmVkKCkKQEAgLTI1NSw3ICsyNTUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VDYW5k
aWRhdGVUaW1lckZpcmVkKCkKIAogICAgIGlmICghbV9mYWtlSWNlQ2FuZGlkYXRlcy5pc0VtcHR5
KCkpIHsKICAgICAgICAgbV9jbGllbnQuZ290SWNlQ2FuZGlkYXRlKG1fbWlkc1swXSwgbV9mYWtl
SWNlQ2FuZGlkYXRlcy50YWtlTGFzdCgpKTsKLSAgICAgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVyaW5n
Q2FuZGlkYXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9ja01l
ZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3Jk
ZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBt
X2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5zcG9y
dFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNw
b3J0VGltZXJGaXJlZCgpCkBAIC0zMDUsNyArMzA1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2lu
dDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCiAgICAgYXV0byBzdGF0ZUNoYW5nZSA9IG1faWNl
VHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnRha2VMYXN0KCk7CiAgICAgbV9jbGllbnQuaWNlVHJhbnNw
b3J0U3RhdGVDaGFuZ2VkKHN0YXRlQ2hhbmdlLmZpcnN0LCBzdGF0ZUNoYW5nZS5zZWNvbmQpOwog
Ci0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VUcmFu
c3BvcnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTW9ja01lZGlh
RW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCkBAIC0zMjAsNyArMzIwLDcgQEAg
dm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKCkKICAgICBm
b3IgKGludCBpID0gbV9taWRzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKQogICAgICAgICBtX21p
ZHNPZlNvdXJjZXNUb1VubXV0ZS5hcHBlbmQobV9taWRzW2ldKTsKIAotICAgIG1fdW5tdXRlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29u
ZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkK
QEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZp
cmVkKCkKICAgICAgICAgc291cmNlLT5zZXRNdXRlZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlk
c09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHkoKSkKLSAgICAgICAgbV91bm11dGVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCmluZGV4IGVm
OTcyNzZhNDQzNDJhYmM1Yzc1YWVhNGUzNjE3MTQ0MWI0Y2RjNmUuLjY0YTM1YTZkMjdiY2U5NWM2
NTliYzU5MWJlNTA5MDRiYTgxMzYwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC04NCw3ICs4NCw3
IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAg
ICAgfQogCiAgICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
LSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMobHJv
dW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSkpOwog
fQogCiB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCkBA
IC0xMzYsNyArMTM2LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6aW5pdGlhbGl6
ZVN1cHBvcnRlZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2UKIGJvb2wgTW9ja1JlYWx0
aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSByYXRlKQogewogICAgIGlmICht
X3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CisgICAgICAgIG1fdGlt
ZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAv
IHJhdGUpKSk7CiAKICAgICB1cGRhdGVTYW1wbGVCdWZmZXIoKTsKICAgICByZXR1cm4gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hT
eW50aGVzaXplck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKaW5kZXggZjNiYzcxYzBmNzMzZDI4MzNlYzM0ODVl
ODk0OTQ0OGQzOGRkM2YxMS4uMjdiZGFlMmI1Y2NlMmM4NDRiYjEzZGU3MGM5OTRhMzUwYzgzNmVh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Q
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWsoUmVmUHRyPFBsYXRmb3JtU3BlZWNo
U3ludGhlc2lzVXR0ZXJhbmMKICAgICBjbGllbnQoKS0+Ym91bmRhcnlFdmVudE9jY3VycmVkKCpt
X3V0dGVyYW5jZSwgU3BlZWNoU2VudGVuY2VCb3VuZGFyeSwgbV91dHRlcmFuY2UtPnRleHQoKS5s
ZW5ndGgoKSk7CiAKICAgICAvLyBHaXZlIHRoZSBmYWtlIHNwZWVjaCBqb2Igc29tZSB0aW1lIHNv
IHRoYXQgcGF1c2UgYW5kIG90aGVyIGZ1bmN0aW9ucyBoYXZlIHRpbWUgdG8gYmUgY2FsbGVkLgot
ICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hvdCguMSk7CisgICAgbV9zcGVh
a2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMC4xKSk7CiB9CiAKIHZvaWQg
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCmluZGV4IGRlMGU4YTlm
ZDY1OTZiMmUyYWI3MzcwMzA0N2RlNWVkMzdmZmVjYWMuLjA2NmQ2ZTMzNTIzZGQ0MjJiZTlhNDNh
ZGExMDk0ZTliYzZhMTkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svVGltZXJFdmVudEJhc2VkTW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svVGltZXJFdmVudEJhc2VkTW9jay5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICAg
ICAgLCBtX3RpbWVyKCp0aGlzLCAmVGltZXJFdmVudDo6dGltZXJGaXJlZCkKICAgICAgICAgLCBt
X25vdGlmaWVyKG5vdGlmaWVyKQogICAgIHsKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MC41KTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjUpKTsKICAgICB9
CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCA1ODc3M2FhMzMyOTFjYTdh
Njg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi45NjIzMGZlMTc0NDkyMTNmNjI0MGExOGVhZTg3M2M2
NjY1OWFjNTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RO
U1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9E
TlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRpYXRlbHkgPSA0OwogCiAvLyBD
b2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25nIGJlZm9yZSBzZW5kaW5nIHRo
ZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VEZWxheUluU2Vjb25kcyA9IDEu
MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkgPSBTZWNvbmRzKDEpOwogCiAv
LyBTZW5kaW5nIG1hbnkgRE5TIHJlcXVlc3RzIGF0IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdh
dGV3YXlzLiBTZWUgPHJkYXI6Ly84MTA1NTUwPiBmb3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdp
dGggQ0ZIb3N0IHRocm90dGxpbmcuCiBzdGF0aWMgY29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNS
ZXF1ZXN0cyA9IDg7CkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVs
dGFuZW91c1JlcXVlc3RzID0gODsKIHN0YXRpYyBjb25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1
ZSA9IDY0OwogCiAvLyBJZiB0aGVyZSB3ZXJlIHF1ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJl
IHNlbnQgc2ltdWx0YW5lb3VzbHksIGNoZWNrIHRoZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIg
dGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRz
ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgcmV0cnlSZXNvbHZpbmdEZWxheSA9IFNlY29u
ZHMoMC4xKTsKIAogRE5TUmVzb2x2ZVF1ZXVlJiBETlNSZXNvbHZlUXVldWU6OnNpbmdsZXRvbigp
CiB7CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OmFkZChjb25zdCBT
dHJpbmcmIGhvc3RuYW1lKQogICAgIGlmIChtX25hbWVzLnNpemUoKSA8IGdNYXhSZXF1ZXN0c1Rv
UXVldWUpIHsKICAgICAgICAgbV9uYW1lcy5hZGQoaG9zdG5hbWUpOwogICAgICAgICBpZiAoIW1f
dGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGdDb2Fs
ZXNjZURlbGF5SW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNv
YWxlc2NlRGVsYXkpOwogICAgIH0KIH0KIApAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgRE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKCkKICAgICB9CiAKICAgICBpZiAoIW1fbmFtZXMuaXNFbXB0
eSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnUmV0cnlSZXNvbHZpbmdJblNlY29u
ZHMpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChyZXRyeVJlc29sdmluZ0RlbGF5KTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAppbmRleCBhYmZiNDZjZWNmODIxNDNiOWZm
YWNkMDFiZTU3ODZhNTNhMDA4ZWMwLi4zMzBjNmRiNGVmYmIzN2EyZmMxZjg0Nzk4YzQzZmU4YTlk
NTljYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcApAQCAtNzksNyArNzksNyBAQCBwcml2YXRlOgogICAgICAgICByZWYoKTsK
IAogICAgICAgICBhdXRvIHNjaGVkdWxlZFBhaXJzID0gbV9kZWNvZGVUYXNrLT5zY2hlZHVsZUNv
bnRleHQuc2NoZWR1bGVkUGFpcnM7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgbV90aW1l
ci5zY2hlZHVsZShzY2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2Yw
YjhkMDExZjJiYjljYjFiZDEuLjNmZjAwZjJiMTJmMDY3MjAyZWIyYzMzNTU4YThjYjEwOWZlYjUx
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRs
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBA
IC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVy
IHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAg
IC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcyg2MDAwMCkpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5k
ZXggNDc3M2RlZDdmNGUxZTc4NDE5Zjg0ZmY0NjE4YTVkOWY1YjVmYTZlOS4uYTAxNDM3Y2I0ODk4
YzAwNTc3NmZhMzcyYWFhNzNmZTk0ZTQxNmE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBS
ZWZQdHI8UmVzb3VyY2VIYW5kbGU+IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0CiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1
cmUoRmFpbHVyZVR5cGUgdHlwZSkKIHsKICAgICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0g
dHlwZTsKLSAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9m
YWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJlc291cmNl
SGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCgpCkBAIC0yNTgsNyArMjU4LDcgQEAgdm9pZCBSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgICAgIGQt
Pm1fZmFpbHVyZVRpbWVyLnN0b3AoKTsKICAgICB9IGVsc2UgaWYgKGQtPm1fc2NoZWR1bGVkRmFp
bHVyZVR5cGUgIT0gTm9GYWlsdXJlKSB7CiAgICAgICAgIEFTU0VSVCghZC0+bV9mYWlsdXJlVGlt
ZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
ICAgIH0KIAogICAgIHBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhkZWZlcnMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZp
ZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0
YXRlTm90aWZpZXJNYWMuY3BwCmluZGV4IDU1YWRlMjE4YzEzODg4YzBjYzI2ZWJlY2I3OTI2M2Rj
YTcwMDkxNmQuLjJiNDExZWE2Yzg0ZGRjN2VjOTNjNTBiNjk4ZTM2MGVkNTYyODJhMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5v
dGlmaWVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9O
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZh
bCA9IDIuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCA9
IFNlY29uZHMoMik7CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6OnVwZGF0ZVN0YXRlKCkK
IHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6ZHluYW1pY1N0
b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlSZWYsIHYKICAgICAKICAgICAv
LyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQgYmUgZXhwZW5zaXZlIHNvIHdlIHNjaGVkdWxl
IGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAgIC8vIHdoZW4gdGhpbmdzIGhhdmUgY29vbGVk
IGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVT
aG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CisgICAgbm90aWZpZXItPm1fbmV0d29ya1N0
YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CiB9
CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRy
b2xsZXIuY3BwCmluZGV4IDRlY2Q4NWE2MTFkMzQyYTc5M2JjMjJiYmRjZGNmNzEwNGZmMmE5YmEu
LmM4ZWUwMWFiZGFjOTg2ZDU4YjhmMDMyMGY3ZjI2Zjg1NzZiZjhiYmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKQEAgLTM1
LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBj
SW50ZXJwb2xhdGlvbkN1dG9mZiA9IDgwMC4gKiA4MDAuOwotc3RhdGljIGNvbnN0IGRvdWJsZSBj
TG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8gNTAwIG1zCitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBsb3dRdWFsaXR5VGltZVRocmVzaG9sZCA9IFNlY29uZHMoMC41MDApOwogCiBJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyKGNvbnN0IFJlbmRlclZp
ZXcmIHJlbmRlclZpZXcpCiAgICAgOiBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKQEAgLTk0LDcg
Kzk0LDcgQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRU
aW1lckZpcmVkKCkKIAogdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIo
KQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7
CisgICAgbV90aW1lci5zdGFydE9uZVNob3QobG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOwogfQog
CiBPcHRpb25hbDxJbnRlcnBvbGF0aW9uUXVhbGl0eT4gSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6
aW50ZXJwb2xhdGlvblF1YWxpdHlGcm9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cAppbmRleCA2M2E1YTY5MGFjMTBhYjFmNWM5YjRkZWM0N2VjZWFjNWEwMDVmNjNlLi45ZmNhYmVl
OWQ1MzBlYmIyYzVkNWQxN2NmOWE4OThmOGE1OTY4MjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtOTIsMTEgKzkyLDEx
IEBAIHN0YXRpYyBjb25zdCBpbnQgY2FudmFzQXJlYVRocmVzaG9sZFJlcXVpcmluZ0NvbXBvc2l0
aW5nID0gNTAgKiAxMDA7CiAjZW5kaWYKIC8vIER1cmluZyBwYWdlIGxvYWRpbmcgZGVsYXkgbGF5
ZXIgZmx1c2hlcyB1cCB0byB0aGlzIG1hbnkgc2Vjb25kcyB0byBhbGxvdyB0aGVtIGNvYWxlc2Nl
LCByZWR1Y2luZyB3b3JrbG9hZC4KICNpZiBQTEFURk9STShJT1MpCi1zdGF0aWMgY29uc3QgZG91
YmxlIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBk
b3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gMS41Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IFNlY29uZHMoMC41KTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hEZWxheSA9IFNlY29uZHMoMS41KTsK
ICNlbHNlCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVs
YXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0g
LjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5
ID0gU2Vjb25kcygwLjUpOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVz
aERlbGF5ID0gU2Vjb25kcygwLjUpOwogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7CkBAIC02MzQsNyArNjM0LDcgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmVuY2xvc2luZ0NvbXBvc2l0b3JGbHVzaGluZ0xheWVycygKIHZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUoKQogewog
ICAgIGlmICghbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xh
eWVyc1RpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUu
Y3BwCmluZGV4IDYwNTlkMjZkMWRmY2ZiMzYxNWJiYmJlMTZjZmQyM2UyNWRkZmMxNTcuLmI3NDA5
N2NmMjFlMWE4MjI1YTZhZWQ4ZmQ5YTNiMmE5YTUyZTlhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFJlbmRl
ck1hcnF1ZWU6OnN0YXJ0KCkKICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7CiAgICAgfQogCi0g
ICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgIG1fdGltZXIu
c3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhzcGVlZCgpKSk7CiB9CiAK
IHZvaWQgUmVuZGVyTWFycXVlZTo6c3VzcGVuZCgpCkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBS
ZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAgIGlmIChzcGVlZCgpICE9IG1h
cnF1ZWVTcGVlZCgpKSB7CiAgICAgICAgIG1fc3BlZWQgPSBtYXJxdWVlU3BlZWQoKTsKICAgICAg
ICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBl
YXRpbmcoc3BlZWQoKSAqIDAuMDAxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRp
bmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhzcGVlZCgpKSk7CiAgICAgfQogICAgIAogICAg
IC8vIENoZWNrIHRoZSBsb29wIGNvdW50IHRvIHNlZSBpZiB3ZSBzaG91bGQgbm93IHN0b3AuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFk
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3Bw
CmluZGV4IDQ3NTA2YWNkMzNiNzA3NDM1ZTU5ZTE2NWNjNjA3MDNmZTY0ZTQ2ZTYuLmRlZTJiMmYx
MGFjZjI3MmQ2Y2I2NWYxYmJlYjk5ZjY4YTVlYWQyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCkBAIC01MzAsNyArNTMwLDcg
QEAgdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5n
ZUV2ZW50SWZOZWVkZWQoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2hhbmdl
UmVnaW9uT3ZlcnNldChkb2N1bWVudCgpLCBuYW1lZEZsb3coKSk7CiAgICAgCiAgICAgaWYgKCFt
X3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLmlzQWN0aXZlKCkgJiYgbmFtZWRGbG93KCku
aGFzRXZlbnRMaXN0ZW5lcnMoKSkKLSAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJlbmRlck5hbWVkRmxv
d1RocmVhZDo6cmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRleCA5YTFmMjQwZmE1ZjlhZmY4
NzAxYzEzNDhjY2M1N2QzNmFiM2UwYjg0Li41MWEzMDhmYmEzNzBjNDc5ODljOGM1Y2VhZTBiMDg3
NzQyYzljN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJv
Z3Jlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5j
cHAKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uVGltZXJG
aXJlZCgpCiB7CiAgICAgcmVwYWludCgpOwogICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0Fj
dGl2ZSgpICYmIG1fYW5pbWF0aW5nKQotICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKTsKKyAgICAgICAgbV9hbmltYXRpb25UaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcyhtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKSk7CiB9CiAK
IHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKQEAgLTEwMCw3ICsx
MDAsNyBAQCB2b2lkIFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCiAgICAg
bV9hbmltYXRpbmcgPSBhbmltYXRpbmc7CiAgICAgaWYgKG1fYW5pbWF0aW5nKSB7CiAgICAgICAg
IG1fYW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0g
ICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKG1f
YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9hbmltYXRp
b25UaW1lci5zdG9wKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
Y3JvbGxiYXJUaGVtZS5oCmluZGV4IGVkNDliZWRjYmRiNjE1ZDBhNzMyNzE3ZDdjYWEzOGRiY2M4
ZGRiNzcuLjQxYmQ4MjNhYWEwMTQ2NTZiMTFhYjZkMjYxOWRkMTZmYTBlYjc4NjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCkBAIC00Nyw4
ICs0Nyw4IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0aW9uIGhhbmRs
ZU1vdXNlUHJlc3NFdmVudChTY3JvbGxiYXImIHNjcm9sbGJhciwgY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JiBldmVudCwgU2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCkgb3ZlcnJpZGUgeyByZXR1
cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaGFuZGxlTW91c2VQcmVzc0V2ZW50KHNjcm9sbGJh
ciwgZXZlbnQsIHByZXNzZWRQYXJ0KTsgfQogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xs
VGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9Ci0gICAgZG91YmxlIGF1dG9zY3JvbGxUaW1l
ckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuYXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRl
bGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1
dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5
KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuYXV0b3Njcm9sbFRp
bWVyRGVsYXkoKTsgfQogCiAgICAgdm9pZCByZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXImIHNj
cm9sbGJhcikgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkucmVnaXN0
ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQogICAgIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihT
Y3JvbGxiYXImIHNjcm9sbGJhcikgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRo
ZW1lKCkudW5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggY2UxNTZlYzhmOThmOTBjNjgxZTcwNmI1ODg4MjVj
NGNiYmRiZjQ4NS4uOTIxOGQ1Y2I1YTc4MWZiODU3YzdmNDhhOTI1MjlkZGViYjFiNTNkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTA3LDcgKzEwNyw3IEBA
IGlubGluZSBTZWN1cmVUZXh0VGltZXI6OlNlY3VyZVRleHRUaW1lcihSZW5kZXJUZXh0JiByZW5k
ZXJlcikKIGlubGluZSB2b2lkIFNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCh1bnNpZ25lZCBvZmZz
ZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcikKIHsKICAgICBtX29mZnNldEFmdGVyTGFzdFR5cGVk
Q2hhcmFjdGVyID0gb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXI7Ci0gICAgc3RhcnRPbmVT
aG90KG1fcmVuZGVyZXIuZnJhbWUoKS5zZXR0aW5ncygpLnBhc3N3b3JkRWNob0R1cmF0aW9uSW5T
ZWNvbmRzKCkpOworICAgIHN0YXJ0T25lU2hvdChtX3JlbmRlcmVyLmZyYW1lKCkuc2V0dGluZ3Mo
KS5wYXNzd29yZEVjaG9EdXJhdGlvbigpKTsKIH0KIAogaW5saW5lIHVuc2lnbmVkIFNlY3VyZVRl
eHRUaW1lcjo6dGFrZU9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggMzU0OTliYmU2OTExZjVmYThjM2QwMTM4Y2Vm
NDBlYzgyOGY5YzJiZS4uYjEzZWE1NTgyYjc2MDA4MTZkNmE2NWY0OTQ2ZWJhZDdlZjk2N2RiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTM1LDYgKzM1LDcgQEAK
ICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMTc1LDcgKzE3Niw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZp
cnR1YWwgdm9pZCBwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogCi0gICAgdmlydHVhbCBkb3Vi
bGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9CisgICAgdmlydHVh
bCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIFNlY29uZHMoMC41
KTsgfQogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9yIENTUy4KICAgICB2b2lk
IHN5c3RlbUZvbnQoQ1NTVmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYpIGNvbnN0OwpA
QCAtMjA0LDggKzIwNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlhQ29u
dHJvbFN0YXR1c0Rpc3BsYXkoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1
c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAg
IHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkg
eyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVPdXRE
dXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRpYUNvbnRy
b2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiBTZWNvbmRzKDAuMSk7IH0KKyAgICB2aXJ0dWFs
IFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIFNlY29uZHMo
MC4zKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0
IHRpbWUpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJy
ZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwogICAgIHZp
cnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJl
bnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHAKaW5kZXggODEzMGQyZTgyMDZiMGMwNDE2ZGRkOWFmMWJlNDFkNDI2NDE1YjNj
MS4uZjk4NDcwNmQxZTY1NjkzMjI4ZWI2ZjA0MWNjYzdhYjU5MTYwMTE0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHZvaWQgUmVu
ZGVyVmlldzo6c2NoZWR1bGVMYXp5UmVwYWludChSZW5kZXJCb3gmIHJlbmRlcmVyKQogICAgIHJl
bmRlcmVyLnNldFJlbmRlckJveE5lZWRzTGF6eVJlcGFpbnQodHJ1ZSk7CiAgICAgbV9yZW5kZXJl
cnNOZWVkaW5nTGF6eVJlcGFpbnQuYWRkKCZyZW5kZXJlcik7CiAgICAgaWYgKCFtX2xhenlSZXBh
aW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sYXp5UmVwYWludFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9sYXp5UmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIH0KIAogdm9pZCBSZW5kZXJWaWV3Ojp1bnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVy
Qm94JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJp
bmdJbnB1dEN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRD
dXJzb3IuY3BwCmluZGV4IDk5NjQ5YmZlMjkwMzY2NzZhZDQ5NjhhMzZkZjFmNWMzYzYyZTBlZDku
LjViNDM0OWZhOTM0ZjMyYjQxMDk1ZDVhMGY4NDQ5NjkxNGY4N2Y1MjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcApAQCAtNTgsMTEgKzU4LDgg
QEAgdm9pZCBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4KIHsKICAgICBBU1NFUlRfQVJHKGlucHV0LCBpbnB1
dCk7CiAKLSAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5wdXRRdWV1ZTo6RXZlbnRMb29wSW5w
dXQpIHsKLSAgICAgICAgLy8gRklYTUU6IHJld3JpdGUgdGhpcyAoYW5kIHJlbGF0ZWQgZGlzcGF0
Y2ggY29kZSkgdG8gdXNlIHN0ZDo6Y2hyb25vLgotICAgICAgICBkb3VibGUgbm93ID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChub3cpOwotICAgIH0KKyAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5w
dXRRdWV1ZTo6RXZlbnRMb29wSW5wdXQpCisgICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChNb25vdG9uaWNUaW1lOjpub3coKSk7CiAKICAgICBtX3NlZ21lbnQtPnN0
b3JhZ2UoKS5zdG9yZShXVEZNb3ZlKGlucHV0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDUxMDI5M2ZjMTZjNjRh
YzliNWZiNTFlN2I5OGQwOTBkOGI1MTM2NjcuLjYyZGY1MWRkNGFiMjkwMGZkNWE4NTQ4ZjhiYTMx
NGRiZTBhYTgwYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCkBAIC01MSw4ICs1MSw2IEBAIEV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKFBhZ2UmIHBhZ2UsIFJlcGxheWluZ0lucHV0
Q3VyCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1l
ckZpcmVkKQogICAgICwgbV9zcGVlZChEaXNwYXRjaFNwZWVkOjpGYXN0Rm9yd2FyZCkKIHsKLSAg
ICBtX2N1cnJlbnRXb3JrLmlucHV0ID0gbnVsbHB0cjsKLSAgICBtX2N1cnJlbnRXb3JrLnRpbWVz
dGFtcCA9IDAuMDsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnJ1bigpCkBA
IC05MSw3ICs4OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElu
cHV0U29vbigpCiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5z
dG9wKCk7CiAKLSAgICBkb3VibGUgd2FpdEludGVydmFsID0gMDsKKyAgICBTZWNvbmRzIHdhaXRJ
bnRlcnZhbDsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7
CiAgICAgICAgIC8vIFRoZSBnb2FsIGlzIHRvIHJlcHJvZHVjZSB0aGUgZGlzcGF0Y2ggZGVsYXkg
YmV0d2VlbiBpbnB1dHMgYXMgaXQgd2FzCkBAIC0xMDIsMjIgKzEwMCwyMiBAQCB2b2lkIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgICAgICBpZiAoIW1f
cHJldmlvdXNJbnB1dFRpbWVzdGFtcCkKICAgICAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVz
dGFtcCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogCi0gICAgICAgIGRvdWJsZSB0YXJnZXRJ
bnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0VGltZXN0
YW1wOwotICAgICAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpIC0gbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOworICAgICAgICBTZWNvbmRzIHRhcmdl
dEludGVydmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1l
c3RhbXA7CisgICAgICAgIFNlY29uZHMgZWxhcHNlZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgICAgICB3YWl0SW50ZXJ2YWwgPSB0YXJn
ZXRJbnRlcnZhbCAtIGVsYXBzZWQ7CiAgICAgfQogCiAgICAgLy8gQSBuZWdhdGl2ZSB3YWl0IHRp
bWUgbWVhbnMgdGhhdCBkaXNwYXRjaCB0b29rIGxvbmdlciBvbiByZXBsYXkgdGhhbiBvbgogICAg
IC8vIGNhcHR1cmUuIEluIHRoaXMgY2FzZSwgcHJvY2VlZCB3aXRob3V0IHdhaXRpbmcgYXQgYWxs
LgotICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwKQotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOwor
ICAgIGlmICh3YWl0SW50ZXJ2YWwgPCBTZWNvbmRzKDApKQorICAgICAgICB3YWl0SW50ZXJ2YWwg
PSBTZWNvbmRzKDApOwogCi0gICAgaWYgKHdhaXRJbnRlcnZhbCA+IDEwMDAuMCkgeworICAgIGlm
ICh3YWl0SW50ZXJ2YWwgPiBTZWNvbmRzKDEwMDApKSB7CiAgICAgICAgIExPR19FUlJPUigiJS0y
MHMgVHJpZWQgdG8gd2FpdCBmb3Igb3ZlciAxMDAwIHNlY29uZHMgYmVmb3JlIGRpc3BhdGNoaW5n
IG5leHQgZXZlbnQgbG9vcCBpbnB1dDsgdGhpcyBpcyBwcm9iYWJseSBhIGJ1Zy4iLCAiUmVwbGF5
RXZlbnRzIik7Ci0gICAgICAgIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgICAgIHdhaXRJbnRlcnZh
bCA9IFNlY29uZHMoMCk7CiAgICAgfQogCi0gICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlU
OiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCB3YWl0SW50ZXJ2YWwgKiAxMDAwLjApOworICAg
IExPRyhXZWJSZXBsYXksICIlLTIwcyAoV0FJVDogJS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwg
U2Vjb25kcyh3YWl0SW50ZXJ2YWwgKiAxMDAwLjApLm1pbGxpc2Vjb25kcygpKTsKICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCh3YWl0SW50ZXJ2YWwpOwogfQogCkBAIC0xMjcsNyArMTI1LDcgQEAg
dm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXQoKQogICAgIEFTU0VS
VCghbV9kaXNwYXRjaGluZyk7CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpS
ZWFsVGltZSkgewotICAgICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVz
dGFtcCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dl
YkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCmluZGV4IDIwNjdlNzhkNDNm
MjVhNWQyNWU0YzNmOWE1MjMyMzViMGM3OTVmMzQuLjU5MzJiNDJiNmQ0MmMzODIwOTRlNTQ4MTQz
NjBmMGRhYjZiNDQwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExv
b3BJbnB1dERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFdmVudExvb3BJ
bnB1dC5oIgogI2luY2x1ZGUgIlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC04Niw5ICs4
Nyw5IEBAIHByaXZhdGU6CiAKICAgICBEaXNwYXRjaFNwZWVkIG1fc3BlZWQ7CiAgICAgLy8gVGhl
IHRpbWUgYXQgd2hpY2ggdGhlIGxhc3QgaW5wdXQgZGlzcGF0Y2goKSBtZXRob2Qgd2FzIGNhbGxl
ZC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lIHswLjB9OworICAgIE1v
bm90b25pY1RpbWUgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgIC8vIFRoZSB0aW1l
c3RhbXAgc3BlY2lmaWVkIGJ5IHRoZSBsYXN0IGRpc3BhdGNoZWQgaW5wdXQuCi0gICAgZG91Ymxl
IG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCB7MC4wfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJl
dmlvdXNJbnB1dFRpbWVzdGFtcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCmluZGV4IGYxOGRk
ZjQxZmNkYzA0NDZlZTQwMDhiODFiMzliZjZjNGE2NTE2MmEuLjI4MTFlNzRiZjAzZjc4NGMzMTZj
Y2Q5MWZiZTAwODQ4OWUzMWYzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxh
eVNlc3Npb25TZWdtZW50LmNwcApAQCAtNDcsOCArNDcsOCBAQCBSZWY8UmVwbGF5U2Vzc2lvblNl
Z21lbnQ+IFJlcGxheVNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQogCiBSZXBsYXlTZXNzaW9uU2Vn
bWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQoKQogICAgIDogbV9zdG9yYWdlKHN0ZDo6bWFrZV91
bmlxdWU8U2VnbWVudGVkSW5wdXRTdG9yYWdlPigpKQorICAgICwgbV90aW1lc3RhbXAoTW9ub3Rv
bmljVGltZTo6bm93KCkpCiAgICAgLCBtX2lkZW50aWZpZXIoc19uZXh0U2VnbWVudElkZW50aWZp
ZXIrKykKLSAgICAsIG1fdGltZXN0YW1wKGN1cnJlbnRUaW1lTVMoKSkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaAppbmRleCBkNTYyYjUzYzA0
NDg0MTNmNDYzMjk5N2NhMTlmOTQ4ZGUyM2EyZDljLi5mNzY3NDJjNjU4ZWRjMDEyMzJjZTMzYmZl
Zjc5NGYzNTMzNjQ1N2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5
U2Vzc2lvblNlZ21lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lv
blNlZ21lbnQuaApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBA
IC01MSwyMCArNTIsMjEgQEAgcHVibGljOgogICAgIH5SZXBsYXlTZXNzaW9uU2VnbWVudCgpOwog
CiAgICAgdW5zaWduZWQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsg
fQotICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQor
ICAgIE1vbm90b25pY1RpbWUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7
IH0KKwogcHJvdGVjdGVkOgogICAgIFNlZ21lbnRlZElucHV0U3RvcmFnZSYgc3RvcmFnZSgpIHsg
cmV0dXJuICptX3N0b3JhZ2U7IH0KLSAgICBWZWN0b3I8ZG91YmxlLCAwPiYgZXZlbnRMb29wVGlt
aW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29wVGltaW5nczsgfQorICAgIFZlY3RvcjxNb25vdG9u
aWNUaW1lLCAwPiYgZXZlbnRMb29wVGltaW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29wVGltaW5n
czsgfQogCiBwcml2YXRlOgogICAgIFJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8U2VnbWVudGVkSW5wdXRTdG9yYWdlPiBtX3N0b3JhZ2U7Ci0gICAgVmVjdG9y
PGRvdWJsZSwgMD4gbV9ldmVudExvb3BUaW1pbmdzOworICAgIFZlY3RvcjxNb25vdG9uaWNUaW1l
LCAwPiBtX2V2ZW50TG9vcFRpbWluZ3M7CiAKKyAgICBNb25vdG9uaWNUaW1lIG1fdGltZXN0YW1w
OwogICAgIHVuc2lnbmVkIG1faWRlbnRpZmllcjsKICAgICBib29sIG1fY2FuQ2FwdHVyZSB7dHJ1
ZX07Ci0gICAgZG91YmxlIG1fdGltZXN0YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29y
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAppbmRleCA3
N2MzYjk0MjBjOGZhZDQ0ZGU1M2JjMDE1MmRiZTk3NmJkZDZiNjkyLi4wZmVkMTA5MjgxMDdiM2U4
NGJhZTk1ZWMyMzc3ZTBkYzc3OTUxYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVw
bGF5aW5nSW5wdXRDdXJzb3IuaApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQ
TEFZKQogCiAjaW5jbHVkZSA8cmVwbGF5L0lucHV0Q3Vyc29yLmg+CisjaW5jbHVkZSA8d3RmL01v
bm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQxLDggKzQyLDggQEAgY2xhc3MgUGFnZTsKIGNsYXNzIFJlcGxheVNlc3Npb25T
ZWdtZW50OwogCiBzdHJ1Y3QgRXZlbnRMb29wSW5wdXREYXRhIHsKLSAgICBFdmVudExvb3BJbnB1
dEJhc2UqIGlucHV0OwotICAgIGRvdWJsZSB0aW1lc3RhbXA7CisgICAgRXZlbnRMb29wSW5wdXRC
YXNlKiBpbnB1dCB7IG51bGxwdHIgfTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcDsKIH07
CiAKIGNsYXNzIFJlcGxheWluZ0lucHV0Q3Vyc29yIGZpbmFsIDogcHVibGljIElucHV0Q3Vyc29y
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKaW5kZXggYjBiYmE0ZWUyYzY2Zjk2Nzhi
MWM5MDA1MDdmNTE4YTA3MzBlNjlkNC4uMWE4OGQ4OWNhNDdlOTgzMTIwMjI0MmEzNTdjMTAwMmVj
ZGMzYzIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKQEAgLTUxMyw3ICs1MTMs
NyBAQCB2b2lkIFNjb3BlOjpzY2hlZHVsZVVwZGF0ZShVcGRhdGVUeXBlIHVwZGF0ZSkKIAogICAg
IGlmIChtX3BlbmRpbmdVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1Vw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTY29wZTo6ZGlk
Q2hhbmdlQWN0aXZlU3R5bGVTaGVldENhbmRpZGF0ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
Y3BwCmluZGV4IGIyY2IzYjMzY2FjMWI3MmI2YWRkMjQyNGMzYWI0YTIwYWEyMDU2YzcuLjE3NGQ2
MWVjNDBhMzMyOWVjZDExYTBjZDU2YTU5NThjNzM3MjM5OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5jcHAKQEAgLTYyMSw3ICs2MjEsNyBAQCB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2Fk
RXZlbnRJZlBvc3NpYmxlKGJvb2wgc2VuZFBhcmVudExvYWRFdmVudHMpCiAKIHZvaWQgU1ZHRWxl
bWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGVBc3luY2hyb25vdXNseSgpCiB7Ci0gICAg
c3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDApOworICAgIHN2Z0xvYWRFdmVudFRp
bWVyKCktPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTVkdFbGVtZW50Ojpz
dmdMb2FkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9h
bmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1h
dGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggY2JmM2I3YmE1ODQ4NTA3NzM3ZTk3NWNk
ZDBhODE5MmQzMzVmYmY1MC4uNzUzZTQwMTRiY2MyMTJjYjMwOGQ4ZDY2N2NmZmViZmQxM2M0NDVh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRh
aW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRh
aW5lci5jcHAKQEAgLTIwNSw3ICsyMDUsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzdGFy
dFRpbWVyKFNNSUxUaW1lIGVsYXBzZWQsIFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlMVGltZQogICAg
ICAgICByZXR1cm47CiAKICAgICBTTUlMVGltZSBkZWxheSA9IHN0ZDo6bWF4KGZpcmVUaW1lIC0g
ZWxhcHNlZCwgbWluaW11bURlbGF5KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheS52
YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5LnZhbHVlKCkp
KTsKIH0KIAogdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA2MTFjOTJiOGZiMzQ1MWNm
YzZjZjk2YzhlZDM3ZTc4NWEzMmQ5N2Y4Li41NDNjM2Y0ZGFkZTg5NTM4ZDhiNzYyNTBjOGFlNThk
NTJlZjZiZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKQEAgLTUzNiw3ICs1MzYsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdz
OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWxJblNlYwogewogICAgIGlm
ICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJS
IH07Ci0gICAgc2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGludGVydmFs
SW5TZWNvbmRzICogMTAwMCkpKTsKKyAgICBzZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lcklu
dGVydmFsKFNlY29uZHMoaW50ZXJ2YWxJblNlY29uZHMpKTsKICAgICByZXR1cm4geyB9OwogfQog
CkBAIC01NjAsNyArNTYwLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6
c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHIKIHsKICAgICBpZiAo
IW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9
OwotICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHModGltZSk7CisgICAgc2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1l
bnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNvbmRzKHRpbWUpKTsKICAgICByZXR1cm4geyB9Owog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCmluZGV4IDVhNGY2
ZTRkYWQ0ODVjYjVhZjMxMjdkZWY4MDc4ZGM3NzYxYzE5NDAuLjg0NTk4YTJhNWIwNGQyNjkxMjQy
NmE5MGU1MzNjYjkxYzE3ODFlYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5oCkBAIC0xNDMsNyArMTQzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtX2xh
bmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkOwogICAgICAgICBib29sIG1faW1h
Z2VzRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3ByZWZlck1JTUVUeXBlRm9ySW1hZ2VzOwotICAg
ICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bVRpbWVySW50ZXJ2YWw7Cisg
ICAgICAgIFNlY29uZHMgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKICNpZiBFTkFCTEUoVklERU9f
VFJBQ0spCiAgICAgICAgIGJvb2wgbV9zaG91bGREaXNwbGF5U3VidGl0bGVzOwogICAgICAgICBi
b29sIG1fc2hvdWxkRGlzcGxheUNhcHRpb25zOwpAQCAtMTUxLDcgKzE1MSw3IEBAIHByaXZhdGU6
CiAjZW5kaWYKICAgICAgICAgU3RyaW5nIG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMOwogICAgICAg
ICBib29sIG1fZm9yY2VQZW5kaW5nV2ViR0xQb2xpY3k7Ci0gICAgICAgIGJvb2wgbV9vcmlnaW5h
bFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworICAgICAgICBT
ZWNvbmRzIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9sczsKICAgICAgICAgYm9vbCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVo
YXZpb3I7CiAgICAgICAgIGJvb2wgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkOwog
ICAgICAgICBib29sIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBlZDJmZWRhMmRk
YzQzMDY0N2NiMjgzYTBkOWZmMTk4NzVjNGFhMjNmLi5jNzE5NGVkZWFiM2E3ODdmY2VmNDY1MTZh
N2FhY2I1MWIwNDhlMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmNwcApAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnBv
c3RUYXNrKFRhc2smJiB0YXNrKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQo
c3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKIHsK
LSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJuIERPTVRp
bWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNl
Y29uZHModGltZW91dCksIHRydWUpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVh
clRpbWVvdXQoaW50IHRpbWVvdXRJZCkKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2b2lkIFdvcmtlckds
b2JhbFNjb3BlOjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKIAogaW50IFdvcmtlckdsb2Jh
bFNjb3BlOjpzZXRJbnRlcnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rp
b24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywg
V1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBmYWxz
ZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiks
IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKIH0KIAogdm9pZCBX
b3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggNTA5YTlhOWNkNzEwYjQ1YmZjMGNiOWVlOTFh
MjJmMTM3Y2Y2OGI3YS4uMTQ5MjQwNjBhY2ZhMjY1Y2VmMmZjNzVmMTEyNjZjYzZkOTY4YTJhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0yNDUsOCArMjQ1LDggQEAg
RXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVvdXQodW5zaWduZWQgdGlt
ZW91dCkKICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIC8vIElmIHRpbWVvdXQgaXMgemVybywg
d2Ugc2hvdWxkIHVzZSB0aGUgZGVmYXVsdCBuZXR3b3JrIHRpbWVvdXQuIEJ1dCB3ZSBkaXNhYmxl
ZCBpdCBzbyBsZXQncyBtaW1pYyBpdCB3aXRoIGEgNjAgc2Vjb25kcyB0aW1lb3V0IHZhbHVlLgot
ICAgIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+IGludGVydmFsID0gc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyA/IG1fdGltZW91dE1pbGxpc2Vj
b25kcyA6IDYwMDAwIH0gLSAoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX3Nl
bmRpbmdUaW1lKTsKLSAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4w
LCBpbnRlcnZhbC5jb3VudCgpKSk7CisgICAgU2Vjb25kcyBpbnRlcnZhbCA9IFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHMobV90aW1lb3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNv
bmRzIDogNjAwMDApIC0gKE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9zZW5kaW5nVGltZSk7Cisg
ICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KFNlY29uZHMoMCksIGludGVy
dmFsKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNDk2LDcgKzQ5Niw3IEBAIE9wdGlvbmFs
PEV4Y2VwdGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVxdWVzdDo6cHJlcGFyZVRvU2VuZCgpCiAgICAg
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9pZD4geyBFeGNlcHRpb24geyBORVRXT1JLX0VS
UiB9IH07CiAgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKICAgICAgICAgbV90aW1l
b3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgICAgIHJldHVybiBFeGNlcHRpb25Pcjx2b2lkPiB7IH07CiAgICAgfQogCkBAIC02
NzUsOCArNjc1LDggQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QoKQogICAgICAgICAgICAgcmVxdWVzdC5zZXRUaW1lb3V0SW50ZXJ2YWwobV90aW1lb3V0
TWlsbGlzZWNvbmRzIC8gMTAwMC4wKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICByZXF1
ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmlu
aXR5KCkpOwotICAgICAgICAgICAgbV9zZW5kaW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6Om5vdygpOwotICAgICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgfSk7CisgICAg
ICAgICAgICBtX3NlbmRpbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgICAgICAg
ICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyht
X3RpbWVvdXRNaWxsaXNlY29uZHMpKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtOTYwLDcgKzk2
MCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYg
ZXJyb3IpCiAgICAgICAgIG1fc2VuZEZsYWcgPSBmYWxzZTsKICAgICAgICAgc2V0UGVuZGluZ0Fj
dGl2aXR5KHRoaXMpOwogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1f
bmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX25ldHdvcmtFcnJv
clRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICBtX2V4Y2VwdGlvbkNvZGUgPSBORVRXT1JLX0VSUjsKQEAgLTExODMsNyArMTE4Myw3IEBA
IHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSgpCiAgICAgLy8gV2UgYXJlIG5vdCBhbGxvd2Vk
IHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IEpTIGluIHJlc3VtZSgpIHNvIGRpc3BhdGNoCiAgICAgLy8g
dGhlIGVycm9yIGV2ZW50IGluIGEgdGltZXIuCiAgICAgaWYgKG1fZGlzcGF0Y2hFcnJvck9uUmVz
dW1pbmcgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZpcmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggYWY2NTBmZTc5M2Q5YzhkYjU4MDg1
OTkyODFiZGY4MDBiZTUzYjc0OS4uNDUyMjE3OWJiMGZhNTEwNWY0Yzk0NWIzNWEyNzNmY2M3MmNk
N2VlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsyMzAsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya0Vycm9yVGltZXJGaXJlZCgpOwogCiAgICAgdW5z
aWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRzIHsgMCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5kaW5nVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1f
c2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90aW1lb3V0VGltZXI7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMwODczLi44
YTcxZWMwMGFjODk2OWRiMWM1ZTk0YzBkMTBlYmJlMWNjOTQxNzFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBk
b3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVz
c0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMgcGVyIHNw
ZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgPSBTZWNvbmRz
KDAuMDUpOyAvLyA1MCBtcyBwZXIgc3BlY2lmaWNhdGlvbi4KIAogWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlKEV2
ZW50VGFyZ2V0KiB0YXJnZXQpCiAgICAgOiBtX3RhcmdldCh0YXJnZXQpCkBAIC03MywxMiArNzMs
MTIgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hU
aHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJvb2wgbGUKICAgICAgICAgQVNTRVJUKCFtX2hhc1Rocm90
dGxlZFByb2dyZXNzRXZlbnQpOwogCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQsIGxlbmd0
aENvbXB1dGFibGUsIGxvYWRlZCwgdG90YWwpKTsKLSAgICAgICAgc3RhcnRSZXBlYXRpbmcobWlu
aW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAg
c3RhcnRSZXBlYXRpbmcobWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsKTsK
ICAgICAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gZmFsc2U7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUgc28gbWlu
aW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzIGlzIHRoZSBsZWFz
dCBmcmVxdWVudCBldmVudC4KKyAgICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUgc28g
bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsIGlzIHRoZSBsZWFzdCBmcmVx
dWVudCBldmVudC4KICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSB0cnVlOwogfQog
CkBAIC0yMDgsNyArMjA4LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZTo6cmVzdW1lKCkKICAgICAvLyB0aGUgbGlzdCBvZiBhY3RpdmUgRE9NIG9iamVjdHMgdG8g
cmVzdW1lIHRoZW0sIGFuZCBhbnkgYWN0aXZhdGVkIEpTIGV2ZW50LWhhbmRsZXIKICAgICAvLyBj
b3VsZCBpbnNlcnQgbmV3IGFjdGl2ZSBET00gb2JqZWN0cyB0byB0aGUgbGlzdC4KICAgICAvLyBt
X2RlZmVyRXZlbnRzIGlzIGtlcHQgdHJ1ZSB1bnRpbCBhbGwgZGVmZXJyZWQgZXZlbnRzIGhhdmUg
YmVlbiBkaXNwYXRjaGVkLgotICAgIG1fZGlzcGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5o
IGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxl
LmgKaW5kZXggOTcxYmQyMzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUwMzQ4NGE4ZC4uMzQwZmI1
YzAwZDE3M2ZiNjE2MWE3NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAg
LTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0g
ICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50
ZXJ2YWxJblNlY29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAg
ICAgdm9pZCBkaXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9T
dG9yYWdlQXJlYVN5bmMuY3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEw
OTM1NGVhMTkuLmFmZjk1YmJhMzVlZGMzOTY5N2NiMGU5OWRlMDdmMjViNDc4ZjA5MjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJh
cGlkIGNoYW5nZXMsIGRvbid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQs
IHF1ZXVlIHVwIGEgYmF0Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5
bmMgYXQgdGhlIGZvbGxvd2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFn
ZVN5bmNJbnRlcnZhbCA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0b3JhZ2VTeW5jSW50
ZXJ2YWwgPSBTZWNvbmRzKDEpOwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93IG1hbnkgaXRlbXMg
d2UnbGwgc2NoZWR1bGUgdG8gc3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFrZXMgaXQKIC8vIG11
Y2ggaGFyZGVyIHRvIHN0YXJ2ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2UgYW5kIHRoZSBPUydz
IElPIHN1YnN5c3RlbSBpbiBnZW5lcmFsLgpAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgU3RvcmFn
ZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBT
dHJpbmcmIHZhbHVlCiAKICAgICBtX2NoYW5nZWRJdGVtcy5zZXQoa2V5LCB2YWx1ZSk7CiAgICAg
aWYgKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0
T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRP
bmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogCiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcg
aXMgYmFsYW5jZWQgYnkgdGhlIGNhbGwgdG8gZW5hYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhl
CiAgICAgICAgIC8vIHN5bmNUaW1lckZpcmVkIGZ1bmN0aW9uLgpAQCAtMTMzLDcgKzEzMyw3IEBA
IHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKCkKICAgICBtX2NoYW5nZWRJdGVt
cy5jbGVhcigpOwogICAgIG1faXRlbXNDbGVhcmVkID0gdHJ1ZTsKICAgICBpZiAoIW1fc3luY1Rp
bWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3Jh
Z2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFn
ZVN5bmNJbnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBi
eSB0aGUgY2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8g
c3luY1RpbWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xNTIsNyArMTUyLDcgQEAgdm9pZCBTdG9yYWdl
QXJlYVN5bmM6OnNjaGVkdWxlQ2xvc2VEYXRhYmFzZSgpCiAgICAgbV9zeW5jQ2xvc2VEYXRhYmFz
ZSA9IHRydWU7CiAgICAgCiAgICAgaWYgKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAg
ICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAg
ICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgICAg
ICAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0byBl
bmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmlyZWQg
ZnVuY3Rpb24uCkBAIC0xNzIsNyArMTcyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmNU
aW1lckZpcmVkKCkKICAgICAgICAgLy8gcHJldmlvdXMgb25lLiBCdXQsIGlmIHdlJ3JlIHNodXR0
aW5nIGRvd24sIHNjaGVkdWxlIGl0IGFueXdheS4KICAgICAgICAgaWYgKG1fc3luY0luUHJvZ3Jl
c3MgJiYgIW1fZmluYWxTeW5jU2NoZWR1bGVkKSB7CiAgICAgICAgICAgICBBU1NFUlQoIW1fc3lu
Y1RpbWVyLmlzQWN0aXZlKCkpOwotICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90
KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVT
aG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAKQEAgLTIxOSw3ICsyMTksNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmly
ZWQoKQogICAgIGlmIChwYXJ0aWFsU3luYykgewogICAgICAgICAvLyBJZiB3ZSBkaWRuJ3QgZmlu
aXNoIHN5bmNpbmcsIHRoZW4gd2UgbmVlZCB0byBmaW5pc2ggdGhlIGpvYiBsYXRlci4KICAgICAg
ICAgQVNTRVJUKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9zeW5jVGltZXIu
c3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5z
dGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
Ly8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbHMgdG8gZGlzYWJsZVN1ZGRl
blRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzY2hlZHVsZUl0ZW1Gb3JTeW5jLCBzY2hl
ZHVsZUNsZWFyLCBhbmQgc2NoZWR1bGVGaW5hbFN5bmMgZnVuY3Rpb25zLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKaW5kZXggNTlhMDBmZTMwYTk2M2Y1ODEzZDhiMGRk
YTA0ZGI2MDgxYTY2MjNiZC4uOTVhOTZhMDNkYzE1YjhmMTJlNzZmNTgyNmI1YTQ4OTgwZmUxMzlk
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBAIC01Miw3ICs1
Miw3IEBAIHN0YXRpYyBTdG9yYWdlVHJhY2tlciogc3RvcmFnZVRyYWNrZXIgPSBudWxscHRyOwog
CiAvLyBJZiB0aGVyZSBpcyBubyBkb2N1bWVudCByZWZlcmVuY2luZyBhIHN0b3JhZ2UgZGF0YWJh
c2UsIGNsb3NlIHRoZSB1bmRlcmx5aW5nIGRhdGFiYXNlCiAvLyBhZnRlciBpdCBoYXMgYmVlbiBp
ZGxlIGZvciBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCBzZWNvbmRzLgotc3RhdGljIGNv
bnN0IGRvdWJsZSBEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gMzAwOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IFNl
Y29uZHMoMzAwKTsKICAgICAKIHZvaWQgU3RvcmFnZVRyYWNrZXI6OmluaXRpYWxpemVUcmFja2Vy
KGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIFN0b3JhZ2VUcmFja2VyQ2xpZW50KiBjbGllbnQp
CiB7CkBAIC05Nyw3ICs5Nyw3IEBAIFN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcihjb25z
dCBTdHJpbmcmIHN0b3JhZ2VQYXRoKQogICAgICwgbV90aHJlYWQoc3RkOjptYWtlX3VuaXF1ZTxT
dG9yYWdlVGhyZWFkPigpKQogICAgICwgbV9pc0FjdGl2ZShmYWxzZSkKICAgICAsIG1fbmVlZHNJ
bml0aWFsaXphdGlvbihmYWxzZSkKLSAgICAsIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
KERlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCisgICAgLCBtX3N0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbChkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaCBi
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCmluZGV4IDU1ZDViMGQyMmU5
YTM5ZjliOGMwODkzN2Y1OTRlOGZhM2JkYWNhODguLjcyNmYzMjUxYjFkMWVlZjZjMWFhZjExMjYx
YzBkMjk5N2I1OTE0ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdl
VHJhY2tlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCkBA
IC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIGlzQWN0aXZlKCk7CiAKLSAg
ICBkb3VibGUgc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKCkgeyByZXR1cm4gbV9TdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWw7IH0KLSAgICB2b2lkIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJ
bnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpIHsgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwg
PSBpbnRlcnZhbDsgfQorICAgIFNlY29uZHMgc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKCkg
eyByZXR1cm4gbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7IH0KKyAgICB2b2lkIHNldFN0
b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fc3RvcmFnZURh
dGFiYXNlSWRsZUludGVydmFsID0gaW50ZXJ2YWw7IH0KIAogICAgIHZvaWQgc3luY0ZpbGVTeXN0
ZW1BbmRUcmFja2VyRGF0YWJhc2UoKTsKIApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAg
ICAgCiAgICAgYm9vbCBtX2lzQWN0aXZlOwogICAgIGJvb2wgbV9uZWVkc0luaXRpYWxpemF0aW9u
OwotICAgIGRvdWJsZSBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOwogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2Vi
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAppbmRleCAxMWJjZTNiZWUwZTBiYTFkNzAyZjcyYzY2
NDUzY2MyYTJiZGViN2Y2Li41MzcyMWU0ODkxZDM0YTIyZTY2MWNkM2Y5MzQxNmJhMmM1MjQyMThj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9h
ZFNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXIuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBXZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXI6OnJlc3VtZVBlbmRpbmdSZXF1ZXN0cygpCiB2b2lkIFdlYlJlc291cmNl
TG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpCiB7CiAgICAgaWYg
KCFtX3JlcXVlc3RUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9z
dGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCAzNmRiYmVjNjI0ZWViMDU0
ZjA2MmEwMjg0MTAwMjliZjA4ZTQyOWQ5Li5lMGQ3ODk0ZjM0NDUzYWRmM2FjOTM3MzBmZDQ4YzNl
ZTVkNmQ3NmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9O
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC03NDQsNyArNzQ0
LDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVk
KCkKICAgICBtX3BsdWdpblJlcXVlc3RzLnJlbW92ZUZpcnN0KCk7CiAgICAgCiAgICAgaWYgKCFt
X3BsdWdpblJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgCiAgICAgcGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC04MDAs
NyArODAwLDcgQEAgTlBFcnJvciBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmxvYWRSZXF1
ZXN0KE5TVVJMUmVxdWVzdCAqcmVxdWVzdCwgY29uc3QgY2gKIAogICAgICAgICBhdXRvIHBsdWdp
blJlcXVlc3QgPSBQbHVnaW5SZXF1ZXN0OjpjcmVhdGUocmVxdWVzdElELCByZXF1ZXN0LCB0YXJn
ZXQsIGFsbG93UG9wdXBzKTsKICAgICAgICAgbV9wbHVnaW5SZXF1ZXN0cy5hcHBlbmQoV1RGTW92
ZShwbHVnaW5SZXF1ZXN0KSk7Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIFJlZlB0cjxIb3N0ZWROZXRzY2FwZVBsdWdpblN0cmVhbT4gc3Ry
ZWFtID0gSG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW06OmNyZWF0ZSh0aGlzLCByZXF1ZXN0SUQs
IHJlcXVlc3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5l
dHNjYXBlUGx1Z2luU3RyZWFtLm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRz
Y2FwZVBsdWdpblN0cmVhbS5tbQppbmRleCAwNWNjNGQ0NzJkYTg2MTBhMzRiYTViZGJlYzhhMTYz
ZTRhZDM4Yjk0Li5jMWQ5YWM4MzQyMTFhNjJiYmYwYjMyNjA3YjNkYTgyYzZkNmI1OWY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFt
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJl
YW0ubW0KQEAgLTUyOSw3ICs1MjksNyBAQCB2b2lkIFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpk
ZWxpdmVyRGF0YSgpCiAgICAgICAgIGlmIChkZWxpdmVyeUJ5dGVzIDw9IDApIHsKICAgICAgICAg
ICAgIC8vIFBsdWctaW4gY2FuJ3QgcmVjZWl2ZSBhbnltb3JlIGRhdGEgcmlnaHQgbm93LiBTZW5k
IGl0IGxhdGVyLgogICAgICAgICAgICAgaWYgKCFtX2RlbGl2ZXJEYXRhVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgICAgICAgICBtX2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICAgICAgICAgIG1fZGVsaXZlckRhdGFUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRl
bGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihkZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxC
eXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dl
Yk5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0
c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IGVlYWFiYTgyNDgxZTczOTBkMzYyZThiM2ExNDJhZTUy
MjAzMjI0YWIuLjhjNjNiMGIwM2ExMDJiZGMwM2MxMTczYTUzNTgzMzcwYWJiNTkwYTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
CkBAIC0xMzYsOSArMTM2LDkgQEAgcHVibGljOgogICAgICAgICAgICAgdGltZUludGVydmFsID0g
c3RkOjptYXgodGltZUludGVydmFsLCBUaHJvdHRsZWRUaW1lckludGVydmFsKTsKICAgICAgICAg
CiAgICAgICAgIGlmIChtX3JlcGVhdCkKLSAgICAgICAgICAgIHN0YXJ0UmVwZWF0aW5nKHRpbWVJ
bnRlcnZhbCk7CisgICAgICAgICAgICBzdGFydFJlcGVhdGluZyhTZWNvbmRzKHRpbWVJbnRlcnZh
bCkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdGFydE9uZVNob3QodGltZUludGVydmFs
KTsKKyAgICAgICAgICAgIHN0YXJ0T25lU2hvdChTZWNvbmRzKHRpbWVJbnRlcnZhbCkpOwogICAg
IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2Vi
U3RvcmFnZU1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VN
YW5hZ2VyLm1tCmluZGV4IDFmOWVhZTU1ZWZkY2E1ZTZmYWQ1ZDYwZTRiZTBmMWI5ODc0MzY4NGQu
LjExOGExMTM0NTZhZGM1ZWI1YWNlOTRhOTk1MGIzYTdiMDVhMjczOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQpAQCAtMTE2LDcgKzExNiw3
IEBAICsgKE5TU3RyaW5nICopX3N0b3JhZ2VEaXJlY3RvcnlQYXRoCiAKICsgKHZvaWQpc2V0U3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsOihkb3VibGUpaW50ZXJ2YWwKIHsKLSAgICBXZWJLaXQ6
OlN0b3JhZ2VUcmFja2VyOjp0cmFja2VyKCkuc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
KGludGVydmFsKTsKKyAgICBXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjp0cmFja2VyKCkuc2V0U3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0KIAogKyAodm9p
ZCljbG9zZUlkbGVMb2NhbFN0b3JhZ2VEYXRhYmFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQppbmRleCA4ZTQ3MWIxNmIzMmE2MjhmYTRlNTg0ZGM4ZGM1YzhjOTkwOWI3YTQzLi5m
NzUwOWQ5MWJkYTM5NDg0NDMwMWQxZjNkYmY3NDkwODFmODdiODAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yNzQ5LDcgKzI3NDksNyBAQCAtICh2b2lkKV9wcmVmZXJl
bmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuY2VzICopcHJlZmVyZW5jZXMKICAgICBzZXR0aW5ncy5z
ZXRTaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzKHNob3VsZERpc3Bh
dGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMoKSk7CiAKICAgICBzZXR0aW5ncy5zZXRQ
YXNzd29yZEVjaG9FbmFibGVkKFtwcmVmZXJlbmNlcyBfYWxsb3dQYXNzd29yZEVjaG9dKTsKLSAg
ICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcyhbcHJlZmVyZW5jZXMg
X3Bhc3N3b3JkRWNob0R1cmF0aW9uXSk7CisgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVy
YXRpb24oU2Vjb25kcyhbcHJlZmVyZW5jZXMgX3Bhc3N3b3JkRWNob0R1cmF0aW9uXSkpOwogCiAg
ICAgQVNTRVJUX1dJVEhfTUVTU0FHRShzZXR0aW5ncy5wYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMo
KSwgIlBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucyBzaG91bGQgYmUgZW5hYmxlZCBvbiBpT1MuIik7
CiAgICAgc2V0dGluZ3Muc2V0RGVsZWdhdGVzUGFnZVNjYWxpbmcodHJ1ZSk7CkBAIC0yODY0LDcg
KzI4NjQsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuY2VzICop
cHJlZmVyZW5jZXMKIAogICAgIE5TVGltZUludGVydmFsIHRpbWVvdXQgPSBbcHJlZmVyZW5jZXMg
aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHNdOwogICAgIGlm
ICh0aW1lb3V0ID4gMCkKLSAgICAgICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdT
dXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHModGltZW91dCk7CisgICAgICAgIHNldHRpbmdzLnNl
dEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFNlY29uZHModGltZW91dCkp
OwogCiAgICAgLy8gQXBwbGljYXRpb24gQ2FjaGUgUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0
aGUgZ2xvYmFsIGNhY2hlIHN0b3JhZ2UgbWFuYWdlciwgbm90IGluIFNldHRpbmdzLgogICAgIFtX
ZWJBcHBsaWNhdGlvbkNhY2hlIHNldERlZmF1bHRPcmlnaW5RdW90YTpbcHJlZmVyZW5jZXMgYXBw
bGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90YV1dOwpAQCAtODI5OCw3ICs4Mjk4LDcgQEAg
KyAodm9pZClfc2V0Q2FjaGVNb2RlbDooV2ViQ2FjaGVNb2RlbCljYWNoZU1vZGVsCiAgICAgdW5z
aWduZWQgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRD
YXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAg
IGF1dG8gZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIHsgMCB9OworICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9
IFNlY29uZHMoMCk7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0gMDsKIApAQCAtODQy
NSw3ICs4NDI1LDcgQEAgKyAodm9pZClfc2V0Q2FjaGVNb2RlbDooV2ViQ2FjaGVNb2RlbCljYWNo
ZU1vZGVsCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWlu
IHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFj
aXR5ID0gc3RkOjptYXg8dW5zaWduZWQ+KDI0LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAg
ICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IFNl
Y29uZHMoNjApOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICBpZiAobWVtU2l6ZSA+PSAx
MDI0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Rh
dGFUYXNrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFz
ay5jcHAKaW5kZXggMzEyNTg4ODMzNTUwZWExZjgyNDdjMzdjOWZkMzk3ZTg1YThjMWQ0NC4uZTVj
NGJkMTY3Mzc3ODY5OWEzOGQ2NmFlNjhiNzk2MmE5Y2E3NjllNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCkBAIC05MSw3ICs5MSw3
IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlw
ZSkKIHsKICAgICBBU1NFUlQodHlwZSAhPSBOb0ZhaWx1cmUpOwogICAgIG1fc2NoZWR1bGVkRmFp
bHVyZVR5cGUgPSB0eXBlOwotICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTmV0
d29ya0RhdGFUYXNrOjpkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3Bv
bnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKaW5kZXggNTE3Zjg0
NWFhYmU1MjNmMmVmYTk2MTg0ZWVmNzI1M2FlMmNhNGQ5Zi4uZWYyM2Y3MDAwNWNlZjdlMDg4Y2Yy
YmMwYTEyYzBlMGExODRmNDc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0xvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtMb2FkLmNwcApAQCAtNTAsNyArNTAsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKICNpZiBVU0UoTkVUV09SS19TRVNTSU9OKQogCiBzdHJ1Y3QgTmV0d29ya0xvYWQ6OlRocm90
dGxlIHsKLSAgICBUaHJvdHRsZShOZXR3b3JrTG9hZCYgbG9hZCwgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBkZWxheSwgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBs
ZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKKyAgICBUaHJvdHRsZShOZXR3b3JrTG9hZCYgbG9hZCwg
U2Vjb25kcyBkZWxheSwgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBs
ZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKICAgICAgICAgOiB0aW1lcihsb2FkLCAmTmV0d29ya0xv
YWQ6OnRocm90dGxlRGVsYXlDb21wbGV0ZWQpCiAgICAgICAgICwgcmVzcG9uc2UoV1RGTW92ZShy
ZXNwb25zZSkpCiAgICAgICAgICwgcmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhh
bmRsZXIpKQpAQCAtMzExLDggKzMxMSw4IEBAIHZvaWQgTmV0d29ya0xvYWQ6OmRpZFJlY2VpdmVS
ZXNwb25zZU5ldHdvcmtTZXNzaW9uKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2lu
Z2xldG9uKCkubG9hZFRocm90dGxlTGF0ZW5jeSgpOwotICAgIGlmIChkZWxheSA+IDBtcykgewor
ICAgIFNlY29uZHMgZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9hZFRocm90
dGxlTGF0ZW5jeSgpOworICAgIGlmIChkZWxheSA+IFNlY29uZHMoMCkpIHsKICAgICAgICAgbV90
aHJvdHRsZSA9IHN0ZDo6bWFrZV91bmlxdWU8VGhyb3R0bGU+KCp0aGlzLCBkZWxheSwgV1RGTW92
ZShyZXNwb25zZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oCmluZGV4IGM5NmQwODI5ZTE1YjZkODhiYWUxNWNmMGMxMmNjNGNkMjM4ZjExM2IuLjhjNWI3
YTQ4ODVmYzQ0OWVlYWRlMDc0NGNkOWZjNjAyNWFjZTYxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMTE1LDcgKzExNSw3IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgZ3JhbnRTYW5kYm94RXh0ZW5zaW9uc1RvRGF0YWJhc2VQcm9jZXNz
Rm9yQmxvYnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgRnVuY3Rpb248dm9pZCAo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBtX2xvYWRUaHJvdHRsZUxhdGVu
Y3k7IH0KKyAgICBTZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBt
X2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KIAogcHJpdmF0ZToKICAgICBOZXR3b3JrUHJvY2Vzcygp
OwpAQCAtMjA3LDcgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3N1cHByZXNzTWVtb3J5
UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIG1fZGlza0NhY2hlSXNEaXNhYmxl
ZEZvclRlc3Rpbmc7CiAgICAgYm9vbCBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0
aW9uOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9sb2FkVGhyb3R0bGVMYXRlbmN5
OworICAgIFNlY29uZHMgbV9sb2FkVGhyb3R0bGVMYXRlbmN5OwogCiAgICAgdHlwZWRlZiBIYXNo
TWFwPGNvbnN0IGNoYXIqLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50
PiwgUHRySGFzaDxjb25zdCBjaGFyKj4+IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcDsKICAg
ICBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXAgbV9zdXBwbGVtZW50czsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGY0NTY5Yzk0NjlhNTc3MmU2MGIxYzliZmY1NjA4NWQz
YWNiNDNjM2QuLjcwOTUxNTMwZTMyOWZhMWM1ZjNmZjhlNjcyYjkzNDMwOGM1OGY4YWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUg
IkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVkZSAiU2FuZGJv
eEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC03Myw3ICs3NCw3
IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBz
aG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBz
aG91bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb247CiAgICAgYm9vbCB1cmxQYXJzZXJFbmFibGVk
IHsgZmFsc2UgfTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxvYWRUaHJvdHRsZUxh
dGVuY3kgeyAwbXMgfTsKKyAgICBTZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICBW
ZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29sczsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKaW5kZXggNDI1NWFkZTQxMTUwZGE5NjlmMjExMTc1MTJk
N2RmNmY3ZjdjOWM0YS4uNWIyOWUwZWJkNDNhMzhiZTUyYWU2NmRjNTIxMDMyZWMyMDY3MGFkNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAg
ICBSZXNvdXJjZUxvYWRJZGVudGlmaWVyIGlkZW50aWZpZXIgeyAwIH07CiAgICAgVmVjdG9yPFJl
ZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5kYm94RXh0ZW5zaW9uczsgLy8g
Q3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAgIFJlZlB0cjxTYW5kYm94
RXh0ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8vIENyZWF0ZWQgYXV0b21hdGlj
YWxseSBmb3IgdGhlIHNlbmRlci4KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGlt
dW1CdWZmZXJpbmdUaW1lIHsgMG1zIH07CisgICAgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGlt
ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOTAxMDU5
OTY4YTM5MTMwMWRhMmFjOTIzNzRiN2Y5MjQ1ZDY5NGRkNi4uNmMxN2NlNWNmNTRlODZiNmE5YjZh
OWU2NzgwYzMxOTRkOTA1YTg1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yMDksNyArMjA5LDcgQEAg
dm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQoY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0KQogCiAgICAgY29uc3VtZVNhbmRib3hFeHRlbnNpb25zKCk7CiAK
LSAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVycy5tYXhpbXVtQnVmZmVyaW5n
VGltZSA+IDBtcykKKyAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVycy5tYXhp
bXVtQnVmZmVyaW5nVGltZSA+IFNlY29uZHMoMCkpCiAgICAgICAgIG1fYnVmZmVyZWREYXRhID0g
U2hhcmVkQnVmZmVyOjpjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKaW5kZXggMzAwYzMwODEyNGYzNGNh
NjdhOWRhNWJiNzQwNTRlNjAyZWMyOWQxMi4uODE2MjY1M2JkM2ZiNWZmMjYzNmEzZTA5MWZiN2Rh
N2U3NDhlZTZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGlu
Z0xvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCkBA
IC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVy
IHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAg
IC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcyg2MDAwMCkpOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGYy
NjIyOWQwZTBhOWE3N2ExNzZhZWY0MTE5ZGM0ZTdkODQ4OWI0MTguLmNjODMwNjMyNzQwMDFjZDQx
NDRkYjBmZWJiMWQ1Y2JhMzRjZDcwMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3Jr
Q2FjaGUgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8g
cHJlbG9hZGVkRW50cnlMaWZldGltZSA9IDEwczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZWxv
YWRlZEVudHJ5TGlmZXRpbWUgPSBTZWNvbmRzKDEwKTsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0
YXRpYyBIYXNoQ291bnRlZFNldDxTdHJpbmc+JiBhbGxTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9z
dGljTWVzc2FnZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAppbmRleCBlOGRjNjQzYzdm
MjQ1MmJhOWRjNTMzZjUxOGUxZmZiYTk5ODhkNTFiLi5jMGVlMjBhNjRlMmFkMmViZWY5MmM3MjA0
ZmFjNjc5NjgwODc1MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcApAQCAtNDQsNyAr
NDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiBz
dGF0aWMgY29uc3QgY2hhciogU3RhdGlzdGljc0RhdGFiYXNlTmFtZSA9ICJXZWJLaXRDYWNoZVN0
YXRpc3RpY3MuZGIiOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWlu
aW51bVdyaXRlSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDEwMDAwKTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0gU2Vjb25kcygxMCk7CiAK
IHN0YXRpYyBib29sIGV4ZWN1dGVTUUxDb21tYW5kKFdlYkNvcmU6OlNRTGl0ZURhdGFiYXNlJiBk
YXRhYmFzZSwgY29uc3QgU3RyaW5nJiBzcWwpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCmluZGV4
IDA1YTNkMWM2MWY2MzBjNjFhNDVlNDc0MjhhZWJjZThhMmYyMzJlNmMuLmJkODFjM2I3MmE4NmNj
OTQ3OWE2ZWI2NDVhYTU2YjhiYzBjMWRjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCkBAIC01
NzQsNyArNTc0LDcgQEAgdm9pZCBTdG9yYWdlOjpkaXNwYXRjaFJlYWRPcGVyYXRpb24oc3RkOjp1
bmlxdWVfcHRyPFJlYWRPcGVyYXRpb24+IHJlYWRPcGVyYXRpb24KICAgICBtX2FjdGl2ZVJlYWRP
cGVyYXRpb25zLmFkZChXVEZNb3ZlKHJlYWRPcGVyYXRpb25QdHIpKTsKIAogICAgIC8vIEkvTyBw
cmVzc3VyZSBtYXkgbWFrZSBkaXNrIG9wZXJhdGlvbnMgc2xvdy4gSWYgdGhleSBzdGFydCB0YWtp
bmcgdmVyeSBsb25nIHRpbWUgd2UgcmF0aGVyIGdvIHRvIG5ldHdvcmsuCi0gICAgY29uc3QgYXV0
byByZWFkVGltZW91dCA9IDE1MDBtczsKKyAgICBjb25zdCBTZWNvbmRzIHJlYWRUaW1lb3V0ID0g
U2Vjb25kcygxLjUpOwogICAgIG1fcmVhZE9wZXJhdGlvblRpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3QocmVhZFRpbWVvdXQpOwogCiAgICAgYm9vbCBzaG91bGRHZXRCb2R5QmxvYiA9IG1heUNvbnRh
aW5CbG9iKHJlYWRPcGVyYXRpb24ua2V5KTsKQEAgLTc5Niw3ICs3OTYsNyBAQCB2b2lkIFN0b3Jh
Z2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBNYXBwZWRCb2R5SGFuZGxlciYmIG1hcHBl
ZEJvZHlIYW5kbGVyKQogCiAgICAgLy8gRGVsYXkgdGhlIHN0YXJ0IG9mIHdyaXRlcyBhIGJpdCB0
byBhdm9pZCBhZmZlY3RpbmcgZWFybHkgcGFnZSBsb2FkLgogICAgIC8vIENvbXBsZXRpbmcgd3Jp
dGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3cml0ZXMgd2l0aG91dCBkZWxheS4KLSAgICBzdGF0aWMg
Y29uc3QgYXV0byBpbml0aWFsV3JpdGVEZWxheSA9IDFzOworICAgIHN0YXRpYyBjb25zdCBTZWNv
bmRzIGluaXRpYWxXcml0ZURlbGF5ID0gU2Vjb25kcygxKTsKICAgICBtX3dyaXRlT3BlcmF0aW9u
RGlzcGF0Y2hUaW1lci5zdGFydE9uZVNob3QoaW5pdGlhbFdyaXRlRGVsYXkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRh
c2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtE
YXRhVGFza0NvY29hLm1tCmluZGV4IDRjZWZhOGViMzU3YWU0NGJkMjVhNTc0NmI0NWZmOWEwOGI0
ZTIwZGYuLmYwODc1MmU1NGM5YzcxNTU1ZGQwYTcxNGYxMDM3MTQyMjllMWUzMDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0Nv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtE
YXRhVGFza0NvY29hLm1tCkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tD
b2NvYTo6Y2FuY2VsKCkKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7CiAg
ICAgaWYgKG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKQotICAgICAgICBtX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKDApKTsKICAgICBbbV90YXNrIHJlc3VtZV07CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDlhYzc2YzZk
Mzk0N2RlMjY4NzFlYjY4OTIwNjViZGE2Yjc3OGNmZTEuLmQwNDZhZjVkZTIwNzM2MzI3YjEwNzY4
MzBlY2I5YjhhOWVmZWQ1ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9Bcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Fy
Z3VtZW50Q29kZXJzLmNwcApAQCAtMzIsNiArMzIsMzYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAK
K3ZvaWQgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IE1vbm90b25pY1RpbWUmIHRpbWUpCit7CisgICAgZW5jb2RlciA8PCB0aW1lLnNl
Y29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkK
K3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHRpbWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3
U2Vjb25kcyh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxTZWNvbmRzPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29u
ZHMpCit7CisgICAgZW5jb2RlciA8PCBzZWNvbmRzLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1l
bnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29u
ZHMpCit7CisgICAgZG91YmxlIHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6
c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Pjo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2Rlciwg
Y29uc3Qgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYgdGltZVBvaW50KQog
ewogICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8aW50NjRfdD4odGltZVBvaW50LnRpbWVfc2lu
Y2VfZXBvY2goKS5jb3VudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9Bcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmgKaW5kZXggMDU2OGFjZWE5ZjQ3OTcxNDViMDBkOWRiNTc2YzNjMThjNzc1M2Ux
Yy4uNzc0MDQ5YWYyMjY3MTcyYjEyMTJhYWZmZmMyYzVhZDMyZTMxNTE1MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTE2Myw3ICsxNjMsNiBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBFbGVtZW50cz4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3Rk
Ojp0dXBsZTxFbGVtZW50cy4uLj4+IHsKICAgICB9CiB9OwogCi0KIHRlbXBsYXRlPHR5cGVuYW1l
IFJlcCwgdHlwZW5hbWUgUGVyaW9kPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6
ZHVyYXRpb248UmVwLCBQZXJpb2Q+PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlvZD4mIGR1cmF0
aW9uKQogICAgIHsKQEAgLTM3OSw2ICszNzgsMTYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJn
LCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFpdHNBcmc+IHN0cnVjdCBBcmd1bWUK
ICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3Rv
bmljVGltZT4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpN
b25vdG9uaWNUaW1lJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1v
bm90b25pY1RpbWUmKTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RG
OjpTZWNvbmRzPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6
OlNlY29uZHMmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25k
cyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6
c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29k
ZXImLCBjb25zdCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CiAgICAg
c3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0
aW1lX3BvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRl
eCA1MDNjZjVmM2JiMjI2MjYxYzIyNDBkZWM4MmQ2ZTA3ZWFhZGZlMWUyLi4xOGJmMzFjNjY0YzBj
MmRmYjg1MTRhZTgzMjc3ZGYwMTBjMjEyMWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBib29sIGtpbGwoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNvb24oZG91Ymxl
IGludGVydmFsSW5TZWNvbmRzKTsKKyAgICB2b2lkIHRlcm1pbmF0ZVNvb24oU2Vjb25kcyk7CiAj
ZW5kaWYKIAogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFj
Lm1tIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmlu
ZGV4IDI4OTk1MTI5NDYzZTgzMTkxMDcwYmVlODVmZGJlODcwNTQ4ZTU1YjEuLjcwNDQ2OTE1NmFm
ODFiZDQxNThmMTcxZTA4MTdkODhlZGJmYjE3YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KQEAgLTgwLDIwICs4MCwyMCBAQCBlbnVt
IHsKIC8vICAgIHRvIGVuc3VyZSBpdCBoYXMgYSBjaGFuY2UgdG8gdGVybWluYXRlIGNsZWFubHku
CiBjbGFzcyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8
eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25k
cykKKyAgICBzdGF0aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhP
U09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRl
cnZhbCkKICAgICB7Ci0gICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4
cGNDb25uZWN0aW9uLCBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIG5ldyBDb25uZWN0aW9u
VGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiAgICAgfQogICAg
IAogcHJpdmF0ZToKLSAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0
cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNv
bmRzKQorICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19j
b25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgICAgICA6
IG1feHBjQ29ubmVjdGlvbih4cGNDb25uZWN0aW9uKQogICAgICAgICAsIG1fd2F0Y2hkb2dUaW1l
cihSdW5Mb29wOjptYWluKCksIHRoaXMsICZDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6
d2F0Y2hkb2dUaW1lckZpcmVkKQogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgLCBtX2Fzc2Vy
dGlvbihzdGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNf
Y29ubmVjdGlvbl9nZXRfcGlkKG1feHBjQ29ubmVjdGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0
aW9uU3RhdGU6OkJhY2tncm91bmQpKQogI2VuZGlmCiAgICAgewotICAgICAgICBtX3dhdGNoZG9n
VGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbV93YXRjaGRv
Z1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgd2F0
Y2hkb2dUaW1lckZpcmVkKCkKQEAgLTE1MSwxMCArMTUxLDEwIEBAIHZvaWQgQ29ubmVjdGlvbjo6
cGxhdGZvcm1JbnZhbGlkYXRlKCkKICNlbmRpZgogfQogICAgIAotdm9pZCBDb25uZWN0aW9uOjp0
ZXJtaW5hdGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKK3ZvaWQgQ29ubmVjdGlvbjo6
dGVybWluYXRlU29vbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3hwY0Nvbm5lY3Rp
b24pCi0gICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0
aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRz
KTsKKyAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rp
b25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogfQogICAg
IAogdm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUluaXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlm
aWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250
cm9sbGVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250
cm9sbGVyUHJveHkuY3BwCmluZGV4IGRhOWRiMjI0ZWRjMGVhMGNiZDAwMmRjMTcxMmEwYzE4NmQx
OTM1ZTQuLjExY2JhYTMxZGM1YjM3ZTc5YmU0NTVlMGM4M2FhMTE1YWU3MTBlNjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94
eS5jcHAKQEAgLTE0Nyw3ICsxNDcsNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVz
dHJveSgpCiAgICAgaWYgKG1fcGx1Z2luRGVzdHJ1Y3Rpb25Qcm90ZWN0Q291bnQgfHwgbV9jb25u
ZWN0aW9uLT5jb25uZWN0aW9uKCktPmluU2VuZFN5bmMoKSkgewogICAgICAgICAvLyBXZSBoYXZl
IHBsdWctaW4gY29kZSBvbiB0aGUgc3RhY2sgc28gd2UgY2FuJ3QgZGVzdHJveSBpdCByaWdodCBu
b3cuCiAgICAgICAgIC8vIERlc3Ryb3kgaXQgbGF0ZXIuCi0gICAgICAgIG1fcGx1Z2luRGVzdHJv
eVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yMTUs
NyArMjE1LDcgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnN0YXJ0UGFpbnRUaW1lcigp
CiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lci4KLSAgICBtX3BhaW50
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGFpbnRUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiAKICAgICBtX3dhaXRpbmdGb3JEaWRVcGRhdGUgPSB0cnVlOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKaW5kZXggYTcyNGVi
MDhmOTBkNTlkYjEyOTgyMzQ0MWU3N2UwOGZlZWM3YjI1Yi4uY2EyMTQ2YzM3ZjZmMWZmODc2NDBk
ZDI2ZjMwNDcwMmY3NTY4MjE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuY3BwCkBAIC0yMjAsOSArMjIwLDkgQEAgdm9pZCBQbHVnaW5Qcm9jZXNz
OjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9z
dE5hbWUKICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpQbHVn
aW5Qcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNhbGxiYWNr
SUQpLCAwKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoZG91
YmxlIGxpZmV0aW1lKQordm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoU2Vj
b25kcyBsaWZldGltZSkKIHsKLSAgICBpZiAobGlmZXRpbWUgPD0gMC4wKQorICAgIGlmIChsaWZl
dGltZSA8PSBTZWNvbmRzKDApKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgZGlzYWJsZVRl
cm1pbmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5oCmluZGV4IDlhOTBlNGMyNTM5M2E3ZWQ0NmM5ODdiNWVlNDQ0OWE3NGFiOTIzM2IuLjIwYWMw
NjdiMDQ5NWU2YWM3NjIyYzAwNjIwMDM4YzAxZjVmMzAyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0xMDIsNyArMTAyLDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2luUHJvY2VzcyhQbHVnaW5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIAotICAgIHZvaWQgc2V0TWluaW11bUxpZmV0
aW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRpbWUoU2Vjb25kcyk7CiAgICAg
dm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCk7CiAgICAgLy8gT3VyIHdlYiBwcm9jZXNz
IGNvbm5lY3Rpb25zLgogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJvY2Vzc0Nvbm5lY3Rpb24+PiBt
X3dlYlByb2Nlc3NDb25uZWN0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DYWNoZU1vZGVsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcApp
bmRleCA0MDNmMzRkZmNkNGI3YWRjNDliYTA0NjJiOWZkZWZhNmRlZjNmZDQ1Li4xMmJhN2IxMzFh
MWQ4OWY5YTlkZWQ4YzA1NWJhYjU4N2E4MzQ4YTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hl
TW9kZWwuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi12b2lk
IGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25l
ZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVu
c2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJvbm86OnNlY29uZHMmIGRlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkK
K3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVu
c2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0
eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNvbmRzJiBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpCiB7CiAgICAg
dWludDY0X3QgbWVtb3J5U2l6ZSA9IHJhbVNpemUoKSAvIE1COwogCkBAIC0xMDksNyArMTA5LDcg
QEAgdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwg
dW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2kKICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhl
IG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAg
ICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heCgyNHUsIGNhY2hlTWF4RGVhZENhcGFj
aXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpj
aHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsID0gU2Vjb25kcyg2MCk7CiAKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DYWNoZU1vZGVsLmgKaW5kZXggY2Y0NzM0NTRmZTJhYzMzZDNjYTQzYTcyZmE1OTNlNGM0
ZTUxZDNkNS4uMWUwNzc2ODhlYTc4ZGM4NDI5ODhmNGY1ZjAzYWNhYmI5MzEyNGE3MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCkBAIC0yNiw4ICsyNiw4IEBACiAjaWZuZGVmIENhY2hl
TW9kZWxfaAogI2RlZmluZSBDYWNoZU1vZGVsX2gKIAotI2luY2x1ZGUgPGNocm9ubz4KICNpbmNs
dWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIApAQCAtMzcsNyArMzcsNyBAQCBlbnVtIENhY2hlTW9kZWwgewogICAgIENhY2hlTW9k
ZWxQcmltYXJ5V2ViQnJvd3NlcgogfTsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVz
KENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNo
ZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNo
cm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQm
IHBhZ2VDYWNoZUNhcGFjaXR5KTsKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNo
ZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5E
ZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5
KTsKIHZvaWQgY2FsY3VsYXRlVVJMQ2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1aW50NjRfdCBkaXNr
RnJlZVNpemUsIHVuc2lnbmVkJiB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1aW50NjRfdCYgdXJs
Q2FjaGVEaXNrQ2FwYWNpdHkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXggMTc1Nzg5ZmI5YWU3MTNmMTZlZWVkYmZhYmUw
MGQ2ZjMzZTYzY2YyMy4uNDliNzk0NjVkZjZlMWIyYTEyMWMzZmE1MmQwMDNmYjE5NTFiYzI1YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMzLDggKzMzLDcgQEAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2VzcygpCi0gICAg
OiBtX3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkK
KyAgICA6IG1fdGVybWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1pbmF0aW9uVGltZXIo
UnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5hdGlvblRpbWVyRmly
ZWQpCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9jZXNzIFN1cHByZXNz
aW9uIERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9j
ZXNzLmgKaW5kZXggYTA2ZTM0OWEzOGMyODFmNWFjZThkMzYyMmEwNTQ2MWY5NDA0ZGE1Yy4uOTg1
YWQ2YTYxYjJhODJhYjc4NTAyOWZlNDJkZWM0NzUyZWZjNDZjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DaGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgZXhwbGlj
aXQgQ2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNzKCk7CiAKLSAgICB2
b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9u
VGltZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChTZWNv
bmRzIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzTmFt
ZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKQEAgLTExNyw3
ICsxMTcsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGluIHNlY29uZHMsIGJl
Zm9yZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1pbmF0aW9uCiAgICAg
Ly8gaGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNvbmRzLCB0aGUgcHJv
Y2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91YmxlIG1fdGVybWlu
YXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICAv
LyBBIHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVhY2hlcyB6ZXJvLCB0
aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBhIGdpdmVuIHBlcmlv
ZCBvZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGExMmE0NDQ1YmIx
NmNhYWY2OTI3M2I2NGE4NjMyMTA4ZTdkNTQ5ZjQuLmIxYTM0YTRkZjFkMmQ4MjU5OGFjYTZjZjg0
NTRlYjRmYTFjZGU2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5z
L1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTMwLDYg
KzMwLDcgQEAKIAogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJQbHVnaW5Qcm9j
ZXNzQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKICNpZiBQTEFURk9S
TShDT0NPQSkKICNpbmNsdWRlIDxXZWJDb3JlL01hY2hTZW5kUmlnaHQuaD4KQEAgLTUxLDggKzUy
LDggQEAgc3RydWN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFBsdWdp
blByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlOwogICAgIGJvb2wgc3VwcG9ydHNBc3luY2hyb25vdXNQ
bHVnaW5Jbml0aWFsaXphdGlvbjsKIAotICAgIGRvdWJsZSBtaW5pbXVtTGlmZXRpbWU7Ci0gICAg
ZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1pbmltdW1MaWZldGltZTsK
KyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ1BvcnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4
IGYwZmZiNzcyNmE1M2VlNGY4NDIzZDQ2Yjc5YmIwZmRhZjA1ZGU3YzQuLjM4MGUwMWU1ZTc0NjE3
MzdlNTc1M2U5NjY1YWMyZTM0NjA1NTI2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0xMDYsMzYgKzEwNiw2IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBJUEMgewogCi12b2lkIEFyZ3VtZW50Q29kZXI8
TW9ub3RvbmljVGltZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNU
aW1lJiB0aW1lKQotewotICAgIGVuY29kZXIgPDwgdGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZh
bHVlKCk7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIsIE1vbm90b25pY1RpbWUmIHRpbWUpCi17Ci0gICAgZG91YmxlIHZhbHVl
OwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0KLSAgICB0aW1lID0gTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOwotICAg
IHJldHVybiB0cnVlOwotfQotCi12b2lkIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTZWNvbmRzJiBzZWNvbmRzKQotewotICAgIGVuY29kZXIg
PDwgc2Vjb25kcy52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZWNvbmRzJiBzZWNvbmRzKQotewotICAgIGRvdWJsZSB2
YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgc2Vjb25kcyA9IFNlY29uZHModmFsdWUpOwotICAgIHJldHVybiB0cnVlOwot
fQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWZmaW5lVHJhbnNmb3JtKQogewogICAg
IFNpbXBsZUFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5jb2RlKGVuY29kZXIsIGFm
ZmluZVRyYW5zZm9ybSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKaW5kZXggNDgxOWZjYmMwNGFjNzE2MjU2NzNhODQ0NjdmNzQ1NDJjY2I5Mjk5NS4u
MzE1NDA2MmQ5ZGMzNTJhOTFmNGIzM2JiNjU0Mzk5NTZlNTg4MDliNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsMTEgKzMxLDYgQEAK
ICNpbmNsdWRlIDxXZWJDb3JlL0luZGV4ZWREQi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGF5bWVu
dEhlYWRlcnMuaD4KIAotbmFtZXNwYWNlIFdURiB7Ci1jbGFzcyBNb25vdG9uaWNUaW1lOwotY2xh
c3MgU2Vjb25kczsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNm
b3JtOwogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CkBAIC0xNTIsMTYgKzE0Nyw2IEBA
IHVzaW5nIElEQktleVBhdGggPSBWYXJpYW50PFN0cmluZywgVmVjdG9yPFN0cmluZz4+OwogCiBu
YW1lc3BhY2UgSVBDIHsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6Ok1v
bm90b25pY1RpbWU+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdU
Rjo6TW9ub3RvbmljVGltZSYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RG
OjpNb25vdG9uaWNUaW1lJik7Ci19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVy
PFdURjo6U2Vjb25kcz4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3Qg
V1RGOjpTZWNvbmRzJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6OlNl
Y29uZHMmKTsKLX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
QWZmaW5lVHJhbnNmb3JtPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25z
dCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVj
b2RlciYsIFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA1M2ZhNmVhMjk3M2NlN2IxZGIzY2ZmMzkyNzUx
ZWFiZjRlMThkMTAuLjQ0NjNhMDc4MmRhZDZmZGU3MDAwNjc3YThmYzU2YjQ0MDQ5ZTI3MWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKQEAgLTU3LDcgKzU3
LDYgQEAgV2ViTWVtb3J5U2FtcGxlcjo6V2ViTWVtb3J5U2FtcGxlcigpCiAgICAgOiBtX3NhbXBs
ZVRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZCkKICAgICAs
IG1fc3RvcFRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQpCiAg
ICAgLCBtX2lzUnVubmluZyhmYWxzZSkKLSAgICAsIG1fcnVubmluZ1RpbWUoMCkKIHsKIH0KIApA
QCAtNjcsNyArNjYsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IGRvdWJs
ZSBpbnRlcnZhbCkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGluaXRpYWxpemVUZW1wTG9n
RmlsZSgpOwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAgIGluaXRpYWxpemVU
aW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQogCiB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0
YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZSwg
Y29uc3QgU3RyaW5nJiBzYW1wbGVMb2dGaWxlUGF0aCwgY29uc3QgZG91YmxlIGludGVydmFsKSAK
QEAgLTgyLDE3ICs4MSwxNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZQogICAgIH0KICAgICAg
ICAgCiAgICAgaW5pdGlhbGl6ZVNhbmRib3hlZExvZ0ZpbGUoc2FtcGxlTG9nRmlsZUhhbmRsZSwg
c2FtcGxlTG9nRmlsZVBhdGgpOwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAg
IGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgCiB9CiAKLXZvaWQgV2Vi
TWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFdl
Yk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyBpbnRlcnZhbCkKIHsKLSAg
ICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEpOworICAgIG1fc2FtcGxlVGltZXIuc3Rh
cnRSZXBlYXRpbmcoU2Vjb25kcygxKSk7CiAgICAgcHJpbnRmKCJTdGFydGVkIG1lbW9yeSBzYW1w
bGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJvY2Vzc05hbWUoKS51dGY4KCkuZGF0YSgpLCBnZXRw
aWQoKSk7Ci0gICAgaWYgKGludGVydmFsID4gMCkgeworICAgIGlmIChpbnRlcnZhbCA+IFNlY29u
ZHMoMCkpIHsKICAgICAgICAgbV9zdG9wVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKLSAg
ICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsKTsK
KyAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFs
LnZhbHVlKCkpOwogICAgIH0KICAgICBwcmludGYoIjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQg
YXQ6ICVzXG4iLCBtX3NhbXBsZUxvZ0ZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwogICAgIG1fcnVu
bmluZ1RpbWUgPSBpbnRlcnZhbDsKQEAgLTE1OSw3ICsxNTgsNyBAQCB2b2lkIFdlYk1lbW9yeVNh
bXBsZXI6OnN0b3BUaW1lckZpcmVkKCkKIHsKICAgICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAg
ICByZXR1cm47Ci0gICAgcHJpbnRmKCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9y
eSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5pbmdUaW1lKTsKKyAgICBwcmludGYoIiVnIHNlY29uZHMg
ZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5IHNhbXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUudmFs
dWUoKSk7CiAgICAgc3RvcCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNh
bXBsZXIuaAppbmRleCAyNzg3YjUxNWRhYmM1MWViZWM1YmMwNjQ2ZjEzYmVmZTUxMjk4NjIyLi5k
YTQyODhiNTg0MDlmZmJhYWY4ZDI3M2NiMzg1ODQ1YjBkMWQ4ODYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKQEAgLTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGluaXRpYWxpemVUZW1wTG9nRmlsZSgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVNhbmRi
b3hlZExvZ0ZpbGUoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiwgY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCB3cml0ZUhlYWRlcnMoKTsKLSAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMo
ZG91YmxlKTsKKyAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyk7CiAgICAgdm9pZCBz
YW1wbGVUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBzdG9wVGltZXJGaXJlZCgpOwogICAgIHZvaWQg
YXBwZW5kQ3VycmVudE1lbW9yeVVzYWdlVG9GaWxlKFdlYkNvcmU6OlBsYXRmb3JtRmlsZUhhbmRs
ZSYpOwpAQCAtMTAwLDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VGltZXIgbV9z
YW1wbGVUaW1lcjsKICAgICBXZWJDb3JlOjpUaW1lciBtX3N0b3BUaW1lcjsKICAgICBib29sIG1f
aXNSdW5uaW5nOwotICAgIGRvdWJsZSBtX3J1bm5pbmdUaW1lOworICAgIFNlY29uZHMgbV9ydW5u
aW5nVGltZTsKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94
RXh0ZW5zaW9uOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZWM4NmUxZTIxZmZjY2Q2ZDg3MmFhYTFmMmQ0
MTllNDY2NmEzMjdkYi4uMGQzN2I5YTNlZDdlMzY0YzFjNGI2OTkzZjkwNjc5MmE1ZmVhZWVkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCkBAIC0xMTMsNyArMTEzLDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMgewogCiAgICAgYm9vbCBpY29uRGF0YWJhc2VFbmFibGVkOwogCi0gICAgZG91Ymxl
IHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAog
ICAgIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCmluZGV4IDZhZjc5MDJkYTNmOWZh
OWMyZWFiZGFhYTBlNWQ3ODVmNjUzMmU2ZTcuLjQzNjhjYzJjYzFiM2Y1YzZkNWE4ZWIzYjM4MGIy
ZThiZGIzYTRhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSU9TdXJmYWNlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZWdpb24uaD4KLSNpbmNsdWRlIDxjaHJvbm8+CisjaW5jbHVkZSA8d3RmL01vbm90
b25pY1RpbWUuaD4KIAogT0JKQ19DTEFTUyBDQUxheWVyOwogCkBAIC05MSw3ICs5MSw3IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgc2V0QnVmZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlIHR5cGUsIGJv
b2wgaXNWb2xhdGlsZSk7CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3Bv
aW50IGxhc3REaXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9
CisgICAgTW9ub3RvbmljVGltZSBsYXN0RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xh
c3REaXNwbGF5VGltZTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgZHJhd0luQ29udGV4dChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQmLCBDR0ltYWdlUmVmIGJhY2tJbWFnZSk7CkBAIC0xMDMsOCAr
MTAzLDEwIEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBtX2xheWVyOwog
CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fc2l6ZTsKLSAgICBmbG9hdCBtX3NjYWxlOwotICAg
IGJvb2wgbV9pc09wYXF1ZTsKKyAgICBmbG9hdCBtX3NjYWxlIHsgMSB9OworCisgICAgYm9vbCBt
X2lzT3BhcXVlIHsgZmFsc2UgfTsKKyAgICBib29sIG1fYWNjZWxlcmF0ZXNEcmF3aW5nIHsgZmFs
c2UgfTsKIAogICAgIFdlYkNvcmU6OlJlZ2lvbiBtX2RpcnR5UmVnaW9uOwogCkBAIC0xMTIsNyAr
MTE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFw
OwogI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJ
T1N1cmZhY2U+IHN1cmZhY2U7Ci0gICAgICAgIGJvb2wgaXNWb2xhdGlsZSA9IGZhbHNlOworICAg
ICAgICBib29sIGlzVm9sYXRpbGUgeyBmYWxzZSB9OwogI2VuZGlmCiAKICAgICAgICAgZXhwbGlj
aXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0CkBAIC0xMzgsMTEgKzE0MCw5IEBAIHByaXZhdGU6CiAK
ICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaDsK
IAotICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmc7Ci0KICAgICBXZWJDb3JlOjpSZXBhaW50
UmVjdExpc3QgbV9wYWludGluZ1JlY3RzOwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX2xhc3REaXNwbGF5VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFz
dERpc3BsYXlUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCBk
NTcxOWRkYTEyYmVhYjgyMmRmMzJiNzIxNThlYmE2YTVlOTk0MjA1Li5jYmNmNzFjNWY3NTRlZWMz
ZTg2MGZmMTJmYzczZmZhODVjNjdkZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KQEAgLTYyLDggKzYyLDYgQEAgc3Rh
dGljIFdlYkNvcmU6OklPU3VyZmFjZTo6Rm9ybWF0IGJ1ZmZlckZvcm1hdChib29sIGlzT3BhcXVl
KQogCiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoUGxh
dGZvcm1DQUxheWVyUmVtb3RlKiBsYXllcikKICAgICA6IG1fbGF5ZXIobGF5ZXIpCi0gICAgLCBt
X2lzT3BhcXVlKGZhbHNlKQotICAgICwgbV9sYXN0RGlzcGxheVRpbWUoc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6dGltZV9wb2ludDo6bWluKCkpCiB7CiAgICAgaWYgKCFtX2xheWVyKQogICAg
ICAgICByZXR1cm47CkBAIC0yMzEsNyArMjI5LDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZTo6ZGlzcGxheSgpCiB7CiAgICAgQVNTRVJUKCFtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVz
aCk7CiAKLSAgICBtX2xhc3REaXNwbGF5VGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6
Om5vdygpOworICAgIG1fbGFzdERpc3BsYXlUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAK
ICAgICBib29sIG5lZWRUb0VuY29kZUJhY2tpbmdTdG9yZSA9IGZhbHNlOwogICAgIGlmIChSZW1v
dGVMYXllclRyZWVDb250ZXh0KiBjb250ZXh0ID0gbV9sYXllci0+Y29udGV4dCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmVDb2xsZWN0aW9uLmgKaW5kZXggZmU0OTcxZWU3MzkyNDE0YWJjMTE5NDBhYzc5ZjhmNzkx
NGNhNDg2Mi4uY2Q4M2EzOGQ5ODQ1NWRiNWQ1NGVkM2Y0NjUzOTg2ZWVkOTc0NTMyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfTsK
ICAgICB0eXBlZGVmIHVuc2lnbmVkIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3M7CiAgICAgYm9vbCBt
YXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZSYsIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3Mgdm9sYXRpbGl0eU1hcmtpbmdGbGFncyA9IDApOwot
ICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Jiwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBub3cpOworICAgIGJvb2wg
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgTW9ub3Rv
bmljVGltZSBub3cpOwogCiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1f
bGl2ZUJhY2tpbmdTdG9yZTsKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4g
bV91bnBhcmVudGVkQmFja2luZ1N0b3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRl
eCAyNjgzNmU3YmYzODY0N2U0ODAwYTY0YjBjNzVjZTZmZmIwY2ExNGJlLi5iZGM4N2E3MDgwNzM2
NGU2NjM5OWM5ZDY3YzI1NmUzMWVmZmM4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5t
bQpAQCAtMzAsOSArMzAsOSBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCIK
ICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUNvbnRleHQuaCIKIAotY29uc3Qgc3RkOjpjaHJvbm86
OnNlY29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAxczsKLWNvbnN0IHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQgPSAyMDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwgPSAyMDBtczsKK2NvbnN0IFNlY29uZHMgdm9sYXRpbGVCYWNraW5n
U3RvcmVBZ2VUaHJlc2hvbGQgPSBTZWNvbmRzKDEpOworY29uc3QgU2Vjb25kcyB2b2xhdGlsZVNl
Y29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IFNlY29uZHMoMC4yKTsKK2NvbnN0IFNl
Y29uZHMgdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDAuMik7CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCkBAIC0xMjAsNyArMTIwLDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW8K
ICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlOwogfQogCi1i
b29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZv
bGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUsIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93KQorYm9vbCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tp
bmdTdG9yZSYgYmFja2luZ1N0b3JlLCBNb25vdG9uaWNUaW1lIG5vdykKIHsKICAgICBpZiAobm93
IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGltZSgpIDwgdm9sYXRpbGVCYWNraW5nU3RvcmVB
Z2VUaHJlc2hvbGQpIHsKICAgICAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxh
eVRpbWUoKSA+PSB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkKQEAg
LTE2NCw3ICsxNjQsNyBAQCB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
dm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewogICAgIGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tp
bmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIAotICAgIGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsK
ICAgICBmb3IgKGNvbnN0IGF1dG8mIGJhY2tpbmdTdG9yZSA6IG1fbGl2ZUJhY2tpbmdTdG9yZSkK
ICAgICAgICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlICY9IG1hcmtCYWNr
aW5nU3RvcmVWb2xhdGlsZSgqYmFja2luZ1N0b3JlLCBub3cpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNv
Y29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVk
U2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0NWRmZWQzMWM1OTE4MzU4YmU3ZjY3MTZiMWJm
ZTcwMTg4YjU5Li5kYzU2MTk5ZTY5OTJjNjdhMmUyMGU3ZmVlN2U5ZTk3MTM3ZTljNmUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KQEAgLTQ2LDcgKzQ2LDcgQEAgcHVi
bGljOgogICAgIHsKICAgICAgICAgaWYgKCFtX2NvbnRleHQpIHsKICAgICAgICAgICAgIG1fY29u
dGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxsb2NdIGluaXRdKTsKLSAgICAgICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygxKSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNz
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBmZDhiYzVhYzlhOTdjODMwNTVkNDhiNzViYTgwMDkzMzk5NjUxN2IwLi45ZWVjYTIw
NmRkMmVlNmZiZmFmMGMzZWExN2EzZDRmNDc0NzI4OTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCB2b2lk
IENoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93blByb2Nlc3MoKQogICAgICAgICAvLyBPbiBpT1Mg
ZGVwbG95IGEgd2F0Y2hkb2cgaW4gdGhlIFVJIHByb2Nlc3MsIHNpbmNlIHRoZSBjaGlsZCBwcm9j
ZXNzIG1heSBiZSBzdXNwZW5kZWQuCiAgICAgICAgIC8vIElmIDMwcyBpcyBpbnN1ZmZpY2llbnQg
Zm9yIGFueSBvdXRzdGFuZGluZyBhY3Rpdml0eSB0byBjb21wbGV0ZSBjbGVhbmx5LCB0aGVuIGl0
IHdpbGwgYmUga2lsbGVkLgogICAgICAgICBBU1NFUlQobV9jb25uZWN0aW9uKTsKLSAgICAgICAg
bV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT50
ZXJtaW5hdGVTb29uKFNlY29uZHMoMzApKTsKICNlbmRpZgogICAgICAgICBicmVhazsKICAgICBj
YXNlIFN0YXRlOjpUZXJtaW5hdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNDUyOTkyMmI0ZmJmNmJmNTMxYzdjMDVhN2My
MjNiNjM1MTQzMjU2MC4uZjcyZjRiYzY3MTFlYWE2ODVmYTRjOWJhODQ1MmM1MjdlYjFhNTAzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0
ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tCkBAIC04NTIsNyArODUyLDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OmRpZENoYW5nZUlz
TG9hZGluZygpCiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gRGVsYXkgcmVsZWFzaW5nIHRoZSBi
YWNrZ3JvdW5kIGFjdGl2aXR5IGZvciAzIHNlY29uZHMgdG8gZ2l2ZSB0aGUgYXBwbGljYXRpb24g
YSBjaGFuY2UgdG8gc3RhcnQgYW5vdGhlciBuYXZpZ2F0aW9uCiAgICAgICAgIC8vIGJlZm9yZSBz
dXNwZW5kaW5nIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgPHJkYXI6Ly9wcm9ibGVtLzI3OTEwOTY0
Pi4KLSAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoM3MpOworICAg
ICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDMpKTsKICAg
ICB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA0OWYxOGUzNzhhNTI5ZDA1NjViMGQ3
ZWU5ZTYxODgyMTJjZmRkMmI4Li4yODZmMmFiYWViNDA1ODRjOTQwNTE5MWRmOWEwOTc1NDlkNDQ3
NTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1
cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hy
b25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dER1cmF0aW9uID0gM3M7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50
ZXJ2YWwgPSAyNTBtczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFs
V2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uID0gU2Vjb25k
cygzKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9h
ZE1vbml0b3JpbmdJbnRlcnZhbCA9IFNlY29uZHMoMC4yNSk7CiAKICNpZiBQTEFURk9STShNQUMp
Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxX
YXRjaGRvZ0R1cmF0aW9uID0gNXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90
UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSBTZWNvbmRzKDUpOwogI2Vsc2UKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRp
b24gPSAzczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hk
b2dEdXJhdGlvbiA9IFNlY29uZHMoMyk7CiAjZW5kaWYKIAogc3RhdGljIEhhc2hNYXA8dWludDY0
X3QsIFZpZXdHZXN0dXJlQ29udHJvbGxlcio+JiB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxs
UGFnZXMoKQpAQCAtMjk3LDEwICsyOTcsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6
OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OndhdGNoZG9nVGltZXJGaXJlZCgpCiAgICAgZmlyZVJl
bW92YWxDYWxsYmFja0ltbWVkaWF0ZWx5KCk7CiB9CiAKLXZvaWQgVmlld0dlc3R1cmVDb250cm9s
bGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzIGR1cmF0aW9uKQordm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVt
b3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coU2Vjb25kcyBkdXJhdGlvbikKIHsKLSAgICBsb2co
U3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlbGxkIHNlY29u
ZHMiLCBkdXJhdGlvbi5jb3VudCgpKSk7Ci0gICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hv
dChkdXJhdGlvbi5jb3VudCgpKTsKKyAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVk
IHdhdGNoZG9nIHRpbWVyIGZvciAlLjNmIHNlY29uZHMiLCBkdXJhdGlvbi52YWx1ZSgpKSk7Cisg
ICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCmluZGV4IDc1OGQ3MzUwZGJkODQ3NTc0NjZjY2RiYTg0
MzZiNmU0OWQ2MmJjMmQuLmUxNGQ3Mzk3MTkyYWQwYzA3ZjEyMjgwOWZjODdiMTQ0NDc2ZDRkYzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1
cmVDb250cm9sbGVyLmgKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwcml2YXRlOgogICAgICAgICBib29s
IGV2ZW50T2NjdXJyZWQoRXZlbnRzKTsKICAgICAgICAgYm9vbCBjYW5jZWxPdXRzdGFuZGluZ0V2
ZW50KEV2ZW50cyk7CiAKLSAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzKTsKKyAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKFNlY29uZHMpOwogCiAgICAgcHJp
dmF0ZToKICAgICAgICAgc3RhdGljIFN0cmluZyBldmVudHNEZXNjcmlwdGlvbihFdmVudHMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbQppbmRleCA0OWQ0ZDViZDVhOTlkNGQ5ODExMTZhMDhhMTMyN2Q1MDFjYmFiOTUxLi5i
MGMzMWNiMWVkZDAyNTJhMjJiYjlhN2E5ODEzNjJjYWQ0MjRiYWIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAt
MjUzLDcgKzI1Myw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5l
dHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhCiAjZW5kaWYKIAogICAgIHBh
cmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBbZGVmYXVsdHMg
Ym9vbEZvcktleTpXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5
XTsKLSAgICBwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0
bGVMYXRlbmN5TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldKTsKKyAgICBwYXJhbWV0ZXJzLmxvYWRU
aHJvdHRsZUxhdGVuY3kgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKFtkZWZhdWx0cyBpbnRl
Z2VyRm9yS2V5OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNvbmRzRGVm
YXVsdHNLZXldKTsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDExMDAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBjb29raWVTdG9y
YWdlRGF0YSA9IGFkb3B0Q0YoQ0ZIVFRQQ29va2llU3RvcmFnZUNyZWF0ZUlkZW50aWZ5aW5nRGF0
YShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENv
b2tpZVN0b3JhZ2VdIF9jb29raWVTdG9yYWdlXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IDY5ZThjNWIzMjIzMjJkYjAzNzFiYmNiMWYz
NjQwZmU0Yzk2ZDg1NjUuLjdlYzc5OTMyOGFjZDZiNGIxNDFhZjI2NDQxZmIxZDc4MTE3ZmYzMWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKQEAg
LTgzLDcgKzgzLDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhwb3NlZFJlY3Qo
T3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRSZWN0PiB2aWV3RXhwb3MKICAgICBtX3ZpZXdFeHBvc2Vk
UmVjdCA9IHZpZXdFeHBvc2VkUmVjdDsKIAogICAgIGlmICghbV92aWV3RXhwb3NlZFJlY3RDaGFu
Z2VkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eTo6
dmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDY3N2Nk
NjczOTFhZjU2OWY0MmFmZmJkZjQ0MGFhZTIxNTUxNWY0M2UuLmNlYTk4MmY2ZTIyYzYwNDk4ZWFi
ODI5Njk0M2Y1MDUzMmI4YjQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29u
c3QgZG91YmxlIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgPSAxIC8gMTIwLjA7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gU2Vjb25kcygx
IC8gMTIwLjApOwogCiBVSUdhbWVwYWRQcm92aWRlciYgVUlHYW1lcGFkUHJvdmlkZXI6OnNpbmds
ZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1NGRmYjNiMDU4ZDRmZTkwMzc0NjE1NzkyZWZh
NTZiMDhmZGQwYjY4Li40NWJiZDAzOGQ3MDE1MmI1NTQ1MjlhNDk2MmIyMzQyNDZlNWE3NGY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NQcm94eS5jcHAKQEAgLTQ2LDExICs0NiwxMSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bUxp
ZmV0aW1lID0gMiAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdNaW5pbXVt
TGlmZXRpbWUgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1MaWZldGltZSA9IFNl
Y29uZHMoMiAqIDYwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1M
aWZldGltZSA9IFNlY29uZHMoMzApOwogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNodXRkb3duVGlt
ZW91dCA9IDEgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nU2h1dGRvd25U
aW1lb3V0ID0gMTU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgPSBTZWNv
bmRzKDEgKiA2MCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRp
bWVvdXQgPSBTZWNvbmRzKDE1KTsKIAogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJ
RCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90
dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAK
aW5kZXggMjI3NWJiM2IyMjZiN2RiZDQ4ZDMzY2YwZjM2ZDIzNDlkODUwYmVjNi4uNzQ0Y2M5ZGM3
MTBmYjg0NDFjZjBjMjJkYTE2MzEwMmMzM2Y4Yzc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKICAgICAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcm9jZXNzU3VzcGVuc2lv
blRpbWVvdXQgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2Nlc3NTdXNwZW5zaW9uVGlt
ZW91dCA9IFNlY29uZHMoMzApOwogICAgIAogUHJvY2Vzc1Rocm90dGxlcjo6UHJvY2Vzc1Rocm90
dGxlcihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50JiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHBy
b2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5l
c3NUaW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1l
ci5jcHAKaW5kZXggZmViNDY5ZjA4NDJiNWFlNjliMzZmMGZjZmQ2ODYxYzQwNjdlZWYyYi4uYTQw
YTk5ODZjMzRlZDNhYzJlZWNlNzgzNGM2YTUwNGY2M2Y4ZmMyZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcApAQCAtMjgsNyArMjgsNyBA
QAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSByZXNwb25zaXZl
bmVzc1RpbWVvdXQgPSAzOworc3RhdGljIGNvbnN0IFNlY29uZHMgcmVzcG9uc2l2ZW5lc3NUaW1l
b3V0ID0gU2Vjb25kcygzKTsKIAogUmVzcG9uc2l2ZW5lc3NUaW1lcjo6UmVzcG9uc2l2ZW5lc3NU
aW1lcihSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50
KGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNw
cAppbmRleCBhM2ZiNzcwZjVjZGJjZGNiNWZhNzdhYjRkMmYwYjU0NzQ0ODkwZjZmLi5lMzQyODcw
NmIxY2QxM2ZlNTIwODk1ZTVkNDhiZjlkZjdiMmY4YWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgVmlz
aXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKExpbmtIYXNoIGxpbmtIYXNoKQogICAg
IG1fcGVuZGluZ1Zpc2l0ZWRMaW5rcy5hZGQobGlua0hhc2gpOwogCiAgICAgaWYgKCFtX3BlbmRp
bmdWaXNpdGVkTGlua3NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRpbmdWaXNpdGVk
TGlua3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5r
c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBWaXNpdGVkTGlua1N0
b3JlOjpyZW1vdmVBbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKaW5kZXggZjdjZTY5ZjRjZTk3NjgyYzRjNTA2ZjIzZmJmMjQ4NmIwYzA4ODI3Ny4uZjE2
NDhlYWU4YWU4NmY0MDIwMDZiNGRmNDQ1NjZhZDc4ODEyZDQ4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xNzMsNyArMTczLDcgQEAgV2ViUHJv
Y2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29sKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBj
b25maWd1cmF0aW9uKQogICAgICwgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkobV9j
b25maWd1cmF0aW9uLT5hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkoKSkKICAgICAsIG1f
dXNlck9ic2VydmFibGVQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0
ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lv
bkRpc2FibGVkRm9yUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQ
cm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQotICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGlu
Z0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRkZW5Q
YWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsgfSkKKyAgICAsIG1faGlkZGVuUGFn
ZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7
IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7IH0p
CiAgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlz
LCAmV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNl
TGltaXQpCiB7CiAgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBtX2NvbmZpZ3VyYXRpb24tPmFsd2F5
c1JldmFsaWRhdGVkVVJMU2NoZW1lcygpKQpAQCAtNTk4LDcgKzU5OCw3IEBAIFdlYlByb2Nlc3NQ
cm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MoKQogICAgIC8vIGljb25E
YXRhYmFzZVBhdGggaXMgbm9uLWVtcHR5IGJ5IGRlZmF1bHQsIGJ1dCBtX2ljb25EYXRhYmFzZSBp
c24ndCBlbmFibGVkIGluIFVJIHByb2Nlc3MgdW5sZXNzIHNldERhdGFiYXNlUGF0aCBpcyBjYWxs
ZWQgZXhwbGljaXRseS4KICAgICBwYXJhbWV0ZXJzLmljb25EYXRhYmFzZUVuYWJsZWQgPSAhaWNv
bkRhdGFiYXNlUGF0aCgpLmlzRW1wdHkoKTsKIAotICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25U
aW1lb3V0ID0gMDsKKyAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IFNlY29uZHMo
MCk7CiAKICAgICBwYXJhbWV0ZXJzLnRleHRDaGVja2VyU3RhdGUgPSBUZXh0Q2hlY2tlcjo6c3Rh
dGUoKTsKIApAQCAtMTQxOSwxMCArMTQxOSwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp1cGRh
dGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KCkKICAgICAvLyBXZSdyZSBl
c3RpbWF0aW5nIGFuIHVwcGVyIGJvdW5kIGZvciBhIHNldCBvZiBiYWNrZ3JvdW5kIHRpbWVyIGZp
cmVzIGZvciBhIHBhZ2UgdG8gYmUgMjAwbXMKICAgICAvLyAoaW5jbHVkaW5nIGFsbCB0aW1lciBm
aXJlcywgYWxsIHBhZ2luZy1pbiwgYW5kIGFueSByZXN1bHRpbmcgR0MpLiBUbyBlbnN1cmUgdGhp
cyBkb2VzIG5vdAogICAgIC8vIHJlc3VsdCBpbiBtb3JlIHRoYW4gMSUgQ1BVIGxvYWQgYWxsb3cg
Zm9yIG9uZSB0aW1lciBmaXJlIHBlciAxMDB4IHRoaXMgZHVyYXRpb24uCi0gICAgc3RhdGljIGlu
dCBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TID0gMjAwICogMTAwOworICAgIHN0YXRp
YyBjb25zdCBTZWNvbmRzIG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZSA9IFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHMoMjAwKSAqIDEwMDsKIAotICAgIGludCBsaW1pdEluTWlsbGlzZWNvbmRz
ID0gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlSW5NUyAqIG1faGlkZGVuUGFnZVRocm90dGxp
bmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgpOwotICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQobGltaXRJbk1pbGxpc2Vjb25kcykpOworICAgIFNlY29uZHMgbGltaXQgPSBtYXhpbXVt
VGltZXJUaHJvdHRsZVBlclBhZ2UgKiBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNl
c0NvdW50ZXIudmFsdWUoKTsKKyAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlBy
b2Nlc3M6OlNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggODE4YmQzOTBkNDgzZDA4
MjJiYWU3OTM0ZTEwNmZkYmIwY2RmZjg1NC4uNzI1YTlmZDg5OWQ1ZmQ5M2ViMzc2NGIwYWVlN2Q3
YmI1NzE5NTA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBjb25zdCBOU1VJ
bnRlZ2VyIHdpbmRvd1N0eWxlTWFzayA9IE5TV2luZG93U3R5bGVNYXNrVGl0bGVkIHwgTlNXaW5k
b3dTdHlsCiAKIC8vIFRoZSB0aW1lIHdlIGtlZXAgb3VyIFdlYlZpZXcgYWxpdmUgYmVmb3JlIGNs
b3NpbmcgaXQgYW5kIGl0cyBwcm9jZXNzLgogLy8gUmV1c2luZyB0aGUgV2ViVmlldyBpbXByb3Zl
cyBzdGFydCB1cCB0aW1lIGZvciBwZW9wbGUgdGhhdCBqdW1wIGluIGFuZCBvdXQgb2YgdGhlIElu
c3BlY3Rvci4KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCB3ZWJWaWV3Q2xvc2VUaW1lb3V0ID0gNjA7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyB3ZWJWaWV3Q2xvc2VUaW1lb3V0ID0gU2Vjb25kcyg2MCk7
CiAKIC8vIFdLV2ViSW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlciBpcyBhIGhlbHBlciBPYmpDIG9i
amVjdCB1c2VkIGFzIGEgZGVsZWdhdGUgb3Igbm90aWZpY2F0aW9uIG9ic2VydmVyCiAvLyBmb3Ig
dGhlIHNvbGUgcHVycG9zZSBvZiBnZXR0aW5nIGJhY2sgaW50byB0aGUgQysrIGNvZGUgZnJvbSBh
biBPYmpDIGNhbGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IGU4OTFjZDAzMmIyZjQzNjY0YjY3ZTA2
ZGJlY2NjOGVlMDM1OGRkOGYuLmQ5YjgyOGExYzg3OWRiYTFiOGZmZmY5MzFkMWYwZTY1ZDNiODFl
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2Fk
ZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtOTEsMTQgKzkxLDE0IEBAIFJlZlB0cjxOZXRzY2FwZVBs
dWdJblN0cmVhbUxvYWRlcj4gV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlUGx1Z2luU3RyZWFt
TG9hZChGCiAgICAgcmV0dXJuIGxvYWRlcjsKIH0KIAotc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQor
c3RhdGljIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlKQogewogI2lmICFFTkFCTEUoTkVUV09SS19DQUNIRSkKLSAgICByZXR1cm4gMG1zOworICAg
IHJldHVybiBTZWNvbmRzKDApOwogI2VuZGlmCiAKICAgICBpZiAoIXJlc291cmNlKQotICAgICAg
ICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gU2Vjb25kcygwKTsKIAogICAgIHN3aXRjaCAo
cmVzb3VyY2UtPnR5cGUoKSkgewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hl
ZXQ6CkBAIC0xMDcsOSArMTA3LDkgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlNWR0ZvbnRSZXNvdXJjZToKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OkZvbnRSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHM6Om1heCgpOworICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlOgotICAgICAgICByZXR1cm4gNTAw
bXM7CisgICAgICAgIHJldHVybiBTZWNvbmRzKDAuNSk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6TWVkaWFSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNYWluUmVzb3VyY2U6
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6UmF3UmVzb3VyY2U6CkBAIC0xMjQsMTEgKzEyNCwx
MSBAQCBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGlt
ZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldDoKICNlbmRpZgotICAgICAgICByZXR1cm4gMG1z
OworICAgICAgICByZXR1cm4gU2Vjb25kcygwKTsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVybiBTZWNvbmRzKDApOwogfQogCiB2
b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291
cmNlTG9hZGVyLCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkQ2xlYXJSZWZl
cnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKQEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lkIFdlYkxv
YWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVy
LCBDYWNoZWRSZXNvdQogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVJbnRlcm5hbGx5
RmFpbGVkTG9hZChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIpCiB7CiAg
ICAgbV9pbnRlcm5hbGx5RmFpbGVkUmVzb3VyY2VMb2FkZXJzLmFkZCgmcmVzb3VyY2VMb2FkZXIp
OwotICAgIG1faW50ZXJuYWxseUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6aW50ZXJuYWxseUZhaWxlZExvYWRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKaW5kZXggNDk5MjBmMmNhYTg0Zjc2
OWI2MmQyNDYyYTljOTgwN2Y1MjBjZjNlZC4uYTVlNjZhY2E3M2UxOWNhNWY5NDNlMTI1YWE0YjY0
Y2Y4ODlhMDlkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKQEAgLTI5Myw3
ICsyOTMsNyBAQCB2b2lkIE5QUnVudGltZU9iamVjdE1hcDo6YWRkVG9JbnZhbGlkYXRpb25RdWV1
ZShOUE9iamVjdCogbnBPYmplY3QpCiAgICAgaWYgKHRyeVNhZmVSZWxlYXNlTlBPYmplY3QobnBP
YmplY3QpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fbnBPYmplY3RzVG9GaW5hbGl6ZS5p
c0VtcHR5KCkpCi0gICAgICAgIG1fZmluYWxpemF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAg
ICBBU1NFUlQobV9maW5hbGl6YXRpb25UaW1lci5pc0FjdGl2ZSgpKTsKICAgICBtX25wT2JqZWN0
c1RvRmluYWxpemUuYXBwZW5kKG5wT2JqZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3Bw
CmluZGV4IDVjOWE5MTgyNDU2NmE0NjMwMTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2QuLjU0MTcxYzIy
NTQ3OGY3NjZkYzJjNmFhYjU3MDkwNGM1MWMwY2IwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
LmNwcApAQCAtMzI2LDcgKzMyNiw3IEBAIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6flRpbWVyKCkK
IAogdm9pZCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6OnN0YXJ0KCkKIHsKLSAgICBkb3VibGUgdGlt
ZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICBTZWNvbmRzIHRpbWVJbnRlcnZh
bCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAKICAgICBpZiAobV9y
ZXBlYXQpCiAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRz
Y2FwZVBsdWdpblN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCmluZGV4IDdkNTRkODhjN2U4OThjNWNl
MGJhZGYxZDc2OWIyZTVkMzVkOWEyNTQuLmE3NWE2NjIzMTk0NTAxMGZkNmJlMGQyMDU5Y2MyNTRi
YzM2YTI5MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcApAQCAtMjIy
LDcgKzIyMiw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVn
aW4oKQogCiAgICAgICAgIGlmIChudW1CeXRlc1BsdWdpbkNhbkhhbmRsZSA8PSAwKSB7CiAgICAg
ICAgICAgICAvLyBUaGUgcGx1Zy1pbiBjYW4ndCBoYW5kbGUgbW9yZSBkYXRhLCB3ZSdsbCBzZW5k
IHRoZSByZXN0IGxhdGVyCi0gICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGEwZDhhYjg2
NmZjMGJhZDEwMjBiZDE2NWJmZDU0ZjU1ZTIxY2Y2OTQuLjIxZTZmMGZhNzM0OWZhYmMzN2RkZjAy
Njk5NDE5ZDQzNDRlNDUwMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gVGhpcyBzaW11bGF0ZWQgbW91c2UgY2xp
Y2sgZGVsYXkgaW4gSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgc2hvdWxkIGdlbmVyYWxseSBi
ZSB0aGUgc2FtZSBvciBzaG9ydGVyIHRoYW4gdGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBhdXRv
IHBsdWdpblNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAx
MTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSBT
ZWNvbmRzKDEuMSk7CiAKIGNsYXNzIFBsdWdpblZpZXc6OlVSTFJlcXVlc3QgOiBwdWJsaWMgUmVm
Q291bnRlZDxVUkxSZXF1ZXN0PiB7CiBwdWJsaWM6CkBAIC0xMTY0LDcgKzExNjQsNyBAQCB2b2lk
IFBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQoKQogCiAgICAgLy8gSWYg
dGhlcmUgYXJlIG1vcmUgcmVxdWVzdHMgdG8gcGVyZm9ybSwgcmVzY2hlZHVsZSB0aGUgdGltZXIu
CiAgICAgaWYgKCFtX3BlbmRpbmdVUkxSZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVu
ZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdV
UkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAKICAgICBwZXJm
b3JtVVJMUmVxdWVzdCh1cmxSZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTE0MjMsNyArMTQyMyw3IEBA
IHZvaWQgUGx1Z2luVmlldzo6bG9hZFVSTCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmlu
ZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmCiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3QucmVzb3Vy
Y2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKIAogICAgIG1fcGVuZGluZ1VS
TFJlcXVlc3RzLmFwcGVuZChVUkxSZXF1ZXN0OjpjcmVhdGUocmVxdWVzdElELCBmcmFtZUxvYWRS
ZXF1ZXN0LCBhbGxvd1BvcHVwcykpOwotICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFBsdWdpblZpZXc6OmNhbmNlbFN0cmVhbUxvYWQodWlu
dDY0X3Qgc3RyZWFtSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggZDk1MDE4M2Y1MWMyNTcyOTEzZmNhYjcyZDY0MDE1OWYxNzkyMTIzNi4u
YzhkY2I0ZWEyNDZmM2QwNTY0NjU3ZDA5MzIwYTM2MTMzMmYyMjZhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjUzLDkgKzI1Myw5IEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGlj
IGNvbnN0IGRvdWJsZSBwYWdlU2Nyb2xsSHlzdGVyZXNpc1NlY29uZHMgPSAwLjM7Ci1zdGF0aWMg
Y29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGlt
ZXJJbnRlcnZhbCB7IDIwIH07Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgbWF4
aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyIH07CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBwYWdlU2Nyb2xsSHlzdGVyZXNpcyA9IFNlY29uZHMoMC4zKTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsID0gU2Vjb25kczo6ZnJv
bU1pbGxpc2Vjb25kcygyMCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xh
dGlsaXR5VGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMik7CiAKICNkZWZpbmUgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCguLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgp
LCBMYXllcnMsIF9fVkFfQVJHU19fKQogI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExP
V0VEKC4uLikgUkVMRUFTRV9MT0dfRVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCks
IExheWVycywgX19WQV9BUkdTX18pCkBAIC0zMTQsNyArMzE0LDcgQEAgV2ViUGFnZTo6V2ViUGFn
ZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyKCp0aGlzKQogI2VuZGlmCi0gICAgLCBtX3BhZ2VTY3JvbGxlZEh5
c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlz
dGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Ny
b2xsSHlzdGVyZXNpc1NlY29uZHMpCisgICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3Ro
aXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRl
OjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNp
cykKICAgICAsIG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKHBhcmFtZXRlcnMuY2Fu
UnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKQogICAgICwgbV9jYW5SdW5Nb2RhbChwYXJhbWV0
ZXJzLmNhblJ1bk1vZGFsKQogI2lmIFBMQVRGT1JNKElPUykKQEAgLTIwNTEsNyArMjA1MSw3IEBA
IHZvaWQgV2ViUGFnZTo6Y2FsbFZvbGF0aWxpdHlDb21wbGV0aW9uSGFuZGxlcnMoKQogCiB2b2lk
IFdlYlBhZ2U6OmxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewotICAgIGF1dG8gbmV3SW50
ZXJ2YWwgPSAyICogbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbE1TKCk7Cisg
ICAgU2Vjb25kcyBuZXdJbnRlcnZhbCA9IG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIucmVwZWF0SW50
ZXJ2YWwoKSAqIDI7CiAgICAgYm9vbCBkaWRTdWNjZWVkID0gbWFya0xheWVyc1ZvbGF0aWxlSW1t
ZWRpYXRlbHlJZlBvc3NpYmxlKCk7CiAgICAgaWYgKGRpZFN1Y2NlZWQgfHwgbmV3SW50ZXJ2YWwg
PiBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCkgewogICAgICAgICBtX2xheWVy
Vm9sYXRpbGl0eVRpbWVyLnN0b3AoKTsKQEAgLTIwNjAsNyArMjA2MCw3IEBAIHZvaWQgV2ViUGFn
ZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
LSAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQg
dG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQgbXMiLCB0
aGlzLCBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KG5ld0ludGVydmFsLmNvdW50KCkpKTsKKyAgICBS
RUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFy
ayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICUuM2YgcyIsIHRoaXMsIG5l
d0ludGVydmFsLnZhbHVlKCkpOwogICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBl
YXRpbmcobmV3SW50ZXJ2YWwpOwogfQogCkBAIC0yMDkxLDcgKzIwOTEsNyBAQCB2b2lkIFdlYlBh
Z2U6Om1hcmtMYXllcnNWb2xhdGlsZShzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25I
YW5kbGVyKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgiJXAgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJl
dHJ5IGluICVsbGQgbXMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZh
bC5jb3VudCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBt
YXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywg
aW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXll
clZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGlt
ZXJJbnRlcnZhbCk7CiB9CiAKQEAgLTI1MzAsNyArMjUzMCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBk
YXRlSXNJbldpbmRvdyhib29sIGlzSW5pdGlhbFN0YXRlKQogICAgICAgICAvLyBpbiBvcmRlciB0
byBnZXQgcGx1Zy1pbiBjb25uZWN0aW9ucywgYW5kIHRoZSBVSSBwcm9jZXNzIHdpbGwgYmUgd2Fp
dGluZyBmb3IgdGhlIFdlYiBwcm9jZXNzIHRvIHVwZGF0ZSB0aGUgYmFja2luZwogICAgICAgICAv
LyBzdG9yZSBhZnRlciBtb3ZpbmcgdGhlIHZpZXcgaW50byBhIHdpbmRvdywgdW50aWwgaXQgdGlt
ZXMgb3V0IGFuZCBwYWludHMgd2hpdGUuIFNlZSA8cmRhcjovL3Byb2JsZW0vOTI0Mjc3MT4uCiAg
ICAgICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cpCi0gICAgICAgICAgICBtX3Nl
dENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3NldENh
blN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAKICAgICAgICAgV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkucGFnZURpZEVudGVyV2luZG93KG1fcGFnZUlEKTsKICAgICB9
CkBAIC0zMDM3LDcgKzMwMzcsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNv
bnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogI2VuZGlmCiAKICAgICBzZXR0aW5ncy5z
ZXRTdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpzdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmdLZXkoKSkp
OwotICAgIHNldHRpbmdzLnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0
SW5TZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpp
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEtleSgpKSk7CisgICAgc2V0dGlu
Z3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoU2Vjb25kcyhzdG9y
ZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aW5jcmVtZW50YWxSZW5k
ZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRLZXkoKSkpKTsKICAgICBzZXR0aW5ncy5zZXRCYWNrc3Bh
Y2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkS2V5KCkpKTsKICAgICBzZXR0
aW5ncy5zZXRXYW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2aW9yKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6d2FudHNCYWxhbmNlZFNldERlZmVyc0xv
YWRpbmdCZWhhdmlvcktleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0Q2FyZXRCcm93c2luZ0VuYWJs
ZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpjYXJldEJyb3dz
aW5nRW5hYmxlZEtleSgpKSk7CkBAIC0zMTEwLDcgKzMxMTAsNyBAQCB2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAgIHNl
dHRpbmdzLnNldEFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJm
bG93U2Nyb2xsS2V5KCkpKTsKIAogICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0VuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYXNzd29yZEVjaG9F
bmFibGVkS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vj
b25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFzc3dv
cmRFY2hvRHVyYXRpb25LZXkoKSkpOworICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0
aW9uKFNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OnBhc3N3b3JkRWNob0R1cmF0aW9uS2V5KCkpKSk7CiAgICAgCiAgICAgc2V0dGluZ3Muc2V0TGF5
b3V0SW50ZXJ2YWwoc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4oc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJsZT4oc3RvcmUuZ2V0RG91YmxlVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxheW91dEludGVydmFsS2V5KCkpKSkpOwogICAg
IHNldHRpbmdzLnNldE1heFBhcnNlRHVyYXRpb24oc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6Om1heFBhcnNlRHVyYXRpb25LZXkoKSkpOwpAQCAtMzg0NCw3ICsz
ODQ0LDcgQEAgdm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZp
ZXcpCiAgICAgbV9oYXNTZWVuUGx1Z2luID0gdHJ1ZTsKICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQ
U0hPVFRFRF9QTFVHSU5fSEVVUklTVElDKQogICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVn
LUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBhZGRQbHVnaW5WaWV3KCVw
KSIsIHBsdWdpblZpZXcpOwotICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVk
UGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogI2VuZGlmCiB9CiAKQEAgLTQz
ODEsNyArNDM4MSw3IEBAIHZvaWQgV2ViUGFnZTo6c2V0TWF5U3RhcnRNZWRpYVdoZW5JbldpbmRv
dyhib29sIG1heVN0YXJ0TWVkaWEpCiAKICAgICBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cg
PSBtYXlTdGFydE1lZGlhOwogICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgJiYg
bV9wYWdlLT5pc0luV2luZG93KCkpCi0gICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlBhZ2U6OnJ1bk1vZGFsKCkKQEAgLTUxNTks
NyArNTE1OSw3IEBAIHZvaWQgV2ViUGFnZTo6ZGlkRmluaXNoTG9hZChXZWJGcmFtZSogZnJhbWUp
CiAKICAgICBtX3JlYWR5VG9GaW5kUHJpbWFyeVNuYXBzaG90dGVkUGx1Z2luID0gdHJ1ZTsKICAg
ICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0
ZWN0aW9uIGZyb20gZGlkRmluaXNoTG9hZCAobWFya2luZyBhcyByZWFkeSB0byBkZXRlY3QpLiIp
OwotICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwog
I2VuZGlmCkBAIC01MTcxLDcgKzUxNzEsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luU2VhcmNoQnVja2V0U2l6ZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBpbnQg
cHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bVdpZHRoID0gNDAwOwogc3RhdGljIGNvbnN0
IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtSGVpZ2h0ID0gMzAwOwogc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIG1heFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVt
cHRzID0gMjsKLXN0YXRpYyBjb25zdCBpbnQgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVn
SW5EZXRlY3Rpb25EZWxheSA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZlcnJlZFByaW1h
cnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gU2Vjb25kcygzKTsKIHN0YXRpYyBj
b25zdCBmbG9hdCBvdmVybGFwcGluZ0ltYWdlQm91bmRzU2NhbGUgPSAxLjE7CiBzdGF0aWMgY29u
c3QgZmxvYXQgbWluaW11bU92ZXJsYXBwaW5nSW1hZ2VUb1BsdWdpbkRpbWVuc2lvblNjYWxlID0g
Ljk7CiAKQEAgLTUyNzksNyArNTI3OSw3IEBAIHZvaWQgV2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFy
eVNuYXBzaG90dGVkUGx1Z0luKCkKICAgICBpZiAoIWNhbmRpZGF0ZVBsdWdJbikgewogICAgICAg
ICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IGZhaWwgLSBkaWQgbm90
IGZpbmQgYSBjYW5kaWRhdGUgcGx1Zy1pbi4iKTsKICAgICAgICAgaWYgKG1fbnVtYmVyT2ZQcmlt
YXJ5U25hcHNob3REZXRlY3Rpb25BdHRlbXB0cyA8IG1heFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
bkRldGVjdGlvbkF0dGVtcHRzKSB7Ci0gICAgICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkg
UGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBpbiAlZHMuIiwgZGVmZXJyZWRQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CisgICAgICAgICAgICBMT0co
UGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBp
biAlLjNmcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5
LnZhbHVlKCkpOwogICAgICAgICAgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVn
SW5UaW1lci5zdGFydE9uZVNob3QoZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRl
Y3Rpb25EZWxheSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNjkzMDUzZjdkODJiYTRmOWU4OWVj
ZDE2OTdjOGExNmRiOGFiYzI0MS4uY2U2ODlkZmI1MGU1OTA2MDgyYmE3NmY1NTc5YjRmYmIyODVj
ZmM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBA
IC0zMDAsNyArMzAwLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNBbHdheXNPbkxvZ2dpbmdBbGxv
d2VkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY3RpdmVQb3B1cE1lbnUoV2ViUG9wdXBNZW51Kik7
CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGltaXQpCisgICAgdm9pZCBzZXRIaWRkZW5QYWdlVGlt
ZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogICAgIHsKICAgICAgICAg
bV9wYWdlLT5zZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChsaW1pdCk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9S
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KaW5kZXggNTk0ZDkwMGVm
ZjAyMjBmODNjZGFmMGMzZmQ5OGI5ZWJmNzE5MmJjZC4uMzkyNjBkNzYyOWRlZWE3NWIwNTI0NjUz
MmU0YWE3ZDQ3MTFlM2RiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1t
CkBAIC0yODUsNyArMjg1LDcgQEAgVGlsZWRCYWNraW5nKiBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6bWFpbkZyYW1lVGlsZWRCYWNraW5nKCkgY29uc3QKIAogdm9pZCBSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVseSgp
CiB7Ci0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBtcyk7CisgICAgbV9sYXll
ckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCkBAIC0z
MDQsOSArMzA0LDkgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVD
b21wb3NpdGluZ0xheWVyRmx1c2goKQogICAgIGlmIChtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBhdXRvIGluaXRpYWxGbHVzaERlbGF5
ID0gNTAwbXM7Ci0gICAgY29uc3QgYXV0byBmbHVzaERlbGF5ID0gMTUwMG1zOwotICAgIGF1dG8g
dGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzID8gKG1faXNJbml0aWFs
VGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxGbHVzaERlbGF5IDogZmx1c2hEZWxheSkgOiAw
bXM7CisgICAgY29uc3QgU2Vjb25kcyBpbml0aWFsRmx1c2hEZWxheSA9IFNlY29uZHMoMC41KTsK
KyAgICBjb25zdCBTZWNvbmRzIGZsdXNoRGVsYXkgPSBTZWNvbmRzKDEuNSk7CisgICAgU2Vjb25k
cyB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9pc0luaXRp
YWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERlbGF5KSA6
IFNlY29uZHMoMCk7CiAgICAgbV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID0gZmFsc2U7
CiAKICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGVEZWxheSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCA1OGQ4YTlhY2Iw
YzNkOGE2ZTY0MDk0ZmVmYmU5NjIwMmI4NGU2MWU5Li40M2FkZTM2Zjk2YzEyNTEzNDI0ZGU0YmRl
NGQ4YTNkNjViMDQ5MmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWEubW0KQEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKEFjdGl2aXR5U3RhdGU6OkZsYWdzCiAgICAgfQog
CiAgICAgaWYgKG1fd2FudHNEaWRVcGRhdGVBY3Rpdml0eVN0YXRlIHx8ICFtX25leHRBY3Rpdml0
eVN0YXRlQ2hhbmdlQ2FsbGJhY2tJRHMuaXNFbXB0eSgpKQotICAgICAgICBtX3NlbmREaWRVcGRh
dGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NlbmREaWRV
cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2
b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRVcGRhdGVBY3Rpdml0eVN0YXRl
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRl
eCBkZDAwYTE4ZDliNjIxNjVkOTM2MmE5ODJlNGZlNzY1ODg3MWU1MTlhLi41NjQwMTMwMzY5MDAz
NzQxZmI4MGYxMzI4ZTU0N2ViZTYyMWQ1NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAKQEAgLTE0Miw3ICsxNDIsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIHN0YXRpYyBjb25zdCBkb3VibGUgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRh
dGVUaHJlc2hvbGQgPSAyOSAqIDI0ICogNjAgKiA2MDsKIAogLy8gVGhpcyBzaG91bGQgYmUgZ3Jl
YXRlciB0aGFuIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0IGluIFRpbGVDb250cm9sbGVyLgotc3Rh
dGljIGNvbnN0IGRvdWJsZSBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IDEwOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSBTZWNvbmRz
KDEwKTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTIxMSw3ICsyMTEsNyBAQCBXZWJQcm9j
ZXNzOjpXZWJQcm9jZXNzKCkKICAgICAgICAgaWYgKG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAKLSAgICAgICAgbV9zdGF0
aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6c2Vjb25kcyg1KSk7
CisgICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyg1
KSk7CiAgICAgfSk7CiB9CiAKQEAgLTUzOCw3ICs1MzgsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnNl
dENhY2hlTW9kZWwodWludDMyX3QgY20pCiAgICAgdW5zaWduZWQgY2FjaGVUb3RhbENhcGFjaXR5
ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWdu
ZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERlY29kZWREYXRhRGVs
ZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9OworICAgIFNlY29uZHMg
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVT
aXplID0gMDsKICAgICBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKGNhY2hlTW9kZWwsIGNhY2hl
VG90YWxDYXBhY2l0eSwgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIGNhY2hlTWF4RGVhZENhcGFjaXR5
LCBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCBwYWdlQ2FjaGVTaXplKTsKIApAQCAt
MTI0NCwxMCArMTI0NCwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9y
T3JpZ2lucyhXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpbwogICAgIH0KIH0KIAot
dm9pZCBXZWJQcm9jZXNzOjpzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1p
dChpbnQgbWlsbGlzZWNvbmRzKQordm9pZCBXZWJQcm9jZXNzOjpzZXRIaWRkZW5QYWdlVGltZXJU
aHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogewogICAgIGZvciAoYXV0byYg
cGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkKLSAgICAgICAgcGFnZS0+c2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhtaWxs
aXNlY29uZHMpKTsKKyAgICAgICAgcGFnZS0+c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0lu
Y3JlYXNlTGltaXQobGltaXQpOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCAyYTk2NDFiZmQ1NGU4MzQ3ODI4NGQ2NWE1
ZWEzNTcxYTFmMjdiNWI5Li4zMzNmZGI2YzE2NTU5Yjk4M2M3NzU2NmRiMzgzNGVmN2M0ZjkwN2M3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMTg4LDcgKzE4OCw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBkYXRlQWN0aXZlUGFnZXMoKTsKIAotICAgIHZvaWQg
c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25k
cyk7CisgICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChT
ZWNvbmRzKTsKIAogICAgIHZvaWQgcHJvY2Vzc1dpbGxTdXNwZW5kSW1taW5lbnRseShib29sJiBo
YW5kbGVkKTsKICAgICB2b2lkIHByZXBhcmVUb1N1c3BlbmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCA2ZDc2ZTU4MzI2ZWQz
NTI0YWFjNWE5ODZjNDk5MDY3OGE1MjQxNjZiLi4yNTkwNDQ5OGE2ZTRhOTcwNmIxZmMxZDY2OWIx
ZTFjNmI3ODIwMjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCkBAIC04MCw3ICs4MCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3Mg
TGVnYWN5UmVjZWl2ZXIgewogICAgIERlbGV0ZVdlYnNpdGVEYXRhKFdlYkNvcmU6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURh
dGFUeXBlcywgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBtb2RpZmllZFNp
bmNlKSAtPiAoKQogICAgIERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhXZWJDb3JlOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNp
dGVEYXRhVHlwZXMsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMp
IC0+ICgpCiAKLSAgICBTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChp
bnQgbWlsbGlzZWNvbmRzKQorICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFz
ZUxpbWl0KFNlY29uZHMgbGltaXQpCiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChi
b29sIGZsYWcpCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgU2V0UU9TKGludCBsYXRlbmN5UU9T
LCBpbnQgdGhyb3VnaHB1dFFPUykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCA4NzYzMDMwNGRkOTVjNDdlZDdkMWNlMDEzZmJmZTRmYjZjMzQzMmVk
Li5kNjA0ZDk5YTVhMDVhZmYwNzhmMmVkZTliNzFhYmIyYTczYmU0MDhjIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTYtMTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAg
ICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Ig
c3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMs
IHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5k
IHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorCiAyMDE2LTExLTI0ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBOb3RpZmljYXRpb25zIEFQSSBkb2VzIG5vdCBleHBvc2Ug
b3IgcmVzcGVjdCB0aGUgInRhZyIgYXR0cmlidXRlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1J1bkxvb3AuY3BwCmluZGV4IDFkYzdlOTM4YTc2ZTk5NGJlOTc2OThlZTgwNWNjNmZmZWQ2
ZmUzZGIuLjc5NGIzOWE5YzhlMWFkM2FjOWE2YzUzNzk4OTQ0ZTI4OTliNGI3NjEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCkBAIC05NSw3ICs5NSw3IEBAIFRF
U1QoV1RGX1J1bkxvb3AsIE9uZVNob3RUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRp
bWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjEp
OworICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjEpKTsKICAgICAgICAgVXRp
bDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0KIH0KQEAgLTEyOSw3ICsxMjksNyBAQCBURVNU
KFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRp
bWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAu
MDEpOworICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDAuMDEpKTsKICAgICAg
ICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295439</attachid>
            <date>2016-11-26 13:37:16 -0800</date>
            <delta_ts>2016-11-26 14:21:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161126133655.patch</filename>
            <type>text/plain</type>
            <size>375947</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OWI0MjljMjk4ZDljZDEyMzEyOWIwNjE0OGQwZmU0ZmM5MjA5ODc5Li5lMjYyZGE0Njk0ZjBkZTYw
MjA1YzQzYjQ4MDIwOWYyZDZiYmViNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0xMS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6YWRkR2FyYmFnZUNv
bGxlY3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpzcGVjaWVzQ29uc3RydWN0QXJyYXkpOgorCiAyMDE2LTExLTIzICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFX0FTU0VN
QkxFUl9XWF9FWENMVVNJVkUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA5ZjNmOGYyOTFjMzNkZmM2NWRhNzUzNWRmYWI1
NThiMzk3NzdjZDZlLi4wYWYyNjRmNGExZDY5NDY0NDZkNDQ0MzQ5NzI2NjM5ZTgxN2E0NzU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25k
cywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3Ag
VGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3
CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRz
LgorCisgICAgICAgICogd3RmL1J1bkxvb3AuaDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKiB3dGYvUnVuTG9vcFRpbWVyLmg6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lckNGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcFRpbWVyQmFz
ZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi9jZi9SdW5Mb29wQ0YuY3BwOgorICAgICAgICAoV1RG
OjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKwogMjAxNi0xMS0yMiAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgT25lIG1vcmUgdGlueSBiaXQgb2YgZm9sbG93
LXVwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGJiZGY5ZDQ5NWIxMzg1NzhkZGU5ZWVkOWYyOTczMmNjNGQxZWEz
ZmUuLmQyY2UyMmI3ZmM4MDY4NGJiM2M5ZGE0ZDk2MjEwY2JmYmYzMzNkNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0NzkgQEAKKzIwMTYtMTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBU
aW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcK
KyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMu
CisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpn
ZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAq
IE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxl
T3BlcmF0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGlt
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJhbmdlUmVtb3ZhbCk6CisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtOjpzY2hlZHVsZUFjdGl2ZVN0YXRlQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRFRN
RlNlbmRlcjo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RhdGFDaGFu
bmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2Vu
dGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
U29ja2V0Q2hhbm5lbDo6cmVzdW1lKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAg
ICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFN0YXR1cyk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29uKToKKyAg
ICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9N
YXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1
cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVz
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJr
aXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20v
RXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRj
aEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01pY3JvdGFza3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAg
ICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0
UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAq
IGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAg
ICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6
CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNs
ZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFs
dGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAg
ICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6CisgICAgICAgICogZWRpdGluZy9TcGVsbENo
ZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5pbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAg
ICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAg
ICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAg
ICAgIChNZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6c2NoZWR1bGVFdmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxl
VGltZXVwZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGh0bWwvTWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURv
Y3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVu
dFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAg
ICAgKiBodG1sL1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJ
bnB1dFR5cGU6OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6
OnJlcXVlc3RUb0hpZGVNZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVD
b250ZXh0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5r
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hl
ZHVsZUZvclJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNw
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVy
RWxlbWVudDo6dXBkYXRlU2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0
VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxl
TG9hZCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRh
c2s6OnNjaGVkdWxlRm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2No
ZWR1bGVGb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6
OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRh
c2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c3RhcnREYXRhTG9hZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpk
ZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVj
a0NvbXBsZXRlVGltZXIpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAg
ICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHA6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBs
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
Q2FsbGJhY2spOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3Vy
Y2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2Rl
ZERhdGFJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJh
Y2s6OkNhbGxiYWNrKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25l
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVtb3J5Q2FjaGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVy
ZW5jZUNoYW5nZXMpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAg
IChXZWJDb3JlOjpET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6
CisgICAgICAgICogcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBh
Z2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRy
YWNrZXI6Ok1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11
bUR1cmF0aW9uVHJhY2tlcjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVs
ZUhvdmVyU3RhdGVVcGRhdGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAg
ICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6cGFyc2VFdmVudFN0cmVhbUxpbmUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoK
KyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRJ
bWFnZXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5pbXVtRE9N
VGltZXJJbnRlcnZhbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6Om1pbmltdW1ET01UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46Cisg
ICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1
c3BlbmRhYmxlVGltZXI6OlN1c3BlbmRhYmxlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3Vz
cGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxl
VGltZXI6OnJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVU
aW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxl
VGltZXIuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0
YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVB
bmltYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFu
aW1hdGlvblVwZGF0ZSk6CisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xh
dGNoZWRTdGF0ZUlmTmVlZGVkKToKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVj
dGlvblJlY3RzRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNo
b3VsZEJlU2hvd24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQpOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJ
bmRpY2F0b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93
OjpzZXRUZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVl
U3RhdGVDb21taXQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBv
c3RUYXNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6SHlzdGVyZXNpc0FjdGl2aXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Nj
cm9sbFByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6c3RhcnRUaW1l
cklmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkVGltZXJzOjpUaHJlYWRUaW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJz
OjpzZXRTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnVwZGF0
ZVNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6c2hhcmVkVGlt
ZXJGaXJlZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6ZmlyZVRp
bWVyc0luTmVzdGVkRXZlbnRMb29wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6VGltZXJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJh
c2U6OmNoZWNrQ29uc2lzdGVuY3kpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFw
RGVjcmVhc2VLZXkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbik6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OmhlYXBQb3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjp1cGRhdGVI
ZWFwSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzZXROZXh0RmlyZVRp
bWUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVy
dmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0T25lU2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnJlcGVhdEludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OmlzQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmFibGVP
bmVTaG90VGltZXI6OkRlZmVycmFibGVPbmVTaG90VGltZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L1ZOb2RlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2xhc3RXYXJuaW5nVGltZSk6
CisgICAgICAgIChXZWJDb3JlOjpWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5n
SW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1ZOb2RlVHJhY2tlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
aXRtYXBJbWFnZTo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
aW50ZXJuYWxTdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
YWR2YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JhdGNoQnVmZmVyOjpzY2hlZHVs
ZVNjcmF0Y2hCdWZmZXJQdXJnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnVwZGF0ZU9wdGlvbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJh
bmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
aWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29u
dHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ292ZXJhZ2VN
YXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
R3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29ob3J0KToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OklP
U3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExhc3RVc2VUaW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJs
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNv
b24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50
YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNh
bmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRp
ZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0
ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9p
bnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0v
bW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0ZSk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWspOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9E
TlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGluZ1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGlt
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9yZUNhbGxiYWNrKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1
ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1
ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9u
T3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5p
bWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzRmFkZUluRHVy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRl
T3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQpOgorICAgICAgICAq
IHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0
dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERp
c3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgorICAgICAgICAqIHJlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9u
U2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAgICAqIHJlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6ZXZl
bnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmg6
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJs
ZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVy
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVv
dXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpk
aXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIwMTYtMTEtMjMgIFNlcmdp
byBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlk
XSBDb252ZXJ0IGdyaWQgcmVwcmVzZW50YXRpb24gaW50byBhIGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVh
NmU5OGFhNzc4OTFjMjBiODczYzM3YTNhOTBhNWQ0NjdkNGM4ZjYuLjE4NmNmNzY4ZmI5ZDJkNGM2
NmQ1MTUyZjhlYjllNGFhYTllY2FkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTYt
MTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAg
Q2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3Rk
OjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMsIHJl
cGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5kIHJl
bW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgKiBTdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVJdGVtRm9yU3luYyk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVDbGVhcik6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzeW5jVGlt
ZXJGaXJlZCk6CisgICAgICAgICogU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcik6CisgICAgICAgICogU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5oOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6
c3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRy
YWNrZXI6OnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYlJlc291
cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cyk6CisKIDIwMTYt
MTEtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0pTQ10gV1RGOjpUZW1wb3JhcnlDaGFuZ2Ugd2l0aCBXVEY6OlNldEZvclNjb3BlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggMWQyZThiMmFmYjM1YWM4OGM4YTI4NjFjMDFkMTY5NWRhMjRmMTk4MS4uNmQ1
OWExZmZkZjE5MDM4NDllODM2YjE0ZTNkMWUxY2RiMzA5YTgzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI2IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywg
bm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGlt
ZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3Cisg
ICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgor
CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgIChQbHVn
aW5UaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFN0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW06
CisgICAgICAgICgrW1dlYlN0b3JhZ2VNYW5hZ2VyIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVN
b2RlbDpdKToKKwogMjAxNi0xMS0yMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtNYWNdIEluIExlZ2FjeSBXZWJLaXQsIHByZXNzaW5nIGFuIGFycm93IGtleSBp
biBlZGl0YWJsZSBjb250ZW50IGRvZXNu4oCZdCBoaWRlIHRoZSBtb3VzZSBjdXJzb3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBlMGU0ZTU2MDQyNTZhNmFkNmRiMWMwODE2NGEwNTI5MzdjMDU2NmRjLi43YTAyZTM3
ZjQwZmExMGExMWI5M2EyZmZmMzlmZGNkNjE4ZjA1NGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTM1IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVz
ZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRv
dWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWQ6OlRocm90
dGxlOjpUaHJvdHRsZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpkaWRSZWNlaXZl
UmVzcG9uc2VOZXR3b3JrU2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvYWRUaHJvdHRs
ZUxhdGVuY3kpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0TmV0d29ya0xvYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RhdGlzdGljcy5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6
ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpT
dG9yYWdlOjpzdG9yZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpy
ZXN1bWUpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHA6CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6CisgICAgICAgIChJ
UEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6OkNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246
OnRlcm1pbmF0ZVNvb24pOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0
cm95KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50
VGltZXIpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZSk6CisgICAgICAg
ICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NhY2hl
TW9kZWwuY3BwOgorICAgICAgICAoV2ViS2l0OjpjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKToK
KyAgICAgICAgKiBTaGFyZWQvQ2FjaGVNb2RlbC5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6
CisgICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Omxhc3REaXNwbGF5VGltZSk6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0
b3JlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkp
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lmg6CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24ubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbToK
KyAgICAgICAgKEFQSTo6U2hhcmVkSlNDb250ZXh0OjplbnN1cmVDb250ZXh0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6
OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0Fy
ZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR2FtZXBh
ZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxl
ci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hpZGRlblBhZ2VUaHJv
dHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Om1heGltdW1CdWZmZXJpbmdUaW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5WaWV3Ojpsb2FkVVJMKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUGx1Z2lu
Vmlldyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5X
aW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNy
ZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisKIDIwMTYtMTEtMjQgIE1pY2hh
ZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE5v
dGlmaWNhdGlvbnMgQVBJIGRvZXMgbm90IGV4cG9zZSBvciByZXNwZWN0IHRoZSAidGFnIiBhdHRy
aWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDQwNDE2OWY3ZjU0ZmFmMGQ5Njgx
ZjJlZjAyMGZmNGE2ZDhjMWRjNGUuLmIxYWVlMzg2NjAyY2I0YmRlZTVkOGY2NjA2NGEwYjM0NGUz
ZmI5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2b2lk
IFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKEdh
cmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZl
bnRzVGFzazo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCmluZGV4IGFkNWRjZTI0NTg2YzRiMzFjZGU1OTViYTJiMWY3ZjZlMzBi
MzcxYTkuLmEzZTU5MWUwMDlmMTRkZThjMGUzZWI1NzU0ZDgyYzZmNTAzMWFkM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTIy
MywxMyArMjIzLDEzIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHN0ZDo6cGFpcjxTcGVjaWVzQ29u
c3RydWN0UmVzdWx0LCBKU09iamVjdCo+IHNwZWNpZXNDb25zdHJ1CiAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc0NvbnN0cnVjdG9yKCkpIHsKICAgICAgICAgICAgIEpTT2JqZWN0KiBjb25zdHJ1
Y3Rvck9iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yKTsKICAgICAgICAgICAg
IGlmIChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkgIT0gY29uc3RydWN0b3JPYmplY3QtPmds
b2JhbE9iamVjdCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVj
aWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwg
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNvbnN0cnVjdG9yLmlzT2JqZWN0KCkp
IHsKICAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3RydWN0b3IuZ2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKICAgICAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc051bGwoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
U3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOzsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBh
dGgsIG51bGxwdHIpOwogICAgICAgICB9CiAgICAgfSBlbHNlCiAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3AuaCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAppbmRleCA1NTVkNDQ3
MzFjZjMwOGJjYmQ5ZWViZGZiZTY1YjIxZmRhYTU4ZWRlLi42M2QwYzc5OTkxZWQ5MmQ2ODhlNWI5
OGI1MWNiZmM0NzQ3YzM4MzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgK
KysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCkBAIC04OCwxMCArODgsOCBAQCBwdWJsaWM6
CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBleHBsaWNpdCBUaW1lckJhc2UoUnVuTG9vcCYp
OwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAg
ICAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQo
cmVwZWF0SW50ZXJ2YWwsIHRydWUpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhy
ZXBlYXRJbnRlcnZhbC5jb3VudCgpICogMC4wMDEpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRPbmVT
aG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgZmFsc2UpOyB9Ci0gICAgICAg
IHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwuY291bnQoKSAqIDAuMDAxLCBmYWxzZSk7IH0KKyAgICAgICAgdm9pZCBz
dGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVy
dmFsLCB0cnVlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFs
KSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KIAogICAgICAgICBXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBzdG9wKCk7CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGlzQWN0aXZl
KCkgY29uc3Q7CkBAIC0xMDMsNyArMTAxLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBwcml2
YXRlOgotICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChkb3VibGUgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOworICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KTsKIAogICAgICAg
ICBSdW5Mb29wJiBtX3J1bkxvb3A7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxv
b3BUaW1lci5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKaW5kZXggMzc4MGU3NmMw
MzEzMTA0YWVjN2ZkNzk3MzIzZWI0MTA0ZjgzZTU5Ny4uZThjYTZjZjRjM2Q2YTBhMjhkYmM4MWVl
OTkxOGY2Mzg4YWE1OTc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVy
LmgKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKQEAgLTQ1LDEwICs0NSwxMCBA
QCBwdWJsaWM6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3QgU2No
ZWR1bGVQYWlyKik7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3Qg
U2NoZWR1bGVQYWlySGFzaFNldCYpOwogCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3Rh
cnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2
YWwsIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0
YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBTZWNvbmRzKDAp
KTsgfQogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNG
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMy
ZTIzYmE3YmY5NTczYzMxYjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5
Yzg4NTIwZWZlNWJlYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJD
Ri5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiAr
NTIsMTIgQEAgc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCog
Y29udGV4dCkKICAgICB0aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNl
OjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQor
dm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNl
Y29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVu
TG9vcFRpbWVySW52YWxpZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNv
bnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9w
dENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsg
bmV4dEZpcmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250
ZXh0KSk7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVh
dEludGVydmFsLnZhbHVlKCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZv
aWQgUnVuTG9vcFRpbWVyQmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVs
ZVBhaXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291
cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThh
OTg2ZGU5MjNlODcyOTI0NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5
OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0
KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZh
bCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAg
ICAKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwg
MCB9OwotICAgIENGVGltZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZp
cmVJbnRlcnZhbCA6IDA7Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0
RmlyZUludGVydmFsLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQp
KTsKKyAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJl
SW50ZXJ2YWwudmFsdWUoKSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGlt
ZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkg
KyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZp
cmVkLCAmY29udGV4dCkpOwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxv
b3AuZ2V0KCksIG1fdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3
NGM2NzUwZGFlNTk2Li42MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1
bkxvb3A6OlRpbWVyQmFzZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1l
ci0+bV9pc1JlcGVhdGluZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tf
Q0FOQ0VMOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRG
aXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0
aXZlKCkpCiAgICAgICAgIHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAg
ICAgQVNTRVJUKCFtX3RpbWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRG
aXJlSW50ZXJ2YWwsIHJlaW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCks
IHRoaXMpOworICAgIG1fdGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52
YWx1ZSgpLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlz
KTsKIH0KIAogdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9n
ZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQx
NjdlYzdiNWZkYTI2NjM4Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEy
ICsyNjMsMTIgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7
CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJv
b2wgcmVwZWF0aW5nKQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50
ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRh
c2sgPSBTY2hlZHVsZWRUYXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAg
ICB9LCBTZWNvbmRzKGludGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVw
ZWF0aW5nKTsKICAgICBtX3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNr
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1
NjI3OGJhNmI3ZmYwMjFjMGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0
Njg3ODEzNjMzYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGli
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkg
KzE5MCw5IEBAIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAg
IGdfc291cmNlX3NldF9yZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0K
IAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6
OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2
YWxEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52
YWx1ZSgpKTsKICAgICBhdXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29u
ZHM6Om1heCgpOwogICAgIGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAg
ICAgICBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9u
bzo6bWljcm9zZWNvbmRzPihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2lu
LmNwcAppbmRleCA0YjQ1YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAy
MWY3ZGI0Y2EyYTI4YjE5ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxv
b3BXaW4uY3BwCkBAIC0xNTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1l
ckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewog
ICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJz
LnNldChtX0lELCB0aGlzKTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNz
YWdlV2luZG93LCBtX0lELCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRU
aW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpz
dG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBm
YWYyMTIwMmExMzBiOTJlNWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLmJjMGMwNWFjMGJhNDAxMzdm
MWFlZTYwOWQzZmM4Mjk0YTExNWU2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmNwcApAQCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlh
S2V5U2Vzc2lvbjo6c2Vzc2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9u
OjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJy
YXk+JiYgaW5pdERhdGEpCiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWlt
ZVR5cGUsIFdURk1vdmUoaW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiB9CiAKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJl
ZCgpCkBAIC0xNDIsNyArMTQyLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViS2l0TWVkaWFLZXlT
ZXNzaW9uOjp1cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYga2V5KQogCiAgICAgLy8gMi4gU2NoZWR1
bGUgYSB0YXNrIHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJvdmlkaW5nIGtleS4KICAgICBtX3BlbmRp
bmdLZXlzLmFwcGVuZChXVEZNb3ZlKGtleSkpOwotICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAg
ICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2Vv
bG9jYXRpb24vR2VvTm90aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9Ob3RpZmllci5jcHAKaW5kZXggY2VjOTdjYzkwMmU0NTA2ODk3ZmVmYmQzZWFlMmY5
NzkwN2FhY2MxNi4uMjYxYjA3YzVkNzczMDI4NDA5NzQ4Yzk3ZjFiN2E3ODViMjFmODU2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKQEAgLTU5LDEzICs1OSwxMyBAQCB2b2lkIEdlb05vdGlmaWVyOjpzZXRGYXRhbEVycm9yKFJl
ZlB0cjxQb3NpdGlvbkVycm9yPiYmIGVycm9yKQogICAgIG1fZmF0YWxFcnJvciA9IFdURk1vdmUo
ZXJyb3IpOwogICAgIC8vIEFuIGV4aXN0aW5nIHRpbWVyIG1heSBub3QgaGF2ZSBhIHplcm8gdGlt
ZW91dC4KICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9Ob3Rp
Zmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAgIG1fdXNlQ2FjaGVkUG9zaXRpb24g
PSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29sIEdlb05vdGlmaWVyOjpoYXNaZXJvVGltZW91
dCgpIGNvbnN0CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2Fs
bGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiB2b2lkIEdlb05vdGlmaWVyOjpzdGFydFRpbWVy
SWZOZWVkZWQoKQogewogICAgIGlmIChtX29wdGlvbnMtPmhhc1RpbWVvdXQoKSkKLSAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QobV9vcHRpb25zLT50aW1lb3V0KCkgLyAxMDAwLjApOworICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fb3B0
aW9ucy0+dGltZW91dCgpKSk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnN0b3BUaW1lcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3Bw
CmluZGV4IDg1YWU0MGY2MzQxNzUzMjcxNjcyZjNhMzc3ZmU5OTNkZjRhMzE4YzAuLjUyZjE5Mjkz
NThmM2E5ZjA0MTUxMjNiZmQyZWM3ODU5NzczYzQzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xOTgsNyArMTk4LDcg
QEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnJlc3Vt
ZSgpOwogCiAgICAgaWYgKCFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVz
dW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggMzhkZWNkNTNiOWFiMDgxMmViODA5ZjVmYmIzYjZiZGExZWM4YjAxYS4u
NWE1OTQ1MmFhZGJmZmM4YmM4Njc5YmIwYTBlM2Y5YzdjMTczMjUzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzUw
LDcgKzM1MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0aW9uVGltZXIo
KQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFk
SUQoKSk7CiAKICAgICBpZiAoIW1fb3BlcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9vcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3BlcmF0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpv
cGVyYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCmluZGV4IGNiMDQ4
NjFjYzdjY2M1Y2YyZjdjZWJhZDczY2Q1OTdiZDJhMjcwYWEuLmM2NmZkMTFjNmI3NWZlYzg2NmQ2
YTIxMWI1NTA3ZjQyY2M5ZmQyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcApAQCAtMTQ5
NCw3ICsxNDk0LDcgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6aW52b2tlT3BlcmF0aW9uQW5k
VHJhbnNhY3Rpb25UaW1lcigpCiAgICAgQVNTRVJUKCFtX2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRl
KTsKIAogICAgIGlmICghbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5z
YWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2
OWYxMGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLmY1ZDY2MzYwMjY0ZGY2OTFjNmQ4
ZWNiNTdlNDM1MDU4YzU2MDZlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0z
Niw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSB0YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0
YXNrRGVsYXlJbnRlcnZhbCA9IFNlY29uZHMoMS4wIC8gMTApOwogCiBzdHJ1Y3QgQ2xpZW50U3Rh
dGUgewogICAgIGV4cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQmIGNsaWVudCwgdWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVf
dCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQqIGNsaWVudCwgdWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmln
dXJlV2F0Y2hkb2dUaW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1Rp
bWVySW50ZXJ2YWxBZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3Vi
bGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0g
U2Vjb25kcyg2MCAqIDYwKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVy
SW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA9IFNlY29uZHMoOCAqIDYwKTsKIAogICAgIGlmICgh
bV9wbGF5YmFja1RhcmdldCB8fCAhbV9wbGF5YmFja1RhcmdldC0+aGFzQWN0aXZlUm91dGUoKSkg
ewogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwpAQCAtNDQyLDE0ICs0NDIsMTQgQEAg
dm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKCkKICAg
ICB9CiAKICAgICBpZiAoc3RvcFRpbWVyKSB7Ci0gICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50
ZXJ2YWwgPSAwOworICAgICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gU2Vjb25kcygw
KTsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAgICAgICAgTE9HKE1lZGlhLCAi
V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHN0
b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSBkaWRQbGF5
VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA6IHdhdGNoZG9n
VGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IGRp
ZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kIDogd2F0
Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBpZiAoaW50ZXJ2YWwgIT0g
bV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkp
IHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwot
ICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJl
V2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIsIGludGVydmFsKTsKKyAg
ICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdh
dGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwgaW50ZXJ2YWwudmFsdWUo
KSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IGludGVy
dmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1N2Q1OGVmOTE0Y2IyM2Yx
OTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRjNmQ0NmExM2FkM2MxZjEx
YjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0xMDIsNyArMTAyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4gbV9wbGF5YmFja1Rhcmdl
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlvblRhc2tzIG1fdGFza0Zs
YWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgeyAw
IH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsOwogICAgIGJvb2wgbV9l
eHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Rhcmdl
dENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2VyRW5hYmxlZCB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBhYWZjMjFlMDU1Mjg0Yi4u
Mjg0OGZhYWZiY2NhZWU1ZGJlOWVkYzJjNDg0ZmVkYjEyZWUxMWU5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtMzQ4
LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwoY29uc3QgTWVkaWFU
aW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8gNS4gUmV0dXJuIGNvbnRy
b2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBzdGVwcyBhc3luY2hyb25v
dXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0OwogICAgIG1fcGVuZGluZ1Jl
bW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXI6OmFib3J0SWZVcGRhdGluZygpCkBAIC01MzMsNyArNTMzLDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25lZCBj
aGFyKiBkYXRhLAogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0RXZl
bnQpOwogCiAgICAgLy8gNi4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFs
Z29yaXRobS4KLSAgICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJlcG9y
dEV4dHJhTWVtb3J5QWxsb2NhdGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggMWQ1MmE0OGE1M2RhZTI4OGM4NDcx
OWZkYzFlMWVlYmQ0N2VlNmU1Ny4uZDU0NDBiZmY2N2M5MjhjZjcxZGRjYmI1NTVkZWU3NDZjNzhh
NTQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIE1lZGlhU3RyZWFtOjpzY2hlZHVs
ZUFjdGl2ZVN0YXRlQ2hhbmdlKCkKICAgICBtX3NjaGVkdWxlZEFjdGl2aXR5RXZlbnRzLmFwcGVu
ZChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiAKICAgICBpZiAoIW1f
YWN0aXZpdHlFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fYWN0aXZpdHlFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GU2VuZGVyLmNwcAppbmRleCA4MzMwYzg3OGMxN2MwOWU3ODI2OWJjNTVhZDc4ZmUx
N2IxNGI4MGRiLi4xNmU4MDA2ODc4MDRjZmM0OTQzYmY1ODRiNzJjZTY4NTEyZDAyNjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlz
cGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBw
ZW5kKFdURk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5u
ZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bC5jcHAKaW5kZXggMDUxYzcwMTQ5YWUyZGExMmU2MDBhNDA1MGYwOWMxZWM4YmZkNTc1Ni4uNDNh
OTRiYTIzNzYzZGVlMjc3ZGNlYmI3MjU1MGE4M2RjYzFlMjZiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKQEAgLTIz
Nyw3ICsyMzcsNyBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UmVmPEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3Zl
KGV2ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRl
eCAxZTAyY2UxY2Y2N2Y2ZTRkOTEyODc1YWJmODBiMmRkZGU4MzdhN2U3Li4zYWI3NjY0MTUyNzNi
OTE5ZWMwZTY4M2RlMDk0MmZlN2NjZGQ3ZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBA
QCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGl0bGUpCiAgICAgLy8gRklYTUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50
ZXIgY2FuIGJlIG51bGwgc28gc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJl
Zi4KICAgICAvLyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0
cnlpbmcgdG8gaGFuZGxlIHRoYXQgY2FzZS4KICAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50
ZXItPmNsaWVudCgpKTsKLSAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1f
dGFza1RpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGVi
ZmUwLi5mMDczNDVkZDJlNzdlNzY1YzNmNmYwZTdmM2E1YjQwNmQxMzg4OWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBj
YXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNEZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3Mu
aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICByZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVm
cyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGlt
ZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgIH0KICAgICAgICAg
bV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAgICAgICAgICBpZiAoY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApp
bmRleCA4NjA5MTQyMDljOGJiMzQyODA0MGFhMTRmYzlmY2QwM2QwZGQ1YzU5Li45ZGU2MjViMzli
NWEyMzgzNGZhNDEyZjU2ZGY2YzhhOTM5YWY1OGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgYm9vbCBWaWJy
YXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKIAogICAgIG1f
cGF0dGVybiA9IHNhbml0aXplZDsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6
V2FpdGluZzsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFZp
YnJhdGlvbjo6dGltZXJGaXJlZCgpCiAgICAgICAgIG1fdmlicmF0aW9uQ2xpZW50LT52aWJyYXRl
KG1fcGF0dGVyblswXSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChtX3BhdHRlcm5bMF0gLyAxMDAwLjApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9wYXR0ZXJuWzBdKSk7CiAgICAgbV9wYXR0ZXJu
LnJlbW92ZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAppbmRleCA2NDMyMTY1OWJiMWMyMjk0ZDIyMmFmZGViZjM0NDVjYTZiNzRj
MTVjLi5lZGNlMTE5MmQwMzU4NGI1ZmU1NjNhMzY3YTBlNWUzMzlkNmEwMGQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNTAzLDcg
KzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQogICAgICAgICBtX2NoYW5uZWwtPnJl
c3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVudHMuaXNFbXB0eSgpICYmICFtX3Jl
c3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gRmlyZSB0aGUgcGVuZGluZyBldmVu
dHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkg
SlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0K
IAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4
IDRlNGFhN2MzYTliYjI1MjU5NWE3MjkyMzA4NzA2MWJiN2IzNDIzOTkuLmJkYzY0MDI0ZDA4NDFk
YWE5ZWI2ZTVlM2Y3OWRkM2UxZmI5MTNiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYyLDcgKzYyLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4aW11bVNlZ21l
bnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVtU2VnbWVudExp
ZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRD
aGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYgY2xpZW50
LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZkb2N1bWVudCkK
QEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3NlKGludCBjb2Rl
LCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5lbD4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhhbmRzaGFrZSBt
YXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBkZXJlZmVyZW5j
ZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAgICAgaWYgKG1f
Y2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbG9zaW5n
VGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lKTsKKyAgICAg
ICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUg
KiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVh
c29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lKCkK
IHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVyLmlzRW1wdHko
KSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5u
ZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBkMWU4
MjA1YTExNjEyZjBkYWY4NDEwYjhlNjMxODk4YTFlMjZjMDc0Li5hZWIzNzMzODNhMzQzMDU4OWQx
ZTBkODNiZWEyNjYyMWFmOWUwY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTExMCw4ICsxMTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAvLyBQb3N0IHZhbHVlIGNoYW5nZSBu
b3RpZmljYXRpb25zIGZvciBwYXNzd29yZCBmaWVsZHMgb3IgZWxlbWVudHMgY29udGFpbmVkIGlu
IHBhc3N3b3JkIGZpZWxkcyBhdCBhIDQwaHogaW50ZXJ2YWwgdG8gdGh3YXJ0IGFuYWx5c2lzIG9m
IHR5cGluZyBjYWRlbmNlCi1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVl
Q2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyNTsKLXN0YXRpYyBkb3VibGUgQWNjZXNz
aWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyMDsKK3N0
YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9u
SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDI1KTsKK3N0YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlM
aXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAog
QWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2Fj
aGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0LCBEb2N1bWVudCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3Vz
bHkpIHsKICAgICAgICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihvYmplY3QsIG5vdGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9z
dFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHBvc3RQbGF0Zm9ybU5v
dGlmaWNhdGlvbihvYmplY3QsIG5vdGlmaWNhdGlvbik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAppbmRleCBiZmYzYjBjYWVlZjhkNGIwZDM2MWMyY2M0
YjI0OWZmMDgzNTgyZTI1Li5hMTQxNGIzYzRiYjBjNDdlMmYzM2JlNDg4MzkwMDE5ZjQ2NDEzNTA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKQEAgLTcx
LDcgKzcxLDcgQEAgdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0U29vbigpCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKCkKIHsKICAgICBpZiAo
IW1fR0NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3Bw
CmluZGV4IDVlYWI1NWI1NDMzMzNiZDE3ZjY3YjExZWJhZDY2MTc3MjgyNTAxZjEuLmJjMjRmMjI0
MTRlYjBhZGEwMzE4ZjBiZjUyYjEyZTNiMzgzZTcyMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHZvaWQgQ1NTRm9udEZhY2U6OnNldFN0YXR1cyhT
dGF0dXMgbmV3U3RhdHVzKQogICAgIH0KIAogICAgIGlmIChuZXdTdGF0dXMgPT0gU3RhdHVzOjpM
b2FkaW5nKQotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qod2ViRm9udHNTaG91
bGRBbHdheXNGYWxsQmFjaygpID8gMCA6IDMpOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFy
dE9uZVNob3Qod2ViRm9udHNTaG91bGRBbHdheXNGYWxsQmFjaygpID8gU2Vjb25kcygwKSA6IFNl
Y29uZHMoMykpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OlN1Y2Nlc3MgfHwg
bmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3Rv
cCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IGU4NDk4OGVi
ZTA2YjZmNTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIuLmMyZjlhMTYyNTM0ZGVjYTJhYjc5MGVm
MWQ2ZDRmMjQzNmZiZGIyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0Zv
bnRTb29uKENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8gYWZ0ZXIgdGhpcyBmb250IGhhcyBiZWVu
IHJlcXVlc3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxvYWRpbmcuIEJhbGFuY2VkIGJ5CiAgICAg
Ly8gZGVjcmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVnaW5Mb2FkVGltZXJGaXJlZCgpIGFuZCBp
biBjbGVhckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0gICAgbV9iZWdpbkxvYWRpbmdUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAppbmRl
eCBhNzUyODNhMmIyN2MzZGVkOGQ5NDMxMmRlMDRhNDE1OGVlY2MyZjkzLi5kNGY3ZmE0NmU2MDFm
M2VmNzg0NGIzMTJiYjRkYjZmNTllZWIzMDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZElt
YWdlcyA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
dGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9IFNlY29uZHMoMyk7CiAKIENTU0ltYWdl
R2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNzVHlw
ZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCA5MTM2M2MxNDNiMjZjYTQxOWFmZTRlNGJlMjIxNzM3ZTE1MTFmMDRmLi4xOWE4
NTI5MzhkMjBkOGY2YzE1ZDc2ODZiM2U5NDllY2UyMzgwZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM5LDggKzEyMzksOCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFkZFRvTWF0Y2hlZFByb3BlcnRpZXNDYWNoZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNv
bnN0CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRk
aXRpb25zQmV0d2VlblN3ZWVwcyA9IDEwMDsKICAgICBpZiAoKyttX21hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGVBZGRpdGlvbnNTaW5jZUxhc3RTd2VlcCA+PSBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZUFk
ZGl0aW9uc0JldHdlZW5Td2VlcHMKICAgICAgICAgJiYgIW1fbWF0Y2hlZFByb3BlcnRpZXNDYWNo
ZVN3ZWVwVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMgPSA2MDsKLSAgICAgICAg
bV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3QobWF0Y2hlZERl
Y2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMpOworICAgICAgICBzdGF0aWMgY29uc3Qg
U2Vjb25kcyBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSA9IFNlY29uZHMoNjApOwor
ICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdCht
YXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSk7CiAgICAgfQogCiAgICAgQVNTRVJUKGhh
c2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYzYxOGE5ZGQ2ZmNhY2I5N2ZlMzBiYmNm
MjE5OGY4YWY5ZTI3NDQ4NC4uY2M2NmIxN2UyMTA4YWMyZWM3ZjViYjlhY2ZlZWM4ZDJlMmQ3NzQ1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjU3LDcgKzEyNTcsNyBAQCB2b2lkIERv
Y3VtZW50OjpzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZChib29sIHZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KQogICAgIGlmICh2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgbV92aXN1YWxVcGRhdGVz
U3VwcHJlc3Npb25UaW1lci5zdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3Zpc3VhbFVwZGF0
ZXNTdXBwcmVzc2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoKSk7CiAKICAgICBpZiAoIXZpc3VhbFVwZGF0
ZXNBbGxvd2VkKQogICAgICAgICByZXR1cm47CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCB2b2lkIERv
Y3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKCkKICAgICAvLyBGSVhNRTogV2h5IG9uIGVhcnRo
IGlzIHRoaXMgaGVyZT8gVGhpcyBpcyBjbGVhcmx5IG1pc3BsYWNlZC4KICAgICBpbnZhbGlkYXRl
QWNjZXNzS2V5TWFwKCk7CiAgICAgCi0gICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxh
dGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lkIERvY3VtZW50Ojp3cml0
ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9jdW1lbnQpCiAgICAgd3Jp
dGUoIlxuIiwgb3duZXJEb2N1bWVudCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKK1NlY29uZHMgRG9jdW1lbnQ6
Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKICAgICBhdXRvKiBwYWdlID0gdGhpcy0+
cGFnZSgpOwogICAgIGlmICghcGFnZSkKQEAgLTI4NDEsNyArMjg0MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBzaG91bGRUaHJvdHRsZSkKICAgICBk
aWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0CiB7CiAgICAgYXV0
byBhbGlnbm1lbnRJbnRlcnZhbCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCk7CiAKQEAgLTUwMjcsOCArNTAy
Nyw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgPSBTZWNvbmRzKDEw
KTsKKyAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQpOwogCiAgICAgLy8g
UGFyc2VyIHNob3VsZCBoYXZlIHBpY2tlZCB1cCBhbGwgcHJlbG9hZHMgYnkgbm93CiAgICAgbV9j
YWNoZWRSZXNvdXJjZUxvYWRlci0+Y2xlYXJQcmVsb2FkcygpOwpAQCAtNTI1NSw3ICs1MjU1LDcg
QEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25SZXN0
b3JhdGlvbk1vZGUgbW9kZSkKIHsKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3RvcmVz
U2VsZWN0aW9uID0gbW9kZTsKICAgICBpZiAoIW1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFu
Y2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9pZCBEb2N1bWVudDo6cmVzdW1lU2No
ZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikK
ICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6V2lsbERlZmVyTG9hZGluZyAmJiBt
X3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAgICAg
aWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVuZGluZ1Rhc2tzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICAgICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CiAgICAgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0cyhyZWFzb24pOwogICAgIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlckNhbGxiYWNrcygpOwpAQCAtNTY4Nyw3ICs1Njg3LDcgQEAgdm9pZCBEb2N1bWVu
dDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVk
IHNob3J0IGZsYWcKICAgICB9IHdoaWxlICgwKTsKIAogICAgIG1fZnVsbFNjcmVlbkVycm9yRXZl
bnRUYXJnZXRRdWV1ZS5hcHBlbmQoZWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVudEVsZW1lbnQo
KSk7Ci0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKQpAQCAtNTg1NCw3
ICs1ODU0LDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudChFbGVtZW50KikKIAogICAgIG1fZnVsbFNjcmVlbkVsZW1lbnQtPmRpZEJlY29tZUZ1bGxz
Y3JlZW5FbGVtZW50KCk7CiAKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVlblJlbmRlcmVyKFJlbmRlckZ1bGxT
Y3JlZW4qIHJlbmRlcmVyKQpAQCAtNjA1Nyw3ICs2MDU3LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGVj
cmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpCiAgICAgLS1tX2xvYWRFdmVudERlbGF5Q291bnQ7
CiAKICAgICBpZiAoZnJhbWUoKSAmJiAhbV9sb2FkRXZlbnREZWxheUNvdW50ICYmICFtX2xvYWRF
dmVudERlbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1l
ckZpcmVkKCkKQEAgLTY3MDEsNyArNjcwMSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0
ZUZvcm1Db250cm9sKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2Fz
c29jaWF0ZWRGb3JtQ29udHJvbHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV9kaWRBc3NvY2lh
dGVGb3JtQ29udHJvbHNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2RpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaWRBc3NvY2lhdGVG
b3JtQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9j
dW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2
NzIxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcm
IGNvb2tpZXMpCiAgICAgQVNTRVJUKCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9j
YWNoZWRET01Db29raWVzID0gY29va2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZh
bGlkIGF0IG1vc3QgdW50aWwgd2UgZ28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nv
b2tpZUNhY2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVF
eHBpcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OmludmFsaWRhdGVET01Db29raWVDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDhmNWI0
M2UyMGZhZjZjNDFjMTY3NzFkZjY2Yjg0Y2U2ZjU4ZmMxNTMuLjZlNWRlMGE5NTMxNjFmZmJiODVm
ZWU2MGRhMDdiN2Q0ZjM4YjczODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzM3LDkgKzEz
MzcsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBmaW5hbDsKIAotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKKyAg
ICBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QgZmluYWw7CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFj
aGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsKKyAgICBTZWNvbmRzIHRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsK
IAogICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVFbGVtZW50KCk7CiAgICAgdm9pZCB1cGRh
dGVUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudEV2ZW50UXVldWUuY3BwCmluZGV4IDllMDc3ZjcyZjEzNjU5YTM4NjkxNWE5Y2JlNjAx
NDZmMjAyOTljMjcuLjNjZGUyM2E0Zjg0Nzg4OGJhZTVjYzEwOGNmMDFhOGY5NzdkNDc4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCkBAIC03OSw3ICs3OSw3
IEBAIGJvb2wgRG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYmIGV2
ZW50KQogCiAgICAgbV9xdWV1ZWRFdmVudHMuYWRkKGV2ZW50LnB0cigpKTsKICAgICBpZiAoIW1f
cGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ0V2ZW50VGlt
ZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFNlbmRlci5oCmluZGV4IDg3MmQ4NWExYTQ1NTFhZDAxOTkwODA5ODBlNmY1ZjNhZDI4YTdiN2Yu
LmFmMGQxYzUxNDE4ZjkwMjJmZTdlNmEwMmFlNTRhNDQzYzQxMDkyZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFNlbmRlci5oCkBAIC02Niw3ICs2Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKFQmIHNlbmRlcikKIHsKICAgICBtX2Rp
c3BhdGNoU29vbkxpc3QuYXBwZW5kKCZzZW5kZXIpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rh
c2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5MTQ2ZmNlYjlmOGY3Li5l
M2U1M2U0ODQ2MTQxNmZmYjc4MDMzMDY5OGJiYjk1MzkwZmYwZGVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01p
Y3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90YXNrUXVldWU6OmFwcGVu
ZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAgZWxzZQogICAgICAgICBt
X21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAotICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIE1pY3JvdGFza1F1ZXVlOjpyZW1vdmUoY29uc3QgTWljcm90YXNrJiB0YXNrKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDkzN2Yx
YzIzYmQ3ZTk5NGNhZWViNmUyZDA0ODljMDBlZTE5Y2Y1NmIuLjdlOGRhOWM3M2RkOWRjNGE1OWRi
YWUwZTEzODkyYTFjODQ1Y2UyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKQEAgLTQ0NSw3ICs0NDUsNyBAQCBQdWJsaWNVUkxNYW5hZ2VyJiBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpwdWJsaWNVUkxNYW5hZ2VyKCkKICAgICByZXR1cm4gKm1f
cHVibGljVVJMTWFuYWdlcjsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1
c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmlt
dW1UaW1lckludGVydmFsKQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5p
bXVtVGltZXJJbnRlcnZhbChTZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKQogewogICAg
IGlmIChtaW5pbXVtVGltZXJJbnRlcnZhbCgpICE9IG9sZE1pbmltdW1UaW1lckludGVydmFsKSB7
CiAgICAgICAgIGZvciAoYXV0byYgdGltZXIgOiBtX3RpbWVvdXRzLnZhbHVlcygpKQpAQCAtNDUz
LDcgKzQ1Myw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRp
bWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kCiAgICAgfQogfQogCi1zdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lcklu
dGVydmFsKCkgY29uc3QKK1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRp
bWVySW50ZXJ2YWwoKSBjb25zdAogewogICAgIC8vIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9u
IHJldHVybnMgdGhlIERPTVRpbWVyJ3MgZGVmYXVsdAogICAgIC8vIG1pbmltdW0gdGltZXIgaW50
ZXJ2YWwuIEZJWE1FOiB0byBtYWtlIGl0IHdvcmsgd2l0aCBkZWRpY2F0ZWQKQEAgLTQ2OSw3ICs0
NjksNyBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKQogICAgICAgICB0aW1lci0+ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwo
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYzkyOThkMzJjYTQwMTZi
ZTA1ZmNmZjE4NGE5OTc2ODI2NTRhZTY4ZS4uN2ZkZTc4ZDVmYmY5YTgyMGU4YWY0ZDhiYzhkM2Ew
ZjM2NGQ3OGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCkBAIC0xOTIsMTEgKzE5MiwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSlND
OjpWTSYgdm0oKTsKIAogICAgIC8vIEludGVydmFsIGlzIGluIHNlY29uZHMuCi0gICAgdm9pZCBh
ZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1p
bmltdW1UaW1lckludGVydmFsKTsKLSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIGFkanVzdE1pbmltdW1U
aW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHZpcnR1
YWwgU2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRD
aGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7Ci0gICAgdmlydHVhbCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVz
dGluZ0xldmVsKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRl
cnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OwogCiAgICAgdmlydHVh
bCBFdmVudFF1ZXVlJiBldmVudFF1ZXVlKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRSdW5uZXIuY3BwCmluZGV4IDcwOTg5ZWI0MGMwNDVhZGU3NzRhZTU3ZDA5YTQwNDhiNTllMzg4
MDQuLjM2ODY4NzdjMGJmYTgxNTNmY2NlMDFmY2Y4ZWZmMzk3NzVmNTkyZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2NyaXB0UnVubmVy
OjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQ
ZW5kaW5nU2NyaXB0cygpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2NyaXB0UnVu
bmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2NyaXB0KQpAQCAtMTAw
LDcgKzEwMCw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2Ny
aXB0JiBwZW5kaW5nU2NyaXB0KQogICAgICAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVu
ZChtX3BlbmRpbmdBc3luY1NjcmlwdHMudGFrZShwZW5kaW5nU2NyaXB0KS0+cHRyKCkpOwogICAg
IH0KICAgICBwZW5kaW5nU2NyaXB0LmNsZWFyQ2xpZW50KCk7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZv
aWQgU2NyaXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRh
Njc0MDE5NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYx
ZjEwMjgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2No
ZWR1bGVEZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1
bWVudC0+ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVU
aW1lc3RhbXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVs
ZURlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVk
dWxlRGVsYXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1
bWVudC0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2
N2Y5Njg0MDNkMTQ3ZTgzZmJiMS4uNzQ2ZmFlYTUzMzhiOWY0NGY0N2M3ZjUxMDY5OTEwYzQ2MjU3
ZDE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBA
QCBzdGF0aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlKCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gU2Vjb25kcyg2MCk7CitzdGF0aWMg
Y29uc3QgaW50IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmlu
ZyA9IDEwMDsKKwogY2xhc3MgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTkxLDE2ICs5NCwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIG1faGl0Q291bnQrKzsKIAogICAgICAgICBpZiAoIW1fY2xlYW5UaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV9jbGVhblRpbWVyLnN0YXJ0T25lU2hvdChwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyk7CisgICAgICAgICAgICBt
X2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5U
aW1lKTsKICAgICAgfQogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyA9IDYwOwotICAgIHN0YXRp
YyBjb25zdCBpbnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFu
aW5nID0gMTAwOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcykgLyA2MDsKLQogICAgIHZvaWQgY2xlYW5DYWNo
ZSgpCiAgICAgeworICAgICAgICB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRl
Q2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUNsZWFuVGltZS52YWx1ZSgpKSAvIDYwOworCiAgICAgICAgIHVuc2lnbmVkIGhpdENvdW50ID0g
bV9oaXRDb3VudDsKICAgICAgICAgbV9oaXRDb3VudCA9IDA7CiAgICAgICAgIGlmIChoaXRDb3Vu
dCA+IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50UGVyTWludXRlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZDVjZDFlYTY3ZGQ5MGI4OTNmNTM0N2E3YTE3ZWVjZTA5NGE0YWE2Yy4uNjgy
ZjRhZjEwZmMzZjcyOTg0MmVlYWI3MTFhOGRiMDU2ZWU5ZTMyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsKDAuMyk7CiAgICAgaWYgKCFpc0F1dG9t
YXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMjBlNmIwYzJiNzRjYWZjZWVhMjI4ZjgyY2NlMjIy
YmM1ZmMxN2EzNy4uMzE2Y2I5Yzc5ZjA4YTlmN2IwZDE0ODFhOTA4NjkwZjMxNDFhOWVlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMzI2Miw3ICszMjYyLDcgQEAgdm9pZCBFZGl0
b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZy
YW1lU2VsZWN0aW9uOjoKIAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JiYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVtYmVycygp
KQotICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZW5kaWYKIAogICAgIHNldFN0YXJ0TmV3S2lsbFJp
bmdTZXF1ZW5jZSh0cnVlKTsKQEAgLTMyNzQsNyArMzI3NCw3IEBAIHZvaWQgRWRpdG9yOjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFtZVNlbGVj
dGlvbjo6CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyU2hvdWxkQ2hlY2tTcGVsbGluZ0FuZEdy
YW1tYXIgPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkNsb3NlVHlwaW5nCiAgICAgICAgICYm
ICEob3B0aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpTcGVsbENvcnJlY3Rpb25UcmlnZ2VyZWQpOwog
ICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1RyaWdnZXJlZEJ5RGljdGF0aW9uID0gb3B0aW9u
cyAmIEZyYW1lU2VsZWN0aW9uOjpEaWN0YXRpb25UcmlnZ2VyZWQ7Ci0gICAgbV9lZGl0b3JVSVVw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmNwcAppbmRleCAzNTYxNzQ5MGJhODYwZjJiOWVhNDg1NjFkOTA1NjJmZThjNzJi
NDJhLi5jYTI5MjQ5NmU4YjBhMmNjZjFlMmEwYmU5NGI4NjU5NjFmNzQxMGIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMjA0NSw3ICsyMDQ1LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxp
bmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBCZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3Jl
CiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBpbiB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYg
KHNob3VsZEJsaW5rICYmICFtX2NhcmV0QmxpbmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAg
IGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJl
dEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAgaWYgKFNlY29uZHMgYmxpbmtJbnRlcnZhbCA9IG1f
ZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAg
IG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAg
ICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRmY2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uOTVi
ZDY2MDkzMTljYTgyNGMxYzUxNGJmMzhjYmIzMTg0OWM2NDNlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVj
a2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1
bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAo
IW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVl
ZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVk
UmVxdWVzdC5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2Vy
OjpkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5n
UmVzdWx0PiYgcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApp
bmRleCA0MTZhMmQxYTdiOTI1MTM0MTBlNDA2ZjQzNDVkYzgzY2Y1Y2ZhMTBjLi44M2E1MjYzZjQy
YmNkMjUzMDdiNTNjNDkxOGQ2YjdjNjMxOWY5OWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6
OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKIAog
ICAgIC8vIERpc3BhdGNoIGV2ZW50cyBsYXRlciBhcyB0aGlzIEFQSSBpcyBtZWFudCB0byB3b3Jr
IGFzeW5jaHJvbm91c2x5IGluIGFsbCBzaXR1YXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMuCiAg
ICAgaWYgKCFtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGExZjRmZTE4YzVkNWE2MDA0
OTRkYjRiMTY4Y2Q4NDRjNmRlNmRkZGIuLjJmMWY4YzZhMTFjOTNiNzg0ZGIxODM2NzBlZDYzNzU5
MTYzNjA0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAt
MTU2LDEyICsxNTYsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFNlZWtSZXBlYXREZWxheSA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNlZWtS
ZXBlYXREZWxheSA9IFNlY29uZHMoMC4xKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNjYW5SZXBl
YXREZWxheSA9IFNlY29uZHMoMS41KTsKIHN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1RpbWUgPSAw
LjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIFNjYW5SZXBlYXREZWxheSA9IDEuNTsKIHN0YXRpYyBj
b25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBI
aWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IFNlY29uZHMoNik7CiAKIHN0YXRp
YyB2b2lkIHNldEZsYWdzKHVuc2lnbmVkJiB2YWx1ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CkBAIC05
MjAsNyArOTIwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rp
b24oRGVsYXllZEFjdGlvblR5cGUgYWN0aW9uVHlwZSkKICAgICBpZiAoYWN0aW9uVHlwZSAmIFVw
ZGF0ZVBsYXlTdGF0ZSkKICAgICAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIFVw
ZGF0ZVBsYXlTdGF0ZSk7CiAKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAg
LTkyOCw3ICs5MjgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJj
ZUNoaWxkKCkKICAgICAvLyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3Vy
Y2U+IGVsZW1lbnQgV0lUSE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgog
ICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KCVwKSAtIHNldHRpbmcgJXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3Vy
Y2UpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBM
b2FkTWVkaWFSZXNvdXJjZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckFjdGl2ZVNvdXJjZUJ1ZmZl
cnNDaGFuZ2VkKGNvbnN0IE1lZGlhUGxheWVyKikKQEAgLTE5NjcsNyArMTk2Nyw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKQogCiAgICAgbV9wcmV2
aW91c1Byb2dyZXNzVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIC8v
IDM1MG1zIGlzIG5vdCBtYWdpYywgaXQgaXMgaW4gdGhlIHNwZWMhCi0gICAgbV9wcm9ncmVzc0V2
ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMC4zNTApOworICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4zNTApKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTMzNTQsNyArMzM1NCw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhTY2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2FuUmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3Nj
YW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBT
Y2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRpbWVyLnN0YXJ0KFNlY29uZHMoMCksIG1fc2Nh
blR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXREZWxheSk7CiB9CiAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5kU2Nhbm5pbmcoKQpAQCAtMzM5Myw3ICszMzkzLDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZCgpCiAKIC8vIFRoZSBzcGVj
IHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGls
ZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0
IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVu
Y3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5ID0gU2Vjb25kcygwLjI1KTsKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXli
YWNrUHJvZ3Jlc3NUaW1lcigpCiB7CkBAIC0zNDQwLDcgKzM0NDAsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKICAg
ICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsK
IAogICAgIC8vIHRocm90dGxlIHRoZSBwZXJpb2RpYyBldmVudHMKLSAgICBpZiAocGVyaW9kaWNF
dmVudCAmJiB0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpCisgICAgaWYg
KHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5
LnZhbHVlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFNvbWUgbWVkaWEgZW5naW5lcyBt
YWtlIG11bHRpcGxlICJ0aW1lIGNoYW5nZWQiIGNhbGxiYWNrcyBhdCB0aGUgc2FtZSB0aW1lLCBi
dXQgd2Ugb25seSB3YW50IG9uZQpAQCAtNDM3MSw3ICs0MzcxLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbikKICAg
ICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUgZGV0YWls
cy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikpOwogICAg
IG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1fc2Vla1Rv
UGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgbV9zZWVr
VG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjUpKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYuLjE0MGYx
MTdjODc3YzE4YTNiZGQ2MjZlZmVmNTk0Y2IxOGMzMDViZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBIVE1MUGx1
Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAgICBtX2Rp
c3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxheWluZ1Nu
YXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2VtZW50KSAm
JiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBSZW5kZXJl
clRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRpZEFk
ZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hhZG93Um9vdCogcm9vdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IGI5NmUzY2UzMTNkZjQ4ZDI5
MmUzNzI4MGYzZjk5OTY3ZmNiMGE5MDguLjBlMWQ1NmZkZTZkNzI0YTJjM2VhMjk2ZGY2ZTU1ZDll
NmZlYTczMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcApAQCAtNzIsMTAgKzcyLDEwIEBAIHN0YXRpYyBjb25zdCBmbG9hdCBzaXppbmdGdWxs
UGFnZUFyZWFSYXRpb1RocmVzaG9sZCA9IDAuOTY7CiBzdGF0aWMgY29uc3QgZmxvYXQgYXV0b3N0
YXJ0U29vbkFmdGVyVXNlckdlc3R1cmVUaHJlc2hvbGQgPSA1LjA7CiAKIC8vIFRoaXMgZGVsYXkg
c2hvdWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCi1z
dGF0aWMgY29uc3QgYXV0byBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgeyA3NTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNpbXVsYXRl
ZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gU2Vjb25kcygwLjc1KTsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQotc3RhdGljIGNvbnN0IGF1dG8gcmVtb3ZlU25hcHNob3RUaW1lckRlbGF5ID0gc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyB7IDE1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbW92
ZVNuYXBzaG90VGltZXJEZWxheSA9IFNlY29uZHMoMS41KTsKICNlbmRpZgogCiBzdGF0aWMgY29u
c3QgU3RyaW5nIHRpdGxlVGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0
ODRmNTFjMGMzNjVhZjgxNWU3ZjYzOWYuLjJiYTVhMDhkMjU4NmEzY2JkMWRhNGZlMzEwNDg4ODY1
Y2RjN2ZiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBA
IC0xMjUsNyArMTI1LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2
ZW50KCkKICAgICBpZiAobV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJy
b3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBIVE1MU291
cmNlRWxlbWVudDo6Y2FuY2VsUGVuZGluZ0Vycm9yRXZlbnQoKQpAQCAtMTY2LDcgKzE2Niw3IEBA
IHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiB3aHkp
CiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpyZXN1bWUoKQogewogICAgIGlmIChtX3Nob3VsZFJl
c2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUpIHsKLSAgICAgICAgbV9lcnJvckV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJlc3Vt
ZSA9IGZhbHNlOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCmluZGV4IDA3ZjQyZDk5ZjhkN2I0OGE5YmEyNDFiNGM0NzFkNTc5ZjU1ZThiZDUuLjA2ZWRm
NzMwMzQyZGUyMTYyY2E4MzUzZWQ3YjA1NTk1MGExNWZhNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgSFRNTFRyYWNr
RWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4gUnVu
IHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFsbG93aW5nIHdo
YXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0gICAgbV9sb2Fk
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKaW5kZXggOTU0MDUyNTA5ZWI3ZTIy
YmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uZjY0YjU1ZWVhMjIwMzc2NDllYzY3NzFkYTNkYTQ5
MGRmNzNmODNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcApAQCAt
NTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9jayhDbG9jazo6Y3JlYXRlKCkpCiAg
ICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKICAgICAsIG1fdGltZXVwZGF0
ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCkK
LSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQogewogfQogCkBAIC0xNDgsNyArMTQ3
LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIGlm
IChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKSB7CiAgICAgICAgIC8v
IFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1
cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6bWF4PGRvdWJsZT4oMCwgc3RkOjpt
aW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUoKSkpOwotICAgICAgICBtX2NsZWFy
UG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY2xlYXJQb3NpdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiAKICAgICByZXR1cm4gbV9wb3Np
dGlvbjsKQEAgLTUzNyw3ICs1MzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkKIHsKICAgICBtX3BlbmRpbmdFdmVu
dHMuYXBwZW5kKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgdHJ1ZSkpOwogICAgIGlm
ICghbV9hc3luY0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hc3luY0V2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGlt
ZXJGaXJlZCgpCkBAIC02NjMsNyArNjYyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnJldHVy
blRvUmVhbHRpbWUoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMgdGltZXVw
ZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIxNSB0byAy
NTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IFNlY29uZHMoMC4yNSk7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1l
IG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93
IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2
M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0
ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVw
ZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9u
b3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3Vy
cmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RG9jdW1lbnQuY3BwCmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBm
ZmUuLjJhNDMzM2EyNTIxNjI0MzM3ZDQ4MGUzMzc1NGVlYTNhMGVmYzcxODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFE
b2N1bWVudDo6bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBs
ZXQgdGhlIHBsdWdpbiBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhp
cyAKICAgICAvLyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBl
bmdpbmUgY2FsbGJhY2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRo
ZSBlbGVtZW50LCBtZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNl
TWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYURvY3Vt
ZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA1Y2I3M2JiYzI1ZjMwNDAxMzcwNDQ3MzFm
YjU1ZTNmZjhlMmZjZGEzLi41YTRhOWU0YWM0MjdlY2I1YWVmMmQxOTRmZDA4MTc4YWQ3NGQwMWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTU3
LDcgKzU3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IGVsZW1lbnRNYWluQ29udGVudENoZWNrSW50ZXJ2YWwgPSAuMjUwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IFNlY29uZHMoMC4yNSk7CiAK
IHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVk
aWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250
ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBv
c2UpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJu
YWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBoYXNUYXJnZXRzCiAgICAgTE9H
KE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFi
bGVEaWRDaGFuZ2UoJXApIC0gaGFzVGFyZ2V0cyAlcyIsIHRoaXMsIGhhc1RhcmdldHMgPyAiVFJV
RSIgOiAiRkFMU0UiKTsKIAogICAgIG1faGFzUGxheWJhY2tUYXJnZXRzID0gaGFzVGFyZ2V0czsK
LSAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNhblBsYXlUb1dpcmVsZXNzUGxh
eWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFy
Y2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3Bw
CmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODli
ZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Nl
YXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAgIC8vIEFmdGVyIHR5cGluZyB0aGUgZmly
c3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAgIC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5
LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4yIGZyb20gdGhlbiBvbi4KLSAgICBtX3Nl
YXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVu
Z3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwogfQogCiB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25N
ZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBjYmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0
Li4zMWU2ODI5MjMyMTg3YTQ0MmZiZmRlOTczNGJlZDk1ZmFhYzczMmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQg
VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAg
ICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9u
TWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBlbHNlCiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNz
YWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBWYWxpZGF0aW9u
TWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQpAQCAtMTQ0LDcgKzE0NCw3IEBA
IHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKCkKICAg
ICAgICAgbV90aW1lciA9IG51bGxwdHI7CiAgICAgZWxzZSB7CiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVC
dWJibGVUcmVlKTsKLSAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDUuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAv
IDEwMDApKTsKKyAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KFNlY29uZHMo
NSksIFNlY29uZHMobV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwLjAp
KTsKICAgICB9CiB9CiAKQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdl
OjpyZXF1ZXN0VG9IaWRlTWVzc2FnZSgpCiAKICAgICAvLyBXZSBtdXN0IG5vdCBtb2RpZnkgdGhl
IERPTSB0cmVlIGluIHRoaXMgY29udGV4dCBieSB0aGUgc2FtZSByZWFzb24gYXMgc2V0TWVzc2Fn
ZSgpLgogICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29s
IFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9kZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggM2U5ZGNjYWM1MWNmMjNkY2M4NGU4NGEzYWJmMTdh
Y2U3MGMyMTMwMy4uNzMwOTczOTAzNzkzNmFiY2QxMGI2ZDhhNGNmMWY2NzFiMGVmNjQxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citjb25z
dCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gU2Vjb25kcygxKTsKIGNvbnN0
IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiAKIG5hbWVzcGFjZSB7CkBA
IC00NjY2LDcgKzQ2NjYsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VD
b250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpMb3N0QwogCiAgICAgLy8gQWx3
YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUgY29udGV4dCBsb3N0IGV2ZW50LCB0byBpbXBs
ZW1lbnQKICAgICAvLyB0aGUgc3BlYyBiZWhhdmlvciBvZiBxdWV1ZWluZyBhIHRhc2suCi0gICAg
bV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9k
aXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgp
CkBAIC00NjgzLDcgKzQ2ODMsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZv
cmNlUmVzdG9yZUNvbnRleHQoKQogICAgIH0KIAogICAgIGlmICghbV9yZXN0b3JlVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIFBsYXRmb3Jt
TGF5ZXIqIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApA
QCAtNTYxNCw3ICs1NjE0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNw
YXRjaENvbnRleHRMb3N0RXZlbnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQp
OwogICAgIG1fcmVzdG9yZUFsbG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAg
IGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxs
b3dlZCkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCkBAIC01Njc5LDcgKzU2
NzksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRl
eHQoKQogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dChHcmFwaGljc0NvbnRl
eHQzRDo6Y3JlYXRlKG1fYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOwogICAgIGlmICghY29udGV4
dCkgewogICAgICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RDb250ZXh0KQot
ICAgICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHNlY29uZHNCZXR3ZWVuUmVz
dG9yZUF0dGVtcHRzKTsKKyAgICAgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCh0
aW1lQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIC8v
IFRoaXMgbGlrZWx5IHNob3VsZG4ndCBoYXBwZW4gYnV0IGlzIHRoZSBiZXN0IHdheSB0byByZXBv
cnQgaXQgdG8gdGhlIFdlYkdMIGFwcC4KICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgIiIsICJlcnJvciByZXN0b3Jpbmcg
Y29udGV4dCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2Vy
U2NoZWR1bGVyLmNwcAppbmRleCAyODMzN2Q4NmQ1M2Y4OWRlYTUzOThiZjYzYzZmYjhjMTEzNWQz
NjFkLi4yN2NhZGVjNDIyNWY1NmVhODE5MTFlZjEwODcwOWY4MTQwNDIwOTJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1
bmtUaW1lckZpcmVkKCkKICAgICAvLyBGSVhNRTogVGhlIHRpbWVyIGNsYXNzIHNob3VsZCBoYW5k
bGUgdGltZXIgcHJpb3JpdGllcyBpbnN0ZWFkIG9mIHRoaXMgY29kZS4KICAgICAvLyBJZiBhIGxh
eW91dCBpcyBzY2hlZHVsZWQsIHdhaXQgYWdhaW4gdG8gbGV0IHRoZSBsYXlvdXQgdGltZXIgcnVu
IGZpcnN0LgogICAgIGlmIChtX3BhcnNlci5kb2N1bWVudCgpLT5pc0xheW91dFRpbWVyQWN0aXZl
KCkpIHsKLSAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3BhcnNlci5yZXN1bWVQYXJzaW5nQWZ0
ZXJZaWVsZCgpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c2hvdWxkWWllbGRCZWZvcmVFeGVjdXRpbmdTY3JpcHQoUHVtcFNlc3Npb24mIHNlc3Npb24pCiB2
b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1lKCkKIHsKICAgICBBU1NF
UlQoIW1fc3VzcGVuZGVkKTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6c3VzcGVuZCgpCkBAIC0xNDgs
NyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUoKQogICAgIGlmICgh
bV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAgcmV0dXJuOwogICAgIG1faXNT
dXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCAxNWVhMWYwOGMzMDYzYzYx
MzQyMGRiZTE1NjY2NWE4MTgzYmVjNTQ1Li42YWM4ZTExMDNmNDNiNjYzMmIzYzdkMTlkOGVkMGE2
YmNkNGJjM2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xQ
YW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIoKQogICAgIC8vIFRoZSB0aW1lciBpcyByZXF1aXJlZCB0
byBzZXQgdGhlIHByb3BlcnR5IGRpc3BsYXk6J25vbmUnIG9uIHRoZSBwYW5lbCwKICAgICAvLyBz
dWNoIHRoYXQgY2FwdGlvbnMgYXJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgYXQgdGhlIGJvdHRvbSBv
ZiB0aGUgdmlkZW8KICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBmYWRlb3V0IHRyYW5zaXRpb24u
Ci0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBh
Z2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAgIFNl
Y29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50
aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IFNlY29uZHMoMCk7CiAgICAg
bV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApAQCAtMTg4LDEw
ICsxODgsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUoKQog
ICAgIGlmIChtX29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9u
ID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNv
bnRyb2xzRmFkZUluRHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVJbkR1cmF0aW9uKCkgOiBTZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBk
dXJhdGlvbiwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlPcGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAog
ICAgIG1fb3BhcXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250
cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgp
ID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlv
bigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1
bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiBT
ZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5z
aXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlPcGFjaXR5LCAw
LjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3BhcXVlID0gZmFs
c2U7CkBAIC0xMzM2LDcgKzEzMzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRh
aW5lckVsZW1lbnQ6OnVwZGF0ZVNpemVzKGJvb2wgZm9yY2VVcGRhdGUpCiAgICAgbV91cGRhdGVU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvblN0eWxlID0gdHJ1ZTsKIAogICAgIC8vIEZJWE1FICgxMjEx
NzApOiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgbGF5b3V0LCBhbmQgc2hvdWxkIGxh
eSBvdXQgdGhlIHRleHQgdHJhY2tzIGltbWVkaWF0ZWx5LgotICAgIG1fdXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiBSZWZQdHI8SW1hZ2U+IE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1l
bnQ6OmNyZWF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uSW1hZ2UoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAyMTBmNmE5ZGY1YWM3
NzE3NWE5ODEyYWMwNTEwNDIyMzJhMzQwZjMzLi5mNjI1NGJiODEzODRiM2E3ZWQxNDA4ZmE0M2Vk
ODUxNTM0NTU1ZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRh
YmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxl
VGV4dFRyYWNrLmNwcApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpz
Y2hlZHVsZUxvYWQoY29uc3QgVVJMJiB1cmwpCiAgICAgLy8gMy4gQXN5bmNocm9ub3VzbHkgcnVu
IHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxlIGNvbnRpbnVpbmcgd2l0aCB3aGF0ZXZlciB0YXNr
IAogICAgIC8vIHdhcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHRleHQgdHJhY2sgb3Ig
Y2hhbmdpbmcgdGhlIHRleHQgdHJhY2sgbW9kZS4KICAgICBpZiAoIW1fbG9hZFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9s
b2FkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBFbGVtZW50KiBMb2FkYWJs
ZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5j
cHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdlMjIzZGQ0MzZjMDdkNTFiNi4uZTg0YjI4
YzBlMmVhN2FjZTQzNzI4NGE4NzJlOWMyNmNlNjYwYjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Ny
b2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocykuCi1zdGF0aWMgY29uc3QgZmxvYXQgc2Ny
b2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsVGltZSA9IFNlY29u
ZHMoMC40MzMpOwogCiBWVFRSZWdpb246OlZUVFJlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0KQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCkBA
IC00MDMsNyArNDAzLDcgQEAgdm9pZCBWVFRSZWdpb246OnN0YXJ0VGltZXIoKQogICAgIGlmICht
X3Njcm9sbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
dXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxUaW1lIDogMDsKKyAgICBTZWNv
bmRzIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiBTZWNvbmRz
KDApOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggM2Q1
NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uMTJlMjJlMTZkMDk2OTRhYmM2
ZGYyZWFjMDg5MDYxZGVlMThjNTFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFuZ2VSZWdp
b25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3csIGlu
dCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnROb2RlSWQp
OwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6dW5zY2hlZHVsZShXZWJLaXROYW1lZEZs
b3cqIG5hbWVkRmxvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuY3BwCmluZGV4IDgzYTAyNGJjZGRkMjEzMDk3ODc1OTg3MjI0MTI3MWUwYThmYjNmMGYu
LjFiZGQ0YzYwNjIxN2ZhYzQyNjg2YTA5MDkxN2RjM2YzYTIyZmU0MzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTg1LDcgKzE4NSw3
IEBAIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBtX2VsZW1lbnRzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1f
dGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJldmFsaWRh
dGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4
IDhhMzVhMTc5ZWI4YmY1OWI0YmMwOThkYzZlZGM5MGNkZTBkYTA1OTMuLjhkZWE4ZmM2NWY5YjA1
MWViY2M2ZmQxODZkNDg4MmU5NTEwZDBkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgwLDcg
KzgwLDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpOwog
ICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfQogCiAgICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdl
RnJvbUZyb250ZW5kKG1fbWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9t
ZXNzYWdlcy5pc0VtcHR5KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmY2EzMTBkMDBhYzIxZGM3YjYx
YmUwYTlmZTA1NWM4YjdmN2FhZDguLmJkZTJkNDIxYjljZGI1MDUyZGJmNzhiYzJjYjUzNzY3YjVm
ZTk0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5j
cHAKQEAgLTUwOSw4ICs1MDksOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJl
Y3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBk
YXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1Vw
ZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRp
bWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAg
ICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMC4w
MzIpOworICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50
UmVjdHNVcGRhdGVJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgZHJhd1BhaW50UmVjdHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCmlu
ZGV4IDNhYWE1MmE2YjhhYTYyZjNkYzc4ZDEyNGFkY2UxOGFlZDA3OTdmOTcuLjc5MGRhMTczYTNl
NTBiNjQ1MmFhMTBjNWM1ODk0ZTI4MDIxMzU4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHN0
YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudD4gYnVp
bGRJbnNwZWN0b3JPYmplY3RGb3JTCiAKICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKICAgICAgICAgLnNldElkKHNlZ21lbnQt
PmlkZW50aWZpZXIoKSkKLSAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAo
KSkKKyAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAoKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCkpCiAgICAgICAgIC5zZXRRdWV1ZXMoV1RGTW92ZShxdWV1ZXNPYmpl
Y3QpKQogICAgICAgICAucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKaW5kZXggZGI0Nzk5ODQxNTJlMzU2MmYzMTk0NjhiZTk1OTVlZWJiZTkwODc1
MC4uYTViOGRiYmFmM2IzMGI4YzJkOWMwN2FiM2E3Yzg1NTgzYmU5Y2IxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00ODksNyArNDg5LDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9pZCBEb2N1
bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2FkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAKICNpZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgaWYgKFNjaGVkdWxlUGFpckhh
c2hTZXQqIHNjaGVkdWxlZFBhaXJzID0gbV9mcmFtZS0+cGFnZSgpLT5zY2hlZHVsZWRSdW5Mb29w
UGFpcnMoKSkKQEAgLTEyMjUsNyArMTIyNSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2
ZXJTdWJzdGl0dXRlUmVzb3VyY2VzQWZ0ZXJEZWxheSgpCiAgICAgaWYgKG1fZnJhbWUtPnBhZ2Uo
KS0+ZGVmZXJzTG9hZGluZygpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFtX3N1YnN0aXR1
dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zdWJzdGl0dXRl
UmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zdWJzdGl0
dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
dm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGM3ODgzYWNiMWIxZmJl
NTBjMjk4MThiNmY0NjY2ZDljZTk2ZTQzOWYuLmQyYjY0NDA5MmFmZDZiNDEwYmRjZWY3MTg5OGY4
NjM3YTgyYjI4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODMx
LDcgKzgzMSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0ZVRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jaGVj
a1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6
c2NoZWR1bGVDaGVja0NvbXBsZXRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cAppbmRleCBhNTNhZjExYmI5ZjkzYmEyYTgxMjNkYjFhODEwZjM4ODc5OTZmZGM1Li5lYWZjZTFi
OTY4YTRiZjExNmQ4NzFhODQ2MzM1ODExZTFjNzNmYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRh
dGVkSGFzUGVuZGluZ0V2ZW50KCkKICAgICAgICAgICAgIG1fcHJvdGVjdGVkRWxlbWVudCA9ICZl
bGVtZW50KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUKCFtX2RlcmVmRWxlbWVudFRp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfSAgIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAKaW5kZXggN2VmZmFkN2ZhMWM1YWEzNDQ2ZWFjMDAyOTYxOGYxMmJiNTc1YjRl
NS4uMmJkOWQ5MzVhN2Q0MmVkZWVlYjJhZjNmZjMyMjI3MzYwZmNjNDhjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3
IEBAIHByb3RlY3RlZDoKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKICAgICAg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9y
d2FyZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3VybCwg
ZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9ja0Jh
Y2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3Rl
ZChtX3VybCwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwo
KS52YWx1ZSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlk
U3RvcFRpbWVyKEZyYW1lJiBmcmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVzcykgb3ZlcnJpZGUK
QEAgLTI3NSw3ICsyNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0
cnVlOwogCiAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNl
ckdlc3R1cmVUb0ZvcndhcmQoKSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGly
ZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkg
KyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CisgICAg
ICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0
VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCku
dmFsdWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0
b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBA
IC01MzksNyArNTM5LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIGRlbGF5ID0gbV9yZWRpcmVjdC0+ZGVsYXko
KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcyhkZWxheSkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJh
bWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJhbWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5k
aWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGltZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxs
IG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50IGNhbmNlbGVkIHRoZSBsb2FkKQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIyOWU2ZWFiNjVm
NTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi43ZTgzZTFjMjViNzc5OWEwNDAxMDhiODBlYjgwZWJj
NWE1NTgyZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApA
QCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9
IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25zdCBpbnQgcHJv
Z3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAogLy8gQ2hlY2sg
aWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7CiAKIC8vIEhvdyBtYW55
IGhlYXJ0YmVhdHMgbXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRo
ZSBsb2FkIGlzIGN1cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRT
dGFsbGVkSGVhcnRiZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcAppbmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4
Li5mMGUzOGFkZmVlZmUyMGU2MzQzYzZhYzFkMTM1NDcwOWZmNDgwOThjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQg
VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Up
CiAgICAgICAgIG1fY3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIGNh
bmNlbExvYWQoKTsKIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6
bmV3Q3Vlc1BhcnNlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbmV3Q3Vlc0F2YWlsYWJs
ZSA9IHRydWU7Ci0gICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tM
b2FkZXI6Om5ld1JlZ2lvbnNQYXJzZWQoKQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgVGV4dFRy
YWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSgpCiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIAog
ICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAKICAgICBjYW5jZWxMb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4
IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYxN2NmOTJlMTAuLjJjYmE5YzYyMGE3MWZj
MGE2MWVmNjhmYWU0MGI2ZjIwNDFhZmI0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcg
KzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4
QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGltZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2Fs
bGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVy
LT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgLy8gVGhlIHRpbWVyIHdpbGwgZGVsZXRl
IGl0c2VsZiBvbmNlIGl0IGZpcmVzLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBlMDc5MzhjOWY3NTAxNzk1Mjc5MTBhNDk2Y2U2
ZjRjYWRkMmU2MDA0Li4xMDRiNDBlNjI4MzM4OWU2N2ZiOWY5ZTFkZGMyOTc1MWZhMTAwMjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAg
LTEwMywxMCArMTAzLDEwIEBAIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291cmNlOjpk
ZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQogICAgIHJldHVybiBSZXNv
dXJjZUxvYWRQcmlvcml0eTo6TG93OwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7
CiAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCkKLSAgICAgICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBTZWNvbmRz
KDApOwogCiAgICAgcmV0dXJuIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCk7CiB9CkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWVkZWQoKQogewogICAgIGlmICghbV9kZWNv
ZGVkU2l6ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghTWVtb3J5Q2FjaGU6OnNpbmdsZXRv
bigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKS5jb3VudCgpKQorICAgIGlmICgh
TWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3Rh
cnQoKTsKIH0KQEAgLTgxNSw3ICs4MTUsNyBAQCBpbmxpbmUgQ2FjaGVkUmVzb3VyY2U6OkNhbGxi
YWNrOjpDYWxsYmFjayhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIENhY2hlZFJlc291cgogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aW1lcigqdGhpcywgJkNhbGxiYWNrOjp0aW1l
ckZpcmVkKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJmM2Rm
MzYxMWZiNzU5MzM1NGFhLi44MjAxOTQyMzYxOWY5OTYzMzk2ZDRhNGY5ZDY4NWE0ODdhOGM2ZGEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJmb3Jt
CiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJiYWdl
Q29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIC8vIEdhcmJhZ2UgY29sbGVjdGluZyBtX2RvY3VtZW50UmVzb3VyY2Vz
IGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmNwcAppbmRleCBkOGQzMGRmYzRlZTkxMDNiMzRkZjhhMTdiYmQ0NzVkZDhhOWU4
Mjc5Li4zYTk2MDBiZmY2YTIzNjFiZTMyMDRiNjRjNmYwNjBmYzc0ODIwNzYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNp
dHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBjb25zdCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2
ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29uZHMuCiBzdGF0aWMgY29uc3QgZmxvYXQgY1Rhcmdl
dFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8vIFBlcmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJk
IHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBpbW1lZGlhdGVseSBwcnVuaW5nIGFnYWluLgotc3Rh
dGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHsgMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAKIE1lbW9yeUNhY2hlJiBNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkKIHsKQEAgLTc2NywxMSArNzY3LDEzIEBAIHZvaWQgTWVtb3J5
Q2FjaGU6OnBydW5lKCkKIAogdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmVTb29uKCkKIHsKLSAgICAg
aWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQorICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQotICAgICAg
ICAgcmV0dXJuOwotICAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDApOworCisgICAgaWYg
KCFuZWVkc1BydW5pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wcnVuZVRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5
NjMwNTM4ZjI4MmJlNThkMTcwZC4uNzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTky
NmIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEy
NSw4ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25l
ZCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAg
IHZvaWQgc2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsKSB7IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9
IGludGVydmFsOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsOyB9CisgICAgdm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
ID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwoKSBjb25zdCB7IHJldHVybiBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0K
IAogICAgIC8vIENhbGxzIHRvIHB1dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBv
ZiBMUlUgbGlzdHMuCiAgICAgdm9pZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsK
QEAgLTE5OSw3ICsxOTksNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAg
ICAgdW5zaWduZWQgbV9taW5EZWFkQ2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2Fw
YWNpdHk7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVz
IGN1cnJlbnRseSBjb25zdW1lZCBieSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAg
ICB1bnNpZ25lZCBtX2RlYWRTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBj
b25zdW1lZCBieSAiZGVhZCIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3
Y2M3NzAzMGY1ZjY5NGUzMGJiMmQuLmNhMGMxZDk0MDIwNDU5ZThiODBlMmI2YjM3YTY2YWM1ZTU4
MDEwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApA
QCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24g
PSA2OwogLy8gSWNvbnMgZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50
IGljb25FeHBpcmF0aW9uVGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVw
ZGF0ZVRpbWVyRGVsYXkgPSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVs
YXkgPSBTZWNvbmRzKDUpOwogCiBzdGF0aWMgYm9vbCBjaGVja0ludGVncml0eU9uT3BlbiA9IGZh
bHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmlu
ZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLmNjMWI2N2Y2MGM0
YmUzZmE0YWE2NDI0YzgxNTU4OTgxN2Y2NDk5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
QXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9sbERlbGF5ID0gMC4yOwogCiAvLyBX
aGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8g
dGhlIHNjcm9sbCBldmVyeSAwLjA1cyB0byBtYWtlIGl0IHNtb290aAotc3RhdGljIGNvbnN0IGRv
dWJsZSBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0
b3Njcm9sbEludGVydmFsID0gU2Vjb25kcygwLjA1KTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xM
SU5HKQogc3RhdGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKaW5kZXggY2ZlYTEwYzRk
OWNlZWEzNGNiZGZkMjEwYjUzZjcxYWE3ZjgxYmU0NC4uYjZhN2FjYWZiOTI3ODU1MGE1Y2YzODlh
OGZhOGVkN2U2YjgwNGVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXMuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJl
bmNlczo6bm90aWZ5KCkKIAogICAgIG1faGF2ZVByZWZlcmVuY2VzID0gdHJ1ZTsKICAgICBpZiAo
IW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBDYXB0aW9uVXNl
clByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6
Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXggOThiMjJiYWZlMmNmYmJk
NmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNGNhNWVjY2Y3OWRmMzA2MGZmZDgwY2EyMWM4NzYw
NzAyMGE1Njc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclBy
ZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBAQCB2b2lkIENhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVyZW5jZUNo
YW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJpbmcgdGhlIGNhcHRpb24g
c3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgaW5k
aXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBvcgogICAgIC8vIHZpZGVv
IGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0gICAgbV91cGRhdGVTdHls
ZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlU3R5bGVTaGVldFRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRjo6Y2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGlt
ZXIuY3BwCmluZGV4IGQwM2MxYjAyZmU2MDIzYjYyMzE3YzMxMWQzNmMzZGE1ZmFkYzRmZDUuLmFl
NjQ1NGIzOGFkYjJjYzVmOWY3ODIwMDdmY2M4NWJjYzg4NTA0NTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
VGltZXIuY3BwCkBAIC01MSw4ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGF1dG8gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxMDAw
bXM7IC8vIE9uZSBzZWNvbmQgbWF0Y2hlcyBHZWNrby4KLXN0YXRpYyBjb25zdCBhdXRvIG1pbklu
dGVydmFsRm9yTm9uVXNlck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSAxMDAwbXM7IC8vIEVtcGly
aWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1pemUgYmF0dGVyeSBsaWZlLgorc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSBTZWNvbmRzKDEp
OyAvLyBPbmUgc2Vjb25kIG1hdGNoZXMgR2Vja28uCitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5J
bnRlcnZhbEZvck5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlVGltZXJzID0gU2Vjb25kcygxKTsgLy8g
RW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMg
Y29uc3QgaW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJl
U3RhdGUgewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1l
cnNNYXA6OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBi
b29sIHNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGlu
dGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndh
cmRVc2VyR2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAg
IHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAg
ICAgICAgJiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcK
ICAgICAgICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3
YXJkZWQgdG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8
VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVy
dmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0
dXJlKGludGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTE3NSwxMiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+
IHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6
OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRl
cnZhbCwgYm9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlv
biwgU2Vjb25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVU
aW1lcihjb250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdM
ZXZlbCgpKQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5h
bEludGVydmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkK
ICAgICAsIG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkp
CiAgICAgLCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9y
d2FyZChpbnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERP
TVRpbWVyOjp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xl
U2hvdCkKK2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBh
c3NlcyBvd25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNv
bnN0cnVjdG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21h
dGljYWxseSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAg
LTIxMCw3ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElP
UykKICAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVm
ZXJUaW1lb3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAg
ICAgIGlmICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2lu
Z2xlU2hvdCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoMTAwKSAmJiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAg
ICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShXS0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdl
KTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9ic2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVy
KTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlmIG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hh
bmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVv
dXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9u
bzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6
ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVlKCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAv
LyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBpbnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGlt
ZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRUaW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4
dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIxIEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRp
bWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChyZXBl
YXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VSVChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJl
dmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERP
TVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0
ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgp
LCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0
SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFsKTsKKyAgICAgICAgTE9HKERPTVRpbWVycywg
IiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBlYXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRv
ICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxs
aXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAg
ICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlv
dXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0g
VXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8g
JSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZh
bC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBMT0co
RE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01UaW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAl
LjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMo
KSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAt
IHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9N
VGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgQVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1h
eFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMs
IG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0byBpbnRlcnZhbCA9IHN0ZDo6bWF4KFNlY29u
ZHM6OmZyb21NaWxsaXNlY29uZHMoMSksIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAvLyBP
bmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9uZXN0
aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBAIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1PcHRpb25hbDxzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzPiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgZmlyZVRpbWUpIGNvbnN0CitPcHRpb25hbDxNb25vdG9uaWNUaW1lPiBET01U
aW1lcjo6YWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1RpbWUgZmlyZVRpbWUpIGNvbnN0CiB7Ci0g
ICAgYXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7Ci0gICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBtcykKKyAgICBTZWNvbmRzIGFsaWdu
bWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT50aW1lckFsaWdubWVudElu
dGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKKyAgICBpZiAo
IWFsaWdubWVudEludGVydmFsKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAKKyAgICAv
LyBEbyB3ZSByZWFsbHkgd2FudCB0byBpbml0aWFsaXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1
c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0g
cmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3JjZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFs
aWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJldHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBl
LmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rp
b24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVudEludGVydmFscywgZS5nLgogICAgIC8vIGlm
IGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCByYW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0
aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAuLi4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZz
ZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFk
anVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJu
IGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRGaXJlVGltZSAlIGFsaWdubWVudEludGVydmFs
KSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9taXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJh
bmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9u
OworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRGaXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9t
aXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChh
ZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50
ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0Owog
fQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggOTZjOGIzYmI2NWE3ZmNmMjY3ZThlMGFkZTZjZmNlMGZi
OWFkYTdkNC4uNDQ1YjVmMThhZDA5YjUwZWQ3N2I3ZTI5NDU2MzNkNTU3YjQ1OTlhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGltZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7
IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50
SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0K
KyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWluaW11bUludGVydmFsKCkgeyByZXR1cm4gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyg0KTsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1bHRB
bGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIFNlY29uZHMoMCk7IH0KKyAgICBzdGF0aWMgU2Vj
b25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiBTZWNvbmRzKDEpOyB9
CiAKICAgICAvLyBDcmVhdGVzIGEgbmV3IHRpbWVyIG93bmVkIGJ5IHNwZWNpZmllZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBzdGFydHMgaXQKICAgICAvLyBhbmQgcmV0dXJucyBpdHMgSWQuCi0g
ICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lb3V0
LCBib29sIHNpbmdsZVNob3QpOworICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVCeUlkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBpbnQgdGltZW91dElkKTsKIAogICAgIC8vIE5vdGlmeSB0aGF0
IHRoZSBpbnRlcnZhbCBtYXkgbmVlZCB1cGRhdGluZyAoZS5nLiBiZWNhdXNlIHRoZSBtaW5pbXVt
IGludGVydmFsCkBAIC02MCwxMCArNjAsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNj
cmlwdERpZEludGVyYWN0V2l0aFBsdWdpbihIVE1MUGx1Z0luRWxlbWVudCYpOwogCiBwcml2YXRl
OgotICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgYm9v
bCBzaW5nbGVTaG90KTsKKyAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3Rk
Ojp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2lu
Z2xlU2hvdCk7CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CisgICAgU2Vj
b25kcyBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsKIAogICAgIGJvb2wgaXNET01U
aW1lcnNUaHJvdHRsaW5nRW5hYmxlZChEb2N1bWVudCYpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
VGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoY29uc3QgRE9NVGltZXJGaXJlU3RhdGUmKTsKQEAg
LTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBTdXNwZW5kYWJsZVRpbWVyCiAgICAgdm9p
ZCBmaXJlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkU3RvcCgpIG92ZXJyaWRlOwotICAgIE9w
dGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBPcHRpb25hbDxNb25vdG9u
aWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9i
amVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTg1LDEwICs4NSwxMCBAQCBwcml2YXRlOgog
ICAgIGludCBtX3RpbWVvdXRJZDsKICAgICBpbnQgbV9uZXN0aW5nTGV2ZWw7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247Ci0gICAgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7Ci0gICAgVGltZXJUaHJvdHRsZVN0YXRlIG1f
dGhyb3R0bGVTdGF0ZTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fY3VycmVudFRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7CisgICAgU2Vjb25k
cyBtX2N1cnJlbnRUaW1lckludGVydmFsOwogICAgIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiBt
X3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQ7CisgICAgVGltZXJUaHJvdHRsZVN0YXRlIG1fdGhy
b3R0bGVTdGF0ZSB7IFVuZGV0ZXJtaW5lZCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDJhOTM5M2FmOGI2OGJmZWJhYTFkNmYw
YWM0YjZjYWY4ZGU2OTI5N2IuLjA1NzAxNTMyZTFmZjQ4ZDgzMWJhNjYwMjQ1YTNkOWY4Njc0ODg1
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTk1OCw3ICs5NTgsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFJlZjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+JiYgbWVzc2FnZSwgVgogCiAgICAgLy8gU2NoZWR1bGUgdGhlIG1lc3NhZ2UuCiAgICAg
YXV0byogdGltZXIgPSBuZXcgUG9zdE1lc3NhZ2VUaW1lcigqdGhpcywgV1RGTW92ZShtZXNzYWdl
KSwgc291cmNlT3JpZ2luLCBzb3VyY2UsIGNoYW5uZWxzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBX
VEZNb3ZlKHRhcmdldCksIFdURk1vdmUoc3RhY2tUcmFjZSkpOwotICAgIHRpbWVyLT5zdGFydE9u
ZVNob3QoMCk7CisgICAgdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJl
dHVybiB7IH07CiB9CkBAIC0xNjQ4LDcgKzE2NDgsNyBAQCBFeGNlcHRpb25PcjxpbnQ+IERPTVdp
bmRvdzo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24s
CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAo
IWNvbnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIg
fTsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJu
IERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6Y2xl
YXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCkBAIC0xNjgwLDcgKzE2ODAsNyBAQCBFeGNlcHRpb25P
cjxpbnQ+IERPTVdpbmRvdzo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJ
RF9BQ0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBX
VEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNl
KTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lk
IERPTVdpbmRvdzo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGV2aWNlQ29udHJvbGxlci5jcHAKaW5kZXggM2MzODQzMDk1NjM0OTYyMmFlMmUxOWZkNWI3
NjAzODVjOTU5MDRjYy4uNzA0OWI2MmQ1ODNjNWExNDM2NTIyOWQ4ODk1MjNiM2I4OTlkYTE5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCkBAIC00OCw3ICs0OCw3
IEBAIHZvaWQgRGV2aWNlQ29udHJvbGxlcjo6YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcihET01XaW5k
b3cqIHdpbmRvdykKICAgICBpZiAoaGFzTGFzdERhdGEoKSkgewogICAgICAgICBtX2xhc3RFdmVu
dExpc3RlbmVycy5hZGQod2luZG93KTsKICAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0eSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlOTRhOTI1NTJjOTk2YTUzOGU0
NjY4MmNlYjMxZTM1MTkxYTMzMzdhLi43M2M3MTdkMDFjNDUyZGJiYzlhYjc5Mjg0OGVlNWI3OTEy
YWE0MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUgKzE1
NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRpbWUg
dG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAogLy8g
ZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29udGVu
dCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVyYXRp
b25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVzZWQu
Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsKLWNv
bnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRvdWJs
ZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFrZU1v
dXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gU2Vjb25kcygwLjAxKTsKK2NvbnN0IFNlY29uZHMg
ZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7Citjb25zdCBTZWNvbmRz
IGZha2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMjUpOwogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBm
b3IgYSBjdXJzb3IgdXBkYXRlIG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRv
IDUwSHosIG5vIG5lZWQgdG8gYmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJh
dGUKLWNvbnN0IGRvdWJsZSBjdXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNv
bmRzIGN1cnNvclVwZGF0ZUludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAogY29uc3QgaW50IG1h
eGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCkBAIC0xOTMsMjAgKzE5MywyMCBAQCBwcml2
YXRlOgogCiBjbGFzcyBNYXhpbXVtRHVyYXRpb25UcmFja2VyIHsKIHB1YmxpYzoKLSAgICBleHBs
aWNpdCBNYXhpbXVtRHVyYXRpb25UcmFja2VyKGRvdWJsZSAqbWF4RHVyYXRpb24pCisgICAgZXhw
bGljaXQgTWF4aW11bUR1cmF0aW9uVHJhY2tlcihTZWNvbmRzJiBtYXhEdXJhdGlvbikKICAgICAg
ICAgOiBtX21heER1cmF0aW9uKG1heER1cmF0aW9uKQotICAgICAgICAsIG1fc3RhcnQobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkpCisgICAgICAgICwgbV9zdGFydChNb25vdG9uaWNUaW1l
Ojpub3coKSkKICAgICB7CiAgICAgfQogCiAgICAgfk1heGltdW1EdXJhdGlvblRyYWNrZXIoKQog
ICAgIHsKLSAgICAgICAgKm1fbWF4RHVyYXRpb24gPSBzdGQ6Om1heCgqbV9tYXhEdXJhdGlvbiwg
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3N0YXJ0KTsKKyAgICAgICAgbV9tYXhE
dXJhdGlvbiA9IHN0ZDo6bWF4KG1fbWF4RHVyYXRpb24sIE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9zdGFydCk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIGRvdWJsZSogbV9tYXhEdXJhdGlvbjsK
LSAgICBkb3VibGUgbV9zdGFydDsKKyAgICBTZWNvbmRzJiBtX21heER1cmF0aW9uOworICAgIE1v
bm90b25pY1RpbWUgbV9zdGFydDsKIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAh
RU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBFdmVudEhh
bmRsZXI6OmNsZWFyKCkKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludERvY3VtZW50ID0gbnVs
bHB0cjsKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRhcmdldEtleSA9IDA7CiAjZW5kaWYK
LSAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDA7CisgICAgbV9tYXhNb3VzZU1vdmVkRHVy
YXRpb24gPSBTZWNvbmRzKDApOwogICAgIG1fYmFzZUV2ZW50VHlwZSA9IFBsYXRmb3JtRXZlbnQ6
Ok5vVHlwZTsKICAgICBtX2RpZFN0YXJ0RHJhZyA9IGZhbHNlOwogfQpAQCAtMTgyMCw3ICsxODIw
LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2
ZW50JiBldmVudCkKIHsKICAgICBSZWY8RnJhbWU+IHByb3RlY3RlZEZyYW1lKG1fZnJhbWUpOwog
ICAgIFJlZlB0cjxGcmFtZVZpZXc+IHByb3RlY3RvcihtX2ZyYW1lLnZpZXcoKSk7Ci0gICAgTWF4
aW11bUR1cmF0aW9uVHJhY2tlciBtYXhEdXJhdGlvblRyYWNrZXIoJm1fbWF4TW91c2VNb3ZlZER1
cmF0aW9uKTsKKyAgICBNYXhpbXVtRHVyYXRpb25UcmFja2VyIG1heER1cmF0aW9uVHJhY2tlciht
X21heE1vdXNlTW92ZWREdXJhdGlvbik7CiAKICAgICBpZiAobV9mcmFtZS5tYWluRnJhbWUoKS5w
YWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5oYW5kbGVNb3VzZUV2ZW50KGV2ZW50KSkKICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC0yODk4LDcgKzI4OTgsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2Vu
ZENvbnRleHRNZW51RXZlbnRGb3JLZXkoKQogdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92
ZXJTdGF0ZVVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX2hvdmVyVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9ob3ZlclRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9S
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDliY2FjNzJjN2UyMTYzMjEwOTE1
ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUzYjM2ODliNmEyZDUyYTY5NDg4
ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNTcwLDcgKzU3MCw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAot
ICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAgfTsKKyAgICBTZWNvbmRzIG1f
bWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZlbnQ6OlR5cGUgbV9iYXNlRXZl
bnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAgYm9vbCBtX2RpZFN0YXJ0RHJh
ZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVlbEV2ZW50IHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggNDc0MjI4ODA3MmNlNWE1YTFlYjdh
OTA0ZjUyMTUzM2Y1ZTUyNDVjNy4uOGIxNzZiYzM0ODhiZWIxNjlhM2YzYjM5MjVlMGRhNjQyMzgy
M2FjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRfdCBFdmVudFNvdXJjZTo6ZGVm
YXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29uZHMgRXZlbnRTb3VyY2U6OmRl
ZmF1bHRSZWNvbm5lY3REZWxheSA9IFNlY29uZHMoMyk7CiAKIGlubGluZSBFdmVudFNvdXJjZTo6
RXZlbnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1
cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5pdCkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgm
Y29udGV4dCkKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZUlu
aXRpYWxDb25uZWN0KCkKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBDT05ORUNUSU5HKTsKICAgICBB
U1NFUlQoIW1fcmVxdWVzdEluRmxpZ2h0KTsKIAotICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgT3B0aW9uYWw8dW5zaWduZWQ+IGZpZQogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAwM2FlYzJiYjMxYjhhYWU1Mjk0YjZmNzk5ODQ2OGRk
YjkxNmE5OGRkLi5jOTQ2MTU3OTIwMjQ4MDNjYmFiMjk5Nzk0MmQ3Yzg1NDlhMGQxYjc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uOTM4YmUw
NjRiMWE0NzE4NGZkZjQ3OWM4YjFjMzZjOTcxMzIxMTI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcygzMykpOwogfQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6Zm9jdXNSZXBhaW50VGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDM3ZmI3ZGFmMWZkOWUyOTU2YmFmNTBm
MWNhNWM4YWE5M2JkMGMyNDIuLjU1Y2Y0MzZlNjg5M2FhOWY1Y2NiYTBlYzYzMmI3NjM1YjE3M2Ew
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogI2lmIFBMQVRGT1JNKElPUykK
LWNvbnN0IHVuc2lnbmVkIHNjcm9sbEZyZXF1ZW5jeSA9IDEwMDAgLyA2MDsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSA9IFNlY29uZHMoMS4wIC8gNjApOwogI2VuZGlmCiAK
IERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgZnJh
bWVDb3VudGVyLCAoIkZyYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGE2
MTlhMGIyNjVhNzY3NTQwMGZkMmUyODlkNjMwZmJlZDk1NGY2MjEuLjkxNTY1NjRkYmE0NWYwZjNh
YjYyMTUyYzY1N2I0ZjVmODI5NGE0ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAg
LTE1NjAsNyArMTU2MCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRy
ZWUpCiAgICAgICAgICAgICAvLyBkZWZlciB3aWRnZXQgdXBkYXRlcyBhbmQgZXZlbnQgZGlzcGF0
Y2ggdW50aWwgYWZ0ZXIgd2UgcmV0dXJuLiBwb3N0TGF5b3V0VGFza3MoKQogICAgICAgICAgICAg
Ly8gY2FuIG1ha2UgdXMgbmVlZCB0byB1cGRhdGUgYWdhaW4sIGFuZCB3ZSBjYW4gZ2V0IHN0dWNr
IGluIGEgbmFzdHkgY3ljbGUgdW5sZXNzCiAgICAgICAgICAgICAvLyB3ZSBjYWxsIGl0IHRocm91
Z2ggdGhlIHRpbWVyIGhlcmUuCi0gICAgICAgICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICAgICAgaWYgKG5lZWRzTGF5b3V0KCkpCiAgICAg
ICAgICAgICAgICAgbGF5b3V0KCk7CiAgICAgICAgIH0KQEAgLTI0NDMsNyArMjQ0Myw3IEBAIHZv
aWQgRnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24m
IG9sZFBvc2l0aW9uLCBjb25zdCBTCiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RvcCgpOwogICAgICAgICBzZW5kU2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2Rl
bGF5ZWRTY3JvbGxFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9s
bEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAg
ICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5
KTsKIAogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAg
ICAgICAgIGRvY3VtZW50LT5zZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3Np
dGlvbiwgbmV3UG9zaXRpb24sIHZpc2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7
CkBAIC0yODQxLDcgKzI4NDEsNyBAQCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVU
aWxpbmdJZk5lZWRlZCgpCiAgICAgaWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQg
YXMgbG9hZCBjb21wbGV0aW9uIG1heSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlw
dHMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5
ID0gMC41OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxl
RGVsYXkgPSBTZWNvbmRzKDAuNSk7CiAgICAgbV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVy
LnN0YXJ0T25lU2hvdChzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5KTsKIH0KIApAQCAtMjkx
NCw3ICsyOTE0LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjaGVkdWxlUmVsYXlvdXQoKQogICAgICAg
ICBwcmludGYoIlNjaGVkdWxpbmcgbGF5b3V0IGZvciAlZFxuIiwgZGVsYXkpOwogI2VuZGlmCiAK
LSAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9sYXlvdXRUaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhkZWxheS5jb3VudCgpKSk7
CiB9CiAKIHN0YXRpYyBib29sIGlzT2JqZWN0QW5jZXN0b3JDb250YWluZXJPZihSZW5kZXJPYmpl
Y3QqIGFuY2VzdG9yLCBSZW5kZXJPYmplY3QqIGRlc2NlbmRhbnQpCkBAIC0yOTQ5LDcgKzI5NDks
NyBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZShSZW5kZXJFbGVt
ZW50JiBuZXdSZWxheW91dFJvb3QpCiAgICAgICAgIG1fbGF5b3V0Um9vdCA9ICZuZXdSZWxheW91
dFJvb3Q7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZUxh
eW91dChmcmFtZSgpKTsKICAgICAgICAgbV9kZWxheWVkTGF5b3V0ID0gZGVsYXkuY291bnQoKTsK
LSAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgICAgICBtX2xh
eW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGRlbGF5LmNv
dW50KCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzQyOSw3ICszNDI5LDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKQogICAgIC8vIGlzIGNhbGxl
ZCB0aHJvdWdoIHRoZSBwb3N0IGxheW91dCB0aW1lci4KICAgICBSZWY8RnJhbWVWaWV3PiBwcm90
ZWN0ZWRUaGlzKCp0aGlzKTsKIAotICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkg
ewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxp
bmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYWU5NjYwODExYjQzOTBlYzdk
ZGJiNTY4YmZjNjVkZjQxYzVlOWMxZC4uNjU4NzE1ZTk1MzNlMWQ2ZDBjYzU3Yjc4MmYxMzYxZmM3
ZGVlYjgzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcgKzEyNDMsNyBAQCB2b2lkIFBh
Z2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0bGluZ1N0YXRlIHN0YXRlKQog
ICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlID0gc3RhdGU7Ci0g
ICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSA9IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVwZGF0ZURPTVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1l
clRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBzdGF0ZSkKICAgICB9CiB9CiAK
LXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBtX3RpbWVyQWxpZ25t
ZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAgLTEyODQsOCArMTI4NCw4IEBA
IHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIGlm
IChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0g
bV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsKICAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZS50
aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246
Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBzdGQ6OmNo
cm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hh
bmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0gTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lOwog
ICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0LCBzZXQgdGhlIHRpbWVyLiBJ
ZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBpZiAobV90aW1lckFsaWdubWVu
dEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCkKICAgICAg
ICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAy
MDBhYjM5NmUzN2Y3OTY4NjRkMGU0NjAyNGFjMWU4NWZiZjk4MGY2Li43MmEwYmYwNDUyM2NmOTM1
MmRiOTU4MTZhMGYzMjllMWEyNTExMmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjI1LDcgKzIyNSw3
IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dyZXNzKCkgY29uc3QgeyByZXR1
cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXImIGJhY2tGb3J3YXJk
KCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9sbGVyOyB9CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2
YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogICAgIGVudW0gVmlld01v
ZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNob3dBbGxQbHVn
aW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0gc2hvd0FsbDsgfQogICAgIGJv
b2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1lckFsaWdubWVudEludGVydmFs
SW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXNDb250cm9sbGVkQnlBdXRvbWF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRvbWF0aW9uOyB9CiAgICAgdm9p
ZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJvbGxlZCkgeyBtX2NvbnRyb2xs
ZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02NjcsMTAgKzY2NywxMCBAQCBwcml2
YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogCiAgICAgVGltZXJU
aHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7IFRpbWVyVGhyb3R0bGluZ1N0
YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9p
bnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSB7IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBNb25vdG9uaWNUaW1lIG1fdGlt
ZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAgU2Vjb25kcyBtX3RpbWVyQWxp
Z25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVh
c2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lzRWRpdGFibGU7CiAgICAgYm9v
bCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zl
cmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCBlNzBi
Y2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5lOTAyYjAyNThkMWUxODlhNjAw
MzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApA
QCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91
YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRpYyBjb25zdCBkb3VibGUgZmFk
ZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgZmFkZUFuaW1h
dGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0YXRpYyBQYWdlT3ZlcmxheTo6
UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQogewpAQCAtMjUwLDcgKzI1MCw3
IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0aW9uKCkKIHZvaWQgUGFnZU92
ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9mYWRlQW5pbWF0aW9uU3RhcnRU
aW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVh
dGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAgbV9mYWRlQW5pbWF0aW9uVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFsKTsKIH0KIAogdm9pZCBQYWdl
T3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAppbmRleCA2ZWMzMDZkYTE3MWU5N2M1MzhmNDczNTFkMGRiMTI3OWViZDUxYjk5Li41ZjY0ZmFk
ZGM0MzZmNThhOTVhMDU3NDE4NjBhZTgzZmZkYzc5NmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcApAQCAtMTcyLDcgKzE3Miw3IEBAIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJl
c1VzZXJHZXN0dXJlVG9Mb2FkVmlkZW8gPSB0cnVlOwogCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZh
dWx0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwogCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dEluU2Vjb25kcyA9IDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0SW5jcmVtZW50YWxS
ZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgPSBTZWNvbmRzKDUpOwogI2lmIFVTRShVTklGSUVE
X1RFWFRfQ0hFQ0tJTkcpCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VW5pZmllZFRleHRDaGVj
a2VyRW5hYmxlZCA9IHRydWU7CiAjZWxzZQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sIGxvYWRzSW1hZ2VzQXV0b21hdGlj
YWxseSkKICAgICAvLyBTdGFydGluZyB0aGVzZSBsb2FkcyBzeW5jaHJvbm91c2x5IGlzIG5vdCBp
bXBvcnRhbnQuICBCeSBwdXR0aW5nIGl0IG9uIGEgMC1kZWxheSwgcHJvcGVybHkgY2xvc2luZyB0
aGUgUGFnZSBjYW5jZWxzIHRoZW0KICAgICAvLyBiZWZvcmUgdGhleSBoYXZlIGEgY2hhbmNlIHRv
IHJlYWxseSBzdGFydC4KICAgICAvLyBTZWUgaHR0cDovL3dlYmtpdC5vcmcvYi82MDU3MiBmb3Ig
bW9yZSBkaXNjdXNzaW9uLgotICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGlu
Z3NUaW1lckZpcmVkKCkKQEAgLTQwNyw3ICs0MDcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRJbWFn
ZXNFbmFibGVkKGJvb2wgYXJlSW1hZ2VzRW5hYmxlZCkKICAgICBtX2FyZUltYWdlc0VuYWJsZWQg
PSBhcmVJbWFnZXNFbmFibGVkOwogCiAgICAgLy8gU2VlIGNvbW1lbnQgaW4gc2V0TG9hZHNJbWFn
ZXNBdXRvbWF0aWNhbGx5LgotICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVG
b3JJbWFnZXMoYm9vbCBwcmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBA
QCB2b2lkIFNldHRpbmdzOjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNo
b3VsZE5vdFJlbG9hZElGcmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5n
UXVpcmsgPSBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lk
IFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGludGVydmFsKQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2
YWwoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21p
bmltdW1ET01UaW1lckludGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBp
bnRlcnZhbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBkMDY5NTdkYWVmNjY3N2Y3MTkzNWY3
ZjViMTNlNTI5MTNkYmRkZWM1Li5mYjAyMmY5MGVjYWI5MDE2ZTk4ODVlOGMzM2VhNTJkMTg0YjFk
ZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0xNjksOCArMTY5LDggQEAgcHVibGljOgog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmso
Ym9vbCk7CiAgICAgYm9vbCBuZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3Qg
eyByZXR1cm4gbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKTsgLy8gSW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50
ZXJ2YWwoKS4KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmltdW1ET01UaW1lcklu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQorICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCisg
ICAgU2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWlu
aW11bURPTVRpbWVySW50ZXJ2YWw7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5
b3V0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CiAgICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBsYXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0SW50
ZXJ2YWw7IH0KQEAgLTI0NCw4ICsyNDQsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0U2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJz
KGJvb2wpOwogICAgIHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycygpOwogCi0gICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyhkb3VibGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsgfQotICAgIGRvdWJsZSB0aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KKyAgICB2b2lkIHNldFRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHMgdGltZSkg
eyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsg
fQorICAgIFNlY29uZHMgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOyB9CiAKICAgICBib29sIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9u
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNp
b25FbmFibGVkOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoYm9vbCk7CkBAIC0zMjYsNyArMzI2LDcgQEAgcHJpdmF0
ZToKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEdlbmVyaWNGYW1pbGllcz4gbV9mb250
R2VuZXJpY0ZhbWlsaWVzOwogICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQb2xp
Y3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7CiAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBtX2xheW91dEludGVydmFsOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5p
bXVtRE9NVGltZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2
YWw7CiAKICAgICBTRVRUSU5HU19NRU1CRVJfVkFSSUFCTEVTCiAKQEAgLTM0OSw3ICszNDksNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0
aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA4OTFmZTc0ZTcyYmM0YjIyYjRmYTBhYjVlYjJlNDcw
YmU3NDQyMzIwLi42NDZkZTFlMTQ5YTM1MTczNjRkMzg5YzU1ZmIwOGZlOWU1MTk1NTdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTcsNyArNyw3IEBAIGxvY2FsU3RvcmFnZURhdGFiYXNl
UGF0aCB0eXBlPVN0cmluZwogZWRpdGFibGVMaW5rQmVoYXZpb3IgdHlwZT1FZGl0YWJsZUxpbmtC
ZWhhdmlvciwgaW5pdGlhbD1FZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IKIHRleHREaXJlY3Rp
b25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3IgdHlwZT1UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1
c2lvbkJlaGF2aW9yLCBpbml0aWFsPVRleHREaXJlY3Rpb25TdWJtZW51QXV0b21hdGljYWxseUlu
Y2x1ZGVkCiBwZGZJbWFnZUNhY2hpbmdQb2xpY3kgdHlwZT1QREZJbWFnZUNhY2hpbmdQb2xpY3ks
IGluaXRpYWwgPSBQREZJbWFnZUNhY2hpbmdEZWZhdWx0Ci1wYXNzd29yZEVjaG9EdXJhdGlvbklu
U2Vjb25kcyB0eXBlPWRvdWJsZSwgaW5pdGlhbD0xCitwYXNzd29yZEVjaG9EdXJhdGlvbiB0eXBl
PVNlY29uZHMsIGluaXRpYWw9MQogCiAjIFNldHMgdGhlIG1hZ25pZmljYXRpb24gdmFsdWUgZm9y
IHZhbGlkYXRpb24gbWVzc2FnZSB0aW1lci4gIElmIHRoZQogIyBtYWduaWZpY2F0aW9uIHZhbHVl
IGlzIE4sIGEgdmFsaWRhdGlvbiBtZXNzYWdlIGRpc2FwcGVhcnMgYXV0b21hdGljYWxseSBhZnRl
cgpAQCAtMTQwLDcgKzE0MCw3IEBAIG1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbSBpbml0
aWFsPWRlZmF1bHRNZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20KIGludmlzaWJsZUF1dG9w
bGF5Tm90UGVybWl0dGVkIGluaXRpYWw9ZmFsc2UKIHBhc3N3b3JkRWNob0VuYWJsZWQgaW5pdGlh
bD1mYWxzZQogc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nIGluaXRpYWw9ZmFsc2UKLWlu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzIHR5cGU9ZG91Ymxl
LCBpbml0aWFsPWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dElu
U2Vjb25kcworaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgdHlwZT1TZWNv
bmRzLCBpbml0aWFsPWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dAogYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQgaW5pdGlhbD10cnVlCiBzaG91bGREaXNw
bGF5U3VidGl0bGVzIGluaXRpYWw9ZmFsc2UsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCiBzaG91
bGREaXNwbGF5Q2FwdGlvbnMgaW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4IDc2NTgzYzEyYmE4
MjkxYWFhNmFlNGJjNWRmZGQ0NmIyNGM1NzY0MzUuLmYzY2ViNzM1ODE0NzQ2MjI2ZTI2OTc0ODZm
YWY5NjBhYjY1NzE5Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cApAQCAtMzMsMTAgKzMzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTdXNwZW5kYWJsZVRp
bWVyOjpTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAg
ICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCi0gICAgLCBtX3N1c3BlbmRlZChmYWxzZSkK
LSAgICAsIG1fc2F2ZWROZXh0RmlyZUludGVydmFsKDApCi0gICAgLCBtX3NhdmVkUmVwZWF0SW50
ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRJc0FjdGl2ZShmYWxzZSkKIHsKIH0KIApAQCAtMTAxLDcg
Kzk3LDcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpjYW5jZWwoKQogICAgICAgICBtX3N1c3Bl
bmRlZCA9IGZhbHNlOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5n
KGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQog
ICAgICAgICBUaW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsKTsKQEAgLTEx
MiwyNyArMTA4LDI3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91
YmxlIHJlcGVhdEludGVydmFsKQogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpz
dGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFy
dE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAg
ICAgICBUaW1lckJhc2U6OnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIG1fc2F2ZWRJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0RmlyZUludGVy
dmFsID0gaW50ZXJ2YWw7Ci0gICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7CisgICAg
ICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAgICAgfQogfQogCi1kb3Vi
bGUgU3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTdXNw
ZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3N1c3Bl
bmRlZCkKICAgICAgICAgcmV0dXJuIFRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwoKTsKICAgICBp
ZiAobV9zYXZlZElzQWN0aXZlKQogICAgICAgICByZXR1cm4gbV9zYXZlZFJlcGVhdEludGVydmFs
OwotICAgIHJldHVybiAwOworICAgIHJldHVybiBTZWNvbmRzKDApOwogfQogCi12b2lkIFN1c3Bl
bmRhYmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNw
ZW5kYWJsZVRpbWVyOjphdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFs
KGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVn
bWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9z
YXZlZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBk
ZWx0YTsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gU2Vjb25kcygwKTsKICAgICB9CiB9CiAKLXZvaWQgU3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoZGVsdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCBlMTVm
MGE3MDkzNzg1MGEzYTY5MDFmNzIwYzVkZTFmNjA5OTEzODY0Li4xMzQ1NzUxODUyNGRkMjEyYTky
YjdmODU1NTE3ODFhMDM2NWQxOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1
c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGlt
ZXIuaApAQCAtNDMsMTcgKzQzLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29u
c3QgeyByZXR1cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3Nh
dmVkSXNBY3RpdmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3VzcGVuZGVkOyB9CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRl
cnZhbCk7Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKTsKLSAgICBkb3Vi
bGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKTsKLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVs
dGEpOworICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7Cisg
ICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCk7CisgICAgU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCgpIGNvbnN0OwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9TZWNv
bmRzKHJlcGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRl
cnZhbCkpOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1T
KCkgY29uc3QgeyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLSAgICB2
b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkg
eyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KLSAgICB2b2lkIGF1
Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1
Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9CisgICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpOworICAgIHZvaWQgYXVnbWVudFJlcGVhdElu
dGVydmFsKFNlY29uZHMgZGVsdGEpOwogCiAgICAgdXNpbmcgVGltZXJCYXNlOjpkaWRDaGFuZ2VB
bGlnbm1lbnRJbnRlcnZhbDsKICAgICB1c2luZyBUaW1lckJhc2U6Om9wZXJhdG9yIG5ldzsKQEAg
LTcxLDExICs2NiwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNw
ZW5zaW9uKSBmaW5hbDsKICAgICB2b2lkIHJlc3VtZSgpIGZpbmFsOwogCi0gICAgYm9vbCBtX3N1
c3BlbmRlZDsKKyAgICBTZWNvbmRzIG1fc2F2ZWROZXh0RmlyZUludGVydmFsOworICAgIFNlY29u
ZHMgbV9zYXZlZFJlcGVhdEludGVydmFsOwogCi0gICAgZG91YmxlIG1fc2F2ZWROZXh0RmlyZUlu
dGVydmFsOwotICAgIGRvdWJsZSBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAgYm9vbCBtX3Nh
dmVkSXNBY3RpdmU7CisgICAgYm9vbCBtX3N1c3BlbmRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBt
X3NhdmVkSXNBY3RpdmUgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCmluZGV4IDM5
ODg3ZjEzNTIyOTQxMmUzZjAzNTIzZGY0YjU5N2JjZTM3NjBjNzUuLmVmYmIzNmRlYTk2OTBlMTJi
OGNiZmU1YjgzZTJmNWY5YzAyYmNhNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
V2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVs
RXZlbnRUZXN0VHJpZ2dlci5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgdm9pZCBXaGVlbEV2ZW50VGVz
dFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIoc3RkOjpm
dW5jdGkKICAgICB9CiAgICAgCiAgICAgaWYgKCFtX3Rlc3RUcmlnZ2VyVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjAp
OworICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAg
LyA2MCkpOwogfQogCiB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJl
YXNvbihTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0VHJpZ2dl
clJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDlhNDZkZWI0MTFhZmM5YWNhYjE0ZDllNmNk
N2E4MWRhZDJmNzVjZWQuLjg5NjRjZWM3MGJhNDZmMjMxNmNlNGM1NzUyMmNkYWRhNDJlNzkzNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwCkBAIC00OCw4ICs0OCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBjQW5pbWF0aW9uVGltZXJEZWxheSA9IDEuMCAvIDYwOwotc3Rh
dGljIGNvbnN0IGRvdWJsZSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lckRlbGF5ID0gU2Vjb25kcygxLjAgLyA2
MCk7CitzdGF0aWMgY29uc3QgZG91YmxlIGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCA9
IC0xOwogCiBjbGFzcyBBbmltYXRpb25Qcml2YXRlVXBkYXRlQmxvY2sgewogcHVibGljOgpAQCAt
NzEsNyArNzEsNyBAQCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUoRnJhbWUmIGZyYW1lKQogICAgIDogbV9hbmltYXRpb25UaW1lcigqdGhpcywg
JkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1lckZpcmVkKQogICAgICwg
bV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKQogICAgICwgbV9m
cmFtZShmcmFtZSkKLSAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShi
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCiAgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBk
YXRlQ291bnQoMCkKICAgICAsIG1fd2FpdGluZ0ZvckFzeW5jU3RhcnROb3RpZmljYXRpb24oZmFs
c2UpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQpAQCAtMTUyLDExICsxNTIsMTEgQEAgZG91
YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25zKFNldENoYW5n
ZWQgY2FsbFNldENoYW5nZWQvKgogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1
cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQog
ewotICAgIGRvdWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IDA7CisgICAgU2Vjb25kcyB0aW1lVG9O
ZXh0U2VydmljZTsKIAogICAgIGNvbnN0IENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5p
bWF0aW9uID0gbV9jb21wb3NpdGVBbmltYXRpb25zLmdldCgmcmVuZGVyZXIpOwogICAgIGlmICgh
Y29tcG9zaXRlQW5pbWF0aW9uLT5pc1N1c3BlbmRlZCgpICYmIGNvbXBvc2l0ZUFuaW1hdGlvbi0+
aGFzQW5pbWF0aW9ucygpKQotICAgICAgICB0aW1lVG9OZXh0U2VydmljZSA9IGNvbXBvc2l0ZUFu
aW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKTsKKyAgICAgICAgdGltZVRvTmV4dFNlcnZpY2Ug
PSBTZWNvbmRzKGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKSk7CiAKICAg
ICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIChtX2FuaW1hdGlvblRpbWVyLnJl
cGVhdEludGVydmFsKCkgfHwgbV9hbmltYXRpb25UaW1lci5uZXh0RmlyZUludGVydmFsKCkgPD0g
dGltZVRvTmV4dFNlcnZpY2UpKQogICAgICAgICByZXR1cm47CkBAIC0xNjYsMTkgKzE2NiwyMCBA
QCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZv
clJlbmRlcmVyKFJlbmRlckVsZW1lbnQmCiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQvKiA9IERv
Tm90Q2FsbFNldENoYW5nZWQqLykKIHsKLSAgICBkb3VibGUgdGltZVRvTmV4dFNlcnZpY2UgPSB1
cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBj
b252ZXJ0IHJlc3Qgb2YgYW5pbWF0aW9ucyBjb2RlIHRvIFNlY29uZHMgYW5kIE1vbm90b25pY1Rp
bWUuCisgICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHModXBkYXRlQW5pbWF0
aW9ucyhjYWxsU2V0Q2hhbmdlZCkpOwogCi0gICAgTE9HKEFuaW1hdGlvbnMsICJ1cGRhdGVBbmlt
YXRpb25UaW1lcjogdGltZVRvTmV4dFNlcnZpY2UgaXMgJS4yZiIsIHRpbWVUb05leHRTZXJ2aWNl
KTsKKyAgICBMT0coQW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0
U2VydmljZSBpcyAlLjJmbXMiLCB0aW1lVG9OZXh0U2VydmljZS5taWxsaXNlY29uZHMoKSk7CiAK
ICAgICAvLyBJZiB3ZSB3YW50IHNlcnZpY2UgaW1tZWRpYXRlbHksIHdlIHN0YXJ0IGEgcmVwZWF0
aW5nIHRpbWVyIHRvIHJlZHVjZSB0aGUgb3ZlcmhlYWQgb2Ygc3RhcnRpbmcKICAgICBpZiAoIXRp
bWVUb05leHRTZXJ2aWNlKSB7Ci0gICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2
ZSgpIHx8IG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSA9PSAwKQotICAgICAgICAg
ICAgbV9hbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhjQW5pbWF0aW9uVGltZXJEZWxheSk7
CisgICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8ICFtX2FuaW1hdGlv
blRpbWVyLnJlcGVhdEludGVydmFsKCkpCisgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0
YXJ0UmVwZWF0aW5nKGFuaW1hdGlvblRpbWVyRGVsYXkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgLy8gSWYgd2UgZG9uJ3QgbmVlZCBzZXJ2aWNlLCB3ZSB3YW50IHRvIG1ha2Ugc3Vy
ZSB0aGUgdGltZXIgaXMgbm8gbG9uZ2VyIHJ1bm5pbmcKLSAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwKSB7CisgICAgaWYgKHRpbWVUb05leHRTZXJ2aWNlIDwgU2Vjb25kcygwKSkgewogICAg
ICAgICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgbV9hbmlt
YXRpb25UaW1lci5zdG9wKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTIyMiw3ICsyMjMsNyBAQCB2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUo
KQogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVl
ZGVkRGlzcGF0Y2hlcigpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRj
aGVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4gZWxlbWVudCwg
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgZG91Ymxl
IGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9uQ29udHJvbGxl
clByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiByZW5kZXJlciwK
IGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVU
aW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50KTsKLSAgICBp
ZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJuIG1fYmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsKICAgICBpZiAo
IW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAgICAgICBzZXRC
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KTsK
ICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMyNjg5OTAzNjNj
NGZkMGY2ZDE2YTI3MWUzNjkuLjBmY2JhNGVhNjFiNzIzMjNlYTk3MjEyNmRjMjIyZWVkOGEzYzhk
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTc4
LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2ZW50SGFuZGxl
cjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91YmxlIHJlc2V0TGF0
Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRjaGVkU3RhdGVE
ZWxheSA9IFNlY29uZHMoMC4xKTsKIAogc3RhdGljIFJldGFpblB0cjxOU0V2ZW50PiYgY3VycmVu
dE5TRXZlbnRTbG90KCkKIHsKQEAgLTkyNCw3ICs5MjQsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
Y2xlYXJPclNjaGVkdWxlQ2xlYXJpbmdMYXRjaGVkU3RhdGVJZk5lZWRlZChjb25zdCBQbGF0Zm9y
bVdoZQogICAgIC8vIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlLiBJZiBpdCBkb2VzLCBzdG9wIHRo
ZSB0aW1lciwgbGVhdmluZyB0aGUgbGF0Y2hlZCBzdGF0ZSB1bnRvdWNoZWQuCiAgICAgaWYgKCFt
X3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICBp
ZiAoZXZlbnQuaXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkpCi0gICAgICAgICAgICBtX3BlbmRp
bmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRl
VGltZW91dCk7CisgICAgICAgICAgICBtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIu
c3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIC8vIElmIGFub3RoZXIgd2hlZWwgZXZlbnQgc2Nyb2xsaW5nIHN0YXJ0cywgc3RvcCB0aGUg
dGltZXIgbWFudWFsbHksIGFuZCByZXNldCB0aGUgbGF0Y2hlZCBzdGF0ZSBpbW1lZGlhdGVseS4K
ICAgICAgICAgaWYgKGV2ZW50LnNob3VsZENvbnNpZGVyTGF0Y2hpbmcoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCmluZGV4
IDU1ZTRkNjU5NWVlYjYwNTNmNmE2YTk0NTBiOWRhZWI4MTI4YzUyNzAuLjBiYjA5ODAwZjhmYWU3
YTFlNzI3Yzk0NGRlZGRiMWY2YTU2NmQyMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rpb25TZXJ2aWNlcygpOwogCiAgICAg
Ym9vbCBtb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmLCBib29sJiBtb3VzZUlzT3ZlckJ1
dHRvbikgY29uc3Q7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZW1haW5pbmdUaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCopIGNvbnN0OworICAgIFNlY29u
ZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqKSBj
b25zdDsKICAgICB2b2lkIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoKTsKIAog
ICAgIHN0YXRpYyBib29sIGhpZ2hsaWdodHNBcmVFcXVpdmFsZW50KGNvbnN0IEhpZ2hsaWdodCog
YSwgY29uc3QgSGlnaGxpZ2h0KiBiKTsKQEAgLTE1MSw5ICsxNTEsOSBAQCBwcml2YXRlOgogCiAg
ICAgSGlnaGxpZ2h0OjpUeXBlIG1fZGlydHlIaWdobGlnaHRUeXBlcyB7IDAgfTsKIAotICAgIHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0U2VsZWN0aW9uQ2hhbmdl
VGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbmV4dEFj
dGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFNl
bGVjdGlvbkNoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0TW91c2VVcFRpbWU7CiAKICAg
ICBSZWZQdHI8SGlnaGxpZ2h0PiBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsK
ICAgICBJbnRQb2ludCBtX21vdXNlUG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQppbmRleCA5YTgxNWI1YWU1NTk2
NDk5YmRmNjE2ZWQ0MjExYjlhNTIzODE1ZTYyLi41YWZmOTI3ZWJiYzY0ZWIzOWRjOTRkMzhiNGQ2
NDhmMDBjMGYwYjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hhbmdlKGNvbnN0IFZlY3RvcjxM
YXlvdXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJlY3RzID0gcmVjdHM7CiAgICAgbV9p
c1RleHRPbmx5ID0gaXNUZXh0T25seTsKIAotICAgIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWUg
PSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3RTZWxlY3Rpb25D
aGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBjb21wYWN0UmVjdHNXaXRo
R2FwUmVjdHMobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMsIGdhcFJlY3RzKTsKIApAQCAtMzkxLDcg
KzM5MSw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hs
aWdodHNPZlR5cGUoSGlnaGxpZ2h0OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fZGlydHlIaWdobGlnaHRUeXBlcyB8PSB0eXBlOwotICAgIG1fYnVpbGRIaWdobGlnaHRzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYnVpbGRIaWdobGlnaHRzVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmJ1
aWxkUG90ZW50aWFsSGlnaGxpZ2h0c0lmTmVlZGVkKCkKQEAgLTQzMywxNSArNDMzLDE1IEBAIGJv
b2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VJc092ZXJIaWdobGlnaHQoSGlnaGxp
Z2h0JiBoaWdobGlnaHQsIGJvb2wmCiAgICAgcmV0dXJuIGhvdmVyZWQ7CiB9CiAKLXN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGlt
ZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqIGhpZ2hsaWdodCkgY29uc3QK
K1NlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGln
aGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqIGhpZ2hsaWdodCkgY29uc3QKIHsKICAgICBp
ZiAoIWhpZ2hsaWdodCkKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIFNlY29u
ZHMoMCk7CiAKLSAgICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3du
ID0gMjAwbXM7CisgICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVT
aG93biA9IFNlY29uZHMoMC4yKTsKICAgICBQYWdlKiBwYWdlID0gbV9tYWluRnJhbWUucGFnZSgp
OwogICAgIGlmIChwYWdlICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5G
cmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCi0gICAg
ICAgIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMTAwMG1zOworICAg
ICAgICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IFNlY29uZHMoMSk7
CiAKICAgICBib29sIG1vdXNlUHJlc3NlZCA9IG1fbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLm1v
dXNlUHJlc3NlZCgpOwogCkBAIC00NDksMTUgKzQ0OSwxNCBAQCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hs
aWdodAogICAgIC8vIGJ5IHZpcnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0byBpbmNsdWRlIHRoZSBl
bnRpcmUgdGVsZXBob25lIG51bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBzdGlsbCBhdm9pZCBoaWdo
bGlnaHRpbmcKICAgICAvLyB0ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0aGUgbW91c2UgaXMgZG93
bi4KICAgICBpZiAoaGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1i
ZXJUeXBlKQotICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhp
Z2hsaWdodFNob3VsZEJlU2hvd24gOiAwbXM7CisgICAgICAgIHJldHVybiBtb3VzZVByZXNzZWQg
PyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6IFNlY29uZHMoMCk7CiAK
LSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1
dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgYXV0byB0aW1lU2luY2VMYXN0U2Vs
ZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZTsKICAgICBhdXRv
IHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0TW91c2VVcCA9IG1vdXNlUHJl
c3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBUaW1lOworICAgIGF1dG8gdGltZVNpbmNl
TGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyBTZWNvbmRzKDApIDogbm93IC0gbV9sYXN0TW91
c2VVcFRpbWU7CiAKLSAgICBhdXRvIHJlbWFpbmluZ0RlbGF5ID0gbWluaW11bVRpbWVVbnRpbEhp
Z2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2Vs
ZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VM
YXN0TW91c2VVcCk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHM+KHJlbWFpbmluZ0RlbGF5KTsKKyAgICByZXR1cm4gbWluaW11
bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1l
U2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUp
LCB0aW1lU2luY2VMYXN0TW91c2VVcCk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpCkBAIC03MjMsNyArNzIy
LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdo
bGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3RpdmUKICAgICAgICAgLy8gaGlnaGxpZ2h0LCBhbmQg
b25seSByZXNldCB0aGUgYWN0aXZlIGhpZ2hsaWdodCBoeXN0ZXJlc2lzIHdoZW4gdGhhdCBjaGFu
Z2VzLgogICAgICAgICBpZiAobV9uZXh0QWN0aXZlSGlnaGxpZ2h0ICE9IG5ld0FjdGl2ZUhpZ2hs
aWdodCkgewogICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0ID0gbmV3QWN0aXZlSGln
aGxpZ2h0OwotICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICAgICAgbV9uZXh0QWN0aXZl
SGlnaGxpZ2h0Q2hhbmdlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICB9CiAK
ICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwpA
QCAtNzM0LDcgKzczMyw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJt
aW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAgICAgICAgIH0KIAog
ICAgICAgICBhdXRvIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSB0
aGlzLT5yZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKG5ld0FjdGl2ZUhp
Z2hsaWdodC5nZXQoKSk7Ci0gICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duID4gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8o
KSkgeworICAgICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
biA+IFNlY29uZHMoMCkpIHsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0
VGltZXIuc3RhcnRPbmVTaG90KHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hv
d24pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC03NjYsNyArNzY1LDcgQEAg
Ym9vbCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUV2ZW50KFBhZ2VPdmVybGF5Jiwg
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW4KICAgICAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbW91c2VE
b3duSGlnaGxpZ2h0ID0gbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAg
ICAgIG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0ID0gbnVsbHB0cjsKIAotICAg
ICAgICBtX2xhc3RNb3VzZVVwVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygp
OworICAgICAgICBtX2xhc3RNb3VzZVVwVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAg
ICAgICAgIGlmIChtb3VzZUlzT3ZlckFjdGl2ZUhpZ2hsaWdodEJ1dHRvbiAmJiBtb3VzZURvd25I
aWdobGlnaHQpIHsKICAgICAgICAgICAgIGhhbmRsZUNsaWNrKG1fbW91c2VQb3NpdGlvbiwgKm1v
dXNlRG93bkhpZ2hsaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9U
ZXh0SW5kaWNhdG9yV2luZG93Lm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGlj
YXRvcldpbmRvdy5tbQppbmRleCBlNGUyMGQyMjc2OGM4ODJlOTAwYjEyYjQxZmUwMmVjZGZiNDhm
NjI4Li41MDQ0ZWFmNjIwNGEzYmMyYjhkZGU2YWU0YTg1OTlhYjUxMTZiMWMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KQEAgLTQ3NSw3ICs0
NzUsNyBAQCB2b2lkIFRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJbmRpY2F0b3IoUmVmPFRl
eHRJbmRpY2F0b3I+IHRleHRJbmRpY2F0b3IsIENHUgogICAgICAgICBbbV90ZXh0SW5kaWNhdG9y
VmlldyBwcmVzZW50XTsKIAogICAgIGlmIChsaWZldGltZSA9PSBUZXh0SW5kaWNhdG9yV2luZG93
TGlmZXRpbWU6OlRlbXBvcmFyeSkKLSAgICAgICAgbV90ZW1wb3JhcnlUZXh0SW5kaWNhdG9yVGlt
ZXIuc3RhcnRPbmVTaG90KHRpbWVCZWZvcmVGYWRlU3RhcnRzKTsKKyAgICAgICAgbV90ZW1wb3Jh
cnlUZXh0SW5kaWNhdG9yVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHModGltZUJlZm9yZUZhZGVT
dGFydHMpKTsKIH0KIAogdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpjbG9zZVdpbmRvdygpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDg1YTY0NzJlY2UyMTFmZjIwMDgwZDM3YTUyZWFlMTkw
YTkxMDk3NDAuLmJlYjg1YmVkZWE3MmRkZjM0N2UzZDk4NjVlNzFlZGJhNWYxOTNmNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9s
bChTY3IKICAgICB9CiAKICAgICBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZSA9IHNjcm9sbFVwZGF0
ZTsKLSAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxQ
b3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5t
bQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi42ZWZiZWY3
MDMwY2RjZmUwMzU2MzQ4NTg0YWEwYWMzOTIwZWI4NTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9T
Lm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjaGVk
dWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0
ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGluZ1N0
YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGluZ1N0
YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGlu
YXRvck1hYy5tbQppbmRleCBkNDNkOTRiMjQ3YTZlNGY5Mzk3NDE1ODI2MTk3YzJiMGFkZjA3MTQ4
Li41MGM0MWIyNTEzN2ZkMjk1NGU4Y2MxZTExZGZlMmY1MTYwMDQwNjYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjLm1tCkBAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRv
ck1hYzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKQogICAgIGlmIChtX3Njcm9sbGluZ1N0YXRl
VHJlZUNvbW1pdHRlclRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21taXRUcmVlU3RhdGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAppbmRleCAxYWE3
ZTFiODc2M2ZmMWI0N2RmYjhlMjEzOTQwNzY0NWViNzU1ZWIyLi5iZGE0YjIyODA3OTUxYjhkZmFi
YzdjNjEwNjNiY2VhNDJhNjZlNjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9HZW5lcmljVGFza1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5l
cmljVGFza1F1ZXVlLmNwcApAQCAtNDEsNyArNDEsNyBAQCB2b2lkIFRhc2tEaXNwYXRjaGVyPFRp
bWVyPjo6cG9zdFRhc2soRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQogICAgIG1fcGVuZGlu
Z1Rhc2tzLmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiAgICAgcGVuZGluZ0Rpc3BhdGNoZXJz
KCkuYXBwZW5kKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpKTsKICAgICBpZiAoIXNo
YXJlZFRpbWVyKCkuaXNBY3RpdmUoKSkKLSAgICAgICAgc2hhcmVkVGltZXIoKS5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiBUaW1lciYgVGFza0Rpc3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUy
YTc0ODMwOWUwNjI4MjBlZGM4MjM5ODBjMGIyZTEuLmIyNWVkZGZhNDRhN2I1ODkxNTYxZjQ1NGI2
YWNmNzI3MzBhZTI2ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3Rl
cmVzaXNBY3Rpdml0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oCkBAIC0zMCw3ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBEZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsID0gU2Vjb25kcyg1LjApOwog
CiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5
LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0
aXZpdHkgewogcHVibGljOgotICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1
bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3Rh
dGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNTZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNv
bmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQo
SHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vj
b25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBEZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAg
ICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCi0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25k
cyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAgICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0
ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwgbV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90
aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rpdml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAg
ICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9o
eXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVy
ZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAgICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODks
NyBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lz
U3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRvdWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAg
IFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBU
aW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4
IDg4MTgxZDMwNTdmNDY4OTRkZmViOWE5NzdhNTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1
MzVlNzk4YTBkMGU4MDBlMzhiZjZkOTQyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YmFyLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBAIHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShT
Y3JvbGxiYXIqIHNjcm9sbGJhcikKICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkg
Pj0gdGh1bWJQb3MgJiYgc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1i
TGVuZ3RoOwogfQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJs
ZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBk
ZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5v
dGhpbmcgd2FzIHByZXNzZWQuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8
IG1fcHJlc3NlZFBhcnQgPT0gTm9QYXJ0KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xs
YmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRp
bWVySWZOZWVkZWQoZGVsYXkpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVl
ZGVkKGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vj
b25kcyBkZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgog
ICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2
b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxh
eSk7CisgICAgbV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQog
CiB2b2lkIFNjcm9sbGJhcjo6c3RvcFRpbWVySWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaAppbmRleCBmODZhOTYyYWZlMDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFh
Li5hMjM2YzdlOGViMTI3YWVhMzc1NjUyM2ViZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxiYXIuaApAQCAtMTQ0LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3Jv
bGxUaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5
KTsKKyAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lk
IHN0b3BUaW1lcklmTmVlZGVkKCk7Ci0gICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91
YmxlIGRlbGF5KTsKKyAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5
KTsKICAgICBTY3JvbGxEaXJlY3Rpb24gcHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAg
ICBTY3JvbGxHcmFudWxhcml0eSBwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2Jh
NGEwZTNhMGRmYjQ3NjFkZDRhNjU3NWVkYmMuLjI2OTA0MjdkMDc3YjBjM2Q2OGM3Y2E3NTgzZmQ4
N2M2ZjM3ZjljOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJh
clRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApA
QCAtMTA1LDggKzEwNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBC
ZXR3ZWVuUGFnZXMoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9
CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJl
dHVybiAwLjI1OyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7
IHJldHVybiAwLjA1OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpIHsgcmV0dXJuIFNlY29uZHMoMC4yNSk7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMg
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiBTZWNvbmRzKDAuMDUpOyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaAppbmRleCAzNTg2M2JjODIwMTRjMzk3N2MzYzY5NGZhNDI3NmMwNTQxMWVmMWIxLi42
ZmQ1NTMxOWZkZWY3ZmM0MTA3OTZlMzI1YjNlMTI4ZTJlYmE0MjAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RoZW1lLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9udENhc2Nh
ZGUgc3lzdGVtRm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0IHsgcmV0dXJu
IEZvbnRDYXNjYWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUgY2FyZXQgYmxpbmtz
IGluIHRleHQgZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgp
IGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50
ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBTZWNvbmRzKDAuNSk7IH0KIAogICAgIC8vIE5vdGlmaWNh
dGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNo
YW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRp
bWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCmluZGV4
IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFhMTBmY2ZkYmNhNDQuLjU0MjVjNDlhNGNiNmU0
ZTcwMjNlOTAwNzNhZDAyMDRmNzA5NjEzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNp
bmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1
ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVuZ3RoIG9mIHRpbWUsIGFuZCB0aGVuIHF1aXQg
dG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVzZXIgaW5wdXQgZXZlbnRzLgogLy8gMTAwbXMg
aXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBpbiBVSSwgc28gdXNlIGEgaGFsZiBvZiB0aGF0
IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0byBwcmV2ZW50IFVJIGZyZWV6ZSB3aGVuIHRo
ZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFjaGluZSBwZXJmb3JtYW5jZSBpcyBsb3cuCi1z
dGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSBTZWNvbmRzOjpm
cm9tTWlsbGlzZWNvbmRzKDUwKTsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVkIGFu
ZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93biBU
aHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3VycmVu
dGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3VibGUg
bWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJlYWRU
aW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMoZmFs
c2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYgKGlz
VUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRUaW1l
cjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2V0
U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJlZFRp
bWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0cik7
CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVk
VGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFy
ZWRUaW1lcjsKQEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hh
cmVkVGltZXIoKQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1Rp
bWVycyB8fCBtX3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVk
VGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKICAgICB9
IGVsc2UgewotICAgICAgICBkb3VibGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3Qo
KS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3RvbmljVGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBNb25vdG9uaWNUaW1lIG5l
eHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lOworICAgICAg
ICBNb25vdG9uaWNUaW1lIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKSB7CiAgICAgICAg
ICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlmIGJvdGggdGhlIHBlbmRpbmcg
ZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4gdGhlIHBhc3QuCiAgICAgICAg
ICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8PSBjdXJyZW50TW9ub3Rvbmlj
VGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25pY1RpbWUpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50
ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGlt
ZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoc3RkOjpt
YXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90b25pY1RpbWUsIFNlY29uZHMo
MCkpKTsKICAgICB9CiB9CiAKQEAgLTEwMywyNSArMTAzLDI1IEBAIHZvaWQgVGhyZWFkVGltZXJz
OjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwoKQogICAgIGlmIChtX2ZpcmluZ1RpbWVycykKICAg
ICAgICAgcmV0dXJuOwogICAgIG1fZmlyaW5nVGltZXJzID0gdHJ1ZTsKLSAgICBtX3BlbmRpbmdT
aGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1l
ID0gTW9ub3RvbmljVGltZSgpOwogCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVUb1F1aXQgPSBmaXJlVGltZSArIG1h
eER1cmF0aW9uT2ZGaXJpbmdUaW1lcnM7CisgICAgTW9ub3RvbmljVGltZSBmaXJlVGltZSA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIE1vbm90b25pY1RpbWUgdGltZVRvUXVpdCA9IGZpcmVU
aW1lICsgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKIAogICAgIHdoaWxlICghbV90aW1lckhl
YXAuaXNFbXB0eSgpICYmIG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lIDw9IGZp
cmVUaW1lKSB7CiAgICAgICAgIFRpbWVyQmFzZSogdGltZXIgPSBtX3RpbWVySGVhcC5maXJzdCgp
OwotICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUgPSAwOwotICAgICAgICB0aW1lci0+bV91
bmFsaWduZWROZXh0RmlyZVRpbWUgPSAwOworICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CisgICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICAgICAgdGltZXItPmhlYXBEZWxldGVNaW4oKTsKIAot
ICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSB0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsKLSAgICAg
ICAgdGltZXItPnNldE5leHRGaXJlVGltZShpbnRlcnZhbCA/IGZpcmVUaW1lICsgaW50ZXJ2YWwg
OiAwKTsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgp
OworICAgICAgICB0aW1lci0+c2V0TmV4dEZpcmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBp
bnRlcnZhbCA6IE1vbm90b25pY1RpbWUoKSk7CiAKICAgICAgICAgLy8gT25jZSB0aGUgdGltZXIg
aGFzIGJlZW4gZmlyZWQsIGl0IG1heSBiZSBkZWxldGVkLCBzbyBkbyBub3RoaW5nIGVsc2Ugd2l0
aCBpdCBhZnRlciB0aGlzIHBvaW50LgogICAgICAgICB0aW1lci0+ZmlyZWQoKTsKIAogICAgICAg
ICAvLyBDYXRjaCB0aGUgY2FzZSB3aGVyZSB0aGUgdGltZXIgYXNrZWQgdGltZXJzIHRvIGZpcmUg
aW4gYSBuZXN0ZWQgZXZlbnQgbG9vcCwgb3Igd2UgYXJlIG92ZXIgdGltZSBsaW1pdC4KLSAgICAg
ICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkpCisgICAgICAgIGlmICghbV9maXJpbmdUaW1lcnMgfHwgdGltZVRvUXVpdCA8
IE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0x
MzcsNyArMTM3LDcgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OmZpcmVUaW1lcnNJbk5lc3RlZEV2ZW50
TG9vcCgpCiAKICAgICBpZiAobV9zaGFyZWRUaW1lcikgewogICAgICAgICBtX3NoYXJlZFRpbWVy
LT5pbnZhbGlkYXRlKCk7Ci0gICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAw
OworICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgIH0KIAogICAgIHVwZGF0ZVNoYXJlZFRpbWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZFRpbWVycy5oCmluZGV4IGVhYmM0ZDEyMWU4MjY2NjJlOWFiYjMwNGUzODNmMTdiMWU3
MjlhOTcuLmNmNThjOTE3YTk1Y2UzNjcyYzE2YjdlNmVjNjkxNzM5YTg5MDNhMDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVm
IFRocmVhZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRpbWVyc19oCiAKKyNpbmNsdWRlIDx3dGYv
TW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtNTYsNyArNTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFZlY3RvcjxUaW1lckJhc2UqPiBtX3RpbWVySGVhcDsKICAgICAgICAgU2hhcmVkVGlt
ZXIqIG1fc2hhcmVkVGltZXI7IC8vIEV4dGVybmFsIG9iamVjdCwgY2FuIGJlIGEgcnVuIGxvb3Ag
b24gYSB3b3JrZXIgdGhyZWFkLiBOb3JtYWxseSBzZXQvcmVzZXQgYnkgd29ya2VyIHRocmVhZC4K
ICAgICAgICAgYm9vbCBtX2ZpcmluZ1RpbWVyczsgLy8gUmVlbnRyYW5jeSBndWFyZC4KLSAgICAg
ICAgZG91YmxlIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWU7CisgICAgICAgIE1vbm90b25p
Y1RpbWUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKICAgICB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5jcHAKaW5kZXggY2Q1OTRmZTdjYzU1ODkxMjk0NzQ2Mzk3NmQ4ZDE4NWY5
MTExNGJiYS4uZmJjODc2OTA4OGNkMWMzZjlmM2M4MGIxZWUzMWQ0MDY0NjZkN2YwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RpbWVyLmNwcApAQCAtMTcyLDggKzE3Miw4IEBAIGlubGluZSBib29sIFRp
bWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkoY29uc3QgVGltZXJCYXNlKiBhLCBj
b25zdCBUaW1lCiB7CiAgICAgLy8gVGhlIGNvbXBhcmlzb25zIGJlbG93IGFyZSAiYmFja3dhcmRz
IiBiZWNhdXNlIHRoZSBoZWFwIHB1dHMgdGhlIGxhcmdlc3QgCiAgICAgLy8gZWxlbWVudCBmaXJz
dCBhbmQgd2Ugd2FudCB0aGUgbG93ZXN0IHRpbWUgdG8gYmUgdGhlIGZpcnN0IG9uZSBpbiB0aGUg
aGVhcC4KLSAgICBkb3VibGUgYUZpcmVUaW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgZG91
YmxlIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOworICAgIE1vbm90b25pY1RpbWUgYUZp
cmVUaW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBiRmlyZVRpbWUg
PSBiLT5tX25leHRGaXJlVGltZTsKICAgICBpZiAoYkZpcmVUaW1lICE9IGFGaXJlVGltZSkKICAg
ICAgICAgcmV0dXJuIGJGaXJlVGltZSA8IGFGaXJlVGltZTsKICAgICAKQEAgLTE4NiwxMSArMTg2
LDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0b3IoKShj
b25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIC8vIC0tLS0tLS0tLS0tLS0tLS0KIAogVGlt
ZXJCYXNlOjpUaW1lckJhc2UoKQotICAgIDogbV9uZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1fdW5h
bGlnbmVkTmV4dEZpcmVUaW1lKDApCi0gICAgLCBtX3JlcGVhdEludGVydmFsKDApCi0gICAgLCBt
X2hlYXBJbmRleCgtMSkKLSAgICAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwKDApCisg
ICAgOiBtX2hlYXBJbmRleCgtMSkKKyAgICAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFw
KG51bGxwdHIpCiAjaWZuZGVmIE5ERUJVRwogICAgICwgbV90aHJlYWQoY3VycmVudFRocmVhZCgp
KQogICAgICwgbV93YXNEZWxldGVkKGZhbHNlKQpAQCAtMjA3LDMyICsyMDQsMzIgQEAgVGltZXJC
YXNlOjp+VGltZXJCYXNlKCkKICNlbmRpZgogfQogCi12b2lkIFRpbWVyQmFzZTo6c3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgVGltZXJC
YXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2
YWwpCiB7CiAgICAgQVNTRVJUKGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3Ro
cmVhZCkpOwogCiAgICAgbV9yZXBlYXRJbnRlcnZhbCA9IHJlcGVhdEludGVydmFsOwotICAgIHNl
dE5leHRGaXJlVGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIG5leHRGaXJlSW50
ZXJ2YWwpOworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lOjpub3coKSArIG5leHRG
aXJlSW50ZXJ2YWwpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6c3RvcCgpCiB7CiAgICAgQVNTRVJU
KGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3RocmVhZCkpOwogCi0gICAgbV9y
ZXBlYXRJbnRlcnZhbCA9IDA7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKDApOworICAgIG1fcmVwZWF0
SW50ZXJ2YWwgPSBTZWNvbmRzKDApOworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1l
KCkpOwogCi0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lID09IDApOwotICAgIEFTU0VSVChtX3Jl
cGVhdEludGVydmFsID09IDApOworICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOworICAgIEFT
U0VSVCghbV9yZXBlYXRJbnRlcnZhbCk7CiAgICAgQVNTRVJUKCFpbkhlYXAoKSk7CiB9CiAKLWRv
dWJsZSBUaW1lckJhc2U6Om5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJh
c2U6Om5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsK
LSAgICBkb3VibGUgY3VycmVudCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAg
IE1vbm90b25pY1RpbWUgY3VycmVudCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGlmICht
X25leHRGaXJlVGltZSA8IGN1cnJlbnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gU2Vjb25kcygwKTsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBjdXJyZW50OwogfQog
CkBAIC0yNDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmNoZWNrSGVhcElu
ZGV4KCkgY29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNv
bnN0CiB7CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBpZiBhbmQgb25seSBp
ZiB0aGV5IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBBU1NFUlQoaW5IZWFw
KCkgPT0gKG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5IZWFwKCkgPT0gISFt
X25leHRGaXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBjaGVja0hlYXBJbmRl
eCgpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NF
UlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAg
ICBjaGVja0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRhID0gdGltZXJIZWFw
KCkuZGF0YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvcihoZWFwRGF0YSksIFRp
bWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwgVGltZXJIZWFwTGVz
c1RoYW5GdW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRpbWVyQmFzZTo6aGVh
cERlY3JlYXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkKIHsK
LSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJl
VGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAg
ICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGluZSB2b2lkIFRpbWVy
QmFzZTo6aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIHsK
LSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJl
VGltZSk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsK
ICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZvaWQgVGltZXJCYXNl
OjpoZWFwRGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwSW5jcmVhc2VL
ZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAgICBBU1NFUlQobV9u
ZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVhc2VLZXkoKTsKIH0K
QEAgLTI5Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbnNlcnQoKQog
aW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBUZW1wb3JhcmlseSBm
b3JjZSB0aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdlIGNhbiBwb3AgaXQu
Ci0gICAgZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAgbV9uZXh0RmlyZVRp
bWUgPSAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOworICAgIE1vbm90
b25pY1RpbWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25leHRGaXJlVGltZSA9
IC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogICAg
IGhlYXBQb3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1lOwpAQCAtMzQ3LDcg
KzM0NCw3IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0CiAg
ICAgcmV0dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDEp
ICYmIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDIpOwogfQog
Ci12b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQordm9p
ZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRpbWUpCiB7
CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkpCiAgICAg
ICAgIHJldHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVh
cElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFwKCkgfHwgaGFzVmFs
aWRIZWFwUG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUo
ZG91YmxlIG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKE1vbm90b25p
Y1RpbWUgbmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9y
VGhyZWFkKG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQpOwpAQCAtMzc5LDEx
ICszNzYsMTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGlt
ZSkKICAgICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAmdGhyZWFkR2xvYmFs
VGltZXJIZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUgY2hhbmdpbmcgdGhl
IG5leHQtZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7Cisg
ICAgTW9ub3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAgICAgLy8gRG9uJ3Qg
cmVhbGlnbiB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkgewotICAgICAgICBp
ZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNvbmRzVG9NUyhuZXdU
aW1lKSkpCi0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3QWxpZ25lZFRpbWUu
dmFsdWUoKSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0gYWxpZ25lZEZpcmVU
aW1lKG5ld1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWduZWRUaW1lLnZhbHVl
KCk7CiAgICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpAQCAtNDE2LDEwICs0
MTMsMTAgQEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCkKICAg
ICBzZXROZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwogfQogCi1kb3VibGUg
VGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGlt
ZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQo
aXNBY3RpdmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1l
IC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAgcmV0dXJuIHN0ZDo6
bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCksIFNlY29u
ZHMoMCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
aAppbmRleCBhMzVjOGM2N2VlMjJiNmVkNWRjODUzYmRlMmUxOWYzY2VkY2U4ZjFlLi43YzUxYmE4
N2JlZGIyZjE5NWMxMDA0YjdjM2M0ODVmZGQ3ZDdiNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxmdW5j
dGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1Nl
Y29uZHMuaD4KQEAgLTQ3LDM5ICs0OCwyNCBAQCBjbGFzcyBUaW1lckhlYXBFbGVtZW50OwogY2xh
c3MgVGltZXJCYXNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOwogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHJvdGVjdGVkOgotICAgIHN0YXRpYyBpbmxpbmUg
ZG91YmxlIG1zVG9TZWNvbmRzKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZHVyYXRpb24pIHsg
cmV0dXJuIGR1cmF0aW9uLmNvdW50KCkgKiAwLjAwMTsgfQotICAgIHN0YXRpYyBpbmxpbmUgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBzZWNvbmRzVG9NUyhkb3VibGUgZHVyYXRpb24pIHsgcmV0
dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6
OnJlcCkoZHVyYXRpb24gKiAxMDAwKSk7IH0KLQogcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IFRpbWVyQmFzZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgflRpbWVyQmFzZSgpOwog
Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwg
ZG91YmxlIHJlcGVhdEludGVydmFsKTsKLQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwp
KTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydFJlcGVhdGluZyhyZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQorICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgMCk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZhbCkp
OyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRl
cnZhbC52YWx1ZSgpLCAwKTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Cisg
ICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwg
U2Vjb25kcygwKSk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcCgpOwogICAgIGJv
b2wgaXNBY3RpdmUoKSBjb25zdDsKIAotICAgIGRvdWJsZSBuZXh0RmlyZUludGVydmFsKCkgY29u
c3Q7Ci0gICAgZG91YmxlIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKLSAgICBk
b3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3JlcGVhdEludGVydmFsOyB9
Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1TKCkgY29uc3Qg
eyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLQotICAgIHZvaWQgYXVn
bWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZp
cmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChtc1RvU2Vjb25k
cyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEp
IHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YS52YWx1ZSgpKTsgfQorICAgIFNlY29uZHMgbmV4
dEZpcmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFVuYWxpZ25lZEZpcmVJbnRl
cnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biBtX3JlcGVhdEludGVydmFsOyB9CiAKLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChk
b3VibGUgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7IG1fcmVwZWF0SW50ZXJ2
YWwgKz0gZGVsdGE7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25k
cyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0
YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICB2b2lkIGF1
Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBzZXROZXh0RmlyZVRpbWUobV9uZXh0
RmlyZVRpbWUgKyBkZWx0YSk7IH0KKyAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNv
bmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFs
ICs9IGRlbHRhOyB9CiAKICAgICB2b2lkIGRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCk7CiAK
QEAgLTg4LDE3ICs3NCwxNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBm
aXJlZCgpID0gMDsKIAotICAgIHZpcnR1YWwgT3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0IHsg
cmV0dXJuIE51bGxvcHQ7IH0KKyAgICB2aXJ0dWFsIE9wdGlvbmFsPE1vbm90b25pY1RpbWU+IGFs
aWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCB7IHJldHVybiBOdWxsb3B0OyB9CiAK
ICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAgICB2b2lkIGNoZWNrSGVhcElu
ZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGltZShkb3VibGUpOworICAgIHZv
aWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAgICAgYm9vbCBpbkhlYXAoKSBj
b25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAgICAgYm9vbCBoYXNWYWxpZEhl
YXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRp
bWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAgICB2b2lkIGhlYXBEZWxldGUo
KTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8VGltZXJCYXNlKj4m
IHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFw
KTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsgfQogCi0gICAgZG91Ymxl
IG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAgZG91YmxlIG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50
IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7IC8vIDAgaWYgbm90IHJlcGVh
dGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7IC8vIDAgaWYgaW5hY3RpdmUK
KyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJl
VGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCisgICAgU2Vjb25kcyBtX3Jl
cGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAgICBpbnQgbV9oZWFwSW5kZXg7
IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9oZWFwSW5zZXJ0aW9uT3JkZXI7
IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJlLXRpbWUgdGltZXJzCiAgICAg
VmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsKQEAgLTE1
OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSBjb25zdAog
I2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkgfHwgcHRocmVhZF9tYWluX25w
KCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZiAvLyBQTEFURk9STShJ
T1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJldHVybiAhIW1fbmV4dEZpcmVU
aW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIDogcHJvdGVjdGVkIFRpbWVy
QmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGltZXJGaXJlZENsYXNzPgot
ICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQg
KFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmpl
Y3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBTZWNvbmRzIGRlbGF5KQog
ICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpiaW5kKGZ1bmN0aW9uLCAmb2Jq
ZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIo
c3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248dm9pZCAo
KT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogbV9mdW5jdGlvbihXVEZNb3Zl
KGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQogICAgICAgICAsIG1fc2hvdWxk
UmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcgKzE5OCw3IEBAIHByaXZhdGU6
CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rpb247CiAKLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25kcyBtX2RlbGF5OwogICAgIGJv
b2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUwMTkxNDRhMjFmZjRkM2RjMGUx
OGY5ZmM5MjhlMWE3Li43YTllNmEwOWQ3MGI3OTliYjYwMGY3ZWU3YzBhOTFlZmEwMThlMDlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKQEAgLTQwLDcgKzQwLDcg
QEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRvbigpCiBWTm9kZVRyYWNrZXI6
OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2
ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZlbnQ6OkluY3JlbWVudCkgY2hl
Y2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJlV2FybmluZ1RpbWVyKCp0aGlz
LCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKQotICAgICwgbV9sYXN0
V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCisgICAgLCBtX2xh
c3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsKICAgICBwbGF0Zm9ybUluaXRp
YWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5vZGVUcmFja2VyOjpwcmVzc3Vy
ZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNvdW50ZXIudmFsdWUoKSA8PSBt
X3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xhc3RXYXJuaW5nVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFdhcm5pbmdU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWduZWQgdm5vZGVDb3VudCA9IG1f
dm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNhbCA9IHZub2RlQ291bnQgPiBt
X2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRpY2FsOjpObzsKICAgICBtX3By
ZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9yeVByZXNzdXJlLCAidm5vZGUg
cHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBvZiAldSAoY3JpdGljYWwgcHJl
c3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRlci52YWx1ZSgpLCB2bm9kZUNv
dW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIgOiAiTm8iKTsKIH0KIAotc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5leHRQcmVzc3VyZVdhcm5pbmdJ
bnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2Fybmlu
Z0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhlIHZub2RlIHByZXNzdXJlIGhh
bmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0YXRpYyBjb25zdCBhdXRvIG1p
bmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMwIH07Ci0gICAg
YXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11
bVdhcm5pbmdJbnRlcnZhbCA9IFNlY29uZHMoMzApOworICAgIGF1dG8gdGltZVNpbmNlTGFzdFdh
cm5pbmcgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fbGFzdFdhcm5pbmdUaW1lOwogICAgIGlm
ICh0aW1lU2luY2VMYXN0V2FybmluZyA8IG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwpCi0gICAgICAg
IHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzPihtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmcpOwotICAg
IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMCB9OworICAgICAgICByZXR1cm4g
bWluaW11bVdhcm5pbmdJbnRlcnZhbCAtIHRpbWVTaW5jZUxhc3RXYXJuaW5nOworCisgICAgcmV0
dXJuIFNlY29uZHMoMCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1ZOb2RlVHJhY2tlci5oCmluZGV4IDFiMDExMGU4M2U3YTE2ZGE5NjQ4MDEzMDg1YWJm
ZTE4MjYwZjRhMjQuLjA0ZmIzNzk1ZDY1Yzc4NzUyOTNiOWM3YmRkZjM4NzAxNTNlYTFmMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oCkBAIC01Myw3ICs1Myw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGNoZWNrUHJlc3N1cmVTdGF0ZSgpOwogICAgIHZvaWQgcHJlc3N1
cmVXYXJuaW5nVGltZXJGaXJlZCgpOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbmV4
dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0UHJlc3N1
cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdDsKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXpl
KCk7CiAKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBQcmVzc3VyZUhhbmRsZXIgbV9w
cmVzc3VyZUhhbmRsZXI7CiAgICAgVk5vZGVDb3VudGVyIG1fdm5vZGVDb3VudGVyOwogICAgIFRp
bWVyIG1fcHJlc3N1cmVXYXJuaW5nVGltZXI7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX2xhc3RXYXJuaW5nVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFz
dFdhcm5pbmdUaW1lOwogfTsKIAogaW5saW5lIHZvaWQgVk5vZGVUcmFja2VyOjpzZXRQcmVzc3Vy
ZUhhbmRsZXIoUHJlc3N1cmVIYW5kbGVyIGhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggMTY3NjY5
YTIwNjA4NDhjYzY4MTJjZjQ2ZTQ3Nzg2NTk4ZTExNDNlOC4uMDc5NTEwZjFhOTIyYzA2NWY2M2Ew
YzdhMWNlODQyY2JlNTFmYWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1Rp
bWVyVGhyb3R0bGVEZWxheSA9IDAuMTsKK2NvbnN0IFNlY29uZHMga0NsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkgPSBTZWNvbmRzKDAuMSk7CiAKICNpZiAhTE9HX0RJU0FCTEVE
CiBzdGF0aWMgY29uc3QgY2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0
ZSBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tCmluZGV4IGNkNmZkYmUyMDk3YmJhNTc0NGQ4MWZhODhlNDcwOTRhY2EyNjI3MGMu
LjgwOThjZjg5YWNkMDIxMGRmYTkwNDE2YmJhZWYxZTA4ZTU4ZjIyMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNzYsNyAr
NzYsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcnViYmVyYmFuZE1pbmltdW1SZXF1aXJlZERlbHRh
QmVmb3JlU3RyZXRjaCA9IDEwOwogCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkgJiYgUExB
VEZPUk0oTUFDKQogc3RhdGljIGNvbnN0IGZsb2F0IGluZXJ0aWFsU2Nyb2xsUHJlZGljdGlvbkZh
Y3RvciA9IDE2Ljc7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxh
eSA9IDAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9
IFNlY29uZHMoMC41KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNDIxLDcgKzQy
MSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNv
bnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7
CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnVi
YmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2Ns
aWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNzKTsKIH0KQEAgLTYzNCw3ICs2MzQsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCkKIHsKICAgICBpZiAoIW1f
c2Nyb2xsU25hcFRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgbV9jbGllbnQuc3RhcnRTY3Jv
bGxTbmFwVGltZXIoKTsKLSAgICAgICAgbV9zY3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmco
MS4wIC8gNjAuMCk7CisgICAgICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNl
Y29uZHMoMS4wIC8gNjApKTsKICAgICB9CiAKICAgICBpZiAoIW1fc2Nyb2xsU25hcFRpbWVyLmlz
QWN0aXZlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2Nv
Y29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQppbmRl
eCA2YTUzZjEyMjkyMTlmNDhjZWM5NzIyODRkMmI1OWM3ZDhhMmE5ZDkwLi44M2EwNzEzMDEzYzdj
NjQwYmQ0NmVmYzNjZDYzMmE1MTE1ODc5YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJH
YW1lcGFkUHJvdmlkZXIubW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX01B
WV9GQUlMKEdhbWVDb250cm9sbGVyLCBHQ0NvbnRyb2xsZXJEaWREaXNjb25uZWN0Tm90aWZpY2F0
aW8KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMTZtczsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KDE2KTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9sbGVyR2Ft
ZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggMGQ4
YTc5YTA1MGQxOGFhODcwODllOTU4ZTgxMjE0ZTFjZGZiMTRlYi4uMzk3ZjQ2Nzg5ZTUzMmJhZWQ4
ZGNmNGM3NGQ5MzUyYWRkNjdkYTRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zNCw4ICsz
NCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBDb25u
ZWN0aW9uRGVsYXlJbnRlcnZhbCA9IDAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgSW5wdXROb3Rp
ZmljYXRpb25EZWxheSA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBDb25uZWN0aW9uRGVs
YXlJbnRlcnZhbCA9IFNlY29uZHMoMC41KTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIElucHV0Tm90
aWZpY2F0aW9uRGVsYXkgPSBTZWNvbmRzKDAuMDUpOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGlj
dGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwg
dWludDMyX3QgdXNhZ2UpCiB7CkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJv
dmlkZXI6OmRldmljZUFkZGVkKElPSElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5k
IHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAg
ICAgICAvLyBUaGUgbV9jb25uZWN0aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQg
c3BpbiBvZiB0aGUgcnVubG9vcCBhZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlv
biBldmVudHMgYXJlIGFjdHVhbCBuZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVs
YXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgICAgIExPRyhHYW1lcGFkLCAiRGV2aWNl
ICVwIHdhcyBhZGRlZCB3aGlsZSBzdXBwcmVzc2luZyBjYWxsYmFja3MsIHNvIHRoaXMgc2hvdWxk
IGJlIGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQiLCBkZXZpY2UpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggM2RiYTU2
MjNiYWRmYmJjZGM4ODIyZTM3YmZkMmRkZGU3NjQxZDU3Yy4uODRmZTU2NDNjNzAwYzI3OTdhYzU2
MWJmYmU0ODNjMGY1ZTVhNTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1h
Z2U6OmNsZWFyVGltZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQg
Qml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6
c3RhcnRUaW1lcihTZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsK
ICAgICBtX2ZyYW1lVGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1h
cEltYWdlOjphZHZhbmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFn
ZTo6U3RhcnRBbmltYXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRp
b24oKQogICAgIH0KIAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVy
KG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRz
KG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1h
dGlvblJlc3VsdDo6U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFw
SW1hZ2U6OmFkdmFuY2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhl
IHJlbWFpbmluZyB0aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGlt
ZS4KICAgICAgICAgaWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6
Om1heCh0aW1lLCBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0
VGltZXIobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAg
ICAgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3Rp
bmcgLSB0aW1lKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA4OTAz
MmRjYTRiMWI1MjQ4ZDRkNzk0YzllZDM1NDdjNTgwNjA1MmMzLi5lNWM5MmM0NjA4ODNkMjY2Mzc4
ZmQxNTliZTJlNDcwYzdhMzhiNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTE4NSw3ICsxODUsNyBAQCBwcm90ZWN0ZWQ6CiAKIHBy
aXZhdGU6CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJs
ZSBkZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wg
aXNCaXRtYXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lk
IGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0
NTljZjE1ZGM3ZmFlMDZjNjFiNjBjLi41NzFkNDgxMmEyM2RlOTBiNDFlMzE4MDE3YTFiZTRkYjcz
YThmNWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1v
cnlQcmVzc3VyZUluYWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6
OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
bnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250
RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRT
ZXR0aW5ncywgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdl
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMp
OworICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAg
Rm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1EYXRhID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0
YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MsIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSk7CiAgICAgaWYgKCFwbGF0Zm9ybURh
dGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCmluZGV4IDQ5MzE2ODZiMzE1MTI3NzE2MjUw
NDg4OGI3MTVlMjgxYTI3NTkyMDYuLmQ2YzEzZWUwODIzNjMxZGI4MjBmOTE1Zjk5NmI0N2FjN2Q0
NzIzNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBwZW5kaW5nQWN0aW9u
SW50ZXJ2YWwgPSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgcGVuZGluZ0FjdGlv
bkludGVydmFsID0gU2Vjb25kcygxLjAgLyAxMCk7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXI6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoQ2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2Ns
aWVudCgmY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCmluZGV4IDBkYzg4YzdkOTM0ZDE0YTNmNDRjZDgwNzRkMmY4YmJkZGYzNjM2
NzMuLjgxMDFiYWI0ODQwMDVmZjZjNWFmNzljM2FhZmM0YmVlMTM0NmZhMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTEwOTgs
NyArMTA5OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoKQogICAg
IGlmIChtX3ByaXZhdGUtPm5ldHdvcmtTdGF0ZSgpID49IEZvcm1hdEVycm9yICYmIG1fcHJpdmF0
ZS0+cmVhZHlTdGF0ZSgpIDwgSGF2ZU1ldGFkYXRhKSB7CiAgICAgICAgIG1fY2xpZW50Lm1lZGlh
UGxheWVyRW5naW5lRmFpbGVkVG9Mb2FkKCk7CiAgICAgICAgIGlmIChpbnN0YWxsZWRNZWRpYUVu
Z2luZXMoKS5zaXplKCkgPiAxICYmIChtX2NvbnRlbnRNSU1FVHlwZS5pc0VtcHR5KCkgfHwgbmV4
dEJlc3RNZWRpYUVuZ2luZShtX2N1cnJlbnRNZWRpYUVuZ2luZSkpKSB7Ci0gICAgICAgICAgICBt
X3JlbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fcmVsb2FkVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hh
ZG93Qmx1ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVy
LmNwcAppbmRleCA1MjNiM2FmNWQ3YmU3N2ZhMWRlNzY5ZThkYzEzMDc2ZDVmM2MyMTNmLi41ZmQ3
NjQ3YmQ3ZmIxNTViMGViMzEwMDUwZTU5MGFmMzlhMDk5MDgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcApAQCAtMTI0LDcgKzEyNCw3IEBA
IHB1YmxpYzoKICAgICAgICAgaWYgKG1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAg
ICAgbV9wdXJnZVRpbWVyLnN0b3AoKTsKIAotICAgICAgICBjb25zdCBkb3VibGUgc2NyYXRjaEJ1
ZmZlclB1cmdlSW50ZXJ2YWwgPSAyOworICAgICAgICBjb25zdCBTZWNvbmRzIHNjcmF0Y2hCdWZm
ZXJQdXJnZUludGVydmFsID0gU2Vjb25kcygyKTsKICAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0
T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
U2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmluZGV4IDZlZThi
YzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLmUyZTUzODA0OGU1OTQ4MTQ0ZjZm
YWQwYzNmMmM2YjYyYzEzYTIwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxl
Y3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1lZGlhU2VsZWN0
aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBjaGFy
YWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJyZWRPcHRpb24p
KTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJyZWRPcHRpb24p
OwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9u
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9i
akMqIG9wdGlvbikKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqCiAg
ICAgbV9zZWxlY3RlZE9wdGlvbiA9IG9wdGlvbjsKICAgICBpZiAobV9zZWxlY3Rpb25UaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICBtX3NlbGVjdGlvblRpbWVyLnN0b3AoKTsKLSAgICBtX3NlbGVj
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6
c2VsZWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggZmYy
OTk0ZmJhNjRhNzk4NjM2M2QyODNlZDRmNTI4ZGQ4ZTEzNjU2MS4uNjg5YzZmZTM2NDFhNGZkYjQ4
MjRiNzZjMGUzMDk1ZWIxNzZmMTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAt
MjI4LDcgKzIyOCw3IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGUoY29uCiAgICAgICAgIG91dHB1dENv
ZGVjcyA9IFtnZXRBVlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIG91dHB1dE1JTUVDb2RlY1BhcmFt
ZXRlckZvcklucHV0TUlNRUNvZGVjUGFyYW1ldGVyOm91dHB1dENvZGVjc107CiAKICAgICBOU1N0
cmluZyAqdHlwZVN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiJUA7IGNvZGVj
cz1cIiVAXCIiLCAoTlNTdHJpbmcgKilwYXJhbWV0ZXJzLnR5cGUsIChOU1N0cmluZyAqKW91dHB1
dENvZGVjc107Ci0gICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xhc3MoKSBpc1BsYXlhYmxlRXh0
ZW5kZWRNSU1FVHlwZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVyOjpJc1N1cHBvcnRlZCA6IE1l
ZGlhUGxheWVyOjpNYXlCZVN1cHBvcnRlZDs7CisgICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xh
c3MoKSBpc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlwZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVy
OjpJc1N1cHBvcnRlZCA6IE1lZGlhUGxheWVyOjpNYXlCZVN1cHBvcnRlZDsKIH0KIAogI3ByYWdt
YSBtYXJrIC0KQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UoY29uc3QgTWVkaWFUaW1lJiB0aQogCiAg
ICAgaWYgKG1fc2Vla1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2Vla1RpbWVyLnN0b3Ao
KTsKLSAgICBtX3NlZWtUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZWVrVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIw
NzIzNTAwMThhZGM0YmNkYjg0NWYuLjE5NTZmNjg1YTk2ZWE4MzAzODg0ZTlmNGM1NGIyMDQwNzVh
YjRlNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xh
eWVyUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5
ZXJQb29sLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBy
dW5lKCkKIHsKICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygxKSk7CiB9CiAKIHZvaWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQxMzJiMDQ4NmEzYTg3ZDJlZjNhMzc4OGEyNzk5YjYx
NGIzYTFlMmMuLmZhZWJjNjY1NTI5YjU4ZjRiNmM5NzYzNjA5MDg3NDIwNDkwNzAxMDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJv
bGxlci5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0
aWMgY29uc3QgYXV0byB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyB7IDUwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGlsZVNpemVVcGRhdGVEZWxheSA9
IFNlY29uZHMoMC41KTsKIAogU3RyaW5nIFRpbGVDb250cm9sbGVyOjp0aWxlR3JpZENvbnRhaW5l
ckxheWVyTmFtZSgpCiB7CkBAIC0yNjYsNyArMjY2LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6
c2V0SXNJbldpbmRvdyhib29sIGlzSW5XaW5kb3cpCiAgICAgaWYgKG1faXNJbldpbmRvdykKICAg
ICAgICAgc2V0TmVlZHNSZXZhbGlkYXRlVGlsZXMoKTsKICAgICBlbHNlIHsKLSAgICAgICAgY29u
c3QgZG91YmxlIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0ID0gNDsKKyAgICAgICAgY29uc3QgU2Vj
b25kcyB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCA9IFNlY29uZHMoNCk7CiAgICAgICAgIHNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0aW9uVGltZW91dCk7CiAgICAgfQogfQpA
QCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFn
ZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0CiAjZW5kaWYKIH0KIAot
dm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRl
cnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihTZWNv
bmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2
ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSA8IGludGVy
dmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRleCBjM2VlNDFlMDZiZDg4MjAwMzFlZDI5
MjEyODYxNWZlNzlkOTMzYWM4Li42ZDhjMjBjNDVhMzRmNGU3MjBiYzdjZWEwOTI1OTU4YmUwMTRh
YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICptX3RpbGVHcmlkOyB9CiAKLSAgICB2b2lk
IHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUgaW50ZXJ2YWwpOworICAgIHZvaWQgc2No
ZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0lu
V2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2luZG93OyB9CiAgICAgZmxvYXQgdG9wQ29u
dGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAu
Y3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFhZjAzYzk4OThmZmJiMTcxNWMuLjg4ZGI3
MTBiMmY5YmNjMjc5NzBlYWMwYTdkOTNlZmRiNjViNzA0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcApAQCAt
NzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5UaWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBU
aWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFRpbGVDb3ZlcmFnZU1hcDo6dXBkYXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKaW5kZXggMjhmMjljYmRlOGUyMWY3
MTgwMWI4ODYyMjc5NTYxZWY5MjJmYTFjMS4uMzJiMGVhZDI4MmY0NTYyYjRkMWJkYmFjZTAwZGQx
YTU0ZTEyYThhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgVGlsZUdyaWQ6OnJldmFsaWRh
dGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9uUG9saWN5KQogICAgIFRpbGVD
b2hvcnQgY3VyckNvaG9ydCA9IG5leHRUaWxlQ29ob3J0KCk7CiAgICAgdW5zaWduZWQgdGlsZXNJ
bkNvaG9ydCA9IDA7CiAKLSAgICBkb3VibGUgbWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRp
b24gPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpOworICAgIFNlY29uZHMgbWlu
aW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBTZWNvbmRzOjppbmZpbml0eSgpOwogICAg
IGJvb2wgbmVlZHNUaWxlUmV2YWxpZGF0aW9uID0gZmFsc2U7CiAgICAgCiAgICAgYXV0byB0aWxl
U2l6ZSA9IG1fY29udHJvbGxlci50aWxlU2l6ZSgpOwpAQCAtMzgxLDggKzM4MSw4IEBAIHZvaWQg
VGlsZUdyaWQ6OnJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9u
UG9saWN5KQogICAgICAgICAgICAgICAgIGZvciAoYXV0byYgY29ob3J0IDogbV9jb2hvcnRMaXN0
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjb2hvcnQuY29ob3J0ICE9IHRpbGVJbmZvLmNv
aG9ydCkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAg
ICAgICBkb3VibGUgdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBp
cmF0aW9uKCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVz
ID4gMCkgeworICAgICAgICAgICAgICAgICAgICBTZWNvbmRzIHRpbWVVbnRpbENvaG9ydEV4cGly
ZXMgPSBjb2hvcnQudGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAgICAgICAgICAgICAgICBp
ZiAodGltZVVudGlsQ29ob3J0RXhwaXJlcyA+IFNlY29uZHMoMCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uID0gc3RkOjptaW4obWlu
aW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24sIHRpbWVVbnRpbENvaG9ydEV4cGlyZXMpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgbmVlZHNUaWxlUmV2YWxpZGF0aW9uID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlCkBAIC00NzgsNyArNDc4LDcgQEAgVGlsZUdyaWQ6OlRp
bGVDb2hvcnQgVGlsZUdyaWQ6Om5leHRUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3Jp
ZDo6c3RhcnRlZE5ld0NvaG9ydChUaWxlQ29ob3J0IGNvaG9ydCkKIHsKLSAgICBtX2NvaG9ydExp
c3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9ydCwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCkpKTsKKyAgICBtX2NvaG9ydExpc3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9ydCwg
TW9ub3RvbmljVGltZTo6bm93KCkpKTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKCFtX2Nv
bnRyb2xsZXIuaXNJbldpbmRvdygpKQogICAgICAgICB0aWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXIoKS50aWxlQ29udHJvbGxlckdhaW5lZFVucGFyZW50ZWRUaWxlcygmbV9jb250cm9sbGVyKTsK
QEAgLTQ5NywxNyArNDk3LDE3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpvbGRl
c3RUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3JpZDo6c2NoZWR1bGVDb2hvcnRSZW1v
dmFsKCkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyA9IDE7
CisgICAgY29uc3QgU2Vjb25kcyBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzID0gU2Vjb25kcygx
KTsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciwgb3IgcmVzY2hlZHVsZSB0aGUgdGltZXIgZnJv
bSBub3cgaWYgaXQncyBhbHJlYWR5IGFjdGl2ZS4KICAgICBpZiAoIW1fY29ob3J0UmVtb3ZhbFRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0YXJ0UmVwZWF0
aW5nKGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMpOwogfQogCi1kb3VibGUgVGlsZUdyaWQ6OlRp
bGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKK1NlY29uZHMgVGlsZUdyaWQ6OlRp
bGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKIHsKLSAgICBkb3VibGUgY29ob3J0
TGlmZVRpbWVTZWNvbmRzID0gMjsKLSAgICBkb3VibGUgdGltZVRocmVzaG9sZCA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gY29ob3J0TGlmZVRpbWVTZWNvbmRzOworICAgIGNvbnN0
IFNlY29uZHMgY29ob3J0TGlmZVRpbWUgPSBTZWNvbmRzKDIpOworICAgIE1vbm90b25pY1RpbWUg
dGltZVRocmVzaG9sZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gY29ob3J0TGlmZVRpbWU7CiAg
ICAgcmV0dXJuIGNyZWF0aW9uVGltZSAtIHRpbWVUaHJlc2hvbGQ7CiB9CiAKQEAgLTUxOCw3ICs1
MTgsNyBAQCB2b2lkIFRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCgpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICB3aGlsZSAoIW1fY29ob3J0TGlzdC5pc0VtcHR5KCkgJiYg
bV9jb2hvcnRMaXN0LmZpcnN0KCkudGltZVVudGlsRXhwaXJhdGlvbigpIDwgMCkgeworICAgIHdo
aWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1l
VW50aWxFeHBpcmF0aW9uKCkgPCBTZWNvbmRzKDApKSB7CiAgICAgICAgIFRpbGVDb2hvcnRJbmZv
IGZpcnN0Q29ob3J0ID0gbV9jb2hvcnRMaXN0LnRha2VGaXJzdCgpOwogICAgICAgICByZW1vdmVU
aWxlc0luQ29ob3J0KGZpcnN0Q29ob3J0LmNvaG9ydCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKaW5kZXggMzI1MzM2ZjgxOTFlNDU4
MjNjNzU1ZDg3ODJjNDJhYTBkZTU3NjUxZC4uNDI2OTM3NzRiYTRmMWM1YWI0Y2QzNGUyOGEzMjdm
ZWU5OGFlMGM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlR3JpZC5oCkBAIC0xMjEsMTMgKzEyMSwxMyBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFRp
bGVDb2hvcnRJbmZvIHsKICAgICAgICAgVGlsZUNvaG9ydCBjb2hvcnQ7Ci0gICAgICAgIGRvdWJs
ZSBjcmVhdGlvblRpbWU7IC8vIGluIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLgotICAg
ICAgICBUaWxlQ29ob3J0SW5mbyhUaWxlQ29ob3J0IGluQ29ob3J0LCBkb3VibGUgaW5UaW1lKQor
ICAgICAgICBNb25vdG9uaWNUaW1lIGNyZWF0aW9uVGltZTsKKyAgICAgICAgVGlsZUNvaG9ydElu
Zm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgTW9ub3RvbmljVGltZSBpblRpbWUpCiAgICAgICAgICAg
ICA6IGNvaG9ydChpbkNvaG9ydCkKICAgICAgICAgICAgICwgY3JlYXRpb25UaW1lKGluVGltZSkK
ICAgICAgICAgeyB9CiAKLSAgICAgICAgZG91YmxlIHRpbWVVbnRpbEV4cGlyYXRpb24oKTsKKyAg
ICAgICAgU2Vjb25kcyB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CiAgICAgfTsKIAogICAgIHZvaWQg
cmVtb3ZlQWxsVGlsZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKaW5kZXggYjgxZDU4ZTYzZDE4YjI2YWY0ZGIxNGZh
NWMzYThhMGZlMGJmZjE0OC4uMzJmMjI1NzUyNWFhYzI0ZTk1NmFiOGZkM2I0MTg1YTYwOWVlN2Y4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJm
YWNlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9T
dXJmYWNlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKICNpbmNsdWRlIDxjaHJvbm8+CiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgY29sbGVjdGlvbkludGVydmFsID0gNTAwbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6c2Vj
b25kcyBzdXJmYWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJzOworY29uc3QgU2Vjb25k
cyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSBTZWNvbmRzKDAuNSk7Citjb25zdCBTZWNvbmRzIHN1cmZh
Y2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxlID0gU2Vjb25kcygyKTsKIGNvbnN0IHNpemVfdCBk
ZWZhdWx0TWF4aW11bUJ5dGVzQ2FjaGVkID0gMTAyNCAqIDEwMjQgKiA2NDsKIAogLy8gV2UnbGwg
bmV2ZXIgYWxsb3cgbW9yZSB0aGFuIDEvMiBvZiB0aGUgY2FjaGUgdG8gYmUgZmlsbGVkIHdpdGgg
aW4tdXNlIHN1cmZhY2VzLCBiZWNhdXNlCkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBJT1N1cmZh
Y2VQb29sOjpjb2xsZWN0SW5Vc2VTdXJmYWNlcygpCiBib29sIElPU3VyZmFjZVBvb2w6Om1hcmtP
bGRlclN1cmZhY2VzUHVyZ2VhYmxlKCkKIHsKICAgICBib29sIG1hcmtlZEFsbFN1cmZhY2VzID0g
dHJ1ZTsKLSAgICBhdXRvIG1hcmtUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93
KCk7CisgICAgYXV0byBtYXJrVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgZm9y
IChhdXRvJiBzdXJmYWNlQW5kRGV0YWlscyA6IG1fc3VyZmFjZURldGFpbHMpIHsKICAgICAgICAg
aWYgKHN1cmZhY2VBbmREZXRhaWxzLnZhbHVlLmhhc01hcmtlZFB1cmdlYWJsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaAppbmRl
eCAzNDlhM2JjM2QyN2M1NDY5NmQ3YjViNTYzOTVmM2YzZTJmMjdmM2M0Li45ODIxYTRmZjA5NzEw
MGY1NWUxYmYzYzQ4MjAwNmViYzk0ZmUxMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCkBAIC02Myw5ICs2Myw5IEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICA6IGhhc01hcmtlZFB1cmdlYWJsZShmYWxzZSkKICAgICAgICAg
eyB9CiAKLSAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0VXNlVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOyB9CisgICAgICAgIHZvaWQgcmVzZXRMYXN0
VXNlVGltZSgpIHsgbGFzdFVzZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsgfQogCi0gICAg
ICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbGFzdFVzZVRpbWU7Cisg
ICAgICAgIE1vbm90b25pY1RpbWUgbGFzdFVzZVRpbWU7CiAgICAgICAgIGJvb2wgaGFzTWFya2Vk
UHVyZ2VhYmxlOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKaW5kZXggNGZh
Zjc3ZTI1NGUyYWFjNDA4YjRlODM2M2Y0OGUzZWQyMzBmZmQ3Ni4uYzEyNzYwODkzNzNhN2U0Mzgx
MGU0NDhjYmM1MTg1ZWU2OTE2OWZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKQEAg
LTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0
byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMSB9Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgPSBTZWNvbmRzKDEp
Owogc3RhdGljIGNvbnN0IGludCBtYXhTdWJpbWFnZUNhY2hlU2l6ZSA9IDMwMDsKIAogc3RydWN0
IFN1YmltYWdlUmVxdWVzdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCmluZGV4IGZlYWRkZGRhOGRjNDY0OTU2ZDU0MDUyZTA1YWRhNzcwNmQ0ODNm
OTEuLmNiZGE3ODcwZmE3YzUzMDE5ZTY0MWMzMzRhNmEwNGI5YjQ2OGU5OGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0xODU4LDcgKzE4
NTgsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZm
ZXJpbmcoKQogICAgIGlmIChzaG91bGREb3dubG9hZCkgewogICAgICAgICBHU1RfREVCVUcoIkVu
YWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVs
aW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyB8IGZsYWdEb3dubG9hZCwgbnVsbHB0cik7Ci0gICAg
ICAgIG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMik7CisgICAgICAgIG1fZmlsbFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4yKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgR1NU
X0RFQlVHKCJEaXNhYmxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rf
c2V0KG1fcGlwZWxpbmUuZ2V0KCksICJmbGFncyIsIGZsYWdzICYgfmZsYWdEb3dubG9hZCwgbnVs
bHB0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZS5jcHAKaW5kZXggOTY5MzY5YTM1ZTc5NzE1OThlY2YxOGVmOWYyNDgwOTFmYjVjZDU2OC4u
NzVkMmE2Y2M4YTVmMzE3YmM4Y2JkMjBmYzE3MTE4Y2UwYmI0NzgxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtNjUzLDcg
KzY1Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJl
cGFpbnQoR3N0U2FtcGxlKiBzYW1wbGUpCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RI
UkVBREVEKQogICAgIGlmICghbV9wbGF5ZXItPmNsaWVudCgpLm1lZGlhUGxheWVyQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSkgewogICAgICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2Ry
YXdNdXRleCk7Ci0gICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICBtX2RyYXdDb25k
aXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzUs
NyArNjc1LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2Vy
UmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQo
KSk7CiAKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBt
X2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQobV9kcmF3TXV0
ZXgpOwogICAgIH0KICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCmluZGV4
IGQxODFlY2YwMTc4Y2UyYTU3ZGYyMWIxNTIxYzA0MWY2YjcyNzk5MjguLjc2MDk2OGJjZmZlN2Y2
MWE1YzY1NmY0NWYxYjJiNDM2YWU3NzdlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFt
ZXIuY3BwCkBAIC0xMTksNyArMTE5LDcgQEAgcHVibGljOgogICAgICAgICBtX3NhbXBsZSA9IG51
bGxwdHI7CiAjZWxzZQogICAgICAgICBtX3NpbmsgPSBzaW5rOwotICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiAgICAgICAgIG1fZGF0YUNvbmRpdGlvbi53YWl0KG1fc2FtcGxlTXV0ZXgpOwogI2VuZGlmCiAg
ICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCmluZGV4IDk2
OGEyZDg4YjY1MWJjYmIyMzA2MjI3MTMzZGY1NjBjMWVmMmZiNGYuLmRlNjQ0MDI5ODllNzgwZDg1
MGNmZTAzODkxZDA5NGY1NzIwMGI2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0K
QEAgLTY0Nyw3ICs2NDcsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzZWVrKGNv
bnN0IE1lZGlhVGltZSYgaW5UaW1lKQogICAgIGlmIChtYXhNZWRpYVRpbWVTZWVrYWJsZSgpID49
IG1fc2Vla1RvKQogICAgICAgICBkb1NlZWsoKTsKICAgICBlbHNlIAotICAgICAgICBtX3NlZWtU
aW1lci5zdGFydCgwLCAwLjVmKTsKKyAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoU2Vjb25kcygw
KSwgU2Vjb25kcygwLjUpKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6ZG9T
ZWVrKCkgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5j
cHAKaW5kZXggNWUzYzgyZjFmMzNhZDUyOTI1MDY2ODk2YzljMjE0YTMzYmY4YjMwNS4uNGRjZmVl
ODNhZmIyODg1NWJlZTRjM2E5NTY2ZTRiOTA4OGRkYzcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVy
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2lu
Y2x1ZGUgIlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyLmgiCiAKIGNvbnN0IGRvdWJs
ZSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMTsKLWNvbnN0IGRvdWJsZSBzX3Jl
bGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgc19y
ZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDAuNSk7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMTYzLDcgKzE2Myw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBs
YXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRhdGVPbkNvbXBvc2l0b3JUaHJlYWQoc3RkOjpm
dW5jCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0
ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRhdGVGdW5jdGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhy
ZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRV
cGRhdGVUaW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIHJldHVybiB0cnVlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwCmluZGV4IDVkNzQ0ZDI1MjljMjAwN2JkZTBlODk5MTQwMDBmMDU3YjcxZDM3ZmMu
LjNhMTgxOWIzMmRjMTZiMDdkMmY2ZjQyOTdmOWFiZTJhMzc1NjcyOGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0x
MjAwLDcgKzEyMDAsNyBAQCBib29sIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0
aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsCiAKICAgICBtX2xhc3RBbmlt
YXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGRlbGF5QXNO
ZWdhdGl2ZVRpbWVPZmZzZXQ7CiAgICAgbV9hbmltYXRpb25zLmFkZChUZXh0dXJlTWFwcGVyQW5p
bWF0aW9uKGtleWZyYW1lc05hbWUsIHZhbHVlTGlzdCwgYm94U2l6ZSwgKmFuaW0sIGxpc3RzTWF0
Y2gsIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSwgMCwgVGV4dHVyZU1hcHBlckFuaW1hdGlvbjo6
QW5pbWF0aW9uU3RhdGU6OlBsYXlpbmcpKTsKLSAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9hbmltYXRpb25TdGFydGVkVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogICAgIGRpZENoYW5nZUFuaW1hdGlvbnMoKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmlt
YXRvckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JH
dGsuY3BwCmluZGV4IDEzZTYzNTRiMDkyNjEzNGQ4N2Y5ZmMwOWRmY2YxMjJhYzE5N2NkNWUuLjgx
OTI2ZDJjMmJmOGU1ZTkyNjk4NzdiODcyZGNjZWQyZWNlMTZlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcApAQCAtMTkxLDcgKzE5
MSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25U
aW1lckZpcmVkKCkKICAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBm
cmFtZVJhdGU7CiAgICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVRpbWVySW50ZXJ2
YWwgPSAuMDAxOwogICAgICAgICBkb3VibGUgZGVsdGFUb05leHRGcmFtZSA9IHN0ZDo6bWF4KHRp
Y2tUaW1lIC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gY3VycmVudFRpbWUpLCBt
aW5pbXVtVGltZXJJbnRlcnZhbCk7Ci0gICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
blRpbWVyLnN0YXJ0T25lU2hvdChkZWx0YVRvTmV4dEZyYW1lKTsKKyAgICAgICAgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoZGVsdGFUb05leHRG
cmFtZSkpOwogICAgIH0gZWxzZQogICAgICAgICBoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKTsKIH0K
QEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNj
cm9sbGJhcnMoKQogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgIT0g
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewogICAgICAgICBtX292ZXJsYXlT
Y3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSA9IG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkR1cmF0aW9uOwotICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92ZXJsYXlT
Y3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0
azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OwogICAgIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25T
dGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbiArIG92ZXJmbG93
U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmlt
YXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURl
bGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkpKTsKIH0KIAogdm9p
ZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29udGVudEFyZWEoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggYjBiN2JmZGEy
ZGI4MWVlZjc0MWNmNjY0M2MxMGY4MGVmN2QyOWVmMy4uOTcyMjgyODdiZDYxYTRiNTkyMTgyZjNm
NWM3ZGQ3YjFkOTRjMzc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVn
YWN5VGlsZUNhY2hlLm1tCkBAIC00MjAsNyArNDIwLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6
OmZpbmlzaGVkQ3JlYXRpbmdUaWxlcyhib29sIGRpZENyZWF0ZVRpbGVzLCBib29sIGNyZWF0ZU1v
cmUKIAogICAgIC8vIEtlZXAgY3JlYXRpbmcgdGlsZXMgdW50aWwgdGhlIHdob2xlIGNvdmVyUmVj
dCBpcyBjb3ZlcmVkLgogICAgIGlmIChjcmVhdGVNb3JlKQotICAgICAgICBtX3RpbGVDcmVhdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3Jl
YXRpb25UaW1lckZpcmVkKCkKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNo
ZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAg
ICAgcmV0dXJuOwogICAgIG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQgPSBlbmFi
bGVkOwogICAgIGlmIChtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKQotICAgICAg
ICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3Jl
YXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJvb2wgTGVnYWN5VGls
ZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1NmQ0MDYwN2Y1NjNhNmNlNTk4ZTI5
YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBmYzBmZmY2OGQ1M2Q0MzQ3YTA3NGIx
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVt
ZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlP
Uy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIHN1cHBvcnRzQ29u
dHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgZG91Ymxl
IGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRv
c2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxh
Y2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUyMGJlZjU0OGY1NDAyMDNhOWE2YTNj
Nzc3ZDgxNmRhYTUwOTkwLi41YjAwNWM1MDExMzYzYWNiOWJlOGVhYTdmYmUyZWZjOGEyMzBjMzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJ
T1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9T
Lm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJhclRoZW1lSU9TOjpzY3JvbGxiYXJU
aGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWRvdWJs
ZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29u
ZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0g
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKLWRvdWJsZSBTY3JvbGxi
YXJUaGVtZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVt
ZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVy
biBTZWNvbmRzKDApOwogfQogICAgIAogU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBTY3JvbGxi
YXJUaGVtZUlPUzo6YnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQubW0KaW5kZXggY2M2MmUzYTg4NGFlZjI5NTE5N2UyYmI3NmJiMGZhN2VjMzA3MGJhMS4u
NDZjYzAxMGVhNjM4NDkyMjJkYzA5YTEzYjkxY2JjYTVmMWZkNDNiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5tbQpAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9v
bFN0cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1
bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVs
dFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMSk7CiAKIEBjbGFzcyBXZWJBVk1lZGlh
U2VsZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKFdlYlZp
ZGVvRnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVlbk1vZGUo
SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAgICBp
ZiAoIW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIu
c3RhcnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dh
dGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwog
CiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IGFjN2Y0ZmQ0YTk4NGRjMzFkZGQ0ZmM4MGIxNjkz
NDE1MTkwMjUwOTUuLjRmMjkxYTg3Y2JlZmVmYmVhMWM3ZWQ4ZDRkZDExZDdjMzIyODdmYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0K
QEAgLTEzMzgsNyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9s
bGVyU3R5bGUoKQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50
VGltZXIoKQogewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90
KDAuMSk7CisgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwLjEpKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRU
aW1lcklzQWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xsQW5p
bWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIGRl
bHRhKQogICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsK
IAogICAgIGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAKICAgICBpZiAobV93aGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAgICAgICAgIG1fd2hl
ZWxFdmVudFRlc3RUcmlnZ2VyLT5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8
V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBX
aGVlbEV2ZW50VGVzdFRyaWdnZXI6OkNvbnRlbnRTY3JvbGxJblByb2dyZXNzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKaW5kZXggYTcyODI5
OGM4ZWJiNWM1NTU0N2Q2ZDNjYmQ4ZDVlMTQ3NDBhNGU4Yy4uN2VhYTkxMWJiOTJiMDhmMDFiN2Q5
OTI2NmQwMTNhNDc2YzdkZDViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbGJhclRoZW1lTWFjLmgKQEAgLTQ4LDggKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQg
dXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgdXBkYXRl
U2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYpICBvdmVycmlkZTsKIAotICAgIGRvdWJs
ZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUgYXV0
b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVs
YXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1Bs
YWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KaW5kZXggYjJlMTYxOGMwMzJmYjdjNjVmMWZlMTkx
N2YyMDRlMjk2NzRjMzg5Zi4uZjljZDA1NzhhYWRiOTdhODE0MDFiYmY5MTc0MGNhNmIzNDJlYzM2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1l
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1h
Yy5tbQpAQCAtMTMwLDggKzEzMCw4IEBAIHN0YXRpYyBjb25zdCBpbnQgY0J1dHRvbkxlbmd0aFtd
ID0geyAxNCwgMTAgfTsKIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9uTGVuZ3RoW10gPSB7
IDE2LCAxNCB9OyAvLyBUaGUgb3V0ZXIgYnV0dG9uIGluIGEgZG91YmxlIGJ1dHRvbiBwYWlyIGlz
IGEgYml0IGJpZ2dlci4KIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9uT3ZlcmxhcCA9IDI7
CiAKLXN0YXRpYyBmbG9hdCBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41ZjsKLXN0YXRpYyBmbG9h
dCBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gMC4wNWY7CitzdGF0aWMgU2Vjb25kcyBnSW5pdGlh
bEJ1dHRvbkRlbGF5ID0gU2Vjb25kcygwLjUpOworc3RhdGljIFNlY29uZHMgZ0F1dG9zY3JvbGxC
dXR0b25EZWxheSA9IFNlY29uZHMoMC4wNSk7CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGlj
ayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwog
CkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXND
aGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVs
dHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwogICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0g
ICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xs
ZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMg
ZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0
b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRv
bkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0
cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRy
YWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhh
dmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Nyb2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3Nywx
MiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJs
YXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkoKQogewogICAgIHJldHVybiBnSW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3Vi
bGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Ny
b2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1
dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMw
NTU2MWM3YzFkNjA2N2FkZWM1MTU5ZjIzNTQuLjE2ZDI5NjJiNDY0ZjcwZjAyNGE4ZjIyNTFjYjNk
OWE1OGI2MjMwZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2
aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmlj
ZU1vdGlvbkNsaWVudE1vY2s6OnNldE1vdGlvbihQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+
IG1vdGlvbikKIHsKICAgICBtX21vdGlvbiA9IG1vdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5n
ICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBE
ZXZpY2VNb3Rpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNw
cAppbmRleCBhZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhkNjEwMWMyLi40MmYwM2Nk
NTA0NjhiYmI5Y2YxYzRhM2Y3ZjRkZjE5ODNjYzJjZGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2su
Y3BwCkBAIC01OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjpz
ZXRPcmllbnRhdGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0CiB7CiAgICAgbV9v
cmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggYjdjZmI5YmUw
NmRjYmZmYzdjMTZiM2NmZTc0NjUwMTMwZmE3MDBlNS4uMWUxMWQ1Njg5ODM3ZmE4NmY0OWMxNDNh
MWQ5MzUzOTgyMDM5YjE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQg
R2VvbG9jYXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZVBlcm1pc3Npb24oKQogewogICAgIEFT
U0VSVChtX3Blcm1pc3Npb25TdGF0ZSAhPSBQZXJtaXNzaW9uU3RhdGVVbnNldCk7CiAgICAgaWYg
KCFtX3Blcm1pc3Npb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Blcm1pc3Npb25UaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVybWlzc2lvblRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OnBlcm1pc3Np
b25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50
TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBBU1NFUlQobV9jb250cm9sbGVy
KTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVyVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Nv
bnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgR2VvbG9j
YXRpb25DbGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2suY3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5NmI3YTk1ZTIxMDY2MDQ5NTEyZmUyZjI1NWIu
LjlmM2UxZTg2NzVhMzQ1YjM4OGI0NDAxNjFkNTcyMGZkY2QwZWIwZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlck1vY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGltZXJJbnRl
cnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0g
U2Vjb25kcygxLjAgLyAxMCk7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrOjpNZWRp
YVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jayhNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpDbGll
bnQmIGNsaWVudCkKICAgICA6IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoY2xpZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcApp
bmRleCA2MGJiMDE4MWFlOGNkM2I3N2I4OWVkZjQ5YTM2NTM4NGYyZTBkZTU5Li4yNzg2ZDQ2ZWVl
ZTZhYjg4OTk1YWZkY2Y2YWMxYWU5NzA0ZDE0NmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcApAQCAtMjQ1LDcgKzI0NSw3IEBA
IHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMoKQogICAg
IC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJv
dmUgb3JkZXIKICAgICBtX2Zha2VJY2VDYW5kaWRhdGVzLnJldmVyc2UoKTsKIAotICAgIG1faWNl
Q2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNlQ2FuZGlkYXRlVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojpp
Y2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKQEAgLTI1NSw3ICsyNTUsNyBAQCB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50OjppY2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKIAogICAgIGlmICghbV9mYWtlSWNl
Q2FuZGlkYXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jbGllbnQuZ290SWNlQ2FuZGlkYXRl
KG1fbWlkc1swXSwgbV9mYWtlSWNlQ2FuZGlkYXRlcy50YWtlTGFzdCgpKTsKLSAgICAgICAgbV9p
Y2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1faWNlQ2FuZGlkYXRl
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2Ns
aWVudC5kb25lR2F0aGVyaW5nQ2FuZGlkYXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5
NCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQog
ICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUg
YWJvdmUgb3JkZXIKICAgICBtX2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAK
LSAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5z
cG9ydFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFF
bmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCkBAIC0zMDUsNyArMzA1LDcgQEAgdm9p
ZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCiAgICAgYXV0byBz
dGF0ZUNoYW5nZSA9IG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnRha2VMYXN0KCk7CiAgICAg
bV9jbGllbnQuaWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKHN0YXRlQ2hhbmdlLmZpcnN0LCBzdGF0
ZUNoYW5nZS5zZWNvbmQpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCkBA
IC0zMjAsNyArMzIwLDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291
cmNlc0J5TWlkKCkKICAgICBmb3IgKGludCBpID0gbV9taWRzLnNpemUoKSAtIDE7IGkgPj0gMDsg
LS1pKQogICAgICAgICBtX21pZHNPZlNvdXJjZXNUb1VubXV0ZS5hcHBlbmQobV9taWRzW2ldKTsK
IAotICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdW5tdXRlVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1
bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBv
aW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRNdXRlZChmYWxzZSk7
CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHkoKSkKLSAgICAgICAg
bV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5tdXRlVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291
cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2UuY3BwCmluZGV4IGVmOTcyNzZhNDQzNDJhYmM1Yzc1YWVhNGUzNjE3MTQ0MWI0Y2RjNmUu
LjY0YTM1YTZkMjdiY2U5NWM2NTliYzU5MWJlNTA5MDRiYTgxMzYwZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2Uu
Y3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0
UHJvZHVjaW5nRGF0YSgpCiAgICAgfQogCiAgICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMobHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKTsKKyAgICBtX3RpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoKGxyb3VuZCgxMDAwIC8g
ZnJhbWVSYXRlKCkpKSkpOwogfQogCiB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9w
UHJvZHVjaW5nRGF0YSgpCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3Vy
Y2UKIGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSBy
YXRlKQogewogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3Rh
cnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUp
KSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CiAKICAgICB1cGRhdGVTYW1wbGVCdWZmZXIoKTsK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKaW5kZXggZjNiYzcx
YzBmNzMzZDI4MzNlYzM0ODVlODk0OTQ0OGQzOGRkM2YxMS4uMjdiZGFlMmI1Y2NlMmM4NDRiYjEz
ZGU3MGM5OTRhMzUwYzgzNmVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKQEAgLTY4
LDcgKzY4LDcgQEAgdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWsoUmVm
UHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmMKICAgICBjbGllbnQoKS0+Ym91bmRh
cnlFdmVudE9jY3VycmVkKCptX3V0dGVyYW5jZSwgU3BlZWNoU2VudGVuY2VCb3VuZGFyeSwgbV91
dHRlcmFuY2UtPnRleHQoKS5sZW5ndGgoKSk7CiAKICAgICAvLyBHaXZlIHRoZSBmYWtlIHNwZWVj
aCBqb2Igc29tZSB0aW1lIHNvIHRoYXQgcGF1c2UgYW5kIG90aGVyIGZ1bmN0aW9ucyBoYXZlIHRp
bWUgdG8gYmUgY2FsbGVkLgotICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hv
dCguMSk7CisgICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MC4xKSk7CiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OmNhbmNlbCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNl
ZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9j
ay5oCmluZGV4IGRlMGU4YTlmZDY1OTZiMmUyYWI3MzcwMzA0N2RlNWVkMzdmZmVjYWMuLjA2NmQ2
ZTMzNTIzZGQ0MjJiZTlhNDNhZGExMDk0ZTliYzZhMTkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCkBAIC02Myw3ICs2Myw3
IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3RpbWVyKCp0aGlzLCAmVGltZXJFdmVudDo6dGltZXJG
aXJlZCkKICAgICAgICAgLCBtX25vdGlmaWVyKG5vdGlmaWVyKQogICAgIHsKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMC41KTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwLjUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRl
eCA1ODc3M2FhMzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi45NjIzMGZlMTc0NDky
MTNmNjI0MGExOGVhZTg3M2M2NjY1OWFjNTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRp
YXRlbHkgPSA0OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25n
IGJlZm9yZSBzZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkg
PSBTZWNvbmRzKDEpOwogCiAvLyBTZW5kaW5nIG1hbnkgRE5TIHJlcXVlc3RzIGF0IG9uY2UgY2Fu
IG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBTZWUgPHJkYXI6Ly84MTA1NTUwPiBmb3Igc3BlY2lm
aWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0IHRocm90dGxpbmcuCiBzdGF0aWMgY29uc3QgaW50
IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBj
b25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsKIHN0YXRpYyBjb25zdCBpbnQg
Z01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0OwogCiAvLyBJZiB0aGVyZSB3ZXJlIHF1ZXVlZCBuYW1l
cyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2ltdWx0YW5lb3VzbHksIGNoZWNrIHRoZSBzdGF0ZSBv
ZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ1JldHJ5
UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgcmV0cnlSZXNv
bHZpbmdEZWxheSA9IFNlY29uZHMoMC4xKTsKIAogRE5TUmVzb2x2ZVF1ZXVlJiBETlNSZXNvbHZl
UXVldWU6OnNpbmdsZXRvbigpCiB7CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBETlNSZXNvbHZl
UXVldWU6OmFkZChjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQogICAgIGlmIChtX25hbWVzLnNpemUo
KSA8IGdNYXhSZXF1ZXN0c1RvUXVldWUpIHsKICAgICAgICAgbV9uYW1lcy5hZGQoaG9zdG5hbWUp
OwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KGNvYWxlc2NlRGVsYXkpOwogICAgIH0KIH0KIApAQCAtMTIyLDcgKzEy
Miw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKCkKICAgICB9CiAKICAgICBp
ZiAoIW1fbmFtZXMuaXNFbXB0eSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnUmV0
cnlSZXNvbHZpbmdJblNlY29uZHMpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChyZXRy
eVJlc29sdmluZ0RlbGF5KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAppbmRleCBh
YmZiNDZjZWNmODIxNDNiOWZmYWNkMDFiZTU3ODZhNTNhMDA4ZWMwLi4zMzBjNmRiNGVmYmIzN2Ey
ZmMxZjg0Nzk4YzQzZmU4YTlkNTljYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcApAQCAtNzksNyArNzksNyBAQCBwcml2YXRl
OgogICAgICAgICByZWYoKTsKIAogICAgICAgICBhdXRvIHNjaGVkdWxlZFBhaXJzID0gbV9kZWNv
ZGVUYXNrLT5zY2hlZHVsZUNvbnRleHQuc2NoZWR1bGVkUGFpcnM7Ci0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICAgICAgICAgbV90aW1lci5zY2hlZHVsZShzY2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYy
YmY5NjAwNjNlNzAzZjhjM2YwYjhkMDExZjJiYjljYjFiZDEuLjNmZjAwZjJiMTJmMDY3MjAyZWIy
YzMzNTU4YThjYjEwOWZlYjUxNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJ
ZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5k
IGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBp
biBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAg
ICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyg2MDAwMCkpOwogICAgIH0K
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5jcHAKaW5kZXggNDc3M2RlZDdmNGUxZTc4NDE5Zjg0ZmY0NjE4YTVkOWY1YjVm
YTZlOS4uYTAxNDM3Y2I0ODk4YzAwNTc3NmZhMzcyYWFhNzNmZTk0ZTQxNmE1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKQEAg
LTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IFJlc291cmNlSGFuZGxlOjpj
cmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0CiB2b2lkIFJlc291cmNlSGFu
ZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKIHsKICAgICBkLT5tX3NjaGVk
dWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCgpCkBAIC0yNTgsNyAr
MjU4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVy
cykKICAgICAgICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0b3AoKTsKICAgICB9IGVsc2UgaWYg
KGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKSB7CiAgICAgICAgIEFTU0VS
VCghZC0+bV9mYWlsdXJlVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIGQtPm1fZmFpbHVyZVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIHBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhk
ZWZlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
TmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCmluZGV4IDU1YWRlMjE4YzEzODg4
YzBjYzI2ZWJlY2I3OTI2M2RjYTcwMDkxNmQuLjJiNDExZWE2Yzg0ZGRjN2VjOTNjNTBiNjk4ZTM2
MGVkNTYyODJhMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKQEAgLTMxLDcgKzMx
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0YXRl
Q2hhbmdlVGltZXJJbnRlcnZhbCA9IDIuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlQ2hh
bmdlVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMik7CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZp
ZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlS
ZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQgYmUgZXhwZW5z
aXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAgIC8vIHdoZW4g
dGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hh
bmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CisgICAgbm90
aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlQ2hhbmdl
VGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6Om5ldHdvcmtT
dGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBmYzg3YjcwMzI5MjM4
NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi4zZWZiZTZlZWU4MDkzNGNiY2E2MWQ1YWU5MWEz
NTYxOWMwMjViZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVt
b3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQg
TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2luc3RhbGxlZCA9IHRy
dWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxDaGVja01lbW9yeVRp
bWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVhdGluZyg2MC4wKTsK
KyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoNjApKTsKIH0KIAog
dm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggNGVjZDg1
YTYxMWQzNDJhNzkzYmMyMmJiZGNkY2Y3MTA0ZmYyYTliYS4uYzhlZTAxYWJkYWM5ODZkNThiOGYw
MzIwZjdmMjZmODU3NmJmOGJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0aW9uQ3V0b2ZmID0g
ODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRocmVzaG9s
ZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvd1F1YWxpdHlUaW1l
VGhyZXNob2xkID0gU2Vjb25kcygwLjUwMCk7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6Oklt
YWdlUXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6
IG1fcmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVh
bGl0eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2b2lkIElt
YWdlUXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFy
dE9uZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIE9wdGlvbmFsPEludGVycG9sYXRp
b25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZy
b21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDYzYTVhNjkwYWMxMGFi
MWY1YzliNGRlYzQ3ZWNlYWM1YTAwNWY2M2UuLjlmY2FiZWU5ZDUzMGViYjJjNWQ1ZDE3Y2Y5YTg5
OGY4YTU5NjgyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSArOTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBj
YW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRp
ZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxheSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMg
bWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29hbGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgog
I2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVz
aEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZs
dXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNo
SW5pdGlhbERlbGF5ID0gU2Vjb25kcygwLjUpOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0
bGVkTGF5ZXJGbHVzaERlbGF5ID0gU2Vjb25kcygxLjUpOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBk
b3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0
IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSBTZWNvbmRzKDAuNSk7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSBTZWNvbmRzKDAuNSk7
CiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTYzNCw3ICs2MzQsNyBA
QCBSZW5kZXJMYXllckNvbXBvc2l0b3IqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5jbG9zaW5n
Q29tcG9zaXRvckZsdXNoaW5nTGF5ZXJzKAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNj
aGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZUNvbXBv
c2l0aW5nTGF5ZXJzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVDb21wb3NpdGlu
Z0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVDb21wb3NpdGlu
Z0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZj
ZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uYjc0MDk3Y2YyMWUxYTgyMjVhNmFlZDhmZDlh
M2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6c3RhcnQoKQogICAg
ICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0
aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKIH0KIAogdm9pZCBSZW5kZXJNYXJxdWVlOjpz
dXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1h
cnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0gbWFycXVlZVNwZWVkKCkpIHsKICAgICAg
ICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEp
OworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlz
ZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAgCiAgICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291
bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3RvcC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKaW5kZXggNDc1MDZhY2QzM2I3MDc0
MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uZGVlMmIyZjEwYWNmMjcyZDZjYjY1ZjFiYmViOTlm
NjhhNWVhZDJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1MzAsNyBAQCB2b2lkIFJlbmRlck5hbWVkRmxv
d1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRJZk5lZWRlZCgpCiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFuZ2VSZWdpb25PdmVyc2V0KGRvY3VtZW50
KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAoIW1fcmVnaW9uT3ZlcnNldENoYW5nZUV2
ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3coKS5oYXNFdmVudExpc3RlbmVycygpKQot
ICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwCmluZGV4IDlhMWYyNDBmYTVmOWFmZjg3MDFjMTM0OGNjYzU3ZDM2YWIzZTBi
ODQuLjUxYTMwOGZiYTM3MGM0Nzk4OWM4YzVjZWFlMGIwODc3NDJjOWM3Y2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODUsNyArODUsNyBAQCB2
b2lkIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKICAgICByZXBhaW50
KCk7CiAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV9hbmltYXRpbmcp
Ci0gICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0
SW50ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBSZW5kZXJQcm9ncmVzczo6
dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQgUmVuZGVyUHJv
Z3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGlu
ZzsKICAgICBpZiAobV9hbmltYXRpbmcpIHsKICAgICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9hbmltYXRpb25UaW1l
ci5zdGFydE9uZVNob3QobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5p
bWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZh
bCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKaW5kZXgg
ZWQ0OWJlZGNiZGI2MTVkMGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFiZDgyM2FhYTAxNDY1
NmIxMWFiNmQyNjE5ZGQxNmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAgcHVibGljOgogCiAg
ICAgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9s
bGJhciYgc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBTY3JvbGxi
YXJQYXJ0IHByZXNzZWRQYXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhl
bWUoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwgcHJlc3NlZFBhcnQp
OyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUg
eyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9Cisg
ICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVy
biBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsg
fQorICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBT
Y3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAKICAgICB2
b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIp
OyB9CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBv
dmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJlZ2lzdGVyU2Nyb2xs
YmFyKHNjcm9sbGJhcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApp
bmRleCBjZTE1NmVjOGY5OGY5MGM2ODFlNzA2YjU4ODgyNWM0Y2JiZGJmNDg1Li45MjE4ZDVjYjVh
NzgxZmI4NTdjN2Y0OGE5MjUyOWRkZWJiMWI1M2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1l
cjo6U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2Vj
dXJlVGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFj
dGVyKQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRl
ckxhc3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5mcmFtZSgp
LnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7CisgICAgc3RhcnRP
bmVTaG90KG1fcmVuZGVyZXIuZnJhbWUoKS5zZXR0aW5ncygpLnBhc3N3b3JkRWNob0R1cmF0aW9u
KCkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4dFRpbWVyOjp0YWtlT2Zmc2V0QWZ0
ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aAppbmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAxMzhjZWY0MGVjODI4ZjljMmJlLi5iMTNlYTU1
ODJiNzYwMDgxNmQ2YTY1ZjQ5NDZlYmFkN2VmOTY3ZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNjcm9sbFR5cGVz
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNzUs
NyArMTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ29s
b3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwo
KSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0lu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gU2Vjb25kcygwLjUpOyB9CiAKICAgICAvLyBTeXN0ZW0g
Zm9udHMgYW5kIGNvbG9ycyBmb3IgQ1NTLgogICAgIHZvaWQgc3lzdGVtRm9udChDU1NWYWx1ZUlE
LCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJikgY29uc3Q7CkBAIC0yMDQsOCArMjA1LDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sU3RhdHVzRGlzcGxheSgpIHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xWb2x1bWVT
bGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0
aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGRv
dWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjE7IH0KLSAgICB2
aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4z
OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsg
cmV0dXJuIFNlY29uZHMoMC4xKTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRpYUNvbnRyb2xz
RmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gU2Vjb25kcygwLjMpOyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRU
aW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVk
aWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9u
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCA4MTMw
ZDJlODIwNmIwYzA0MTZkZGQ5YWYxYmU0MWQ0MjY0MTViM2MxLi5mOTg0NzA2ZDFlNjU2OTMyMjhl
YjZmMDQxY2NjN2FiNTkxNjAxMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlS
ZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2V0UmVuZGVyQm94TmVl
ZHNMYXp5UmVwYWludCh0cnVlKTsKICAgICBtX3JlbmRlcmVyc05lZWRpbmdMYXp5UmVwYWludC5h
ZGQoJnJlbmRlcmVyKTsKICAgICBpZiAoIW1fbGF6eVJlcGFpbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xh
enlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJlbmRl
clZpZXc6OnVuc2NoZWR1bGVMYXp5UmVwYWludChSZW5kZXJCb3gmIHJlbmRlcmVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKaW5kZXggOTk2NDli
ZmUyOTAzNjY3NmFkNDk2OGEzNmRmMWY1YzNjNjJlMGVkOS4uNWI0MzQ5ZmE5MzRmMzJiNDEwOTVk
NWEwZjg0NDk2OTE0Zjg3ZjUyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0Nh
cHR1cmluZ0lucHV0Q3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVy
aW5nSW5wdXRDdXJzb3IuY3BwCkBAIC01OCwxMSArNTgsOCBAQCB2b2lkIENhcHR1cmluZ0lucHV0
Q3Vyc29yOjpzdG9yZUlucHV0KHN0ZDo6dW5pcXVlX3B0cjxOb25kZXRlcm1pbmlzdGljSW5wdXRC
YXNlPgogewogICAgIEFTU0VSVF9BUkcoaW5wdXQsIGlucHV0KTsKIAotICAgIGlmIChpbnB1dC0+
cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dCkgewotICAgICAgICAvLyBGSVhN
RTogcmV3cml0ZSB0aGlzIChhbmQgcmVsYXRlZCBkaXNwYXRjaCBjb2RlKSB0byB1c2Ugc3RkOjpj
aHJvbm8uCi0gICAgICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKLSAgICAgICAgbV9zZWdtZW50LT5ldmVudExvb3BUaW1pbmdzKCkuYXBwZW5kKG5vdyk7Ci0g
ICAgfQorICAgIGlmIChpbnB1dC0+cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1
dCkKKyAgICAgICAgbV9zZWdtZW50LT5ldmVudExvb3BUaW1pbmdzKCkuYXBwZW5kKE1vbm90b25p
Y1RpbWU6Om5vdygpKTsKIAogICAgIG1fc2VnbWVudC0+c3RvcmFnZSgpLnN0b3JlKFdURk1vdmUo
aW5wdXQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0
RGlzcGF0Y2hlci5jcHAKaW5kZXggNTEwMjkzZmMxNmM2NGFjOWI1ZmI1MWU3Yjk4ZDA5MGQ4YjUx
MzY2Ny4uNjJkZjUxZGQ0YWIyOTAwZmQ1YTg1NDhmOGJhMzE0ZGJlMGFhODBiZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKQEAg
LTUxLDggKzUxLDYgQEAgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpFdmVudExvb3BJbnB1dERp
c3BhdGNoZXIoUGFnZSYgcGFnZSwgUmVwbGF5aW5nSW5wdXRDdXIKICAgICAsIG1fdGltZXIoKnRo
aXMsICZFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnRpbWVyRmlyZWQpCiAgICAgLCBtX3NwZWVk
KERpc3BhdGNoU3BlZWQ6OkZhc3RGb3J3YXJkKQogewotICAgIG1fY3VycmVudFdvcmsuaW5wdXQg
PSBudWxscHRyOwotICAgIG1fY3VycmVudFdvcmsudGltZXN0YW1wID0gMC4wOwogfQogCiB2b2lk
IEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6cnVuKCkKQEAgLTkxLDcgKzg5LDcgQEAgdm9pZCBF
dmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICBpZiAobV90
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0b3AoKTsKIAotICAgIGRvdWJsZSB3
YWl0SW50ZXJ2YWwgPSAwOworICAgIFNlY29uZHMgd2FpdEludGVydmFsOwogCiAgICAgaWYgKG1f
c3BlZWQgPT0gRGlzcGF0Y2hTcGVlZDo6UmVhbFRpbWUpIHsKICAgICAgICAgLy8gVGhlIGdvYWwg
aXMgdG8gcmVwcm9kdWNlIHRoZSBkaXNwYXRjaCBkZWxheSBiZXR3ZWVuIGlucHV0cyBhcyBpdCB3
YXMKQEAgLTEwMiwyMiArMTAwLDIyIEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpk
aXNwYXRjaElucHV0U29vbigpCiAgICAgICAgIGlmICghbV9wcmV2aW91c0lucHV0VGltZXN0YW1w
KQogICAgICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50
aW1lc3RhbXA7CiAKLSAgICAgICAgZG91YmxlIHRhcmdldEludGVydmFsID0gbV9jdXJyZW50V29y
ay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXA7Ci0gICAgICAgIGRvdWJsZSBl
bGFwc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3ByZXZpb3VzRGlzcGF0
Y2hTdGFydFRpbWU7CisgICAgICAgIFNlY29uZHMgdGFyZ2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRX
b3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsKKyAgICAgICAgU2Vjb25k
cyBlbGFwc2VkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFy
dFRpbWU7CiAgICAgICAgIHdhaXRJbnRlcnZhbCA9IHRhcmdldEludGVydmFsIC0gZWxhcHNlZDsK
ICAgICB9CiAKICAgICAvLyBBIG5lZ2F0aXZlIHdhaXQgdGltZSBtZWFucyB0aGF0IGRpc3BhdGNo
IHRvb2sgbG9uZ2VyIG9uIHJlcGxheSB0aGFuIG9uCiAgICAgLy8gY2FwdHVyZS4gSW4gdGhpcyBj
YXNlLCBwcm9jZWVkIHdpdGhvdXQgd2FpdGluZyBhdCBhbGwuCi0gICAgaWYgKHdhaXRJbnRlcnZh
bCA8IDApCi0gICAgICAgIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgaWYgKHdhaXRJbnRlcnZhbCA8
IFNlY29uZHMoMCkpCisgICAgICAgIHdhaXRJbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAKLSAgICBp
ZiAod2FpdEludGVydmFsID4gMTAwMC4wKSB7CisgICAgaWYgKHdhaXRJbnRlcnZhbCA+IFNlY29u
ZHMoMTAwMCkpIHsKICAgICAgICAgTE9HX0VSUk9SKCIlLTIwcyBUcmllZCB0byB3YWl0IGZvciBv
dmVyIDEwMDAgc2Vjb25kcyBiZWZvcmUgZGlzcGF0Y2hpbmcgbmV4dCBldmVudCBsb29wIGlucHV0
OyB0aGlzIGlzIHByb2JhYmx5IGEgYnVnLiIsICJSZXBsYXlFdmVudHMiKTsKLSAgICAgICAgd2Fp
dEludGVydmFsID0gMDsKKyAgICAgICAgd2FpdEludGVydmFsID0gU2Vjb25kcygwKTsKICAgICB9
CiAKLSAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2
ZW50cyIsIHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBz
IChXQUlUOiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRzKHdhaXRJbnRlcnZhbCAq
IDEwMDAuMCkubWlsbGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJ
bnRlcnZhbCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlz
cGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rpc3BhdGNoaW5nKTsKIAog
ICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7Ci0gICAgICAgIG1f
cHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OworICAgICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50
aW1lc3RhbXA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1ZTRjM2Y5YTUyMzIzNWIw
Yzc5NWYzNC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFiNmI0NDBkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAt
MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0LmgiCiAjaW5jbHVkZSAiUmVw
bGF5aW5nSW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9N
b25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAgcHJpdmF0ZToKIAogICAg
IERpc3BhdGNoU3BlZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBhdCB3aGljaCB0aGUgbGFz
dCBpbnB1dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAgIGRvdWJsZSBtX3ByZXZp
b3VzRGlzcGF0Y2hTdGFydFRpbWUgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3Vz
RGlzcGF0Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhl
IGxhc3QgZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0
YW1wIHswLjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2RjMDQ0NmVlNDAwOGI4MWIz
OWJmNmM0YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJlMDA4NDg5ZTMxZjM5MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBA
IC00Nyw4ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVwbGF5U2Vzc2lvblNl
Z21lbnQ6OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2Vn
bWVudCgpCiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0
b3JhZ2U+KCkpCisgICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAs
IG1faWRlbnRpZmllcihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQotICAgICwgbV90aW1lc3Rh
bXAoY3VycmVudFRpbWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBs
YXlTZXNzaW9uU2VnbWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0NjMyOTk3Y2ExOWY5NDhk
ZTIzYTJkOWMuLmY3Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1MzM2NDU3ZDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCkBAIC0zMCw2ICsz
MCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIwICs1MiwyMSBAQCBwdWJs
aWM6CiAgICAgflJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlm
aWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgZG91YmxlIHRpbWVzdGFt
cCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9ub3RvbmljVGltZSB0aW1l
c3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAg
U2VnbWVudGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQot
ICAgIFZlY3Rvcjxkb3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVu
dExvb3BUaW1pbmdzOyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+JiBldmVudExvb3BU
aW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHByaXZhdGU6CiAgICAg
UmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTZWdtZW50ZWRJ
bnB1dFN0b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9v
cFRpbWluZ3M7CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1fZXZlbnRMb29wVGltaW5n
czsKIAorICAgIE1vbm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAgdW5zaWduZWQgbV9pZGVu
dGlmaWVyOwogICAgIGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAgICBkb3VibGUgbV90aW1l
c3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
cGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQyMGM4ZmFkNDRkZTUzYmMw
MTUyZGJlOTc2YmRkNmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVlYzIzNzdlMGRjNzc5NTFi
YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCkBA
IC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDxyZXBs
YXkvSW5wdXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsOCArNDIsOCBA
QCBjbGFzcyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKIHN0cnVjdCBFdmVu
dExvb3BJbnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0gICAgZG91
YmxlIHRpbWVzdGFtcDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0IHsgbnVsbHB0ciB9
OworICAgIE1vbm90b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xhc3MgUmVwbGF5aW5nSW5w
dXRDdXJzb3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVNjb3BlLmNwcAppbmRleCBiMGJiYTRlZTJjNjZmOTY3OGIxYzkwMDUwN2Y1MThhMDczMGU2OWQ0
Li4xYTg4ZDg5Y2E0N2U5ODMxMjAyMjQyYTM1N2MxMDAyZWNkYzNjMjE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZVNjb3BlLmNwcApAQCAtNTEzLDcgKzUxMyw3IEBAIHZvaWQgU2NvcGU6OnNjaGVk
dWxlVXBkYXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1fcGVuZGluZ1VwZGF0ZVRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BlbmRpbmdVcGRhdGVUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VBY3RpdmVTdHlsZVNoZWV0
Q2FuZGlkYXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5kZXggYjJjYjNiMzNjYWMx
YjcyYjZhZGQyNDI0YzNhYjRhMjBhYTIwNTZjNy4uMTc0ZDYxZWM0MGEzMzI5ZWNkMTFhMGNkNTZh
NTk1OGM3MzcyMzk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNjIxLDcgKzYy
MSw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBz
ZW5kUGFyZW50TG9hZEV2ZW50cykKIAogdm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50
SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KCkKIHsKLSAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5z
dGFydE9uZVNob3QoMCk7CisgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRh
aW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVy
LmNwcAppbmRleCBjYmYzYjdiYTU4NDg1MDc3MzdlOTc1Y2RkMGE4MTkyZDMzNWZiZjUwLi43NTNl
NDAxNGJjYzIxMmNiMzA4ZDhkNjY3Y2ZmZWJmZDEzYzQ0NWE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcApAQCAtMjA1LDcgKzIw
NSw3IEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIoU01JTFRpbWUgZWxhcHNl
ZCwgU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lCiAgICAgICAgIHJldHVybjsKIAogICAgIFNN
SUxUaW1lIGRlbGF5ID0gc3RkOjptYXgoZmlyZVRpbWUgLSBlbGFwc2VkLCBtaW5pbXVtRGVsYXkp
OwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5LnZhbHVlKCkpOworICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoZGVsYXkudmFsdWUoKSkpOwogfQogCiB2b2lkIFNNSUxUaW1l
Q29udGFpbmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuY3BwCmluZGV4IDYxMWM5MmI4ZmIzNDUxY2ZjNmNmOTZjOGVkMzdlNzg1YTMyZDk3
ZjguLjU0M2MzZjRkYWRlODk1MzhkOGI3NjI1MGM4YWU1OGQ1MmVmNmJmN2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtNTM2LDcgKzUzNiw3IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1lckludGVy
dmFsKGRvdWJsZSBpbnRlcnZhbEluU2VjCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNl
dE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWxJblNlY29uZHMgKiAxMDAwKSkpOwor
ICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZh
bEluU2Vjb25kcykpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTU2MCw3ICs1NjAsNyBAQCBF
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92
ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRU
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh0aW1lKTsKKyAgICBz
ZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KFNlY29uZHModGltZSkpOwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNWE0ZjZlNGRhZDQ4NWNiNWFmMzEyN2RlZjgw
NzhkYzc3NjFjMTk0MC4uODQ1OThhMmE1YjA0ZDI2OTEyNDI2YTkwZTUzM2NiOTFjMTc4MWVhNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTE0Myw3ICsx
NDMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fbGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNv
bnRyb2xVSUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9pbWFnZXNFbmFibGVkOwogICAgICAgICBi
b29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7Ci0gICAgICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKKyAgICAgICAgU2Vjb25kcyBtX21pbmlt
dW1UaW1lckludGVydmFsOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICAgICAgYm9vbCBt
X3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7CiAgICAgICAgIGJvb2wgbV9zaG91bGREaXNwbGF5Q2Fw
dGlvbnM7CkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgICAgICBTdHJp
bmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAgIGJvb2wgbV9mb3JjZVBlbmRpbmdX
ZWJHTFBvbGljeTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNlY29uZHMgbV9vcmlnaW5hbFRpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1f
dXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBt
X2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1Rp
bWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3
NWM0YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyAr
MTg3LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAK
IGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1
bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6
aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
KHRpbWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdU
Rk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7
CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElk
KQpAQCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91
dChpbnQgdGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0
ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0g
ICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGlt
ZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVh
ckludGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cAppbmRleCA1MDlhOWE5Y2Q3MTBiNDViZmMwY2I5ZWU5MWEyMmYxMzdjZjY4YjdhLi4xNDkyNDA2
MGFjZmEyNjVjZWYyZmM3NWYxMTI2NmNjNmQ5NjhhMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxI
dHRwUmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4g
eyB9OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZh
dWx0IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0
IHdpdGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0
aW9uPGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1l
b3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6
OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGlt
ZW91dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsK
KyAgICBTZWNvbmRzIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVv
dXRNaWxsaXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFy
dE9uZVNob3Qoc3RkOjptYXgoU2Vjb25kcygwKSwgaW50ZXJ2YWwpKTsKICAgICByZXR1cm4geyB9
OwogfQogCkBAIC00OTYsNyArNDk2LDcgQEAgT3B0aW9uYWw8RXhjZXB0aW9uT3I8dm9pZD4+IFhN
TEh0dHBSZXF1ZXN0OjpwcmVwYXJlVG9TZW5kKCkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b25Pcjx2b2lkPiB7IEV4Y2VwdGlvbiB7IE5FVFdPUktfRVJSIH0gfTsKICAgICAgICAgc2V0UGVu
ZGluZ0FjdGl2aXR5KHRoaXMpOwogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7Ci0gICAg
ICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX25ldHdv
cmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbk9yPHZvaWQ+IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICBy
ZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjAp
OwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFs
KHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBt
X3NlbmRpbmdUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAg
ICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUg
PSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykp
OwogICAgICAgICB9CiAgICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVx
dWVzdDo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5k
RmxhZyA9IGZhbHNlOwogICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAg
IG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXhjZXB0aW9uQ29kZSA9
IE5FVFdPUktfRVJSOwpAQCAtMTE4Myw3ICsxMTgzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6
cmVzdW1lKCkKICAgICAvLyBXZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkg
SlMgaW4gcmVzdW1lKCkgc28gZGlzcGF0Y2gKICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgaW4gYSB0
aW1lci4KICAgICBpZiAobV9kaXNwYXRjaEVycm9yT25SZXN1bWluZyAmJiAhbV9yZXN1bWVUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQg
WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuaAppbmRleCBhZjY1MGZlNzkzZDljOGRiNTgwODU5OTI4MWJkZjgwMGJlNTNiNzQ5Li40
NTIyMTc5YmIwZmE1MTA1ZjRjOTQ1YjM1YTI3M2ZjYzcyY2Q3ZWU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuaApAQCAtMjMwLDcgKzIzMCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBu
ZXR3b3JrRXJyb3JUaW1lckZpcmVkKCk7CiAKICAgICB1bnNpZ25lZCBtX3RpbWVvdXRNaWxsaXNl
Y29uZHMgeyAwIH07Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBt
X3NlbmRpbmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9zZW5kaW5nVGltZTsKICAgICBUaW1l
ciBtX3RpbWVvdXRUaW1lcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCmluZGV4IDM2NjYyNjU2
YjUxYmY4YzllOWYyMjViY2IwNjc2ZTYwZjQ2MzA4NzMuLjhhNzFlYzAwYWM4OTY5ZGIxYzVlOTRj
MGQxMGViYmUxY2M5NDE3MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcApAQCAtMzMsNyArMzMsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVy
dmFsSW5TZWNvbmRzID0gLjA1OyAvLyA1MCBtcyBwZXIgc3BlY2lmaWNhdGlvbi4KK2NvbnN0IFNl
Y29uZHMgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVz
c0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCA9IFNlY29uZHMoMC4wNSk7IC8vIDUwIG1zIHBlciBz
cGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAg
ICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTczLDEyICs3MywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQo
Ym9vbCBsZQogICAgICAgICBBU1NFUlQoIW1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAK
ICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0
b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3Bh
dGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVt
UHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwpOwogICAgICAgICBtX2hhc1Rocm90dGxl
ZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8v
IFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3Bh
dGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMgdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgorICAg
IC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERp
c3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgogICAgIG1faGFz
VGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRydWU7CiB9CiAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2
b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpyZXN1bWUoKQogICAgIC8v
IHRoZSBsaXN0IG9mIGFjdGl2ZSBET00gb2JqZWN0cyB0byByZXN1bWUgdGhlbSwgYW5kIGFueSBh
Y3RpdmF0ZWQgSlMgZXZlbnQtaGFuZGxlcgogICAgIC8vIGNvdWxkIGluc2VydCBuZXcgYWN0aXZl
IERPTSBvYmplY3RzIHRvIHRoZSBsaXN0LgogICAgIC8vIG1fZGVmZXJFdmVudHMgaXMga2VwdCB0
cnVlIHVudGlsIGFsbCBkZWZlcnJlZCBldmVudHMgaGF2ZSBiZWVuIGRpc3BhdGNoZWQuCi0gICAg
bV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlz
cGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAppbmRleCA5NzFiZDIzNDJjMDU2
YjExNThiNDAxOWZiMmIzYWEyNTAzNDg0YThkLi4zNDBmYjVjMDBkMTczZmI2MTYxYTc0ZTQxNWEw
MTJiYWVmYjRmNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZXN1bWUoKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0aWMgY29uc3QgZG91Ymxl
IG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kczsKKyAgICBz
dGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2
YWw7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKTsKICAgICB2b2lkIGRpc3BhdGNoRGVmZXJy
ZWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKaW5k
ZXggYWMwZGNjMTI1Njk0ZGFkNGM0YjkyMjg3YTAzMWVmYTA5MzU0ZWExOS4uYWZmOTViYmEzNWVk
YzM5Njk3Y2IwZTk5ZGUwN2YyNWI0NzhmMDkyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
dG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAK
IC8vIElmIHRoZSBTdG9yYWdlQXJlYSB1bmRlcmdvZXMgcmFwaWQgY2hhbmdlcywgZG9uJ3Qgc3lu
YyBlYWNoIGNoYW5nZSB0byBkaXNrLgogLy8gSW5zdGVhZCwgcXVldWUgdXAgYSBiYXRjaCBvZiBp
dGVtcyB0byBzeW5jIGFuZCBhY3R1YWxseSBkbyB0aGUgc3luYyBhdCB0aGUgZm9sbG93aW5nIGlu
dGVydmFsLgotc3RhdGljIGNvbnN0IGRvdWJsZSBTdG9yYWdlU3luY0ludGVydmFsID0gMS4wOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgc3RvcmFnZVN5bmNJbnRlcnZhbCA9IFNlY29uZHMoMSk7CiAK
IC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBzeW5j
IGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZlIHRo
ZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdlbmVy
YWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlSXRl
bUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUKIAogICAgIG1f
Y2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0
aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50
ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2Fs
bCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVy
RmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6
OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9pdGVt
c0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAg
ICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAg
ICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAogICAg
ICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1
ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlv
bi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbG9z
ZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsKICAgICAKICAgICBp
ZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRP
bmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9u
ZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICAvLyBUaGUgZm9s
bG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9u
IGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3ICsx
NzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgICAgICAv
LyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwgc2NoZWR1bGUgaXQg
YW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9maW5hbFN5bmNTY2hl
ZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7Ci0g
ICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7
CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZh
bCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3IEBA
IHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRpYWxT
eW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2luZywgdGhlbiB3ZSBu
ZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVy
LmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5
bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3lu
Y0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJh
bGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAg
ICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hlZHVs
ZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
U3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi45NWE5
NmEwM2RjMTViOGYxMmU3NmY1ODI2YjVhNDg5ODBmZTEzOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIFN0b3JhZ2VU
cmFja2VyKiBzdG9yYWdlVHJhY2tlciA9IG51bGxwdHI7CiAKIC8vIElmIHRoZXJlIGlzIG5vIGRv
Y3VtZW50IHJlZmVyZW5jaW5nIGEgc3RvcmFnZSBkYXRhYmFzZSwgY2xvc2UgdGhlIHVuZGVybHlp
bmcgZGF0YWJhc2UKIC8vIGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fU3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsIHNlY29uZHMuCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRTdG9y
YWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZh
dWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gU2Vjb25kcygzMDApOwogICAgIAogdm9p
ZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdl
UGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNsaWVudCkKIHsKQEAgLTk3LDcgKzk3LDcgQEAg
U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgp
CiAgICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+KCkpCiAgICAg
LCBtX2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9uZWVkc0luaXRpYWxpemF0aW9uKGZhbHNlKQot
ICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRlZmF1
bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdl
L1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3ZjU5NGU4ZmEz
YmRhY2E4OC4uNzI2ZjMyNTFiMWQxZWVmNmMxYWFmMTEyNjFjMGQyOTk3YjU5MTRkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNl
L1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKQEAgLTU5LDggKzU5LDggQEAgcHVibGlj
OgogICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAotICAgIGRvdWJsZSBzdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsg
fQotICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBpbnRlcnZh
bCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vj
b25kcyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX3N0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBp
bnRlcnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJEYXRhYmFzZSgp
OwogCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIG1faXNBY3Rp
dmU7CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6YXRpb247Ci0gICAgZG91YmxlIG1fU3RvcmFn
ZURhdGFiYXNlSWRsZUludGVydmFsOworICAgIFNlY29uZHMgbV9zdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCmluZGV4IDExYmNlM2JlZTBlMGJhMWQ3MDJmNzJjNjY0NTNjYzJhMmJkZWI3ZjYuLjUzNzIx
ZTQ4OTFkMzRhMjJlNjYxY2QzZjkzNDE2YmEyYzUyNDIxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAK
QEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVzdW1l
UGVuZGluZ1JlcXVlc3RzKCkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVs
ZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCkKIHsKICAgICBpZiAoIW1fcmVxdWVzdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlJl
c291cmNlTG9hZFNjaGVkdWxlcjo6cmVxdWVzdFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5Lm1tCmluZGV4IDM2ZGJiZWM2MjRlZWIwNTRmMDYyYTAyODQxMDAyOWJmMDhlNDI5
ZDkuLmUwZDc4OTRmMzQ0NTNhZGYzYWM5MzczMGZkNDhjM2VlNWQ2ZDc2ZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTc0NCw3ICs3NDQsNyBAQCB2b2lkIE5ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQoKQogICAgIG1fcGx1Z2luUmVxdWVz
dHMucmVtb3ZlRmlyc3QoKTsKICAgICAKICAgICBpZiAoIW1fcGx1Z2luUmVxdWVzdHMuaXNFbXB0
eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
cmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAKICAgICBwZXJmb3Jt
UmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBAQCBOUEVycm9yIE5l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxSZXF1ZXN0ICpyZXF1
ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9IFBsdWdpblJlcXVl
c3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQb3B1cHMpOwogICAg
ICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJlcXVlc3QpKTsKLSAg
ICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RU
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgUmVm
UHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtPiBzdHJlYW0gPSBIb3N0ZWROZXRzY2FwZVBs
dWdpblN0cmVhbTo6Y3JlYXRlKHRoaXMsIHJlcXVlc3RJRCwgcmVxdWVzdCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCmlu
ZGV4IDA1Y2M0ZDQ3MmRhODYxMGEzNGJhNWJkYmVjOGExNjNlNGFkMzhiOTQuLmMxZDlhYzgzNDIx
MWE2MmJiZjBiMzI2MDdiM2RhODJjNmQ2YjU5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQpAQCAtNTI5LDcgKzUyOSw3
IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAg
aWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewogICAgICAgICAgICAgLy8gUGx1Zy1pbiBjYW4ndCBy
ZWNlaXZlIGFueW1vcmUgZGF0YSByaWdodCBub3cuIFNlbmQgaXQgbGF0ZXIuCiAgICAgICAgICAg
ICBpZiAoIW1fZGVsaXZlckRhdGFUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgICAgIG1f
ZGVsaXZlckRhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICAgICAgbV9kZWxp
dmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZGVsaXZlcnlCeXRlcyA9IHN0ZDo6bWlu
KGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVkKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KaW5k
ZXggZWVhYWJhODI0ODFlNzM5MGQzNjJlOGIzYTE0MmFlNTIyMDMyMjRhYi4uYjg2NGFiYjlkZTA0
YWRmOWU2ZjZhYjJiOWFiZDc4NTgwYWFiMWUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTExMSw3ICsxMTEsNyBAQCBz
dGF0aWMgV2ViTmV0c2NhcGVQbHVnaW5WaWV3ICpjdXJyZW50UGx1Z2luVmlldyA9IG5pbDsKIAog
dHlwZWRlZiBzdHJ1Y3QgT3BhcXVlUG9ydFN0YXRlKiBQb3J0U3RhdGU7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBUaHJvdHRsZWRUaW1lckludGVydmFsID0gMC4yNTsKIAogY2xhc3MgUGx1Z2luVGltZXIg
OiBwdWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0
aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBTZWNvbmRzIHRpbWVJ
bnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAgICAgICAg
IAogICAgICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6
Om1heCh0aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRj
YTVlNmZhZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUw
YjNhN2IwNWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJT
dG9yYWdlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3Jh
Z2VNYW5hZ2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgKyAoTlNTdHJpbmcgKilfc3RvcmFnZURp
cmVjdG9yeVBhdGgKIAogKyAodm9pZClzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6KGRv
dWJsZSlpbnRlcnZhbAogewotICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5z
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdlYktpdDo6U3Rv
cmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vj
b25kcyhpbnRlcnZhbCkpOwogfQogCiArICh2b2lkKWNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdGFi
YXNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDhlNDcxYjE2YjMyYTYy
OGZhNGU1ODRkYzhkYzVjOGM5OTA5YjdhNDMuLmY3NTA5ZDkxYmRhMzk0ODQ0MzAxZDFmM2RiZjc0
OTA4MWY4N2I4MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI3NDks
NyArMjc0OSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMg
KilwcmVmZXJlbmNlcwogICAgIHNldHRpbmdzLnNldFNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdp
bmRvd09uRXJyb3JFdmVudHMoc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2
ZW50cygpKTsKIAogICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0VuYWJsZWQoW3ByZWZlcmVu
Y2VzIF9hbGxvd1Bhc3N3b3JkRWNob10pOwotICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1
cmF0aW9uSW5TZWNvbmRzKFtwcmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRpb25dKTsKKyAg
ICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbihTZWNvbmRzKFtwcmVmZXJlbmNlcyBf
cGFzc3dvcmRFY2hvRHVyYXRpb25dKSk7CiAKICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKHNldHRp
bmdzLnBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucygpLCAiUGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5z
IHNob3VsZCBiZSBlbmFibGVkIG9uIGlPUy4iKTsKICAgICBzZXR0aW5ncy5zZXREZWxlZ2F0ZXNQ
YWdlU2NhbGluZyh0cnVlKTsKQEAgLTI4NjQsNyArMjg2NCw3IEBAIC0gKHZvaWQpX3ByZWZlcmVu
Y2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogCiAgICAgTlNUaW1lSW50
ZXJ2YWwgdGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNz
aW9uVGltZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVvdXQgPiAwKQotICAgICAgICBzZXR0
aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyh0
aW1lb3V0KTsKKyAgICAgICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVz
c2lvblRpbWVvdXQoU2Vjb25kcyh0aW1lb3V0KSk7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNo
ZSBQcmVmZXJlbmNlcyBhcmUgc3RvcmVkIG9uIHRoZSBnbG9iYWwgY2FjaGUgc3RvcmFnZSBtYW5h
Z2VyLCBub3QgaW4gU2V0dGluZ3MuCiAgICAgW1dlYkFwcGxpY2F0aW9uQ2FjaGUgc2V0RGVmYXVs
dE9yaWdpblF1b3RhOltwcmVmZXJlbmNlcyBhcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1
b3RhXV07CkBAIC04Mjk4LDcgKzgyOTgsNyBAQCArICh2b2lkKV9zZXRDYWNoZU1vZGVsOihXZWJD
YWNoZU1vZGVsKWNhY2hlTW9kZWwKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAw
OwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBj
YWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vjb25kcygwKTsKIAogICAgIHVuc2lnbmVk
IHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDI1LDcgKzg0MjUsNyBAQCArICh2b2lkKV9zZXRD
YWNoZU1vZGVsOihXZWJDYWNoZU1vZGVsKWNhY2hlTW9kZWwKICAgICAgICAgLy8gY2FuIHByb3Zl
IHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUgcmVncmVzc2lv
bi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heDx1bnNpZ25lZD4oMjQs
IGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vjb25kcyg2MCk7CiAKICNpZiBQTEFURk9STShJ
T1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJjMThkZWI3NWNjZDcwODI3YWZm
YWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLmY1MzAzZGYxYzJiZTE0MmZiMjI1NTUwYWYzNDhlYzM3NjEx
NTlmYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0aW1lckludGVydmFsID0gMC4w
MzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gU2Vjb25kcygwLjAzMyk7
CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50IHdpbmRvd0hlaWdodCA9IDU5OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5kZXggYjY3ZmE1M2Zl
ODBiMWVmOGMwMWFmZmM4NmRhNWQ3MTYzMTU1ZGQyNC4uYmNjMzUzYzc0YWNkODU1YmYzNjBmN2Nh
OTAxNjgyOTIyYmExMDQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5QYWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBh
Y2thZ2UuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJh
cnlTb29uKCkKICAgICBBU1NFUlQobV9tb2R1bGUpOwogICAgIEFTU0VSVCghbV9sb2FkQ291bnQp
OwogCi0gICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZyZWVM
aWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFBsdWdpblBh
Y2thZ2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblN0cmVhbS5jcHAKaW5kZXggMmVmMzk1NWJlNjFhOGQwNTQyNGFkMTM5OTYyZGQwZDdm
YTZhZTQ0NC4uOGIzMDJiNzYzM2MxNGEwNmZkNGFiN2MxYTk3ZjU4NDFiNGExNTNlZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcApAQCAtMzQ5LDcgKzM0OSw3
IEBAIHZvaWQgUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSgpCiAgICAgICAgIGludDMyX3QgZGVs
aXZlcnlCeXRlcyA9IG1fcGx1Z2luRnVuY3MtPndyaXRlcmVhZHkobV9pbnN0YW5jZSwgJm1fc3Ry
ZWFtKTsKIAogICAgICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7Ci0gICAgICAgICAgICBt
X2RlbGF5RGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX2RlbGF5
RGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVs
aXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggZGFkZDNiNzQ1ZjdmNGZiNzFmNWQz
YWE2ZjllZDA3OGM5YjgyNjAyOC4uMjhiZTIzMDdjMWUxYTQxNmI2MGQzNTViNWJiNzUyZDM3MjNm
YzdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC00NzMs
NyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgLy8g
U2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUgY2FsbGluZyBwZXJmb3JtUmVxdWVzdCBzaW5j
ZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1SZXF1ZXN0IGNhbiBjYXVzZSB0aGUgcGx1Z2lu
IHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAg
ICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHBlcmZvcm1SZXF1ZXN0KHJlcXVl
c3QuZ2V0KCkpOwogfQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2NoZWR1
bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5SZXF1ZXN0PiByZXF1ZXN0KQogICAgIG1f
cmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwogCiAgICAgaWYgKCFtX2lzSmF2YVNj
cmlwdFBhdXNlZCkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIE5QRXJy
b3IgUGx1Z2luVmlldzo6bG9hZChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRSZXF1
ZXN0LCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEpCkBAIC02NDYsNyAr
NjQ2LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpzZXRKYXZhU2NyaXB0UGF1c2VkKGJvb2wgcGF1c2Vk
KQogICAgIGlmIChtX2lzSmF2YVNjcmlwdFBhdXNlZCkKICAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RvcCgpOwogICAgIGVsc2UgaWYgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9y
ZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZlKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAppbmRleCAyZmNhOWYzYzk1ZDczZGJhM2Fj
MzI2MjU5ZWE4NmRkY2RkYTIwNzBmLi4wZmVjY2Y2NzQyYjc1MWUyMTNlMjNmMmJhZTU3YmVhNzFh
MjYxMmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdX
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAK
QEAgLTMzNCw3ICszMzQsNyBAQCBQbHVnaW5WaWV3Ojp3bmRQcm9jKEhXTkQgaFduZCwgVUlOVCBt
ZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogCiAgICAgICAgIHB1c2hQb3B1
cHNFbmFibGVkU3RhdGUodHJ1ZSk7CiAKLSAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKICAgICB9CiAKICAgICBpZiAobWVzc2FnZSA9PSBXTV9QUklOVENMSUVO
VCkgewpAQCAtODM4LDcgKzgzOCw3IEBAIHZvaWQgUGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlY3Qo
TlBSZWN0KiByZWN0KQogICAgICAgICBpZiAobV9wbHVnaW4tPnF1aXJrcygpLmNvbnRhaW5zKFBs
dWdpblF1aXJrVGhyb3R0bGVJbnZhbGlkYXRlKSkgewogICAgICAgICAgICAgbV9pbnZhbGlkUmVj
dHMuYXBwZW5kKHIpOwogICAgICAgICAgICAgaWYgKCFtX2ludmFsaWRhdGVUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwLjAw
MSk7CisgICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29u
ZHMoMC4wMDEpKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChy
KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9B
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1
NTcwZmVhZWM5ZGIzODY5NzA4YjVhYjdjN2E0YWQyMjI4Mi4uNjg3OGM0MjRkZjRlOGUwYzgzMjIx
MzQxYTk3NmZmNTQ2OWVmY2FkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNw
cApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZl
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hv
dCgwLjA1KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjA1
KSk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGlu
Z0xheWVyQ2hhbmdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGQ1NzAwNDhkYTdhMjY0MDZi
Y2FkMDZjMjVkZTg2OGZlNWFjYjJiMDMuLmEzOTZjMTFmMjhiYjQ3MTdiYjQ1NWYwZjFhNmUxN2Ux
MjI4YTg0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0xNTE2LDcgKzE1MTYsNyBAQCB2b2lk
IFdlYlZpZXc6OmNsb3NlV2luZG93U29vbigpCiAgICAgbV9jbG9zZVdpbmRvd1RpbWVyID0gV2lu
ZG93Q2xvc2VUaW1lcjo6Y3JlYXRlKHRoaXMpOwogICAgIGlmICghbV9jbG9zZVdpbmRvd1RpbWVy
KQogICAgICAgICByZXR1cm47Ci0gICAgbV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAK
ICAgICBBZGRSZWYoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtEYXRhVGFzay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrRGF0YVRhc2suY3BwCmluZGV4IDMxMjU4ODgzMzU1MGVhMWY4MjQ3YzM3YzlmZDM5N2U4
NWE4YzFkNDQuLmU1YzRiZDE2NzM3Nzg2OTlhMzhkNjZhZTY4Yjc5NjJhOWNhNzY5ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcApA
QCAtOTEsNyArOTEsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVGYWlsdXJlKEZh
aWx1cmVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKHR5cGUgIT0gTm9GYWlsdXJlKTsKICAgICBt
X3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVz
cG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25I
YW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3Bw
CmluZGV4IDUxN2Y4NDVhYWJlNTIzZjJlZmE5NjE4NGVlZjcyNTNhZTJjYTRkOWYuLmVmMjNmNzAw
MDVjZWY3ZTA4OGNmMmJjMGExMmMwZTBhMTg0ZjQ3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAjaWYgVVNFKE5FVFdPUktfU0VTU0lPTikKIAogc3RydWN0IE5ldHdv
cmtMb2FkOjpUaHJvdHRsZSB7Ci0gICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXksIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwg
UmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCisgICAgVGhyb3R0bGUoTmV0d29y
a0xvYWQmIGxvYWQsIFNlY29uZHMgZGVsYXksIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwg
UmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiAgICAgICAgIDogdGltZXIobG9h
ZCwgJk5ldHdvcmtMb2FkOjp0aHJvdHRsZURlbGF5Q29tcGxldGVkKQogICAgICAgICAsIHJlc3Bv
bnNlKFdURk1vdmUocmVzcG9uc2UpKQogICAgICAgICAsIHJlc3BvbnNlQ29tcGxldGlvbkhhbmRs
ZXIoV1RGTW92ZShoYW5kbGVyKSkKQEAgLTMxMSw4ICszMTEsOCBAQCB2b2lkIE5ldHdvcmtMb2Fk
OjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3JrU2Vzc2lvbihSZXNvdXJjZVJlc3BvbnNlJiYgcmVz
cG9uc2UsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIGRlbGF5ID0gTmV0d29y
a1Byb2Nlc3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsKLSAgICBpZiAoZGVs
YXkgPiAwbXMpIHsKKyAgICBTZWNvbmRzIGRlbGF5ID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRv
bigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsKKyAgICBpZiAoZGVsYXkgPiBTZWNvbmRzKDApKSB7
CiAgICAgICAgIG1fdGhyb3R0bGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFRocm90dGxlPigqdGhpcywg
ZGVsYXksIFdURk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaAppbmRleCBjOTZkMDgyOWUxNWI2ZDg4YmFlMTVjZjBjMTJjYzRjZDIz
OGYxMTNiLi44YzViN2E0ODg1ZmM0NDllZWFkZTA3NDRjZDlmYzYwMjVhY2U2MWE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTExNSw3
ICsxMTUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdyYW50U2FuZGJveEV4dGVuc2lvbnNUb0Rh
dGFiYXNlUHJvY2Vzc0ZvckJsb2JzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZ1
bmN0aW9uPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogCi0gICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2Fk
VGhyb3R0bGVMYXRlbmN5OyB9CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29u
c3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CiAKIHByaXZhdGU6CiAgICAgTmV0
d29ya1Byb2Nlc3MoKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9z
dXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2tD
YWNoZUlzRGlzYWJsZWRGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZl
clRydXN0RXZhbHVhdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbG9hZFRo
cm90dGxlTGF0ZW5jeTsKKyAgICBTZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAg
IHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQcm9j
ZXNzU3VwcGxlbWVudD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+PiBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnRNYXA7CiAgICAgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBmNDU2OWM5NDY5YTU3NzJlNjBi
MWM5YmZmNTYwODVkM2FjYjQzYzNkLi43MDk1MTUzMGUzMjlmYTFjNWYzZmY4ZTY3MmI5MzQzMDhj
NThmOGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTI4LDYgKzI4LDcg
QEAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2lu
Y2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApA
QCAtNzMsNyArNzQsNyBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
ewogICAgIGJvb2wgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9
OwogICAgIGJvb2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOwogICAgIGJvb2wgdXJs
UGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBs
b2FkVGhyb3R0bGVMYXRlbmN5IHsgMG1zIH07CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRl
bmN5OwogCiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Q
cm90b2NvbHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCmluZGV4IDQyNTVhZGU0MTE1MGRh
OTY5ZjIxMTE3NTEyZDdkZjZmN2Y3YzljNGEuLjViMjllMGViZDQzYTM4YmU1MmFlNjZkYzUyMTAz
MmVjMjA2NzBhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTAsNyArNTAsNyBA
QCBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBpZGVudGlmaWVyIHsgMCB9Owog
ICAgIFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IHJlcXVlc3RCb2R5U2FuZGJveEV4
dGVuc2lvbnM7IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBS
ZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOyAvLyBDcmVh
dGVkIGF1dG9tYXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZSB7IDBtcyB9OworICAgIFNlY29uZHMgbWF4aW11
bUJ1ZmZlcmluZ1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
CmluZGV4IDkwMTA1OTk2OGEzOTEzMDFkYTJhYzkyMzc0YjdmOTI0NWQ2OTRkZDYuLjZjMTdjZTVj
ZjU0ZTg2YjZhOWI2YTllNjc4MGMzMTk0ZDkwNWE4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjA5
LDcgKzIwOSw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2Fk
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIAogICAgIGNvbnN1bWVTYW5kYm94RXh0
ZW5zaW9ucygpOwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMubWF4
aW11bUJ1ZmZlcmluZ1RpbWUgPiAwbXMpCisgICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3Bh
cmFtZXRlcnMubWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiBTZWNvbmRzKDApKQogICAgICAgICBtX2J1
ZmZlcmVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAKICNpZiBFTkFCTEUoTkVUV09S
S19DQUNIRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdM
b2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCmluZGV4IDMw
MGMzMDgxMjRmMzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVjMjlkMTIuLjgxNjI2NTNiZDNmYjVmZjI2
MzZhM2UwOTFmYjdkYTdlNzQ4ZWU2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
UGluZ0xvYWQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhl
IHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3Jl
dmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2Fz
ZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAg
bV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoNjAwMDApKTsKICAgICB9CiAgICAg
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
LmNwcAppbmRleCBmMjYyMjlkMGUwYTlhNzdhMTc2YWVmNDExOWRjNGU3ZDg0ODliNDE4Li5jYzgz
MDYzMjc0MDAxY2Q0MTQ0ZGIwZmViYjFkNWNiYTM0Y2Q3MDI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBuYW1l
c3BhY2UgTmV0d29ya0NhY2hlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRp
YyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAxMHM7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBwcmVsb2FkZWRFbnRyeUxpZmV0aW1lID0gU2Vjb25kcygxMCk7CiAKICNpZiAhTE9H
X0RJU0FCTEVECiBzdGF0aWMgSGFzaENvdW50ZWRTZXQ8U3RyaW5nPiYgYWxsU3BlY3VsYXRpdmVM
b2FkaW5nRGlhZ25vc3RpY01lc3NhZ2VzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKaW5k
ZXggZThkYzY0M2M3ZjI0NTJiYTlkYzUzM2Y1MThlMWZmYmE5OTg4ZDUxYi4uYzBlZTIwYTY0ZTJh
ZDJlYmVmOTJjNzIwNGZhYzY3OTY4MDg3NTEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5j
cHAKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBuYW1lc3BhY2UgTmV0d29y
a0NhY2hlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIqIFN0YXRpc3RpY3NEYXRhYmFzZU5hbWUgPSAi
V2ViS2l0Q2FjaGVTdGF0aXN0aWNzLmRiIjsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cygxMDAwMCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCA9IFNl
Y29uZHMoMTApOwogCiBzdGF0aWMgYm9vbCBleGVjdXRlU1FMQ29tbWFuZChXZWJDb3JlOjpTUUxp
dGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgc3FsKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcAppbmRleCAwNWEzZDFjNjFmNjMwYzYxYTQ1ZTQ3NDI4YWViY2U4YTJmMjMyZTZjLi5i
ZDgxYzNiNzJhODZjYzk0NzlhNmViNjQ1YWE1NmI4YmMwYzFkYzU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcApAQCAtNTc0LDcgKzU3NCw3IEBAIHZvaWQgU3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3Bl
cmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9uPiByZWFkT3BlcmF0aW9uCiAgICAg
bV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92ZShyZWFkT3BlcmF0aW9uUHRyKSk7CiAK
ICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVyYXRpb25zIHNsb3cuIElmIHRo
ZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhlciBnbyB0byBuZXR3b3JrLgot
ICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7CisgICAgY29uc3QgU2Vjb25kcyBy
ZWFkVGltZW91dCA9IFNlY29uZHMoMS41KTsKICAgICBtX3JlYWRPcGVyYXRpb25UaW1lb3V0VGlt
ZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKIAogICAgIGJvb2wgc2hvdWxkR2V0Qm9keUJs
b2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtleSk7CkBAIC03OTYsNyArNzk2LDcg
QEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJlY29yZCwgTWFwcGVkQm9keUhh
bmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8vIERlbGF5IHRoZSBzdGFydCBvZiB3
cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5IHBhZ2UgbG9hZC4KICAgICAvLyBD
b21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUgd3JpdGVzIHdpdGhvdXQgZGVsYXku
Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRlRGVsYXkgPSAxczsKKyAgICBzdGF0
aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsV3JpdGVEZWxheSA9IFNlY29uZHMoMSk7CiAgICAgbV93
cml0ZU9wZXJhdGlvbkRpc3BhdGNoVGltZXIuc3RhcnRPbmVTaG90KGluaXRpYWxXcml0ZURlbGF5
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA0Y2VmYThlYjM1N2FlNDRiZDI1YTU3
NDZiNDVmZjlhMDhiNGUyMGRmLi5mMDg3NTJlNTRjOWM3MTU1NWRkMGE3MTRmMTAzNzE0MjI5ZTFl
MzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgTmV0
d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNlbCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpy
ZXN1bWUoKQogewogICAgIGlmIChtX3NjaGVkdWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkK
LSAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ZhaWx1
cmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgW21fdGFzayByZXN1bWVdOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2Rl
cnMuY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcApp
bmRleCA5YWM3NmM2ZDM5NDdkZTI2ODcxZWI2ODkyMDY1YmRhNmI3NzhjZmUxLi5kMDQ2YWY1ZGUy
MDczNjMyN2IxMDc2ODMwZWNiOWI4YTllZmVkNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKQEAgLTMyLDYgKzMyLDM2IEBACiAKIG5hbWVz
cGFjZSBJUEMgewogCit2b2lkIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQoreworICAgIGVuY29k
ZXIgPDwgdGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1l
bnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1vbm90b25p
Y1RpbWUmIHRpbWUpCit7CisgICAgZG91YmxlIHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUodmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB0aW1lID0gTW9ub3Rvbmlj
VGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lk
IEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBT
ZWNvbmRzJiBzZWNvbmRzKQoreworICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgpOworfQor
Citib29sIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBT
ZWNvbmRzJiBzZWNvbmRzKQoreworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc2Vjb25kcyA9IFNl
Y29uZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8
c3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludD46OmVuY29kZShJUEM6OkVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQm
IHRpbWVQb2ludCkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludDY0X3Q+KHRpbWVQ
b2ludC50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCmluZGV4IDA1NjhhY2VhOWY0Nzk3MTQ1YjAwZDlkYjU3
NmMzYzE4Yzc3NTNlMWMuLjc3NDA0OWFmMjI2NzE3MmIxMjEyYWFmZmZjMmM1YWQzMmUzMTUxNTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCkBAIC0x
NjMsNyArMTYzLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gRWxlbWVudHM+IHN0cnVjdCBBcmd1
bWVudENvZGVyPHN0ZDo6dHVwbGU8RWxlbWVudHMuLi4+PiB7CiAgICAgfQogfTsKIAotCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBSZXAsIHR5cGVuYW1lIFBlcmlvZD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8
c3RkOjpjaHJvbm86OmR1cmF0aW9uPFJlcCwgUGVyaW9kPj4gewogICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQ
ZXJpb2Q+JiBkdXJhdGlvbikKICAgICB7CkBAIC0zNzksNiArMzc4LDE2IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnPiBz
dHJ1Y3QgQXJndW1lCiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2Rl
cjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYs
IGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNv
ZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFdURjo6U2Vjb25kcz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVy
JiwgY29uc3QgV1RGOjpTZWNvbmRzJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXIm
LCBXVEY6OlNlY29uZHMmKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8
c3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludD4gewogICAgIHN0YXRpYyB2b2lk
IGVuY29kZShFbmNvZGVyJiwgY29uc3Qgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9w
b2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgc3RkOjpjaHJvbm86OnN5
c3RlbV9jbG9jazo6dGltZV9wb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25u
ZWN0aW9uLmgKaW5kZXggNTAzY2Y1ZjNiYjIyNjI2MWMyMjQwZGVjODJkNmUwN2VhYWRmZTFlMi4u
MThiZjMxYzY2NGMwYzJkZmI4NTE0YWU4MzI3N2RmMDEwYzIxMjFiYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0xODYsNyArMTg2LDcgQEAgcHVibGljOgog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBraWxsKCk7Ci0gICAgdm9pZCB0ZXJtaW5h
dGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgdm9pZCB0ZXJtaW5hdGVTb29u
KFNlY29uZHMpOwogI2VuZGlmCiAKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBt
X2lzVmFsaWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMv
Q29ubmVjdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVj
dGlvbk1hYy5tbQppbmRleCAyODk5NTEyOTQ2M2U4MzE5MTA3MGJlZTg1ZmRiZTg3MDU0OGU1NWIx
Li43MDQ0NjkxNTZhZjgxYmQ0MTU4ZjE3MWUwODE3ZDg4ZWRiZmIxN2E4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCkBAIC04MCwyMCAr
ODAsMjAgQEAgZW51bSB7CiAvLyAgICB0byBlbnN1cmUgaXQgaGFzIGEgY2hhbmNlIHRvIHRlcm1p
bmF0ZSBjbGVhbmx5LgogY2xhc3MgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cgewogcHVi
bGljOgotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9n
KE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50
ZXJ2YWxJblNlY29uZHMpCisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24s
IFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgewotICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBu
ZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwp
OwogICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBp
bnRlcnZhbEluU2Vjb25kcykKKyAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09i
amVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZh
bCkKICAgICAgICAgOiBtX3hwY0Nvbm5lY3Rpb24oeHBjQ29ubmVjdGlvbikKICAgICAgICAgLCBt
X3dhdGNoZG9nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2c6OndhdGNoZG9nVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1MpCiAgICAg
ICAgICwgbV9hc3NlcnRpb24oc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlByb2Nlc3NBbmRVSUFz
c2VydGlvbj4oeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpLCBX
ZWJLaXQ6OkFzc2VydGlvblN0YXRlOjpCYWNrZ3JvdW5kKSkKICNlbmRpZgogICAgIHsKLSAgICAg
ICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbEluU2Vjb25kcyk7CisgICAg
ICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogICAgIH0KICAgICAK
ICAgICB2b2lkIHdhdGNoZG9nVGltZXJGaXJlZCgpCkBAIC0xNTEsMTAgKzE1MSwxMCBAQCB2b2lk
IENvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiAjZW5kaWYKIH0KICAgICAKLXZvaWQg
Q29ubmVjdGlvbjo6dGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCit2b2lk
IENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAo
bV94cGNDb25uZWN0aW9uKQotICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6
Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRl
cnZhbEluU2Vjb25kcyk7CisgICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpj
cmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVy
dmFsKTsKIH0KICAgICAKIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1Jbml0aWFsaXplKElkZW50
aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRleCBkYTlkYjIyNGVkYzBlYTBjYmQwMDJk
YzE3MTJhMGMxODZkMTkzNWU0Li4xMWNiYWEzMWRjNWIzN2U3OWJlNDU1ZTBjODNhYTExNWFlNzEw
ZTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRy
b2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkuY3BwCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBQbHVnaW5Db250cm9s
bGVyUHJveHk6OmRlc3Ryb3koKQogICAgIGlmIChtX3BsdWdpbkRlc3RydWN0aW9uUHJvdGVjdENv
dW50IHx8IG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLT5pblNlbmRTeW5jKCkpIHsKICAgICAg
ICAgLy8gV2UgaGF2ZSBwbHVnLWluIGNvZGUgb24gdGhlIHN0YWNrIHNvIHdlIGNhbid0IGRlc3Ry
b3kgaXQgcmlnaHQgbm93LgogICAgICAgICAvLyBEZXN0cm95IGl0IGxhdGVyLgotICAgICAgICBt
X3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGx1Z2luRGVz
dHJveVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFy
dFBhaW50VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIu
Ci0gICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BhaW50VGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgbV93YWl0aW5nRm9yRGlkVXBkYXRlID0gdHJ1
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3Bw
CmluZGV4IGE3MjRlYjA4ZjkwZDU5ZGIxMjk4MjM0NDFlNzdlMDhmZWVjN2IyNWIuLmNhMjE0NmMz
N2Y2ZjFmZjg3NjQwZGQyNmYzMDQ3MDJmNzU2ODIxOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMjIwLDkgKzIyMCw5IEBAIHZvaWQg
UGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChN
ZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRlRGF0YUZvckhvc3RO
YW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TWluaW11
bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TWluaW11
bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0aW1lIDw9IDAuMCkK
KyAgICBpZiAobGlmZXRpbWUgPD0gU2Vjb25kcygwKSkKICAgICAgICAgcmV0dXJuOwogICAgIAog
ICAgIGRpc2FibGVUZXJtaW5hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuaAppbmRleCA5YTkwZTRjMjUzOTNhN2VkNDZjOTg3YjVlZTQ0NDlhNzRh
YjkyMzNiLi4yMGFjMDY3YjA0OTVlNmFjNzYyMmMwMDYyMDAzOGMwMWY1ZjMwMjkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMTAyLDcgKzEw
Miw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdpblByb2Nl
c3MoUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKICAgICAKLSAgICB2b2lkIHNl
dE1pbmltdW1MaWZldGltZShkb3VibGUpOworICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKFNl
Y29uZHMpOwogICAgIHZvaWQgbWluaW11bUxpZmV0aW1lVGltZXJGaXJlZCgpOwogICAgIC8vIE91
ciB3ZWIgcHJvY2VzcyBjb25uZWN0aW9ucy4KICAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3ND
b25uZWN0aW9uPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2Fj
aGVNb2RlbC5jcHAKaW5kZXggNDAzZjM0ZGZjZDRiN2FkYzQ5YmEwNDYyYjlmZGVmYTZkZWYzZmQ0
NS4uMTJiYTdiMTMxYTFkODlmOWE5ZGVkOGMwNTViYWI1ODdhODM0OGE1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9DYWNoZU1vZGVsLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVN
b2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVh
ZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNh
Y2hlQ2FwYWNpdHkpCit2b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
aW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgU2Vjb25kcyYg
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFj
aXR5KQogewogICAgIHVpbnQ2NF90IG1lbW9yeVNpemUgPSByYW1TaXplKCkgLyBNQjsKIApAQCAt
MTA5LDcgKzEwOSw3IEBAIHZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVs
IGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpCiAgICAgICAgIC8vIGNhbiBw
cm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jl
c3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gc3RkOjptYXgoMjR1LCBjYWNo
ZU1heERlYWRDYXBhY2l0eSk7CiAKLSAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCA9IFNlY29uZHMoNjApOwogCiAgICAgICAgIGJyZWFrOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCmluZGV4IGNmNDczNDU0ZmUyYWMzM2QzY2E0
M2E3MmZhNTkzZTRjNGU1MWQzZDUuLjFlMDc3Njg4ZWE3OGRjODQyOTg4ZjRmNWYwM2FjYWJiOTMx
MjRhNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaApAQCAtMjYsOCArMjYsOCBAQAog
I2lmbmRlZiBDYWNoZU1vZGVsX2gKICNkZWZpbmUgQ2FjaGVNb2RlbF9oCiAKLSNpbmNsdWRlIDxj
aHJvbm8+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTM3LDcgKzM3LDcgQEAgZW51bSBDYWNoZU1vZGVsIHsK
ICAgICBDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIKIH07CiAKLXZvaWQgY2FsY3VsYXRlTWVt
b3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1
bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBh
Y2l0eSwgc3RkOjpjaHJvbm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSk7Cit2b2lkIGNhbGN1bGF0ZU1lbW9yeUNh
Y2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWdu
ZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHks
IFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdl
Q2FjaGVDYXBhY2l0eSk7CiB2b2lkIGNhbGN1bGF0ZVVSTENhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwg
dWludDY0X3QgZGlza0ZyZWVTaXplLCB1bnNpZ25lZCYgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSwg
dWludDY0X3QmIHVybENhY2hlRGlza0NhcGFjaXR5KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCmluZGV4IDE3NTc4OWZiOWFlNzEz
ZjE2ZWVlZGJmYWJlMDBkNmYzM2U2M2NmMjMuLjQ5Yjc5NDY1ZGY2ZTFiMmExMjFjM2ZhNTJkMDAz
ZmIxOTUxYmMyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCkBAIC0z
Myw4ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogQ2hpbGRQcm9jZXNzOjpDaGlsZFBy
b2Nlc3MoKQotICAgIDogbV90ZXJtaW5hdGlvblRpbWVvdXQoMCkKLSAgICAsIG1fdGVybWluYXRp
b25Db3VudGVyKDApCisgICAgOiBtX3Rlcm1pbmF0aW9uQ291bnRlcigwKQogICAgICwgbV90ZXJt
aW5hdGlvblRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNoaWxkUHJvY2Vzczo6dGVybWlu
YXRpb25UaW1lckZpcmVkKQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZCgiUHJv
Y2VzcyBTdXBwcmVzc2lvbiBEaXNhYmxlZCBieSBVSVByb2Nlc3MiKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IGEwNmUzNDlhMzhjMjgxZjVhY2U4ZDM2MjJhMDU0NjFm
OTQwNGRhNWMuLjk4NWFkNmE2MWIyYTgyYWI3ODUwMjlmZTQyZGVjNDc1MmVmYzQ2Y2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJvdGVjdGVk
OgogICAgIGV4cGxpY2l0IENoaWxkUHJvY2VzcygpOwogICAgIHZpcnR1YWwgfkNoaWxkUHJvY2Vz
cygpOwogCi0gICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoZG91YmxlIHNlY29uZHMpIHsg
bV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CisgICAgdm9pZCBzZXRUZXJtaW5hdGlv
blRpbWVvdXQoU2Vjb25kcyBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25k
czsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFs
aXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
Jik7CkBAIC0xMTcsNyArMTE3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFRoZSB0aW1lb3V0LCBp
biBzZWNvbmRzLCBiZWZvcmUgdGhpcyBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZCBpZiB0ZXJt
aW5hdGlvbgogICAgIC8vIGhhcyBiZWVuIGVuYWJsZWQuIElmIHRoZSB0aW1lb3V0IGlzIDAgc2Vj
b25kcywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGltbWVkaWF0ZWx5LgotICAgIGRv
dWJsZSBtX3Rlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1fdGVybWluYXRpb25UaW1l
b3V0OwogCiAgICAgLy8gQSB0ZXJtaW5hdGlvbiBjb3VudGVyOyB3aGVuIHRoZSBjb3VudGVyIHJl
YWNoZXMgemVybywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkCiAgICAgLy8gYWZ0ZXIg
YSBnaXZlbiBwZXJpb2Qgb2YgdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRl
eCBhMTJhNDQ0NWJiMTZjYWFmNjkyNzNiNjRhODYzMjEwOGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJk
ODI1OThhY2E2Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVk
ZSAiUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+
CkBAIC01MSw4ICs1Miw4IEBAIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
IHsKICAgICBQbHVnaW5Qcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAgICBib29sIHN1cHBvcnRz
QXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CiAKLSAgICBkb3VibGUgbWluaW11bUxp
ZmV0aW1lOwotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtaW5p
bXVtTGlmZXRpbWU7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBXZWJDb3JlOjpNYWNoU2VuZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdQb3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcAppbmRleCBmMGZmYjc3MjZhNTNlZTRmODQyM2Q0NmI3OWJiMGZkYWYwNWRlN2M0Li4z
ODBlMDFlNWU3NDYxNzM3ZTU3NTNlOTY2NWFjMmUzNDYwNTUyNjFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTA2LDM2ICsxMDYs
NiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdm9pZCBB
cmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29u
c3QgTW9ub3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1Np
bmNlRXBvY2goKS52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGlt
ZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAg
IGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgdGltZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRz
KHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25kcykKLXsK
LSAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVy
PFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25kcykKLXsK
LSAgICBkb3VibGUgdmFsdWU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsKLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFmZmluZVRyYW5z
Zm9ybSkKIHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29k
ZShlbmNvZGVyLCBhZmZpbmVUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDQ4MTlmY2JjMDRhYzcxNjI1NjczYTg0NDY3Zjc0
NTQyY2NiOTI5OTUuLjMxNTQwNjJkOWRjMzUyYTkxZjRiMzNiYjY1NDM5OTU2ZTU4ODA5YjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMx
LDExICszMSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVkREIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BheW1lbnRIZWFkZXJzLmg+CiAKLW5hbWVzcGFjZSBXVEYgewotY2xhc3MgTW9ub3Rv
bmljVGltZTsKLWNsYXNzIFNlY29uZHM7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwpAQCAtMTUy
LDE2ICsxNDcsNiBAQCB1c2luZyBJREJLZXlQYXRoID0gVmFyaWFudDxTdHJpbmcsIFZlY3RvcjxT
dHJpbmc+PjsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1lPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29k
ZXImLCBjb25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
RGVjb2RlciYsIFdURjo6TW9ub3RvbmljVGltZSYpOwotfTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYsIGNvbnN0IFdURjo6U2Vjb25kcyYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNv
ZGVyJiwgV1RGOjpTZWNvbmRzJik7Ci19OwotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShF
bmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7CiAgICAgc3RhdGljIGJv
b2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAwNTNmYTZlYTI5NzNjZTdi
MWRiM2NmZjM5Mjc1MWVhYmY0ZTE4ZDEwLi40NDYzYTA3ODJkYWQ2ZmRlNzAwMDY3N2E4ZmM1NmI0
NDA0OWUyNzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3Bw
CkBAIC01Nyw3ICs1Nyw2IEBAIFdlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIoKQog
ICAgIDogbV9zYW1wbGVUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVy
RmlyZWQpCiAgICAgLCBtX3N0b3BUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnN0b3BU
aW1lckZpcmVkKQogICAgICwgbV9pc1J1bm5pbmcoZmFsc2UpCi0gICAgLCBtX3J1bm5pbmdUaW1l
KDApCiB7CiB9CiAKQEAgLTY3LDcgKzY2LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFy
dChjb25zdCBkb3VibGUgaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpbml0
aWFsaXplVGVtcExvZ0ZpbGUoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAg
ICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBXZWJNZW1v
cnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxv
Z0ZpbGVIYW5kbGUsIGNvbnN0IFN0cmluZyYgc2FtcGxlTG9nRmlsZVBhdGgsIGNvbnN0IGRvdWJs
ZSBpbnRlcnZhbCkgCkBAIC04MiwxNyArODEsMTcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpz
dGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUK
ICAgICB9CiAgICAgICAgIAogICAgIGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKHNhbXBsZUxv
Z0ZpbGVIYW5kbGUsIHNhbXBsZUxvZ0ZpbGVQYXRoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGlu
dGVydmFsKTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKICAgIAog
fQogCi12b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVy
dmFsKQordm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKFNlY29uZHMgaW50
ZXJ2YWwpCiB7Ci0gICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxKTsKKyAgICBtX3Nh
bXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMSkpOwogICAgIHByaW50ZigiU3RhcnRl
ZCBtZW1vcnkgc2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgp
LmRhdGEoKSwgZ2V0cGlkKCkpOwotICAgIGlmIChpbnRlcnZhbCA+IDApIHsKKyAgICBpZiAoaW50
ZXJ2YWwgPiBTZWNvbmRzKDApKSB7CiAgICAgICAgIG1fc3RvcFRpbWVyLnN0YXJ0T25lU2hvdChp
bnRlcnZhbCk7Ci0gICAgICAgIHByaW50ZigiIGZvciBhIGludGVydmFsIG9mICVnIHNlY29uZHMi
LCBpbnRlcnZhbCk7CisgICAgICAgIHByaW50ZigiIGZvciBhIGludGVydmFsIG9mICVnIHNlY29u
ZHMiLCBpbnRlcnZhbC52YWx1ZSgpKTsKICAgICB9CiAgICAgcHJpbnRmKCI7IFNhbXBsZXIgbG9n
IGZpbGUgc3RvcmVkIGF0OiAlc1xuIiwgbV9zYW1wbGVMb2dGaWxlUGF0aC51dGY4KCkuZGF0YSgp
KTsKICAgICBtX3J1bm5pbmdUaW1lID0gaW50ZXJ2YWw7CkBAIC0xNTksNyArMTU4LDcgQEAgdm9p
ZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCgpCiB7CiAgICAgaWYgKCFtX2lzUnVu
bmluZykKICAgICAgICAgcmV0dXJuOwotICAgIHByaW50ZigiJWcgc2Vjb25kcyBlbGFwc2VkLiBT
dG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9ydW5uaW5nVGltZSk7CisgICAgcHJpbnRm
KCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9yeSBzYW1wbGVyLi4uXG4iLCBtX3J1
bm5pbmdUaW1lLnZhbHVlKCkpOwogICAgIHN0b3AoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJNZW1vcnlTYW1wbGVyLmgKaW5kZXggMjc4N2I1MTVkYWJjNTFlYmVjNWJjMDY0NmYxM2Jl
ZmU1MTI5ODYyMi4uZGE0Mjg4YjU4NDA5ZmZiYWFmOGQyNzNjYjM4NTg0NWIwZDFkODg2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCkBAIC04NCw3ICs4NCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplVGVtcExvZ0ZpbGUoKTsKICAgICB2b2lkIGlu
aXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYs
IGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgd3JpdGVIZWFkZXJzKCk7Ci0gICAgdm9pZCBpbml0
aWFsaXplVGltZXJzKGRvdWJsZSk7CisgICAgdm9pZCBpbml0aWFsaXplVGltZXJzKFNlY29uZHMp
OwogICAgIHZvaWQgc2FtcGxlVGltZXJGaXJlZCgpOwogICAgIHZvaWQgc3RvcFRpbWVyRmlyZWQo
KTsKICAgICB2b2lkIGFwcGVuZEN1cnJlbnRNZW1vcnlVc2FnZVRvRmlsZShXZWJDb3JlOjpQbGF0
Zm9ybUZpbGVIYW5kbGUmKTsKQEAgLTEwMCw3ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIFdlYkNv
cmU6OlRpbWVyIG1fc2FtcGxlVGltZXI7CiAgICAgV2ViQ29yZTo6VGltZXIgbV9zdG9wVGltZXI7
CiAgICAgYm9vbCBtX2lzUnVubmluZzsKLSAgICBkb3VibGUgbV9ydW5uaW5nVGltZTsKKyAgICBT
ZWNvbmRzIG1fcnVubmluZ1RpbWU7CiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IG1fc2Ft
cGxlTG9nU2FuZGJveEV4dGVuc2lvbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGVjODZlMWUyMWZmY2Nk
NmQ4NzJhYWExZjJkNDE5ZTQ2NjZhMzI3ZGIuLjBkMzdiOWEzZWQ3ZTM2NGMxYzRiNjk5M2Y5MDY3
OTJhNWZlYWVlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTEzLDcgKzExMyw3IEBAIHN0cnVjdCBXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKIAogICAgIGJvb2wgaWNvbkRhdGFiYXNlRW5hYmxlZDsK
IAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlv
blRpbWVvdXQ7CiAKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaAppbmRleCA2
YWY3OTAyZGEzZjlmYTljMmVhYmRhYWEwZTVkNzg1ZjY1MzJlNmU3Li40MzY4Y2MyY2MxYjNmNWM2
ZDVhOGViM2IzODBiMmU4YmRiM2E0YTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lPU3VyZmFjZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+Ci0jaW5jbHVkZSA8Y2hyb25vPgorI2luY2x1
ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKIE9CSkNfQ0xBU1MgQ0FMYXllcjsKIApAQCAtOTEs
NyArOTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHNldEJ1ZmZlclZvbGF0aWxpdHkoQnVmZmVy
VHlwZSB0eXBlLCBib29sIGlzVm9sYXRpbGUpOwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9j
bG9jazo6dGltZV9wb2ludCBsYXN0RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3RE
aXNwbGF5VGltZTsgfQorICAgIE1vbm90b25pY1RpbWUgbGFzdERpc3BsYXlUaW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGRyYXdJ
bkNvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgQ0dJbWFnZVJlZiBiYWNrSW1hZ2Up
OwpAQCAtMTAzLDggKzEwMywxMCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtQ0FMYXllclJlbW90
ZSogbV9sYXllcjsKIAogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3NpemU7Ci0gICAgZmxvYXQg
bV9zY2FsZTsKLSAgICBib29sIG1faXNPcGFxdWU7CisgICAgZmxvYXQgbV9zY2FsZSB7IDEgfTsK
KworICAgIGJvb2wgbV9pc09wYXF1ZSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2FjY2VsZXJhdGVz
RHJhd2luZyB7IGZhbHNlIH07CiAKICAgICBXZWJDb3JlOjpSZWdpb24gbV9kaXJ0eVJlZ2lvbjsK
IApAQCAtMTEyLDcgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTaGFyZWFibGVC
aXRtYXA+IGJpdG1hcDsKICNpZiBVU0UoSU9TVVJGQUNFKQogICAgICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBzdXJmYWNlOwotICAgICAgICBib29sIGlzVm9sYXRpbGUg
PSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc1ZvbGF0aWxlIHsgZmFsc2UgfTsKICNlbmRpZgogCiAg
ICAgICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdApAQCAtMTM4LDExICsxNDAsOSBA
QCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gbV9mcm9udENvbnRleHRQ
ZW5kaW5nRmx1c2g7CiAKLSAgICBib29sIG1fYWNjZWxlcmF0ZXNEcmF3aW5nOwotCiAgICAgV2Vi
Q29yZTo6UmVwYWludFJlY3RMaXN0IG1fcGFpbnRpbmdSZWN0czsKIAotICAgIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0RGlzcGxheVRpbWU7CisgICAgTW9ub3Rv
bmljVGltZSBtX2xhc3REaXNwbGF5VGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdT
dG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUubW0KaW5kZXggZDU3MTlkZGExMmJlYWI4MjJkZjMyYjcyMTU4ZWJhNmE1ZTk5NDIwNS4uY2Jj
ZjcxYzVmNzU0ZWVjM2U4NjBmZjEyZmM3M2ZmYTg1YzY3ZGQxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCkBAIC02Miw4
ICs2Miw2IEBAIHN0YXRpYyBXZWJDb3JlOjpJT1N1cmZhY2U6OkZvcm1hdCBidWZmZXJGb3JtYXQo
Ym9vbCBpc09wYXF1ZSkKIAogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbGF5ZXIpCiAgICAgOiBtX2xheWVyKGxh
eWVyKQotICAgICwgbV9pc09wYXF1ZShmYWxzZSkKLSAgICAsIG1fbGFzdERpc3BsYXlUaW1lKHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQ6Om1pbigpKQogewogICAgIGlmICgh
bV9sYXllcikKICAgICAgICAgcmV0dXJuOwpAQCAtMjMxLDcgKzIyOSw3IEBAIGJvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkoKQogewogICAgIEFTU0VSVCghbV9mcm9udENvbnRl
eHRQZW5kaW5nRmx1c2gpOwogCi0gICAgbV9sYXN0RGlzcGxheVRpbWUgPSBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3REaXNwbGF5VGltZSA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOwogCiAgICAgYm9vbCBuZWVkVG9FbmNvZGVCYWNraW5nU3RvcmUgPSBmYWxzZTsK
ICAgICBpZiAoUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogY29udGV4dCA9IG1fbGF5ZXItPmNvbnRl
eHQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCmluZGV4IGZlNDk3MWVlNzM5MjQxNGFiYzEx
OTQwYWM3OWY4Zjc5MTRjYTQ4NjIuLmNkODNhMzhkOTg0NTVkYjVkNTRlZDNmNDY1Mzk4NmVlZDk3
NDUzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaApAQCAtNjQsNyArNjQsNyBAQCBwcml2
YXRlOgogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdz
OwogICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUmLCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdzIHZvbGF0aWxpdHlNYXJraW5n
RmxhZ3MgPSAwKTsKLSAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZSYsIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93
KTsKKyAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdT
dG9yZSYsIE1vbm90b25pY1RpbWUgbm93KTsKIAogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3RvcmU7CiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJh
Y2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJhY2tpbmdTdG9yZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1t
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxl
Y3Rpb24ubW0KaW5kZXggMjY4MzZlN2JmMzg2NDdlNDgwMGE2NGIwYzc1Y2U2ZmZiMGNhMTRiZS4u
YmRjODdhNzA4MDczNjRlNjYzOTljOWQ2N2MyNTZlMzFlZmZjOGFmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
bW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb24ubW0KQEAgLTMwLDkgKzMwLDkgQEAKICNpbXBvcnQgIlJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVDb250ZXh0LmgiCiAKLWNvbnN0
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0g
MXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxlU2Vjb25kYXJ5QmFj
a2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMjAwbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFsID0gMjAwbXM7Citjb25zdCBTZWNvbmRzIHZv
bGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gU2Vjb25kcygxKTsKK2NvbnN0IFNlY29u
ZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSBTZWNvbmRzKDAu
Mik7Citjb25zdCBTZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFsID0gU2Vjb25kcygwLjIp
OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1l
ZGlhdGVseShSZW1vCiAgICAgcmV0dXJuIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xh
dGlsZTsKIH0KIAotYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtC
YWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3Jl
LCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG5vdykKK2Jvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgTW9ub3RvbmljVGltZSBub3cpCiB7
CiAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA8IHZvbGF0aWxl
QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKSB7CiAgICAgICAgIGlmIChub3cgLSBiYWNraW5nU3Rv
cmUubGFzdERpc3BsYXlUaW1lKCkgPj0gdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQpCkBAIC0xNjQsNyArMTY0LDcgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKCkKIHsKICAgICBib29sIHN1Y2Nlc3Nm
dWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IHRydWU7CiAKLSAgICBhdXRvIG5vdyA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5nU3RvcmUgOiBtX2xpdmVC
YWNraW5nU3RvcmUpCiAgICAgICAgIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGls
ZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoKmJhY2tpbmdTdG9yZSwgbm93KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVk
U2NyaXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
QVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KaW5kZXggODM5NDVkZmVkMzFjNTkxODM1
OGJlN2Y2NzE2YjFiZmU3MDE4OGI1OS4uZGM1NjE5OWU2OTkyYzY3YTJlMjBlN2ZlZTdlOWU5NzEz
N2U5YzZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9B
UElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCkBAIC00Niw3
ICs0Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KSB7CiAgICAg
ICAgICAgICBtX2NvbnRleHQgPSBhZG9wdE5TKFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XSk7Ci0g
ICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX2Nv
bnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmNwcAppbmRleCBjYWYwZDcyM2YwNjU5NjllMGMwOGM0NmUwMmMyNGE2ZTQ3YzExOWQ4
Li5lYjEwMDM0YzEzMWNkOGI5MTA5NWViMTNlOWQ5NGM1MzgzOGJjOTM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNTkwLDcgKzU5MCw3IEBA
IHZvaWQgRXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKCFtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Rpc3BsYXlU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpzZXRWaWV3cG9ydFBvc2l0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRzUG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggMDRjN2U5
NTQ3Mjk5NTdjZTQyODJlYjQwZTFjODcxMDNjMTQ0NWY1Zi4uOTU2NWUyMmM5MWMzNjk1NTYwYzI1
OTEwNzE1MjdhYjBkMzZiZGJhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKFdl
YktpdFdlYlZpZXdCYXNlKiB3ZWJWCiAgICAgaWYgKHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcml2LT51cGRhdGVBY3Rp
dml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5
U3RhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHN0YXRpYyBnYm9vbGVh
biB0b3BsZXZlbFdpbmRvd0ZvY3VzSW5FdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRG
b2N1cyosIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCmluZGV4IGZkOGJjNWFjOWE5N2M4MzA1
NWQ0OGI3NWJhODAwOTMzOTk2NTE3YjAuLjllZWNhMjA2ZGQyZWU2ZmJmYWYwYzNlYTE3YTNkNGY0
NzQ3Mjg5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nl
c3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1By
b3h5LmNwcApAQCAtMTkzLDcgKzE5Myw3IEBAIHZvaWQgQ2hpbGRQcm9jZXNzUHJveHk6OnNodXRE
b3duUHJvY2VzcygpCiAgICAgICAgIC8vIE9uIGlPUyBkZXBsb3kgYSB3YXRjaGRvZyBpbiB0aGUg
VUkgcHJvY2Vzcywgc2luY2UgdGhlIGNoaWxkIHByb2Nlc3MgbWF5IGJlIHN1c3BlbmRlZC4KICAg
ICAgICAgLy8gSWYgMzBzIGlzIGluc3VmZmljaWVudCBmb3IgYW55IG91dHN0YW5kaW5nIGFjdGl2
aXR5IHRvIGNvbXBsZXRlIGNsZWFubHksIHRoZW4gaXQgd2lsbCBiZSBraWxsZWQuCiAgICAgICAg
IEFTU0VSVChtX2Nvbm5lY3Rpb24pOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNv
b24oMzApOworICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oU2Vjb25kcygzMCkp
OwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3RhdGU6OlRlcm1pbmF0ZWQ6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpp
bmRleCA0NTI5OTIyYjRmYmY2YmY1MzFjN2MwNWE3YzIyM2I2MzUxNDMyNTYwLi5mNzJmNGJjNjcx
MWVhYTY4NWZhNGM5YmE4NDUyYzUyN2ViMWE1MDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTg1Miw3ICs4NTIsNyBAQCB2
b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKCkKICAgICB9IGVsc2Ugewog
ICAgICAgICAvLyBEZWxheSByZWxlYXNpbmcgdGhlIGJhY2tncm91bmQgYWN0aXZpdHkgZm9yIDMg
c2Vjb25kcyB0byBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhIGNoYW5jZSB0byBzdGFydCBhbm90aGVy
IG5hdmlnYXRpb24KICAgICAgICAgLy8gYmVmb3JlIHN1c3BlbmRpbmcgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyA8cmRhcjovL3Byb2JsZW0vMjc5MTA5NjQ+LgotICAgICAgICBtX3JlbGVhc2VBY3Rp
dml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzcyk7CisgICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMykpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
Y3BwCmluZGV4IDQ5ZjE4ZTM3OGE1MjlkMDU2NWIwZDdlZTllNjE4ODIxMmNmZGQyYjguLjI4NmYy
YWJhZWI0MDU4NGM5NDA1MTkxZGY5YTA5NzU0OWQ0NDc1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBA
IC00MCwxMyArNDAsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hv
dFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24g
PSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNo
b3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGljIGNv
bnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxs
eU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSBTZWNvbmRzKDMpOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gU2Vj
b25kcygwLjI1KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1czsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9
IFNlY29uZHMoNSk7CiAjZWxzZQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3
aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gU2Vjb25kcygzKTsK
ICNlbmRpZgogCiBzdGF0aWMgSGFzaE1hcDx1aW50NjRfdCwgVmlld0dlc3R1cmVDb250cm9sbGVy
Kj4mIHZpZXdHZXN0dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygpCkBAIC0yOTcsMTAgKzI5Nywx
MCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6
d2F0Y2hkb2dUaW1lckZpcmVkKCkKICAgICBmaXJlUmVtb3ZhbENhbGxiYWNrSW1tZWRpYXRlbHko
KTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNr
ZXI6OnN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMgZHVyYXRpb24pCit2b2lkIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRv
ZyhTZWNvbmRzIGR1cmF0aW9uKQogewotICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0
ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICVsbGQgc2Vjb25kcyIsIGR1cmF0aW9uLmNvdW50KCkpKTsK
LSAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uLmNvdW50KCkpOworICAg
IGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICUuM2Yg
c2Vjb25kcyIsIGR1cmF0aW9uLnZhbHVlKCkpKTsKKyAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGR1cmF0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgK
aW5kZXggNzU4ZDczNTBkYmQ4NDc1NzQ2NmNjZGJhODQzNmI2ZTQ5ZDYyYmMyZC4uZTE0ZDczOTcx
OTJhZDBjMDdmMTIyODA5ZmM4N2IxNDQ0NzZkNGRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMTU3LDcg
KzE1Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlbnRPY2N1cnJlZChFdmVudHMpOwog
ICAgICAgICBib29sIGNhbmNlbE91dHN0YW5kaW5nRXZlbnQoRXZlbnRzKTsKIAotICAgICAgICB2
b2lkIHN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMpOworICAgICAgICB2b2lkIHN0
YXJ0V2F0Y2hkb2coU2Vjb25kcyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgU3Ry
aW5nIGV2ZW50c0Rlc2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDQ5ZDRkNWJkNWE5
OWQ0ZDk4MTExNmEwOGExMzI3ZDUwMWNiYWI5NTEuLmIwYzMxY2IxZWRkMDI1MmEyMmJiOWE3YTk4
MTM2MmNhZDQyNGJhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0yNTMsNyArMjUzLDcgQEAgdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmEKICNlbmRpZgogCiAgICAgcGFyYW1ldGVycy5zaG91bGRTdXBwcmVzc01l
bW9yeVByZXNzdXJlSGFuZGxlciA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdFN1cHByZXNz
TWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXldOwotICAgIHBhcmFtZXRlcnMubG9hZFRo
cm90dGxlTGF0ZW5jeSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVn
ZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZh
dWx0c0tleV0pOworICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IFNlY29uZHM6
OmZyb21NaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xv
YWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOwogCiAjaWYgUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTEwMAogICAg
IFJldGFpblB0cjxDRkRhdGFSZWY+IGNvb2tpZVN0b3JhZ2VEYXRhID0gYWRvcHRDRihDRkhUVFBD
b29raWVTdG9yYWdlQ3JlYXRlSWRlbnRpZnlpbmdEYXRhKGtDRkFsbG9jYXRvckRlZmF1bHQsIFtb
TlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gX2Nvb2tpZVN0b3Jh
Z2VdKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAK
aW5kZXggNjllOGM1YjMyMjMyMmRiMDM3MWJiY2IxZjM2NDBmZTRjOTZkODU2NS4uN2VjNzk5MzI4
YWNkNmI0YjE0MWFmMjY0NDFmYjFkNzgxMTdmZjMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtODMsNyArODMsNyBAQCB2b2lkIERyYXdp
bmdBcmVhUHJveHk6OnNldFZpZXdFeHBvc2VkUmVjdChPcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJl
Y3Q+IHZpZXdFeHBvcwogICAgIG1fdmlld0V4cG9zZWRSZWN0ID0gdmlld0V4cG9zZWRSZWN0Owog
CiAgICAgaWYgKCFtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojp2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcAppbmRleCA0NDBkZjlhMzNlZTY5ODY3YjY0MjU4ZDAzMmUwNWU4MTlmMTNhODE0
Li5lZTk4NTg2ZTdlODA1YTE1OWJkN2VhMDVhYzAyODBhMDdhMTk0NDBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTE4MCw3
ICsxODAsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3Jl
U29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRoaXMgbWFueSBzZWNvbmRzIGFmdGVyIHRoZSBs
YXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5IG91ciBiYWNraW5nIHN0b3JlIHRvIHNhdmUg
bWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBzbWFydGVyIHRvIG1ha2UgdGhpcyBk
ZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBhaW50aW5nIGlzLiBTZWUgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGlzY2FyZEJhY2tpbmdT
dG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkaXNjYXJkQmFja2luZ1N0
b3JlRGVsYXkgPSBTZWNvbmRzKDIpOwogCiAgICAgbV9kaXNjYXJkQmFja2luZ1N0b3JlVGltZXIu
c3RhcnRPbmVTaG90KGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSk7CiB9CkBAIC0yMTEsMTMgKzIx
MSwxMyBAQCBpbnQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjp3ZWJWaWV3
RHJhd0NhbGxiYWNrKERyYXdpbmdBcmVhUHJveHlJbQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJ
bXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RhcnQoc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jh
c2U6OkVycm9yKT4gY2FsbGJhY2spCiB7Ci0gICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWVNUygpOworICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgbV9jYWxsYmFjayA9IGNhbGxiYWNrOwogI2lmIFBMQVRGT1JNKEdUSykKICAgICBn
X3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgImRyYXciLCBy
ZWludGVycHJldF9jYXN0PEdDYWxsYmFjaz4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMSkpOwogI2Vsc2UKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICNlbmRpZgogfQogCkBAIC0yMjcsNyArMjI3
LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0b3AoKQog
I2lmIFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1
bmMobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgcmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcj4od2Vi
Vmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwogI2VuZGlmCi0gICAgbV9zdGFydFRpbWUgPSAwOwor
ICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgIGlmIChtX2NhbGxiYWNrKSB7
CiAgICAgICAgIG1fY2FsbGJhY2soQ2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSk7CiAgICAgICAg
IG1fY2FsbGJhY2sgPSBudWxscHRyOwpAQCAtMjM5LDEwICsyMzksMTAgQEAgdm9pZCBEcmF3aW5n
QXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRpZERyYXcoKQogICAgIC8vIFdlIHdhaXQg
dXAgdG8gMSBzZWNvbmQgZm9yIGRyYXcgZXZlbnRzLiBJZiB0aGVyZSBhcmUgc2V2ZXJhbCBkcmF3
IGV2ZW50cyBxdWV1ZWQgcXVpY2tseSwKICAgICAvLyB3ZSB3YW50IHRvIHdhaXQgdW50aWwgYWxs
IG9mIHRoZW0gaGF2ZSBiZWVuIHByb2Nlc3NlZCwgc28gYWZ0ZXIgcmVjZWl2aW5nIGEgZHJhdywg
d2Ugd2FpdAogICAgIC8vIHVwIHRvIDEwMG1zIGZvciB0aGUgbmV4dCBvbmUgb3Igc3RvcC4KLSAg
ICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKSAtIG1fc3RhcnRUaW1lID4gMTAw
MCkKKyAgICBpZiAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0VGltZSA+IFNlY29uZHMo
MSkpCiAgICAgICAgIHN0b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDAuMTAwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjEpKTsK
IH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJh
d2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrRnVu
Y3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oCmluZGV4IDg5YzcxM2ZjODdhNzM1NDkzMDM4YWQxMGQ5MGRjMWNmNjA2MWQ0NTcuLjVhYTY2
YzZkMDQ4YmQwZjdkMjZmOGM3YzY0ZWQwZDFhMjgyZjdmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIHZvaWQgZGlkRHJhdygpOwogCiAgICAgICAgIFdlYlBhZ2VQcm94eSYg
bV93ZWJQYWdlOwotICAgICAgICBkb3VibGUgbV9zdGFydFRpbWUgeyAwIH07CisgICAgICAgIE1v
bm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2Fs
bGJhY2tCYXNlOjpFcnJvcik+IG1fY2FsbGJhY2s7CiAgICAgICAgIFJ1bkxvb3A6OlRpbWVyPERy
YXdpbmdNb25pdG9yPiBtX3RpbWVyOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggNjc3Y2Q2NzM5
MWFmNTY5ZjQyYWZmYmRmNDQwYWFlMjE1NTE1ZjQzZS4uY2VhOTgyZjZlMjJjNjA0OThlYWI4Mjk2
OTQzZjUwNTMyYjhiNDM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dh
bWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMzksNyArMzksNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBk
b3VibGUgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9IDEgLyAxMjAuMDsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgPSBTZWNvbmRzKDEgLyAx
MjAuMCk7CiAKIFVJR2FtZXBhZFByb3ZpZGVyJiBVSUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9u
KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IDU0ZGZiM2IwNThkNGZlOTAzNzQ2MTU3OTJlZmE1NmIw
OGZkZDBiNjguLjQ1YmJkMDM4ZDcwMTUyYjU1NDUyOWE0OTYyYjIzNDI0NmU1YTc0ZjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c1Byb3h5LmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtTGlmZXRp
bWUgPSAyICogNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ01pbmltdW1MaWZl
dGltZSA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bUxpZmV0aW1lID0gU2Vjb25k
cygyICogNjApOworc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxpZmV0
aW1lID0gU2Vjb25kcygzMCk7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgc2h1dGRvd25UaW1lb3V0
ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVv
dXQgPSAxNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCA9IFNlY29uZHMo
MSAqIDYwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91
dCA9IFNlY29uZHMoMTUpOwogCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVn
aW5JbmZvQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1Bs
dWdpbkluZm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVhZjY2NzdhOTI5OWRlODU0OTQ1ZjkxNDU4
MDMzNDllMy4uZDU1ZTdkNWI1YjA5ZmNhNGQzMDI0NGJmZjcwZGY5NGJhYzJmYWQyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbklu
Zm9DYWNoZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lkIFBsdWdpbkluZm9DYWNoZTo6dXBk
YXRlUGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIGNvbnN0IFBsdWdpbk1vZAog
ICAgICAgICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0
dXJuOwogCi0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAppbmRleCAy
Mjc1YmIzYjIyNmI3ZGJkNDhkMzNjZjBmMzZkMjM0OWQ4NTBiZWM2Li43NDRjYzlkYzcxMGZiODQ0
MWNmMGMyMmRhMTYzMTAyYzMzZjhjNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogICAgIAotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91
dCA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0g
U2Vjb25kcygzMCk7CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVyOjpQcm9jZXNzVGhyb3R0bGVyKFBy
b2Nlc3NUaHJvdHRsZXJDbGllbnQmIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcApp
bmRleCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFjNDA2N2VlZjJiLi5hNDBhOTk4NmMz
NGVkM2FjMmVlY2U3ODM0YzZhNTA0ZjYzZjhmYzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHJlc3BvbnNpdmVuZXNzVGlt
ZW91dCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXNwb25zaXZlbmVzc1RpbWVvdXQgPSBT
ZWNvbmRzKDMpOwogCiBSZXNwb25zaXZlbmVzc1RpbWVyOjpSZXNwb25zaXZlbmVzc1RpbWVyKFJl
c3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCmluZGV4
IGEzZmI3NzBmNWNkYmNkY2I1ZmE3N2FiNGQyZjBiNTQ3NDQ4OTBmNmYuLmUzNDI4NzA2YjFjZDEz
ZmU1MjA4OTVlNWQ0OGJmOWRmN2IyZjhhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBWaXNpdGVkTGlu
a1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2goTGlua0hhc2ggbGlua0hhc2gpCiAgICAgbV9wZW5k
aW5nVmlzaXRlZExpbmtzLmFkZChsaW5rSGFzaCk7CiAKICAgICBpZiAoIW1fcGVuZGluZ1Zpc2l0
ZWRMaW5rc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFZpc2l0ZWRMaW5rU3RvcmU6OnJl
bW92ZUFsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApp
bmRleCBmN2NlNjlmNGNlOTc2ODJjNGM1MDZmMjNmYmYyNDg2YjBjMDg4Mjc3Li5mMTY0OGVhZThh
ZTg2ZjQwMjAwNmI0ZGY0NDU2NmFkNzg4MTJkNDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBXZWJQcm9jZXNzUG9v
bDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZpZ3Vy
YXRpb24pCiAgICAgLCBtX2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eShtX2NvbmZpZ3Vy
YXRpb24tPmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSgpKQogICAgICwgbV91c2VyT2Jz
ZXJ2YWJsZVBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vz
c1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJs
ZWRGb3JQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nlc3NT
dXBwcmVzc2lvblN0YXRlKCk7IH0pCi0gICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0lu
Y3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJv
dHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDApOyB9KQorICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0
bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRk
ZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsgfSkKICAgICAs
IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQ
cm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCkK
IHsKICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUmV2YWxp
ZGF0ZWRVUkxTY2hlbWVzKCkpCkBAIC01OTgsNyArNTk4LDcgQEAgV2ViUHJvY2Vzc1Byb3h5JiBX
ZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2VzcygpCiAgICAgLy8gaWNvbkRhdGFiYXNl
UGF0aCBpcyBub24tZW1wdHkgYnkgZGVmYXVsdCwgYnV0IG1faWNvbkRhdGFiYXNlIGlzbid0IGVu
YWJsZWQgaW4gVUkgcHJvY2VzcyB1bmxlc3Mgc2V0RGF0YWJhc2VQYXRoIGlzIGNhbGxlZCBleHBs
aWNpdGx5LgogICAgIHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCA9ICFpY29uRGF0YWJh
c2VQYXRoKCkuaXNFbXB0eSgpOwogCi0gICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQg
PSAwOworICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gU2Vjb25kcygwKTsKIAog
ICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSA9IFRleHRDaGVja2VyOjpzdGF0ZSgpOwog
CkBAIC0xNDE5LDEwICsxNDE5LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRl
blBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQoKQogICAgIC8vIFdlJ3JlIGVzdGltYXRp
bmcgYW4gdXBwZXIgYm91bmQgZm9yIGEgc2V0IG9mIGJhY2tncm91bmQgdGltZXIgZmlyZXMgZm9y
IGEgcGFnZSB0byBiZSAyMDBtcwogICAgIC8vIChpbmNsdWRpbmcgYWxsIHRpbWVyIGZpcmVzLCBh
bGwgcGFnaW5nLWluLCBhbmQgYW55IHJlc3VsdGluZyBHQykuIFRvIGVuc3VyZSB0aGlzIGRvZXMg
bm90CiAgICAgLy8gcmVzdWx0IGluIG1vcmUgdGhhbiAxJSBDUFUgbG9hZCBhbGxvdyBmb3Igb25l
IHRpbWVyIGZpcmUgcGVyIDEwMHggdGhpcyBkdXJhdGlvbi4KLSAgICBzdGF0aWMgaW50IG1heGlt
dW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgPSAyMDAgKiAxMDA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlID0gU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcygyMDApICogMTAwOwogCi0gICAgaW50IGxpbWl0SW5NaWxsaXNlY29uZHMgPSBtYXhp
bXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9J
bmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7Ci0gICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChs
aW1pdEluTWlsbGlzZWNvbmRzKSk7CisgICAgU2Vjb25kcyBsaW1pdCA9IG1heGltdW1UaW1lclRo
cm90dGxlUGVyUGFnZSAqIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRl
ci52YWx1ZSgpOworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6
U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXQpKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCmluZGV4IDg1NzQ1YWMzMGFjN2I4M2UxNDgy
NGJmZmVlYmE2OTA5MTNlOWI0NGEuLjA0NDQ5YTJkNDI2Njc0NmJiNzJhYzdiYmMwMTUzNTVjYmI5
Y2Q2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNr
ZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENo
ZWNrZXJDbGllbnRFZmwuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBUZXh0Q2hlY2tlckNs
aWVudEVmbDo6ZW5zdXJlU3BlbGxDaGVja2luZ0xhbmd1YWdlKCkKIHZvaWQgVGV4dENoZWNrZXJD
bGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGRlZmF1bHRMYW5ndWFnZXMpCiB7CiAgICAgbV9zcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0g
ZGVmYXVsdExhbmd1YWdlczsKLSAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6bGFuZ3VhZ2VzVXBkYXRlVGltZXJG
aXJlZCgpCkBAIC0xMjgsNyArMTI4LDcgQEAgVmVjdG9yPFN0cmluZz4gVGV4dENoZWNrZXJDbGll
bnRFZmw6OmxvYWRlZFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKSBjb25zdAogCiB2b2lkIFRleHRD
aGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxsQ2hlY2tpbmdDaGFuZ2VDYWxsYmFj
a0FzeW5jKCkKIHsKLSAgICBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJvb2wgVGV4dENoZWNrZXJDbGllbnRFZmw6OmlzQ29u
dGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkQ2FsbGJhY2soY29uc3Qgdm9pZCopCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4
IDdlMTU3N2NiYThiMTU3MDUyNjRlNWJhNTQ3NWZmYzU5NjJkYWI4ODkuLjIxNTEyNjAzOWM4NzNh
MjE1ZTAwY2IyMTM4ZGJiYTU2OTNiMmRlODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgdm9p
ZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OmJlZ2luKERyYWdHZXN0dXJlKiBkcmFn
R2VzdHVyZSwgZG91YmxlIHgsIGQKICAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a19ldmVudF9j
b250cm9sbGVyX2dldF93aWRnZXQoR1RLX0VWRU5UX0NPTlRST0xMRVIoZ2VzdHVyZSkpOwogICAg
IHVuc2lnbmVkIGRlbGF5OwogICAgIGdfb2JqZWN0X2dldChndGtfd2lkZ2V0X2dldF9zZXR0aW5n
cyh3aWRnZXQpLCAiZ3RrLWxvbmctcHJlc3MtdGltZSIsICZkZWxheSwgbnVsbHB0cik7Ci0gICAg
ZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoZGVsYXkgLyAxMDAw
LjApOworICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoZGVsYXkpKTsKIH0KIAogdm9pZCBHZXN0dXJlQ29udHJv
bGxlcjo6RHJhZ0dlc3R1cmU6OnVwZGF0ZShEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJs
ZSB4LCBkb3VibGUgeSwgR3RrR2VzdHVyZSogZ2VzdHVyZSkKQEAgLTIwNiw3ICsyMDYsNyBAQCB2
b2lkIEdlc3R1cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKFpvb21HZXN0
dXJlKiB6b29tR2VzdHVyZSwgZG91YgogICAgIGlmICh6b29tR2VzdHVyZS0+bV9pZGxlLmlzQWN0
aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHpvb21HZXN0dXJlLT5tX2lkbGUuc3RhcnRP
bmVTaG90KDApOworICAgIHpvb21HZXN0dXJlLT5tX2lkbGUuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiBHZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1cmU6Olpvb21HZXN0dXJlKFdl
YlBhZ2VQcm94eSYgcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0
ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKaW5kZXggZGMxOThkODU4ZjEzYTNjMTIzNmU1MTFk
MzhkYjY4NTI2MTM3ODRhNC4uMWY5NTY1ZTRiNTFkZjEzMzFkNTQxYWUxN2FhN2YwMjA3MzIzM2Iw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQ
cm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1l
bnVQcm94eUd0ay5jcHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5
R3RrOjptZW51VW5tYXBwZWRDYWxsYmFjayhHdGtXaWRnZXQqLCBXZWJQb3B1cE1lbnVQcm94eUd0
awogICAgIC8vIFdoZW4gYW4gaXRlbSBpcyBhY3RpdmF0ZWQsIHRoZSBtZW51IGlzIGZpcnN0IGhp
ZGRlbiBhbmQgdGhlbiBhY3RpdmF0ZSBzaWduYWwgaXMgZW1pdHRlZCwgc28gYXQgdGhpcyBwb2lu
dCB3ZSBkb24ndCBrbm93CiAgICAgLy8gaWYgdGhlIG1lbnUgaGFzIGJlZW4gaGlkZGVuIGJlY2F1
c2UgYW4gaXRlbSBoYXMgYmVlbiBzZWxlY3RlZCBvciBiZWNhdXNlIHRoZSBtZW51IGhhcyBiZWVu
IGRpc21pc3NlZC4gV2FpdCB1bnRpbCB0aGUgbmV4dAogICAgIC8vIG1haW4gbG9vcCBpdGVyYXRp
b24gdG8gZGlzbWlzcyB0aGUgbWVudSwgaWYgYW4gaXRlbSBpcyBhY3RpdmF0ZWQgdGhlIHRpbWVy
IHdpbGwgYmUgY2FuY2VsbGVkLgotICAgIHBvcHVwTWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBwb3B1cE1lbnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6OnNlbGVj
dEl0ZW1DYWxsYmFjayhHdGtXaWRnZXQqIGl0ZW0sIFdlYlBvcHVwTWVudVByb3h5R3RrKiBwb3B1
cE1lbnUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3Bl
Y3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0
b3JQcm94eU1hYy5tbQppbmRleCA4MThiZDM5MGQ0ODNkMDgyMmJhZTc5MzRlMTA2ZmRiYjBjZGZm
ODU0Li43MjVhOWZkODk5ZDVmZDkzZWIzNzY0YjBhZWU3ZDdiYjU3MTk1MDdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0K
QEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93U3R5bGVNYXNr
ID0gTlNXaW5kb3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0eWwKIAogLy8gVGhlIHRpbWUg
d2Uga2VlcCBvdXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xvc2luZyBpdCBhbmQgaXRzIHByb2Nl
c3MuCiAvLyBSZXVzaW5nIHRoZSBXZWJWaWV3IGltcHJvdmVzIHN0YXJ0IHVwIHRpbWUgZm9yIHBl
b3BsZSB0aGF0IGp1bXAgaW4gYW5kIG91dCBvZiB0aGUgSW5zcGVjdG9yLgotc3RhdGljIGNvbnN0
IHVuc2lnbmVkIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHdlYlZpZXdDbG9zZVRpbWVvdXQgPSBTZWNvbmRzKDYwKTsKIAogLy8gV0tXZWJJbnNwZWN0b3JQ
cm94eU9iakNBZGFwdGVyIGlzIGEgaGVscGVyIE9iakMgb2JqZWN0IHVzZWQgYXMgYSBkZWxlZ2F0
ZSBvciBub3RpZmljYXRpb24gb2JzZXJ2ZXIKIC8vIGZvciB0aGUgc29sZSBwdXJwb3NlIG9mIGdl
dHRpbmcgYmFjayBpbnRvIHRoZSBDKysgY29kZSBmcm9tIGFuIE9iakMgY2FsbGVyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVn
eS5jcHAKaW5kZXggZTg5MWNkMDMyYjJmNDM2NjRiNjdlMDZkYmVjY2M4ZWUwMzU4ZGQ4Zi4uZDli
ODI4YTFjODc5ZGJhMWI4ZmZmZjkzMWQxZjBlNjVkM2I4MWViMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBA
IC05MSwxNCArOTEsMTQgQEAgUmVmUHRyPE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyPiBXZWJM
b2FkZXJTdHJhdGVneTo6c2NoZWR1bGVQbHVnaW5TdHJlYW1Mb2FkKEYKICAgICByZXR1cm4gbG9h
ZGVyOwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVy
aW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCitzdGF0aWMgU2Vjb25kcyBtYXhpbXVt
QnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAjaWYgIUVOQUJMRShO
RVRXT1JLX0NBQ0hFKQotICAgIHJldHVybiAwbXM7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiAj
ZW5kaWYKIAogICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAg
IHJldHVybiBTZWNvbmRzKDApOwogCiAgICAgc3dpdGNoIChyZXNvdXJjZS0+dHlwZSgpKSB7CiAg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDoKQEAgLTEwNyw5ICsxMDcsOSBA
QCBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShD
YWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9u
dFJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNl
OgotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCk7CisgICAg
ICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OkltYWdlUmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiA1MDBtczsKKyAgICAgICAgcmV0dXJuIFNl
Y29uZHMoMC41KTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNZWRpYVJlc291cmNlOgogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpSYXdSZXNvdXJjZToKQEAgLTEyNCwxMSArMTI0LDExIEBAIHN0YXRpYyBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNv
dXJjZSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHls
ZVNoZWV0OgogI2VuZGlmCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiBTZWNv
bmRzKDApOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAw
bXM7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6
OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGly
ZWN0KQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxl
TG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiB2b2lkIFdl
YkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUludGVybmFsbHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlcikKIHsKICAgICBtX2ludGVybmFsbHlGYWlsZWRS
ZXNvdXJjZUxvYWRlcnMuYWRkKCZyZXNvdXJjZUxvYWRlcik7Ci0gICAgbV9pbnRlcm5hbGx5RmFp
bGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ludGVybmFsbHlGYWlsZWRMb2Fk
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0
ZWd5OjppbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1l
T2JqZWN0TWFwLmNwcAppbmRleCA0OTkyMGYyY2FhODRmNzY5YjYyZDI0NjJhOWM5ODA3ZjUyMGNm
M2VkLi5hNWU2NmFjYTczZTE5Y2E1Zjk0M2UxMjVhYTRiNjRjZjg4OWEwOWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2Jq
ZWN0TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcApAQCAtMjkzLDcgKzI5Myw3IEBAIHZvaWQgTlBSdW50
aW1lT2JqZWN0TWFwOjphZGRUb0ludmFsaWRhdGlvblF1ZXVlKE5QT2JqZWN0KiBucE9iamVjdCkK
ICAgICBpZiAodHJ5U2FmZVJlbGVhc2VOUE9iamVjdChucE9iamVjdCkpCiAgICAgICAgIHJldHVy
bjsKICAgICBpZiAobV9ucE9iamVjdHNUb0ZpbmFsaXplLmlzRW1wdHkoKSkKLSAgICAgICAgbV9m
aW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZmluYWxpemF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIEFTU0VSVChtX2ZpbmFsaXphdGlv
blRpbWVyLmlzQWN0aXZlKCkpOwogICAgIG1fbnBPYmplY3RzVG9GaW5hbGl6ZS5hcHBlbmQobnBP
YmplY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKaW5kZXggNWM5YTkxODI0NTY2YTQ2
MzAxMGMwZTczOTY4MDM0NTdlMzMzNDc3ZC4uNTQxNzFjMjI1NDc4Zjc2NmRjMmM2YWFiNTcwOTA0
YzUxYzBjYjBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCkBAIC0zMjYsNyArMzI2LDcg
QEAgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjp+VGltZXIoKQogCiB2b2lkIE5ldHNjYXBlUGx1Z2lu
OjpUaW1lcjo6c3RhcnQoKQogewotICAgIGRvdWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFs
IC8gMTAwMC4wOworICAgIFNlY29uZHMgdGltZUludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcyhtX2ludGVydmFsKTsKIAogICAgIGlmIChtX3JlcGVhdCkKICAgICAgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdp
blN0cmVhbS5jcHAKaW5kZXggN2Q1NGQ4OGM3ZTg5OGM1Y2UwYmFkZjFkNzY5YjJlNWQzNWQ5YTI1
NC4uYTc1YTY2MjMxOTQ1MDEwZmQ2YmUwZDIwNTljYzI1NGJjMzZhMjkyOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCkBAIC0yMjIsNyArMjIyLDcgQEAgdm9pZCBOZXRz
Y2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUb1BsdWdpbigpCiAKICAgICAgICAgaWYgKG51
bUJ5dGVzUGx1Z2luQ2FuSGFuZGxlIDw9IDApIHsKICAgICAgICAgICAgIC8vIFRoZSBwbHVnLWlu
IGNhbid0IGhhbmRsZSBtb3JlIGRhdGEsIHdlJ2xsIHNlbmQgdGhlIHJlc3QgbGF0ZXIKLSAgICAg
ICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAg
bV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5t
bQppbmRleCBiOTI2ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1NDNjNmFjYzJlNWUwLi41YTk2NDEx
OGIzZjQ5N2Q3MjU2M2U0MzZlZmE1NGFkMGMxYmNkYTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0
c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmbmRlZiBOUF9OT19DQVJCT04KLXN0YXRpYyBj
b25zdCBkb3VibGUgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyOworc3RhdGljIGNvbnN0
IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSBTZWNvbmRzKDAuMDIpOwogCiBzdGF0
aWMgdW5zaWduZWQgYnV0dG9uU3RhdGVGcm9tTGFzdE1vdXNlRXZlbnQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBhMGQ4YWI4
NjZmYzBiYWQxMDIwYmQxNjViZmQ1NGY1NWUyMWNmNjk0Li4yMWU2ZjBmYTczNDlmYWJjMzdkZGYw
MjY5OTQxOWQ0MzQ0ZTQ1MDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIFRoaXMgc2ltdWxhdGVkIG1vdXNlIGNs
aWNrIGRlbGF5IGluIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIHNob3VsZCBnZW5lcmFsbHkg
YmUgdGhlIHNhbWUgb3Igc2hvcnRlciB0aGFuIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29uc3QgYXV0
byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsg
MTEwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGx1Z2luU25hcHNob3RUaW1lckRlbGF5ID0g
U2Vjb25kcygxLjEpOwogCiBjbGFzcyBQbHVnaW5WaWV3OjpVUkxSZXF1ZXN0IDogcHVibGljIFJl
ZkNvdW50ZWQ8VVJMUmVxdWVzdD4gewogcHVibGljOgpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1lckZpcmVkKCkKIAogICAgIC8vIElm
IHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIHRvIHBlcmZvcm0sIHJlc2NoZWR1bGUgdGhlIHRpbWVy
LgogICAgIGlmICghbV9wZW5kaW5nVVJMUmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3Bl
bmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5n
VVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgCiAgICAgcGVy
Zm9ybVVSTFJlcXVlc3QodXJsUmVxdWVzdC5nZXQoKSk7CiB9CkBAIC0xNDIzLDcgKzE0MjMsNyBA
QCB2b2lkIFBsdWdpblZpZXc6OmxvYWRVUkwodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJp
bmcmIG1ldGhvZCwgY29uc3QgU3RyaW5nJgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLnNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAKICAgICBtX3BlbmRpbmdV
UkxSZXF1ZXN0cy5hcHBlbmQoVVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3RJRCwgZnJhbWVMb2Fk
UmVxdWVzdCwgYWxsb3dQb3B1cHMpKTsKLSAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBQbHVnaW5WaWV3OjpjYW5jZWxTdHJlYW1Mb2FkKHVp
bnQ2NF90IHN0cmVhbUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGI4NzhmYmM5ODQy
ZTNlYmFkNjdmNmZmOThkNzk5MGM5Y2E2MzA1ZTUuLjY3ZmZkMjg0YTJkMTg3NjFkOTVlNjgyYjg0
MDljNTQ4OGExMWVlZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTM0Miw3ICszNDIs
NyBAQCB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nTW9kZVNvb24oKQogICAgIGlmIChleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVQZW5k
aW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGlu
YXRvci5jcHAKaW5kZXggZjNkYWVmYzc4NzZkOTgzYmUxNWM5YmJjMmRhYWMxODI1ZThhYmMyNy4u
M2I0YjFkODY1ODZkMjQxZmI5YzZiMmU1OWZkY2EwNWEzODZlZDRjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9z
aXRpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTE1
NSwxMSArMTU1LDExIEBAIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c3luY0Rpc3BsYXlT
dGF0ZSgpCiB9CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi1kb3VibGUg
Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QK
K1NlY29uZHMgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1l
KCkgY29uc3QKIHsKICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSBzcGVjLCByQUYgY2FsbGJhY2tzIHNob3VsZCBub3QgYmUgZmFzdGVyIHRoYW4gNjBGUFMuCi0g
ICAgc3RhdGljIGNvbnN0IGRvdWJsZSBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgPSAxLiAv
IDYwLjsKLSAgICByZXR1cm4gc3RkOjptYXg8ZG91YmxlPigwLiwgTWluaW1hbFRpbWVvdXRGb3JB
bmltYXRpb25zIC0gdGltZXN0YW1wKCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGltZSk7Cisg
ICAgc3RhdGljIGNvbnN0IFNlY29uZHMgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zID0gU2Vj
b25kcygxLiAvIDYwKTsKKyAgICByZXR1cm4gc3RkOjptYXg8U2Vjb25kcz4oU2Vjb25kcygwKSwg
TWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gU2Vjb25kcyh0aW1lc3RhbXAoKSArIG1fbGFz
dEFuaW1hdGlvblNlcnZpY2VUaW1lKSk7CiB9CiAjZW5kaWYKIApAQCAtMzk4LDcgKzM5OCw3IEBA
IGJvb2wgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6
ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmCiAgICAgcmV0dXJuIG1fdXBkYXRlQXRsYXNlcy5sYXN0
KCktPnBhaW50T25BdmFpbGFibGVCdWZmZXIoc2l6ZSwgYXRsYXNJRCwgb2Zmc2V0LCBjbGllbnQp
OwogfQogCi1jb25zdCBkb3VibGUgUmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwg
PSAwLjU7Citjb25zdCBTZWNvbmRzIFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFs
ID0gU2Vjb25kcygwLjUpOwogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxl
UmVsZWFzZUluYWN0aXZlQXRsYXNlcygpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5h
dG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggZjk4YTM2YmMyN2E3ZjJiY2UxNzdk
MTI3Y2Y5N2Y2OWRiZTFjNzUxYS4uZWJmNjViYjdmOWNkYjdlY2UyN2JjZjAxMDMzNzVkNGNmZDhl
MjM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuaApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzeW5jRGlzcGxh
eVN0YXRlKCk7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi0gICAgZG91
YmxlIG5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dEFu
aW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3Bw
CmluZGV4IDlmNmE4MzIxZTNmMjUxYWE1ZTM2ZTUzNzE4ZDhjYWE5Nzc4MDk1NmEuLjAyY2Q3MTRj
YjY1YmM1MzgwMmMwZTlhZmVkMWE3MGU0ODcyOGRkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtNzksNyAr
NzksNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2NoZWR1bGVMYXllckZsdXNo
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNhbmNlbFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5j
cHAKaW5kZXggNTRiNGVhZDk4M2Y3NTZiZDE0OGUxYWY0Y2JlZDY0NzM5ODA3OTQyZC4uMmQ0YzRk
MDg3MWU4ZWYzZTcyZWU5MmE0NmQyN2YyN2ZlNTIxYjI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM0Miw3
ICszNDIsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVEaXNwbGF5KCkKICAgICBp
ZiAobV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9k
aXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXlUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAppbmRleCBkOTUwMTgzZjUxYzI1NzI5MTNmY2FiNzJkNjQwMTU5ZjE3OTIxMjM2Li5jOGRjYjRl
YTI0NmYzZDA1NjQ2NTdkMDkzMjBhMzYxMzMyZjIyNmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNTMsOSArMjUzLDkgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzU2Vjb25kcyA9IDAuMzsKLXN0YXRpYyBjb25zdCBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVy
dmFsIHsgMjAgfTsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBtYXhpbXVtTGF5
ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCB7IDIgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBh
Z2VTY3JvbGxIeXN0ZXJlc2lzID0gU2Vjb25kcygwLjMpOworc3RhdGljIGNvbnN0IFNlY29uZHMg
aW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlz
ZWNvbmRzKDIwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlU
aW1lckludGVydmFsID0gU2Vjb25kcygyKTsKIAogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVy
cywgX19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoLi4u
KSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJz
LCBfX1ZBX0FSR1NfXykKQEAgLTMxNCw3ICszMTQsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2
NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIoKnRoaXMpCiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNp
cyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lz
U3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0
ZXJlc2lzU2Vjb25kcykKKyAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlz
dGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3Bw
ZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzKQogICAg
ICwgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5jYW5SdW5CZWZv
cmVVbmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMuY2Fu
UnVuTW9kYWwpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMjA1MSw3ICsyMDUxLDcgQEAgdm9pZCBX
ZWJQYWdlOjpjYWxsVm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycygpCiAKIHZvaWQgV2ViUGFn
ZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7Ci0gICAgYXV0byBuZXdJbnRlcnZhbCA9
IDIgKiBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsTVMoKTsKKyAgICBTZWNv
bmRzIG5ld0ludGVydmFsID0gbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbCgp
ICogMjsKICAgICBib29sIGRpZFN1Y2NlZWQgPSBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVs
eUlmUG9zc2libGUoKTsKICAgICBpZiAoZGlkU3VjY2VlZCB8fCBuZXdJbnRlcnZhbCA+IG1heGlt
dW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKSB7CiAgICAgICAgIG1fbGF5ZXJWb2xhdGls
aXR5VGltZXIuc3RvcCgpOwpAQCAtMjA2MCw3ICsyMDYwLDcgQEAgdm9pZCBXZWJQYWdlOjpsYXll
clZvbGF0aWxpdHlUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJr
IGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIHN0
YXRpY19jYXN0PGxvbmcgbG9uZz4obmV3SW50ZXJ2YWwuY291bnQoKSkpOworICAgIFJFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBs
YXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgbmV3SW50ZXJ2
YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhu
ZXdJbnRlcnZhbCk7CiB9CiAKQEAgLTIwOTEsNyArMjA5MSw3IEBAIHZvaWQgV2ViUGFnZTo6bWFy
a0xheWVyc1ZvbGF0aWxlKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIp
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIl
cCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4g
JWxsZCBtcyIsIHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxs
IGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBpbml0aWFs
TGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRp
bGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVy
dmFsKTsKIH0KIApAQCAtMjUzMCw3ICsyNTMwLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVJc0lu
V2luZG93KGJvb2wgaXNJbml0aWFsU3RhdGUpCiAgICAgICAgIC8vIGluIG9yZGVyIHRvIGdldCBw
bHVnLWluIGNvbm5lY3Rpb25zLCBhbmQgdGhlIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIGZv
ciB0aGUgV2ViIHByb2Nlc3MgdG8gdXBkYXRlIHRoZSBiYWNraW5nCiAgICAgICAgIC8vIHN0b3Jl
IGFmdGVyIG1vdmluZyB0aGUgdmlldyBpbnRvIGEgd2luZG93LCB1bnRpbCBpdCB0aW1lcyBvdXQg
YW5kIHBhaW50cyB3aGl0ZS4gU2VlIDxyZGFyOi8vcHJvYmxlbS85MjQyNzcxPi4KICAgICAgICAg
aWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdykKLSAgICAgICAgICAgIG1fc2V0Q2FuU3Rh
cnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRN
ZWRpYVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5wYWdlRGlkRW50ZXJXaW5kb3cobV9wYWdlSUQpOwogICAgIH0KQEAgLTMw
MzcsNyArMzAzNyw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2Vi
UHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjZW5kaWYKIAogICAgIHNldHRpbmdzLnNldFN1cHBy
ZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZ0tleSgpKSk7Ci0gICAg
c2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29u
ZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmluY3JlbWVu
dGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0S2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRJ
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dChTZWNvbmRzKHN0b3JlLmdldERv
dWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjppbmNyZW1lbnRhbFJlbmRlcmluZ1N1
cHByZXNzaW9uVGltZW91dEtleSgpKSkpOwogICAgIHNldHRpbmdzLnNldEJhY2tzcGFjZUtleU5h
dmlnYXRpb25FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNl
dFdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3Ioc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3YW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0Jl
aGF2aW9yS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhcmV0QnJvd3NpbmdFbmFi
bGVkS2V5KCkpKTsKQEAgLTMxMTAsNyArMzExMCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3Mu
c2V0QWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3Jv
bGxLZXkoKSkpOwogCiAgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhc3N3b3JkRWNob0VuYWJsZWRL
ZXkoKSkpOwotICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKHN0
b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYXNzd29yZEVjaG9E
dXJhdGlvbktleSgpKSk7CisgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb24oU2Vj
b25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFzc3dv
cmRFY2hvRHVyYXRpb25LZXkoKSkpKTsKICAgICAKICAgICBzZXR0aW5ncy5zZXRMYXlvdXRJbnRl
cnZhbChzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6bGF5b3V0SW50ZXJ2YWxLZXkoKSkpKSk7CiAgICAgc2V0dGlu
Z3Muc2V0TWF4UGFyc2VEdXJhdGlvbihzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6bWF4UGFyc2VEdXJhdGlvbktleSgpKSk7CkBAIC0zODQ0LDcgKzM4NDQsNyBA
QCB2b2lkIFdlYlBhZ2U6OmFkZFBsdWdpblZpZXcoUGx1Z2luVmlldyogcGx1Z2luVmlldykKICAg
ICBtX2hhc1NlZW5QbHVnaW4gPSB0cnVlOwogI2lmIEVOQUJMRShQUklNQVJZX1NOQVBTSE9UVEVE
X1BMVUdJTl9IRVVSSVNUSUMpCiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0
ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGFkZFBsdWdpblZpZXcoJXApIiwgcGx1
Z2luVmlldyk7Ci0gICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5U
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZW5kaWYKIH0KIApAQCAtNDM4MSw3ICs0
MzgxLDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wg
bWF5U3RhcnRNZWRpYSkKIAogICAgIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9IG1heVN0
YXJ0TWVkaWE7CiAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyAmJiBtX3BhZ2Ut
PmlzSW5XaW5kb3coKSkKLSAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6cnVuTW9kYWwoKQpAQCAtNTE1OSw3ICs1MTU5
LDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAogICAg
IG1fcmVhZHlUb0ZpbmRQcmltYXJ5U25hcHNob3R0ZWRQbHVnaW4gPSB0cnVlOwogICAgIExPRyhQ
bHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24g
ZnJvbSBkaWRGaW5pc2hMb2FkIChtYXJraW5nIGFzIHJlYWR5IHRvIGRldGVjdCkuIik7Ci0gICAg
bV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAjZW5kaWYK
QEAgLTUxNzEsNyArNTE3MSw3IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBwcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5TZWFyY2hCdWNrZXRTaXplID0gMS4xOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtV2lkdGggPSA0MDA7CiBzdGF0aWMgY29uc3QgaW50IHBy
aW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1pbmltdW1IZWlnaHQgPSAzMDA7CiBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMgPSAy
Owotc3RhdGljIGNvbnN0IGludCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVj
dGlvbkRlbGF5ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmVycmVkUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSBTZWNvbmRzKDMpOwogc3RhdGljIGNvbnN0IGZs
b2F0IG92ZXJsYXBwaW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBmbG9h
dCBtaW5pbXVtT3ZlcmxhcHBpbmdJbWFnZVRvUGx1Z2luRGltZW5zaW9uU2NhbGUgPSAuOTsKIApA
QCAtNTI3OSw3ICs1Mjc5LDcgQEAgdm9pZCBXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNo
b3R0ZWRQbHVnSW4oKQogICAgIGlmICghY2FuZGlkYXRlUGx1Z0luKSB7CiAgICAgICAgIExPRyhQ
bHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogZmFpbCAtIGRpZCBub3QgZmluZCBh
IGNhbmRpZGF0ZSBwbHVnLWluLiIpOwogICAgICAgICBpZiAobV9udW1iZXJPZlByaW1hcnlTbmFw
c2hvdERldGVjdGlvbkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0
aW9uQXR0ZW1wdHMpIHsKLSAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUlu
IERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICVkcy4iLCBkZWZlcnJlZFByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKKyAgICAgICAgICAgIExPRyhQbHVnaW5z
LCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICUuM2Zz
LiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkudmFsdWUo
KSk7CiAgICAgICAgICAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVy
LnN0YXJ0T25lU2hvdChkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRl
bGF5KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA2OTMwNTNmN2Q4MmJhNGY5ZTg5ZWNkMTY5N2M4
YTE2ZGI4YWJjMjQxLi5jZTY4OWRmYjUwZTU5MDYwODJiYTc2ZjU1NzliNGZiYjI4NWNmYzU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTMwMCw3
ICszMDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBj
b25zdDsKICAgICB2b2lkIHNldEFjdGl2ZVBvcHVwTWVudShXZWJQb3B1cE1lbnUqKTsKIAotICAg
IHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiAgICAgewogICAgICAgICBtX3BhZ2Ut
PnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KGxpbWl0KTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCA1OTRkOTAwZWZmMDIyMGY4
M2NkYWYwYzNmZDk4YjllYmY3MTkyYmNkLi4zOTI2MGQ3NjI5ZGVlYTc1YjA1MjQ2NTMyZTRhYTdk
NDcxMWUzZGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTI4
NSw3ICsyODUsNyBAQCBUaWxlZEJhY2tpbmcqIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpt
YWluRnJhbWVUaWxlZEJhY2tpbmcoKSBjb25zdAogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5KCkKIHsKLSAg
ICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMG1zKTsKKyAgICBtX2xheWVyRmx1c2hU
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKQEAgLTMwNCw5ICsz
MDQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0
aW5nTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZsdXNoRGVsYXkgPSA1MDBt
czsKLSAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxNTAwbXM7Ci0gICAgYXV0byB0aHJvdHRs
ZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9pc0luaXRpYWxUaHJvdHRs
ZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERlbGF5KSA6IDBtczsKKyAg
ICBjb25zdCBTZWNvbmRzIGluaXRpYWxGbHVzaERlbGF5ID0gU2Vjb25kcygwLjUpOworICAgIGNv
bnN0IFNlY29uZHMgZmx1c2hEZWxheSA9IFNlY29uZHMoMS41KTsKKyAgICBTZWNvbmRzIHRocm90
dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90
dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDogU2Vjb25k
cygwKTsKICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsKIAogICAg
IG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDU4ZDhhOWFjYjBjM2Q4YTZl
NjQwOTRmZWZiZTk2MjAyYjg0ZTYxZTkuLjQzYWRlMzZmOTZjMTI1MTM0MjRkZTRiZGU0ZDhhM2Q2
NWIwNDkyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpA
QCAtNDcyLDcgKzQ3Miw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFj
dGl2aXR5U3RhdGVEaWRDaGFuZ2UoQWN0aXZpdHlTdGF0ZTo6RmxhZ3MKICAgICB9CiAKICAgICBp
ZiAobV93YW50c0RpZFVwZGF0ZUFjdGl2aXR5U3RhdGUgfHwgIW1fbmV4dEFjdGl2aXR5U3RhdGVD
aGFuZ2VDYWxsYmFja0lEcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2
aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2VuZERpZFVwZGF0ZUFj
dGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGRkMDBh
MThkOWI2MjE2NWQ5MzYyYTk4MmU0ZmU3NjU4ODcxZTUxOWEuLjU2NDAxMzAzNjkwMDM3NDFmYjgw
ZjEzMjhlNTQ3ZWJlNjIxZDU1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogc3Rh
dGljIGNvbnN0IGRvdWJsZSBwbHVnSW5BdXRvU3RhcnRFeHBpcmF0aW9uVGltZVVwZGF0ZVRocmVz
aG9sZCA9IDI5ICogMjQgKiA2MCAqIDYwOwogCiAvLyBUaGlzIHNob3VsZCBiZSBncmVhdGVyIHRo
YW4gdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgaW4gVGlsZUNvbnRyb2xsZXIuCi1zdGF0aWMgY29u
c3QgZG91YmxlIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTA7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IFNlY29uZHMoMTApOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjExLDcgKzIxMSw3IEBAIFdlYlByb2Nlc3M6Oldl
YlByb2Nlc3MoKQogICAgICAgICBpZiAobV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLmlzQWN0aXZl
KCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAgICBtX3N0YXRpc3RpY3ND
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUpKTsKKyAgICAg
ICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDUpKTsKICAg
ICB9KTsKIH0KIApAQCAtNTM4LDcgKzUzOCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0Q2FjaGVN
b2RlbCh1aW50MzJfdCBjbSkKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwog
ICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNo
ZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsOwogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAw
OwogICAgIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoY2FjaGVNb2RlbCwgY2FjaGVUb3RhbENh
cGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBhZ2VDYWNoZVNpemUpOwogCkBAIC0xMjQ0LDEw
ICsxMjQ0LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5z
KFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvCiAgICAgfQogfQogCi12b2lkIFdl
YlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBt
aWxsaXNlY29uZHMpCit2b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxp
bmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiB7CiAgICAgZm9yIChhdXRvJiBwYWdlIDog
bV9wYWdlTWFwLnZhbHVlcygpKQotICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJv
dHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25k
cykpOworICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VM
aW1pdChsaW1pdCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0MWJmZDU0ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFh
MWYyN2I1YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3NTY2ZGIzODM0ZWY3YzRmOTA3YzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0xODgsNyArMTg4LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygpOwogCi0gICAgdm9pZCBzZXRIaWRk
ZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChpbnQgbWlsbGlzZWNvbmRzKTsKKyAg
ICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMp
OwogCiAgICAgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmRJbW1pbmVudGx5KGJvb2wmIGhhbmRsZWQp
OwogICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDZkNzZlNTgzMjZlZDM1MjRhYWM1
YTk4NmM0OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4YTZlNGE5NzA2YjFmYzFkNjY5YjFlMWM2Yjc4
MjAyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVz
c2FnZXMuaW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lS
ZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURhdGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVz
LCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50IG1vZGlmaWVkU2luY2UpIC0+
ICgpCiAgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFU
eXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2lucykgLT4gKCkK
IAotICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxs
aXNlY29uZHMpCisgICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQo
U2Vjb25kcyBsaW1pdCkKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxh
ZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTZXRRT1MoaW50IGxhdGVuY3lRT1MsIGludCB0
aHJvdWdocHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDg3NjMwMzA0ZGQ5NWM0N2VkN2QxY2UwMTNmYmZlNGZiNmMzNDMyZWQuLmQ2MDRk
OTlhNWEwNWFmZjA3OGYyZWRlOWI3MWFiYjJhNzNiZTQwOGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0xMS0y
NiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFu
Z2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNo
cm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1
MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hh
bmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFj
aW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3Zp
bmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisK
IDIwMTYtMTEtMjQgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIE5vdGlmaWNhdGlvbnMgQVBJIGRvZXMgbm90IGV4cG9zZSBvciByZXNw
ZWN0IHRoZSAidGFnIiBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVu
TG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZmZTNkYi4u
Nzk0YjM5YTljOGUxYWQzYWM5YTZjNTM3OTg5NDRlMjg5OWI0Yjc2MSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgVEVTVChXVEZf
UnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGlt
ZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMSk7CisgICAg
ICAgIHRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAuMSkpOwogICAgICAgICBVdGlsOjpydW4o
JnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQpAQCAtMTI5LDcgKzEyOSw3IEBAIFRFU1QoV1RGX1J1
bkxvb3AsIFJlcGVhdGluZ1RpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGlt
ZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMSk7Cisg
ICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4wMSkpOwogICAgICAgICBVdGls
OjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295440</attachid>
            <date>2016-11-26 14:21:15 -0800</date>
            <delta_ts>2016-11-26 14:44:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161126142055.patch</filename>
            <type>text/plain</type>
            <size>375947</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OWI0MjljMjk4ZDljZDEyMzEyOWIwNjE0OGQwZmU0ZmM5MjA5ODc5Li5lMjYyZGE0Njk0ZjBkZTYw
MjA1YzQzYjQ4MDIwOWYyZDZiYmViNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0xMS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6YWRkR2FyYmFnZUNv
bGxlY3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpzcGVjaWVzQ29uc3RydWN0QXJyYXkpOgorCiAyMDE2LTExLTIzICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFX0FTU0VN
QkxFUl9XWF9FWENMVVNJVkUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA5ZjNmOGYyOTFjMzNkZmM2NWRhNzUzNWRmYWI1
NThiMzk3NzdjZDZlLi4wYWYyNjRmNGExZDY5NDY0NDZkNDQ0MzQ5NzI2NjM5ZTgxN2E0NzU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25k
cywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3Ag
VGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3
CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRz
LgorCisgICAgICAgICogd3RmL1J1bkxvb3AuaDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKiB3dGYvUnVuTG9vcFRpbWVyLmg6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lckNGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcFRpbWVyQmFz
ZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi9jZi9SdW5Mb29wQ0YuY3BwOgorICAgICAgICAoV1RG
OjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKwogMjAxNi0xMS0yMiAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgT25lIG1vcmUgdGlueSBiaXQgb2YgZm9sbG93
LXVwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGJiZGY5ZDQ5NWIxMzg1NzhkZGU5ZWVkOWYyOTczMmNjNGQxZWEz
ZmUuLmQyY2UyMmI3ZmM4MDY4NGJiM2M5ZGE0ZDk2MjEwY2JmYmYzMzNkNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0NzkgQEAKKzIwMTYtMTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBU
aW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcK
KyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMu
CisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpn
ZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAq
IE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxl
T3BlcmF0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGlt
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJhbmdlUmVtb3ZhbCk6CisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtOjpzY2hlZHVsZUFjdGl2ZVN0YXRlQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRFRN
RlNlbmRlcjo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RhdGFDaGFu
bmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2Vu
dGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
U29ja2V0Q2hhbm5lbDo6cmVzdW1lKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAg
ICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFN0YXR1cyk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29uKToKKyAg
ICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9N
YXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1
cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVz
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJr
aXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20v
RXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRj
aEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01pY3JvdGFza3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAg
ICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0
UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAq
IGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAg
ICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6
CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNs
ZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFs
dGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAg
ICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6CisgICAgICAgICogZWRpdGluZy9TcGVsbENo
ZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5pbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAg
ICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAg
ICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAg
ICAgIChNZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6c2NoZWR1bGVFdmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxl
VGltZXVwZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGh0bWwvTWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURv
Y3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVu
dFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAg
ICAgKiBodG1sL1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJ
bnB1dFR5cGU6OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6
OnJlcXVlc3RUb0hpZGVNZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVD
b250ZXh0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5r
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hl
ZHVsZUZvclJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNw
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVy
RWxlbWVudDo6dXBkYXRlU2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0
VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxl
TG9hZCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRh
c2s6OnNjaGVkdWxlRm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2No
ZWR1bGVGb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6
OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRh
c2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c3RhcnREYXRhTG9hZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpk
ZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVj
a0NvbXBsZXRlVGltZXIpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAg
ICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHA6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBs
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
Q2FsbGJhY2spOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3Vy
Y2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2Rl
ZERhdGFJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJh
Y2s6OkNhbGxiYWNrKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25l
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVtb3J5Q2FjaGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVy
ZW5jZUNoYW5nZXMpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAg
IChXZWJDb3JlOjpET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6
CisgICAgICAgICogcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBh
Z2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRy
YWNrZXI6Ok1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11
bUR1cmF0aW9uVHJhY2tlcjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVs
ZUhvdmVyU3RhdGVVcGRhdGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAg
ICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6cGFyc2VFdmVudFN0cmVhbUxpbmUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoK
KyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRJ
bWFnZXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5pbXVtRE9N
VGltZXJJbnRlcnZhbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6Om1pbmltdW1ET01UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46Cisg
ICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1
c3BlbmRhYmxlVGltZXI6OlN1c3BlbmRhYmxlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3Vz
cGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxl
VGltZXI6OnJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVU
aW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxl
VGltZXIuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0
YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVB
bmltYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFu
aW1hdGlvblVwZGF0ZSk6CisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xh
dGNoZWRTdGF0ZUlmTmVlZGVkKToKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVj
dGlvblJlY3RzRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNo
b3VsZEJlU2hvd24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQpOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJ
bmRpY2F0b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93
OjpzZXRUZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVl
U3RhdGVDb21taXQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBv
c3RUYXNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6SHlzdGVyZXNpc0FjdGl2aXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Nj
cm9sbFByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6c3RhcnRUaW1l
cklmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkVGltZXJzOjpUaHJlYWRUaW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJz
OjpzZXRTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnVwZGF0
ZVNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6c2hhcmVkVGlt
ZXJGaXJlZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6ZmlyZVRp
bWVyc0luTmVzdGVkRXZlbnRMb29wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6VGltZXJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJh
c2U6OmNoZWNrQ29uc2lzdGVuY3kpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFw
RGVjcmVhc2VLZXkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbik6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OmhlYXBQb3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjp1cGRhdGVI
ZWFwSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzZXROZXh0RmlyZVRp
bWUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVy
dmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0T25lU2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnJlcGVhdEludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OmlzQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmFibGVP
bmVTaG90VGltZXI6OkRlZmVycmFibGVPbmVTaG90VGltZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L1ZOb2RlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2xhc3RXYXJuaW5nVGltZSk6
CisgICAgICAgIChXZWJDb3JlOjpWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5n
SW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1ZOb2RlVHJhY2tlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
aXRtYXBJbWFnZTo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
aW50ZXJuYWxTdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
YWR2YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JhdGNoQnVmZmVyOjpzY2hlZHVs
ZVNjcmF0Y2hCdWZmZXJQdXJnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnVwZGF0ZU9wdGlvbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJh
bmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
aWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29u
dHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ292ZXJhZ2VN
YXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
R3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29ob3J0KToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OklP
U3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExhc3RVc2VUaW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJs
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNv
b24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50
YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNh
bmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRp
ZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0
ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9p
bnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0v
bW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0ZSk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWspOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9E
TlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGluZ1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGlt
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9yZUNhbGxiYWNrKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1
ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1
ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9u
T3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5p
bWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzRmFkZUluRHVy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRl
T3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQpOgorICAgICAgICAq
IHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0
dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERp
c3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgorICAgICAgICAqIHJlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9u
U2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAgICAqIHJlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6ZXZl
bnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmg6
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJs
ZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVy
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVv
dXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpk
aXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIwMTYtMTEtMjMgIFNlcmdp
byBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlk
XSBDb252ZXJ0IGdyaWQgcmVwcmVzZW50YXRpb24gaW50byBhIGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVh
NmU5OGFhNzc4OTFjMjBiODczYzM3YTNhOTBhNWQ0NjdkNGM4ZjYuLjE4NmNmNzY4ZmI5ZDJkNGM2
NmQ1MTUyZjhlYjllNGFhYTllY2FkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTYt
MTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAg
Q2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3Rk
OjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMsIHJl
cGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5kIHJl
bW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgKiBTdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVJdGVtRm9yU3luYyk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVDbGVhcik6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzeW5jVGlt
ZXJGaXJlZCk6CisgICAgICAgICogU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcik6CisgICAgICAgICogU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5oOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6
c3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRy
YWNrZXI6OnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYlJlc291
cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cyk6CisKIDIwMTYt
MTEtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0pTQ10gV1RGOjpUZW1wb3JhcnlDaGFuZ2Ugd2l0aCBXVEY6OlNldEZvclNjb3BlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggMWQyZThiMmFmYjM1YWM4OGM4YTI4NjFjMDFkMTY5NWRhMjRmMTk4MS4uNmQ1
OWExZmZkZjE5MDM4NDllODM2YjE0ZTNkMWUxY2RiMzA5YTgzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI2IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywg
bm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGlt
ZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3Cisg
ICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgor
CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgIChQbHVn
aW5UaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFN0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW06
CisgICAgICAgICgrW1dlYlN0b3JhZ2VNYW5hZ2VyIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVN
b2RlbDpdKToKKwogMjAxNi0xMS0yMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtNYWNdIEluIExlZ2FjeSBXZWJLaXQsIHByZXNzaW5nIGFuIGFycm93IGtleSBp
biBlZGl0YWJsZSBjb250ZW50IGRvZXNu4oCZdCBoaWRlIHRoZSBtb3VzZSBjdXJzb3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBlMGU0ZTU2MDQyNTZhNmFkNmRiMWMwODE2NGEwNTI5MzdjMDU2NmRjLi43YTAyZTM3
ZjQwZmExMGExMWI5M2EyZmZmMzlmZGNkNjE4ZjA1NGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTM1IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVz
ZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRv
dWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWQ6OlRocm90
dGxlOjpUaHJvdHRsZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpkaWRSZWNlaXZl
UmVzcG9uc2VOZXR3b3JrU2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvYWRUaHJvdHRs
ZUxhdGVuY3kpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0TmV0d29ya0xvYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RhdGlzdGljcy5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6
ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpT
dG9yYWdlOjpzdG9yZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpy
ZXN1bWUpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHA6CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6CisgICAgICAgIChJ
UEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6OkNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246
OnRlcm1pbmF0ZVNvb24pOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0
cm95KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50
VGltZXIpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZSk6CisgICAgICAg
ICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NhY2hl
TW9kZWwuY3BwOgorICAgICAgICAoV2ViS2l0OjpjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKToK
KyAgICAgICAgKiBTaGFyZWQvQ2FjaGVNb2RlbC5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6
CisgICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Omxhc3REaXNwbGF5VGltZSk6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0
b3JlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkp
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lmg6CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24ubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbToK
KyAgICAgICAgKEFQSTo6U2hhcmVkSlNDb250ZXh0OjplbnN1cmVDb250ZXh0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6
OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0Fy
ZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR2FtZXBh
ZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxl
ci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hpZGRlblBhZ2VUaHJv
dHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Om1heGltdW1CdWZmZXJpbmdUaW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5WaWV3Ojpsb2FkVVJMKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUGx1Z2lu
Vmlldyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5X
aW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNy
ZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisKIDIwMTYtMTEtMjQgIE1pY2hh
ZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE5v
dGlmaWNhdGlvbnMgQVBJIGRvZXMgbm90IGV4cG9zZSBvciByZXNwZWN0IHRoZSAidGFnIiBhdHRy
aWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDQwNDE2OWY3ZjU0ZmFmMGQ5Njgx
ZjJlZjAyMGZmNGE2ZDhjMWRjNGUuLmIxYWVlMzg2NjAyY2I0YmRlZTVkOGY2NjA2NGEwYjM0NGUz
ZmI5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2b2lk
IFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKEdh
cmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZl
bnRzVGFzazo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCmluZGV4IGFkNWRjZTI0NTg2YzRiMzFjZGU1OTViYTJiMWY3ZjZlMzBi
MzcxYTkuLmEzZTU5MWUwMDlmMTRkZThjMGUzZWI1NzU0ZDgyYzZmNTAzMWFkM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTIy
MywxMyArMjIzLDEzIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHN0ZDo6cGFpcjxTcGVjaWVzQ29u
c3RydWN0UmVzdWx0LCBKU09iamVjdCo+IHNwZWNpZXNDb25zdHJ1CiAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc0NvbnN0cnVjdG9yKCkpIHsKICAgICAgICAgICAgIEpTT2JqZWN0KiBjb25zdHJ1
Y3Rvck9iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yKTsKICAgICAgICAgICAg
IGlmIChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkgIT0gY29uc3RydWN0b3JPYmplY3QtPmds
b2JhbE9iamVjdCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVj
aWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwg
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNvbnN0cnVjdG9yLmlzT2JqZWN0KCkp
IHsKICAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3RydWN0b3IuZ2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKICAgICAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc051bGwoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
U3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOzsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBh
dGgsIG51bGxwdHIpOwogICAgICAgICB9CiAgICAgfSBlbHNlCiAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3AuaCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAppbmRleCA1NTVkNDQ3
MzFjZjMwOGJjYmQ5ZWViZGZiZTY1YjIxZmRhYTU4ZWRlLi42M2QwYzc5OTkxZWQ5MmQ2ODhlNWI5
OGI1MWNiZmM0NzQ3YzM4MzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgK
KysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCkBAIC04OCwxMCArODgsOCBAQCBwdWJsaWM6
CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBleHBsaWNpdCBUaW1lckJhc2UoUnVuTG9vcCYp
OwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAg
ICAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQo
cmVwZWF0SW50ZXJ2YWwsIHRydWUpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhy
ZXBlYXRJbnRlcnZhbC5jb3VudCgpICogMC4wMDEpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRPbmVT
aG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgZmFsc2UpOyB9Ci0gICAgICAg
IHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwuY291bnQoKSAqIDAuMDAxLCBmYWxzZSk7IH0KKyAgICAgICAgdm9pZCBz
dGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVy
dmFsLCB0cnVlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFs
KSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KIAogICAgICAgICBXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBzdG9wKCk7CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGlzQWN0aXZl
KCkgY29uc3Q7CkBAIC0xMDMsNyArMTAxLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBwcml2
YXRlOgotICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChkb3VibGUgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOworICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KTsKIAogICAgICAg
ICBSdW5Mb29wJiBtX3J1bkxvb3A7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxv
b3BUaW1lci5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKaW5kZXggMzc4MGU3NmMw
MzEzMTA0YWVjN2ZkNzk3MzIzZWI0MTA0ZjgzZTU5Ny4uZThjYTZjZjRjM2Q2YTBhMjhkYmM4MWVl
OTkxOGY2Mzg4YWE1OTc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVy
LmgKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKQEAgLTQ1LDEwICs0NSwxMCBA
QCBwdWJsaWM6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3QgU2No
ZWR1bGVQYWlyKik7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3Qg
U2NoZWR1bGVQYWlySGFzaFNldCYpOwogCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3Rh
cnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2
YWwsIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0
YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBTZWNvbmRzKDAp
KTsgfQogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNG
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMy
ZTIzYmE3YmY5NTczYzMxYjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5
Yzg4NTIwZWZlNWJlYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJD
Ri5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiAr
NTIsMTIgQEAgc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCog
Y29udGV4dCkKICAgICB0aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNl
OjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQor
dm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNl
Y29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVu
TG9vcFRpbWVySW52YWxpZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNv
bnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9w
dENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsg
bmV4dEZpcmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250
ZXh0KSk7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVh
dEludGVydmFsLnZhbHVlKCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZv
aWQgUnVuTG9vcFRpbWVyQmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVs
ZVBhaXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291
cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThh
OTg2ZGU5MjNlODcyOTI0NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5
OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0
KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZh
bCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAg
ICAKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwg
MCB9OwotICAgIENGVGltZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZp
cmVJbnRlcnZhbCA6IDA7Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0
RmlyZUludGVydmFsLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQp
KTsKKyAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJl
SW50ZXJ2YWwudmFsdWUoKSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGlt
ZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkg
KyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZp
cmVkLCAmY29udGV4dCkpOwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxv
b3AuZ2V0KCksIG1fdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3
NGM2NzUwZGFlNTk2Li42MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1
bkxvb3A6OlRpbWVyQmFzZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1l
ci0+bV9pc1JlcGVhdGluZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tf
Q0FOQ0VMOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRG
aXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0
aXZlKCkpCiAgICAgICAgIHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAg
ICAgQVNTRVJUKCFtX3RpbWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRG
aXJlSW50ZXJ2YWwsIHJlaW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCks
IHRoaXMpOworICAgIG1fdGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52
YWx1ZSgpLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlz
KTsKIH0KIAogdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9n
ZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQx
NjdlYzdiNWZkYTI2NjM4Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEy
ICsyNjMsMTIgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7
CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJv
b2wgcmVwZWF0aW5nKQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50
ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRh
c2sgPSBTY2hlZHVsZWRUYXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAg
ICB9LCBTZWNvbmRzKGludGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVw
ZWF0aW5nKTsKICAgICBtX3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNr
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1
NjI3OGJhNmI3ZmYwMjFjMGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0
Njg3ODEzNjMzYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGli
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkg
KzE5MCw5IEBAIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAg
IGdfc291cmNlX3NldF9yZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0K
IAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6
OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2
YWxEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52
YWx1ZSgpKTsKICAgICBhdXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29u
ZHM6Om1heCgpOwogICAgIGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAg
ICAgICBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9u
bzo6bWljcm9zZWNvbmRzPihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2lu
LmNwcAppbmRleCA0YjQ1YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAy
MWY3ZGI0Y2EyYTI4YjE5ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxv
b3BXaW4uY3BwCkBAIC0xNTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1l
ckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewog
ICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJz
LnNldChtX0lELCB0aGlzKTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNz
YWdlV2luZG93LCBtX0lELCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRU
aW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpz
dG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBm
YWYyMTIwMmExMzBiOTJlNWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLmJjMGMwNWFjMGJhNDAxMzdm
MWFlZTYwOWQzZmM4Mjk0YTExNWU2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmNwcApAQCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlh
S2V5U2Vzc2lvbjo6c2Vzc2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9u
OjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJy
YXk+JiYgaW5pdERhdGEpCiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWlt
ZVR5cGUsIFdURk1vdmUoaW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiB9CiAKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJl
ZCgpCkBAIC0xNDIsNyArMTQyLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViS2l0TWVkaWFLZXlT
ZXNzaW9uOjp1cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYga2V5KQogCiAgICAgLy8gMi4gU2NoZWR1
bGUgYSB0YXNrIHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJvdmlkaW5nIGtleS4KICAgICBtX3BlbmRp
bmdLZXlzLmFwcGVuZChXVEZNb3ZlKGtleSkpOwotICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAg
ICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2Vv
bG9jYXRpb24vR2VvTm90aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9Ob3RpZmllci5jcHAKaW5kZXggY2VjOTdjYzkwMmU0NTA2ODk3ZmVmYmQzZWFlMmY5
NzkwN2FhY2MxNi4uMjYxYjA3YzVkNzczMDI4NDA5NzQ4Yzk3ZjFiN2E3ODViMjFmODU2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKQEAgLTU5LDEzICs1OSwxMyBAQCB2b2lkIEdlb05vdGlmaWVyOjpzZXRGYXRhbEVycm9yKFJl
ZlB0cjxQb3NpdGlvbkVycm9yPiYmIGVycm9yKQogICAgIG1fZmF0YWxFcnJvciA9IFdURk1vdmUo
ZXJyb3IpOwogICAgIC8vIEFuIGV4aXN0aW5nIHRpbWVyIG1heSBub3QgaGF2ZSBhIHplcm8gdGlt
ZW91dC4KICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9Ob3Rp
Zmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAgIG1fdXNlQ2FjaGVkUG9zaXRpb24g
PSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29sIEdlb05vdGlmaWVyOjpoYXNaZXJvVGltZW91
dCgpIGNvbnN0CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2Fs
bGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiB2b2lkIEdlb05vdGlmaWVyOjpzdGFydFRpbWVy
SWZOZWVkZWQoKQogewogICAgIGlmIChtX29wdGlvbnMtPmhhc1RpbWVvdXQoKSkKLSAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QobV9vcHRpb25zLT50aW1lb3V0KCkgLyAxMDAwLjApOworICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fb3B0
aW9ucy0+dGltZW91dCgpKSk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnN0b3BUaW1lcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3Bw
CmluZGV4IDg1YWU0MGY2MzQxNzUzMjcxNjcyZjNhMzc3ZmU5OTNkZjRhMzE4YzAuLjUyZjE5Mjkz
NThmM2E5ZjA0MTUxMjNiZmQyZWM3ODU5NzczYzQzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xOTgsNyArMTk4LDcg
QEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnJlc3Vt
ZSgpOwogCiAgICAgaWYgKCFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVz
dW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggMzhkZWNkNTNiOWFiMDgxMmViODA5ZjVmYmIzYjZiZGExZWM4YjAxYS4u
NWE1OTQ1MmFhZGJmZmM4YmM4Njc5YmIwYTBlM2Y5YzdjMTczMjUzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzUw
LDcgKzM1MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0aW9uVGltZXIo
KQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFk
SUQoKSk7CiAKICAgICBpZiAoIW1fb3BlcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9vcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3BlcmF0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpv
cGVyYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCmluZGV4IGNiMDQ4
NjFjYzdjY2M1Y2YyZjdjZWJhZDczY2Q1OTdiZDJhMjcwYWEuLmM2NmZkMTFjNmI3NWZlYzg2NmQ2
YTIxMWI1NTA3ZjQyY2M5ZmQyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcApAQCAtMTQ5
NCw3ICsxNDk0LDcgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6aW52b2tlT3BlcmF0aW9uQW5k
VHJhbnNhY3Rpb25UaW1lcigpCiAgICAgQVNTRVJUKCFtX2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRl
KTsKIAogICAgIGlmICghbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5z
YWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2
OWYxMGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLmY1ZDY2MzYwMjY0ZGY2OTFjNmQ4
ZWNiNTdlNDM1MDU4YzU2MDZlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0z
Niw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSB0YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0
YXNrRGVsYXlJbnRlcnZhbCA9IFNlY29uZHMoMS4wIC8gMTApOwogCiBzdHJ1Y3QgQ2xpZW50U3Rh
dGUgewogICAgIGV4cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQmIGNsaWVudCwgdWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVf
dCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQqIGNsaWVudCwgdWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmln
dXJlV2F0Y2hkb2dUaW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1Rp
bWVySW50ZXJ2YWxBZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3Vi
bGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0g
U2Vjb25kcyg2MCAqIDYwKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVy
SW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA9IFNlY29uZHMoOCAqIDYwKTsKIAogICAgIGlmICgh
bV9wbGF5YmFja1RhcmdldCB8fCAhbV9wbGF5YmFja1RhcmdldC0+aGFzQWN0aXZlUm91dGUoKSkg
ewogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwpAQCAtNDQyLDE0ICs0NDIsMTQgQEAg
dm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKCkKICAg
ICB9CiAKICAgICBpZiAoc3RvcFRpbWVyKSB7Ci0gICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50
ZXJ2YWwgPSAwOworICAgICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gU2Vjb25kcygw
KTsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAgICAgICAgTE9HKE1lZGlhLCAi
V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHN0
b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSBkaWRQbGF5
VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA6IHdhdGNoZG9n
VGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IGRp
ZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kIDogd2F0
Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBpZiAoaW50ZXJ2YWwgIT0g
bV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkp
IHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwot
ICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJl
V2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIsIGludGVydmFsKTsKKyAg
ICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdh
dGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwgaW50ZXJ2YWwudmFsdWUo
KSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IGludGVy
dmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1N2Q1OGVmOTE0Y2IyM2Yx
OTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRjNmQ0NmExM2FkM2MxZjEx
YjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0xMDIsNyArMTAyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4gbV9wbGF5YmFja1Rhcmdl
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlvblRhc2tzIG1fdGFza0Zs
YWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgeyAw
IH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsOwogICAgIGJvb2wgbV9l
eHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Rhcmdl
dENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2VyRW5hYmxlZCB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBhYWZjMjFlMDU1Mjg0Yi4u
Mjg0OGZhYWZiY2NhZWU1ZGJlOWVkYzJjNDg0ZmVkYjEyZWUxMWU5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtMzQ4
LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwoY29uc3QgTWVkaWFU
aW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8gNS4gUmV0dXJuIGNvbnRy
b2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBzdGVwcyBhc3luY2hyb25v
dXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0OwogICAgIG1fcGVuZGluZ1Jl
bW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXI6OmFib3J0SWZVcGRhdGluZygpCkBAIC01MzMsNyArNTMzLDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25lZCBj
aGFyKiBkYXRhLAogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0RXZl
bnQpOwogCiAgICAgLy8gNi4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFs
Z29yaXRobS4KLSAgICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJlcG9y
dEV4dHJhTWVtb3J5QWxsb2NhdGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggMWQ1MmE0OGE1M2RhZTI4OGM4NDcx
OWZkYzFlMWVlYmQ0N2VlNmU1Ny4uZDU0NDBiZmY2N2M5MjhjZjcxZGRjYmI1NTVkZWU3NDZjNzhh
NTQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIE1lZGlhU3RyZWFtOjpzY2hlZHVs
ZUFjdGl2ZVN0YXRlQ2hhbmdlKCkKICAgICBtX3NjaGVkdWxlZEFjdGl2aXR5RXZlbnRzLmFwcGVu
ZChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiAKICAgICBpZiAoIW1f
YWN0aXZpdHlFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fYWN0aXZpdHlFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GU2VuZGVyLmNwcAppbmRleCA4MzMwYzg3OGMxN2MwOWU3ODI2OWJjNTVhZDc4ZmUx
N2IxNGI4MGRiLi4xNmU4MDA2ODc4MDRjZmM0OTQzYmY1ODRiNzJjZTY4NTEyZDAyNjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlz
cGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBw
ZW5kKFdURk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5u
ZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bC5jcHAKaW5kZXggMDUxYzcwMTQ5YWUyZGExMmU2MDBhNDA1MGYwOWMxZWM4YmZkNTc1Ni4uNDNh
OTRiYTIzNzYzZGVlMjc3ZGNlYmI3MjU1MGE4M2RjYzFlMjZiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKQEAgLTIz
Nyw3ICsyMzcsNyBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UmVmPEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3Zl
KGV2ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRl
eCAxZTAyY2UxY2Y2N2Y2ZTRkOTEyODc1YWJmODBiMmRkZGU4MzdhN2U3Li4zYWI3NjY0MTUyNzNi
OTE5ZWMwZTY4M2RlMDk0MmZlN2NjZGQ3ZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBA
QCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGl0bGUpCiAgICAgLy8gRklYTUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50
ZXIgY2FuIGJlIG51bGwgc28gc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJl
Zi4KICAgICAvLyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0
cnlpbmcgdG8gaGFuZGxlIHRoYXQgY2FzZS4KICAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50
ZXItPmNsaWVudCgpKTsKLSAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1f
dGFza1RpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGVi
ZmUwLi5mMDczNDVkZDJlNzdlNzY1YzNmNmYwZTdmM2E1YjQwNmQxMzg4OWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBj
YXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNEZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3Mu
aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICByZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVm
cyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGlt
ZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgIH0KICAgICAgICAg
bV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAgICAgICAgICBpZiAoY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApp
bmRleCA4NjA5MTQyMDljOGJiMzQyODA0MGFhMTRmYzlmY2QwM2QwZGQ1YzU5Li45ZGU2MjViMzli
NWEyMzgzNGZhNDEyZjU2ZGY2YzhhOTM5YWY1OGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgYm9vbCBWaWJy
YXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKIAogICAgIG1f
cGF0dGVybiA9IHNhbml0aXplZDsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6
V2FpdGluZzsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFZp
YnJhdGlvbjo6dGltZXJGaXJlZCgpCiAgICAgICAgIG1fdmlicmF0aW9uQ2xpZW50LT52aWJyYXRl
KG1fcGF0dGVyblswXSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChtX3BhdHRlcm5bMF0gLyAxMDAwLjApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9wYXR0ZXJuWzBdKSk7CiAgICAgbV9wYXR0ZXJu
LnJlbW92ZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAppbmRleCA2NDMyMTY1OWJiMWMyMjk0ZDIyMmFmZGViZjM0NDVjYTZiNzRj
MTVjLi5lZGNlMTE5MmQwMzU4NGI1ZmU1NjNhMzY3YTBlNWUzMzlkNmEwMGQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNTAzLDcg
KzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQogICAgICAgICBtX2NoYW5uZWwtPnJl
c3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVudHMuaXNFbXB0eSgpICYmICFtX3Jl
c3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gRmlyZSB0aGUgcGVuZGluZyBldmVu
dHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkg
SlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0K
IAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4
IDRlNGFhN2MzYTliYjI1MjU5NWE3MjkyMzA4NzA2MWJiN2IzNDIzOTkuLmJkYzY0MDI0ZDA4NDFk
YWE5ZWI2ZTVlM2Y3OWRkM2UxZmI5MTNiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYyLDcgKzYyLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4aW11bVNlZ21l
bnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVtU2VnbWVudExp
ZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRD
aGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYgY2xpZW50
LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZkb2N1bWVudCkK
QEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3NlKGludCBjb2Rl
LCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5lbD4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhhbmRzaGFrZSBt
YXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBkZXJlZmVyZW5j
ZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAgICAgaWYgKG1f
Y2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbG9zaW5n
VGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lKTsKKyAgICAg
ICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUg
KiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVh
c29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lKCkK
IHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVyLmlzRW1wdHko
KSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5u
ZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBkMWU4
MjA1YTExNjEyZjBkYWY4NDEwYjhlNjMxODk4YTFlMjZjMDc0Li5hZWIzNzMzODNhMzQzMDU4OWQx
ZTBkODNiZWEyNjYyMWFmOWUwY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTExMCw4ICsxMTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAvLyBQb3N0IHZhbHVlIGNoYW5nZSBu
b3RpZmljYXRpb25zIGZvciBwYXNzd29yZCBmaWVsZHMgb3IgZWxlbWVudHMgY29udGFpbmVkIGlu
IHBhc3N3b3JkIGZpZWxkcyBhdCBhIDQwaHogaW50ZXJ2YWwgdG8gdGh3YXJ0IGFuYWx5c2lzIG9m
IHR5cGluZyBjYWRlbmNlCi1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVl
Q2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyNTsKLXN0YXRpYyBkb3VibGUgQWNjZXNz
aWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyMDsKK3N0
YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9u
SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDI1KTsKK3N0YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlM
aXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAog
QWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2Fj
aGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0LCBEb2N1bWVudCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3Vz
bHkpIHsKICAgICAgICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihvYmplY3QsIG5vdGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9z
dFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHBvc3RQbGF0Zm9ybU5v
dGlmaWNhdGlvbihvYmplY3QsIG5vdGlmaWNhdGlvbik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAppbmRleCBiZmYzYjBjYWVlZjhkNGIwZDM2MWMyY2M0
YjI0OWZmMDgzNTgyZTI1Li5hMTQxNGIzYzRiYjBjNDdlMmYzM2JlNDg4MzkwMDE5ZjQ2NDEzNTA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKQEAgLTcx
LDcgKzcxLDcgQEAgdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0U29vbigpCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKCkKIHsKICAgICBpZiAo
IW1fR0NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3Bw
CmluZGV4IDVlYWI1NWI1NDMzMzNiZDE3ZjY3YjExZWJhZDY2MTc3MjgyNTAxZjEuLmJjMjRmMjI0
MTRlYjBhZGEwMzE4ZjBiZjUyYjEyZTNiMzgzZTcyMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHZvaWQgQ1NTRm9udEZhY2U6OnNldFN0YXR1cyhT
dGF0dXMgbmV3U3RhdHVzKQogICAgIH0KIAogICAgIGlmIChuZXdTdGF0dXMgPT0gU3RhdHVzOjpM
b2FkaW5nKQotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qod2ViRm9udHNTaG91
bGRBbHdheXNGYWxsQmFjaygpID8gMCA6IDMpOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFy
dE9uZVNob3Qod2ViRm9udHNTaG91bGRBbHdheXNGYWxsQmFjaygpID8gU2Vjb25kcygwKSA6IFNl
Y29uZHMoMykpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OlN1Y2Nlc3MgfHwg
bmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3Rv
cCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IGU4NDk4OGVi
ZTA2YjZmNTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIuLmMyZjlhMTYyNTM0ZGVjYTJhYjc5MGVm
MWQ2ZDRmMjQzNmZiZGIyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0Zv
bnRTb29uKENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8gYWZ0ZXIgdGhpcyBmb250IGhhcyBiZWVu
IHJlcXVlc3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxvYWRpbmcuIEJhbGFuY2VkIGJ5CiAgICAg
Ly8gZGVjcmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVnaW5Mb2FkVGltZXJGaXJlZCgpIGFuZCBp
biBjbGVhckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0gICAgbV9iZWdpbkxvYWRpbmdUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAppbmRl
eCBhNzUyODNhMmIyN2MzZGVkOGQ5NDMxMmRlMDRhNDE1OGVlY2MyZjkzLi5kNGY3ZmE0NmU2MDFm
M2VmNzg0NGIzMTJiYjRkYjZmNTllZWIzMDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZElt
YWdlcyA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
dGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9IFNlY29uZHMoMyk7CiAKIENTU0ltYWdl
R2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNzVHlw
ZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCA5MTM2M2MxNDNiMjZjYTQxOWFmZTRlNGJlMjIxNzM3ZTE1MTFmMDRmLi4xOWE4
NTI5MzhkMjBkOGY2YzE1ZDc2ODZiM2U5NDllY2UyMzgwZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM5LDggKzEyMzksOCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFkZFRvTWF0Y2hlZFByb3BlcnRpZXNDYWNoZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNv
bnN0CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRk
aXRpb25zQmV0d2VlblN3ZWVwcyA9IDEwMDsKICAgICBpZiAoKyttX21hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGVBZGRpdGlvbnNTaW5jZUxhc3RTd2VlcCA+PSBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZUFk
ZGl0aW9uc0JldHdlZW5Td2VlcHMKICAgICAgICAgJiYgIW1fbWF0Y2hlZFByb3BlcnRpZXNDYWNo
ZVN3ZWVwVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMgPSA2MDsKLSAgICAgICAg
bV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3QobWF0Y2hlZERl
Y2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMpOworICAgICAgICBzdGF0aWMgY29uc3Qg
U2Vjb25kcyBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSA9IFNlY29uZHMoNjApOwor
ICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdCht
YXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSk7CiAgICAgfQogCiAgICAgQVNTRVJUKGhh
c2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYzYxOGE5ZGQ2ZmNhY2I5N2ZlMzBiYmNm
MjE5OGY4YWY5ZTI3NDQ4NC4uY2M2NmIxN2UyMTA4YWMyZWM3ZjViYjlhY2ZlZWM4ZDJlMmQ3NzQ1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjU3LDcgKzEyNTcsNyBAQCB2b2lkIERv
Y3VtZW50OjpzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZChib29sIHZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KQogICAgIGlmICh2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgbV92aXN1YWxVcGRhdGVz
U3VwcHJlc3Npb25UaW1lci5zdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3Zpc3VhbFVwZGF0
ZXNTdXBwcmVzc2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoKSk7CiAKICAgICBpZiAoIXZpc3VhbFVwZGF0
ZXNBbGxvd2VkKQogICAgICAgICByZXR1cm47CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCB2b2lkIERv
Y3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKCkKICAgICAvLyBGSVhNRTogV2h5IG9uIGVhcnRo
IGlzIHRoaXMgaGVyZT8gVGhpcyBpcyBjbGVhcmx5IG1pc3BsYWNlZC4KICAgICBpbnZhbGlkYXRl
QWNjZXNzS2V5TWFwKCk7CiAgICAgCi0gICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxh
dGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lkIERvY3VtZW50Ojp3cml0
ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9jdW1lbnQpCiAgICAgd3Jp
dGUoIlxuIiwgb3duZXJEb2N1bWVudCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKK1NlY29uZHMgRG9jdW1lbnQ6
Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKICAgICBhdXRvKiBwYWdlID0gdGhpcy0+
cGFnZSgpOwogICAgIGlmICghcGFnZSkKQEAgLTI4NDEsNyArMjg0MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBzaG91bGRUaHJvdHRsZSkKICAgICBk
aWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0CiB7CiAgICAgYXV0
byBhbGlnbm1lbnRJbnRlcnZhbCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCk7CiAKQEAgLTUwMjcsOCArNTAy
Nyw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgPSBTZWNvbmRzKDEw
KTsKKyAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQpOwogCiAgICAgLy8g
UGFyc2VyIHNob3VsZCBoYXZlIHBpY2tlZCB1cCBhbGwgcHJlbG9hZHMgYnkgbm93CiAgICAgbV9j
YWNoZWRSZXNvdXJjZUxvYWRlci0+Y2xlYXJQcmVsb2FkcygpOwpAQCAtNTI1NSw3ICs1MjU1LDcg
QEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25SZXN0
b3JhdGlvbk1vZGUgbW9kZSkKIHsKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3RvcmVz
U2VsZWN0aW9uID0gbW9kZTsKICAgICBpZiAoIW1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFu
Y2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9pZCBEb2N1bWVudDo6cmVzdW1lU2No
ZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikK
ICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6V2lsbERlZmVyTG9hZGluZyAmJiBt
X3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAgICAg
aWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVuZGluZ1Rhc2tzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICAgICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CiAgICAgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0cyhyZWFzb24pOwogICAgIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlckNhbGxiYWNrcygpOwpAQCAtNTY4Nyw3ICs1Njg3LDcgQEAgdm9pZCBEb2N1bWVu
dDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVk
IHNob3J0IGZsYWcKICAgICB9IHdoaWxlICgwKTsKIAogICAgIG1fZnVsbFNjcmVlbkVycm9yRXZl
bnRUYXJnZXRRdWV1ZS5hcHBlbmQoZWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVudEVsZW1lbnQo
KSk7Ci0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKQpAQCAtNTg1NCw3
ICs1ODU0LDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudChFbGVtZW50KikKIAogICAgIG1fZnVsbFNjcmVlbkVsZW1lbnQtPmRpZEJlY29tZUZ1bGxz
Y3JlZW5FbGVtZW50KCk7CiAKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVlblJlbmRlcmVyKFJlbmRlckZ1bGxT
Y3JlZW4qIHJlbmRlcmVyKQpAQCAtNjA1Nyw3ICs2MDU3LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGVj
cmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpCiAgICAgLS1tX2xvYWRFdmVudERlbGF5Q291bnQ7
CiAKICAgICBpZiAoZnJhbWUoKSAmJiAhbV9sb2FkRXZlbnREZWxheUNvdW50ICYmICFtX2xvYWRF
dmVudERlbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1l
ckZpcmVkKCkKQEAgLTY3MDEsNyArNjcwMSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0
ZUZvcm1Db250cm9sKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2Fz
c29jaWF0ZWRGb3JtQ29udHJvbHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV9kaWRBc3NvY2lh
dGVGb3JtQ29udHJvbHNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2RpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaWRBc3NvY2lhdGVG
b3JtQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9j
dW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2
NzIxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcm
IGNvb2tpZXMpCiAgICAgQVNTRVJUKCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9j
YWNoZWRET01Db29raWVzID0gY29va2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZh
bGlkIGF0IG1vc3QgdW50aWwgd2UgZ28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nv
b2tpZUNhY2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVF
eHBpcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OmludmFsaWRhdGVET01Db29raWVDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDhmNWI0
M2UyMGZhZjZjNDFjMTY3NzFkZjY2Yjg0Y2U2ZjU4ZmMxNTMuLjZlNWRlMGE5NTMxNjFmZmJiODVm
ZWU2MGRhMDdiN2Q0ZjM4YjczODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzM3LDkgKzEz
MzcsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBmaW5hbDsKIAotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKKyAg
ICBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QgZmluYWw7CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFj
aGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsKKyAgICBTZWNvbmRzIHRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsK
IAogICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVFbGVtZW50KCk7CiAgICAgdm9pZCB1cGRh
dGVUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudEV2ZW50UXVldWUuY3BwCmluZGV4IDllMDc3ZjcyZjEzNjU5YTM4NjkxNWE5Y2JlNjAx
NDZmMjAyOTljMjcuLjNjZGUyM2E0Zjg0Nzg4OGJhZTVjYzEwOGNmMDFhOGY5NzdkNDc4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCkBAIC03OSw3ICs3OSw3
IEBAIGJvb2wgRG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYmIGV2
ZW50KQogCiAgICAgbV9xdWV1ZWRFdmVudHMuYWRkKGV2ZW50LnB0cigpKTsKICAgICBpZiAoIW1f
cGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ0V2ZW50VGlt
ZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFNlbmRlci5oCmluZGV4IDg3MmQ4NWExYTQ1NTFhZDAxOTkwODA5ODBlNmY1ZjNhZDI4YTdiN2Yu
LmFmMGQxYzUxNDE4ZjkwMjJmZTdlNmEwMmFlNTRhNDQzYzQxMDkyZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFNlbmRlci5oCkBAIC02Niw3ICs2Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKFQmIHNlbmRlcikKIHsKICAgICBtX2Rp
c3BhdGNoU29vbkxpc3QuYXBwZW5kKCZzZW5kZXIpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rh
c2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5MTQ2ZmNlYjlmOGY3Li5l
M2U1M2U0ODQ2MTQxNmZmYjc4MDMzMDY5OGJiYjk1MzkwZmYwZGVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01p
Y3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90YXNrUXVldWU6OmFwcGVu
ZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAgZWxzZQogICAgICAgICBt
X21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAotICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIE1pY3JvdGFza1F1ZXVlOjpyZW1vdmUoY29uc3QgTWljcm90YXNrJiB0YXNrKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDkzN2Yx
YzIzYmQ3ZTk5NGNhZWViNmUyZDA0ODljMDBlZTE5Y2Y1NmIuLjdlOGRhOWM3M2RkOWRjNGE1OWRi
YWUwZTEzODkyYTFjODQ1Y2UyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKQEAgLTQ0NSw3ICs0NDUsNyBAQCBQdWJsaWNVUkxNYW5hZ2VyJiBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpwdWJsaWNVUkxNYW5hZ2VyKCkKICAgICByZXR1cm4gKm1f
cHVibGljVVJMTWFuYWdlcjsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1
c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmlt
dW1UaW1lckludGVydmFsKQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5p
bXVtVGltZXJJbnRlcnZhbChTZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKQogewogICAg
IGlmIChtaW5pbXVtVGltZXJJbnRlcnZhbCgpICE9IG9sZE1pbmltdW1UaW1lckludGVydmFsKSB7
CiAgICAgICAgIGZvciAoYXV0byYgdGltZXIgOiBtX3RpbWVvdXRzLnZhbHVlcygpKQpAQCAtNDUz
LDcgKzQ1Myw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRp
bWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kCiAgICAgfQogfQogCi1zdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lcklu
dGVydmFsKCkgY29uc3QKK1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRp
bWVySW50ZXJ2YWwoKSBjb25zdAogewogICAgIC8vIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9u
IHJldHVybnMgdGhlIERPTVRpbWVyJ3MgZGVmYXVsdAogICAgIC8vIG1pbmltdW0gdGltZXIgaW50
ZXJ2YWwuIEZJWE1FOiB0byBtYWtlIGl0IHdvcmsgd2l0aCBkZWRpY2F0ZWQKQEAgLTQ2OSw3ICs0
NjksNyBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKQogICAgICAgICB0aW1lci0+ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwo
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYzkyOThkMzJjYTQwMTZi
ZTA1ZmNmZjE4NGE5OTc2ODI2NTRhZTY4ZS4uN2ZkZTc4ZDVmYmY5YTgyMGU4YWY0ZDhiYzhkM2Ew
ZjM2NGQ3OGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCkBAIC0xOTIsMTEgKzE5MiwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSlND
OjpWTSYgdm0oKTsKIAogICAgIC8vIEludGVydmFsIGlzIGluIHNlY29uZHMuCi0gICAgdm9pZCBh
ZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1p
bmltdW1UaW1lckludGVydmFsKTsKLSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIGFkanVzdE1pbmltdW1U
aW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHZpcnR1
YWwgU2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRD
aGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7Ci0gICAgdmlydHVhbCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVz
dGluZ0xldmVsKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRl
cnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OwogCiAgICAgdmlydHVh
bCBFdmVudFF1ZXVlJiBldmVudFF1ZXVlKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRSdW5uZXIuY3BwCmluZGV4IDcwOTg5ZWI0MGMwNDVhZGU3NzRhZTU3ZDA5YTQwNDhiNTllMzg4
MDQuLjM2ODY4NzdjMGJmYTgxNTNmY2NlMDFmY2Y4ZWZmMzk3NzVmNTkyZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2NyaXB0UnVubmVy
OjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQ
ZW5kaW5nU2NyaXB0cygpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2NyaXB0UnVu
bmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2NyaXB0KQpAQCAtMTAw
LDcgKzEwMCw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2Ny
aXB0JiBwZW5kaW5nU2NyaXB0KQogICAgICAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVu
ZChtX3BlbmRpbmdBc3luY1NjcmlwdHMudGFrZShwZW5kaW5nU2NyaXB0KS0+cHRyKCkpOwogICAg
IH0KICAgICBwZW5kaW5nU2NyaXB0LmNsZWFyQ2xpZW50KCk7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZv
aWQgU2NyaXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRh
Njc0MDE5NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYx
ZjEwMjgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2No
ZWR1bGVEZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1
bWVudC0+ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVU
aW1lc3RhbXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVs
ZURlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVk
dWxlRGVsYXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1
bWVudC0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2
N2Y5Njg0MDNkMTQ3ZTgzZmJiMS4uNzQ2ZmFlYTUzMzhiOWY0NGY0N2M3ZjUxMDY5OTEwYzQ2MjU3
ZDE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBA
QCBzdGF0aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlKCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gU2Vjb25kcyg2MCk7CitzdGF0aWMg
Y29uc3QgaW50IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmlu
ZyA9IDEwMDsKKwogY2xhc3MgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTkxLDE2ICs5NCwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIG1faGl0Q291bnQrKzsKIAogICAgICAgICBpZiAoIW1fY2xlYW5UaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV9jbGVhblRpbWVyLnN0YXJ0T25lU2hvdChwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyk7CisgICAgICAgICAgICBt
X2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5U
aW1lKTsKICAgICAgfQogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyA9IDYwOwotICAgIHN0YXRp
YyBjb25zdCBpbnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFu
aW5nID0gMTAwOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcykgLyA2MDsKLQogICAgIHZvaWQgY2xlYW5DYWNo
ZSgpCiAgICAgeworICAgICAgICB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRl
Q2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUNsZWFuVGltZS52YWx1ZSgpKSAvIDYwOworCiAgICAgICAgIHVuc2lnbmVkIGhpdENvdW50ID0g
bV9oaXRDb3VudDsKICAgICAgICAgbV9oaXRDb3VudCA9IDA7CiAgICAgICAgIGlmIChoaXRDb3Vu
dCA+IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50UGVyTWludXRlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZDVjZDFlYTY3ZGQ5MGI4OTNmNTM0N2E3YTE3ZWVjZTA5NGE0YWE2Yy4uNjgy
ZjRhZjEwZmMzZjcyOTg0MmVlYWI3MTFhOGRiMDU2ZWU5ZTMyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsKDAuMyk7CiAgICAgaWYgKCFpc0F1dG9t
YXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMjBlNmIwYzJiNzRjYWZjZWVhMjI4ZjgyY2NlMjIy
YmM1ZmMxN2EzNy4uMzE2Y2I5Yzc5ZjA4YTlmN2IwZDE0ODFhOTA4NjkwZjMxNDFhOWVlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMzI2Miw3ICszMjYyLDcgQEAgdm9pZCBFZGl0
b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZy
YW1lU2VsZWN0aW9uOjoKIAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JiYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVtYmVycygp
KQotICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZW5kaWYKIAogICAgIHNldFN0YXJ0TmV3S2lsbFJp
bmdTZXF1ZW5jZSh0cnVlKTsKQEAgLTMyNzQsNyArMzI3NCw3IEBAIHZvaWQgRWRpdG9yOjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFtZVNlbGVj
dGlvbjo6CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyU2hvdWxkQ2hlY2tTcGVsbGluZ0FuZEdy
YW1tYXIgPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkNsb3NlVHlwaW5nCiAgICAgICAgICYm
ICEob3B0aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpTcGVsbENvcnJlY3Rpb25UcmlnZ2VyZWQpOwog
ICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1RyaWdnZXJlZEJ5RGljdGF0aW9uID0gb3B0aW9u
cyAmIEZyYW1lU2VsZWN0aW9uOjpEaWN0YXRpb25UcmlnZ2VyZWQ7Ci0gICAgbV9lZGl0b3JVSVVw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmNwcAppbmRleCAzNTYxNzQ5MGJhODYwZjJiOWVhNDg1NjFkOTA1NjJmZThjNzJi
NDJhLi5jYTI5MjQ5NmU4YjBhMmNjZjFlMmEwYmU5NGI4NjU5NjFmNzQxMGIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMjA0NSw3ICsyMDQ1LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxp
bmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBCZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3Jl
CiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBpbiB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYg
KHNob3VsZEJsaW5rICYmICFtX2NhcmV0QmxpbmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAg
IGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJl
dEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAgaWYgKFNlY29uZHMgYmxpbmtJbnRlcnZhbCA9IG1f
ZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAg
IG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAg
ICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRmY2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uOTVi
ZDY2MDkzMTljYTgyNGMxYzUxNGJmMzhjYmIzMTg0OWM2NDNlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVj
a2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1
bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAo
IW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVl
ZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVk
UmVxdWVzdC5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2Vy
OjpkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5n
UmVzdWx0PiYgcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApp
bmRleCA0MTZhMmQxYTdiOTI1MTM0MTBlNDA2ZjQzNDVkYzgzY2Y1Y2ZhMTBjLi44M2E1MjYzZjQy
YmNkMjUzMDdiNTNjNDkxOGQ2YjdjNjMxOWY5OWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6
OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKIAog
ICAgIC8vIERpc3BhdGNoIGV2ZW50cyBsYXRlciBhcyB0aGlzIEFQSSBpcyBtZWFudCB0byB3b3Jr
IGFzeW5jaHJvbm91c2x5IGluIGFsbCBzaXR1YXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMuCiAg
ICAgaWYgKCFtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGExZjRmZTE4YzVkNWE2MDA0
OTRkYjRiMTY4Y2Q4NDRjNmRlNmRkZGIuLjJmMWY4YzZhMTFjOTNiNzg0ZGIxODM2NzBlZDYzNzU5
MTYzNjA0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAt
MTU2LDEyICsxNTYsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFNlZWtSZXBlYXREZWxheSA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNlZWtS
ZXBlYXREZWxheSA9IFNlY29uZHMoMC4xKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNjYW5SZXBl
YXREZWxheSA9IFNlY29uZHMoMS41KTsKIHN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1RpbWUgPSAw
LjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIFNjYW5SZXBlYXREZWxheSA9IDEuNTsKIHN0YXRpYyBj
b25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBI
aWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IFNlY29uZHMoNik7CiAKIHN0YXRp
YyB2b2lkIHNldEZsYWdzKHVuc2lnbmVkJiB2YWx1ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CkBAIC05
MjAsNyArOTIwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rp
b24oRGVsYXllZEFjdGlvblR5cGUgYWN0aW9uVHlwZSkKICAgICBpZiAoYWN0aW9uVHlwZSAmIFVw
ZGF0ZVBsYXlTdGF0ZSkKICAgICAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIFVw
ZGF0ZVBsYXlTdGF0ZSk7CiAKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAg
LTkyOCw3ICs5MjgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJj
ZUNoaWxkKCkKICAgICAvLyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3Vy
Y2U+IGVsZW1lbnQgV0lUSE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgog
ICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KCVwKSAtIHNldHRpbmcgJXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3Vy
Y2UpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBM
b2FkTWVkaWFSZXNvdXJjZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckFjdGl2ZVNvdXJjZUJ1ZmZl
cnNDaGFuZ2VkKGNvbnN0IE1lZGlhUGxheWVyKikKQEAgLTE5NjcsNyArMTk2Nyw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKQogCiAgICAgbV9wcmV2
aW91c1Byb2dyZXNzVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIC8v
IDM1MG1zIGlzIG5vdCBtYWdpYywgaXQgaXMgaW4gdGhlIHNwZWMhCi0gICAgbV9wcm9ncmVzc0V2
ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMC4zNTApOworICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4zNTApKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTMzNTQsNyArMzM1NCw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhTY2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2FuUmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3Nj
YW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBT
Y2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRpbWVyLnN0YXJ0KFNlY29uZHMoMCksIG1fc2Nh
blR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXREZWxheSk7CiB9CiAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5kU2Nhbm5pbmcoKQpAQCAtMzM5Myw3ICszMzkzLDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZCgpCiAKIC8vIFRoZSBzcGVj
IHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGls
ZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0
IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVu
Y3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5ID0gU2Vjb25kcygwLjI1KTsKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXli
YWNrUHJvZ3Jlc3NUaW1lcigpCiB7CkBAIC0zNDQwLDcgKzM0NDAsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKICAg
ICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsK
IAogICAgIC8vIHRocm90dGxlIHRoZSBwZXJpb2RpYyBldmVudHMKLSAgICBpZiAocGVyaW9kaWNF
dmVudCAmJiB0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpCisgICAgaWYg
KHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5
LnZhbHVlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFNvbWUgbWVkaWEgZW5naW5lcyBt
YWtlIG11bHRpcGxlICJ0aW1lIGNoYW5nZWQiIGNhbGxiYWNrcyBhdCB0aGUgc2FtZSB0aW1lLCBi
dXQgd2Ugb25seSB3YW50IG9uZQpAQCAtNDM3MSw3ICs0MzcxLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbikKICAg
ICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUgZGV0YWls
cy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikpOwogICAg
IG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1fc2Vla1Rv
UGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgbV9zZWVr
VG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjUpKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYuLjE0MGYx
MTdjODc3YzE4YTNiZGQ2MjZlZmVmNTk0Y2IxOGMzMDViZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBIVE1MUGx1
Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAgICBtX2Rp
c3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxheWluZ1Nu
YXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2VtZW50KSAm
JiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBSZW5kZXJl
clRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRpZEFk
ZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hhZG93Um9vdCogcm9vdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IGI5NmUzY2UzMTNkZjQ4ZDI5
MmUzNzI4MGYzZjk5OTY3ZmNiMGE5MDguLjBlMWQ1NmZkZTZkNzI0YTJjM2VhMjk2ZGY2ZTU1ZDll
NmZlYTczMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcApAQCAtNzIsMTAgKzcyLDEwIEBAIHN0YXRpYyBjb25zdCBmbG9hdCBzaXppbmdGdWxs
UGFnZUFyZWFSYXRpb1RocmVzaG9sZCA9IDAuOTY7CiBzdGF0aWMgY29uc3QgZmxvYXQgYXV0b3N0
YXJ0U29vbkFmdGVyVXNlckdlc3R1cmVUaHJlc2hvbGQgPSA1LjA7CiAKIC8vIFRoaXMgZGVsYXkg
c2hvdWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCi1z
dGF0aWMgY29uc3QgYXV0byBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgeyA3NTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNpbXVsYXRl
ZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gU2Vjb25kcygwLjc1KTsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQotc3RhdGljIGNvbnN0IGF1dG8gcmVtb3ZlU25hcHNob3RUaW1lckRlbGF5ID0gc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyB7IDE1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbW92
ZVNuYXBzaG90VGltZXJEZWxheSA9IFNlY29uZHMoMS41KTsKICNlbmRpZgogCiBzdGF0aWMgY29u
c3QgU3RyaW5nIHRpdGxlVGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0
ODRmNTFjMGMzNjVhZjgxNWU3ZjYzOWYuLjJiYTVhMDhkMjU4NmEzY2JkMWRhNGZlMzEwNDg4ODY1
Y2RjN2ZiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBA
IC0xMjUsNyArMTI1LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2
ZW50KCkKICAgICBpZiAobV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJy
b3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBIVE1MU291
cmNlRWxlbWVudDo6Y2FuY2VsUGVuZGluZ0Vycm9yRXZlbnQoKQpAQCAtMTY2LDcgKzE2Niw3IEBA
IHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiB3aHkp
CiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpyZXN1bWUoKQogewogICAgIGlmIChtX3Nob3VsZFJl
c2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUpIHsKLSAgICAgICAgbV9lcnJvckV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJlc3Vt
ZSA9IGZhbHNlOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCmluZGV4IDA3ZjQyZDk5ZjhkN2I0OGE5YmEyNDFiNGM0NzFkNTc5ZjU1ZThiZDUuLjA2ZWRm
NzMwMzQyZGUyMTYyY2E4MzUzZWQ3YjA1NTk1MGExNWZhNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgSFRNTFRyYWNr
RWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4gUnVu
IHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFsbG93aW5nIHdo
YXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0gICAgbV9sb2Fk
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKaW5kZXggOTU0MDUyNTA5ZWI3ZTIy
YmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uZjY0YjU1ZWVhMjIwMzc2NDllYzY3NzFkYTNkYTQ5
MGRmNzNmODNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcApAQCAt
NTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9jayhDbG9jazo6Y3JlYXRlKCkpCiAg
ICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKICAgICAsIG1fdGltZXVwZGF0
ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCkK
LSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQogewogfQogCkBAIC0xNDgsNyArMTQ3
LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIGlm
IChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKSB7CiAgICAgICAgIC8v
IFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1
cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6bWF4PGRvdWJsZT4oMCwgc3RkOjpt
aW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUoKSkpOwotICAgICAgICBtX2NsZWFy
UG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY2xlYXJQb3NpdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiAKICAgICByZXR1cm4gbV9wb3Np
dGlvbjsKQEAgLTUzNyw3ICs1MzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkKIHsKICAgICBtX3BlbmRpbmdFdmVu
dHMuYXBwZW5kKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgdHJ1ZSkpOwogICAgIGlm
ICghbV9hc3luY0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hc3luY0V2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGlt
ZXJGaXJlZCgpCkBAIC02NjMsNyArNjYyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnJldHVy
blRvUmVhbHRpbWUoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMgdGltZXVw
ZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIxNSB0byAy
NTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IFNlY29uZHMoMC4yNSk7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1l
IG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93
IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2
M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0
ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVw
ZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9u
b3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3Vy
cmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RG9jdW1lbnQuY3BwCmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBm
ZmUuLjJhNDMzM2EyNTIxNjI0MzM3ZDQ4MGUzMzc1NGVlYTNhMGVmYzcxODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFE
b2N1bWVudDo6bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBs
ZXQgdGhlIHBsdWdpbiBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhp
cyAKICAgICAvLyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBl
bmdpbmUgY2FsbGJhY2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRo
ZSBlbGVtZW50LCBtZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNl
TWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYURvY3Vt
ZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA1Y2I3M2JiYzI1ZjMwNDAxMzcwNDQ3MzFm
YjU1ZTNmZjhlMmZjZGEzLi41YTRhOWU0YWM0MjdlY2I1YWVmMmQxOTRmZDA4MTc4YWQ3NGQwMWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTU3
LDcgKzU3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IGVsZW1lbnRNYWluQ29udGVudENoZWNrSW50ZXJ2YWwgPSAuMjUwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IFNlY29uZHMoMC4yNSk7CiAK
IHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVk
aWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250
ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBv
c2UpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJu
YWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBoYXNUYXJnZXRzCiAgICAgTE9H
KE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFi
bGVEaWRDaGFuZ2UoJXApIC0gaGFzVGFyZ2V0cyAlcyIsIHRoaXMsIGhhc1RhcmdldHMgPyAiVFJV
RSIgOiAiRkFMU0UiKTsKIAogICAgIG1faGFzUGxheWJhY2tUYXJnZXRzID0gaGFzVGFyZ2V0czsK
LSAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNhblBsYXlUb1dpcmVsZXNzUGxh
eWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFy
Y2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3Bw
CmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODli
ZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Nl
YXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAgIC8vIEFmdGVyIHR5cGluZyB0aGUgZmly
c3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAgIC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5
LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4yIGZyb20gdGhlbiBvbi4KLSAgICBtX3Nl
YXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVu
Z3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwogfQogCiB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25N
ZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBjYmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0
Li4zMWU2ODI5MjMyMTg3YTQ0MmZiZmRlOTczNGJlZDk1ZmFhYzczMmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQg
VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAg
ICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9u
TWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBlbHNlCiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNz
YWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBWYWxpZGF0aW9u
TWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQpAQCAtMTQ0LDcgKzE0NCw3IEBA
IHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKCkKICAg
ICAgICAgbV90aW1lciA9IG51bGxwdHI7CiAgICAgZWxzZSB7CiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVC
dWJibGVUcmVlKTsKLSAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDUuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAv
IDEwMDApKTsKKyAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KFNlY29uZHMo
NSksIFNlY29uZHMobV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwLjAp
KTsKICAgICB9CiB9CiAKQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdl
OjpyZXF1ZXN0VG9IaWRlTWVzc2FnZSgpCiAKICAgICAvLyBXZSBtdXN0IG5vdCBtb2RpZnkgdGhl
IERPTSB0cmVlIGluIHRoaXMgY29udGV4dCBieSB0aGUgc2FtZSByZWFzb24gYXMgc2V0TWVzc2Fn
ZSgpLgogICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29s
IFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9kZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggM2U5ZGNjYWM1MWNmMjNkY2M4NGU4NGEzYWJmMTdh
Y2U3MGMyMTMwMy4uNzMwOTczOTAzNzkzNmFiY2QxMGI2ZDhhNGNmMWY2NzFiMGVmNjQxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citjb25z
dCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gU2Vjb25kcygxKTsKIGNvbnN0
IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiAKIG5hbWVzcGFjZSB7CkBA
IC00NjY2LDcgKzQ2NjYsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VD
b250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpMb3N0QwogCiAgICAgLy8gQWx3
YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUgY29udGV4dCBsb3N0IGV2ZW50LCB0byBpbXBs
ZW1lbnQKICAgICAvLyB0aGUgc3BlYyBiZWhhdmlvciBvZiBxdWV1ZWluZyBhIHRhc2suCi0gICAg
bV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9k
aXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgp
CkBAIC00NjgzLDcgKzQ2ODMsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZv
cmNlUmVzdG9yZUNvbnRleHQoKQogICAgIH0KIAogICAgIGlmICghbV9yZXN0b3JlVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIFBsYXRmb3Jt
TGF5ZXIqIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApA
QCAtNTYxNCw3ICs1NjE0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNw
YXRjaENvbnRleHRMb3N0RXZlbnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQp
OwogICAgIG1fcmVzdG9yZUFsbG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAg
IGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxs
b3dlZCkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCkBAIC01Njc5LDcgKzU2
NzksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRl
eHQoKQogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dChHcmFwaGljc0NvbnRl
eHQzRDo6Y3JlYXRlKG1fYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOwogICAgIGlmICghY29udGV4
dCkgewogICAgICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RDb250ZXh0KQot
ICAgICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHNlY29uZHNCZXR3ZWVuUmVz
dG9yZUF0dGVtcHRzKTsKKyAgICAgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCh0
aW1lQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIC8v
IFRoaXMgbGlrZWx5IHNob3VsZG4ndCBoYXBwZW4gYnV0IGlzIHRoZSBiZXN0IHdheSB0byByZXBv
cnQgaXQgdG8gdGhlIFdlYkdMIGFwcC4KICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgIiIsICJlcnJvciByZXN0b3Jpbmcg
Y29udGV4dCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2Vy
U2NoZWR1bGVyLmNwcAppbmRleCAyODMzN2Q4NmQ1M2Y4OWRlYTUzOThiZjYzYzZmYjhjMTEzNWQz
NjFkLi4yN2NhZGVjNDIyNWY1NmVhODE5MTFlZjEwODcwOWY4MTQwNDIwOTJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1
bmtUaW1lckZpcmVkKCkKICAgICAvLyBGSVhNRTogVGhlIHRpbWVyIGNsYXNzIHNob3VsZCBoYW5k
bGUgdGltZXIgcHJpb3JpdGllcyBpbnN0ZWFkIG9mIHRoaXMgY29kZS4KICAgICAvLyBJZiBhIGxh
eW91dCBpcyBzY2hlZHVsZWQsIHdhaXQgYWdhaW4gdG8gbGV0IHRoZSBsYXlvdXQgdGltZXIgcnVu
IGZpcnN0LgogICAgIGlmIChtX3BhcnNlci5kb2N1bWVudCgpLT5pc0xheW91dFRpbWVyQWN0aXZl
KCkpIHsKLSAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3BhcnNlci5yZXN1bWVQYXJzaW5nQWZ0
ZXJZaWVsZCgpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c2hvdWxkWWllbGRCZWZvcmVFeGVjdXRpbmdTY3JpcHQoUHVtcFNlc3Npb24mIHNlc3Npb24pCiB2
b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1lKCkKIHsKICAgICBBU1NF
UlQoIW1fc3VzcGVuZGVkKTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6c3VzcGVuZCgpCkBAIC0xNDgs
NyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUoKQogICAgIGlmICgh
bV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAgcmV0dXJuOwogICAgIG1faXNT
dXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCAxNWVhMWYwOGMzMDYzYzYx
MzQyMGRiZTE1NjY2NWE4MTgzYmVjNTQ1Li42YWM4ZTExMDNmNDNiNjYzMmIzYzdkMTlkOGVkMGE2
YmNkNGJjM2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xQ
YW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIoKQogICAgIC8vIFRoZSB0aW1lciBpcyByZXF1aXJlZCB0
byBzZXQgdGhlIHByb3BlcnR5IGRpc3BsYXk6J25vbmUnIG9uIHRoZSBwYW5lbCwKICAgICAvLyBz
dWNoIHRoYXQgY2FwdGlvbnMgYXJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgYXQgdGhlIGJvdHRvbSBv
ZiB0aGUgdmlkZW8KICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBmYWRlb3V0IHRyYW5zaXRpb24u
Ci0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBh
Z2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAgIFNl
Y29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50
aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IFNlY29uZHMoMCk7CiAgICAg
bV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApAQCAtMTg4LDEw
ICsxODgsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUoKQog
ICAgIGlmIChtX29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9u
ID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNv
bnRyb2xzRmFkZUluRHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVJbkR1cmF0aW9uKCkgOiBTZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBk
dXJhdGlvbiwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlPcGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAog
ICAgIG1fb3BhcXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250
cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgp
ID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlv
bigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1
bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiBT
ZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5z
aXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlPcGFjaXR5LCAw
LjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3BhcXVlID0gZmFs
c2U7CkBAIC0xMzM2LDcgKzEzMzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRh
aW5lckVsZW1lbnQ6OnVwZGF0ZVNpemVzKGJvb2wgZm9yY2VVcGRhdGUpCiAgICAgbV91cGRhdGVU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvblN0eWxlID0gdHJ1ZTsKIAogICAgIC8vIEZJWE1FICgxMjEx
NzApOiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgbGF5b3V0LCBhbmQgc2hvdWxkIGxh
eSBvdXQgdGhlIHRleHQgdHJhY2tzIGltbWVkaWF0ZWx5LgotICAgIG1fdXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiBSZWZQdHI8SW1hZ2U+IE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1l
bnQ6OmNyZWF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uSW1hZ2UoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAyMTBmNmE5ZGY1YWM3
NzE3NWE5ODEyYWMwNTEwNDIyMzJhMzQwZjMzLi5mNjI1NGJiODEzODRiM2E3ZWQxNDA4ZmE0M2Vk
ODUxNTM0NTU1ZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRh
YmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxl
VGV4dFRyYWNrLmNwcApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpz
Y2hlZHVsZUxvYWQoY29uc3QgVVJMJiB1cmwpCiAgICAgLy8gMy4gQXN5bmNocm9ub3VzbHkgcnVu
IHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxlIGNvbnRpbnVpbmcgd2l0aCB3aGF0ZXZlciB0YXNr
IAogICAgIC8vIHdhcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHRleHQgdHJhY2sgb3Ig
Y2hhbmdpbmcgdGhlIHRleHQgdHJhY2sgbW9kZS4KICAgICBpZiAoIW1fbG9hZFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9s
b2FkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBFbGVtZW50KiBMb2FkYWJs
ZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5j
cHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdlMjIzZGQ0MzZjMDdkNTFiNi4uZTg0YjI4
YzBlMmVhN2FjZTQzNzI4NGE4NzJlOWMyNmNlNjYwYjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Ny
b2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocykuCi1zdGF0aWMgY29uc3QgZmxvYXQgc2Ny
b2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsVGltZSA9IFNlY29u
ZHMoMC40MzMpOwogCiBWVFRSZWdpb246OlZUVFJlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0KQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCkBA
IC00MDMsNyArNDAzLDcgQEAgdm9pZCBWVFRSZWdpb246OnN0YXJ0VGltZXIoKQogICAgIGlmICht
X3Njcm9sbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
dXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxUaW1lIDogMDsKKyAgICBTZWNv
bmRzIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiBTZWNvbmRz
KDApOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggM2Q1
NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uMTJlMjJlMTZkMDk2OTRhYmM2
ZGYyZWFjMDg5MDYxZGVlMThjNTFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFuZ2VSZWdp
b25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3csIGlu
dCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnROb2RlSWQp
OwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6dW5zY2hlZHVsZShXZWJLaXROYW1lZEZs
b3cqIG5hbWVkRmxvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuY3BwCmluZGV4IDgzYTAyNGJjZGRkMjEzMDk3ODc1OTg3MjI0MTI3MWUwYThmYjNmMGYu
LjFiZGQ0YzYwNjIxN2ZhYzQyNjg2YTA5MDkxN2RjM2YzYTIyZmU0MzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTg1LDcgKzE4NSw3
IEBAIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBtX2VsZW1lbnRzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1f
dGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJldmFsaWRh
dGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4
IDhhMzVhMTc5ZWI4YmY1OWI0YmMwOThkYzZlZGM5MGNkZTBkYTA1OTMuLjhkZWE4ZmM2NWY5YjA1
MWViY2M2ZmQxODZkNDg4MmU5NTEwZDBkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgwLDcg
KzgwLDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpOwog
ICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfQogCiAgICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdl
RnJvbUZyb250ZW5kKG1fbWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9t
ZXNzYWdlcy5pc0VtcHR5KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmY2EzMTBkMDBhYzIxZGM3YjYx
YmUwYTlmZTA1NWM4YjdmN2FhZDguLmJkZTJkNDIxYjljZGI1MDUyZGJmNzhiYzJjYjUzNzY3YjVm
ZTk0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5j
cHAKQEAgLTUwOSw4ICs1MDksOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJl
Y3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBk
YXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1Vw
ZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRp
bWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAg
ICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMC4w
MzIpOworICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50
UmVjdHNVcGRhdGVJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgZHJhd1BhaW50UmVjdHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCmlu
ZGV4IDNhYWE1MmE2YjhhYTYyZjNkYzc4ZDEyNGFkY2UxOGFlZDA3OTdmOTcuLjc5MGRhMTczYTNl
NTBiNjQ1MmFhMTBjNWM1ODk0ZTI4MDIxMzU4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHN0
YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudD4gYnVp
bGRJbnNwZWN0b3JPYmplY3RGb3JTCiAKICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKICAgICAgICAgLnNldElkKHNlZ21lbnQt
PmlkZW50aWZpZXIoKSkKLSAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAo
KSkKKyAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAoKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCkpCiAgICAgICAgIC5zZXRRdWV1ZXMoV1RGTW92ZShxdWV1ZXNPYmpl
Y3QpKQogICAgICAgICAucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKaW5kZXggZGI0Nzk5ODQxNTJlMzU2MmYzMTk0NjhiZTk1OTVlZWJiZTkwODc1
MC4uYTViOGRiYmFmM2IzMGI4YzJkOWMwN2FiM2E3Yzg1NTgzYmU5Y2IxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00ODksNyArNDg5LDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9pZCBEb2N1
bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2FkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAKICNpZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgaWYgKFNjaGVkdWxlUGFpckhh
c2hTZXQqIHNjaGVkdWxlZFBhaXJzID0gbV9mcmFtZS0+cGFnZSgpLT5zY2hlZHVsZWRSdW5Mb29w
UGFpcnMoKSkKQEAgLTEyMjUsNyArMTIyNSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2
ZXJTdWJzdGl0dXRlUmVzb3VyY2VzQWZ0ZXJEZWxheSgpCiAgICAgaWYgKG1fZnJhbWUtPnBhZ2Uo
KS0+ZGVmZXJzTG9hZGluZygpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFtX3N1YnN0aXR1
dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zdWJzdGl0dXRl
UmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zdWJzdGl0
dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
dm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGM3ODgzYWNiMWIxZmJl
NTBjMjk4MThiNmY0NjY2ZDljZTk2ZTQzOWYuLmQyYjY0NDA5MmFmZDZiNDEwYmRjZWY3MTg5OGY4
NjM3YTgyYjI4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODMx
LDcgKzgzMSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0ZVRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jaGVj
a1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6
c2NoZWR1bGVDaGVja0NvbXBsZXRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cAppbmRleCBhNTNhZjExYmI5ZjkzYmEyYTgxMjNkYjFhODEwZjM4ODc5OTZmZGM1Li5lYWZjZTFi
OTY4YTRiZjExNmQ4NzFhODQ2MzM1ODExZTFjNzNmYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRh
dGVkSGFzUGVuZGluZ0V2ZW50KCkKICAgICAgICAgICAgIG1fcHJvdGVjdGVkRWxlbWVudCA9ICZl
bGVtZW50KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUKCFtX2RlcmVmRWxlbWVudFRp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfSAgIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAKaW5kZXggN2VmZmFkN2ZhMWM1YWEzNDQ2ZWFjMDAyOTYxOGYxMmJiNTc1YjRl
NS4uMmJkOWQ5MzVhN2Q0MmVkZWVlYjJhZjNmZjMyMjI3MzYwZmNjNDhjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3
IEBAIHByb3RlY3RlZDoKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKICAgICAg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9y
d2FyZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3VybCwg
ZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9ja0Jh
Y2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3Rl
ZChtX3VybCwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwo
KS52YWx1ZSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlk
U3RvcFRpbWVyKEZyYW1lJiBmcmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVzcykgb3ZlcnJpZGUK
QEAgLTI3NSw3ICsyNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0
cnVlOwogCiAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNl
ckdlc3R1cmVUb0ZvcndhcmQoKSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGly
ZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkg
KyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CisgICAg
ICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0
VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCku
dmFsdWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0
b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBA
IC01MzksNyArNTM5LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIGRlbGF5ID0gbV9yZWRpcmVjdC0+ZGVsYXko
KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcyhkZWxheSkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJh
bWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJhbWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5k
aWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGltZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxs
IG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50IGNhbmNlbGVkIHRoZSBsb2FkKQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIyOWU2ZWFiNjVm
NTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi43ZTgzZTFjMjViNzc5OWEwNDAxMDhiODBlYjgwZWJj
NWE1NTgyZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApA
QCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9
IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25zdCBpbnQgcHJv
Z3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAogLy8gQ2hlY2sg
aWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7CiAKIC8vIEhvdyBtYW55
IGhlYXJ0YmVhdHMgbXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRo
ZSBsb2FkIGlzIGN1cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRT
dGFsbGVkSGVhcnRiZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcAppbmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4
Li5mMGUzOGFkZmVlZmUyMGU2MzQzYzZhYzFkMTM1NDcwOWZmNDgwOThjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQg
VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Up
CiAgICAgICAgIG1fY3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIGNh
bmNlbExvYWQoKTsKIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6
bmV3Q3Vlc1BhcnNlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbmV3Q3Vlc0F2YWlsYWJs
ZSA9IHRydWU7Ci0gICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tM
b2FkZXI6Om5ld1JlZ2lvbnNQYXJzZWQoKQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgVGV4dFRy
YWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSgpCiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIAog
ICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAKICAgICBjYW5jZWxMb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4
IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYxN2NmOTJlMTAuLjJjYmE5YzYyMGE3MWZj
MGE2MWVmNjhmYWU0MGI2ZjIwNDFhZmI0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcg
KzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4
QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGltZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2Fs
bGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVy
LT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgLy8gVGhlIHRpbWVyIHdpbGwgZGVsZXRl
IGl0c2VsZiBvbmNlIGl0IGZpcmVzLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBlMDc5MzhjOWY3NTAxNzk1Mjc5MTBhNDk2Y2U2
ZjRjYWRkMmU2MDA0Li4xMDRiNDBlNjI4MzM4OWU2N2ZiOWY5ZTFkZGMyOTc1MWZhMTAwMjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAg
LTEwMywxMCArMTAzLDEwIEBAIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291cmNlOjpk
ZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQogICAgIHJldHVybiBSZXNv
dXJjZUxvYWRQcmlvcml0eTo6TG93OwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7
CiAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCkKLSAgICAgICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBTZWNvbmRz
KDApOwogCiAgICAgcmV0dXJuIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCk7CiB9CkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWVkZWQoKQogewogICAgIGlmICghbV9kZWNv
ZGVkU2l6ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghTWVtb3J5Q2FjaGU6OnNpbmdsZXRv
bigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKS5jb3VudCgpKQorICAgIGlmICgh
TWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3Rh
cnQoKTsKIH0KQEAgLTgxNSw3ICs4MTUsNyBAQCBpbmxpbmUgQ2FjaGVkUmVzb3VyY2U6OkNhbGxi
YWNrOjpDYWxsYmFjayhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIENhY2hlZFJlc291cgogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aW1lcigqdGhpcywgJkNhbGxiYWNrOjp0aW1l
ckZpcmVkKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJmM2Rm
MzYxMWZiNzU5MzM1NGFhLi44MjAxOTQyMzYxOWY5OTYzMzk2ZDRhNGY5ZDY4NWE0ODdhOGM2ZGEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJmb3Jt
CiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJiYWdl
Q29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIC8vIEdhcmJhZ2UgY29sbGVjdGluZyBtX2RvY3VtZW50UmVzb3VyY2Vz
IGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmNwcAppbmRleCBkOGQzMGRmYzRlZTkxMDNiMzRkZjhhMTdiYmQ0NzVkZDhhOWU4
Mjc5Li4zYTk2MDBiZmY2YTIzNjFiZTMyMDRiNjRjNmYwNjBmYzc0ODIwNzYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNp
dHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBjb25zdCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2
ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29uZHMuCiBzdGF0aWMgY29uc3QgZmxvYXQgY1Rhcmdl
dFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8vIFBlcmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJk
IHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBpbW1lZGlhdGVseSBwcnVuaW5nIGFnYWluLgotc3Rh
dGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHsgMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAKIE1lbW9yeUNhY2hlJiBNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkKIHsKQEAgLTc2NywxMSArNzY3LDEzIEBAIHZvaWQgTWVtb3J5
Q2FjaGU6OnBydW5lKCkKIAogdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmVTb29uKCkKIHsKLSAgICAg
aWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQorICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQotICAgICAg
ICAgcmV0dXJuOwotICAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDApOworCisgICAgaWYg
KCFuZWVkc1BydW5pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wcnVuZVRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5
NjMwNTM4ZjI4MmJlNThkMTcwZC4uNzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTky
NmIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEy
NSw4ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25l
ZCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAg
IHZvaWQgc2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsKSB7IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9
IGludGVydmFsOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsOyB9CisgICAgdm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
ID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwoKSBjb25zdCB7IHJldHVybiBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0K
IAogICAgIC8vIENhbGxzIHRvIHB1dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBv
ZiBMUlUgbGlzdHMuCiAgICAgdm9pZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsK
QEAgLTE5OSw3ICsxOTksNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAg
ICAgdW5zaWduZWQgbV9taW5EZWFkQ2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2Fw
YWNpdHk7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVz
IGN1cnJlbnRseSBjb25zdW1lZCBieSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAg
ICB1bnNpZ25lZCBtX2RlYWRTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBj
b25zdW1lZCBieSAiZGVhZCIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3
Y2M3NzAzMGY1ZjY5NGUzMGJiMmQuLmNhMGMxZDk0MDIwNDU5ZThiODBlMmI2YjM3YTY2YWM1ZTU4
MDEwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApA
QCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24g
PSA2OwogLy8gSWNvbnMgZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50
IGljb25FeHBpcmF0aW9uVGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVw
ZGF0ZVRpbWVyRGVsYXkgPSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVs
YXkgPSBTZWNvbmRzKDUpOwogCiBzdGF0aWMgYm9vbCBjaGVja0ludGVncml0eU9uT3BlbiA9IGZh
bHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmlu
ZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLmNjMWI2N2Y2MGM0
YmUzZmE0YWE2NDI0YzgxNTU4OTgxN2Y2NDk5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
QXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9sbERlbGF5ID0gMC4yOwogCiAvLyBX
aGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8g
dGhlIHNjcm9sbCBldmVyeSAwLjA1cyB0byBtYWtlIGl0IHNtb290aAotc3RhdGljIGNvbnN0IGRv
dWJsZSBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0
b3Njcm9sbEludGVydmFsID0gU2Vjb25kcygwLjA1KTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xM
SU5HKQogc3RhdGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKaW5kZXggY2ZlYTEwYzRk
OWNlZWEzNGNiZGZkMjEwYjUzZjcxYWE3ZjgxYmU0NC4uYjZhN2FjYWZiOTI3ODU1MGE1Y2YzODlh
OGZhOGVkN2U2YjgwNGVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXMuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJl
bmNlczo6bm90aWZ5KCkKIAogICAgIG1faGF2ZVByZWZlcmVuY2VzID0gdHJ1ZTsKICAgICBpZiAo
IW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBDYXB0aW9uVXNl
clByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6
Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXggOThiMjJiYWZlMmNmYmJk
NmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNGNhNWVjY2Y3OWRmMzA2MGZmZDgwY2EyMWM4NzYw
NzAyMGE1Njc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclBy
ZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBAQCB2b2lkIENhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVyZW5jZUNo
YW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJpbmcgdGhlIGNhcHRpb24g
c3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgaW5k
aXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBvcgogICAgIC8vIHZpZGVv
IGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0gICAgbV91cGRhdGVTdHls
ZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlU3R5bGVTaGVldFRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRjo6Y2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGlt
ZXIuY3BwCmluZGV4IGQwM2MxYjAyZmU2MDIzYjYyMzE3YzMxMWQzNmMzZGE1ZmFkYzRmZDUuLmFl
NjQ1NGIzOGFkYjJjYzVmOWY3ODIwMDdmY2M4NWJjYzg4NTA0NTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
VGltZXIuY3BwCkBAIC01MSw4ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGF1dG8gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxMDAw
bXM7IC8vIE9uZSBzZWNvbmQgbWF0Y2hlcyBHZWNrby4KLXN0YXRpYyBjb25zdCBhdXRvIG1pbklu
dGVydmFsRm9yTm9uVXNlck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSAxMDAwbXM7IC8vIEVtcGly
aWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1pemUgYmF0dGVyeSBsaWZlLgorc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSBTZWNvbmRzKDEp
OyAvLyBPbmUgc2Vjb25kIG1hdGNoZXMgR2Vja28uCitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5J
bnRlcnZhbEZvck5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlVGltZXJzID0gU2Vjb25kcygxKTsgLy8g
RW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMg
Y29uc3QgaW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJl
U3RhdGUgewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1l
cnNNYXA6OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBi
b29sIHNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGlu
dGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndh
cmRVc2VyR2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAg
IHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAg
ICAgICAgJiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcK
ICAgICAgICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3
YXJkZWQgdG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8
VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVy
dmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0
dXJlKGludGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTE3NSwxMiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+
IHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6
OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRl
cnZhbCwgYm9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlv
biwgU2Vjb25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVU
aW1lcihjb250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdM
ZXZlbCgpKQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5h
bEludGVydmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkK
ICAgICAsIG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkp
CiAgICAgLCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9y
d2FyZChpbnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERP
TVRpbWVyOjp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xl
U2hvdCkKK2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBh
c3NlcyBvd25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNv
bnN0cnVjdG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21h
dGljYWxseSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAg
LTIxMCw3ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElP
UykKICAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVm
ZXJUaW1lb3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAg
ICAgIGlmICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2lu
Z2xlU2hvdCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoMTAwKSAmJiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAg
ICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShXS0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdl
KTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9ic2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVy
KTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlmIG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hh
bmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVv
dXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9u
bzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6
ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVlKCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAv
LyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBpbnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGlt
ZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRUaW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4
dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIxIEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRp
bWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChyZXBl
YXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VSVChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJl
dmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERP
TVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0
ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgp
LCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0
SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFsKTsKKyAgICAgICAgTE9HKERPTVRpbWVycywg
IiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBlYXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRv
ICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxs
aXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAg
ICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlv
dXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0g
VXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8g
JSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZh
bC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBMT0co
RE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01UaW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAl
LjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMo
KSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAt
IHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9N
VGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgQVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1h
eFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMs
IG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0byBpbnRlcnZhbCA9IHN0ZDo6bWF4KFNlY29u
ZHM6OmZyb21NaWxsaXNlY29uZHMoMSksIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAvLyBP
bmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9uZXN0
aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBAIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1PcHRpb25hbDxzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzPiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgZmlyZVRpbWUpIGNvbnN0CitPcHRpb25hbDxNb25vdG9uaWNUaW1lPiBET01U
aW1lcjo6YWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1RpbWUgZmlyZVRpbWUpIGNvbnN0CiB7Ci0g
ICAgYXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7Ci0gICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBtcykKKyAgICBTZWNvbmRzIGFsaWdu
bWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT50aW1lckFsaWdubWVudElu
dGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKKyAgICBpZiAo
IWFsaWdubWVudEludGVydmFsKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAKKyAgICAv
LyBEbyB3ZSByZWFsbHkgd2FudCB0byBpbml0aWFsaXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1
c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0g
cmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3JjZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFs
aWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJldHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBl
LmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rp
b24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVudEludGVydmFscywgZS5nLgogICAgIC8vIGlm
IGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCByYW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0
aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAuLi4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZz
ZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFk
anVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJu
IGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRGaXJlVGltZSAlIGFsaWdubWVudEludGVydmFs
KSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9taXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJh
bmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9u
OworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRGaXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9t
aXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChh
ZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50
ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0Owog
fQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggOTZjOGIzYmI2NWE3ZmNmMjY3ZThlMGFkZTZjZmNlMGZi
OWFkYTdkNC4uNDQ1YjVmMThhZDA5YjUwZWQ3N2I3ZTI5NDU2MzNkNTU3YjQ1OTlhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGltZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7
IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50
SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0K
KyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWluaW11bUludGVydmFsKCkgeyByZXR1cm4gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyg0KTsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1bHRB
bGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIFNlY29uZHMoMCk7IH0KKyAgICBzdGF0aWMgU2Vj
b25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiBTZWNvbmRzKDEpOyB9
CiAKICAgICAvLyBDcmVhdGVzIGEgbmV3IHRpbWVyIG93bmVkIGJ5IHNwZWNpZmllZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBzdGFydHMgaXQKICAgICAvLyBhbmQgcmV0dXJucyBpdHMgSWQuCi0g
ICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lb3V0
LCBib29sIHNpbmdsZVNob3QpOworICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVCeUlkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBpbnQgdGltZW91dElkKTsKIAogICAgIC8vIE5vdGlmeSB0aGF0
IHRoZSBpbnRlcnZhbCBtYXkgbmVlZCB1cGRhdGluZyAoZS5nLiBiZWNhdXNlIHRoZSBtaW5pbXVt
IGludGVydmFsCkBAIC02MCwxMCArNjAsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNj
cmlwdERpZEludGVyYWN0V2l0aFBsdWdpbihIVE1MUGx1Z0luRWxlbWVudCYpOwogCiBwcml2YXRl
OgotICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgYm9v
bCBzaW5nbGVTaG90KTsKKyAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3Rk
Ojp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2lu
Z2xlU2hvdCk7CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CisgICAgU2Vj
b25kcyBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsKIAogICAgIGJvb2wgaXNET01U
aW1lcnNUaHJvdHRsaW5nRW5hYmxlZChEb2N1bWVudCYpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
VGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoY29uc3QgRE9NVGltZXJGaXJlU3RhdGUmKTsKQEAg
LTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBTdXNwZW5kYWJsZVRpbWVyCiAgICAgdm9p
ZCBmaXJlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkU3RvcCgpIG92ZXJyaWRlOwotICAgIE9w
dGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBPcHRpb25hbDxNb25vdG9u
aWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9i
amVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTg1LDEwICs4NSwxMCBAQCBwcml2YXRlOgog
ICAgIGludCBtX3RpbWVvdXRJZDsKICAgICBpbnQgbV9uZXN0aW5nTGV2ZWw7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247Ci0gICAgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7Ci0gICAgVGltZXJUaHJvdHRsZVN0YXRlIG1f
dGhyb3R0bGVTdGF0ZTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fY3VycmVudFRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7CisgICAgU2Vjb25k
cyBtX2N1cnJlbnRUaW1lckludGVydmFsOwogICAgIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiBt
X3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQ7CisgICAgVGltZXJUaHJvdHRsZVN0YXRlIG1fdGhy
b3R0bGVTdGF0ZSB7IFVuZGV0ZXJtaW5lZCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDJhOTM5M2FmOGI2OGJmZWJhYTFkNmYw
YWM0YjZjYWY4ZGU2OTI5N2IuLjA1NzAxNTMyZTFmZjQ4ZDgzMWJhNjYwMjQ1YTNkOWY4Njc0ODg1
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTk1OCw3ICs5NTgsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFJlZjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+JiYgbWVzc2FnZSwgVgogCiAgICAgLy8gU2NoZWR1bGUgdGhlIG1lc3NhZ2UuCiAgICAg
YXV0byogdGltZXIgPSBuZXcgUG9zdE1lc3NhZ2VUaW1lcigqdGhpcywgV1RGTW92ZShtZXNzYWdl
KSwgc291cmNlT3JpZ2luLCBzb3VyY2UsIGNoYW5uZWxzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBX
VEZNb3ZlKHRhcmdldCksIFdURk1vdmUoc3RhY2tUcmFjZSkpOwotICAgIHRpbWVyLT5zdGFydE9u
ZVNob3QoMCk7CisgICAgdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJl
dHVybiB7IH07CiB9CkBAIC0xNjQ4LDcgKzE2NDgsNyBAQCBFeGNlcHRpb25PcjxpbnQ+IERPTVdp
bmRvdzo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24s
CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAo
IWNvbnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIg
fTsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJu
IERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6Y2xl
YXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCkBAIC0xNjgwLDcgKzE2ODAsNyBAQCBFeGNlcHRpb25P
cjxpbnQ+IERPTVdpbmRvdzo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJ
RF9BQ0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBX
VEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNl
KTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lk
IERPTVdpbmRvdzo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGV2aWNlQ29udHJvbGxlci5jcHAKaW5kZXggM2MzODQzMDk1NjM0OTYyMmFlMmUxOWZkNWI3
NjAzODVjOTU5MDRjYy4uNzA0OWI2MmQ1ODNjNWExNDM2NTIyOWQ4ODk1MjNiM2I4OTlkYTE5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCkBAIC00OCw3ICs0OCw3
IEBAIHZvaWQgRGV2aWNlQ29udHJvbGxlcjo6YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcihET01XaW5k
b3cqIHdpbmRvdykKICAgICBpZiAoaGFzTGFzdERhdGEoKSkgewogICAgICAgICBtX2xhc3RFdmVu
dExpc3RlbmVycy5hZGQod2luZG93KTsKICAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0eSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlOTRhOTI1NTJjOTk2YTUzOGU0
NjY4MmNlYjMxZTM1MTkxYTMzMzdhLi43M2M3MTdkMDFjNDUyZGJiYzlhYjc5Mjg0OGVlNWI3OTEy
YWE0MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUgKzE1
NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRpbWUg
dG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAogLy8g
ZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29udGVu
dCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVyYXRp
b25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVzZWQu
Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsKLWNv
bnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRvdWJs
ZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFrZU1v
dXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gU2Vjb25kcygwLjAxKTsKK2NvbnN0IFNlY29uZHMg
ZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7Citjb25zdCBTZWNvbmRz
IGZha2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMjUpOwogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBm
b3IgYSBjdXJzb3IgdXBkYXRlIG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRv
IDUwSHosIG5vIG5lZWQgdG8gYmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJh
dGUKLWNvbnN0IGRvdWJsZSBjdXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNv
bmRzIGN1cnNvclVwZGF0ZUludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAogY29uc3QgaW50IG1h
eGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCkBAIC0xOTMsMjAgKzE5MywyMCBAQCBwcml2
YXRlOgogCiBjbGFzcyBNYXhpbXVtRHVyYXRpb25UcmFja2VyIHsKIHB1YmxpYzoKLSAgICBleHBs
aWNpdCBNYXhpbXVtRHVyYXRpb25UcmFja2VyKGRvdWJsZSAqbWF4RHVyYXRpb24pCisgICAgZXhw
bGljaXQgTWF4aW11bUR1cmF0aW9uVHJhY2tlcihTZWNvbmRzJiBtYXhEdXJhdGlvbikKICAgICAg
ICAgOiBtX21heER1cmF0aW9uKG1heER1cmF0aW9uKQotICAgICAgICAsIG1fc3RhcnQobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkpCisgICAgICAgICwgbV9zdGFydChNb25vdG9uaWNUaW1l
Ojpub3coKSkKICAgICB7CiAgICAgfQogCiAgICAgfk1heGltdW1EdXJhdGlvblRyYWNrZXIoKQog
ICAgIHsKLSAgICAgICAgKm1fbWF4RHVyYXRpb24gPSBzdGQ6Om1heCgqbV9tYXhEdXJhdGlvbiwg
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3N0YXJ0KTsKKyAgICAgICAgbV9tYXhE
dXJhdGlvbiA9IHN0ZDo6bWF4KG1fbWF4RHVyYXRpb24sIE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9zdGFydCk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIGRvdWJsZSogbV9tYXhEdXJhdGlvbjsK
LSAgICBkb3VibGUgbV9zdGFydDsKKyAgICBTZWNvbmRzJiBtX21heER1cmF0aW9uOworICAgIE1v
bm90b25pY1RpbWUgbV9zdGFydDsKIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAh
RU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBFdmVudEhh
bmRsZXI6OmNsZWFyKCkKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludERvY3VtZW50ID0gbnVs
bHB0cjsKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRhcmdldEtleSA9IDA7CiAjZW5kaWYK
LSAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDA7CisgICAgbV9tYXhNb3VzZU1vdmVkRHVy
YXRpb24gPSBTZWNvbmRzKDApOwogICAgIG1fYmFzZUV2ZW50VHlwZSA9IFBsYXRmb3JtRXZlbnQ6
Ok5vVHlwZTsKICAgICBtX2RpZFN0YXJ0RHJhZyA9IGZhbHNlOwogfQpAQCAtMTgyMCw3ICsxODIw
LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2
ZW50JiBldmVudCkKIHsKICAgICBSZWY8RnJhbWU+IHByb3RlY3RlZEZyYW1lKG1fZnJhbWUpOwog
ICAgIFJlZlB0cjxGcmFtZVZpZXc+IHByb3RlY3RvcihtX2ZyYW1lLnZpZXcoKSk7Ci0gICAgTWF4
aW11bUR1cmF0aW9uVHJhY2tlciBtYXhEdXJhdGlvblRyYWNrZXIoJm1fbWF4TW91c2VNb3ZlZER1
cmF0aW9uKTsKKyAgICBNYXhpbXVtRHVyYXRpb25UcmFja2VyIG1heER1cmF0aW9uVHJhY2tlciht
X21heE1vdXNlTW92ZWREdXJhdGlvbik7CiAKICAgICBpZiAobV9mcmFtZS5tYWluRnJhbWUoKS5w
YWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5oYW5kbGVNb3VzZUV2ZW50KGV2ZW50KSkKICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC0yODk4LDcgKzI4OTgsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2Vu
ZENvbnRleHRNZW51RXZlbnRGb3JLZXkoKQogdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92
ZXJTdGF0ZVVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX2hvdmVyVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9ob3ZlclRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9S
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDliY2FjNzJjN2UyMTYzMjEwOTE1
ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUzYjM2ODliNmEyZDUyYTY5NDg4
ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNTcwLDcgKzU3MCw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAot
ICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAgfTsKKyAgICBTZWNvbmRzIG1f
bWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZlbnQ6OlR5cGUgbV9iYXNlRXZl
bnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAgYm9vbCBtX2RpZFN0YXJ0RHJh
ZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVlbEV2ZW50IHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggNDc0MjI4ODA3MmNlNWE1YTFlYjdh
OTA0ZjUyMTUzM2Y1ZTUyNDVjNy4uOGIxNzZiYzM0ODhiZWIxNjlhM2YzYjM5MjVlMGRhNjQyMzgy
M2FjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRfdCBFdmVudFNvdXJjZTo6ZGVm
YXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29uZHMgRXZlbnRTb3VyY2U6OmRl
ZmF1bHRSZWNvbm5lY3REZWxheSA9IFNlY29uZHMoMyk7CiAKIGlubGluZSBFdmVudFNvdXJjZTo6
RXZlbnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1
cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5pdCkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgm
Y29udGV4dCkKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZUlu
aXRpYWxDb25uZWN0KCkKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBDT05ORUNUSU5HKTsKICAgICBB
U1NFUlQoIW1fcmVxdWVzdEluRmxpZ2h0KTsKIAotICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgT3B0aW9uYWw8dW5zaWduZWQ+IGZpZQogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAwM2FlYzJiYjMxYjhhYWU1Mjk0YjZmNzk5ODQ2OGRk
YjkxNmE5OGRkLi5jOTQ2MTU3OTIwMjQ4MDNjYmFiMjk5Nzk0MmQ3Yzg1NDlhMGQxYjc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uOTM4YmUw
NjRiMWE0NzE4NGZkZjQ3OWM4YjFjMzZjOTcxMzIxMTI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcygzMykpOwogfQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6Zm9jdXNSZXBhaW50VGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDM3ZmI3ZGFmMWZkOWUyOTU2YmFmNTBm
MWNhNWM4YWE5M2JkMGMyNDIuLjU1Y2Y0MzZlNjg5M2FhOWY1Y2NiYTBlYzYzMmI3NjM1YjE3M2Ew
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogI2lmIFBMQVRGT1JNKElPUykK
LWNvbnN0IHVuc2lnbmVkIHNjcm9sbEZyZXF1ZW5jeSA9IDEwMDAgLyA2MDsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSA9IFNlY29uZHMoMS4wIC8gNjApOwogI2VuZGlmCiAK
IERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgZnJh
bWVDb3VudGVyLCAoIkZyYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGE2
MTlhMGIyNjVhNzY3NTQwMGZkMmUyODlkNjMwZmJlZDk1NGY2MjEuLjkxNTY1NjRkYmE0NWYwZjNh
YjYyMTUyYzY1N2I0ZjVmODI5NGE0ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAg
LTE1NjAsNyArMTU2MCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRy
ZWUpCiAgICAgICAgICAgICAvLyBkZWZlciB3aWRnZXQgdXBkYXRlcyBhbmQgZXZlbnQgZGlzcGF0
Y2ggdW50aWwgYWZ0ZXIgd2UgcmV0dXJuLiBwb3N0TGF5b3V0VGFza3MoKQogICAgICAgICAgICAg
Ly8gY2FuIG1ha2UgdXMgbmVlZCB0byB1cGRhdGUgYWdhaW4sIGFuZCB3ZSBjYW4gZ2V0IHN0dWNr
IGluIGEgbmFzdHkgY3ljbGUgdW5sZXNzCiAgICAgICAgICAgICAvLyB3ZSBjYWxsIGl0IHRocm91
Z2ggdGhlIHRpbWVyIGhlcmUuCi0gICAgICAgICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICAgICAgaWYgKG5lZWRzTGF5b3V0KCkpCiAgICAg
ICAgICAgICAgICAgbGF5b3V0KCk7CiAgICAgICAgIH0KQEAgLTI0NDMsNyArMjQ0Myw3IEBAIHZv
aWQgRnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24m
IG9sZFBvc2l0aW9uLCBjb25zdCBTCiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RvcCgpOwogICAgICAgICBzZW5kU2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2Rl
bGF5ZWRTY3JvbGxFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9s
bEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAg
ICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5
KTsKIAogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAg
ICAgICAgIGRvY3VtZW50LT5zZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3Np
dGlvbiwgbmV3UG9zaXRpb24sIHZpc2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7
CkBAIC0yODQxLDcgKzI4NDEsNyBAQCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVU
aWxpbmdJZk5lZWRlZCgpCiAgICAgaWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQg
YXMgbG9hZCBjb21wbGV0aW9uIG1heSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlw
dHMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5
ID0gMC41OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxl
RGVsYXkgPSBTZWNvbmRzKDAuNSk7CiAgICAgbV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVy
LnN0YXJ0T25lU2hvdChzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5KTsKIH0KIApAQCAtMjkx
NCw3ICsyOTE0LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjaGVkdWxlUmVsYXlvdXQoKQogICAgICAg
ICBwcmludGYoIlNjaGVkdWxpbmcgbGF5b3V0IGZvciAlZFxuIiwgZGVsYXkpOwogI2VuZGlmCiAK
LSAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9sYXlvdXRUaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhkZWxheS5jb3VudCgpKSk7
CiB9CiAKIHN0YXRpYyBib29sIGlzT2JqZWN0QW5jZXN0b3JDb250YWluZXJPZihSZW5kZXJPYmpl
Y3QqIGFuY2VzdG9yLCBSZW5kZXJPYmplY3QqIGRlc2NlbmRhbnQpCkBAIC0yOTQ5LDcgKzI5NDks
NyBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZShSZW5kZXJFbGVt
ZW50JiBuZXdSZWxheW91dFJvb3QpCiAgICAgICAgIG1fbGF5b3V0Um9vdCA9ICZuZXdSZWxheW91
dFJvb3Q7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZUxh
eW91dChmcmFtZSgpKTsKICAgICAgICAgbV9kZWxheWVkTGF5b3V0ID0gZGVsYXkuY291bnQoKTsK
LSAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgICAgICBtX2xh
eW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGRlbGF5LmNv
dW50KCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzQyOSw3ICszNDI5LDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKQogICAgIC8vIGlzIGNhbGxl
ZCB0aHJvdWdoIHRoZSBwb3N0IGxheW91dCB0aW1lci4KICAgICBSZWY8RnJhbWVWaWV3PiBwcm90
ZWN0ZWRUaGlzKCp0aGlzKTsKIAotICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkg
ewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxp
bmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYWU5NjYwODExYjQzOTBlYzdk
ZGJiNTY4YmZjNjVkZjQxYzVlOWMxZC4uNjU4NzE1ZTk1MzNlMWQ2ZDBjYzU3Yjc4MmYxMzYxZmM3
ZGVlYjgzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcgKzEyNDMsNyBAQCB2b2lkIFBh
Z2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0bGluZ1N0YXRlIHN0YXRlKQog
ICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlID0gc3RhdGU7Ci0g
ICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSA9IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVwZGF0ZURPTVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1l
clRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBzdGF0ZSkKICAgICB9CiB9CiAK
LXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBtX3RpbWVyQWxpZ25t
ZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAgLTEyODQsOCArMTI4NCw4IEBA
IHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIGlm
IChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0g
bV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsKICAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZS50
aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246
Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBzdGQ6OmNo
cm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hh
bmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0gTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lOwog
ICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0LCBzZXQgdGhlIHRpbWVyLiBJ
ZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBpZiAobV90aW1lckFsaWdubWVu
dEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCkKICAgICAg
ICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAy
MDBhYjM5NmUzN2Y3OTY4NjRkMGU0NjAyNGFjMWU4NWZiZjk4MGY2Li43MmEwYmYwNDUyM2NmOTM1
MmRiOTU4MTZhMGYzMjllMWEyNTExMmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjI1LDcgKzIyNSw3
IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dyZXNzKCkgY29uc3QgeyByZXR1
cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXImIGJhY2tGb3J3YXJk
KCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9sbGVyOyB9CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2
YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogICAgIGVudW0gVmlld01v
ZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNob3dBbGxQbHVn
aW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0gc2hvd0FsbDsgfQogICAgIGJv
b2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1lckFsaWdubWVudEludGVydmFs
SW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXNDb250cm9sbGVkQnlBdXRvbWF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRvbWF0aW9uOyB9CiAgICAgdm9p
ZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJvbGxlZCkgeyBtX2NvbnRyb2xs
ZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02NjcsMTAgKzY2NywxMCBAQCBwcml2
YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogCiAgICAgVGltZXJU
aHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7IFRpbWVyVGhyb3R0bGluZ1N0
YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9p
bnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSB7IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBNb25vdG9uaWNUaW1lIG1fdGlt
ZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAgU2Vjb25kcyBtX3RpbWVyQWxp
Z25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVh
c2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lzRWRpdGFibGU7CiAgICAgYm9v
bCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zl
cmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCBlNzBi
Y2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5lOTAyYjAyNThkMWUxODlhNjAw
MzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApA
QCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91
YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRpYyBjb25zdCBkb3VibGUgZmFk
ZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgZmFkZUFuaW1h
dGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0YXRpYyBQYWdlT3ZlcmxheTo6
UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQogewpAQCAtMjUwLDcgKzI1MCw3
IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0aW9uKCkKIHZvaWQgUGFnZU92
ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9mYWRlQW5pbWF0aW9uU3RhcnRU
aW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVh
dGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAgbV9mYWRlQW5pbWF0aW9uVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFsKTsKIH0KIAogdm9pZCBQYWdl
T3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAppbmRleCA2ZWMzMDZkYTE3MWU5N2M1MzhmNDczNTFkMGRiMTI3OWViZDUxYjk5Li41ZjY0ZmFk
ZGM0MzZmNThhOTVhMDU3NDE4NjBhZTgzZmZkYzc5NmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcApAQCAtMTcyLDcgKzE3Miw3IEBAIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJl
c1VzZXJHZXN0dXJlVG9Mb2FkVmlkZW8gPSB0cnVlOwogCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZh
dWx0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwogCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dEluU2Vjb25kcyA9IDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0SW5jcmVtZW50YWxS
ZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgPSBTZWNvbmRzKDUpOwogI2lmIFVTRShVTklGSUVE
X1RFWFRfQ0hFQ0tJTkcpCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VW5pZmllZFRleHRDaGVj
a2VyRW5hYmxlZCA9IHRydWU7CiAjZWxzZQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sIGxvYWRzSW1hZ2VzQXV0b21hdGlj
YWxseSkKICAgICAvLyBTdGFydGluZyB0aGVzZSBsb2FkcyBzeW5jaHJvbm91c2x5IGlzIG5vdCBp
bXBvcnRhbnQuICBCeSBwdXR0aW5nIGl0IG9uIGEgMC1kZWxheSwgcHJvcGVybHkgY2xvc2luZyB0
aGUgUGFnZSBjYW5jZWxzIHRoZW0KICAgICAvLyBiZWZvcmUgdGhleSBoYXZlIGEgY2hhbmNlIHRv
IHJlYWxseSBzdGFydC4KICAgICAvLyBTZWUgaHR0cDovL3dlYmtpdC5vcmcvYi82MDU3MiBmb3Ig
bW9yZSBkaXNjdXNzaW9uLgotICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGlu
Z3NUaW1lckZpcmVkKCkKQEAgLTQwNyw3ICs0MDcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRJbWFn
ZXNFbmFibGVkKGJvb2wgYXJlSW1hZ2VzRW5hYmxlZCkKICAgICBtX2FyZUltYWdlc0VuYWJsZWQg
PSBhcmVJbWFnZXNFbmFibGVkOwogCiAgICAgLy8gU2VlIGNvbW1lbnQgaW4gc2V0TG9hZHNJbWFn
ZXNBdXRvbWF0aWNhbGx5LgotICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVG
b3JJbWFnZXMoYm9vbCBwcmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBA
QCB2b2lkIFNldHRpbmdzOjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNo
b3VsZE5vdFJlbG9hZElGcmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5n
UXVpcmsgPSBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lk
IFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGludGVydmFsKQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2
YWwoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21p
bmltdW1ET01UaW1lckludGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBp
bnRlcnZhbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBkMDY5NTdkYWVmNjY3N2Y3MTkzNWY3
ZjViMTNlNTI5MTNkYmRkZWM1Li5mYjAyMmY5MGVjYWI5MDE2ZTk4ODVlOGMzM2VhNTJkMTg0YjFk
ZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0xNjksOCArMTY5LDggQEAgcHVibGljOgog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmso
Ym9vbCk7CiAgICAgYm9vbCBuZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3Qg
eyByZXR1cm4gbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKTsgLy8gSW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50
ZXJ2YWwoKS4KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmltdW1ET01UaW1lcklu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQorICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCisg
ICAgU2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWlu
aW11bURPTVRpbWVySW50ZXJ2YWw7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5
b3V0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CiAgICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBsYXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0SW50
ZXJ2YWw7IH0KQEAgLTI0NCw4ICsyNDQsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0U2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJz
KGJvb2wpOwogICAgIHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycygpOwogCi0gICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyhkb3VibGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsgfQotICAgIGRvdWJsZSB0aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KKyAgICB2b2lkIHNldFRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHMgdGltZSkg
eyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsg
fQorICAgIFNlY29uZHMgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOyB9CiAKICAgICBib29sIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9u
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNp
b25FbmFibGVkOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoYm9vbCk7CkBAIC0zMjYsNyArMzI2LDcgQEAgcHJpdmF0
ZToKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEdlbmVyaWNGYW1pbGllcz4gbV9mb250
R2VuZXJpY0ZhbWlsaWVzOwogICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQb2xp
Y3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7CiAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBtX2xheW91dEludGVydmFsOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5p
bXVtRE9NVGltZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2
YWw7CiAKICAgICBTRVRUSU5HU19NRU1CRVJfVkFSSUFCTEVTCiAKQEAgLTM0OSw3ICszNDksNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0
aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA4OTFmZTc0ZTcyYmM0YjIyYjRmYTBhYjVlYjJlNDcw
YmU3NDQyMzIwLi42NDZkZTFlMTQ5YTM1MTczNjRkMzg5YzU1ZmIwOGZlOWU1MTk1NTdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTcsNyArNyw3IEBAIGxvY2FsU3RvcmFnZURhdGFiYXNl
UGF0aCB0eXBlPVN0cmluZwogZWRpdGFibGVMaW5rQmVoYXZpb3IgdHlwZT1FZGl0YWJsZUxpbmtC
ZWhhdmlvciwgaW5pdGlhbD1FZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IKIHRleHREaXJlY3Rp
b25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3IgdHlwZT1UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1
c2lvbkJlaGF2aW9yLCBpbml0aWFsPVRleHREaXJlY3Rpb25TdWJtZW51QXV0b21hdGljYWxseUlu
Y2x1ZGVkCiBwZGZJbWFnZUNhY2hpbmdQb2xpY3kgdHlwZT1QREZJbWFnZUNhY2hpbmdQb2xpY3ks
IGluaXRpYWwgPSBQREZJbWFnZUNhY2hpbmdEZWZhdWx0Ci1wYXNzd29yZEVjaG9EdXJhdGlvbklu
U2Vjb25kcyB0eXBlPWRvdWJsZSwgaW5pdGlhbD0xCitwYXNzd29yZEVjaG9EdXJhdGlvbiB0eXBl
PVNlY29uZHMsIGluaXRpYWw9MQogCiAjIFNldHMgdGhlIG1hZ25pZmljYXRpb24gdmFsdWUgZm9y
IHZhbGlkYXRpb24gbWVzc2FnZSB0aW1lci4gIElmIHRoZQogIyBtYWduaWZpY2F0aW9uIHZhbHVl
IGlzIE4sIGEgdmFsaWRhdGlvbiBtZXNzYWdlIGRpc2FwcGVhcnMgYXV0b21hdGljYWxseSBhZnRl
cgpAQCAtMTQwLDcgKzE0MCw3IEBAIG1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbSBpbml0
aWFsPWRlZmF1bHRNZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20KIGludmlzaWJsZUF1dG9w
bGF5Tm90UGVybWl0dGVkIGluaXRpYWw9ZmFsc2UKIHBhc3N3b3JkRWNob0VuYWJsZWQgaW5pdGlh
bD1mYWxzZQogc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nIGluaXRpYWw9ZmFsc2UKLWlu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzIHR5cGU9ZG91Ymxl
LCBpbml0aWFsPWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dElu
U2Vjb25kcworaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgdHlwZT1TZWNv
bmRzLCBpbml0aWFsPWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dAogYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQgaW5pdGlhbD10cnVlCiBzaG91bGREaXNw
bGF5U3VidGl0bGVzIGluaXRpYWw9ZmFsc2UsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCiBzaG91
bGREaXNwbGF5Q2FwdGlvbnMgaW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4IDc2NTgzYzEyYmE4
MjkxYWFhNmFlNGJjNWRmZGQ0NmIyNGM1NzY0MzUuLmYzY2ViNzM1ODE0NzQ2MjI2ZTI2OTc0ODZm
YWY5NjBhYjY1NzE5Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cApAQCAtMzMsMTAgKzMzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTdXNwZW5kYWJsZVRp
bWVyOjpTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAg
ICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCi0gICAgLCBtX3N1c3BlbmRlZChmYWxzZSkK
LSAgICAsIG1fc2F2ZWROZXh0RmlyZUludGVydmFsKDApCi0gICAgLCBtX3NhdmVkUmVwZWF0SW50
ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRJc0FjdGl2ZShmYWxzZSkKIHsKIH0KIApAQCAtMTAxLDcg
Kzk3LDcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpjYW5jZWwoKQogICAgICAgICBtX3N1c3Bl
bmRlZCA9IGZhbHNlOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5n
KGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQog
ICAgICAgICBUaW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsKTsKQEAgLTEx
MiwyNyArMTA4LDI3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91
YmxlIHJlcGVhdEludGVydmFsKQogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpz
dGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFy
dE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAg
ICAgICBUaW1lckJhc2U6OnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIG1fc2F2ZWRJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0RmlyZUludGVy
dmFsID0gaW50ZXJ2YWw7Ci0gICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7CisgICAg
ICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAgICAgfQogfQogCi1kb3Vi
bGUgU3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTdXNw
ZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3N1c3Bl
bmRlZCkKICAgICAgICAgcmV0dXJuIFRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwoKTsKICAgICBp
ZiAobV9zYXZlZElzQWN0aXZlKQogICAgICAgICByZXR1cm4gbV9zYXZlZFJlcGVhdEludGVydmFs
OwotICAgIHJldHVybiAwOworICAgIHJldHVybiBTZWNvbmRzKDApOwogfQogCi12b2lkIFN1c3Bl
bmRhYmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNw
ZW5kYWJsZVRpbWVyOjphdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFs
KGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVn
bWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9z
YXZlZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBk
ZWx0YTsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gU2Vjb25kcygwKTsKICAgICB9CiB9CiAKLXZvaWQgU3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoZGVsdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCBlMTVm
MGE3MDkzNzg1MGEzYTY5MDFmNzIwYzVkZTFmNjA5OTEzODY0Li4xMzQ1NzUxODUyNGRkMjEyYTky
YjdmODU1NTE3ODFhMDM2NWQxOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1
c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGlt
ZXIuaApAQCAtNDMsMTcgKzQzLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29u
c3QgeyByZXR1cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3Nh
dmVkSXNBY3RpdmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3VzcGVuZGVkOyB9CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRl
cnZhbCk7Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKTsKLSAgICBkb3Vi
bGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKTsKLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVs
dGEpOworICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7Cisg
ICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCk7CisgICAgU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCgpIGNvbnN0OwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9TZWNv
bmRzKHJlcGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRl
cnZhbCkpOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1T
KCkgY29uc3QgeyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLSAgICB2
b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkg
eyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KLSAgICB2b2lkIGF1
Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1
Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9CisgICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpOworICAgIHZvaWQgYXVnbWVudFJlcGVhdElu
dGVydmFsKFNlY29uZHMgZGVsdGEpOwogCiAgICAgdXNpbmcgVGltZXJCYXNlOjpkaWRDaGFuZ2VB
bGlnbm1lbnRJbnRlcnZhbDsKICAgICB1c2luZyBUaW1lckJhc2U6Om9wZXJhdG9yIG5ldzsKQEAg
LTcxLDExICs2NiwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNw
ZW5zaW9uKSBmaW5hbDsKICAgICB2b2lkIHJlc3VtZSgpIGZpbmFsOwogCi0gICAgYm9vbCBtX3N1
c3BlbmRlZDsKKyAgICBTZWNvbmRzIG1fc2F2ZWROZXh0RmlyZUludGVydmFsOworICAgIFNlY29u
ZHMgbV9zYXZlZFJlcGVhdEludGVydmFsOwogCi0gICAgZG91YmxlIG1fc2F2ZWROZXh0RmlyZUlu
dGVydmFsOwotICAgIGRvdWJsZSBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAgYm9vbCBtX3Nh
dmVkSXNBY3RpdmU7CisgICAgYm9vbCBtX3N1c3BlbmRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBt
X3NhdmVkSXNBY3RpdmUgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCmluZGV4IDM5
ODg3ZjEzNTIyOTQxMmUzZjAzNTIzZGY0YjU5N2JjZTM3NjBjNzUuLmVmYmIzNmRlYTk2OTBlMTJi
OGNiZmU1YjgzZTJmNWY5YzAyYmNhNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
V2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVs
RXZlbnRUZXN0VHJpZ2dlci5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgdm9pZCBXaGVlbEV2ZW50VGVz
dFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIoc3RkOjpm
dW5jdGkKICAgICB9CiAgICAgCiAgICAgaWYgKCFtX3Rlc3RUcmlnZ2VyVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjAp
OworICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAg
LyA2MCkpOwogfQogCiB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJl
YXNvbihTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0VHJpZ2dl
clJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDlhNDZkZWI0MTFhZmM5YWNhYjE0ZDllNmNk
N2E4MWRhZDJmNzVjZWQuLjg5NjRjZWM3MGJhNDZmMjMxNmNlNGM1NzUyMmNkYWRhNDJlNzkzNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwCkBAIC00OCw4ICs0OCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBjQW5pbWF0aW9uVGltZXJEZWxheSA9IDEuMCAvIDYwOwotc3Rh
dGljIGNvbnN0IGRvdWJsZSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lckRlbGF5ID0gU2Vjb25kcygxLjAgLyA2
MCk7CitzdGF0aWMgY29uc3QgZG91YmxlIGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCA9
IC0xOwogCiBjbGFzcyBBbmltYXRpb25Qcml2YXRlVXBkYXRlQmxvY2sgewogcHVibGljOgpAQCAt
NzEsNyArNzEsNyBAQCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUoRnJhbWUmIGZyYW1lKQogICAgIDogbV9hbmltYXRpb25UaW1lcigqdGhpcywg
JkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1lckZpcmVkKQogICAgICwg
bV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKQogICAgICwgbV9m
cmFtZShmcmFtZSkKLSAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShi
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCiAgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBk
YXRlQ291bnQoMCkKICAgICAsIG1fd2FpdGluZ0ZvckFzeW5jU3RhcnROb3RpZmljYXRpb24oZmFs
c2UpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQpAQCAtMTUyLDExICsxNTIsMTEgQEAgZG91
YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25zKFNldENoYW5n
ZWQgY2FsbFNldENoYW5nZWQvKgogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1
cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQog
ewotICAgIGRvdWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IDA7CisgICAgU2Vjb25kcyB0aW1lVG9O
ZXh0U2VydmljZTsKIAogICAgIGNvbnN0IENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5p
bWF0aW9uID0gbV9jb21wb3NpdGVBbmltYXRpb25zLmdldCgmcmVuZGVyZXIpOwogICAgIGlmICgh
Y29tcG9zaXRlQW5pbWF0aW9uLT5pc1N1c3BlbmRlZCgpICYmIGNvbXBvc2l0ZUFuaW1hdGlvbi0+
aGFzQW5pbWF0aW9ucygpKQotICAgICAgICB0aW1lVG9OZXh0U2VydmljZSA9IGNvbXBvc2l0ZUFu
aW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKTsKKyAgICAgICAgdGltZVRvTmV4dFNlcnZpY2Ug
PSBTZWNvbmRzKGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKSk7CiAKICAg
ICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIChtX2FuaW1hdGlvblRpbWVyLnJl
cGVhdEludGVydmFsKCkgfHwgbV9hbmltYXRpb25UaW1lci5uZXh0RmlyZUludGVydmFsKCkgPD0g
dGltZVRvTmV4dFNlcnZpY2UpKQogICAgICAgICByZXR1cm47CkBAIC0xNjYsMTkgKzE2NiwyMCBA
QCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZv
clJlbmRlcmVyKFJlbmRlckVsZW1lbnQmCiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQvKiA9IERv
Tm90Q2FsbFNldENoYW5nZWQqLykKIHsKLSAgICBkb3VibGUgdGltZVRvTmV4dFNlcnZpY2UgPSB1
cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBj
b252ZXJ0IHJlc3Qgb2YgYW5pbWF0aW9ucyBjb2RlIHRvIFNlY29uZHMgYW5kIE1vbm90b25pY1Rp
bWUuCisgICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHModXBkYXRlQW5pbWF0
aW9ucyhjYWxsU2V0Q2hhbmdlZCkpOwogCi0gICAgTE9HKEFuaW1hdGlvbnMsICJ1cGRhdGVBbmlt
YXRpb25UaW1lcjogdGltZVRvTmV4dFNlcnZpY2UgaXMgJS4yZiIsIHRpbWVUb05leHRTZXJ2aWNl
KTsKKyAgICBMT0coQW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0
U2VydmljZSBpcyAlLjJmbXMiLCB0aW1lVG9OZXh0U2VydmljZS5taWxsaXNlY29uZHMoKSk7CiAK
ICAgICAvLyBJZiB3ZSB3YW50IHNlcnZpY2UgaW1tZWRpYXRlbHksIHdlIHN0YXJ0IGEgcmVwZWF0
aW5nIHRpbWVyIHRvIHJlZHVjZSB0aGUgb3ZlcmhlYWQgb2Ygc3RhcnRpbmcKICAgICBpZiAoIXRp
bWVUb05leHRTZXJ2aWNlKSB7Ci0gICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2
ZSgpIHx8IG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSA9PSAwKQotICAgICAgICAg
ICAgbV9hbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhjQW5pbWF0aW9uVGltZXJEZWxheSk7
CisgICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8ICFtX2FuaW1hdGlv
blRpbWVyLnJlcGVhdEludGVydmFsKCkpCisgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0
YXJ0UmVwZWF0aW5nKGFuaW1hdGlvblRpbWVyRGVsYXkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgLy8gSWYgd2UgZG9uJ3QgbmVlZCBzZXJ2aWNlLCB3ZSB3YW50IHRvIG1ha2Ugc3Vy
ZSB0aGUgdGltZXIgaXMgbm8gbG9uZ2VyIHJ1bm5pbmcKLSAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwKSB7CisgICAgaWYgKHRpbWVUb05leHRTZXJ2aWNlIDwgU2Vjb25kcygwKSkgewogICAg
ICAgICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgbV9hbmlt
YXRpb25UaW1lci5zdG9wKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTIyMiw3ICsyMjMsNyBAQCB2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUo
KQogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVl
ZGVkRGlzcGF0Y2hlcigpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRj
aGVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4gZWxlbWVudCwg
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgZG91Ymxl
IGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9uQ29udHJvbGxl
clByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiByZW5kZXJlciwK
IGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVU
aW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50KTsKLSAgICBp
ZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJuIG1fYmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsKICAgICBpZiAo
IW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAgICAgICBzZXRC
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KTsK
ICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMyNjg5OTAzNjNj
NGZkMGY2ZDE2YTI3MWUzNjkuLjBmY2JhNGVhNjFiNzIzMjNlYTk3MjEyNmRjMjIyZWVkOGEzYzhk
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTc4
LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2ZW50SGFuZGxl
cjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91YmxlIHJlc2V0TGF0
Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRjaGVkU3RhdGVE
ZWxheSA9IFNlY29uZHMoMC4xKTsKIAogc3RhdGljIFJldGFpblB0cjxOU0V2ZW50PiYgY3VycmVu
dE5TRXZlbnRTbG90KCkKIHsKQEAgLTkyNCw3ICs5MjQsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
Y2xlYXJPclNjaGVkdWxlQ2xlYXJpbmdMYXRjaGVkU3RhdGVJZk5lZWRlZChjb25zdCBQbGF0Zm9y
bVdoZQogICAgIC8vIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlLiBJZiBpdCBkb2VzLCBzdG9wIHRo
ZSB0aW1lciwgbGVhdmluZyB0aGUgbGF0Y2hlZCBzdGF0ZSB1bnRvdWNoZWQuCiAgICAgaWYgKCFt
X3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICBp
ZiAoZXZlbnQuaXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkpCi0gICAgICAgICAgICBtX3BlbmRp
bmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRl
VGltZW91dCk7CisgICAgICAgICAgICBtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIu
c3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIC8vIElmIGFub3RoZXIgd2hlZWwgZXZlbnQgc2Nyb2xsaW5nIHN0YXJ0cywgc3RvcCB0aGUg
dGltZXIgbWFudWFsbHksIGFuZCByZXNldCB0aGUgbGF0Y2hlZCBzdGF0ZSBpbW1lZGlhdGVseS4K
ICAgICAgICAgaWYgKGV2ZW50LnNob3VsZENvbnNpZGVyTGF0Y2hpbmcoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCmluZGV4
IDU1ZTRkNjU5NWVlYjYwNTNmNmE2YTk0NTBiOWRhZWI4MTI4YzUyNzAuLjBiYjA5ODAwZjhmYWU3
YTFlNzI3Yzk0NGRlZGRiMWY2YTU2NmQyMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rpb25TZXJ2aWNlcygpOwogCiAgICAg
Ym9vbCBtb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmLCBib29sJiBtb3VzZUlzT3ZlckJ1
dHRvbikgY29uc3Q7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZW1haW5pbmdUaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCopIGNvbnN0OworICAgIFNlY29u
ZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqKSBj
b25zdDsKICAgICB2b2lkIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoKTsKIAog
ICAgIHN0YXRpYyBib29sIGhpZ2hsaWdodHNBcmVFcXVpdmFsZW50KGNvbnN0IEhpZ2hsaWdodCog
YSwgY29uc3QgSGlnaGxpZ2h0KiBiKTsKQEAgLTE1MSw5ICsxNTEsOSBAQCBwcml2YXRlOgogCiAg
ICAgSGlnaGxpZ2h0OjpUeXBlIG1fZGlydHlIaWdobGlnaHRUeXBlcyB7IDAgfTsKIAotICAgIHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0U2VsZWN0aW9uQ2hhbmdl
VGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbmV4dEFj
dGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFNl
bGVjdGlvbkNoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0TW91c2VVcFRpbWU7CiAKICAg
ICBSZWZQdHI8SGlnaGxpZ2h0PiBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsK
ICAgICBJbnRQb2ludCBtX21vdXNlUG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQppbmRleCA5YTgxNWI1YWU1NTk2
NDk5YmRmNjE2ZWQ0MjExYjlhNTIzODE1ZTYyLi41YWZmOTI3ZWJiYzY0ZWIzOWRjOTRkMzhiNGQ2
NDhmMDBjMGYwYjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hhbmdlKGNvbnN0IFZlY3RvcjxM
YXlvdXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJlY3RzID0gcmVjdHM7CiAgICAgbV9p
c1RleHRPbmx5ID0gaXNUZXh0T25seTsKIAotICAgIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWUg
PSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3RTZWxlY3Rpb25D
aGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBjb21wYWN0UmVjdHNXaXRo
R2FwUmVjdHMobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMsIGdhcFJlY3RzKTsKIApAQCAtMzkxLDcg
KzM5MSw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hs
aWdodHNPZlR5cGUoSGlnaGxpZ2h0OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fZGlydHlIaWdobGlnaHRUeXBlcyB8PSB0eXBlOwotICAgIG1fYnVpbGRIaWdobGlnaHRzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYnVpbGRIaWdobGlnaHRzVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmJ1
aWxkUG90ZW50aWFsSGlnaGxpZ2h0c0lmTmVlZGVkKCkKQEAgLTQzMywxNSArNDMzLDE1IEBAIGJv
b2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VJc092ZXJIaWdobGlnaHQoSGlnaGxp
Z2h0JiBoaWdobGlnaHQsIGJvb2wmCiAgICAgcmV0dXJuIGhvdmVyZWQ7CiB9CiAKLXN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGlt
ZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqIGhpZ2hsaWdodCkgY29uc3QK
K1NlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGln
aGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqIGhpZ2hsaWdodCkgY29uc3QKIHsKICAgICBp
ZiAoIWhpZ2hsaWdodCkKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIFNlY29u
ZHMoMCk7CiAKLSAgICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3du
ID0gMjAwbXM7CisgICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVT
aG93biA9IFNlY29uZHMoMC4yKTsKICAgICBQYWdlKiBwYWdlID0gbV9tYWluRnJhbWUucGFnZSgp
OwogICAgIGlmIChwYWdlICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5G
cmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCi0gICAg
ICAgIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMTAwMG1zOworICAg
ICAgICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IFNlY29uZHMoMSk7
CiAKICAgICBib29sIG1vdXNlUHJlc3NlZCA9IG1fbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLm1v
dXNlUHJlc3NlZCgpOwogCkBAIC00NDksMTUgKzQ0OSwxNCBAQCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hs
aWdodAogICAgIC8vIGJ5IHZpcnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0byBpbmNsdWRlIHRoZSBl
bnRpcmUgdGVsZXBob25lIG51bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBzdGlsbCBhdm9pZCBoaWdo
bGlnaHRpbmcKICAgICAvLyB0ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0aGUgbW91c2UgaXMgZG93
bi4KICAgICBpZiAoaGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1i
ZXJUeXBlKQotICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhp
Z2hsaWdodFNob3VsZEJlU2hvd24gOiAwbXM7CisgICAgICAgIHJldHVybiBtb3VzZVByZXNzZWQg
PyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6IFNlY29uZHMoMCk7CiAK
LSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1
dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgYXV0byB0aW1lU2luY2VMYXN0U2Vs
ZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZTsKICAgICBhdXRv
IHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0TW91c2VVcCA9IG1vdXNlUHJl
c3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBUaW1lOworICAgIGF1dG8gdGltZVNpbmNl
TGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyBTZWNvbmRzKDApIDogbm93IC0gbV9sYXN0TW91
c2VVcFRpbWU7CiAKLSAgICBhdXRvIHJlbWFpbmluZ0RlbGF5ID0gbWluaW11bVRpbWVVbnRpbEhp
Z2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2Vs
ZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VM
YXN0TW91c2VVcCk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHM+KHJlbWFpbmluZ0RlbGF5KTsKKyAgICByZXR1cm4gbWluaW11
bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1l
U2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUp
LCB0aW1lU2luY2VMYXN0TW91c2VVcCk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpCkBAIC03MjMsNyArNzIy
LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdo
bGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3RpdmUKICAgICAgICAgLy8gaGlnaGxpZ2h0LCBhbmQg
b25seSByZXNldCB0aGUgYWN0aXZlIGhpZ2hsaWdodCBoeXN0ZXJlc2lzIHdoZW4gdGhhdCBjaGFu
Z2VzLgogICAgICAgICBpZiAobV9uZXh0QWN0aXZlSGlnaGxpZ2h0ICE9IG5ld0FjdGl2ZUhpZ2hs
aWdodCkgewogICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0ID0gbmV3QWN0aXZlSGln
aGxpZ2h0OwotICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICAgICAgbV9uZXh0QWN0aXZl
SGlnaGxpZ2h0Q2hhbmdlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICB9CiAK
ICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwpA
QCAtNzM0LDcgKzczMyw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJt
aW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAgICAgICAgIH0KIAog
ICAgICAgICBhdXRvIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSB0
aGlzLT5yZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKG5ld0FjdGl2ZUhp
Z2hsaWdodC5nZXQoKSk7Ci0gICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duID4gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8o
KSkgeworICAgICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
biA+IFNlY29uZHMoMCkpIHsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0
VGltZXIuc3RhcnRPbmVTaG90KHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hv
d24pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC03NjYsNyArNzY1LDcgQEAg
Ym9vbCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUV2ZW50KFBhZ2VPdmVybGF5Jiwg
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW4KICAgICAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbW91c2VE
b3duSGlnaGxpZ2h0ID0gbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAg
ICAgIG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0ID0gbnVsbHB0cjsKIAotICAg
ICAgICBtX2xhc3RNb3VzZVVwVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygp
OworICAgICAgICBtX2xhc3RNb3VzZVVwVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAg
ICAgICAgIGlmIChtb3VzZUlzT3ZlckFjdGl2ZUhpZ2hsaWdodEJ1dHRvbiAmJiBtb3VzZURvd25I
aWdobGlnaHQpIHsKICAgICAgICAgICAgIGhhbmRsZUNsaWNrKG1fbW91c2VQb3NpdGlvbiwgKm1v
dXNlRG93bkhpZ2hsaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9U
ZXh0SW5kaWNhdG9yV2luZG93Lm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGlj
YXRvcldpbmRvdy5tbQppbmRleCBlNGUyMGQyMjc2OGM4ODJlOTAwYjEyYjQxZmUwMmVjZGZiNDhm
NjI4Li41MDQ0ZWFmNjIwNGEzYmMyYjhkZGU2YWU0YTg1OTlhYjUxMTZiMWMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KQEAgLTQ3NSw3ICs0
NzUsNyBAQCB2b2lkIFRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJbmRpY2F0b3IoUmVmPFRl
eHRJbmRpY2F0b3I+IHRleHRJbmRpY2F0b3IsIENHUgogICAgICAgICBbbV90ZXh0SW5kaWNhdG9y
VmlldyBwcmVzZW50XTsKIAogICAgIGlmIChsaWZldGltZSA9PSBUZXh0SW5kaWNhdG9yV2luZG93
TGlmZXRpbWU6OlRlbXBvcmFyeSkKLSAgICAgICAgbV90ZW1wb3JhcnlUZXh0SW5kaWNhdG9yVGlt
ZXIuc3RhcnRPbmVTaG90KHRpbWVCZWZvcmVGYWRlU3RhcnRzKTsKKyAgICAgICAgbV90ZW1wb3Jh
cnlUZXh0SW5kaWNhdG9yVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHModGltZUJlZm9yZUZhZGVT
dGFydHMpKTsKIH0KIAogdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpjbG9zZVdpbmRvdygpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDg1YTY0NzJlY2UyMTFmZjIwMDgwZDM3YTUyZWFlMTkw
YTkxMDk3NDAuLmJlYjg1YmVkZWE3MmRkZjM0N2UzZDk4NjVlNzFlZGJhNWYxOTNmNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9s
bChTY3IKICAgICB9CiAKICAgICBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZSA9IHNjcm9sbFVwZGF0
ZTsKLSAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxQ
b3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5t
bQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi42ZWZiZWY3
MDMwY2RjZmUwMzU2MzQ4NTg0YWEwYWMzOTIwZWI4NTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9T
Lm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjaGVk
dWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0
ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGluZ1N0
YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGluZ1N0
YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGlu
YXRvck1hYy5tbQppbmRleCBkNDNkOTRiMjQ3YTZlNGY5Mzk3NDE1ODI2MTk3YzJiMGFkZjA3MTQ4
Li41MGM0MWIyNTEzN2ZkMjk1NGU4Y2MxZTExZGZlMmY1MTYwMDQwNjYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjLm1tCkBAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRv
ck1hYzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKQogICAgIGlmIChtX3Njcm9sbGluZ1N0YXRl
VHJlZUNvbW1pdHRlclRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21taXRUcmVlU3RhdGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAppbmRleCAxYWE3
ZTFiODc2M2ZmMWI0N2RmYjhlMjEzOTQwNzY0NWViNzU1ZWIyLi5iZGE0YjIyODA3OTUxYjhkZmFi
YzdjNjEwNjNiY2VhNDJhNjZlNjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9HZW5lcmljVGFza1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5l
cmljVGFza1F1ZXVlLmNwcApAQCAtNDEsNyArNDEsNyBAQCB2b2lkIFRhc2tEaXNwYXRjaGVyPFRp
bWVyPjo6cG9zdFRhc2soRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQogICAgIG1fcGVuZGlu
Z1Rhc2tzLmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiAgICAgcGVuZGluZ0Rpc3BhdGNoZXJz
KCkuYXBwZW5kKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpKTsKICAgICBpZiAoIXNo
YXJlZFRpbWVyKCkuaXNBY3RpdmUoKSkKLSAgICAgICAgc2hhcmVkVGltZXIoKS5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiBUaW1lciYgVGFza0Rpc3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUy
YTc0ODMwOWUwNjI4MjBlZGM4MjM5ODBjMGIyZTEuLmIyNWVkZGZhNDRhN2I1ODkxNTYxZjQ1NGI2
YWNmNzI3MzBhZTI2ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3Rl
cmVzaXNBY3Rpdml0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oCkBAIC0zMCw3ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBEZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsID0gU2Vjb25kcyg1LjApOwog
CiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5
LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0
aXZpdHkgewogcHVibGljOgotICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1
bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3Rh
dGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNTZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNv
bmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQo
SHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vj
b25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBEZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAg
ICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCi0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25k
cyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAgICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0
ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwgbV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90
aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rpdml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAg
ICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9o
eXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVy
ZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAgICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODks
NyBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lz
U3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRvdWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAg
IFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBU
aW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4
IDg4MTgxZDMwNTdmNDY4OTRkZmViOWE5NzdhNTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1
MzVlNzk4YTBkMGU4MDBlMzhiZjZkOTQyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YmFyLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBAIHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShT
Y3JvbGxiYXIqIHNjcm9sbGJhcikKICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkg
Pj0gdGh1bWJQb3MgJiYgc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1i
TGVuZ3RoOwogfQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJs
ZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBk
ZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5v
dGhpbmcgd2FzIHByZXNzZWQuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8
IG1fcHJlc3NlZFBhcnQgPT0gTm9QYXJ0KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xs
YmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRp
bWVySWZOZWVkZWQoZGVsYXkpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVl
ZGVkKGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vj
b25kcyBkZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgog
ICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2
b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxh
eSk7CisgICAgbV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQog
CiB2b2lkIFNjcm9sbGJhcjo6c3RvcFRpbWVySWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaAppbmRleCBmODZhOTYyYWZlMDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFh
Li5hMjM2YzdlOGViMTI3YWVhMzc1NjUyM2ViZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxiYXIuaApAQCAtMTQ0LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3Jv
bGxUaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5
KTsKKyAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lk
IHN0b3BUaW1lcklmTmVlZGVkKCk7Ci0gICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91
YmxlIGRlbGF5KTsKKyAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5
KTsKICAgICBTY3JvbGxEaXJlY3Rpb24gcHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAg
ICBTY3JvbGxHcmFudWxhcml0eSBwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2Jh
NGEwZTNhMGRmYjQ3NjFkZDRhNjU3NWVkYmMuLjI2OTA0MjdkMDc3YjBjM2Q2OGM3Y2E3NTgzZmQ4
N2M2ZjM3ZjljOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJh
clRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApA
QCAtMTA1LDggKzEwNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBC
ZXR3ZWVuUGFnZXMoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9
CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJl
dHVybiAwLjI1OyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7
IHJldHVybiAwLjA1OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpIHsgcmV0dXJuIFNlY29uZHMoMC4yNSk7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMg
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiBTZWNvbmRzKDAuMDUpOyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaAppbmRleCAzNTg2M2JjODIwMTRjMzk3N2MzYzY5NGZhNDI3NmMwNTQxMWVmMWIxLi42
ZmQ1NTMxOWZkZWY3ZmM0MTA3OTZlMzI1YjNlMTI4ZTJlYmE0MjAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RoZW1lLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9udENhc2Nh
ZGUgc3lzdGVtRm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0IHsgcmV0dXJu
IEZvbnRDYXNjYWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUgY2FyZXQgYmxpbmtz
IGluIHRleHQgZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgp
IGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50
ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBTZWNvbmRzKDAuNSk7IH0KIAogICAgIC8vIE5vdGlmaWNh
dGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNo
YW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRp
bWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCmluZGV4
IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFhMTBmY2ZkYmNhNDQuLjU0MjVjNDlhNGNiNmU0
ZTcwMjNlOTAwNzNhZDAyMDRmNzA5NjEzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNp
bmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1
ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVuZ3RoIG9mIHRpbWUsIGFuZCB0aGVuIHF1aXQg
dG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVzZXIgaW5wdXQgZXZlbnRzLgogLy8gMTAwbXMg
aXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBpbiBVSSwgc28gdXNlIGEgaGFsZiBvZiB0aGF0
IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0byBwcmV2ZW50IFVJIGZyZWV6ZSB3aGVuIHRo
ZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFjaGluZSBwZXJmb3JtYW5jZSBpcyBsb3cuCi1z
dGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSBTZWNvbmRzOjpm
cm9tTWlsbGlzZWNvbmRzKDUwKTsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVkIGFu
ZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93biBU
aHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3VycmVu
dGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3VibGUg
bWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJlYWRU
aW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMoZmFs
c2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYgKGlz
VUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRUaW1l
cjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2V0
U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJlZFRp
bWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0cik7
CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVk
VGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFy
ZWRUaW1lcjsKQEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hh
cmVkVGltZXIoKQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1Rp
bWVycyB8fCBtX3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVk
VGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKICAgICB9
IGVsc2UgewotICAgICAgICBkb3VibGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3Qo
KS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3RvbmljVGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBNb25vdG9uaWNUaW1lIG5l
eHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lOworICAgICAg
ICBNb25vdG9uaWNUaW1lIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKSB7CiAgICAgICAg
ICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlmIGJvdGggdGhlIHBlbmRpbmcg
ZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4gdGhlIHBhc3QuCiAgICAgICAg
ICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8PSBjdXJyZW50TW9ub3Rvbmlj
VGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25pY1RpbWUpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50
ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGlt
ZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoc3RkOjpt
YXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90b25pY1RpbWUsIFNlY29uZHMo
MCkpKTsKICAgICB9CiB9CiAKQEAgLTEwMywyNSArMTAzLDI1IEBAIHZvaWQgVGhyZWFkVGltZXJz
OjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwoKQogICAgIGlmIChtX2ZpcmluZ1RpbWVycykKICAg
ICAgICAgcmV0dXJuOwogICAgIG1fZmlyaW5nVGltZXJzID0gdHJ1ZTsKLSAgICBtX3BlbmRpbmdT
aGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1l
ID0gTW9ub3RvbmljVGltZSgpOwogCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVUb1F1aXQgPSBmaXJlVGltZSArIG1h
eER1cmF0aW9uT2ZGaXJpbmdUaW1lcnM7CisgICAgTW9ub3RvbmljVGltZSBmaXJlVGltZSA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIE1vbm90b25pY1RpbWUgdGltZVRvUXVpdCA9IGZpcmVU
aW1lICsgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKIAogICAgIHdoaWxlICghbV90aW1lckhl
YXAuaXNFbXB0eSgpICYmIG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lIDw9IGZp
cmVUaW1lKSB7CiAgICAgICAgIFRpbWVyQmFzZSogdGltZXIgPSBtX3RpbWVySGVhcC5maXJzdCgp
OwotICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUgPSAwOwotICAgICAgICB0aW1lci0+bV91
bmFsaWduZWROZXh0RmlyZVRpbWUgPSAwOworICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CisgICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICAgICAgdGltZXItPmhlYXBEZWxldGVNaW4oKTsKIAot
ICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSB0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsKLSAgICAg
ICAgdGltZXItPnNldE5leHRGaXJlVGltZShpbnRlcnZhbCA/IGZpcmVUaW1lICsgaW50ZXJ2YWwg
OiAwKTsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgp
OworICAgICAgICB0aW1lci0+c2V0TmV4dEZpcmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBp
bnRlcnZhbCA6IE1vbm90b25pY1RpbWUoKSk7CiAKICAgICAgICAgLy8gT25jZSB0aGUgdGltZXIg
aGFzIGJlZW4gZmlyZWQsIGl0IG1heSBiZSBkZWxldGVkLCBzbyBkbyBub3RoaW5nIGVsc2Ugd2l0
aCBpdCBhZnRlciB0aGlzIHBvaW50LgogICAgICAgICB0aW1lci0+ZmlyZWQoKTsKIAogICAgICAg
ICAvLyBDYXRjaCB0aGUgY2FzZSB3aGVyZSB0aGUgdGltZXIgYXNrZWQgdGltZXJzIHRvIGZpcmUg
aW4gYSBuZXN0ZWQgZXZlbnQgbG9vcCwgb3Igd2UgYXJlIG92ZXIgdGltZSBsaW1pdC4KLSAgICAg
ICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkpCisgICAgICAgIGlmICghbV9maXJpbmdUaW1lcnMgfHwgdGltZVRvUXVpdCA8
IE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0x
MzcsNyArMTM3LDcgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OmZpcmVUaW1lcnNJbk5lc3RlZEV2ZW50
TG9vcCgpCiAKICAgICBpZiAobV9zaGFyZWRUaW1lcikgewogICAgICAgICBtX3NoYXJlZFRpbWVy
LT5pbnZhbGlkYXRlKCk7Ci0gICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAw
OworICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgIH0KIAogICAgIHVwZGF0ZVNoYXJlZFRpbWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZFRpbWVycy5oCmluZGV4IGVhYmM0ZDEyMWU4MjY2NjJlOWFiYjMwNGUzODNmMTdiMWU3
MjlhOTcuLmNmNThjOTE3YTk1Y2UzNjcyYzE2YjdlNmVjNjkxNzM5YTg5MDNhMDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVm
IFRocmVhZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRpbWVyc19oCiAKKyNpbmNsdWRlIDx3dGYv
TW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtNTYsNyArNTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFZlY3RvcjxUaW1lckJhc2UqPiBtX3RpbWVySGVhcDsKICAgICAgICAgU2hhcmVkVGlt
ZXIqIG1fc2hhcmVkVGltZXI7IC8vIEV4dGVybmFsIG9iamVjdCwgY2FuIGJlIGEgcnVuIGxvb3Ag
b24gYSB3b3JrZXIgdGhyZWFkLiBOb3JtYWxseSBzZXQvcmVzZXQgYnkgd29ya2VyIHRocmVhZC4K
ICAgICAgICAgYm9vbCBtX2ZpcmluZ1RpbWVyczsgLy8gUmVlbnRyYW5jeSBndWFyZC4KLSAgICAg
ICAgZG91YmxlIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWU7CisgICAgICAgIE1vbm90b25p
Y1RpbWUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKICAgICB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5jcHAKaW5kZXggY2Q1OTRmZTdjYzU1ODkxMjk0NzQ2Mzk3NmQ4ZDE4NWY5
MTExNGJiYS4uZmJjODc2OTA4OGNkMWMzZjlmM2M4MGIxZWUzMWQ0MDY0NjZkN2YwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RpbWVyLmNwcApAQCAtMTcyLDggKzE3Miw4IEBAIGlubGluZSBib29sIFRp
bWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkoY29uc3QgVGltZXJCYXNlKiBhLCBj
b25zdCBUaW1lCiB7CiAgICAgLy8gVGhlIGNvbXBhcmlzb25zIGJlbG93IGFyZSAiYmFja3dhcmRz
IiBiZWNhdXNlIHRoZSBoZWFwIHB1dHMgdGhlIGxhcmdlc3QgCiAgICAgLy8gZWxlbWVudCBmaXJz
dCBhbmQgd2Ugd2FudCB0aGUgbG93ZXN0IHRpbWUgdG8gYmUgdGhlIGZpcnN0IG9uZSBpbiB0aGUg
aGVhcC4KLSAgICBkb3VibGUgYUZpcmVUaW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgZG91
YmxlIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOworICAgIE1vbm90b25pY1RpbWUgYUZp
cmVUaW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBiRmlyZVRpbWUg
PSBiLT5tX25leHRGaXJlVGltZTsKICAgICBpZiAoYkZpcmVUaW1lICE9IGFGaXJlVGltZSkKICAg
ICAgICAgcmV0dXJuIGJGaXJlVGltZSA8IGFGaXJlVGltZTsKICAgICAKQEAgLTE4NiwxMSArMTg2
LDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0b3IoKShj
b25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIC8vIC0tLS0tLS0tLS0tLS0tLS0KIAogVGlt
ZXJCYXNlOjpUaW1lckJhc2UoKQotICAgIDogbV9uZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1fdW5h
bGlnbmVkTmV4dEZpcmVUaW1lKDApCi0gICAgLCBtX3JlcGVhdEludGVydmFsKDApCi0gICAgLCBt
X2hlYXBJbmRleCgtMSkKLSAgICAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwKDApCisg
ICAgOiBtX2hlYXBJbmRleCgtMSkKKyAgICAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFw
KG51bGxwdHIpCiAjaWZuZGVmIE5ERUJVRwogICAgICwgbV90aHJlYWQoY3VycmVudFRocmVhZCgp
KQogICAgICwgbV93YXNEZWxldGVkKGZhbHNlKQpAQCAtMjA3LDMyICsyMDQsMzIgQEAgVGltZXJC
YXNlOjp+VGltZXJCYXNlKCkKICNlbmRpZgogfQogCi12b2lkIFRpbWVyQmFzZTo6c3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgVGltZXJC
YXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2
YWwpCiB7CiAgICAgQVNTRVJUKGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3Ro
cmVhZCkpOwogCiAgICAgbV9yZXBlYXRJbnRlcnZhbCA9IHJlcGVhdEludGVydmFsOwotICAgIHNl
dE5leHRGaXJlVGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIG5leHRGaXJlSW50
ZXJ2YWwpOworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lOjpub3coKSArIG5leHRG
aXJlSW50ZXJ2YWwpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6c3RvcCgpCiB7CiAgICAgQVNTRVJU
KGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3RocmVhZCkpOwogCi0gICAgbV9y
ZXBlYXRJbnRlcnZhbCA9IDA7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKDApOworICAgIG1fcmVwZWF0
SW50ZXJ2YWwgPSBTZWNvbmRzKDApOworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1l
KCkpOwogCi0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lID09IDApOwotICAgIEFTU0VSVChtX3Jl
cGVhdEludGVydmFsID09IDApOworICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOworICAgIEFT
U0VSVCghbV9yZXBlYXRJbnRlcnZhbCk7CiAgICAgQVNTRVJUKCFpbkhlYXAoKSk7CiB9CiAKLWRv
dWJsZSBUaW1lckJhc2U6Om5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJh
c2U6Om5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsK
LSAgICBkb3VibGUgY3VycmVudCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAg
IE1vbm90b25pY1RpbWUgY3VycmVudCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGlmICht
X25leHRGaXJlVGltZSA8IGN1cnJlbnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gU2Vjb25kcygwKTsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBjdXJyZW50OwogfQog
CkBAIC0yNDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmNoZWNrSGVhcElu
ZGV4KCkgY29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNv
bnN0CiB7CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBpZiBhbmQgb25seSBp
ZiB0aGV5IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBBU1NFUlQoaW5IZWFw
KCkgPT0gKG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5IZWFwKCkgPT0gISFt
X25leHRGaXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBjaGVja0hlYXBJbmRl
eCgpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NF
UlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAg
ICBjaGVja0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRhID0gdGltZXJIZWFw
KCkuZGF0YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvcihoZWFwRGF0YSksIFRp
bWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwgVGltZXJIZWFwTGVz
c1RoYW5GdW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRpbWVyQmFzZTo6aGVh
cERlY3JlYXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkKIHsK
LSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJl
VGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAg
ICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGluZSB2b2lkIFRpbWVy
QmFzZTo6aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIHsK
LSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJl
VGltZSk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsK
ICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZvaWQgVGltZXJCYXNl
OjpoZWFwRGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwSW5jcmVhc2VL
ZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAgICBBU1NFUlQobV9u
ZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVhc2VLZXkoKTsKIH0K
QEAgLTI5Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbnNlcnQoKQog
aW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBUZW1wb3JhcmlseSBm
b3JjZSB0aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdlIGNhbiBwb3AgaXQu
Ci0gICAgZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAgbV9uZXh0RmlyZVRp
bWUgPSAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOworICAgIE1vbm90
b25pY1RpbWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25leHRGaXJlVGltZSA9
IC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogICAg
IGhlYXBQb3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1lOwpAQCAtMzQ3LDcg
KzM0NCw3IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0CiAg
ICAgcmV0dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDEp
ICYmIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDIpOwogfQog
Ci12b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQordm9p
ZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRpbWUpCiB7
CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkpCiAgICAg
ICAgIHJldHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVh
cElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFwKCkgfHwgaGFzVmFs
aWRIZWFwUG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUo
ZG91YmxlIG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKE1vbm90b25p
Y1RpbWUgbmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9y
VGhyZWFkKG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQpOwpAQCAtMzc5LDEx
ICszNzYsMTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGlt
ZSkKICAgICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAmdGhyZWFkR2xvYmFs
VGltZXJIZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUgY2hhbmdpbmcgdGhl
IG5leHQtZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7Cisg
ICAgTW9ub3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAgICAgLy8gRG9uJ3Qg
cmVhbGlnbiB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkgewotICAgICAgICBp
ZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNvbmRzVG9NUyhuZXdU
aW1lKSkpCi0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3QWxpZ25lZFRpbWUu
dmFsdWUoKSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0gYWxpZ25lZEZpcmVU
aW1lKG5ld1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWduZWRUaW1lLnZhbHVl
KCk7CiAgICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpAQCAtNDE2LDEwICs0
MTMsMTAgQEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCkKICAg
ICBzZXROZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwogfQogCi1kb3VibGUg
VGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGlt
ZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQo
aXNBY3RpdmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1l
IC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAgcmV0dXJuIHN0ZDo6
bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCksIFNlY29u
ZHMoMCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
aAppbmRleCBhMzVjOGM2N2VlMjJiNmVkNWRjODUzYmRlMmUxOWYzY2VkY2U4ZjFlLi43YzUxYmE4
N2JlZGIyZjE5NWMxMDA0YjdjM2M0ODVmZGQ3ZDdiNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxmdW5j
dGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1Nl
Y29uZHMuaD4KQEAgLTQ3LDM5ICs0OCwyNCBAQCBjbGFzcyBUaW1lckhlYXBFbGVtZW50OwogY2xh
c3MgVGltZXJCYXNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOwogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHJvdGVjdGVkOgotICAgIHN0YXRpYyBpbmxpbmUg
ZG91YmxlIG1zVG9TZWNvbmRzKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZHVyYXRpb24pIHsg
cmV0dXJuIGR1cmF0aW9uLmNvdW50KCkgKiAwLjAwMTsgfQotICAgIHN0YXRpYyBpbmxpbmUgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBzZWNvbmRzVG9NUyhkb3VibGUgZHVyYXRpb24pIHsgcmV0
dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6
OnJlcCkoZHVyYXRpb24gKiAxMDAwKSk7IH0KLQogcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IFRpbWVyQmFzZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgflRpbWVyQmFzZSgpOwog
Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwg
ZG91YmxlIHJlcGVhdEludGVydmFsKTsKLQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwp
KTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydFJlcGVhdGluZyhyZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQorICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgMCk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZhbCkp
OyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRl
cnZhbC52YWx1ZSgpLCAwKTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Cisg
ICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwg
U2Vjb25kcygwKSk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcCgpOwogICAgIGJv
b2wgaXNBY3RpdmUoKSBjb25zdDsKIAotICAgIGRvdWJsZSBuZXh0RmlyZUludGVydmFsKCkgY29u
c3Q7Ci0gICAgZG91YmxlIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKLSAgICBk
b3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3JlcGVhdEludGVydmFsOyB9
Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1TKCkgY29uc3Qg
eyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLQotICAgIHZvaWQgYXVn
bWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZp
cmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChtc1RvU2Vjb25k
cyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEp
IHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YS52YWx1ZSgpKTsgfQorICAgIFNlY29uZHMgbmV4
dEZpcmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFVuYWxpZ25lZEZpcmVJbnRl
cnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biBtX3JlcGVhdEludGVydmFsOyB9CiAKLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChk
b3VibGUgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7IG1fcmVwZWF0SW50ZXJ2
YWwgKz0gZGVsdGE7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25k
cyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0
YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICB2b2lkIGF1
Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBzZXROZXh0RmlyZVRpbWUobV9uZXh0
RmlyZVRpbWUgKyBkZWx0YSk7IH0KKyAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNv
bmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFs
ICs9IGRlbHRhOyB9CiAKICAgICB2b2lkIGRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCk7CiAK
QEAgLTg4LDE3ICs3NCwxNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBm
aXJlZCgpID0gMDsKIAotICAgIHZpcnR1YWwgT3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0IHsg
cmV0dXJuIE51bGxvcHQ7IH0KKyAgICB2aXJ0dWFsIE9wdGlvbmFsPE1vbm90b25pY1RpbWU+IGFs
aWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCB7IHJldHVybiBOdWxsb3B0OyB9CiAK
ICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAgICB2b2lkIGNoZWNrSGVhcElu
ZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGltZShkb3VibGUpOworICAgIHZv
aWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAgICAgYm9vbCBpbkhlYXAoKSBj
b25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAgICAgYm9vbCBoYXNWYWxpZEhl
YXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRp
bWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAgICB2b2lkIGhlYXBEZWxldGUo
KTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8VGltZXJCYXNlKj4m
IHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFw
KTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsgfQogCi0gICAgZG91Ymxl
IG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAgZG91YmxlIG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50
IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7IC8vIDAgaWYgbm90IHJlcGVh
dGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7IC8vIDAgaWYgaW5hY3RpdmUK
KyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJl
VGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCisgICAgU2Vjb25kcyBtX3Jl
cGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAgICBpbnQgbV9oZWFwSW5kZXg7
IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9oZWFwSW5zZXJ0aW9uT3JkZXI7
IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJlLXRpbWUgdGltZXJzCiAgICAg
VmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsKQEAgLTE1
OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSBjb25zdAog
I2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkgfHwgcHRocmVhZF9tYWluX25w
KCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZiAvLyBQTEFURk9STShJ
T1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJldHVybiAhIW1fbmV4dEZpcmVU
aW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIDogcHJvdGVjdGVkIFRpbWVy
QmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGltZXJGaXJlZENsYXNzPgot
ICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQg
KFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmpl
Y3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBTZWNvbmRzIGRlbGF5KQog
ICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpiaW5kKGZ1bmN0aW9uLCAmb2Jq
ZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIo
c3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248dm9pZCAo
KT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogbV9mdW5jdGlvbihXVEZNb3Zl
KGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQogICAgICAgICAsIG1fc2hvdWxk
UmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcgKzE5OCw3IEBAIHByaXZhdGU6
CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rpb247CiAKLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25kcyBtX2RlbGF5OwogICAgIGJv
b2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUwMTkxNDRhMjFmZjRkM2RjMGUx
OGY5ZmM5MjhlMWE3Li43YTllNmEwOWQ3MGI3OTliYjYwMGY3ZWU3YzBhOTFlZmEwMThlMDlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKQEAgLTQwLDcgKzQwLDcg
QEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRvbigpCiBWTm9kZVRyYWNrZXI6
OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2
ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZlbnQ6OkluY3JlbWVudCkgY2hl
Y2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJlV2FybmluZ1RpbWVyKCp0aGlz
LCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKQotICAgICwgbV9sYXN0
V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCisgICAgLCBtX2xh
c3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsKICAgICBwbGF0Zm9ybUluaXRp
YWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5vZGVUcmFja2VyOjpwcmVzc3Vy
ZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNvdW50ZXIudmFsdWUoKSA8PSBt
X3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xhc3RXYXJuaW5nVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFdhcm5pbmdU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWduZWQgdm5vZGVDb3VudCA9IG1f
dm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNhbCA9IHZub2RlQ291bnQgPiBt
X2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRpY2FsOjpObzsKICAgICBtX3By
ZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9yeVByZXNzdXJlLCAidm5vZGUg
cHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBvZiAldSAoY3JpdGljYWwgcHJl
c3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRlci52YWx1ZSgpLCB2bm9kZUNv
dW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIgOiAiTm8iKTsKIH0KIAotc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5leHRQcmVzc3VyZVdhcm5pbmdJ
bnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2Fybmlu
Z0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhlIHZub2RlIHByZXNzdXJlIGhh
bmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0YXRpYyBjb25zdCBhdXRvIG1p
bmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMwIH07Ci0gICAg
YXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11
bVdhcm5pbmdJbnRlcnZhbCA9IFNlY29uZHMoMzApOworICAgIGF1dG8gdGltZVNpbmNlTGFzdFdh
cm5pbmcgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fbGFzdFdhcm5pbmdUaW1lOwogICAgIGlm
ICh0aW1lU2luY2VMYXN0V2FybmluZyA8IG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwpCi0gICAgICAg
IHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzPihtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmcpOwotICAg
IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMCB9OworICAgICAgICByZXR1cm4g
bWluaW11bVdhcm5pbmdJbnRlcnZhbCAtIHRpbWVTaW5jZUxhc3RXYXJuaW5nOworCisgICAgcmV0
dXJuIFNlY29uZHMoMCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1ZOb2RlVHJhY2tlci5oCmluZGV4IDFiMDExMGU4M2U3YTE2ZGE5NjQ4MDEzMDg1YWJm
ZTE4MjYwZjRhMjQuLjA0ZmIzNzk1ZDY1Yzc4NzUyOTNiOWM3YmRkZjM4NzAxNTNlYTFmMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oCkBAIC01Myw3ICs1Myw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGNoZWNrUHJlc3N1cmVTdGF0ZSgpOwogICAgIHZvaWQgcHJlc3N1
cmVXYXJuaW5nVGltZXJGaXJlZCgpOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbmV4
dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0UHJlc3N1
cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdDsKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXpl
KCk7CiAKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBQcmVzc3VyZUhhbmRsZXIgbV9w
cmVzc3VyZUhhbmRsZXI7CiAgICAgVk5vZGVDb3VudGVyIG1fdm5vZGVDb3VudGVyOwogICAgIFRp
bWVyIG1fcHJlc3N1cmVXYXJuaW5nVGltZXI7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX2xhc3RXYXJuaW5nVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFz
dFdhcm5pbmdUaW1lOwogfTsKIAogaW5saW5lIHZvaWQgVk5vZGVUcmFja2VyOjpzZXRQcmVzc3Vy
ZUhhbmRsZXIoUHJlc3N1cmVIYW5kbGVyIGhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggMTY3NjY5
YTIwNjA4NDhjYzY4MTJjZjQ2ZTQ3Nzg2NTk4ZTExNDNlOC4uMDc5NTEwZjFhOTIyYzA2NWY2M2Ew
YzdhMWNlODQyY2JlNTFmYWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1Rp
bWVyVGhyb3R0bGVEZWxheSA9IDAuMTsKK2NvbnN0IFNlY29uZHMga0NsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkgPSBTZWNvbmRzKDAuMSk7CiAKICNpZiAhTE9HX0RJU0FCTEVE
CiBzdGF0aWMgY29uc3QgY2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0
ZSBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tCmluZGV4IGNkNmZkYmUyMDk3YmJhNTc0NGQ4MWZhODhlNDcwOTRhY2EyNjI3MGMu
LjgwOThjZjg5YWNkMDIxMGRmYTkwNDE2YmJhZWYxZTA4ZTU4ZjIyMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNzYsNyAr
NzYsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcnViYmVyYmFuZE1pbmltdW1SZXF1aXJlZERlbHRh
QmVmb3JlU3RyZXRjaCA9IDEwOwogCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkgJiYgUExB
VEZPUk0oTUFDKQogc3RhdGljIGNvbnN0IGZsb2F0IGluZXJ0aWFsU2Nyb2xsUHJlZGljdGlvbkZh
Y3RvciA9IDE2Ljc7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxh
eSA9IDAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9
IFNlY29uZHMoMC41KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNDIxLDcgKzQy
MSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNv
bnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7
CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnVi
YmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2Ns
aWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNzKTsKIH0KQEAgLTYzNCw3ICs2MzQsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCkKIHsKICAgICBpZiAoIW1f
c2Nyb2xsU25hcFRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgbV9jbGllbnQuc3RhcnRTY3Jv
bGxTbmFwVGltZXIoKTsKLSAgICAgICAgbV9zY3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmco
MS4wIC8gNjAuMCk7CisgICAgICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNl
Y29uZHMoMS4wIC8gNjApKTsKICAgICB9CiAKICAgICBpZiAoIW1fc2Nyb2xsU25hcFRpbWVyLmlz
QWN0aXZlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2Nv
Y29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQppbmRl
eCA2YTUzZjEyMjkyMTlmNDhjZWM5NzIyODRkMmI1OWM3ZDhhMmE5ZDkwLi44M2EwNzEzMDEzYzdj
NjQwYmQ0NmVmYzNjZDYzMmE1MTE1ODc5YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJH
YW1lcGFkUHJvdmlkZXIubW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX01B
WV9GQUlMKEdhbWVDb250cm9sbGVyLCBHQ0NvbnRyb2xsZXJEaWREaXNjb25uZWN0Tm90aWZpY2F0
aW8KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMTZtczsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KDE2KTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9sbGVyR2Ft
ZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggMGQ4
YTc5YTA1MGQxOGFhODcwODllOTU4ZTgxMjE0ZTFjZGZiMTRlYi4uMzk3ZjQ2Nzg5ZTUzMmJhZWQ4
ZGNmNGM3NGQ5MzUyYWRkNjdkYTRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zNCw4ICsz
NCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBDb25u
ZWN0aW9uRGVsYXlJbnRlcnZhbCA9IDAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgSW5wdXROb3Rp
ZmljYXRpb25EZWxheSA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBDb25uZWN0aW9uRGVs
YXlJbnRlcnZhbCA9IFNlY29uZHMoMC41KTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIElucHV0Tm90
aWZpY2F0aW9uRGVsYXkgPSBTZWNvbmRzKDAuMDUpOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGlj
dGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwg
dWludDMyX3QgdXNhZ2UpCiB7CkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJv
dmlkZXI6OmRldmljZUFkZGVkKElPSElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5k
IHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAg
ICAgICAvLyBUaGUgbV9jb25uZWN0aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQg
c3BpbiBvZiB0aGUgcnVubG9vcCBhZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlv
biBldmVudHMgYXJlIGFjdHVhbCBuZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVs
YXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgICAgIExPRyhHYW1lcGFkLCAiRGV2aWNl
ICVwIHdhcyBhZGRlZCB3aGlsZSBzdXBwcmVzc2luZyBjYWxsYmFja3MsIHNvIHRoaXMgc2hvdWxk
IGJlIGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQiLCBkZXZpY2UpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggM2RiYTU2
MjNiYWRmYmJjZGM4ODIyZTM3YmZkMmRkZGU3NjQxZDU3Yy4uODRmZTU2NDNjNzAwYzI3OTdhYzU2
MWJmYmU0ODNjMGY1ZTVhNTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1h
Z2U6OmNsZWFyVGltZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQg
Qml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6
c3RhcnRUaW1lcihTZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsK
ICAgICBtX2ZyYW1lVGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1h
cEltYWdlOjphZHZhbmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFn
ZTo6U3RhcnRBbmltYXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRp
b24oKQogICAgIH0KIAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVy
KG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRz
KG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1h
dGlvblJlc3VsdDo6U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFw
SW1hZ2U6OmFkdmFuY2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhl
IHJlbWFpbmluZyB0aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGlt
ZS4KICAgICAgICAgaWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6
Om1heCh0aW1lLCBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0
VGltZXIobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAg
ICAgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3Rp
bmcgLSB0aW1lKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA4OTAz
MmRjYTRiMWI1MjQ4ZDRkNzk0YzllZDM1NDdjNTgwNjA1MmMzLi5lNWM5MmM0NjA4ODNkMjY2Mzc4
ZmQxNTliZTJlNDcwYzdhMzhiNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTE4NSw3ICsxODUsNyBAQCBwcm90ZWN0ZWQ6CiAKIHBy
aXZhdGU6CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJs
ZSBkZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wg
aXNCaXRtYXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lk
IGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0
NTljZjE1ZGM3ZmFlMDZjNjFiNjBjLi41NzFkNDgxMmEyM2RlOTBiNDFlMzE4MDE3YTFiZTRkYjcz
YThmNWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1v
cnlQcmVzc3VyZUluYWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6
OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
bnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250
RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRT
ZXR0aW5ncywgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdl
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMp
OworICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAg
Rm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1EYXRhID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0
YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MsIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSk7CiAgICAgaWYgKCFwbGF0Zm9ybURh
dGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCmluZGV4IDQ5MzE2ODZiMzE1MTI3NzE2MjUw
NDg4OGI3MTVlMjgxYTI3NTkyMDYuLmQ2YzEzZWUwODIzNjMxZGI4MjBmOTE1Zjk5NmI0N2FjN2Q0
NzIzNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBwZW5kaW5nQWN0aW9u
SW50ZXJ2YWwgPSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgcGVuZGluZ0FjdGlv
bkludGVydmFsID0gU2Vjb25kcygxLjAgLyAxMCk7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXI6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoQ2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2Ns
aWVudCgmY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCmluZGV4IDBkYzg4YzdkOTM0ZDE0YTNmNDRjZDgwNzRkMmY4YmJkZGYzNjM2
NzMuLjgxMDFiYWI0ODQwMDVmZjZjNWFmNzljM2FhZmM0YmVlMTM0NmZhMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTEwOTgs
NyArMTA5OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoKQogICAg
IGlmIChtX3ByaXZhdGUtPm5ldHdvcmtTdGF0ZSgpID49IEZvcm1hdEVycm9yICYmIG1fcHJpdmF0
ZS0+cmVhZHlTdGF0ZSgpIDwgSGF2ZU1ldGFkYXRhKSB7CiAgICAgICAgIG1fY2xpZW50Lm1lZGlh
UGxheWVyRW5naW5lRmFpbGVkVG9Mb2FkKCk7CiAgICAgICAgIGlmIChpbnN0YWxsZWRNZWRpYUVu
Z2luZXMoKS5zaXplKCkgPiAxICYmIChtX2NvbnRlbnRNSU1FVHlwZS5pc0VtcHR5KCkgfHwgbmV4
dEJlc3RNZWRpYUVuZ2luZShtX2N1cnJlbnRNZWRpYUVuZ2luZSkpKSB7Ci0gICAgICAgICAgICBt
X3JlbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fcmVsb2FkVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hh
ZG93Qmx1ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVy
LmNwcAppbmRleCA1MjNiM2FmNWQ3YmU3N2ZhMWRlNzY5ZThkYzEzMDc2ZDVmM2MyMTNmLi41ZmQ3
NjQ3YmQ3ZmIxNTViMGViMzEwMDUwZTU5MGFmMzlhMDk5MDgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcApAQCAtMTI0LDcgKzEyNCw3IEBA
IHB1YmxpYzoKICAgICAgICAgaWYgKG1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAg
ICAgbV9wdXJnZVRpbWVyLnN0b3AoKTsKIAotICAgICAgICBjb25zdCBkb3VibGUgc2NyYXRjaEJ1
ZmZlclB1cmdlSW50ZXJ2YWwgPSAyOworICAgICAgICBjb25zdCBTZWNvbmRzIHNjcmF0Y2hCdWZm
ZXJQdXJnZUludGVydmFsID0gU2Vjb25kcygyKTsKICAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0
T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
U2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmluZGV4IDZlZThi
YzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLmUyZTUzODA0OGU1OTQ4MTQ0ZjZm
YWQwYzNmMmM2YjYyYzEzYTIwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxl
Y3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1lZGlhU2VsZWN0
aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBjaGFy
YWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJyZWRPcHRpb24p
KTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJyZWRPcHRpb24p
OwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9u
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9i
akMqIG9wdGlvbikKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqCiAg
ICAgbV9zZWxlY3RlZE9wdGlvbiA9IG9wdGlvbjsKICAgICBpZiAobV9zZWxlY3Rpb25UaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICBtX3NlbGVjdGlvblRpbWVyLnN0b3AoKTsKLSAgICBtX3NlbGVj
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6
c2VsZWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggZmYy
OTk0ZmJhNjRhNzk4NjM2M2QyODNlZDRmNTI4ZGQ4ZTEzNjU2MS4uNjg5YzZmZTM2NDFhNGZkYjQ4
MjRiNzZjMGUzMDk1ZWIxNzZmMTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAt
MjI4LDcgKzIyOCw3IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGUoY29uCiAgICAgICAgIG91dHB1dENv
ZGVjcyA9IFtnZXRBVlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIG91dHB1dE1JTUVDb2RlY1BhcmFt
ZXRlckZvcklucHV0TUlNRUNvZGVjUGFyYW1ldGVyOm91dHB1dENvZGVjc107CiAKICAgICBOU1N0
cmluZyAqdHlwZVN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiJUA7IGNvZGVj
cz1cIiVAXCIiLCAoTlNTdHJpbmcgKilwYXJhbWV0ZXJzLnR5cGUsIChOU1N0cmluZyAqKW91dHB1
dENvZGVjc107Ci0gICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xhc3MoKSBpc1BsYXlhYmxlRXh0
ZW5kZWRNSU1FVHlwZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVyOjpJc1N1cHBvcnRlZCA6IE1l
ZGlhUGxheWVyOjpNYXlCZVN1cHBvcnRlZDs7CisgICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xh
c3MoKSBpc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlwZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVy
OjpJc1N1cHBvcnRlZCA6IE1lZGlhUGxheWVyOjpNYXlCZVN1cHBvcnRlZDsKIH0KIAogI3ByYWdt
YSBtYXJrIC0KQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UoY29uc3QgTWVkaWFUaW1lJiB0aQogCiAg
ICAgaWYgKG1fc2Vla1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2Vla1RpbWVyLnN0b3Ao
KTsKLSAgICBtX3NlZWtUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZWVrVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIw
NzIzNTAwMThhZGM0YmNkYjg0NWYuLjE5NTZmNjg1YTk2ZWE4MzAzODg0ZTlmNGM1NGIyMDQwNzVh
YjRlNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xh
eWVyUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5
ZXJQb29sLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBy
dW5lKCkKIHsKICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygxKSk7CiB9CiAKIHZvaWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQxMzJiMDQ4NmEzYTg3ZDJlZjNhMzc4OGEyNzk5YjYx
NGIzYTFlMmMuLmZhZWJjNjY1NTI5YjU4ZjRiNmM5NzYzNjA5MDg3NDIwNDkwNzAxMDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJv
bGxlci5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0
aWMgY29uc3QgYXV0byB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyB7IDUwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGlsZVNpemVVcGRhdGVEZWxheSA9
IFNlY29uZHMoMC41KTsKIAogU3RyaW5nIFRpbGVDb250cm9sbGVyOjp0aWxlR3JpZENvbnRhaW5l
ckxheWVyTmFtZSgpCiB7CkBAIC0yNjYsNyArMjY2LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6
c2V0SXNJbldpbmRvdyhib29sIGlzSW5XaW5kb3cpCiAgICAgaWYgKG1faXNJbldpbmRvdykKICAg
ICAgICAgc2V0TmVlZHNSZXZhbGlkYXRlVGlsZXMoKTsKICAgICBlbHNlIHsKLSAgICAgICAgY29u
c3QgZG91YmxlIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0ID0gNDsKKyAgICAgICAgY29uc3QgU2Vj
b25kcyB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCA9IFNlY29uZHMoNCk7CiAgICAgICAgIHNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0aW9uVGltZW91dCk7CiAgICAgfQogfQpA
QCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFn
ZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0CiAjZW5kaWYKIH0KIAot
dm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRl
cnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihTZWNv
bmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2
ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSA8IGludGVy
dmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRleCBjM2VlNDFlMDZiZDg4MjAwMzFlZDI5
MjEyODYxNWZlNzlkOTMzYWM4Li42ZDhjMjBjNDVhMzRmNGU3MjBiYzdjZWEwOTI1OTU4YmUwMTRh
YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICptX3RpbGVHcmlkOyB9CiAKLSAgICB2b2lk
IHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUgaW50ZXJ2YWwpOworICAgIHZvaWQgc2No
ZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0lu
V2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2luZG93OyB9CiAgICAgZmxvYXQgdG9wQ29u
dGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAu
Y3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFhZjAzYzk4OThmZmJiMTcxNWMuLjg4ZGI3
MTBiMmY5YmNjMjc5NzBlYWMwYTdkOTNlZmRiNjViNzA0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcApAQCAt
NzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5UaWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBU
aWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFRpbGVDb3ZlcmFnZU1hcDo6dXBkYXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKaW5kZXggMjhmMjljYmRlOGUyMWY3
MTgwMWI4ODYyMjc5NTYxZWY5MjJmYTFjMS4uMzJiMGVhZDI4MmY0NTYyYjRkMWJkYmFjZTAwZGQx
YTU0ZTEyYThhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgVGlsZUdyaWQ6OnJldmFsaWRh
dGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9uUG9saWN5KQogICAgIFRpbGVD
b2hvcnQgY3VyckNvaG9ydCA9IG5leHRUaWxlQ29ob3J0KCk7CiAgICAgdW5zaWduZWQgdGlsZXNJ
bkNvaG9ydCA9IDA7CiAKLSAgICBkb3VibGUgbWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRp
b24gPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpOworICAgIFNlY29uZHMgbWlu
aW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBTZWNvbmRzOjppbmZpbml0eSgpOwogICAg
IGJvb2wgbmVlZHNUaWxlUmV2YWxpZGF0aW9uID0gZmFsc2U7CiAgICAgCiAgICAgYXV0byB0aWxl
U2l6ZSA9IG1fY29udHJvbGxlci50aWxlU2l6ZSgpOwpAQCAtMzgxLDggKzM4MSw4IEBAIHZvaWQg
VGlsZUdyaWQ6OnJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9u
UG9saWN5KQogICAgICAgICAgICAgICAgIGZvciAoYXV0byYgY29ob3J0IDogbV9jb2hvcnRMaXN0
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjb2hvcnQuY29ob3J0ICE9IHRpbGVJbmZvLmNv
aG9ydCkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAg
ICAgICBkb3VibGUgdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBp
cmF0aW9uKCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVz
ID4gMCkgeworICAgICAgICAgICAgICAgICAgICBTZWNvbmRzIHRpbWVVbnRpbENvaG9ydEV4cGly
ZXMgPSBjb2hvcnQudGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAgICAgICAgICAgICAgICBp
ZiAodGltZVVudGlsQ29ob3J0RXhwaXJlcyA+IFNlY29uZHMoMCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uID0gc3RkOjptaW4obWlu
aW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24sIHRpbWVVbnRpbENvaG9ydEV4cGlyZXMpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgbmVlZHNUaWxlUmV2YWxpZGF0aW9uID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlCkBAIC00NzgsNyArNDc4LDcgQEAgVGlsZUdyaWQ6OlRp
bGVDb2hvcnQgVGlsZUdyaWQ6Om5leHRUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3Jp
ZDo6c3RhcnRlZE5ld0NvaG9ydChUaWxlQ29ob3J0IGNvaG9ydCkKIHsKLSAgICBtX2NvaG9ydExp
c3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9ydCwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCkpKTsKKyAgICBtX2NvaG9ydExpc3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9ydCwg
TW9ub3RvbmljVGltZTo6bm93KCkpKTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKCFtX2Nv
bnRyb2xsZXIuaXNJbldpbmRvdygpKQogICAgICAgICB0aWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXIoKS50aWxlQ29udHJvbGxlckdhaW5lZFVucGFyZW50ZWRUaWxlcygmbV9jb250cm9sbGVyKTsK
QEAgLTQ5NywxNyArNDk3LDE3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpvbGRl
c3RUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3JpZDo6c2NoZWR1bGVDb2hvcnRSZW1v
dmFsKCkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyA9IDE7
CisgICAgY29uc3QgU2Vjb25kcyBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzID0gU2Vjb25kcygx
KTsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciwgb3IgcmVzY2hlZHVsZSB0aGUgdGltZXIgZnJv
bSBub3cgaWYgaXQncyBhbHJlYWR5IGFjdGl2ZS4KICAgICBpZiAoIW1fY29ob3J0UmVtb3ZhbFRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0YXJ0UmVwZWF0
aW5nKGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMpOwogfQogCi1kb3VibGUgVGlsZUdyaWQ6OlRp
bGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKK1NlY29uZHMgVGlsZUdyaWQ6OlRp
bGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKIHsKLSAgICBkb3VibGUgY29ob3J0
TGlmZVRpbWVTZWNvbmRzID0gMjsKLSAgICBkb3VibGUgdGltZVRocmVzaG9sZCA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gY29ob3J0TGlmZVRpbWVTZWNvbmRzOworICAgIGNvbnN0
IFNlY29uZHMgY29ob3J0TGlmZVRpbWUgPSBTZWNvbmRzKDIpOworICAgIE1vbm90b25pY1RpbWUg
dGltZVRocmVzaG9sZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gY29ob3J0TGlmZVRpbWU7CiAg
ICAgcmV0dXJuIGNyZWF0aW9uVGltZSAtIHRpbWVUaHJlc2hvbGQ7CiB9CiAKQEAgLTUxOCw3ICs1
MTgsNyBAQCB2b2lkIFRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCgpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICB3aGlsZSAoIW1fY29ob3J0TGlzdC5pc0VtcHR5KCkgJiYg
bV9jb2hvcnRMaXN0LmZpcnN0KCkudGltZVVudGlsRXhwaXJhdGlvbigpIDwgMCkgeworICAgIHdo
aWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1l
VW50aWxFeHBpcmF0aW9uKCkgPCBTZWNvbmRzKDApKSB7CiAgICAgICAgIFRpbGVDb2hvcnRJbmZv
IGZpcnN0Q29ob3J0ID0gbV9jb2hvcnRMaXN0LnRha2VGaXJzdCgpOwogICAgICAgICByZW1vdmVU
aWxlc0luQ29ob3J0KGZpcnN0Q29ob3J0LmNvaG9ydCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKaW5kZXggMzI1MzM2ZjgxOTFlNDU4
MjNjNzU1ZDg3ODJjNDJhYTBkZTU3NjUxZC4uNDI2OTM3NzRiYTRmMWM1YWI0Y2QzNGUyOGEzMjdm
ZWU5OGFlMGM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlR3JpZC5oCkBAIC0xMjEsMTMgKzEyMSwxMyBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFRp
bGVDb2hvcnRJbmZvIHsKICAgICAgICAgVGlsZUNvaG9ydCBjb2hvcnQ7Ci0gICAgICAgIGRvdWJs
ZSBjcmVhdGlvblRpbWU7IC8vIGluIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLgotICAg
ICAgICBUaWxlQ29ob3J0SW5mbyhUaWxlQ29ob3J0IGluQ29ob3J0LCBkb3VibGUgaW5UaW1lKQor
ICAgICAgICBNb25vdG9uaWNUaW1lIGNyZWF0aW9uVGltZTsKKyAgICAgICAgVGlsZUNvaG9ydElu
Zm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgTW9ub3RvbmljVGltZSBpblRpbWUpCiAgICAgICAgICAg
ICA6IGNvaG9ydChpbkNvaG9ydCkKICAgICAgICAgICAgICwgY3JlYXRpb25UaW1lKGluVGltZSkK
ICAgICAgICAgeyB9CiAKLSAgICAgICAgZG91YmxlIHRpbWVVbnRpbEV4cGlyYXRpb24oKTsKKyAg
ICAgICAgU2Vjb25kcyB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CiAgICAgfTsKIAogICAgIHZvaWQg
cmVtb3ZlQWxsVGlsZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKaW5kZXggYjgxZDU4ZTYzZDE4YjI2YWY0ZGIxNGZh
NWMzYThhMGZlMGJmZjE0OC4uMzJmMjI1NzUyNWFhYzI0ZTk1NmFiOGZkM2I0MTg1YTYwOWVlN2Y4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJm
YWNlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9T
dXJmYWNlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKICNpbmNsdWRlIDxjaHJvbm8+CiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgY29sbGVjdGlvbkludGVydmFsID0gNTAwbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6c2Vj
b25kcyBzdXJmYWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJzOworY29uc3QgU2Vjb25k
cyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSBTZWNvbmRzKDAuNSk7Citjb25zdCBTZWNvbmRzIHN1cmZh
Y2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxlID0gU2Vjb25kcygyKTsKIGNvbnN0IHNpemVfdCBk
ZWZhdWx0TWF4aW11bUJ5dGVzQ2FjaGVkID0gMTAyNCAqIDEwMjQgKiA2NDsKIAogLy8gV2UnbGwg
bmV2ZXIgYWxsb3cgbW9yZSB0aGFuIDEvMiBvZiB0aGUgY2FjaGUgdG8gYmUgZmlsbGVkIHdpdGgg
aW4tdXNlIHN1cmZhY2VzLCBiZWNhdXNlCkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBJT1N1cmZh
Y2VQb29sOjpjb2xsZWN0SW5Vc2VTdXJmYWNlcygpCiBib29sIElPU3VyZmFjZVBvb2w6Om1hcmtP
bGRlclN1cmZhY2VzUHVyZ2VhYmxlKCkKIHsKICAgICBib29sIG1hcmtlZEFsbFN1cmZhY2VzID0g
dHJ1ZTsKLSAgICBhdXRvIG1hcmtUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93
KCk7CisgICAgYXV0byBtYXJrVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgZm9y
IChhdXRvJiBzdXJmYWNlQW5kRGV0YWlscyA6IG1fc3VyZmFjZURldGFpbHMpIHsKICAgICAgICAg
aWYgKHN1cmZhY2VBbmREZXRhaWxzLnZhbHVlLmhhc01hcmtlZFB1cmdlYWJsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaAppbmRl
eCAzNDlhM2JjM2QyN2M1NDY5NmQ3YjViNTYzOTVmM2YzZTJmMjdmM2M0Li45ODIxYTRmZjA5NzEw
MGY1NWUxYmYzYzQ4MjAwNmViYzk0ZmUxMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCkBAIC02Myw5ICs2Myw5IEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICA6IGhhc01hcmtlZFB1cmdlYWJsZShmYWxzZSkKICAgICAgICAg
eyB9CiAKLSAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0VXNlVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOyB9CisgICAgICAgIHZvaWQgcmVzZXRMYXN0
VXNlVGltZSgpIHsgbGFzdFVzZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsgfQogCi0gICAg
ICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbGFzdFVzZVRpbWU7Cisg
ICAgICAgIE1vbm90b25pY1RpbWUgbGFzdFVzZVRpbWU7CiAgICAgICAgIGJvb2wgaGFzTWFya2Vk
UHVyZ2VhYmxlOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKaW5kZXggNGZh
Zjc3ZTI1NGUyYWFjNDA4YjRlODM2M2Y0OGUzZWQyMzBmZmQ3Ni4uYzEyNzYwODkzNzNhN2U0Mzgx
MGU0NDhjYmM1MTg1ZWU2OTE2OWZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKQEAg
LTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0
byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMSB9Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgPSBTZWNvbmRzKDEp
Owogc3RhdGljIGNvbnN0IGludCBtYXhTdWJpbWFnZUNhY2hlU2l6ZSA9IDMwMDsKIAogc3RydWN0
IFN1YmltYWdlUmVxdWVzdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCmluZGV4IGZlYWRkZGRhOGRjNDY0OTU2ZDU0MDUyZTA1YWRhNzcwNmQ0ODNm
OTEuLmNiZGE3ODcwZmE3YzUzMDE5ZTY0MWMzMzRhNmEwNGI5YjQ2OGU5OGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0xODU4LDcgKzE4
NTgsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZm
ZXJpbmcoKQogICAgIGlmIChzaG91bGREb3dubG9hZCkgewogICAgICAgICBHU1RfREVCVUcoIkVu
YWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVs
aW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyB8IGZsYWdEb3dubG9hZCwgbnVsbHB0cik7Ci0gICAg
ICAgIG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMik7CisgICAgICAgIG1fZmlsbFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4yKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgR1NU
X0RFQlVHKCJEaXNhYmxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rf
c2V0KG1fcGlwZWxpbmUuZ2V0KCksICJmbGFncyIsIGZsYWdzICYgfmZsYWdEb3dubG9hZCwgbnVs
bHB0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZS5jcHAKaW5kZXggOTY5MzY5YTM1ZTc5NzE1OThlY2YxOGVmOWYyNDgwOTFmYjVjZDU2OC4u
NzVkMmE2Y2M4YTVmMzE3YmM4Y2JkMjBmYzE3MTE4Y2UwYmI0NzgxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtNjUzLDcg
KzY1Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJl
cGFpbnQoR3N0U2FtcGxlKiBzYW1wbGUpCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RI
UkVBREVEKQogICAgIGlmICghbV9wbGF5ZXItPmNsaWVudCgpLm1lZGlhUGxheWVyQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSkgewogICAgICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2Ry
YXdNdXRleCk7Ci0gICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICBtX2RyYXdDb25k
aXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzUs
NyArNjc1LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2Vy
UmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQo
KSk7CiAKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBt
X2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQobV9kcmF3TXV0
ZXgpOwogICAgIH0KICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCmluZGV4
IGQxODFlY2YwMTc4Y2UyYTU3ZGYyMWIxNTIxYzA0MWY2YjcyNzk5MjguLjc2MDk2OGJjZmZlN2Y2
MWE1YzY1NmY0NWYxYjJiNDM2YWU3NzdlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFt
ZXIuY3BwCkBAIC0xMTksNyArMTE5LDcgQEAgcHVibGljOgogICAgICAgICBtX3NhbXBsZSA9IG51
bGxwdHI7CiAjZWxzZQogICAgICAgICBtX3NpbmsgPSBzaW5rOwotICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiAgICAgICAgIG1fZGF0YUNvbmRpdGlvbi53YWl0KG1fc2FtcGxlTXV0ZXgpOwogI2VuZGlmCiAg
ICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCmluZGV4IDk2
OGEyZDg4YjY1MWJjYmIyMzA2MjI3MTMzZGY1NjBjMWVmMmZiNGYuLmRlNjQ0MDI5ODllNzgwZDg1
MGNmZTAzODkxZDA5NGY1NzIwMGI2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0K
QEAgLTY0Nyw3ICs2NDcsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzZWVrKGNv
bnN0IE1lZGlhVGltZSYgaW5UaW1lKQogICAgIGlmIChtYXhNZWRpYVRpbWVTZWVrYWJsZSgpID49
IG1fc2Vla1RvKQogICAgICAgICBkb1NlZWsoKTsKICAgICBlbHNlIAotICAgICAgICBtX3NlZWtU
aW1lci5zdGFydCgwLCAwLjVmKTsKKyAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoU2Vjb25kcygw
KSwgU2Vjb25kcygwLjUpKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6ZG9T
ZWVrKCkgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5j
cHAKaW5kZXggNWUzYzgyZjFmMzNhZDUyOTI1MDY2ODk2YzljMjE0YTMzYmY4YjMwNS4uNGRjZmVl
ODNhZmIyODg1NWJlZTRjM2E5NTY2ZTRiOTA4OGRkYzcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVy
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2lu
Y2x1ZGUgIlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyLmgiCiAKIGNvbnN0IGRvdWJs
ZSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMTsKLWNvbnN0IGRvdWJsZSBzX3Jl
bGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgc19y
ZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDAuNSk7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMTYzLDcgKzE2Myw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBs
YXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRhdGVPbkNvbXBvc2l0b3JUaHJlYWQoc3RkOjpm
dW5jCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0
ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRhdGVGdW5jdGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhy
ZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRV
cGRhdGVUaW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIHJldHVybiB0cnVlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwCmluZGV4IDVkNzQ0ZDI1MjljMjAwN2JkZTBlODk5MTQwMDBmMDU3YjcxZDM3ZmMu
LjNhMTgxOWIzMmRjMTZiMDdkMmY2ZjQyOTdmOWFiZTJhMzc1NjcyOGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0x
MjAwLDcgKzEyMDAsNyBAQCBib29sIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0
aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsCiAKICAgICBtX2xhc3RBbmlt
YXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGRlbGF5QXNO
ZWdhdGl2ZVRpbWVPZmZzZXQ7CiAgICAgbV9hbmltYXRpb25zLmFkZChUZXh0dXJlTWFwcGVyQW5p
bWF0aW9uKGtleWZyYW1lc05hbWUsIHZhbHVlTGlzdCwgYm94U2l6ZSwgKmFuaW0sIGxpc3RzTWF0
Y2gsIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSwgMCwgVGV4dHVyZU1hcHBlckFuaW1hdGlvbjo6
QW5pbWF0aW9uU3RhdGU6OlBsYXlpbmcpKTsKLSAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9hbmltYXRpb25TdGFydGVkVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogICAgIGRpZENoYW5nZUFuaW1hdGlvbnMoKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmlt
YXRvckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JH
dGsuY3BwCmluZGV4IDEzZTYzNTRiMDkyNjEzNGQ4N2Y5ZmMwOWRmY2YxMjJhYzE5N2NkNWUuLjgx
OTI2ZDJjMmJmOGU1ZTkyNjk4NzdiODcyZGNjZWQyZWNlMTZlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcApAQCAtMTkxLDcgKzE5
MSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25U
aW1lckZpcmVkKCkKICAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBm
cmFtZVJhdGU7CiAgICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVRpbWVySW50ZXJ2
YWwgPSAuMDAxOwogICAgICAgICBkb3VibGUgZGVsdGFUb05leHRGcmFtZSA9IHN0ZDo6bWF4KHRp
Y2tUaW1lIC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gY3VycmVudFRpbWUpLCBt
aW5pbXVtVGltZXJJbnRlcnZhbCk7Ci0gICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
blRpbWVyLnN0YXJ0T25lU2hvdChkZWx0YVRvTmV4dEZyYW1lKTsKKyAgICAgICAgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoZGVsdGFUb05leHRG
cmFtZSkpOwogICAgIH0gZWxzZQogICAgICAgICBoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKTsKIH0K
QEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNj
cm9sbGJhcnMoKQogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgIT0g
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewogICAgICAgICBtX292ZXJsYXlT
Y3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSA9IG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlv
bkR1cmF0aW9uOwotICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92ZXJsYXlT
Y3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0
azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OwogICAgIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25T
dGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbiArIG92ZXJmbG93
U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmlt
YXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURl
bGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkpKTsKIH0KIAogdm9p
ZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29udGVudEFyZWEoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggYjBiN2JmZGEy
ZGI4MWVlZjc0MWNmNjY0M2MxMGY4MGVmN2QyOWVmMy4uOTcyMjgyODdiZDYxYTRiNTkyMTgyZjNm
NWM3ZGQ3YjFkOTRjMzc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVn
YWN5VGlsZUNhY2hlLm1tCkBAIC00MjAsNyArNDIwLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6
OmZpbmlzaGVkQ3JlYXRpbmdUaWxlcyhib29sIGRpZENyZWF0ZVRpbGVzLCBib29sIGNyZWF0ZU1v
cmUKIAogICAgIC8vIEtlZXAgY3JlYXRpbmcgdGlsZXMgdW50aWwgdGhlIHdob2xlIGNvdmVyUmVj
dCBpcyBjb3ZlcmVkLgogICAgIGlmIChjcmVhdGVNb3JlKQotICAgICAgICBtX3RpbGVDcmVhdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3Jl
YXRpb25UaW1lckZpcmVkKCkKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNo
ZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAg
ICAgcmV0dXJuOwogICAgIG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQgPSBlbmFi
bGVkOwogICAgIGlmIChtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKQotICAgICAg
ICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3Jl
YXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJvb2wgTGVnYWN5VGls
ZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1NmQ0MDYwN2Y1NjNhNmNlNTk4ZTI5
YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBmYzBmZmY2OGQ1M2Q0MzQ3YTA3NGIx
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVt
ZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlP
Uy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIHN1cHBvcnRzQ29u
dHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgZG91Ymxl
IGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRv
c2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxh
Y2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUyMGJlZjU0OGY1NDAyMDNhOWE2YTNj
Nzc3ZDgxNmRhYTUwOTkwLi41YjAwNWM1MDExMzYzYWNiOWJlOGVhYTdmYmUyZWZjOGEyMzBjMzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJ
T1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9T
Lm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJhclRoZW1lSU9TOjpzY3JvbGxiYXJU
aGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWRvdWJs
ZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29u
ZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0g
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKLWRvdWJsZSBTY3JvbGxi
YXJUaGVtZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVt
ZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVy
biBTZWNvbmRzKDApOwogfQogICAgIAogU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBTY3JvbGxi
YXJUaGVtZUlPUzo6YnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQubW0KaW5kZXggY2M2MmUzYTg4NGFlZjI5NTE5N2UyYmI3NmJiMGZhN2VjMzA3MGJhMS4u
NDZjYzAxMGVhNjM4NDkyMjJkYzA5YTEzYjkxY2JjYTVmMWZkNDNiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5tbQpAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9v
bFN0cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1
bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVs
dFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMSk7CiAKIEBjbGFzcyBXZWJBVk1lZGlh
U2VsZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKFdlYlZp
ZGVvRnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVlbk1vZGUo
SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAgICBp
ZiAoIW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIu
c3RhcnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dh
dGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwog
CiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IGFjN2Y0ZmQ0YTk4NGRjMzFkZGQ0ZmM4MGIxNjkz
NDE1MTkwMjUwOTUuLjRmMjkxYTg3Y2JlZmVmYmVhMWM3ZWQ4ZDRkZDExZDdjMzIyODdmYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0K
QEAgLTEzMzgsNyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9s
bGVyU3R5bGUoKQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50
VGltZXIoKQogewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90
KDAuMSk7CisgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwLjEpKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRU
aW1lcklzQWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xsQW5p
bWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIGRl
bHRhKQogICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsK
IAogICAgIGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAKICAgICBpZiAobV93aGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAgICAgICAgIG1fd2hl
ZWxFdmVudFRlc3RUcmlnZ2VyLT5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8
V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBX
aGVlbEV2ZW50VGVzdFRyaWdnZXI6OkNvbnRlbnRTY3JvbGxJblByb2dyZXNzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKaW5kZXggYTcyODI5
OGM4ZWJiNWM1NTU0N2Q2ZDNjYmQ4ZDVlMTQ3NDBhNGU4Yy4uN2VhYTkxMWJiOTJiMDhmMDFiN2Q5
OTI2NmQwMTNhNDc2YzdkZDViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbGJhclRoZW1lTWFjLmgKQEAgLTQ4LDggKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQg
dXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgdXBkYXRl
U2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYpICBvdmVycmlkZTsKIAotICAgIGRvdWJs
ZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUgYXV0
b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVs
YXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1Bs
YWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KaW5kZXggYjJlMTYxOGMwMzJmYjdjNjVmMWZlMTkx
N2YyMDRlMjk2NzRjMzg5Zi4uZjljZDA1NzhhYWRiOTdhODE0MDFiYmY5MTc0MGNhNmIzNDJlYzM2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1l
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1h
Yy5tbQpAQCAtMTMwLDggKzEzMCw4IEBAIHN0YXRpYyBjb25zdCBpbnQgY0J1dHRvbkxlbmd0aFtd
ID0geyAxNCwgMTAgfTsKIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9uTGVuZ3RoW10gPSB7
IDE2LCAxNCB9OyAvLyBUaGUgb3V0ZXIgYnV0dG9uIGluIGEgZG91YmxlIGJ1dHRvbiBwYWlyIGlz
IGEgYml0IGJpZ2dlci4KIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9uT3ZlcmxhcCA9IDI7
CiAKLXN0YXRpYyBmbG9hdCBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41ZjsKLXN0YXRpYyBmbG9h
dCBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gMC4wNWY7CitzdGF0aWMgU2Vjb25kcyBnSW5pdGlh
bEJ1dHRvbkRlbGF5ID0gU2Vjb25kcygwLjUpOworc3RhdGljIFNlY29uZHMgZ0F1dG9zY3JvbGxC
dXR0b25EZWxheSA9IFNlY29uZHMoMC4wNSk7CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGlj
ayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwog
CkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXND
aGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVs
dHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwogICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0g
ICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xs
ZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMg
ZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0
b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRv
bkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0
cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRy
YWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhh
dmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Nyb2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3Nywx
MiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJs
YXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkoKQogewogICAgIHJldHVybiBnSW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3Vi
bGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Ny
b2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1
dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMw
NTU2MWM3YzFkNjA2N2FkZWM1MTU5ZjIzNTQuLjE2ZDI5NjJiNDY0ZjcwZjAyNGE4ZjIyNTFjYjNk
OWE1OGI2MjMwZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2
aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmlj
ZU1vdGlvbkNsaWVudE1vY2s6OnNldE1vdGlvbihQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+
IG1vdGlvbikKIHsKICAgICBtX21vdGlvbiA9IG1vdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5n
ICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBE
ZXZpY2VNb3Rpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNw
cAppbmRleCBhZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhkNjEwMWMyLi40MmYwM2Nk
NTA0NjhiYmI5Y2YxYzRhM2Y3ZjRkZjE5ODNjYzJjZGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2su
Y3BwCkBAIC01OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjpz
ZXRPcmllbnRhdGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0CiB7CiAgICAgbV9v
cmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggYjdjZmI5YmUw
NmRjYmZmYzdjMTZiM2NmZTc0NjUwMTMwZmE3MDBlNS4uMWUxMWQ1Njg5ODM3ZmE4NmY0OWMxNDNh
MWQ5MzUzOTgyMDM5YjE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQg
R2VvbG9jYXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZVBlcm1pc3Npb24oKQogewogICAgIEFT
U0VSVChtX3Blcm1pc3Npb25TdGF0ZSAhPSBQZXJtaXNzaW9uU3RhdGVVbnNldCk7CiAgICAgaWYg
KCFtX3Blcm1pc3Npb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Blcm1pc3Npb25UaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVybWlzc2lvblRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OnBlcm1pc3Np
b25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50
TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBBU1NFUlQobV9jb250cm9sbGVy
KTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVyVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Nv
bnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgR2VvbG9j
YXRpb25DbGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2suY3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5NmI3YTk1ZTIxMDY2MDQ5NTEyZmUyZjI1NWIu
LjlmM2UxZTg2NzVhMzQ1YjM4OGI0NDAxNjFkNTcyMGZkY2QwZWIwZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlck1vY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGltZXJJbnRl
cnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0g
U2Vjb25kcygxLjAgLyAxMCk7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrOjpNZWRp
YVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jayhNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpDbGll
bnQmIGNsaWVudCkKICAgICA6IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoY2xpZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcApp
bmRleCA2MGJiMDE4MWFlOGNkM2I3N2I4OWVkZjQ5YTM2NTM4NGYyZTBkZTU5Li4yNzg2ZDQ2ZWVl
ZTZhYjg4OTk1YWZkY2Y2YWMxYWU5NzA0ZDE0NmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcApAQCAtMjQ1LDcgKzI0NSw3IEBA
IHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMoKQogICAg
IC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJv
dmUgb3JkZXIKICAgICBtX2Zha2VJY2VDYW5kaWRhdGVzLnJldmVyc2UoKTsKIAotICAgIG1faWNl
Q2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNlQ2FuZGlkYXRlVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojpp
Y2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKQEAgLTI1NSw3ICsyNTUsNyBAQCB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50OjppY2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKIAogICAgIGlmICghbV9mYWtlSWNl
Q2FuZGlkYXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jbGllbnQuZ290SWNlQ2FuZGlkYXRl
KG1fbWlkc1swXSwgbV9mYWtlSWNlQ2FuZGlkYXRlcy50YWtlTGFzdCgpKTsKLSAgICAgICAgbV9p
Y2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1faWNlQ2FuZGlkYXRl
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2Ns
aWVudC5kb25lR2F0aGVyaW5nQ2FuZGlkYXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5
NCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQog
ICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUg
YWJvdmUgb3JkZXIKICAgICBtX2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAK
LSAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5z
cG9ydFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFF
bmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCkBAIC0zMDUsNyArMzA1LDcgQEAgdm9p
ZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCiAgICAgYXV0byBz
dGF0ZUNoYW5nZSA9IG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnRha2VMYXN0KCk7CiAgICAg
bV9jbGllbnQuaWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKHN0YXRlQ2hhbmdlLmZpcnN0LCBzdGF0
ZUNoYW5nZS5zZWNvbmQpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCkBA
IC0zMjAsNyArMzIwLDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291
cmNlc0J5TWlkKCkKICAgICBmb3IgKGludCBpID0gbV9taWRzLnNpemUoKSAtIDE7IGkgPj0gMDsg
LS1pKQogICAgICAgICBtX21pZHNPZlNvdXJjZXNUb1VubXV0ZS5hcHBlbmQobV9taWRzW2ldKTsK
IAotICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdW5tdXRlVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1
bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBv
aW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRNdXRlZChmYWxzZSk7
CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHkoKSkKLSAgICAgICAg
bV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5tdXRlVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291
cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2UuY3BwCmluZGV4IGVmOTcyNzZhNDQzNDJhYmM1Yzc1YWVhNGUzNjE3MTQ0MWI0Y2RjNmUu
LjY0YTM1YTZkMjdiY2U5NWM2NTliYzU5MWJlNTA5MDRiYTgxMzYwZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2Uu
Y3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0
UHJvZHVjaW5nRGF0YSgpCiAgICAgfQogCiAgICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMobHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKTsKKyAgICBtX3RpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoKGxyb3VuZCgxMDAwIC8g
ZnJhbWVSYXRlKCkpKSkpOwogfQogCiB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9w
UHJvZHVjaW5nRGF0YSgpCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3Vy
Y2UKIGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSBy
YXRlKQogewogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3Rh
cnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUp
KSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CiAKICAgICB1cGRhdGVTYW1wbGVCdWZmZXIoKTsK
ICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKaW5kZXggZjNiYzcx
YzBmNzMzZDI4MzNlYzM0ODVlODk0OTQ0OGQzOGRkM2YxMS4uMjdiZGFlMmI1Y2NlMmM4NDRiYjEz
ZGU3MGM5OTRhMzUwYzgzNmVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKQEAgLTY4
LDcgKzY4LDcgQEAgdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWsoUmVm
UHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmMKICAgICBjbGllbnQoKS0+Ym91bmRh
cnlFdmVudE9jY3VycmVkKCptX3V0dGVyYW5jZSwgU3BlZWNoU2VudGVuY2VCb3VuZGFyeSwgbV91
dHRlcmFuY2UtPnRleHQoKS5sZW5ndGgoKSk7CiAKICAgICAvLyBHaXZlIHRoZSBmYWtlIHNwZWVj
aCBqb2Igc29tZSB0aW1lIHNvIHRoYXQgcGF1c2UgYW5kIG90aGVyIGZ1bmN0aW9ucyBoYXZlIHRp
bWUgdG8gYmUgY2FsbGVkLgotICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hv
dCguMSk7CisgICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MC4xKSk7CiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OmNhbmNlbCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNl
ZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9j
ay5oCmluZGV4IGRlMGU4YTlmZDY1OTZiMmUyYWI3MzcwMzA0N2RlNWVkMzdmZmVjYWMuLjA2NmQ2
ZTMzNTIzZGQ0MjJiZTlhNDNhZGExMDk0ZTliYzZhMTkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCkBAIC02Myw3ICs2Myw3
IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3RpbWVyKCp0aGlzLCAmVGltZXJFdmVudDo6dGltZXJG
aXJlZCkKICAgICAgICAgLCBtX25vdGlmaWVyKG5vdGlmaWVyKQogICAgIHsKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMC41KTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwLjUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRl
eCA1ODc3M2FhMzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi45NjIzMGZlMTc0NDky
MTNmNjI0MGExOGVhZTg3M2M2NjY1OWFjNTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRp
YXRlbHkgPSA0OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25n
IGJlZm9yZSBzZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkg
PSBTZWNvbmRzKDEpOwogCiAvLyBTZW5kaW5nIG1hbnkgRE5TIHJlcXVlc3RzIGF0IG9uY2UgY2Fu
IG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBTZWUgPHJkYXI6Ly84MTA1NTUwPiBmb3Igc3BlY2lm
aWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0IHRocm90dGxpbmcuCiBzdGF0aWMgY29uc3QgaW50
IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBj
b25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsKIHN0YXRpYyBjb25zdCBpbnQg
Z01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0OwogCiAvLyBJZiB0aGVyZSB3ZXJlIHF1ZXVlZCBuYW1l
cyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2ltdWx0YW5lb3VzbHksIGNoZWNrIHRoZSBzdGF0ZSBv
ZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ1JldHJ5
UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgcmV0cnlSZXNv
bHZpbmdEZWxheSA9IFNlY29uZHMoMC4xKTsKIAogRE5TUmVzb2x2ZVF1ZXVlJiBETlNSZXNvbHZl
UXVldWU6OnNpbmdsZXRvbigpCiB7CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBETlNSZXNvbHZl
UXVldWU6OmFkZChjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQogICAgIGlmIChtX25hbWVzLnNpemUo
KSA8IGdNYXhSZXF1ZXN0c1RvUXVldWUpIHsKICAgICAgICAgbV9uYW1lcy5hZGQoaG9zdG5hbWUp
OwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KGNvYWxlc2NlRGVsYXkpOwogICAgIH0KIH0KIApAQCAtMTIyLDcgKzEy
Miw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKCkKICAgICB9CiAKICAgICBp
ZiAoIW1fbmFtZXMuaXNFbXB0eSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnUmV0
cnlSZXNvbHZpbmdJblNlY29uZHMpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChyZXRy
eVJlc29sdmluZ0RlbGF5KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAppbmRleCBh
YmZiNDZjZWNmODIxNDNiOWZmYWNkMDFiZTU3ODZhNTNhMDA4ZWMwLi4zMzBjNmRiNGVmYmIzN2Ey
ZmMxZjg0Nzk4YzQzZmU4YTlkNTljYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcApAQCAtNzksNyArNzksNyBAQCBwcml2YXRl
OgogICAgICAgICByZWYoKTsKIAogICAgICAgICBhdXRvIHNjaGVkdWxlZFBhaXJzID0gbV9kZWNv
ZGVUYXNrLT5zY2hlZHVsZUNvbnRleHQuc2NoZWR1bGVkUGFpcnM7Ci0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICAgICAgICAgbV90aW1lci5zY2hlZHVsZShzY2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYy
YmY5NjAwNjNlNzAzZjhjM2YwYjhkMDExZjJiYjljYjFiZDEuLjNmZjAwZjJiMTJmMDY3MjAyZWIy
YzMzNTU4YThjYjEwOWZlYjUxNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJ
ZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5k
IGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBp
biBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAg
ICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyg2MDAwMCkpOwogICAgIH0K
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5jcHAKaW5kZXggNDc3M2RlZDdmNGUxZTc4NDE5Zjg0ZmY0NjE4YTVkOWY1YjVm
YTZlOS4uYTAxNDM3Y2I0ODk4YzAwNTc3NmZhMzcyYWFhNzNmZTk0ZTQxNmE1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKQEAg
LTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IFJlc291cmNlSGFuZGxlOjpj
cmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0CiB2b2lkIFJlc291cmNlSGFu
ZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKIHsKICAgICBkLT5tX3NjaGVk
dWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCgpCkBAIC0yNTgsNyAr
MjU4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVy
cykKICAgICAgICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0b3AoKTsKICAgICB9IGVsc2UgaWYg
KGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKSB7CiAgICAgICAgIEFTU0VS
VCghZC0+bV9mYWlsdXJlVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIGQtPm1fZmFpbHVyZVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIHBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhk
ZWZlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
TmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCmluZGV4IDU1YWRlMjE4YzEzODg4
YzBjYzI2ZWJlY2I3OTI2M2RjYTcwMDkxNmQuLjJiNDExZWE2Yzg0ZGRjN2VjOTNjNTBiNjk4ZTM2
MGVkNTYyODJhMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKQEAgLTMxLDcgKzMx
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0YXRl
Q2hhbmdlVGltZXJJbnRlcnZhbCA9IDIuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlQ2hh
bmdlVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMik7CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZp
ZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlS
ZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQgYmUgZXhwZW5z
aXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAgIC8vIHdoZW4g
dGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hh
bmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CisgICAgbm90
aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlQ2hhbmdl
VGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6Om5ldHdvcmtT
dGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBmYzg3YjcwMzI5MjM4
NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi4zZWZiZTZlZWU4MDkzNGNiY2E2MWQ1YWU5MWEz
NTYxOWMwMjViZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVt
b3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQg
TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2luc3RhbGxlZCA9IHRy
dWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxDaGVja01lbW9yeVRp
bWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVhdGluZyg2MC4wKTsK
KyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoNjApKTsKIH0KIAog
dm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggNGVjZDg1
YTYxMWQzNDJhNzkzYmMyMmJiZGNkY2Y3MTA0ZmYyYTliYS4uYzhlZTAxYWJkYWM5ODZkNThiOGYw
MzIwZjdmMjZmODU3NmJmOGJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0aW9uQ3V0b2ZmID0g
ODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRocmVzaG9s
ZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvd1F1YWxpdHlUaW1l
VGhyZXNob2xkID0gU2Vjb25kcygwLjUwMCk7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6Oklt
YWdlUXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6
IG1fcmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVh
bGl0eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2b2lkIElt
YWdlUXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFy
dE9uZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIE9wdGlvbmFsPEludGVycG9sYXRp
b25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZy
b21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDYzYTVhNjkwYWMxMGFi
MWY1YzliNGRlYzQ3ZWNlYWM1YTAwNWY2M2UuLjlmY2FiZWU5ZDUzMGViYjJjNWQ1ZDE3Y2Y5YTg5
OGY4YTU5NjgyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSArOTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBj
YW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRp
ZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxheSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMg
bWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29hbGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgog
I2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVz
aEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZs
dXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNo
SW5pdGlhbERlbGF5ID0gU2Vjb25kcygwLjUpOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0
bGVkTGF5ZXJGbHVzaERlbGF5ID0gU2Vjb25kcygxLjUpOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBk
b3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0
IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSBTZWNvbmRzKDAuNSk7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSBTZWNvbmRzKDAuNSk7
CiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTYzNCw3ICs2MzQsNyBA
QCBSZW5kZXJMYXllckNvbXBvc2l0b3IqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5jbG9zaW5n
Q29tcG9zaXRvckZsdXNoaW5nTGF5ZXJzKAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNj
aGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZUNvbXBv
c2l0aW5nTGF5ZXJzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVDb21wb3NpdGlu
Z0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVDb21wb3NpdGlu
Z0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZj
ZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uYjc0MDk3Y2YyMWUxYTgyMjVhNmFlZDhmZDlh
M2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6c3RhcnQoKQogICAg
ICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0
aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKIH0KIAogdm9pZCBSZW5kZXJNYXJxdWVlOjpz
dXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1h
cnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0gbWFycXVlZVNwZWVkKCkpIHsKICAgICAg
ICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEp
OworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlz
ZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAgCiAgICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291
bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3RvcC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKaW5kZXggNDc1MDZhY2QzM2I3MDc0
MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uZGVlMmIyZjEwYWNmMjcyZDZjYjY1ZjFiYmViOTlm
NjhhNWVhZDJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1MzAsNyBAQCB2b2lkIFJlbmRlck5hbWVkRmxv
d1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRJZk5lZWRlZCgpCiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFuZ2VSZWdpb25PdmVyc2V0KGRvY3VtZW50
KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAoIW1fcmVnaW9uT3ZlcnNldENoYW5nZUV2
ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3coKS5oYXNFdmVudExpc3RlbmVycygpKQot
ICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UHJvZ3Jlc3MuY3BwCmluZGV4IDlhMWYyNDBmYTVmOWFmZjg3MDFjMTM0OGNjYzU3ZDM2YWIzZTBi
ODQuLjUxYTMwOGZiYTM3MGM0Nzk4OWM4YzVjZWFlMGIwODc3NDJjOWM3Y2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODUsNyArODUsNyBAQCB2
b2lkIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKICAgICByZXBhaW50
KCk7CiAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV9hbmltYXRpbmcp
Ci0gICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0
SW50ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBSZW5kZXJQcm9ncmVzczo6
dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQgUmVuZGVyUHJv
Z3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGlu
ZzsKICAgICBpZiAobV9hbmltYXRpbmcpIHsKICAgICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9hbmltYXRpb25UaW1l
ci5zdGFydE9uZVNob3QobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5p
bWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZh
bCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKaW5kZXgg
ZWQ0OWJlZGNiZGI2MTVkMGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFiZDgyM2FhYTAxNDY1
NmIxMWFiNmQyNjE5ZGQxNmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAgcHVibGljOgogCiAg
ICAgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9s
bGJhciYgc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBTY3JvbGxi
YXJQYXJ0IHByZXNzZWRQYXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhl
bWUoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwgcHJlc3NlZFBhcnQp
OyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUg
eyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9Cisg
ICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVy
biBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsg
fQorICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBT
Y3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAKICAgICB2
b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIp
OyB9CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBv
dmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJlZ2lzdGVyU2Nyb2xs
YmFyKHNjcm9sbGJhcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApp
bmRleCBjZTE1NmVjOGY5OGY5MGM2ODFlNzA2YjU4ODgyNWM0Y2JiZGJmNDg1Li45MjE4ZDVjYjVh
NzgxZmI4NTdjN2Y0OGE5MjUyOWRkZWJiMWI1M2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1l
cjo6U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2Vj
dXJlVGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFj
dGVyKQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRl
ckxhc3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5mcmFtZSgp
LnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7CisgICAgc3RhcnRP
bmVTaG90KG1fcmVuZGVyZXIuZnJhbWUoKS5zZXR0aW5ncygpLnBhc3N3b3JkRWNob0R1cmF0aW9u
KCkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4dFRpbWVyOjp0YWtlT2Zmc2V0QWZ0
ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aAppbmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAxMzhjZWY0MGVjODI4ZjljMmJlLi5iMTNlYTU1
ODJiNzYwMDgxNmQ2YTY1ZjQ5NDZlYmFkN2VmOTY3ZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNjcm9sbFR5cGVz
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNzUs
NyArMTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ29s
b3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwo
KSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0lu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gU2Vjb25kcygwLjUpOyB9CiAKICAgICAvLyBTeXN0ZW0g
Zm9udHMgYW5kIGNvbG9ycyBmb3IgQ1NTLgogICAgIHZvaWQgc3lzdGVtRm9udChDU1NWYWx1ZUlE
LCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJikgY29uc3Q7CkBAIC0yMDQsOCArMjA1LDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sU3RhdHVzRGlzcGxheSgpIHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xWb2x1bWVT
bGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0
aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGRv
dWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjE7IH0KLSAgICB2
aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4z
OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsg
cmV0dXJuIFNlY29uZHMoMC4xKTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRpYUNvbnRyb2xz
RmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gU2Vjb25kcygwLjMpOyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRU
aW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVk
aWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9u
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCA4MTMw
ZDJlODIwNmIwYzA0MTZkZGQ5YWYxYmU0MWQ0MjY0MTViM2MxLi5mOTg0NzA2ZDFlNjU2OTMyMjhl
YjZmMDQxY2NjN2FiNTkxNjAxMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlS
ZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2V0UmVuZGVyQm94TmVl
ZHNMYXp5UmVwYWludCh0cnVlKTsKICAgICBtX3JlbmRlcmVyc05lZWRpbmdMYXp5UmVwYWludC5h
ZGQoJnJlbmRlcmVyKTsKICAgICBpZiAoIW1fbGF6eVJlcGFpbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xh
enlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJlbmRl
clZpZXc6OnVuc2NoZWR1bGVMYXp5UmVwYWludChSZW5kZXJCb3gmIHJlbmRlcmVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKaW5kZXggOTk2NDli
ZmUyOTAzNjY3NmFkNDk2OGEzNmRmMWY1YzNjNjJlMGVkOS4uNWI0MzQ5ZmE5MzRmMzJiNDEwOTVk
NWEwZjg0NDk2OTE0Zjg3ZjUyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0Nh
cHR1cmluZ0lucHV0Q3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVy
aW5nSW5wdXRDdXJzb3IuY3BwCkBAIC01OCwxMSArNTgsOCBAQCB2b2lkIENhcHR1cmluZ0lucHV0
Q3Vyc29yOjpzdG9yZUlucHV0KHN0ZDo6dW5pcXVlX3B0cjxOb25kZXRlcm1pbmlzdGljSW5wdXRC
YXNlPgogewogICAgIEFTU0VSVF9BUkcoaW5wdXQsIGlucHV0KTsKIAotICAgIGlmIChpbnB1dC0+
cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dCkgewotICAgICAgICAvLyBGSVhN
RTogcmV3cml0ZSB0aGlzIChhbmQgcmVsYXRlZCBkaXNwYXRjaCBjb2RlKSB0byB1c2Ugc3RkOjpj
aHJvbm8uCi0gICAgICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKLSAgICAgICAgbV9zZWdtZW50LT5ldmVudExvb3BUaW1pbmdzKCkuYXBwZW5kKG5vdyk7Ci0g
ICAgfQorICAgIGlmIChpbnB1dC0+cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1
dCkKKyAgICAgICAgbV9zZWdtZW50LT5ldmVudExvb3BUaW1pbmdzKCkuYXBwZW5kKE1vbm90b25p
Y1RpbWU6Om5vdygpKTsKIAogICAgIG1fc2VnbWVudC0+c3RvcmFnZSgpLnN0b3JlKFdURk1vdmUo
aW5wdXQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0
RGlzcGF0Y2hlci5jcHAKaW5kZXggNTEwMjkzZmMxNmM2NGFjOWI1ZmI1MWU3Yjk4ZDA5MGQ4YjUx
MzY2Ny4uNjJkZjUxZGQ0YWIyOTAwZmQ1YTg1NDhmOGJhMzE0ZGJlMGFhODBiZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKQEAg
LTUxLDggKzUxLDYgQEAgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpFdmVudExvb3BJbnB1dERp
c3BhdGNoZXIoUGFnZSYgcGFnZSwgUmVwbGF5aW5nSW5wdXRDdXIKICAgICAsIG1fdGltZXIoKnRo
aXMsICZFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnRpbWVyRmlyZWQpCiAgICAgLCBtX3NwZWVk
KERpc3BhdGNoU3BlZWQ6OkZhc3RGb3J3YXJkKQogewotICAgIG1fY3VycmVudFdvcmsuaW5wdXQg
PSBudWxscHRyOwotICAgIG1fY3VycmVudFdvcmsudGltZXN0YW1wID0gMC4wOwogfQogCiB2b2lk
IEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6cnVuKCkKQEAgLTkxLDcgKzg5LDcgQEAgdm9pZCBF
dmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICBpZiAobV90
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0b3AoKTsKIAotICAgIGRvdWJsZSB3
YWl0SW50ZXJ2YWwgPSAwOworICAgIFNlY29uZHMgd2FpdEludGVydmFsOwogCiAgICAgaWYgKG1f
c3BlZWQgPT0gRGlzcGF0Y2hTcGVlZDo6UmVhbFRpbWUpIHsKICAgICAgICAgLy8gVGhlIGdvYWwg
aXMgdG8gcmVwcm9kdWNlIHRoZSBkaXNwYXRjaCBkZWxheSBiZXR3ZWVuIGlucHV0cyBhcyBpdCB3
YXMKQEAgLTEwMiwyMiArMTAwLDIyIEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpk
aXNwYXRjaElucHV0U29vbigpCiAgICAgICAgIGlmICghbV9wcmV2aW91c0lucHV0VGltZXN0YW1w
KQogICAgICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50
aW1lc3RhbXA7CiAKLSAgICAgICAgZG91YmxlIHRhcmdldEludGVydmFsID0gbV9jdXJyZW50V29y
ay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXA7Ci0gICAgICAgIGRvdWJsZSBl
bGFwc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3ByZXZpb3VzRGlzcGF0
Y2hTdGFydFRpbWU7CisgICAgICAgIFNlY29uZHMgdGFyZ2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRX
b3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsKKyAgICAgICAgU2Vjb25k
cyBlbGFwc2VkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFy
dFRpbWU7CiAgICAgICAgIHdhaXRJbnRlcnZhbCA9IHRhcmdldEludGVydmFsIC0gZWxhcHNlZDsK
ICAgICB9CiAKICAgICAvLyBBIG5lZ2F0aXZlIHdhaXQgdGltZSBtZWFucyB0aGF0IGRpc3BhdGNo
IHRvb2sgbG9uZ2VyIG9uIHJlcGxheSB0aGFuIG9uCiAgICAgLy8gY2FwdHVyZS4gSW4gdGhpcyBj
YXNlLCBwcm9jZWVkIHdpdGhvdXQgd2FpdGluZyBhdCBhbGwuCi0gICAgaWYgKHdhaXRJbnRlcnZh
bCA8IDApCi0gICAgICAgIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgaWYgKHdhaXRJbnRlcnZhbCA8
IFNlY29uZHMoMCkpCisgICAgICAgIHdhaXRJbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAKLSAgICBp
ZiAod2FpdEludGVydmFsID4gMTAwMC4wKSB7CisgICAgaWYgKHdhaXRJbnRlcnZhbCA+IFNlY29u
ZHMoMTAwMCkpIHsKICAgICAgICAgTE9HX0VSUk9SKCIlLTIwcyBUcmllZCB0byB3YWl0IGZvciBv
dmVyIDEwMDAgc2Vjb25kcyBiZWZvcmUgZGlzcGF0Y2hpbmcgbmV4dCBldmVudCBsb29wIGlucHV0
OyB0aGlzIGlzIHByb2JhYmx5IGEgYnVnLiIsICJSZXBsYXlFdmVudHMiKTsKLSAgICAgICAgd2Fp
dEludGVydmFsID0gMDsKKyAgICAgICAgd2FpdEludGVydmFsID0gU2Vjb25kcygwKTsKICAgICB9
CiAKLSAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2
ZW50cyIsIHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBz
IChXQUlUOiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRzKHdhaXRJbnRlcnZhbCAq
IDEwMDAuMCkubWlsbGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJ
bnRlcnZhbCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlz
cGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rpc3BhdGNoaW5nKTsKIAog
ICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7Ci0gICAgICAgIG1f
cHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OworICAgICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50
aW1lc3RhbXA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1ZTRjM2Y5YTUyMzIzNWIw
Yzc5NWYzNC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFiNmI0NDBkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAt
MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0LmgiCiAjaW5jbHVkZSAiUmVw
bGF5aW5nSW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9N
b25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAgcHJpdmF0ZToKIAogICAg
IERpc3BhdGNoU3BlZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBhdCB3aGljaCB0aGUgbGFz
dCBpbnB1dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAgIGRvdWJsZSBtX3ByZXZp
b3VzRGlzcGF0Y2hTdGFydFRpbWUgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3Vz
RGlzcGF0Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhl
IGxhc3QgZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0
YW1wIHswLjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2RjMDQ0NmVlNDAwOGI4MWIz
OWJmNmM0YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJlMDA4NDg5ZTMxZjM5MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBA
IC00Nyw4ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVwbGF5U2Vzc2lvblNl
Z21lbnQ6OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2Vn
bWVudCgpCiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0
b3JhZ2U+KCkpCisgICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAs
IG1faWRlbnRpZmllcihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQotICAgICwgbV90aW1lc3Rh
bXAoY3VycmVudFRpbWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBs
YXlTZXNzaW9uU2VnbWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0NjMyOTk3Y2ExOWY5NDhk
ZTIzYTJkOWMuLmY3Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1MzM2NDU3ZDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCkBAIC0zMCw2ICsz
MCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIwICs1MiwyMSBAQCBwdWJs
aWM6CiAgICAgflJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlm
aWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgZG91YmxlIHRpbWVzdGFt
cCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9ub3RvbmljVGltZSB0aW1l
c3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAg
U2VnbWVudGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQot
ICAgIFZlY3Rvcjxkb3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVu
dExvb3BUaW1pbmdzOyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+JiBldmVudExvb3BU
aW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHByaXZhdGU6CiAgICAg
UmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTZWdtZW50ZWRJ
bnB1dFN0b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9v
cFRpbWluZ3M7CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1fZXZlbnRMb29wVGltaW5n
czsKIAorICAgIE1vbm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAgdW5zaWduZWQgbV9pZGVu
dGlmaWVyOwogICAgIGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAgICBkb3VibGUgbV90aW1l
c3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
cGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQyMGM4ZmFkNDRkZTUzYmMw
MTUyZGJlOTc2YmRkNmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVlYzIzNzdlMGRjNzc5NTFi
YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCkBA
IC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDxyZXBs
YXkvSW5wdXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsOCArNDIsOCBA
QCBjbGFzcyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKIHN0cnVjdCBFdmVu
dExvb3BJbnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0gICAgZG91
YmxlIHRpbWVzdGFtcDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0IHsgbnVsbHB0ciB9
OworICAgIE1vbm90b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xhc3MgUmVwbGF5aW5nSW5w
dXRDdXJzb3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVNjb3BlLmNwcAppbmRleCBiMGJiYTRlZTJjNjZmOTY3OGIxYzkwMDUwN2Y1MThhMDczMGU2OWQ0
Li4xYTg4ZDg5Y2E0N2U5ODMxMjAyMjQyYTM1N2MxMDAyZWNkYzNjMjE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZVNjb3BlLmNwcApAQCAtNTEzLDcgKzUxMyw3IEBAIHZvaWQgU2NvcGU6OnNjaGVk
dWxlVXBkYXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1fcGVuZGluZ1VwZGF0ZVRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BlbmRpbmdVcGRhdGVUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VBY3RpdmVTdHlsZVNoZWV0
Q2FuZGlkYXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5kZXggYjJjYjNiMzNjYWMx
YjcyYjZhZGQyNDI0YzNhYjRhMjBhYTIwNTZjNy4uMTc0ZDYxZWM0MGEzMzI5ZWNkMTFhMGNkNTZh
NTk1OGM3MzcyMzk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNjIxLDcgKzYy
MSw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBz
ZW5kUGFyZW50TG9hZEV2ZW50cykKIAogdm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50
SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KCkKIHsKLSAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5z
dGFydE9uZVNob3QoMCk7CisgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRh
aW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVy
LmNwcAppbmRleCBjYmYzYjdiYTU4NDg1MDc3MzdlOTc1Y2RkMGE4MTkyZDMzNWZiZjUwLi43NTNl
NDAxNGJjYzIxMmNiMzA4ZDhkNjY3Y2ZmZWJmZDEzYzQ0NWE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcApAQCAtMjA1LDcgKzIw
NSw3IEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIoU01JTFRpbWUgZWxhcHNl
ZCwgU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lCiAgICAgICAgIHJldHVybjsKIAogICAgIFNN
SUxUaW1lIGRlbGF5ID0gc3RkOjptYXgoZmlyZVRpbWUgLSBlbGFwc2VkLCBtaW5pbXVtRGVsYXkp
OwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5LnZhbHVlKCkpOworICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoZGVsYXkudmFsdWUoKSkpOwogfQogCiB2b2lkIFNNSUxUaW1l
Q29udGFpbmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuY3BwCmluZGV4IDYxMWM5MmI4ZmIzNDUxY2ZjNmNmOTZjOGVkMzdlNzg1YTMyZDk3
ZjguLjU0M2MzZjRkYWRlODk1MzhkOGI3NjI1MGM4YWU1OGQ1MmVmNmJmN2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtNTM2LDcgKzUzNiw3IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1lckludGVy
dmFsKGRvdWJsZSBpbnRlcnZhbEluU2VjCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNl
dE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWxJblNlY29uZHMgKiAxMDAwKSkpOwor
ICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZh
bEluU2Vjb25kcykpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTU2MCw3ICs1NjAsNyBAQCBF
eGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92
ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRU
aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh0aW1lKTsKKyAgICBz
ZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KFNlY29uZHModGltZSkpOwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNWE0ZjZlNGRhZDQ4NWNiNWFmMzEyN2RlZjgw
NzhkYzc3NjFjMTk0MC4uODQ1OThhMmE1YjA0ZDI2OTEyNDI2YTkwZTUzM2NiOTFjMTc4MWVhNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTE0Myw3ICsx
NDMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fbGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNv
bnRyb2xVSUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9pbWFnZXNFbmFibGVkOwogICAgICAgICBi
b29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7Ci0gICAgICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKKyAgICAgICAgU2Vjb25kcyBtX21pbmlt
dW1UaW1lckludGVydmFsOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICAgICAgYm9vbCBt
X3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7CiAgICAgICAgIGJvb2wgbV9zaG91bGREaXNwbGF5Q2Fw
dGlvbnM7CkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgICAgICBTdHJp
bmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAgIGJvb2wgbV9mb3JjZVBlbmRpbmdX
ZWJHTFBvbGljeTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNlY29uZHMgbV9vcmlnaW5hbFRpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1f
dXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBt
X2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1Rp
bWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3
NWM0YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyAr
MTg3LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAK
IGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1
bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6
aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
KHRpbWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdU
Rk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7
CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElk
KQpAQCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91
dChpbnQgdGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0
ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0g
ICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGlt
ZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVh
ckludGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cAppbmRleCA1MDlhOWE5Y2Q3MTBiNDViZmMwY2I5ZWU5MWEyMmYxMzdjZjY4YjdhLi4xNDkyNDA2
MGFjZmEyNjVjZWYyZmM3NWYxMTI2NmNjNmQ5NjhhMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxI
dHRwUmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4g
eyB9OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZh
dWx0IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0
IHdpdGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0
aW9uPGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1l
b3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6
OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGlt
ZW91dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsK
KyAgICBTZWNvbmRzIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVv
dXRNaWxsaXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFy
dE9uZVNob3Qoc3RkOjptYXgoU2Vjb25kcygwKSwgaW50ZXJ2YWwpKTsKICAgICByZXR1cm4geyB9
OwogfQogCkBAIC00OTYsNyArNDk2LDcgQEAgT3B0aW9uYWw8RXhjZXB0aW9uT3I8dm9pZD4+IFhN
TEh0dHBSZXF1ZXN0OjpwcmVwYXJlVG9TZW5kKCkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b25Pcjx2b2lkPiB7IEV4Y2VwdGlvbiB7IE5FVFdPUktfRVJSIH0gfTsKICAgICAgICAgc2V0UGVu
ZGluZ0FjdGl2aXR5KHRoaXMpOwogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7Ci0gICAg
ICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX25ldHdv
cmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbk9yPHZvaWQ+IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICBy
ZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjAp
OwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFs
KHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBt
X3NlbmRpbmdUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAg
ICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUg
PSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykp
OwogICAgICAgICB9CiAgICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVx
dWVzdDo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5k
RmxhZyA9IGZhbHNlOwogICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAg
IG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXhjZXB0aW9uQ29kZSA9
IE5FVFdPUktfRVJSOwpAQCAtMTE4Myw3ICsxMTgzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6
cmVzdW1lKCkKICAgICAvLyBXZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkg
SlMgaW4gcmVzdW1lKCkgc28gZGlzcGF0Y2gKICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgaW4gYSB0
aW1lci4KICAgICBpZiAobV9kaXNwYXRjaEVycm9yT25SZXN1bWluZyAmJiAhbV9yZXN1bWVUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQg
WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuaAppbmRleCBhZjY1MGZlNzkzZDljOGRiNTgwODU5OTI4MWJkZjgwMGJlNTNiNzQ5Li40
NTIyMTc5YmIwZmE1MTA1ZjRjOTQ1YjM1YTI3M2ZjYzcyY2Q3ZWU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuaApAQCAtMjMwLDcgKzIzMCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBu
ZXR3b3JrRXJyb3JUaW1lckZpcmVkKCk7CiAKICAgICB1bnNpZ25lZCBtX3RpbWVvdXRNaWxsaXNl
Y29uZHMgeyAwIH07Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBt
X3NlbmRpbmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9zZW5kaW5nVGltZTsKICAgICBUaW1l
ciBtX3RpbWVvdXRUaW1lcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCmluZGV4IDM2NjYyNjU2
YjUxYmY4YzllOWYyMjViY2IwNjc2ZTYwZjQ2MzA4NzMuLjhhNzFlYzAwYWM4OTY5ZGIxYzVlOTRj
MGQxMGViYmUxY2M5NDE3MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcApAQCAtMzMsNyArMzMsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVy
dmFsSW5TZWNvbmRzID0gLjA1OyAvLyA1MCBtcyBwZXIgc3BlY2lmaWNhdGlvbi4KK2NvbnN0IFNl
Y29uZHMgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVz
c0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCA9IFNlY29uZHMoMC4wNSk7IC8vIDUwIG1zIHBlciBz
cGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAg
ICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTczLDEyICs3MywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQo
Ym9vbCBsZQogICAgICAgICBBU1NFUlQoIW1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAK
ICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0
b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3Bh
dGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVt
UHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwpOwogICAgICAgICBtX2hhc1Rocm90dGxl
ZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8v
IFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3Bh
dGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMgdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgorICAg
IC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERp
c3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgogICAgIG1faGFz
VGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRydWU7CiB9CiAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2
b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpyZXN1bWUoKQogICAgIC8v
IHRoZSBsaXN0IG9mIGFjdGl2ZSBET00gb2JqZWN0cyB0byByZXN1bWUgdGhlbSwgYW5kIGFueSBh
Y3RpdmF0ZWQgSlMgZXZlbnQtaGFuZGxlcgogICAgIC8vIGNvdWxkIGluc2VydCBuZXcgYWN0aXZl
IERPTSBvYmplY3RzIHRvIHRoZSBsaXN0LgogICAgIC8vIG1fZGVmZXJFdmVudHMgaXMga2VwdCB0
cnVlIHVudGlsIGFsbCBkZWZlcnJlZCBldmVudHMgaGF2ZSBiZWVuIGRpc3BhdGNoZWQuCi0gICAg
bV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlz
cGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAppbmRleCA5NzFiZDIzNDJjMDU2
YjExNThiNDAxOWZiMmIzYWEyNTAzNDg0YThkLi4zNDBmYjVjMDBkMTczZmI2MTYxYTc0ZTQxNWEw
MTJiYWVmYjRmNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZXN1bWUoKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0aWMgY29uc3QgZG91Ymxl
IG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kczsKKyAgICBz
dGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2
YWw7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKTsKICAgICB2b2lkIGRpc3BhdGNoRGVmZXJy
ZWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKaW5k
ZXggYWMwZGNjMTI1Njk0ZGFkNGM0YjkyMjg3YTAzMWVmYTA5MzU0ZWExOS4uYWZmOTViYmEzNWVk
YzM5Njk3Y2IwZTk5ZGUwN2YyNWI0NzhmMDkyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
dG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAK
IC8vIElmIHRoZSBTdG9yYWdlQXJlYSB1bmRlcmdvZXMgcmFwaWQgY2hhbmdlcywgZG9uJ3Qgc3lu
YyBlYWNoIGNoYW5nZSB0byBkaXNrLgogLy8gSW5zdGVhZCwgcXVldWUgdXAgYSBiYXRjaCBvZiBp
dGVtcyB0byBzeW5jIGFuZCBhY3R1YWxseSBkbyB0aGUgc3luYyBhdCB0aGUgZm9sbG93aW5nIGlu
dGVydmFsLgotc3RhdGljIGNvbnN0IGRvdWJsZSBTdG9yYWdlU3luY0ludGVydmFsID0gMS4wOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgc3RvcmFnZVN5bmNJbnRlcnZhbCA9IFNlY29uZHMoMSk7CiAK
IC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBzeW5j
IGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZlIHRo
ZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdlbmVy
YWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlSXRl
bUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUKIAogICAgIG1f
Y2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0
aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50
ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2Fs
bCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVy
RmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6
OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9pdGVt
c0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAg
ICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAg
ICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAogICAg
ICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1
ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlv
bi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbG9z
ZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsKICAgICAKICAgICBp
ZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRP
bmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9u
ZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICAvLyBUaGUgZm9s
bG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9u
IGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3ICsx
NzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgICAgICAv
LyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwgc2NoZWR1bGUgaXQg
YW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9maW5hbFN5bmNTY2hl
ZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7Ci0g
ICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7
CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZh
bCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3IEBA
IHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRpYWxT
eW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2luZywgdGhlbiB3ZSBu
ZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVy
LmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5
bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3lu
Y0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJh
bGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAg
ICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hlZHVs
ZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
U3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi45NWE5
NmEwM2RjMTViOGYxMmU3NmY1ODI2YjVhNDg5ODBmZTEzOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIFN0b3JhZ2VU
cmFja2VyKiBzdG9yYWdlVHJhY2tlciA9IG51bGxwdHI7CiAKIC8vIElmIHRoZXJlIGlzIG5vIGRv
Y3VtZW50IHJlZmVyZW5jaW5nIGEgc3RvcmFnZSBkYXRhYmFzZSwgY2xvc2UgdGhlIHVuZGVybHlp
bmcgZGF0YWJhc2UKIC8vIGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fU3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsIHNlY29uZHMuCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRTdG9y
YWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZh
dWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gU2Vjb25kcygzMDApOwogICAgIAogdm9p
ZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdl
UGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNsaWVudCkKIHsKQEAgLTk3LDcgKzk3LDcgQEAg
U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgp
CiAgICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+KCkpCiAgICAg
LCBtX2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9uZWVkc0luaXRpYWxpemF0aW9uKGZhbHNlKQot
ICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRlZmF1
bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdl
L1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3ZjU5NGU4ZmEz
YmRhY2E4OC4uNzI2ZjMyNTFiMWQxZWVmNmMxYWFmMTEyNjFjMGQyOTk3YjU5MTRkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNl
L1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKQEAgLTU5LDggKzU5LDggQEAgcHVibGlj
OgogICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAotICAgIGRvdWJsZSBzdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsg
fQotICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBpbnRlcnZh
bCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vj
b25kcyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX3N0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBp
bnRlcnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJEYXRhYmFzZSgp
OwogCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIG1faXNBY3Rp
dmU7CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6YXRpb247Ci0gICAgZG91YmxlIG1fU3RvcmFn
ZURhdGFiYXNlSWRsZUludGVydmFsOworICAgIFNlY29uZHMgbV9zdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCmluZGV4IDExYmNlM2JlZTBlMGJhMWQ3MDJmNzJjNjY0NTNjYzJhMmJkZWI3ZjYuLjUzNzIx
ZTQ4OTFkMzRhMjJlNjYxY2QzZjkzNDE2YmEyYzUyNDIxOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAK
QEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVzdW1l
UGVuZGluZ1JlcXVlc3RzKCkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVs
ZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCkKIHsKICAgICBpZiAoIW1fcmVxdWVzdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlJl
c291cmNlTG9hZFNjaGVkdWxlcjo6cmVxdWVzdFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0
YW5jZVByb3h5Lm1tCmluZGV4IDM2ZGJiZWM2MjRlZWIwNTRmMDYyYTAyODQxMDAyOWJmMDhlNDI5
ZDkuLmUwZDc4OTRmMzQ0NTNhZGYzYWM5MzczMGZkNDhjM2VlNWQ2ZDc2ZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTc0NCw3ICs3NDQsNyBAQCB2b2lkIE5ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQoKQogICAgIG1fcGx1Z2luUmVxdWVz
dHMucmVtb3ZlRmlyc3QoKTsKICAgICAKICAgICBpZiAoIW1fcGx1Z2luUmVxdWVzdHMuaXNFbXB0
eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
cmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAKICAgICBwZXJmb3Jt
UmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBAQCBOUEVycm9yIE5l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxSZXF1ZXN0ICpyZXF1
ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9IFBsdWdpblJlcXVl
c3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQb3B1cHMpOwogICAg
ICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJlcXVlc3QpKTsKLSAg
ICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RU
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgUmVm
UHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtPiBzdHJlYW0gPSBIb3N0ZWROZXRzY2FwZVBs
dWdpblN0cmVhbTo6Y3JlYXRlKHRoaXMsIHJlcXVlc3RJRCwgcmVxdWVzdCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCmlu
ZGV4IDA1Y2M0ZDQ3MmRhODYxMGEzNGJhNWJkYmVjOGExNjNlNGFkMzhiOTQuLmMxZDlhYzgzNDIx
MWE2MmJiZjBiMzI2MDdiM2RhODJjNmQ2YjU5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQpAQCAtNTI5LDcgKzUyOSw3
IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAg
aWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewogICAgICAgICAgICAgLy8gUGx1Zy1pbiBjYW4ndCBy
ZWNlaXZlIGFueW1vcmUgZGF0YSByaWdodCBub3cuIFNlbmQgaXQgbGF0ZXIuCiAgICAgICAgICAg
ICBpZiAoIW1fZGVsaXZlckRhdGFUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgICAgIG1f
ZGVsaXZlckRhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICAgICAgbV9kZWxp
dmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZGVsaXZlcnlCeXRlcyA9IHN0ZDo6bWlu
KGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVkKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KaW5k
ZXggZWVhYWJhODI0ODFlNzM5MGQzNjJlOGIzYTE0MmFlNTIyMDMyMjRhYi4uYjg2NGFiYjlkZTA0
YWRmOWU2ZjZhYjJiOWFiZDc4NTgwYWFiMWUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTExMSw3ICsxMTEsNyBAQCBz
dGF0aWMgV2ViTmV0c2NhcGVQbHVnaW5WaWV3ICpjdXJyZW50UGx1Z2luVmlldyA9IG5pbDsKIAog
dHlwZWRlZiBzdHJ1Y3QgT3BhcXVlUG9ydFN0YXRlKiBQb3J0U3RhdGU7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBUaHJvdHRsZWRUaW1lckludGVydmFsID0gMC4yNTsKIAogY2xhc3MgUGx1Z2luVGltZXIg
OiBwdWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0
aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBTZWNvbmRzIHRpbWVJ
bnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAgICAgICAg
IAogICAgICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6
Om1heCh0aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRj
YTVlNmZhZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUw
YjNhN2IwNWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJT
dG9yYWdlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3Jh
Z2VNYW5hZ2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgKyAoTlNTdHJpbmcgKilfc3RvcmFnZURp
cmVjdG9yeVBhdGgKIAogKyAodm9pZClzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6KGRv
dWJsZSlpbnRlcnZhbAogewotICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5z
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdlYktpdDo6U3Rv
cmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vj
b25kcyhpbnRlcnZhbCkpOwogfQogCiArICh2b2lkKWNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdGFi
YXNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDhlNDcxYjE2YjMyYTYy
OGZhNGU1ODRkYzhkYzVjOGM5OTA5YjdhNDMuLmY3NTA5ZDkxYmRhMzk0ODQ0MzAxZDFmM2RiZjc0
OTA4MWY4N2I4MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI3NDks
NyArMjc0OSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMg
KilwcmVmZXJlbmNlcwogICAgIHNldHRpbmdzLnNldFNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdp
bmRvd09uRXJyb3JFdmVudHMoc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2
ZW50cygpKTsKIAogICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0VuYWJsZWQoW3ByZWZlcmVu
Y2VzIF9hbGxvd1Bhc3N3b3JkRWNob10pOwotICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1
cmF0aW9uSW5TZWNvbmRzKFtwcmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRpb25dKTsKKyAg
ICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbihTZWNvbmRzKFtwcmVmZXJlbmNlcyBf
cGFzc3dvcmRFY2hvRHVyYXRpb25dKSk7CiAKICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKHNldHRp
bmdzLnBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucygpLCAiUGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5z
IHNob3VsZCBiZSBlbmFibGVkIG9uIGlPUy4iKTsKICAgICBzZXR0aW5ncy5zZXREZWxlZ2F0ZXNQ
YWdlU2NhbGluZyh0cnVlKTsKQEAgLTI4NjQsNyArMjg2NCw3IEBAIC0gKHZvaWQpX3ByZWZlcmVu
Y2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogCiAgICAgTlNUaW1lSW50
ZXJ2YWwgdGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNz
aW9uVGltZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVvdXQgPiAwKQotICAgICAgICBzZXR0
aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyh0
aW1lb3V0KTsKKyAgICAgICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVz
c2lvblRpbWVvdXQoU2Vjb25kcyh0aW1lb3V0KSk7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNo
ZSBQcmVmZXJlbmNlcyBhcmUgc3RvcmVkIG9uIHRoZSBnbG9iYWwgY2FjaGUgc3RvcmFnZSBtYW5h
Z2VyLCBub3QgaW4gU2V0dGluZ3MuCiAgICAgW1dlYkFwcGxpY2F0aW9uQ2FjaGUgc2V0RGVmYXVs
dE9yaWdpblF1b3RhOltwcmVmZXJlbmNlcyBhcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1
b3RhXV07CkBAIC04Mjk4LDcgKzgyOTgsNyBAQCArICh2b2lkKV9zZXRDYWNoZU1vZGVsOihXZWJD
YWNoZU1vZGVsKWNhY2hlTW9kZWwKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAw
OwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBj
YWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vjb25kcygwKTsKIAogICAgIHVuc2lnbmVk
IHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDI1LDcgKzg0MjUsNyBAQCArICh2b2lkKV9zZXRD
YWNoZU1vZGVsOihXZWJDYWNoZU1vZGVsKWNhY2hlTW9kZWwKICAgICAgICAgLy8gY2FuIHByb3Zl
IHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUgcmVncmVzc2lv
bi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heDx1bnNpZ25lZD4oMjQs
IGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vjb25kcyg2MCk7CiAKICNpZiBQTEFURk9STShJ
T1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJjMThkZWI3NWNjZDcwODI3YWZm
YWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLmY1MzAzZGYxYzJiZTE0MmZiMjI1NTUwYWYzNDhlYzM3NjEx
NTlmYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0aW1lckludGVydmFsID0gMC4w
MzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gU2Vjb25kcygwLjAzMyk7
CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50IHdpbmRvd0hlaWdodCA9IDU5OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5kZXggYjY3ZmE1M2Zl
ODBiMWVmOGMwMWFmZmM4NmRhNWQ3MTYzMTU1ZGQyNC4uYmNjMzUzYzc0YWNkODU1YmYzNjBmN2Nh
OTAxNjgyOTIyYmExMDQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5QYWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBh
Y2thZ2UuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJh
cnlTb29uKCkKICAgICBBU1NFUlQobV9tb2R1bGUpOwogICAgIEFTU0VSVCghbV9sb2FkQ291bnQp
OwogCi0gICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZyZWVM
aWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFBsdWdpblBh
Y2thZ2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblN0cmVhbS5jcHAKaW5kZXggMmVmMzk1NWJlNjFhOGQwNTQyNGFkMTM5OTYyZGQwZDdm
YTZhZTQ0NC4uOGIzMDJiNzYzM2MxNGEwNmZkNGFiN2MxYTk3ZjU4NDFiNGExNTNlZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcApAQCAtMzQ5LDcgKzM0OSw3
IEBAIHZvaWQgUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSgpCiAgICAgICAgIGludDMyX3QgZGVs
aXZlcnlCeXRlcyA9IG1fcGx1Z2luRnVuY3MtPndyaXRlcmVhZHkobV9pbnN0YW5jZSwgJm1fc3Ry
ZWFtKTsKIAogICAgICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7Ci0gICAgICAgICAgICBt
X2RlbGF5RGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX2RlbGF5
RGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVs
aXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggZGFkZDNiNzQ1ZjdmNGZiNzFmNWQz
YWE2ZjllZDA3OGM5YjgyNjAyOC4uMjhiZTIzMDdjMWUxYTQxNmI2MGQzNTViNWJiNzUyZDM3MjNm
YzdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC00NzMs
NyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgLy8g
U2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUgY2FsbGluZyBwZXJmb3JtUmVxdWVzdCBzaW5j
ZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1SZXF1ZXN0IGNhbiBjYXVzZSB0aGUgcGx1Z2lu
IHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAg
ICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHBlcmZvcm1SZXF1ZXN0KHJlcXVl
c3QuZ2V0KCkpOwogfQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2NoZWR1
bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5SZXF1ZXN0PiByZXF1ZXN0KQogICAgIG1f
cmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwogCiAgICAgaWYgKCFtX2lzSmF2YVNj
cmlwdFBhdXNlZCkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIE5QRXJy
b3IgUGx1Z2luVmlldzo6bG9hZChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRSZXF1
ZXN0LCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEpCkBAIC02NDYsNyAr
NjQ2LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpzZXRKYXZhU2NyaXB0UGF1c2VkKGJvb2wgcGF1c2Vk
KQogICAgIGlmIChtX2lzSmF2YVNjcmlwdFBhdXNlZCkKICAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RvcCgpOwogICAgIGVsc2UgaWYgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9y
ZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZlKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAppbmRleCAyZmNhOWYzYzk1ZDczZGJhM2Fj
MzI2MjU5ZWE4NmRkY2RkYTIwNzBmLi4wZmVjY2Y2NzQyYjc1MWUyMTNlMjNmMmJhZTU3YmVhNzFh
MjYxMmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdX
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAK
QEAgLTMzNCw3ICszMzQsNyBAQCBQbHVnaW5WaWV3Ojp3bmRQcm9jKEhXTkQgaFduZCwgVUlOVCBt
ZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogCiAgICAgICAgIHB1c2hQb3B1
cHNFbmFibGVkU3RhdGUodHJ1ZSk7CiAKLSAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKICAgICB9CiAKICAgICBpZiAobWVzc2FnZSA9PSBXTV9QUklOVENMSUVO
VCkgewpAQCAtODM4LDcgKzgzOCw3IEBAIHZvaWQgUGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlY3Qo
TlBSZWN0KiByZWN0KQogICAgICAgICBpZiAobV9wbHVnaW4tPnF1aXJrcygpLmNvbnRhaW5zKFBs
dWdpblF1aXJrVGhyb3R0bGVJbnZhbGlkYXRlKSkgewogICAgICAgICAgICAgbV9pbnZhbGlkUmVj
dHMuYXBwZW5kKHIpOwogICAgICAgICAgICAgaWYgKCFtX2ludmFsaWRhdGVUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwLjAw
MSk7CisgICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29u
ZHMoMC4wMDEpKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChy
KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9B
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1
NTcwZmVhZWM5ZGIzODY5NzA4YjVhYjdjN2E0YWQyMjI4Mi4uNjg3OGM0MjRkZjRlOGUwYzgzMjIx
MzQxYTk3NmZmNTQ2OWVmY2FkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNw
cApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZl
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hv
dCgwLjA1KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjA1
KSk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGlu
Z0xheWVyQ2hhbmdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGQ1NzAwNDhkYTdhMjY0MDZi
Y2FkMDZjMjVkZTg2OGZlNWFjYjJiMDMuLmEzOTZjMTFmMjhiYjQ3MTdiYjQ1NWYwZjFhNmUxN2Ux
MjI4YTg0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0xNTE2LDcgKzE1MTYsNyBAQCB2b2lk
IFdlYlZpZXc6OmNsb3NlV2luZG93U29vbigpCiAgICAgbV9jbG9zZVdpbmRvd1RpbWVyID0gV2lu
ZG93Q2xvc2VUaW1lcjo6Y3JlYXRlKHRoaXMpOwogICAgIGlmICghbV9jbG9zZVdpbmRvd1RpbWVy
KQogICAgICAgICByZXR1cm47Ci0gICAgbV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAK
ICAgICBBZGRSZWYoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtEYXRhVGFzay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrRGF0YVRhc2suY3BwCmluZGV4IDMxMjU4ODgzMzU1MGVhMWY4MjQ3YzM3YzlmZDM5N2U4
NWE4YzFkNDQuLmU1YzRiZDE2NzM3Nzg2OTlhMzhkNjZhZTY4Yjc5NjJhOWNhNzY5ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcApA
QCAtOTEsNyArOTEsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVGYWlsdXJlKEZh
aWx1cmVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKHR5cGUgIT0gTm9GYWlsdXJlKTsKICAgICBt
X3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVz
cG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25I
YW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3Bw
CmluZGV4IDUxN2Y4NDVhYWJlNTIzZjJlZmE5NjE4NGVlZjcyNTNhZTJjYTRkOWYuLmVmMjNmNzAw
MDVjZWY3ZTA4OGNmMmJjMGExMmMwZTBhMTg0ZjQ3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAjaWYgVVNFKE5FVFdPUktfU0VTU0lPTikKIAogc3RydWN0IE5ldHdv
cmtMb2FkOjpUaHJvdHRsZSB7Ci0gICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXksIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwg
UmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCisgICAgVGhyb3R0bGUoTmV0d29y
a0xvYWQmIGxvYWQsIFNlY29uZHMgZGVsYXksIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwg
UmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiAgICAgICAgIDogdGltZXIobG9h
ZCwgJk5ldHdvcmtMb2FkOjp0aHJvdHRsZURlbGF5Q29tcGxldGVkKQogICAgICAgICAsIHJlc3Bv
bnNlKFdURk1vdmUocmVzcG9uc2UpKQogICAgICAgICAsIHJlc3BvbnNlQ29tcGxldGlvbkhhbmRs
ZXIoV1RGTW92ZShoYW5kbGVyKSkKQEAgLTMxMSw4ICszMTEsOCBAQCB2b2lkIE5ldHdvcmtMb2Fk
OjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3JrU2Vzc2lvbihSZXNvdXJjZVJlc3BvbnNlJiYgcmVz
cG9uc2UsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIGRlbGF5ID0gTmV0d29y
a1Byb2Nlc3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsKLSAgICBpZiAoZGVs
YXkgPiAwbXMpIHsKKyAgICBTZWNvbmRzIGRlbGF5ID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRv
bigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsKKyAgICBpZiAoZGVsYXkgPiBTZWNvbmRzKDApKSB7
CiAgICAgICAgIG1fdGhyb3R0bGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFRocm90dGxlPigqdGhpcywg
ZGVsYXksIFdURk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaAppbmRleCBjOTZkMDgyOWUxNWI2ZDg4YmFlMTVjZjBjMTJjYzRjZDIz
OGYxMTNiLi44YzViN2E0ODg1ZmM0NDllZWFkZTA3NDRjZDlmYzYwMjVhY2U2MWE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTExNSw3
ICsxMTUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdyYW50U2FuZGJveEV4dGVuc2lvbnNUb0Rh
dGFiYXNlUHJvY2Vzc0ZvckJsb2JzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZ1
bmN0aW9uPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogCi0gICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2Fk
VGhyb3R0bGVMYXRlbmN5OyB9CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29u
c3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CiAKIHByaXZhdGU6CiAgICAgTmV0
d29ya1Byb2Nlc3MoKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9z
dXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2tD
YWNoZUlzRGlzYWJsZWRGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZl
clRydXN0RXZhbHVhdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbG9hZFRo
cm90dGxlTGF0ZW5jeTsKKyAgICBTZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAg
IHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQcm9j
ZXNzU3VwcGxlbWVudD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+PiBOZXR3b3JrUHJvY2Vzc1N1cHBs
ZW1lbnRNYXA7CiAgICAgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBmNDU2OWM5NDY5YTU3NzJlNjBi
MWM5YmZmNTYwODVkM2FjYjQzYzNkLi43MDk1MTUzMGUzMjlmYTFjNWYzZmY4ZTY3MmI5MzQzMDhj
NThmOGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTI4LDYgKzI4LDcg
QEAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2lu
Y2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApA
QCAtNzMsNyArNzQsNyBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
ewogICAgIGJvb2wgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9
OwogICAgIGJvb2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOwogICAgIGJvb2wgdXJs
UGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBs
b2FkVGhyb3R0bGVMYXRlbmN5IHsgMG1zIH07CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRl
bmN5OwogCiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Q
cm90b2NvbHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCmluZGV4IDQyNTVhZGU0MTE1MGRh
OTY5ZjIxMTE3NTEyZDdkZjZmN2Y3YzljNGEuLjViMjllMGViZDQzYTM4YmU1MmFlNjZkYzUyMTAz
MmVjMjA2NzBhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTAsNyArNTAsNyBA
QCBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBpZGVudGlmaWVyIHsgMCB9Owog
ICAgIFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IHJlcXVlc3RCb2R5U2FuZGJveEV4
dGVuc2lvbnM7IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBS
ZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOyAvLyBDcmVh
dGVkIGF1dG9tYXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZSB7IDBtcyB9OworICAgIFNlY29uZHMgbWF4aW11
bUJ1ZmZlcmluZ1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
CmluZGV4IDkwMTA1OTk2OGEzOTEzMDFkYTJhYzkyMzc0YjdmOTI0NWQ2OTRkZDYuLjZjMTdjZTVj
ZjU0ZTg2YjZhOWI2YTllNjc4MGMzMTk0ZDkwNWE4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjA5
LDcgKzIwOSw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2Fk
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIAogICAgIGNvbnN1bWVTYW5kYm94RXh0
ZW5zaW9ucygpOwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMubWF4
aW11bUJ1ZmZlcmluZ1RpbWUgPiAwbXMpCisgICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3Bh
cmFtZXRlcnMubWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiBTZWNvbmRzKDApKQogICAgICAgICBtX2J1
ZmZlcmVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAKICNpZiBFTkFCTEUoTkVUV09S
S19DQUNIRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdM
b2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCmluZGV4IDMw
MGMzMDgxMjRmMzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVjMjlkMTIuLjgxNjI2NTNiZDNmYjVmZjI2
MzZhM2UwOTFmYjdkYTdlNzQ4ZWU2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
UGluZ0xvYWQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhl
IHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3Jl
dmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2Fz
ZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAg
bV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoNjAwMDApKTsKICAgICB9CiAgICAg
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
LmNwcAppbmRleCBmMjYyMjlkMGUwYTlhNzdhMTc2YWVmNDExOWRjNGU3ZDg0ODliNDE4Li5jYzgz
MDYzMjc0MDAxY2Q0MTQ0ZGIwZmViYjFkNWNiYTM0Y2Q3MDI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBuYW1l
c3BhY2UgTmV0d29ya0NhY2hlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRp
YyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAxMHM7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBwcmVsb2FkZWRFbnRyeUxpZmV0aW1lID0gU2Vjb25kcygxMCk7CiAKICNpZiAhTE9H
X0RJU0FCTEVECiBzdGF0aWMgSGFzaENvdW50ZWRTZXQ8U3RyaW5nPiYgYWxsU3BlY3VsYXRpdmVM
b2FkaW5nRGlhZ25vc3RpY01lc3NhZ2VzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKaW5k
ZXggZThkYzY0M2M3ZjI0NTJiYTlkYzUzM2Y1MThlMWZmYmE5OTg4ZDUxYi4uYzBlZTIwYTY0ZTJh
ZDJlYmVmOTJjNzIwNGZhYzY3OTY4MDg3NTEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5j
cHAKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBuYW1lc3BhY2UgTmV0d29y
a0NhY2hlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIqIFN0YXRpc3RpY3NEYXRhYmFzZU5hbWUgPSAi
V2ViS2l0Q2FjaGVTdGF0aXN0aWNzLmRiIjsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cygxMDAwMCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCA9IFNl
Y29uZHMoMTApOwogCiBzdGF0aWMgYm9vbCBleGVjdXRlU1FMQ29tbWFuZChXZWJDb3JlOjpTUUxp
dGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgc3FsKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcAppbmRleCAwNWEzZDFjNjFmNjMwYzYxYTQ1ZTQ3NDI4YWViY2U4YTJmMjMyZTZjLi5i
ZDgxYzNiNzJhODZjYzk0NzlhNmViNjQ1YWE1NmI4YmMwYzFkYzU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcApAQCAtNTc0LDcgKzU3NCw3IEBAIHZvaWQgU3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3Bl
cmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9uPiByZWFkT3BlcmF0aW9uCiAgICAg
bV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92ZShyZWFkT3BlcmF0aW9uUHRyKSk7CiAK
ICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVyYXRpb25zIHNsb3cuIElmIHRo
ZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhlciBnbyB0byBuZXR3b3JrLgot
ICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7CisgICAgY29uc3QgU2Vjb25kcyBy
ZWFkVGltZW91dCA9IFNlY29uZHMoMS41KTsKICAgICBtX3JlYWRPcGVyYXRpb25UaW1lb3V0VGlt
ZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKIAogICAgIGJvb2wgc2hvdWxkR2V0Qm9keUJs
b2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtleSk7CkBAIC03OTYsNyArNzk2LDcg
QEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJlY29yZCwgTWFwcGVkQm9keUhh
bmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8vIERlbGF5IHRoZSBzdGFydCBvZiB3
cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5IHBhZ2UgbG9hZC4KICAgICAvLyBD
b21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUgd3JpdGVzIHdpdGhvdXQgZGVsYXku
Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRlRGVsYXkgPSAxczsKKyAgICBzdGF0
aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsV3JpdGVEZWxheSA9IFNlY29uZHMoMSk7CiAgICAgbV93
cml0ZU9wZXJhdGlvbkRpc3BhdGNoVGltZXIuc3RhcnRPbmVTaG90KGluaXRpYWxXcml0ZURlbGF5
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA0Y2VmYThlYjM1N2FlNDRiZDI1YTU3
NDZiNDVmZjlhMDhiNGUyMGRmLi5mMDg3NTJlNTRjOWM3MTU1NWRkMGE3MTRmMTAzNzE0MjI5ZTFl
MzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQgTmV0
d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNlbCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpy
ZXN1bWUoKQogewogICAgIGlmIChtX3NjaGVkdWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkK
LSAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ZhaWx1
cmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgW21fdGFzayByZXN1bWVdOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2Rl
cnMuY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcApp
bmRleCA5YWM3NmM2ZDM5NDdkZTI2ODcxZWI2ODkyMDY1YmRhNmI3NzhjZmUxLi5kMDQ2YWY1ZGUy
MDczNjMyN2IxMDc2ODMwZWNiOWI4YTllZmVkNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKQEAgLTMyLDYgKzMyLDM2IEBACiAKIG5hbWVz
cGFjZSBJUEMgewogCit2b2lkIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQoreworICAgIGVuY29k
ZXIgPDwgdGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1l
bnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1vbm90b25p
Y1RpbWUmIHRpbWUpCit7CisgICAgZG91YmxlIHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUodmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB0aW1lID0gTW9ub3Rvbmlj
VGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lk
IEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBT
ZWNvbmRzJiBzZWNvbmRzKQoreworICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgpOworfQor
Citib29sIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBT
ZWNvbmRzJiBzZWNvbmRzKQoreworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc2Vjb25kcyA9IFNl
Y29uZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8
c3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludD46OmVuY29kZShJUEM6OkVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQm
IHRpbWVQb2ludCkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludDY0X3Q+KHRpbWVQ
b2ludC50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCmluZGV4IDA1NjhhY2VhOWY0Nzk3MTQ1YjAwZDlkYjU3
NmMzYzE4Yzc3NTNlMWMuLjc3NDA0OWFmMjI2NzE3MmIxMjEyYWFmZmZjMmM1YWQzMmUzMTUxNTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCkBAIC0x
NjMsNyArMTYzLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gRWxlbWVudHM+IHN0cnVjdCBBcmd1
bWVudENvZGVyPHN0ZDo6dHVwbGU8RWxlbWVudHMuLi4+PiB7CiAgICAgfQogfTsKIAotCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBSZXAsIHR5cGVuYW1lIFBlcmlvZD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8
c3RkOjpjaHJvbm86OmR1cmF0aW9uPFJlcCwgUGVyaW9kPj4gewogICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQ
ZXJpb2Q+JiBkdXJhdGlvbikKICAgICB7CkBAIC0zNzksNiArMzc4LDE2IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnPiBz
dHJ1Y3QgQXJndW1lCiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2Rl
cjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYs
IGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNv
ZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1
bWVudENvZGVyPFdURjo6U2Vjb25kcz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVy
JiwgY29uc3QgV1RGOjpTZWNvbmRzJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXIm
LCBXVEY6OlNlY29uZHMmKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8
c3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludD4gewogICAgIHN0YXRpYyB2b2lk
IGVuY29kZShFbmNvZGVyJiwgY29uc3Qgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9w
b2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgc3RkOjpjaHJvbm86OnN5
c3RlbV9jbG9jazo6dGltZV9wb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25u
ZWN0aW9uLmgKaW5kZXggNTAzY2Y1ZjNiYjIyNjI2MWMyMjQwZGVjODJkNmUwN2VhYWRmZTFlMi4u
MThiZjMxYzY2NGMwYzJkZmI4NTE0YWU4MzI3N2RmMDEwYzIxMjFiYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0xODYsNyArMTg2LDcgQEAgcHVibGljOgog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBraWxsKCk7Ci0gICAgdm9pZCB0ZXJtaW5h
dGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgdm9pZCB0ZXJtaW5hdGVTb29u
KFNlY29uZHMpOwogI2VuZGlmCiAKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBt
X2lzVmFsaWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMv
Q29ubmVjdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVj
dGlvbk1hYy5tbQppbmRleCAyODk5NTEyOTQ2M2U4MzE5MTA3MGJlZTg1ZmRiZTg3MDU0OGU1NWIx
Li43MDQ0NjkxNTZhZjgxYmQ0MTU4ZjE3MWUwODE3ZDg4ZWRiZmIxN2E4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KKysrIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCkBAIC04MCwyMCAr
ODAsMjAgQEAgZW51bSB7CiAvLyAgICB0byBlbnN1cmUgaXQgaGFzIGEgY2hhbmNlIHRvIHRlcm1p
bmF0ZSBjbGVhbmx5LgogY2xhc3MgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cgewogcHVi
bGljOgotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9n
KE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50
ZXJ2YWxJblNlY29uZHMpCisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24s
IFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgewotICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBu
ZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwp
OwogICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBp
bnRlcnZhbEluU2Vjb25kcykKKyAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09i
amVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZh
bCkKICAgICAgICAgOiBtX3hwY0Nvbm5lY3Rpb24oeHBjQ29ubmVjdGlvbikKICAgICAgICAgLCBt
X3dhdGNoZG9nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2c6OndhdGNoZG9nVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1MpCiAgICAg
ICAgICwgbV9hc3NlcnRpb24oc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlByb2Nlc3NBbmRVSUFz
c2VydGlvbj4oeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpLCBX
ZWJLaXQ6OkFzc2VydGlvblN0YXRlOjpCYWNrZ3JvdW5kKSkKICNlbmRpZgogICAgIHsKLSAgICAg
ICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbEluU2Vjb25kcyk7CisgICAg
ICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogICAgIH0KICAgICAK
ICAgICB2b2lkIHdhdGNoZG9nVGltZXJGaXJlZCgpCkBAIC0xNTEsMTAgKzE1MSwxMCBAQCB2b2lk
IENvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiAjZW5kaWYKIH0KICAgICAKLXZvaWQg
Q29ubmVjdGlvbjo6dGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCit2b2lk
IENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAo
bV94cGNDb25uZWN0aW9uKQotICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6
Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRl
cnZhbEluU2Vjb25kcyk7CisgICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpj
cmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVy
dmFsKTsKIH0KICAgICAKIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1Jbml0aWFsaXplKElkZW50
aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRleCBkYTlkYjIyNGVkYzBlYTBjYmQwMDJk
YzE3MTJhMGMxODZkMTkzNWU0Li4xMWNiYWEzMWRjNWIzN2U3OWJlNDU1ZTBjODNhYTExNWFlNzEw
ZTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRy
b2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkuY3BwCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBQbHVnaW5Db250cm9s
bGVyUHJveHk6OmRlc3Ryb3koKQogICAgIGlmIChtX3BsdWdpbkRlc3RydWN0aW9uUHJvdGVjdENv
dW50IHx8IG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLT5pblNlbmRTeW5jKCkpIHsKICAgICAg
ICAgLy8gV2UgaGF2ZSBwbHVnLWluIGNvZGUgb24gdGhlIHN0YWNrIHNvIHdlIGNhbid0IGRlc3Ry
b3kgaXQgcmlnaHQgbm93LgogICAgICAgICAvLyBEZXN0cm95IGl0IGxhdGVyLgotICAgICAgICBt
X3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGx1Z2luRGVz
dHJveVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFy
dFBhaW50VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIu
Ci0gICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BhaW50VGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgbV93YWl0aW5nRm9yRGlkVXBkYXRlID0gdHJ1
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3Bw
CmluZGV4IGE3MjRlYjA4ZjkwZDU5ZGIxMjk4MjM0NDFlNzdlMDhmZWVjN2IyNWIuLmNhMjE0NmMz
N2Y2ZjFmZjg3NjQwZGQyNmYzMDQ3MDJmNzU2ODIxOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMjIwLDkgKzIyMCw5IEBAIHZvaWQg
UGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChN
ZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRlRGF0YUZvckhvc3RO
YW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TWluaW11
bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TWluaW11
bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0aW1lIDw9IDAuMCkK
KyAgICBpZiAobGlmZXRpbWUgPD0gU2Vjb25kcygwKSkKICAgICAgICAgcmV0dXJuOwogICAgIAog
ICAgIGRpc2FibGVUZXJtaW5hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuaAppbmRleCA5YTkwZTRjMjUzOTNhN2VkNDZjOTg3YjVlZTQ0NDlhNzRh
YjkyMzNiLi4yMGFjMDY3YjA0OTVlNmFjNzYyMmMwMDYyMDAzOGMwMWY1ZjMwMjkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMTAyLDcgKzEw
Miw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdpblByb2Nl
c3MoUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKICAgICAKLSAgICB2b2lkIHNl
dE1pbmltdW1MaWZldGltZShkb3VibGUpOworICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKFNl
Y29uZHMpOwogICAgIHZvaWQgbWluaW11bUxpZmV0aW1lVGltZXJGaXJlZCgpOwogICAgIC8vIE91
ciB3ZWIgcHJvY2VzcyBjb25uZWN0aW9ucy4KICAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3ND
b25uZWN0aW9uPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2Fj
aGVNb2RlbC5jcHAKaW5kZXggNDAzZjM0ZGZjZDRiN2FkYzQ5YmEwNDYyYjlmZGVmYTZkZWYzZmQ0
NS4uMTJiYTdiMTMxYTFkODlmOWE5ZGVkOGMwNTViYWI1ODdhODM0OGE1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9DYWNoZU1vZGVsLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVN
b2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVh
ZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNh
Y2hlQ2FwYWNpdHkpCit2b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
aW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgU2Vjb25kcyYg
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFj
aXR5KQogewogICAgIHVpbnQ2NF90IG1lbW9yeVNpemUgPSByYW1TaXplKCkgLyBNQjsKIApAQCAt
MTA5LDcgKzEwOSw3IEBAIHZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVs
IGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpCiAgICAgICAgIC8vIGNhbiBw
cm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jl
c3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gc3RkOjptYXgoMjR1LCBjYWNo
ZU1heERlYWRDYXBhY2l0eSk7CiAKLSAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCA9IFNlY29uZHMoNjApOwogCiAgICAgICAgIGJyZWFrOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCmluZGV4IGNmNDczNDU0ZmUyYWMzM2QzY2E0
M2E3MmZhNTkzZTRjNGU1MWQzZDUuLjFlMDc3Njg4ZWE3OGRjODQyOTg4ZjRmNWYwM2FjYWJiOTMx
MjRhNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaApAQCAtMjYsOCArMjYsOCBAQAog
I2lmbmRlZiBDYWNoZU1vZGVsX2gKICNkZWZpbmUgQ2FjaGVNb2RlbF9oCiAKLSNpbmNsdWRlIDxj
aHJvbm8+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTM3LDcgKzM3LDcgQEAgZW51bSBDYWNoZU1vZGVsIHsK
ICAgICBDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIKIH07CiAKLXZvaWQgY2FsY3VsYXRlTWVt
b3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1
bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBh
Y2l0eSwgc3RkOjpjaHJvbm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSk7Cit2b2lkIGNhbGN1bGF0ZU1lbW9yeUNh
Y2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWdu
ZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHks
IFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdl
Q2FjaGVDYXBhY2l0eSk7CiB2b2lkIGNhbGN1bGF0ZVVSTENhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwg
dWludDY0X3QgZGlza0ZyZWVTaXplLCB1bnNpZ25lZCYgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSwg
dWludDY0X3QmIHVybENhY2hlRGlza0NhcGFjaXR5KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCmluZGV4IDE3NTc4OWZiOWFlNzEz
ZjE2ZWVlZGJmYWJlMDBkNmYzM2U2M2NmMjMuLjQ5Yjc5NDY1ZGY2ZTFiMmExMjFjM2ZhNTJkMDAz
ZmIxOTUxYmMyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCkBAIC0z
Myw4ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogQ2hpbGRQcm9jZXNzOjpDaGlsZFBy
b2Nlc3MoKQotICAgIDogbV90ZXJtaW5hdGlvblRpbWVvdXQoMCkKLSAgICAsIG1fdGVybWluYXRp
b25Db3VudGVyKDApCisgICAgOiBtX3Rlcm1pbmF0aW9uQ291bnRlcigwKQogICAgICwgbV90ZXJt
aW5hdGlvblRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNoaWxkUHJvY2Vzczo6dGVybWlu
YXRpb25UaW1lckZpcmVkKQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZCgiUHJv
Y2VzcyBTdXBwcmVzc2lvbiBEaXNhYmxlZCBieSBVSVByb2Nlc3MiKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IGEwNmUzNDlhMzhjMjgxZjVhY2U4ZDM2MjJhMDU0NjFm
OTQwNGRhNWMuLjk4NWFkNmE2MWIyYTgyYWI3ODUwMjlmZTQyZGVjNDc1MmVmYzQ2Y2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJvdGVjdGVk
OgogICAgIGV4cGxpY2l0IENoaWxkUHJvY2VzcygpOwogICAgIHZpcnR1YWwgfkNoaWxkUHJvY2Vz
cygpOwogCi0gICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoZG91YmxlIHNlY29uZHMpIHsg
bV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CisgICAgdm9pZCBzZXRUZXJtaW5hdGlv
blRpbWVvdXQoU2Vjb25kcyBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25k
czsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFs
aXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
Jik7CkBAIC0xMTcsNyArMTE3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFRoZSB0aW1lb3V0LCBp
biBzZWNvbmRzLCBiZWZvcmUgdGhpcyBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZCBpZiB0ZXJt
aW5hdGlvbgogICAgIC8vIGhhcyBiZWVuIGVuYWJsZWQuIElmIHRoZSB0aW1lb3V0IGlzIDAgc2Vj
b25kcywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGltbWVkaWF0ZWx5LgotICAgIGRv
dWJsZSBtX3Rlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1fdGVybWluYXRpb25UaW1l
b3V0OwogCiAgICAgLy8gQSB0ZXJtaW5hdGlvbiBjb3VudGVyOyB3aGVuIHRoZSBjb3VudGVyIHJl
YWNoZXMgemVybywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkCiAgICAgLy8gYWZ0ZXIg
YSBnaXZlbiBwZXJpb2Qgb2YgdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRl
eCBhMTJhNDQ0NWJiMTZjYWFmNjkyNzNiNjRhODYzMjEwOGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJk
ODI1OThhY2E2Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVk
ZSAiUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+
CkBAIC01MSw4ICs1Miw4IEBAIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
IHsKICAgICBQbHVnaW5Qcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAgICBib29sIHN1cHBvcnRz
QXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CiAKLSAgICBkb3VibGUgbWluaW11bUxp
ZmV0aW1lOwotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtaW5p
bXVtTGlmZXRpbWU7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICBXZWJDb3JlOjpNYWNoU2VuZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdQb3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcAppbmRleCBmMGZmYjc3MjZhNTNlZTRmODQyM2Q0NmI3OWJiMGZkYWYwNWRlN2M0Li4z
ODBlMDFlNWU3NDYxNzM3ZTU3NTNlOTY2NWFjMmUzNDYwNTUyNjFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTA2LDM2ICsxMDYs
NiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdm9pZCBB
cmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29u
c3QgTW9ub3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1Np
bmNlRXBvY2goKS52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGlt
ZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAg
IGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgdGltZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRz
KHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25kcykKLXsK
LSAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVy
PFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25kcykKLXsK
LSAgICBkb3VibGUgdmFsdWU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsKLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFmZmluZVRyYW5z
Zm9ybSkKIHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29k
ZShlbmNvZGVyLCBhZmZpbmVUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDQ4MTlmY2JjMDRhYzcxNjI1NjczYTg0NDY3Zjc0
NTQyY2NiOTI5OTUuLjMxNTQwNjJkOWRjMzUyYTkxZjRiMzNiYjY1NDM5OTU2ZTU4ODA5YjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMx
LDExICszMSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVkREIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BheW1lbnRIZWFkZXJzLmg+CiAKLW5hbWVzcGFjZSBXVEYgewotY2xhc3MgTW9ub3Rv
bmljVGltZTsKLWNsYXNzIFNlY29uZHM7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwpAQCAtMTUy
LDE2ICsxNDcsNiBAQCB1c2luZyBJREJLZXlQYXRoID0gVmFyaWFudDxTdHJpbmcsIFZlY3RvcjxT
dHJpbmc+PjsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1lPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29k
ZXImLCBjb25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
RGVjb2RlciYsIFdURjo6TW9ub3RvbmljVGltZSYpOwotfTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYsIGNvbnN0IFdURjo6U2Vjb25kcyYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNv
ZGVyJiwgV1RGOjpTZWNvbmRzJik7Ci19OwotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShF
bmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7CiAgICAgc3RhdGljIGJv
b2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAwNTNmYTZlYTI5NzNjZTdi
MWRiM2NmZjM5Mjc1MWVhYmY0ZTE4ZDEwLi40NDYzYTA3ODJkYWQ2ZmRlNzAwMDY3N2E4ZmM1NmI0
NDA0OWUyNzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3Bw
CkBAIC01Nyw3ICs1Nyw2IEBAIFdlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIoKQog
ICAgIDogbV9zYW1wbGVUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVy
RmlyZWQpCiAgICAgLCBtX3N0b3BUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnN0b3BU
aW1lckZpcmVkKQogICAgICwgbV9pc1J1bm5pbmcoZmFsc2UpCi0gICAgLCBtX3J1bm5pbmdUaW1l
KDApCiB7CiB9CiAKQEAgLTY3LDcgKzY2LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFy
dChjb25zdCBkb3VibGUgaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpbml0
aWFsaXplVGVtcExvZ0ZpbGUoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAg
ICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBXZWJNZW1v
cnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxv
Z0ZpbGVIYW5kbGUsIGNvbnN0IFN0cmluZyYgc2FtcGxlTG9nRmlsZVBhdGgsIGNvbnN0IGRvdWJs
ZSBpbnRlcnZhbCkgCkBAIC04MiwxNyArODEsMTcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpz
dGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUK
ICAgICB9CiAgICAgICAgIAogICAgIGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKHNhbXBsZUxv
Z0ZpbGVIYW5kbGUsIHNhbXBsZUxvZ0ZpbGVQYXRoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGlu
dGVydmFsKTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKICAgIAog
fQogCi12b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVy
dmFsKQordm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKFNlY29uZHMgaW50
ZXJ2YWwpCiB7Ci0gICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxKTsKKyAgICBtX3Nh
bXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMSkpOwogICAgIHByaW50ZigiU3RhcnRl
ZCBtZW1vcnkgc2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgp
LmRhdGEoKSwgZ2V0cGlkKCkpOwotICAgIGlmIChpbnRlcnZhbCA+IDApIHsKKyAgICBpZiAoaW50
ZXJ2YWwgPiBTZWNvbmRzKDApKSB7CiAgICAgICAgIG1fc3RvcFRpbWVyLnN0YXJ0T25lU2hvdChp
bnRlcnZhbCk7Ci0gICAgICAgIHByaW50ZigiIGZvciBhIGludGVydmFsIG9mICVnIHNlY29uZHMi
LCBpbnRlcnZhbCk7CisgICAgICAgIHByaW50ZigiIGZvciBhIGludGVydmFsIG9mICVnIHNlY29u
ZHMiLCBpbnRlcnZhbC52YWx1ZSgpKTsKICAgICB9CiAgICAgcHJpbnRmKCI7IFNhbXBsZXIgbG9n
IGZpbGUgc3RvcmVkIGF0OiAlc1xuIiwgbV9zYW1wbGVMb2dGaWxlUGF0aC51dGY4KCkuZGF0YSgp
KTsKICAgICBtX3J1bm5pbmdUaW1lID0gaW50ZXJ2YWw7CkBAIC0xNTksNyArMTU4LDcgQEAgdm9p
ZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCgpCiB7CiAgICAgaWYgKCFtX2lzUnVu
bmluZykKICAgICAgICAgcmV0dXJuOwotICAgIHByaW50ZigiJWcgc2Vjb25kcyBlbGFwc2VkLiBT
dG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9ydW5uaW5nVGltZSk7CisgICAgcHJpbnRm
KCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9yeSBzYW1wbGVyLi4uXG4iLCBtX3J1
bm5pbmdUaW1lLnZhbHVlKCkpOwogICAgIHN0b3AoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJNZW1vcnlTYW1wbGVyLmgKaW5kZXggMjc4N2I1MTVkYWJjNTFlYmVjNWJjMDY0NmYxM2Jl
ZmU1MTI5ODYyMi4uZGE0Mjg4YjU4NDA5ZmZiYWFmOGQyNzNjYjM4NTg0NWIwZDFkODg2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCkBAIC04NCw3ICs4NCw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplVGVtcExvZ0ZpbGUoKTsKICAgICB2b2lkIGlu
aXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYs
IGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgd3JpdGVIZWFkZXJzKCk7Ci0gICAgdm9pZCBpbml0
aWFsaXplVGltZXJzKGRvdWJsZSk7CisgICAgdm9pZCBpbml0aWFsaXplVGltZXJzKFNlY29uZHMp
OwogICAgIHZvaWQgc2FtcGxlVGltZXJGaXJlZCgpOwogICAgIHZvaWQgc3RvcFRpbWVyRmlyZWQo
KTsKICAgICB2b2lkIGFwcGVuZEN1cnJlbnRNZW1vcnlVc2FnZVRvRmlsZShXZWJDb3JlOjpQbGF0
Zm9ybUZpbGVIYW5kbGUmKTsKQEAgLTEwMCw3ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIFdlYkNv
cmU6OlRpbWVyIG1fc2FtcGxlVGltZXI7CiAgICAgV2ViQ29yZTo6VGltZXIgbV9zdG9wVGltZXI7
CiAgICAgYm9vbCBtX2lzUnVubmluZzsKLSAgICBkb3VibGUgbV9ydW5uaW5nVGltZTsKKyAgICBT
ZWNvbmRzIG1fcnVubmluZ1RpbWU7CiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IG1fc2Ft
cGxlTG9nU2FuZGJveEV4dGVuc2lvbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGVjODZlMWUyMWZmY2Nk
NmQ4NzJhYWExZjJkNDE5ZTQ2NjZhMzI3ZGIuLjBkMzdiOWEzZWQ3ZTM2NGMxYzRiNjk5M2Y5MDY3
OTJhNWZlYWVlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTEzLDcgKzExMyw3IEBAIHN0cnVjdCBXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKIAogICAgIGJvb2wgaWNvbkRhdGFiYXNlRW5hYmxlZDsK
IAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlv
blRpbWVvdXQ7CiAKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaAppbmRleCA2
YWY3OTAyZGEzZjlmYTljMmVhYmRhYWEwZTVkNzg1ZjY1MzJlNmU3Li40MzY4Y2MyY2MxYjNmNWM2
ZDVhOGViM2IzODBiMmU4YmRiM2E0YTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lPU3VyZmFjZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+Ci0jaW5jbHVkZSA8Y2hyb25vPgorI2luY2x1
ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKIE9CSkNfQ0xBU1MgQ0FMYXllcjsKIApAQCAtOTEs
NyArOTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHNldEJ1ZmZlclZvbGF0aWxpdHkoQnVmZmVy
VHlwZSB0eXBlLCBib29sIGlzVm9sYXRpbGUpOwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9j
bG9jazo6dGltZV9wb2ludCBsYXN0RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3RE
aXNwbGF5VGltZTsgfQorICAgIE1vbm90b25pY1RpbWUgbGFzdERpc3BsYXlUaW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGRyYXdJ
bkNvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgQ0dJbWFnZVJlZiBiYWNrSW1hZ2Up
OwpAQCAtMTAzLDggKzEwMywxMCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtQ0FMYXllclJlbW90
ZSogbV9sYXllcjsKIAogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3NpemU7Ci0gICAgZmxvYXQg
bV9zY2FsZTsKLSAgICBib29sIG1faXNPcGFxdWU7CisgICAgZmxvYXQgbV9zY2FsZSB7IDEgfTsK
KworICAgIGJvb2wgbV9pc09wYXF1ZSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2FjY2VsZXJhdGVz
RHJhd2luZyB7IGZhbHNlIH07CiAKICAgICBXZWJDb3JlOjpSZWdpb24gbV9kaXJ0eVJlZ2lvbjsK
IApAQCAtMTEyLDcgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTaGFyZWFibGVC
aXRtYXA+IGJpdG1hcDsKICNpZiBVU0UoSU9TVVJGQUNFKQogICAgICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBzdXJmYWNlOwotICAgICAgICBib29sIGlzVm9sYXRpbGUg
PSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc1ZvbGF0aWxlIHsgZmFsc2UgfTsKICNlbmRpZgogCiAg
ICAgICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdApAQCAtMTM4LDExICsxNDAsOSBA
QCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gbV9mcm9udENvbnRleHRQ
ZW5kaW5nRmx1c2g7CiAKLSAgICBib29sIG1fYWNjZWxlcmF0ZXNEcmF3aW5nOwotCiAgICAgV2Vi
Q29yZTo6UmVwYWludFJlY3RMaXN0IG1fcGFpbnRpbmdSZWN0czsKIAotICAgIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0RGlzcGxheVRpbWU7CisgICAgTW9ub3Rv
bmljVGltZSBtX2xhc3REaXNwbGF5VGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdT
dG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUubW0KaW5kZXggZDU3MTlkZGExMmJlYWI4MjJkZjMyYjcyMTU4ZWJhNmE1ZTk5NDIwNS4uY2Jj
ZjcxYzVmNzU0ZWVjM2U4NjBmZjEyZmM3M2ZmYTg1YzY3ZGQxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCkBAIC02Miw4
ICs2Miw2IEBAIHN0YXRpYyBXZWJDb3JlOjpJT1N1cmZhY2U6OkZvcm1hdCBidWZmZXJGb3JtYXQo
Ym9vbCBpc09wYXF1ZSkKIAogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbGF5ZXIpCiAgICAgOiBtX2xheWVyKGxh
eWVyKQotICAgICwgbV9pc09wYXF1ZShmYWxzZSkKLSAgICAsIG1fbGFzdERpc3BsYXlUaW1lKHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQ6Om1pbigpKQogewogICAgIGlmICgh
bV9sYXllcikKICAgICAgICAgcmV0dXJuOwpAQCAtMjMxLDcgKzIyOSw3IEBAIGJvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkoKQogewogICAgIEFTU0VSVCghbV9mcm9udENvbnRl
eHRQZW5kaW5nRmx1c2gpOwogCi0gICAgbV9sYXN0RGlzcGxheVRpbWUgPSBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3REaXNwbGF5VGltZSA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOwogCiAgICAgYm9vbCBuZWVkVG9FbmNvZGVCYWNraW5nU3RvcmUgPSBmYWxzZTsK
ICAgICBpZiAoUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogY29udGV4dCA9IG1fbGF5ZXItPmNvbnRl
eHQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCmluZGV4IGZlNDk3MWVlNzM5MjQxNGFiYzEx
OTQwYWM3OWY4Zjc5MTRjYTQ4NjIuLmNkODNhMzhkOTg0NTVkYjVkNTRlZDNmNDY1Mzk4NmVlZDk3
NDUzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaApAQCAtNjQsNyArNjQsNyBAQCBwcml2
YXRlOgogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdz
OwogICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUmLCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdzIHZvbGF0aWxpdHlNYXJraW5n
RmxhZ3MgPSAwKTsKLSAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZSYsIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93
KTsKKyAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdT
dG9yZSYsIE1vbm90b25pY1RpbWUgbm93KTsKIAogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3RvcmU7CiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJh
Y2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJhY2tpbmdTdG9yZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1t
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxl
Y3Rpb24ubW0KaW5kZXggMjY4MzZlN2JmMzg2NDdlNDgwMGE2NGIwYzc1Y2U2ZmZiMGNhMTRiZS4u
YmRjODdhNzA4MDczNjRlNjYzOTljOWQ2N2MyNTZlMzFlZmZjOGFmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
bW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb24ubW0KQEAgLTMwLDkgKzMwLDkgQEAKICNpbXBvcnQgIlJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVDb250ZXh0LmgiCiAKLWNvbnN0
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0g
MXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxlU2Vjb25kYXJ5QmFj
a2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMjAwbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFsID0gMjAwbXM7Citjb25zdCBTZWNvbmRzIHZv
bGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gU2Vjb25kcygxKTsKK2NvbnN0IFNlY29u
ZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSBTZWNvbmRzKDAu
Mik7Citjb25zdCBTZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFsID0gU2Vjb25kcygwLjIp
OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1l
ZGlhdGVseShSZW1vCiAgICAgcmV0dXJuIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xh
dGlsZTsKIH0KIAotYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtC
YWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3Jl
LCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG5vdykKK2Jvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgTW9ub3RvbmljVGltZSBub3cpCiB7
CiAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA8IHZvbGF0aWxl
QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKSB7CiAgICAgICAgIGlmIChub3cgLSBiYWNraW5nU3Rv
cmUubGFzdERpc3BsYXlUaW1lKCkgPj0gdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQpCkBAIC0xNjQsNyArMTY0LDcgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKCkKIHsKICAgICBib29sIHN1Y2Nlc3Nm
dWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IHRydWU7CiAKLSAgICBhdXRvIG5vdyA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5nU3RvcmUgOiBtX2xpdmVC
YWNraW5nU3RvcmUpCiAgICAgICAgIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGls
ZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoKmJhY2tpbmdTdG9yZSwgbm93KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVk
U2NyaXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
QVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KaW5kZXggODM5NDVkZmVkMzFjNTkxODM1
OGJlN2Y2NzE2YjFiZmU3MDE4OGI1OS4uZGM1NjE5OWU2OTkyYzY3YTJlMjBlN2ZlZTdlOWU5NzEz
N2U5YzZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9B
UElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCkBAIC00Niw3
ICs0Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KSB7CiAgICAg
ICAgICAgICBtX2NvbnRleHQgPSBhZG9wdE5TKFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XSk7Ci0g
ICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX2Nv
bnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmNwcAppbmRleCBjYWYwZDcyM2YwNjU5NjllMGMwOGM0NmUwMmMyNGE2ZTQ3YzExOWQ4
Li5lYjEwMDM0YzEzMWNkOGI5MTA5NWViMTNlOWQ5NGM1MzgzOGJjOTM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNTkwLDcgKzU5MCw3IEBA
IHZvaWQgRXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKCFtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Rpc3BsYXlU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpzZXRWaWV3cG9ydFBvc2l0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRzUG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggMDRjN2U5
NTQ3Mjk5NTdjZTQyODJlYjQwZTFjODcxMDNjMTQ0NWY1Zi4uOTU2NWUyMmM5MWMzNjk1NTYwYzI1
OTEwNzE1MjdhYjBkMzZiZGJhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKFdl
YktpdFdlYlZpZXdCYXNlKiB3ZWJWCiAgICAgaWYgKHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcml2LT51cGRhdGVBY3Rp
dml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5
U3RhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHN0YXRpYyBnYm9vbGVh
biB0b3BsZXZlbFdpbmRvd0ZvY3VzSW5FdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRG
b2N1cyosIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCmluZGV4IGZkOGJjNWFjOWE5N2M4MzA1
NWQ0OGI3NWJhODAwOTMzOTk2NTE3YjAuLjllZWNhMjA2ZGQyZWU2ZmJmYWYwYzNlYTE3YTNkNGY0
NzQ3Mjg5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nl
c3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1By
b3h5LmNwcApAQCAtMTkzLDcgKzE5Myw3IEBAIHZvaWQgQ2hpbGRQcm9jZXNzUHJveHk6OnNodXRE
b3duUHJvY2VzcygpCiAgICAgICAgIC8vIE9uIGlPUyBkZXBsb3kgYSB3YXRjaGRvZyBpbiB0aGUg
VUkgcHJvY2Vzcywgc2luY2UgdGhlIGNoaWxkIHByb2Nlc3MgbWF5IGJlIHN1c3BlbmRlZC4KICAg
ICAgICAgLy8gSWYgMzBzIGlzIGluc3VmZmljaWVudCBmb3IgYW55IG91dHN0YW5kaW5nIGFjdGl2
aXR5IHRvIGNvbXBsZXRlIGNsZWFubHksIHRoZW4gaXQgd2lsbCBiZSBraWxsZWQuCiAgICAgICAg
IEFTU0VSVChtX2Nvbm5lY3Rpb24pOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNv
b24oMzApOworICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oU2Vjb25kcygzMCkp
OwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3RhdGU6OlRlcm1pbmF0ZWQ6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpp
bmRleCA0NTI5OTIyYjRmYmY2YmY1MzFjN2MwNWE3YzIyM2I2MzUxNDMyNTYwLi5mNzJmNGJjNjcx
MWVhYTY4NWZhNGM5YmE4NDUyYzUyN2ViMWE1MDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTg1Miw3ICs4NTIsNyBAQCB2
b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKCkKICAgICB9IGVsc2Ugewog
ICAgICAgICAvLyBEZWxheSByZWxlYXNpbmcgdGhlIGJhY2tncm91bmQgYWN0aXZpdHkgZm9yIDMg
c2Vjb25kcyB0byBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhIGNoYW5jZSB0byBzdGFydCBhbm90aGVy
IG5hdmlnYXRpb24KICAgICAgICAgLy8gYmVmb3JlIHN1c3BlbmRpbmcgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyA8cmRhcjovL3Byb2JsZW0vMjc5MTA5NjQ+LgotICAgICAgICBtX3JlbGVhc2VBY3Rp
dml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzcyk7CisgICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMykpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
Y3BwCmluZGV4IDQ5ZjE4ZTM3OGE1MjlkMDU2NWIwZDdlZTllNjE4ODIxMmNmZGQyYjguLjI4NmYy
YWJhZWI0MDU4NGM5NDA1MTkxZGY5YTA5NzU0OWQ0NDc1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBA
IC00MCwxMyArNDAsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hv
dFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24g
PSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNo
b3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGljIGNv
bnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxs
eU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSBTZWNvbmRzKDMpOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gU2Vj
b25kcygwLjI1KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1czsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9
IFNlY29uZHMoNSk7CiAjZWxzZQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3
aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gU2Vjb25kcygzKTsK
ICNlbmRpZgogCiBzdGF0aWMgSGFzaE1hcDx1aW50NjRfdCwgVmlld0dlc3R1cmVDb250cm9sbGVy
Kj4mIHZpZXdHZXN0dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygpCkBAIC0yOTcsMTAgKzI5Nywx
MCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6
d2F0Y2hkb2dUaW1lckZpcmVkKCkKICAgICBmaXJlUmVtb3ZhbENhbGxiYWNrSW1tZWRpYXRlbHko
KTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNr
ZXI6OnN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMgZHVyYXRpb24pCit2b2lkIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRv
ZyhTZWNvbmRzIGR1cmF0aW9uKQogewotICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0
ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICVsbGQgc2Vjb25kcyIsIGR1cmF0aW9uLmNvdW50KCkpKTsK
LSAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uLmNvdW50KCkpOworICAg
IGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICUuM2Yg
c2Vjb25kcyIsIGR1cmF0aW9uLnZhbHVlKCkpKTsKKyAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KGR1cmF0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgK
aW5kZXggNzU4ZDczNTBkYmQ4NDc1NzQ2NmNjZGJhODQzNmI2ZTQ5ZDYyYmMyZC4uZTE0ZDczOTcx
OTJhZDBjMDdmMTIyODA5ZmM4N2IxNDQ0NzZkNGRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMTU3LDcg
KzE1Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlbnRPY2N1cnJlZChFdmVudHMpOwog
ICAgICAgICBib29sIGNhbmNlbE91dHN0YW5kaW5nRXZlbnQoRXZlbnRzKTsKIAotICAgICAgICB2
b2lkIHN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMpOworICAgICAgICB2b2lkIHN0
YXJ0V2F0Y2hkb2coU2Vjb25kcyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgU3Ry
aW5nIGV2ZW50c0Rlc2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDQ5ZDRkNWJkNWE5
OWQ0ZDk4MTExNmEwOGExMzI3ZDUwMWNiYWI5NTEuLmIwYzMxY2IxZWRkMDI1MmEyMmJiOWE3YTk4
MTM2MmNhZDQyNGJhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0yNTMsNyArMjUzLDcgQEAgdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmEKICNlbmRpZgogCiAgICAgcGFyYW1ldGVycy5zaG91bGRTdXBwcmVzc01l
bW9yeVByZXNzdXJlSGFuZGxlciA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdFN1cHByZXNz
TWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXldOwotICAgIHBhcmFtZXRlcnMubG9hZFRo
cm90dGxlTGF0ZW5jeSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVn
ZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZh
dWx0c0tleV0pOworICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IFNlY29uZHM6
OmZyb21NaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xv
YWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOwogCiAjaWYgUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTEwMAogICAg
IFJldGFpblB0cjxDRkRhdGFSZWY+IGNvb2tpZVN0b3JhZ2VEYXRhID0gYWRvcHRDRihDRkhUVFBD
b29raWVTdG9yYWdlQ3JlYXRlSWRlbnRpZnlpbmdEYXRhKGtDRkFsbG9jYXRvckRlZmF1bHQsIFtb
TlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gX2Nvb2tpZVN0b3Jh
Z2VdKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAK
aW5kZXggNjllOGM1YjMyMjMyMmRiMDM3MWJiY2IxZjM2NDBmZTRjOTZkODU2NS4uN2VjNzk5MzI4
YWNkNmI0YjE0MWFmMjY0NDFmYjFkNzgxMTdmZjMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtODMsNyArODMsNyBAQCB2b2lkIERyYXdp
bmdBcmVhUHJveHk6OnNldFZpZXdFeHBvc2VkUmVjdChPcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJl
Y3Q+IHZpZXdFeHBvcwogICAgIG1fdmlld0V4cG9zZWRSZWN0ID0gdmlld0V4cG9zZWRSZWN0Owog
CiAgICAgaWYgKCFtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojp2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcAppbmRleCA0NDBkZjlhMzNlZTY5ODY3YjY0MjU4ZDAzMmUwNWU4MTlmMTNhODE0
Li5lZTk4NTg2ZTdlODA1YTE1OWJkN2VhMDVhYzAyODBhMDdhMTk0NDBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTE4MCw3
ICsxODAsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3Jl
U29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRoaXMgbWFueSBzZWNvbmRzIGFmdGVyIHRoZSBs
YXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5IG91ciBiYWNraW5nIHN0b3JlIHRvIHNhdmUg
bWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBzbWFydGVyIHRvIG1ha2UgdGhpcyBk
ZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBhaW50aW5nIGlzLiBTZWUgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGlzY2FyZEJhY2tpbmdT
dG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkaXNjYXJkQmFja2luZ1N0
b3JlRGVsYXkgPSBTZWNvbmRzKDIpOwogCiAgICAgbV9kaXNjYXJkQmFja2luZ1N0b3JlVGltZXIu
c3RhcnRPbmVTaG90KGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSk7CiB9CkBAIC0yMTEsMTMgKzIx
MSwxMyBAQCBpbnQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjp3ZWJWaWV3
RHJhd0NhbGxiYWNrKERyYXdpbmdBcmVhUHJveHlJbQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJ
bXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RhcnQoc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jh
c2U6OkVycm9yKT4gY2FsbGJhY2spCiB7Ci0gICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWVNUygpOworICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgbV9jYWxsYmFjayA9IGNhbGxiYWNrOwogI2lmIFBMQVRGT1JNKEdUSykKICAgICBn
X3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgImRyYXciLCBy
ZWludGVycHJldF9jYXN0PEdDYWxsYmFjaz4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMSkpOwogI2Vsc2UKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICNlbmRpZgogfQogCkBAIC0yMjcsNyArMjI3
LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0b3AoKQog
I2lmIFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1
bmMobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgcmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcj4od2Vi
Vmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwogI2VuZGlmCi0gICAgbV9zdGFydFRpbWUgPSAwOwor
ICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgIGlmIChtX2NhbGxiYWNrKSB7
CiAgICAgICAgIG1fY2FsbGJhY2soQ2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSk7CiAgICAgICAg
IG1fY2FsbGJhY2sgPSBudWxscHRyOwpAQCAtMjM5LDEwICsyMzksMTAgQEAgdm9pZCBEcmF3aW5n
QXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRpZERyYXcoKQogICAgIC8vIFdlIHdhaXQg
dXAgdG8gMSBzZWNvbmQgZm9yIGRyYXcgZXZlbnRzLiBJZiB0aGVyZSBhcmUgc2V2ZXJhbCBkcmF3
IGV2ZW50cyBxdWV1ZWQgcXVpY2tseSwKICAgICAvLyB3ZSB3YW50IHRvIHdhaXQgdW50aWwgYWxs
IG9mIHRoZW0gaGF2ZSBiZWVuIHByb2Nlc3NlZCwgc28gYWZ0ZXIgcmVjZWl2aW5nIGEgZHJhdywg
d2Ugd2FpdAogICAgIC8vIHVwIHRvIDEwMG1zIGZvciB0aGUgbmV4dCBvbmUgb3Igc3RvcC4KLSAg
ICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKSAtIG1fc3RhcnRUaW1lID4gMTAw
MCkKKyAgICBpZiAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0VGltZSA+IFNlY29uZHMo
MSkpCiAgICAgICAgIHN0b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDAuMTAwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjEpKTsK
IH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJh
d2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrRnVu
Y3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oCmluZGV4IDg5YzcxM2ZjODdhNzM1NDkzMDM4YWQxMGQ5MGRjMWNmNjA2MWQ0NTcuLjVhYTY2
YzZkMDQ4YmQwZjdkMjZmOGM3YzY0ZWQwZDFhMjgyZjdmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIHZvaWQgZGlkRHJhdygpOwogCiAgICAgICAgIFdlYlBhZ2VQcm94eSYg
bV93ZWJQYWdlOwotICAgICAgICBkb3VibGUgbV9zdGFydFRpbWUgeyAwIH07CisgICAgICAgIE1v
bm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2Fs
bGJhY2tCYXNlOjpFcnJvcik+IG1fY2FsbGJhY2s7CiAgICAgICAgIFJ1bkxvb3A6OlRpbWVyPERy
YXdpbmdNb25pdG9yPiBtX3RpbWVyOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggNjc3Y2Q2NzM5
MWFmNTY5ZjQyYWZmYmRmNDQwYWFlMjE1NTE1ZjQzZS4uY2VhOTgyZjZlMjJjNjA0OThlYWI4Mjk2
OTQzZjUwNTMyYjhiNDM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dh
bWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMzksNyArMzksNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBk
b3VibGUgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9IDEgLyAxMjAuMDsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgPSBTZWNvbmRzKDEgLyAx
MjAuMCk7CiAKIFVJR2FtZXBhZFByb3ZpZGVyJiBVSUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9u
KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IDU0ZGZiM2IwNThkNGZlOTAzNzQ2MTU3OTJlZmE1NmIw
OGZkZDBiNjguLjQ1YmJkMDM4ZDcwMTUyYjU1NDUyOWE0OTYyYjIzNDI0NmU1YTc0ZjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c1Byb3h5LmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtTGlmZXRp
bWUgPSAyICogNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ01pbmltdW1MaWZl
dGltZSA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bUxpZmV0aW1lID0gU2Vjb25k
cygyICogNjApOworc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5nTWluaW11bUxpZmV0
aW1lID0gU2Vjb25kcygzMCk7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgc2h1dGRvd25UaW1lb3V0
ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVv
dXQgPSAxNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCA9IFNlY29uZHMo
MSAqIDYwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91
dCA9IFNlY29uZHMoMTUpOwogCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVn
aW5JbmZvQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1Bs
dWdpbkluZm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVhZjY2NzdhOTI5OWRlODU0OTQ1ZjkxNDU4
MDMzNDllMy4uZDU1ZTdkNWI1YjA5ZmNhNGQzMDI0NGJmZjcwZGY5NGJhYzJmYWQyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbklu
Zm9DYWNoZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lkIFBsdWdpbkluZm9DYWNoZTo6dXBk
YXRlUGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIGNvbnN0IFBsdWdpbk1vZAog
ICAgICAgICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0
dXJuOwogCi0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAppbmRleCAy
Mjc1YmIzYjIyNmI3ZGJkNDhkMzNjZjBmMzZkMjM0OWQ4NTBiZWM2Li43NDRjYzlkYzcxMGZiODQ0
MWNmMGMyMmRhMTYzMTAyYzMzZjhjNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogICAgIAotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91
dCA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0g
U2Vjb25kcygzMCk7CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVyOjpQcm9jZXNzVGhyb3R0bGVyKFBy
b2Nlc3NUaHJvdHRsZXJDbGllbnQmIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcApp
bmRleCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFjNDA2N2VlZjJiLi5hNDBhOTk4NmMz
NGVkM2FjMmVlY2U3ODM0YzZhNTA0ZjYzZjhmYzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHJlc3BvbnNpdmVuZXNzVGlt
ZW91dCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXNwb25zaXZlbmVzc1RpbWVvdXQgPSBT
ZWNvbmRzKDMpOwogCiBSZXNwb25zaXZlbmVzc1RpbWVyOjpSZXNwb25zaXZlbmVzc1RpbWVyKFJl
c3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCmluZGV4
IGEzZmI3NzBmNWNkYmNkY2I1ZmE3N2FiNGQyZjBiNTQ3NDQ4OTBmNmYuLmUzNDI4NzA2YjFjZDEz
ZmU1MjA4OTVlNWQ0OGJmOWRmN2IyZjhhZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBWaXNpdGVkTGlu
a1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2goTGlua0hhc2ggbGlua0hhc2gpCiAgICAgbV9wZW5k
aW5nVmlzaXRlZExpbmtzLmFkZChsaW5rSGFzaCk7CiAKICAgICBpZiAoIW1fcGVuZGluZ1Zpc2l0
ZWRMaW5rc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFZpc2l0ZWRMaW5rU3RvcmU6OnJl
bW92ZUFsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApp
bmRleCBmN2NlNjlmNGNlOTc2ODJjNGM1MDZmMjNmYmYyNDg2YjBjMDg4Mjc3Li5mMTY0OGVhZThh
ZTg2ZjQwMjAwNmI0ZGY0NDU2NmFkNzg4MTJkNDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBXZWJQcm9jZXNzUG9v
bDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZpZ3Vy
YXRpb24pCiAgICAgLCBtX2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eShtX2NvbmZpZ3Vy
YXRpb24tPmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSgpKQogICAgICwgbV91c2VyT2Jz
ZXJ2YWJsZVBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vz
c1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJs
ZWRGb3JQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nlc3NT
dXBwcmVzc2lvblN0YXRlKCk7IH0pCi0gICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0lu
Y3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJv
dHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDApOyB9KQorICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0
bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRk
ZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsgfSkKICAgICAs
IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQ
cm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCkK
IHsKICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUmV2YWxp
ZGF0ZWRVUkxTY2hlbWVzKCkpCkBAIC01OTgsNyArNTk4LDcgQEAgV2ViUHJvY2Vzc1Byb3h5JiBX
ZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2VzcygpCiAgICAgLy8gaWNvbkRhdGFiYXNl
UGF0aCBpcyBub24tZW1wdHkgYnkgZGVmYXVsdCwgYnV0IG1faWNvbkRhdGFiYXNlIGlzbid0IGVu
YWJsZWQgaW4gVUkgcHJvY2VzcyB1bmxlc3Mgc2V0RGF0YWJhc2VQYXRoIGlzIGNhbGxlZCBleHBs
aWNpdGx5LgogICAgIHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCA9ICFpY29uRGF0YWJh
c2VQYXRoKCkuaXNFbXB0eSgpOwogCi0gICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQg
PSAwOworICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gU2Vjb25kcygwKTsKIAog
ICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSA9IFRleHRDaGVja2VyOjpzdGF0ZSgpOwog
CkBAIC0xNDE5LDEwICsxNDE5LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRl
blBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQoKQogICAgIC8vIFdlJ3JlIGVzdGltYXRp
bmcgYW4gdXBwZXIgYm91bmQgZm9yIGEgc2V0IG9mIGJhY2tncm91bmQgdGltZXIgZmlyZXMgZm9y
IGEgcGFnZSB0byBiZSAyMDBtcwogICAgIC8vIChpbmNsdWRpbmcgYWxsIHRpbWVyIGZpcmVzLCBh
bGwgcGFnaW5nLWluLCBhbmQgYW55IHJlc3VsdGluZyBHQykuIFRvIGVuc3VyZSB0aGlzIGRvZXMg
bm90CiAgICAgLy8gcmVzdWx0IGluIG1vcmUgdGhhbiAxJSBDUFUgbG9hZCBhbGxvdyBmb3Igb25l
IHRpbWVyIGZpcmUgcGVyIDEwMHggdGhpcyBkdXJhdGlvbi4KLSAgICBzdGF0aWMgaW50IG1heGlt
dW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgPSAyMDAgKiAxMDA7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlID0gU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcygyMDApICogMTAwOwogCi0gICAgaW50IGxpbWl0SW5NaWxsaXNlY29uZHMgPSBtYXhp
bXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9J
bmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7Ci0gICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChs
aW1pdEluTWlsbGlzZWNvbmRzKSk7CisgICAgU2Vjb25kcyBsaW1pdCA9IG1heGltdW1UaW1lclRo
cm90dGxlUGVyUGFnZSAqIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRl
ci52YWx1ZSgpOworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6
U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXQpKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCmluZGV4IDg1NzQ1YWMzMGFjN2I4M2UxNDgy
NGJmZmVlYmE2OTA5MTNlOWI0NGEuLjA0NDQ5YTJkNDI2Njc0NmJiNzJhYzdiYmMwMTUzNTVjYmI5
Y2Q2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNr
ZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENo
ZWNrZXJDbGllbnRFZmwuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBUZXh0Q2hlY2tlckNs
aWVudEVmbDo6ZW5zdXJlU3BlbGxDaGVja2luZ0xhbmd1YWdlKCkKIHZvaWQgVGV4dENoZWNrZXJD
bGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGRlZmF1bHRMYW5ndWFnZXMpCiB7CiAgICAgbV9zcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0g
ZGVmYXVsdExhbmd1YWdlczsKLSAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6bGFuZ3VhZ2VzVXBkYXRlVGltZXJG
aXJlZCgpCkBAIC0xMjgsNyArMTI4LDcgQEAgVmVjdG9yPFN0cmluZz4gVGV4dENoZWNrZXJDbGll
bnRFZmw6OmxvYWRlZFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKSBjb25zdAogCiB2b2lkIFRleHRD
aGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxsQ2hlY2tpbmdDaGFuZ2VDYWxsYmFj
a0FzeW5jKCkKIHsKLSAgICBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJvb2wgVGV4dENoZWNrZXJDbGllbnRFZmw6OmlzQ29u
dGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkQ2FsbGJhY2soY29uc3Qgdm9pZCopCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4
IDdlMTU3N2NiYThiMTU3MDUyNjRlNWJhNTQ3NWZmYzU5NjJkYWI4ODkuLjIxNTEyNjAzOWM4NzNh
MjE1ZTAwY2IyMTM4ZGJiYTU2OTNiMmRlODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgdm9p
ZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OmJlZ2luKERyYWdHZXN0dXJlKiBkcmFn
R2VzdHVyZSwgZG91YmxlIHgsIGQKICAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a19ldmVudF9j
b250cm9sbGVyX2dldF93aWRnZXQoR1RLX0VWRU5UX0NPTlRST0xMRVIoZ2VzdHVyZSkpOwogICAg
IHVuc2lnbmVkIGRlbGF5OwogICAgIGdfb2JqZWN0X2dldChndGtfd2lkZ2V0X2dldF9zZXR0aW5n
cyh3aWRnZXQpLCAiZ3RrLWxvbmctcHJlc3MtdGltZSIsICZkZWxheSwgbnVsbHB0cik7Ci0gICAg
ZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoZGVsYXkgLyAxMDAw
LjApOworICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoZGVsYXkpKTsKIH0KIAogdm9pZCBHZXN0dXJlQ29udHJv
bGxlcjo6RHJhZ0dlc3R1cmU6OnVwZGF0ZShEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJs
ZSB4LCBkb3VibGUgeSwgR3RrR2VzdHVyZSogZ2VzdHVyZSkKQEAgLTIwNiw3ICsyMDYsNyBAQCB2
b2lkIEdlc3R1cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKFpvb21HZXN0
dXJlKiB6b29tR2VzdHVyZSwgZG91YgogICAgIGlmICh6b29tR2VzdHVyZS0+bV9pZGxlLmlzQWN0
aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHpvb21HZXN0dXJlLT5tX2lkbGUuc3RhcnRP
bmVTaG90KDApOworICAgIHpvb21HZXN0dXJlLT5tX2lkbGUuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiBHZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1cmU6Olpvb21HZXN0dXJlKFdl
YlBhZ2VQcm94eSYgcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0
ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKaW5kZXggZGMxOThkODU4ZjEzYTNjMTIzNmU1MTFk
MzhkYjY4NTI2MTM3ODRhNC4uMWY5NTY1ZTRiNTFkZjEzMzFkNTQxYWUxN2FhN2YwMjA3MzIzM2Iw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQ
cm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1l
bnVQcm94eUd0ay5jcHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5
R3RrOjptZW51VW5tYXBwZWRDYWxsYmFjayhHdGtXaWRnZXQqLCBXZWJQb3B1cE1lbnVQcm94eUd0
awogICAgIC8vIFdoZW4gYW4gaXRlbSBpcyBhY3RpdmF0ZWQsIHRoZSBtZW51IGlzIGZpcnN0IGhp
ZGRlbiBhbmQgdGhlbiBhY3RpdmF0ZSBzaWduYWwgaXMgZW1pdHRlZCwgc28gYXQgdGhpcyBwb2lu
dCB3ZSBkb24ndCBrbm93CiAgICAgLy8gaWYgdGhlIG1lbnUgaGFzIGJlZW4gaGlkZGVuIGJlY2F1
c2UgYW4gaXRlbSBoYXMgYmVlbiBzZWxlY3RlZCBvciBiZWNhdXNlIHRoZSBtZW51IGhhcyBiZWVu
IGRpc21pc3NlZC4gV2FpdCB1bnRpbCB0aGUgbmV4dAogICAgIC8vIG1haW4gbG9vcCBpdGVyYXRp
b24gdG8gZGlzbWlzcyB0aGUgbWVudSwgaWYgYW4gaXRlbSBpcyBhY3RpdmF0ZWQgdGhlIHRpbWVy
IHdpbGwgYmUgY2FuY2VsbGVkLgotICAgIHBvcHVwTWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBwb3B1cE1lbnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6OnNlbGVj
dEl0ZW1DYWxsYmFjayhHdGtXaWRnZXQqIGl0ZW0sIFdlYlBvcHVwTWVudVByb3h5R3RrKiBwb3B1
cE1lbnUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3Bl
Y3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0
b3JQcm94eU1hYy5tbQppbmRleCA4MThiZDM5MGQ0ODNkMDgyMmJhZTc5MzRlMTA2ZmRiYjBjZGZm
ODU0Li43MjVhOWZkODk5ZDVmZDkzZWIzNzY0YjBhZWU3ZDdiYjU3MTk1MDdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0K
QEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93U3R5bGVNYXNr
ID0gTlNXaW5kb3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0eWwKIAogLy8gVGhlIHRpbWUg
d2Uga2VlcCBvdXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xvc2luZyBpdCBhbmQgaXRzIHByb2Nl
c3MuCiAvLyBSZXVzaW5nIHRoZSBXZWJWaWV3IGltcHJvdmVzIHN0YXJ0IHVwIHRpbWUgZm9yIHBl
b3BsZSB0aGF0IGp1bXAgaW4gYW5kIG91dCBvZiB0aGUgSW5zcGVjdG9yLgotc3RhdGljIGNvbnN0
IHVuc2lnbmVkIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHdlYlZpZXdDbG9zZVRpbWVvdXQgPSBTZWNvbmRzKDYwKTsKIAogLy8gV0tXZWJJbnNwZWN0b3JQ
cm94eU9iakNBZGFwdGVyIGlzIGEgaGVscGVyIE9iakMgb2JqZWN0IHVzZWQgYXMgYSBkZWxlZ2F0
ZSBvciBub3RpZmljYXRpb24gb2JzZXJ2ZXIKIC8vIGZvciB0aGUgc29sZSBwdXJwb3NlIG9mIGdl
dHRpbmcgYmFjayBpbnRvIHRoZSBDKysgY29kZSBmcm9tIGFuIE9iakMgY2FsbGVyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVn
eS5jcHAKaW5kZXggZTg5MWNkMDMyYjJmNDM2NjRiNjdlMDZkYmVjY2M4ZWUwMzU4ZGQ4Zi4uZDli
ODI4YTFjODc5ZGJhMWI4ZmZmZjkzMWQxZjBlNjVkM2I4MWViMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBA
IC05MSwxNCArOTEsMTQgQEAgUmVmUHRyPE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyPiBXZWJM
b2FkZXJTdHJhdGVneTo6c2NoZWR1bGVQbHVnaW5TdHJlYW1Mb2FkKEYKICAgICByZXR1cm4gbG9h
ZGVyOwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVy
aW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCitzdGF0aWMgU2Vjb25kcyBtYXhpbXVt
QnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAjaWYgIUVOQUJMRShO
RVRXT1JLX0NBQ0hFKQotICAgIHJldHVybiAwbXM7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiAj
ZW5kaWYKIAogICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAg
IHJldHVybiBTZWNvbmRzKDApOwogCiAgICAgc3dpdGNoIChyZXNvdXJjZS0+dHlwZSgpKSB7CiAg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDoKQEAgLTEwNyw5ICsxMDcsOSBA
QCBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShD
YWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9u
dFJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNl
OgotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCk7CisgICAg
ICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
OkltYWdlUmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiA1MDBtczsKKyAgICAgICAgcmV0dXJuIFNl
Y29uZHMoMC41KTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNZWRpYVJlc291cmNlOgogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpSYXdSZXNvdXJjZToKQEAgLTEyNCwxMSArMTI0LDExIEBAIHN0YXRpYyBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNv
dXJjZSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHls
ZVNoZWV0OgogI2VuZGlmCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiBTZWNv
bmRzKDApOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAw
bXM7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6
OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGly
ZWN0KQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxl
TG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiB2b2lkIFdl
YkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUludGVybmFsbHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlcikKIHsKICAgICBtX2ludGVybmFsbHlGYWlsZWRS
ZXNvdXJjZUxvYWRlcnMuYWRkKCZyZXNvdXJjZUxvYWRlcik7Ci0gICAgbV9pbnRlcm5hbGx5RmFp
bGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ludGVybmFsbHlGYWlsZWRMb2Fk
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0
ZWd5OjppbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1l
T2JqZWN0TWFwLmNwcAppbmRleCA0OTkyMGYyY2FhODRmNzY5YjYyZDI0NjJhOWM5ODA3ZjUyMGNm
M2VkLi5hNWU2NmFjYTczZTE5Y2E1Zjk0M2UxMjVhYTRiNjRjZjg4OWEwOWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2Jq
ZWN0TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcApAQCAtMjkzLDcgKzI5Myw3IEBAIHZvaWQgTlBSdW50
aW1lT2JqZWN0TWFwOjphZGRUb0ludmFsaWRhdGlvblF1ZXVlKE5QT2JqZWN0KiBucE9iamVjdCkK
ICAgICBpZiAodHJ5U2FmZVJlbGVhc2VOUE9iamVjdChucE9iamVjdCkpCiAgICAgICAgIHJldHVy
bjsKICAgICBpZiAobV9ucE9iamVjdHNUb0ZpbmFsaXplLmlzRW1wdHkoKSkKLSAgICAgICAgbV9m
aW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZmluYWxpemF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIEFTU0VSVChtX2ZpbmFsaXphdGlv
blRpbWVyLmlzQWN0aXZlKCkpOwogICAgIG1fbnBPYmplY3RzVG9GaW5hbGl6ZS5hcHBlbmQobnBP
YmplY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKaW5kZXggNWM5YTkxODI0NTY2YTQ2
MzAxMGMwZTczOTY4MDM0NTdlMzMzNDc3ZC4uNTQxNzFjMjI1NDc4Zjc2NmRjMmM2YWFiNTcwOTA0
YzUxYzBjYjBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCkBAIC0zMjYsNyArMzI2LDcg
QEAgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjp+VGltZXIoKQogCiB2b2lkIE5ldHNjYXBlUGx1Z2lu
OjpUaW1lcjo6c3RhcnQoKQogewotICAgIGRvdWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFs
IC8gMTAwMC4wOworICAgIFNlY29uZHMgdGltZUludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcyhtX2ludGVydmFsKTsKIAogICAgIGlmIChtX3JlcGVhdCkKICAgICAgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdp
blN0cmVhbS5jcHAKaW5kZXggN2Q1NGQ4OGM3ZTg5OGM1Y2UwYmFkZjFkNzY5YjJlNWQzNWQ5YTI1
NC4uYTc1YTY2MjMxOTQ1MDEwZmQ2YmUwZDIwNTljYzI1NGJjMzZhMjkyOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCkBAIC0yMjIsNyArMjIyLDcgQEAgdm9pZCBOZXRz
Y2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUb1BsdWdpbigpCiAKICAgICAgICAgaWYgKG51
bUJ5dGVzUGx1Z2luQ2FuSGFuZGxlIDw9IDApIHsKICAgICAgICAgICAgIC8vIFRoZSBwbHVnLWlu
IGNhbid0IGhhbmRsZSBtb3JlIGRhdGEsIHdlJ2xsIHNlbmQgdGhlIHJlc3QgbGF0ZXIKLSAgICAg
ICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAg
bV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5t
bQppbmRleCBiOTI2ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1NDNjNmFjYzJlNWUwLi41YTk2NDEx
OGIzZjQ5N2Q3MjU2M2U0MzZlZmE1NGFkMGMxYmNkYTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0
c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmbmRlZiBOUF9OT19DQVJCT04KLXN0YXRpYyBj
b25zdCBkb3VibGUgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyOworc3RhdGljIGNvbnN0
IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSBTZWNvbmRzKDAuMDIpOwogCiBzdGF0
aWMgdW5zaWduZWQgYnV0dG9uU3RhdGVGcm9tTGFzdE1vdXNlRXZlbnQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBhMGQ4YWI4
NjZmYzBiYWQxMDIwYmQxNjViZmQ1NGY1NWUyMWNmNjk0Li4yMWU2ZjBmYTczNDlmYWJjMzdkZGYw
MjY5OTQxOWQ0MzQ0ZTQ1MDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIFRoaXMgc2ltdWxhdGVkIG1vdXNlIGNs
aWNrIGRlbGF5IGluIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIHNob3VsZCBnZW5lcmFsbHkg
YmUgdGhlIHNhbWUgb3Igc2hvcnRlciB0aGFuIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29uc3QgYXV0
byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsg
MTEwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGx1Z2luU25hcHNob3RUaW1lckRlbGF5ID0g
U2Vjb25kcygxLjEpOwogCiBjbGFzcyBQbHVnaW5WaWV3OjpVUkxSZXF1ZXN0IDogcHVibGljIFJl
ZkNvdW50ZWQ8VVJMUmVxdWVzdD4gewogcHVibGljOgpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1lckZpcmVkKCkKIAogICAgIC8vIElm
IHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIHRvIHBlcmZvcm0sIHJlc2NoZWR1bGUgdGhlIHRpbWVy
LgogICAgIGlmICghbV9wZW5kaW5nVVJMUmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3Bl
bmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5n
VVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgCiAgICAgcGVy
Zm9ybVVSTFJlcXVlc3QodXJsUmVxdWVzdC5nZXQoKSk7CiB9CkBAIC0xNDIzLDcgKzE0MjMsNyBA
QCB2b2lkIFBsdWdpblZpZXc6OmxvYWRVUkwodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJp
bmcmIG1ldGhvZCwgY29uc3QgU3RyaW5nJgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLnNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAKICAgICBtX3BlbmRpbmdV
UkxSZXF1ZXN0cy5hcHBlbmQoVVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3RJRCwgZnJhbWVMb2Fk
UmVxdWVzdCwgYWxsb3dQb3B1cHMpKTsKLSAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBQbHVnaW5WaWV3OjpjYW5jZWxTdHJlYW1Mb2FkKHVp
bnQ2NF90IHN0cmVhbUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGI4NzhmYmM5ODQy
ZTNlYmFkNjdmNmZmOThkNzk5MGM5Y2E2MzA1ZTUuLjY3ZmZkMjg0YTJkMTg3NjFkOTVlNjgyYjg0
MDljNTQ4OGExMWVlZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTM0Miw3ICszNDIs
NyBAQCB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nTW9kZVNvb24oKQogICAgIGlmIChleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVQZW5k
aW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VT
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGlu
YXRvci5jcHAKaW5kZXggZjNkYWVmYzc4NzZkOTgzYmUxNWM5YmJjMmRhYWMxODI1ZThhYmMyNy4u
M2I0YjFkODY1ODZkMjQxZmI5YzZiMmU1OWZkY2EwNWEzODZlZDRjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9z
aXRpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTE1
NSwxMSArMTU1LDExIEBAIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c3luY0Rpc3BsYXlT
dGF0ZSgpCiB9CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi1kb3VibGUg
Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QK
K1NlY29uZHMgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1l
KCkgY29uc3QKIHsKICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSBzcGVjLCByQUYgY2FsbGJhY2tzIHNob3VsZCBub3QgYmUgZmFzdGVyIHRoYW4gNjBGUFMuCi0g
ICAgc3RhdGljIGNvbnN0IGRvdWJsZSBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgPSAxLiAv
IDYwLjsKLSAgICByZXR1cm4gc3RkOjptYXg8ZG91YmxlPigwLiwgTWluaW1hbFRpbWVvdXRGb3JB
bmltYXRpb25zIC0gdGltZXN0YW1wKCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGltZSk7Cisg
ICAgc3RhdGljIGNvbnN0IFNlY29uZHMgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zID0gU2Vj
b25kcygxLiAvIDYwKTsKKyAgICByZXR1cm4gc3RkOjptYXg8U2Vjb25kcz4oU2Vjb25kcygwKSwg
TWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gU2Vjb25kcyh0aW1lc3RhbXAoKSArIG1fbGFz
dEFuaW1hdGlvblNlcnZpY2VUaW1lKSk7CiB9CiAjZW5kaWYKIApAQCAtMzk4LDcgKzM5OCw3IEBA
IGJvb2wgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6
ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmCiAgICAgcmV0dXJuIG1fdXBkYXRlQXRsYXNlcy5sYXN0
KCktPnBhaW50T25BdmFpbGFibGVCdWZmZXIoc2l6ZSwgYXRsYXNJRCwgb2Zmc2V0LCBjbGllbnQp
OwogfQogCi1jb25zdCBkb3VibGUgUmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwg
PSAwLjU7Citjb25zdCBTZWNvbmRzIFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFs
ID0gU2Vjb25kcygwLjUpOwogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxl
UmVsZWFzZUluYWN0aXZlQXRsYXNlcygpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5h
dG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggZjk4YTM2YmMyN2E3ZjJiY2UxNzdk
MTI3Y2Y5N2Y2OWRiZTFjNzUxYS4uZWJmNjViYjdmOWNkYjdlY2UyN2JjZjAxMDMzNzVkNGNmZDhl
MjM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuaApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzeW5jRGlzcGxh
eVN0YXRlKCk7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi0gICAgZG91
YmxlIG5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dEFu
aW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3Bw
CmluZGV4IDlmNmE4MzIxZTNmMjUxYWE1ZTM2ZTUzNzE4ZDhjYWE5Nzc4MDk1NmEuLjAyY2Q3MTRj
YjY1YmM1MzgwMmMwZTlhZmVkMWE3MGU0ODcyOGRkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtNzksNyAr
NzksNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2NoZWR1bGVMYXllckZsdXNo
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBD
b29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNhbmNlbFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5j
cHAKaW5kZXggNTRiNGVhZDk4M2Y3NTZiZDE0OGUxYWY0Y2JlZDY0NzM5ODA3OTQyZC4uMmQ0YzRk
MDg3MWU4ZWYzZTcyZWU5MmE0NmQyN2YyN2ZlNTIxYjI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM0Miw3
ICszNDIsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVEaXNwbGF5KCkKICAgICBp
ZiAobV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9k
aXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXlUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAppbmRleCBkOTUwMTgzZjUxYzI1NzI5MTNmY2FiNzJkNjQwMTU5ZjE3OTIxMjM2Li5jOGRjYjRl
YTI0NmYzZDA1NjQ2NTdkMDkzMjBhMzYxMzMyZjIyNmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNTMsOSArMjUzLDkgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzU2Vjb25kcyA9IDAuMzsKLXN0YXRpYyBjb25zdCBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVy
dmFsIHsgMjAgfTsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBtYXhpbXVtTGF5
ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCB7IDIgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBh
Z2VTY3JvbGxIeXN0ZXJlc2lzID0gU2Vjb25kcygwLjMpOworc3RhdGljIGNvbnN0IFNlY29uZHMg
aW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlz
ZWNvbmRzKDIwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlU
aW1lckludGVydmFsID0gU2Vjb25kcygyKTsKIAogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVy
cywgX19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoLi4u
KSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJz
LCBfX1ZBX0FSR1NfXykKQEAgLTMxNCw3ICszMTQsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2
NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXIoKnRoaXMpCiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNp
cyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lz
U3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0
ZXJlc2lzU2Vjb25kcykKKyAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlz
dGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3Bw
ZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzKQogICAg
ICwgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5jYW5SdW5CZWZv
cmVVbmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMuY2Fu
UnVuTW9kYWwpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMjA1MSw3ICsyMDUxLDcgQEAgdm9pZCBX
ZWJQYWdlOjpjYWxsVm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycygpCiAKIHZvaWQgV2ViUGFn
ZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7Ci0gICAgYXV0byBuZXdJbnRlcnZhbCA9
IDIgKiBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsTVMoKTsKKyAgICBTZWNv
bmRzIG5ld0ludGVydmFsID0gbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbCgp
ICogMjsKICAgICBib29sIGRpZFN1Y2NlZWQgPSBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVs
eUlmUG9zc2libGUoKTsKICAgICBpZiAoZGlkU3VjY2VlZCB8fCBuZXdJbnRlcnZhbCA+IG1heGlt
dW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKSB7CiAgICAgICAgIG1fbGF5ZXJWb2xhdGls
aXR5VGltZXIuc3RvcCgpOwpAQCAtMjA2MCw3ICsyMDYwLDcgQEAgdm9pZCBXZWJQYWdlOjpsYXll
clZvbGF0aWxpdHlUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJr
IGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIHN0
YXRpY19jYXN0PGxvbmcgbG9uZz4obmV3SW50ZXJ2YWwuY291bnQoKSkpOworICAgIFJFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBs
YXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgbmV3SW50ZXJ2
YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhu
ZXdJbnRlcnZhbCk7CiB9CiAKQEAgLTIwOTEsNyArMjA5MSw3IEBAIHZvaWQgV2ViUGFnZTo6bWFy
a0xheWVyc1ZvbGF0aWxlKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIp
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIl
cCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4g
JWxsZCBtcyIsIHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxs
IGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBpbml0aWFs
TGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRp
bGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVy
dmFsKTsKIH0KIApAQCAtMjUzMCw3ICsyNTMwLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVJc0lu
V2luZG93KGJvb2wgaXNJbml0aWFsU3RhdGUpCiAgICAgICAgIC8vIGluIG9yZGVyIHRvIGdldCBw
bHVnLWluIGNvbm5lY3Rpb25zLCBhbmQgdGhlIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIGZv
ciB0aGUgV2ViIHByb2Nlc3MgdG8gdXBkYXRlIHRoZSBiYWNraW5nCiAgICAgICAgIC8vIHN0b3Jl
IGFmdGVyIG1vdmluZyB0aGUgdmlldyBpbnRvIGEgd2luZG93LCB1bnRpbCBpdCB0aW1lcyBvdXQg
YW5kIHBhaW50cyB3aGl0ZS4gU2VlIDxyZGFyOi8vcHJvYmxlbS85MjQyNzcxPi4KICAgICAgICAg
aWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdykKLSAgICAgICAgICAgIG1fc2V0Q2FuU3Rh
cnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRN
ZWRpYVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5wYWdlRGlkRW50ZXJXaW5kb3cobV9wYWdlSUQpOwogICAgIH0KQEAgLTMw
MzcsNyArMzAzNyw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2Vi
UHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjZW5kaWYKIAogICAgIHNldHRpbmdzLnNldFN1cHBy
ZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZ0tleSgpKSk7Ci0gICAg
c2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29u
ZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmluY3JlbWVu
dGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0S2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRJ
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dChTZWNvbmRzKHN0b3JlLmdldERv
dWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjppbmNyZW1lbnRhbFJlbmRlcmluZ1N1
cHByZXNzaW9uVGltZW91dEtleSgpKSkpOwogICAgIHNldHRpbmdzLnNldEJhY2tzcGFjZUtleU5h
dmlnYXRpb25FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNl
dFdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3Ioc3RvcmUuZ2V0Qm9vbFZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3YW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0Jl
aGF2aW9yS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhcmV0QnJvd3NpbmdFbmFi
bGVkS2V5KCkpKTsKQEAgLTMxMTAsNyArMzExMCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3Mu
c2V0QWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3Jv
bGxLZXkoKSkpOwogCiAgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhc3N3b3JkRWNob0VuYWJsZWRL
ZXkoKSkpOwotICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKHN0
b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYXNzd29yZEVjaG9E
dXJhdGlvbktleSgpKSk7CisgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb24oU2Vj
b25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFzc3dv
cmRFY2hvRHVyYXRpb25LZXkoKSkpKTsKICAgICAKICAgICBzZXR0aW5ncy5zZXRMYXlvdXRJbnRl
cnZhbChzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6bGF5b3V0SW50ZXJ2YWxLZXkoKSkpKSk7CiAgICAgc2V0dGlu
Z3Muc2V0TWF4UGFyc2VEdXJhdGlvbihzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6bWF4UGFyc2VEdXJhdGlvbktleSgpKSk7CkBAIC0zODQ0LDcgKzM4NDQsNyBA
QCB2b2lkIFdlYlBhZ2U6OmFkZFBsdWdpblZpZXcoUGx1Z2luVmlldyogcGx1Z2luVmlldykKICAg
ICBtX2hhc1NlZW5QbHVnaW4gPSB0cnVlOwogI2lmIEVOQUJMRShQUklNQVJZX1NOQVBTSE9UVEVE
X1BMVUdJTl9IRVVSSVNUSUMpCiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0
ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGFkZFBsdWdpblZpZXcoJXApIiwgcGx1
Z2luVmlldyk7Ci0gICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5U
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZW5kaWYKIH0KIApAQCAtNDM4MSw3ICs0
MzgxLDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wg
bWF5U3RhcnRNZWRpYSkKIAogICAgIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9IG1heVN0
YXJ0TWVkaWE7CiAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyAmJiBtX3BhZ2Ut
PmlzSW5XaW5kb3coKSkKLSAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6cnVuTW9kYWwoKQpAQCAtNTE1OSw3ICs1MTU5
LDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAogICAg
IG1fcmVhZHlUb0ZpbmRQcmltYXJ5U25hcHNob3R0ZWRQbHVnaW4gPSB0cnVlOwogICAgIExPRyhQ
bHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24g
ZnJvbSBkaWRGaW5pc2hMb2FkIChtYXJraW5nIGFzIHJlYWR5IHRvIGRldGVjdCkuIik7Ci0gICAg
bV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAjZW5kaWYK
QEAgLTUxNzEsNyArNTE3MSw3IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBwcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5TZWFyY2hCdWNrZXRTaXplID0gMS4xOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtV2lkdGggPSA0MDA7CiBzdGF0aWMgY29uc3QgaW50IHBy
aW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1pbmltdW1IZWlnaHQgPSAzMDA7CiBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMgPSAy
Owotc3RhdGljIGNvbnN0IGludCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVj
dGlvbkRlbGF5ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmVycmVkUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSBTZWNvbmRzKDMpOwogc3RhdGljIGNvbnN0IGZs
b2F0IG92ZXJsYXBwaW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBmbG9h
dCBtaW5pbXVtT3ZlcmxhcHBpbmdJbWFnZVRvUGx1Z2luRGltZW5zaW9uU2NhbGUgPSAuOTsKIApA
QCAtNTI3OSw3ICs1Mjc5LDcgQEAgdm9pZCBXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNo
b3R0ZWRQbHVnSW4oKQogICAgIGlmICghY2FuZGlkYXRlUGx1Z0luKSB7CiAgICAgICAgIExPRyhQ
bHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogZmFpbCAtIGRpZCBub3QgZmluZCBh
IGNhbmRpZGF0ZSBwbHVnLWluLiIpOwogICAgICAgICBpZiAobV9udW1iZXJPZlByaW1hcnlTbmFw
c2hvdERldGVjdGlvbkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0
aW9uQXR0ZW1wdHMpIHsKLSAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUlu
IERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICVkcy4iLCBkZWZlcnJlZFByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKKyAgICAgICAgICAgIExPRyhQbHVnaW5z
LCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICUuM2Zz
LiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkudmFsdWUo
KSk7CiAgICAgICAgICAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVy
LnN0YXJ0T25lU2hvdChkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRl
bGF5KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA2OTMwNTNmN2Q4MmJhNGY5ZTg5ZWNkMTY5N2M4
YTE2ZGI4YWJjMjQxLi5jZTY4OWRmYjUwZTU5MDYwODJiYTc2ZjU1NzliNGZiYjI4NWNmYzU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTMwMCw3
ICszMDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBj
b25zdDsKICAgICB2b2lkIHNldEFjdGl2ZVBvcHVwTWVudShXZWJQb3B1cE1lbnUqKTsKIAotICAg
IHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiAgICAgewogICAgICAgICBtX3BhZ2Ut
PnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KGxpbWl0KTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCA1OTRkOTAwZWZmMDIyMGY4
M2NkYWYwYzNmZDk4YjllYmY3MTkyYmNkLi4zOTI2MGQ3NjI5ZGVlYTc1YjA1MjQ2NTMyZTRhYTdk
NDcxMWUzZGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTI4
NSw3ICsyODUsNyBAQCBUaWxlZEJhY2tpbmcqIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpt
YWluRnJhbWVUaWxlZEJhY2tpbmcoKSBjb25zdAogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5KCkKIHsKLSAg
ICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMG1zKTsKKyAgICBtX2xheWVyRmx1c2hU
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKQEAgLTMwNCw5ICsz
MDQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0
aW5nTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZsdXNoRGVsYXkgPSA1MDBt
czsKLSAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxNTAwbXM7Ci0gICAgYXV0byB0aHJvdHRs
ZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9pc0luaXRpYWxUaHJvdHRs
ZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERlbGF5KSA6IDBtczsKKyAg
ICBjb25zdCBTZWNvbmRzIGluaXRpYWxGbHVzaERlbGF5ID0gU2Vjb25kcygwLjUpOworICAgIGNv
bnN0IFNlY29uZHMgZmx1c2hEZWxheSA9IFNlY29uZHMoMS41KTsKKyAgICBTZWNvbmRzIHRocm90
dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90
dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDogU2Vjb25k
cygwKTsKICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsKIAogICAg
IG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDU4ZDhhOWFjYjBjM2Q4YTZl
NjQwOTRmZWZiZTk2MjAyYjg0ZTYxZTkuLjQzYWRlMzZmOTZjMTI1MTM0MjRkZTRiZGU0ZDhhM2Q2
NWIwNDkyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpA
QCAtNDcyLDcgKzQ3Miw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFj
dGl2aXR5U3RhdGVEaWRDaGFuZ2UoQWN0aXZpdHlTdGF0ZTo6RmxhZ3MKICAgICB9CiAKICAgICBp
ZiAobV93YW50c0RpZFVwZGF0ZUFjdGl2aXR5U3RhdGUgfHwgIW1fbmV4dEFjdGl2aXR5U3RhdGVD
aGFuZ2VDYWxsYmFja0lEcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2
aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2VuZERpZFVwZGF0ZUFj
dGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGRkMDBh
MThkOWI2MjE2NWQ5MzYyYTk4MmU0ZmU3NjU4ODcxZTUxOWEuLjU2NDAxMzAzNjkwMDM3NDFmYjgw
ZjEzMjhlNTQ3ZWJlNjIxZDU1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogc3Rh
dGljIGNvbnN0IGRvdWJsZSBwbHVnSW5BdXRvU3RhcnRFeHBpcmF0aW9uVGltZVVwZGF0ZVRocmVz
aG9sZCA9IDI5ICogMjQgKiA2MCAqIDYwOwogCiAvLyBUaGlzIHNob3VsZCBiZSBncmVhdGVyIHRo
YW4gdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgaW4gVGlsZUNvbnRyb2xsZXIuCi1zdGF0aWMgY29u
c3QgZG91YmxlIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTA7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IFNlY29uZHMoMTApOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjExLDcgKzIxMSw3IEBAIFdlYlByb2Nlc3M6Oldl
YlByb2Nlc3MoKQogICAgICAgICBpZiAobV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLmlzQWN0aXZl
KCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAgICBtX3N0YXRpc3RpY3ND
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUpKTsKKyAgICAg
ICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDUpKTsKICAg
ICB9KTsKIH0KIApAQCAtNTM4LDcgKzUzOCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0Q2FjaGVN
b2RlbCh1aW50MzJfdCBjbSkKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwog
ICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNo
ZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsOwogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAw
OwogICAgIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoY2FjaGVNb2RlbCwgY2FjaGVUb3RhbENh
cGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBhZ2VDYWNoZVNpemUpOwogCkBAIC0xMjQ0LDEw
ICsxMjQ0LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5z
KFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvCiAgICAgfQogfQogCi12b2lkIFdl
YlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBt
aWxsaXNlY29uZHMpCit2b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxp
bmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiB7CiAgICAgZm9yIChhdXRvJiBwYWdlIDog
bV9wYWdlTWFwLnZhbHVlcygpKQotICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJv
dHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25k
cykpOworICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VM
aW1pdChsaW1pdCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0MWJmZDU0ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFh
MWYyN2I1YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3NTY2ZGIzODM0ZWY3YzRmOTA3YzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0xODgsNyArMTg4LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygpOwogCi0gICAgdm9pZCBzZXRIaWRk
ZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChpbnQgbWlsbGlzZWNvbmRzKTsKKyAg
ICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMp
OwogCiAgICAgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmRJbW1pbmVudGx5KGJvb2wmIGhhbmRsZWQp
OwogICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDZkNzZlNTgzMjZlZDM1MjRhYWM1
YTk4NmM0OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4YTZlNGE5NzA2YjFmYzFkNjY5YjFlMWM2Yjc4
MjAyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVz
c2FnZXMuaW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lS
ZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURhdGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVz
LCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50IG1vZGlmaWVkU2luY2UpIC0+
ICgpCiAgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFU
eXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2lucykgLT4gKCkK
IAotICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxs
aXNlY29uZHMpCisgICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQo
U2Vjb25kcyBsaW1pdCkKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxh
ZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTZXRRT1MoaW50IGxhdGVuY3lRT1MsIGludCB0
aHJvdWdocHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDg3NjMwMzA0ZGQ5NWM0N2VkN2QxY2UwMTNmYmZlNGZiNmMzNDMyZWQuLmQ2MDRk
OTlhNWEwNWFmZjA3OGYyZWRlOWI3MWFiYjJhNzNiZTQwOGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0xMS0y
NiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFu
Z2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNo
cm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1
MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hh
bmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFj
aW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3Zp
bmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisK
IDIwMTYtMTEtMjQgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIE5vdGlmaWNhdGlvbnMgQVBJIGRvZXMgbm90IGV4cG9zZSBvciByZXNw
ZWN0IHRoZSAidGFnIiBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVu
TG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZmZTNkYi4u
Nzk0YjM5YTljOGUxYWQzYWM5YTZjNTM3OTg5NDRlMjg5OWI0Yjc2MSAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgVEVTVChXVEZf
UnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGlt
ZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMSk7CisgICAg
ICAgIHRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAuMSkpOwogICAgICAgICBVdGlsOjpydW4o
JnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQpAQCAtMTI5LDcgKzEyOSw3IEBAIFRFU1QoV1RGX1J1
bkxvb3AsIFJlcGVhdGluZ1RpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGlt
ZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMSk7Cisg
ICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4wMSkpOwogICAgICAgICBVdGls
OjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295442</attachid>
            <date>2016-11-26 14:44:23 -0800</date>
            <delta_ts>2016-11-26 16:33:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161126144402.patch</filename>
            <type>text/plain</type>
            <size>377849</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OWI0MjljMjk4ZDljZDEyMzEyOWIwNjE0OGQwZmU0ZmM5MjA5ODc5Li5lMjYyZGE0Njk0ZjBkZTYw
MjA1YzQzYjQ4MDIwOWYyZDZiYmViNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0xMS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6YWRkR2FyYmFnZUNv
bGxlY3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpzcGVjaWVzQ29uc3RydWN0QXJyYXkpOgorCiAyMDE2LTExLTIzICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFX0FTU0VN
QkxFUl9XWF9FWENMVVNJVkUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA5ZjNmOGYyOTFjMzNkZmM2NWRhNzUzNWRmYWI1
NThiMzk3NzdjZDZlLi4wYWYyNjRmNGExZDY5NDY0NDZkNDQ0MzQ5NzI2NjM5ZTgxN2E0NzU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25k
cywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3Ag
VGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3
CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRz
LgorCisgICAgICAgICogd3RmL1J1bkxvb3AuaDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKiB3dGYvUnVuTG9vcFRpbWVyLmg6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lckNGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcFRpbWVyQmFz
ZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi9jZi9SdW5Mb29wQ0YuY3BwOgorICAgICAgICAoV1RG
OjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKwogMjAxNi0xMS0yMiAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgT25lIG1vcmUgdGlueSBiaXQgb2YgZm9sbG93
LXVwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGJiZGY5ZDQ5NWIxMzg1NzhkZGU5ZWVkOWYyOTczMmNjNGQxZWEz
ZmUuLmQyY2UyMmI3ZmM4MDY4NGJiM2M5ZGE0ZDk2MjEwY2JmYmYzMzNkNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0NzkgQEAKKzIwMTYtMTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBU
aW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcK
KyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMu
CisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpn
ZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAq
IE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxl
T3BlcmF0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGlt
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJhbmdlUmVtb3ZhbCk6CisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtOjpzY2hlZHVsZUFjdGl2ZVN0YXRlQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRFRN
RlNlbmRlcjo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RhdGFDaGFu
bmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2Vu
dGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
U29ja2V0Q2hhbm5lbDo6cmVzdW1lKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAg
ICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFN0YXR1cyk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29uKToKKyAg
ICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9N
YXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1
cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVz
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJr
aXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20v
RXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRj
aEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01pY3JvdGFza3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAg
ICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0
UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAq
IGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAg
ICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6
CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNs
ZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFs
dGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAg
ICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6CisgICAgICAgICogZWRpdGluZy9TcGVsbENo
ZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5pbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAg
ICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAg
ICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAg
ICAgIChNZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6c2NoZWR1bGVFdmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxl
VGltZXVwZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGh0bWwvTWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURv
Y3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVu
dFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAg
ICAgKiBodG1sL1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJ
bnB1dFR5cGU6OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6
OnJlcXVlc3RUb0hpZGVNZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVD
b250ZXh0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5r
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hl
ZHVsZUZvclJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNw
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVy
RWxlbWVudDo6dXBkYXRlU2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0
VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxl
TG9hZCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRh
c2s6OnNjaGVkdWxlRm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2No
ZWR1bGVGb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6
OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRh
c2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c3RhcnREYXRhTG9hZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpk
ZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVj
a0NvbXBsZXRlVGltZXIpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAg
ICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHA6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBs
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
Q2FsbGJhY2spOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3Vy
Y2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2Rl
ZERhdGFJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJh
Y2s6OkNhbGxiYWNrKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25l
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVtb3J5Q2FjaGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVy
ZW5jZUNoYW5nZXMpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAg
IChXZWJDb3JlOjpET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6
CisgICAgICAgICogcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBh
Z2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRy
YWNrZXI6Ok1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11
bUR1cmF0aW9uVHJhY2tlcjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVs
ZUhvdmVyU3RhdGVVcGRhdGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAg
ICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6cGFyc2VFdmVudFN0cmVhbUxpbmUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoK
KyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRJ
bWFnZXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5pbXVtRE9N
VGltZXJJbnRlcnZhbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6Om1pbmltdW1ET01UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46Cisg
ICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1
c3BlbmRhYmxlVGltZXI6OlN1c3BlbmRhYmxlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3Vz
cGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxl
VGltZXI6OnJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVU
aW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxl
VGltZXIuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0
YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVB
bmltYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFu
aW1hdGlvblVwZGF0ZSk6CisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xh
dGNoZWRTdGF0ZUlmTmVlZGVkKToKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVj
dGlvblJlY3RzRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNo
b3VsZEJlU2hvd24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQpOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJ
bmRpY2F0b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93
OjpzZXRUZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVl
U3RhdGVDb21taXQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBv
c3RUYXNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6SHlzdGVyZXNpc0FjdGl2aXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Nj
cm9sbFByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6c3RhcnRUaW1l
cklmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkVGltZXJzOjpUaHJlYWRUaW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJz
OjpzZXRTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnVwZGF0
ZVNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6c2hhcmVkVGlt
ZXJGaXJlZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6ZmlyZVRp
bWVyc0luTmVzdGVkRXZlbnRMb29wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6VGltZXJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJh
c2U6OmNoZWNrQ29uc2lzdGVuY3kpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFw
RGVjcmVhc2VLZXkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbik6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OmhlYXBQb3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjp1cGRhdGVI
ZWFwSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzZXROZXh0RmlyZVRp
bWUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVy
dmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0T25lU2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnJlcGVhdEludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OmlzQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmFibGVP
bmVTaG90VGltZXI6OkRlZmVycmFibGVPbmVTaG90VGltZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L1ZOb2RlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2xhc3RXYXJuaW5nVGltZSk6
CisgICAgICAgIChXZWJDb3JlOjpWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5n
SW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1ZOb2RlVHJhY2tlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
aXRtYXBJbWFnZTo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
aW50ZXJuYWxTdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
YWR2YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JhdGNoQnVmZmVyOjpzY2hlZHVs
ZVNjcmF0Y2hCdWZmZXJQdXJnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnVwZGF0ZU9wdGlvbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJh
bmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
aWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29u
dHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ292ZXJhZ2VN
YXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
R3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29ob3J0KToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OklP
U3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExhc3RVc2VUaW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJs
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNv
b24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50
YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNh
bmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRp
ZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0
ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9p
bnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0v
bW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0ZSk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWspOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9E
TlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGluZ1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGlt
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9yZUNhbGxiYWNrKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1
ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1
ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9u
T3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5p
bWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzRmFkZUluRHVy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRl
T3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQpOgorICAgICAgICAq
IHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0
dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERp
c3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgorICAgICAgICAqIHJlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9u
U2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAgICAqIHJlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6ZXZl
bnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmg6
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJs
ZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVy
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVv
dXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpk
aXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIwMTYtMTEtMjMgIFNlcmdp
byBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlk
XSBDb252ZXJ0IGdyaWQgcmVwcmVzZW50YXRpb24gaW50byBhIGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVh
NmU5OGFhNzc4OTFjMjBiODczYzM3YTNhOTBhNWQ0NjdkNGM4ZjYuLjE4NmNmNzY4ZmI5ZDJkNGM2
NmQ1MTUyZjhlYjllNGFhYTllY2FkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTYt
MTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAg
Q2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3Rk
OjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMsIHJl
cGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5kIHJl
bW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgKiBTdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVJdGVtRm9yU3luYyk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVDbGVhcik6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzeW5jVGlt
ZXJGaXJlZCk6CisgICAgICAgICogU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcik6CisgICAgICAgICogU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5oOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6
c3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRy
YWNrZXI6OnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYlJlc291
cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cyk6CisKIDIwMTYt
MTEtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0pTQ10gV1RGOjpUZW1wb3JhcnlDaGFuZ2Ugd2l0aCBXVEY6OlNldEZvclNjb3BlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggMWQyZThiMmFmYjM1YWM4OGM4YTI4NjFjMDFkMTY5NWRhMjRmMTk4MS4uNmQ1
OWExZmZkZjE5MDM4NDllODM2YjE0ZTNkMWUxY2RiMzA5YTgzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI2IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywg
bm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGlt
ZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3Cisg
ICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgor
CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgIChQbHVn
aW5UaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFN0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW06
CisgICAgICAgICgrW1dlYlN0b3JhZ2VNYW5hZ2VyIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVN
b2RlbDpdKToKKwogMjAxNi0xMS0yMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtNYWNdIEluIExlZ2FjeSBXZWJLaXQsIHByZXNzaW5nIGFuIGFycm93IGtleSBp
biBlZGl0YWJsZSBjb250ZW50IGRvZXNu4oCZdCBoaWRlIHRoZSBtb3VzZSBjdXJzb3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBlMGU0ZTU2MDQyNTZhNmFkNmRiMWMwODE2NGEwNTI5MzdjMDU2NmRjLi43YTAyZTM3
ZjQwZmExMGExMWI5M2EyZmZmMzlmZGNkNjE4ZjA1NGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTM1IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVz
ZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRv
dWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWQ6OlRocm90
dGxlOjpUaHJvdHRsZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpkaWRSZWNlaXZl
UmVzcG9uc2VOZXR3b3JrU2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvYWRUaHJvdHRs
ZUxhdGVuY3kpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0TmV0d29ya0xvYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RhdGlzdGljcy5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6
ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpT
dG9yYWdlOjpzdG9yZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpy
ZXN1bWUpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHA6CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6CisgICAgICAgIChJ
UEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6OkNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246
OnRlcm1pbmF0ZVNvb24pOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0
cm95KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50
VGltZXIpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZSk6CisgICAgICAg
ICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NhY2hl
TW9kZWwuY3BwOgorICAgICAgICAoV2ViS2l0OjpjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKToK
KyAgICAgICAgKiBTaGFyZWQvQ2FjaGVNb2RlbC5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6
CisgICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Omxhc3REaXNwbGF5VGltZSk6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0
b3JlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkp
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lmg6CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24ubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbToK
KyAgICAgICAgKEFQSTo6U2hhcmVkSlNDb250ZXh0OjplbnN1cmVDb250ZXh0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6
OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0Fy
ZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR2FtZXBh
ZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxl
ci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hpZGRlblBhZ2VUaHJv
dHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Om1heGltdW1CdWZmZXJpbmdUaW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5WaWV3Ojpsb2FkVVJMKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUGx1Z2lu
Vmlldyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5X
aW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNy
ZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisKIDIwMTYtMTEtMjQgIE1pY2hh
ZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE5v
dGlmaWNhdGlvbnMgQVBJIGRvZXMgbm90IGV4cG9zZSBvciByZXNwZWN0IHRoZSAidGFnIiBhdHRy
aWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDQwNDE2OWY3ZjU0ZmFmMGQ5Njgx
ZjJlZjAyMGZmNGE2ZDhjMWRjNGUuLmIxYWVlMzg2NjAyY2I0YmRlZTVkOGY2NjA2NGEwYjM0NGUz
ZmI5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2b2lk
IFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKEdh
cmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZl
bnRzVGFzazo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCmluZGV4IGFkNWRjZTI0NTg2YzRiMzFjZGU1OTViYTJiMWY3ZjZlMzBi
MzcxYTkuLmEzZTU5MWUwMDlmMTRkZThjMGUzZWI1NzU0ZDgyYzZmNTAzMWFkM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTIy
MywxMyArMjIzLDEzIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHN0ZDo6cGFpcjxTcGVjaWVzQ29u
c3RydWN0UmVzdWx0LCBKU09iamVjdCo+IHNwZWNpZXNDb25zdHJ1CiAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc0NvbnN0cnVjdG9yKCkpIHsKICAgICAgICAgICAgIEpTT2JqZWN0KiBjb25zdHJ1
Y3Rvck9iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yKTsKICAgICAgICAgICAg
IGlmIChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkgIT0gY29uc3RydWN0b3JPYmplY3QtPmds
b2JhbE9iamVjdCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVj
aWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwg
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNvbnN0cnVjdG9yLmlzT2JqZWN0KCkp
IHsKICAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3RydWN0b3IuZ2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKICAgICAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc051bGwoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
U3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOzsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBh
dGgsIG51bGxwdHIpOwogICAgICAgICB9CiAgICAgfSBlbHNlCiAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3AuaCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAppbmRleCA1NTVkNDQ3
MzFjZjMwOGJjYmQ5ZWViZGZiZTY1YjIxZmRhYTU4ZWRlLi42M2QwYzc5OTkxZWQ5MmQ2ODhlNWI5
OGI1MWNiZmM0NzQ3YzM4MzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgK
KysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCkBAIC04OCwxMCArODgsOCBAQCBwdWJsaWM6
CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBleHBsaWNpdCBUaW1lckJhc2UoUnVuTG9vcCYp
OwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAg
ICAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQo
cmVwZWF0SW50ZXJ2YWwsIHRydWUpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhy
ZXBlYXRJbnRlcnZhbC5jb3VudCgpICogMC4wMDEpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRPbmVT
aG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgZmFsc2UpOyB9Ci0gICAgICAg
IHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwuY291bnQoKSAqIDAuMDAxLCBmYWxzZSk7IH0KKyAgICAgICAgdm9pZCBz
dGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVy
dmFsLCB0cnVlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFs
KSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KIAogICAgICAgICBXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBzdG9wKCk7CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGlzQWN0aXZl
KCkgY29uc3Q7CkBAIC0xMDMsNyArMTAxLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBwcml2
YXRlOgotICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChkb3VibGUgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOworICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KTsKIAogICAgICAg
ICBSdW5Mb29wJiBtX3J1bkxvb3A7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxv
b3BUaW1lci5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKaW5kZXggMzc4MGU3NmMw
MzEzMTA0YWVjN2ZkNzk3MzIzZWI0MTA0ZjgzZTU5Ny4uZThjYTZjZjRjM2Q2YTBhMjhkYmM4MWVl
OTkxOGY2Mzg4YWE1OTc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVy
LmgKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKQEAgLTQ1LDEwICs0NSwxMCBA
QCBwdWJsaWM6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3QgU2No
ZWR1bGVQYWlyKik7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3Qg
U2NoZWR1bGVQYWlySGFzaFNldCYpOwogCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3Rh
cnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2
YWwsIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0
YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBTZWNvbmRzKDAp
KTsgfQogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNG
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMy
ZTIzYmE3YmY5NTczYzMxYjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5
Yzg4NTIwZWZlNWJlYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJD
Ri5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiAr
NTIsMTIgQEAgc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCog
Y29udGV4dCkKICAgICB0aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNl
OjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQor
dm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNl
Y29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVu
TG9vcFRpbWVySW52YWxpZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNv
bnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9w
dENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsg
bmV4dEZpcmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250
ZXh0KSk7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVh
dEludGVydmFsLnZhbHVlKCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZv
aWQgUnVuTG9vcFRpbWVyQmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVs
ZVBhaXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291
cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThh
OTg2ZGU5MjNlODcyOTI0NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5
OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0
KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZh
bCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAg
ICAKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwg
MCB9OwotICAgIENGVGltZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZp
cmVJbnRlcnZhbCA6IDA7Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0
RmlyZUludGVydmFsLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQp
KTsKKyAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJl
SW50ZXJ2YWwudmFsdWUoKSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGlt
ZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkg
KyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZp
cmVkLCAmY29udGV4dCkpOwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxv
b3AuZ2V0KCksIG1fdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3
NGM2NzUwZGFlNTk2Li42MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1
bkxvb3A6OlRpbWVyQmFzZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1l
ci0+bV9pc1JlcGVhdGluZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tf
Q0FOQ0VMOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRG
aXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0
aXZlKCkpCiAgICAgICAgIHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAg
ICAgQVNTRVJUKCFtX3RpbWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRG
aXJlSW50ZXJ2YWwsIHJlaW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCks
IHRoaXMpOworICAgIG1fdGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52
YWx1ZSgpLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlz
KTsKIH0KIAogdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9n
ZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQx
NjdlYzdiNWZkYTI2NjM4Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEy
ICsyNjMsMTIgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7
CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJv
b2wgcmVwZWF0aW5nKQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50
ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRh
c2sgPSBTY2hlZHVsZWRUYXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAg
ICB9LCBTZWNvbmRzKGludGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVw
ZWF0aW5nKTsKICAgICBtX3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNr
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1
NjI3OGJhNmI3ZmYwMjFjMGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0
Njg3ODEzNjMzYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGli
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkg
KzE5MCw5IEBAIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAg
IGdfc291cmNlX3NldF9yZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0K
IAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6
OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2
YWxEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52
YWx1ZSgpKTsKICAgICBhdXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29u
ZHM6Om1heCgpOwogICAgIGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAg
ICAgICBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9u
bzo6bWljcm9zZWNvbmRzPihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2lu
LmNwcAppbmRleCA0YjQ1YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAy
MWY3ZGI0Y2EyYTI4YjE5ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxv
b3BXaW4uY3BwCkBAIC0xNTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1l
ckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewog
ICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJz
LnNldChtX0lELCB0aGlzKTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNz
YWdlV2luZG93LCBtX0lELCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRU
aW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpz
dG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBm
YWYyMTIwMmExMzBiOTJlNWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLmJjMGMwNWFjMGJhNDAxMzdm
MWFlZTYwOWQzZmM4Mjk0YTExNWU2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmNwcApAQCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlh
S2V5U2Vzc2lvbjo6c2Vzc2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9u
OjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJy
YXk+JiYgaW5pdERhdGEpCiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWlt
ZVR5cGUsIFdURk1vdmUoaW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiB9CiAKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJl
ZCgpCkBAIC0xNDIsNyArMTQyLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViS2l0TWVkaWFLZXlT
ZXNzaW9uOjp1cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYga2V5KQogCiAgICAgLy8gMi4gU2NoZWR1
bGUgYSB0YXNrIHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJvdmlkaW5nIGtleS4KICAgICBtX3BlbmRp
bmdLZXlzLmFwcGVuZChXVEZNb3ZlKGtleSkpOwotICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAg
ICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2Vv
bG9jYXRpb24vR2VvTm90aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9Ob3RpZmllci5jcHAKaW5kZXggY2VjOTdjYzkwMmU0NTA2ODk3ZmVmYmQzZWFlMmY5
NzkwN2FhY2MxNi4uMjYxYjA3YzVkNzczMDI4NDA5NzQ4Yzk3ZjFiN2E3ODViMjFmODU2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKQEAgLTU5LDEzICs1OSwxMyBAQCB2b2lkIEdlb05vdGlmaWVyOjpzZXRGYXRhbEVycm9yKFJl
ZlB0cjxQb3NpdGlvbkVycm9yPiYmIGVycm9yKQogICAgIG1fZmF0YWxFcnJvciA9IFdURk1vdmUo
ZXJyb3IpOwogICAgIC8vIEFuIGV4aXN0aW5nIHRpbWVyIG1heSBub3QgaGF2ZSBhIHplcm8gdGlt
ZW91dC4KICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9Ob3Rp
Zmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAgIG1fdXNlQ2FjaGVkUG9zaXRpb24g
PSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29sIEdlb05vdGlmaWVyOjpoYXNaZXJvVGltZW91
dCgpIGNvbnN0CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2Fs
bGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiB2b2lkIEdlb05vdGlmaWVyOjpzdGFydFRpbWVy
SWZOZWVkZWQoKQogewogICAgIGlmIChtX29wdGlvbnMtPmhhc1RpbWVvdXQoKSkKLSAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QobV9vcHRpb25zLT50aW1lb3V0KCkgLyAxMDAwLjApOworICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fb3B0
aW9ucy0+dGltZW91dCgpKSk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnN0b3BUaW1lcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3Bw
CmluZGV4IDg1YWU0MGY2MzQxNzUzMjcxNjcyZjNhMzc3ZmU5OTNkZjRhMzE4YzAuLjUyZjE5Mjkz
NThmM2E5ZjA0MTUxMjNiZmQyZWM3ODU5NzczYzQzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xOTgsNyArMTk4LDcg
QEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnJlc3Vt
ZSgpOwogCiAgICAgaWYgKCFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVz
dW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggMzhkZWNkNTNiOWFiMDgxMmViODA5ZjVmYmIzYjZiZGExZWM4YjAxYS4u
NWE1OTQ1MmFhZGJmZmM4YmM4Njc5YmIwYTBlM2Y5YzdjMTczMjUzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzUw
LDcgKzM1MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0aW9uVGltZXIo
KQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFk
SUQoKSk7CiAKICAgICBpZiAoIW1fb3BlcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9vcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3BlcmF0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpv
cGVyYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCmluZGV4IGNiMDQ4
NjFjYzdjY2M1Y2YyZjdjZWJhZDczY2Q1OTdiZDJhMjcwYWEuLmM2NmZkMTFjNmI3NWZlYzg2NmQ2
YTIxMWI1NTA3ZjQyY2M5ZmQyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcApAQCAtMTQ5
NCw3ICsxNDk0LDcgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6aW52b2tlT3BlcmF0aW9uQW5k
VHJhbnNhY3Rpb25UaW1lcigpCiAgICAgQVNTRVJUKCFtX2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRl
KTsKIAogICAgIGlmICghbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5z
YWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2
OWYxMGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLmY1ZDY2MzYwMjY0ZGY2OTFjNmQ4
ZWNiNTdlNDM1MDU4YzU2MDZlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0z
Niw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSB0YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0
YXNrRGVsYXlJbnRlcnZhbCA9IFNlY29uZHMoMS4wIC8gMTApOwogCiBzdHJ1Y3QgQ2xpZW50U3Rh
dGUgewogICAgIGV4cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQmIGNsaWVudCwgdWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVf
dCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQqIGNsaWVudCwgdWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmln
dXJlV2F0Y2hkb2dUaW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1Rp
bWVySW50ZXJ2YWxBZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3Vi
bGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0g
U2Vjb25kcyg2MCAqIDYwKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVy
SW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA9IFNlY29uZHMoOCAqIDYwKTsKIAogICAgIGlmICgh
bV9wbGF5YmFja1RhcmdldCB8fCAhbV9wbGF5YmFja1RhcmdldC0+aGFzQWN0aXZlUm91dGUoKSkg
ewogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwpAQCAtNDQyLDE0ICs0NDIsMTQgQEAg
dm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKCkKICAg
ICB9CiAKICAgICBpZiAoc3RvcFRpbWVyKSB7Ci0gICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50
ZXJ2YWwgPSAwOworICAgICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gU2Vjb25kcygw
KTsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAgICAgICAgTE9HKE1lZGlhLCAi
V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHN0
b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSBkaWRQbGF5
VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA6IHdhdGNoZG9n
VGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IGRp
ZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kIDogd2F0
Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBpZiAoaW50ZXJ2YWwgIT0g
bV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkp
IHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwot
ICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJl
V2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIsIGludGVydmFsKTsKKyAg
ICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdh
dGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwgaW50ZXJ2YWwudmFsdWUo
KSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IGludGVy
dmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1N2Q1OGVmOTE0Y2IyM2Yx
OTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRjNmQ0NmExM2FkM2MxZjEx
YjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0xMDIsNyArMTAyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4gbV9wbGF5YmFja1Rhcmdl
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlvblRhc2tzIG1fdGFza0Zs
YWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgeyAw
IH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsOwogICAgIGJvb2wgbV9l
eHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Rhcmdl
dENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2VyRW5hYmxlZCB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBhYWZjMjFlMDU1Mjg0Yi4u
Mjg0OGZhYWZiY2NhZWU1ZGJlOWVkYzJjNDg0ZmVkYjEyZWUxMWU5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtMzQ4
LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwoY29uc3QgTWVkaWFU
aW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8gNS4gUmV0dXJuIGNvbnRy
b2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBzdGVwcyBhc3luY2hyb25v
dXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0OwogICAgIG1fcGVuZGluZ1Jl
bW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXI6OmFib3J0SWZVcGRhdGluZygpCkBAIC01MzMsNyArNTMzLDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25lZCBj
aGFyKiBkYXRhLAogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0RXZl
bnQpOwogCiAgICAgLy8gNi4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFs
Z29yaXRobS4KLSAgICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJlcG9y
dEV4dHJhTWVtb3J5QWxsb2NhdGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggMWQ1MmE0OGE1M2RhZTI4OGM4NDcx
OWZkYzFlMWVlYmQ0N2VlNmU1Ny4uZDU0NDBiZmY2N2M5MjhjZjcxZGRjYmI1NTVkZWU3NDZjNzhh
NTQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIE1lZGlhU3RyZWFtOjpzY2hlZHVs
ZUFjdGl2ZVN0YXRlQ2hhbmdlKCkKICAgICBtX3NjaGVkdWxlZEFjdGl2aXR5RXZlbnRzLmFwcGVu
ZChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiAKICAgICBpZiAoIW1f
YWN0aXZpdHlFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fYWN0aXZpdHlFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GU2VuZGVyLmNwcAppbmRleCA4MzMwYzg3OGMxN2MwOWU3ODI2OWJjNTVhZDc4ZmUx
N2IxNGI4MGRiLi4xNmU4MDA2ODc4MDRjZmM0OTQzYmY1ODRiNzJjZTY4NTEyZDAyNjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlz
cGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBw
ZW5kKFdURk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5u
ZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bC5jcHAKaW5kZXggMDUxYzcwMTQ5YWUyZGExMmU2MDBhNDA1MGYwOWMxZWM4YmZkNTc1Ni4uNDNh
OTRiYTIzNzYzZGVlMjc3ZGNlYmI3MjU1MGE4M2RjYzFlMjZiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKQEAgLTIz
Nyw3ICsyMzcsNyBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UmVmPEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3Zl
KGV2ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRl
eCAxZTAyY2UxY2Y2N2Y2ZTRkOTEyODc1YWJmODBiMmRkZGU4MzdhN2U3Li4zYWI3NjY0MTUyNzNi
OTE5ZWMwZTY4M2RlMDk0MmZlN2NjZGQ3ZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBA
QCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGl0bGUpCiAgICAgLy8gRklYTUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50
ZXIgY2FuIGJlIG51bGwgc28gc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJl
Zi4KICAgICAvLyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0
cnlpbmcgdG8gaGFuZGxlIHRoYXQgY2FzZS4KICAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50
ZXItPmNsaWVudCgpKTsKLSAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1f
dGFza1RpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGVi
ZmUwLi5mMDczNDVkZDJlNzdlNzY1YzNmNmYwZTdmM2E1YjQwNmQxMzg4OWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBj
YXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNEZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3Mu
aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICByZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVm
cyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGlt
ZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgIH0KICAgICAgICAg
bV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAgICAgICAgICBpZiAoY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApp
bmRleCA4NjA5MTQyMDljOGJiMzQyODA0MGFhMTRmYzlmY2QwM2QwZGQ1YzU5Li45ZGU2MjViMzli
NWEyMzgzNGZhNDEyZjU2ZGY2YzhhOTM5YWY1OGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgYm9vbCBWaWJy
YXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKIAogICAgIG1f
cGF0dGVybiA9IHNhbml0aXplZDsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6
V2FpdGluZzsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFZp
YnJhdGlvbjo6dGltZXJGaXJlZCgpCiAgICAgICAgIG1fdmlicmF0aW9uQ2xpZW50LT52aWJyYXRl
KG1fcGF0dGVyblswXSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChtX3BhdHRlcm5bMF0gLyAxMDAwLjApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9wYXR0ZXJuWzBdKSk7CiAgICAgbV9wYXR0ZXJu
LnJlbW92ZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAppbmRleCA2NDMyMTY1OWJiMWMyMjk0ZDIyMmFmZGViZjM0NDVjYTZiNzRj
MTVjLi5lZGNlMTE5MmQwMzU4NGI1ZmU1NjNhMzY3YTBlNWUzMzlkNmEwMGQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNTAzLDcg
KzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQogICAgICAgICBtX2NoYW5uZWwtPnJl
c3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVudHMuaXNFbXB0eSgpICYmICFtX3Jl
c3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gRmlyZSB0aGUgcGVuZGluZyBldmVu
dHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkg
SlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0K
IAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4
IDRlNGFhN2MzYTliYjI1MjU5NWE3MjkyMzA4NzA2MWJiN2IzNDIzOTkuLmJkYzY0MDI0ZDA4NDFk
YWE5ZWI2ZTVlM2Y3OWRkM2UxZmI5MTNiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYyLDcgKzYyLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4aW11bVNlZ21l
bnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVtU2VnbWVudExp
ZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRD
aGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYgY2xpZW50
LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZkb2N1bWVudCkK
QEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3NlKGludCBjb2Rl
LCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5lbD4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhhbmRzaGFrZSBt
YXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBkZXJlZmVyZW5j
ZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAgICAgaWYgKG1f
Y2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbG9zaW5n
VGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lKTsKKyAgICAg
ICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUg
KiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVh
c29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lKCkK
IHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVyLmlzRW1wdHko
KSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5u
ZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBkMWU4
MjA1YTExNjEyZjBkYWY4NDEwYjhlNjMxODk4YTFlMjZjMDc0Li5hZWIzNzMzODNhMzQzMDU4OWQx
ZTBkODNiZWEyNjYyMWFmOWUwY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTExMCw4ICsxMTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAvLyBQb3N0IHZhbHVlIGNoYW5nZSBu
b3RpZmljYXRpb25zIGZvciBwYXNzd29yZCBmaWVsZHMgb3IgZWxlbWVudHMgY29udGFpbmVkIGlu
IHBhc3N3b3JkIGZpZWxkcyBhdCBhIDQwaHogaW50ZXJ2YWwgdG8gdGh3YXJ0IGFuYWx5c2lzIG9m
IHR5cGluZyBjYWRlbmNlCi1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVl
Q2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyNTsKLXN0YXRpYyBkb3VibGUgQWNjZXNz
aWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyMDsKK3N0
YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9u
SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDI1KTsKK3N0YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlM
aXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAog
QWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2Fj
aGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0LCBEb2N1bWVudCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3Vz
bHkpIHsKICAgICAgICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihvYmplY3QsIG5vdGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9z
dFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHBvc3RQbGF0Zm9ybU5v
dGlmaWNhdGlvbihvYmplY3QsIG5vdGlmaWNhdGlvbik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAppbmRleCBiZmYzYjBjYWVlZjhkNGIwZDM2MWMyY2M0
YjI0OWZmMDgzNTgyZTI1Li5hMTQxNGIzYzRiYjBjNDdlMmYzM2JlNDg4MzkwMDE5ZjQ2NDEzNTA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKQEAgLTcx
LDcgKzcxLDcgQEAgdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0U29vbigpCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKCkKIHsKICAgICBpZiAo
IW1fR0NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3Bw
CmluZGV4IDVlYWI1NWI1NDMzMzNiZDE3ZjY3YjExZWJhZDY2MTc3MjgyNTAxZjEuLmJjMjRmMjI0
MTRlYjBhZGEwMzE4ZjBiZjUyYjEyZTNiMzgzZTcyMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHZvaWQgQ1NTRm9udEZhY2U6OnNldFN0YXR1cyhT
dGF0dXMgbmV3U3RhdHVzKQogICAgIH0KIAogICAgIGlmIChuZXdTdGF0dXMgPT0gU3RhdHVzOjpM
b2FkaW5nKQotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qod2ViRm9udHNTaG91
bGRBbHdheXNGYWxsQmFjaygpID8gMCA6IDMpOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFy
dE9uZVNob3Qod2ViRm9udHNTaG91bGRBbHdheXNGYWxsQmFjaygpID8gU2Vjb25kcygwKSA6IFNl
Y29uZHMoMykpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OlN1Y2Nlc3MgfHwg
bmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3Rv
cCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IGU4NDk4OGVi
ZTA2YjZmNTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIuLmMyZjlhMTYyNTM0ZGVjYTJhYjc5MGVm
MWQ2ZDRmMjQzNmZiZGIyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0Zv
bnRTb29uKENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8gYWZ0ZXIgdGhpcyBmb250IGhhcyBiZWVu
IHJlcXVlc3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxvYWRpbmcuIEJhbGFuY2VkIGJ5CiAgICAg
Ly8gZGVjcmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVnaW5Mb2FkVGltZXJGaXJlZCgpIGFuZCBp
biBjbGVhckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0gICAgbV9iZWdpbkxvYWRpbmdUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAppbmRl
eCBhNzUyODNhMmIyN2MzZGVkOGQ5NDMxMmRlMDRhNDE1OGVlY2MyZjkzLi5kNGY3ZmE0NmU2MDFm
M2VmNzg0NGIzMTJiYjRkYjZmNTllZWIzMDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZElt
YWdlcyA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
dGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9IFNlY29uZHMoMyk7CiAKIENTU0ltYWdl
R2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNzVHlw
ZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCA5MTM2M2MxNDNiMjZjYTQxOWFmZTRlNGJlMjIxNzM3ZTE1MTFmMDRmLi4xOWE4
NTI5MzhkMjBkOGY2YzE1ZDc2ODZiM2U5NDllY2UyMzgwZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM5LDggKzEyMzksOCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFkZFRvTWF0Y2hlZFByb3BlcnRpZXNDYWNoZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNv
bnN0CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRk
aXRpb25zQmV0d2VlblN3ZWVwcyA9IDEwMDsKICAgICBpZiAoKyttX21hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGVBZGRpdGlvbnNTaW5jZUxhc3RTd2VlcCA+PSBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZUFk
ZGl0aW9uc0JldHdlZW5Td2VlcHMKICAgICAgICAgJiYgIW1fbWF0Y2hlZFByb3BlcnRpZXNDYWNo
ZVN3ZWVwVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMgPSA2MDsKLSAgICAgICAg
bV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3QobWF0Y2hlZERl
Y2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMpOworICAgICAgICBzdGF0aWMgY29uc3Qg
U2Vjb25kcyBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSA9IFNlY29uZHMoNjApOwor
ICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdCht
YXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSk7CiAgICAgfQogCiAgICAgQVNTRVJUKGhh
c2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYzYxOGE5ZGQ2ZmNhY2I5N2ZlMzBiYmNm
MjE5OGY4YWY5ZTI3NDQ4NC4uY2M2NmIxN2UyMTA4YWMyZWM3ZjViYjlhY2ZlZWM4ZDJlMmQ3NzQ1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjU3LDcgKzEyNTcsNyBAQCB2b2lkIERv
Y3VtZW50OjpzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZChib29sIHZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KQogICAgIGlmICh2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgbV92aXN1YWxVcGRhdGVz
U3VwcHJlc3Npb25UaW1lci5zdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3Zpc3VhbFVwZGF0
ZXNTdXBwcmVzc2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoKSk7CiAKICAgICBpZiAoIXZpc3VhbFVwZGF0
ZXNBbGxvd2VkKQogICAgICAgICByZXR1cm47CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCB2b2lkIERv
Y3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKCkKICAgICAvLyBGSVhNRTogV2h5IG9uIGVhcnRo
IGlzIHRoaXMgaGVyZT8gVGhpcyBpcyBjbGVhcmx5IG1pc3BsYWNlZC4KICAgICBpbnZhbGlkYXRl
QWNjZXNzS2V5TWFwKCk7CiAgICAgCi0gICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxh
dGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lkIERvY3VtZW50Ojp3cml0
ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9jdW1lbnQpCiAgICAgd3Jp
dGUoIlxuIiwgb3duZXJEb2N1bWVudCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKK1NlY29uZHMgRG9jdW1lbnQ6
Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKICAgICBhdXRvKiBwYWdlID0gdGhpcy0+
cGFnZSgpOwogICAgIGlmICghcGFnZSkKQEAgLTI4NDEsNyArMjg0MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBzaG91bGRUaHJvdHRsZSkKICAgICBk
aWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0CiB7CiAgICAgYXV0
byBhbGlnbm1lbnRJbnRlcnZhbCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCk7CiAKQEAgLTUwMjcsOCArNTAy
Nyw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgPSBTZWNvbmRzKDEw
KTsKKyAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQpOwogCiAgICAgLy8g
UGFyc2VyIHNob3VsZCBoYXZlIHBpY2tlZCB1cCBhbGwgcHJlbG9hZHMgYnkgbm93CiAgICAgbV9j
YWNoZWRSZXNvdXJjZUxvYWRlci0+Y2xlYXJQcmVsb2FkcygpOwpAQCAtNTI1NSw3ICs1MjU1LDcg
QEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25SZXN0
b3JhdGlvbk1vZGUgbW9kZSkKIHsKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3RvcmVz
U2VsZWN0aW9uID0gbW9kZTsKICAgICBpZiAoIW1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFu
Y2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9pZCBEb2N1bWVudDo6cmVzdW1lU2No
ZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikK
ICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6V2lsbERlZmVyTG9hZGluZyAmJiBt
X3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAgICAg
aWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVuZGluZ1Rhc2tzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICAgICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CiAgICAgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0cyhyZWFzb24pOwogICAgIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlckNhbGxiYWNrcygpOwpAQCAtNTY4Nyw3ICs1Njg3LDcgQEAgdm9pZCBEb2N1bWVu
dDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVk
IHNob3J0IGZsYWcKICAgICB9IHdoaWxlICgwKTsKIAogICAgIG1fZnVsbFNjcmVlbkVycm9yRXZl
bnRUYXJnZXRRdWV1ZS5hcHBlbmQoZWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVudEVsZW1lbnQo
KSk7Ci0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKQpAQCAtNTg1NCw3
ICs1ODU0LDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudChFbGVtZW50KikKIAogICAgIG1fZnVsbFNjcmVlbkVsZW1lbnQtPmRpZEJlY29tZUZ1bGxz
Y3JlZW5FbGVtZW50KCk7CiAKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVlblJlbmRlcmVyKFJlbmRlckZ1bGxT
Y3JlZW4qIHJlbmRlcmVyKQpAQCAtNjA1Nyw3ICs2MDU3LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGVj
cmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpCiAgICAgLS1tX2xvYWRFdmVudERlbGF5Q291bnQ7
CiAKICAgICBpZiAoZnJhbWUoKSAmJiAhbV9sb2FkRXZlbnREZWxheUNvdW50ICYmICFtX2xvYWRF
dmVudERlbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1l
ckZpcmVkKCkKQEAgLTY3MDEsNyArNjcwMSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0
ZUZvcm1Db250cm9sKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2Fz
c29jaWF0ZWRGb3JtQ29udHJvbHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV9kaWRBc3NvY2lh
dGVGb3JtQ29udHJvbHNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2RpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaWRBc3NvY2lhdGVG
b3JtQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9j
dW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2
NzIxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcm
IGNvb2tpZXMpCiAgICAgQVNTRVJUKCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9j
YWNoZWRET01Db29raWVzID0gY29va2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZh
bGlkIGF0IG1vc3QgdW50aWwgd2UgZ28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nv
b2tpZUNhY2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVF
eHBpcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OmludmFsaWRhdGVET01Db29raWVDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDhmNWI0
M2UyMGZhZjZjNDFjMTY3NzFkZjY2Yjg0Y2U2ZjU4ZmMxNTMuLjZlNWRlMGE5NTMxNjFmZmJiODVm
ZWU2MGRhMDdiN2Q0ZjM4YjczODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzM3LDkgKzEz
MzcsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBmaW5hbDsKIAotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKKyAg
ICBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QgZmluYWw7CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFj
aGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsKKyAgICBTZWNvbmRzIHRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsK
IAogICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVFbGVtZW50KCk7CiAgICAgdm9pZCB1cGRh
dGVUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudEV2ZW50UXVldWUuY3BwCmluZGV4IDllMDc3ZjcyZjEzNjU5YTM4NjkxNWE5Y2JlNjAx
NDZmMjAyOTljMjcuLjNjZGUyM2E0Zjg0Nzg4OGJhZTVjYzEwOGNmMDFhOGY5NzdkNDc4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCkBAIC03OSw3ICs3OSw3
IEBAIGJvb2wgRG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYmIGV2
ZW50KQogCiAgICAgbV9xdWV1ZWRFdmVudHMuYWRkKGV2ZW50LnB0cigpKTsKICAgICBpZiAoIW1f
cGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ0V2ZW50VGlt
ZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFNlbmRlci5oCmluZGV4IDg3MmQ4NWExYTQ1NTFhZDAxOTkwODA5ODBlNmY1ZjNhZDI4YTdiN2Yu
LmFmMGQxYzUxNDE4ZjkwMjJmZTdlNmEwMmFlNTRhNDQzYzQxMDkyZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFNlbmRlci5oCkBAIC02Niw3ICs2Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKFQmIHNlbmRlcikKIHsKICAgICBtX2Rp
c3BhdGNoU29vbkxpc3QuYXBwZW5kKCZzZW5kZXIpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rh
c2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5MTQ2ZmNlYjlmOGY3Li5l
M2U1M2U0ODQ2MTQxNmZmYjc4MDMzMDY5OGJiYjk1MzkwZmYwZGVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01p
Y3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90YXNrUXVldWU6OmFwcGVu
ZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAgZWxzZQogICAgICAgICBt
X21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAotICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIE1pY3JvdGFza1F1ZXVlOjpyZW1vdmUoY29uc3QgTWljcm90YXNrJiB0YXNrKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDkzN2Yx
YzIzYmQ3ZTk5NGNhZWViNmUyZDA0ODljMDBlZTE5Y2Y1NmIuLjdlOGRhOWM3M2RkOWRjNGE1OWRi
YWUwZTEzODkyYTFjODQ1Y2UyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKQEAgLTQ0NSw3ICs0NDUsNyBAQCBQdWJsaWNVUkxNYW5hZ2VyJiBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpwdWJsaWNVUkxNYW5hZ2VyKCkKICAgICByZXR1cm4gKm1f
cHVibGljVVJMTWFuYWdlcjsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1
c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmlt
dW1UaW1lckludGVydmFsKQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5p
bXVtVGltZXJJbnRlcnZhbChTZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKQogewogICAg
IGlmIChtaW5pbXVtVGltZXJJbnRlcnZhbCgpICE9IG9sZE1pbmltdW1UaW1lckludGVydmFsKSB7
CiAgICAgICAgIGZvciAoYXV0byYgdGltZXIgOiBtX3RpbWVvdXRzLnZhbHVlcygpKQpAQCAtNDUz
LDcgKzQ1Myw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRp
bWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kCiAgICAgfQogfQogCi1zdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lcklu
dGVydmFsKCkgY29uc3QKK1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRp
bWVySW50ZXJ2YWwoKSBjb25zdAogewogICAgIC8vIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9u
IHJldHVybnMgdGhlIERPTVRpbWVyJ3MgZGVmYXVsdAogICAgIC8vIG1pbmltdW0gdGltZXIgaW50
ZXJ2YWwuIEZJWE1FOiB0byBtYWtlIGl0IHdvcmsgd2l0aCBkZWRpY2F0ZWQKQEAgLTQ2OSw3ICs0
NjksNyBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKQogICAgICAgICB0aW1lci0+ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwo
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYzkyOThkMzJjYTQwMTZi
ZTA1ZmNmZjE4NGE5OTc2ODI2NTRhZTY4ZS4uN2ZkZTc4ZDVmYmY5YTgyMGU4YWY0ZDhiYzhkM2Ew
ZjM2NGQ3OGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCkBAIC0xOTIsMTEgKzE5MiwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSlND
OjpWTSYgdm0oKTsKIAogICAgIC8vIEludGVydmFsIGlzIGluIHNlY29uZHMuCi0gICAgdm9pZCBh
ZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1p
bmltdW1UaW1lckludGVydmFsKTsKLSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIGFkanVzdE1pbmltdW1U
aW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHZpcnR1
YWwgU2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRD
aGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7Ci0gICAgdmlydHVhbCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVz
dGluZ0xldmVsKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRl
cnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OwogCiAgICAgdmlydHVh
bCBFdmVudFF1ZXVlJiBldmVudFF1ZXVlKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRSdW5uZXIuY3BwCmluZGV4IDcwOTg5ZWI0MGMwNDVhZGU3NzRhZTU3ZDA5YTQwNDhiNTllMzg4
MDQuLjM2ODY4NzdjMGJmYTgxNTNmY2NlMDFmY2Y4ZWZmMzk3NzVmNTkyZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2NyaXB0UnVubmVy
OjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQ
ZW5kaW5nU2NyaXB0cygpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2NyaXB0UnVu
bmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2NyaXB0KQpAQCAtMTAw
LDcgKzEwMCw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2Ny
aXB0JiBwZW5kaW5nU2NyaXB0KQogICAgICAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVu
ZChtX3BlbmRpbmdBc3luY1NjcmlwdHMudGFrZShwZW5kaW5nU2NyaXB0KS0+cHRyKCkpOwogICAg
IH0KICAgICBwZW5kaW5nU2NyaXB0LmNsZWFyQ2xpZW50KCk7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZv
aWQgU2NyaXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRh
Njc0MDE5NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYx
ZjEwMjgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2No
ZWR1bGVEZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1
bWVudC0+ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVU
aW1lc3RhbXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVs
ZURlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVk
dWxlRGVsYXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1
bWVudC0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2
N2Y5Njg0MDNkMTQ3ZTgzZmJiMS4uNzQ2ZmFlYTUzMzhiOWY0NGY0N2M3ZjUxMDY5OTEwYzQ2MjU3
ZDE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBA
QCBzdGF0aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlKCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gU2Vjb25kcyg2MCk7CitzdGF0aWMg
Y29uc3QgaW50IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmlu
ZyA9IDEwMDsKKwogY2xhc3MgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTkxLDE2ICs5NCwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIG1faGl0Q291bnQrKzsKIAogICAgICAgICBpZiAoIW1fY2xlYW5UaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV9jbGVhblRpbWVyLnN0YXJ0T25lU2hvdChwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyk7CisgICAgICAgICAgICBt
X2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5U
aW1lKTsKICAgICAgfQogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyA9IDYwOwotICAgIHN0YXRp
YyBjb25zdCBpbnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFu
aW5nID0gMTAwOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcykgLyA2MDsKLQogICAgIHZvaWQgY2xlYW5DYWNo
ZSgpCiAgICAgeworICAgICAgICB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRl
Q2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUNsZWFuVGltZS52YWx1ZSgpKSAvIDYwOworCiAgICAgICAgIHVuc2lnbmVkIGhpdENvdW50ID0g
bV9oaXRDb3VudDsKICAgICAgICAgbV9oaXRDb3VudCA9IDA7CiAgICAgICAgIGlmIChoaXRDb3Vu
dCA+IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50UGVyTWludXRlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZDVjZDFlYTY3ZGQ5MGI4OTNmNTM0N2E3YTE3ZWVjZTA5NGE0YWE2Yy4uNjgy
ZjRhZjEwZmMzZjcyOTg0MmVlYWI3MTFhOGRiMDU2ZWU5ZTMyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsKDAuMyk7CiAgICAgaWYgKCFpc0F1dG9t
YXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMjBlNmIwYzJiNzRjYWZjZWVhMjI4ZjgyY2NlMjIy
YmM1ZmMxN2EzNy4uMzE2Y2I5Yzc5ZjA4YTlmN2IwZDE0ODFhOTA4NjkwZjMxNDFhOWVlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMzI2Miw3ICszMjYyLDcgQEAgdm9pZCBFZGl0
b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZy
YW1lU2VsZWN0aW9uOjoKIAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JiYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVtYmVycygp
KQotICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZW5kaWYKIAogICAgIHNldFN0YXJ0TmV3S2lsbFJp
bmdTZXF1ZW5jZSh0cnVlKTsKQEAgLTMyNzQsNyArMzI3NCw3IEBAIHZvaWQgRWRpdG9yOjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFtZVNlbGVj
dGlvbjo6CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyU2hvdWxkQ2hlY2tTcGVsbGluZ0FuZEdy
YW1tYXIgPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkNsb3NlVHlwaW5nCiAgICAgICAgICYm
ICEob3B0aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpTcGVsbENvcnJlY3Rpb25UcmlnZ2VyZWQpOwog
ICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1RyaWdnZXJlZEJ5RGljdGF0aW9uID0gb3B0aW9u
cyAmIEZyYW1lU2VsZWN0aW9uOjpEaWN0YXRpb25UcmlnZ2VyZWQ7Ci0gICAgbV9lZGl0b3JVSVVw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmNwcAppbmRleCAzNTYxNzQ5MGJhODYwZjJiOWVhNDg1NjFkOTA1NjJmZThjNzJi
NDJhLi5jYTI5MjQ5NmU4YjBhMmNjZjFlMmEwYmU5NGI4NjU5NjFmNzQxMGIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMjA0NSw3ICsyMDQ1LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxp
bmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBCZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3Jl
CiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBpbiB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYg
KHNob3VsZEJsaW5rICYmICFtX2NhcmV0QmxpbmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAg
IGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJl
dEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAgaWYgKFNlY29uZHMgYmxpbmtJbnRlcnZhbCA9IG1f
ZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAg
IG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAg
ICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRmY2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uOTVi
ZDY2MDkzMTljYTgyNGMxYzUxNGJmMzhjYmIzMTg0OWM2NDNlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVj
a2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1
bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAo
IW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVl
ZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVk
UmVxdWVzdC5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2Vy
OjpkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5n
UmVzdWx0PiYgcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApp
bmRleCA0MTZhMmQxYTdiOTI1MTM0MTBlNDA2ZjQzNDVkYzgzY2Y1Y2ZhMTBjLi44M2E1MjYzZjQy
YmNkMjUzMDdiNTNjNDkxOGQ2YjdjNjMxOWY5OWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6
OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKIAog
ICAgIC8vIERpc3BhdGNoIGV2ZW50cyBsYXRlciBhcyB0aGlzIEFQSSBpcyBtZWFudCB0byB3b3Jr
IGFzeW5jaHJvbm91c2x5IGluIGFsbCBzaXR1YXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMuCiAg
ICAgaWYgKCFtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGExZjRmZTE4YzVkNWE2MDA0
OTRkYjRiMTY4Y2Q4NDRjNmRlNmRkZGIuLjJmMWY4YzZhMTFjOTNiNzg0ZGIxODM2NzBlZDYzNzU5
MTYzNjA0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAt
MTU2LDEyICsxNTYsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFNlZWtSZXBlYXREZWxheSA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNlZWtS
ZXBlYXREZWxheSA9IFNlY29uZHMoMC4xKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNjYW5SZXBl
YXREZWxheSA9IFNlY29uZHMoMS41KTsKIHN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1RpbWUgPSAw
LjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIFNjYW5SZXBlYXREZWxheSA9IDEuNTsKIHN0YXRpYyBj
b25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBI
aWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IFNlY29uZHMoNik7CiAKIHN0YXRp
YyB2b2lkIHNldEZsYWdzKHVuc2lnbmVkJiB2YWx1ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CkBAIC05
MjAsNyArOTIwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rp
b24oRGVsYXllZEFjdGlvblR5cGUgYWN0aW9uVHlwZSkKICAgICBpZiAoYWN0aW9uVHlwZSAmIFVw
ZGF0ZVBsYXlTdGF0ZSkKICAgICAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIFVw
ZGF0ZVBsYXlTdGF0ZSk7CiAKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAg
LTkyOCw3ICs5MjgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJj
ZUNoaWxkKCkKICAgICAvLyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3Vy
Y2U+IGVsZW1lbnQgV0lUSE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgog
ICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KCVwKSAtIHNldHRpbmcgJXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3Vy
Y2UpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBM
b2FkTWVkaWFSZXNvdXJjZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckFjdGl2ZVNvdXJjZUJ1ZmZl
cnNDaGFuZ2VkKGNvbnN0IE1lZGlhUGxheWVyKikKQEAgLTE5NjcsNyArMTk2Nyw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKQogCiAgICAgbV9wcmV2
aW91c1Byb2dyZXNzVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIC8v
IDM1MG1zIGlzIG5vdCBtYWdpYywgaXQgaXMgaW4gdGhlIHNwZWMhCi0gICAgbV9wcm9ncmVzc0V2
ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMC4zNTApOworICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4zNTApKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTMzNTQsNyArMzM1NCw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhTY2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2FuUmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3Nj
YW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBT
Y2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRpbWVyLnN0YXJ0KFNlY29uZHMoMCksIG1fc2Nh
blR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXREZWxheSk7CiB9CiAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5kU2Nhbm5pbmcoKQpAQCAtMzM5Myw3ICszMzkzLDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZCgpCiAKIC8vIFRoZSBzcGVj
IHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGls
ZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0
IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVu
Y3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5ID0gU2Vjb25kcygwLjI1KTsKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXli
YWNrUHJvZ3Jlc3NUaW1lcigpCiB7CkBAIC0zNDQwLDcgKzM0NDAsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKICAg
ICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsK
IAogICAgIC8vIHRocm90dGxlIHRoZSBwZXJpb2RpYyBldmVudHMKLSAgICBpZiAocGVyaW9kaWNF
dmVudCAmJiB0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpCisgICAgaWYg
KHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5
LnZhbHVlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFNvbWUgbWVkaWEgZW5naW5lcyBt
YWtlIG11bHRpcGxlICJ0aW1lIGNoYW5nZWQiIGNhbGxiYWNrcyBhdCB0aGUgc2FtZSB0aW1lLCBi
dXQgd2Ugb25seSB3YW50IG9uZQpAQCAtNDM3MSw3ICs0MzcxLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbikKICAg
ICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUgZGV0YWls
cy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikpOwogICAg
IG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1fc2Vla1Rv
UGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgbV9zZWVr
VG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjUpKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYuLjE0MGYx
MTdjODc3YzE4YTNiZGQ2MjZlZmVmNTk0Y2IxOGMzMDViZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBIVE1MUGx1
Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAgICBtX2Rp
c3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxheWluZ1Nu
YXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2VtZW50KSAm
JiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBSZW5kZXJl
clRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRpZEFk
ZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hhZG93Um9vdCogcm9vdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IGI5NmUzY2UzMTNkZjQ4ZDI5
MmUzNzI4MGYzZjk5OTY3ZmNiMGE5MDguLjBlMWQ1NmZkZTZkNzI0YTJjM2VhMjk2ZGY2ZTU1ZDll
NmZlYTczMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcApAQCAtNzIsMTAgKzcyLDEwIEBAIHN0YXRpYyBjb25zdCBmbG9hdCBzaXppbmdGdWxs
UGFnZUFyZWFSYXRpb1RocmVzaG9sZCA9IDAuOTY7CiBzdGF0aWMgY29uc3QgZmxvYXQgYXV0b3N0
YXJ0U29vbkFmdGVyVXNlckdlc3R1cmVUaHJlc2hvbGQgPSA1LjA7CiAKIC8vIFRoaXMgZGVsYXkg
c2hvdWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCi1z
dGF0aWMgY29uc3QgYXV0byBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgeyA3NTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNpbXVsYXRl
ZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gU2Vjb25kcygwLjc1KTsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQotc3RhdGljIGNvbnN0IGF1dG8gcmVtb3ZlU25hcHNob3RUaW1lckRlbGF5ID0gc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyB7IDE1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbW92
ZVNuYXBzaG90VGltZXJEZWxheSA9IFNlY29uZHMoMS41KTsKICNlbmRpZgogCiBzdGF0aWMgY29u
c3QgU3RyaW5nIHRpdGxlVGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0
ODRmNTFjMGMzNjVhZjgxNWU3ZjYzOWYuLjJiYTVhMDhkMjU4NmEzY2JkMWRhNGZlMzEwNDg4ODY1
Y2RjN2ZiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBA
IC0xMjUsNyArMTI1LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2
ZW50KCkKICAgICBpZiAobV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJy
b3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBIVE1MU291
cmNlRWxlbWVudDo6Y2FuY2VsUGVuZGluZ0Vycm9yRXZlbnQoKQpAQCAtMTY2LDcgKzE2Niw3IEBA
IHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiB3aHkp
CiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpyZXN1bWUoKQogewogICAgIGlmIChtX3Nob3VsZFJl
c2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUpIHsKLSAgICAgICAgbV9lcnJvckV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJlc3Vt
ZSA9IGZhbHNlOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCmluZGV4IDA3ZjQyZDk5ZjhkN2I0OGE5YmEyNDFiNGM0NzFkNTc5ZjU1ZThiZDUuLjA2ZWRm
NzMwMzQyZGUyMTYyY2E4MzUzZWQ3YjA1NTk1MGExNWZhNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgSFRNTFRyYWNr
RWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4gUnVu
IHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFsbG93aW5nIHdo
YXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0gICAgbV9sb2Fk
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKaW5kZXggOTU0MDUyNTA5ZWI3ZTIy
YmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uZjY0YjU1ZWVhMjIwMzc2NDllYzY3NzFkYTNkYTQ5
MGRmNzNmODNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcApAQCAt
NTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9jayhDbG9jazo6Y3JlYXRlKCkpCiAg
ICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKICAgICAsIG1fdGltZXVwZGF0
ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCkK
LSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQogewogfQogCkBAIC0xNDgsNyArMTQ3
LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIGlm
IChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKSB7CiAgICAgICAgIC8v
IFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1
cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6bWF4PGRvdWJsZT4oMCwgc3RkOjpt
aW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUoKSkpOwotICAgICAgICBtX2NsZWFy
UG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY2xlYXJQb3NpdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiAKICAgICByZXR1cm4gbV9wb3Np
dGlvbjsKQEAgLTUzNyw3ICs1MzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkKIHsKICAgICBtX3BlbmRpbmdFdmVu
dHMuYXBwZW5kKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgdHJ1ZSkpOwogICAgIGlm
ICghbV9hc3luY0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hc3luY0V2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGlt
ZXJGaXJlZCgpCkBAIC02NjMsNyArNjYyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnJldHVy
blRvUmVhbHRpbWUoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMgdGltZXVw
ZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIxNSB0byAy
NTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IFNlY29uZHMoMC4yNSk7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1l
IG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93
IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2
M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0
ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVw
ZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9u
b3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3Vy
cmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RG9jdW1lbnQuY3BwCmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBm
ZmUuLjJhNDMzM2EyNTIxNjI0MzM3ZDQ4MGUzMzc1NGVlYTNhMGVmYzcxODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFE
b2N1bWVudDo6bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBs
ZXQgdGhlIHBsdWdpbiBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhp
cyAKICAgICAvLyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBl
bmdpbmUgY2FsbGJhY2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRo
ZSBlbGVtZW50LCBtZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNl
TWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYURvY3Vt
ZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA1Y2I3M2JiYzI1ZjMwNDAxMzcwNDQ3MzFm
YjU1ZTNmZjhlMmZjZGEzLi41YTRhOWU0YWM0MjdlY2I1YWVmMmQxOTRmZDA4MTc4YWQ3NGQwMWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTU3
LDcgKzU3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IGVsZW1lbnRNYWluQ29udGVudENoZWNrSW50ZXJ2YWwgPSAuMjUwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IFNlY29uZHMoMC4yNSk7CiAK
IHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVk
aWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250
ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBv
c2UpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJu
YWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBoYXNUYXJnZXRzCiAgICAgTE9H
KE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFi
bGVEaWRDaGFuZ2UoJXApIC0gaGFzVGFyZ2V0cyAlcyIsIHRoaXMsIGhhc1RhcmdldHMgPyAiVFJV
RSIgOiAiRkFMU0UiKTsKIAogICAgIG1faGFzUGxheWJhY2tUYXJnZXRzID0gaGFzVGFyZ2V0czsK
LSAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNhblBsYXlUb1dpcmVsZXNzUGxh
eWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFy
Y2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3Bw
CmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODli
ZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Nl
YXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAgIC8vIEFmdGVyIHR5cGluZyB0aGUgZmly
c3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAgIC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5
LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4yIGZyb20gdGhlbiBvbi4KLSAgICBtX3Nl
YXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVu
Z3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwogfQogCiB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25N
ZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBjYmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0
Li4zMWU2ODI5MjMyMTg3YTQ0MmZiZmRlOTczNGJlZDk1ZmFhYzczMmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQg
VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAg
ICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9u
TWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBlbHNlCiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNz
YWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBWYWxpZGF0aW9u
TWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQpAQCAtMTQ0LDcgKzE0NCw3IEBA
IHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKCkKICAg
ICAgICAgbV90aW1lciA9IG51bGxwdHI7CiAgICAgZWxzZSB7CiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVC
dWJibGVUcmVlKTsKLSAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDUuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAv
IDEwMDApKTsKKyAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KFNlY29uZHMo
NSksIFNlY29uZHMobV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwLjAp
KTsKICAgICB9CiB9CiAKQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdl
OjpyZXF1ZXN0VG9IaWRlTWVzc2FnZSgpCiAKICAgICAvLyBXZSBtdXN0IG5vdCBtb2RpZnkgdGhl
IERPTSB0cmVlIGluIHRoaXMgY29udGV4dCBieSB0aGUgc2FtZSByZWFzb24gYXMgc2V0TWVzc2Fn
ZSgpLgogICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29s
IFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9kZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggM2U5ZGNjYWM1MWNmMjNkY2M4NGU4NGEzYWJmMTdh
Y2U3MGMyMTMwMy4uNzMwOTczOTAzNzkzNmFiY2QxMGI2ZDhhNGNmMWY2NzFiMGVmNjQxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citjb25z
dCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gU2Vjb25kcygxKTsKIGNvbnN0
IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiAKIG5hbWVzcGFjZSB7CkBA
IC00NjY2LDcgKzQ2NjYsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VD
b250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpMb3N0QwogCiAgICAgLy8gQWx3
YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUgY29udGV4dCBsb3N0IGV2ZW50LCB0byBpbXBs
ZW1lbnQKICAgICAvLyB0aGUgc3BlYyBiZWhhdmlvciBvZiBxdWV1ZWluZyBhIHRhc2suCi0gICAg
bV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9k
aXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgp
CkBAIC00NjgzLDcgKzQ2ODMsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZv
cmNlUmVzdG9yZUNvbnRleHQoKQogICAgIH0KIAogICAgIGlmICghbV9yZXN0b3JlVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIFBsYXRmb3Jt
TGF5ZXIqIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApA
QCAtNTYxNCw3ICs1NjE0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNw
YXRjaENvbnRleHRMb3N0RXZlbnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQp
OwogICAgIG1fcmVzdG9yZUFsbG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAg
IGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxs
b3dlZCkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCkBAIC01Njc5LDcgKzU2
NzksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRl
eHQoKQogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dChHcmFwaGljc0NvbnRl
eHQzRDo6Y3JlYXRlKG1fYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOwogICAgIGlmICghY29udGV4
dCkgewogICAgICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RDb250ZXh0KQot
ICAgICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHNlY29uZHNCZXR3ZWVuUmVz
dG9yZUF0dGVtcHRzKTsKKyAgICAgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCh0
aW1lQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIC8v
IFRoaXMgbGlrZWx5IHNob3VsZG4ndCBoYXBwZW4gYnV0IGlzIHRoZSBiZXN0IHdheSB0byByZXBv
cnQgaXQgdG8gdGhlIFdlYkdMIGFwcC4KICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgIiIsICJlcnJvciByZXN0b3Jpbmcg
Y29udGV4dCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2Vy
U2NoZWR1bGVyLmNwcAppbmRleCAyODMzN2Q4NmQ1M2Y4OWRlYTUzOThiZjYzYzZmYjhjMTEzNWQz
NjFkLi4yN2NhZGVjNDIyNWY1NmVhODE5MTFlZjEwODcwOWY4MTQwNDIwOTJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1
bmtUaW1lckZpcmVkKCkKICAgICAvLyBGSVhNRTogVGhlIHRpbWVyIGNsYXNzIHNob3VsZCBoYW5k
bGUgdGltZXIgcHJpb3JpdGllcyBpbnN0ZWFkIG9mIHRoaXMgY29kZS4KICAgICAvLyBJZiBhIGxh
eW91dCBpcyBzY2hlZHVsZWQsIHdhaXQgYWdhaW4gdG8gbGV0IHRoZSBsYXlvdXQgdGltZXIgcnVu
IGZpcnN0LgogICAgIGlmIChtX3BhcnNlci5kb2N1bWVudCgpLT5pc0xheW91dFRpbWVyQWN0aXZl
KCkpIHsKLSAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3BhcnNlci5yZXN1bWVQYXJzaW5nQWZ0
ZXJZaWVsZCgpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c2hvdWxkWWllbGRCZWZvcmVFeGVjdXRpbmdTY3JpcHQoUHVtcFNlc3Npb24mIHNlc3Npb24pCiB2
b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1lKCkKIHsKICAgICBBU1NF
UlQoIW1fc3VzcGVuZGVkKTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6c3VzcGVuZCgpCkBAIC0xNDgs
NyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUoKQogICAgIGlmICgh
bV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAgcmV0dXJuOwogICAgIG1faXNT
dXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCAxNWVhMWYwOGMzMDYzYzYx
MzQyMGRiZTE1NjY2NWE4MTgzYmVjNTQ1Li42YWM4ZTExMDNmNDNiNjYzMmIzYzdkMTlkOGVkMGE2
YmNkNGJjM2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xQ
YW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIoKQogICAgIC8vIFRoZSB0aW1lciBpcyByZXF1aXJlZCB0
byBzZXQgdGhlIHByb3BlcnR5IGRpc3BsYXk6J25vbmUnIG9uIHRoZSBwYW5lbCwKICAgICAvLyBz
dWNoIHRoYXQgY2FwdGlvbnMgYXJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgYXQgdGhlIGJvdHRvbSBv
ZiB0aGUgdmlkZW8KICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBmYWRlb3V0IHRyYW5zaXRpb24u
Ci0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBh
Z2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAgIFNl
Y29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50
aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IFNlY29uZHMoMCk7CiAgICAg
bV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApAQCAtMTg4LDEw
ICsxODgsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUoKQog
ICAgIGlmIChtX29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9u
ID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNv
bnRyb2xzRmFkZUluRHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVJbkR1cmF0aW9uKCkgOiBTZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBk
dXJhdGlvbiwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlPcGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAog
ICAgIG1fb3BhcXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250
cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgp
ID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlv
bigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1
bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiBT
ZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5z
aXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlPcGFjaXR5LCAw
LjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3BhcXVlID0gZmFs
c2U7CkBAIC0xMzM2LDcgKzEzMzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRh
aW5lckVsZW1lbnQ6OnVwZGF0ZVNpemVzKGJvb2wgZm9yY2VVcGRhdGUpCiAgICAgbV91cGRhdGVU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvblN0eWxlID0gdHJ1ZTsKIAogICAgIC8vIEZJWE1FICgxMjEx
NzApOiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgbGF5b3V0LCBhbmQgc2hvdWxkIGxh
eSBvdXQgdGhlIHRleHQgdHJhY2tzIGltbWVkaWF0ZWx5LgotICAgIG1fdXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiBSZWZQdHI8SW1hZ2U+IE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1l
bnQ6OmNyZWF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uSW1hZ2UoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAyMTBmNmE5ZGY1YWM3
NzE3NWE5ODEyYWMwNTEwNDIyMzJhMzQwZjMzLi5mNjI1NGJiODEzODRiM2E3ZWQxNDA4ZmE0M2Vk
ODUxNTM0NTU1ZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRh
YmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxl
VGV4dFRyYWNrLmNwcApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpz
Y2hlZHVsZUxvYWQoY29uc3QgVVJMJiB1cmwpCiAgICAgLy8gMy4gQXN5bmNocm9ub3VzbHkgcnVu
IHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxlIGNvbnRpbnVpbmcgd2l0aCB3aGF0ZXZlciB0YXNr
IAogICAgIC8vIHdhcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHRleHQgdHJhY2sgb3Ig
Y2hhbmdpbmcgdGhlIHRleHQgdHJhY2sgbW9kZS4KICAgICBpZiAoIW1fbG9hZFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9s
b2FkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBFbGVtZW50KiBMb2FkYWJs
ZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5j
cHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdlMjIzZGQ0MzZjMDdkNTFiNi4uZTg0YjI4
YzBlMmVhN2FjZTQzNzI4NGE4NzJlOWMyNmNlNjYwYjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Ny
b2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocykuCi1zdGF0aWMgY29uc3QgZmxvYXQgc2Ny
b2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsVGltZSA9IFNlY29u
ZHMoMC40MzMpOwogCiBWVFRSZWdpb246OlZUVFJlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0KQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCkBA
IC00MDMsNyArNDAzLDcgQEAgdm9pZCBWVFRSZWdpb246OnN0YXJ0VGltZXIoKQogICAgIGlmICht
X3Njcm9sbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
dXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxUaW1lIDogMDsKKyAgICBTZWNv
bmRzIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiBTZWNvbmRz
KDApOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggM2Q1
NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uMTJlMjJlMTZkMDk2OTRhYmM2
ZGYyZWFjMDg5MDYxZGVlMThjNTFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFuZ2VSZWdp
b25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3csIGlu
dCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnROb2RlSWQp
OwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6dW5zY2hlZHVsZShXZWJLaXROYW1lZEZs
b3cqIG5hbWVkRmxvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuY3BwCmluZGV4IDgzYTAyNGJjZGRkMjEzMDk3ODc1OTg3MjI0MTI3MWUwYThmYjNmMGYu
LjFiZGQ0YzYwNjIxN2ZhYzQyNjg2YTA5MDkxN2RjM2YzYTIyZmU0MzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTg1LDcgKzE4NSw3
IEBAIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBtX2VsZW1lbnRzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1f
dGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJldmFsaWRh
dGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4
IDhhMzVhMTc5ZWI4YmY1OWI0YmMwOThkYzZlZGM5MGNkZTBkYTA1OTMuLjhkZWE4ZmM2NWY5YjA1
MWViY2M2ZmQxODZkNDg4MmU5NTEwZDBkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgwLDcg
KzgwLDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpOwog
ICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfQogCiAgICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdl
RnJvbUZyb250ZW5kKG1fbWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9t
ZXNzYWdlcy5pc0VtcHR5KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmY2EzMTBkMDBhYzIxZGM3YjYx
YmUwYTlmZTA1NWM4YjdmN2FhZDguLmJkZTJkNDIxYjljZGI1MDUyZGJmNzhiYzJjYjUzNzY3YjVm
ZTk0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5j
cHAKQEAgLTUwOSw4ICs1MDksOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJl
Y3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBk
YXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1Vw
ZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRp
bWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAg
ICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMC4w
MzIpOworICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50
UmVjdHNVcGRhdGVJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgZHJhd1BhaW50UmVjdHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCmlu
ZGV4IDNhYWE1MmE2YjhhYTYyZjNkYzc4ZDEyNGFkY2UxOGFlZDA3OTdmOTcuLjc5MGRhMTczYTNl
NTBiNjQ1MmFhMTBjNWM1ODk0ZTI4MDIxMzU4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHN0
YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudD4gYnVp
bGRJbnNwZWN0b3JPYmplY3RGb3JTCiAKICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKICAgICAgICAgLnNldElkKHNlZ21lbnQt
PmlkZW50aWZpZXIoKSkKLSAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAo
KSkKKyAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAoKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCkpCiAgICAgICAgIC5zZXRRdWV1ZXMoV1RGTW92ZShxdWV1ZXNPYmpl
Y3QpKQogICAgICAgICAucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKaW5kZXggZGI0Nzk5ODQxNTJlMzU2MmYzMTk0NjhiZTk1OTVlZWJiZTkwODc1
MC4uYTViOGRiYmFmM2IzMGI4YzJkOWMwN2FiM2E3Yzg1NTgzYmU5Y2IxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00ODksNyArNDg5LDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9pZCBEb2N1
bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2FkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAKICNpZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgaWYgKFNjaGVkdWxlUGFpckhh
c2hTZXQqIHNjaGVkdWxlZFBhaXJzID0gbV9mcmFtZS0+cGFnZSgpLT5zY2hlZHVsZWRSdW5Mb29w
UGFpcnMoKSkKQEAgLTEyMjUsNyArMTIyNSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2
ZXJTdWJzdGl0dXRlUmVzb3VyY2VzQWZ0ZXJEZWxheSgpCiAgICAgaWYgKG1fZnJhbWUtPnBhZ2Uo
KS0+ZGVmZXJzTG9hZGluZygpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFtX3N1YnN0aXR1
dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zdWJzdGl0dXRl
UmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zdWJzdGl0
dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
dm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGM3ODgzYWNiMWIxZmJl
NTBjMjk4MThiNmY0NjY2ZDljZTk2ZTQzOWYuLmQyYjY0NDA5MmFmZDZiNDEwYmRjZWY3MTg5OGY4
NjM3YTgyYjI4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODMx
LDcgKzgzMSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0ZVRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jaGVj
a1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6
c2NoZWR1bGVDaGVja0NvbXBsZXRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cAppbmRleCBhNTNhZjExYmI5ZjkzYmEyYTgxMjNkYjFhODEwZjM4ODc5OTZmZGM1Li5lYWZjZTFi
OTY4YTRiZjExNmQ4NzFhODQ2MzM1ODExZTFjNzNmYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRh
dGVkSGFzUGVuZGluZ0V2ZW50KCkKICAgICAgICAgICAgIG1fcHJvdGVjdGVkRWxlbWVudCA9ICZl
bGVtZW50KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUKCFtX2RlcmVmRWxlbWVudFRp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfSAgIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAKaW5kZXggN2VmZmFkN2ZhMWM1YWEzNDQ2ZWFjMDAyOTYxOGYxMmJiNTc1YjRl
NS4uMmJkOWQ5MzVhN2Q0MmVkZWVlYjJhZjNmZjMyMjI3MzYwZmNjNDhjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3
IEBAIHByb3RlY3RlZDoKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKICAgICAg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9y
d2FyZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3VybCwg
ZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9ja0Jh
Y2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3Rl
ZChtX3VybCwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwo
KS52YWx1ZSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlk
U3RvcFRpbWVyKEZyYW1lJiBmcmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVzcykgb3ZlcnJpZGUK
QEAgLTI3NSw3ICsyNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0
cnVlOwogCiAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNl
ckdlc3R1cmVUb0ZvcndhcmQoKSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGly
ZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkg
KyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CisgICAg
ICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0
VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCku
dmFsdWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0
b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBA
IC01MzksNyArNTM5LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIGRlbGF5ID0gbV9yZWRpcmVjdC0+ZGVsYXko
KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcyhkZWxheSkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJh
bWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJhbWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5k
aWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGltZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxs
IG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50IGNhbmNlbGVkIHRoZSBsb2FkKQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIyOWU2ZWFiNjVm
NTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi43ZTgzZTFjMjViNzc5OWEwNDAxMDhiODBlYjgwZWJj
NWE1NTgyZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApA
QCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9
IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25zdCBpbnQgcHJv
Z3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAogLy8gQ2hlY2sg
aWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7CiAKIC8vIEhvdyBtYW55
IGhlYXJ0YmVhdHMgbXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRo
ZSBsb2FkIGlzIGN1cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRT
dGFsbGVkSGVhcnRiZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcAppbmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4
Li5mMGUzOGFkZmVlZmUyMGU2MzQzYzZhYzFkMTM1NDcwOWZmNDgwOThjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQg
VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Up
CiAgICAgICAgIG1fY3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIGNh
bmNlbExvYWQoKTsKIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6
bmV3Q3Vlc1BhcnNlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbmV3Q3Vlc0F2YWlsYWJs
ZSA9IHRydWU7Ci0gICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tM
b2FkZXI6Om5ld1JlZ2lvbnNQYXJzZWQoKQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgVGV4dFRy
YWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSgpCiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIAog
ICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAKICAgICBjYW5jZWxMb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4
IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYxN2NmOTJlMTAuLjJjYmE5YzYyMGE3MWZj
MGE2MWVmNjhmYWU0MGI2ZjIwNDFhZmI0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcg
KzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4
QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGltZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2Fs
bGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVy
LT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgLy8gVGhlIHRpbWVyIHdpbGwgZGVsZXRl
IGl0c2VsZiBvbmNlIGl0IGZpcmVzLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBlMDc5MzhjOWY3NTAxNzk1Mjc5MTBhNDk2Y2U2
ZjRjYWRkMmU2MDA0Li4xMDRiNDBlNjI4MzM4OWU2N2ZiOWY5ZTFkZGMyOTc1MWZhMTAwMjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAg
LTEwMywxMCArMTAzLDEwIEBAIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291cmNlOjpk
ZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQogICAgIHJldHVybiBSZXNv
dXJjZUxvYWRQcmlvcml0eTo6TG93OwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7
CiAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCkKLSAgICAgICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBTZWNvbmRz
KDApOwogCiAgICAgcmV0dXJuIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCk7CiB9CkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWVkZWQoKQogewogICAgIGlmICghbV9kZWNv
ZGVkU2l6ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghTWVtb3J5Q2FjaGU6OnNpbmdsZXRv
bigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKS5jb3VudCgpKQorICAgIGlmICgh
TWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3Rh
cnQoKTsKIH0KQEAgLTgxNSw3ICs4MTUsNyBAQCBpbmxpbmUgQ2FjaGVkUmVzb3VyY2U6OkNhbGxi
YWNrOjpDYWxsYmFjayhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIENhY2hlZFJlc291cgogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aW1lcigqdGhpcywgJkNhbGxiYWNrOjp0aW1l
ckZpcmVkKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJmM2Rm
MzYxMWZiNzU5MzM1NGFhLi44MjAxOTQyMzYxOWY5OTYzMzk2ZDRhNGY5ZDY4NWE0ODdhOGM2ZGEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJmb3Jt
CiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJiYWdl
Q29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIC8vIEdhcmJhZ2UgY29sbGVjdGluZyBtX2RvY3VtZW50UmVzb3VyY2Vz
IGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmNwcAppbmRleCBkOGQzMGRmYzRlZTkxMDNiMzRkZjhhMTdiYmQ0NzVkZDhhOWU4
Mjc5Li4zYTk2MDBiZmY2YTIzNjFiZTMyMDRiNjRjNmYwNjBmYzc0ODIwNzYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNp
dHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBjb25zdCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2
ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29uZHMuCiBzdGF0aWMgY29uc3QgZmxvYXQgY1Rhcmdl
dFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8vIFBlcmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJk
IHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBpbW1lZGlhdGVseSBwcnVuaW5nIGFnYWluLgotc3Rh
dGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHsgMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAKIE1lbW9yeUNhY2hlJiBNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkKIHsKQEAgLTc2NywxMSArNzY3LDEzIEBAIHZvaWQgTWVtb3J5
Q2FjaGU6OnBydW5lKCkKIAogdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmVTb29uKCkKIHsKLSAgICAg
aWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQorICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQotICAgICAg
ICAgcmV0dXJuOwotICAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDApOworCisgICAgaWYg
KCFuZWVkc1BydW5pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wcnVuZVRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5
NjMwNTM4ZjI4MmJlNThkMTcwZC4uNzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTky
NmIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEy
NSw4ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25l
ZCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAg
IHZvaWQgc2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsKSB7IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9
IGludGVydmFsOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsOyB9CisgICAgdm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
ID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwoKSBjb25zdCB7IHJldHVybiBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0K
IAogICAgIC8vIENhbGxzIHRvIHB1dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBv
ZiBMUlUgbGlzdHMuCiAgICAgdm9pZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsK
QEAgLTE5OSw3ICsxOTksNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAg
ICAgdW5zaWduZWQgbV9taW5EZWFkQ2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2Fw
YWNpdHk7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVz
IGN1cnJlbnRseSBjb25zdW1lZCBieSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAg
ICB1bnNpZ25lZCBtX2RlYWRTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBj
b25zdW1lZCBieSAiZGVhZCIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3
Y2M3NzAzMGY1ZjY5NGUzMGJiMmQuLmNhMGMxZDk0MDIwNDU5ZThiODBlMmI2YjM3YTY2YWM1ZTU4
MDEwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApA
QCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24g
PSA2OwogLy8gSWNvbnMgZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50
IGljb25FeHBpcmF0aW9uVGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVw
ZGF0ZVRpbWVyRGVsYXkgPSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVs
YXkgPSBTZWNvbmRzKDUpOwogCiBzdGF0aWMgYm9vbCBjaGVja0ludGVncml0eU9uT3BlbiA9IGZh
bHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmlu
ZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLmNjMWI2N2Y2MGM0
YmUzZmE0YWE2NDI0YzgxNTU4OTgxN2Y2NDk5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
QXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9sbERlbGF5ID0gMC4yOwogCiAvLyBX
aGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8g
dGhlIHNjcm9sbCBldmVyeSAwLjA1cyB0byBtYWtlIGl0IHNtb290aAotc3RhdGljIGNvbnN0IGRv
dWJsZSBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0
b3Njcm9sbEludGVydmFsID0gU2Vjb25kcygwLjA1KTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xM
SU5HKQogc3RhdGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKaW5kZXggY2ZlYTEwYzRk
OWNlZWEzNGNiZGZkMjEwYjUzZjcxYWE3ZjgxYmU0NC4uYjZhN2FjYWZiOTI3ODU1MGE1Y2YzODlh
OGZhOGVkN2U2YjgwNGVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXMuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJl
bmNlczo6bm90aWZ5KCkKIAogICAgIG1faGF2ZVByZWZlcmVuY2VzID0gdHJ1ZTsKICAgICBpZiAo
IW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBDYXB0aW9uVXNl
clByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6
Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXggOThiMjJiYWZlMmNmYmJk
NmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNGNhNWVjY2Y3OWRmMzA2MGZmZDgwY2EyMWM4NzYw
NzAyMGE1Njc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclBy
ZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBAQCB2b2lkIENhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVyZW5jZUNo
YW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJpbmcgdGhlIGNhcHRpb24g
c3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgaW5k
aXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBvcgogICAgIC8vIHZpZGVv
IGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0gICAgbV91cGRhdGVTdHls
ZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlU3R5bGVTaGVldFRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRjo6Y2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGlt
ZXIuY3BwCmluZGV4IGQwM2MxYjAyZmU2MDIzYjYyMzE3YzMxMWQzNmMzZGE1ZmFkYzRmZDUuLmFl
NjQ1NGIzOGFkYjJjYzVmOWY3ODIwMDdmY2M4NWJjYzg4NTA0NTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
VGltZXIuY3BwCkBAIC01MSw4ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGF1dG8gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxMDAw
bXM7IC8vIE9uZSBzZWNvbmQgbWF0Y2hlcyBHZWNrby4KLXN0YXRpYyBjb25zdCBhdXRvIG1pbklu
dGVydmFsRm9yTm9uVXNlck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSAxMDAwbXM7IC8vIEVtcGly
aWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1pemUgYmF0dGVyeSBsaWZlLgorc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSBTZWNvbmRzKDEp
OyAvLyBPbmUgc2Vjb25kIG1hdGNoZXMgR2Vja28uCitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5J
bnRlcnZhbEZvck5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlVGltZXJzID0gU2Vjb25kcygxKTsgLy8g
RW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMg
Y29uc3QgaW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJl
U3RhdGUgewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1l
cnNNYXA6OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBi
b29sIHNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGlu
dGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndh
cmRVc2VyR2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAg
IHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAg
ICAgICAgJiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcK
ICAgICAgICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3
YXJkZWQgdG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8
VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVy
dmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0
dXJlKGludGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTE3NSwxMiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+
IHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6
OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRl
cnZhbCwgYm9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlv
biwgU2Vjb25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVU
aW1lcihjb250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdM
ZXZlbCgpKQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5h
bEludGVydmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkK
ICAgICAsIG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkp
CiAgICAgLCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9y
d2FyZChpbnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERP
TVRpbWVyOjp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xl
U2hvdCkKK2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBh
c3NlcyBvd25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNv
bnN0cnVjdG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21h
dGljYWxseSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAg
LTIxMCw3ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElP
UykKICAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVm
ZXJUaW1lb3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAg
ICAgIGlmICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2lu
Z2xlU2hvdCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoMTAwKSAmJiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAg
ICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShXS0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdl
KTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9ic2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVy
KTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlmIG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hh
bmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVv
dXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9u
bzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6
ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVlKCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAv
LyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBpbnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGlt
ZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRUaW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4
dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIxIEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRp
bWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChyZXBl
YXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VSVChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJl
dmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERP
TVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0
ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgp
LCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0
SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFsKTsKKyAgICAgICAgTE9HKERPTVRpbWVycywg
IiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBlYXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRv
ICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxs
aXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAg
ICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlv
dXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0g
VXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8g
JSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZh
bC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBMT0co
RE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01UaW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAl
LjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMo
KSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAt
IHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9N
VGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgQVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1h
eFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMs
IG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0byBpbnRlcnZhbCA9IHN0ZDo6bWF4KFNlY29u
ZHM6OmZyb21NaWxsaXNlY29uZHMoMSksIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAvLyBP
bmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9uZXN0
aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBAIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1PcHRpb25hbDxzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzPiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgZmlyZVRpbWUpIGNvbnN0CitPcHRpb25hbDxNb25vdG9uaWNUaW1lPiBET01U
aW1lcjo6YWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1RpbWUgZmlyZVRpbWUpIGNvbnN0CiB7Ci0g
ICAgYXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7Ci0gICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBtcykKKyAgICBTZWNvbmRzIGFsaWdu
bWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT50aW1lckFsaWdubWVudElu
dGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKKyAgICBpZiAo
IWFsaWdubWVudEludGVydmFsKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAKKyAgICAv
LyBEbyB3ZSByZWFsbHkgd2FudCB0byBpbml0aWFsaXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1
c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0g
cmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3JjZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFs
aWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJldHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBl
LmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rp
b24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVudEludGVydmFscywgZS5nLgogICAgIC8vIGlm
IGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCByYW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0
aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAuLi4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZz
ZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFk
anVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJu
IGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRGaXJlVGltZSAlIGFsaWdubWVudEludGVydmFs
KSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9taXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJh
bmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9u
OworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRGaXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9t
aXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChh
ZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50
ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0Owog
fQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggOTZjOGIzYmI2NWE3ZmNmMjY3ZThlMGFkZTZjZmNlMGZi
OWFkYTdkNC4uNDQ1YjVmMThhZDA5YjUwZWQ3N2I3ZTI5NDU2MzNkNTU3YjQ1OTlhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGltZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7
IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50
SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0K
KyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWluaW11bUludGVydmFsKCkgeyByZXR1cm4gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyg0KTsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1bHRB
bGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIFNlY29uZHMoMCk7IH0KKyAgICBzdGF0aWMgU2Vj
b25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiBTZWNvbmRzKDEpOyB9
CiAKICAgICAvLyBDcmVhdGVzIGEgbmV3IHRpbWVyIG93bmVkIGJ5IHNwZWNpZmllZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBzdGFydHMgaXQKICAgICAvLyBhbmQgcmV0dXJucyBpdHMgSWQuCi0g
ICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lb3V0
LCBib29sIHNpbmdsZVNob3QpOworICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVCeUlkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBpbnQgdGltZW91dElkKTsKIAogICAgIC8vIE5vdGlmeSB0aGF0
IHRoZSBpbnRlcnZhbCBtYXkgbmVlZCB1cGRhdGluZyAoZS5nLiBiZWNhdXNlIHRoZSBtaW5pbXVt
IGludGVydmFsCkBAIC02MCwxMCArNjAsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNj
cmlwdERpZEludGVyYWN0V2l0aFBsdWdpbihIVE1MUGx1Z0luRWxlbWVudCYpOwogCiBwcml2YXRl
OgotICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgYm9v
bCBzaW5nbGVTaG90KTsKKyAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3Rk
Ojp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2lu
Z2xlU2hvdCk7CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CisgICAgU2Vj
b25kcyBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsKIAogICAgIGJvb2wgaXNET01U
aW1lcnNUaHJvdHRsaW5nRW5hYmxlZChEb2N1bWVudCYpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
VGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoY29uc3QgRE9NVGltZXJGaXJlU3RhdGUmKTsKQEAg
LTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBTdXNwZW5kYWJsZVRpbWVyCiAgICAgdm9p
ZCBmaXJlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkU3RvcCgpIG92ZXJyaWRlOwotICAgIE9w
dGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBPcHRpb25hbDxNb25vdG9u
aWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9i
amVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTg1LDEwICs4NSwxMCBAQCBwcml2YXRlOgog
ICAgIGludCBtX3RpbWVvdXRJZDsKICAgICBpbnQgbV9uZXN0aW5nTGV2ZWw7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247Ci0gICAgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7Ci0gICAgVGltZXJUaHJvdHRsZVN0YXRlIG1f
dGhyb3R0bGVTdGF0ZTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fY3VycmVudFRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7CisgICAgU2Vjb25k
cyBtX2N1cnJlbnRUaW1lckludGVydmFsOwogICAgIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiBt
X3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQ7CisgICAgVGltZXJUaHJvdHRsZVN0YXRlIG1fdGhy
b3R0bGVTdGF0ZSB7IFVuZGV0ZXJtaW5lZCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDJhOTM5M2FmOGI2OGJmZWJhYTFkNmYw
YWM0YjZjYWY4ZGU2OTI5N2IuLjA1NzAxNTMyZTFmZjQ4ZDgzMWJhNjYwMjQ1YTNkOWY4Njc0ODg1
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTk1OCw3ICs5NTgsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFJlZjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+JiYgbWVzc2FnZSwgVgogCiAgICAgLy8gU2NoZWR1bGUgdGhlIG1lc3NhZ2UuCiAgICAg
YXV0byogdGltZXIgPSBuZXcgUG9zdE1lc3NhZ2VUaW1lcigqdGhpcywgV1RGTW92ZShtZXNzYWdl
KSwgc291cmNlT3JpZ2luLCBzb3VyY2UsIGNoYW5uZWxzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBX
VEZNb3ZlKHRhcmdldCksIFdURk1vdmUoc3RhY2tUcmFjZSkpOwotICAgIHRpbWVyLT5zdGFydE9u
ZVNob3QoMCk7CisgICAgdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJl
dHVybiB7IH07CiB9CkBAIC0xNjQ4LDcgKzE2NDgsNyBAQCBFeGNlcHRpb25PcjxpbnQ+IERPTVdp
bmRvdzo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24s
CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAo
IWNvbnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIg
fTsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJu
IERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6Y2xl
YXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCkBAIC0xNjgwLDcgKzE2ODAsNyBAQCBFeGNlcHRpb25P
cjxpbnQ+IERPTVdpbmRvdzo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJ
RF9BQ0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBX
VEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNl
KTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lk
IERPTVdpbmRvdzo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGV2aWNlQ29udHJvbGxlci5jcHAKaW5kZXggM2MzODQzMDk1NjM0OTYyMmFlMmUxOWZkNWI3
NjAzODVjOTU5MDRjYy4uNzA0OWI2MmQ1ODNjNWExNDM2NTIyOWQ4ODk1MjNiM2I4OTlkYTE5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCkBAIC00OCw3ICs0OCw3
IEBAIHZvaWQgRGV2aWNlQ29udHJvbGxlcjo6YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcihET01XaW5k
b3cqIHdpbmRvdykKICAgICBpZiAoaGFzTGFzdERhdGEoKSkgewogICAgICAgICBtX2xhc3RFdmVu
dExpc3RlbmVycy5hZGQod2luZG93KTsKICAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0eSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlOTRhOTI1NTJjOTk2YTUzOGU0
NjY4MmNlYjMxZTM1MTkxYTMzMzdhLi43M2M3MTdkMDFjNDUyZGJiYzlhYjc5Mjg0OGVlNWI3OTEy
YWE0MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUgKzE1
NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRpbWUg
dG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAogLy8g
ZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29udGVu
dCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVyYXRp
b25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVzZWQu
Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsKLWNv
bnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRvdWJs
ZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFrZU1v
dXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gU2Vjb25kcygwLjAxKTsKK2NvbnN0IFNlY29uZHMg
ZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7Citjb25zdCBTZWNvbmRz
IGZha2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMjUpOwogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBm
b3IgYSBjdXJzb3IgdXBkYXRlIG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRv
IDUwSHosIG5vIG5lZWQgdG8gYmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJh
dGUKLWNvbnN0IGRvdWJsZSBjdXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNv
bmRzIGN1cnNvclVwZGF0ZUludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAogY29uc3QgaW50IG1h
eGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCkBAIC0xOTMsMjAgKzE5MywyMCBAQCBwcml2
YXRlOgogCiBjbGFzcyBNYXhpbXVtRHVyYXRpb25UcmFja2VyIHsKIHB1YmxpYzoKLSAgICBleHBs
aWNpdCBNYXhpbXVtRHVyYXRpb25UcmFja2VyKGRvdWJsZSAqbWF4RHVyYXRpb24pCisgICAgZXhw
bGljaXQgTWF4aW11bUR1cmF0aW9uVHJhY2tlcihTZWNvbmRzJiBtYXhEdXJhdGlvbikKICAgICAg
ICAgOiBtX21heER1cmF0aW9uKG1heER1cmF0aW9uKQotICAgICAgICAsIG1fc3RhcnQobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkpCisgICAgICAgICwgbV9zdGFydChNb25vdG9uaWNUaW1l
Ojpub3coKSkKICAgICB7CiAgICAgfQogCiAgICAgfk1heGltdW1EdXJhdGlvblRyYWNrZXIoKQog
ICAgIHsKLSAgICAgICAgKm1fbWF4RHVyYXRpb24gPSBzdGQ6Om1heCgqbV9tYXhEdXJhdGlvbiwg
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3N0YXJ0KTsKKyAgICAgICAgbV9tYXhE
dXJhdGlvbiA9IHN0ZDo6bWF4KG1fbWF4RHVyYXRpb24sIE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9zdGFydCk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIGRvdWJsZSogbV9tYXhEdXJhdGlvbjsK
LSAgICBkb3VibGUgbV9zdGFydDsKKyAgICBTZWNvbmRzJiBtX21heER1cmF0aW9uOworICAgIE1v
bm90b25pY1RpbWUgbV9zdGFydDsKIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAh
RU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBFdmVudEhh
bmRsZXI6OmNsZWFyKCkKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludERvY3VtZW50ID0gbnVs
bHB0cjsKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRhcmdldEtleSA9IDA7CiAjZW5kaWYK
LSAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDA7CisgICAgbV9tYXhNb3VzZU1vdmVkRHVy
YXRpb24gPSBTZWNvbmRzKDApOwogICAgIG1fYmFzZUV2ZW50VHlwZSA9IFBsYXRmb3JtRXZlbnQ6
Ok5vVHlwZTsKICAgICBtX2RpZFN0YXJ0RHJhZyA9IGZhbHNlOwogfQpAQCAtMTgyMCw3ICsxODIw
LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2
ZW50JiBldmVudCkKIHsKICAgICBSZWY8RnJhbWU+IHByb3RlY3RlZEZyYW1lKG1fZnJhbWUpOwog
ICAgIFJlZlB0cjxGcmFtZVZpZXc+IHByb3RlY3RvcihtX2ZyYW1lLnZpZXcoKSk7Ci0gICAgTWF4
aW11bUR1cmF0aW9uVHJhY2tlciBtYXhEdXJhdGlvblRyYWNrZXIoJm1fbWF4TW91c2VNb3ZlZER1
cmF0aW9uKTsKKyAgICBNYXhpbXVtRHVyYXRpb25UcmFja2VyIG1heER1cmF0aW9uVHJhY2tlciht
X21heE1vdXNlTW92ZWREdXJhdGlvbik7CiAKICAgICBpZiAobV9mcmFtZS5tYWluRnJhbWUoKS5w
YWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5oYW5kbGVNb3VzZUV2ZW50KGV2ZW50KSkKICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC0yODk4LDcgKzI4OTgsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2Vu
ZENvbnRleHRNZW51RXZlbnRGb3JLZXkoKQogdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92
ZXJTdGF0ZVVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX2hvdmVyVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9ob3ZlclRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9S
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDliY2FjNzJjN2UyMTYzMjEwOTE1
ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUzYjM2ODliNmEyZDUyYTY5NDg4
ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNTcwLDcgKzU3MCw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAot
ICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAgfTsKKyAgICBTZWNvbmRzIG1f
bWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZlbnQ6OlR5cGUgbV9iYXNlRXZl
bnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAgYm9vbCBtX2RpZFN0YXJ0RHJh
ZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVlbEV2ZW50IHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggNDc0MjI4ODA3MmNlNWE1YTFlYjdh
OTA0ZjUyMTUzM2Y1ZTUyNDVjNy4uOGIxNzZiYzM0ODhiZWIxNjlhM2YzYjM5MjVlMGRhNjQyMzgy
M2FjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRfdCBFdmVudFNvdXJjZTo6ZGVm
YXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29uZHMgRXZlbnRTb3VyY2U6OmRl
ZmF1bHRSZWNvbm5lY3REZWxheSA9IFNlY29uZHMoMyk7CiAKIGlubGluZSBFdmVudFNvdXJjZTo6
RXZlbnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1
cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5pdCkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgm
Y29udGV4dCkKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZUlu
aXRpYWxDb25uZWN0KCkKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBDT05ORUNUSU5HKTsKICAgICBB
U1NFUlQoIW1fcmVxdWVzdEluRmxpZ2h0KTsKIAotICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgT3B0aW9uYWw8dW5zaWduZWQ+IGZpZQogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAwM2FlYzJiYjMxYjhhYWU1Mjk0YjZmNzk5ODQ2OGRk
YjkxNmE5OGRkLi5jOTQ2MTU3OTIwMjQ4MDNjYmFiMjk5Nzk0MmQ3Yzg1NDlhMGQxYjc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uOTM4YmUw
NjRiMWE0NzE4NGZkZjQ3OWM4YjFjMzZjOTcxMzIxMTI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxp
c2Vjb25kcygzMykpOwogfQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6Zm9jdXNSZXBhaW50VGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDM3ZmI3ZGFmMWZkOWUyOTU2YmFmNTBm
MWNhNWM4YWE5M2JkMGMyNDIuLjU1Y2Y0MzZlNjg5M2FhOWY1Y2NiYTBlYzYzMmI3NjM1YjE3M2Ew
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogI2lmIFBMQVRGT1JNKElPUykK
LWNvbnN0IHVuc2lnbmVkIHNjcm9sbEZyZXF1ZW5jeSA9IDEwMDAgLyA2MDsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSA9IFNlY29uZHMoMS4wIC8gNjApOwogI2VuZGlmCiAK
IERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgZnJh
bWVDb3VudGVyLCAoIkZyYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGE2
MTlhMGIyNjVhNzY3NTQwMGZkMmUyODlkNjMwZmJlZDk1NGY2MjEuLjkxNTY1NjRkYmE0NWYwZjNh
YjYyMTUyYzY1N2I0ZjVmODI5NGE0ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAg
LTE1NjAsNyArMTU2MCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRy
ZWUpCiAgICAgICAgICAgICAvLyBkZWZlciB3aWRnZXQgdXBkYXRlcyBhbmQgZXZlbnQgZGlzcGF0
Y2ggdW50aWwgYWZ0ZXIgd2UgcmV0dXJuLiBwb3N0TGF5b3V0VGFza3MoKQogICAgICAgICAgICAg
Ly8gY2FuIG1ha2UgdXMgbmVlZCB0byB1cGRhdGUgYWdhaW4sIGFuZCB3ZSBjYW4gZ2V0IHN0dWNr
IGluIGEgbmFzdHkgY3ljbGUgdW5sZXNzCiAgICAgICAgICAgICAvLyB3ZSBjYWxsIGl0IHRocm91
Z2ggdGhlIHRpbWVyIGhlcmUuCi0gICAgICAgICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICAgICAgaWYgKG5lZWRzTGF5b3V0KCkpCiAgICAg
ICAgICAgICAgICAgbGF5b3V0KCk7CiAgICAgICAgIH0KQEAgLTI0NDMsNyArMjQ0Myw3IEBAIHZv
aWQgRnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24m
IG9sZFBvc2l0aW9uLCBjb25zdCBTCiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RvcCgpOwogICAgICAgICBzZW5kU2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2Rl
bGF5ZWRTY3JvbGxFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9s
bEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAg
ICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5
KTsKIAogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAg
ICAgICAgIGRvY3VtZW50LT5zZW5kV2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3Np
dGlvbiwgbmV3UG9zaXRpb24sIHZpc2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7
CkBAIC0yODQxLDcgKzI4NDEsNyBAQCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVU
aWxpbmdJZk5lZWRlZCgpCiAgICAgaWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQg
YXMgbG9hZCBjb21wbGV0aW9uIG1heSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlw
dHMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5
ID0gMC41OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxl
RGVsYXkgPSBTZWNvbmRzKDAuNSk7CiAgICAgbV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVy
LnN0YXJ0T25lU2hvdChzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5KTsKIH0KIApAQCAtMjkx
NCw3ICsyOTE0LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjaGVkdWxlUmVsYXlvdXQoKQogICAgICAg
ICBwcmludGYoIlNjaGVkdWxpbmcgbGF5b3V0IGZvciAlZFxuIiwgZGVsYXkpOwogI2VuZGlmCiAK
LSAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9sYXlvdXRUaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhkZWxheS5jb3VudCgpKSk7
CiB9CiAKIHN0YXRpYyBib29sIGlzT2JqZWN0QW5jZXN0b3JDb250YWluZXJPZihSZW5kZXJPYmpl
Y3QqIGFuY2VzdG9yLCBSZW5kZXJPYmplY3QqIGRlc2NlbmRhbnQpCkBAIC0yOTQ5LDcgKzI5NDks
NyBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZShSZW5kZXJFbGVt
ZW50JiBuZXdSZWxheW91dFJvb3QpCiAgICAgICAgIG1fbGF5b3V0Um9vdCA9ICZuZXdSZWxheW91
dFJvb3Q7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZUxh
eW91dChmcmFtZSgpKTsKICAgICAgICAgbV9kZWxheWVkTGF5b3V0ID0gZGVsYXkuY291bnQoKTsK
LSAgICAgICAgbV9sYXlvdXRUaW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgICAgICBtX2xh
eW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGRlbGF5LmNv
dW50KCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzQyOSw3ICszNDI5LDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKQogICAgIC8vIGlzIGNhbGxl
ZCB0aHJvdWdoIHRoZSBwb3N0IGxheW91dCB0aW1lci4KICAgICBSZWY8RnJhbWVWaWV3PiBwcm90
ZWN0ZWRUaGlzKCp0aGlzKTsKIAotICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkg
ewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxp
bmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYWU5NjYwODExYjQzOTBlYzdk
ZGJiNTY4YmZjNjVkZjQxYzVlOWMxZC4uNjU4NzE1ZTk1MzNlMWQ2ZDBjYzU3Yjc4MmYxMzYxZmM3
ZGVlYjgzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcgKzEyNDMsNyBAQCB2b2lkIFBh
Z2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0bGluZ1N0YXRlIHN0YXRlKQog
ICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlID0gc3RhdGU7Ci0g
ICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSA9IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVwZGF0ZURPTVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1l
clRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBzdGF0ZSkKICAgICB9CiB9CiAK
LXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBtX3RpbWVyQWxpZ25t
ZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAgLTEyODQsOCArMTI4NCw4IEBA
IHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIGlm
IChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0g
bV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsKICAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZS50
aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246
Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBzdGQ6OmNo
cm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hh
bmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0gTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lOwog
ICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0LCBzZXQgdGhlIHRpbWVyLiBJ
ZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBpZiAobV90aW1lckFsaWdubWVu
dEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCkKICAgICAg
ICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAy
MDBhYjM5NmUzN2Y3OTY4NjRkMGU0NjAyNGFjMWU4NWZiZjk4MGY2Li43MmEwYmYwNDUyM2NmOTM1
MmRiOTU4MTZhMGYzMjllMWEyNTExMmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjI1LDcgKzIyNSw3
IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dyZXNzKCkgY29uc3QgeyByZXR1
cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXImIGJhY2tGb3J3YXJk
KCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9sbGVyOyB9CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2
YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogICAgIGVudW0gVmlld01v
ZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNob3dBbGxQbHVn
aW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0gc2hvd0FsbDsgfQogICAgIGJv
b2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1lckFsaWdubWVudEludGVydmFs
SW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXNDb250cm9sbGVkQnlBdXRvbWF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRvbWF0aW9uOyB9CiAgICAgdm9p
ZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJvbGxlZCkgeyBtX2NvbnRyb2xs
ZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02NjcsMTAgKzY2NywxMCBAQCBwcml2
YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogCiAgICAgVGltZXJU
aHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7IFRpbWVyVGhyb3R0bGluZ1N0
YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9p
bnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSB7IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBNb25vdG9uaWNUaW1lIG1fdGlt
ZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAgU2Vjb25kcyBtX3RpbWVyQWxp
Z25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVh
c2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lzRWRpdGFibGU7CiAgICAgYm9v
bCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zl
cmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCBlNzBi
Y2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5lOTAyYjAyNThkMWUxODlhNjAw
MzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApA
QCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91
YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRpYyBjb25zdCBkb3VibGUgZmFk
ZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgZmFkZUFuaW1h
dGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0YXRpYyBQYWdlT3ZlcmxheTo6
UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQogewpAQCAtMjUwLDcgKzI1MCw3
IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0aW9uKCkKIHZvaWQgUGFnZU92
ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9mYWRlQW5pbWF0aW9uU3RhcnRU
aW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVh
dGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAgbV9mYWRlQW5pbWF0aW9uVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFsKTsKIH0KIAogdm9pZCBQYWdl
T3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAppbmRleCA2ZWMzMDZkYTE3MWU5N2M1MzhmNDczNTFkMGRiMTI3OWViZDUxYjk5Li41ZjY0ZmFk
ZGM0MzZmNThhOTVhMDU3NDE4NjBhZTgzZmZkYzc5NmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcApAQCAtMTcyLDcgKzE3Miw3IEBAIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJl
c1VzZXJHZXN0dXJlVG9Mb2FkVmlkZW8gPSB0cnVlOwogCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZh
dWx0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwogCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dEluU2Vjb25kcyA9IDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0SW5jcmVtZW50YWxS
ZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgPSBTZWNvbmRzKDUpOwogI2lmIFVTRShVTklGSUVE
X1RFWFRfQ0hFQ0tJTkcpCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VW5pZmllZFRleHRDaGVj
a2VyRW5hYmxlZCA9IHRydWU7CiAjZWxzZQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sIGxvYWRzSW1hZ2VzQXV0b21hdGlj
YWxseSkKICAgICAvLyBTdGFydGluZyB0aGVzZSBsb2FkcyBzeW5jaHJvbm91c2x5IGlzIG5vdCBp
bXBvcnRhbnQuICBCeSBwdXR0aW5nIGl0IG9uIGEgMC1kZWxheSwgcHJvcGVybHkgY2xvc2luZyB0
aGUgUGFnZSBjYW5jZWxzIHRoZW0KICAgICAvLyBiZWZvcmUgdGhleSBoYXZlIGEgY2hhbmNlIHRv
IHJlYWxseSBzdGFydC4KICAgICAvLyBTZWUgaHR0cDovL3dlYmtpdC5vcmcvYi82MDU3MiBmb3Ig
bW9yZSBkaXNjdXNzaW9uLgotICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGlu
Z3NUaW1lckZpcmVkKCkKQEAgLTQwNyw3ICs0MDcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRJbWFn
ZXNFbmFibGVkKGJvb2wgYXJlSW1hZ2VzRW5hYmxlZCkKICAgICBtX2FyZUltYWdlc0VuYWJsZWQg
PSBhcmVJbWFnZXNFbmFibGVkOwogCiAgICAgLy8gU2VlIGNvbW1lbnQgaW4gc2V0TG9hZHNJbWFn
ZXNBdXRvbWF0aWNhbGx5LgotICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVG
b3JJbWFnZXMoYm9vbCBwcmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBA
QCB2b2lkIFNldHRpbmdzOjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNo
b3VsZE5vdFJlbG9hZElGcmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5n
UXVpcmsgPSBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lk
IFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGludGVydmFsKQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2
YWwoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21p
bmltdW1ET01UaW1lckludGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBp
bnRlcnZhbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBkMDY5NTdkYWVmNjY3N2Y3MTkzNWY3
ZjViMTNlNTI5MTNkYmRkZWM1Li5mYjAyMmY5MGVjYWI5MDE2ZTk4ODVlOGMzM2VhNTJkMTg0YjFk
ZGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0xNjksOCArMTY5LDggQEAgcHVibGljOgog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmso
Ym9vbCk7CiAgICAgYm9vbCBuZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3Qg
eyByZXR1cm4gbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKTsgLy8gSW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50
ZXJ2YWwoKS4KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmltdW1ET01UaW1lcklu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQorICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCisg
ICAgU2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWlu
aW11bURPTVRpbWVySW50ZXJ2YWw7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5
b3V0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CiAgICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBsYXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0SW50
ZXJ2YWw7IH0KQEAgLTI0NCw4ICsyNDQsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0U2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJz
KGJvb2wpOwogICAgIHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycygpOwogCi0gICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyhkb3VibGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsgfQotICAgIGRvdWJsZSB0aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KKyAgICB2b2lkIHNldFRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHMgdGltZSkg
eyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsg
fQorICAgIFNlY29uZHMgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOyB9CiAKICAgICBib29sIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9u
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNp
b25FbmFibGVkOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoYm9vbCk7CkBAIC0zMjYsNyArMzI2LDcgQEAgcHJpdmF0
ZToKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEdlbmVyaWNGYW1pbGllcz4gbV9mb250
R2VuZXJpY0ZhbWlsaWVzOwogICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQb2xp
Y3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7CiAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBtX2xheW91dEludGVydmFsOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5p
bXVtRE9NVGltZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2
YWw7CiAKICAgICBTRVRUSU5HU19NRU1CRVJfVkFSSUFCTEVTCiAKQEAgLTM0OSw3ICszNDksNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0
aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA4OTFmZTc0ZTcyYmM0YjIyYjRmYTBhYjVlYjJlNDcw
YmU3NDQyMzIwLi42NDZkZTFlMTQ5YTM1MTczNjRkMzg5YzU1ZmIwOGZlOWU1MTk1NTdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTcsNyArNyw3IEBAIGxvY2FsU3RvcmFnZURhdGFiYXNl
UGF0aCB0eXBlPVN0cmluZwogZWRpdGFibGVMaW5rQmVoYXZpb3IgdHlwZT1FZGl0YWJsZUxpbmtC
ZWhhdmlvciwgaW5pdGlhbD1FZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IKIHRleHREaXJlY3Rp
b25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3IgdHlwZT1UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1
c2lvbkJlaGF2aW9yLCBpbml0aWFsPVRleHREaXJlY3Rpb25TdWJtZW51QXV0b21hdGljYWxseUlu
Y2x1ZGVkCiBwZGZJbWFnZUNhY2hpbmdQb2xpY3kgdHlwZT1QREZJbWFnZUNhY2hpbmdQb2xpY3ks
IGluaXRpYWwgPSBQREZJbWFnZUNhY2hpbmdEZWZhdWx0Ci1wYXNzd29yZEVjaG9EdXJhdGlvbklu
U2Vjb25kcyB0eXBlPWRvdWJsZSwgaW5pdGlhbD0xCitwYXNzd29yZEVjaG9EdXJhdGlvbiB0eXBl
PVNlY29uZHMsIGluaXRpYWw9MQogCiAjIFNldHMgdGhlIG1hZ25pZmljYXRpb24gdmFsdWUgZm9y
IHZhbGlkYXRpb24gbWVzc2FnZSB0aW1lci4gIElmIHRoZQogIyBtYWduaWZpY2F0aW9uIHZhbHVl
IGlzIE4sIGEgdmFsaWRhdGlvbiBtZXNzYWdlIGRpc2FwcGVhcnMgYXV0b21hdGljYWxseSBhZnRl
cgpAQCAtMTQwLDcgKzE0MCw3IEBAIG1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbSBpbml0
aWFsPWRlZmF1bHRNZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20KIGludmlzaWJsZUF1dG9w
bGF5Tm90UGVybWl0dGVkIGluaXRpYWw9ZmFsc2UKIHBhc3N3b3JkRWNob0VuYWJsZWQgaW5pdGlh
bD1mYWxzZQogc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nIGluaXRpYWw9ZmFsc2UKLWlu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzIHR5cGU9ZG91Ymxl
LCBpbml0aWFsPWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dElu
U2Vjb25kcworaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgdHlwZT1TZWNv
bmRzLCBpbml0aWFsPWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dAogYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQgaW5pdGlhbD10cnVlCiBzaG91bGREaXNw
bGF5U3VidGl0bGVzIGluaXRpYWw9ZmFsc2UsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCiBzaG91
bGREaXNwbGF5Q2FwdGlvbnMgaW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4IDc2NTgzYzEyYmE4
MjkxYWFhNmFlNGJjNWRmZGQ0NmIyNGM1NzY0MzUuLmYzY2ViNzM1ODE0NzQ2MjI2ZTI2OTc0ODZm
YWY5NjBhYjY1NzE5Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cApAQCAtMzMsMTAgKzMzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTdXNwZW5kYWJsZVRp
bWVyOjpTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAg
ICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCi0gICAgLCBtX3N1c3BlbmRlZChmYWxzZSkK
LSAgICAsIG1fc2F2ZWROZXh0RmlyZUludGVydmFsKDApCi0gICAgLCBtX3NhdmVkUmVwZWF0SW50
ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRJc0FjdGl2ZShmYWxzZSkKIHsKIH0KIApAQCAtMTAxLDcg
Kzk3LDcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpjYW5jZWwoKQogICAgICAgICBtX3N1c3Bl
bmRlZCA9IGZhbHNlOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5n
KGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQog
ICAgICAgICBUaW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsKTsKQEAgLTEx
MiwyNyArMTA4LDI3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91
YmxlIHJlcGVhdEludGVydmFsKQogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpz
dGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFy
dE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAg
ICAgICBUaW1lckJhc2U6OnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIG1fc2F2ZWRJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0RmlyZUludGVy
dmFsID0gaW50ZXJ2YWw7Ci0gICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7CisgICAg
ICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAgICAgfQogfQogCi1kb3Vi
bGUgU3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTdXNw
ZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3N1c3Bl
bmRlZCkKICAgICAgICAgcmV0dXJuIFRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwoKTsKICAgICBp
ZiAobV9zYXZlZElzQWN0aXZlKQogICAgICAgICByZXR1cm4gbV9zYXZlZFJlcGVhdEludGVydmFs
OwotICAgIHJldHVybiAwOworICAgIHJldHVybiBTZWNvbmRzKDApOwogfQogCi12b2lkIFN1c3Bl
bmRhYmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNw
ZW5kYWJsZVRpbWVyOjphdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFs
KGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVn
bWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9z
YXZlZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBk
ZWx0YTsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gU2Vjb25kcygwKTsKICAgICB9CiB9CiAKLXZvaWQgU3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoZGVsdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCBlMTVm
MGE3MDkzNzg1MGEzYTY5MDFmNzIwYzVkZTFmNjA5OTEzODY0Li4xMzQ1NzUxODUyNGRkMjEyYTky
YjdmODU1NTE3ODFhMDM2NWQxOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1
c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGlt
ZXIuaApAQCAtNDMsMTcgKzQzLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29u
c3QgeyByZXR1cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3Nh
dmVkSXNBY3RpdmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3VzcGVuZGVkOyB9CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRl
cnZhbCk7Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKTsKLSAgICBkb3Vi
bGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKTsKLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVs
dGEpOworICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7Cisg
ICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCk7CisgICAgU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCgpIGNvbnN0OwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9TZWNv
bmRzKHJlcGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRl
cnZhbCkpOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1T
KCkgY29uc3QgeyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLSAgICB2
b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkg
eyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KLSAgICB2b2lkIGF1
Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1
Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9CisgICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpOworICAgIHZvaWQgYXVnbWVudFJlcGVhdElu
dGVydmFsKFNlY29uZHMgZGVsdGEpOwogCiAgICAgdXNpbmcgVGltZXJCYXNlOjpkaWRDaGFuZ2VB
bGlnbm1lbnRJbnRlcnZhbDsKICAgICB1c2luZyBUaW1lckJhc2U6Om9wZXJhdG9yIG5ldzsKQEAg
LTcxLDExICs2NiwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNw
ZW5zaW9uKSBmaW5hbDsKICAgICB2b2lkIHJlc3VtZSgpIGZpbmFsOwogCi0gICAgYm9vbCBtX3N1
c3BlbmRlZDsKKyAgICBTZWNvbmRzIG1fc2F2ZWROZXh0RmlyZUludGVydmFsOworICAgIFNlY29u
ZHMgbV9zYXZlZFJlcGVhdEludGVydmFsOwogCi0gICAgZG91YmxlIG1fc2F2ZWROZXh0RmlyZUlu
dGVydmFsOwotICAgIGRvdWJsZSBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAgYm9vbCBtX3Nh
dmVkSXNBY3RpdmU7CisgICAgYm9vbCBtX3N1c3BlbmRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBt
X3NhdmVkSXNBY3RpdmUgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCmluZGV4IDM5
ODg3ZjEzNTIyOTQxMmUzZjAzNTIzZGY0YjU5N2JjZTM3NjBjNzUuLmVmYmIzNmRlYTk2OTBlMTJi
OGNiZmU1YjgzZTJmNWY5YzAyYmNhNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
V2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVs
RXZlbnRUZXN0VHJpZ2dlci5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgdm9pZCBXaGVlbEV2ZW50VGVz
dFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIoc3RkOjpm
dW5jdGkKICAgICB9CiAgICAgCiAgICAgaWYgKCFtX3Rlc3RUcmlnZ2VyVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjAp
OworICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAg
LyA2MCkpOwogfQogCiB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJl
YXNvbihTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0VHJpZ2dl
clJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDlhNDZkZWI0MTFhZmM5YWNhYjE0ZDllNmNk
N2E4MWRhZDJmNzVjZWQuLjg5NjRjZWM3MGJhNDZmMjMxNmNlNGM1NzUyMmNkYWRhNDJlNzkzNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwCkBAIC00OCw4ICs0OCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBjQW5pbWF0aW9uVGltZXJEZWxheSA9IDEuMCAvIDYwOwotc3Rh
dGljIGNvbnN0IGRvdWJsZSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lckRlbGF5ID0gU2Vjb25kcygxLjAgLyA2
MCk7CitzdGF0aWMgY29uc3QgZG91YmxlIGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCA9
IC0xOwogCiBjbGFzcyBBbmltYXRpb25Qcml2YXRlVXBkYXRlQmxvY2sgewogcHVibGljOgpAQCAt
NzEsNyArNzEsNyBAQCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUoRnJhbWUmIGZyYW1lKQogICAgIDogbV9hbmltYXRpb25UaW1lcigqdGhpcywg
JkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1lckZpcmVkKQogICAgICwg
bV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKQogICAgICwgbV9m
cmFtZShmcmFtZSkKLSAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShi
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCiAgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBk
YXRlQ291bnQoMCkKICAgICAsIG1fd2FpdGluZ0ZvckFzeW5jU3RhcnROb3RpZmljYXRpb24oZmFs
c2UpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQpAQCAtMTUyLDExICsxNTIsMTEgQEAgZG91
YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25zKFNldENoYW5n
ZWQgY2FsbFNldENoYW5nZWQvKgogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1
cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQog
ewotICAgIGRvdWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IDA7CisgICAgU2Vjb25kcyB0aW1lVG9O
ZXh0U2VydmljZTsKIAogICAgIGNvbnN0IENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5p
bWF0aW9uID0gbV9jb21wb3NpdGVBbmltYXRpb25zLmdldCgmcmVuZGVyZXIpOwogICAgIGlmICgh
Y29tcG9zaXRlQW5pbWF0aW9uLT5pc1N1c3BlbmRlZCgpICYmIGNvbXBvc2l0ZUFuaW1hdGlvbi0+
aGFzQW5pbWF0aW9ucygpKQotICAgICAgICB0aW1lVG9OZXh0U2VydmljZSA9IGNvbXBvc2l0ZUFu
aW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKTsKKyAgICAgICAgdGltZVRvTmV4dFNlcnZpY2Ug
PSBTZWNvbmRzKGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKSk7CiAKICAg
ICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIChtX2FuaW1hdGlvblRpbWVyLnJl
cGVhdEludGVydmFsKCkgfHwgbV9hbmltYXRpb25UaW1lci5uZXh0RmlyZUludGVydmFsKCkgPD0g
dGltZVRvTmV4dFNlcnZpY2UpKQogICAgICAgICByZXR1cm47CkBAIC0xNjYsMTkgKzE2NiwyMCBA
QCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZv
clJlbmRlcmVyKFJlbmRlckVsZW1lbnQmCiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQvKiA9IERv
Tm90Q2FsbFNldENoYW5nZWQqLykKIHsKLSAgICBkb3VibGUgdGltZVRvTmV4dFNlcnZpY2UgPSB1
cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBj
b252ZXJ0IHJlc3Qgb2YgYW5pbWF0aW9ucyBjb2RlIHRvIFNlY29uZHMgYW5kIE1vbm90b25pY1Rp
bWUuCisgICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHModXBkYXRlQW5pbWF0
aW9ucyhjYWxsU2V0Q2hhbmdlZCkpOwogCi0gICAgTE9HKEFuaW1hdGlvbnMsICJ1cGRhdGVBbmlt
YXRpb25UaW1lcjogdGltZVRvTmV4dFNlcnZpY2UgaXMgJS4yZiIsIHRpbWVUb05leHRTZXJ2aWNl
KTsKKyAgICBMT0coQW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0
U2VydmljZSBpcyAlLjJmbXMiLCB0aW1lVG9OZXh0U2VydmljZS5taWxsaXNlY29uZHMoKSk7CiAK
ICAgICAvLyBJZiB3ZSB3YW50IHNlcnZpY2UgaW1tZWRpYXRlbHksIHdlIHN0YXJ0IGEgcmVwZWF0
aW5nIHRpbWVyIHRvIHJlZHVjZSB0aGUgb3ZlcmhlYWQgb2Ygc3RhcnRpbmcKICAgICBpZiAoIXRp
bWVUb05leHRTZXJ2aWNlKSB7Ci0gICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2
ZSgpIHx8IG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSA9PSAwKQotICAgICAgICAg
ICAgbV9hbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhjQW5pbWF0aW9uVGltZXJEZWxheSk7
CisgICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8ICFtX2FuaW1hdGlv
blRpbWVyLnJlcGVhdEludGVydmFsKCkpCisgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0
YXJ0UmVwZWF0aW5nKGFuaW1hdGlvblRpbWVyRGVsYXkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCiAgICAgLy8gSWYgd2UgZG9uJ3QgbmVlZCBzZXJ2aWNlLCB3ZSB3YW50IHRvIG1ha2Ugc3Vy
ZSB0aGUgdGltZXIgaXMgbm8gbG9uZ2VyIHJ1bm5pbmcKLSAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwKSB7CisgICAgaWYgKHRpbWVUb05leHRTZXJ2aWNlIDwgU2Vjb25kcygwKSkgewogICAg
ICAgICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgbV9hbmlt
YXRpb25UaW1lci5zdG9wKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTIyMiw3ICsyMjMsNyBAQCB2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUo
KQogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVl
ZGVkRGlzcGF0Y2hlcigpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRj
aGVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4gZWxlbWVudCwg
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFtZSwgZG91Ymxl
IGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9uQ29udHJvbGxl
clByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiByZW5kZXJlciwK
IGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVU
aW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50KTsKLSAgICBp
ZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJuIG1fYmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsKICAgICBpZiAo
IW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAgICAgICBzZXRC
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KTsK
ICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMyNjg5OTAzNjNj
NGZkMGY2ZDE2YTI3MWUzNjkuLjBmY2JhNGVhNjFiNzIzMjNlYTk3MjEyNmRjMjIyZWVkOGEzYzhk
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTc4
LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2ZW50SGFuZGxl
cjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91YmxlIHJlc2V0TGF0
Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRjaGVkU3RhdGVE
ZWxheSA9IFNlY29uZHMoMC4xKTsKIAogc3RhdGljIFJldGFpblB0cjxOU0V2ZW50PiYgY3VycmVu
dE5TRXZlbnRTbG90KCkKIHsKQEAgLTkyNCw3ICs5MjQsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
Y2xlYXJPclNjaGVkdWxlQ2xlYXJpbmdMYXRjaGVkU3RhdGVJZk5lZWRlZChjb25zdCBQbGF0Zm9y
bVdoZQogICAgIC8vIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlLiBJZiBpdCBkb2VzLCBzdG9wIHRo
ZSB0aW1lciwgbGVhdmluZyB0aGUgbGF0Y2hlZCBzdGF0ZSB1bnRvdWNoZWQuCiAgICAgaWYgKCFt
X3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICBp
ZiAoZXZlbnQuaXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkpCi0gICAgICAgICAgICBtX3BlbmRp
bmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRl
VGltZW91dCk7CisgICAgICAgICAgICBtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIu
c3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIC8vIElmIGFub3RoZXIgd2hlZWwgZXZlbnQgc2Nyb2xsaW5nIHN0YXJ0cywgc3RvcCB0aGUg
dGltZXIgbWFudWFsbHksIGFuZCByZXNldCB0aGUgbGF0Y2hlZCBzdGF0ZSBpbW1lZGlhdGVseS4K
ICAgICAgICAgaWYgKGV2ZW50LnNob3VsZENvbnNpZGVyTGF0Y2hpbmcoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCmluZGV4
IDU1ZTRkNjU5NWVlYjYwNTNmNmE2YTk0NTBiOWRhZWI4MTI4YzUyNzAuLjBiYjA5ODAwZjhmYWU3
YTFlNzI3Yzk0NGRlZGRiMWY2YTU2NmQyMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rpb25TZXJ2aWNlcygpOwogCiAgICAg
Ym9vbCBtb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmLCBib29sJiBtb3VzZUlzT3ZlckJ1
dHRvbikgY29uc3Q7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZW1haW5pbmdUaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCopIGNvbnN0OworICAgIFNlY29u
ZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqKSBj
b25zdDsKICAgICB2b2lkIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoKTsKIAog
ICAgIHN0YXRpYyBib29sIGhpZ2hsaWdodHNBcmVFcXVpdmFsZW50KGNvbnN0IEhpZ2hsaWdodCog
YSwgY29uc3QgSGlnaGxpZ2h0KiBiKTsKQEAgLTE1MSw5ICsxNTEsOSBAQCBwcml2YXRlOgogCiAg
ICAgSGlnaGxpZ2h0OjpUeXBlIG1fZGlydHlIaWdobGlnaHRUeXBlcyB7IDAgfTsKIAotICAgIHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0U2VsZWN0aW9uQ2hhbmdl
VGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbmV4dEFj
dGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFNl
bGVjdGlvbkNoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0TW91c2VVcFRpbWU7CiAKICAg
ICBSZWZQdHI8SGlnaGxpZ2h0PiBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsK
ICAgICBJbnRQb2ludCBtX21vdXNlUG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQppbmRleCA5YTgxNWI1YWU1NTk2
NDk5YmRmNjE2ZWQ0MjExYjlhNTIzODE1ZTYyLi41YWZmOTI3ZWJiYzY0ZWIzOWRjOTRkMzhiNGQ2
NDhmMDBjMGYwYjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hhbmdlKGNvbnN0IFZlY3RvcjxM
YXlvdXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJlY3RzID0gcmVjdHM7CiAgICAgbV9p
c1RleHRPbmx5ID0gaXNUZXh0T25seTsKIAotICAgIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWUg
PSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3RTZWxlY3Rpb25D
aGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBjb21wYWN0UmVjdHNXaXRo
R2FwUmVjdHMobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMsIGdhcFJlY3RzKTsKIApAQCAtMzkxLDcg
KzM5MSw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hs
aWdodHNPZlR5cGUoSGlnaGxpZ2h0OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fZGlydHlIaWdobGlnaHRUeXBlcyB8PSB0eXBlOwotICAgIG1fYnVpbGRIaWdobGlnaHRzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYnVpbGRIaWdobGlnaHRzVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmJ1
aWxkUG90ZW50aWFsSGlnaGxpZ2h0c0lmTmVlZGVkKCkKQEAgLTQzMywxNSArNDMzLDE1IEBAIGJv
b2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VJc092ZXJIaWdobGlnaHQoSGlnaGxp
Z2h0JiBoaWdobGlnaHQsIGJvb2wmCiAgICAgcmV0dXJuIGhvdmVyZWQ7CiB9CiAKLXN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGlt
ZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqIGhpZ2hsaWdodCkgY29uc3QK
K1NlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGln
aGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqIGhpZ2hsaWdodCkgY29uc3QKIHsKICAgICBp
ZiAoIWhpZ2hsaWdodCkKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIFNlY29u
ZHMoMCk7CiAKLSAgICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3du
ID0gMjAwbXM7CisgICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVT
aG93biA9IFNlY29uZHMoMC4yKTsKICAgICBQYWdlKiBwYWdlID0gbV9tYWluRnJhbWUucGFnZSgp
OwogICAgIGlmIChwYWdlICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5G
cmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCi0gICAg
ICAgIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMTAwMG1zOworICAg
ICAgICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IFNlY29uZHMoMSk7
CiAKICAgICBib29sIG1vdXNlUHJlc3NlZCA9IG1fbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLm1v
dXNlUHJlc3NlZCgpOwogCkBAIC00NDksMTUgKzQ0OSwxNCBAQCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hs
aWdodAogICAgIC8vIGJ5IHZpcnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0byBpbmNsdWRlIHRoZSBl
bnRpcmUgdGVsZXBob25lIG51bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBzdGlsbCBhdm9pZCBoaWdo
bGlnaHRpbmcKICAgICAvLyB0ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0aGUgbW91c2UgaXMgZG93
bi4KICAgICBpZiAoaGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1i
ZXJUeXBlKQotICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhp
Z2hsaWdodFNob3VsZEJlU2hvd24gOiAwbXM7CisgICAgICAgIHJldHVybiBtb3VzZVByZXNzZWQg
PyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6IFNlY29uZHMoMCk7CiAK
LSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1
dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgYXV0byB0aW1lU2luY2VMYXN0U2Vs
ZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZTsKICAgICBhdXRv
IHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0TW91c2VVcCA9IG1vdXNlUHJl
c3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBUaW1lOworICAgIGF1dG8gdGltZVNpbmNl
TGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyBTZWNvbmRzKDApIDogbm93IC0gbV9sYXN0TW91
c2VVcFRpbWU7CiAKLSAgICBhdXRvIHJlbWFpbmluZ0RlbGF5ID0gbWluaW11bVRpbWVVbnRpbEhp
Z2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2Vs
ZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VM
YXN0TW91c2VVcCk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHM+KHJlbWFpbmluZ0RlbGF5KTsKKyAgICByZXR1cm4gbWluaW11
bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1l
U2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUp
LCB0aW1lU2luY2VMYXN0TW91c2VVcCk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpCkBAIC03MjMsNyArNzIy
LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdo
bGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3RpdmUKICAgICAgICAgLy8gaGlnaGxpZ2h0LCBhbmQg
b25seSByZXNldCB0aGUgYWN0aXZlIGhpZ2hsaWdodCBoeXN0ZXJlc2lzIHdoZW4gdGhhdCBjaGFu
Z2VzLgogICAgICAgICBpZiAobV9uZXh0QWN0aXZlSGlnaGxpZ2h0ICE9IG5ld0FjdGl2ZUhpZ2hs
aWdodCkgewogICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0ID0gbmV3QWN0aXZlSGln
aGxpZ2h0OwotICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICAgICAgbV9uZXh0QWN0aXZl
SGlnaGxpZ2h0Q2hhbmdlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICB9CiAK
ICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwpA
QCAtNzM0LDcgKzczMyw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJt
aW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAgICAgICAgIH0KIAog
ICAgICAgICBhdXRvIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSB0
aGlzLT5yZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKG5ld0FjdGl2ZUhp
Z2hsaWdodC5nZXQoKSk7Ci0gICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duID4gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8o
KSkgeworICAgICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
biA+IFNlY29uZHMoMCkpIHsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0
VGltZXIuc3RhcnRPbmVTaG90KHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hv
d24pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC03NjYsNyArNzY1LDcgQEAg
Ym9vbCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUV2ZW50KFBhZ2VPdmVybGF5Jiwg
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW4KICAgICAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbW91c2VE
b3duSGlnaGxpZ2h0ID0gbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAg
ICAgIG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0ID0gbnVsbHB0cjsKIAotICAg
ICAgICBtX2xhc3RNb3VzZVVwVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygp
OworICAgICAgICBtX2xhc3RNb3VzZVVwVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAg
ICAgICAgIGlmIChtb3VzZUlzT3ZlckFjdGl2ZUhpZ2hsaWdodEJ1dHRvbiAmJiBtb3VzZURvd25I
aWdobGlnaHQpIHsKICAgICAgICAgICAgIGhhbmRsZUNsaWNrKG1fbW91c2VQb3NpdGlvbiwgKm1v
dXNlRG93bkhpZ2hsaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9U
ZXh0SW5kaWNhdG9yV2luZG93Lm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGlj
YXRvcldpbmRvdy5tbQppbmRleCBlNGUyMGQyMjc2OGM4ODJlOTAwYjEyYjQxZmUwMmVjZGZiNDhm
NjI4Li41MDQ0ZWFmNjIwNGEzYmMyYjhkZGU2YWU0YTg1OTlhYjUxMTZiMWMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KQEAgLTQ3NSw3ICs0
NzUsNyBAQCB2b2lkIFRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJbmRpY2F0b3IoUmVmPFRl
eHRJbmRpY2F0b3I+IHRleHRJbmRpY2F0b3IsIENHUgogICAgICAgICBbbV90ZXh0SW5kaWNhdG9y
VmlldyBwcmVzZW50XTsKIAogICAgIGlmIChsaWZldGltZSA9PSBUZXh0SW5kaWNhdG9yV2luZG93
TGlmZXRpbWU6OlRlbXBvcmFyeSkKLSAgICAgICAgbV90ZW1wb3JhcnlUZXh0SW5kaWNhdG9yVGlt
ZXIuc3RhcnRPbmVTaG90KHRpbWVCZWZvcmVGYWRlU3RhcnRzKTsKKyAgICAgICAgbV90ZW1wb3Jh
cnlUZXh0SW5kaWNhdG9yVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHModGltZUJlZm9yZUZhZGVT
dGFydHMpKTsKIH0KIAogdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpjbG9zZVdpbmRvdygpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDg1YTY0NzJlY2UyMTFmZjIwMDgwZDM3YTUyZWFlMTkw
YTkxMDk3NDAuLmJlYjg1YmVkZWE3MmRkZjM0N2UzZDk4NjVlNzFlZGJhNWYxOTNmNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9s
bChTY3IKICAgICB9CiAKICAgICBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZSA9IHNjcm9sbFVwZGF0
ZTsKLSAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3JvbGxQ
b3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5t
bQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi42ZWZiZWY3
MDMwY2RjZmUwMzU2MzQ4NTg0YWEwYWMzOTIwZWI4NTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9T
Lm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNjaGVk
dWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0
ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGluZ1N0
YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGluZ1N0
YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGlu
YXRvck1hYy5tbQppbmRleCBkNDNkOTRiMjQ3YTZlNGY5Mzk3NDE1ODI2MTk3YzJiMGFkZjA3MTQ4
Li41MGM0MWIyNTEzN2ZkMjk1NGU4Y2MxZTExZGZlMmY1MTYwMDQwNjYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjLm1tCkBAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRv
ck1hYzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKQogICAgIGlmIChtX3Njcm9sbGluZ1N0YXRl
VHJlZUNvbW1pdHRlclRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21taXRUcmVlU3RhdGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAppbmRleCAxYWE3
ZTFiODc2M2ZmMWI0N2RmYjhlMjEzOTQwNzY0NWViNzU1ZWIyLi5iZGE0YjIyODA3OTUxYjhkZmFi
YzdjNjEwNjNiY2VhNDJhNjZlNjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9HZW5lcmljVGFza1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5l
cmljVGFza1F1ZXVlLmNwcApAQCAtNDEsNyArNDEsNyBAQCB2b2lkIFRhc2tEaXNwYXRjaGVyPFRp
bWVyPjo6cG9zdFRhc2soRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQogICAgIG1fcGVuZGlu
Z1Rhc2tzLmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiAgICAgcGVuZGluZ0Rpc3BhdGNoZXJz
KCkuYXBwZW5kKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpKTsKICAgICBpZiAoIXNo
YXJlZFRpbWVyKCkuaXNBY3RpdmUoKSkKLSAgICAgICAgc2hhcmVkVGltZXIoKS5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiBUaW1lciYgVGFza0Rpc3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUy
YTc0ODMwOWUwNjI4MjBlZGM4MjM5ODBjMGIyZTEuLmIyNWVkZGZhNDRhN2I1ODkxNTYxZjQ1NGI2
YWNmNzI3MzBhZTI2ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3Rl
cmVzaXNBY3Rpdml0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oCkBAIC0zMCw3ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBEZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsID0gU2Vjb25kcyg1LjApOwog
CiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5
LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0
aXZpdHkgewogcHVibGljOgotICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1
bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3Rh
dGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNTZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNv
bmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQo
SHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vj
b25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBEZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAg
ICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCi0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25k
cyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAgICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0
ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwgbV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90
aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rpdml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAg
ICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9o
eXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVy
ZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAgICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODks
NyBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lz
U3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRvdWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAg
IFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBU
aW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4
IDg4MTgxZDMwNTdmNDY4OTRkZmViOWE5NzdhNTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1
MzVlNzk4YTBkMGU4MDBlMzhiZjZkOTQyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YmFyLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBAIHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShT
Y3JvbGxiYXIqIHNjcm9sbGJhcikKICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkg
Pj0gdGh1bWJQb3MgJiYgc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1i
TGVuZ3RoOwogfQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJs
ZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBk
ZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5v
dGhpbmcgd2FzIHByZXNzZWQuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8
IG1fcHJlc3NlZFBhcnQgPT0gTm9QYXJ0KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xs
YmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRp
bWVySWZOZWVkZWQoZGVsYXkpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVl
ZGVkKGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vj
b25kcyBkZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgog
ICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2
b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxh
eSk7CisgICAgbV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQog
CiB2b2lkIFNjcm9sbGJhcjo6c3RvcFRpbWVySWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaAppbmRleCBmODZhOTYyYWZlMDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFh
Li5hMjM2YzdlOGViMTI3YWVhMzc1NjUyM2ViZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxiYXIuaApAQCAtMTQ0LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3Jv
bGxUaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5
KTsKKyAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lk
IHN0b3BUaW1lcklmTmVlZGVkKCk7Ci0gICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91
YmxlIGRlbGF5KTsKKyAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5
KTsKICAgICBTY3JvbGxEaXJlY3Rpb24gcHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAg
ICBTY3JvbGxHcmFudWxhcml0eSBwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2Jh
NGEwZTNhMGRmYjQ3NjFkZDRhNjU3NWVkYmMuLjI2OTA0MjdkMDc3YjBjM2Q2OGM3Y2E3NTgzZmQ4
N2M2ZjM3ZjljOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJh
clRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApA
QCAtMTA1LDggKzEwNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBC
ZXR3ZWVuUGFnZXMoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9
CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJl
dHVybiAwLjI1OyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7
IHJldHVybiAwLjA1OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpIHsgcmV0dXJuIFNlY29uZHMoMC4yNSk7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMg
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiBTZWNvbmRzKDAuMDUpOyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaAppbmRleCAzNTg2M2JjODIwMTRjMzk3N2MzYzY5NGZhNDI3NmMwNTQxMWVmMWIxLi42
ZmQ1NTMxOWZkZWY3ZmM0MTA3OTZlMzI1YjNlMTI4ZTJlYmE0MjAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RoZW1lLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9udENhc2Nh
ZGUgc3lzdGVtRm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0IHsgcmV0dXJu
IEZvbnRDYXNjYWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUgY2FyZXQgYmxpbmtz
IGluIHRleHQgZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgp
IGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50
ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBTZWNvbmRzKDAuNSk7IH0KIAogICAgIC8vIE5vdGlmaWNh
dGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNo
YW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRp
bWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCmluZGV4
IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFhMTBmY2ZkYmNhNDQuLjU0MjVjNDlhNGNiNmU0
ZTcwMjNlOTAwNzNhZDAyMDRmNzA5NjEzMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNp
bmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1
ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVuZ3RoIG9mIHRpbWUsIGFuZCB0aGVuIHF1aXQg
dG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVzZXIgaW5wdXQgZXZlbnRzLgogLy8gMTAwbXMg
aXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBpbiBVSSwgc28gdXNlIGEgaGFsZiBvZiB0aGF0
IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0byBwcmV2ZW50IFVJIGZyZWV6ZSB3aGVuIHRo
ZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFjaGluZSBwZXJmb3JtYW5jZSBpcyBsb3cuCi1z
dGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSBTZWNvbmRzOjpm
cm9tTWlsbGlzZWNvbmRzKDUwKTsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVkIGFu
ZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93biBU
aHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3VycmVu
dGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3VibGUg
bWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJlYWRU
aW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMoZmFs
c2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYgKGlz
VUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRUaW1l
cjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2V0
U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJlZFRp
bWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0cik7
CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVk
VGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFy
ZWRUaW1lcjsKQEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hh
cmVkVGltZXIoKQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1Rp
bWVycyB8fCBtX3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVk
VGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKICAgICB9
IGVsc2UgewotICAgICAgICBkb3VibGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3Qo
KS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3RvbmljVGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBNb25vdG9uaWNUaW1lIG5l
eHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lOworICAgICAg
ICBNb25vdG9uaWNUaW1lIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKSB7CiAgICAgICAg
ICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlmIGJvdGggdGhlIHBlbmRpbmcg
ZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4gdGhlIHBhc3QuCiAgICAgICAg
ICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8PSBjdXJyZW50TW9ub3Rvbmlj
VGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25pY1RpbWUpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50
ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGlt
ZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoc3RkOjpt
YXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90b25pY1RpbWUsIFNlY29uZHMo
MCkpKTsKICAgICB9CiB9CiAKQEAgLTEwMywyNSArMTAzLDI1IEBAIHZvaWQgVGhyZWFkVGltZXJz
OjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwoKQogICAgIGlmIChtX2ZpcmluZ1RpbWVycykKICAg
ICAgICAgcmV0dXJuOwogICAgIG1fZmlyaW5nVGltZXJzID0gdHJ1ZTsKLSAgICBtX3BlbmRpbmdT
aGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1l
ID0gTW9ub3RvbmljVGltZSgpOwogCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVUb1F1aXQgPSBmaXJlVGltZSArIG1h
eER1cmF0aW9uT2ZGaXJpbmdUaW1lcnM7CisgICAgTW9ub3RvbmljVGltZSBmaXJlVGltZSA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIE1vbm90b25pY1RpbWUgdGltZVRvUXVpdCA9IGZpcmVU
aW1lICsgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKIAogICAgIHdoaWxlICghbV90aW1lckhl
YXAuaXNFbXB0eSgpICYmIG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lIDw9IGZp
cmVUaW1lKSB7CiAgICAgICAgIFRpbWVyQmFzZSogdGltZXIgPSBtX3RpbWVySGVhcC5maXJzdCgp
OwotICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUgPSAwOwotICAgICAgICB0aW1lci0+bV91
bmFsaWduZWROZXh0RmlyZVRpbWUgPSAwOworICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CisgICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICAgICAgdGltZXItPmhlYXBEZWxldGVNaW4oKTsKIAot
ICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSB0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsKLSAgICAg
ICAgdGltZXItPnNldE5leHRGaXJlVGltZShpbnRlcnZhbCA/IGZpcmVUaW1lICsgaW50ZXJ2YWwg
OiAwKTsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgp
OworICAgICAgICB0aW1lci0+c2V0TmV4dEZpcmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBp
bnRlcnZhbCA6IE1vbm90b25pY1RpbWUoKSk7CiAKICAgICAgICAgLy8gT25jZSB0aGUgdGltZXIg
aGFzIGJlZW4gZmlyZWQsIGl0IG1heSBiZSBkZWxldGVkLCBzbyBkbyBub3RoaW5nIGVsc2Ugd2l0
aCBpdCBhZnRlciB0aGlzIHBvaW50LgogICAgICAgICB0aW1lci0+ZmlyZWQoKTsKIAogICAgICAg
ICAvLyBDYXRjaCB0aGUgY2FzZSB3aGVyZSB0aGUgdGltZXIgYXNrZWQgdGltZXJzIHRvIGZpcmUg
aW4gYSBuZXN0ZWQgZXZlbnQgbG9vcCwgb3Igd2UgYXJlIG92ZXIgdGltZSBsaW1pdC4KLSAgICAg
ICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkpCisgICAgICAgIGlmICghbV9maXJpbmdUaW1lcnMgfHwgdGltZVRvUXVpdCA8
IE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0x
MzcsNyArMTM3LDcgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OmZpcmVUaW1lcnNJbk5lc3RlZEV2ZW50
TG9vcCgpCiAKICAgICBpZiAobV9zaGFyZWRUaW1lcikgewogICAgICAgICBtX3NoYXJlZFRpbWVy
LT5pbnZhbGlkYXRlKCk7Ci0gICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAw
OworICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgIH0KIAogICAgIHVwZGF0ZVNoYXJlZFRpbWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZFRpbWVycy5oCmluZGV4IGVhYmM0ZDEyMWU4MjY2NjJlOWFiYjMwNGUzODNmMTdiMWU3
MjlhOTcuLmNmNThjOTE3YTk1Y2UzNjcyYzE2YjdlNmVjNjkxNzM5YTg5MDNhMDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVm
IFRocmVhZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRpbWVyc19oCiAKKyNpbmNsdWRlIDx3dGYv
TW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtNTYsNyArNTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFZlY3RvcjxUaW1lckJhc2UqPiBtX3RpbWVySGVhcDsKICAgICAgICAgU2hhcmVkVGlt
ZXIqIG1fc2hhcmVkVGltZXI7IC8vIEV4dGVybmFsIG9iamVjdCwgY2FuIGJlIGEgcnVuIGxvb3Ag
b24gYSB3b3JrZXIgdGhyZWFkLiBOb3JtYWxseSBzZXQvcmVzZXQgYnkgd29ya2VyIHRocmVhZC4K
ICAgICAgICAgYm9vbCBtX2ZpcmluZ1RpbWVyczsgLy8gUmVlbnRyYW5jeSBndWFyZC4KLSAgICAg
ICAgZG91YmxlIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWU7CisgICAgICAgIE1vbm90b25p
Y1RpbWUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKICAgICB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5jcHAKaW5kZXggY2Q1OTRmZTdjYzU1ODkxMjk0NzQ2Mzk3NmQ4ZDE4NWY5
MTExNGJiYS4uZmJjODc2OTA4OGNkMWMzZjlmM2M4MGIxZWUzMWQ0MDY0NjZkN2YwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RpbWVyLmNwcApAQCAtMTcyLDggKzE3Miw4IEBAIGlubGluZSBib29sIFRp
bWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkoY29uc3QgVGltZXJCYXNlKiBhLCBj
b25zdCBUaW1lCiB7CiAgICAgLy8gVGhlIGNvbXBhcmlzb25zIGJlbG93IGFyZSAiYmFja3dhcmRz
IiBiZWNhdXNlIHRoZSBoZWFwIHB1dHMgdGhlIGxhcmdlc3QgCiAgICAgLy8gZWxlbWVudCBmaXJz
dCBhbmQgd2Ugd2FudCB0aGUgbG93ZXN0IHRpbWUgdG8gYmUgdGhlIGZpcnN0IG9uZSBpbiB0aGUg
aGVhcC4KLSAgICBkb3VibGUgYUZpcmVUaW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgZG91
YmxlIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOworICAgIE1vbm90b25pY1RpbWUgYUZp
cmVUaW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBiRmlyZVRpbWUg
PSBiLT5tX25leHRGaXJlVGltZTsKICAgICBpZiAoYkZpcmVUaW1lICE9IGFGaXJlVGltZSkKICAg
ICAgICAgcmV0dXJuIGJGaXJlVGltZSA8IGFGaXJlVGltZTsKICAgICAKQEAgLTE4NiwxMSArMTg2
LDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0b3IoKShj
b25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIC8vIC0tLS0tLS0tLS0tLS0tLS0KIAogVGlt
ZXJCYXNlOjpUaW1lckJhc2UoKQotICAgIDogbV9uZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1fdW5h
bGlnbmVkTmV4dEZpcmVUaW1lKDApCi0gICAgLCBtX3JlcGVhdEludGVydmFsKDApCi0gICAgLCBt
X2hlYXBJbmRleCgtMSkKLSAgICAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwKDApCisg
ICAgOiBtX2hlYXBJbmRleCgtMSkKKyAgICAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFw
KG51bGxwdHIpCiAjaWZuZGVmIE5ERUJVRwogICAgICwgbV90aHJlYWQoY3VycmVudFRocmVhZCgp
KQogICAgICwgbV93YXNEZWxldGVkKGZhbHNlKQpAQCAtMjA3LDMyICsyMDQsMzIgQEAgVGltZXJC
YXNlOjp+VGltZXJCYXNlKCkKICNlbmRpZgogfQogCi12b2lkIFRpbWVyQmFzZTo6c3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgVGltZXJC
YXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2
YWwpCiB7CiAgICAgQVNTRVJUKGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3Ro
cmVhZCkpOwogCiAgICAgbV9yZXBlYXRJbnRlcnZhbCA9IHJlcGVhdEludGVydmFsOwotICAgIHNl
dE5leHRGaXJlVGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIG5leHRGaXJlSW50
ZXJ2YWwpOworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lOjpub3coKSArIG5leHRG
aXJlSW50ZXJ2YWwpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6c3RvcCgpCiB7CiAgICAgQVNTRVJU
KGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3RocmVhZCkpOwogCi0gICAgbV9y
ZXBlYXRJbnRlcnZhbCA9IDA7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKDApOworICAgIG1fcmVwZWF0
SW50ZXJ2YWwgPSBTZWNvbmRzKDApOworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1l
KCkpOwogCi0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lID09IDApOwotICAgIEFTU0VSVChtX3Jl
cGVhdEludGVydmFsID09IDApOworICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOworICAgIEFT
U0VSVCghbV9yZXBlYXRJbnRlcnZhbCk7CiAgICAgQVNTRVJUKCFpbkhlYXAoKSk7CiB9CiAKLWRv
dWJsZSBUaW1lckJhc2U6Om5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJh
c2U6Om5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsK
LSAgICBkb3VibGUgY3VycmVudCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAg
IE1vbm90b25pY1RpbWUgY3VycmVudCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGlmICht
X25leHRGaXJlVGltZSA8IGN1cnJlbnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gU2Vjb25kcygwKTsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBjdXJyZW50OwogfQog
CkBAIC0yNDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmNoZWNrSGVhcElu
ZGV4KCkgY29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNv
bnN0CiB7CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBpZiBhbmQgb25seSBp
ZiB0aGV5IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBBU1NFUlQoaW5IZWFw
KCkgPT0gKG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5IZWFwKCkgPT0gISFt
X25leHRGaXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBjaGVja0hlYXBJbmRl
eCgpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NF
UlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAg
ICBjaGVja0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRhID0gdGltZXJIZWFw
KCkuZGF0YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvcihoZWFwRGF0YSksIFRp
bWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwgVGltZXJIZWFwTGVz
c1RoYW5GdW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRpbWVyQmFzZTo6aGVh
cERlY3JlYXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkKIHsK
LSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJl
VGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAg
ICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGluZSB2b2lkIFRpbWVy
QmFzZTo6aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIHsK
LSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJl
VGltZSk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsK
ICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZvaWQgVGltZXJCYXNl
OjpoZWFwRGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwSW5jcmVhc2VL
ZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAgICBBU1NFUlQobV9u
ZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVhc2VLZXkoKTsKIH0K
QEAgLTI5Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbnNlcnQoKQog
aW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBUZW1wb3JhcmlseSBm
b3JjZSB0aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdlIGNhbiBwb3AgaXQu
Ci0gICAgZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAgbV9uZXh0RmlyZVRp
bWUgPSAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOworICAgIE1vbm90
b25pY1RpbWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25leHRGaXJlVGltZSA9
IC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogICAg
IGhlYXBQb3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1lOwpAQCAtMzQ3LDcg
KzM0NCw3IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0CiAg
ICAgcmV0dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDEp
ICYmIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDIpOwogfQog
Ci12b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQordm9p
ZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRpbWUpCiB7
CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkpCiAgICAg
ICAgIHJldHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVh
cElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFwKCkgfHwgaGFzVmFs
aWRIZWFwUG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUo
ZG91YmxlIG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKE1vbm90b25p
Y1RpbWUgbmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9y
VGhyZWFkKG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQpOwpAQCAtMzc5LDEx
ICszNzYsMTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGlt
ZSkKICAgICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAmdGhyZWFkR2xvYmFs
VGltZXJIZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUgY2hhbmdpbmcgdGhl
IG5leHQtZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7Cisg
ICAgTW9ub3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAgICAgLy8gRG9uJ3Qg
cmVhbGlnbiB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkgewotICAgICAgICBp
ZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNvbmRzVG9NUyhuZXdU
aW1lKSkpCi0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3QWxpZ25lZFRpbWUu
dmFsdWUoKSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0gYWxpZ25lZEZpcmVU
aW1lKG5ld1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWduZWRUaW1lLnZhbHVl
KCk7CiAgICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpAQCAtNDE2LDEwICs0
MTMsMTAgQEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCkKICAg
ICBzZXROZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwogfQogCi1kb3VibGUg
VGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGlt
ZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQo
aXNBY3RpdmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1l
IC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAgcmV0dXJuIHN0ZDo6
bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCksIFNlY29u
ZHMoMCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
aAppbmRleCBhMzVjOGM2N2VlMjJiNmVkNWRjODUzYmRlMmUxOWYzY2VkY2U4ZjFlLi43YzUxYmE4
N2JlZGIyZjE5NWMxMDA0YjdjM2M0ODVmZGQ3ZDdiNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxmdW5j
dGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1Nl
Y29uZHMuaD4KQEAgLTQ3LDM5ICs0OCwyNCBAQCBjbGFzcyBUaW1lckhlYXBFbGVtZW50OwogY2xh
c3MgVGltZXJCYXNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOwogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHJvdGVjdGVkOgotICAgIHN0YXRpYyBpbmxpbmUg
ZG91YmxlIG1zVG9TZWNvbmRzKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZHVyYXRpb24pIHsg
cmV0dXJuIGR1cmF0aW9uLmNvdW50KCkgKiAwLjAwMTsgfQotICAgIHN0YXRpYyBpbmxpbmUgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBzZWNvbmRzVG9NUyhkb3VibGUgZHVyYXRpb24pIHsgcmV0
dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6
OnJlcCkoZHVyYXRpb24gKiAxMDAwKSk7IH0KLQogcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IFRpbWVyQmFzZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgflRpbWVyQmFzZSgpOwog
Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwg
ZG91YmxlIHJlcGVhdEludGVydmFsKTsKLQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwp
KTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydFJlcGVhdGluZyhyZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQorICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgMCk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZhbCkp
OyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRl
cnZhbC52YWx1ZSgpLCAwKTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Cisg
ICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwg
U2Vjb25kcygwKSk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcCgpOwogICAgIGJv
b2wgaXNBY3RpdmUoKSBjb25zdDsKIAotICAgIGRvdWJsZSBuZXh0RmlyZUludGVydmFsKCkgY29u
c3Q7Ci0gICAgZG91YmxlIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKLSAgICBk
b3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3JlcGVhdEludGVydmFsOyB9
Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1TKCkgY29uc3Qg
eyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLQotICAgIHZvaWQgYXVn
bWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZp
cmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChtc1RvU2Vjb25k
cyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEp
IHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YS52YWx1ZSgpKTsgfQorICAgIFNlY29uZHMgbmV4
dEZpcmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFVuYWxpZ25lZEZpcmVJbnRl
cnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biBtX3JlcGVhdEludGVydmFsOyB9CiAKLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChk
b3VibGUgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7IG1fcmVwZWF0SW50ZXJ2
YWwgKz0gZGVsdGE7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25k
cyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0
YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICB2b2lkIGF1
Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBzZXROZXh0RmlyZVRpbWUobV9uZXh0
RmlyZVRpbWUgKyBkZWx0YSk7IH0KKyAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNv
bmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFs
ICs9IGRlbHRhOyB9CiAKICAgICB2b2lkIGRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCk7CiAK
QEAgLTg4LDE3ICs3NCwxNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBm
aXJlZCgpID0gMDsKIAotICAgIHZpcnR1YWwgT3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0IHsg
cmV0dXJuIE51bGxvcHQ7IH0KKyAgICB2aXJ0dWFsIE9wdGlvbmFsPE1vbm90b25pY1RpbWU+IGFs
aWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCB7IHJldHVybiBOdWxsb3B0OyB9CiAK
ICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAgICB2b2lkIGNoZWNrSGVhcElu
ZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGltZShkb3VibGUpOworICAgIHZv
aWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAgICAgYm9vbCBpbkhlYXAoKSBj
b25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAgICAgYm9vbCBoYXNWYWxpZEhl
YXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRp
bWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAgICB2b2lkIGhlYXBEZWxldGUo
KTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8VGltZXJCYXNlKj4m
IHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFw
KTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsgfQogCi0gICAgZG91Ymxl
IG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAgZG91YmxlIG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50
IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7IC8vIDAgaWYgbm90IHJlcGVh
dGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7IC8vIDAgaWYgaW5hY3RpdmUK
KyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJl
VGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCisgICAgU2Vjb25kcyBtX3Jl
cGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAgICBpbnQgbV9oZWFwSW5kZXg7
IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9oZWFwSW5zZXJ0aW9uT3JkZXI7
IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJlLXRpbWUgdGltZXJzCiAgICAg
VmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsKQEAgLTE1
OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSBjb25zdAog
I2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkgfHwgcHRocmVhZF9tYWluX25w
KCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZiAvLyBQTEFURk9STShJ
T1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJldHVybiAhIW1fbmV4dEZpcmVU
aW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIDogcHJvdGVjdGVkIFRpbWVy
QmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGltZXJGaXJlZENsYXNzPgot
ICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQg
KFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmpl
Y3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBTZWNvbmRzIGRlbGF5KQog
ICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpiaW5kKGZ1bmN0aW9uLCAmb2Jq
ZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIo
c3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248dm9pZCAo
KT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogbV9mdW5jdGlvbihXVEZNb3Zl
KGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQogICAgICAgICAsIG1fc2hvdWxk
UmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcgKzE5OCw3IEBAIHByaXZhdGU6
CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rpb247CiAKLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25kcyBtX2RlbGF5OwogICAgIGJv
b2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUwMTkxNDRhMjFmZjRkM2RjMGUx
OGY5ZmM5MjhlMWE3Li43YTllNmEwOWQ3MGI3OTliYjYwMGY3ZWU3YzBhOTFlZmEwMThlMDlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKQEAgLTQwLDcgKzQwLDcg
QEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRvbigpCiBWTm9kZVRyYWNrZXI6
OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2
ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZlbnQ6OkluY3JlbWVudCkgY2hl
Y2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJlV2FybmluZ1RpbWVyKCp0aGlz
LCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKQotICAgICwgbV9sYXN0
V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCisgICAgLCBtX2xh
c3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsKICAgICBwbGF0Zm9ybUluaXRp
YWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5vZGVUcmFja2VyOjpwcmVzc3Vy
ZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNvdW50ZXIudmFsdWUoKSA8PSBt
X3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xhc3RXYXJuaW5nVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFdhcm5pbmdU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWduZWQgdm5vZGVDb3VudCA9IG1f
dm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNhbCA9IHZub2RlQ291bnQgPiBt
X2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRpY2FsOjpObzsKICAgICBtX3By
ZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9yeVByZXNzdXJlLCAidm5vZGUg
cHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBvZiAldSAoY3JpdGljYWwgcHJl
c3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRlci52YWx1ZSgpLCB2bm9kZUNv
dW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIgOiAiTm8iKTsKIH0KIAotc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5leHRQcmVzc3VyZVdhcm5pbmdJ
bnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2Fybmlu
Z0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhlIHZub2RlIHByZXNzdXJlIGhh
bmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0YXRpYyBjb25zdCBhdXRvIG1p
bmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMwIH07Ci0gICAg
YXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11
bVdhcm5pbmdJbnRlcnZhbCA9IFNlY29uZHMoMzApOworICAgIGF1dG8gdGltZVNpbmNlTGFzdFdh
cm5pbmcgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fbGFzdFdhcm5pbmdUaW1lOwogICAgIGlm
ICh0aW1lU2luY2VMYXN0V2FybmluZyA8IG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwpCi0gICAgICAg
IHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzPihtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmcpOwotICAg
IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMCB9OworICAgICAgICByZXR1cm4g
bWluaW11bVdhcm5pbmdJbnRlcnZhbCAtIHRpbWVTaW5jZUxhc3RXYXJuaW5nOworCisgICAgcmV0
dXJuIFNlY29uZHMoMCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1ZOb2RlVHJhY2tlci5oCmluZGV4IDFiMDExMGU4M2U3YTE2ZGE5NjQ4MDEzMDg1YWJm
ZTE4MjYwZjRhMjQuLjA0ZmIzNzk1ZDY1Yzc4NzUyOTNiOWM3YmRkZjM4NzAxNTNlYTFmMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oCkBAIC01Myw3ICs1Myw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGNoZWNrUHJlc3N1cmVTdGF0ZSgpOwogICAgIHZvaWQgcHJlc3N1
cmVXYXJuaW5nVGltZXJGaXJlZCgpOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbmV4
dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0UHJlc3N1
cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdDsKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXpl
KCk7CiAKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBQcmVzc3VyZUhhbmRsZXIgbV9w
cmVzc3VyZUhhbmRsZXI7CiAgICAgVk5vZGVDb3VudGVyIG1fdm5vZGVDb3VudGVyOwogICAgIFRp
bWVyIG1fcHJlc3N1cmVXYXJuaW5nVGltZXI7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX2xhc3RXYXJuaW5nVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFz
dFdhcm5pbmdUaW1lOwogfTsKIAogaW5saW5lIHZvaWQgVk5vZGVUcmFja2VyOjpzZXRQcmVzc3Vy
ZUhhbmRsZXIoUHJlc3N1cmVIYW5kbGVyIGhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggMTY3NjY5
YTIwNjA4NDhjYzY4MTJjZjQ2ZTQ3Nzg2NTk4ZTExNDNlOC4uMDc5NTEwZjFhOTIyYzA2NWY2M2Ew
YzdhMWNlODQyY2JlNTFmYWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1Rp
bWVyVGhyb3R0bGVEZWxheSA9IDAuMTsKK2NvbnN0IFNlY29uZHMga0NsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkgPSBTZWNvbmRzKDAuMSk7CiAKICNpZiAhTE9HX0RJU0FCTEVE
CiBzdGF0aWMgY29uc3QgY2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0
ZSBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tCmluZGV4IGNkNmZkYmUyMDk3YmJhNTc0NGQ4MWZhODhlNDcwOTRhY2EyNjI3MGMu
LjgwOThjZjg5YWNkMDIxMGRmYTkwNDE2YmJhZWYxZTA4ZTU4ZjIyMjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNzYsNyAr
NzYsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcnViYmVyYmFuZE1pbmltdW1SZXF1aXJlZERlbHRh
QmVmb3JlU3RyZXRjaCA9IDEwOwogCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkgJiYgUExB
VEZPUk0oTUFDKQogc3RhdGljIGNvbnN0IGZsb2F0IGluZXJ0aWFsU2Nyb2xsUHJlZGljdGlvbkZh
Y3RvciA9IDE2Ljc7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxh
eSA9IDAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9
IFNlY29uZHMoMC41KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNDIxLDcgKzQy
MSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNv
bnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7
CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnVi
YmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2Ns
aWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNzKTsKIH0KQEAgLTYzNCw3ICs2MzQsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCkKIHsKICAgICBpZiAoIW1f
c2Nyb2xsU25hcFRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgbV9jbGllbnQuc3RhcnRTY3Jv
bGxTbmFwVGltZXIoKTsKLSAgICAgICAgbV9zY3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmco
MS4wIC8gNjAuMCk7CisgICAgICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNl
Y29uZHMoMS4wIC8gNjApKTsKICAgICB9CiAKICAgICBpZiAoIW1fc2Nyb2xsU25hcFRpbWVyLmlz
QWN0aXZlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2Nv
Y29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQppbmRl
eCA2YTUzZjEyMjkyMTlmNDhjZWM5NzIyODRkMmI1OWM3ZDhhMmE5ZDkwLi44M2EwNzEzMDEzYzdj
NjQwYmQ0NmVmYzNjZDYzMmE1MTE1ODc5YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJH
YW1lcGFkUHJvdmlkZXIubW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX01B
WV9GQUlMKEdhbWVDb250cm9sbGVyLCBHQ0NvbnRyb2xsZXJEaWREaXNjb25uZWN0Tm90aWZpY2F0
aW8KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMTZtczsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KDE2KTsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9sbGVyR2Ft
ZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggMGQ4
YTc5YTA1MGQxOGFhODcwODllOTU4ZTgxMjE0ZTFjZGZiMTRlYi4uMzk3ZjQ2Nzg5ZTUzMmJhZWQ4
ZGNmNGM3NGQ5MzUyYWRkNjdkYTRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zNCw4ICsz
NCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBDb25u
ZWN0aW9uRGVsYXlJbnRlcnZhbCA9IDAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgSW5wdXROb3Rp
ZmljYXRpb25EZWxheSA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBDb25uZWN0aW9uRGVs
YXlJbnRlcnZhbCA9IFNlY29uZHMoMC41KTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIElucHV0Tm90
aWZpY2F0aW9uRGVsYXkgPSBTZWNvbmRzKDAuMDUpOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGlj
dGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwg
dWludDMyX3QgdXNhZ2UpCiB7CkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJv
dmlkZXI6OmRldmljZUFkZGVkKElPSElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5k
IHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAg
ICAgICAvLyBUaGUgbV9jb25uZWN0aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQg
c3BpbiBvZiB0aGUgcnVubG9vcCBhZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlv
biBldmVudHMgYXJlIGFjdHVhbCBuZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVs
YXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgICAgIExPRyhHYW1lcGFkLCAiRGV2aWNl
ICVwIHdhcyBhZGRlZCB3aGlsZSBzdXBwcmVzc2luZyBjYWxsYmFja3MsIHNvIHRoaXMgc2hvdWxk
IGJlIGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQiLCBkZXZpY2UpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggM2RiYTU2
MjNiYWRmYmJjZGM4ODIyZTM3YmZkMmRkZGU3NjQxZDU3Yy4uODRmZTU2NDNjNzAwYzI3OTdhYzU2
MWJmYmU0ODNjMGY1ZTVhNTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1h
Z2U6OmNsZWFyVGltZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQg
Qml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6
c3RhcnRUaW1lcihTZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsK
ICAgICBtX2ZyYW1lVGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1h
cEltYWdlOjphZHZhbmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFn
ZTo6U3RhcnRBbmltYXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRp
b24oKQogICAgIH0KIAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVy
KG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRz
KG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1h
dGlvblJlc3VsdDo6U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFw
SW1hZ2U6OmFkdmFuY2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhl
IHJlbWFpbmluZyB0aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGlt
ZS4KICAgICAgICAgaWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6
Om1heCh0aW1lLCBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0
VGltZXIobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAg
ICAgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3Rp
bmcgLSB0aW1lKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA4OTAz
MmRjYTRiMWI1MjQ4ZDRkNzk0YzllZDM1NDdjNTgwNjA1MmMzLi5lNWM5MmM0NjA4ODNkMjY2Mzc4
ZmQxNTliZTJlNDcwYzdhMzhiNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTE4NSw3ICsxODUsNyBAQCBwcm90ZWN0ZWQ6CiAKIHBy
aXZhdGU6CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJs
ZSBkZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wg
aXNCaXRtYXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lk
IGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0
NTljZjE1ZGM3ZmFlMDZjNjFiNjBjLi41NzFkNDgxMmEyM2RlOTBiNDFlMzE4MDE3YTFiZTRkYjcz
YThmNWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1v
cnlQcmVzc3VyZUluYWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6
OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNv
bnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250
RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRT
ZXR0aW5ncywgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdl
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMp
OworICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAg
Rm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1EYXRhID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0
YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MsIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSk7CiAgICAgaWYgKCFwbGF0Zm9ybURh
dGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCmluZGV4IDQ5MzE2ODZiMzE1MTI3NzE2MjUw
NDg4OGI3MTVlMjgxYTI3NTkyMDYuLmQ2YzEzZWUwODIzNjMxZGI4MjBmOTE1Zjk5NmI0N2FjN2Q0
NzIzNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBwZW5kaW5nQWN0aW9u
SW50ZXJ2YWwgPSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgcGVuZGluZ0FjdGlv
bkludGVydmFsID0gU2Vjb25kcygxLjAgLyAxMCk7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXI6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoQ2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2Ns
aWVudCgmY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCmluZGV4IDBkYzg4YzdkOTM0ZDE0YTNmNDRjZDgwNzRkMmY4YmJkZGYzNjM2
NzMuLjgxMDFiYWI0ODQwMDVmZjZjNWFmNzljM2FhZmM0YmVlMTM0NmZhMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTEwOTgs
NyArMTA5OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoKQogICAg
IGlmIChtX3ByaXZhdGUtPm5ldHdvcmtTdGF0ZSgpID49IEZvcm1hdEVycm9yICYmIG1fcHJpdmF0
ZS0+cmVhZHlTdGF0ZSgpIDwgSGF2ZU1ldGFkYXRhKSB7CiAgICAgICAgIG1fY2xpZW50Lm1lZGlh
UGxheWVyRW5naW5lRmFpbGVkVG9Mb2FkKCk7CiAgICAgICAgIGlmIChpbnN0YWxsZWRNZWRpYUVu
Z2luZXMoKS5zaXplKCkgPiAxICYmIChtX2NvbnRlbnRNSU1FVHlwZS5pc0VtcHR5KCkgfHwgbmV4
dEJlc3RNZWRpYUVuZ2luZShtX2N1cnJlbnRNZWRpYUVuZ2luZSkpKSB7Ci0gICAgICAgICAgICBt
X3JlbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fcmVsb2FkVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hh
ZG93Qmx1ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVy
LmNwcAppbmRleCA1MjNiM2FmNWQ3YmU3N2ZhMWRlNzY5ZThkYzEzMDc2ZDVmM2MyMTNmLi41ZmQ3
NjQ3YmQ3ZmIxNTViMGViMzEwMDUwZTU5MGFmMzlhMDk5MDgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcApAQCAtMTI0LDcgKzEyNCw3IEBA
IHB1YmxpYzoKICAgICAgICAgaWYgKG1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAg
ICAgbV9wdXJnZVRpbWVyLnN0b3AoKTsKIAotICAgICAgICBjb25zdCBkb3VibGUgc2NyYXRjaEJ1
ZmZlclB1cmdlSW50ZXJ2YWwgPSAyOworICAgICAgICBjb25zdCBTZWNvbmRzIHNjcmF0Y2hCdWZm
ZXJQdXJnZUludGVydmFsID0gU2Vjb25kcygyKTsKICAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0
T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
U2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmluZGV4IDZlZThi
YzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLmUyZTUzODA0OGU1OTQ4MTQ0ZjZm
YWQwYzNmMmM2YjYyYzEzYTIwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxl
Y3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1lZGlhU2VsZWN0
aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBjaGFy
YWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJyZWRPcHRpb24p
KTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJyZWRPcHRpb24p
OwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9u
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9i
akMqIG9wdGlvbikKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqCiAg
ICAgbV9zZWxlY3RlZE9wdGlvbiA9IG9wdGlvbjsKICAgICBpZiAobV9zZWxlY3Rpb25UaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICBtX3NlbGVjdGlvblRpbWVyLnN0b3AoKTsKLSAgICBtX3NlbGVj
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6
c2VsZWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggZmYy
OTk0ZmJhNjRhNzk4NjM2M2QyODNlZDRmNTI4ZGQ4ZTEzNjU2MS4uNjg5YzZmZTM2NDFhNGZkYjQ4
MjRiNzZjMGUzMDk1ZWIxNzZmMTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAt
MjI4LDcgKzIyOCw3IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGUoY29uCiAgICAgICAgIG91dHB1dENv
ZGVjcyA9IFtnZXRBVlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIG91dHB1dE1JTUVDb2RlY1BhcmFt
ZXRlckZvcklucHV0TUlNRUNvZGVjUGFyYW1ldGVyOm91dHB1dENvZGVjc107CiAKICAgICBOU1N0
cmluZyAqdHlwZVN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiJUA7IGNvZGVj
cz1cIiVAXCIiLCAoTlNTdHJpbmcgKilwYXJhbWV0ZXJzLnR5cGUsIChOU1N0cmluZyAqKW91dHB1
dENvZGVjc107Ci0gICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xhc3MoKSBpc1BsYXlhYmxlRXh0
ZW5kZWRNSU1FVHlwZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVyOjpJc1N1cHBvcnRlZCA6IE1l
ZGlhUGxheWVyOjpNYXlCZVN1cHBvcnRlZDs7CisgICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xh
c3MoKSBpc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlwZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVy
OjpJc1N1cHBvcnRlZCA6IE1lZGlhUGxheWVyOjpNYXlCZVN1cHBvcnRlZDsKIH0KIAogI3ByYWdt
YSBtYXJrIC0KQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UoY29uc3QgTWVkaWFUaW1lJiB0aQogCiAg
ICAgaWYgKG1fc2Vla1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2Vla1RpbWVyLnN0b3Ao
KTsKLSAgICBtX3NlZWtUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZWVrVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIw
NzIzNTAwMThhZGM0YmNkYjg0NWYuLjE5NTZmNjg1YTk2ZWE4MzAzODg0ZTlmNGM1NGIyMDQwNzVh
YjRlNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xh
eWVyUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5
ZXJQb29sLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBy
dW5lKCkKIHsKICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygxKSk7CiB9CiAKIHZvaWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQxMzJiMDQ4NmEzYTg3ZDJlZjNhMzc4OGEyNzk5YjYx
NGIzYTFlMmMuLmZhZWJjNjY1NTI5YjU4ZjRiNmM5NzYzNjA5MDg3NDIwNDkwNzAxMDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJv
bGxlci5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0
aWMgY29uc3QgYXV0byB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyB7IDUwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGlsZVNpemVVcGRhdGVEZWxheSA9
IFNlY29uZHMoMC41KTsKIAogU3RyaW5nIFRpbGVDb250cm9sbGVyOjp0aWxlR3JpZENvbnRhaW5l
ckxheWVyTmFtZSgpCiB7CkBAIC0yNjYsNyArMjY2LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6
c2V0SXNJbldpbmRvdyhib29sIGlzSW5XaW5kb3cpCiAgICAgaWYgKG1faXNJbldpbmRvdykKICAg
ICAgICAgc2V0TmVlZHNSZXZhbGlkYXRlVGlsZXMoKTsKICAgICBlbHNlIHsKLSAgICAgICAgY29u
c3QgZG91YmxlIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0ID0gNDsKKyAgICAgICAgY29uc3QgU2Vj
b25kcyB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCA9IFNlY29uZHMoNCk7CiAgICAgICAgIHNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0aW9uVGltZW91dCk7CiAgICAgfQogfQpA
QCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFn
ZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0CiAjZW5kaWYKIH0KIAot
dm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRl
cnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihTZWNv
bmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2
ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSA8IGludGVy
dmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRleCBjM2VlNDFlMDZiZDg4MjAwMzFlZDI5
MjEyODYxNWZlNzlkOTMzYWM4Li42ZDhjMjBjNDVhMzRmNGU3MjBiYzdjZWEwOTI1OTU4YmUwMTRh
YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICptX3RpbGVHcmlkOyB9CiAKLSAgICB2b2lk
IHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUgaW50ZXJ2YWwpOworICAgIHZvaWQgc2No
ZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0lu
V2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2luZG93OyB9CiAgICAgZmxvYXQgdG9wQ29u
dGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAu
Y3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFhZjAzYzk4OThmZmJiMTcxNWMuLjg4ZGI3
MTBiMmY5YmNjMjc5NzBlYWMwYTdkOTNlZmRiNjViNzA0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcApAQCAt
NzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5UaWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBU
aWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFRpbGVDb3ZlcmFnZU1hcDo6dXBkYXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKaW5kZXggMjhmMjljYmRlOGUyMWY3
MTgwMWI4ODYyMjc5NTYxZWY5MjJmYTFjMS4uMzJiMGVhZDI4MmY0NTYyYjRkMWJkYmFjZTAwZGQx
YTU0ZTEyYThhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgVGlsZUdyaWQ6OnJldmFsaWRh
dGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9uUG9saWN5KQogICAgIFRpbGVD
b2hvcnQgY3VyckNvaG9ydCA9IG5leHRUaWxlQ29ob3J0KCk7CiAgICAgdW5zaWduZWQgdGlsZXNJ
bkNvaG9ydCA9IDA7CiAKLSAgICBkb3VibGUgbWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRp
b24gPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpOworICAgIFNlY29uZHMgbWlu
aW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBTZWNvbmRzOjppbmZpbml0eSgpOwogICAg
IGJvb2wgbmVlZHNUaWxlUmV2YWxpZGF0aW9uID0gZmFsc2U7CiAgICAgCiAgICAgYXV0byB0aWxl
U2l6ZSA9IG1fY29udHJvbGxlci50aWxlU2l6ZSgpOwpAQCAtMzgxLDggKzM4MSw4IEBAIHZvaWQg
VGlsZUdyaWQ6OnJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9u
UG9saWN5KQogICAgICAgICAgICAgICAgIGZvciAoYXV0byYgY29ob3J0IDogbV9jb2hvcnRMaXN0
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjb2hvcnQuY29ob3J0ICE9IHRpbGVJbmZvLmNv
aG9ydCkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAg
ICAgICBkb3VibGUgdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBp
cmF0aW9uKCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVz
ID4gMCkgeworICAgICAgICAgICAgICAgICAgICBTZWNvbmRzIHRpbWVVbnRpbENvaG9ydEV4cGly
ZXMgPSBjb2hvcnQudGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAgICAgICAgICAgICAgICBp
ZiAodGltZVVudGlsQ29ob3J0RXhwaXJlcyA+IFNlY29uZHMoMCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uID0gc3RkOjptaW4obWlu
aW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24sIHRpbWVVbnRpbENvaG9ydEV4cGlyZXMpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgbmVlZHNUaWxlUmV2YWxpZGF0aW9uID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlCkBAIC00NzgsNyArNDc4LDcgQEAgVGlsZUdyaWQ6OlRp
bGVDb2hvcnQgVGlsZUdyaWQ6Om5leHRUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3Jp
ZDo6c3RhcnRlZE5ld0NvaG9ydChUaWxlQ29ob3J0IGNvaG9ydCkKIHsKLSAgICBtX2NvaG9ydExp
c3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9ydCwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCkpKTsKKyAgICBtX2NvaG9ydExpc3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9ydCwg
TW9ub3RvbmljVGltZTo6bm93KCkpKTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKCFtX2Nv
bnRyb2xsZXIuaXNJbldpbmRvdygpKQogICAgICAgICB0aWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXIoKS50aWxlQ29udHJvbGxlckdhaW5lZFVucGFyZW50ZWRUaWxlcygmbV9jb250cm9sbGVyKTsK
QEAgLTQ5NywxNyArNDk3LDE3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpvbGRl
c3RUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3JpZDo6c2NoZWR1bGVDb2hvcnRSZW1v
dmFsKCkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyA9IDE7
CisgICAgY29uc3QgU2Vjb25kcyBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzID0gU2Vjb25kcygx
KTsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciwgb3IgcmVzY2hlZHVsZSB0aGUgdGltZXIgZnJv
bSBub3cgaWYgaXQncyBhbHJlYWR5IGFjdGl2ZS4KICAgICBpZiAoIW1fY29ob3J0UmVtb3ZhbFRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0YXJ0UmVwZWF0
aW5nKGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMpOwogfQogCi1kb3VibGUgVGlsZUdyaWQ6OlRp
bGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKK1NlY29uZHMgVGlsZUdyaWQ6OlRp
bGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKIHsKLSAgICBkb3VibGUgY29ob3J0
TGlmZVRpbWVTZWNvbmRzID0gMjsKLSAgICBkb3VibGUgdGltZVRocmVzaG9sZCA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gY29ob3J0TGlmZVRpbWVTZWNvbmRzOworICAgIGNvbnN0
IFNlY29uZHMgY29ob3J0TGlmZVRpbWUgPSBTZWNvbmRzKDIpOworICAgIE1vbm90b25pY1RpbWUg
dGltZVRocmVzaG9sZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gY29ob3J0TGlmZVRpbWU7CiAg
ICAgcmV0dXJuIGNyZWF0aW9uVGltZSAtIHRpbWVUaHJlc2hvbGQ7CiB9CiAKQEAgLTUxOCw3ICs1
MTgsNyBAQCB2b2lkIFRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCgpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICB3aGlsZSAoIW1fY29ob3J0TGlzdC5pc0VtcHR5KCkgJiYg
bV9jb2hvcnRMaXN0LmZpcnN0KCkudGltZVVudGlsRXhwaXJhdGlvbigpIDwgMCkgeworICAgIHdo
aWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1l
VW50aWxFeHBpcmF0aW9uKCkgPCBTZWNvbmRzKDApKSB7CiAgICAgICAgIFRpbGVDb2hvcnRJbmZv
IGZpcnN0Q29ob3J0ID0gbV9jb2hvcnRMaXN0LnRha2VGaXJzdCgpOwogICAgICAgICByZW1vdmVU
aWxlc0luQ29ob3J0KGZpcnN0Q29ob3J0LmNvaG9ydCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKaW5kZXggMzI1MzM2ZjgxOTFlNDU4
MjNjNzU1ZDg3ODJjNDJhYTBkZTU3NjUxZC4uNDI2OTM3NzRiYTRmMWM1YWI0Y2QzNGUyOGEzMjdm
ZWU5OGFlMGM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlR3JpZC5oCkBAIC0xMjEsMTMgKzEyMSwxMyBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFRp
bGVDb2hvcnRJbmZvIHsKICAgICAgICAgVGlsZUNvaG9ydCBjb2hvcnQ7Ci0gICAgICAgIGRvdWJs
ZSBjcmVhdGlvblRpbWU7IC8vIGluIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLgotICAg
ICAgICBUaWxlQ29ob3J0SW5mbyhUaWxlQ29ob3J0IGluQ29ob3J0LCBkb3VibGUgaW5UaW1lKQor
ICAgICAgICBNb25vdG9uaWNUaW1lIGNyZWF0aW9uVGltZTsKKyAgICAgICAgVGlsZUNvaG9ydElu
Zm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgTW9ub3RvbmljVGltZSBpblRpbWUpCiAgICAgICAgICAg
ICA6IGNvaG9ydChpbkNvaG9ydCkKICAgICAgICAgICAgICwgY3JlYXRpb25UaW1lKGluVGltZSkK
ICAgICAgICAgeyB9CiAKLSAgICAgICAgZG91YmxlIHRpbWVVbnRpbEV4cGlyYXRpb24oKTsKKyAg
ICAgICAgU2Vjb25kcyB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CiAgICAgfTsKIAogICAgIHZvaWQg
cmVtb3ZlQWxsVGlsZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKaW5kZXggYjgxZDU4ZTYzZDE4YjI2YWY0ZGIxNGZh
NWMzYThhMGZlMGJmZjE0OC4uMzJmMjI1NzUyNWFhYzI0ZTk1NmFiOGZkM2I0MTg1YTYwOWVlN2Y4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJm
YWNlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9T
dXJmYWNlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKICNpbmNsdWRlIDxjaHJvbm8+CiAjaW5j
bHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgY29sbGVjdGlvbkludGVydmFsID0gNTAwbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6c2Vj
b25kcyBzdXJmYWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJzOworY29uc3QgU2Vjb25k
cyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSBTZWNvbmRzKDAuNSk7Citjb25zdCBTZWNvbmRzIHN1cmZh
Y2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxlID0gU2Vjb25kcygyKTsKIGNvbnN0IHNpemVfdCBk
ZWZhdWx0TWF4aW11bUJ5dGVzQ2FjaGVkID0gMTAyNCAqIDEwMjQgKiA2NDsKIAogLy8gV2UnbGwg
bmV2ZXIgYWxsb3cgbW9yZSB0aGFuIDEvMiBvZiB0aGUgY2FjaGUgdG8gYmUgZmlsbGVkIHdpdGgg
aW4tdXNlIHN1cmZhY2VzLCBiZWNhdXNlCkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBJT1N1cmZh
Y2VQb29sOjpjb2xsZWN0SW5Vc2VTdXJmYWNlcygpCiBib29sIElPU3VyZmFjZVBvb2w6Om1hcmtP
bGRlclN1cmZhY2VzUHVyZ2VhYmxlKCkKIHsKICAgICBib29sIG1hcmtlZEFsbFN1cmZhY2VzID0g
dHJ1ZTsKLSAgICBhdXRvIG1hcmtUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93
KCk7CisgICAgYXV0byBtYXJrVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgZm9y
IChhdXRvJiBzdXJmYWNlQW5kRGV0YWlscyA6IG1fc3VyZmFjZURldGFpbHMpIHsKICAgICAgICAg
aWYgKHN1cmZhY2VBbmREZXRhaWxzLnZhbHVlLmhhc01hcmtlZFB1cmdlYWJsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaAppbmRl
eCAzNDlhM2JjM2QyN2M1NDY5NmQ3YjViNTYzOTVmM2YzZTJmMjdmM2M0Li45ODIxYTRmZjA5NzEw
MGY1NWUxYmYzYzQ4MjAwNmViYzk0ZmUxMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCkBAIC02Myw5ICs2Myw5IEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICA6IGhhc01hcmtlZFB1cmdlYWJsZShmYWxzZSkKICAgICAgICAg
eyB9CiAKLSAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0VXNlVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOyB9CisgICAgICAgIHZvaWQgcmVzZXRMYXN0
VXNlVGltZSgpIHsgbGFzdFVzZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsgfQogCi0gICAg
ICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbGFzdFVzZVRpbWU7Cisg
ICAgICAgIE1vbm90b25pY1RpbWUgbGFzdFVzZVRpbWU7CiAgICAgICAgIGJvb2wgaGFzTWFya2Vk
UHVyZ2VhYmxlOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKaW5kZXggNGZh
Zjc3ZTI1NGUyYWFjNDA4YjRlODM2M2Y0OGUzZWQyMzBmZmQ3Ni4uYzEyNzYwODkzNzNhN2U0Mzgx
MGU0NDhjYmM1MTg1ZWU2OTE2OWZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKQEAg
LTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0
byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMSB9Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgPSBTZWNvbmRzKDEp
Owogc3RhdGljIGNvbnN0IGludCBtYXhTdWJpbWFnZUNhY2hlU2l6ZSA9IDMwMDsKIAogc3RydWN0
IFN1YmltYWdlUmVxdWVzdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCmluZGV4IGZlYWRkZGRhOGRjNDY0OTU2ZDU0MDUyZTA1YWRhNzcwNmQ0ODNm
OTEuLmY2NDQ0MGIxNDIzZjBhZjI1YWY1ZGE3YTI2MmJjMmU1MTc5MTNkNzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0zNjcsNyArMzY3
LDcgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5lU3Rh
dGUoR3N0U3RhdGUgbmV3U3RhdGUpCiAgICAgaWYgKG5ld1N0YXRlID09IEdTVF9TVEFURV9SRUFE
WSAmJiAhbV9yZWFkeVRpbWVySGFuZGxlci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIE1heCBp
bnRlcnZhbCBpbiBzZWNvbmRzIHRvIHN0YXkgaW4gdGhlIFJFQURZIHN0YXRlIG9uIG1hbnVhbAog
ICAgICAgICAvLyBzdGF0ZSBjaGFuZ2UgcmVxdWVzdHMuCi0gICAgICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgcmVhZHlTdGF0ZVRpbWVyRGVsYXkgPSA2MDsKKyAgICAgICAgc3RhdGljIGNvbnN0IFNl
Y29uZHMgcmVhZHlTdGF0ZVRpbWVyRGVsYXkgPSBTZWNvbmRzKDYwKTsKICAgICAgICAgbV9yZWFk
eVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRpbWVyRGVsYXkpOwogICAgIH0g
ZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQogICAgICAgICBtX3JlYWR5VGlt
ZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZygpCiAgICAgaWYgKHNob3VsZERv
d25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5hYmxpbmcgb24tZGlzayBidWZmZXJpbmci
KTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxpbmUuZ2V0KCksICJmbGFncyIsIGZsYWdz
IHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAgICAgbV9maWxsVGltZXIuc3RhcnRSZXBl
YXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygw
LjIpKTsKICAgICB9IGVsc2UgewogICAgICAgICBHU1RfREVCVUcoIkRpc2FibGluZyBvbi1kaXNr
IGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQobV9waXBlbGluZS5nZXQoKSwgImZs
YWdzIiwgZmxhZ3MgJiB+ZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCA5NjkzNjlhMzVl
Nzk3MTU5OGVjZjE4ZWY5ZjI0ODA5MWZiNWNkNTY4Li43NWQyYTZjYzhhNWYzMTdiYzhjYmQyMGZj
MTcxMThjZTBiYjQ3ODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC02NTMsNyArNjUzLDcgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkK
ICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgaWYgKCFtX3BsYXll
ci0+Y2xpZW50KCkubWVkaWFQbGF5ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpKSB7
CiAgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fZHJhd011dGV4KTsKLSAgICAgICAgbV9kcmF3
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAgICAgICAgIG1fZHJhd0NvbmRpdGlvbi53YWl0KG1fZHJhd011dGV4KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY3NSw3ICs2NzUsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBsZSogc2FtcGxl
KQogICAgICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKIAogICAgICAgICBMb2NrSG9sZGVy
IGxvY2tlcihtX2RyYXdNdXRleCk7Ci0gICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAg
ICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1Np
bmtHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIxYjE1
MjFjMDQxZjZiNzI3OTkyOC4uNzYwOTY4YmNmZmU3ZjYxYTVjNjU2ZjQ1ZjFiMmI0MzZhZTc3N2Uz
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTksNyBA
QCBwdWJsaWM6CiAgICAgICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAgIG1f
c2luayA9IHNpbms7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAgICAgbV9kYXRhQ29uZGl0aW9u
LndhaXQobV9zYW1wbGVNdXRleCk7CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXggOTY4YTJkODhiNjUxYmNiYjIzMDYyMjcxMzNk
ZjU2MGMxZWYyZmI0Zi4uZGU2NDQwMjk4OWU3ODBkODUwY2ZlMDM4OTFkMDk0ZjU3MjAwYjYyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWsoY29uc3QgTWVkaWFUaW1lJiBpblRpbWUpCiAg
ICAgaWYgKG1heE1lZGlhVGltZVNlZWthYmxlKCkgPj0gbV9zZWVrVG8pCiAgICAgICAgIGRvU2Vl
aygpOwogICAgIGVsc2UgCi0gICAgICAgIG1fc2Vla1RpbWVyLnN0YXJ0KDAsIDAuNWYpOworICAg
ICAgICBtX3NlZWtUaW1lci5zdGFydChTZWNvbmRzKDApLCBTZWNvbmRzKDAuNSkpOwogfQogCiB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpkb1NlZWsoKSAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBv
b2wuY3BwCmluZGV4IDFiNDZmMzc1MjQ5ODkwN2UwMGJjMjgyZDJkOWQ2ZjFhZjczYjQ1OWUuLjg1
NGFlYmMxOTI3ZTk3MTBiNzIzODJkZjBiMGM4MGRlMmRiZTJiMTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1
cmVQb29sLmNwcApAQCAtMzQsNyArMzQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0
aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwotc3Rh
dGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAw
LjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50
ZXJ2YWwgPSBTZWNvbmRzKDAuNSk7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiBCaXRt
YXBUZXh0dXJlUG9vbDo6Qml0bWFwVGV4dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNE
PiYmIGNvbnRleHQzRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXll
clByb3h5LmNwcAppbmRleCA1ZTNjODJmMWYzM2FkNTI5MjUwNjY4OTZjOWMyMTRhMzNiZjhiMzA1
Li40ZGNmZWU4M2FmYjI4ODU1YmVlNGMzYTk1NjZlNGI5MDg4ZGRjNzJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCkBAIC0zNCw3ICszNCw3
IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXIuaCIKIAogY29u
c3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAxOwotY29uc3QgZG91
YmxlIHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsID0gMC41OworY29uc3QgU2Vj
b25kcyBzX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMC41KTsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNjMsNyArMTYzLDcgQEAgYm9vbCBUZXh0dXJl
TWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVh
ZChzdGQ6OmZ1bmMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgbV9jb21wb3NpdG9yVGhy
ZWFkVXBkYXRlRnVuY3Rpb24gPSBXVEZNb3ZlKHVwZGF0ZUZ1bmN0aW9uKTsKLSAgICBtX2NvbXBv
c2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fY29tcG9zaXRv
clRocmVhZFVwZGF0ZVRpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllci5jcHAKaW5kZXggNWQ3NDRkMjUyOWMyMDA3YmRlMGU4OTkxNDAwMGYwNTdi
NzFkMzdmYy4uM2ExODE5YjMyZGMxNmIwN2QyZjZmNDI5N2Y5YWJlMmEzNzU2NzI4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5j
cHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjph
ZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwKIAogICAgIG1f
bGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0g
ZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1hdGlvbnMuYWRkKFRleHR1cmVN
YXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0LCBib3hTaXplLCAqYW5pbSwg
bGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAwLCBUZXh0dXJlTWFwcGVyQW5p
bWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAgIG1fYW5pbWF0aW9uU3RhcnRl
ZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgZGlkQ2hhbmdlQW5pbWF0aW9ucygpOwogICAgIHJl
dHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Nj
cm9sbEFuaW1hdG9yR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5jcHAKaW5kZXggMTNlNjM1NGIwOTI2MTM0ZDg3ZjlmYzA5ZGZjZjEyMmFjMTk3
Y2Q1ZS4uODE5MjZkMmMyYmY4ZTVlOTI2OTg3N2I4NzJkY2NlZDJlY2UxNmU2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCkBAIC0x
OTEsNyArMTkxLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblRpbWVyRmlyZWQoKQogICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHRpY2tUaW1l
ID0gMSAvIGZyYW1lUmF0ZTsKICAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCA9IC4wMDE7CiAgICAgICAgIGRvdWJsZSBkZWx0YVRvTmV4dEZyYW1lID0gc3Rk
OjptYXgodGlja1RpbWUgLSAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjdXJyZW50
VGltZSksIG1pbmltdW1UaW1lckludGVydmFsKTsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbHRhVG9OZXh0RnJhbWUpOworICAgICAgICBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWx0
YVRvTmV4dEZyYW1lKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFy
cygpOwogfQpAQCAtMjEzLDcgKzIxMyw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dP
dmVybGF5U2Nyb2xsYmFycygpCiAgICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRh
cmdldCAhPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50KSB7CiAgICAgICAgIG1f
b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwogICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0g
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJz
QW5pbWF0aW9uRHVyYXRpb247Ci0gICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0gZWxzZQogICAgICAgICBoaWRl
T3ZlcmxheVNjcm9sbGJhcnMoKTsKIH0KQEAgLTIzMyw3ICsyMzMsNyBAQCB2b2lkIFNjcm9sbEFu
aW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKQogICAgICAgICByZXR1cm47CiAgICAg
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7CiAgICAg
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSA9IG1fb3ZlcmxheVNjcm9sbGJhckFu
aW1hdGlvblN0YXJ0VGltZSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkR1cmF0aW9uICsg
b3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OwotICAgIG1fb3ZlcmxheVNjcm9s
bGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRp
b25IaWRlRGVsYXkpOworICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSkpOwog
fQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjptb3VzZUVudGVyZWRDb250ZW50QXJlYSgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQppbmRleCBi
MGI3YmZkYTJkYjgxZWVmNzQxY2Y2NjQzYzEwZjgwZWY3ZDI5ZWYzLi45NzIyODI4N2JkNjFhNGI1
OTIxODJmM2Y1YzdkZDdiMWQ5NGMzNzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KQEAgLTQyMCw3ICs0MjAsNyBAQCB2b2lkIExlZ2FjeVRp
bGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKGJvb2wgZGlkQ3JlYXRlVGlsZXMsIGJvb2wg
Y3JlYXRlTW9yZQogCiAgICAgLy8gS2VlcCBjcmVhdGluZyB0aWxlcyB1bnRpbCB0aGUgd2hvbGUg
Y292ZXJSZWN0IGlzIGNvdmVyZWQuCiAgICAgaWYgKGNyZWF0ZU1vcmUpCi0gICAgICAgIG1fdGls
ZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbGVDcmVhdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBMZWdhY3lUaWxlQ2FjaGU6
OnRpbGVDcmVhdGlvblRpbWVyRmlyZWQoKQpAQCAtNzgyLDcgKzc4Miw3IEBAIHZvaWQgTGVnYWN5
VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVk
KQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1NwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxl
ZCA9IGVuYWJsZWQ7CiAgICAgaWYgKG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQp
Ci0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogYm9vbCBM
ZWdhY3lUaWxlQ2FjaGU6Omhhc1BlbmRpbmdEcmF3KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmgKaW5kZXggNzU2ZDQwNjA3ZjU2M2E2
Y2U1OThlMjliYjI3YjQwZTk1NWViYTYxZi4uYWNjZDI5YzEwNjAzNjdlMGZjMGZmZjY4ZDUzZDQz
NDdhMDc0YjFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9s
bGJhclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJh
clRoZW1lSU9TLmgKQEAgLTQxLDggKzQxLDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgc3Vw
cG9ydHNDb250cm9sVGludHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKLSAg
ICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7Ci0gICAgZG91
YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBpbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgb3ZlcnJpZGU7CiAKICAgICBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IGJ1
dHRvbnNQbGFjZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCmluZGV4IDZlNTIwYmVmNTQ4ZjU0MDIw
M2E5YTZhM2M3NzdkODE2ZGFhNTA5OTAuLjViMDA1YzUwMTEzNjNhY2I5YmU4ZWFhN2ZiZTJlZmM4
YTIzMGMzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxi
YXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFy
VGhlbWVJT1MubW0KQEAgLTY2LDE0ICs2NiwxNCBAQCBpbnQgU2Nyb2xsYmFyVGhlbWVJT1M6OnNj
cm9sbGJhclRoaWNrbmVzcyhTY3JvbGxiYXJDb250cm9sU2l6ZSkKICAgICByZXR1cm4gMDsKIH0K
IAotZG91YmxlIFNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXko
KQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gU2Vjb25kcygwKTsKIH0KIAotZG91Ymxl
IFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9s
bGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAgICAgCiBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50
IFNjcm9sbGJhclRoZW1lSU9TOjpidXR0b25zUGxhY2VtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5tbQppbmRleCBjYzYyZTNhODg0YWVmMjk1MTk3ZTJiYjc2YmIwZmE3ZWMz
MDcwYmExLi40NmNjMDEwZWE2Mzg0OTIyMmRjMDlhMTNiOTFjYmNhNWYxZmQ0M2IzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyBjb25zdCBj
aGFyKiBib29sU3RyaW5nKGJvb2wgdmFsKQogfQogI2VuZGlmCiAKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgRGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9IDE7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gU2Vjb25kcygxKTsKIAogQGNsYXNzIFdl
YkFWTWVkaWFTZWxlY3Rpb25PcHRpb247CiAKQEAgLTk4Niw3ICs5ODYsNyBAQCBib29sIFdlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFz
b24oV2ViVmlkZW9GdQogICAgIG1fdmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVlc3RGdWxsc2Ny
ZWVuTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKTsK
IAogICAgIGlmICghbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fd2F0Y2hk
b2dUaW1lci5zdGFydE9uZVNob3QoRGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCk7CisgICAg
ICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZGVmYXVsdFdhdGNoZG9nVGltZXJJbnRl
cnZhbCk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKaW5k
ZXggOWEwMzgzMjY2MGFhMmNiYTk3ODkxYzY4MGU0YjZkMmFkYzExOTRiMS4uZGZlMjhiZWI0ZjE4
M2Q1NjIwNDVlYWZiNWI2NmIyOGUzMWNiYjJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcApA
QCAtMjY5LDcgKzI2OSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpob2xkT2ZmVGlt
ZXJGaXJlZCgpCiAKIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpob2xkT2ZmKHVuc2lnbmVk
IHNlY29uZHMpCiB7Ci0gICAgbV9ob2xkT2ZmVGltZXIuc3RhcnRPbmVTaG90KHNlY29uZHMpOwor
ICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNlY29uZHMpKTsKIH0KIAog
c3RhdGljIHNpemVfdCBwcm9jZXNzTWVtb3J5VXNhZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IGFjN2Y0ZmQ0YTk4NGRjMzFk
ZGQ0ZmM4MGIxNjkzNDE1MTkwMjUwOTUuLjRmMjkxYTg3Y2JlZmVmYmVhMWM3ZWQ4ZDRkZDExZDdj
MzIyODdmYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxB
bmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMubW0KQEAgLTEzMzgsNyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6
OnVwZGF0ZVNjcm9sbGVyU3R5bGUoKQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNj
cm9sbGJhclBhaW50VGltZXIoKQogewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIu
c3RhcnRPbmVTaG90KDAuMSk7CisgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwLjEpKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Ny
b2xsYmFyUGFpbnRUaW1lcklzQWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZv
aWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBG
bG9hdFNpemUmIGRlbHRhKQogICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVs
dGEgPSBkZWx0YTsKIAogICAgIGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAKICAgICBpZiAobV93aGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAg
ICAgICAgIG1fd2hlZWxFdmVudFRlc3RUcmlnZ2VyLT5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50
ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZp
ZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OkNvbnRlbnRTY3JvbGxJblByb2dyZXNz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVt
ZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgK
aW5kZXggYTcyODI5OGM4ZWJiNWM1NTU0N2Q2ZDNjYmQ4ZDVlMTQ3NDBhNGU4Yy4uN2VhYTkxMWJi
OTJiMDhmMDFiN2Q5OTI2NmQwMTNhNDc2YzdkZDViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKQEAgLTQ4LDggKzQ4LDggQEAgcHVibGlj
OgogICAgIHZvaWQgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAg
IHZvaWQgdXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYpICBvdmVycmlkZTsK
IAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAg
ICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1l
bnQgYnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KaW5kZXggYjJlMTYxOGMwMzJm
YjdjNjVmMWZlMTkxN2YyMDRlMjk2NzRjMzg5Zi4uZjljZDA1NzhhYWRiOTdhODE0MDFiYmY5MTc0
MGNhNmIzNDJlYzM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbGJhclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxiYXJUaGVtZU1hYy5tbQpAQCAtMTMwLDggKzEzMCw4IEBAIHN0YXRpYyBjb25zdCBpbnQgY0J1
dHRvbkxlbmd0aFtdID0geyAxNCwgMTAgfTsKIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9u
TGVuZ3RoW10gPSB7IDE2LCAxNCB9OyAvLyBUaGUgb3V0ZXIgYnV0dG9uIGluIGEgZG91YmxlIGJ1
dHRvbiBwYWlyIGlzIGEgYml0IGJpZ2dlci4KIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9u
T3ZlcmxhcCA9IDI7CiAKLXN0YXRpYyBmbG9hdCBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41ZjsK
LXN0YXRpYyBmbG9hdCBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gMC4wNWY7CitzdGF0aWMgU2Vj
b25kcyBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcygwLjUpOworc3RhdGljIFNlY29uZHMg
Z0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IFNlY29uZHMoMC4wNSk7CiBzdGF0aWMgYm9vbCBnSnVt
cE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1VzZXNPdmVybGF5U2Nyb2xsYmFy
cyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6
cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwogICAgIFtkZWZhdWx0cyBzeW5j
aHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktl
eTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkg
PSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl07CisgICAg
Z0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNT
Y3JvbGxlckJ1dHRvbkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBTZWNv
bmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25QZXJpb2QiXSk7CiAg
ICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpAIkFwcGxlU2Nyb2xs
ZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Nyb2xsYmFyc0NoYW5nZWQoKTsK
IH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNj
cm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikKICAgICBFTkRfQkxPQ0tf
T0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxB
dXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBnSW5pdGlhbEJ1dHRvbkRlbGF5
OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkK
K1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKICAg
ICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IDky
MmFkNDM5N2EwNGMwNTU2MWM3YzFkNjA2N2FkZWM1MTU5ZjIzNTQuLjE2ZDI5NjJiNDY0ZjcwZjAy
NGE4ZjIyNTFjYjNkOWE1OGI2MjMwZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcApAQCAtNTksNyArNTksNyBA
QCB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnNldE1vdGlvbihQYXNzUmVmUHRyPERldmlj
ZU1vdGlvbkRhdGE+IG1vdGlvbikKIHsKICAgICBtX21vdGlvbiA9IG1vdGlvbjsKICAgICBpZiAo
bV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrLmNwcAppbmRleCBhZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhkNjEw
MWMyLi40MmYwM2NkNTA0NjhiYmI5Y2YxYzRhM2Y3ZjRkZjE5ODNjYzJjZGQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudE1vY2suY3BwCkBAIC01OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrOjpzZXRPcmllbnRhdGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0
CiB7CiAgICAgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBkYXRp
bmcgJiYgIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKaW5k
ZXggYjdjZmI5YmUwNmRjYmZmYzdjMTZiM2NmZTc0NjUwMTMwZmE3MDBlNS4uMWUxMWQ1Njg5ODM3
ZmE4NmY0OWMxNDNhMWQ5MzUzOTgyMDM5YjE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcApAQCAtMTA2LDcgKzEw
Niw3IEBAIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZVBlcm1pc3Npb24o
KQogewogICAgIEFTU0VSVChtX3Blcm1pc3Npb25TdGF0ZSAhPSBQZXJtaXNzaW9uU3RhdGVVbnNl
dCk7CiAgICAgaWYgKCFtX3Blcm1pc3Npb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Bl
cm1pc3Npb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVybWlzc2lvblRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1v
Y2s6OnBlcm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEdlb2xv
Y2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBBU1NFUlQo
bV9jb250cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVyVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAK
IHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlck1vY2suY3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5NmI3YTk1ZTIxMDY2MDQ5
NTEyZmUyZjI1NWIuLjlmM2UxZTg2NzVhMzQ1YjM4OGI0NDAxNjFkNTcyMGZkY2QwZWIwZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQ
bGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgdGltZXJJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1l
ckludGVydmFsID0gU2Vjb25kcygxLjAgLyAxMCk7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXJNb2NrOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jayhNZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIo
Y2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVk
aWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVu
ZHBvaW50LmNwcAppbmRleCA2MGJiMDE4MWFlOGNkM2I3N2I4OWVkZjQ5YTM2NTM4NGYyZTBkZTU5
Li4yNzg2ZDQ2ZWVlZTZhYjg4OTk1YWZkY2Y2YWMxYWU5NzA0ZDE0NmI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcApAQCAtMjQ1
LDcgKzI0NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRp
ZGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2Vl
cGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2Zha2VJY2VDYW5kaWRhdGVzLnJldmVyc2UoKTsK
IAotICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNlQ2Fu
ZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50OjppY2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKQEAgLTI1NSw3ICsyNTUsNyBAQCB2
b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKIAogICAgIGlm
ICghbV9mYWtlSWNlQ2FuZGlkYXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jbGllbnQuZ290
SWNlQ2FuZGlkYXRlKG1fbWlkc1swXSwgbV9mYWtlSWNlQ2FuZGlkYXRlcy50YWtlTGFzdCgpKTsK
LSAgICAgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
aWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0gZWxzZQog
ICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVyaW5nQ2FuZGlkYXRlcyhtX21pZHNbMF0pOwogfQpA
QCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3Bv
cnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUg
a2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlcy5y
ZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCkBAIC0zMDUsNyAr
MzA1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgp
CiAgICAgYXV0byBzdGF0ZUNoYW5nZSA9IG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnRha2VM
YXN0KCk7CiAgICAgbV9jbGllbnQuaWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKHN0YXRlQ2hhbmdl
LmZpcnN0LCBzdGF0ZUNoYW5nZS5zZWNvbmQpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJj
ZXNCeU1pZCgpCkBAIC0zMjAsNyArMzIwLDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5t
dXRlUmVtb3RlU291cmNlc0J5TWlkKCkKICAgICBmb3IgKGludCBpID0gbV9taWRzLnNpemUoKSAt
IDE7IGkgPj0gMDsgLS1pKQogICAgICAgICBtX21pZHNPZlNvdXJjZXNUb1VubXV0ZS5hcHBlbmQo
bV9taWRzW2ldKTsKIAotICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
dW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1v
Y2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRN
dXRlZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHko
KSkKLSAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5t
dXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFs
dGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2UuY3BwCmluZGV4IGVmOTcyNzZhNDQzNDJhYmM1Yzc1YWVhNGUzNjE3
MTQ0MWI0Y2RjNmUuLjY0YTM1YTZkMjdiY2U5NWM2NTliYzU5MWJlNTA5MDRiYTgxMzYwZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1l
VmlkZW9Tb3VyY2UuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAgfQogCiAgICAgbV9zdGFydFRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5n
KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMobHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKTsK
KyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoKGxy
b3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSkpOwogfQogCiB2b2lkIE1vY2tSZWFsdGltZVZpZGVv
U291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBNb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENvbnN0cmFpbnRzKFJlYWx0
aW1lTWVkaWFTb3VyY2UKIGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVS
YXRlKGRvdWJsZSByYXRlKQogewogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQo
MTAwMCAvIHJhdGUpKSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6
ZnJvbU1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CiAKICAgICB1cGRhdGVTYW1w
bGVCdWZmZXIoKTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAK
aW5kZXggZjNiYzcxYzBmNzMzZDI4MzNlYzM0ODVlODk0OTQ0OGQzOGRkM2YxMS4uMjdiZGFlMmI1
Y2NlMmM4NDRiYjEzZGU3MGM5OTRhMzUwYzgzNmVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9j
ay5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9j
azo6c3BlYWsoUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmMKICAgICBjbGll
bnQoKS0+Ym91bmRhcnlFdmVudE9jY3VycmVkKCptX3V0dGVyYW5jZSwgU3BlZWNoU2VudGVuY2VC
b3VuZGFyeSwgbV91dHRlcmFuY2UtPnRleHQoKS5sZW5ndGgoKSk7CiAKICAgICAvLyBHaXZlIHRo
ZSBmYWtlIHNwZWVjaCBqb2Igc29tZSB0aW1lIHNvIHRoYXQgcGF1c2UgYW5kIG90aGVyIGZ1bmN0
aW9ucyBoYXZlIHRpbWUgdG8gYmUgY2FsbGVkLgotICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVy
LnN0YXJ0T25lU2hvdCguMSk7CisgICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMC4xKSk7CiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1v
Y2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Rp
bWVyRXZlbnRCYXNlZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJF
dmVudEJhc2VkTW9jay5oCmluZGV4IGRlMGU4YTlmZDY1OTZiMmUyYWI3MzcwMzA0N2RlNWVkMzdm
ZmVjYWMuLjA2NmQ2ZTMzNTIzZGQ0MjJiZTlhNDNhZGExMDk0ZTliYzZhMTkwYmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCkBA
IC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3RpbWVyKCp0aGlzLCAmVGltZXJF
dmVudDo6dGltZXJGaXJlZCkKICAgICAgICAgLCBtX25vdGlmaWVyKG5vdGlmaWVyKQogICAgIHsK
LSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC41KTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwLjUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2
ZVF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1
ZXVlLmNwcAppbmRleCA1ODc3M2FhMzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi45
NjIzMGZlMTc0NDkyMTNmNjI0MGExOGVhZTg3M2M2NjY1OWFjNTgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3
ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9S
ZXNvbHZlSW1tZWRpYXRlbHkgPSA0OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBm
b3IgdGhpcyBsb25nIGJlZm9yZSBzZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJs
ZSBnQ29hbGVzY2VEZWxheUluU2Vjb25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNv
YWxlc2NlRGVsYXkgPSBTZWNvbmRzKDEpOwogCiAvLyBTZW5kaW5nIG1hbnkgRE5TIHJlcXVlc3Rz
IGF0IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBTZWUgPHJkYXI6Ly84MTA1NTUw
PiBmb3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0IHRocm90dGxpbmcuCiBzdGF0
aWMgY29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CkBAIC00OCw3ICs0OCw3
IEBAIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsKIHN0YXRp
YyBjb25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0OwogCiAvLyBJZiB0aGVyZSB3ZXJl
IHF1ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2ltdWx0YW5lb3VzbHksIGNoZWNr
IHRoZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBk
b3VibGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgcmV0cnlSZXNvbHZpbmdEZWxheSA9IFNlY29uZHMoMC4xKTsKIAogRE5TUmVzb2x2ZVF1ZXVl
JiBETlNSZXNvbHZlUXVldWU6OnNpbmdsZXRvbigpCiB7CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9p
ZCBETlNSZXNvbHZlUXVldWU6OmFkZChjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQogICAgIGlmICht
X25hbWVzLnNpemUoKSA8IGdNYXhSZXF1ZXN0c1RvUXVldWUpIHsKICAgICAgICAgbV9uYW1lcy5h
ZGQoaG9zdG5hbWUpOwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzKTsKKyAgICAg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNvYWxlc2NlRGVsYXkpOwogICAgIH0KIH0KIApA
QCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKCkKICAg
ICB9CiAKICAgICBpZiAoIW1fbmFtZXMuaXNFbXB0eSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChnUmV0cnlSZXNvbHZpbmdJblNlY29uZHMpOworICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChyZXRyeVJlc29sdmluZ0RlbGF5KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVy
LmNwcAppbmRleCBhYmZiNDZjZWNmODIxNDNiOWZmYWNkMDFiZTU3ODZhNTNhMDA4ZWMwLi4zMzBj
NmRiNGVmYmIzN2EyZmMxZjg0Nzk4YzQzZmU4YTlkNTljYmJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcApAQCAtNzksNyArNzks
NyBAQCBwcml2YXRlOgogICAgICAgICByZWYoKTsKIAogICAgICAgICBhdXRvIHNjaGVkdWxlZFBh
aXJzID0gbV9kZWNvZGVUYXNrLT5zY2hlZHVsZUNvbnRleHQuc2NoZWR1bGVkUGFpcnM7Ci0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKICAgICAgICAgbV90aW1lci5zY2hlZHVsZShzY2hlZHVsZWRQYWlycyk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Bp
bmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5o
CmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2YwYjhkMDExZjJiYjljYjFiZDEuLjNmZjAwZjJi
MTJmMDY3MjAyZWIyYzMzNTU4YThjYjEwOWZlYjUxNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAog
ICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxs
IGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGlt
ZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qo
NjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyg2MDAw
MCkpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggNDc3M2RlZDdmNGUxZTc4NDE5Zjg0ZmY0
NjE4YTVkOWY1YjVmYTZlOS4uYTAxNDM3Y2I0ODk4YzAwNTc3NmZhMzcyYWFhNzNmZTk0ZTQxNmE1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IFJlc291
cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0CiB2b2lk
IFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKIHsKICAg
ICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2ZhaWx1cmVUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCgp
CkBAIC0yNTgsNyArMjU4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGlu
Zyhib29sIGRlZmVycykKICAgICAgICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0b3AoKTsKICAg
ICB9IGVsc2UgaWYgKGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKSB7CiAg
ICAgICAgIEFTU0VSVCghZC0+bV9mYWlsdXJlVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIGQt
Pm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgZC0+bV9mYWlsdXJlVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIHBsYXRmb3JtU2V0RGVm
ZXJzTG9hZGluZyhkZWZlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCmluZGV4IDU1
YWRlMjE4YzEzODg4YzBjYzI2ZWJlY2I3OTI2M2RjYTcwMDkxNmQuLjJiNDExZWE2Yzg0ZGRjN2Vj
OTNjNTBiNjk4ZTM2MGVkNTYyODJhMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAK
QEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCA9IDIuMDsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMik7CiAKIHZvaWQgTmV0d29y
a1N0YXRlTm90aWZpZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBO
ZXR3b3JrU3RhdGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVS
ZWYsIENGQXJyYXlSZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291
bGQgYmUgZXhwZW5zaXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAog
ICAgIC8vIHdoZW4gdGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0
d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZh
bCk7CisgICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90
KHN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZp
ZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBm
Yzg3YjcwMzI5MjM4NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi4zZWZiZTZlZWU4MDkzNGNi
Y2E2MWQ1YWU5MWEzNTYxOWMwMjViZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEw
MSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2lu
c3RhbGxlZCA9IHRydWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxD
aGVja01lbW9yeVRpbWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVh
dGluZyg2MC4wKTsKKyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMo
NjApKTsKIH0KIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAK
aW5kZXggNGVjZDg1YTYxMWQzNDJhNzkzYmMyMmJiZGNkY2Y3MTA0ZmYyYTliYS4uYzhlZTAxYWJk
YWM5ODZkNThiOGYwMzIwZjdmMjZmODU3NmJmOGJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0
aW9uQ3V0b2ZmID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5
VGltZVRocmVzaG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxv
d1F1YWxpdHlUaW1lVGhyZXNob2xkID0gU2Vjb25kcygwLjUwMCk7CiAKIEltYWdlUXVhbGl0eUNv
bnRyb2xsZXI6OkltYWdlUXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVy
VmlldykKICAgICA6IG1fcmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2
b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQo
KQogCiB2b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAg
bV90aW1lci5zdGFydE9uZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIE9wdGlvbmFs
PEludGVycG9sYXRpb25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjppbnRlcnBvbGF0
aW9uUXVhbGl0eUZyb21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDYz
YTVhNjkwYWMxMGFiMWY1YzliNGRlYzQ3ZWNlYWM1YTAwNWY2M2UuLjlmY2FiZWU5ZDUzMGViYjJj
NWQ1ZDE3Y2Y5YTg5OGY4YTU5NjgyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSArOTIsMTEgQEAgc3RhdGlj
IGNvbnN0IGludCBjYW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRpbmcgPSA1MCAq
IDEwMDsKICNlbmRpZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxheSBsYXllciBmbHVzaGVz
IHVwIHRvIHRoaXMgbWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29hbGVzY2UsIHJlZHVjaW5n
IHdvcmtsb2FkLgogI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0
bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJv
dHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRs
ZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gU2Vjb25kcygwLjUpOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gU2Vjb25kcygxLjUpOwogI2Vsc2UKLXN0
YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owot
c3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSBTZWNvbmRz
KDAuNSk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSBT
ZWNvbmRzKDAuNSk7CiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTYz
NCw3ICs2MzQsNyBAQCBSZW5kZXJMYXllckNvbXBvc2l0b3IqIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6ZW5jbG9zaW5nQ29tcG9zaXRvckZsdXNoaW5nTGF5ZXJzKAogdm9pZCBSZW5kZXJMYXllckNv
bXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiB7CiAgICAgaWYgKCFt
X3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRh
dGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRh
dGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKaW5kZXgg
NjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uYjc0MDk3Y2YyMWUxYTgy
MjVhNmFlZDhmZDlhM2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6
c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAKLSAgICBtX3RpbWVy
LnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1lci5zdGFydFJlcGVh
dGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKIH0KIAogdm9pZCBSZW5k
ZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIFJlbmRlck1hcnF1
ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0gbWFycXVlZVNwZWVk
KCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAgICAgICBpZiAobV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVl
ZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAgCiAgICAgLy8gQ2hlY2sg
dGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3RvcC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKaW5kZXggNDc1
MDZhY2QzM2I3MDc0MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uZGVlMmIyZjEwYWNmMjcyZDZj
YjY1ZjFiYmViOTlmNjhhNWVhZDJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1MzAsNyBAQCB2b2lkIFJl
bmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRJZk5l
ZWRlZCgpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFuZ2VSZWdpb25PdmVy
c2V0KGRvY3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAoIW1fcmVnaW9uT3Zl
cnNldENoYW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3coKS5oYXNFdmVudExp
c3RlbmVycygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpy
ZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IDlhMWYyNDBmYTVmOWFmZjg3MDFjMTM0OGNj
YzU3ZDM2YWIzZTBiODQuLjUxYTMwOGZiYTM3MGM0Nzk4OWM4YzVjZWFlMGIwODc3NDJjOWM3Y2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODUs
NyArODUsNyBAQCB2b2lkIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsK
ICAgICByZXBhaW50KCk7CiAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYg
bV9hbmltYXRpbmcpCi0gICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5p
bWF0aW9uUmVwZWF0SW50ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBSZW5k
ZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZv
aWQgUmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKICAgICBtX2FuaW1hdGlu
ZyA9IGFuaW1hdGluZzsKICAgICBpZiAobV9hbmltYXRpbmcpIHsKICAgICAgICAgbV9hbmltYXRp
b25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9h
bmltYXRpb25UaW1lci5zdGFydE9uZVNob3QobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7Cisg
ICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25S
ZXBlYXRJbnRlcnZhbCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0
b3AoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3Jv
bGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRo
ZW1lLmgKaW5kZXggZWQ0OWJlZGNiZGI2MTVkMGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFi
ZDgyM2FhYTAxNDY1NmIxMWFiNmQyNjE5ZGQxNmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAg
cHVibGljOgogCiAgICAgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVz
c0V2ZW50KFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2
ZW50LCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxi
YXJUaGVtZTo6dGhlbWUoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwg
cHJlc3NlZFBhcnQpOyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9z
Y3JvbGxUaW1lckRlbGF5KCk7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBv
dmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJE
ZWxheSgpOyB9CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVy
cmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkoKTsgfQorICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlk
ZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgp
OyB9CiAKICAgICB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBv
dmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJh
cihzY3JvbGxiYXIpOyB9CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYg
c2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJl
Z2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0LmNwcAppbmRleCBjZTE1NmVjOGY5OGY5MGM2ODFlNzA2YjU4ODgyNWM0Y2JiZGJmNDg1
Li45MjE4ZDVjYjVhNzgxZmI4NTdjN2Y0OGE5MjUyOWRkZWJiMWI1M2RjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNl
Y3VyZVRleHRUaW1lcjo6U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5s
aW5lIHZvaWQgU2VjdXJlVGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFz
dFR5cGVkQ2hhcmFjdGVyKQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIg
PSBvZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5k
ZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7
CisgICAgc3RhcnRPbmVTaG90KG1fcmVuZGVyZXIuZnJhbWUoKS5zZXR0aW5ncygpLnBhc3N3b3Jk
RWNob0R1cmF0aW9uKCkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4dFRpbWVyOjp0
YWtlT2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuaAppbmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAxMzhjZWY0MGVjODI4Zjlj
MmJlLi5iMTNlYTU1ODJiNzYwMDgxNmQ2YTY1ZjQ5NDZlYmFkN2VmOTY3ZGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUg
IlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0xNzUsNyArMTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lk
IHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJs
aW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMg
Y2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gU2Vjb25kcygwLjUpOyB9CiAKICAg
ICAvLyBTeXN0ZW0gZm9udHMgYW5kIGNvbG9ycyBmb3IgQ1NTLgogICAgIHZvaWQgc3lzdGVtRm9u
dChDU1NWYWx1ZUlELCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJikgY29uc3Q7CkBAIC0yMDQsOCAr
MjA1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sU3RhdHVz
RGlzcGxheSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBi
b29sIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAg
ICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAw
LjE7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkg
eyByZXR1cm4gMC4zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlSW5E
dXJhdGlvbigpIHsgcmV0dXJuIFNlY29uZHMoMC4xKTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBt
ZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gU2Vjb25kcygwLjMpOyB9CiAg
ICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29u
c3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZs
b2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJp
bmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZs
b2F0IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cAppbmRleCA4MTMwZDJlODIwNmIwYzA0MTZkZGQ5YWYxYmU0MWQ0MjY0MTViM2MxLi5mOTg0NzA2
ZDFlNjU2OTMyMjhlYjZmMDQxY2NjN2FiNTkxNjAxMTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgdm9pZCBSZW5kZXJWaWV3Ojpz
Y2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2V0
UmVuZGVyQm94TmVlZHNMYXp5UmVwYWludCh0cnVlKTsKICAgICBtX3JlbmRlcmVyc05lZWRpbmdM
YXp5UmVwYWludC5hZGQoJnJlbmRlcmVyKTsKICAgICBpZiAoIW1fbGF6eVJlcGFpbnRUaW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIFJlbmRlclZpZXc6OnVuc2NoZWR1bGVMYXp5UmVwYWludChSZW5kZXJCb3gmIHJlbmRl
cmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vy
c29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAK
aW5kZXggOTk2NDliZmUyOTAzNjY3NmFkNDk2OGEzNmRmMWY1YzNjNjJlMGVkOS4uNWI0MzQ5ZmE5
MzRmMzJiNDEwOTVkNWEwZjg0NDk2OTE0Zjg3ZjUyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCkBAIC01OCwxMSArNTgsOCBAQCB2b2lkIENh
cHR1cmluZ0lucHV0Q3Vyc29yOjpzdG9yZUlucHV0KHN0ZDo6dW5pcXVlX3B0cjxOb25kZXRlcm1p
bmlzdGljSW5wdXRCYXNlPgogewogICAgIEFTU0VSVF9BUkcoaW5wdXQsIGlucHV0KTsKIAotICAg
IGlmIChpbnB1dC0+cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dCkgewotICAg
ICAgICAvLyBGSVhNRTogcmV3cml0ZSB0aGlzIChhbmQgcmVsYXRlZCBkaXNwYXRjaCBjb2RlKSB0
byB1c2Ugc3RkOjpjaHJvbm8uCi0gICAgICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9zZWdtZW50LT5ldmVudExvb3BUaW1pbmdzKCkuYXBw
ZW5kKG5vdyk7Ci0gICAgfQorICAgIGlmIChpbnB1dC0+cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpF
dmVudExvb3BJbnB1dCkKKyAgICAgICAgbV9zZWdtZW50LT5ldmVudExvb3BUaW1pbmdzKCkuYXBw
ZW5kKE1vbm90b25pY1RpbWU6Om5vdygpKTsKIAogICAgIG1fc2VnbWVudC0+c3RvcmFnZSgpLnN0
b3JlKFdURk1vdmUoaW5wdXQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxh
eS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2
ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKaW5kZXggNTEwMjkzZmMxNmM2NGFjOWI1ZmI1MWU3
Yjk4ZDA5MGQ4YjUxMzY2Ny4uNjJkZjUxZGQ0YWIyOTAwZmQ1YTg1NDhmOGJhMzE0ZGJlMGFhODBi
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0
Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0
Y2hlci5jcHAKQEAgLTUxLDggKzUxLDYgQEAgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpFdmVu
dExvb3BJbnB1dERpc3BhdGNoZXIoUGFnZSYgcGFnZSwgUmVwbGF5aW5nSW5wdXRDdXIKICAgICAs
IG1fdGltZXIoKnRoaXMsICZFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnRpbWVyRmlyZWQpCiAg
ICAgLCBtX3NwZWVkKERpc3BhdGNoU3BlZWQ6OkZhc3RGb3J3YXJkKQogewotICAgIG1fY3VycmVu
dFdvcmsuaW5wdXQgPSBudWxscHRyOwotICAgIG1fY3VycmVudFdvcmsudGltZXN0YW1wID0gMC4w
OwogfQogCiB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6cnVuKCkKQEAgLTkxLDcgKzg5
LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkK
ICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0b3AoKTsKIAot
ICAgIGRvdWJsZSB3YWl0SW50ZXJ2YWwgPSAwOworICAgIFNlY29uZHMgd2FpdEludGVydmFsOwog
CiAgICAgaWYgKG1fc3BlZWQgPT0gRGlzcGF0Y2hTcGVlZDo6UmVhbFRpbWUpIHsKICAgICAgICAg
Ly8gVGhlIGdvYWwgaXMgdG8gcmVwcm9kdWNlIHRoZSBkaXNwYXRjaCBkZWxheSBiZXR3ZWVuIGlu
cHV0cyBhcyBpdCB3YXMKQEAgLTEwMiwyMiArMTAwLDIyIEBAIHZvaWQgRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyOjpkaXNwYXRjaElucHV0U29vbigpCiAgICAgICAgIGlmICghbV9wcmV2aW91c0lu
cHV0VGltZXN0YW1wKQogICAgICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9j
dXJyZW50V29yay50aW1lc3RhbXA7CiAKLSAgICAgICAgZG91YmxlIHRhcmdldEludGVydmFsID0g
bV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXA7Ci0gICAg
ICAgIGRvdWJsZSBlbGFwc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3By
ZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWU7CisgICAgICAgIFNlY29uZHMgdGFyZ2V0SW50ZXJ2YWwg
PSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsKKyAg
ICAgICAgU2Vjb25kcyBlbGFwc2VkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3ByZXZpb3Vz
RGlzcGF0Y2hTdGFydFRpbWU7CiAgICAgICAgIHdhaXRJbnRlcnZhbCA9IHRhcmdldEludGVydmFs
IC0gZWxhcHNlZDsKICAgICB9CiAKICAgICAvLyBBIG5lZ2F0aXZlIHdhaXQgdGltZSBtZWFucyB0
aGF0IGRpc3BhdGNoIHRvb2sgbG9uZ2VyIG9uIHJlcGxheSB0aGFuIG9uCiAgICAgLy8gY2FwdHVy
ZS4gSW4gdGhpcyBjYXNlLCBwcm9jZWVkIHdpdGhvdXQgd2FpdGluZyBhdCBhbGwuCi0gICAgaWYg
KHdhaXRJbnRlcnZhbCA8IDApCi0gICAgICAgIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgaWYgKHdh
aXRJbnRlcnZhbCA8IFNlY29uZHMoMCkpCisgICAgICAgIHdhaXRJbnRlcnZhbCA9IFNlY29uZHMo
MCk7CiAKLSAgICBpZiAod2FpdEludGVydmFsID4gMTAwMC4wKSB7CisgICAgaWYgKHdhaXRJbnRl
cnZhbCA+IFNlY29uZHMoMTAwMCkpIHsKICAgICAgICAgTE9HX0VSUk9SKCIlLTIwcyBUcmllZCB0
byB3YWl0IGZvciBvdmVyIDEwMDAgc2Vjb25kcyBiZWZvcmUgZGlzcGF0Y2hpbmcgbmV4dCBldmVu
dCBsb29wIGlucHV0OyB0aGlzIGlzIHByb2JhYmx5IGEgYnVnLiIsICJSZXBsYXlFdmVudHMiKTsK
LSAgICAgICAgd2FpdEludGVydmFsID0gMDsKKyAgICAgICAgd2FpdEludGVydmFsID0gU2Vjb25k
cygwKTsKICAgICB9CiAKLSAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMp
IiwgIlJlcGxheUV2ZW50cyIsIHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdlYlJl
cGxheSwgIiUtMjBzIChXQUlUOiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRzKHdh
aXRJbnRlcnZhbCAqIDEwMDAuMCkubWlsbGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KHdhaXRJbnRlcnZhbCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rpc3Bh
dGNoaW5nKTsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7
Ci0gICAgICAgIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpOworICAgICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBNb25v
dG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9j
dXJyZW50V29yay50aW1lc3RhbXA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1ZTRj
M2Y5YTUyMzIzNWIwYzc5NWYzNC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFiNmI0
NDBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlz
cGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3Bh
dGNoZXIuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0LmgiCiAj
aW5jbHVkZSAiUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAgcHJp
dmF0ZToKIAogICAgIERpc3BhdGNoU3BlZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBhdCB3
aGljaCB0aGUgbGFzdCBpbnB1dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAgIGRv
dWJsZSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgezAuMH07CisgICAgTW9ub3RvbmljVGlt
ZSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVj
aWZpZWQgYnkgdGhlIGxhc3QgZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91
c0lucHV0VGltZXN0YW1wIHswLjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lucHV0
VGltZXN0YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2RjMDQ0
NmVlNDAwOGI4MWIzOWJmNmM0YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJlMDA4
NDg5ZTMxZjM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Np
b25TZWdtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNl
Z21lbnQuY3BwCkBAIC00Nyw4ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBs
YXlTZXNzaW9uU2VnbWVudCgpCiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxTZWdt
ZW50ZWRJbnB1dFN0b3JhZ2U+KCkpCisgICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1lOjpu
b3coKSkKICAgICAsIG1faWRlbnRpZmllcihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQotICAg
ICwgbV90aW1lc3RhbXAoY3VycmVudFRpbWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0NjMy
OTk3Y2ExOWY5NDhkZTIzYTJkOWMuLmY3Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1MzM2
NDU3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2Vn
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5o
CkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIwICs1
MiwyMSBAQCBwdWJsaWM6CiAgICAgflJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1bnNp
Z25lZCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgZG91
YmxlIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9ub3Rv
bmljVGltZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBwcm90
ZWN0ZWQ6CiAgICAgU2VnbWVudGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4gKm1f
c3RvcmFnZTsgfQotICAgIFZlY3Rvcjxkb3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyBy
ZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+
JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHBy
aXZhdGU6CiAgICAgUmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91YmxlLCAw
PiBtX2V2ZW50TG9vcFRpbWluZ3M7CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1fZXZl
bnRMb29wVGltaW5nczsKIAorICAgIE1vbm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAgdW5z
aWduZWQgbV9pZGVudGlmaWVyOwogICAgIGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAgICBk
b3VibGUgbV90aW1lc3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQyMGM4
ZmFkNDRkZTUzYmMwMTUyZGJlOTc2YmRkNmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVlYzIz
NzdlMGRjNzc5NTFiYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlp
bmdJbnB1dEN1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1
dEN1cnNvci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNp
bmNsdWRlIDxyZXBsYXkvSW5wdXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDEsOCArNDIsOCBAQCBjbGFzcyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAK
IHN0cnVjdCBFdmVudExvb3BJbnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5w
dXQ7Ci0gICAgZG91YmxlIHRpbWVzdGFtcDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0
IHsgbnVsbHB0ciB9OworICAgIE1vbm90b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xhc3Mg
UmVwbGF5aW5nSW5wdXRDdXJzb3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAppbmRleCBiMGJiYTRlZTJjNjZmOTY3OGIxYzkwMDUwN2Y1
MThhMDczMGU2OWQ0Li4xYTg4ZDg5Y2E0N2U5ODMxMjAyMjQyYTM1N2MxMDAyZWNkYzNjMjE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcApAQCAtNTEzLDcgKzUxMyw3IEBAIHZvaWQg
U2NvcGU6OnNjaGVkdWxlVXBkYXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1fcGVu
ZGluZ1VwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BlbmRp
bmdVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VBY3Rp
dmVTdHlsZVNoZWV0Q2FuZGlkYXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5kZXgg
YjJjYjNiMzNjYWMxYjcyYjZhZGQyNDI0YzNhYjRhMjBhYTIwNTZjNy4uMTc0ZDYxZWM0MGEzMzI5
ZWNkMTFhMGNkNTZhNTk1OGM3MzcyMzk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApA
QCAtNjIxLDcgKzYyMSw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9z
c2libGUoYm9vbCBzZW5kUGFyZW50TG9hZEV2ZW50cykKIAogdm9pZCBTVkdFbGVtZW50OjpzZW5k
U1ZHTG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KCkKIHsKLSAgICBzdmdMb2FkRXZl
bnRUaW1lcigpLT5zdGFydE9uZVNob3QoMCk7CisgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVu
dFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9T
TUlMVGltZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxU
aW1lQ29udGFpbmVyLmNwcAppbmRleCBjYmYzYjdiYTU4NDg1MDc3MzdlOTc1Y2RkMGE4MTkyZDMz
NWZiZjUwLi43NTNlNDAxNGJjYzIxMmNiMzA4ZDhkNjY3Y2ZmZWJmZDEzYzQ0NWE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcApA
QCAtMjA1LDcgKzIwNSw3IEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIoU01J
TFRpbWUgZWxhcHNlZCwgU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lCiAgICAgICAgIHJldHVy
bjsKIAogICAgIFNNSUxUaW1lIGRlbGF5ID0gc3RkOjptYXgoZmlyZVRpbWUgLSBlbGFwc2VkLCBt
aW5pbXVtRGVsYXkpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5LnZhbHVlKCkpOwor
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoZGVsYXkudmFsdWUoKSkpOwogfQogCiB2
b2lkIFNNSUxUaW1lQ29udGFpbmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IDYxMWM5MmI4ZmIzNDUxY2ZjNmNmOTZjOGVk
MzdlNzg1YTMyZDk3ZjguLjU0M2MzZjRkYWRlODk1MzhkOGI3NjI1MGM4YWU1OGQ1MmVmNmJmN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtNTM2
LDcgKzUzNiw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldE1pbmlt
dW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbEluU2VjCiB7CiAgICAgaWYgKCFtX3BhZ2Up
CiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBz
ZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWxJblNlY29uZHMg
KiAxMDAwKSkpOworICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vj
b25kcyhpbnRlcnZhbEluU2Vjb25kcykpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTU2MCw3
ICs1NjAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICghbV9wYWdlKQog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgc2V0
dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh0
aW1lKTsKKyAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKFNlY29uZHModGltZSkpOwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNWE0ZjZlNGRhZDQ4NWNi
NWFmMzEyN2RlZjgwNzhkYzc3NjFjMTk0MC4uODQ1OThhMmE1YjA0ZDI2OTEyNDI2YTkwZTUzM2Ni
OTFjMTc4MWVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgK
QEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fbGFuZ0F0dHJpYnV0
ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9pbWFnZXNFbmFibGVk
OwogICAgICAgICBib29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7Ci0gICAgICAgIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKKyAgICAgICAgU2Vj
b25kcyBtX21pbmltdW1UaW1lckludGVydmFsOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAg
ICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7CiAgICAgICAgIGJvb2wgbV9zaG91
bGREaXNwbGF5Q2FwdGlvbnM7CkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgog
ICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAgIGJvb2wgbV9m
b3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNlY29uZHMgbV9v
cmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAg
ICAgICBib29sIG1fdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAg
ICAgICAgYm9vbCBtX2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJv
b2wgbV9xdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2Iy
ODNhMGQ5ZmYxOTg3NWM0YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0
OGUyZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFz
ayYmIHRhc2spCiAKIGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVy
biBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3Rh
bGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1l
b3V0KSwgdHJ1ZSk7CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChp
bnQgdGltZW91dElkKQpAQCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6
OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNl
dEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRp
bWVvdXQpCiB7Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFj
dGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICBy
ZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6
ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2Jh
bFNjb3BlOjpjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcAppbmRleCA1MDlhOWE5Y2Q3MTBiNDViZmMwY2I5ZWU5MWEyMmYxMzdjZjY4
YjdhLi4xNDkyNDA2MGFjZmEyNjVjZWYyZmM3NWYxMTI2NmNjNmQ5NjhhMmE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25P
cjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAg
ICAgICByZXR1cm4geyB9OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQg
dXNlIHRoZSBkZWZhdWx0IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxl
dCdzIG1pbWljIGl0IHdpdGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpj
aHJvbm86OmR1cmF0aW9uPGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIHsgbV90aW1lb3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAw
MDAgfSAtIChzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUp
OwotICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFs
LmNvdW50KCkpKTsKKyAgICBTZWNvbmRzIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyhtX3RpbWVvdXRNaWxsaXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAw
MCkgLSAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVv
dXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoU2Vjb25kcygwKSwgaW50ZXJ2YWwpKTsKICAg
ICByZXR1cm4geyB9OwogfQogCkBAIC00OTYsNyArNDk2LDcgQEAgT3B0aW9uYWw8RXhjZXB0aW9u
T3I8dm9pZD4+IFhNTEh0dHBSZXF1ZXN0OjpwcmVwYXJlVG9TZW5kKCkKICAgICAgICAgICAgIHJl
dHVybiBFeGNlcHRpb25Pcjx2b2lkPiB7IEV4Y2VwdGlvbiB7IE5FVFdPUktfRVJSIH0gfTsKICAg
ICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwogICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dG9wKCk7Ci0gICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUs
OCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAg
ICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29u
ZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGlt
ZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0g
ICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93
KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1f
c2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91
dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1p
bGxpc2Vjb25kcykpOwogICAgICAgICB9CiAgICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9p
ZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAg
ICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwogICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhp
cyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJy
b3JUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXhj
ZXB0aW9uQ29kZSA9IE5FVFdPUktfRVJSOwpAQCAtMTE4Myw3ICsxMTgzLDcgQEAgdm9pZCBYTUxI
dHRwUmVxdWVzdDo6cmVzdW1lKCkKICAgICAvLyBXZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0
ZSBhcmJpdHJhcnkgSlMgaW4gcmVzdW1lKCkgc28gZGlzcGF0Y2gKICAgICAvLyB0aGUgZXJyb3Ig
ZXZlbnQgaW4gYSB0aW1lci4KICAgICBpZiAobV9kaXNwYXRjaEVycm9yT25SZXN1bWluZyAmJiAh
bV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnJlc3VtZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBhZjY1MGZlNzkzZDljOGRiNTgwODU5OTI4MWJkZjgw
MGJlNTNiNzQ5Li40NTIyMTc5YmIwZmE1MTA1ZjRjOTQ1YjM1YTI3M2ZjYzcyY2Q3ZWU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMjMwLDcgKzIzMCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBuZXR3b3JrRXJyb3JUaW1lckZpcmVkKCk7CiAKICAgICB1bnNpZ25lZCBtX3Rp
bWVvdXRNaWxsaXNlY29uZHMgeyAwIH07Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCBtX3NlbmRpbmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9zZW5kaW5nVGlt
ZTsKICAgICBUaW1lciBtX3RpbWVvdXRUaW1lcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCmlu
ZGV4IDM2NjYyNjU2YjUxYmY4YzllOWYyMjViY2IwNjc2ZTYwZjQ2MzA4NzMuLjhhNzFlYzAwYWM4
OTY5ZGIxYzVlOTRjMGQxMGViYmUxY2M5NDE3MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcApAQCAt
MzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsSW5TZWNvbmRzID0gLjA1OyAvLyA1MCBtcyBwZXIgc3BlY2lmaWNhdGlv
bi4KK2NvbnN0IFNlY29uZHMgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCA9IFNlY29uZHMoMC4wNSk7IC8v
IDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoRXZlbnRUYXJnZXQq
IHRhcmdldCkKICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTczLDEyICs3MywxMiBAQCB2b2lk
IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFBy
b2dyZXNzRXZlbnQoYm9vbCBsZQogICAgICAgICBBU1NFUlQoIW1faGFzVGhyb3R0bGVkUHJvZ3Jl
c3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwgbGVuZ3RoQ29tcHV0YWJs
ZSwgbG9hZGVkLCB0b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jl
c3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBzdGFydFJlcGVh
dGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwpOwogICAgICAgICBt
X2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5pbXVtUHJvZ3Jl
c3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMgdGhlIGxlYXN0IGZyZXF1ZW50
IGV2ZW50LgorICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5pbXVtUHJv
Z3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50
LgogICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRydWU7CiB9CiAKQEAgLTIwOCw3
ICsyMDgsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpyZXN1
bWUoKQogICAgIC8vIHRoZSBsaXN0IG9mIGFjdGl2ZSBET00gb2JqZWN0cyB0byByZXN1bWUgdGhl
bSwgYW5kIGFueSBhY3RpdmF0ZWQgSlMgZXZlbnQtaGFuZGxlcgogICAgIC8vIGNvdWxkIGluc2Vy
dCBuZXcgYWN0aXZlIERPTSBvYmplY3RzIHRvIHRoZSBsaXN0LgogICAgIC8vIG1fZGVmZXJFdmVu
dHMgaXMga2VwdCB0cnVlIHVudGlsIGFsbCBkZWZlcnJlZCBldmVudHMgaGF2ZSBiZWVuIGRpc3Bh
dGNoZWQuCi0gICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fZGlzcGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAppbmRleCA5
NzFiZDIzNDJjMDU2YjExNThiNDAxOWZiMmIzYWEyNTAzNDg0YThkLi4zNDBmYjVjMDBkMTczZmI2
MTYxYTc0ZTQxNWEwMTJiYWVmYjRmNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaApAQCAtNTUsNyArNTUs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXN1bWUoKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0aWMg
Y29uc3QgZG91YmxlIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vj
b25kczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3Bh
dGNoaW5nSW50ZXJ2YWw7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKTsKICAgICB2b2lkIGRp
c3BhdGNoRGVmZXJyZWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFn
ZS9TdG9yYWdlQXJlYVN5bmMuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVh
U3luYy5jcHAKaW5kZXggYWMwZGNjMTI1Njk0ZGFkNGM0YjkyMjg3YTAzMWVmYTA5MzU0ZWExOS4u
YWZmOTViYmEzNWVkYzM5Njk3Y2IwZTk5ZGUwN2YyNWI0NzhmMDkyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIC8vIElmIHRoZSBTdG9yYWdlQXJlYSB1bmRlcmdvZXMgcmFwaWQgY2hhbmdl
cywgZG9uJ3Qgc3luYyBlYWNoIGNoYW5nZSB0byBkaXNrLgogLy8gSW5zdGVhZCwgcXVldWUgdXAg
YSBiYXRjaCBvZiBpdGVtcyB0byBzeW5jIGFuZCBhY3R1YWxseSBkbyB0aGUgc3luYyBhdCB0aGUg
Zm9sbG93aW5nIGludGVydmFsLgotc3RhdGljIGNvbnN0IGRvdWJsZSBTdG9yYWdlU3luY0ludGVy
dmFsID0gMS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RvcmFnZVN5bmNJbnRlcnZhbCA9IFNl
Y29uZHMoMSk7CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hl
ZHVsZSB0byBzeW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIg
dG8gc3RhcnZlIHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lz
dGVtIGluIGdlbmVyYWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6
OnNjaGVkdWxlSXRlbUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFs
dWUKIAogICAgIG1fY2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3lu
Y1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0
b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3Rv
cmFnZVN5bmNJbnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNl
ZCBieSB0aGUgY2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAg
Ly8gc3luY1RpbWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9y
YWdlQXJlYVN5bmM6OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7
CiAgICAgbV9pdGVtc0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3Rp
dmUoKSkgewotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRl
cnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVy
dmFsKTsKIAogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxs
IHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJG
aXJlZCBmdW5jdGlvbi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6
c2NoZWR1bGVDbG9zZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsK
ICAgICAKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5j
VGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNU
aW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAg
ICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRl
blRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4K
QEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQo
KQogICAgICAgICAvLyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwg
c2NoZWR1bGUgaXQgYW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9m
aW5hbFN5bmNTY2hlZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNB
Y3RpdmUoKSk7Ci0gICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5
bmNJbnRlcnZhbCk7CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFn
ZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5
LDcgKzIxOSw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAg
aWYgKHBhcnRpYWxTeW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2lu
ZywgdGhlbiB3ZSBuZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQo
IW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNo
b3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hv
dChzdG9yYWdlU3luY0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9s
bG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRp
b24gaW4gdGhlCiAgICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIs
IGFuZCBzY2hlZHVsZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0
b3JhZ2VUcmFja2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFh
NjYyM2JkLi45NWE5NmEwM2RjMTViOGYxMmU3NmY1ODI2YjVhNDg5ODBmZTEzOWQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3Rh
dGljIFN0b3JhZ2VUcmFja2VyKiBzdG9yYWdlVHJhY2tlciA9IG51bGxwdHI7CiAKIC8vIElmIHRo
ZXJlIGlzIG5vIGRvY3VtZW50IHJlZmVyZW5jaW5nIGEgc3RvcmFnZSBkYXRhYmFzZSwgY2xvc2Ug
dGhlIHVuZGVybHlpbmcgZGF0YWJhc2UKIC8vIGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1f
U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHNlY29uZHMuCi1zdGF0aWMgY29uc3QgZG91Ymxl
IERlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDA7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gU2Vjb25kcygzMDAp
OwogICAgIAogdm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3Ry
aW5nJiBzdG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNsaWVudCkKIHsKQEAgLTk3
LDcgKzk3LDcgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0IFN0cmluZyYg
c3RvcmFnZVBhdGgpCiAgICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJl
YWQ+KCkpCiAgICAgLCBtX2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9uZWVkc0luaXRpYWxpemF0
aW9uKGZhbHNlKQotICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0
b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1fc3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsKGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oIGIvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4
OTM3ZjU5NGU4ZmEzYmRhY2E4OC4uNzI2ZjMyNTFiMWQxZWVmNmMxYWFmMTEyNjFjMGQyOTk3YjU5
MTRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgK
KysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKQEAgLTU5LDggKzU5
LDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAotICAgIGRvdWJsZSBz
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlk
bGVJbnRlcnZhbDsgfQotICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRv
dWJsZSBpbnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFs
OyB9CisgICAgU2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBt
X3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0U3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9zdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNr
ZXJEYXRhYmFzZSgpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBi
b29sIG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6YXRpb247Ci0gICAgZG91
YmxlIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOworICAgIFNlY29uZHMgbV9zdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxv
YWRTY2hlZHVsZXIuY3BwCmluZGV4IDExYmNlM2JlZTBlMGJhMWQ3MDJmNzJjNjY0NTNjYzJhMmJk
ZWI3ZjYuLjUzNzIxZTQ4OTFkMzRhMjJlNjYxY2QzZjkzNDE2YmEyYzUyNDIxOGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNj
aGVkdWxlci5jcHAKQEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVk
dWxlcjo6cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1
bGVyOjpzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCkKIHsKICAgICBpZiAoIW1fcmVxdWVz
dFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVxdWVzdFRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCmluZGV4IDM2ZGJiZWM2MjRlZWIwNTRmMDYyYTAyODQx
MDAyOWJmMDhlNDI5ZDkuLmUwZDc4OTRmMzQ0NTNhZGYzYWM5MzczMGZkNDhjM2VlNWQ2ZDc2ZjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTc0NCw3ICs3NDQsNyBAQCB2b2lk
IE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQoKQogICAgIG1f
cGx1Z2luUmVxdWVzdHMucmVtb3ZlRmlyc3QoKTsKICAgICAKICAgICBpZiAoIW1fcGx1Z2luUmVx
dWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAK
ICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBA
QCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9
IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQ
b3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJl
cXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgUmVmUHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtPiBzdHJlYW0gPSBIb3N0
ZWROZXRzY2FwZVBsdWdpblN0cmVhbTo6Y3JlYXRlKHRoaXMsIHJlcXVlc3RJRCwgcmVxdWVzdCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVn
aW5TdHJlYW0ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2lu
U3RyZWFtLm1tCmluZGV4IDA1Y2M0ZDQ3MmRhODYxMGEzNGJhNWJkYmVjOGExNjNlNGFkMzhiOTQu
LmMxZDlhYzgzNDIxMWE2MmJiZjBiMzI2MDdiM2RhODJjNmQ2YjU5ZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQpAQCAt
NTI5LDcgKzUyOSw3IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRh
KCkKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewogICAgICAgICAgICAgLy8gUGx1
Zy1pbiBjYW4ndCByZWNlaXZlIGFueW1vcmUgZGF0YSByaWdodCBub3cuIFNlbmQgaXQgbGF0ZXIu
CiAgICAgICAgICAgICBpZiAoIW1fZGVsaXZlckRhdGFUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICAgICAgICAgIG1fZGVsaXZlckRhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAg
ICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZGVsaXZlcnlCeXRl
cyA9IHN0ZDo6bWluKGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0ZXMgLSB0b3RhbEJ5dGVzRGVsaXZl
cmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQ
bHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blZpZXcubW0KaW5kZXggZWVhYWJhODI0ODFlNzM5MGQzNjJlOGIzYTE0MmFlNTIyMDMyMjRhYi4u
YmJjMThjYmNkZTJiYjEzMzBlZmM4YjEyYzA4YjU2MzNiM2MwNzliMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTExMSw3
ICsxMTEsNyBAQCBzdGF0aWMgV2ViTmV0c2NhcGVQbHVnaW5WaWV3ICpjdXJyZW50UGx1Z2luVmll
dyA9IG5pbDsKIAogdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlUG9ydFN0YXRlKiBQb3J0U3RhdGU7CiAK
LXN0YXRpYyBjb25zdCBkb3VibGUgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjU7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBUaHJvdHRsZWRUaW1lckludGVydmFsID0gU2Vjb25kcygwLjI1KTsK
IAogY2xhc3MgUGx1Z2luVGltZXIgOiBwdWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEz
MCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkp
OwogCi0gICAgICAgIGRvdWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOwor
ICAgICAgICBTZWNvbmRzIHRpbWVJbnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMo
bV9pbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAg
ICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50
ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdl
TWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIu
bW0KaW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZhZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTEx
MzQ1NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2IwNWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgKyAo
TlNTdHJpbmcgKilfc3RvcmFnZURpcmVjdG9yeVBhdGgKIAogKyAodm9pZClzZXRTdG9yYWdlRGF0
YWJhc2VJZGxlSW50ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbAogewotICAgIFdlYktpdDo6U3RvcmFn
ZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoaW50ZXJ2
YWwpOworICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0
YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQogCiArICh2b2lkKWNsb3Nl
SWRsZUxvY2FsU3RvcmFnZURhdGFiYXNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CmluZGV4IDhlNDcxYjE2YjMyYTYyOGZhNGU1ODRkYzhkYzVjOGM5OTA5YjdhNDMuLmY3NTA5ZDkx
YmRhMzk0ODQ0MzAxZDFmM2RiZjc0OTA4MWY4N2I4MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KQEAgLTI3NDksNyArMjc0OSw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hh
bmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogICAgIHNldHRpbmdzLnNldFNob3Vs
ZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMoc2hvdWxkRGlzcGF0Y2hKYXZh
U2NyaXB0V2luZG93T25FcnJvckV2ZW50cygpKTsKIAogICAgIHNldHRpbmdzLnNldFBhc3N3b3Jk
RWNob0VuYWJsZWQoW3ByZWZlcmVuY2VzIF9hbGxvd1Bhc3N3b3JkRWNob10pOwotICAgIHNldHRp
bmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKFtwcmVmZXJlbmNlcyBfcGFzc3dv
cmRFY2hvRHVyYXRpb25dKTsKKyAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbihT
ZWNvbmRzKFtwcmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRpb25dKSk7CiAKICAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKHNldHRpbmdzLnBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucygpLCAiUGFn
ZUNhY2hlU3VwcG9ydHNQbHVnaW5zIHNob3VsZCBiZSBlbmFibGVkIG9uIGlPUy4iKTsKICAgICBz
ZXR0aW5ncy5zZXREZWxlZ2F0ZXNQYWdlU2NhbGluZyh0cnVlKTsKQEAgLTI4NjQsNyArMjg2NCw3
IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJl
bmNlcwogCiAgICAgTlNUaW1lSW50ZXJ2YWwgdGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1l
bnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVv
dXQgPiAwKQotICAgICAgICBzZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNz
aW9uVGltZW91dEluU2Vjb25kcyh0aW1lb3V0KTsKKyAgICAgICAgc2V0dGluZ3Muc2V0SW5jcmVt
ZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoU2Vjb25kcyh0aW1lb3V0KSk7CiAKICAg
ICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBQcmVmZXJlbmNlcyBhcmUgc3RvcmVkIG9uIHRoZSBnbG9i
YWwgY2FjaGUgc3RvcmFnZSBtYW5hZ2VyLCBub3QgaW4gU2V0dGluZ3MuCiAgICAgW1dlYkFwcGxp
Y2F0aW9uQ2FjaGUgc2V0RGVmYXVsdE9yaWdpblF1b3RhOltwcmVmZXJlbmNlcyBhcHBsaWNhdGlv
bkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhXV07CkBAIC04Mjk4LDcgKzgyOTgsNyBAQCArICh2b2lk
KV9zZXRDYWNoZU1vZGVsOihXZWJDYWNoZU1vZGVsKWNhY2hlTW9kZWwKICAgICB1bnNpZ25lZCBj
YWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5
ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAw
IH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vjb25k
cygwKTsKIAogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDI1LDcgKzg0
MjUsNyBAQCArICh2b2lkKV9zZXRDYWNoZU1vZGVsOihXZWJDYWNoZU1vZGVsKWNhY2hlTW9kZWwK
ICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQg
anVzdGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBz
dGQ6Om1heDx1bnNpZ25lZD4oMjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2
MCB9OworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vjb25kcyg2
MCk7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4
IGJjMThkZWI3NWNjZDcwODI3YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLmY1MzAzZGYxYzJiZTE0
MmZiMjI1NTUwYWYzNDhlYzM3NjExNTlmYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9h
dCB0aW1lckludGVydmFsID0gMC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVy
dmFsID0gU2Vjb25kcygwLjAzMyk7CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50IHdp
bmRvd0hlaWdodCA9IDU5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2Fn
ZS5jcHAKaW5kZXggYjY3ZmE1M2ZlODBiMWVmOGMwMWFmZmM4NmRhNWQ3MTYzMTU1ZGQyNC4uYmNj
MzUzYzc0YWNkODU1YmYzNjBmN2NhOTAxNjgyOTIyYmExMDQzMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgUGx1
Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKCkKICAgICBBU1NFUlQobV9tb2R1bGUpOwogICAg
IEFTU0VSVCghbV9sb2FkQ291bnQpOwogCi0gICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiB2b2lkIFBsdWdpblBhY2thZ2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKaW5kZXggMmVmMzk1NWJlNjFh
OGQwNTQyNGFkMTM5OTYyZGQwZDdmYTZhZTQ0NC4uOGIzMDJiNzYzM2MxNGEwNmZkNGFiN2MxYTk3
ZjU4NDFiNGExNTNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5TdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFt
LmNwcApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSgp
CiAgICAgICAgIGludDMyX3QgZGVsaXZlcnlCeXRlcyA9IG1fcGx1Z2luRnVuY3MtPndyaXRlcmVh
ZHkobV9pbnN0YW5jZSwgJm1fc3RyZWFtKTsKIAogICAgICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8
PSAwKSB7Ci0gICAgICAgICAgICBtX2RlbGF5RGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgICAgICBtX2RlbGF5RGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRl
bGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNE
ZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5W
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXgg
ZGFkZDNiNzQ1ZjdmNGZiNzFmNWQzYWE2ZjllZDA3OGM5YjgyNjAyOC4uMjhiZTIzMDdjMWUxYTQx
NmI2MGQzNTViNWJiNzUyZDM3MjNmYzdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
UGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1Bs
dWdpblZpZXcuY3BwCkBAIC00NzMsNyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpyZXF1ZXN0
VGltZXJGaXJlZCgpCiAgICAgLy8gU2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUgY2FsbGlu
ZyBwZXJmb3JtUmVxdWVzdCBzaW5jZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1SZXF1ZXN0
IGNhbiBjYXVzZSB0aGUgcGx1Z2luIHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAoIW1fcmVx
dWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAg
IHBlcmZvcm1SZXF1ZXN0KHJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHZv
aWQgUGx1Z2luVmlldzo6c2NoZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5SZXF1
ZXN0PiByZXF1ZXN0KQogICAgIG1fcmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwog
CiAgICAgaWYgKCFtX2lzSmF2YVNjcmlwdFBhdXNlZCkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIE5QRXJyb3IgUGx1Z2luVmlldzo6bG9hZChjb25zdCBGcmFtZUxvYWRS
ZXF1ZXN0JiBmcmFtZUxvYWRSZXF1ZXN0LCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5v
dGlmeURhdGEpCkBAIC02NDYsNyArNjQ2LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpzZXRKYXZhU2Ny
aXB0UGF1c2VkKGJvb2wgcGF1c2VkKQogICAgIGlmIChtX2lzSmF2YVNjcmlwdFBhdXNlZCkKICAg
ICAgICAgbV9yZXF1ZXN0VGltZXIuc3RvcCgpOwogICAgIGVsc2UgaWYgKCFtX3JlcXVlc3RzLmlz
RW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1Z2lu
Vmlldzo6a2VlcEFsaXZlKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAgbV9s
aWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdX
aW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAppbmRl
eCAyZmNhOWYzYzk1ZDczZGJhM2FjMzI2MjU5ZWE4NmRkY2RkYTIwNzBmLi4wZmVjY2Y2NzQyYjc1
MWUyMTNlMjNmMmJhZTU3YmVhNzFhMjYxMmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdp
bnMvUGx1Z2luVmlld1dpbi5jcHAKQEAgLTMzNCw3ICszMzQsNyBAQCBQbHVnaW5WaWV3Ojp3bmRQ
cm9jKEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFt
KQogCiAgICAgICAgIHB1c2hQb3B1cHNFbmFibGVkU3RhdGUodHJ1ZSk7CiAKLSAgICAgICAgbV9w
b3BQb3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wb3BQb3B1cHNT
dGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiAKICAgICBpZiAobWVz
c2FnZSA9PSBXTV9QUklOVENMSUVOVCkgewpAQCAtODM4LDcgKzgzOCw3IEBAIHZvaWQgUGx1Z2lu
Vmlldzo6aW52YWxpZGF0ZVJlY3QoTlBSZWN0KiByZWN0KQogICAgICAgICBpZiAobV9wbHVnaW4t
PnF1aXJrcygpLmNvbnRhaW5zKFBsdWdpblF1aXJrVGhyb3R0bGVJbnZhbGlkYXRlKSkgewogICAg
ICAgICAgICAgbV9pbnZhbGlkUmVjdHMuYXBwZW5kKHIpOwogICAgICAgICAgICAgaWYgKCFtX2lu
dmFsaWRhdGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRp
bWVyLnN0YXJ0T25lU2hvdCgwLjAwMSk7CisgICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMC4wMDEpKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAg
ICAgICBpbnZhbGlkYXRlUmVjdChyKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29u
dGV4dC5jcHAKaW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIzODY5NzA4YjVhYjdjN2E0YWQyMjI4Mi4u
Njg3OGM0MjRkZjRlOGUwYzgzMjIxMzQxYTk3NmZmNTQ2OWVmY2FkMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVk
Q29tcG9zaXRpbmdDb250ZXh0LmNwcApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5
ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGF5ZXJG
bHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwLjA1KSk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmlu
ZGV4IGQ1NzAwNDhkYTdhMjY0MDZiY2FkMDZjMjVkZTg2OGZlNWFjYjJiMDMuLmEzOTZjMTFmMjhi
YjQ3MTdiYjQ1NWYwZjFhNmUxN2UxMjI4YTg0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0x
NTE2LDcgKzE1MTYsNyBAQCB2b2lkIFdlYlZpZXc6OmNsb3NlV2luZG93U29vbigpCiAgICAgbV9j
bG9zZVdpbmRvd1RpbWVyID0gV2luZG93Q2xvc2VUaW1lcjo6Y3JlYXRlKHRoaXMpOwogICAgIGlm
ICghbV9jbG9zZVdpbmRvd1RpbWVyKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jbG9zZVdpbmRv
d1RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAKICAgICBBZGRSZWYoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCmluZGV4IDMxMjU4ODgzMzU1
MGVhMWY4MjQ3YzM3YzlmZDM5N2U4NWE4YzFkNDQuLmU1YzRiZDE2NzM3Nzg2OTlhMzhkNjZhZTY4
Yjc5NjJhOWNhNzY5ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtEYXRhVGFzay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0RhdGFUYXNrLmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFz
azo6c2NoZWR1bGVGYWlsdXJlKEZhaWx1cmVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKHR5cGUg
IT0gTm9GYWlsdXJlKTsKICAgICBtX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBt
X2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9u
SGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0xvYWQuY3BwCmluZGV4IDUxN2Y4NDVhYWJlNTIzZjJlZmE5NjE4NGVlZjcy
NTNhZTJjYTRkOWYuLmVmMjNmNzAwMDVjZWY3ZTA4OGNmMmJjMGExMmMwZTBhMTg0ZjQ3NTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKQEAgLTUw
LDcgKzUwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAjaWYgVVNFKE5FVFdPUktfU0VT
U0lPTikKIAogc3RydWN0IE5ldHdvcmtMb2FkOjpUaHJvdHRsZSB7Ci0gICAgVGhyb3R0bGUoTmV0
d29ya0xvYWQmIGxvYWQsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXksIFJlc291cmNl
UmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIp
CisgICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIFNlY29uZHMgZGVsYXksIFJlc291cmNl
UmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIp
CiAgICAgICAgIDogdGltZXIobG9hZCwgJk5ldHdvcmtMb2FkOjp0aHJvdHRsZURlbGF5Q29tcGxl
dGVkKQogICAgICAgICAsIHJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2UpKQogICAgICAgICAsIHJl
c3BvbnNlQ29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKQEAgLTMxMSw4ICszMTEs
OCBAQCB2b2lkIE5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3JrU2Vzc2lvbihS
ZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBhdXRvIGRlbGF5ID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRsZUxh
dGVuY3koKTsKLSAgICBpZiAoZGVsYXkgPiAwbXMpIHsKKyAgICBTZWNvbmRzIGRlbGF5ID0gTmV0
d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsKKyAgICBpZiAo
ZGVsYXkgPiBTZWNvbmRzKDApKSB7CiAgICAgICAgIG1fdGhyb3R0bGUgPSBzdGQ6Om1ha2VfdW5p
cXVlPFRocm90dGxlPigqdGhpcywgZGVsYXksIFdURk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBjOTZkMDgyOWUxNWI2
ZDg4YmFlMTVjZjBjMTJjYzRjZDIzOGYxMTNiLi44YzViN2E0ODg1ZmM0NDllZWFkZTA3NDRjZDlm
YzYwMjVhY2U2MWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGdyYW50
U2FuZGJveEV4dGVuc2lvbnNUb0RhdGFiYXNlUHJvY2Vzc0ZvckJsb2JzKGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBmaWxlbmFtZXMsIEZ1bmN0aW9uPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
OwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkg
Y29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CisgICAgU2Vjb25kcyBsb2Fk
VGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9
CiAKIHByaXZhdGU6CiAgICAgTmV0d29ya1Byb2Nlc3MoKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9zdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNl
IH07CiAgICAgYm9vbCBtX2Rpc2tDYWNoZUlzRGlzYWJsZWRGb3JUZXN0aW5nOwogICAgIGJvb2wg
bV9jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZhbHVhdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKKyAgICBTZWNvbmRzIG1fbG9hZFRo
cm90dGxlTGF0ZW5jeTsKIAogICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgc3RkOjp1
bmlxdWVfcHRyPE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+
PiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXA7CiAgICAgTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50TWFwIG1fc3VwcGxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRl
eCBmNDU2OWM5NDY5YTU3NzJlNjBiMWM5YmZmNTYwODVkM2FjYjQzYzNkLi43MDk1MTUzMGUzMjlm
YTFjNWYzZmY4ZTY3MmI5MzQzMDhjNThmOGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVk
ZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRl
IDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNzMsNyArNzQsNyBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVz
c3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtT
ZXNzaW9uOwogICAgIGJvb2wgdXJsUGFyc2VyRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5IHsgMG1zIH07CisgICAgU2Vj
b25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5OwogCiAgICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1l
c1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5o
CmluZGV4IDQyNTVhZGU0MTE1MGRhOTY5ZjIxMTE3NTEyZDdkZjZmN2Y3YzljNGEuLjViMjllMGVi
ZDQzYTM4YmU1MmFlNjZkYzUyMTAzMmVjMjA2NzBhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRl
cnMuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmll
ciBpZGVudGlmaWVyIHsgMCB9OwogICAgIFZlY3RvcjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+
IHJlcXVlc3RCb2R5U2FuZGJveEV4dGVuc2lvbnM7IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBm
b3IgdGhlIHNlbmRlci4KICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gcmVzb3VyY2VTYW5k
Ym94RXh0ZW5zaW9uOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCi0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZSB7IDBtcyB9
OworICAgIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkwMTA1OTk2OGEzOTEzMDFkYTJhYzkyMzc0Yjdm
OTI0NWQ2OTRkZDYuLjZjMTdjZTVjZjU0ZTg2YjZhOWI2YTllNjc4MGMzMTk0ZDkwNWE4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcApAQCAtMjA5LDcgKzIwOSw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpzdGFydE5ldHdvcmtMb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIAog
ICAgIGNvbnN1bWVTYW5kYm94RXh0ZW5zaW9ucygpOwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMo
KSB8fCBtX3BhcmFtZXRlcnMubWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiAwbXMpCisgICAgaWYgKGlz
U3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMubWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiBTZWNv
bmRzKDApKQogICAgICAgICBtX2J1ZmZlcmVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7
CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9QaW5nTG9hZC5oCmluZGV4IDMwMGMzMDgxMjRmMzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVjMjlk
MTIuLjgxNjI2NTNiZDNmYjVmZjI2MzZhM2UwOTFmYjdkYTdlNzQ4ZWU2ZTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6
CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qg
d2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3Vz
IHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVT
aG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
NjAwMDApKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCBmMjYyMjlkMGUwYTlhNzdhMTc2YWVmNDEx
OWRjNGU3ZDg0ODliNDE4Li5jYzgzMDYzMjc0MDAxY2Q0MTQ0ZGIwZmViYjFkNWNiYTM0Y2Q3MDI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApA
QCAtNDYsNyArNDYsNyBAQCBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUg
PSAxMHM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcmVsb2FkZWRFbnRyeUxpZmV0aW1lID0gU2Vj
b25kcygxMCk7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBzdGF0aWMgSGFzaENvdW50ZWRTZXQ8U3Ry
aW5nPiYgYWxsU3BlY3VsYXRpdmVMb2FkaW5nRGlhZ25vc3RpY01lc3NhZ2VzKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRp
c3RpY3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RhdGlzdGljcy5jcHAKaW5kZXggZThkYzY0M2M3ZjI0NTJiYTlkYzUzM2Y1MThlMWZmYmE5
OTg4ZDUxYi4uYzBlZTIwYTY0ZTJhZDJlYmVmOTJjNzIwNGZhYzY3OTY4MDg3NTEyZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rh
dGlzdGljcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIqIFN0YXRp
c3RpY3NEYXRhYmFzZU5hbWUgPSAiV2ViS2l0Q2FjaGVTdGF0aXN0aWNzLmRiIjsKLXN0YXRpYyBj
b25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0gc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcygxMDAwMCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5p
bnVtV3JpdGVJbnRlcnZhbCA9IFNlY29uZHMoMTApOwogCiBzdGF0aWMgYm9vbCBleGVjdXRlU1FM
Q29tbWFuZChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYg
c3FsKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCAwNWEzZDFjNjFmNjMwYzYxYTQ1ZTQ3
NDI4YWViY2U4YTJmMjMyZTZjLi5iZDgxYzNiNzJhODZjYzk0NzlhNmViNjQ1YWE1NmI4YmMwYzFk
YzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtNTc0LDcgKzU3NCw3IEBAIHZvaWQgU3Rv
cmFnZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9u
PiByZWFkT3BlcmF0aW9uCiAgICAgbV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92ZShy
ZWFkT3BlcmF0aW9uUHRyKSk7CiAKICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBv
cGVyYXRpb25zIHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJh
dGhlciBnbyB0byBuZXR3b3JrLgotICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7
CisgICAgY29uc3QgU2Vjb25kcyByZWFkVGltZW91dCA9IFNlY29uZHMoMS41KTsKICAgICBtX3Jl
YWRPcGVyYXRpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKIAogICAg
IGJvb2wgc2hvdWxkR2V0Qm9keUJsb2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtl
eSk7CkBAIC03OTYsNyArNzk2LDcgQEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQm
IHJlY29yZCwgTWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8v
IERlbGF5IHRoZSBzdGFydCBvZiB3cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5
IHBhZ2UgbG9hZC4KICAgICAvLyBDb21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUg
d3JpdGVzIHdpdGhvdXQgZGVsYXkuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRl
RGVsYXkgPSAxczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsV3JpdGVEZWxheSA9
IFNlY29uZHMoMSk7CiAgICAgbV93cml0ZU9wZXJhdGlvbkRpc3BhdGNoVGltZXIuc3RhcnRPbmVT
aG90KGluaXRpYWxXcml0ZURlbGF5KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA0
Y2VmYThlYjM1N2FlNDRiZDI1YTU3NDZiNDVmZjlhMDhiNGUyMGRmLi5mMDg3NTJlNTRjOWM3MTU1
NWRkMGE3MTRmMTAzNzE0MjI5ZTFlMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMzMz
LDcgKzMzMyw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNlbCgpCiB2b2lkIE5l
dHdvcmtEYXRhVGFza0NvY29hOjpyZXN1bWUoKQogewogICAgIGlmIChtX3NjaGVkdWxlZEZhaWx1
cmVUeXBlICE9IE5vRmFpbHVyZSkKLSAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAg
ICAgW21fdGFzayByZXN1bWVdOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0FyZ3VtZW50Q29kZXJzLmNwcAppbmRleCA5YWM3NmM2ZDM5NDdkZTI2ODcxZWI2ODkyMDY1YmRh
NmI3NzhjZmUxLi5kMDQ2YWY1ZGUyMDczNjMyN2IxMDc2ODMwZWNiOWI4YTllZmVkNTg5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKQEAgLTMy
LDYgKzMyLDM2IEBACiAKIG5hbWVzcGFjZSBJUEMgewogCit2b2lkIEFyZ3VtZW50Q29kZXI8TW9u
b3RvbmljVGltZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNUaW1l
JiB0aW1lKQoreworICAgIGVuY29kZXIgPDwgdGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVl
KCk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIE1vbm90b25pY1RpbWUmIHRpbWUpCit7CisgICAgZG91YmxlIHZhbHVlOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICB0aW1lID0gTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOworICAgIHJl
dHVybiB0cnVlOworfQorCit2b2lkIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBTZWNvbmRzJiBzZWNvbmRzKQoreworICAgIGVuY29kZXIgPDwg
c2Vjb25kcy52YWx1ZSgpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyLCBTZWNvbmRzJiBzZWNvbmRzKQoreworICAgIGRvdWJsZSB2YWx1
ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgc2Vjb25kcyA9IFNlY29uZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQor
CiB2b2lkIEFyZ3VtZW50Q29kZXI8c3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dD46OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0
ZW1fY2xvY2s6OnRpbWVfcG9pbnQmIHRpbWVQb2ludCkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRp
Y19jYXN0PGludDY0X3Q+KHRpbWVQb2ludC50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaCBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCmluZGV4IDA1Njhh
Y2VhOWY0Nzk3MTQ1YjAwZDlkYjU3NmMzYzE4Yzc3NTNlMWMuLjc3NDA0OWFmMjI2NzE3MmIxMjEy
YWFmZmZjMmM1YWQzMmUzMTUxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9Bcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9B
cmd1bWVudENvZGVycy5oCkBAIC0xNjMsNyArMTYzLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUuLi4g
RWxlbWVudHM+IHN0cnVjdCBBcmd1bWVudENvZGVyPHN0ZDo6dHVwbGU8RWxlbWVudHMuLi4+PiB7
CiAgICAgfQogfTsKIAotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBSZXAsIHR5cGVuYW1lIFBlcmlvZD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjpjaHJvbm86OmR1cmF0aW9uPFJlcCwgUGVyaW9kPj4g
ewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBzdGQ6OmNo
cm9ubzo6ZHVyYXRpb248UmVwLCBQZXJpb2Q+JiBkdXJhdGlvbikKICAgICB7CkBAIC0zNzksNiAr
Mzc4LDE2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlw
ZW5hbWUgS2V5VHJhaXRzQXJnPiBzdHJ1Y3QgQXJndW1lCiAgICAgfQogfTsKIAordGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKKyAgICBzdGF0aWMg
dm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYpOworICAgIHN0
YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Cit9OworCit0
ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6U2Vjb25kcz4geworICAgIHN0YXRp
YyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpTZWNvbmRzJik7CisgICAgc3RhdGlj
IGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6OlNlY29uZHMmKTsKK307CisKIHRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dD4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3Qgc3RkOjpjaHJvbm86
OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNv
ZGVyJiwgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5kZXggNTAzY2Y1ZjNiYjIyNjI2MWMyMjQw
ZGVjODJkNmUwN2VhYWRmZTFlMi4uMThiZjMxYzY2NGMwYzJkZmI4NTE0YWU4MzI3N2RmMDEwYzIx
MjFiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0xODYs
NyArMTg2LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBraWxs
KCk7Ci0gICAgdm9pZCB0ZXJtaW5hdGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7Cisg
ICAgdm9pZCB0ZXJtaW5hdGVTb29uKFNlY29uZHMpOwogI2VuZGlmCiAKICAgICBib29sIGlzVmFs
aWQoKSBjb25zdCB7IHJldHVybiBtX2lzVmFsaWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQppbmRleCAyODk5NTEyOTQ2M2U4MzE5MTA3
MGJlZTg1ZmRiZTg3MDU0OGU1NWIxLi43MDQ0NjkxNTZhZjgxYmQ0MTU4ZjE3MWUwODE3ZDg4ZWRi
ZmIxN2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5l
Y3Rpb25NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0
aW9uTWFjLm1tCkBAIC04MCwyMCArODAsMjAgQEAgZW51bSB7CiAvLyAgICB0byBlbnN1cmUgaXQg
aGFzIGEgY2hhbmNlIHRvIHRlcm1pbmF0ZSBjbGVhbmx5LgogY2xhc3MgQ29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cgewogcHVibGljOgotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rp
b25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGND
b25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCisgICAgc3RhdGljIHZvaWQgY3Jl
YXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rp
b25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgewotICAgICAgICBu
ZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJ
blNlY29uZHMpOworICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBj
Q29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgQ29ubmVj
dGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhw
Y0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBDb25uZWN0aW9uVGVy
bWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVj
dGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICAgICAgOiBtX3hwY0Nvbm5lY3Rpb24oeHBjQ29u
bmVjdGlvbikKICAgICAgICAgLCBtX3dhdGNoZG9nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlz
LCAmQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OndhdGNoZG9nVGltZXJGaXJlZCkKICNp
ZiBQTEFURk9STShJT1MpCiAgICAgICAgICwgbV9hc3NlcnRpb24oc3RkOjptYWtlX3VuaXF1ZTxX
ZWJLaXQ6OlByb2Nlc3NBbmRVSUFzc2VydGlvbj4oeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hw
Y0Nvbm5lY3Rpb24uZ2V0KCkpLCBXZWJLaXQ6OkFzc2VydGlvblN0YXRlOjpCYWNrZ3JvdW5kKSkK
ICNlbmRpZgogICAgIHsKLSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRl
cnZhbEluU2Vjb25kcyk7CisgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50
ZXJ2YWwpOwogICAgIH0KICAgICAKICAgICB2b2lkIHdhdGNoZG9nVGltZXJGaXJlZCgpCkBAIC0x
NTEsMTAgKzE1MSwxMCBAQCB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiAj
ZW5kaWYKIH0KICAgICAKLXZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihkb3VibGUgaW50
ZXJ2YWxJblNlY29uZHMpCit2b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oU2Vjb25kcyBp
bnRlcnZhbCkKIHsKICAgICBpZiAobV94cGNDb25uZWN0aW9uKQotICAgICAgICBDb25uZWN0aW9u
VGVybWluYXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2co
bV94cGNDb25uZWN0aW9uLCBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIENvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyht
X3hwY0Nvbm5lY3Rpb24sIGludGVydmFsKTsKIH0KICAgICAKIHZvaWQgQ29ubmVjdGlvbjo6cGxh
dGZvcm1Jbml0aWFsaXplKElkZW50aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRleCBk
YTlkYjIyNGVkYzBlYTBjYmQwMDJkYzE3MTJhMGMxODZkMTkzNWU0Li4xMWNiYWEzMWRjNWIzN2U3
OWJlNDU1ZTBjODNhYTExNWFlNzEwZTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCkBAIC0xNDcsNyArMTQ3LDcg
QEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OmRlc3Ryb3koKQogICAgIGlmIChtX3BsdWdp
bkRlc3RydWN0aW9uUHJvdGVjdENvdW50IHx8IG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLT5p
blNlbmRTeW5jKCkpIHsKICAgICAgICAgLy8gV2UgaGF2ZSBwbHVnLWluIGNvZGUgb24gdGhlIHN0
YWNrIHNvIHdlIGNhbid0IGRlc3Ryb3kgaXQgcmlnaHQgbm93LgogICAgICAgICAvLyBEZXN0cm95
IGl0IGxhdGVyLgotICAgICAgICBtX3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcGx1Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgUGx1Z2lu
Q29udHJvbGxlclByb3h5OjpzdGFydFBhaW50VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAg
ICAvLyBTdGFydCB0aGUgdGltZXIuCi0gICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3BhaW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgbV93YWl0
aW5nRm9yRGlkVXBkYXRlID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpblByb2Nlc3MuY3BwCmluZGV4IGE3MjRlYjA4ZjkwZDU5ZGIxMjk4MjM0NDFlNzdl
MDhmZWVjN2IyNWIuLmNhMjE0NmMzN2Y2ZjFmZjg3NjQwZGQyNmYzMDQ3MDJmNzU2ODIxOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAt
MjIwLDkgKzIyMCw5IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JI
b3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vz
c0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxl
dGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1
Z2luUHJvY2Vzczo6c2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1
Z2luUHJvY2Vzczo6c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAg
aWYgKGxpZmV0aW1lIDw9IDAuMCkKKyAgICBpZiAobGlmZXRpbWUgPD0gU2Vjb25kcygwKSkKICAg
ICAgICAgcmV0dXJuOwogICAgIAogICAgIGRpc2FibGVUZXJtaW5hdGlvbigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCA5YTkwZTRjMjUzOTNh
N2VkNDZjOTg3YjVlZTQ0NDlhNzRhYjkyMzNiLi4yMGFjMDY3YjA0OTVlNmFjNzYyMmMwMDYyMDAz
OGMwMWY1ZjMwMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuaApAQCAtMTAyLDcgKzEwMiw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBsYXRmb3Jt
SW5pdGlhbGl6ZVBsdWdpblByb2Nlc3MoUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYm
KTsKICAgICAKLSAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShkb3VibGUpOworICAgIHZvaWQg
c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMpOwogICAgIHZvaWQgbWluaW11bUxpZmV0aW1lVGlt
ZXJGaXJlZCgpOwogICAgIC8vIE91ciB3ZWIgcHJvY2VzcyBjb25uZWN0aW9ucy4KICAgICBWZWN0
b3I8UmVmUHRyPFdlYlByb2Nlc3NDb25uZWN0aW9uPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKaW5kZXggNDAzZjM0ZGZjZDRiN2FkYzQ5
YmEwNDYyYjlmZGVmYTZkZWYzZmQ0NS4uMTJiYTdiMTMxYTFkODlmOWE5ZGVkOGMwNTViYWI1ODdh
ODM0OGE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcApAQCAtMzIsNyArMzIs
NyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNp
emVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwg
dW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2Fw
YWNpdHksIHN0ZDo6Y2hyb25vOjpzZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpCit2b2lkIGNhbGN1bGF0ZU1lbW9yeUNh
Y2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFj
aXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERl
YWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5z
aWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQogewogICAgIHVpbnQ2NF90IG1lbW9yeVNpemUgPSBy
YW1TaXplKCkgLyBNQjsKIApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgY2FsY3VsYXRlTWVtb3J5
Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2Fw
YWNpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdv
dWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5
ID0gc3RkOjptYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAgICAgICAgZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAgfTsK
KyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IFNlY29uZHMoNjApOwog
CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DYWNoZU1vZGVsLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCmluZGV4
IGNmNDczNDU0ZmUyYWMzM2QzY2E0M2E3MmZhNTkzZTRjNGU1MWQzZDUuLjFlMDc3Njg4ZWE3OGRj
ODQyOTg4ZjRmNWYwM2FjYWJiOTMxMjRhNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DYWNoZU1vZGVsLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwu
aApAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBDYWNoZU1vZGVsX2gKICNkZWZpbmUgQ2FjaGVN
b2RlbF9oCiAKLSNpbmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVk
ZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTM3LDcgKzM3LDcg
QEAgZW51bSBDYWNoZU1vZGVsIHsKICAgICBDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIKIH07
CiAKLXZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYg
Y2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2ln
bmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJvbm86OnNlY29uZHMmIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSk7Cit2
b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hl
VG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYg
Y2FjaGVNYXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSk7CiB2b2lkIGNhbGN1bGF0ZVVSTENh
Y2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdWludDY0X3QgZGlza0ZyZWVTaXplLCB1bnNpZ25lZCYgdXJs
Q2FjaGVNZW1vcnlDYXBhY2l0eSwgdWludDY0X3QmIHVybENhY2hlRGlza0NhcGFjaXR5KTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3Bw
CmluZGV4IDE3NTc4OWZiOWFlNzEzZjE2ZWVlZGJmYWJlMDBkNmYzM2U2M2NmMjMuLjQ5Yjc5NDY1
ZGY2ZTFiMmExMjFjM2ZhNTJkMDAzZmIxOTUxYmMyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
aGlsZFByb2Nlc3MuY3BwCkBAIC0zMyw4ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MoKQotICAgIDogbV90ZXJtaW5hdGlvblRpbWVvdXQo
MCkKLSAgICAsIG1fdGVybWluYXRpb25Db3VudGVyKDApCisgICAgOiBtX3Rlcm1pbmF0aW9uQ291
bnRlcigwKQogICAgICwgbV90ZXJtaW5hdGlvblRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywg
JkNoaWxkUHJvY2Vzczo6dGVybWluYXRpb25UaW1lckZpcmVkKQogICAgICwgbV9wcm9jZXNzU3Vw
cHJlc3Npb25EaXNhYmxlZCgiUHJvY2VzcyBTdXBwcmVzc2lvbiBEaXNhYmxlZCBieSBVSVByb2Nl
c3MiKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IGEwNmUzNDlhMzhj
MjgxZjVhY2U4ZDM2MjJhMDU0NjFmOTQwNGRhNWMuLjk4NWFkNmE2MWIyYTgyYWI3ODUwMjlmZTQy
ZGVjNDc1MmVmYzQ2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTgx
LDcgKzgxLDcgQEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENoaWxkUHJvY2VzcygpOwogICAg
IHZpcnR1YWwgfkNoaWxkUHJvY2VzcygpOwogCi0gICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVv
dXQoZG91YmxlIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9Cisg
ICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoU2Vjb25kcyBzZWNvbmRzKSB7IG1fdGVybWlu
YXRpb25UaW1lb3V0ID0gc2Vjb25kczsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQ
cm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogICAg
IHZpcnR1YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9jZXNzSW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CkBAIC0xMTcsNyArMTE3LDcgQEAgcHJpdmF0ZToKIAog
ICAgIC8vIFRoZSB0aW1lb3V0LCBpbiBzZWNvbmRzLCBiZWZvcmUgdGhpcyBwcm9jZXNzIHdpbGwg
YmUgdGVybWluYXRlZCBpZiB0ZXJtaW5hdGlvbgogICAgIC8vIGhhcyBiZWVuIGVuYWJsZWQuIElm
IHRoZSB0aW1lb3V0IGlzIDAgc2Vjb25kcywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVk
IGltbWVkaWF0ZWx5LgotICAgIGRvdWJsZSBtX3Rlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNv
bmRzIG1fdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgLy8gQSB0ZXJtaW5hdGlvbiBjb3VudGVy
OyB3aGVuIHRoZSBjb3VudGVyIHJlYWNoZXMgemVybywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJt
aW5hdGVkCiAgICAgLy8gYWZ0ZXIgYSBnaXZlbiBwZXJpb2Qgb2YgdGltZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAppbmRleCBhMTJhNDQ0NWJiMTZjYWFmNjkyNzNiNjRhODYzMjEwOGU3
ZDU0OWY0Li5iMWEzNGE0ZGYxZDJkODI1OThhY2E2Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJB
dHRhY2htZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCIKKyNpbmNs
dWRlIDx3dGYvU2Vjb25kcy5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8V2Vi
Q29yZS9NYWNoU2VuZFJpZ2h0Lmg+CkBAIC01MSw4ICs1Miw4IEBAIHN0cnVjdCBQbHVnaW5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBQbHVnaW5Qcm9jZXNzVHlwZSBwcm9jZXNzVHlw
ZTsKICAgICBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CiAK
LSAgICBkb3VibGUgbWluaW11bUxpZmV0aW1lOwotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVv
dXQ7CisgICAgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWU7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlv
blRpbWVvdXQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBXZWJDb3JlOjpNYWNoU2VuZFJp
Z2h0IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBmMGZmYjc3MjZhNTNlZTRmODQyM2Q0
NmI3OWJiMGZkYWYwNWRlN2M0Li4zODBlMDFlNWU3NDYxNzM3ZTU3NTNlOTY2NWFjMmUzNDYwNTUy
NjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcApAQCAtMTA2LDM2ICsxMDYsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1l
c3BhY2UgSVBDIHsKIAotdm9pZCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBlbmNv
ZGVyIDw8IHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3Vt
ZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9u
aWNUaW1lJiB0aW1lKQotewotICAgIGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgdGltZSA9IE1vbm90b25p
Y1RpbWU6OmZyb21SYXdTZWNvbmRzKHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9p
ZCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
U2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKLX0K
LQotYm9vbCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rlciwg
U2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBkb3VibGUgdmFsdWU7Ci0gICAgaWYgKCFkZWNvZGVy
LmRlY29kZSh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHNlY29uZHMgPSBT
ZWNvbmRzKHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVy
PEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIGFmZmluZVRyYW5zZm9ybSkKIHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPEFm
ZmluZVRyYW5zZm9ybT46OmVuY29kZShlbmNvZGVyLCBhZmZpbmVUcmFuc2Zvcm0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDQ4MTlmY2Jj
MDRhYzcxNjI1NjczYTg0NDY3Zjc0NTQyY2NiOTI5OTUuLjMxNTQwNjJkOWRjMzUyYTkxZjRiMzNi
YjY1NDM5OTU2ZTU4ODA5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKQEAgLTMxLDExICszMSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRl
eGVkREIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BheW1lbnRIZWFkZXJzLmg+CiAKLW5hbWVzcGFj
ZSBXVEYgewotY2xhc3MgTW9ub3RvbmljVGltZTsKLWNsYXNzIFNlY29uZHM7Ci19Ci0KIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlOwpAQCAtMTUyLDE2ICsxNDcsNiBAQCB1c2luZyBJREJLZXlQYXRoID0gVmFy
aWFudDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+PjsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXRlbXBs
YXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1lPiB7Ci0gICAgc3Rh
dGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKLSAg
ICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6TW9ub3RvbmljVGltZSYpOwotfTsK
LQotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKLSAgICBz
dGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6U2Vjb25kcyYpOwotICAgIHN0
YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpTZWNvbmRzJik7Ci19OwotCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybT4gewogICAg
IHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNm
b3JtJik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpBZmZpbmVU
cmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlT
YW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcApp
bmRleCAwNTNmYTZlYTI5NzNjZTdiMWRiM2NmZjM5Mjc1MWVhYmY0ZTE4ZDEwLi40NDYzYTA3ODJk
YWQ2ZmRlNzAwMDY3N2E4ZmM1NmI0NDA0OWUyNzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC01Nyw3ICs1Nyw2IEBAIFdlYk1lbW9yeVNhbXBsZXI6
OldlYk1lbW9yeVNhbXBsZXIoKQogICAgIDogbV9zYW1wbGVUaW1lcigqdGhpcywgJldlYk1lbW9y
eVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQpCiAgICAgLCBtX3N0b3BUaW1lcigqdGhpcywgJldl
Yk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZpcmVkKQogICAgICwgbV9pc1J1bm5pbmcoZmFsc2Up
Ci0gICAgLCBtX3J1bm5pbmdUaW1lKDApCiB7CiB9CiAKQEAgLTY3LDcgKzY2LDcgQEAgdm9pZCBX
ZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBkb3VibGUgaW50ZXJ2YWwpCiAgICAgICAgIHJl
dHVybjsKICAgICAKICAgICBpbml0aWFsaXplVGVtcExvZ0ZpbGUoKTsKLSAgICBpbml0aWFsaXpl
VGltZXJzKGludGVydmFsKTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwp
KTsKIH0KIAogdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIGNvbnN0IFN0cmluZyYgc2FtcGxlTG9n
RmlsZVBhdGgsIGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkgCkBAIC04MiwxNyArODEsMTcgQEAgdm9p
ZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUm
IHNhbXBsZUxvZ0ZpbGVIYW5kbGUKICAgICB9CiAgICAgICAgIAogICAgIGluaXRpYWxpemVTYW5k
Ym94ZWRMb2dGaWxlKHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIHNhbXBsZUxvZ0ZpbGVQYXRoKTsKLSAg
ICBpbml0aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29u
ZHMoaW50ZXJ2YWwpKTsKICAgIAogfQogCi12b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxp
emVUaW1lcnMoZG91YmxlIGludGVydmFsKQordm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFs
aXplVGltZXJzKFNlY29uZHMgaW50ZXJ2YWwpCiB7Ci0gICAgbV9zYW1wbGVUaW1lci5zdGFydFJl
cGVhdGluZygxKTsKKyAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMSkp
OwogICAgIHByaW50ZigiU3RhcnRlZCBtZW1vcnkgc2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIs
IHByb2Nlc3NOYW1lKCkudXRmOCgpLmRhdGEoKSwgZ2V0cGlkKCkpOwotICAgIGlmIChpbnRlcnZh
bCA+IDApIHsKKyAgICBpZiAoaW50ZXJ2YWwgPiBTZWNvbmRzKDApKSB7CiAgICAgICAgIG1fc3Rv
cFRpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7Ci0gICAgICAgIHByaW50ZigiIGZvciBhIGlu
dGVydmFsIG9mICVnIHNlY29uZHMiLCBpbnRlcnZhbCk7CisgICAgICAgIHByaW50ZigiIGZvciBh
IGludGVydmFsIG9mICVnIHNlY29uZHMiLCBpbnRlcnZhbC52YWx1ZSgpKTsKICAgICB9CiAgICAg
cHJpbnRmKCI7IFNhbXBsZXIgbG9nIGZpbGUgc3RvcmVkIGF0OiAlc1xuIiwgbV9zYW1wbGVMb2dG
aWxlUGF0aC51dGY4KCkuZGF0YSgpKTsKICAgICBtX3J1bm5pbmdUaW1lID0gaW50ZXJ2YWw7CkBA
IC0xNTksNyArMTU4LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCgp
CiB7CiAgICAgaWYgKCFtX2lzUnVubmluZykKICAgICAgICAgcmV0dXJuOwotICAgIHByaW50Zigi
JWcgc2Vjb25kcyBlbGFwc2VkLiBTdG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9ydW5u
aW5nVGltZSk7CisgICAgcHJpbnRmKCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9y
eSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5pbmdUaW1lLnZhbHVlKCkpOwogICAgIHN0b3AoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKaW5kZXggMjc4N2I1MTVk
YWJjNTFlYmVjNWJjMDY0NmYxM2JlZmU1MTI5ODYyMi4uZGE0Mjg4YjU4NDA5ZmZiYWFmOGQyNzNj
YjM4NTg0NWIwZDFkODg2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1l
bW9yeVNhbXBsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxl
ci5oCkBAIC04NCw3ICs4NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplVGVtcExv
Z0ZpbGUoKTsKICAgICB2b2lkIGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKGNvbnN0IFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgd3JpdGVIZWFk
ZXJzKCk7Ci0gICAgdm9pZCBpbml0aWFsaXplVGltZXJzKGRvdWJsZSk7CisgICAgdm9pZCBpbml0
aWFsaXplVGltZXJzKFNlY29uZHMpOwogICAgIHZvaWQgc2FtcGxlVGltZXJGaXJlZCgpOwogICAg
IHZvaWQgc3RvcFRpbWVyRmlyZWQoKTsKICAgICB2b2lkIGFwcGVuZEN1cnJlbnRNZW1vcnlVc2Fn
ZVRvRmlsZShXZWJDb3JlOjpQbGF0Zm9ybUZpbGVIYW5kbGUmKTsKQEAgLTEwMCw3ICsxMDAsNyBA
QCBwcml2YXRlOgogICAgIFdlYkNvcmU6OlRpbWVyIG1fc2FtcGxlVGltZXI7CiAgICAgV2ViQ29y
ZTo6VGltZXIgbV9zdG9wVGltZXI7CiAgICAgYm9vbCBtX2lzUnVubmluZzsKLSAgICBkb3VibGUg
bV9ydW5uaW5nVGltZTsKKyAgICBTZWNvbmRzIG1fcnVubmluZ1RpbWU7CiAgICAgUmVmUHRyPFNh
bmRib3hFeHRlbnNpb24+IG1fc2FtcGxlTG9nU2FuZGJveEV4dGVuc2lvbjsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CmluZGV4IGVjODZlMWUyMWZmY2NkNmQ4NzJhYWExZjJkNDE5ZTQ2NjZhMzI3ZGIuLjBkMzdiOWEz
ZWQ3ZTM2NGMxYzRiNjk5M2Y5MDY3OTJhNWZlYWVlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTEzLDcgKzEx
Myw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKIAogICAgIGJvb2wg
aWNvbkRhdGFiYXNlRW5hYmxlZDsKIAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7Cisg
ICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5n
dWFnZXM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmUuaAppbmRleCA2YWY3OTAyZGEzZjlmYTljMmVhYmRhYWEwZTVkNzg1ZjY1MzJl
NmU3Li40MzY4Y2MyY2MxYjNmNWM2ZDVhOGViM2IzODBiMmU4YmRiM2E0YTNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCkBA
IC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+Ci0jaW5j
bHVkZSA8Y2hyb25vPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKIE9CSkNfQ0xB
U1MgQ0FMYXllcjsKIApAQCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHNldEJ1
ZmZlclZvbGF0aWxpdHkoQnVmZmVyVHlwZSB0eXBlLCBib29sIGlzVm9sYXRpbGUpOwogCi0gICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0RGlzcGxheVRpbWUoKSBj
b25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5VGltZTsgfQorICAgIE1vbm90b25pY1RpbWUgbGFz
dERpc3BsYXlUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7IH0KIAogcHJp
dmF0ZToKICAgICB2b2lkIGRyYXdJbkNvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Jiwg
Q0dJbWFnZVJlZiBiYWNrSW1hZ2UpOwpAQCAtMTAzLDggKzEwMywxMCBAQCBwcml2YXRlOgogICAg
IFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbV9sYXllcjsKIAogICAgIFdlYkNvcmU6OkZsb2F0U2l6
ZSBtX3NpemU7Ci0gICAgZmxvYXQgbV9zY2FsZTsKLSAgICBib29sIG1faXNPcGFxdWU7CisgICAg
ZmxvYXQgbV9zY2FsZSB7IDEgfTsKKworICAgIGJvb2wgbV9pc09wYXF1ZSB7IGZhbHNlIH07Cisg
ICAgYm9vbCBtX2FjY2VsZXJhdGVzRHJhd2luZyB7IGZhbHNlIH07CiAKICAgICBXZWJDb3JlOjpS
ZWdpb24gbV9kaXJ0eVJlZ2lvbjsKIApAQCAtMTEyLDcgKzExNCw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcDsKICNpZiBVU0UoSU9TVVJGQUNFKQog
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBzdXJmYWNlOwotICAg
ICAgICBib29sIGlzVm9sYXRpbGUgPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc1ZvbGF0aWxlIHsg
ZmFsc2UgfTsKICNlbmRpZgogCiAgICAgICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25z
dApAQCAtMTM4LDExICsxNDAsOSBAQCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRyPENHQ29udGV4
dFJlZj4gbV9mcm9udENvbnRleHRQZW5kaW5nRmx1c2g7CiAKLSAgICBib29sIG1fYWNjZWxlcmF0
ZXNEcmF3aW5nOwotCiAgICAgV2ViQ29yZTo6UmVwYWludFJlY3RMaXN0IG1fcGFpbnRpbmdSZWN0
czsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0RGlz
cGxheVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3REaXNwbGF5VGltZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggZDU3MTlkZGExMmJlYWI4MjJkZjMyYjcy
MTU4ZWJhNmE1ZTk5NDIwNS4uY2JjZjcxYzVmNzU0ZWVjM2U4NjBmZjEyZmM3M2ZmYTg1YzY3ZGQx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlLm1tCkBAIC02Miw4ICs2Miw2IEBAIHN0YXRpYyBXZWJDb3JlOjpJT1N1cmZhY2U6
OkZvcm1hdCBidWZmZXJGb3JtYXQoYm9vbCBpc09wYXF1ZSkKIAogUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbGF5
ZXIpCiAgICAgOiBtX2xheWVyKGxheWVyKQotICAgICwgbV9pc09wYXF1ZShmYWxzZSkKLSAgICAs
IG1fbGFzdERpc3BsYXlUaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQ6
Om1pbigpKQogewogICAgIGlmICghbV9sYXllcikKICAgICAgICAgcmV0dXJuOwpAQCAtMjMxLDcg
KzIyOSw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkoKQogewogICAg
IEFTU0VSVCghbV9mcm9udENvbnRleHRQZW5kaW5nRmx1c2gpOwogCi0gICAgbV9sYXN0RGlzcGxh
eVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3REaXNw
bGF5VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgYm9vbCBuZWVkVG9FbmNvZGVC
YWNraW5nU3RvcmUgPSBmYWxzZTsKICAgICBpZiAoUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogY29u
dGV4dCA9IG1fbGF5ZXItPmNvbnRleHQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCmluZGV4
IGZlNDk3MWVlNzM5MjQxNGFiYzExOTQwYWM3OWY4Zjc5MTRjYTQ4NjIuLmNkODNhMzhkOTg0NTVk
YjVkNTRlZDNmNDY1Mzk4NmVlZDk3NDUzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaApA
QCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBW
b2xhdGlsaXR5TWFya2luZ0ZsYWdzOwogICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxl
SW1tZWRpYXRlbHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBWb2xhdGlsaXR5TWFya2luZ0Zs
YWdzIHZvbGF0aWxpdHlNYXJraW5nRmxhZ3MgPSAwKTsKLSAgICBib29sIG1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbm93KTsKKyAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGls
ZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIE1vbm90b25pY1RpbWUgbm93KTsKIAogICAgIEhh
c2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3RvcmU7CiAgICAg
SGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJhY2tpbmdTdG9y
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggMjY4MzZlN2JmMzg2NDdlNDgwMGE2
NGIwYzc1Y2U2ZmZiMGNhMTRiZS4uYmRjODdhNzA4MDczNjRlNjYzOTljOWQ2N2MyNTZlMzFlZmZj
OGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KQEAgLTMwLDkgKzMwLDkgQEAKICNp
bXBvcnQgIlJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRy
ZWVDb250ZXh0LmgiCiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHZvbGF0aWxlQmFja2lu
Z1N0b3JlQWdlVGhyZXNob2xkID0gMXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMjAwbXM7Ci1jb25z
dCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFsID0gMjAw
bXM7Citjb25zdCBTZWNvbmRzIHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gU2Vj
b25kcygxKTsKK2NvbnN0IFNlY29uZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQgPSBTZWNvbmRzKDAuMik7Citjb25zdCBTZWNvbmRzIHZvbGF0aWxpdHlUaW1lcklu
dGVydmFsID0gU2Vjb25kcygwLjIpOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTIwLDcg
KzEyMCw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFj
a2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vCiAgICAgcmV0dXJuIHN1Y2Nlc3NmdWxs
eU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZTsKIH0KIAotYm9vbCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tp
bmdTdG9yZSYgYmFja2luZ1N0b3JlLCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3Bv
aW50IG5vdykKK2Jvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFj
a2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwg
TW9ub3RvbmljVGltZSBub3cpCiB7CiAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlz
cGxheVRpbWUoKSA8IHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKSB7CiAgICAgICAg
IGlmIChub3cgLSBiYWNraW5nU3RvcmUubGFzdERpc3BsYXlUaW1lKCkgPj0gdm9sYXRpbGVTZWNv
bmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQpCkBAIC0xNjQsNyArMTY0LDcgQEAgdm9pZCBS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKCkK
IHsKICAgICBib29sIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IHRydWU7
CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAg
IGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBi
YWNraW5nU3RvcmUgOiBtX2xpdmVCYWNraW5nU3RvcmUpCiAgICAgICAgIHN1Y2Nlc3NmdWxseU1h
ZGVCYWNraW5nU3RvcmVWb2xhdGlsZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoKmJhY2tp
bmdTdG9yZSwgbm93KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KaW5k
ZXggODM5NDVkZmVkMzFjNTkxODM1OGJlN2Y2NzE2YjFiZmU3MDE4OGI1OS4uZGM1NjE5OWU2OTky
YzY3YTJlMjBlN2ZlZTdlOWU5NzEzN2U5YzZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUNvY29hLm1tCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlm
ICghbV9jb250ZXh0KSB7CiAgICAgICAgICAgICBtX2NvbnRleHQgPSBhZG9wdE5TKFtbSlNDb250
ZXh0IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsK
KyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwogICAgICAgICB9
CiAgICAgICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCBjYWYwZDcyM2YwNjU5NjllMGMw
OGM0NmUwMmMyNGE2ZTQ3YzExOWQ4Li5lYjEwMDM0YzEzMWNkOGI5MTA5NWViMTNlOWQ5NGM1Mzgz
OGJjOTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNw
cApAQCAtNTkwLDcgKzU5MCw3IEBAIHZvaWQgRXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlz
cGxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBFd2tWaWV3Ojpz
ZXRWaWV3cG9ydFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRzUG9zaXRpb24pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAKaW5kZXggMDRjN2U5NTQ3Mjk5NTdjZTQyODJlYjQwZTFjODcxMDNjMTQ0NWY1Zi4u
OTU2NWUyMmM5MWMzNjk1NTYwYzI1OTEwNzE1MjdhYjBkMzZiZGJhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApA
QCAtMjE5LDcgKzIxOSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVV
cGRhdGVBY3Rpdml0eVN0YXRlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWCiAgICAgaWYgKHByaXYt
PnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB0b3BsZXZlbFdpbmRvd0ZvY3VzSW5FdmVudChHdGtXaWRn
ZXQqIHdpZGdldCwgR2RrRXZlbnRGb2N1cyosIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFz
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCmlu
ZGV4IGZkOGJjNWFjOWE5N2M4MzA1NWQ0OGI3NWJhODAwOTMzOTk2NTE3YjAuLjllZWNhMjA2ZGQy
ZWU2ZmJmYWYwYzNlYTE3YTNkNGY0NzQ3Mjg5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTkzLDcgKzE5Myw3IEBAIHZvaWQgQ2hp
bGRQcm9jZXNzUHJveHk6OnNodXREb3duUHJvY2VzcygpCiAgICAgICAgIC8vIE9uIGlPUyBkZXBs
b3kgYSB3YXRjaGRvZyBpbiB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhlIGNoaWxkIHByb2Nlc3Mg
bWF5IGJlIHN1c3BlbmRlZC4KICAgICAgICAgLy8gSWYgMzBzIGlzIGluc3VmZmljaWVudCBmb3Ig
YW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IHRvIGNvbXBsZXRlIGNsZWFubHksIHRoZW4gaXQgd2ls
bCBiZSBraWxsZWQuCiAgICAgICAgIEFTU0VSVChtX2Nvbm5lY3Rpb24pOwotICAgICAgICBtX2Nv
bm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzApOworICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1p
bmF0ZVNvb24oU2Vjb25kcygzMCkpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
U3RhdGU6OlRlcm1pbmF0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L05hdmlnYXRpb25TdGF0ZS5tbQppbmRleCA0NTI5OTIyYjRmYmY2YmY1MzFjN2MwNWE3YzIyM2I2
MzUxNDMyNTYwLi5mNzJmNGJjNjcxMWVhYTY4NWZhNGM5YmE4NDUyYzUyN2ViMWE1MDM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0K
QEAgLTg1Miw3ICs4NTIsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2Fk
aW5nKCkKICAgICB9IGVsc2UgewogICAgICAgICAvLyBEZWxheSByZWxlYXNpbmcgdGhlIGJhY2tn
cm91bmQgYWN0aXZpdHkgZm9yIDMgc2Vjb25kcyB0byBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhIGNo
YW5jZSB0byBzdGFydCBhbm90aGVyIG5hdmlnYXRpb24KICAgICAgICAgLy8gYmVmb3JlIHN1c3Bl
bmRpbmcgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyA8cmRhcjovL3Byb2JsZW0vMjc5MTA5NjQ+Lgot
ICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzcyk7CisgICAgICAg
IG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMykpOwogICAgIH0K
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9W
aWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQ5ZjE4ZTM3OGE1MjlkMDU2NWIwZDdlZTll
NjE4ODIxMmNmZGQyYjguLjI4NmYyYWJhZWI0MDU4NGM5NDA1MTkxZGY5YTA5NzU0OWQ0NDc1NjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2Vz
dHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MCwxMyArNDAsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86
OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZh
bCA9IDI1MG1zOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRj
aGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSBTZWNvbmRzKDMp
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9u
aXRvcmluZ0ludGVydmFsID0gU2Vjb25kcygwLjI1KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0
YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNo
ZG9nRHVyYXRpb24gPSA1czsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1v
dmFsV2F0Y2hkb2dEdXJhdGlvbiA9IFNlY29uZHMoNSk7CiAjZWxzZQotc3RhdGljIGNvbnN0IHN0
ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9
IDNzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1
cmF0aW9uID0gU2Vjb25kcygzKTsKICNlbmRpZgogCiBzdGF0aWMgSGFzaE1hcDx1aW50NjRfdCwg
Vmlld0dlc3R1cmVDb250cm9sbGVyKj4mIHZpZXdHZXN0dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdl
cygpCkBAIC0yOTcsMTAgKzI5NywxMCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25h
cHNob3RSZW1vdmFsVHJhY2tlcjo6d2F0Y2hkb2dUaW1lckZpcmVkKCkKICAgICBmaXJlUmVtb3Zh
bENhbGxiYWNrSW1tZWRpYXRlbHkoKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6
OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29u
ZHMgZHVyYXRpb24pCit2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFs
VHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhTZWNvbmRzIGR1cmF0aW9uKQogewotICAgIGxvZyhTdHJp
bmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICVsbGQgc2Vjb25kcyIs
IGR1cmF0aW9uLmNvdW50KCkpKTsKLSAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1
cmF0aW9uLmNvdW50KCkpOworICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0
Y2hkb2cgdGltZXIgZm9yICUuM2Ygc2Vjb25kcyIsIGR1cmF0aW9uLnZhbHVlKCkpKTsKKyAgICBt
X3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggNzU4ZDczNTBkYmQ4NDc1NzQ2NmNjZGJhODQzNmI2
ZTQ5ZDYyYmMyZC4uZTE0ZDczOTcxOTJhZDBjMDdmMTIyODA5ZmM4N2IxNDQ0NzZkNGRjMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNv
bnRyb2xsZXIuaApAQCAtMTU3LDcgKzE1Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZl
bnRPY2N1cnJlZChFdmVudHMpOwogICAgICAgICBib29sIGNhbmNlbE91dHN0YW5kaW5nRXZlbnQo
RXZlbnRzKTsKIAotICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29u
ZHMpOworICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coU2Vjb25kcyk7CiAKICAgICBwcml2YXRl
OgogICAgICAgICBzdGF0aWMgU3RyaW5nIGV2ZW50c0Rlc2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29h
Lm1tCmluZGV4IDQ5ZDRkNWJkNWE5OWQ0ZDk4MTExNmEwOGExMzI3ZDUwMWNiYWI5NTEuLmIwYzMx
Y2IxZWRkMDI1MmEyMmJiOWE3YTk4MTM2MmNhZDQyNGJhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0yNTMs
NyArMjUzLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29y
a1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEKICNlbmRpZgogCiAgICAgcGFyYW1l
dGVycy5zaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciA9IFtkZWZhdWx0cyBib29s
Rm9yS2V5OldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXldOwot
ICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxh
dGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOworICAgIHBhcmFtZXRlcnMubG9hZFRocm90
dGxlTGF0ZW5jeSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVnZXJG
b3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0
c0tleV0pOwogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTEwMAogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGNvb2tpZVN0b3JhZ2VE
YXRhID0gYWRvcHRDRihDRkhUVFBDb29raWVTdG9yYWdlQ3JlYXRlSWRlbnRpZnlpbmdEYXRhKGtD
RkFsbG9jYXRvckRlZmF1bHQsIFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2ll
U3RvcmFnZV0gX2Nvb2tpZVN0b3JhZ2VdKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggNjllOGM1YjMyMjMyMmRiMDM3MWJiY2IxZjM2NDBm
ZTRjOTZkODU2NS4uN2VjNzk5MzI4YWNkNmI0YjE0MWFmMjY0NDFmYjFkNzgxMTdmZjMxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtODMs
NyArODMsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnNldFZpZXdFeHBvc2VkUmVjdChPcHRp
b25hbDxXZWJDb3JlOjpGbG9hdFJlY3Q+IHZpZXdFeHBvcwogICAgIG1fdmlld0V4cG9zZWRSZWN0
ID0gdmlld0V4cG9zZWRSZWN0OwogCiAgICAgaWYgKCFtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojp2aWV3
RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA0NDBkZjlhMzNlZTY5ODY3YjY0
MjU4ZDAzMmUwNWU4MTlmMTNhODE0Li5lZTk4NTg2ZTdlODA1YTE1OWJkN2VhMDVhYzAyODBhMDdh
MTk0NDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBs
OjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRoaXMgbWFu
eSBzZWNvbmRzIGFmdGVyIHRoZSBsYXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5IG91ciBi
YWNraW5nIHN0b3JlIHRvIHNhdmUgbWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBz
bWFydGVyIHRvIG1ha2UgdGhpcyBkZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBhaW50aW5n
IGlzLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29uc3QgU2Vj
b25kcyBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSBTZWNvbmRzKDIpOwogCiAgICAgbV9kaXNj
YXJkQmFja2luZ1N0b3JlVGltZXIuc3RhcnRPbmVTaG90KGRpc2NhcmRCYWNraW5nU3RvcmVEZWxh
eSk7CiB9CkBAIC0yMTEsMTMgKzIxMSwxMyBAQCBpbnQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRy
YXdpbmdNb25pdG9yOjp3ZWJWaWV3RHJhd0NhbGxiYWNrKERyYXdpbmdBcmVhUHJveHlJbQogCiB2
b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RhcnQoc3RkOjpmdW5j
dGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4gY2FsbGJhY2spCiB7Ci0gICAgbV9zdGFy
dFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpOworICAgIG1fc3RhcnRUaW1l
ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgbV9jYWxsYmFjayA9IGNhbGxiYWNrOwogI2lm
IFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV93ZWJQYWdlLnZp
ZXdXaWRnZXQoKSwgImRyYXciLCByZWludGVycHJldF9jYXN0PEdDYWxsYmFjaz4od2ViVmlld0Ry
YXdDYWxsYmFjayksIHRoaXMpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwogI2Vsc2UKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICNlbmRp
ZgogfQogCkBAIC0yMjcsNyArMjI3LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJh
d2luZ01vbml0b3I6OnN0b3AoKQogI2lmIFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9oYW5k
bGVyc19kaXNjb25uZWN0X2J5X2Z1bmMobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgcmVpbnRlcnBy
ZXRfY2FzdDxncG9pbnRlcj4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwogI2VuZGlmCi0g
ICAgbV9zdGFydFRpbWUgPSAwOworICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZSgpOwog
ICAgIGlmIChtX2NhbGxiYWNrKSB7CiAgICAgICAgIG1fY2FsbGJhY2soQ2FsbGJhY2tCYXNlOjpF
cnJvcjo6Tm9uZSk7CiAgICAgICAgIG1fY2FsbGJhY2sgPSBudWxscHRyOwpAQCAtMjM5LDEwICsy
MzksMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRpZERy
YXcoKQogICAgIC8vIFdlIHdhaXQgdXAgdG8gMSBzZWNvbmQgZm9yIGRyYXcgZXZlbnRzLiBJZiB0
aGVyZSBhcmUgc2V2ZXJhbCBkcmF3IGV2ZW50cyBxdWV1ZWQgcXVpY2tseSwKICAgICAvLyB3ZSB3
YW50IHRvIHdhaXQgdW50aWwgYWxsIG9mIHRoZW0gaGF2ZSBiZWVuIHByb2Nlc3NlZCwgc28gYWZ0
ZXIgcmVjZWl2aW5nIGEgZHJhdywgd2Ugd2FpdAogICAgIC8vIHVwIHRvIDEwMG1zIGZvciB0aGUg
bmV4dCBvbmUgb3Igc3RvcC4KLSAgICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMo
KSAtIG1fc3RhcnRUaW1lID4gMTAwMCkKKyAgICBpZiAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBt
X3N0YXJ0VGltZSA+IFNlY29uZHMoMSkpCiAgICAgICAgIHN0b3AoKTsKICAgICBlbHNlCi0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuMTAwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwLjEpKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlz
cGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQoQ2FsbGJhY2tCYXNl
OjpFcnJvcik+IGNhbGxiYWNrRnVuY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCmluZGV4IDg5YzcxM2ZjODdhNzM1NDkzMDM4YWQxMGQ5
MGRjMWNmNjA2MWQ0NTcuLjVhYTY2YzZkMDQ4YmQwZjdkMjZmOGM3YzY0ZWQwZDFhMjgyZjdmNmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5o
CkBAIC03Nyw3ICs3Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZGlkRHJhdygpOwogCiAg
ICAgICAgIFdlYlBhZ2VQcm94eSYgbV93ZWJQYWdlOwotICAgICAgICBkb3VibGUgbV9zdGFydFRp
bWUgeyAwIH07CisgICAgICAgIE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgICAgIHN0
ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IG1fY2FsbGJhY2s7CiAgICAg
ICAgIFJ1bkxvb3A6OlRpbWVyPERyYXdpbmdNb25pdG9yPiBtX3RpbWVyOwogICAgIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRl
ci5jcHAKaW5kZXggNjc3Y2Q2NzM5MWFmNTY5ZjQyYWZmYmRmNDQwYWFlMjE1NTE1ZjQzZS4uY2Vh
OTgyZjZlMjJjNjA0OThlYWI4Mjk2OTQzZjUwNTMyYjhiNDM2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApAQCAt
MzksNyArMzksNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9
IDEgLyAxMjAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1HYW1lcGFkVXBkYXRlSW50
ZXJ2YWwgPSBTZWNvbmRzKDEgLyAxMjAuMCk7CiAKIFVJR2FtZXBhZFByb3ZpZGVyJiBVSUdhbWVw
YWRQcm92aWRlcjo6c2luZ2xldG9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IDU0ZGZiM2IwNThk
NGZlOTAzNzQ2MTU3OTJlZmE1NmIwOGZkZDBiNjguLjQ1YmJkMDM4ZDcwMTUyYjU1NDUyOWE0OTYy
YjIzNDI0NmU1YTc0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0
IGRvdWJsZSBtaW5pbXVtTGlmZXRpbWUgPSAyICogNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNu
YXBzaG90dGluZ01pbmltdW1MaWZldGltZSA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
aW11bUxpZmV0aW1lID0gU2Vjb25kcygyICogNjApOworc3RhdGljIGNvbnN0IFNlY29uZHMgc25h
cHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0gU2Vjb25kcygzMCk7CiAKLXN0YXRpYyBjb25zdCBk
b3VibGUgc2h1dGRvd25UaW1lb3V0ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFw
c2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgPSAxNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRk
b3duVGltZW91dCA9IFNlY29uZHMoMSAqIDYwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBz
aG90dGluZ1NodXRkb3duVGltZW91dCA9IFNlY29uZHMoMTUpOwogCiBzdGF0aWMgdWludDY0X3Qg
Z2VuZXJhdGVDYWxsYmFja0lEKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVhZjY2
NzdhOTI5OWRlODU0OTQ1ZjkxNDU4MDMzNDllMy4uZDU1ZTdkNWI1YjA5ZmNhNGQzMDI0NGJmZjcw
ZGY5NGJhYzJmYWQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lk
IFBsdWdpbkluZm9DYWNoZTo6dXBkYXRlUGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBh
dGgsIGNvbnN0IFBsdWdpbk1vZAogICAgICAgICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0FjdGl2
ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Qcm9jZXNzVGhyb3R0bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNz
VGhyb3R0bGVyLmNwcAppbmRleCAyMjc1YmIzYjIyNmI3ZGJkNDhkMzNjZjBmMzZkMjM0OWQ4NTBi
ZWM2Li43NDRjYzlkYzcxMGZiODQ0MWNmMGMyMmRhMTYzMTAyYzMzZjhjNzZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBAIC0zMSw3ICszMSw3
IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIAotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHBy
b2Nlc3NTdXNwZW5zaW9uVGltZW91dCA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvY2Vz
c1N1c3BlbnNpb25UaW1lb3V0ID0gU2Vjb25kcygzMCk7CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVy
OjpQcm9jZXNzVGhyb3R0bGVyKFByb2Nlc3NUaHJvdHRsZXJDbGllbnQmIHByb2Nlc3MpCiAgICAg
OiBtX3Byb2Nlc3MocHJvY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNw
b25zaXZlbmVzc1RpbWVyLmNwcAppbmRleCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFj
NDA2N2VlZjJiLi5hNDBhOTk4NmMzNGVkM2FjMmVlY2U3ODM0YzZhNTA0ZjYzZjhmYzJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBA
IC0yOCw3ICsyOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91
YmxlIHJlc3BvbnNpdmVuZXNzVGltZW91dCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXNw
b25zaXZlbmVzc1RpbWVvdXQgPSBTZWNvbmRzKDMpOwogCiBSZXNwb25zaXZlbmVzc1RpbWVyOjpS
ZXNwb25zaXZlbmVzc1RpbWVyKFJlc3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCYgY2xpZW50KQog
ICAgIDogbV9jbGllbnQoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0
ZWRMaW5rU3RvcmUuY3BwCmluZGV4IGEzZmI3NzBmNWNkYmNkY2I1ZmE3N2FiNGQyZjBiNTQ3NDQ4
OTBmNmYuLmUzNDI4NzA2YjFjZDEzZmU1MjA4OTVlNWQ0OGJmOWRmN2IyZjhhZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKQEAgLTk4LDcgKzk4
LDcgQEAgdm9pZCBWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2goTGlua0hhc2gg
bGlua0hhc2gpCiAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzLmFkZChsaW5rSGFzaCk7CiAKICAg
ICBpZiAoIW1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5k
aW5nVmlzaXRlZExpbmtzVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFZpc2l0ZWRMaW5rU3RvcmU6OnJlbW92ZUFsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBmN2NlNjlmNGNlOTc2ODJjNGM1MDZmMjNmYmYyNDg2
YjBjMDg4Mjc3Li5mMTY0OGVhZThhZTg2ZjQwMjAwNmI0ZGY0NDU2NmFkNzg4MTJkNDgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE3Myw3ICsx
NzMsNyBAQCBXZWJQcm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX2Fsd2F5c1J1bnNBdEJhY2tncm91
bmRQcmlvcml0eShtX2NvbmZpZ3VyYXRpb24tPmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0
eSgpKQogICAgICwgbV91c2VyT2JzZXJ2YWJsZVBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVy
RXZlbnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAgICAsIG1fcHJv
Y2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRGb3JQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2
ZW50KSB7IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCi0gICAgLCBtX2hpZGRl
blBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVu
dCkgeyBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDApOyB9KQorICAg
ICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZD
b3VudGVyRXZlbnQpIHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzKDApKTsgfSkKICAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lcihSdW5Mb29w
OjptYWluKCksIHRoaXMsICZXZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxp
bmdBdXRvSW5jcmVhc2VMaW1pdCkKIHsKICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IG1fY29uZmln
dXJhdGlvbi0+YWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzKCkpCkBAIC01OTgsNyArNTk4LDcg
QEAgV2ViUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcygp
CiAgICAgLy8gaWNvbkRhdGFiYXNlUGF0aCBpcyBub24tZW1wdHkgYnkgZGVmYXVsdCwgYnV0IG1f
aWNvbkRhdGFiYXNlIGlzbid0IGVuYWJsZWQgaW4gVUkgcHJvY2VzcyB1bmxlc3Mgc2V0RGF0YWJh
c2VQYXRoIGlzIGNhbGxlZCBleHBsaWNpdGx5LgogICAgIHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNl
RW5hYmxlZCA9ICFpY29uRGF0YWJhc2VQYXRoKCkuaXNFbXB0eSgpOwogCi0gICAgcGFyYW1ldGVy
cy50ZXJtaW5hdGlvblRpbWVvdXQgPSAwOworICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1l
b3V0ID0gU2Vjb25kcygwKTsKIAogICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSA9IFRl
eHRDaGVja2VyOjpzdGF0ZSgpOwogCkBAIC0xNDE5LDEwICsxNDE5LDEwIEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQoKQog
ICAgIC8vIFdlJ3JlIGVzdGltYXRpbmcgYW4gdXBwZXIgYm91bmQgZm9yIGEgc2V0IG9mIGJhY2tn
cm91bmQgdGltZXIgZmlyZXMgZm9yIGEgcGFnZSB0byBiZSAyMDBtcwogICAgIC8vIChpbmNsdWRp
bmcgYWxsIHRpbWVyIGZpcmVzLCBhbGwgcGFnaW5nLWluLCBhbmQgYW55IHJlc3VsdGluZyBHQyku
IFRvIGVuc3VyZSB0aGlzIGRvZXMgbm90CiAgICAgLy8gcmVzdWx0IGluIG1vcmUgdGhhbiAxJSBD
UFUgbG9hZCBhbGxvdyBmb3Igb25lIHRpbWVyIGZpcmUgcGVyIDEwMHggdGhpcyBkdXJhdGlvbi4K
LSAgICBzdGF0aWMgaW50IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgPSAyMDAgKiAx
MDA7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdl
ID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygyMDApICogMTAwOwogCi0gICAgaW50IGxpbWl0
SW5NaWxsaXNlY29uZHMgPSBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TICogbV9oaWRk
ZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7Ci0gICAgc2VuZFRv
QWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJv
dHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdEluTWlsbGlzZWNvbmRzKSk7CisgICAgU2Vjb25kcyBs
aW1pdCA9IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZSAqIG1faGlkZGVuUGFnZVRocm90dGxp
bmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgpOworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQobGltaXQpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCmluZGV4
IDg1NzQ1YWMzMGFjN2I4M2UxNDgyNGJmZmVlYmE2OTA5MTNlOWI0NGEuLjA0NDQ5YTJkNDI2Njc0
NmJiNzJhYzdiYmMwMTUzNTVjYmI5Y2Q2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCkBAIC0xMDEsNyArMTAxLDcg
QEAgdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6ZW5zdXJlU3BlbGxDaGVja2luZ0xhbmd1YWdl
KCkKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFn
ZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRlZmF1bHRMYW5ndWFnZXMpCiB7CiAgICAgbV9zcGVs
bENoZWNraW5nTGFuZ3VhZ2VzID0gZGVmYXVsdExhbmd1YWdlczsKLSAgICBtX2xhbmd1YWdlc1Vw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6
bGFuZ3VhZ2VzVXBkYXRlVGltZXJGaXJlZCgpCkBAIC0xMjgsNyArMTI4LDcgQEAgVmVjdG9yPFN0
cmluZz4gVGV4dENoZWNrZXJDbGllbnRFZmw6OmxvYWRlZFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMo
KSBjb25zdAogCiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKCkKIHsKLSAgICBtX3NwZWxsQ2hlY2tpbmdTZXR0
aW5nQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc3BlbGxDaGVja2luZ1NldHRp
bmdDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIGJvb2wgVGV4dENo
ZWNrZXJDbGllbnRFZmw6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkQ2FsbGJhY2so
Y29uc3Qgdm9pZCopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCmluZGV4IDdlMTU3N2NiYThiMTU3MDUyNjRlNWJhNTQ3NWZmYzU5NjJk
YWI4ODkuLjIxNTEyNjAzOWM4NzNhMjE1ZTAwY2IyMTM4ZGJiYTU2OTNiMmRlODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBA
IC0xMjcsNyArMTI3LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OmJl
Z2luKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgsIGQKICAgICBHdGtXaWRnZXQq
IHdpZGdldCA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF93aWRnZXQoR1RLX0VWRU5UX0NPTlRS
T0xMRVIoZ2VzdHVyZSkpOwogICAgIHVuc2lnbmVkIGRlbGF5OwogICAgIGdfb2JqZWN0X2dldChn
dGtfd2lkZ2V0X2dldF9zZXR0aW5ncyh3aWRnZXQpLCAiZ3RrLWxvbmctcHJlc3MtdGltZSIsICZk
ZWxheSwgbnVsbHB0cik7Ci0gICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5zdGFy
dE9uZVNob3QoZGVsYXkgLyAxMDAwLjApOworICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1Rp
bWVvdXQuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoZGVsYXkpKTsKIH0K
IAogdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OnVwZGF0ZShEcmFnR2VzdHVy
ZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkb3VibGUgeSwgR3RrR2VzdHVyZSogZ2VzdHVyZSkK
QEAgLTIwNiw3ICsyMDYsNyBAQCB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6
c2NhbGVDaGFuZ2VkKFpvb21HZXN0dXJlKiB6b29tR2VzdHVyZSwgZG91YgogICAgIGlmICh6b29t
R2VzdHVyZS0+bV9pZGxlLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHpvb21H
ZXN0dXJlLT5tX2lkbGUuc3RhcnRPbmVTaG90KDApOworICAgIHpvb21HZXN0dXJlLT5tX2lkbGUu
c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBHZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdl
c3R1cmU6Olpvb21HZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKaW5kZXggZGMx
OThkODU4ZjEzYTNjMTIzNmU1MTFkMzhkYjY4NTI2MTM3ODRhNC4uMWY5NTY1ZTRiNTFkZjEzMzFk
NTQxYWUxN2FhN2YwMjA3MzIzM2IwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2
b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjptZW51VW5tYXBwZWRDYWxsYmFjayhHdGtXaWRnZXQq
LCBXZWJQb3B1cE1lbnVQcm94eUd0awogICAgIC8vIFdoZW4gYW4gaXRlbSBpcyBhY3RpdmF0ZWQs
IHRoZSBtZW51IGlzIGZpcnN0IGhpZGRlbiBhbmQgdGhlbiBhY3RpdmF0ZSBzaWduYWwgaXMgZW1p
dHRlZCwgc28gYXQgdGhpcyBwb2ludCB3ZSBkb24ndCBrbm93CiAgICAgLy8gaWYgdGhlIG1lbnUg
aGFzIGJlZW4gaGlkZGVuIGJlY2F1c2UgYW4gaXRlbSBoYXMgYmVlbiBzZWxlY3RlZCBvciBiZWNh
dXNlIHRoZSBtZW51IGhhcyBiZWVuIGRpc21pc3NlZC4gV2FpdCB1bnRpbCB0aGUgbmV4dAogICAg
IC8vIG1haW4gbG9vcCBpdGVyYXRpb24gdG8gZGlzbWlzcyB0aGUgbWVudSwgaWYgYW4gaXRlbSBp
cyBhY3RpdmF0ZWQgdGhlIHRpbWVyIHdpbGwgYmUgY2FuY2VsbGVkLgotICAgIHBvcHVwTWVudS0+
bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBwb3B1cE1lbnUtPm1fZGlz
bWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViUG9w
dXBNZW51UHJveHlHdGs6OnNlbGVjdEl0ZW1DYWxsYmFjayhHdGtXaWRnZXQqIGl0ZW0sIFdlYlBv
cHVwTWVudVByb3h5R3RrKiBwb3B1cE1lbnUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQppbmRleCA4MThiZDM5MGQ0ODNkMDgy
MmJhZTc5MzRlMTA2ZmRiYjBjZGZmODU0Li43MjVhOWZkODk5ZDVmZDkzZWIzNzY0YjBhZWU3ZDdi
YjU3MTk1MDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYklu
c3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
SW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IE5TVUlu
dGVnZXIgd2luZG93U3R5bGVNYXNrID0gTlNXaW5kb3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRv
d1N0eWwKIAogLy8gVGhlIHRpbWUgd2Uga2VlcCBvdXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xv
c2luZyBpdCBhbmQgaXRzIHByb2Nlc3MuCiAvLyBSZXVzaW5nIHRoZSBXZWJWaWV3IGltcHJvdmVz
IHN0YXJ0IHVwIHRpbWUgZm9yIHBlb3BsZSB0aGF0IGp1bXAgaW4gYW5kIG91dCBvZiB0aGUgSW5z
cGVjdG9yLgotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MDsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSBTZWNvbmRzKDYwKTsK
IAogLy8gV0tXZWJJbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyIGlzIGEgaGVscGVyIE9iakMgb2Jq
ZWN0IHVzZWQgYXMgYSBkZWxlZ2F0ZSBvciBub3RpZmljYXRpb24gb2JzZXJ2ZXIKIC8vIGZvciB0
aGUgc29sZSBwdXJwb3NlIG9mIGdldHRpbmcgYmFjayBpbnRvIHRoZSBDKysgY29kZSBmcm9tIGFu
IE9iakMgY2FsbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggZTg5MWNkMDMyYjJmNDM2NjRiNjdlMDZk
YmVjY2M4ZWUwMzU4ZGQ4Zi4uZDliODI4YTFjODc5ZGJhMWI4ZmZmZjkzMWQxZjBlNjVkM2I4MWVi
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRl
clN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
TG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC05MSwxNCArOTEsMTQgQEAgUmVmUHRyPE5ldHNjYXBlUGx1
Z0luU3RyZWFtTG9hZGVyPiBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVQbHVnaW5TdHJlYW1M
b2FkKEYKICAgICByZXR1cm4gbG9hZGVyOwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCitz
dGF0aWMgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UpCiB7CiAjaWYgIUVOQUJMRShORVRXT1JLX0NBQ0hFKQotICAgIHJldHVybiAwbXM7CisgICAg
cmV0dXJuIFNlY29uZHMoMCk7CiAjZW5kaWYKIAogICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAg
IHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiBTZWNvbmRzKDApOwogCiAgICAgc3dpdGNoIChy
ZXNvdXJjZS0+dHlwZSgpKSB7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVl
dDoKQEAgLTEwNyw5ICsxMDcsOSBAQCBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBt
YXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6Rm9udFJlc291cmNlOgotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kczo6bWF4KCk7CisgICAgICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiA1MDBt
czsKKyAgICAgICAgcmV0dXJuIFNlY29uZHMoMC41KTsKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpNZWRpYVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZToK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZToKQEAgLTEyNCwxMSArMTI0LDEx
IEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1l
KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0OgogI2VuZGlmCi0gICAgICAgIHJldHVybiAwbXM7
CisgICAgICAgIHJldHVybiBTZWNvbmRzKDApOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgIHJldHVybiAwbXM7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKIHZv
aWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3Vy
Y2VMb2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRDbGVhclJlZmVy
cmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgV2ViTG9h
ZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIs
IENhY2hlZFJlc291CiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUludGVybmFsbHlG
YWlsZWRMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlcikKIHsKICAg
ICBtX2ludGVybmFsbHlGYWlsZWRSZXNvdXJjZUxvYWRlcnMuYWRkKCZyZXNvdXJjZUxvYWRlcik7
Ci0gICAgbV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjppbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L05QUnVudGltZU9iamVjdE1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcAppbmRleCA0OTkyMGYyY2FhODRmNzY5
YjYyZDI0NjJhOWM5ODA3ZjUyMGNmM2VkLi5hNWU2NmFjYTczZTE5Y2E1Zjk0M2UxMjVhYTRiNjRj
Zjg4OWEwOWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcApAQCAtMjkzLDcg
KzI5Myw3IEBAIHZvaWQgTlBSdW50aW1lT2JqZWN0TWFwOjphZGRUb0ludmFsaWRhdGlvblF1ZXVl
KE5QT2JqZWN0KiBucE9iamVjdCkKICAgICBpZiAodHJ5U2FmZVJlbGVhc2VOUE9iamVjdChucE9i
amVjdCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAobV9ucE9iamVjdHNUb0ZpbmFsaXplLmlz
RW1wdHkoKSkKLSAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fZmluYWxpemF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAg
IEFTU0VSVChtX2ZpbmFsaXphdGlvblRpbWVyLmlzQWN0aXZlKCkpOwogICAgIG1fbnBPYmplY3Rz
VG9GaW5hbGl6ZS5hcHBlbmQobnBPYmplY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAK
aW5kZXggNWM5YTkxODI0NTY2YTQ2MzAxMGMwZTczOTY4MDM0NTdlMzMzNDc3ZC4uNTQxNzFjMjI1
NDc4Zjc2NmRjMmM2YWFiNTcwOTA0YzUxYzBjYjBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4u
Y3BwCkBAIC0zMjYsNyArMzI2LDcgQEAgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjp+VGltZXIoKQog
CiB2b2lkIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQoKQogewotICAgIGRvdWJsZSB0aW1l
SW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgIFNlY29uZHMgdGltZUludGVydmFs
ID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX2ludGVydmFsKTsKIAogICAgIGlmIChtX3Jl
cGVhdCkKICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNj
YXBlUGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKaW5kZXggN2Q1NGQ4OGM3ZTg5OGM1Y2Uw
YmFkZjFkNzY5YjJlNWQzNWQ5YTI1NC4uYTc1YTY2MjMxOTQ1MDEwZmQ2YmUwZDIwNTljYzI1NGJj
MzZhMjkyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCkBAIC0yMjIs
NyArMjIyLDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUb1BsdWdp
bigpCiAKICAgICAgICAgaWYgKG51bUJ5dGVzUGx1Z2luQ2FuSGFuZGxlIDw9IDApIHsKICAgICAg
ICAgICAgIC8vIFRoZSBwbHVnLWluIGNhbid0IGhhbmRsZSBtb3JlIGRhdGEsIHdlJ2xsIHNlbmQg
dGhlIHJlc3QgbGF0ZXIKLSAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICAgICAgbV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVBsdWdpbk1hYy5tbQppbmRleCBiOTI2ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1
NDNjNmFjYzJlNWUwLi41YTk2NDExOGIzZjQ5N2Q3MjU2M2U0MzZlZmE1NGFkMGMxYmNkYTQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFj
L05ldHNjYXBlUGx1Z2luTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmbmRlZiBO
UF9OT19DQVJCT04KLXN0YXRpYyBjb25zdCBkb3VibGUgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUg
PSAwLjAyOworc3RhdGljIGNvbnN0IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSBT
ZWNvbmRzKDAuMDIpOwogCiBzdGF0aWMgdW5zaWduZWQgYnV0dG9uU3RhdGVGcm9tTGFzdE1vdXNl
RXZlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5W
aWV3LmNwcAppbmRleCBhMGQ4YWI4NjZmYzBiYWQxMDIwYmQxNjViZmQ1NGY1NWUyMWNmNjk0Li4y
MWU2ZjBmYTczNDlmYWJjMzdkZGYwMjY5OTQxOWQ0MzQ0ZTQ1MDE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC03OCw3ICs3OCw3
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIFRo
aXMgc2ltdWxhdGVkIG1vdXNlIGNsaWNrIGRlbGF5IGluIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQu
Y3BwIHNob3VsZCBnZW5lcmFsbHkgYmUgdGhlIHNhbWUgb3Igc2hvcnRlciB0aGFuIHRoaXMgZGVs
YXkuCi1zdGF0aWMgY29uc3QgYXV0byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHsgMTEwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGx1Z2lu
U25hcHNob3RUaW1lckRlbGF5ID0gU2Vjb25kcygxLjEpOwogCiBjbGFzcyBQbHVnaW5WaWV3OjpV
UkxSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8VVJMUmVxdWVzdD4gewogcHVibGljOgpAQCAt
MTE2NCw3ICsxMTY0LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1l
ckZpcmVkKCkKIAogICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIHRvIHBlcmZvcm0s
IHJlc2NoZWR1bGUgdGhlIHRpbWVyLgogICAgIGlmICghbV9wZW5kaW5nVVJMUmVxdWVzdHMuaXNF
bXB0eSgpKQotICAgICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAgICAgCiAgICAgcGVyZm9ybVVSTFJlcXVlc3QodXJsUmVxdWVzdC5nZXQoKSk7CiB9
CkBAIC0xNDIzLDcgKzE0MjMsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmxvYWRVUkwodWludDY0X3Qg
cmVxdWVzdElELCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgU3RyaW5nJgogICAgICAgICBm
cmFtZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBSZWZlcnJlcihyZWZlcnJl
cik7CiAKICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0cy5hcHBlbmQoVVJMUmVxdWVzdDo6Y3JlYXRl
KHJlcXVlc3RJRCwgZnJhbWVMb2FkUmVxdWVzdCwgYWxsb3dQb3B1cHMpKTsKLSAgICBtX3BlbmRp
bmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVUkxSZXF1
ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBQbHVnaW5WaWV3
OjpjYW5jZWxTdHJlYW1Mb2FkKHVpbnQ2NF90IHN0cmVhbUlEKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEu
Y3BwCmluZGV4IGI4NzhmYmM5ODQyZTNlYmFkNjdmNmZmOThkNzk5MGM5Y2E2MzA1ZTUuLjY3ZmZk
Mjg0YTJkMTg3NjFkOTVlNjgyYjg0MDljNTQ4OGExMWVlZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJl
YS5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4
aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNvb24oKQogICAgIGlmIChleGl0QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ01vZGVQZW5kaW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZXhp
dENvbXBvc2l0aW5nVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXhpdENvbXBvc2l0aW5n
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiAjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTX01VTFRJUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3Iu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKaW5kZXggZjNkYWVmYzc4NzZkOTgzYmUxNWM5
YmJjMmRhYWMxODI1ZThhYmMyNy4uM2I0YjFkODY1ODZkMjQxZmI5YzZiMmU1OWZkY2EwNWEzODZl
ZDRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdD
b29yZGluYXRvci5jcHAKQEAgLTE1NSwxMSArMTU1LDExIEBAIHZvaWQgQ29tcG9zaXRpbmdDb29y
ZGluYXRvcjo6c3luY0Rpc3BsYXlTdGF0ZSgpCiB9CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpCi1kb3VibGUgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlv
blNlcnZpY2VUaW1lKCkgY29uc3QKK1NlY29uZHMgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4
dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QKIHsKICAgICAvLyBBY2NvcmRpbmcgdG8gdGhl
IHJlcXVlc3RBbmltYXRpb25GcmFtZSBzcGVjLCByQUYgY2FsbGJhY2tzIHNob3VsZCBub3QgYmUg
ZmFzdGVyIHRoYW4gNjBGUFMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBNaW5pbWFsVGltZW91
dEZvckFuaW1hdGlvbnMgPSAxLiAvIDYwLjsKLSAgICByZXR1cm4gc3RkOjptYXg8ZG91YmxlPigw
LiwgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gdGltZXN0YW1wKCkgKyBtX2xhc3RBbmlt
YXRpb25TZXJ2aWNlVGltZSk7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgTWluaW1hbFRpbWVv
dXRGb3JBbmltYXRpb25zID0gU2Vjb25kcygxLiAvIDYwKTsKKyAgICByZXR1cm4gc3RkOjptYXg8
U2Vjb25kcz4oU2Vjb25kcygwKSwgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gU2Vjb25k
cyh0aW1lc3RhbXAoKSArIG1fbGFzdEFuaW1hdGlvblNlcnZpY2VUaW1lKSk7CiB9CiAjZW5kaWYK
IApAQCAtMzk4LDcgKzM5OCw3IEBAIGJvb2wgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cGFpbnRU
b1N1cmZhY2UoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmCiAgICAgcmV0dXJu
IG1fdXBkYXRlQXRsYXNlcy5sYXN0KCktPnBhaW50T25BdmFpbGFibGVCdWZmZXIoc2l6ZSwgYXRs
YXNJRCwgb2Zmc2V0LCBjbGllbnQpOwogfQogCi1jb25zdCBkb3VibGUgUmVsZWFzZUluYWN0aXZl
QXRsYXNlc1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIFJlbGVhc2VJbmFjdGl2
ZUF0bGFzZXNUaW1lckludGVydmFsID0gU2Vjb25kcygwLjUpOwogCiB2b2lkIENvbXBvc2l0aW5n
Q29vcmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFzZUluYWN0aXZlQXRsYXNlcygpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXgg
Zjk4YTM2YmMyN2E3ZjJiY2UxNzdkMTI3Y2Y5N2Y2OWRiZTFjNzUxYS4uZWJmNjViYjdmOWNkYjdl
Y2UyN2JjZjAxMDMzNzVkNGNmZDhlMjM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzeW5jRGlzcGxheVN0YXRlKCk7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpCi0gICAgZG91YmxlIG5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0
OworICAgIFNlY29uZHMgbmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CiAjZW5kaWYK
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDlmNmE4MzIxZTNmMjUxYWE1ZTM2ZTUzNzE4ZDhj
YWE5Nzc4MDk1NmEuLjAyY2Q3MTRjYjY1YmM1MzgwMmMwZTlhZmVkMWE3MGU0ODcyOGRkZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6c2NoZWR1bGVMYXllckZsdXNoKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2xh
eWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNhbmNlbFBlbmRp
bmdMYXllckZsdXNoKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggNTRiNGVhZDk4M2Y3NTZiZDE0OGUxYWY0Y2Jl
ZDY0NzM5ODA3OTQyZC4uMmQ0YzRkMDg3MWU4ZWYzZTcyZWU5MmE0NmQyN2YyN2ZlNTIxYjI2NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhSW1wbC5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2No
ZWR1bGVEaXNwbGF5KCkKICAgICBpZiAobV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
ZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEcmF3aW5n
QXJlYUltcGw6OmRpc3BsYXlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBkOTUwMTgzZjUxYzI1NzI5MTNmY2FiNzJkNjQw
MTU5ZjE3OTIxMjM2Li5jOGRjYjRlYTI0NmYzZDA1NjQ2NTdkMDkzMjBhMzYxMzMyZjIyNmEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0y
NTMsOSArMjUzLDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzU2Vjb25kcyA9
IDAuMzsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGluaXRpYWxMYXll
clZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMjAgfTsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCB7IDIgfTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzID0gU2Vjb25kcygwLjMpOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwg
PSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKDIwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1h
eGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsID0gU2Vjb25kcygyKTsKIAogI2RlZmlu
ZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxv
Z2dpbmdBbGxvd2VkKCksIExheWVycywgX19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVBU0VfTE9H
X0VSUk9SX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9n
Z2luZ0FsbG93ZWQoKSwgTGF5ZXJzLCBfX1ZBX0FSR1NfXykKQEAgLTMxNCw3ICszMTQsNyBAQCBX
ZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICwgbV91
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKnRoaXMpCiAjZW5kaWYKLSAgICAsIG1f
cGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlm
IChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5n
KCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAsIG1fcGFnZVNjcm9sbGVk
SHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBI
eXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VT
Y3JvbGxIeXN0ZXJlc2lzKQogICAgICwgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwo
cGFyYW1ldGVycy5jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1
bk1vZGFsKHBhcmFtZXRlcnMuY2FuUnVuTW9kYWwpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMjA1
MSw3ICsyMDUxLDcgQEAgdm9pZCBXZWJQYWdlOjpjYWxsVm9sYXRpbGl0eUNvbXBsZXRpb25IYW5k
bGVycygpCiAKIHZvaWQgV2ViUGFnZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7Ci0g
ICAgYXV0byBuZXdJbnRlcnZhbCA9IDIgKiBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJlcGVhdElu
dGVydmFsTVMoKTsKKyAgICBTZWNvbmRzIG5ld0ludGVydmFsID0gbV9sYXllclZvbGF0aWxpdHlU
aW1lci5yZXBlYXRJbnRlcnZhbCgpICogMjsKICAgICBib29sIGRpZFN1Y2NlZWQgPSBtYXJrTGF5
ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKTsKICAgICBpZiAoZGlkU3VjY2VlZCB8
fCBuZXdJbnRlcnZhbCA+IG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKSB7CiAg
ICAgICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RvcCgpOwpAQCAtMjA2MCw3ICsyMDYwLDcg
QEAgdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKCkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2Vi
UGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkg
aW4gJWxsZCBtcyIsIHRoaXMsIHN0YXRpY19jYXN0PGxvbmcgbG9uZz4obmV3SW50ZXJ2YWwuY291
bnQoKSkpOworICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAt
IEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4z
ZiBzIiwgdGhpcywgbmV3SW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlU
aW1lci5zdGFydFJlcGVhdGluZyhuZXdJbnRlcnZhbCk7CiB9CiAKQEAgLTIwOTEsNyArMjA5MSw3
IEBAIHZvaWQgV2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKHN0ZDo6ZnVuY3Rpb248dm9pZCAo
KT4gY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9s
YXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxp
dHlUaW1lckludGVydmFsLmNvdW50KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVw
IC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAl
LjNmIHMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC52YWx1ZSgp
KTsKICAgICBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGluaXRpYWxMYXll
clZvbGF0aWxpdHlUaW1lckludGVydmFsKTsKIH0KIApAQCAtMjUzMCw3ICsyNTMwLDcgQEAgdm9p
ZCBXZWJQYWdlOjp1cGRhdGVJc0luV2luZG93KGJvb2wgaXNJbml0aWFsU3RhdGUpCiAgICAgICAg
IC8vIGluIG9yZGVyIHRvIGdldCBwbHVnLWluIGNvbm5lY3Rpb25zLCBhbmQgdGhlIFVJIHByb2Nl
c3Mgd2lsbCBiZSB3YWl0aW5nIGZvciB0aGUgV2ViIHByb2Nlc3MgdG8gdXBkYXRlIHRoZSBiYWNr
aW5nCiAgICAgICAgIC8vIHN0b3JlIGFmdGVyIG1vdmluZyB0aGUgdmlldyBpbnRvIGEgd2luZG93
LCB1bnRpbCBpdCB0aW1lcyBvdXQgYW5kIHBhaW50cyB3aGl0ZS4gU2VlIDxyZGFyOi8vcHJvYmxl
bS85MjQyNzcxPi4KICAgICAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdykKLSAg
ICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IAogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYWdlRGlkRW50ZXJXaW5kb3cobV9w
YWdlSUQpOwogICAgIH0KQEAgLTMwMzcsNyArMzAzNyw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRl
UHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjZW5kaWYKIAog
ICAgIHNldHRpbmdzLnNldFN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyhzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN1cHByZXNzZXNJbmNyZW1lbnRhbFJl
bmRlcmluZ0tleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBw
cmVzc2lvblRpbWVvdXRJblNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0S2V5KCkp
KTsKKyAgICBzZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dChTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpp
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEtleSgpKSkpOwogICAgIHNldHRp
bmdzLnNldEJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRLZXko
KSkpOwogICAgIHNldHRpbmdzLnNldFdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZp
b3Ioc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3YW50c0JhbGFu
Y2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2aW9yS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRDYXJl
dEJyb3dzaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OmNhcmV0QnJvd3NpbmdFbmFibGVkS2V5KCkpKTsKQEAgLTMxMTAsNyArMzExMCw3IEBAIHZv
aWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYg
c3RvcmUpCiAgICAgc2V0dGluZ3Muc2V0QWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9s
bChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsd2F5c1VzZUFj
Y2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGxLZXkoKSkpOwogCiAgICAgc2V0dGluZ3Muc2V0UGFzc3dv
cmRFY2hvRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OnBhc3N3b3JkRWNob0VuYWJsZWRLZXkoKSkpOwotICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNo
b0R1cmF0aW9uSW5TZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpwYXNzd29yZEVjaG9EdXJhdGlvbktleSgpKSk7CisgICAgc2V0dGluZ3Muc2V0UGFz
c3dvcmRFY2hvRHVyYXRpb24oU2Vjb25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6cGFzc3dvcmRFY2hvRHVyYXRpb25LZXkoKSkpKTsKICAgICAKICAgICBz
ZXR0aW5ncy5zZXRMYXlvdXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihzdG9y
ZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bGF5b3V0SW50ZXJ2YWxL
ZXkoKSkpKSk7CiAgICAgc2V0dGluZ3Muc2V0TWF4UGFyc2VEdXJhdGlvbihzdG9yZS5nZXREb3Vi
bGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bWF4UGFyc2VEdXJhdGlvbktleSgpKSk7
CkBAIC0zODQ0LDcgKzM4NDQsNyBAQCB2b2lkIFdlYlBhZ2U6OmFkZFBsdWdpblZpZXcoUGx1Z2lu
VmlldyogcGx1Z2luVmlldykKICAgICBtX2hhc1NlZW5QbHVnaW4gPSB0cnVlOwogI2lmIEVOQUJM
RShQUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMpCiAgICAgTE9HKFBsdWdpbnMs
ICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGFk
ZFBsdWdpblZpZXcoJXApIiwgcGx1Z2luVmlldyk7Ci0gICAgbV9kZXRlcm1pbmVQcmltYXJ5U25h
cHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRlcm1pbmVQcmlt
YXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZW5k
aWYKIH0KIApAQCAtNDM4MSw3ICs0MzgxLDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRNYXlTdGFydE1l
ZGlhV2hlbkluV2luZG93KGJvb2wgbWF5U3RhcnRNZWRpYSkKIAogICAgIG1fbWF5U3RhcnRNZWRp
YVdoZW5JbldpbmRvdyA9IG1heVN0YXJ0TWVkaWE7CiAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdo
ZW5JbldpbmRvdyAmJiBtX3BhZ2UtPmlzSW5XaW5kb3coKSkKLSAgICAgICAgbV9zZXRDYW5TdGFy
dE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFU
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6cnVuTW9k
YWwoKQpAQCAtNTE1OSw3ICs1MTU5LDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKFdl
YkZyYW1lKiBmcmFtZSkKIAogICAgIG1fcmVhZHlUb0ZpbmRQcmltYXJ5U25hcHNob3R0ZWRQbHVn
aW4gPSB0cnVlOwogICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjog
dHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBkaWRGaW5pc2hMb2FkIChtYXJraW5nIGFzIHJlYWR5
IHRvIGRldGVjdCkuIik7Ci0gICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5U
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQ
bHVnSW5UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZWxzZQogICAgIFVOVVNFRF9Q
QVJBTShmcmFtZSk7CiAjZW5kaWYKQEAgLTUxNzEsNyArNTE3MSw3IEBAIHN0YXRpYyBjb25zdCBm
bG9hdCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5TZWFyY2hCdWNrZXRTaXplID0gMS4xOwogc3Rh
dGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtV2lkdGggPSA0MDA7
CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1pbmltdW1IZWlnaHQg
PSAzMDA7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
RGV0ZWN0aW9uQXR0ZW1wdHMgPSAyOwotc3RhdGljIGNvbnN0IGludCBkZWZlcnJlZFByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSBTZWNvbmRz
KDMpOwogc3RhdGljIGNvbnN0IGZsb2F0IG92ZXJsYXBwaW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEu
MTsKIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtT3ZlcmxhcHBpbmdJbWFnZVRvUGx1Z2luRGlt
ZW5zaW9uU2NhbGUgPSAuOTsKIApAQCAtNTI3OSw3ICs1Mjc5LDcgQEAgdm9pZCBXZWJQYWdlOjpk
ZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgIGlmICghY2FuZGlkYXRlUGx1
Z0luKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjog
ZmFpbCAtIGRpZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBwbHVnLWluLiIpOwogICAgICAgICBpZiAo
bV9udW1iZXJPZlByaW1hcnlTbmFwc2hvdERldGVjdGlvbkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMpIHsKLSAgICAgICAgICAgIExPRyhQbHVn
aW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICVk
cy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKKyAg
ICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBh
dHRlbXB0IGFnYWluIGluICUuM2ZzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
RGV0ZWN0aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAgICAgICBtX2RldGVybWluZVByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChkZWZlcnJlZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA2OTMwNTNm
N2Q4MmJhNGY5ZTg5ZWNkMTY5N2M4YTE2ZGI4YWJjMjQxLi5jZTY4OWRmYjUwZTU5MDYwODJiYTc2
ZjU1NzliNGZiYjI4NWNmYzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKQEAgLTMwMCw3ICszMDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Fsd2F5
c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEFjdGl2ZVBvcHVwTWVudShX
ZWJQb3B1cE1lbnUqKTsKIAotICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0lu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKKyAgICB2b2lkIHNl
dEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiAg
ICAgewogICAgICAgICBtX3BhZ2UtPnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxp
bWl0KGxpbWl0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpp
bmRleCA1OTRkOTAwZWZmMDIyMGY4M2NkYWYwYzNmZDk4YjllYmY3MTkyYmNkLi4zOTI2MGQ3NjI5
ZGVlYTc1YjA1MjQ2NTMyZTRhYTdkNDcxMWUzZGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEubW0KQEAgLTI4NSw3ICsyODUsNyBAQCBUaWxlZEJhY2tpbmcqIFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhOjptYWluRnJhbWVUaWxlZEJhY2tpbmcoKSBjb25zdAogCiB2b2lk
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aEltbWVkaWF0ZWx5KCkKIHsKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMG1z
KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAK
IHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXll
ckZsdXNoKCkKQEAgLTMwNCw5ICszMDQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVz
aFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IGF1dG8gaW5p
dGlhbEZsdXNoRGVsYXkgPSA1MDBtczsKLSAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxNTAw
bXM7Ci0gICAgYXV0byB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMg
PyAobV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBm
bHVzaERlbGF5KSA6IDBtczsKKyAgICBjb25zdCBTZWNvbmRzIGluaXRpYWxGbHVzaERlbGF5ID0g
U2Vjb25kcygwLjUpOworICAgIGNvbnN0IFNlY29uZHMgZmx1c2hEZWxheSA9IFNlY29uZHMoMS41
KTsKKyAgICBTZWNvbmRzIHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hl
cyA/IChtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6
IGZsdXNoRGVsYXkpIDogU2Vjb25kcygwKTsKICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVy
Rmx1c2ggPSBmYWxzZTsKIAogICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJv
dHRsZURlbGF5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmlu
ZGV4IDU4ZDhhOWFjYjBjM2Q4YTZlNjQwOTRmZWZiZTk2MjAyYjg0ZTYxZTkuLjQzYWRlMzZmOTZj
MTI1MTM0MjRkZTRiZGU0ZDhhM2Q2NWIwNDkyY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNDcyLDcgKzQ3Miw3IEBAIHZvaWQgVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UoQWN0aXZpdHlTdGF0ZTo6
RmxhZ3MKICAgICB9CiAKICAgICBpZiAobV93YW50c0RpZFVwZGF0ZUFjdGl2aXR5U3RhdGUgfHwg
IW1fbmV4dEFjdGl2aXR5U3RhdGVDaGFuZ2VDYWxsYmFja0lEcy5pc0VtcHR5KCkpCi0gICAgICAg
IG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0
ZUFjdGl2aXR5U3RhdGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IGRkMDBhMThkOWI2MjE2NWQ5MzYyYTk4MmU0ZmU3NjU4ODcxZTUxOWEu
LjU2NDAxMzAzNjkwMDM3NDFmYjgwZjEzMjhlNTQ3ZWJlNjIxZDU1YWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogc3RhdGljIGNvbnN0IGRvdWJsZSBwbHVnSW5BdXRvU3RhcnRFeHBp
cmF0aW9uVGltZVVwZGF0ZVRocmVzaG9sZCA9IDI5ICogMjQgKiA2MCAqIDYwOwogCiAvLyBUaGlz
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgaW4gVGlsZUNv
bnRyb2xsZXIuCi1zdGF0aWMgY29uc3QgZG91YmxlIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERl
bGF5ID0gMTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBE
ZWxheSA9IFNlY29uZHMoMTApOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjExLDcgKzIx
MSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgICAgICBpZiAobV9zdGF0aXN0aWNz
Q2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAot
ICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjpzZWNvbmRzKDUpKTsKKyAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDUpKTsKICAgICB9KTsKIH0KIApAQCAtNTM4LDcgKzUzOCw3IEBAIHZvaWQg
V2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKICAgICB1bnNpZ25lZCBjYWNo
ZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0g
MDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07
CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogICAgIHVuc2ln
bmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogICAgIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoY2Fj
aGVNb2RlbCwgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVN
YXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBhZ2VDYWNo
ZVNpemUpOwogCkBAIC0xMjQ0LDEwICsxMjQ0LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlv
CiAgICAgfQogfQogCi12b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxp
bmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCit2b2lkIFdlYlByb2Nlc3M6OnNldEhp
ZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiB7CiAg
ICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQotICAgICAgICBwYWdlLT5z
ZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKG1pbGxpc2Vjb25kcykpOworICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGlt
ZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09D
T0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0MWJmZDU0
ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFhMWYyN2I1YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3NTY2ZGIz
ODM0ZWY3YzRmOTA3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBA
IC0xODgsNyArMTg4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygp
OwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChp
bnQgbWlsbGlzZWNvbmRzKTsKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJ
bmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmRJbW1p
bmVudGx5KGJvb2wmIGhhbmRsZWQpOwogICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4
IDZkNzZlNTgzMjZlZDM1MjRhYWM1YTk4NmM0OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4YTZlNGE5
NzA2YjFmYzFkNjY5YjFlMWM2Yjc4MjAyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVzc2FnZXMg
LT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURhdGEoV2Vi
Q29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFU
eXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3Bv
aW50IG1vZGlmaWVkU2luY2UpIC0+ICgpCiAgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5z
KFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVE
YXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YT4gb3JpZ2lucykgLT4gKCkKIAotICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJ
bmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCisgICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhy
b3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICBTZXRQcm9jZXNzU3VwcHJl
c3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTZXRRT1Mo
aW50IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg3NjMwMzA0ZGQ5NWM0N2VkN2QxY2UwMTNm
YmZlNGZiNmMzNDMyZWQuLmQ2MDRkOTlhNWEwNWFmZjA3OGYyZWRlOWI3MWFiYjJhNzNiZTQwOGMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNi0xMS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTYtMTEtMjQgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNh
dGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE5vdGlmaWNhdGlvbnMgQVBJIGRv
ZXMgbm90IGV4cG9zZSBvciByZXNwZWN0IHRoZSAidGFnIiBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5
OGVlODA1Y2M2ZmZlZDZmZTNkYi4uNzk0YjM5YTljOGUxYWQzYWM5YTZjNTM3OTg5NDRlMjg5OWI0
Yjc2MSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1
LDcgKzk1LDcgQEAgVEVTVChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAg
ICAgICBEZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3Rh
cnRPbmVTaG90KDAuMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAuMSkp
OwogICAgICAgICBVdGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQpAQCAtMTI5LDcg
KzEyOSw3IEBAIFRFU1QoV1RGX1J1bkxvb3AsIFJlcGVhdGluZ1RpbWVyKQogCiAgICAgewogICAg
ICAgICBEZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3Rh
cnRSZXBlYXRpbmcoMC4wMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMo
MC4wMSkpOwogICAgICAgICBVdGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>295444</attachid>
            <date>2016-11-26 16:06:07 -0800</date>
            <delta_ts>2016-11-27 09:44:49 -0800</delta_ts>
            <desc>Archive of layout-test-results from ews103 for mac-yosemite</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1037620</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
ZgWXbFy0+DROHbCJ/rBu6vKiO2ddQpbzlX8BUEsDBBQAAgAIAOp5ekk6bDm6pgABAIAgAQAlABwA
Y29tcG9zaXRpbmcvdmlkZW8vcG9zdGVyLWV4cGVjdGVkLnBuZ1VUCQADhxc6WIcXOlh1eAsAAQT1
AQAABBQAAADsvFVYnN2zPYgFCR6coI17cHdp3C24Bnd3Da7B3d0J7q7B3T24e2NDzpxzfvm+/+3c
zDzTNzzddL9dVbv2qlW1dr+h8rJAxI+4H8HAwBAlxEUUwcAgicDAINRhod9fSXX2t33/Q+Uoqu5o
aGpsaOHgZAVm8MWAkYmTg82IxYCThZWThfMLKxsbKyMb2xdWViY2FsYFKgi89w+BOygChcAqx/EO
wcAEwCREBJVdwU8yPrjSjtnVq02/eAcP2+FF4X/774dz8iMc8/sjrxdvUL+hKv9lwqPUwrnOxYVM
e5Yio0ONm3dtbm7O5FuBktIar4dUgagiCiyEIBEslB8RCpS/wJ8nm/RE1T5YIHGsf778/gScBAWG
lF3o359wQfTjIHJBPHJE/89b/+9/4sWsQv77KqusUNu+q6zFMwr/vo6dgD3yP7/Qj8h2ASUE0n4h
Wxb47+v0gQ/zovzrC7u0hYmQhrQDuPA//Os674bfC/y/0XBbTfyYTlBZp8bzxNvzhKqyz9u9j88l
4dsloeYxg2b/2+v5G/3rNsPrdi2ixbFrVHQ0ls8N0Keu/lVW7fma/+16O/rtIdrF+brIB1QU/vbU
+bZCFTfSGtz17I6Hj0/nfavm41SjRW+z5AvkPVIIz3p7zOo05mXP892w83lZ8PFilmHQSut8/5zu
88P7lbZ1X/d0z1Ktil7wmy2CVnujrPds9s6fx89pXw+zXg+j1H1o7tk2zvmfe/nbSJxFzd7duOeH
knUS0HmZ0/W6NJK7MwpfcMtY+NrWr9nWv725qXfpKHfvGM7u8ZNds22bpmN7GxzZtWtbqvNGCuv8
MfO82TW1yC21f+NlbcNKdMtY57cxZtbt16z6+lcmFc9BF8/BbarMbSrMrEucLLuUoHonWg4Chhsh
hjrXHXbvnQoml5btPL6jPMyqp5aq1prPr0Sdo61to9t/bMX6E7oOBfLvLsh+Mgs7+95n+5gMFxAM
tqOkHyh+i+rsijasw7vYx+tes+r+dJ0MIKh7qDwHVXIvjWlPvSxlvSyF27zd2TSS3JdPgMrh01u4
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
AAAALAAAAD4AHABjcnlwdG8vc3VidGxlL3JzYS1nZW5lcmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMtc3RkZXJyLnR4dFVUCQADjRc6WI0XOlh1eAsAAQT1AQAABBQAAABDb3VsZCBub3QgZ2Vu
ZXJhdGUgYSBrZXkgcGFpciwgc3RhdHVzIC00MzA0ClBLAwQUAAIACADteXpJMDu4sUsAAABoAAAA
PAAcAGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtc3Rk
ZXJyLnR4dFVUCQADjRc6WI0XOlh1eAsAAQT1AQAABBQAAABty7ENgDAMRNGeKW4fGlawZEuxgDhy
LkRsDw0d9X9/S7+Eht3ujuksMQhRdXpUOaBCgaShBtFHa5E0XdaP44w3skgFZ6Cln9Z/hgdQSwME
CgAAAAAA7Hl6SQAAAAAAAAAAAAAAAA8AHABjcnlwdG8vd29ya2Vycy9VVAkAA4wXOliBGjpYdXgL
AAEE9QEAAAQUAAAAUEsDBAoAAAAAAOx5ekkAAAAAAAAAAAAAAAAWABwAY3J5cHRvL3dvcmtlcnMv
c3VidGxlL1VUCQADjBc6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMECgACAAAA7Hl6SSXg0wgsAAAA
LAAAADEAHABjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRlLWtleS1zdGRlcnIudHh0
VVQJAAOMFzpYjBc6WHV4CwABBPUBAAAEFAAAAENvdWxkIG5vdCBnZW5lcmF0ZSBhIGtleSBwYWly
LCBzdGF0dXMgLTQzMDQKUEsDBAoAAAAAAOt5ekkAAAAAAAAAAAAAAAAFABwAY3NzMy9VVAkAA4oX
OliBGjpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAOt5ekkAAAAAAAAAAAAAAAANABwAY3NzMy9m
bGV4Ym94L1VUCQADihc6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA63l6SQAAAAAAAAAA
AAAAABMAHABjc3MzL2ZsZXhib3gvY3Nzd2cvVVQJAAOKFzpYgRo6WHV4CwABBPUBAAAEFAAAAFBL
AwQUAAIACADreXpJcWMZiqwAAAAUAwAALAAcAGNzczMvZmxleGJveC9jc3N3Zy9GbGV4aWJsZS1v
cmRlci1zdGRlcnIudHh0VVQJAAOKFzpYihc6WHV4CwABBPUBAAAEFAAAAO2PsQ6CMBRFd7+iIw5Q
qaBi4qBEEwcjCSMx5FlesFopea0m/L0YB/0AR5I73Dude4owXvYRIoiT6MSUwzvYrpFlji4j0yK5
jllVN6A1VgyJVn4o5ouYebedqjdg8Xi+onRbIkPlvnmCVhU4rMbMU78LHOO5eZDEFOQFeWoID1gp
+DY/jGciENGE92hnXNei5ZmGDon3sE8r1+9/gWRaNciESKajYpAYJP4n8QJQSwMECgAAAAAA73l6
SQAAAAAAAAAAAAAAAA0AHABkaXNwbGF5bGlzdHMvVVQJAAOSFzpYgRo6WHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACADveXpJo1f96FAAAACOAAAAMgAcAGRpc3BsYXlsaXN0cy9leHRlbnQtaW5jbHVk
ZXMtdHJhbnNmb3Jtcy1zdGRlcnIudHh0VVQJAAOSFzpYkhc6WHV4CwABBPUBAAAEFAAAAHMvSizI
yEwuds7PK0mtKLGySk8tcQ7x1dBUyCxWyMsvUahMLVFIzs8tSCzJTMpJVSjPLMlQKEpNzi9KycxL
B8qAtRXrcbmjG1SMZhAxhgAAUEsDBBQAAgAIAO95eknylpXVRwAAAEkAAAApABwAZGlzcGxheWxp
c3RzL2xheWVyLWRpc3BheS1saXN0LXN0ZGVyci50eHRVVAkAA5IXOliSFzpYdXgLAAEE9QEAAAQU
AAAAcy9KLMjITC52zs8rSa0osbJKTy1xDvHV0FTILFbIyy9RqEwtUUjOzy1ILMlMyklVKM8syVAo
Sk3OL0rJzEsHyoC1FetxAQBQSwMECgAAAAAAAXp6SQAAAAAAAAAAAAAAAAgAHABlZGl0aW5nL1VU
CQADshc6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAMnp6SQAAAAAAAAAAAAAAAA4AHABl
ZGl0aW5nL2lucHV0L1VUCQADDxg6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAInp6SZek
ZaLJAAAAZwEAAC8AHABlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtYWN0dWFs
LnR4dFVUCQAD8Bc6WPAXOlh1eAsAAQT1AQAABBQAAAClkEFqwzAQRfc+xd85gWJa6KJ4Fxq1GNKm
4FxAlUaNQJ0JIwnj21fuEdrdwOc//pvn8/t8Phm8mXk+vJoRKTLh6XHEZb2RURUdsUT2sgyRCynb
lIdMpUT++j0+bM6LqDfuKseqtkThiWdywj4jZrAUWITKbosG7CZG/3fk7n542Pd3/0H026zKnkKT
9fvu5TCdmnD8Jg+pBYuNGwhBdFsfw3qU9pUi+CQ4mxL57kK5NL2AyLdWcVerGVYJmVzVBnKiSq6k
FV3X/QBQSwMEFAACAAgAInp6Sb3Be4piAQAAVAMAAC0AHABlZGl0aW5nL2lucHV0L3Bhc3N3b3Jk
LWVjaG8tcGFzc25vZGUtZGlmZi50eHRVVAkAA/AXOljwFzpYdXgLAAEE9QEAAAQUAAAAxVJLSwMx
EL7vr5hbK9tsLKhIQdhqVyk+Kq7Yc5rM2kCaLMmEtv/e7Po8eFLQUzIM33yPGcYY8Cdn4gYDnwkS
vFrWfImra01vz3nURvEHNCgCciP2LhIjDMQ8hmgocFSatH3m2raReCtC2DqvGMq1Y11lnUKGuxYl
oSpoR1me539EKyRFYXrSsgQ2Hp1APh4dQ1lm+cXirl7cVHBb1fX0qpqA0Rbh9GgCj/sWK++dn8BW
W+W2hbaE3goTioDU0faf+zfSKnHOoheknZ3bGqWzKoAOYB2BgCZa2bUKGM4tDH4+cnhYjA8Go9+M
GHSyolXYJLPqIMsvp/Ob5FhvUEHKGLaijxUa5zv5utnPXIqFHKwQpDAGVQaPaRHJYAN9+CDXwgcQ
HiGgjD5Nks77tG+zhwwyVkcpMYTJR9vr53VKpknyC3g/jbMmOcERvO7stfoG26NAYbqJL1jy8RPa
Ff/EmmcvUEsDBBQAAgAIACJ6eklPzip2agAAABUBAAAxABwAZWRpdGluZy9pbnB1dC9wYXNzd29y
ZC1lY2hvLXBhc3Nub2RlLWV4cGVjdGVkLnR4dFVUCQAD8Bc6WPAXOlh1eAsAAQT1AQAABBQAAADF
zd0JwkAQBOD3VDEFBAsQrEIbWPbmzMGhYX/AdG9UiIIF5HGY+ZgLPRytot3mDOgk5hAjnJrGAr2b
UaMvGIZzqtL9uJXWrlNAatAO4GNehyynKt05QjRS+if90zdCYZflh4blV77CLp9PUEsDBBQAAgAI
ACJ6ekmc3erHZQgAAPQdAAA1ABwAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2Rl
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
aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUzLWFjdHVhbC50eHRVVAkAA9EXOljRFzpY
dXgLAAEE9QEAAAQUAAAApZBBasMwEEX3PsXfOYFiWuiieBcatRjSpuBcQJVGjUCdCSMJ49tX7hHa
3cDnP/6b5/P7fD4ZvJl5PryaESky4elxxGW9kVEVHbFE9rIMkQsp25SHTKVE/vo9PmzOi6g37irH
qrZE4YlncsI+I2awFFiEym6LBuwmRv935O5+eNj3d/9B9Nusyp5Ck/X77uUwnZpw/CYPqQWLjRsI
QXRbH8N6lPaVIvgkOJsS+e5CuTS9gMi3VnFXqxlWCZlc1QZyokqupBVd1/0AUEsDBBQAAgAIABF6
ekmuO3jOWgEAAN4CAAAuABwAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1k
aWZmLnR4dFVUCQAD0Rc6WNEXOlh1eAsAAQT1AQAABBQAAAC9Us1OAjEQvu9TzA3I0q1ETAyJCSir
IaIYl8i5tLPQpLSknQZ4e7srejIeNPHUTiYz398wxoC/ORN3GPhUkODlquIrXD9qOj+3URvFX9Gg
CMiNOLlIjDAQ8xiiocBRadJ2w7XdR+J7EcLBecVQbh1rKusUXjI87lESqoKOlOV5/l+4QlIUpkUd
j4EN+kPIB/0rGI+z/G7xXC3mJTyVVTV5KEdgtEW4Ho5gedpj6b3zIzhoq9yh0JbQW2FCEZAa3Pbz
ckYtE+g0ekHa2ZmtUDqrAugA1hEIqKOVTauA7sxC5/cruxfFoNfp/2VFp6EVrcI6iVW9LL+fzOZJ
sd6hgmQyHETrK9TON/R1fZq6ZAs5WCNIYQyqDJYpiSSwhtZ9kFvhAwiPEFBGnzZJ530K3Jwgg4xV
UUoMYfTV9nqzTc7UiX4Bn7dxQz5iHz4ia4tvJtsZUJhO4sfJPHsHUEsDBBQAAgAIABF6ekkbdTjw
YQAAAJ8AAAAyABwAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1leHBlY3Rl
ZC50eHRVVAkAA9EXOljRFzpYdXgLAAEE9QEAAAQUAAAAfctLCoNAEIThvaeoA4QcIOAp4gWanlIH
BjP0A+LtFRfZBFwWf30TPRx1Rt16BnQVc4gRTk1jgX7MqNF2DMM7Ven++kWryxqQOWhP8NvPI8sY
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
iNODhOK/iPPh4gwjM9D9wMLOuqM5rzXMu5a5MjPv1c8BKTmOiURAG7+JHk96JbCvqbCzyxBGPU8I
HVNKRiDhtH7usIC2eJ1MQt/2XmQylYllRgAL+6Zjrzthah9FQR3nLBdy+9g+OCE8p80NwpQUlKQR
ItckUQXe49ULBes16fKIFGM5UUJ6hdTYTaF7SizbqmL1Y3NQUoPUshqmxooTzsZcXehZqx7Xwruq
Z6NB6XPg1VXuGUAPZQbb3csMI5TE1Xgi0eDwx7P+6c+vkZhU9eMkKGVXRQsmJ9Rt7FuB3XU31fbV
lPz3vps6pSz0/EVf1UKZ81S3duf4IUjej/9bSMYPAu9+65jT+Pve2p0TGS65691buwvqXm7tvtza
fbm1+3Jr9+XW7pPe2rX8yPWhGwrdxYOKmyWPe0uL/wNQSwMECgAAAAAAC3p6SQAAAAAAAAAAAAAA
AAUAHABmYXN0L1VUCQADxRc6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA/Hl6SQAAAAAA
AAAAAAAAAAwAHABmYXN0L2NhbnZhcy9VVAkAA6wXOliBGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIAPt5eknBOHuNrgAAAN4DAABMABwAZmFzdC9jYW52YXMvY2FudmFzLWNzcy1zaXplLWFmdGVy
LWhlaWdodC1jaGFuZ2Utd2l0aC1kaXNwbGF5LWZsZXgtc3RkZXJyLnR4dFVUCQADqhc6WKoXOlh1
eAsAAQT1AQAABBQAAADtj8EKgkAURfd9xSxroaOmZkGLkoIWkdBSQl7jw6YmR95Mwfx9RouCfkG4
i3tX554yTBZ9kqk/T+MTkxbvYFwrqlx3riDdIVnHjGxaUAprhkRLL4xmWcLGt61s1mDwcL6isBsi
TdWufYKSNVisJ2wsfxdYxo/6QQJzEBfkuSbcYy3h27wwSSM/igPeo622rkPDCwUOifewT6tW74O+
YEq2yKIgy0blYDFYDBZ/Fi9QSwMEFAACAAgA/Hl6SdLrV1GGAAAAGgEAACYAHABmYXN0L2NhbnZh
cy9jYW52YXMtbGluZURhc2gtc3RkZXJyLnR4dFVUCQADrBc6WKwXOlh1eAsAAQT1AQAABBQAAADN
jj0KwkAUBntP8V3AYAwJZBGbRGwkhdqJxdN8YGDzVl428ef05hjCNDPVNGHCukCau5m8AF9DusoS
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
AVBLAwQUAAIACAASenpJ+VAmCYQAAADAAAAAPQAcAGh0dHAvdGVzdHMvY2FjaGUvbmV0d29yay1l
cnJvci1kdXJpbmctcmV2YWxpZGF0aW9uLXN0ZGVyci50eHRVVAkAA9QXOljUFzpYdXgLAAEE9QEA
AAQUAAAAncyxCsIwEIDhvU9xoy5iG1MwiEtdHCyCg4I4xPSMgXAnybXi2xtfwfXn5+t5gqaFWpu6
NUoDvnO9VIvIzkZI4hK+OEkgf103aqVvsNnhffRbAxlpOGDO1uM5yLOzgp7Tx8CMxhjnVf+3HCjI
jzwVPTDt6cEGLscOHBOhk9LKM9kYhuoLUEsDBAoAAAAAAA16ekkAAAAAAAAAAAAAAAASABwAaHR0
cC90ZXN0cy9jYW52YXMvVVQJAAPKFzpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAANenpJ
AAAAAAAAAAAAAAAAGAAcAGh0dHAvdGVzdHMvY2FudmFzL3dlYmdsL1VUCQADyhc6WIEaOlh1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgADXp6SYQSanHMAAAANwIAADsAHABodHRwL3Rlc3RzL2NhbnZh
cy93ZWJnbC9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2Utc3RkZXJyLnR4dFVUCQADyhc6WMoXOlh1
eAsAAQT1AQAABBQAAAC1kDFPAzEMhWf6KzzS5dS7iqJGiIHrQCXaDTGgDr7ETaMGu0p8rfj35ICN
qTqx2Zbe9/zeVs7QLKC+M/XClIEuuZ7NqygWIyS1iU6SNLB/XzbN8n4HD2vey6OBKN6XM2TFpLmq
qsn2atSKut4XVibdUM7o6eWH+lRERwNFGMmNAQ/PtcL74PuEGoTfgh5a+ThFGrZnZBcpGWjRHsjB
DIixK57QoT0Suzwu1WumNPS1ClbNH7aB28nNdJQDu9/ivnOhkpf0Wbjcx/if5C9QSwMECgAAAAAA
Dnp6SQAAAAAAAAAAAAAAABcAHABodHRwL3Rlc3RzL2V2ZW50c291cmNlL1VUCQADzBc6WIEaOlh1
eAsAAQT1AQAABBQAAABQSwMECgACAAAADnp6SZMG1zIBAAAAAQAAAE0AHABodHRwL3Rlc3RzL2V2
ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtYWN0
dWFsLnR4dFVUCQADyxc6WMsXOlh1eAsAAQT1AQAABBQAAAAKUEsDBBQAAgAIAA56eklPoh0Q0AAA
AJ4BAABLABwAaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVy
aW5nLW5hdmlnYXRlLWNyYXNoLWRpZmYudHh0VVQJAAPLFzpYyxc6WHV4CwABBPUBAAAEFAAAAM3O
zUrEQAwH8HufIveapt2L0lNdHTz4seCAe47TsC2MM6WTWda3ty0i+gaSQ0IS/vwQEegt+vwhie5Z
mczR0lHeH0f9bvs8+p5exQsnIc+fMSuqJMVZUvaaaFCdaN0kkrMETTHPTn7Py6uLIYhT7PM8hhMG
Po8nVkE3cxpQLtNylL7SixZlWf4LFDvN7DdS1wE2VzsoG+i6Au8OL/bwZODZWHv7YFowa6zdYsFx
CFHBR+5hVbREze66qpdq2pu6rv+AFu82JPrhVNMwVVBA8QVQSwMEFAACAAgADnp6SZETBl5cAAAA
ZgAAAE8AHABodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJp
bmctbmF2aWdhdGUtY3Jhc2gtZXhwZWN0ZWQudHh0VVQJAAPLFzpYyxc6WHV4CwABBPUBAAAEFAAA
AHP29wv293FV8HUNDnZ0d7VScC1LzSsJzi8tSk5VSE7My8svUcjJT0xRyCgpKbDS1zc0MtczAEJD
KwsDAwP9VJDqYrBq/aJUCKMYyErOz8tLTS7RK8go0FPg4gIAUEsDBBQAAgAIAA56ekn+93KokAcA
AHwXAABTABwAaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVy
aW5nLW5hdmlnYXRlLWNyYXNoLXByZXR0eS1kaWZmLmh0bWxVVAkAA8sXOljLFzpYdXgLAAEE9QEA
AAQUAAAApVhpb+Q2Ev3uX0HY2BgIrKNt96SPmQ4ydnsXyIntYPMxoCSqxTElKiRltye7/z3FSy2p
JXsWmcFMS2SRrONVvaLeF6pkm7P3BcEZ/JREYZQWWEiiPlw2Kg8WlzAs1Qsjm7MVo9XjFVo9UUkV
ydCfZwj+KHJQQUZSLrCivFqhildkbaYSLjIigoQrxcsVmtUHlMEzydZn/zuz27lNUs64WKGL+GZp
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
ZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWFjdHVhbC50eHRVVAkAA8wXOljMFzpYdXgLAAEE
9QEAAAQUAAAAFYxRCoMwEAX/9xTvBB7AP6EKQqmF9ASNWxqI+0qytnj7xt+ZYR5aHeNXzQP3EhVF
vRzwtCk+RWOqidYhvLnntZFkjvsQAl7MmT9d8TxwWW5jJzIN87Vvg0gzjd6ck6ikyVmI/AFQSwME
FAACAAgADnp6SciGNGPhAAAArwEAADsAHABodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXJldHJ5LXByZWNpc2lvbi1kaWZmLnR4dFVUCQADzBc6WMwXOlh1eAsAAQT1AQAABBQAAADF
kMFOwzAMhu95Ct9DGnHYZacOrUiICRBB7Jw1nhbJjavGgfXtSSsEvAEX2/rt/9MvG2PAvjOVAbPd
e/G2Ozp7xNNjlO92VyIF+4qEPqMlP3MRI5jFTJgLSbYXkdEuSrb4gUkyl6nHv3M9lWk244R9zJGT
weuIvWBo5CpKa/0vIXwvxdMaoW3B3N5sQC+lbRW8VRJ0i9mtZljNIHFA+CE04C5cKFQlJoGXnXNw
ZiL+xACnGfbPT12jQJlls4UQAyQWiMOAIXpBmiu255TqL5S+3z0ctr9CRQgzZOakVlIFfQFQSwME
FAACAAgADnp6SYcAMMhnAAAAdgAAAD8AHABodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXJldHJ5LXByZWNpc2lvbi1leHBlY3RlZC50eHRVVAkAA8wXOljMFzpYdXgLAAEE9QEAAAQU
AAAAFcxBCsIwEIXh/ZzinaAHcCfYrQrxApo8cSCZkXSq5PZttx8//4NLYP7RIvnaM9EZfSC0Ed/O
rIu6TUgfX2vZRS1wP6eEt9fqfxa8Bi636zyJHH5C0QLzgLbGos9gHfs0uxlzyJGKbFBLAwQUAAIA
CAAOenpJZoYOovIHAACqGgAAQwAcAGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2Ut
cmV0cnktcHJlY2lzaW9uLXByZXR0eS1kaWZmLmh0bWxVVAkAA8wXOljMFzpYdXgLAAEE9QEAAAQU
AAAAvVlrb+O4Ff2eXyEkaAMsIsmO7WnsZFzM5IEWu90O6kH3Y0GJlMUJJbokldjT7X/v5UuWZMk2
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
SI100dJm+hD4ea60d8+TrmzIHVV9cobqvy8Tubk/oj9chJdfQCN4mHdwWeNrAfUUQymFgg4MhSnU
F7az84ASaKGEyD5pw7YVoJKeNoETOqr/Ed34GYay+gNlL18eYv0w75/+/FPja2HfG7rqTwhmuHNB
0eelk/1/RtFvVRCmZ1huOmw5ncu/bSrPzgA0+9+kcudhSAZKufknqv8AUEsDBAoAAAAAAA16ekkA
AAAAAAAAAAAAAAATABwAaHR0cC90ZXN0cy9maWxlYXBpL1VUCQADyhc6WIEaOlh1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgADXp6SXrr6VuFAAAAwAAAADIAHABodHRwL3Rlc3RzL2ZpbGVhcGkvYmxv
Yi11cmwtaW4tc3ViZnJhbWUtc3RkZXJyLnR4dFVUCQADyhc6WMoXOlh1eAsAAQT1AQAABBQAAADz
yy9TMDJTMDS1MjSzAjJSy4sNDYz1cvKTE3MUikqSi1IL8otKMvPSoy2NjCzNYxVsXFKTStPtrBSK
U/NSfFOLixPTU8MzSzKcE0tS0/OLKq0UNPJKc3I0ufzINjkzL7MEZGQw0PTM/DzPvLR8K4WIAGeF
5Py8vNTkEqAYUE1ZYk5mChcAUEsDBAoAAAAAAA96ekkAAAAAAAAAAAAAAAAVABwAaHR0cC90ZXN0
cy9pbnNwZWN0b3IvVVQJAAPNFzpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAPenpJAAAA
AAAAAAAAAAAAHQAcAGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvVVQJAAPNFzpYgRo6WHV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACAAPenpJbZB4A94HAABgKwAANwAcAGh0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2UtdGltaW5nLXN0ZGVyci50eHRVVAkAA80XOljNFzpYdXgL
AAEE9QEAAAQUAAAAxVprb9u4Ev3eX0EIWCDZtWVSb3mRD75Jths0SYPYRS/QFgtaom3d6FVKStMt
/N93qIctW27QW8pZNE0pkhqeczgcDku94uxzwbJ8jL4pga+MNWOgRCxfJVBW7os4DyKmskcaFjRn
ykBJKadRpoy/Kewp5SzLgiSGnjMwcUeXTKW+f8+yIsxPiphlHk3ZyUflo3J6Cu8m8/8xL3/NkyKF
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
12g55ioBR/iefnX6uLzybgvjdDgcDYAdjIfTyXR0MuG/bFPeeU+WXyxRKynLzZsIv/5D+g1QSwME
FAACAAgAEnp6SVs3hXXJAQAAnwUAAEEAHABodHRwL3Rlc3RzL21lZGlhL2hscy9obHMtYXVkaW8t
dHJhY2tzLWxvY2FsZS1zZWxlY3Rpb24tc3RkZXJyLnR4dFVUCQAD0xc6WNMXOlh1eAsAAQT1AQAA
BBQAAADNVMFq20AQPddfMcfmEixLNrVaDI7StIXYGExIIZQy1o6kxatddXdkk7/vrNNARA6FhoL3
puHNm9F7b3ftDjCZQTLNk1meZkDHkIzTS+NKNOC59NQ5z9rWD/NJOkl/wKdr2vX1IodAVq0oBKzp
XnNTIFPt/GMO721vzMVofYbM2mqOlFth185+s5XL4fumgNJZSyVLTTAHNFqNHp75L5Mkcmw/f9nc
rTYLWDJT2/Ga+Oj8fuWE0/ktcd/lYB3L+hyHQ9+BfcJA+wT6CKiUl9mgA5zWHUzJ/tuUt3jBf6y4
dXUtiCtp2ucgjYZeijRPx9ImB250vWVP2G4MPpKHhRyouir8XBomb8XOWx24aNDWpISqcS7EX4nu
aFkIn2FSASPQwZjkHFVi9Fw4W+m69xhjdAquaztD8esrWmXI51Bg2ZCCMZDFnQgIOyz3EvfwNovu
AvkY5mtdcv6KWy7O6N3FQMRBoFekNN5oQwWasjci/NX90qqioXJfoCi5Igy9PzFaddSKmyhaLR6L
UcBiZFSABSCGHdBrtBx9FYOj+J5+9XrYXnnXwizNsmkC7GCWzT/Mp682/Jc0Fb33ZPlFiDpxWSpn
+SD9jfk3UEsDBBQAAgAIABJ6ekl3wBvLxgEAAEUFAAAwABwAaHR0cC90ZXN0cy9tZWRpYS9obHMv
aGxzLWF1ZGlvLXRyYWNrcy1zdGRlcnIudHh0VVQJAAPTFzpY0xc6WHV4CwABBPUBAAAEFAAAAM2U
QWvbQBCFz/WvmGNzCZZlu5FaDI7StIXIGExIIYQy1o6lxatddXdkk3/fWacBB98aGrI3LW/ejN43
0sLtYDSFZJIn0zydAO1DMkzPjavQgOfKU+c8a1vfZ6N0lD7Alyta9/Ush0BWlRQC1nSnuSmQqXb+
MYePtjfmbLB4h87aao6WK3HXzv6wG5fDz2UBlbOWKpY70ezQaDW4f/Y/H2YX4rH6+m15Wy5nMGem
tuMF8d75benE0/kVcd/lYB3L+BybQ9+BfdJA+yT6DKiUl96gAxzGfaMur2HBf1HcuLoWxaUUbXOQ
QkPHISXDT1ImB651vWJP2C4NPpKHmRzYdJvwa26YvBWcNzpw0aCtSYlV41yIrxLpaBkIn2VyA0ak
J23eXUqMngtnN7ruPcY1OiyuaztD8ek7WmXI51Bg1ZCCIZDFtQQIa6y2su7hdYhuA/m4zFe64vzE
Wz6cwYezFyFmxyGWpDRea0MFmqo3Evzl3dyqoqFqW6AkWRKG3h8crdprxU0MrRbGAgpYQMYEWAQC
bIdeo+XIVQDH8D397vXL8o13LUzT8XiSADuYjrOLbHIy4b9sU9F7T5aPlqgTynLzH39IfwBQSwME
FAACAAgAEnp6SbbrVB8mAQAA3gMAACwAHABodHRwL3Rlc3RzL21lZGlhL2hscy9obHMtcHJvZ3Jl
c3Mtc3RkZXJyLnR4dFVUCQAD1Bc6WNQXOlh1eAsAAQT1AQAABBQAAADNk0FrAjEQhc/1V8yxvYju
qtS0CO1a2kIVQaQF6SFmxxg2m1mSWaX/vlm10NKjCB4T3nxvMvMypS0kA+j2RXcg0j7gLnQ7aduS
khY8K48VeTZOL4dJmqSfcD/GVa1HAgK6fIIhSI3vhjeZZNTkvwRcu9ram9b0AsnGGW6Q80g35F7d
mgR8zDJQ5BwqjndRs5XW5K3lD7+d3PYiY/70PFtMZiN4YMay4inyjnwxocgkP0euKwGOOLbPjTnU
FbiDBsqD6A5knvvoDSbAvt0/Lv2zuZyyCz6u4o20jorHWFQIiIUWfw9p2LvI9ll6zsitja69bPa7
TxSVlcXm9CJdbtELyKTaYA4dQCdX8WWwkqqIOQynzW4R0DcpGxvF4h87Jrp1dc6f8g1QSwMEFAAC
AAgAEnp6ST1CQoJwAQAAKgYAADoAHABodHRwL3Rlc3RzL21lZGlhL2hscy92aWRlby1jb250cm9s
cy1saXZlLXN0cmVhbS1zdGRlcnIudHh0VVQJAAPUFzpY1Bc6WHV4CwABBPUBAAAEFAAAAO2UT0sD
MRDFz/ZTzFEv0t21VaMI2ooKdlmooiAe0uzsNjTNLMms4rd3tioonvyDevCY8PKbNzOP5HQH6RCS
gUqGKhsC3sekn206MtpBYBOwocDW1ze7aZZmt7A/xllbHyiI6MsJxqhrvLI8H2nGmsKDgnXfOrfR
yz9Ntt5yh5wK3ZI/8xUpuC5GYMh7NCx3ornTzpa9mxf+ZpJtC2N6fFJcTooDOGTGZcM58j2FxYSE
SWGK3DYKPLHY5644tA34Jw0sn0R7oMsySG2wEVZ2f6hK/oVd8PMqzqmuRXEkjxYK5KHDN0PaGvxF
+6wDj8hXtm6D7va7ShQtG4fd6VT70mFQMNJmjiX0Ab2eSWcw02YhOYxfm91lxNClbGwNq3dsSXRv
baO3bLBOGx1ECwXGIpCR9i9iobtBG8AQKEguoTgbQ9JPIc6pdYJBSLJuSn2orEOgqpKSkG0PP4pM
XiEH74mDnXTn3+U3usz/4N/4e+RHUEsDBBQAAgAIABR6ekk+zBGYLQAAAC4AAAA8ABwAaHR0cC90
ZXN0cy9tZWRpYS9obHMvdmlkZW8tZHVyYXRpb24tYWNjZXNzaWJpbGl0eS1hY3R1YWwudHh0VVQJ
AAPXFzpY1xc6WHV4CwABBPUBAAAEFAAAAONyDXP1C9EoLknMyUlN0VQIcQ0O0UhLzClO1VRwc/T0
4XL1c1HwdwOLc3EBAFBLAwQUAAIACAAUenpJplfZlzQBAADIAwAAOgAcAGh0dHAvdGVzdHMvbWVk
aWEvaGxzL3ZpZGVvLWR1cmF0aW9uLWFjY2Vzc2liaWxpdHktZGlmZi50eHRVVAkAA9cXOljXFzpY
dXgLAAEE9QEAAAQUAAAAxdJBT8IwGAbg+37F54mR0TUzHryQTGVEgoKRBbyW9cM1lnZpvxr4924I
Bw/eXDw1fZs873soYwz42uqwR88nggQvNiu+we1c0fm4D0pL/ooahUeuxdEGYoSemEMfNHleEzW8
Szzfo1SC19rzTyXRMhmcIGUNE1WF3qut0oqODA8NVoQypQNFSZL8xwZRURD6tCDPgWWj7BaSbHQD
eR5BxIp1sSjjSpimraPa2fBeDy9xl3WXt5fioSwmEJ+a0ksTXI1hZnbKtD0wHsOAXMDBEJbzC+AR
P1D+IFCLxqMs1R5dKtFXTjUdlioj8bDcxYMMVlhZI1vpqlVZ9of29dn2feAZPCsTCPsZ/m33NPzR
BtfP7E7+dXRypklo3dpQFqsy3gntcQjTu9lTBMViAsvp6aH9rl9QSwMEFAACAAgAFHp6SZGfzR+u
AAAAfgIAAD4AHABodHRwL3Rlc3RzL21lZGlhL2hscy92aWRlby1kdXJhdGlvbi1hY2Nlc3NpYmls
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
D7vtvQZJn3PkFg0zBpw0E8CJDvUhwiQjVcFPrFlGuRnbdlE7G/y7ll47jAIqqaao2Th6WXNNqKWa
8XrTYa6eEsbN8oZWkfilzYfSOGoeVGGfA/xP5Q9QSwMEFAACAAgAEnp6SfKvH8HsAAAAxgMAADkA
HABodHRwL3Rlc3RzL21lZGlhL21lZGlhLXBsYXktc3RyZWFtLWNodW5rZWQtaWN5LXN0ZGVyci50
eHRVVAkAA9MXOljTFzpYdXgLAAEE9QEAAAQUAAAA3ZNBS8NAEIXP9lfM0V6kSUjBRTyYHhS0CCIK
4mGymW6XrjNld1Lx37sRT3qKwUuPM8x87+0bdi0HKJdQ1KZYmqoEek/FojoLYjFAVBtpL1E9u5fz
sqrqV7hYUdu7SwOJuLujlNDRk9dtg0pO4oeBU+5DmM/WfyZ79jogHzLdC9/wRgw83zdghZms5l6e
OWDw3Q+VapR//bZ/K87liau8tDOQFwNNAitGbYQ33vURB7df+cjbPtBQXSN3gaKBBu2WOlgAMbZZ
E1q0u5xqmvaqx0RxyGzlrZpf7Hyf2cl8ksKYu/8fuT5y8phf8AlQSwMECgAAAAAAEHp6SQAAAAAA
AAAAAAAAAB4AHABodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9VVAkAA9AXOliBGjpYdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIABB6ekm+dBaTiwAAAJsAAABcABwAaHR0cC90ZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtcGxheS10aGVuLXNlZWstYmFjay13aXRoLXJlbW90
ZS1jb250cm9sLXN0ZGVyci50eHRVVAkAA9AXOljQFzpYdXgLAAEE9QEAAAQUAAAADcixDoIwEADQ
3a+4H8DQIgTYNCwmTkpcjMPRHtikXMkVYurXy/bydK6qTKlMV6DKVlVtoY+6rKHb5uVObEl6IXo1
ulBFe8qbum7ecJ04iOMJTOBVgu/dTANGgkgrDAmMd8S7yOC27/n5wHnxdNnGkaRzcfGYbphI4IsR
0FqysAZAiInNRwK7H8nhD1BLAwQKAAAAAAARenpJAAAAAAAAAAAAAAAAJwAcAGh0dHAvdGVzdHMv
bWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL1VUCQAD0hc6WIEaOlh1eAsAAQT1AQAABBQAAABQ
SwMECgAAAAAAE3p6SQAAAAAAAAAAAAAAADYAHABodHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRp
YS1jb250cm9scy9zdGF0dXMtc3VwcG9ydC9VVAkAA9YXOliBGjpYdXgLAAEE9QEAAAQUAAAAUEsD
BBQAAgAIABF6ekmVfCFAYQEAAFsFAABeABwAaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvc3RhdHVzLXN1cHBvcnQvc3RhdHVzLXN1cHBvcnQtbGl2ZS1icm9hZGNhc3Qtc3Rk
ZXJyLnR4dFVUCQAD0hc6WNIXOlh1eAsAAQT1AQAABBQAAADtkk1Lw0AQhs/2V8xRLyEf/VyloK1o
wUqgFg/FwzaZbJdudsPuxOK/d9OqFHuqIih4DJl53nmfZBF1WNRlSRIM4t4TXMyub9L5NB3CJRGW
Fd0jbYxdT42WZOwMqa4YaEPgkEhqAXUFejcD5W7oHHieW3QOpANlMq5ai72U/o+l3JtniLvwngW4
cVGYBNuXYCmzWBnb4BaDOIk7/o6JLsyQ+XUhmhRH3JILguALqDEua+FZ/uKpv4oLvNtRr/zSmoFf
VJjvm2gnv8jEx/mNgpHRhRS15SSNfpS0GpmyUtg83XKdK7QMRjxbYQ4hoOZL3wyWPFujzt333M0d
2uarjGVG7IDN4LR1ctYqKxRxxa2fhRRdak3m6z+4lDeiM0BrjQWpIZ2MIQpjcCtTK49BiJLGUgiF
VAimKHwkJL3uschoD9k5JHb6cf+Th/ZRHnT+9hNt7XNCYeyLb69rpf77/43+r1BLAwQUAAIACAAT
enpJ9vdByYQAAADAAAAAVwAcAGh0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xz
L3N0YXR1cy1zdXBwb3J0L3N0YXR1cy1zdXBwb3J0LWxvYWRpbmctc3RkZXJyLnR4dFVUCQAD1hc6
WNYXOlh1eAsAAQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLmISUjCIS10cLIKDgjjE9BoD4U6StOLb
G1/B9efn63kG2YLQRrRGacB3Fmu1iuxshFRcwhenEsjfNlJJfYftHh+T3xnISMMRc7YeL6E8O1vQ
c/oYWNAU47Lp/5YDhfIjz1UPTAca2cD11IFjInSltvrMNoah+QJQSwMEFAACAAgAEnp6SQog/o7x
AAAAXwEAAC0AHABodHRwL3Rlc3RzL21lZGlhL3BkZi1zZXJ2ZWQtYXMtcGRmLXN0ZGVyci50eHRV
VAkAA9QXOljUFzpYdXgLAAEE9QEAAAQUAAAAbU/LTsMwELz3K/bUW+KkkLaxFKGqgDhwQFE5VRzc
eJtY8gt7jdS/xxG04sDuZUYzO9o51g2v1/yuKdu2+YCXw+Gtx8+EkeCsxpk+JuOflRX6vX/dWdmj
cYQ7KQPGyEH8AKhXm7LKW+ez7IUUNExEnjN2k/i2qipmUCrBvpREV9AUHJFGWWgnZDmM6sEKg12O
dCkMGBnlT0ovz8urtWvnWdLFYye812oQpJxl2bM4/imz/rfML90HFIRPIbiwd8agJQ5oB5csYUAJ
wgLOIofThRCCsCOCRjvSBEZFI2iYoIA4uaQlnG7aClS84k27vV98A1BLAwQUAAIACAASenpJW9Uf
j7wAAACSAQAALwAcAGh0dHAvdGVzdHMvbWVkaWEvcmVsb2FkLWFmdGVyLWRpYWxvZy1zdGRlcnIu
dHh0VVQJAAPUFzpY1Bc6WHV4CwABBPUBAAAEFAAAAKWQMW8CMQyFZ+5XeISl4jhxUiPEwDEUCdhQ
h6qDLzEhIrVR4gPx70mrbt3K+CS/75PfXq4wa6Gem7o1TQt0y/W0eYliMUJSm+giSQP7j9dZ08w/
YbGmfvBLA5l0Rzmjp614Xy5WpXQ2UIqRXLX/P1gxaSd8DH5IqEH4Peipk69LpO/0huwiJQMd2hM5
mAIx9sUJPdozscvPyEkPmdKGj7IOVs0ftoFxNZo8ZWD3O9zPX6jkJd0Ll4cYJ9UDUEsDBBQAAgAI
ABN6ekk4himySQEAAHQCAAAvABwAaHR0cC90ZXN0cy9tZWRpYS90ZXh0LXNlcnZlZC1hcy10ZXh0
LXN0ZGVyci50eHRVVAkAA9UXOljVFzpYdXgLAAEE9QEAAAQUAAAAzZBNTwIxEIbv/Io5ET2wn3xo
IxoCGk2UEMRoYjiU7bDbpDtd21mEf2+Jytmj08u8fd950s7c7iAbQjoQ6VDkQ8BPnyZ5ZGwhDTgu
HDbWsaby/TLL88Earma4actrAR5JPaH3ssRXzdVUMpbWHQScUWvMeWf+D8maNB+Rz4GuLT3Q1gp4
W0yhsERYcLgLmZ00WnXef/ijKBtma7hfrRZL/GjRM2x1eZSztm7uNEnzsnyckFpibRknSrlAFyC/
G0izUZSEk4axkIXWGaiYGxHHJ0tcJEkS16i0jHdaoe1x5SyzQdUzVqqoKPUNyRrHAWlbV6CPObwk
4j13f6Pjy2N1+dDgmHHPcWOkpj/840dOHYZN3zpn3dTWNRILQCpsS4wOFUgCPJoCNgdGcJJKBINU
cgW19rXkooIe+Mq2RsHm5GWg/W/f7yd55wtQSwMEFAACAAgAGHp6SayVZ2HAAQAANAcAACYAHABo
dHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWF1dGgtc3RkZXJyLnR4dFVUCQAD4Bc6WOAXOlh1eAsAAQT1
AQAABBQAAADtU11v0zAUfaa/4j6uEk3jJE07a1SwVBNIMKYGBBLag+vcpqapHdk3HePXc9siBpp4
oUIqEn6w7Ov7eY5PEot8IMQgyUGMpMhlNoqyNIVZt2nnaCv07zzip/MkTUcyi8dxlt3C4QbF1TXS
nfNrMJbQW9UAeu88nMVfdCyUHJau8xoLpVc4/OH9cBqMkzgaRePhjXefUdO8s2Q2OCzRG9WYr2rR
4AuvV2aLkW5bOcrjfi/5lzoWedrvXfCCK1Nf3hOW5FFtYMrrV1NJisJrV7+1OEdVSfjJm7cK3BIm
sGBjgOcQAzm3BhElaXKexhBQh4htoN2mbZDwKYh9WIDpMz7ye9S7dlt4QG0CeBdEnEaN04yDJ+2x
dZ6MrQ/g3cLFDBddPZUcTm8wBFUjd1izxyUHrSVwYIPVMYlJeSqcXZq684qMsx8MrYrDEHx7qWzV
oGfmdoxUPDfaHcYVLJReM9vhuKneB/Sv7NLNjCb5KLeEs96T/lEVbPUduP1cirB2/p7z2q5p/mbm
xyqZRHmW/UYlIhGT9OR0fcId73X95+wZa2hHW8kM8i/f/UAJH28Klq+1XJ5t7LPlytV/1Z6car8B
UEsDBBQAAgAIABp6eklWqt5G5AAAAFICAAAtABwAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1lcnJv
ci1hYm9ydC1zdGRlcnIudHh0VVQJAAPkFzpY5Bc6WHV4CwABBPUBAAAEFAAAAK2RQUsDQQyFz/ZX
5Ggv0t3tFjqIB7cHhbYIIgrSQ3Y2nQ4dkzKTrfjvnRUv6knrMSH58vLeWo5QzqCoTTEz0znQayom
1UUQiwGi2kgHierZPc/Lqqo3cLmgtndXBhJxt6KU0NGj112DSk7im4Fz7kMYj9Z/Jnv2OiDvM90L
3/JWDDzdNWCFmazmXp45YvDd1yt18Sv9+il/Kc7lieu8tDeQFwOdBFaM2ghvvesjDmo//JGXQ6Ch
ukHuAkUDDdoddTABYmzzTWjR7rOr6bSvHhLFwbOFt2p+sHM+o7Nv6dTlP+b+DlBLAwQUAAIACAAa
enpJJl9P3xUBAAA9AgAANgAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tZXJyb3ItZG9lcy1ub3Qt
ZXhpc3Qtc3RkZXJyLnR4dFVUCQAD5Bc6WOQXOlh1eAsAAQT1AQAABBQAAADNTstOwzAQvPcr9tge
8nDSlNZCSFUiVCSoqrQIpKoHN96kFq4dbCfA3+MqwBVxQ3uZ2ZmdnbXuIZkBySiZ0SwBfLMkTkOp
KybBuMpgq40TqtkvkjTNDnBd4LFrbihYVPwBrWUNPgl3ypnDRpsPCmPVSTkZrf9hslDCXSK3Pl1o
dadqTeF5k0OllcLK+Z339EwKPtp/54cZWRxgtdttSnzt0DqoRbNyrv2iheAlVih6LNG2WlnMmZRH
Vr1QMIPA4eT9ng06TOMpjNEYbSAgySKdT6D2+GKiUUSSqzD2Q+g8juOIa7SB0i7Ad2FdeG6x+a2c
p0V3bm+FYvKxvF8q3/CsHS459x0sBTYA+Hnlz7wXOiP/0OITUEsDBBQAAgAIABp6ekn+iQ/KxQAA
ACQDAAAsABwAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1sb2FkLXR3aWNlLXN0ZGVyci50eHRVVAkA
A+QXOljkFzpYdXgLAAEE9QEAAAQUAAAA7ZGxbgIxDIbn8hQeYUHcnQ6pUdWhxwBSy1Z1qBh8iQkR
wUaJj6pv37TqxsapW0dL/r9P9r+VC9RLqFpTLU1bA33katHMo1iMkNQmOkvSwP79vm6adgcPK+oH
/2ggk75QzujpWbwvG08ldDRQgpHcZHs7WDFpJ7wPfkioQfgt6KGT0znS97RGdpGSgQ7tgRwsgBj7
4oQe7ZHY5TFy0tdMacN7WQWr5optYDq5m40ysPt93M9dqOQlfRYuDzGOI/838heNfAFQSwMEFAAC
AAgAG3p6Sdrq4ZnnAAAAbAMAAC8AHABodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktcHJvZ3Jl
c3Mtc3RkZXJyLnR4dFVUCQAD5Rc6WOUXOlh1eAsAAQT1AQAABBQAAADNkUFLA0EMhc/2V+RoL9Ld
ZQsO4sHtwUItQhEF8ZCdTadDx6TMZCv++86KN091PXhMSL738rKWI5RzKGpTzE1dAn2kYlZdBbEY
IKqNdJCont3rdVlV9RvcLKjt3a2BRNw9UEro6NnrrkElJ/HTwCX3IUwn61+TPXsdkJtM98JL3oqB
l8cGrDCT1dzLM0cMvhuh8h/9V2f512/7K3EuT9zlpb2BvBhoFFgxaiO89a6POLj9ykfeD4GG6h65
CxQNNGh31MEMiLHNmtCi3edU07irnhLFIbOFt2p+sPN/JhfTUQrn/P0vySdQSwMEFAACAAgAHHp6
SbuMzWaEAAAAwAAAAD0AHABodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktc3RhbGwtYmVmb3Jl
LW1ldGEtZGF0YS1zdGRlcnIudHh0VVQJAAPoFzpY6Bc6WHV4CwABBPUBAAAEFAAAAJ3MsQrCMBCA
4b1PcaMuYhtSMIhLXRwsgoOCOMT0Gg/CnSRpxbc3voLrz8/XywxNC7U2dWu0Anyneq1WQZwNELOL
+JKYif1t0yil77Dd42PyOwMJeThiStbjhfKzsxm9xI+BBU8hLKv+b5mY8o88F52EDzyKgeupAyfM
6HJp5ZltoKH6AlBLAwQUAAIACAAcenpJXXJl2L0AAACSAQAAKwAcAGh0dHAvdGVzdHMvbWVkaWEv
dmlkZW8tcXVlcnktdXJsLXN0ZGVyci50eHRVVAkAA+gXOljoFzpYdXgLAAEE9QEAAAQUAAAApZAx
bwIxDIVn7ld4LAviON1JjRBDj4FKha1iqDr4EhMigo0SH1X/fUPVja2MT/L7Pvnt5AqLDurW1J1p
O6CvXM+bWRSLEZLaRBdJGth/PC+apv2E5ZqG0a8MZNIt5Yye3sT7cvFSSicDpRjJVbv/gxWT9sKH
4MeEGoT3QY+9nC+RbmmD7CIlAz3aIzmYAzEOxQkD2hOxy4/ISd8zpVc+yDpYNXdsA0/VZPqQgd3f
cL9/oZKX9F24PMY4rX4AUEsDBBQAAgAIAB16eklon0kBRAEAACoGAAAqABwAaHR0cC90ZXN0cy9t
ZWRpYS92aWRlby1yZWRpcmVjdC1zdGRlcnIudHh0VVQJAAPpFzpY6Rc6WHV4CwABBPUBAAAEFAAA
ANWTTU/DMAyGz+xX+MgOTP2gK4vQJNYdQIJp2oRAmnZIU7eNFpIpScfHr8ed4MSJlYHILZH92Hnt
d2Z2EA0hTFg4ZMkQ8NmFQTxQRnAF1guLW2O91NVqFMVxsobLKeZNNWbgUBd36Byv8EH6OuMeK2Nf
GZzqRql+b3YwWWrpW+SS6NLoG10aBo/zDITRGoWnN4rZcSWLDlUc+o/2b01VUcSEkjYMKFFhJ7Dn
1mdGl7JqLG+73etjnrYK29s114VCyyDjosYCAkDNc6oJORcbUtV1+9W9Q9tqNpXCsy9smk/vpN+p
wrHm/j1y+oPk1SdzEEYXlEcHssXVZAljOlCqxtVzYhB7gQq5wyWStqvgJS0FJkEcnY/yYA37FaKB
1tyBNvrsDa0BiyVtbqM9hL9X6HCtDndfeiz3pX/pvvTo7kv/hUfeAVBLAwQUAAIACAAdenpJRfX7
VN4AAABSAgAAKwAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdXNlcmFnZW50LXN0ZGVyci50eHRV
VAkAA+kXOljpFzpYdXgLAAEE9QEAAAQUAAAApZFBSwNBDIXP9lfkaC/S7bIVB/Hg9qCgRRBREA/Z
2XQ6dEzKTLbivzcr3gQP7jEh73vJy0aOsFxB1bhq5ZpzoI9SLeqzJB4TZPWZDpI1cni9WNZ18waX
a+qGcOWgEPf3VAoGeo66a1EpSP50cMpDSvPZ5t/kyFFH5KPRo/Atb8XBy0MLXpjJq/Vs5ogp9hNc
CunP+ncSgk1cm2jvwISJJoEVs7bC2xiGjOO23/nI+yHRWN0g94mygxb9jnpYADF25gkd+r2lWqZd
9VQoj5mto1f3i23/mZ3MJzn8/fcvUEsDBAoAAAAAABB6ekkAAAAAAAAAAAAAAAAQABwAaHR0cC90
ZXN0cy9taW1lL1VUCQAD0Bc6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAEHp6SdV9NIuE
AAAAwAAAACoAHABodHRwL3Rlc3RzL21pbWUvbWltZS10eXBlLXNuaWZmLXN0ZGVyci50eHRVVAkA
A9AXOljQFzpYdXgLAAEE9QEAAAQUAAAAncyxCsIwEIDhvU9xoy5iUywkiEtdHCyCg4I4xPQaD8Kd
JGnFtze+guvPz9fLDKqFemPq1jQK8J3qdbMK4myAmF3El8RM7G9aKa3vsN3jY/I7Awl5OGJK1uOF
8rOzGb3Ej4EFTyEsq/5vmZjyjzwXnYQPPIqB66kDJ8zocmnlmW2gofoCUEsDBAoAAAAAAC56ekkA
AAAAAAAAAAAAAAAQABwAaHR0cC90ZXN0cy9taXNjL1VUCQADBxg6WIEaOlh1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgAGnp6SeveEdvDAAAA/gAAAD8AHABodHRwL3Rlc3RzL21pc2MvZGVsZXRlLWZy
YW1lLWR1cmluZy1yZWFkeXN0YXRlY2hhbmdlLXN0ZGVyci50eHRVVAkAA+MXOljjFzpYdXgLAAEE
9QEAAAQUAAAATY5Ba8JAFITv/oo5Vqglm2hoFvFi6ikUse1JRJbkaR9NdsPLi6X99a7QggNzGPhg
vjQx+cyYWZrDLKzJ7cI8zYtnlGPX78g3JO9CtC/SzGR2nmSmKA7YSuhJ9ActDwr2F9dyg1OQWzun
FiZJ8NDfYwNq531Q1MGrY4/Xj6qaTvb3rwcsY7Ap19tjxR0rNVjFYMPnv13y8LV29SdFhwtHveMb
6b+PxYtItPgWVvZnhDHe3WCcuKVHqIy+dkrQgF+SMLkCUEsDBBQAAgAIABl6ekny1G4VwwAAAP4A
AABbABwAaHR0cC90ZXN0cy9taXNjL2RlbGV0ZS1mcmFtZS1kdXJpbmctcmVhZHlzdGF0ZWNoYW5n
ZS13aXRoLWdjLWFmdGVyLXZpZGVvLXJlbW92YWwtc3RkZXJyLnR4dFVUCQAD4hc6WOIXOlh1eAsA
AQT1AQAABBQAAABNjk1Lw0AURff9FXepYCWT1OAM4qZpV0GKH6tSypC81keTmfDyUtFf7xQUeuEu
Lhy4J89MOTdmnpcwD86UbmHv7WOGauqHVwotybsQbW1emMItssJYu8NG4kCi3+h4VHA4+45bHKJc
2nt1MFmGm+EaG9H4EKKiiUE9B7x81PXtbHv9usNTCtbVcrOvuWelFs8pWPPxb1c8npa++aTkcOak
t38j/fdxWIkkiy9h5XBEnNLdBcaBO7qDyhQarwSN+CGJs19QSwMEFAACAAgALnp6SRU1NZJ6AAAA
vAAAACoAHABodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAkAAwcY
OlgHGDpYdXgLAAEE9QEAAAQUAAAAjY5BDsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLlA9VeVjuH
2SylEScjqYCqohE+xAinWYveb4/XGma2+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7AVBGegIwF
q8FNl0niXSHCqGmfGhNgScd/uip95PO6lywxLz9QSwMECgAAAAAAJnp6SQAAAAAAAAAAAAAAABQA
HABodHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQAD9xc6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMEFAAC
AAgAF3p6SerXpRXLAAAA3QEAAFUAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUt
cmVhZC1yZW1vdGUtdmlkZW8tYmxvY2tlZC1uby1jcm9zc29yaWdpbi1zdGRlcnIudHh0VVQJAAPe
FzpY3hc6WHV4CwABBPUBAAAEFAAAAKWQMU/DMBCFZ/IrbmyXqElLJKyKgXQACbohBsRwsa+uVfeu
si8g/j0OsDGhjPek9717by/v0HbQXJumM5sO6CM3q3UdxWKEpDbRRZIG9q837XrTvsH2gQ9yayCK
90WGrJg013Vd7f+N2tEw+sLKpE+UM3p6/KHeFdPJQDFGcnPA03O98CH4MaEG4Zegx17Ol0jTdY/s
IiUDPdojOVgBMQ4lEwa0J2KX57V6zpSmvXbBqvnDNrCorpazEtj9DvfdC5W8pM/C5THGZfUFUEsD
BBQAAgAIABd6eknkU1Xj2wAAAKwCAABIABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVt
b3RlLXJlYWQtcmVtb3RlLXZpZGVvLWxvY2FsaG9zdC1zdGRlcnIudHh0VVQJAAPeFzpY3hc6WHV4
CwABBPUBAAAEFAAAAM2RQUsDQQyFz/ZX5KgX6W7rgoN4cHtQ0CKIKEgP2dl0OnRMyky24r83K948
LoLHhLwvLy9rOULdQHXhqsYtG6CPUs0X50k8JsjqMx0ka+TwdlkvlvUGrlbUDeHaQSHuH6gUDPQS
ddeiUpD86eCUh5TOZut/SI4cdUQ+GT0K3/FWHLw+tuCFmbxaz2aOmGI/yb/+2L+XEGzixkR7ByZM
NAmsmLUV3sYwZBzdfucj74dEY3WL3CfKDlr0O+phDsTY2U7o0O8t1TLtqudCecxsFb26X2z7z+zk
L//+BVBLAwQUAAIACAAYenpJH/avf+MAAACsAgAARwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY2Fu
dmFzLXJlbW90ZS1yZWFkLXJlbW90ZS12aWRlby1yZWRpcmVjdC1zdGRlcnIudHh0VVQJAAPgFzpY
4Bc6WHV4CwABBPUBAAAEFAAAAM2RQUsDQQyFz/ZX5Ggv0t3WRQfx4PagoEUQUSg9ZGfT6dAxKTPZ
lv57Z8WTgiB76TEh+d7Ly0L2UFZQXJqiMrMK6JCKyfQiiMUAUW2knUT17JbX5XRWruBmTk3nbg0k
4vaJUkJHb143NSo5iUcD59yFMB4tTpDs2WuPfMl0L/zAazHw/lyDFWaymnt5Zo/Btz9Urv7lX7/t
P4pzeeIuL20N5MVAg8CKUWvhtXddxN7tVz7ysQvUV/fIbaBooEa7oRYmQIxN1oQG7TanmoZd9Zoo
9pnNvVXzi53/MzobD1L4+++fUEsDBAoAAAAAAB16ekkAAAAAAAAAAAAAAAAqABwAaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQJAAPpFzpYgRo6WHV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACAASenpJR7uTCNcAAAD4AQAASwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2F1ZGlvLXJlZGlyZWN0LWFsbG93ZWQtc3RkZXJyLnR4dFVUCQAD
0xc6WNMXOlh1eAsAAQT1AQAABBQAAAClkEFLAzEQhc/ur5ijXqTp0oJBenB7qKBFEFEQD7PJNA1N
Z0oyW/HfmxVv3tzjg/e+x3tbOcN8CWZhzdK2C6DPYmbtdRKHCbK6TCfJGjm838xbYz7gdk39EFYW
CukjlYKBHiSE6riroYOFGkzkm+3/wYpZO+FdDENGjcKvUfedHE+JRrVB9omyhQ7dnjzMgBj72gk9
ugOxL1PKSV8K5XveyTo6tX/YFi6bi6tJDex/j/vZhUpB8lfl8pDSFHLkqCPyudLrT+MGC29PHThh
Jjd+Vz1nTNE331BLAwQUAAIACAASenpJ/1OIRuUAAABDAgAATAAcAGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L2F1ZGlvLXJlZGlyZWN0LWFsbG93ZWQyLXN0ZGVyci50
eHRVVAkAA9MXOljTFzpYdXgLAAEE9QEAAAQUAAAApdDBSgMxEAbgs/sUc9TL0nRpwSA9uD1U0CKI
KIiH2WSahqYzJclWfHsT9eZJ9piQ+Sb/v5UzzJegFlotdbcA+khq1rVBDAaI2UQ6Scye3dv1vFPq
HW7ueCcrDUGcK9eQMsac2rZttv+m1jSMrliJ8gOlhI7uf9TbMnTQUAYD2Slw/VwvvPNujJi98IvP
+16Op0D1tEG2gaKGHs2eLMyAGIeyEwY0B2KbpqV6ThRrX2tvsv5ja7hsLq4mbWD7W9x3LszkJH4W
l8cQpsiefa7kU9FLTzWDhtfHHowwk6ndlTdnDN42X1BLAwQUAAIACAASenpJutb4rqcAAACKAQAA
WAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Jsb2ItdXJsLWRv
ZXMtbm90LW1hdGNoLXNvdXJjZS1zZWxmLXN0ZGVyci50eHRVVAkAA9MXOljTFzpYdXgLAAEE9QEA
AAQUAAAA3Y+xDoIwFEV3v6IjDlAogkjioEQTByMJozHkWV6wWil5rSb8vRgH/Qa3c6dz7jFK8ijN
4ySIs/DElMM72KGTdYWuJNMjuYFZ1XagNTYMiZZ+JOZZwrzbVrVrsHg4X1G6DZGhetc9QasGHDZT
5qnfBY7xyjxIYgHygrwwhHtsFHzJj5JUBGIW8lHtjBt6tLzUMCDxUfahevXuCyTTqkMmxCKeHP/h
xAtQSwMECgAAAAAAFHp6SQAAAAAAAAAAAAAAAEQAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL1VUCQAD2Bc6WIEaOlh1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgAFHp6SfQdYojaAAAAkwEAAHkAHABodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3Vw
Z3JhZGUtaW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS1zdGRlcnIudHh0VVQJAAPY
FzpY2Bc6WHV4CwABBPUBAAAEFAAAAI1OPU/DMBDd+RU3wtDEbk1aeatSUAcGFJWpYnCda7GI7XC2
Gfj1XEuFGBBUt9y7e19beatlo5WoZko8w3qzeezwrWDKsHeHH7AlNBnviCK10XsMWQMGG0vISNiD
CYDHp4YSCG08BPfB55ecRyBMYwwJQQlxtf07kflnuHJ9hxbdO3ZnfWuGYWfsq2bH0+MXf7g+1YCJ
nDbN/Ab2vB9Juq7ldF4JHqkXSs1qVsVCFlOdOa3yo/qvG8NV8eO9C2Z46h6WgQv6mHHZ92yWNJiv
Bb6TWMZcKDRcXuITUEsDBAoAAAAAABd6ekkAAAAAAAAAAAAAAAA9ABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL1VUCQAD3Rc6WIEa
Olh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAEnp6Se4ELSLsAAAAnQIAAFMAHABodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91c2VyQWdlbnRTaGFkb3dET00vYWxsb3ct
YXVkaW8tc3RkZXJyLnR4dFVUCQAD1Bc6WNQXOlh1eAsAAQT1AQAABBQAAADN0bFKBDEQBuDafYop
tVl2b7kVg1i4VyjoIYgoiMVsMpcLF2eOJHvi25uojdgI21gmZL7J/LOWAyx6aJeq7VW3BHqLbdPV
XjR6CEkH2ktIju3z2aJrTl/g/Jo3cqHAi7X5GmLCkGJd19X6B9X/gVrRONlsRUq3FCNauvlSL3PR
TkEu9GTmwOVzg/DG2SlgcsKPLm0Hed17KqcrZOMpKBhQb8lAA8Q45p4wot4RmzhvqodIoeS1cjqp
X7aC4+roZFYHNt/Bfc6FiayE9+zy5P3/lB27VMj7rOcNlHQUPN0NoIWZdNlKfnNA70z1AVBLAwQU
AAIACAATenpJXFM94b0AAACSAQAAUwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9hbGxvdy12aWRlby1zdGRlcnIudHh0VVQJAAPV
FzpY1Rc6WHV4CwABBPUBAAAEFAAAAKWQMW8CMQyF596v8FiW6o4ToEaIocdQJMqGOqAOvsSEiNRG
iY+Kf0+ourGV8Ul+3ye/jZxhPIVmYpqpaWdAP7mp25coFiMktYlOkjSw372O23r2BfMl9YNfGMik
H5QzelqL9+XirZSOBkoxkqs2/wcrJu2E98EPCTUIfwY9dPJ9inRL78guUjLQoT2QgxqIsS9O6NEe
iV1+RE66zZRWvJdlsGru2Aaeq6fRQwZ2f8P9/oVKXtKlcHmIcVRdAVBLAwQUAAIACAAXenpJdgrn
iIQAAADAAAAAawAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Vz
ZXJBZ2VudFNoYWRvd0RPTS9kZWZhdWx0LXNyYy1vYmplY3QtZGF0YS11cmwtYWxsb3dlZC1zdGRl
cnIudHh0VVQJAAPdFzpY3Rc6WHV4CwABBPUBAAAEFAAAAJ3MsQrCMBCA4b1PcaMu0jbYYhCXujhY
BAcFcYjpNQbCnSTXim9vfAXXn5+v5xnqBqq1rhqtWsB3qkq1CmxNgCg24oujeHK3Ta3K9g7bPT4m
t9OQkIYjpmQcXrw8OyPoOH40LGgKYVn0f8uevPzIc9Y904FG1nA9dWCZCK3klp/ZBD8UX1BLAwQU
AAIACAAcenpJ3B6Pt98AAABSAgAASwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3ZpZGVvLXJlZGlyZWN0LWFsbG93ZWQtc3RkZXJyLnR4dFVUCQAD5xc6WOcXOlh1
eAsAAQT1AQAABBQAAAClkUFrAkEMhc/1V+RYL8VRVnAoHroeLLRSEGmh9JCdjePgmMhM1tJ/72zp
rdBD95iQ973kZSMXmM7BVNbMbVUBfWYzmd1FcRghqUt0lqSB/ftiOjPmA+5X1HR+aSETt8+UM3p6
DXqoUclL+rJwy12M49Hm3+TAQXvkttCD8CPvxcLbSw1OmMlp6ZWZC8bQDnDJpD/rP4n3ZeKhiI4W
ijDSILBi0lp4H3yXsN/2Ox85nSP11Rq5jZQs1OgO1MIEiLEpntCgO5ZU87CrdplSn9kqOLW/2OU/
o5vxIIe//34FUEsDBBQAAgAIABx6ekkHX750vAAAAJIBAABMABwAaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdmlkZW8tcmVkaXJlY3QtYWxsb3dlZDItc3RkZXJyLnR4
dFVUCQAD5xc6WOcXOlh1eAsAAQT1AQAABBQAAAClkDFvAjEMhWfuV3gsCyKgQ2qEGHoMVGrZKoaq
gy8xISLYKPG16r9vQGxsZXyS3/fJbyvfMFuAaa1Z2LYF+ilmOp8kcZggq8t0lqyRw+fzbG7MFyzX
1A9hZaGQvlMpGOhNQqgXL7V0tFCLiXyz/T9YMWsnvI9hyKhReBf10MnpnOiSNsg+UbbQoTuQhykQ
Y1+d0KM7EvvyiJz0o1B+5b2so1N7x7bw1IzGDxnY34a7/oVKQfJv5fKQ0rj5A1BLAwQUAAIACAAc
enpJ3B6Pt98AAABSAgAAZgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3ZpZGVvLXdpdGgtaHR0cC11cmwtYWxsb3dlZC1ieS1jc3AtbWVkaWEtc3JjLXN0YXItc3Rk
ZXJyLnR4dFVUCQAD5xc6WOcXOlh1eAsAAQT1AQAABBQAAAClkUFrAkEMhc/1V+RYL8VRVnAoHroe
LLRSEGmh9JCdjePgmMhM1tJ/72zprdBD95iQ973kZSMXmM7BVNbMbVUBfWYzmd1FcRghqUt0lqSB
/ftiOjPmA+5X1HR+aSETt8+UM3p6DXqoUclL+rJwy12M49Hm3+TAQXvkttCD8CPvxcLbSw1OmMlp
6ZWZC8bQDnDJpD/rP4n3ZeKhiI4WijDSILBi0lp4H3yXsN/2Ox85nSP11Rq5jZQs1OgO1MIEiLEp
ntCgO5ZU87CrdplSn9kqOLW/2OU/o5vxIIe//34FUEsDBBQAAgAIABx6ekkjUla2hAAAAMAAAABZ
ABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvd29ya2VyLWJsb2It
aW5oZXJpdHMtY3NwLWJsb2Nrcy1ldmFsLXN0ZGVyci50eHRVVAkAA+gXOljoFzpYdXgLAAEE9QEA
AAQUAAAAncyxCsIwEIDhvU9xoy5iWhowiEtdHCyCg4I4xPQaA+FOkmvFtze+guvPz9fzDLUG1Rql
TasB31mtm1VkZyMkcQlfnCSQv23qRqk7bPf4mPzOQEYajpiz9XgJ8uysoOf0MbCgKcZl1f8tBwry
I89FD0wHGtnA9dSBYyJ0Ulp5ZhvDUH0BUEsDBBQAAgAIABx6ekljqqxsggAAAKgAAABAABwAaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJy
LnR4dFVUCQAD6Bc6WOgXOlh1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQ
LCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQm
l2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAI
AB16ekljqqxsggAAAKgAAABSABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUCQAD6Rc6WOkX
Olh1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2
wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDO
IdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIABh6ekn9RWUYhQAAABoB
AAA1ABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb3JzLXBvc3QtcmVkaXJlY3QtMzAxLXN0ZGVyci50
eHRVVAkAA+AXOljgFzpYdXgLAAEE9QEAAAQUAAAAzcyxCsIwEIDhvU9xoy5i01o0FJe6OFgEBwVx
iOkZA+FOkmvFtze+hevPz9fzBKqBcqXLRtdrwHcql9UisDUBotiIL47iyV03qqrVDdod3ke31ZCQ
hgOmZByevTw7I+g4fjTMaAxhXvR/KHvy8iNPWfdMe3qwhsuxA8tEaCW3/Ewm+KH4AlBLAwQUAAIA
CAAdenpJZDBmlb0AAACSAQAAPQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtdmlkZW8tc291
cmNlLWZyb20tcmVtb3RlLXN0ZGVyci50eHRVVAkAA+oXOljqFzpYdXgLAAEE9QEAAAQUAAAApZC7
bgIxEEVr9iumDE3ELg8FC1GwFIkEdFEKlGLWHoyFM4Ps2UT8PSZKlw7KK809R3N38g3NDOqpqWdm
+gL0k+vR+DmKxQhJbaKzJA3s9/NmPGk+YbGmrvdLA5l0Szmjp414Xy5WpXQyUIqRXLW7H6yYtBU+
BN8n1CD8EfTYytc50i29IrtIyUCL9kgORkCMXXFCh/ZE7PIjctL3TOmND7IOVs0/toGnajB8yMDu
b7jfv1DJS7oULvcxDqsrUEsDBBQAAgAIACB6eknNd7tyhAAAAMAAAAA6ABwAaHR0cC90ZXN0cy9z
ZWN1cml0eS9sb2NhbC12aWRlby1zcmMtZnJvbS1yZW1vdGUtc3RkZXJyLnR4dFVUCQAD6xc6WOsX
Olh1eAsAAQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLmJTW2gQl7o4WAQHBXGI6TUGwp0k14pvb3wF
15+fr+cZVANlrctG1y3gO5XrahXYmgBRbMQXR/Hkbq2qNuoO2z0+JrfTkJCGI6ZkHF68PDsj6Dh+
NCxoCmFZ9H/Lnrz8yHPWPdOBRtZwPXVgmQit5Jaf2QQ/FF9QSwMECgAAAAAAF3p6SQAAAAAAAAAA
AAAAACEAHABodHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9VVAkAA90XOliBGjpYdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIABd6eklXSFLf4QAAAD4EAABOABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS1zdGRl
cnIudHh0VVQJAAPdFzpY3Rc6WHV4CwABBPUBAAAEFAAAAO2RMUsDQRCFa+9XTKmN5O5MwEUsvBQR
NAgiCpJibneyWbKZCbtzEf+9e2JnZxpBy4H3vse8t5QDNDOop6aemYsp0FuuJ+15FIsRktpEe0ka
2L9eNm3TruBqTv3grw1k0nvKGT3difdFcVNMWwPFGMlVy5+DFZN2wuvgh4QahJ+DbjrZ7SON1wLZ
RUoGOrQbcjABYuxLJvRot8QuHxNO+pQp3fJa5sGq+cY2cFqdnB2VwO6ruM+/UMlLei9cHmL8reT/
rf/K1oGDjsjHQi8LjO0YeHnowAoz2XGVojlgDK76AFBLAwQUAAIACAAXenpJ81cQx4QAAADAAAAA
QgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWNzcy1pbi1pZnJh
bWUtc3RkZXJyLnR4dFVUCQAD3Rc6WN0XOlh1eAsAAQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLmIT
WzCIS10cLIKDgjjE9IwH4U6StOLbG1/B9efn62UC1ULdmLo1qwbwneqlXgRxNkDMLuJLYib217XS
St9gs8P76LcGEvJwwJSsxzPlZ2czeokfAzMeQ5hX/d8yMeUfeSo6Ce/5IQYuxw6cMKPLpZVnsoGG
6gtQSwMEFAACAAgAJHp6SXi5riXwAAAAmAQAADkAHABodHRwL3Rlc3RzL3NlY3VyaXR5L3ZpZGVv
LWNyb3NzLW9yaWdpbi1jYWNoaW5nLXN0ZGVyci50eHRVVAkAA/MXOljzFzpYdXgLAAEE9QEAAAQU
AAAA1ZJPSwQxDMXP7qfIUS8yM6tbLOLB2YOCLoKIwuIh02a7ZWu6tJkVv70d8eZJB/8dA8nvJS9v
EXfQzKA+1rXS1QzoOdfV9DBEgwGSmETbmMSzW54006PmEU7n1PXuTEMmuaac0dFVdK50nJehjYYy
GMhOFl8HCyZpI6+86xOKj3zvZd3Gp22gobpAtoGShhbNmixUQIxd0YQOzYbY5jHiJHeZ0iWv4twb
0R/YGvYnewejFNi+G/d2Fwq5mF4Kl/sQfo6s/gTZs5cBeVvo5beD7xoeblowkZnM8O/Ss8Pg7aj9
P5FV9ZtZVd+eVfUvEvUKUEsDBBQAAgAIACR6ekkDm81EFAEAAOcBAAA/ABwAaHR0cC90ZXN0cy9z
ZWN1cml0eS92aWRlby1wb3N0ZXItY3Jvc3Mtb3JpZ2luLWNyYXNoMi1zdGRlcnIudHh0VVQJAAPz
FzpY8xc6WHV4CwABBPUBAAAEFAAAAJ1Oy04CQRC88xV9hIO7sw95TIwJgRhMlJAVownhMMw2y8Sh
Z50Hhr93yKpXo+lLVVd1dS3NCfIhZNc8G3E2AvxwGSsSbaTQYL202BrrFTWbSV6U+RZu5rgLzS0H
h1Q/onOiwRflDzPhsTH2zKFPQetBb/nvZEXKXyKfYroydE97w+F1NQNpiFD6uIuek9Cq7m2+85Nh
wbawWK9XFb4HdB72qll4337RuaorlKhOWKFrDTmcCa13Qr5xsJ1QwyH6I+t0KFkJfbTWWLjK8kkx
HsA+4ouJp2mWjxIWJ+NjxljqUAar/DklQ+iCPCTHtvytXqTzcGzvFAn9XD1MKXY8Go/Tuo4tHAfR
Afh5Fs+iF4LVf+rxCVBLAwQUAAIACAAmenpJYEtmEJEAAAD7AQAARQAcAGh0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVU
CQAD9xc6WPcXOlh1eAsAAQT1AQAABBQAAADtjjEOgzAMRXdO4QuEBJZWmWHo0p4BBVMimSSynQpu
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
Olh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAHXp6SQAAAAAAAAAAAAAAABoAHABpbXBvcnRlZC9i
bGluay9zdmcvcGFyc2VyL1VUCQAD6Rc6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAHXp6
ST7vTG4bAQAAsgcAAEMAHABpbXBvcnRlZC9ibGluay9zdmcvcGFyc2VyL3N2Zy1wYXJzZXItYXJn
dW1lbnQtd2hpdGVzcGFjZS1zdGRlcnIudHh0VVQJAAPpFzpY6Rc6WHV4CwABBPUBAAAEFAAAAO3P
TUsDMRCA4bu/Yo7tofuRdfuxqKCrQg+thR4USilpdtxGY2aZpJX996YU0YMnD4Kwt0kI7+SZ0wHE
ENK8SIdFPgJ8d2mSRYaUNMBeMTbEXtt6NRFZlq/h4ha3+/qqAIe2mqFzssZH7Xel9FgTtwX07N6Y
/tn812VttT8ml6GuyU7tMxXwtChBkbWofLgLbw7S6Ops9dmPRolYg/b4Jl1r1WaJfsHUIPsWnK6t
NAYrQObLQSpG4xx6r/e6vpEOH7YvIXrHTLyZnrLBUvWhp7+fpId4SXtWWEq1w7gkxhlWWn5NgzQf
ikicJ3FY7cm3Dbp4YWSLHIdlp2lzffxfpMBoiyDEJOsQHeJPECU17b9QJONxp+gUneIHxQdQSwME
CgAAAAAALHp6SQAAAAAAAAAAAAAAAA0AHABpbXBvcnRlZC93M2MvVVQJAAMEGDpYgRo6WHV4CwAB
BPUBAAAEFAAAAFBLAwQKAAAAAAAqenpJAAAAAAAAAAAAAAAAGgAcAGltcG9ydGVkL3czYy9XZWJD
cnlwdG9BUEkvVVQJAAMAGDpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAyenpJAAAAAAAA
AAAAAAAAJgAcAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvVVQJAAMPGDpY
gRo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAqenpJ4YKG6EkAAABgDAAAPgAcAGltcG9ydGVk
L3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlcy1zdGRlcnIudHh0VVQJ
AAMAGDpYABg6WHV4CwABBPUBAAAEFAAAAO3KwQmAMBBFwbtV/AIUBNNBKllwEVESSTYHu7cDK3hz
nlzHvavU0OHFm4XLdPmrx842q4fF6FrStqYpc7lcLpfL5XK5XO7P/QBQSwMEFAACAAgALnp6SY80
GnBEAAAAoAkAAEcAHABpbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3Rf
ZmFpbHVyZXNfUlNBLU9BRVAtc3RkZXJyLnR4dFVUCQADCBg6WAgYOlh1eAsAAQT1AQAABBQAAABz
zi/NSVHIyy9RSE/NSy1KLElVSFTITq1UKEjMLNJRKC5JLCktVtA1MTYw4XIeVTuqdlTtqNpRtaNq
R9WOqh1VS3O1AFBLAwQUAAIACAAyenpJVALJsjYAAADAAgAAUAAcAGltcG9ydGVkL3czYy9XZWJD
cnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS1zdGRl
cnIudHh0VVQJAAMPGDpYDxg6WHV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhO
rVQoSMws0lEoLkksKS1W0DUxNjDhch5VO6p2kKkFAFBLAwQKAAAAAAA5enpJAAAAAAAAAAAAAAAA
IAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvVVQJAAMeGDpYgRo6WHV4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAAAwenpJAAAAAAAAAAAAAAAAJQAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9VVAkAAwsYOliBGjpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAACx6
ekkAAAAAAAAAAAAAAAApABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Rv
bS9VVAkAAwQYOliBGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIACx6eknQXutiwQAAAE4CAABH
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWVt
YmVkZGVkLXN0ZGVyci50eHRVVAkAAwQYOlgEGDpYdXgLAAEE9QEAAAQUAAAAzZAxC8IwEIV3f8WN
OmiaWLFmK4o4CErRSRxic7XFtKlJ6u/3pM4OLsot7/HecR934jPJ51KISTIVZ9gcDvsM7x36AEV1
3YTQvu2q0hnmWD0wQ9/axuNSGXNR+U2C6wMNJfXJ9TnEUQxDdM46GHOxmCYjKEi/SpIxY3NlSuuD
TJIoYmWoDdO2ZoGOjR/KdLgrBqfPeGRXXd2uq0aZY7ZNG2KsbcBUa6LwElQvgIv5JKLhtEZd6Jz5
miP+7zfFP3zTE1BLAwQKAAAAAABFenpJAAAAAAAAAAAAAAAALwAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvVVQJAAMxGDpYgRo6WHV4CwABBPUBAAAEFAAA
AFBLAwQKAAAAAAAxenpJAAAAAAAAAAAAAAAAQAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9VVAkAAw4YOliBGjpYdXgLAAEE
9QEAAAQUAAAAUEsDBAoAAAAAADd6ekkAAAAAAAAAAAAAAABPABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL1VUCQADGhg6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAMHp6SXGBeGnnAAAATAUA
AGcAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfY2FucGxheS1zdGRlcnIudHh0VVQJAAML
GDpYCxg6WHV4CwABBPUBAAAEFAAAAO2SQUsDQQyFz+6vyFEvsttFi4N4cHtQ0CKIKEgP2Zl0OnRM
yky24r93Vrx5s5cFPQZevkfy3lL2MDuH5sw0c9PWQO+5qdvTKBYjJLWJdpI0sH+9mLX1fAWXC+oH
f2Ugk95TzujpTrwviuuytDVQFiO5avl7sGLSTngd/JBQg/Bz0E0nb7tI43SD7CIlAx3aDTkobMa+
eEKPdkvs8iHmpE+Z0i2vZRGsmh9sA8fV0clBDuy+H/d1Fyp5SR+Fy0OMUyX/Z/13sp4GuZkEOXDQ
EflY6KWPY1cMvDx0YIWZ7NjRotljDK76BFBLAwQUAAIACAAwenpJ6FsVnesAAACkBAAAcgAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9jYW5wbGF5X25vYXV0b3BsYXktc3RkZXJyLnR4dFVU
CQADCxg6WAsYOlh1eAsAAQT1AQAABBQAAADtk0FLA0EMhc/2V+TYXmS3Sy0O4sHtoYVaBBEF8ZCd
TadDp0mZyVb8986KN28uQg8eE5LvZd5jNnKC6RWUM1POTVUCvaeyqC6DWAwQ1UY6SlTP7vV6WhXz
N7hZUNO5WwOJuL2nlNDRs9ddjUpO4oeBMXchTEabX5M9e+2Rj5nuhVe8FQMvDzVYYSaruZdnThh8
O0AlkX6fvxbn8sRdXtobyIuBBoEVo9bCW++6iP21X/7I4Rior5bIbaBooEa7oxYKIMYma0KDdp9d
TcNe9ZQo9p4tvFXzg53zGV1MBin8Ve7/iZxfIufwxz8BUEsDBBQAAgAIADB6ekk+xM2v7wAAAAwG
AABuABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2NhbnBsYXl0aHJvdWdoLXN0ZGVyci50
eHRVVAkAAwsYOlgLGDpYdXgLAAEE9QEAAAQUAAAA7ZRBSwNBDIXP9lfkaC+y26UWh9KD24OCLYKI
gnjIzqbToWNSZrIV/72z4s2TLoJCjwnJ9zLvwazlAJNzKKemnJmqBHpNZVGdBbEYIKqNtJeont3T
xaQqZs8wX1LTuYWBRNyuKCV09OB1W6OSk/hm4JS7EMaj9Y/Jnr32yLtM98LXvBEDj7c1WGEmq7mX
Zw4YfDtAJZF+nn8jzuWJy7y0M5AXAw0CK0athTfedRH7az/8kZd9oL66Qm4DRQM12i21UAAxNlkT
GrS77Goa9qr7RLH3bOmtmi/snM/oZDxI4bdyPyby9xI5kv83+Tt/6TtQSwMEFAACAAgAMHp6Sehb
FZ3rAAAApAQAAHkAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfY2FucGxheXRocm91Z2hf
bm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAAMLGDpYCxg6WHV4CwABBPUBAAAEFAAAAO2TQUsDQQyF
z/ZX5NheZLdLLQ7iwe2hhVoEEQXxkJ1Np0OnSZnJVvz3zoo3by5CDx4Tku9l3mM2coLpFZQzU85N
VQK9p7KoLoNYDBDVRjpKVM/u9XpaFfM3uFlQ07lbA4m4vaeU0NGz112NSk7ih4ExdyFMRptfkz17
7ZGPme6FV7wVAy8PNVhhJqu5l2dOGHw7QCWRfp+/FufyxF1e2hvIi4EGgRWj1sJb77qI/bVf/sjh
GKivlshtoGigRrujFgogxiZrQoN2n11Nw171lCj2ni28VfODnfMZXUwGKfxV7v+JnF8i5/DHPwFQ
SwMEFAACAAgAMHp6SS3e0mvuAAAADAYAAGoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRf
bG9hZGVkZGF0YS1zdGRlcnIudHh0VVQJAAMMGDpYDBg6WHV4CwABBPUBAAAEFAAAAO2UT0sDQQzF
z/ZT5NheZP+gxUE8uD1U0CKIKIiH7Gw6HTomZSZb8ds7K968denJHhOS38u8B7OSPVSXUF6Ycm7q
CugzlUV9HsRigKg20k6ienZvV1VdzN/hekFt724MJOLugVJCRy9eNw0qOYlfBqbchzCbrA4me/Y6
IJ8y3Qvf8VoMvD42YIWZrOZentlj8N0IlUT6e/69OJcnbvPS1kBeDDQKrBi1EV5710ccrv3xRz52
gYZqidwFigYatBvqoABibLMmtGi32dU07lXPieLg2cJbNX/YOZ/J2WyUwrFyPyb5lPX/yfpEPuwv
/QZQSwMEFAACAAgAMHp6SRhA2hjqAAAApAQAAHUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZl
bnRfbG9hZGVkZGF0YV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAkAAwwYOlgMGDpYdXgLAAEE9QEA
AAQUAAAA7ZNPSwNBDMXP9lPkaC+yf2iLg3hwe1BoiyCiIB6ys+l06JiUmWzFb++sePPmIvTgMSH5
vcx7zEaOUM2hnJlyYeoK6D2VRX0RxGKAqDbSQaJ6di+XVV0sXuFqSW3vrg0k4m5NKaGjJ6+7BpWc
xA8D59yHMJ1sfk327HVAPmS6F77jrRh4vm/ACjNZzb08c8TguxEqifT7/JU4lydu8tLeQF4MNAqs
GLUR3nrXRxyu/fJH3g6BhuoWuQsUDTRod9RBAcTYZk1o0e6zq2ncqx4TxcGzpbdqfrBzPpOz6SiF
v8r9P5HTS+QU/vgnUEsDBBQAAgAIADF6eklAkTwU7gAAAKQEAABuABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVs
ZW1lbnRzL2V2ZW50X2xvYWRlZG1ldGFkYXRhLXN0ZGVyci50eHRVVAkAAw0YOlgNGDpYdXgLAAEE
9QEAAAQUAAAA7ZM/SwQxEMVr71NM6TWyf9DDIBbuFQp6CCIKYjGbncuFizNHMnvitzcrVlqti4Vg
mTDzey/vkZXsoTqB8tiUC1NXQK+pLOqjIBYDRLWRdhLVs3s6repi8QxnS2p7d24gEXc3lBI6evC6
aVDJSXwzcMh9CPPZ6sdkz14H5F2me+ErXouBx9sGrDCT1XyXZ/YYfPdFpR7lXz/tX4tzeeIiL20N
5MVAk8CKURvhtXd9xMHtRz7ysgs0nC6Ru0DRQIN2Qx0UQIxt1oQW7Tanmqa96j5RHDJbeqvmGzv3
MzuYT1IY0/t/I3+7kd8ij/nj71BLAwQUAAIACAAxenpJd0uw0usAAACkBAAAeQAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9ldmVudF9sb2FkZWRtZXRhZGF0YV9ub2F1dG9wbGF5LXN0ZGVyci50eHRV
VAkAAw0YOlgNGDpYdXgLAAEE9QEAAAQUAAAA7ZNBSwNBDIXP9lfk2F5kt0stDuLB7aGFWgQRBfGQ
nU2nQ6dJmclW/PfOijdvLkIPHhOS72XeYzZygukVlDNTzk1VAb2nsqgug1gMENVGOkpUz+71eloV
8ze4WVDTuVsDibi9p5TQ0bPXXY1KTuKHgTF3IUxGm1+TPXvtkY+Z7oVXvBUDLw81WGEmq7mXZ04Y
fDtAJZF+n78W5/LEXV7aG8iLgQaBFaPWwlvvuoj9tV/+yOEYqK+WyG2gaKBGu6MWCiDGJmtCg3af
XU3DXvWUKPaeLbxV84Od8xldTAYp/FXu/4mcXyLn8Mc/AVBLAwQUAAIACAAxenpJLJuNQuoAAACk
BAAAaQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1i
ZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9sb2Fkc3RhcnQtc3RkZXJyLnR4dFVU
CQADDRg6WA0YOlh1eAsAAQT1AQAABBQAAADtk8FKA0EMQM/2K3K0F9nt0hYH8eD2oNAWQURBesjO
ptOhY1JmshX/3lnx5kkXEcFjQvKSeUPWcoTJDMqpKeemqoBeUllUZ0EsBohqIx0kqmf3dD6pivkG
LhbUdO7SQCJuV5QSOnrwuqtRyUl8NXDKXQjj0frbZM9ee+RdpnvhG96KgcfbGqwwk9WcyzVHDL4d
MCWRfqy/FOdyxVVu2hvIjYEGgRWj1sJb77qI/bbvfuT5EKiPrpHbQNFAjXZHLRRAjE2eCQ3afbaa
hr3qPlHsnS28VfOJnf9ndDL+9/YL3n7qXv4i+Ss3/gZQSwMEFAACAAgAMXp6SbAAUcTtAAAApAQA
AHQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZHN0YXJ0X25vYXV0b3BsYXktc3Rk
ZXJyLnR4dFVUCQADDhg6WA4YOlh1eAsAAQT1AQAABBQAAADtk8FKAzEQhs/2KeZoL7LbVYtBeuj2
oKBFEFEoHmaz0zQ0zpRktuLbmxVPelp7EMRjwsw3f74wS9nD5BzKM1NOTVUBvaayqE6CWAwQ1Uba
SVTPbnUxqYrpM1wuqOnczEAibm8pJXT06HVTo5KT+GbgmLsQxqPlj8mevfbI+0z3wte8FgNPdzVY
YSar+S7X7DH49suU00H59TP+jTiXK+a5aWsgNwY6CKwYtRZee9dF7NN++JGXXaD+dIXcBooGarQb
aqEAYmzyTGjQbrPVdNirHhLF3tnCWzXf2Pl/Rkfjf2+/4G3Ivvx18pAdfwdQSwMEFAACAAgAMXp6
SQKdpGfsAAAADAYAAHwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfY2FucGxh
eV9jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQJAAMOGDpYDhg6WHV4CwABBPUBAAAEFAAAAO2U
sU4DMQxAZ/oVHtsF3fWAiggxcB1AggoJIZAQgy/nplFTu0p8Rfw9OcTGxoFYboxlPzsvclZygPkZ
lKemXJjqBOgtlUV1HMRigKg20l6ienYv5/OqWLzCxZKazl0aSMTtHaWEjp68bmpUchLfDUy5C2E2
Wf2Y7Nlrj3zIdC98w2sx8HxfgxVmsppjOeeAwbcDuiTSr/FvxbmccZWLtgZyYaBBYMWotfDauy5i
P+2nH9ntA/Wna+Q2UDRQo91QCwUQY5N7QoN2m62mYbd6TBR7Z0tv1Xxj5/eZHM1Gb//g7a/2ZSSP
5N/4Sz8AUEsDBBQAAgAIADJ6ekkb1WEw7gAAAAwGAAB1ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L2V2ZW50X29yZGVyX2NhbnBsYXlfcGxheWluZy1zdGRlcnIudHh0VVQJAAMPGDpYDxg6WHV4CwAB
BPUBAAAEFAAAAO2UsU4DMQxAZ/oVHtsF3fUoFRFi4DqABBUSQiAhBl/OTaOmdpX4ivh7coiNjVPF
QMdY9rPzImcpe5ieQzkz5dxUZ0DvqSyq0yAWA0S1kXYS1bN7vZhWxfwNLhfUdO7KQCJu7ykldPTs
dV2jkpP4YWDMXQiT0fLXZM9ee+RjpnvhW16JgZeHGqwwk9Ucyzl7DL4d0CWRfo9/J87ljOtctDGQ
CwMNAitGrYVX3nUR+2m//Mh2F6g/3SC3gaKBGu2aWiiAGJvcExq0m2w1DbvVU6LYO1t4q+YHO7/P
6GRy9PYH3g61L0fy/yLPDvSXfgJQSwMEFAACAAgAMnp6Sebod73sAAAADAYAAH8AHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfbG9hZGVkbWV0YWRhdGFfbG9hZGVkZGF0YS1zdGRl
cnIudHh0VVQJAAMPGDpYDxg6WHV4CwABBPUBAAAEFAAAAO2UsU4DMQxAZ/oVHumC7noqFRFi4DqA
BBUSQiAhBl/OTaMGu0p8Rfw9uaobGwdiuTGW/ey8yFnJHmbnUM5NuTDVHOgjlUV1FsRigKg20k6i
enavF7OqWLzB5ZKazl0ZSMTtPaWEjp69bmpUchI/DZxyF8J0svox2bPXHvmY6V74ltdi4OWhBivM
ZDXHcs4eg28HdEmkx/HvxLmccZ2LtgZyYaBBYMWotfDauy5iP+3Bj7zvAvWnG+Q2UDRQo91QCwUQ
Y5N7QoN2m62mYbd6ShR7Z0tv1Xxj5/eZnExHb//g7a/2ZSSP5N/4S78AUEsDBBQAAgAIADJ6eklg
j1cE8AAAAAwGAAB4ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X29yZGVyX2xvYWRzdGFy
dF9wcm9ncmVzcy1zdGRlcnIudHh0VVQJAAMQGDpYEBg6WHV4CwABBPUBAAAEFAAAAO2UwUoDMRBA
z/Yr5mgvstulLQbx4PagoEUQUZAeZrPTNDTOlGS24t+bFW+e7CKC9Jhh5s3khclS9jCZQTk15dxU
U6C3VBbVWRCLAaLaSDuJ6tm9nE+qYr6CiwU1nbs0kIjbO0oJHT153dSo5CS+GzjlLoTxaHkw2bPX
HvmQ6V74htdi4Pm+BivMZDXHcs4eg28HdEmkX+PfinM54yoXbQ3kwkCDwIpRa+G1d13EftpPP/K6
C9SfrpHbQNFAjXZDLRRAjE3uCQ3abbaaht3qMVHsnS28VfONnd9ndDI+evsDb7+1L/+fPDuSDyT/
5C/9AFBLAwQUAAIACAAyenpJi3BzCewAAAAMBgAAZQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9l
dmVudF9wYXVzZS1zdGRlcnIudHh0VVQJAAMQGDpYEBg6WHV4CwABBPUBAAAEFAAAAO2UsU4DMQxA
Z/oVHtsF3fVEKyLEwHUoElRICIGEGHw5N40a7CrxFfH35BAbGwdiuTGW/ey8yNnIEeYLKM9MuTTV
AugtlUV1GsRigKg20kGienbP5/OqWL7AxYqazl0aSMTtLaWEjh697mpUchLfDUy5C2E22fyY7Nlr
j7zPdC98zVsx8HRXgxVmsppjOeeIwbcDuiTSr/FvxLmccZWL9gZyYaBBYMWotfDWuy5iP+2nH3k9
BOpPa+Q2UDRQo91RCwUQY5N7QoN2n62mYbd6SBR7Zytv1Xxj5/eZnMxGb//g7a/2ZSSP5N/4Sz8A
UEsDBBQAAgAIADN6ekl46Z057QAAAKQEAABwABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50
X3BhdXNlX25vYXV0b3BsYXktc3RkZXJyLnR4dFVUCQADERg6WBEYOlh1eAsAAQT1AQAABBQAAADt
k8FKAzEQhs/2KeZoL7LbxS4G8eD2oKBFEFGQHmaz0zQ0zpRktuLbmxVPelp7EMRjwsw3f74wS9nD
bA7lqSlrU82BXlNZVCdBLAaIaiPtJKpn93w2q4p6BecLant3YSARd7eUEjp69LppUMlJfDNwzH0I
08nyx2TPXgfkfaZ74Wtei4GnuwasMJPVfJdr9hh892VKPSq/fsa/EedyxWVu2hrIjYEOAitGbYTX
3vURh7QffuRlF2g4XSF3gaKBBu2GOiiAGNs8E1q022w1Hfaqh0RxcLbwVs03dv6fydH039sveBuz
L3+dPGbH3wFQSwMEFAACAAgAM3p6SW8FoNPrAAAADAYAAGQAHABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVu
dHMvZXZlbnRfcGxheS1zdGRlcnIudHh0VVQJAAMRGDpYERg6WHV4CwABBPUBAAAEFAAAAO2UwU7D
MAxAz+wrfGQX1K6CighxoDuABBMSQiChHdzUy6IFe0rcIf6eFHHjRkFceoxlPzsvclZygMUZlKem
rE1VA72lsqhOglgMENVG2ktUz+7lfFEV9RoultT27tJAIu7uKCV09OR126CSk/hu4Jj7EOaz1Y/J
nr0OyIdM98I3vBEDz/cNWGEmqzmWcw4YfDeiSyL9Gv9WnMsZV7loZyAXBhoFVozaCG+86yMO0376
kdd9oOF0jdwFigYatFvqoABibHNPaNHustU07laPieLgbOmtmm/s/D6zo/nk7R+8/dW+TOSJ/Bt/
6QdQSwMEFAACAAgAM3p6SSU+7rTrAAAASgQAAG8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZl
bnRfcGxheV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAkAAxIYOlgSGDpYdXgLAAEE9QEAAAQUAAAA
7ZOxTgMxDEBn+hUe2wXd9QQHEWLgOoAEFRJCICEGX85No6Z2lfiK+HtyiI2p3AADoy372XmRl7KH
+SmUJ6asTVUDvaWyqI6DWAwQ1UbaSVTP7uV8XhX1K1wsqO3dpYFE3N1RSujoyeu6QSUn8d3AlPsQ
ZpPlj8mevQ7Ih0z3wje8EgPP9w1YYSarOZdr9hh8N2JKIv1a/1acyxVXuWljIDcGGgVWjNoIr7zr
Iw7bfvqR7S7QEF0jd4GigQbtmjoogBjbPBNatJtsNY171WOiODhbeKvmGzv/z+Ro9u/tF7wdci9n
f4J8yCV+AFBLAwQUAAIACAAzenpJdfYl2uwAAAAMBgAAZwAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50
cy9ldmVudF9wbGF5aW5nLXN0ZGVyci50eHRVVAkAAxIYOlgSGDpYdXgLAAEE9QEAAAQUAAAA7ZSx
TgMxDEBn+hUe2wXd9QSFCDFwHUCCCgkhkBCDL+emUVO7SnxF/D05xMbGgVhujGU/Oy9yVnKA+SmU
J6ZcmOoM6C2VRXUcxGKAqDbSXqJ6di/n86pYvMLFkprOXRpIxO0dpYSOnrxualRyEt8NTLkLYTZZ
/Zjs2WuPfMh0L3zDazHwfF+DFWaymmM554DBtwO6JNKv8W/FuZxxlYu2BnJhoEFgxai18Nq7LmI/
7acf2e0D9adr5DZQNFCj3VALBRBjk3tCg3abraZht3pMFHtnS2/VfGPn95kczUZv/+Dtr/ZlJI/k
3/hLPwBQSwMEFAACAAgAM3p6SVcbLYTvAAAADAYAAHIAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
ZXZlbnRfcGxheWluZ19ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAkAAxIYOlgSGDpYdXgLAAEE9QEA
AAQUAAAA7ZRBSwNBDIXP9lfk2F5kt4tWB/HQ7UFBiyCiUDxkZ9Pp0DEpM9mK/95Z8eZJF0Ghx4Tk
e5n3YJayh+kplCemnJnqDOg1lUV1HMRigKg20k6ienar82lVzJ7hYkFN5y4NJOL2llJCR49eNzUq
OYlvBsbchTAZLX9M9uy1R95nuhe+5rUYeLqrwQozWc29PLPH4NsBKon08/wbcS5PzPPS1kBeDDQI
rBi1Fl5710Xsr/3wR152gfrqCrkNFA3UaDfUQgHE2GRNaNBus6tp2KseEsXes4W3ar6wcz6jo8kg
hd/K/ZDI30vkQP7f5O/8pe9QSwMEFAACAAgANHp6SQGQayDwAAAADAYAAGgAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvZXZlbnRfcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUCQADExg6WBMYOlh1eAsAAQT1
AQAABBQAAADtlMFKA0EMhs/2KXJsL7LbRUsH8eD2UEGLIKIgPWRn0+nQMSkz2Ypv76x486SLoNBj
huT7M39CVnKA6TmUZ6acmWoO9JrKojoNYjFAVBtpL1E9u+f5tCpma7hYUNO5SwOJuL2llNDRo9dt
jUpO4puBMXchTEarH5M9e+2R95nuha95Iwae7mqwwkxW81vOOWDw7QCVRPrZ/o04lzOuctHOQC4M
NAisGLUW3njXRey7/fBHXvaB+miJ3AaKBmq0W2qhAGJssiY0aHfZ1TTsVw+JYu/Zwls1X9h5PqOT
ySCF35r7/yQft+i4RX+X/J1b+g5QSwMEFAACAAgANHp6Sboas1HqAAAApAQAAHMAHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvZXZlbnRfcHJvZ3Jlc3Nfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAAMT
GDpYExg6WHV4CwABBPUBAAAEFAAAAO2TwUoDQQxAz/YrcrQX2e1SS4fSg9uDgi2CiIJ4yM6m06Fj
UmayFf/eWfHmSRcRwWNC8pJ5QzZyhMk5lFNTzkw1B3pJZVGdBbEYIKqNdJCont3jfFIVsydYrKjp
3NJAIm7XlBI6uve6q1HJSXw1cMpdCOPR5ttkz1575G2me+Er3oqBh5sarDCT1ZzLNUcMvh0wJZF+
rH8tzuWKi9y0N5AbAw0CK0athbfedRH7bd/9yPMhUB9dIreBooEa7Y5aKIAYmzwTGrT7bDUNe9Vd
otg7W3mr5hM7/8/oZPzv7Re8/dS9/EXyV278DVBLAwQUAAIACAA0enpJ/oHYeusAAAAMBgAAagAc
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF90aW1ldXBkYXRlLXN0ZGVyci50eHRVVAkAAxQY
OlgUGDpYdXgLAAEE9QEAAAQUAAAA7ZSxTgMxDEBn+hUe6YLu2kJFVDFwHUAqFRJCIKEOvpybRg12
leSK+Ht8iI2NA7HcGMt+dl7krOUIkwsoz005N7MC6C2VxfQsiMUAMdtIB4nZs3u5nEyL+QYWS6pb
d2UgETd3lBI6evJ5V2EmJ/HdwCm3IYxH6x+TPfvcIR+U7oVveSsGnu8rsMJMNmtMc44YfNOjS6L8
Nf5KnNOMay3aG9DCQL3AGWOuhLfetRG7aT/9yOshUHe6QW4CRQMV2h01oGzGWntCjXavVlO/Wz0m
ip2zpbfZfGPr+4xOxoO3f/D2V/sykAfyb/ylH1BLAwQUAAIACAA1enpJmgiGHvMAAAAMBgAAdQAc
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF90aW1ldXBkYXRlX25vYXV0b3BsYXktc3RkZXJy
LnR4dFVUCQADFRg6WBUYOlh1eAsAAQT1AQAABBQAAADtlEFLA0EMhc/2V+RoL7LbqsVBPLg9KGgR
RBTEQ3Y2nQ4dM2UmW/HfmxVPetquxz3OkHzv8UKyinuYnUN5ZsqFOS2APnJZzE9CtBggiU20i0k8
u9eL2bxYvMHlkurWXRnIxM095YyOnr1sKhRyMX0aOOY2hOlkdTDZs5cO+ah0H/mW19HAy0MFNjKT
Ff3Tmj0G3wxQySQ/9u+ic1pxrU1bA9oY6De47AMWTFJFXnvXJuzcfucT33eButcNchMoGajQbqgB
Nc1YqybUaLeaah4iTvKUKXWZLb0V84et85kcTYcpjLkdpNBnX0bySP4Pcp9b+gVQSwMEFAACAAgA
NXp6ScnctcmEAAAAwAAAAGwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfdm9sdW1lY2hh
bmdlLXN0ZGVyci50eHRVVAkAAxUYOlgVGDpYdXgLAAEE9QEAAAQUAAAAncyxCsIwEIDhvU9xoy7S
tGoxFJe6OFgEBwVxiOkZA+FOkmvFtze+guvPz9fzBNUa1EqrRi8V4Dupsl4EtiZAFBvxxVE8ueum
qsvmBu0O76PbakhIwwFTMg7PXp6dEXQcPxpmNIYwL/q/ZU9efuQp655pTw/WcDl2YJkIreSWn8kE
PxRfUEsDBAoAAAAAADF6ekkAAAAAAAAAAAAAAABaABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2lu
dGVyZmFjZXMvVVQJAAMNGDpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAxenpJAAAAAAAA
AAAAAAAAZAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRUcmFjay9VVAkA
Aw0YOliBGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIADF6ekljeULZvAAAAJIBAAB5ABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMvVGV4dFRyYWNrL2FjdGl2ZUN1ZXMtc3RkZXJy
LnR4dFVUCQADDRg6WA0YOlh1eAsAAQT1AQAABBQAAAClkDFvAjEMhefer/AIS0U40aoRYuAYqFTY
UIeqgy8xISLYKPGB+u9Jq27dyvgkv++T31YuMH0CM7Pm2bYt0LWYSfuYxGGCrC7TWbJGDh8v09aY
T5ivqB/CwkIh3VApGOhNQqgXy1o6WqjFRL7Z/h+smLUT3scwZNQo/B710MnpnOg7rZF9omyhQ3cg
DxMgxr46oUd3JPblHjnprlB+5b2solP7h21h1DyM7zKw/x3u5y9UCpK/KpeHlMbNDVBLAwQUAAIA
CAAxenpJAbJf9oMAAADAAAAAdQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1Rl
eHRUcmFjay9hZGRDdWUtc3RkZXJyLnR4dFVUCQADDRg6WA0YOlh1eAsAAQT1AQAABBQAAACdzLEK
wjAQgOG9T3GjLmIaVAziUhcHi+CgIA4xPeNBuJPkWvHtra/g+vPztTJAvQSzcGblrAV8FzO3syTB
J8gaMr4kK3G8rmtrzA02O7z3ceugIHcHLMVHPJM+G68YJX8cTLhPaVq1f8vEpD/yNOokvOeHOLgc
GwjCjEHHNj6DT9RVX1BLAwQUAAIACAA1enpJ6kQSsuQAAADkAwAAdwAcAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1l
bGVtZW50cy9uZXR3b3JrU3RhdGVfZHVyaW5nX2xvYWRzdGFydC1zdGRlcnIudHh0VVQJAAMWGDpY
Fhg6WHV4CwABBPUBAAAEFAAAAO2RMUsDQRCFa+9XTKlNuLtogotYeCkUNAgiCmIxtzvZLFlnwu5c
xH/vntjZJSAWlgPvfY95byk7aGfQnJlmbk4boPfc1NNJFIsRktpEW0ka2L+ct9N6/goXC+oHf2kg
k95RzujpVrwviqti2hgoxkiuWu4PVkzaCa+CHxJqEH4Kuu7kbRtpvK6RXaRkoEO7Jgc1EGNfMqFH
uyF2+ZBw0sdM6YZXsghWzQ+2gePq6OSwhP/e9kpg913c11+o5CV9FC4PMf4euf0T5MBBR+RDoZdt
x94NPN93YIWZ7Lh30ewwBld9AlBLAwQUAAIACAA1enpJMV0WpoQAAADAAAAAbgAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9uZXR3b3JrU3RhdGVfaW5pdGlhbC1zdGRlcnIudHh0VVQJAAMWGDpYFhg6
WHV4CwABBPUBAAAEFAAAAJ3MsQrCMBCA4b1PcaMu0qZqMRSXujhYBAcFcYjpGQPhTpJrxbc3voLr
z8/X8wRqDdVKV41eKsB3qsp6EdiaAFFsxBdH8eSuG1WXzQ3aHd5Ht9WQkIYDpmQcnr08OyPoOH40
zGgMYV70f8uevPzIU9Y9054erOFy7MAyEVrJLT+TCX4ovlBLAwQUAAIACAA1enpJWJ+29OYAAABM
BQAAcgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1i
ZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wYXVzZWRfZmFsc2VfZHVyaW5nX3BsYXktc3Rk
ZXJyLnR4dFVUCQADFhg6WBYYOlh1eAsAAQT1AQAABBQAAADtkkFLA0EMhc/ur8hRL7K7VYuDeHB7
UNAiiCgUD9mZdDp0TMpMtuK/d1YED97sRbDHwMv3SN6byxbaM2hOTTM1Jy3QW27qyXEUixGS2kQb
SRrYL87bST19gYsZ9YO/NJBJ7yhn9HQr3hfFVVlaGyiLkVw1/z1YMWknvAx+SKhB+CnoqpPXTaRx
ukZ2kZKBDu2KHNRAjH3xhB7tmtjlXcxJHzOlG17KLFg1P9gGDquDo50c2H097vMuVPKS3guXhxj/
Knmf9f/Jek/+JgcOOiIfCr30ceyKgef7Dqwwkx07WjRbjMFVH1BLAwQUAAIACAA1enpJ2aEykOoA
AACkBAAAcgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wYXVzZWRfdHJ1ZV9kdXJpbmdfcGF1c2Ut
c3RkZXJyLnR4dFVUCQADFhg6WBYYOlh1eAsAAQT1AQAABBQAAADtk8FKA0EMQM/2K3K0F9ndVouD
eHB7sNAWQURBPGRn0+nQMSkz2Yp/76x486SLiOAxIXnJvCFrOUB1BuWpKWdmWgG9pLKYnASxGCCq
jbSXqJ7d43k1KWZPcDGnpnOXBhJxu6KU0NG9122NSk7iq4Fj7kIYj9bfJnv22iNvM90LL3gjBh5u
arDCTFZzLtccMPh2wJRE+rH+UpzLFVe5aWcgNwYaBFaMWgtvvOsi9tu++5HnfaA+ukZuA0UDNdot
tVAAMTZ5JjRod9lqGvaqu0Sxdzb3Vs0ndv6f0dH439svePupe/mL5K/c+BtQSwMECgAAAAAAMXp6
SQAAAAAAAAAAAAAAAGoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEt
cmVzb3VyY2UvVVQJAAMOGDpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAxenpJY3lC2bwA
AACSAQAAkQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5nLXRoZS1tZWRpYS1yZXNvdXJj
ZS9wYXVzZS1tb3ZlLXRvLW90aGVyLWRvY3VtZW50LXN0ZGVyci50eHRVVAkAAw0YOlgNGDpYdXgL
AAEE9QEAAAQUAAAApZAxbwIxDIXn3q/wCEtFONGqEWLgGKhU2FCHqoMvMSEi2CjxgfrvSatu3cr4
JL/vk99WLjB9AjOz5tm2LdC1mEn7mMRhgqwu01myRg4fL9PWmE+Yr6gfwsJCId1QKRjoTUKoF8ta
OlqoxUS+2f4frJi1E97HMGTUKPwe9dDJ6ZzoO62RfaJsoUN3IA8TIMa+OqFHdyT25R456a5QfuW9
rKJT+4dtYdQ8jO8ysP8d7ucvVAqSvyqXh5TGzQ1QSwMEFAACAAgAMXp6SdXBxljjAAAArAIAAI8A
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVk
LWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGF1c2Ut
bW92ZS13aXRoaW4tZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQADDhg6WA4YOlh1eAsAAQT1AQAABBQA
AADNkU9LA0EMxc/2U+RoL9Lp+geH0oPbQwUtgohC8ZCdTadDp0mZyVb89s6KJwVB9uIxIfm9l5eV
HGF6CebCmitbVUBv2UyqsygOIyR1iQ6SNLBfX08rY15htqCm83MLmbi9p5zR03PQbY1KXtK7hVPu
YhyPVv+QHDhoj3ws9CB8yxux8PJQgxNmclp6ZeaIMbTfVM7/5F+/7N+J92XipiztLJTFSIPAiklr
4U3wXcLe7Wc+sj9E6qslchspWajRbamFCRBjUzShQbcrqeZhVz1lSn1mi+DU/mCX/4xOxoMUfv/7
B1BLAwQUAAIACAAxenpJF2n5Vd8AAAAGAwAAjwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5
aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9wYXVzZS1yZW1vdmUtZnJvbS1kb2N1bWVudC1zdGRlcnIu
dHh0VVQJAAMOGDpYDhg6WHV4CwABBPUBAAAEFAAAAM2RP08DMQzFZ/opPJYFNT3+iKhi4DqA1FZI
CIFUdfDl3DRqaleJr4hvTw6xMTDc0tGW38/Pzys5wfQWzI01d7a6BvrMZlJdRXEYIalLdJSkgf36
floZs4HZnJrOP1jIxO2SckZP70F3NSp5SV8WxtzFeDlanSE5cNAe+VroQfiZt2Lh46UGJ8zktPTK
zAljaAf511/7C/G+TDwW0d5CEUYaBFZMWgtvg+8S9m5/8pHDMVJfPSG3kZKFGt2OWpgAMTZlJzTo
9iXVPOyqt0ypz2wenNo/7PKf0cV5/v0/8jdQSwMEFAACAAgAMXp6SSq/hiKFAAAAGgEAAIEAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGxheWJhY2tS
YXRlLXN0ZGVyci50eHRVVAkAAw4YOlgOGDpYdXgLAAEE9QEAAAQUAAAAzcy/CsIwEIDxvU9xoy5i
Gv9gKC51cbAIDgriENMzBsKdJNeKb298C9ePj1/HI9QrUEuj1kYvAN9ZzfUssrMRkriEL04SyF83
tVbqBs0O74PfGshI/QFzth7PQZ6tFfScPgYmNMQ4rbo/lAMF+ZGnogemPT3YwOXYgmMidFJaeUYb
Q199AVBLAwQUAAIACAA2enpJpt+nNYQAAADAAAAAeAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9w
cmVsb2FkX3JlZmxlY3RzX25vbmVfYXV0b3BsYXktc3RkZXJyLnR4dFVUCQADFxg6WBcYOlh1eAsA
AQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLtI2ajEUl7o4WAQHBXGI6RkD4U6Sa8W3N76C68/P1/ME
9Rqqla4avVSA71SVahHYmgBRbMQXR/Hkrptalc0N2h3eR7fVkJCGA6ZkHJ69PDsj6Dh+NMxoDGFe
9H/Lnrz8yFPWPdOeHqzhcuzAMhFayS0/kwl+KL5QSwMEFAACAAgANnp6SXWyxBDkAAAATAUAAHMA
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVk
LWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfY2FucGxheS1zdGRlcnIu
dHh0VVQJAAMXGDpYFxg6WHV4CwABBPUBAAAEFAAAAO2TQUsDQQyFz+6vyFEvsttVi4N4cHtQ0CKI
KIiH7Ew6HTomZSZb8d87K968tXjbY+C975FHspQdzC6gOTfN3Jy1QJ+5qdvTKBYjJLWJtpI0sH+7
nLX1/B2uFtQP/tpAJn2gnNHTvXhfFDfFtDFQjJFctdwfrJi0E14FPyTUIPwSdN3JxzbSON0iu0jJ
QId2TQ5qIMa+ZEKPdkPs8iHhpM+Z0h2vZBGsmj9sA8fV0clhCVNveyWw+y3uZy9U8pK+CpeHGCfy
RP4PcuCgI/Kp0MsPjfdt4PWxAyvMZMe/KpodxuCqb1BLAwQUAAIACAA2enpJkxnczuwAAAAMBgAA
egAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1cmluZ19jYW5wbGF5dGhyb3Vn
aC1zdGRlcnIudHh0VVQJAAMXGDpYFxg6WHV4CwABBPUBAAAEFAAAAO2UsU4DMQxAZ/oVHtsF3fWA
iggxcB1AggoJIZAQgy/nplFTu0p8Rfw9OcTGxoFYboxlPzsvclZygPkZlKemXJiTCugtlUV1HMRi
gKg20l6ienYv5/OqWLzCxZKazl0aSMTtHaWEjp68bmpUchLfDUy5C2E2Wf2Y7Nlrj3zIdC98w2sx
8HxfgxVmsppjOeeAwbcDuiTSr/FvxbmccZWLtgZyYaBBYMWotfDauy5iP+2nH9ntA/Wna+Q2UDRQ
o91QCwUQY5N7QoN2m62mYbd6TBR7Z0tv1Xxj5/eZHM1Gb//g7a/2ZSSP5N/4Sz8AUEsDBBQAAgAI
ADZ6ekm1wLvm8wAAAAwGAAB2ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVy
aW5nX2xvYWRlZGRhdGEtc3RkZXJyLnR4dFVUCQADGBg6WBgYOlh1eAsAAQT1AQAABBQAAADtlMFK
A0EMhs/2KXK0F9ntVouDeHB7UNAiiCgUD9nZdDp0TMpMtuLbOytexFNZBIUeMyTfn/kTspAdTM6g
PDXlzEwroLdUFtVJEIsBotpIW4nq2S3PJ1Uxe4GLOTWduzSQiNs7SgkdPXld16jkJL4bOOYuhPFo
8Y083YPs2WuPfMh0L3zDKzHwfF+DFWaymt9yzg6DbweoJNKv9m/FuZxxlYs2BnJhoEFgxai18Mq7
LmLf7ac/8roN1EfXyG2gaKBGu6YWCiDGJmtCg3aTXU3DfvWYKPaezb1V84Od5zM6Gg9S+K25/0/y
YYsOW/R3yfvc0g9QSwMEFAACAAgANnp6STQb87TrAAAApAQAAHoAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfbG9hZGVkbWV0YWRhdGEtc3RkZXJyLnR4dFVUCQADGBg6
WBgYOlh1eAsAAQT1AQAABBQAAADtk0FLA0EMhc/2V+RoL7LbVotD8eD2oNAWoYiC9JCdTadDx6TM
ZCv++86KN28uQg8eE5LvZd5jVnKE0Q2U16acmskE6COVxfgqiMUAUW2kg0T17N5uR+NiuoHZnOrW
3RlIxM2SUkJHL153FSo5iZ8GLrkNYThY/Zrs2WuHXGe6F37krRh4farACjNZzb08c8Tgmx4qifT7
/IU4lyfu89LeQF4M1AusGLUS3nrXRuyu/fJH3g+BuuoBuQkUDVRod9RAAcRYZ02o0e6zq6nfq54T
xc6zubdqfrBzPoOLYS+Fv8r9P5HzS+Qc/vgJUEsDBBQAAgAIADd6ekluaH388gAAAAwGAABzABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVyaW5nX3BsYXlpbmctc3RkZXJyLnR4
dFVUCQADGRg6WBkYOlh1eAsAAQT1AQAABBQAAADtlE9LAzEQxc/2U8zRXmS3fywG8eD2oKBFEFEo
Hmaz0zQ0zpRktuK3Nyue9NTuRbDHhJnfe3kPspAdjM6hnJpyZiYToPdUFuOzIBYDRLWRthLVs1te
jMbF7BUu51S37spAIm7uKSV09Ox1XaGSk/hh4JTbEIaDxcFkz1475GOme+FbXomBl4cKrDCT1XyX
Z3YYfPNDZbqXf/22fyfO5YnrvLQxkBcD9QIrRq2EV961ETu3X/nI2zZQd7pBbgJFAxXaNTVQADHW
WRNqtJucaur3qqdEscts7q2aX+zcz+Bk2Ethn97/CvnY9f/p+kg+7C/9BFBLAwQUAAIACAA3enpJ
Vtzg6oQAAADAAAAAbAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2luaXRpYWwt
c3RkZXJyLnR4dFVUCQADGRg6WBkYOlh1eAsAAQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLtK01mIQ
l7o4WAQHBXGI6RkPwp0kacW3N76C68/P18sE1QpUo1Wrlw3gO6qyXnixxkNINuBLQiJ213VVl+0N
Nju8j26rISIPB4zRODxTenYmoZPw0TDj0ft50f8tE1P6kaesk/CeH6LhcuzACjPalFt+JuNpKL5Q
SwMEFAACAAgAN3p6SZf1RaDVAAAAwgIAAIQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvc3JjX3Jl
ZmxlY3RzX2F0dHJpYnV0ZV9ub3Rfc291cmNlX2VsZW1lbnRzLXN0ZGVyci50eHRVVAkAAxkYOlgZ
GDpYdXgLAAEE9QEAAAQUAAAA1ZA/T8MwEMV3PsWNMKSOS0oSbxUV6sCAojJVDK59IRb+E+wLn59D
YWZDAt3yfnrvpHd3ljslW9XsNu1d+wLH0+lpwPcFC8HoXo9E8zcenB3QoPvAAcucYsF77f1FmzcF
eTUsTJxnWn1o6gauMeeUoZLb/ra7gZH1V0gJ4ZPRfkqFVNfVtZgoeFEw6EjOFIHhgtairUyKhJFE
QOt0hR4DUxFjSlfnn7szHpYwP7io/fPwuI98QEiEe2u5YlGgVwFy225qHslrnIUl+98p2f/jB/d/
9cGfUEsDBAoAAAAAADF6ekkAAAAAAAAAAAAAAABVABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3Ry
YWNrL1VUCQADDRg6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAMXp6SQAAAAAAAAAAAAAA
AGMAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdHJhY2svdHJhY2stZWxlbWVudC9VVAkAAw0YOliB
GjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIADF6ekm3M9ky/AAAAOwBAACCABwAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL3RyYWNrL3RyYWNrLWVsZW1lbnQvdHJhY2stYXBpLXRleHR0cmFja3Mtc3Rk
ZXJyLnR4dFVUCQADDRg6WA0YOlh1eAsAAQT1AQAABBQAAAClkUFPwzAMhc/0V/gIB6p2oWxEaBLr
DiABQpsQh2qHNHXSaiGekhQQvx4XxIUj882W/L3n56asZDmXQuSLSuzgmgvqzc1qC0suMG6M/RP6
bvB2gw5VxC0mCU3xMTcocCG6SptiBytHeg8F9CqCJ3/+iYEgoAFNo09wkT3SG8wu4VcO8D2Whch5
TTkISQc8UEgs01zNRDlZufOGlhIcWctjiEmFFPM8/wdqje1omRUxPWCMyuL9D/XbtgRedNgdA57M
1eTNYMeg0kD+ZUh9Ta8Hh1N3q3znMEiole6x46DQq5Y1oVV6z/nG4656jhimvNaD5u/8ZUs4zU7O
si9QSwMECgAAAAAAMXp6SQAAAAAAAAAAAAAAAF4AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdXNl
ci1pbnRlcmZhY2UvVVQJAAMOGDpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAxenpJ8+LI
jYUAAAAaAQAAbgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy91c2VyLWludGVyZmFjZS9tdXRlZC1z
dGRlcnIudHh0VVQJAAMOGDpYDhg6WHV4CwABBPUBAAAEFAAAAM3MvwrCMBCA8b1PcaMuYhr/YCgu
dXGwCA4K4hDTMwbCnSTXim9vfAvXj49fxyPUK1BLo9ZGLwDfWc31LLKzEZK4hC9OEshfN7VW+gbN
Du+D3xrISP0Bc7Yez0GerRX0nD4GJjTEOK26P5QDBfmRp6IHpj092MDl2IJjInRSWnlGG0NffQFQ
SwMEFAACAAgAN3p6SQCm4Fi+AAAA7AEAAGMAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdmlkZW9f
MDA4LXN0ZGVyci50eHRVVAkAAxkYOlgZGDpYdXgLAAEE9QEAAAQUAAAAtZC7bgIxEEXr8BVTQhPt
8giKhShYCpAIHUoRpZi1B2NhZpA9S8TfY6J06YJSXmnuOZq7lQsMX6CemHpqxhOgr1xXo+coFiMk
tYnOkjSw/3gdjqrpJ8yW1HZ+biCTvlHO6Gkj3peLRSkdDZRiJNfb/h2smLQR3gffJdQg/B700Mjp
HOmeVsguUjLQoD2QgwqIsS1OaNEeiV1+RE66y5TWvJdlsGp+sQ30e0+Dhwzsfob7/guVvKRr4XIX
43+Sb1BLAwQUAAIACAA3enpJrl1DhYQAAADAAAAAbAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy92
aWRlb192b2x1bWVfY2hlY2stc3RkZXJyLnR4dFVUCQADGhg6WBoYOlh1eAsAAQT1AQAABBQAAACd
zLEKwjAQgOG9T3GjLtK02mIQl7o4WAQHBXGI6RkD4U6Sa8W3N76C68/P1/MEVQNqpVWrlw3gO6my
XgS2JkAUG/HFUTy567qqy/YGmx3eR7fVkJCGA6ZkHJ69PDsj6Dh+NMxoDGFe9H/Lnrz8yFPWPdOe
HqzhcuzAMhFayS0/kwl+KL5QSwMECgAAAAAAMXp6SQAAAAAAAAAAAAAAAFIAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhl
LWF1ZGlvLWVsZW1lbnQvVVQJAAMOGDpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAxenpJ
hzsqEN4AAADQAgAAbgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtYXVkaW8tZWxlbWVudC9hdWRpb19jb25zdHJ1Y3Rv
ci1zdGRlcnIudHh0VVQJAAMOGDpYDhg6WHV4CwABBPUBAAAEFAAAANWQMU/DMBCFd37FjTCkjpOg
pt4qKtSBAUVlqhhc+0osznawL/x+XMIMExLolvfu3knf3VHeKrlWbbfq2uYZ9ofD44BvM2aGs3vZ
M09fdufsgAbdOw6Ypxgy3mmikzavCtIysDCWfHHLHLq6g2tMKSaoZLNp+xs4F30JKSEoGk1jzKz6
vq7FyJ5ERq8DO5MF+hNai7YyMTAGFjxipWfrYoWE/tLJyVwdv8cvdjf76d4FTU/DwzaUG3xk3Fpb
KLMCvQiQzXpVl5JlrWRhTvRrnO3/enOYiX7i/xN//gT9AFBLAwQKAAAAAABFenpJAAAAAAAAAAAA
AAAARAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvVVQJAAMxGDpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABF
enpJAAAAAAAAAAAAAAAAWAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRldGFpbHMtZWxlbWVudC9VVAkAAzEY
OliBGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAEV6ekkW9Xm6YAEAAMsFAABuABwAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVt
ZW50cy90aGUtZGV0YWlscy1lbGVtZW50L3RvZ2dsZUV2ZW50LWFjdHVhbC50eHRVVAkAAzEYOlgx
GDpYdXgLAAEE9QEAAAQUAAAA1ZTPSgMxEMbv+xRz2xaKDyD0UKSgoCi2PkC6mW4HJpk1mVT69ib9
o22xHnRBvCzZTOb3fZNJUt2a4DFGmIYgAQbzu4fp48t8OAKXZ02LMAafmKvqaTKbwcRa8i1Ihx5U
oLaohjjWEFeS2MKSAoLJobZlBFyjVzAKusKjtcjoSmCHfEYn6w/oMojrBXvR6cBS7Nhsrr14HPak
cGZ74AWaFbEN6H8jcWOYP6t4owZB/NHqgox5ijf5g6foU0JEnagGWiTFQV149QjqethXFw86oXQT
z6V6k5mh6mFDxhpSqXn7g/aLnL2OF/211tJw3Io1LLFfsf2V++bEFib5bb6VJpW0n52qOcYcIpcL
kKTVveR2AXUxueNxFuH8FkTKJIc6gkZ8xEZRUwBjqaNITbGKTDlatsMKIKXoxIKi63I2+YYs2ZRV
kwKbReYD6o6N4EzrDRim12SuqktO/pfDP3b1DlBLAwQUAAIACABFenpJ23wGr8ABAAAZBQAAbAAc
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3Rp
dmUtZWxlbWVudHMvdGhlLWRldGFpbHMtZWxlbWVudC90b2dnbGVFdmVudC1kaWZmLnR4dFVUCQAD
MRg6WDEYOlh1eAsAAQT1AQAABBQAAADVlE2P0zAQhu/5FXNrq9RrVisEl5VaoBIIEGhb2LMbT9OR
/BHscXf594zbdAUS4sCukLgkcTLzPu9MPFZKgf4aXfGY9RvDRq9u1/oWt++Jx9urQs7qG3RoMmpn
vsfCijGzSpiL46zJDzExWn131ek73KrBGd7F5I9hWe/ZO53Rm8DUSXhgTKZjOqASVY9BYniPyiIb
cvn8UnPse4ergzwrvB+wE8YF33PTtu3/4Vrii3FHz4sFqMv5FbSX8+ewWDRt0741KWDOsEopJphu
3n1cffqymc1BysqmR7iGUJxroIHPy/UaltZS6CEOGIAjTEbyBPI+FmdhRwnBwMkAYHUAhkFM/hQ7
2jxr3qCPhwfVXYr+sbq10JfzF1LoM7lKpSfQa+Nc5aQKxCVzom1hnE4qeDJ7soLWyHyu55pTwapc
F2h/kzSCQuTHw3bG5SOtczE/LU39+f9PqyKFY7aNXalJs79rYjvuwn8B28icAZOXXsl0NvAhyuYA
GnLxvywE42RAMomWR55DF0OupwGXBMbSQJm6ahYdydfaexsBqWQfLTDWQRfHHVmyRbiFwZmt6APy
SRvBmz4YMI6+FXMhE/cDUEsDBBQAAgAIAEV6ekkd3xG9MgEAAJEFAABwABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90
aGUtZGV0YWlscy1lbGVtZW50L3RvZ2dsZUV2ZW50LWV4cGVjdGVkLnR4dFVUCQADMRg6WDEYOlh1
eAsAAQT1AQAABBQAAADVkkFOAzEMRfc9hXfTSogDILGo2LJA9ARp4k4tOfaQOEW9PclAoa3ohg5C
bEaZOP/97zizp+VqBcsQSHrQAQVMoQtojjh3kLdaOMCGEoKrpb5nBNyhGDgD2+LRWWSMrTAbkc8Y
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
bS10ZXN0cy9tZWRpYS1zb3VyY2UvVVQJAAMwGDpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CAA5enpJPwa16bgAAAA9BAAAVwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLWFjdGl2ZXNvdXJjZWJ1ZmZlcnMtc3RkZXJyLnR4dFVUCQAD
Hhg6WB4YOlh1eAsAAQT1AQAABBQAAADN0bEKwjAUheHdp7gvoOSmTTTdFBfBScVFHGJ7WwNtUpIW
iU9vcVZXsx3+6YPDGco54pxLQFHgssjVYoUI27HrD2Qr8idPdFE8y0WRc6ZkdoVdY503toHS2cG7
9mQ6uulAEGiAW4SyNWSnRaUep7o+H3XXt7QZ65r81oS+1XGvI3l46AC6qqiCwYGGEG15986aJ/kZ
/0BT+eoHjf+VJmS6tGWyNMm+0FAqhX+jCbZgWZqHvmkqBdoLUEsDBBQAAgAIADl6eknSALKYiwAA
AJsAAABQABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVk
aWFzb3VyY2UtYXBwZW5kd2luZG93LXN0ZGVyci50eHRVVAkAAx4YOlgeGDpYdXgLAAEE9QEAAAQU
AAAADcixDoIwEADQ3a+4H8DQAjWwaVhMnJS4GIejPbBJacm1xNSvl+3lyVKoQohCKhBNJ05dUx6V
kNBvy3onb4gHJnq1sqqbrpZlq6o3XGcf2PoZdPCJgxvsQiNGgkgJxgzaWfK7SOO27/n5wGV1dNmm
ibi3cXWYb5iJ4YsR0BgykAIgxOz1h4O3P+LDH1BLAwQUAAIACAA5enpJ5o0VMCYBAAApAwAATAAc
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LWF2dHJhY2tzLXN0ZGVyci50eHRVVAkAAx4YOlgeGDpYdXgLAAEE9QEAAAQUAAAAxZDNasJAFIX3
fYr7ApqZMYkkuzbWKihIjG5KF+PMVQeSmXR+LOnTNymFQtGtXd3D5Sy+8zFC0xGlI5YCTXI6zRMy
npIJzELTlqgl2soivmZsEid5TKeEkDdYnrSxSp9AGO2tqSvV4IE7BIceDh2IWqHuEwoe+u/jfsub
tsancDyinSnX1rxb8Q4tfHAHXEqU4A1wcJ0WZ2u0+kT7wK6ixTfQGMnSyf+iJbespVlG74UWbU2w
AgsuzhgVxuIapeK/aUSTlI1ZTKKNNd74rkUXzdVpUVWb4RbfFAuuZY2yCM6bZleu+u5F9bPG4gfz
b6GwyD2W6FqjHc6U8HNjX9CX+B7Q+RwKE2oJ2vhh/gWth121HPjXy/UzDBg5XPdKb3plaZzcy+sX
UEsDBBQAAgAIADp6ekkZKNaQpgAAAAcDAABMABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtYnVmZmVyZWQtc3RkZXJyLnR4dFVUCQADHxg6
WB8YOlh1eAsAAQT1AQAABBQAAADN0LEOgjAUheHdp7gvgKGFFsumYTFxUuJiHGp7wSalJS3E1KeX
BzCusp2c6ctPc8IzQjLKgbCaVDXLt4KU0MzDeEanMbQB8SZoUbK6pLngxR2OvfPBuB6Ud1PwtjUD
PmREiDjBI4GyBt2yUMl5effXixxGi4e56zA0Jo5WppNMGOAlI0itUcPkQUJMTj2Dd+aNYUO/0vgP
Gl0tjYn/0qr1VtutodoHUEsDBBQAAgAIADt6eknllZ3IKgEAAMgDAABfABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5n
ZS1tcDQtYS1iaXRyYXRlLXN0ZGVyci50eHRVVAkAAyEYOlghGDpYdXgLAAEE9QEAAAQUAAAA5dDB
bsIwDADQO1/hG3CANkA7DWkXOtB2qISEdkIIhcSFiDSu3HQbf79UiIHQtB/gFMexLb+sRTIVT9NE
DNN4tIGC5T6XzhRk9XbZ1IfZyWMNtdk7aS1qQOaXgUjjSQq948L8Fs+ZibcfDr8rVB71uzP+VXrZ
h94KFTkN3cKfqi5ITyWgU9Q4j4y6HzIQrahhhZlUB4wyYsxRG3mNBiJJR8PRJI6WTJ7CIKyjBXEp
/Zt02iLXUU6fBqN2pTZYBEiJzl/2GyqwxiGIdBx31le0eEh08ojo5w1k+UqWlcVZUxTIWYCG0fOw
yzl9pxfQC0dwreWO2Bu3B0tUAUq2J9ANgqe2kDj8ZrCq0LqT6rj5R7oN/17iF/Gx/gt97jk/tcLb
de/vF+g4TcedH1BLAwQUAAIACAA8enpJ4y0LhZQBAABjBAAAZgAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2UtbXA0
LWF2LWF1ZGlvLWJpdHJhdGUtc3RkZXJyLnR4dFVUCQADJBg6WCQYOlh1eAsAAQT1AQAABBQAAADl
ksFuGjEQhu88xdxCDrDrXdYIpB4aCGqkIkUlzQUhNGvPgoXXXs16m26fvkY0LYqivkBOHo9nxv/3
21tRzMV0XuTjWZbuoGI8rNGZylu9f+za410fqIXWHBxaSxqI+dNIyHQiYXhamb/F98ye998d/WxI
BdIPzoQlBryF4YaUdxpuqtA3N4DB10BO+c4FYtK3MQPJxnesaIHqSMnCM61JG/wXjUQhs3E2SZNH
9sHHQdQmK881hi/otCVuk7X/YSg5SzoHqwhSkwuv+sYKrHEEQubpYHsFXXxA6Fx8ROjpDhbrDdaN
pbuuqogXETSOvo9aLuk39AKGcYlcWyw9B+MOYL1vgJBtD7ojCP5c6Dm6GVlVbC1RnXb/Id1H32t6
8Xxq34O+9FyOzoTXct/uX0FzKfNBlgo5EmKUSfiDLMeimMKyq5tv5DTxExNtZ1k+KeYTIWez+Ace
Ds7zGSs+W2Bvn0xNJbbRBwpQ9qCsicZCSQq7mP38fH390rSNxf4r9sTwgi2g1tG4aAlC2zt1ZO/M
L+LBb1BLAwQUAAIACAA9enpJFQw1V5YBAABjBAAAZgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2UtbXA0LWF2LXZp
ZGVvLWJpdHJhdGUtc3RkZXJyLnR4dFVUCQADJhg6WCYYOlh1eAsAAQT1AQAABBQAAADlkctu2zAQ
Rff+itnFWdgS9YpjoIvGjtEANRDUSTeGYYzIkU2YIoUR1VT9+lJw0xhB0R/IisPhPO653Ip8Lm7m
eTFNbtMdVIyHNVpdOaP2j117vOs9tdDqg0VjSAExf5qIIs4KGJ9W+m/xPbPj/bOlnw1JT+rBar9E
j9cw3pB0VsFV5fvmCtC7GshK11lPTOo6ZCDauI4lLVAeKVo4pjUpjW/RRORFMk2yOHpk510YRG20
clyj/4JWGeI2WrsfmqJB0hCsAkhN1r/qm0ow2hKIIo1H2wvo2ceDTuPsA0KLZAeL9QbrxtBdV1XE
iwAaRt8HLef0O3oB43AEri2Wjr22BzDONUDIpgfVEXg3FDoObgZWGVpLlKfdf0j3wfeaXhyf2n9B
n3vOTwPhpdz391fQtCjSURKLYiLEJCngD/JsmiczWHZ1842sIn5iou1tkmb5PBM3cRzv4OFgHQ9Y
4ds8O/OkayqxDT6Qh7IHaXQwFkqS2IXs5++X65e6bQz2X7EnhhdsAZUKxgVLENreyiM7q38Rj34D
UEsDBBQAAgAIAEB6ekmnnlGBQAEAAHoDAABfABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1iaXRyYXRl
LXN0ZGVyci50eHRVVAkAAygYOlgoGDpYdXgLAAEE9QEAAAQUAAAA5ZLPbsIwDMbvPIVvwAHalLYM
pB0GDA1pSGiwXdCETOJCtDSpnHRb9/Qrh/15B26fPln297O9F9lUjKfZzXAcp69QMJ7WaHXhjDps
an+eNYE8eH2yaAwpIObbgcjjNIfe21L/Ft8zOz48W/qsSAZSK6vDAgP2obcl6ayCbhGaqgsYXAlk
pattICbVbx2Itq5mSXOUZ4rmjmlNSuOfGogsT4ZJGkcbdsG1jchHS8clhge0yhD7aO3eNUWXSBex
bEFKsuEn31CC0ZZA5KO4s/8HPblCaHE1l05ikQ+EGCQ5XPBvpnE8zHMBi7qsnsgq4h0T7SfJKM2m
aRJPsvYfVifrWNsTtDSBndnpko7oCTwFODYgjW7nwZEk1q1797LFsjI0q4uCeKF9ZbB5xIYYPtAD
KtVuMzhA8I2VZ3ZWfxF3vgFQSwMEFAACAAgAQXp6SVZf58A9AQAAegMAAGEAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hh
bmdlLW1wNC12LWZyYW1lcmF0ZS1zdGRlcnIudHh0VVQJAAMqGDpYKhg6WHV4CwABBPUBAAAEFAAA
AOWQzW7CMBCE7zzF3mgPkDgk4UfqoYWiIhUJFdoLQtVib4JVx47WTtv06Ruk/jwEt9FotDvf7EU2
E5NZHA/H6fgABWO5RqsLZ9TrpvGnuzaQB69Li8aQAmK+GYg8TnO4elvqv/A9s+PXZ0ufNclAamV1
WGDAa7jaknRWQb8Ibd0HDK4CstI1NhCTuu4ciLauYUlzlCeK5o5pTUrjvxqILE+GSRpHG3bBdYfI
R0vHFYYHtMoQ+2jt3jVF50pnsexAKrLht99QgtGWQOSjuLf/h86SS4SeXAp0Eot8IMQgyeEHPxmO
RQyLpqqfyCriHRPtp8kozWZpEk+z6QFWpXWsbQkdTWBndrqiI3oCTwGOLUiju39wJIlN596+bLGq
Dd01RUG80L422D5iSwwf6AGV6tYMDhB8a+WJndVfxL1vUEsDBBQAAgAIAEJ6ekl/9YBZPQEAAHoD
AABhABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFz
b3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1mcmFtZXNpemUtc3RkZXJyLnR4dFVUCQADLBg6WCwY
Olh1eAsAAQT1AQAABBQAAADlkM1uwjAQhO88xd5oD5A4JOFH6qGFoiIVCRXaC0LVYm+CVceO1k7b
9OkbpP48BLfRaLQ73+xFNhOTWZwMJyI9QMFYrtHqwhn1umn86a4N5MHr0qIxpICYbwYij9Mcrt6W
+i98z+z49dnSZ00ykFpZHRYY8BqutiSdVdAvQlv3AYOrgKx0jQ3EpK47B6Kta1jSHOWJorljWpPS
+K8GIsuTYZLG0YZdcN0h8tHScYXhAa0yxD5au3dN0bnSWSw7kIps+O03lGC0JRD5KO7t/6ETcYnQ
40uBTmKRD4QYJDn84KfD8TiDRVPVT2QV8Y6J9tNklGazNImn2fQAq9I61raEjiawMztd0RE9gacA
xxak0d0/OJLEpnNvX7ZY1YbumqIgXmhfG2wfsSWGD/SASnVrBgcIvrXyxM7qL+LeN1BLAwQUAAIA
CABCenpJ/1lY+QcBAAAVAgAASgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLWRldGFjaC1zdGRlcnIudHh0VVQJAAMsGDpYLBg6WHV4CwAB
BPUBAAAEFAAAANXPQU7DMBAF0D2nmAu0SUwS0ewgpbRSK1VpYINYuPZvaymxw9gpCqcnQUhI3IDV
fI3+4n0RJ/ksSWYipyQrkrsiTueLLKdl33YVrAbXDLwuxG2aFamIF7l4o83ZOjb2TMrZwK6pTYuj
9CCPQMeBVGNgxwQl+/F7/3KQbdfgoT+dwEvju0YOWzmA6UN6klpDU3AkyQ9WXdhZ8wm+iQ6uZ4VS
qgui0jF20Eb+plmS5WIu0jjaswsuDB18tDLndV3vp1t+K9bS6ga67H1w7XO1HbtXM86aqx/m30LJ
kAEVfOesx9KosHL8hFDhvYcPBZWubzRZF6b5V3Cg53oz+Xeb3SNNjIL+N/4LUEsDBBQAAgAIAER6
ekmfFVXMEAEAAIQBAABIABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1z
b3VyY2UvbWVkaWFzb3VyY2UtcGxheS1zdGRlcnIudHh0VVQJAAMvGDpYLxg6WHV4CwABBPUBAAAE
FAAAAF1QTW/CMAy98yt8hAOFhDZ8SDtsZUiTxmWgXRCa3NQtEWlSua1Q9+sXBNIQJ9vPfrbfO4hk
JRaraRLNE3mEdLvDqrb01hUFcYrWbjy/oz7dYGhM6QJIORDzi4BhCCMYHjDz3BpXgvW+BkK2PeQd
Qeuvg56hYF+BDtQM9fk4AmxhsvMda0rDdpqknmlLucGfgrGii+dz8w+ORaJkJOPpnXNrTTamfHz3
uY40WOMIZkrNBnIq1FiIsVRwl6yi5WIO666qv8jlxHsmOizlLE5WsZAqTo7wUTrPV1nau5a93ZuK
MmyCD9RC1oO2hlzISGMX0Nfvx/Nr09QW+0/sieGCDWCeB+OCJQhN7/SJvTO/xIM/UEsDBBQAAgAI
AEN6ekk2d4egiwAAAJsAAABXABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1zb3VyY2UvbWVkaWFzb3VyY2UtcGxheS10aGVuLXNlZWstYmFjay1zdGRlcnIudHh0VVQJAAMt
GDpYLRg6WHV4CwABBPUBAAAEFAAAAA3IsQ6CMBAA0N2vuB/A0AoV2DAsJk5KXIzD0R7YpLTkCjH1
62V7eTIXKhMikwpE2YiqycujOkvotnm5kzfEPRO9ankqyqYQqq7qN1wnH9j6CXTwKwfX25kGjASR
VhgSaGfJ7yKN277t84Hz4uiyjSNxZ+PiMN0wEcMXI6AxZGANgBCT1x8O3v6ID39QSwMEFAACAAgA
RHp6Sem5nbqaAAAA9AIAAEsAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LXNvdXJjZS9tZWRpYXNvdXJjZS1wcmVsb2FkLXN0ZGVyci50eHRVVAkAAy8YOlgvGDpYdXgLAAEE
9QEAAAQUAAAA7c6xDoIwFIXh3ae4LyBVog6sVZREEoPwAKQ90SbYq+2tiW+vTC4u7kznDP/wqTOn
YKB7c4XSHFDDuv775sv1Js/y1UKdAgvL646oSnc5tO1pXD04eDn03g6wOkXhW9ccP+3TWYTMkPkZ
6IBe0CDe2UdsnZGSwx7S4JEQpSDNabDkWciwfyIIdW1FwlRX9Y5GRkEzNeEn/P/4N1BLAwQUAAIA
CABEenpJpnel0osAAACbAAAAUgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLXJlZHVuZGFudC1zZWVrLXN0ZGVyci50eHRVVAkAAy8YOlgv
GDpYdXgLAAEE9QEAAAQUAAAADcixDoIwEADQ3a+4H8C0lYKyaVhMnJS4GIejPbBJackVYurXy/by
lJBVIWWhKpC6kcdG1PtaC2jXab5TsMQdE71O6lDqplTiVOk3XMcQ2YURTAwLR9+5iXpMBIkW6DMY
7yhsIoPrtufnA6fZ02UdBuLWpdljvmEmhi8mQGvJwhIBIeVgPhyD+xHv/lBLAwQUAAIACABEenpJ
diICBjQBAAB0BQAASgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291
cmNlL21lZGlhc291cmNlLXJlbW92ZS1zdGRlcnIudHh0VVQJAAMwGDpYMBg6WHV4CwABBPUBAAAE
FAAAAN2Sz2vCMBTH7/sr3lEPatMf0Qo7bHXCYF6m7FJkpOlrDaZJeW2R7q9fxIEy8LyyU5Jv8pLP
9/uSsmjJFktvMWUB30Oy2Yqq1vjcFQVSIrReW3oR8nCRoVGlcSLmgESPDEZuGMMoFZmlVpkStLU1
oCDdQ94htPZ80BIUZCuQrjQT8rgfg2hhtrUdSUzc7ThLLOEGcyU+CxIVniwdm6s4YRH3p37o/dRc
tmZrVd7i/l5PJWhlEALOg4f0xuj8Pxv1PcYnjE18DlfLkQerrqrf0eRIO0JMYz8Io2Xoe3EU7+G1
NJbOtqQ1LVm9UxVmonE5YAtZD1IrNG6GUnROffq4fX6lmlqL/k30SHASDYg8d8G5SAQ0vZEHskZ9
Id1BC++j8ehv0eLBovFwsA2dD/evzfkQGvoNUEsDBBQAAgAIAER6eklKBDqkmwAAADYBAABUABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
dGltZXN0YW1wLW9mZnNldC1zdGRlcnIudHh0VVQJAAMwGDpYMBg6WHV4CwABBPUBAAAEFAAAAL3O
MQ6CMBSA4d1TvAtgaIUKbBoWEyclLsbhUR7YpLTkFWLq6eUAurr9+adPpkIlQiRSgcgrUVRpsd0r
CfUyThdyHXHDRPdS7rK8yoQqS/GA0+A8GzeA9m5mbxszUouBINAMbQRtDbm1SOOy3sPtiuNk6bj0
PXFtwmQxnjESwwsDYNdRB7MHhBCdfrJ35k28kV9p6hdNqiz/F+0DUEsDBAoAAAAAAEB6ekkAAAAA
AAAAAAAAAAAKABwAaW5zcGVjdG9yL1VUCQADKBg6WIEaOlh1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAQHp6SQAAAAAAAAAAAAAAABMAHABpbnNwZWN0b3IvZGVidWdnZXIvVVQJAAMoGDpYgRo6WHV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACABAenpJgydCxx4FAADUIwAANgAcAGluc3BlY3Rvci9kZWJ1
Z2dlci9jb250aW51ZVVudGlsTmV4dFJ1bkxvb3Atc3RkZXJyLnR4dFVUCQADKBg6WCgYOlh1eAsA
AQT1AQAABBQAAADtWVtv4jgYfedXRFmN1EoU5QIEkOahamdGXXW7VeloH4Z5MMkHeOXYWTuBVhX/
fT8nccul10nosBepahzH/nLOsf35ODQk/JWBSgfWnU0je+C1m3YM6Uxg2b7KeEpjaMGcsIykYDft
hEgSK3twZ8NNIkEpKji2vMYQl2QKLRJFV6Aylh5kHFRIEjgY2SP78BD7ivGfEKZfpMgS7JJiF6yk
PGRZBCcijgmPzimH48szezAhTMFy2fj40UIUnPKppTtYKqMpDKxTGGfTKchWKBAiz+ArXtgF3KTY
+lyIpLHJq7MDXh/8U/3nOSVELGmQeMlhfvCPsfgi1ArqHB2tqxMStSrOV56QTEH0epW6O1Dp6Ogx
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
iCjN4YafZ7BqqvqFrCJ+ZaLDLB2PJ/MsnWZieoRNaR1rW0JHE9iZV13RGT2BpwDnFqTR3T84k8Sm
cx/e91jVhhZNURCvtK8Nts/YEsMXekClujWDAwTfWnlhZ/UPce8XUEsDBBQAAgAIAEZ6ekneE/Yv
iwAAAJsAAAA3ABwAbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1yZW1vdmUtY3Jhc2gt
c3RkZXJyLnR4dFVUCQADMxg6WDMYOlh1eAsAAQT1AQAABBQAAAANyL0OgjAQAODdp7gXwHDlR2XT
sJg4KXExDkd7YJPSkivE1KeX7cuncqwzxEzVgFWDxwZxX9UFtOs039kblk6YXydVFFVTqkOJ+Ruu
ow9i/Qg6+EWC6+zEPUWGyAv0CbSz7DexpnXb8/NB0+z4sg4DS2vj7CjdKLHAlyKQMWxgCUAQk9cf
Cd7+WHZ/UEsDBBQAAgAIAEZ6ekl4KwuGiwAAAJsAAAAxABwAbWVkaWEvbWVkaWEtc291cmNlL21l
ZGlhLXNvdXJjZS1yZXNpemUtc3RkZXJyLnR4dFVUCQADMxg6WDMYOlh1eAsAAQT1AQAABBQAAAAN
yEsOgjAQANC9p5gLYGj5yk7DxsSVEjfGxdAO2KQfMoWYenrZvTyZizoTIpM1iKoTbSfEsa1y6De3
3Mlr4oGJXidZFFVXyqbMmzdcZx/Y+BlU8CsHOxhHI0aCSCuMCZQ15HeRwm3f8/OBbrF02aaJuDdx
sZhumIjhixFQa9KwBkCIyasPB29+xIc/UEsDBBQAAgAIAEZ6ekltoNdQLQEAAJABAAA8ABwAbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1zZWVrLWRldGFjaC1jcmFzaC1zdGRlcnIudHh0
VVQJAAM0GDpYNBg6WHV4CwABBPUBAAAEFAAAAE2QzW7CMBCE7zzF3oBDSBxCoEg9FCgqUpFQaXtB
CC32Jlh17GjttE2fvuHQn9toNNqdbw5iMhezuUhHQuRHKBjLLVpdOKNOu8ZfFm0gD16XFo0hBcR8
G4k8yXIYvK31b/ie2fHpxdJnTTKQ2lgdVhhwCIM9SWcV9IvQ1n3A4CogK11jAzGpYedAvHcNS1qi
vFC8dExbUhr/VCQmeTpKsyTesQuuO0Q+XjuuMDygVYbYx1v3rim+VrqKdQdSkQ0//UYSjLYEIh8n
vTQReSRElObwD38Gq6aqn8gq4mcmOtyk4/FknqXTTEyPsCmtY21L6GgCO/OsKzqjJ/AU4NyCNLr7
B2eS2HTu3eseq9rQoikK4pX2tcH2EVti+EAPqFS3ZnCA4FsrL+ys/iLufQNQSwMEFAACAAgASHp6
STnxh+SMAAAAmwAAAEgAHABtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXN0YWxsZWQt
aG9sZHMtc2xlZXAtYXNzZXJ0aW9uLXN0ZGVyci50eHRVVAkAAzgYOlg4GDpYdXgLAAEE9QEAAAQU
AAAADci9DoIwEADg3ae4F9DQ8iOyaVhMnJS4GIejPbBJuZIrxNSnl+3LpzNV7ZXa6wpU2ai6UdUh
y2to12m+E1uSToheJ53nZVPoY6GzN1xHDuJ4BBN4keA7N1GPkSDSAn0C4x3xJjK4bnt+PnCaPV3W
YSBpXZw9phsmEvhiBLSWLCwBEGJi85HA7key+wNQSwMEFAACAAgAVnp6SS5LKDvFAAAAJAMAACgA
HABtZWRpYS9zb3VyY2VzLWZhbGxiYWNrLWNvZGVjcy1zdGRlcnIudHh0VVQJAANUGDpYVBg6WHV4
CwABBPUBAAAEFAAAAO2RsU4CQRCGa3mKKaExd3Aa3RALjwISpDMWxmJud1g2LDNkdw7i27sSOjsv
dpaTzP99mfk3coLpPdR3pn4wTQN0znU1u41iMUJSm+goSQP798fprKk+YL6grvdPBjLpC+WMntbi
fdl4LqG9gRKM5Eab34MVk7bC2+D7hBqE34LuWjkcI31PS2QXKRlo0e7IQQXE2BUndGj3xC4PkZO+
Zkor3soiWDU/2AbGo5vJIAO76+Mud6GSl/RZuNzHOIz838hfNPIFUEsDBBQAAgAIAFd6ekkTgEKo
iwAAAIABAAAwABwAbWVkaWEvc3ZnLWFzLWltYWdlLXdpdGgtbWVkaWEtYmxvY2tlZC1zdGRlcnIu
dHh0VVQJAANVGDpYVRg6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUytLAyMVFILS82NDDWy8lP
TsxRKCpJLkotyC8qycxLj7Y0MjYxiFWwcUlNKk23s1IoTs1L8U0tLk5MTw3PLMlwTixJTc8vqrRS
0MgrzcnR5PIj2+TMvMwSkJHBQNMz8/M889LyrRQiApwVkvPz8lKTS4BiQDVliTmZKRTYMjjcDwBQ
SwMEFAACAAgAV3p6Sc9OKdKQAAAAvQAAACEAHABtZWRpYS91bnN1cHBvcnRlZC1ydHNwLXN0ZGVy
ci50eHRVVAkAA1UYOlhVGDpYdXgLAAEE9QEAAAQUAAAAbY5BDoIwFAX3nuJfQFCiLthWERJJCMIB
mvZFm2A/tr8k3l5duXE1s5jF5FdOwUBpc0euOKCFdfpn6+3+UGTFbpN3gYXlNSPmlbvVw9B9qSYH
L7X2doJVKQo/xv7yaRdnETJD5m+gArSgR5zZRxydkYrDGdLjmRClJMVpsuRZyLBfEITGoSFhapv2
RN+NklZvUEsDBBQAAgAIAGt6eknsbNQWgwAAAOgCAAA7ABwAbWVkaWEvdmlkZW8tbXV0ZWQtYWZ0
ZXItc2V0dGluZy1wYWdlLW11dGVkLXN0YXRlLXN0ZGVyci50eHRVVAkAA3kYOlh5GDpYdXgLAAEE
9QEAAAQUAAAAizY0tTK0tDIy1DOyMIhVsAECBaf84mIFOyBQSMtMD8hJrExKTM4GCQaXJBaVBBSl
FuXn5DjmpQSnloBkgaIlqVYKVUBhhZIioNJiHYXifIWC/OKSzLx0hUSFtMTsVIUCiDaF5PzcgpzU
ksz8PK5oJLsNB9Buo4Gz29JkAO02HUF2AwBQSwMEFAACAAgAcXp6STMOzx0BAQAAUwcAACgAHABt
ZWRpYS92aWRlby1wb3N0ZXItYmFja2dyb3VuZC1zdGRlcnIudHh0VVQJAAOFGDpYhRg6WHV4CwAB
BPUBAAAEFAAAAO3PPU/DMBAG4J1fcWMZmg8nadPwIZWISgzQogwMVRVdkyM1JHGwL0j597iqBB1Y
GZBy09k++b1n60eJv0iCwPHCxQ6ubcFq+Qy3tsD0e/zIO9KvSjcZo+a+y4a2SOCgDAPLhkC2n1jL
8gqMfZBtBazgaf1i7w0Tlhfb7wAxC3cgmRo8juYZ8UYr+zkPYGTVYl1TCaT1zdQX8ziCyftKVndo
aL1/o4LvtVY6fzjFIVN5CRN5fkIGN1O9LijF4kBuqjQ9Uinxp5v60Uw4IvRcG82Kh46Mu6lxIO3a
sFOXL4/7OQXUsiUQYhGMiBHxR4h5cI5IVTf8C4UXx6NiVIyKXxRfUEsDBBQAAgAIAHh6ekmC7Yrc
vQAAAJIBAAAfABwAbWVkaWEvdmlkZW8tc3JjLWJsb2Itc3RkZXJyLnR4dFVUCQADkxg6WJMYOlh1
eAsAAQT1AQAABBQAAAClkLtuAjEQRevsV0wJTbTLIxEWomApQCJ0UYooxaw9GAszg+xZIv4eE6VL
F8orzT1Hc3dygdELNFPTzMzkFeg7N/X4OYrFCEltorMkDew/Z6PxpP6C+Yq63i8MZNI3yhk9bcX7
crEspaOBUozkqt3/wYpJW+F98H1CDcIfQQ+tnM6R7mmN7CIlAy3aAzmogRi74oQO7ZHY5UfkpO+Z
0ob3sgpWzR+2gUH1NHzIwO53uJ+/UMlLuhYu9zEOqxtQSwMEFAACAAgAeHp6ScKPJAqFAAAAGgEA
ACEAHABtZWRpYS92aWRlby1zcmMtY2hhbmdlLXN0ZGVyci50eHRVVAkAA5MYOliTGDpYdXgLAAEE
9QEAAAQUAAAAzcyxCsIwEIDhvU9xoy7StFVpEJe6OFgEBwVxiOkZA+FOkmvFtze+hevPz9fzBNUK
1FKrVjdrwHdSZb0IbE2AKDbii6N4cte2qpvyBpsd3ke31ZCQhgOmZByevTw7I+g4fjTMaAxhXvR/
KHvy8iNPWfdMe3qwhsuxA8tEaCW3/Ewm+KH4AlBLAwQUAAIACAAoenpJdDS7cGgCAACiFQAAGgAc
AHB5d2Vic29ja2V0LndzLmxvZy1lcnIudHh0VVQJAAP7FzpYgRc6WHV4CwABBPUBAAAEFAAAAO2Y
W2/aMBSA3/kVR30paGlMEmIgb7vQbdrUTVCVB4Qsk5wUCxNntiljv34mpWuqtnuY2mqVIkeKfNP5
co79PWQWdgN6EgQnIYUgTgKa9PpeTAdzmI3G42/jOTC25qJgzJ/iYqLSFdoJ6ivUCYx+plhaoQoQ
BZRapWiMKC5B448NGgu5VusE2sdB2Pe7rgXHHtA4ooNO61zzFBc8XUF7rdxSjSkWFlIuJUhubCdp
AZwKiXBEJjtjcU2+ioXmekdONV/jVumVId93dqkKP78ZIReojeMxJPT7RIoFKasV+14d3S93Rx5I
USDEw6FXw2cHdmaXGnnmIAAMytzPRSHM8ma6fXh7kErhwBnPMu22d16IOop6FfVdqlva8fXAJ15k
EvV7l1HzGLJX7aiBXyi5WaMhH7jlZDSdEFf3L8KSc6WkIZNUi9IassXFSthyR+xS6Kzk2u7IWmWs
3LkZU1ETY118LlWBNXRKwwqdMcduGfsD7cFfCPff/1LJpXH/YcLDIWi/FEg/oLUq32JscxfcT6Uy
+PQs17WrUYSDqKKo4tVyITfPkYp74aPudTWqeLfh2X6hb3B/wGT7SuB2ttXCIlN5btAm9c6bxSbP
UTMjfuG800KtlbPXbKR1oSAK5/BOqxU6B4gSW63ZfSMOPUoDZ8Tp2/HZ57OPDznx7o1LIKiM9+9N
lNTnuuRwAqnKEHpdVwV3LQ2/RDhVeiGyDIvHYMOn1HeSHMS9V2XXPY2+G303+m70/Xr03Y/i16Pv
fkSfQ9+9btDou9F3o+9G369K3zH1gkHwXP8jesMo6DVGbIzYGLEx4n9pxN9QSwMEFAACAAgAKHp6
SUXDfnAJAQAAjwIAABoAHABweXdlYnNvY2tldC53cy5sb2ctb3V0LnR4dFVUCQAD+xc6WIEXOlh1
eAsAAQT1AQAABBQAAAC1kM1ugkAUhfeTzDuwb6z8KFISFlJprNVIClJ0xwzTYaidoTMTQd6n79mf
uGwTG9Ozu7nn5jv3zNM0HlrXlmGZlpG0TOOKcWrEUmiBxV5BsGmoLEriGy1BSuAXoiG4FZwTrJng
vnHaQ5AQPHgiKPn2DKYYk0b7hleoPbfVhOLajkaLh5jJembpynsTAQTvPgQQgPl/p0C9JCw5TMzU
QQnLttk6azAPneIqCn67yT+lK6aYaqXg9Gu8IOzPjCELV7Xb5/duP523HepsOnYrsezqUXAW7NJi
7HJ0iBeUyt3RW2c3eTzersJtEU20CM789g80c+EhRfZLJyrz2eZ5l74e8ab35N3jifYBUEsDBAoA
AAAAAOd5ekkAAAAAAAAAAAAAAAAbABwAcHl3ZWJzb2NrZXQud3NzLmxvZy1lcnIudHh0VVQJAAOC
FzpYghc6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAADneXpJAAAAAAAAAAAAAAAAGwAcAHB5d2Vi
c29ja2V0Lndzcy5sb2ctb3V0LnR4dFVUCQADghc6WIIXOlh1eAsAAQT1AQAABBQAAABQSwMEFAAC
AAgAgHt6SUUmHTnRJwAAy6oAAAwAHAByZXN1bHRzLmh0bWxVVAkAA4AaOliAGjpYdXgLAAEE9QEA
AAQUAAAAzX35d9vIkfDv/ivachKQEQ/JM85ORIl+jsaOtevrSfIm+TRaPZAERYxAgguAOjLR//5V
Vd8HQFJ23tvZrG0C3dXV1dV1daH68PnPn4/P//HlLZtV82z47LCsHrJk+GyUTx7Yb88Y/DePi+t0
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
qG6VqMgFsuXZ3Hxdsr7SoNlvYZDt8RMC6vQ1Bu0R4f+tJvPfhsSdH9MRgPiaf0/8D1BLAwQUAAIA
CABre3pJe6LW6cMAAABeAQAANwAcAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hv
LXRleHRub2RlLWFjdHVhbC50eHRVVAkAA1oaOlhaGjpYdXgLAAEE9QEAAAQUAAAApZDRSgMxEEXf
8xX3bVuQoOCD7FuxURaqFbY/EJPZGlhnSjJx7d+78RP0beByD/fM4/F1PB4cXtw47p5djzkx4eG+
x+l6IZez5B5L4iiLTayU2c/FFlJNfP493nwpi+Towofsa/aahAceKQjHglTAovCYKocWWWwGRvd3
5ObW3m27m/8gujarcqRplY1b87QbDqtw+qQIqYrFpwbCJLmtT9N1L+tXVPBOCH6eKZoTFYXStyLx
Ze00UfqijEKhZooWxpgfUEsDBBQAAgAIAGt7ekmrZBP+WwEAAF8DAAA1ABwAcmV0cmllcy9lZGl0
aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUtZGlmZi50eHRVVAkAA1oaOlhaGjpYdXgL
AAEE9QEAAAQUAAAAvVJNTwIxEL3vr5gbkqVbSdSYTUxQWQ0RxbhEz7WdhSalJe1U4N/bXeDmRU04
tZ3mzfuYYYwBf3cmrjDwsSDBq4+af+Dnk6bDcRe1UfwNDYqA3Iidi8QIAzGPIRoK3CN5nfCoNGm7
4NquI/G1CGHjvGIoly4BtmSdQobbNUpCVdCWsjzPT0wvJEVhOvLRCNhwcAX5cHAJo1GW389e6tm0
gueqrm8fqxKMtgjXFyXMd2usvHe+hI22ym0KbQm9FSYUAaml7S6vB9IqcY6jF6SdndgapbMqgA5g
HYGAJlrZfhVwNrHQ+3vLs/Ni2O8N/tOi18qKVmGTzKp+lj/cTqbJsV6hgpQ1bEQXKzTOt/J1sxu7
FAs5+ESQwhhUGczTQKANGbr0O6v4hR4CyujTtCGDjNVRSgyhPFbB68UyBdIk1QUcN+OmSQZwAPtR
7V8/YDsUKEwr8WvsaXjz7BtQSwMEFAACAAgAa3t6SV2Ek1xgAAAAEAEAADkAHAByZXRyaWVzL2Vk
aXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1leHBlY3RlZC50eHRVVAkAA1oaOlha
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
Olh1eAsAAQT1AQAABBQAAAAKUEsDBBQAAgAIAHt7eknTV0tS1QAAAK4BAABTABwAcmV0cmllcy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdh
dGUtY3Jhc2gtZGlmZi50eHRVVAkAA3oaOlh6GjpYdXgLAAEE9QEAAAQUAAAAzc7PSsRADAbwe58i
95qm3YvSU10dPPhnwYJ7jtOwLYwzZSazrG9vW/agbyA55IOQjx8iAn0El78k0SMrkzn2dJTP50mv
a58nN9C7OOEk5Pg7ZEWVpBglZaeJomiclv9Rdab1kkjO4jWFHK38zsuLDd6LVRxynPwJPZ+nE6ug
jZxGlMu8HGWo9KJFWZb/CsdWM7uN1nWAzc0Oyga6rsCHw1t/eDHwavr+/sm0YNbafqsFy94HBRd4
gFXREjW726pepmnv6rr+A1rcW1jlV041j3MFBRQ/UEsDBBQAAgAIAHt7ekmREwZeXAAAAGYAAABX
ABwAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1k
dXJpbmctbmF2aWdhdGUtY3Jhc2gtZXhwZWN0ZWQudHh0VVQJAAN6GjpYeho6WHV4CwABBPUBAAAE
FAAAAHP29wv293FV8HUNDnZ0d7VScC1LzSsJzi8tSk5VSE7My8svUcjJT0xRyCgpKbDS1zc0Mtcz
AEJDKwsDAwP9VJDqYrBq/aJUCKMYyErOz8tLTS7RK8go0FPg4gIAUEsDBBQAAgAIAHt7ekmt0M4T
lQcAAIQXAABbABwAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJl
Y29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtcHJldHR5LWRpZmYuaHRtbFVUCQADeho6WHoa
Olh1eAsAAQT1AQAABBQAAAClWGlv5DYS/e5fQdjYGAiso233pI+ZDjJ2exfIie1g8zGgJKrFMSUq
JGW3J7v/PcVLLaklexaZwUxLZJGs41W9ot4XqmSbs/cFwRn8lERhlBZYSKI+XDYqDxaXMCzVCyOb
sxWj1eMVWj1RSRXJ0J9nCP4oclBBRlIusKK8WqGKV2RtphIuMiKChCvFyxWa1QeUwTPJ1mf/O7Pb
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
L2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWFjdHVh
bC50eHRVVAkAA3kaOlh5GjpYdXgLAAEE9QEAAAQUAAAAFYxRCoMwEAX/9xTvBB7AP6EKQqmF9ASN
WxqI+0qytnj7xt+ZYR5aHeNXzQP3EhVFvRzwtCk+RWOqidYhvLnntZFkjvsQAl7MmT9d8TxwWW5j
JzIN87Vvg0gzjd6ck6ikyVmI/AFQSwMEFAACAAgAe3t6STkRI07lAAAAvwEAAEMAHAByZXRyaWVz
L2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWRpZmYu
dHh0VVQJAAN5GjpYeRo6WHV4CwABBPUBAAAEFAAAAMWQwU7DMAyG73kK30sacdhlpw6tSIgJEEHs
nCWeFimNq8SB9e1JKgS8ARfb+u3/0y9LKUG9UygTZrU3bNR41OqIp0fP3+2u+ODUKwY0GVUwCxWW
jJllwlwCZ5WQk6/+C/Os2iYr/MDImUqy+HeW7XSRc0Lrs6co8TqjZXQ9X1l0XfevYYzlYsIaZRhA
3t5soGtlGAS8VRKMzaxXM6xmYD8h/BB60BcqwVXFR4aXndZwphDoEx2cFtg/P429ACHbZgvOO4jE
4KcJnTeMYalYSzHWn4jufvdw2P4KFcFEkImiWEkV9AVQSwMEFAACAAgAe3t6SYcAMMhnAAAAdgAA
AEcAHAByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJl
Y2lzaW9uLWV4cGVjdGVkLnR4dFVUCQADeRo6WHkaOlh1eAsAAQT1AQAABBQAAAAVzEEKwjAQheH9
nOKdoAdwJ9itCvECmjxxIJmRdKrk9m23Hz//g0tg/tEi+doz0Rl9ILQR386si7pNSB9fa9lFLXA/
p4S31+p/FrwGLrfrPIkcfkLRAvOAtsaiz2Ad+zS7GXPIkYpsUEsDBBQAAgAIAHt7eklHIVmr9gcA
ALIaAABLABwAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5
LXByZWNpc2lvbi1wcmV0dHktZGlmZi5odG1sVVQJAAN5GjpYeRo6WHV4CwABBPUBAAAEFAAAAL1Z
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
kWAsBZnw4NcPpS3IeYpjE03JWhzJbWOWFmQ/j8zINsQMmouKIjO/p93KoG62MinTvdG/xI7heefZ
i06lMA8U05QLCZpES7p1ZmkS1gidHmxeCkiuJuB7AZhC1pxgEPxeo5JHl4wjyO2WWkIv6j8W0j+B
DL9FDAfB4Csd+o/SQWQHE+3Vpx9ALvUDsRc15/8L//OWzls6b+lv8I/+IP8z8tMgfwJQSwMECgAA
AAAAfXt6SQAAAAAAAAAAAAAAABEAHAByZXRyaWVzL2ltcG9ydGVkL1VUCQADfRo6WIEaOlh1eAsA
AQT1AQAABBQAAABQSwMECgAAAAAAfXt6SQAAAAAAAAAAAAAAABUAHAByZXRyaWVzL2ltcG9ydGVk
L3czYy9VVAkAA30aOliBGjpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAH17ekkAAAAAAAAAAAAA
AAAoABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1VUCQADfRo6WIEa
Olh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAfXt6SQAAAAAAAAAAAAAAAC0AHAByZXRyaWVzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9VVAkAA30aOliBGjpYdXgLAAEE9QEA
AAQUAAAAUEsDBAoAAAAAAH17ekkAAAAAAAAAAAAAAAA3ABwAcmV0cmllcy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL1VUCQADfRo6WIEaOlh1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAAfXt6SQAAAAAAAAAAAAAAAEwAHAByZXRyaWVzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvVVQJ
AAN9GjpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAB9e3pJAAAAAAAAAAAAAAAAYAAcAHJl
dHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRl
cmFjdGl2ZS1lbGVtZW50cy90aGUtZGV0YWlscy1lbGVtZW50L1VUCQADfRo6WIEaOlh1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgAfXt6SfB8d3qEAAAAGgEAAHYAHAByZXRyaWVzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMv
dGhlLWRldGFpbHMtZWxlbWVudC90b2dnbGVFdmVudC1zdGRlcnIudHh0VVQJAAN9GjpYfRo6WHV4
CwABBPUBAAAEFAAAAM3MsQrCMBCA4b1PcaMuYltqMIhLXRwsgoOCOMT0jAfhTpJrxbe3voXrz8/X
yQjVCsrGVsY2BvCdy2W9iOJdhKQ+4UuSEofrujbG3GCzw/sQthYycn/AnF3AM+mzdYpB0sfCjIcY
50X3hzIx6Y88TToJ7/khFi7HFrwwo9epTc/oIvXFF1BLAwQKAAAAAAB9e3pJAAAAAAAAAAAAAAAA
FAAcAHJldHJpZXMvdHJhbnNpdGlvbnMvVVQJAAN9GjpYgRo6WHV4CwABBPUBAAAEFAAAAFBLAwQU
AAIACAB9e3pJhva9pdI4AAAvYQAANgAcAHJldHJpZXMvdHJhbnNpdGlvbnMvZGVmYXVsdC10aW1p
bmctZnVuY3Rpb24tYWN0dWFsLnBuZ1VUCQADfRo6WH0aOlh1eAsAAQT1AQAABBQAAADtvGlcUuv3
Nm42emw41flmVqZlZlrKSU3FudHUlFLUnMvxOCCFI6CYdZqO5ZAiDogNIuFEOWA40aiJCoWKAyqV
AgkqCYIiDn8939/zO+fl/+3zefLNZq/PYntx3/te61rruve+f9HFfssve35RUlLa4nD+jKuS0lot
JSXly5s2rFgK4m9eWznoxZ69HBv0R0hQZEwcRMk89KpxkFmoWbCZudHVq1ePB101Nj0RaGpkHAoM
NjUyCtIKcota+dKaGFf7U0pV9H3jSkp2Sg5nToIT10wOqyxA/Kxtf0h+RR/PP7Ud7XjgdonDJvyl
W3r43/6TBWYeQTt+tsOfLN3wueQe8/yRrB0HT/P0DkqaloU1tfSUZbq1oiKG7jdrA2JI/El9zfwF
2SByMnkEuTDVzBrkX9CpPKS8btOvWnY3lNasfMCuT521UJX8rvpvI3jNmntbUv/++LctteawlhIw
sif0zI3/Nd5Qem9q98/pa6+dv97AnogwPviP0U4pcK/WP6dfKlQ22dH31Klv/8d47cC61cMLny/Y
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
aXRpb25zL2ZvbnQtZmFtaWx5LWR1cmluZy10cmFuc2l0aW9uLWRpZmYudHh0VVQJAANXGDpYVxg6
WHV4CwABBPUBAAAEFAAAAL2RQU/CMBiG7/sVb3bZYdQ5FI07gTrUiGJcIueOfUiTbl3WrwL+egsI
Xrx4MWnyJd+bPs/bVAiB5M1oV5NNbiXLJJ8VyYzKR8Xf49opXSWvpElaSrTcGMeCybLoyDrNNuFO
NlaxMo1NFqZhsZC10htRuU417+InFrRuac5UnfCagziO/9Mt5+yk3pmHQ4i0d4447Q0wHAbxzfS5
mE5yPOVFMbrLM2jVEPpXZxnGUmmqwAatdJYQ7SxWfVKEHzr88S1rahhRadZRgHvqCMrCmprAtGb8
sgvEy6goIBAesSHazrTU8QYL0yH0tPDIlozUX5erHYKX/o2Ya+N7scmQDva8DCtV8XJrOoSYe35n
dBCPRw+TvwoP/7ZVoHS8bZChf7qnHXQraX1+0YNdGqcrLOUHoSRqkKaXwRdQSwMEFAACAAgAWHp6
ScMxzW1xAAAAlAAAADYAHAB0cmFuc2l0aW9ucy9mb250LWZhbWlseS1kdXJpbmctdHJhbnNpdGlv
bi1leHBlY3RlZC50eHRVVAkAA1cYOlhXGDpYdXgLAAEE9QEAAAQUAAAAXc29DoMwEAPgPU9hZWdg
YGHrxliJJ+DHlEghhy4nAX36pkhdutry545KhIwsG2E8Da77j9zz0feo4BdJVuXwpseuslPtwiIK
P8rpwciNyTAY6rIejluwNaQXpii5YNKibm6uxRFmW78/vw5T4VWi+wBQSwMEFAACAAgAWHp6STLd
tR5tCAAAHh0AADoAHAB0cmFuc2l0aW9ucy9mb250LWZhbWlseS1kdXJpbmctdHJhbnNpdGlvbi1w
cmV0dHktZGlmZi5odG1sVVQJAANXGDpYVxg6WHV4CwABBPUBAAAEFAAAAMVZa2/juBX9nl9BTNAJ
sIhkO7azsZNxMZPHbtHZB+pF92NBSZTFCSVqRSp2pu1/7+VLpmTJSdptO8FE4vs+zj33UrnJZM5W
JzcZwQk8ciIxijNcCSI/nNUyDa7OoFvIZ0ZWJ0tGi8dztHyigkqSoL+fIPgnyU4GCYl5hSXlxRIV
vCDXeijiVUKqIOJS8nyJJuUOJfBOkuuTf56Y7ewmMWe8WqLT8XShx8IHysgdTVM7HuH4cVPxukgC
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
7JkmpKL5mxD0WuPN/qvGW5oawRiAejMEir3WkNa6qSuUijPb9RJQ/99UOztiJ6ghVw83I/XQ7x//
9Nm0fheQqY3IriSxd4L03kliGhpL+lSoSaGq36qKzc57E8R+V7vN/x27NfhSjS32pghQ8vIc0gGv
vV6WoAw/+TZBESGF14Emk2/7bfEWSuw8dGEDdYT+s+i/AFBLAwQUAAIACABYenpJyuzSEMAAAAAf
AgAAOQAcAHRyYW5zaXRpb25zL2xlbmd0aHNpemUtdHJhbnNpdGlvbi10by1mcm9tLWF1dG8tYWN0
dWFsLnR4dFVUCQADWBg6WFgYOlh1eAsAAQT1AQAABBQAAAC1z7sKwkAQBdA+X3FJs41CHqQwXZAo
QnzAfsGajHEx7obdCT6+3mhhYaWFMM0U93DvfLuR26rEupSyWJY5Om0IySzNsVC6owZs0avBE8Re
1afW2cE0U6/vJMBOGa9ZW4PxqKMzGYZg8hyLYP4nOvkfnYpgUawqTBF+xEL0zvbk+IaDdQhfG8N3
WjFiD7r2VDM1ObJsEkfYDwyvLjniKBr/YFdI+aWdfNqjA2/PxEdtWtSdHbexfdK/sOn37LNw8ABQ
SwMEFAACAAgAWHp6SbhA4QkuAQAAkQMAADcAHAB0cmFuc2l0aW9ucy9sZW5ndGhzaXplLXRyYW5z
aXRpb24tdG8tZnJvbS1hdXRvLWRpZmYudHh0VVQJAANYGDpYWBg6WHV4CwABBPUBAAAEFAAAAL2S
UWvCMBSF3/srLn3pQ81idTLWp7qtjjE3xwrzObZXDUuTktww3a9fK4qwJx04CCSE5Dsn54QxBvzD
KF+j4w+CBM/nBZ/j4lnSfrrzUlX8HRUKh1yJrfHECB0xi84rcpys0E6SNNpxhXpFaye/kR23GRm2
tKZmwrcr3DRYElZXtKEgjuN/NyBK8kLt5LMMWNK7hjjp3UCWBextXBTAIFyI8nNljdcV61ghNNY0
aGkLS2Mh7OSTEFpPNWoCQZA4cOILnKmR1lKvoFTGIZBJYTTqJf0gvp+9FrNpDi95UYwf8xSU1AiD
22EKEyEVVu1haIRvb0W/5CM4vgXacdCNdj6iy7EHF2QPW/Zk/DT9a9yHf7QPGBaeugpSSPr9LnA4
o8vBqV2eyR2ezt1ZDn4AUEsDBBQAAgAIAFh6eknvoKWXagAAAAwBAAA7ABwAdHJhbnNpdGlvbnMv
bGVuZ3Roc2l6ZS10cmFuc2l0aW9uLXRvLWZyb20tYXV0by1leHBlY3RlZC50eHRVVAkAA1gYOlhY
GDpYdXgLAAEE9QEAAAQUAAAAlc5BCoMwEAXQfU7xydpAU3HTXW8geILUjlFqMpKZIvb00hvECzxe
/xwGONhXGD+x8De/nSw/stgKb1T0wMQFVknUW9BKibIiKLxAwg7hRDovOWJcWQjKD3Rd42+mr5fv
tfI1tq1n/2FzAlBLAwQUAAIACABYenpJA9l9kBwIAACNHQAAPwAcAHRyYW5zaXRpb25zL2xlbmd0
aHNpemUtdHJhbnNpdGlvbi10by1mcm9tLWF1dG8tcHJldHR5LWRpZmYuaHRtbFVUCQADWBg6WFgY
Olh1eAsAAQT1AQAABBQAAADFWWtz2zYW/e5fwbGn8UzHpN6uJSXaSWx5d6fpY1ad7ccOSIIiYpBg
AdCSs93/vhcviqRIWZ22m2YakcAFcJ/nXDBvU5nR1cXbFKMYfjIskReliAss312XMvHvrmFYyBeK
VxcLSvKnG2/xTASROPb+c+HBfxLvpR/jiHEkCcsXXs5yvNRTIeMx5n7IpGTZwhsVey+GZxwvL/57
Ybazm0SMMr7wroaTuZ4LHgnFDyRJ7HyIoqctZ2Ue+040uVN/6geZEwSjJPau4jg2cwnLpZ+gjNCX
hZexnIkCRVbBDPEtAZVHOPOGZqhgYJy2g2MKFj1jrVA6amk6mUw69hcoF77AnCS1SUE+Y31G/VCf
4kQuvGEwc+MxEQVFsAnJwTNWwx2JZQqLh8OvrH4ojkm+rVYa3Wxo1FMzOlZdkqeglKzEU/aMecui
2Wy27HM2xsYNgYrJRzhL2MUJZQjM4GSbymbklNQ9mI/AFncUA9cTCSYOWyZLFFLsR5jShpW+3rfh
pV0K1vk6hirVdhwVB802OFKx600avbiZMu10sTnr/A4JNSz25oT1voDwwv5gGr7xAvXTtrBXPUFi
HL6ovz2t6gfKoqcfEZcBmLpICBfSj1JC417HquM2sP7m1GYcZxDam1fOs2c495uE80Ml0ki7mcs6
yBZJIkR9RMkWakOyDrM4Vpn+D5THFDt32H2UC9V7ik1AD/kclVyo0Ci12xWIQohO6SIGZ1aJY4pH
q3dKi0aeH6fDluOXZSsxg9lr8TIu9gLJXnVzkHCWtZxt8VGdobz+fZmFmEM24Xp2mVGn+DGM2qyd
zxsA6MqlCwZdJU+n0064qUe/whi10cyUgCmDCvBtHtj07EoRo24jnSYWsGqGaxM7AceQRK9bToBU
wVV1KjWtAx2a2KxxhjRqFRb5plr1FPhTv4IdHKMnXw0YhUiGtrgRmYU3rhweUqS8qAQjgAbQAVSx
T17b7kNU7qbzXuxNcHIAAJVWsGNFj7Vq7lgaJ3FzKQRb9IvP8Xx5itOrnSzK1PWwVdFP13F8tIEX
Y9q/As9f1Wbwtbcpi4JxCUzLbSaDU7MM51J4Xw/gPFTKlBl/GzZWzQxkvYQ8jVyk9AIt08P/lYxS
BkFKaGEHZ7cusRXcIErvnQad0mPDZRna+y16z6AvsEPjYcU77aPB7yfPqSq7KunGMV16BqzAhjb9
HQ6fiPQlV2VnPGEU94KxWNbMmFqjr4REshQfyhA4vOLDQFVPpzpqiWSMhog3593RCcW6Qg8TGftc
jVbgNDF1bPso9ei6BfXc3xL2IcfJVu6QFgnZY7OPxeNh06QA6R7ElNkxi+8IYAFvpVq152ef5DHe
A0idMO1AhDUVuuyyYNSgtzuLYrlS0xZsJzXBeSHbv6ro7UHRkUliR0LmTStrnysGs6+VwlVn1jia
JBxlRsNWnTTbiFqN3Pcg7bFvXqDXZDvL9ZhC4wg98xnEdDt/PKSX5eSeSe2I5lzVRsbH7XGzObZ7
GPcd53BvSxA7nDXHvHeg4K46w/rsT44jW3eS228coB2reaJIarcdkSHTy9cxN2cchpc9KGPtVy2Y
6Drc2OHqetglQlGI6QIlUGE3R8vNuN5EE3IOpl56v3mXy4uKiGv03V5NEXToLPHlS4E7t7rs1cgK
tq64KaYaIKtmFKlmtIejrjIshGs8ev3cFZZadWw0UJ9DhUAx0BA9E1aK+2oEmtnPOL+vkWUXz7uW
o00xdXJRWA5ZqzPBYbt9t5loQWTiOPAsbWxqQI+DpaqJBl3Ytq+n6avzbFhCVeV13HH8HpPnRcIi
60NWSoUX9fILaamZxE5BviSgCzDYyBlSJ0u9C/QwP6XYnDSwTLsF/ZUNknkS5kIjbVNNeM8EKUyW
39mcAGVDznYQcOgEUgRrbVNEZKCaoMqO6cx28VUrYt8dOqhGVv0/bJKo+6TT7vEzEsMtyximAiTc
5buDUaAPYwI9g+/BA7jFK/Wb3hHV+aNgYlqmw8cPx/4dMbh6eHiolfTV3ePD4+yxE5+guezO4vV6
3aX1AmcFIFQj+LZNa0kG8AiaNip/Pb8b3lnciihG/BfdHrirgBrR16ZUibwd2K9ub0XESQEx5dG7
y1TKQiwGA/QJ7YMtY1tYVBChUlePDSgJxeDTryXmL4NRMA3G9iWA1jL4JC5XsK/eb+U1d45YjH0V
Q7wDub9BpFUw303vaktAKfuhMGTxC/xAPYDeSIh31+4moL4XpqPV4N8QT8CswQOSaLD+eTP4GYff
Eml/PpSExoN/Ae8igQeQKeBOX2JAWLi+l1SKwYEZxIDifCtTFbgaYQA1+up67SvH+9DNlIgGci9B
x1FTtdqXoevjGX1j7xtXN3nPXFZaIuoa4zW/AB3kAF5yJ6g/ARz6iuvVCPwJ86uGFFR6XeZNHopi
2SkIlH29+vH9ZuP53ptfSyaXtfxVPjKDgG3Q03PIVnUzMmPKwSM7Da7XYAf5NxJAGDuongzLVCVt
RJnAUHsAmrOb0dCqAdEH+91Pv7ugRl/3lRU66agTTmBneFQ76v6H7zc/fFx73603m/d/Xy/0Om88
nyy8RwQpGyuMLVAJ9r65AmZu+1KNeYekU1DrPKfnjEvVU9tL/0f7x1/W/vGXtn/yZe2ffGn7p/32
P77/58c/EyjwvtBXJQsNqldS4KGvYudARY33rld2+thh5+GySBHHr2PNq34en+Hi2V+BxePfhcXH
3v1jZk/OMPv2rzB78jvNvvmzLZ+eYfk3/Zb/kSRv/eg+CjoW/a+w/wNQSwMEFAACAAgAWHp6SY2v
fzu8AAAAmQIAADcAHAB0cmFuc2l0aW9ucy9taW4tbWF4LXdpZHRoLWhlaWdodC10cmFuc2l0aW9u
cy1hY3R1YWwudHh0VVQJAANYGDpYWBg6WHV4CwABBPUBAAAEFAAAAK3QzwqCQBDH8XtP8cPLngwz
JPIWohFYHXyCLadcsF3REe3tsw6J0D8hmOt8+M4E+12yj0NswyRZrUMfudIEdzn3EUmVUwo2KGRd
EcRFaTsjdc5YgEupK8XKaHRDOV1IM8TBtDMxCUaijUo5+6cp2x9C3fHo19DOjFabGDas/lsWitIU
VPIVJ1PCuh9kPdckw5l6Fagt6MiU+ph5Dg41o5KND9dxBuQj4X/i81MvSPcTufB60RuC7xLHeJMb
UEsDBBQAAgAIAFh6ekmyg2RjTwEAAP4EAAA1ABwAdHJhbnNpdGlvbnMvbWluLW1heC13aWR0aC1o
ZWlnaHQtdHJhbnNpdGlvbnMtZGlmZi50eHRVVAkAA1gYOlhYGDpYdXgLAAEE9QEAAAQUAAAAvZNN
a8JAEIbv/orBSw5xzUcJYk6xbSyl9oMG6nk1U7OwyYbsBOO/b5LWBgu2RqSwMJeZZ96ZeZcxBtab
kmWK2rrlxK1wGVlLXD0I+grXpZCx9YoSuUZL8p0qiRFqYgXqUpK2qOCZFiRUpq1UZCzlFduKmBKW
oNgkdXaXwLDKcU0Yj6migWma/9yer6nksm0eBMCckQemM5pCEAzYyyyKgMGwgXyWDiEvVI4F7eBd
FTBcqcoZQq0lxYyAE9hjT4PmW9AqRUpEtoG1VBqBlA+OZx9CW1WXZNaTHhXqng6deIfMYzr7Ic2b
56foeRHCYxhFs7vQBykyBHd65cOcC4lxnQk5L+sSo9u5Ad29oH77jkazKKM/tR3motDvrf9Gdc+g
/im1gc5n94tzXLr/eK2HYFVSczsfXNs+ZPYw6UnInh7tmBOvQ3o/iD0cehQIgw9QSwMEFAACAAgA
WHp6SYJgVc5xAAAATQEAADkAHAB0cmFuc2l0aW9ucy9taW4tbWF4LXdpZHRoLWhlaWdodC10cmFu
c2l0aW9ucy1leHBlY3RlZC50eHRVVAkAA1gYOlhYGDpYdXgLAAEE9QEAAAQUAAAArc5BCoMwEAXQ
vaf4ZG/RQhC68waCJ0jtmASSjCQD2tu7bReCghd4vKEfR9RQ0afakbdOFJbMC2X5YuYM9eatVaBA
kZLACJqHLihmReFI4nyymAIXgvALrW6q4cdc/UfcjaTZjpvP82an/8ij5TWx2gFQSwMEFAACAAgA
WHp6ST1dYlJXCAAAWyIAAD0AHAB0cmFuc2l0aW9ucy9taW4tbWF4LXdpZHRoLWhlaWdodC10cmFu
c2l0aW9ucy1wcmV0dHktZGlmZi5odG1sVVQJAANYGDpYWBg6WHV4CwABBPUBAAAEFAAAANVaa2/b
OBb9nl8hJNgGGETyO/Wj9aJNnN3Bdh5YD3Y+LiiJsthQokakYqez+9/38iVLsmS70xTdmWJqSaTI
e+7jnEuhb2KR0OXFmxijEH4SLJATxCjnWLy9LkTkTq/hMRfPFC8v5pSkjzfO/IlwInDo/H7hwH8C
74Qb4oDlSBCWzp2UpXihhnyWhzh3fSYES+bOINs5IVzjcHHx3wu9nFkkYJTlc+eqP5qpMe+BUHxP
osiM+yh43OSsSEPXTo2m8k91I70DZ5SEzlUYhnosYqlwI5QQ+jx3EpYynqHAGJigfEPA5AFOnL5+
lDEAp3DkmAKiJ6wMigcNS0ejUcv6HKXc5TgnUWWQk09Y7VHd1KU4EnOn703s85DwjCJYhKTgGWPh
loQihpf7/b8Y+1AYknRTvqltM6GRV/XoGHNJGoNRopwesyecNxBNJpNFl7Mx1m7wZEw+wF7cvBxR
hgBGTjaxqEdOzroD+Aiw2K0YuJ4IgNhvQBbIp9gNMKU1lK5at+albQzoXBVDmWrbHGV7y9Y4kLHr
TBr1cj1lmulictb6HRKqn+30DqtdBuGF9QEavnE8+dNE2GkeJyH2n+XfjjL1PWXB488oFx5AnUck
58INYkLDTsfK7dbw/s2xxXKcQGhvTuxn9rDu1wnn+nJKLe0mNusgWwQJEHURJRuoDcFaYOVYZvrf
URpSbN1h1pEulPcx1gHd53NQ5FyGRprdrEDkQ3QKGzHYs0wcXTzKvGNW1PL8MB02OX5eNBLTm5yK
l3ax4wl20s1elLOk4WzDj3IP6fUfi8THOWQTrmaXfmoNP6RRk7WzWY0Abbm00aCt5PF43Eo31eiX
HCMXmugS0GVQEr7JA5OebSmiza2l08gQVgW4gthKOFokOt1yhKSyXFanNNM40LKJyRoLpFar8JKr
q1UNgT/VLeDIMXp05QNtEEnQBtciM3eGpcN9iqQX5cQAqAFsAFPMldPEvY/KdDzr5N4IR3sCkGkF
K5byWKnmllfDKKy/CsHm3dNneLY4punlSoZlqnaYquiW6zA8WMAJMe1+A89OWtP7zlkXWcZyAUqb
m0wGpyYJTgV3vuvBfqgQMdP+1mosmxnIegF5GthIqRfUnA79L+dIYxCkhJps6ezWJrakG0TpnbWg
dfZQa1mCdm5D3hPoC8yjYb/UnebW4Pej+5SVXZZ0bZs2Oz2WYS2b7hb7j0S4Ipdlpz2hDXe8IV9U
YIwN6CsukCj4+8IHDS/10JPV02qOfEUwRn2U18ft1hHFqkL3Awn7VD4tyWmk69j0UfLSdgvyursl
7GKOo63cPi0issN6HcPH/TokD6keRJfZoYpvCXBB3ki1cs1PLklDvAOSOgJtL4QVE9pwGTKqydvU
sFgqzTQF2ypNsJ/PdicNvd0bOtBJbEVI3yljzXWpYOa2NLjszGpbkyhHibawUSf1NqJSI3cdTHvo
m2foNdnWaD2m0DhCz3yGMN3OHvbpZTS5Y1A5oj5WtpHhYXtcb47NGtp9hznc2RKElmf1Nu8sKdij
Tr86+ovVyMaZ5Pa1JbRDM48USeW0wxOke/kq56Ysh8eLDpYx+GULxts21zhsXffbplDkYzpHEVTY
zcHr+rlaRAlyClAvnf84l4uLUogr8t18myLo0FnkiucMty512WmRmdg44saYKoIsm1Ekm9EOjbpK
MOe28ej0c1tYKtWxVkR9jhSCxEBD9ERYwe/KJ9DMfsLpXUUs23TethxNiamKi+RyyFqVCZbbzb3J
REMiI6uBZ1ljUgN6HCxkTdTkwrR9HU1fVWf9AqoqrfKO1feQPM0jFhgfskJIvqiWn08LpSRmCPIl
AltAwQYWSFUs1SrQw/wSY71TzyjtBuyXGARzBIz5erZJNe48ESQ5WfxgcgKM9XO2hYBDJxAjeNc0
RUR4sgkqcYwnposvWxFzb9lBNrLy/35dRO0nnWaPn5AQTlkamAwQt4fvFkWBPoxx9AS+Bw/ghq5U
T3oHUucOvJFumfYfP6z6t8Tg6v7+vlLSV9OH+4fJQys/QXPZnsWr1arN6jlOMmCoWvBNm9aY6cEl
WFqr/NVs2p8a3gooRvm/VXtgjwLyiTo2xXLKm5756vaGBznJIKZ58PYyFiLj814PfUQ7b8PYBl7K
CJepq571KPF57+NvBc6fewNv7A3NjQetpfeRXy5hXbXe0qmvHLAQuzKGeAvz/gqRlsF8O55WXgGj
zIdCn4XP8AP1AHYjzt9e25OA/F4YD5a9f0E8gbN690ig3urXde9X7P+DCPPzviA07P0TdBdx3INM
AXe6AgPDwvG9oIL39srAe7ItLrtlV+duRTq4C71MgagndgIsHNQNq3wXuj4cUef1rufyHO/oo0pj
ijzEOPXvP/t5QC6pnag+AOy7iuvlALwJ48vaLKjz6pxXqc+zRetEEOzr5c/v1mvHdV79VjCxkM7R
LtH3QGrQzOeQpvJIpJ9BNzUwo+ByRXKQd1JoQSq2UDcJFrFM14AyjqHqoJ4mfWMARB2QvxT+4dfA
rxLjTwF/9OLwoS7OCP/wM/G/nnwV+OOvAf909L8cvfrpJgnQpdMMYSYdddAR8OwMHlEOuvvpx/VP
H1bOD6v1+t3fVnP1njOcjebOAwKaDmVfkaECwL66gm60wiDy1tkzq+wsrM/UmKokefF52fGiyIcv
i1xnz58B+OgFge9Z4wzkw2+NfPyyyM8O+TcHPukG/vDu+w8v1QTgXaY+gCjdk+cfyYzqG+Q3xH77
Gdj/eAPwfwn99bnQv0z899hfT/bQJ98S+fQzkP9x3T8X+IHqV45t10szfOik8w4WPEY5Pt02nPTt
5Ay3zrrd+iWYGz/qVAgnMPVvSv4HUEsDBBQAAgAIAFl6ekmqc2OKFwEAAB8EAAAwABwAdHJhbnNp
dGlvbnMvc2hhcGUtb3V0c2lkZS10cmFuc2l0aW9ucy1hY3R1YWwudHh0VVQJAANZGDpYWRg6WHV4
CwABBPUBAAAEFAAAALWS0WqDMBSG732Kgze2oMOl2jHvSrFj0K0XPkGqZ1tYlgQTqX37adTQwRBK
KYYk5Pzh+8hxe3gvDvsc3vKi2LzkGXAmEMjzKoMdZRwrMBIUbTRCEJ3w+M1MpL+owkg2RrMKAzA1
FZoZJgV0Azn+oDAQlKwuOQbe9m4E5JwpfVcEExrNPQFK8vOnFIHX3vjtNq97iMD/F++DqqXC2pzh
Q9bgD73xnQY1ED+kGrBVWBqsMhgSi3Ws2r6a9mvSTUs4NgY0PbkIuYz00/I6l7GLczJjZPGYdojV
jNIUJFPtFjHb+zktGxikCPnjMVSsBUmuBo//xBx6jAzwDhPCk92FYDuWpP1RbNcLLXcrnm6lbuee
LAT3sJ73C1BLAwQUAAIACABZenpJmopOvbUBAAD7BgAALgAcAHRyYW5zaXRpb25zL3NoYXBlLW91
dHNpZGUtdHJhbnNpdGlvbnMtZGlmZi50eHRVVAkAA1kYOlhZGDpYdXgLAAEE9QEAAAQUAAAAvZTb
bptAEIbveYqRb0gEGzCYHHxlN3GiqG5TFam5XuNJsuqaReyg2G+f5WBIq7g1shxptbNiZvT97D/A
GAPvl5LFCrV3w4l7s8fYe8TFV0FN+FIIufR+okSu0ZN8owpihJpYjrqQpD3KeaoFCZVqT7/wDJkp
0WKJ7F2G4TrDhHB5RmuyHMf5LC5PqOCyok4mwIZuCM7QvYDJxHKuH77HD/MZfJvF8fRuNgYpUoTg
KhzDLRcSl0AKMl5oBJu94uK3IPYHyYYOBWYZtStMCexE5IlE+5gIlFJk+rgMkWqkoxIyJTfPKrUt
WDerdCn03UtwwpHZjU9tiv2YxjEwGHzIGECWqwxz2sCTymFQezBoWZzAP4s0aP4KWq2QXkT6DIlU
RjWpMdT1J+d+ti5rozKOzHbak9sYsz+4aTgZRoYYHoqvPNsfXpXX6CDoT2v825/XNNRE83ouXFQn
F6qLH0XlI7+Kp5ZzO72fH2z49tfzD4thUVApuS0J3pdEfn8xO6egU/Mf3ztN28JgmztI2Y4B6XT9
PRKdkDpTyQhG/ck7h6Vj9xmPTlfb5W+7ovbUXpoL3ScF1htQSwMEFAACAAgAWXp6Sagasy6tAAAA
LgIAADIAHAB0cmFuc2l0aW9ucy9zaGFwZS1vdXRzaWRlLXRyYW5zaXRpb25zLWV4cGVjdGVkLnR4
dFVUCQADWRg6WFkYOlh1eAsAAQT1AQAABBQAAACl0FEKgzAMBuB3TxF8UrDDObvB3naDgSdwLtOy
2pS2Q739avUAihSaEv7wkY7ReOg8H1UFDGI24OsrHLNdrZHRz1nxxhi0IY3GTfAhA3EjTCN9FyX2
qBzUDvITt2DrASz16DqhWmgkWQRHd1jyyTXX45zlcy39le5jUUqh7Q53HUjO3IOXg7pQFt12O8QX
uSh2Y5rk1JLazq0DC+iXy+AWXhmEXy/53MpDTaPoD1BLAwQUAAIACABZenpJ8Va76CsJAAAHKwAA
NgAcAHRyYW5zaXRpb25zL3NoYXBlLW91dHNpZGUtdHJhbnNpdGlvbnMtcHJldHR5LWRpZmYuaHRt
bFVUCQADWRg6WFkYOlh1eAsAAQT1AQAABBQAAADVWmlz28gR/a5fMSVVrN0tAbxlkZKZsnUkW/Ee
FW1lP6YGwIAYC8BgMQORdLL/PT0XCIAASVVZR+yyMJiz+3X36x7IV5FI4vnRVURwAI+ECIz8COec
iA+nhQidi1Po5mIdk/nRLKbpwxmaPVJOBQnQf44Q/BFkJZyA+CzHgrJ0hlKWkks15LE8ILnjMSFY
MkODbIUCaJPg8ujPI72d2cRnMctn6KQ/mqox947G5IaGoRn3sP+wyFmRBo6dGl7Iv9WD9AmcxTRA
J0EQ6LGQpcIJcULj9QwlLGU8w74RMMH5goLIA5Kgvu7KGCin9MhJDBo9EiVQNGhIOhqNWvbnOOUO
JzkNK4OcfiXqjOqhTkxCMUN9d2L7A8qzGMMmNAVkjIRLGogIFvf7fzHy4SCg6aJcqWUzppGtunWM
uDSNQChRTo/YI8kbGk0mk8susAnRMLjSJp/hLG4WhzHDoEZOF5GoW07Ougb1Mehij2IAPRWgYr+h
ssBeTByfxHFNS0ftW0NpGYF2jrKhdLVljrONZPfEl7brdBq1uO4yTXcxPmtxB4fqZyt9wu0qA/PC
/qAaOUOufDQ17BSP04B4a/kTKVE/xcx/+BXnwgVVZyHNuXD8iMZBJ7DyuHtYf7Zrs5wkYNqzPeeZ
Myz82uEcT06pud3Eeh14i6A+jh0c0wXEhmAtauVEevrfcRrExMJh9pEQyveIaINu/Nkvci5NI8Vu
RiD2wDqFtRicWTqODh4l3i4pan6+7Q6LnKwvG47pTvbZS0OMXMH2wuyGOUsaYBt+lGdI1H8uEo/k
4E2k6l261wq+TaPGa6fTGgHacGmjQRvJ4/G4lW6q1i85Rm400SGgw6AkfOMHxj3bXESLW3OnkSGs
iuJKxVbC0UmiE5YdJJXlMjqlmAZAyybGa6witViFRY6OVjUEeKpX0CMn+MGRHVogmuAFqVlmhoYl
4F6MJYpyog/UADKAKKaFmnpvrHIxnnZyb0jCDQFIt4Idy/RYieaWpUEY1JeCsXn39CmZXu7K6eVO
hmWqcpio6E7XQbC1AQpI3L2CTPdK0/sB3RdZxnIBmTY3ngygJglJBUc/9OA8XIiIabx1NpbFDHi9
AD/1raXUAjWnI/+Xc6QwGFxCTbZ0dm4dW9INjuNrK0Hr7KHOZQleOY30nkBdYLqG/TLvNI8G3Hee
U0Z2GdK1Y9rkdFlGdNp0lsR7oMIRuQw7jYQWHLlDfllRY2yUPuECi4J/KjzI4WU+dGX0tIojlwjG
Yg/n9XF7dBgTFaGbgYR9LXtLchrpODZ1lGzaakG2u0vCLubYWcpt3CKkK6L3MXzcr6vkYlWD6DDb
zuJLClyQN1yt3POrQ9OArICkdqi2SYQVEdr0MmRUS28XhsVSKaYJ2NbUBOd5bLVX0PONoAPtxDYJ
6TclrGmXGcy8lgKXlVntaBrmONESNuKkXkZUYuS6g2m3sVlDrcmWJteTGApHqJkPSEzn07uNe5mc
3DGogKiPlWVksF0e14tjs4eGb9uHO0uCwPKsPuajJQV71elXR3+zObJxJzl/bwltW8wdQVK57fAE
61q+yrkpy6H7soNljP6yBONth2s9bFz326bE2CPxDIcQYWdby3W/2kQl5BRUPUb/RceXR2UirqTv
5uoYQ4XOQkesM9K61XGnRGZi44obkVgRZFmMYlmMduSok4RwbguPTpzbzFKJjntF1IekQkgxUBA9
Ulbw67IHitmvJL2uJMu2PG9LjmaKqSYXyeXgtcoTLLebd+OJhkRGNgceJI1xDahxiJAxUUsXpuzr
KPqqedYrIKrSKu/Y/B7Qx1nIfIMhK4Tki2r4eXGhMokZAn8JQRbIYAOrSDVZql2ghvktIvqknsm0
C5Bf6iAYEjDm6dnG1Th6pFhysvjJ+AQI6+VsCQaHSiDCsNYURVS4sggq9RhPTBVfliLm3bKDLGTl
v349idpPOs0aP6EB3LK0YtJA3F6+WzIK1GGM40fAHhAgjbxSveltpTpn4I50ybT5+GGzf4sNTm5u
biohfXJxd3M3uWvlJygu27349va2TeoZSTJgqJrxTZnWmOlCEyStRf7t9KJ/YXjLjwnO/63KA3sV
kD3q2hTJKVc989Xtivs5zcCmuf/hOBIi47NeD3/BK3fB2AIWZZRL11V9vZh6vPflj4Lk697AHbtD
8+JCael+4cdz2FftN0f1nX0WEEfakCxh3l/B0tKYH8YXlSUglPlQ6LFgDQ+IB5Abc/7h1N4E5PfC
aDDv/QvsCZzVu8EC925/v+/9Trx/UGEenwoaB71/Qt7FnPTAUwBORxBgWLi+F7HgvU1m4D0e4Qxi
qRDynl3JGdyBIqbAsStWAkQb1CWqfBA63R5RF/WufnmBR+BrjXF5dUH1rz5mEvBJamepO/+mkDid
v0s9nl0CijBpXpsK8V2dOGidAzn6dH79y8/3v3y+RT/d3t9//NvtTK1Dw+lohu4wQB9IrshwwQl6
dwIZxjJtDTo1gjb4SeIAEyjSU2M+zcENVdOIAiYHAF4WhuFrwwClIc34q+Mwem0cVCJ9bRTGr41C
xuL1gqWtOKhHFY0Kr5/OzfA2ZocREIiZk/0ctBfqwQEoT7pRXj3J+HulGR4gzfmLSTM6QJr3T5Dm
KQ5hHl7+bfPWt3KbUf8Qjhq/nKkO8ePRyzny6BBPHp0/k/M82S30J9f9Fc1m3m7tD4mcHSSvELgK
SDz/FVSCh2p/vL/Xb8hB7/4omOjgbDUE1zeWwY1krT7+6j5TwehxS+NQY8uPCkgdwfESLgpJ5VBS
aYtIVu1+zHh1AuQR/TpD+oDvzuWvRGBfeaFCY/jx/dNS5KEoj98kyrZAej6YzQnfDeSvn0YvBPbk
TYKtq7Dng1rtr4EeDp8N2/M3ia2t7Z4PXXOCxhdc9wy9V60zpChkPJFdffX8fm8+eO0L6mhHKXQF
fjS/u+rJh2p//PGzfnseLpc7k1VG/MqRotImgX7ZRdlKOq+Amgkvy3nD6ryJZhu16yveBC9eEvc9
7H448PtIvA6/nT20E96aEaYvaYSdrH+4CbbIvY65HlaID8dvAeRx/yVB3kP/h8P8JJavm6Bc2rdL
J2WrDIUzVCl92kz0f/EhoiN9NDxgx1fQb3Dbtg/1Bfuqp///6/8AUEsDBBQAAgAIAFl6ekkeco/+
5gAAAK8CAAAsABwAdHJhbnNpdGlvbnMvc3RlcHMtdGltaW5nLWZ1bmN0aW9uLWFjdHVhbC50eHRV
VAkAA1oYOlhaGDpYdXgLAAEE9QEAAAQUAAAA1Y7NSsNAFIX3eYpDNlFoQn60YnalpCJUu4gvMGmu
ZOhkJp25salP75CFUNwI0oVwFh9ncb6z3r3Wu22Fl6quV09VCSU1IX8sSmyEVNSCDQYxOkIUn6g5
SI7ZCu3eje0jzChZGg0fUtSTZkSNmaJg/S+n3zqCB7jOjKpFbz4InbHy02gWSp2Rp+kwwdcWmVtA
ahSg4yiUx72dp1wSBJvV8xYxwh/65C7EYM1Als/wBUKvC79fCEaa5PcONA20Z2pLpGhGhhOnEr1g
K6ebbIF0jgf/x+Pt34QXvuXy+sKHC2NWFL9SBl9QSwMEFAACAAgAWXp6Sd55uAtyAQAAxAQAACoA
HAB0cmFuc2l0aW9ucy9zdGVwcy10aW1pbmctZnVuY3Rpb24tZGlmZi50eHRVVAkAA1oYOlhaGDpY
dXgLAAEE9QEAAAQUAAAA1ZNPSyNBEMXv8ykeuUSZdGYmWUeSU6JGEXWVnWU9dyalaeyZHrurdeKn
txP8Q1iQhYCwUNCPOrxf1StaCIHkj9G+IpecSJbJ7LZIbml+ofjtOfJKL5JfpEk6SrRcGc+CybGw
5Lxml7CVtVOsTO0Sx9Q4wapS9b2483W5bgtqGyqZFn1uOYrj+DuYsmQv9YY4mUBkvRxx1hthMoni
4+ufxfXlDFezopiezcbQqiYMRsMxTqXStAAbNNI7Qlc80/xBBfyaeGds1cUnHKHClBXVjO7ctN3/
1hu/l4Sg4JbG6wUq80RYGqteTM1S6xUGadq0CG2LzPWgagxBjyHjIEu78XL9CJG4mRYFBDp/TdD/
0UFjTUOWVwgNdAKw8zGIZKT9wYGDk89wpiJehoui1Cbsw2aMdEfvL6zzfEfvwy/Ms+Ewik+n55c7
pfL+iUIOmHte08aoJFvV7mU9pJsKItwpyP0diVvAPP8G4uEWMmT2T0xEr1BLAwQUAAIACABZenpJ
WUnC6poAAABcAQAALgAcAHRyYW5zaXRpb25zL3N0ZXBzLXRpbWluZy1mdW5jdGlvbi1leHBlY3Rl
ZC50eHRVVAkAA1oYOlhaGDpYdXgLAAEE9QEAAAQUAAAApc1NDoIwFATgPaeYdC2EH38Sd97ABC9Q
8CmNpQ/bh4Cnt/EAbNhNJplvbh2h4Rmh49He0fOH0LE3X3airV1Q5vkwI9YeRdjBOFSg96htjK2n
npyELEmul7pGCpVO1LyMpOK1Cw/2fbZXGDwP5GVBLKDinQLZ/xRakGflISDoCYF7ks64J1rLgSB8
Rr6NXpGPx230acUuqipJflBLAwQUAAIACABZenpJBKj1psoIAACMIwAAMgAcAHRyYW5zaXRpb25z
L3N0ZXBzLXRpbWluZy1mdW5jdGlvbi1wcmV0dHktZGlmZi5odG1sVVQJAANaGDpYWhg6WHV4CwAB
BPUBAAAEFAAAAOVaa3PbuBX97l+BsafxdsekJEtyLNlRJ/Gj7TT7mGqn+3EHJEERMUgwBGhLbve/
78WLIilScmYf2UzjJATxvPfc1wHH14lM2eLoOiE4gkdKJEZhggtB5JvTUsbe5Sl0C7lhZHE0ZzR7
OEPzRyqoJBH67xGCP5KspReRkBdYUp7NUcYzcqWHAl5EpPACLiVP52iUr1EEbRJdHf18ZLazm4Sc
8WKOTobjmR7z7ykjtzSO7XiAw4dVwcss8tzU+FL91A8yJwjOaIROoigyYzHPpBfjlLLNHKU84yLH
oRUwxcWKgsgjkqKh6co5KKf1KAgDjR6JFigZtSQdj8cd+wucCU+Qgsa1QUGfiT6jfqjHSCznaOhP
XX9ERc4wbEIzQMZK+EQjmcDi4fAvVj4cRTRbVSuNbNY0qtW0jhWXZgkIJavpCX8kRUuj6XR61Qc2
IQYGX9nkPZwl7OKYcQxqFHSVyKbl1KwbUB+DLu4oDtBTCSoOWypLHDDihYSxhpae3reB0lMC2nna
hsrVngqcbyVbklDZrtdp9OKmy7Tdxfqswx0capivzQl36xzMC/uDauQM+erR1rBXPEEjEmzU/0iL
+o7x8OF7XEgfVJ3HtBDSCxPKol5g1XFLWH+2b7OCpGDaswPn2TMc/MbhvEBNabjd1HkdeIukIWYe
ZnQFsSF5h1oFUZ7+D5xFjDg47D4KQvWeEGPQrT+HZSGUaZTY7QjEAVindBaDMyvHMcGjxdsnRcPP
d91hVZDNVcsx/ekhexmIkS/5QZj9uOBpC2ybH9UZCvVvyzQgBXgTqXuX6XWC76ZR67WzWSMBunDp
SoMukieTSWe6qVu/yjFqo6kJARMGVcK3fmDds8tFjLgNdxrbhFVTXKvYmXBMkeiFZU+SygsVnUpM
C6DLJtZrnCKNWIVFnolWPQR46lfQoyD4wVMdRiCa4hVpWGaOzivAA4YVimpiCKkBZABRbAu19d5a
5XIy6829MYm3CUC5FexYlcdaNHcsjeKouRSMLfqnz8jsal9Nr3ayWaYuh42K/nIdRTsboIiw/hVk
dlCawddoWeY5LyRU2sJ6MoCapiSTAn09gPNwKRNu8DbVWJEZ8HoJfho6S+kFek5P/a/mKGEwuISe
7NLZhXNslW4wYzdOgs7Z56aWpXjttcp7CrzAdp0Pq7rTPhpw33tOFdlVSDeO6ZLT5zkxZdN7IsED
lZ4sVNgZJIzgyD8XVzU1JlbpEyGxLMW7MoAaXtVDX0VPpzhqieScBbhojrujY0Z0hG4HUv5c9VbJ
aWzi2PIo1XRsQbX7KWFf5thL5bZuEdM1MfvYfDxsquRjzUFMmO1W8ScKuaBouVq157NHs4isIUnt
UW1bCGsidOllk1GjvF3aLJYpMW3AdpYmOC/g64OCXmwFHRkndkXIvGlhbbuqYPa1ErhiZo2jaVzg
1EjYipMmjajFyE1Ppt3FZgNckz/ZWk8YEEfgzC8oTBez+6172ZrcM6iBaI5VNDLapcdNcmz3MPDt
+nAvJYhcnjXHvHVJwV11hvXRH1yNbN1JLl67hLYr5p4gqd12RIoNl6/n3IwX0H3Vk2Ws/oqCia7D
jR4uroddUxgOCJvjGCLsbGe56deb6IKcgarH6H/o+OqoKsS18t1ezTAwdB57cpOTzq2OeyWyE1tX
3IQwnSArMooVGe2pUScpEcIRj16cu8xSi46lTtQvKYVQYoAQPVJeipuqB8jsM8luasWyq847ytEu
MfXionI5eK32BJfb7bv1RJtExq4Gvkga6xrAcYhUMdEoF5b29ZC+ep0NSoiqrJ53XH2P6OM85qHF
kJdS5Yt6+AWs1JXEDoG/xCALVLCRU6ReLPUuwGF+SIg5aWAr7QrkVzpIjiSMBWa2dTWBHilWOVl+
Y30ChA0K/gQGByaQYFhrSRGVviJBlR6TqWXxFRWx7y47KCKr/g2bRdR90mlz/JRGcMsyiikDCXf5
7qgowMO4wI+APSBAWnWlftPbKXXeyB8byrT9+OGqf4cNTm5vb2shfXJ5f3s/ve/MT0Auu7347u6u
S+o5SXPIUA3jW5rWmulDEyRtRP7d7HJ4afNWyAguftL0wF0FVI++NiVqyvXAfnW7FmFBc7BpEb45
TqTMxXwwwB/w2l9xvoJFORXKdXXfgNFADD58LEmxGYz8iX9uX3yglv4HcbyAffV+C9TcOeQR8ZQN
yRPM+xtYWhnzzeSytgSEsh8KAx5t4AHxAHJjId6cupuA+l6YjBaD/4A9IWcNbrHEg7sfl4MfSfAv
Ku3jXUlZNPg31F0syAA8BeD0JIEMC9f3kkkx2FYGAUiQXHiSpuoSF5eZJlgeEJgSM1+uJYg1akpT
+xh0ujuiL+l9/eryjsDPWuPq2oKaX3zsJMglmZul7/tbEnG6eJUFIr8CBGHSojEVYrs+cdQ5B+rz
6eLmu2+X372/Q9/cLZdv/3431+vQ+Ww8R/cYYI9UnshxKQh6dQLVpVFc4V6U6l60RVQlDIBeJzs9
BmxLP60MYGfQ/I/V//z/XP/xn1F//aijUEtbpws7vIvVy2JMJHBjPRxmByEevQDdST+6qviq24ZI
eMki/R0SJbygz0oAxjbmJo70h8SROAN2gcaIfITUA82w0CgK/5M856BK5y9Qadqv0h9qRvMp53C2
3M7bq/r4BarvCSqjf0TY4nvQCB66/Xa5NG/IQ68+llzuxog/MQPACXkONGejvyiZPhUeZtBFDVTt
oX8+FcC0n/QJwD1SIhNV8kPGIRIlr50/R7WXoW1/Uq55IXqTLwc9AE/vDggq8GrnkVp7C2l9QoUu
UPOL3wXI6ZcD5OvfCMnReHwwcXxulnSxB2249i3urwfqodtv//nevP3mQa+3J+tcfzRSlxG4MSJz
lsoH6gl3IywLuv5qdIZqMg3PEPyFPigq0PyrHfp8tOP1Zwe0gWftNFlrk8i86HDXEijEAes6zH86
bC8/O7avPw1clQF+HbpfBGG8eIHtZr8Pu2o99DUabq/6l3B+AVBLAwQUAAIACAB9e3pJV7OdDaMC
AAAiEgAAGQAcAHdwdHdrX3Byb2Nlc3NfbG9nLm91dC50eHRVVAkAA34aOliDFzpYdXgLAAEE9QEA
AAQUAAAA5Vdtj9JAEP7Or9gPJgcqtEBRaHzJnbxooqeRu/hBPLK0A11ZdpvdLSf/3mk55C7a3rVw
nMYPkE3TZ+aZZ2ZnOt3eyfnAvYRJNeTUTKVaVA1oo92BZGJGjCSRBhJKZUir0a47pW4+QCsdIKQ5
nhpQL7vgkcYz0mi69ZZbx4ONf4MPZ6XSu9P+xz9Bz3XsC34wbeJDILUhHiiTAqhyGgkvAOUGxoRP
E3Zuu23beGS+22k+b9VzQutbaONW6KXWV8hEki3UvgP0Cul07GtOnc6d+G7AHcdpbr0219iF9Mfh
Ci1o6c3B1LShwqdcCqh9gckweTgEtURbbxRQA2T9IpHCJeUmiod8jo42v8o+rDZ2NnrChL83hltj
vxNLrevPMsKoQmqwthF6YZVrjyuPcvsezllIJisypYxHClwCSklVdtro/tj3FWhNKEcJ/RVhIr51
BQJ8jzcIRKpeuWIc1cJVgTjvVls5mVDNNHLJm6O8XsRqVLuUag5qVPuu8xtIBCviNDALXgC6VuVe
7uk9S71RuWDgB06UjoWLUf9AdjMb5sGy9PrTCx2C9+rrhfXtScUyUnJdsHFmNe3/oAnvUuuF6vZ6
rg5S7aNx/K1XwGVGkR2q0Nc+VSQEKCsKfWyso/GCCjbF9w+j/A5JvuKd1+PDJuwvkPxB1LuHuG9E
kLacDQ1V67UMNxCSVJvC5ka49CiPV7Vk9doNXt8BHi9DGWts74xY8bXGe4JiGeZpiwmUgXqGLaEK
HBYgMB0mgKoPBgeD3jxElWYzDr0lnpPWkO6mLyOcUgHOBI78+ozD2/U5HdKwbbJXdqR8iuOoQuxb
1MApJyPlAVrFhwFVAscejpYiMAXxQpoJLiDNLmqmRUfKcQW5lnWzbvemfqbu2ex+iXgIjj8BUEsB
Ah4DCgAAAAAAOXt6SQAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BAAAAAF93cHRfY2VydHMvVVQF
AAP+GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6Hl6STsnVtUDCQAAOhEAABUAGAAAAAAA
AQAAAKSBRQAAAF93cHRfY2VydHMvMDU4RUE4LnBlbVVUBQADhBc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAOh5ekk7fGmB5gkAADsSAAAVABgAAAAAAAEAAACkgZcJAABfd3B0X2NlcnRzLzA1
OEVBOS5wZW1VVAUAA4QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADoeXpJOydW1QMJAAA6
EQAAFQAYAAAAAAABAAAApIHMEwAAX3dwdF9jZXJ0cy9jYWNlcnQucGVtVVQFAAOEFzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA6Hl6SfaskvFFBQAAzwYAABQAGAAAAAAAAQAAAKSBHh0AAF93
cHRfY2VydHMvY2FrZXkucGVtVVQFAAOEFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAOXt6
SQAAAAAAAAAAAAAAABQAGAAAAAAAAAAAAKSBsSIAAF93cHRfY2VydHMvaW5kZXgudHh0VVQFAAP+
GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAA6Hl6SZhceX8VAAAAFQAAABkAGAAAAAAAAQAA
AKSB/yIAAF93cHRfY2VydHMvaW5kZXgudHh0LmF0dHJVVAUAA4QXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAIAAADoeXpJmFx5fxUAAAAVAAAAHQAYAAAAAAABAAAApIFnIwAAX3dwdF9jZXJ0cy9p
bmRleC50eHQuYXR0ci5vbGRVVAUAA4QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADoeXpJ
uA1uQTcAAAA3AAAAGAAYAAAAAAABAAAApIHTIwAAX3dwdF9jZXJ0cy9pbmRleC50eHQub2xkVVQF
AAOEFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6Hl6Sb+NnksLBQAAjwYAABgAGAAAAAAA
AQAAAKSBXCQAAF93cHRfY2VydHMvbG9jYWxob3N0LmtleVVUBQADhBc6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAOh5ekk7fGmB5gkAADsSAAAYABgAAAAAAAEAAACkgbkpAABfd3B0X2NlcnRz
L2xvY2FsaG9zdC5wZW1VVAUAA4QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAA5e3pJILHg
jAQAAAAEAAAAEQAYAAAAAAABAAAApIHxMwAAX3dwdF9jZXJ0cy9zZXJpYWxVVAUAA/4ZOlh1eAsA
AQT1AQAABBQAAABQSwECHgMKAAIAAADoeXpJKTQqwwcAAAAHAAAAFQAYAAAAAAABAAAApIFANAAA
X3dwdF9jZXJ0cy9zZXJpYWwub2xkVVQFAAOEFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
fXt6SZOvHBB4hwEAsMwOAA4AGAAAAAAAAQAAAKSBljQAAGFjY2Vzc19sb2cudHh0VVQFAAN9GjpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA8nl6SQAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1B
VrwBAGNvbXBvc2l0aW5nL1VUBQADlxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOx5ekkA
AAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQZy8AQBjb21wb3NpdGluZy9yZWdpb25zL1VUBQADixc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOx5eklPU3kfrAAAABQDAABFABgAAAAAAAEAAACk
geq8AQBjb21wb3NpdGluZy9yZWdpb25zL3dlYmtpdC1mbG93LXJlbmRlcmVyLWxheWVyLWNvbXBv
c2l0aW5nLXN0ZGVyci50eHRVVAUAA4sXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADyeXpJ
t+jjsb8AAADyBgAAPAAYAAAAAAABAAAApIEVvgEAY29tcG9zaXRpbmcvc2hvdy1jb21wb3NpdGVk
LWlmcmFtZS1vbi1iYWNrLWJ1dHRvbi1zdGRlcnIudHh0VVQFAAOXFzpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAA63l6SQAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BSr8BAGNvbXBvc2l0aW5n
L3ZpZGVvL1VUBQADiRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOp5ekk4idkWhAABAFgg
AQAjABgAAAAAAAAAAACkgZa/AQBjb21wb3NpdGluZy92aWRlby9wb3N0ZXItYWN0dWFsLnBuZ1VU
BQADhxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOp5ekm/XnIhdwAAAIYIAAAhABgAAAAA
AAAAAACkgXfAAgBjb21wb3NpdGluZy92aWRlby9wb3N0ZXItZGlmZi5wbmdVVAUAA4gXOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADqeXpJZ8QkCIkFAAAOEgAAIwAYAAAAAAABAAAApIFJwQIA
Y29tcG9zaXRpbmcvdmlkZW8vcG9zdGVyLWRpZmZzLmh0bWxVVAUAA4gXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADqeXpJrMJPXAwBAAD9AQAAJgAYAAAAAAABAAAApIEvxwIAY29tcG9zaXRp
bmcvdmlkZW8vcG9zdGVyLWV4cGVjdGVkLmh0bWxVVAUAA4gXOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADqeXpJOmw5uqYAAQCAIAEAJQAYAAAAAAAAAAAApIGbyAIAY29tcG9zaXRpbmcvdmlk
ZW8vcG9zdGVyLWV4cGVjdGVkLnBuZ1VUBQADhxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AOp5ekmUa0yZrQAAAN4DAAAwABgAAAAAAAEAAACkgaDJAwBjb21wb3NpdGluZy92aWRlby92aWRl
by1ib3JkZXItcmFkaXVzLXN0ZGVyci50eHRVVAUAA4gXOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADreXpJQxv7eNEAAADQCgAAMgAYAAAAAAABAAAApIG3ygMAY29tcG9zaXRpbmcvdmlkZW8v
dmlkZW8tY2xpcC1jaGFuZ2Utc3JjLXN0ZGVyci50eHRVVAUAA4kXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADteXpJAAAAAAAAAAAAAAAABwAYAAAAAAAAABAA7UH0ywMAY3J5cHRvL1VUBQAD
jRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAO15ekkAAAAAAAAAAAAAAAAOABgAAAAAAAAA
EADtQTXMAwBjcnlwdG8vc3VidGxlL1VUBQADjRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAA
AO15ekkl4NMILAAAACwAAAA+ABgAAAAAAAEAAACkgX3MAwBjcnlwdG8vc3VidGxlL3JzYS1nZW5l
cmF0ZS1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtc3RkZXJyLnR4dFVUBQADjRc6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAO15ekkwO7ixSwAAAGgAAAA8ABgAAAAAAAEAAACkgSHNAwBjcnlw
dG8vc3VidGxlL3JzYS1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50eHRV
VAUAA40XOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADseXpJAAAAAAAAAAAAAAAADwAYAAAA
AAAAABAA7UHizQMAY3J5cHRvL3dvcmtlcnMvVVQFAAOMFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAA7Hl6SQAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1BK84DAGNyeXB0by93b3JrZXJzL3N1
YnRsZS9VVAUAA4wXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADseXpJJeDTCCwAAAAsAAAA
MQAYAAAAAAABAAAApIF7zgMAY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1rZXkt
c3RkZXJyLnR4dFVUBQADjBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOt5ekkAAAAAAAAA
AAAAAAAFABgAAAAAAAAAEADtQRLPAwBjc3MzL1VUBQADihc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAOt5ekkAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQVHPAwBjc3MzL2ZsZXhib3gvVVQF
AAOKFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA63l6SQAAAAAAAAAAAAAAABMAGAAAAAAA
AAAQAO1BmM8DAGNzczMvZmxleGJveC9jc3N3Zy9VVAUAA4oXOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADreXpJcWMZiqwAAAAUAwAALAAYAAAAAAABAAAApIHlzwMAY3NzMy9mbGV4Ym94L2Nz
c3dnL0ZsZXhpYmxlLW9yZGVyLXN0ZGVyci50eHRVVAUAA4oXOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAADveXpJAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UH30AMAZGlzcGxheWxpc3RzL1VU
BQADkhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO95ekmjV/3oUAAAAI4AAAAyABgAAAAA
AAEAAACkgT7RAwBkaXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9ybXMtc3RkZXJy
LnR4dFVUBQADkhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO95eknylpXVRwAAAEkAAAAp
ABgAAAAAAAEAAACkgfrRAwBkaXNwbGF5bGlzdHMvbGF5ZXItZGlzcGF5LWxpc3Qtc3RkZXJyLnR4
dFVUBQADkhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAF6ekkAAAAAAAAAAAAAAAAIABgA
AAAAAAAAEADtQaTSAwBlZGl0aW5nL1VUBQADshc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
ADJ6ekkAAAAAAAAAAAAAAAAOABgAAAAAAAAAEADtQebSAwBlZGl0aW5nL2lucHV0L1VUBQADDxg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACJ6ekmXpGWiyQAAAGcBAAAvABgAAAAAAAEAAACk
gS7TAwBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtYWN0dWFsLnR4dFVUBQAD
8Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACJ6ekm9wXuKYgEAAFQDAAAtABgAAAAAAAEA
AACkgWDUAwBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtZGlmZi50eHRVVAUA
A/AXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAienpJT84qdmoAAAAVAQAAMQAYAAAAAAAB
AAAApIEp1gMAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlLWV4cGVjdGVkLnR4
dFVUBQAD8Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACJ6ekmc3erHZQgAAPQdAAA1ABgA
AAAAAAEAAACkgf7WAwBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtcHJldHR5
LWRpZmYuaHRtbFVUBQAD8Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAF6ekmXpGWiyQAA
AGcBAAAwABgAAAAAAAEAAACkgdLfAwBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25v
ZGUyLWFjdHVhbC50eHRVVAUAA7IXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAABenpJluVL
7WQBAABWAwAALgAYAAAAAAABAAAApIEF4QMAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBh
c3Nub2RlMi1kaWZmLnR4dFVUBQADshc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAF6eklP
zip2agAAABUBAAAyABgAAAAAAAEAAACkgdHiAwBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8t
cGFzc25vZGUyLWV4cGVjdGVkLnR4dFVUBQADshc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AAJ6ekmDauACZwgAAPUdAAA2ABgAAAAAAAEAAACkgafjAwBlZGl0aW5nL2lucHV0L3Bhc3N3b3Jk
LWVjaG8tcGFzc25vZGUyLXByZXR0eS1kaWZmLmh0bWxVVAUAA7MXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAARenpJl6RloskAAABnAQAAMAAYAAAAAAABAAAApIF+7AMAZWRpdGluZy9pbnB1
dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1hY3R1YWwudHh0VVQFAAPRFzpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAEXp6Sa47eM5aAQAA3gIAAC4AGAAAAAAAAQAAAKSBse0DAGVkaXRpbmcv
aW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtZGlmZi50eHRVVAUAA9EXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAARenpJG3U48GEAAACfAAAAMgAYAAAAAAABAAAApIFz7wMAZWRpdGlu
Zy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1leHBlY3RlZC50eHRVVAUAA9EXOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAARenpJ9/x+4FQIAABPHAAANgAYAAAAAAABAAAApIFA8AMA
ZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1wcmV0dHktZGlmZi5odG1sVVQF
AAPRFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMnp6SXui1unDAAAAXgEAAC8AGAAAAAAA
AQAAAKSBBPkDAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1hY3R1YWwudHh0
VVQFAAMPGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMnp6SdDWxlZXAQAATwMAAC0AGAAA
AAAAAQAAAKSBMPoDAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1kaWZmLnR4
dFVUBQADDxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADJ6ekldhJNcYAAAABABAAAxABgA
AAAAAAEAAACkge77AwBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUtZXhwZWN0
ZWQudHh0VVQFAAMPGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMnp6SWfwOL9XCAAA7x0A
ADUAGAAAAAAAAQAAAKSBufwDAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1w
cmV0dHktZGlmZi5odG1sVVQFAAMPGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfXt6SUp9
Y+K3CwAAEUQAAA0AGAAAAAAAAQAAAKSBfwUEAGVycm9yX2xvZy50eHRVVAUAA30aOlh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAALenpJAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA7UF9EQQAZmFz
dC9VVAUAA8UXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD8eXpJAAAAAAAAAAAAAAAADAAY
AAAAAAAAABAA7UG8EQQAZmFzdC9jYW52YXMvVVQFAAOsFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA+3l6ScE4e42uAAAA3gMAAEwAGAAAAAAAAQAAAKSBAhIEAGZhc3QvY2FudmFzL2NhbnZh
cy1jc3Mtc2l6ZS1hZnRlci1oZWlnaHQtY2hhbmdlLXdpdGgtZGlzcGxheS1mbGV4LXN0ZGVyci50
eHRVVAUAA6oXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD8eXpJ0utXUYYAAAAaAQAAJgAY
AAAAAAABAAAApIE2EwQAZmFzdC9jYW52YXMvY2FudmFzLWxpbmVEYXNoLXN0ZGVyci50eHRVVAUA
A6wXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAKenpJAAAAAAAAAAAAAAAADAAYAAAAAAAA
ABAA7UEcFAQAZmFzdC9pbWFnZXMvVVQFAAPEFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAA
CXp6SVGnghgxAAAAMQAAAC0AGAAAAAAAAQAAAKSBYhQEAGZhc3QvaW1hZ2VzL2xhcmdlLXNpemUt
aW1hZ2UtY3Jhc2gtc3RkZXJyLnR4dFVUBQADwhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AAp6ekkhj704MgAAADMAAAAsABgAAAAAAAEAAACkgfoUBABmYXN0L2ltYWdlcy9wZGYtYXMtaW1h
Z2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVUBQADxBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AAt6ekkAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQZIVBABmYXN0L3hzbC9VVAUAA8YXOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAALenpJcv1l8oUAAADpAAAAJQAYAAAAAAABAAAApIHVFQQA
ZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADxRc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAAt6eknOCSgCjQAAAPAAAAAnABgAAAAAAAEAAACkgbkWBABmYXN0L3hz
bC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAA8UXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAALenpJz49mDlAAAACgAAAAJAAYAAAAAAABAAAApIGnFwQAZmFzdC94c2wveHNs
dC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQFAAPFFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAC3p6SYFKd61LAAAArAAAADQAGAAAAAAAAQAAAKSBVRgEAGZhc3QveHNsL3hzbHQtdHJhbnNm
b3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAA8YXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACAe3pJPkVKargCAAAVCAAAEQAYAAAAAAABAAAApIEOGQQAZnVsbF9yZXN1bHRz
Lmpzb25VVAUAA4AaOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAANenpJAAAAAAAAAAAAAAAA
BQAYAAAAAAAAABAA7UERHAQAaHR0cC9VVAUAA8oXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAAZenpJAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UFQHAQAaHR0cC90ZXN0cy9VVAUAA+IXOlh1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAASenpJAAAAAAAAAAAAAAAAEQAYAAAAAAAAABAA7UGV
HAQAaHR0cC90ZXN0cy9jYWNoZS9VVAUAA9QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAS
enpJvzahejcBAADyBAAAMAAYAAAAAAABAAAApIHgHAQAaHR0cC90ZXN0cy9jYWNoZS9tZW1vcnkt
Y2FjaGUtcHJ1bmluZy1zdGRlcnIudHh0VVQFAAPTFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAEnp6SflQJgmEAAAAwAAAAD0AGAAAAAAAAQAAAKSBgR4EAGh0dHAvdGVzdHMvY2FjaGUvbmV0
d29yay1lcnJvci1kdXJpbmctcmV2YWxpZGF0aW9uLXN0ZGVyci50eHRVVAUAA9QXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAANenpJAAAAAAAAAAAAAAAAEgAYAAAAAAAAABAA7UF8HwQAaHR0
cC90ZXN0cy9jYW52YXMvVVQFAAPKFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAADXp6SQAA
AAAAAAAAAAAAABgAGAAAAAAAAAAQAO1ByB8EAGh0dHAvdGVzdHMvY2FudmFzL3dlYmdsL1VUBQAD
yhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA16ekmEEmpxzAAAADcCAAA7ABgAAAAAAAEA
AACkgRogBABodHRwL3Rlc3RzL2NhbnZhcy93ZWJnbC9vcmlnaW4tY2xlYW4tY29uZm9ybWFuY2Ut
c3RkZXJyLnR4dFVUBQADyhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAA56ekkAAAAAAAAA
AAAAAAAXABgAAAAAAAAAEADtQVshBABodHRwL3Rlc3RzL2V2ZW50c291cmNlL1VUBQADzBc6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAA56ekmTBtcyAQAAAAEAAABNABgAAAAAAAEAAACkgawh
BABodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2
aWdhdGUtY3Jhc2gtYWN0dWFsLnR4dFVUBQADyxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AA56eklPoh0Q0AAAAJ4BAABLABgAAAAAAAEAAACkgTQiBABodHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtZGlmZi50eHRVVAUA
A8sXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAOenpJkRMGXlwAAABmAAAATwAYAAAAAAAB
AAAApIGJIwQAaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVy
aW5nLW5hdmlnYXRlLWNyYXNoLWV4cGVjdGVkLnR4dFVUBQADyxc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAA56ekn+93KokAcAAHwXAABTABgAAAAAAAEAAACkgW4kBABodHRwL3Rlc3RzL2V2
ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtcHJl
dHR5LWRpZmYuaHRtbFVUBQADyxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA56eklWkbNH
ZQAAAG0AAAA9ABgAAAAAAAEAAACkgYssBABodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXJldHJ5LXByZWNpc2lvbi1hY3R1YWwudHh0VVQFAAPMFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgADnp6SciGNGPhAAAArwEAADsAGAAAAAAAAQAAAKSBZy0EAGh0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWRpZmYudHh0VVQFAAPMFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADnp6SYcAMMhnAAAAdgAAAD8AGAAAAAAAAQAAAKSBvS4E
AGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWV4cGVj
dGVkLnR4dFVUBQADzBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA56eklmhg6i8gcAAKoa
AABDABgAAAAAAAEAAACkgZ0vBABodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJl
dHJ5LXByZWNpc2lvbi1wcmV0dHktZGlmZi5odG1sVVQFAAPMFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAADXp6SQAAAAAAAAAAAAAAABMAGAAAAAAAAAAQAO1BDDgEAGh0dHAvdGVzdHMvZmls
ZWFwaS9VVAUAA8oXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANenpJeuvpW4UAAADAAAAA
MgAYAAAAAAABAAAApIFZOAQAaHR0cC90ZXN0cy9maWxlYXBpL2Jsb2ItdXJsLWluLXN1YmZyYW1l
LXN0ZGVyci50eHRVVAUAA8oXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAPenpJAAAAAAAA
AAAAAAAAFQAYAAAAAAAAABAA7UFKOQQAaHR0cC90ZXN0cy9pbnNwZWN0b3IvVVQFAAPNFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAD3p6SQAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1BmTkE
AGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvVVQFAAPNFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAD3p6SW2QeAPeBwAAYCsAADcAGAAAAAAAAQAAAKSB8DkEAGh0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvcmVzb3VyY2UtdGltaW5nLXN0ZGVyci50eHRVVAUAA80XOlh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAAdenpJAAAAAAAAAAAAAAAAEQAYAAAAAAAAABAA7UE/QgQAaHR0
cC90ZXN0cy9tZWRpYS9VVAUAA+kXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAQenpJAAAA
AAAAAAAAAAAAGgAYAAAAAAAAABAA7UGKQgQAaHR0cC90ZXN0cy9tZWRpYS9jbGVhcmtleS9VVAUA
A9AXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAQenpJvUjYeFcBAAB/AwAAOQAYAAAAAAAB
AAAApIHeQgQAaHR0cC90ZXN0cy9tZWRpYS9jbGVhcmtleS9jbGVhci1rZXktaGxzLWFlczEyOC1z
dGRlcnIudHh0VVQFAAPQFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAFHp6SQAAAAAAAAAA
AAAAABUAGAAAAAAAAAAQAO1BqEQEAGh0dHAvdGVzdHMvbWVkaWEvaGxzL1VUBQAD1xc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIABB6ekmDXbrywAEAANAEAABAABgAAAAAAAEAAACkgfdEBABo
dHRwL3Rlc3RzL21lZGlhL2hscy9obHMtYWNjZXNzaWJsaXR5LWRlc2NyaWJlcy12aWRlby1zdGRl
cnIudHh0VVQFAAPQFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEXp6STbHD83QAQAARQUA
ADoAGAAAAAAAAQAAAKSBMUcEAGh0dHAvdGVzdHMvbWVkaWEvaGxzL2hscy1hdWRpby10cmFja3Mt
aGFzLWF1ZGlvLXN0ZGVyci50eHRVVAUAA9IXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAS
enpJWzeFdckBAACfBQAAQQAYAAAAAAABAAAApIF1SQQAaHR0cC90ZXN0cy9tZWRpYS9obHMvaGxz
LWF1ZGlvLXRyYWNrcy1sb2NhbGUtc2VsZWN0aW9uLXN0ZGVyci50eHRVVAUAA9MXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAASenpJd8Aby8YBAABFBQAAMAAYAAAAAAABAAAApIG5SwQAaHR0
cC90ZXN0cy9tZWRpYS9obHMvaGxzLWF1ZGlvLXRyYWNrcy1zdGRlcnIudHh0VVQFAAPTFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEnp6SbbrVB8mAQAA3gMAACwAGAAAAAAAAQAAAKSB6U0E
AGh0dHAvdGVzdHMvbWVkaWEvaGxzL2hscy1wcm9ncmVzcy1zdGRlcnIudHh0VVQFAAPUFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEnp6ST1CQoJwAQAAKgYAADoAGAAAAAAAAQAAAKSBdU8E
AGh0dHAvdGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWNvbnRyb2xzLWxpdmUtc3RyZWFtLXN0ZGVyci50
eHRVVAUAA9QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAUenpJPswRmC0AAAAuAAAAPAAY
AAAAAAABAAAApIFZUQQAaHR0cC90ZXN0cy9tZWRpYS9obHMvdmlkZW8tZHVyYXRpb24tYWNjZXNz
aWJpbGl0eS1hY3R1YWwudHh0VVQFAAPXFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFHp6
SaZX2Zc0AQAAyAMAADoAGAAAAAAAAQAAAKSB/FEEAGh0dHAvdGVzdHMvbWVkaWEvaGxzL3ZpZGVv
LWR1cmF0aW9uLWFjY2Vzc2liaWxpdHktZGlmZi50eHRVVAUAA9cXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAUenpJkZ/NH64AAAB+AgAAPgAYAAAAAAABAAAApIGkUwQAaHR0cC90ZXN0cy9t
ZWRpYS9obHMvdmlkZW8tZHVyYXRpb24tYWNjZXNzaWJpbGl0eS1leHBlY3RlZC50eHRVVAUAA9cX
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAUenpJhXRKYGgIAACeJAAAQgAYAAAAAAABAAAA
pIHKVAQAaHR0cC90ZXN0cy9tZWRpYS9obHMvdmlkZW8tZHVyYXRpb24tYWNjZXNzaWJpbGl0eS1w
cmV0dHktZGlmZi5odG1sVVQFAAPXFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFHp6SXGa
Nq6WAQAAKgMAADwAGAAAAAAAAQAAAKSBrl0EAGh0dHAvdGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWR1
cmF0aW9uLWFjY2Vzc2liaWxpdHktc3RkZXJyLnR4dFVUBQAD1xc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAA96ekkwK3Q3zAAAADcCAAAyABgAAAAAAAEAAACkgbpfBABodHRwL3Rlc3RzL21l
ZGlhL21lZGlhLWRvY3VtZW50LXJlZmVyZXItc3RkZXJyLnR4dFVUBQADzhc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABB6ekml9sWSMAEAADUDAAAqABgAAAAAAAEAAACkgfJgBABodHRwL3Rl
c3RzL21lZGlhL21lZGlhLWRvY3VtZW50LXN0ZGVyci50eHRVVAUAA9AXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAASenpJ8q8fwewAAADGAwAAOQAYAAAAAAABAAAApIGGYgQAaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1wbGF5LXN0cmVhbS1jaHVua2VkLWljeS1zdGRlcnIudHh0VVQFAAPTFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAEHp6SQAAAAAAAAAAAAAAAB4AGAAAAAAAAAAQAO1B
5WMEAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL1VUBQAD0Bc6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIABB6ekm+dBaTiwAAAJsAAABcABgAAAAAAAEAAACkgT1kBABodHRwL3Rlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1wbGF5LXRoZW4tc2Vlay1iYWNrLXdpdGgt
cmVtb3RlLWNvbnRyb2wtc3RkZXJyLnR4dFVUBQAD0Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAABF6ekkAAAAAAAAAAAAAAAAnABgAAAAAAAAAEADtQV5lBABodHRwL3Rlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9VVAUAA9IXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAT
enpJAAAAAAAAAAAAAAAANgAYAAAAAAAAABAA7UG/ZQQAaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvc3RhdHVzLXN1cHBvcnQvVVQFAAPWFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAEXp6SZV8IUBhAQAAWwUAAF4AGAAAAAAAAQAAAKSBL2YEAGh0dHAvdGVzdHMvbWVk
aWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3N0YXR1cy1zdXBwb3J0L3N0YXR1cy1zdXBwb3J0LWxp
dmUtYnJvYWRjYXN0LXN0ZGVyci50eHRVVAUAA9IXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAATenpJ9vdByYQAAADAAAAAVwAYAAAAAAABAAAApIEoaAQAaHR0cC90ZXN0cy9tZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvc3RhdHVzLXN1cHBvcnQvc3RhdHVzLXN1cHBvcnQtbG9hZGluZy1z
dGRlcnIudHh0VVQFAAPWFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEnp6SQog/o7xAAAA
XwEAAC0AGAAAAAAAAQAAAKSBPWkEAGh0dHAvdGVzdHMvbWVkaWEvcGRmLXNlcnZlZC1hcy1wZGYt
c3RkZXJyLnR4dFVUBQAD1Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABJ6eklb1R+PvAAA
AJIBAAAvABgAAAAAAAEAAACkgZVqBABodHRwL3Rlc3RzL21lZGlhL3JlbG9hZC1hZnRlci1kaWFs
b2ctc3RkZXJyLnR4dFVUBQAD1Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABN6ekk4himy
SQEAAHQCAAAvABgAAAAAAAEAAACkgbprBABodHRwL3Rlc3RzL21lZGlhL3RleHQtc2VydmVkLWFz
LXRleHQtc3RkZXJyLnR4dFVUBQAD1Rc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABh6ekms
lWdhwAEAADQHAAAmABgAAAAAAAEAAACkgWxtBABodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWF1dGgt
c3RkZXJyLnR4dFVUBQAD4Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABp6eklWqt5G5AAA
AFICAAAtABgAAAAAAAEAAACkgYxvBABodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWVycm9yLWFib3J0
LXN0ZGVyci50eHRVVAUAA+QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAaenpJJl9P3xUB
AAA9AgAANgAYAAAAAAABAAAApIHXcAQAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1lcnJvci1kb2Vz
LW5vdC1leGlzdC1zdGRlcnIudHh0VVQFAAPkFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
Gnp6Sf6JD8rFAAAAJAMAACwAGAAAAAAAAQAAAKSBXHIEAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8t
bG9hZC10d2ljZS1zdGRlcnIudHh0VVQFAAPkFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
G3p6Sdrq4ZnnAAAAbAMAAC8AGAAAAAAAAQAAAKSBh3MEAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8t
cGxheS1wcm9ncmVzcy1zdGRlcnIudHh0VVQFAAPlFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAHHp6SbuMzWaEAAAAwAAAAD0AGAAAAAAAAQAAAKSB13QEAGh0dHAvdGVzdHMvbWVkaWEvdmlk
ZW8tcGxheS1zdGFsbC1iZWZvcmUtbWV0YS1kYXRhLXN0ZGVyci50eHRVVAUAA+gXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAcenpJXXJl2L0AAACSAQAAKwAYAAAAAAABAAAApIHSdQQAaHR0
cC90ZXN0cy9tZWRpYS92aWRlby1xdWVyeS11cmwtc3RkZXJyLnR4dFVUBQAD6Bc6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAB16eklon0kBRAEAACoGAAAqABgAAAAAAAEAAACkgfR2BABodHRw
L3Rlc3RzL21lZGlhL3ZpZGVvLXJlZGlyZWN0LXN0ZGVyci50eHRVVAUAA+kXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAdenpJRfX7VN4AAABSAgAAKwAYAAAAAAABAAAApIGceAQAaHR0cC90
ZXN0cy9tZWRpYS92aWRlby11c2VyYWdlbnQtc3RkZXJyLnR4dFVUBQAD6Rc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAABB6ekkAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQd95BABodHRwL3Rl
c3RzL21pbWUvVVQFAAPQFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEHp6SdV9NIuEAAAA
wAAAACoAGAAAAAAAAQAAAKSBKXoEAGh0dHAvdGVzdHMvbWltZS9taW1lLXR5cGUtc25pZmYtc3Rk
ZXJyLnR4dFVUBQAD0Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAC56ekkAAAAAAAAAAAAA
AAAQABgAAAAAAAAAEADtQRF7BABodHRwL3Rlc3RzL21pc2MvVVQFAAMHGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAGnp6SeveEdvDAAAA/gAAAD8AGAAAAAAAAQAAAKSBW3sEAGh0dHAvdGVz
dHMvbWlzYy9kZWxldGUtZnJhbWUtZHVyaW5nLXJlYWR5c3RhdGVjaGFuZ2Utc3RkZXJyLnR4dFVU
BQAD4xc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABl6ekny1G4VwwAAAP4AAABbABgAAAAA
AAEAAACkgZd8BABodHRwL3Rlc3RzL21pc2MvZGVsZXRlLWZyYW1lLWR1cmluZy1yZWFkeXN0YXRl
Y2hhbmdlLXdpdGgtZ2MtYWZ0ZXItdmlkZW8tcmVtb3ZhbC1zdGRlcnIudHh0VVQFAAPiFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALnp6SRU1NZJ6AAAAvAAAACoAGAAAAAAAAQAAAKSB730E
AGh0dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUBQADBxg6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAACZ6ekkAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQc1+BABo
dHRwL3Rlc3RzL3NlY3VyaXR5L1VUBQAD9xc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABd6
eknq16UVywAAAN0BAABVABgAAAAAAAEAAACkgRt/BABodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZh
cy1yZW1vdGUtcmVhZC1yZW1vdGUtdmlkZW8tYmxvY2tlZC1uby1jcm9zc29yaWdpbi1zdGRlcnIu
dHh0VVQFAAPeFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAF3p6SeRTVePbAAAArAIAAEgA
GAAAAAAAAQAAAKSBdYAEAGh0dHAvdGVzdHMvc2VjdXJpdHkvY2FudmFzLXJlbW90ZS1yZWFkLXJl
bW90ZS12aWRlby1sb2NhbGhvc3Qtc3RkZXJyLnR4dFVUBQAD3hc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIABh6ekkf9q9/4wAAAKwCAABHABgAAAAAAAEAAACkgdKBBABodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1yZW1vdGUtdmlkZW8tcmVkaXJlY3Qtc3RkZXJyLnR4
dFVUBQAD4Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAB16ekkAAAAAAAAAAAAAAAAqABgA
AAAAAAAAEADtQTaDBABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9V
VAUAA+kXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASenpJR7uTCNcAAAD4AQAASwAYAAAA
AAABAAAApIGagwQAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYXVk
aW8tcmVkaXJlY3QtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAPTFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAEnp6Sf9TiEblAAAAQwIAAEwAGAAAAAAAAQAAAKSB9oQEAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2F1ZGlvLXJlZGlyZWN0LWFsbG93ZWQyLXN0ZGVy
ci50eHRVVAUAA9MXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASenpJutb4rqcAAACKAQAA
WAAYAAAAAAABAAAApIFhhgQAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvYmxvYi11cmwtZG9lcy1ub3QtbWF0Y2gtc291cmNlLXNlbGYtc3RkZXJyLnR4dFVUBQAD0xc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABR6ekkAAAAAAAAAAAAAAABEABgAAAAAAAAAEADt
QZqHBABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWlu
c2VjdXJlLXJlcXVlc3RzL1VUBQAD2Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABR6ekn0
HWKI2gAAAJMBAAB5ABgAAAAAAAEAAACkgRiIBABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtaW5zZWN1cmUt
YXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS1zdGRlcnIudHh0VVQFAAPYFzpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAF3p6SQAAAAAAAAAAAAAAAD0AGAAAAAAAAAAQAO1BpYkEAGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9VVAUA
A90XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASenpJ7gQtIuwAAACdAgAAUwAYAAAAAAAB
AAAApIEcigQAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXNlckFn
ZW50U2hhZG93RE9NL2FsbG93LWF1ZGlvLXN0ZGVyci50eHRVVAUAA9QXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAATenpJXFM94b0AAACSAQAAUwAYAAAAAAABAAAApIGViwQAaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2FsbG93
LXZpZGVvLXN0ZGVyci50eHRVVAUAA9UXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAXenpJ
dgrniIQAAADAAAAAawAYAAAAAAABAAAApIHfjAQAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2RlZmF1bHQtc3JjLW9iamVjdC1kYXRh
LXVybC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA90XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAcenpJ3B6Pt98AAABSAgAASwAYAAAAAAABAAAApIEIjgQAaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvdmlkZW8tcmVkaXJlY3QtYWxsb3dlZC1zdGRlcnIudHh0VVQF
AAPnFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHHp6SQdfvnS8AAAAkgEAAEwAGAAAAAAA
AQAAAKSBbI8EAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3ZpZGVv
LXJlZGlyZWN0LWFsbG93ZWQyLXN0ZGVyci50eHRVVAUAA+cXOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAcenpJ3B6Pt98AAABSAgAAZgAYAAAAAAABAAAApIGukAQAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdmlkZW8td2l0aC1odHRwLXVybC1hbGxvd2VkLWJ5
LWNzcC1tZWRpYS1zcmMtc3Rhci1zdGRlcnIudHh0VVQFAAPnFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAHHp6SSNSVraEAAAAwAAAAFkAGAAAAAAAAQAAAKSBLZIEAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1ibG9iLWluaGVyaXRzLWNzcC1ibG9j
a3MtZXZhbC1zdGRlcnIudHh0VVQFAAPoFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHHp6
SWOqrGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSBRJMEAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA+gXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAdenpJY6qsbIIAAACoAAAAUgAYAAAAAAABAAAApIFAlAQAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5
bGUtc3JjLTItc3RkZXJyLnR4dFVUBQAD6Rc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABh6
ekn9RWUYhQAAABoBAAA1ABgAAAAAAAEAAACkgU6VBABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvcnMt
cG9zdC1yZWRpcmVjdC0zMDEtc3RkZXJyLnR4dFVUBQAD4Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAB16eklkMGaVvQAAAJIBAAA9ABgAAAAAAAEAAACkgUKWBABodHRwL3Rlc3RzL3NlY3Vy
aXR5L2xvY2FsLXZpZGVvLXNvdXJjZS1mcm9tLXJlbW90ZS1zdGRlcnIudHh0VVQFAAPqFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIHp6Sc13u3KEAAAAwAAAADoAGAAAAAAAAQAAAKSBdpcE
AGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtdmlkZW8tc3JjLWZyb20tcmVtb3RlLXN0ZGVyci50
eHRVVAUAA+sXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAXenpJAAAAAAAAAAAAAAAAIQAY
AAAAAAAAABAA7UFumAQAaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvVVQFAAPdFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAF3p6SVdIUt/hAAAAPgQAAE4AGAAAAAAAAQAAAKSB
yZgEAGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWF1ZGlvLXZpZGVv
LWluLW1haW4tZnJhbWUtc3RkZXJyLnR4dFVUBQAD3Rc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABd6eknzVxDHhAAAAMAAAABCABgAAAAAAAEAAACkgTKaBABodHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9pbnNlY3VyZS1jc3MtaW4taWZyYW1lLXN0ZGVyci50eHRVVAUAA90XOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAkenpJeLmuJfAAAACYBAAAOQAYAAAAAAABAAAApIEy
mwQAaHR0cC90ZXN0cy9zZWN1cml0eS92aWRlby1jcm9zcy1vcmlnaW4tY2FjaGluZy1zdGRlcnIu
dHh0VVQFAAPzFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJHp6SQObzUQUAQAA5wEAAD8A
GAAAAAAAAQAAAKSBlZwEAGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlkZW8tcG9zdGVyLWNyb3NzLW9y
aWdpbi1jcmFzaDItc3RkZXJyLnR4dFVUBQAD8xc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ACZ6eklgS2YQkQAAAPsBAABFABgAAAAAAAEAAACkgSKeBABodHRwL3Rlc3RzL3NlY3VyaXR5L3hz
cy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAUAA/cXOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA5e3pJWwRYDqIFAABNEAAACgAYAAAAAAABAAAApIEy
nwQAaHR0cGQuY29uZlVUBQAD/Rk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACp6ekkAAAAA
AAAAAAAAAAAJABgAAAAAAAAAEADtQRilBABpbXBvcnRlZC9VVAUAAwAYOlh1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAAdenpJAAAAAAAAAAAAAAAADwAYAAAAAAAAABAA7UFbpQQAaW1wb3J0ZWQv
YmxpbmsvVVQFAAPpFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAHXp6SQAAAAAAAAAAAAAA
ABMAGAAAAAAAAAAQAO1BpKUEAGltcG9ydGVkL2JsaW5rL3N2Zy9VVAUAA+kXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAAdenpJAAAAAAAAAAAAAAAAGgAYAAAAAAAAABAA7UHxpQQAaW1wb3J0
ZWQvYmxpbmsvc3ZnL3BhcnNlci9VVAUAA+kXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAd
enpJPu9MbhsBAACyBwAAQwAYAAAAAAABAAAApIFFpgQAaW1wb3J0ZWQvYmxpbmsvc3ZnL3BhcnNl
ci9zdmctcGFyc2VyLWFyZ3VtZW50LXdoaXRlc3BhY2Utc3RkZXJyLnR4dFVUBQAD6Rc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAACx6ekkAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQd2nBABp
bXBvcnRlZC93M2MvVVQFAAMEGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAKnp6SQAAAAAA
AAAAAAAAABoAGAAAAAAAAAAQAO1BJKgEAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvVVQFAAMA
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAMnp6SQAAAAAAAAAAAAAAACYAGAAAAAAAAAAQ
AO1BeKgEAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvVVQFAAMPGDpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKnp6SeGChuhJAAAAYAwAAD4AGAAAAAAAAQAAAKSB2KgE
AGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlcy1zdGRl
cnIudHh0VVQFAAMAGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALnp6SY80GnBEAAAAoAkA
AEcAGAAAAAAAAQAAAKSBmakEAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkv
dGVzdF9mYWlsdXJlc19SU0EtT0FFUC1zdGRlcnIudHh0VVQFAAMIGDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAMnp6SVQCybI2AAAAwAIAAFAAGAAAAAAAAQAAAKSBXqoEAGltcG9ydGVkL3cz
Yy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFf
NS1zdGRlcnIudHh0VVQFAAMPGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAOXp6SQAAAAAA
AAAAAAAAACAAGAAAAAAAAAAQAO1BHqsEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
VVQFAAMeGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAMHp6SQAAAAAAAAAAAAAAACUAGAAA
AAAAAAAQAO1BeKsEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9VVAUAAwsY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAsenpJAAAAAAAAAAAAAAAAKQAYAAAAAAAAABAA
7UHXqwQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9VVAUAAwQYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAsenpJ0F7rYsEAAABOAgAARwAYAAAAAAABAAAApIE6
rAQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9yZWZsZWN0aW9uLWVt
YmVkZGVkLXN0ZGVyci50eHRVVAUAAwQYOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABFenpJ
AAAAAAAAAAAAAAAALwAYAAAAAAAAABAA7UF8rQQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9VVAUAAzEYOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAx
enpJAAAAAAAAAAAAAAAAQAAYAAAAAAAAABAA7UHlrQQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L1VUBQADDhg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAADd6ekkAAAAAAAAAAAAAAABPABgAAAAAAAAAEADtQV+uBABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvbWVkaWEtZWxlbWVudHMvVVQFAAMaGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMHp6
SXGBeGnnAAAATAUAAGcAGAAAAAAAAQAAAKSB6K4EAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVu
dF9jYW5wbGF5LXN0ZGVyci50eHRVVAUAAwsYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAw
enpJ6FsVnesAAACkBAAAcgAYAAAAAAABAAAApIFwsAQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2
ZW50X2NhbnBsYXlfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAAMLGDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAMHp6ST7Eza/vAAAADAYAAG4AGAAAAAAAAQAAAKSBB7IEAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRp
YS1lbGVtZW50cy9ldmVudF9jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQFAAMLGDpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAMHp6SehbFZ3rAAAApAQAAHkAGAAAAAAAAQAAAKSBnrMEAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9jYW5wbGF5dGhyb3VnaF9ub2F1dG9wbGF5LXN0ZGVy
ci50eHRVVAUAAwsYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAwenpJLd7Sa+4AAAAMBgAA
agAYAAAAAAABAAAApIE8tQQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2xvYWRlZGRhdGEt
c3RkZXJyLnR4dFVUBQADDBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADB6ekkYQNoY6gAA
AKQEAAB1ABgAAAAAAAEAAACkgc62BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZGVk
ZGF0YV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAUAAwwYOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAxenpJQJE8FO4AAACkBAAAbgAYAAAAAAABAAAApIFnuAQAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL2V2ZW50X2xvYWRlZG1ldGFkYXRhLXN0ZGVyci50eHRVVAUAAw0YOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAxenpJd0uw0usAAACkBAAAeQAYAAAAAAABAAAApIH9uQQAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL2V2ZW50X2xvYWRlZG1ldGFkYXRhX25vYXV0b3BsYXktc3RkZXJyLnR4dFVU
BQADDRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADF6ekksm41C6gAAAKQEAABpABgAAAAA
AAEAAACkgZu7BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZHN0YXJ0LXN0ZGVyci50
eHRVVAUAAw0YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAxenpJsABRxO0AAACkBAAAdAAY
AAAAAAABAAAApIEovQQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2xvYWRzdGFydF9ub2F1
dG9wbGF5LXN0ZGVyci50eHRVVAUAAw4YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAxenpJ
Ap2kZ+wAAAAMBgAAfAAYAAAAAAABAAAApIHDvgQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50
X29yZGVyX2NhbnBsYXlfY2FucGxheXRocm91Z2gtc3RkZXJyLnR4dFVUBQADDhg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIADJ6ekkb1WEw7gAAAAwGAAB1ABgAAAAAAAEAAACkgWXABABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfY2FucGxheV9wbGF5aW5nLXN0ZGVyci50eHRV
VAUAAw8YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAyenpJ5uh3vewAAAAMBgAAfwAYAAAA
AAABAAAApIECwgQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X29yZGVyX2xvYWRlZG1ldGFk
YXRhX2xvYWRlZGRhdGEtc3RkZXJyLnR4dFVUBQADDxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIADJ6eklgj1cE8AAAAAwGAAB4ABgAAAAAAAEAAACkgafDBABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVu
dHMvZXZlbnRfb3JkZXJfbG9hZHN0YXJ0X3Byb2dyZXNzLXN0ZGVyci50eHRVVAUAAxAYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAyenpJi3BzCewAAAAMBgAAZQAYAAAAAAABAAAApIFJxQQA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BhdXNlLXN0ZGVyci50eHRVVAUAAxAYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAzenpJeOmdOe0AAACkBAAAcAAYAAAAAAABAAAApIHUxgQA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BhdXNlX25vYXV0b3BsYXktc3RkZXJyLnR4dFVU
BQADERg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADN6eklvBaDT6wAAAAwGAABkABgAAAAA
AAEAAACkgWvIBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfcGxheS1zdGRlcnIudHh0VVQF
AAMRGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAM3p6SSU+7rTrAAAASgQAAG8AGAAAAAAA
AQAAAKSB9MkEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5X25vYXV0b3BsYXktc3Rk
ZXJyLnR4dFVUBQADEhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADN6ekl19iXa7AAAAAwG
AABnABgAAAAAAAEAAACkgYjLBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfcGxheWluZy1z
dGRlcnIudHh0VVQFAAMSGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAM3p6SVcbLYTvAAAA
DAYAAHIAGAAAAAAAAQAAAKSBFc0EAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5aW5n
X25vYXV0b3BsYXktc3RkZXJyLnR4dFVUBQADEhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ADR6ekkBkGsg8AAAAAwGAABoABgAAAAAAAEAAACkgbDOBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
ZXZlbnRfcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUBQADExg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIADR6ekm6GrNR6gAAAKQEAABzABgAAAAAAAEAAACkgULQBABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVu
dHMvZXZlbnRfcHJvZ3Jlc3Nfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAAMTGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgANHp6Sf6B2HrrAAAADAYAAGoAGAAAAAAAAQAAAKSB2dEEAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVu
dC9tZWRpYS1lbGVtZW50cy9ldmVudF90aW1ldXBkYXRlLXN0ZGVyci50eHRVVAUAAxQYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAA1enpJmgiGHvMAAAAMBgAAdQAYAAAAAAABAAAApIFo0wQA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3RpbWV1cGRhdGVfbm9hdXRvcGxheS1zdGRlcnIu
dHh0VVQFAAMVGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANXp6ScnctcmEAAAAwAAAAGwA
GAAAAAAAAQAAAKSBCtUEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF92b2x1bWVjaGFuZ2Ut
c3RkZXJyLnR4dFVUBQADFRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAADF6ekkAAAAAAAAA
AAAAAABaABgAAAAAAAAAEADtQTTWBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9V
VAUAAw0YOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAxenpJAAAAAAAAAAAAAAAAZAAYAAAA
AAAAABAA7UHI1gQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMvVGV4dFRyYWNrL1VU
BQADDRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADF6ekljeULZvAAAAJIBAAB5ABgAAAAA
AAEAAACkgWbXBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svYWN0
aXZlQ3Vlcy1zdGRlcnIudHh0VVQFAAMNGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMXp6
SQGyX/aDAAAAwAAAAHUAGAAAAAAAAQAAAKSB1dgEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRl
cmZhY2VzL1RleHRUcmFjay9hZGRDdWUtc3RkZXJyLnR4dFVUBQADDRg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADV6eknqRBKy5AAAAOQDAAB3ABgAAAAAAAEAAACkgQfaBABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvbmV0d29ya1N0YXRlX2R1cmluZ19sb2Fkc3RhcnQtc3RkZXJyLnR4dFVUBQAD
Fhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADV6ekkxXRamhAAAAMAAAABuABgAAAAAAAEA
AACkgZzbBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvbmV0d29ya1N0YXRlX2luaXRpYWwtc3RkZXJy
LnR4dFVUBQADFhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADV6eklYn7b05gAAAEwFAABy
ABgAAAAAAAEAAACkgcjcBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGF1c2VkX2ZhbHNlX2R1cmlu
Z19wbGF5LXN0ZGVyci50eHRVVAUAAxYYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA1enpJ
2aEykOoAAACkBAAAcgAYAAAAAAABAAAApIFa3gQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3BhdXNl
ZF90cnVlX2R1cmluZ19wYXVzZS1zdGRlcnIudHh0VVQFAAMWGDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAMXp6SQAAAAAAAAAAAAAAAGoAGAAAAAAAAAAQAO1B8N8EAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1l
bGVtZW50cy9wbGF5aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9VVAUAAw4YOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAxenpJY3lC2bwAAACSAQAAkQAYAAAAAAABAAAApIGU4AQAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL3BsYXlpbmctdGhlLW1lZGlhLXJlc291cmNlL3BhdXNlLW1vdmUtdG8tb3Ro
ZXItZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADDRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ADF6eknVwcZY4wAAAKwCAACPABgAAAAAAAEAAACkgRviBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
cGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGF1c2UtbW92ZS13aXRoaW4tZG9jdW1lbnQtc3Rk
ZXJyLnR4dFVUBQADDhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADF6ekkXaflV3wAAAAYD
AACPABgAAAAAAAEAAACkgcfjBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVk
aWEtcmVzb3VyY2UvcGF1c2UtcmVtb3ZlLWZyb20tZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADDhg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADF6ekkqv4YihQAAABoBAACBABgAAAAAAAEAAACk
gW/lBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGxh
eWJhY2tSYXRlLXN0ZGVyci50eHRVVAUAAw4YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA2
enpJpt+nNYQAAADAAAAAeAAYAAAAAAABAAAApIGv5gQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3By
ZWxvYWRfcmVmbGVjdHNfbm9uZV9hdXRvcGxheS1zdGRlcnIudHh0VVQFAAMXGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgANnp6SXWyxBDkAAAATAUAAHMAGAAAAAAAAQAAAKSB5ecEAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVu
dC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1cmluZ19jYW5wbGF5LXN0ZGVyci50eHRVVAUA
AxcYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA2enpJkxnczuwAAAAMBgAAegAYAAAAAAAB
AAAApIF26QQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVyaW5nX2NhbnBsYXl0
aHJvdWdoLXN0ZGVyci50eHRVVAUAAxcYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA2enpJ
tcC75vMAAAAMBgAAdgAYAAAAAAABAAAApIEW6wQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5
U3RhdGVfZHVyaW5nX2xvYWRlZGRhdGEtc3RkZXJyLnR4dFVUBQADGBg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADZ6ekk0G/O06wAAAKQEAAB6ABgAAAAAAAEAAACkgbnsBABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfbG9hZGVkbWV0YWRhdGEtc3RkZXJyLnR4dFVU
BQADGBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADd6ekluaH388gAAAAwGAABzABgAAAAA
AAEAAACkgVjuBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfcGxheWlu
Zy1zdGRlcnIudHh0VVQFAAMZGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAN3p6SVbc4OqE
AAAAwAAAAGwAGAAAAAAAAQAAAKSB9+8EAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRl
X2luaXRpYWwtc3RkZXJyLnR4dFVUBQADGRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADd6
ekmX9UWg1QAAAMICAACEABgAAAAAAAEAAACkgSHxBABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvc3Jj
X3JlZmxlY3RzX2F0dHJpYnV0ZV9ub3Rfc291cmNlX2VsZW1lbnRzLXN0ZGVyci50eHRVVAUAAxkY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAxenpJAAAAAAAAAAAAAAAAVQAYAAAAAAAAABAA
7UG08gQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3RyYWNrL1VUBQADDRg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAADF6ekkAAAAAAAAAAAAAAABjABgAAAAAAAAAEADtQUPzBABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvdHJhY2svdHJhY2stZWxlbWVudC9VVAUAAw0YOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAxenpJtzPZMvwAAADsAQAAggAYAAAAAAABAAAApIHg8wQAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL3RyYWNrL3RyYWNrLWVsZW1lbnQvdHJhY2stYXBpLXRleHR0cmFja3Mtc3RkZXJy
LnR4dFVUBQADDRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAADF6ekkAAAAAAAAAAAAAAABe
ABgAAAAAAAAAEADtQZj1BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdXNlci1pbnRlcmZhY2UvVVQF
AAMOGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMXp6SfPiyI2FAAAAGgEAAG4AGAAAAAAA
AQAAAKSBMPYEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy91c2VyLWludGVyZmFjZS9tdXRlZC1zdGRl
cnIudHh0VVQFAAMOGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAN3p6SQCm4Fi+AAAA7AEA
AGMAGAAAAAAAAQAAAKSBXfcEAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy92aWRlb18wMDgtc3RkZXJy
LnR4dFVUBQADGRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADd6ekmuXUOFhAAAAMAAAABs
ABgAAAAAAAEAAACkgbj4BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdmlkZW9fdm9sdW1lX2NoZWNr
LXN0ZGVyci50eHRVVAUAAxoYOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAxenpJAAAAAAAA
AAAAAAAAUgAYAAAAAAAAABAA7UHi+QQAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1hdWRpby1lbGVtZW50L1VUBQADDhg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADF6ekmHOyoQ3gAAANACAABuABgAAAAAAAEAAACk
gW76BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvdGhlLWF1ZGlvLWVsZW1lbnQvYXVkaW9fY29uc3RydWN0b3Itc3RkZXJyLnR4
dFVUBQADDhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEV6ekkAAAAAAAAAAAAAAABEABgA
AAAAAAAAEADtQfT7BABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL1VUBQADMRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAEV6ekkAAAAAAAAAAAAAAABYABgAAAAAAAAAEADtQXL8BABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1kZXRh
aWxzLWVsZW1lbnQvVVQFAAMxGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgARXp6SRb1ebpg
AQAAywUAAG4AGAAAAAAAAQAAAKSBBP0EAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRldGFpbHMtZWxlbWVudC90
b2dnbGVFdmVudC1hY3R1YWwudHh0VVQFAAMxGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
RXp6Sdt8Bq/AAQAAGQUAAGwAGAAAAAAAAQAAAKSBDP8EAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRldGFpbHMt
ZWxlbWVudC90b2dnbGVFdmVudC1kaWZmLnR4dFVUBQADMRg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAEV6ekkd3xG9MgEAAJEFAABwABgAAAAAAAEAAACkgXIBBQBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1k
ZXRhaWxzLWVsZW1lbnQvdG9nZ2xlRXZlbnQtZXhwZWN0ZWQudHh0VVQFAAMxGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgARXp6SWT5+bD+CAAA+iIAAHQAGAAAAAAAAQAAAKSBTgMFAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxl
bWVudHMvdGhlLWRldGFpbHMtZWxlbWVudC90b2dnbGVFdmVudC1wcmV0dHktZGlmZi5odG1sVVQF
AAMxGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAARHp6SQAAAAAAAAAAAAAAAC0AGAAAAAAA
AAAQAO1B+gwFAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL1VU
BQADMBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADl6ekk/BrXpuAAAAD0EAABXABgAAAAA
AAEAAACkgWENBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9t
ZWRpYXNvdXJjZS1hY3RpdmVzb3VyY2VidWZmZXJzLXN0ZGVyci50eHRVVAUAAx4YOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAA5enpJ0gCymIsAAACbAAAAUAAYAAAAAAABAAAApIGqDgUAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtYXBw
ZW5kd2luZG93LXN0ZGVyci50eHRVVAUAAx4YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA5
enpJ5o0VMCYBAAApAwAATAAYAAAAAAABAAAApIG/DwUAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtYXZ0cmFja3Mtc3RkZXJyLnR4dFVUBQAD
Hhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADp6ekkZKNaQpgAAAAcDAABMABgAAAAAAAEA
AACkgWsRBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRp
YXNvdXJjZS1idWZmZXJlZC1zdGRlcnIudHh0VVQFAAMfGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAO3p6SeWVncgqAQAAyAMAAF8AGAAAAAAAAQAAAKSBlxIFAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2UtbXA0
LWEtYml0cmF0ZS1zdGRlcnIudHh0VVQFAAMhGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
PHp6SeMtC4WUAQAAYwQAAGYAGAAAAAAAAQAAAKSBWhQFAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2UtbXA0LWF2LWF1
ZGlvLWJpdHJhdGUtc3RkZXJyLnR4dFVUBQADJBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AD16ekkVDDVXlgEAAGMEAABmABgAAAAAAAEAAACkgY4WBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC1hdi12
aWRlby1iaXRyYXRlLXN0ZGVyci50eHRVVAUAAyYYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABAenpJp55RgUABAAB6AwAAXwAYAAAAAAABAAAApIHEGAUAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1i
aXRyYXRlLXN0ZGVyci50eHRVVAUAAygYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABBenpJ
Vl/nwD0BAAB6AwAAYQAYAAAAAAABAAAApIGdGgUAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1mcmFtZXJh
dGUtc3RkZXJyLnR4dFVUBQADKhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEJ6ekl/9YBZ
PQEAAHoDAABhABgAAAAAAAEAAACkgXUcBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC12LWZyYW1lc2l6ZS1z
dGRlcnIudHh0VVQFAAMsGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAQnp6Sf9ZWPkHAQAA
FQIAAEoAGAAAAAAAAQAAAKSBTR4FAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLWRldGFjaC1zdGRlcnIudHh0VVQFAAMsGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgARHp6SZ8VVcwQAQAAhAEAAEgAGAAAAAAAAQAAAKSB2B8FAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXBsYXkt
c3RkZXJyLnR4dFVUBQADLxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEN6ekk2d4egiwAA
AJsAAABXABgAAAAAAAEAAACkgWohBQBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1wbGF5LXRoZW4tc2Vlay1iYWNrLXN0ZGVyci50eHRVVAUA
Ay0YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABEenpJ6bmdupoAAAD0AgAASwAYAAAAAAAB
AAAApIGGIgUAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVk
aWFzb3VyY2UtcHJlbG9hZC1zdGRlcnIudHh0VVQFAAMvGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgARHp6SaZ3pdKLAAAAmwAAAFIAGAAAAAAAAQAAAKSBpSMFAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXJlZHVuZGFudC1zZWVrLXN0
ZGVyci50eHRVVAUAAy8YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABEenpJdiICBjQBAAB0
BQAASgAYAAAAAAABAAAApIG8JAUAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1zb3VyY2UvbWVkaWFzb3VyY2UtcmVtb3ZlLXN0ZGVyci50eHRVVAUAAzAYOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABEenpJSgQ6pJsAAAA2AQAAVAAYAAAAAAABAAAApIF0JgUAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtdGltZXN0
YW1wLW9mZnNldC1zdGRlcnIudHh0VVQFAAMwGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
QHp6SQAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1BnScFAGluc3BlY3Rvci9VVAUAAygYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAABAenpJAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UHhJwUA
aW5zcGVjdG9yL2RlYnVnZ2VyL1VUBQADKBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEB6
ekmDJ0LHHgUAANQjAAA2ABgAAAAAAAEAAACkgS4oBQBpbnNwZWN0b3IvZGVidWdnZXIvY29udGlu
dWVVbnRpbE5leHRSdW5Mb29wLXN0ZGVyci50eHRVVAUAAygYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAB4enpJAAAAAAAAAAAAAAAABgAYAAAAAAAAABAA7UG8LQUAbWVkaWEvVVQFAAOTGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgARHp6SQ4xRTzpAAAAnQIAAB8AGAAAAAAAAQAAAKSB
/C0FAG1lZGlhL2F1ZGlvLWRhdGEtdXJsLXN0ZGVyci50eHRVVAUAAzAYOlh1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAABIenpJAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UE+LwUAbWVkaWEvbWVk
aWEtc291cmNlL1VUBQADOBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEV6eklhxi6ALQEA
AJABAAA+ABgAAAAAAAEAAACkgYsvBQBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWFi
b3J0LXJlc2V0cy1wYXJzZXItc3RkZXJyLnR4dFVUBQADMRg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAEZ6ekneE/YviwAAAJsAAAA3ABgAAAAAAAEAAACkgTAxBQBtZWRpYS9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLXJlbW92ZS1jcmFzaC1zdGRlcnIudHh0VVQFAAMzGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgARnp6SXgrC4aLAAAAmwAAADEAGAAAAAAAAQAAAKSBLDIFAG1lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtcmVzaXplLXN0ZGVyci50eHRVVAUAAzMYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABGenpJbaDXUC0BAACQAQAAPAAYAAAAAAABAAAApIEiMwUA
bWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1zZWVrLWRldGFjaC1jcmFzaC1zdGRlcnIu
dHh0VVQFAAM0GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgASHp6STnxh+SMAAAAmwAAAEgA
GAAAAAAAAQAAAKSBxTQFAG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utc3RhbGxlZC1o
b2xkcy1zbGVlcC1hc3NlcnRpb24tc3RkZXJyLnR4dFVUBQADOBg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAFZ6ekkuSyg7xQAAACQDAAAoABgAAAAAAAEAAACkgdM1BQBtZWRpYS9zb3VyY2Vz
LWZhbGxiYWNrLWNvZGVjcy1zdGRlcnIudHh0VVQFAANUGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAV3p6SROAQqiLAAAAgAEAADAAGAAAAAAAAQAAAKSB+jYFAG1lZGlhL3N2Zy1hcy1pbWFn
ZS13aXRoLW1lZGlhLWJsb2NrZWQtc3RkZXJyLnR4dFVUBQADVRg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAFd6eknPTinSkAAAAL0AAAAhABgAAAAAAAEAAACkge83BQBtZWRpYS91bnN1cHBv
cnRlZC1ydHNwLXN0ZGVyci50eHRVVAUAA1UYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABr
enpJ7GzUFoMAAADoAgAAOwAYAAAAAAABAAAApIHaOAUAbWVkaWEvdmlkZW8tbXV0ZWQtYWZ0ZXIt
c2V0dGluZy1wYWdlLW11dGVkLXN0YXRlLXN0ZGVyci50eHRVVAUAA3kYOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACABxenpJMw7PHQEBAABTBwAAKAAYAAAAAAABAAAApIHSOQUAbWVkaWEvdmlk
ZW8tcG9zdGVyLWJhY2tncm91bmQtc3RkZXJyLnR4dFVUBQADhRg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAHh6ekmC7YrcvQAAAJIBAAAfABgAAAAAAAEAAACkgTU7BQBtZWRpYS92aWRlby1z
cmMtYmxvYi1zdGRlcnIudHh0VVQFAAOTGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeHp6
ScKPJAqFAAAAGgEAACEAGAAAAAAAAQAAAKSBSzwFAG1lZGlhL3ZpZGVvLXNyYy1jaGFuZ2Utc3Rk
ZXJyLnR4dFVUBQADkxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACh6ekl0NLtwaAIAAKIV
AAAaABgAAAAAAAEAAACkgSs9BQBweXdlYnNvY2tldC53cy5sb2ctZXJyLnR4dFVUBQAD+xc6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACh6eklFw35wCQEAAI8CAAAaABgAAAAAAAEAAACkgec/
BQBweXdlYnNvY2tldC53cy5sb2ctb3V0LnR4dFVUBQAD+xc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAOd5ekkAAAAAAAAAAAAAAAAbABgAAAAAAAAAAACkgURBBQBweXdlYnNvY2tldC53c3Mu
bG9nLWVyci50eHRVVAUAA4IXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADneXpJAAAAAAAA
AAAAAAAAGwAYAAAAAAAAAAAApIGZQQUAcHl3ZWJzb2NrZXQud3NzLmxvZy1vdXQudHh0VVQFAAOC
FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgHt6SUUmHTnRJwAAy6oAAAwAGAAAAAAAAQAA
AKSB7kEFAHJlc3VsdHMuaHRtbFVUBQADgBo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAH17
ekkAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQQVqBQByZXRyaWVzL1VUBQADfRo6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAEt7ekkAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQUdqBQByZXRy
aWVzL2VkaXRpbmcvVVQFAAMeGjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAe3t6SQAAAAAA
AAAAAAAAABYAGAAAAAAAAAAQAO1BkWoFAHJldHJpZXMvZWRpdGluZy9pbnB1dC9VVAUAA3kaOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB7e3pJl6RloskAAABnAQAANwAYAAAAAAABAAAApIHh
agUAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtYWN0dWFsLnR4
dFVUBQADeRo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHt7ekn86CpCZgEAAGQDAAA1ABgA
AAAAAAEAAACkgRtsBQByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9k
ZS1kaWZmLnR4dFVUBQADeRo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHt7eklPzip2agAA
ABUBAAA5ABgAAAAAAAEAAACkgfBtBQByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNo
by1wYXNzbm9kZS1leHBlY3RlZC50eHRVVAUAA3kaOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAB7e3pJRxgQ6moIAAD8HQAAPQAYAAAAAAABAAAApIHNbgUAcmV0cmllcy9lZGl0aW5nL2lucHV0
L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtcHJldHR5LWRpZmYuaHRtbFVUBQADeRo6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAFp7ekmXpGWiyQAAAGcBAAA4ABgAAAAAAAEAAACkga53BQByZXRy
aWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTItYWN0dWFsLnR4dFVUBQAD
PBo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFp7ekmP/XayZwEAAGYDAAA2ABgAAAAAAAEA
AACkgel4BQByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTItZGlm
Zi50eHRVVAUAAzwaOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABae3pJT84qdmoAAAAVAQAA
OgAYAAAAAAABAAAApIHAegUAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFz
c25vZGUyLWV4cGVjdGVkLnR4dFVUBQADPBo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFp7
ekkam8wTawgAAP0dAAA+ABgAAAAAAAEAAACkgZ57BQByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFz
c3dvcmQtZWNoby1wYXNzbm9kZTItcHJldHR5LWRpZmYuaHRtbFVUBQADPBo6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAEt7ekmXpGWiyQAAAGcBAAA4ABgAAAAAAAEAAACkgYGEBQByZXRyaWVz
L2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtYWN0dWFsLnR4dFVUBQADHho6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEt7ekmZLAjaXwEAAO4CAAA2ABgAAAAAAAEAAACk
gbyFBQByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtZGlmZi50
eHRVVAUAAx4aOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABLe3pJG3U48GEAAACfAAAAOgAY
AAAAAAABAAAApIGLhwUAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25v
ZGUzLWV4cGVjdGVkLnR4dFVUBQADHho6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEt7ekn9
juUfWQgAAFccAAA+ABgAAAAAAAEAAACkgWCIBQByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dv
cmQtZWNoby1wYXNzbm9kZTMtcHJldHR5LWRpZmYuaHRtbFVUBQADHho6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAGt7ekl7otbpwwAAAF4BAAA3ABgAAAAAAAEAAACkgTGRBQByZXRyaWVzL2Vk
aXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1hY3R1YWwudHh0VVQFAANaGjpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAa3t6SatkE/5bAQAAXwMAADUAGAAAAAAAAQAAAKSBZZIF
AHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWRpZmYudHh0VVQF
AANaGjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAa3t6SV2Ek1xgAAAAEAEAADkAGAAAAAAA
AQAAAKSBL5QFAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWV4
cGVjdGVkLnR4dFVUBQADWho6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGt7ekkrL9PmXAgA
APcdAAA9ABgAAAAAAAEAAACkgQKVBQByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNo
by10ZXh0bm9kZS1wcmV0dHktZGlmZi5odG1sVVQFAANaGjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAe3t6SQAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B1Z0FAHJldHJpZXMvaHR0cC9VVAUA
A3kaOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB9e3pJAAAAAAAAAAAAAAAAEwAYAAAAAAAA
ABAA7UEcngUAcmV0cmllcy9odHRwL3Rlc3RzL1VUBQADfRo6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAHt7ekkAAAAAAAAAAAAAAAAfABgAAAAAAAAAEADtQWmeBQByZXRyaWVzL2h0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvVVQFAAN6GjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAe3t6SZMG
1zIBAAAAAQAAAFUAGAAAAAAAAQAAAKSBwp4FAHJldHJpZXMvaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5nLW5hdmlnYXRlLWNyYXNoLWFjdHVhbC50eHRV
VAUAA3oaOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB7e3pJ01dLUtUAAACuAQAAUwAYAAAA
AAABAAAApIFSnwUAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJl
Y29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtZGlmZi50eHRVVAUAA3oaOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAB7e3pJkRMGXlwAAABmAAAAVwAYAAAAAAABAAAApIG0oAUAcmV0cmll
cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2
aWdhdGUtY3Jhc2gtZXhwZWN0ZWQudHh0VVQFAAN6GjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAe3t6Sa3QzhOVBwAAhBcAAFsAGAAAAAAAAQAAAKSBoaEFAHJldHJpZXMvaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5nLW5hdmlnYXRlLWNyYXNoLXBy
ZXR0eS1kaWZmLmh0bWxVVAUAA3oaOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB7e3pJVpGz
R2UAAABtAAAARQAYAAAAAAABAAAApIHLqQUAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNl
L2V2ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1hY3R1YWwudHh0VVQFAAN5GjpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAe3t6STkRI07lAAAAvwEAAEMAGAAAAAAAAQAAAKSBr6oFAHJldHJp
ZXMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZXRyeS1wcmVjaXNpb24tZGlm
Zi50eHRVVAUAA3kaOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB7e3pJhwAwyGcAAAB2AAAA
RwAYAAAAAAABAAAApIERrAUAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXJldHJ5LXByZWNpc2lvbi1leHBlY3RlZC50eHRVVAUAA3kaOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAB7e3pJRyFZq/YHAACyGgAASwAYAAAAAAABAAAApIH5rAUAcmV0cmllcy9odHRw
L3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1wcmV0dHktZGlm
Zi5odG1sVVQFAAN5GjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAfXt6SQAAAAAAAAAAAAAA
ABkAGAAAAAAAAAAQAO1BdLUFAHJldHJpZXMvaHR0cC90ZXN0cy9tZWRpYS9VVAUAA30aOlh1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAB9e3pJAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UHHtQUA
cmV0cmllcy9odHRwL3Rlc3RzL21lZGlhL2hscy9VVAUAA30aOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAB9e3pJFX9azzgCAAAHCwAARAAYAAAAAAABAAAApIEetgUAcmV0cmllcy9odHRwL3Rl
c3RzL21lZGlhL2hscy92aWRlby1kdXJhdGlvbi1hY2Nlc3NpYmlsaXR5LXN0ZGVyci50eHRVVAUA
A30aOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB9e3pJAAAAAAAAAAAAAAAAEQAYAAAAAAAA
ABAA7UHUuAUAcmV0cmllcy9pbXBvcnRlZC9VVAUAA30aOlh1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAB9e3pJAAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UEfuQUAcmV0cmllcy9pbXBvcnRlZC93
M2MvVVQFAAN9GjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAfXt6SQAAAAAAAAAAAAAAACgA
GAAAAAAAAAAQAO1BbrkFAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9V
VAUAA30aOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB9e3pJAAAAAAAAAAAAAAAALQAYAAAA
AAAAABAA7UHQuQUAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
VVQFAAN9GjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAfXt6SQAAAAAAAAAAAAAAADcAGAAA
AAAAAAAQAO1BN7oFAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9VVAUAA30aOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB9e3pJAAAAAAAA
AAAAAAAATAAYAAAAAAAAABAA7UGougUAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL1VUBQADfRo6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAH17ekkAAAAAAAAAAAAAAABgABgAAAAAAAAAEADtQS67BQBy
ZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvaW50
ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRldGFpbHMtZWxlbWVudC9VVAUAA30aOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAB9e3pJ8Hx3eoQAAAAaAQAAdgAYAAAAAAABAAAApIHIuwUAcmV0cmll
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2ludGVyYWN0
aXZlLWVsZW1lbnRzL3RoZS1kZXRhaWxzLWVsZW1lbnQvdG9nZ2xlRXZlbnQtc3RkZXJyLnR4dFVU
BQADfRo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAH17ekkAAAAAAAAAAAAAAAAUABgAAAAA
AAAAEADtQfy8BQByZXRyaWVzL3RyYW5zaXRpb25zL1VUBQADfRo6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAH17ekmG9r2l0jgAAC9hAAA2ABgAAAAAAAAAAACkgUq9BQByZXRyaWVzL3RyYW5z
aXRpb25zL2RlZmF1bHQtdGltaW5nLWZ1bmN0aW9uLWFjdHVhbC5wbmdVVAUAA30aOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAB9e3pJtlZHyTUkAAAkMAAANAAYAAAAAAAAAAAApIGM9gUAcmV0
cmllcy90cmFuc2l0aW9ucy9kZWZhdWx0LXRpbWluZy1mdW5jdGlvbi1kaWZmLnBuZ1VUBQADfRo6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAH17ekkL08b2jQUAACoSAAA2ABgAAAAAAAEAAACk
gS8bBgByZXRyaWVzL3RyYW5zaXRpb25zL2RlZmF1bHQtdGltaW5nLWZ1bmN0aW9uLWRpZmZzLmh0
bWxVVAUAA30aOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB9e3pJS5iIUXk1AABhXQAAOAAY
AAAAAAAAAAAApIEsIQYAcmV0cmllcy90cmFuc2l0aW9ucy9kZWZhdWx0LXRpbWluZy1mdW5jdGlv
bi1leHBlY3RlZC5wbmdVVAUAA30aOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACAe3pJG8AR
E0pyCADNTC8ACgAYAAAAAAABAAAApIEXVwYAc3RhdHMuanNvblVUBQADgBo6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAFl6ekkAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQaXJDgB0cmFuc2l0
aW9ucy9VVAUAA1oYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABXenpJ80UTk8ABAAAEBQAA
LgAYAAAAAAABAAAApIHryQ4AdHJhbnNpdGlvbnMvZGVmYXVsdC10aW1pbmctZnVuY3Rpb24tYWN0
dWFsLnR4dFVUBQADVRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFd6ekncKce9dwIAAPgH
AAAsABgAAAAAAAEAAACkgRPMDgB0cmFuc2l0aW9ucy9kZWZhdWx0LXRpbWluZy1mdW5jdGlvbi1k
aWZmLnR4dFVUBQADVRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFd6ekmcgFZ+bQEAAEUE
AAAwABgAAAAAAAEAAACkgfDODgB0cmFuc2l0aW9ucy9kZWZhdWx0LXRpbWluZy1mdW5jdGlvbi1l
eHBlY3RlZC50eHRVVAUAA1UYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABXenpJy2rnXUkK
AACWMQAANAAYAAAAAAABAAAApIHH0A4AdHJhbnNpdGlvbnMvZGVmYXVsdC10aW1pbmctZnVuY3Rp
b24tcHJldHR5LWRpZmYuaHRtbFVUBQADVhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFh6
ekm4W+xdsQAAAO8AAAA0ABgAAAAAAAEAAACkgX7bDgB0cmFuc2l0aW9ucy9mb250LWZhbWlseS1k
dXJpbmctdHJhbnNpdGlvbi1hY3R1YWwudHh0VVQFAANXGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAWHp6SRDno7c5AQAAawIAADIAGAAAAAAAAQAAAKSBndwOAHRyYW5zaXRpb25zL2ZvbnQt
ZmFtaWx5LWR1cmluZy10cmFuc2l0aW9uLWRpZmYudHh0VVQFAANXGDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAWHp6ScMxzW1xAAAAlAAAADYAGAAAAAAAAQAAAKSBQt4OAHRyYW5zaXRpb25z
L2ZvbnQtZmFtaWx5LWR1cmluZy10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dFVUBQADVxg6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAFh6ekky3bUebQgAAB4dAAA6ABgAAAAAAAEAAACkgSPfDgB0
cmFuc2l0aW9ucy9mb250LWZhbWlseS1kdXJpbmctdHJhbnNpdGlvbi1wcmV0dHktZGlmZi5odG1s
VVQFAANXGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAWHp6Scrs0hDAAAAAHwIAADkAGAAA
AAAAAQAAAKSBBOgOAHRyYW5zaXRpb25zL2xlbmd0aHNpemUtdHJhbnNpdGlvbi10by1mcm9tLWF1
dG8tYWN0dWFsLnR4dFVUBQADWBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFh6ekm4QOEJ
LgEAAJEDAAA3ABgAAAAAAAEAAACkgTfpDgB0cmFuc2l0aW9ucy9sZW5ndGhzaXplLXRyYW5zaXRp
b24tdG8tZnJvbS1hdXRvLWRpZmYudHh0VVQFAANYGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAWHp6Se+gpZdqAAAADAEAADsAGAAAAAAAAQAAAKSB1uoOAHRyYW5zaXRpb25zL2xlbmd0aHNp
emUtdHJhbnNpdGlvbi10by1mcm9tLWF1dG8tZXhwZWN0ZWQudHh0VVQFAANYGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAWHp6SQPZfZAcCAAAjR0AAD8AGAAAAAAAAQAAAKSBtesOAHRyYW5z
aXRpb25zL2xlbmd0aHNpemUtdHJhbnNpdGlvbi10by1mcm9tLWF1dG8tcHJldHR5LWRpZmYuaHRt
bFVUBQADWBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFh6ekmNr387vAAAAJkCAAA3ABgA
AAAAAAEAAACkgUr0DgB0cmFuc2l0aW9ucy9taW4tbWF4LXdpZHRoLWhlaWdodC10cmFuc2l0aW9u
cy1hY3R1YWwudHh0VVQFAANYGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAWHp6SbKDZGNP
AQAA/gQAADUAGAAAAAAAAQAAAKSBd/UOAHRyYW5zaXRpb25zL21pbi1tYXgtd2lkdGgtaGVpZ2h0
LXRyYW5zaXRpb25zLWRpZmYudHh0VVQFAANYGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
WHp6SYJgVc5xAAAATQEAADkAGAAAAAAAAQAAAKSBNfcOAHRyYW5zaXRpb25zL21pbi1tYXgtd2lk
dGgtaGVpZ2h0LXRyYW5zaXRpb25zLWV4cGVjdGVkLnR4dFVUBQADWBg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAFh6ekk9XWJSVwgAAFsiAAA9ABgAAAAAAAEAAACkgRn4DgB0cmFuc2l0aW9u
cy9taW4tbWF4LXdpZHRoLWhlaWdodC10cmFuc2l0aW9ucy1wcmV0dHktZGlmZi5odG1sVVQFAANY
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAWXp6SapzY4oXAQAAHwQAADAAGAAAAAAAAQAA
AKSB5wAPAHRyYW5zaXRpb25zL3NoYXBlLW91dHNpZGUtdHJhbnNpdGlvbnMtYWN0dWFsLnR4dFVU
BQADWRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFl6ekmaik69tQEAAPsGAAAuABgAAAAA
AAEAAACkgWgCDwB0cmFuc2l0aW9ucy9zaGFwZS1vdXRzaWRlLXRyYW5zaXRpb25zLWRpZmYudHh0
VVQFAANZGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAWXp6Sagasy6tAAAALgIAADIAGAAA
AAAAAQAAAKSBhQQPAHRyYW5zaXRpb25zL3NoYXBlLW91dHNpZGUtdHJhbnNpdGlvbnMtZXhwZWN0
ZWQudHh0VVQFAANZGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAWXp6SfFWu+grCQAABysA
ADYAGAAAAAAAAQAAAKSBngUPAHRyYW5zaXRpb25zL3NoYXBlLW91dHNpZGUtdHJhbnNpdGlvbnMt
cHJldHR5LWRpZmYuaHRtbFVUBQADWRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFl6ekke
co/+5gAAAK8CAAAsABgAAAAAAAEAAACkgTkPDwB0cmFuc2l0aW9ucy9zdGVwcy10aW1pbmctZnVu
Y3Rpb24tYWN0dWFsLnR4dFVUBQADWhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFl6ekne
ebgLcgEAAMQEAAAqABgAAAAAAAEAAACkgYUQDwB0cmFuc2l0aW9ucy9zdGVwcy10aW1pbmctZnVu
Y3Rpb24tZGlmZi50eHRVVAUAA1oYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABZenpJWUnC
6poAAABcAQAALgAYAAAAAAABAAAApIFbEg8AdHJhbnNpdGlvbnMvc3RlcHMtdGltaW5nLWZ1bmN0
aW9uLWV4cGVjdGVkLnR4dFVUBQADWhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFl6ekkE
qPWmyggAAIwjAAAyABgAAAAAAAEAAACkgV0TDwB0cmFuc2l0aW9ucy9zdGVwcy10aW1pbmctZnVu
Y3Rpb24tcHJldHR5LWRpZmYuaHRtbFVUBQADWhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AH17eklXs50NowIAACISAAAZABgAAAAAAAEAAACkgZMcDwB3cHR3a19wcm9jZXNzX2xvZy5vdXQu
dHh0VVQFAAN+GjpYdXgLAAEE9QEAAAQUAAAAUEsFBgAAAABnAWcBlbUAAIkfDwAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>295445</attachid>
            <date>2016-11-26 16:11:53 -0800</date>
            <delta_ts>2016-11-27 09:44:46 -0800</delta_ts>
            <desc>Archive of layout-test-results from ews124 for ios-simulator-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>0</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64"></data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>295446</attachid>
            <date>2016-11-26 16:12:30 -0800</date>
            <delta_ts>2016-11-27 09:44:43 -0800</delta_ts>
            <desc>Archive of layout-test-results from ews117 for mac-yosemite</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1749818</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
YWRpdXMtc3RkZXJyLnR4dFVUCQADTRY6WE0WOlh1eAsAAQT1AQAABBQAAADtj7EKwjAURXe/IqMO
bdrSaCk4aFFwEAuORcozfdRoTMprFPL3VhwU/IVu5073nCoWeRzlURomqTgx5fAOvTeyLmznS7Id
kvOsV60BrbFhSLQM4mSRCTa9bVW7hh4P5ytKtyGyVO/ME7RqwGEzY1P1u8AxfrQPkliAvCAvLOEe
GwVfCmIxTwaTiA/XzjrfYc9LDR6JD2cfqldvwVAyrQyyJMqySTVWjBVjxV/FC1BLAwQUAAIACABE
eXpJ3LNj/sYAAADyBgAAMgAcAGNvbXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLWNsaXAtY2hhbmdlLXNy
Yy1zdGRlcnIudHh0VVQJAANPFjpYTxY6WHV4CwABBPUBAAAEFAAAAO3PvW7CMBQF4J2n8AhD4thJ
IEHq0EatxIBAYkQoujhX1NSNoxuD5LfnbwAegAHJ2znTOd9a5FORTJNxLNJyw7TDf+h9q+oVuiXZ
Dsl51utdC8Zgw5DoIxJyUuRs+Pejd1/Q42K7R+W+iSzVs/YIRjfgsBmxoX5s4Bhf2QMprED9Iq8s
4RwbDfcUiXwsY5kl/DztrPMd9nxpwCPx89gt1Z+Xf7FiRrfIpCzTwTogAuIliEw+Iirb+bdQJEXx
pEiDIiiC4qo4AVBLAwQKAAAAAABJeXpJAAAAAAAAAAAAAAAABwAcAGNyeXB0by9VVAkAA1kWOlgD
GjpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAEl5ekkAAAAAAAAAAAAAAAAOABwAY3J5cHRvL3N1
YnRsZS9VVAkAA1oWOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAgAAAEl5ekkl4NMILAAAACwA
AAA+ABwAY3J5cHRvL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
LXN0ZGVyci50eHRVVAkAA1kWOlhZFjpYdXgLAAEE9QEAAAQUAAAAQ291bGQgbm90IGdlbmVyYXRl
IGEga2V5IHBhaXIsIHN0YXR1cyAtNDMwNApQSwMEFAACAAgASXl6STA7uLFLAAAAaAAAADwAHABj
cnlwdG8vc3VidGxlL3JzYS1pbXBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50
eHRVVAkAA1oWOlhaFjpYdXgLAAEE9QEAAAQUAAAAbcuxDYAwDETRniluHxpWsGRLsYA4ci5EbA8N
HfV/f0u/hIbd7o7pLDEIUXV6VDmgQoGkoQbRR2uRNF3Wj+OMN7JIBWegpZ/Wf4YHUEsDBAoAAAAA
AEh5ekkAAAAAAAAAAAAAAAAPABwAY3J5cHRvL3dvcmtlcnMvVVQJAANXFjpYAxo6WHV4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAABIeXpJAAAAAAAAAAAAAAAAFgAcAGNyeXB0by93b3JrZXJzL3N1YnRs
ZS9VVAkAA1cWOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAgAAAEh5ekkl4NMILAAAACwAAAAx
ABwAY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1rZXktc3RkZXJyLnR4dFVUCQAD
VxY6WFcWOlh1eAsAAQT1AQAABBQAAABDb3VsZCBub3QgZ2VuZXJhdGUgYSBrZXkgcGFpciwgc3Rh
dHVzIC00MzA0ClBLAwQKAAAAAABOeXpJAAAAAAAAAAAAAAAADQAcAGRpc3BsYXlsaXN0cy9VVAkA
A2MWOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAE55ekmjV/3oUAAAAI4AAAAyABwAZGlz
cGxheWxpc3RzL2V4dGVudC1pbmNsdWRlcy10cmFuc2Zvcm1zLXN0ZGVyci50eHRVVAkAA2MWOlhj
FjpYdXgLAAEE9QEAAAQUAAAAcy9KLMjITC52zs8rSa0osbJKTy1xDvHV0FTILFbIyy9RqEwtUUjO
zy1ILMlMyklVKM8syVAoSk3OL0rJzEsHyoC1FetxuaMbVIxmEDGGAABQSwMEFAACAAgATnl6SfKW
ldVHAAAASQAAACkAHABkaXNwbGF5bGlzdHMvbGF5ZXItZGlzcGF5LWxpc3Qtc3RkZXJyLnR4dFVU
CQADYxY6WGMWOlh1eAsAAQT1AQAABBQAAABzL0osyMhMLnbOzytJrSixskpPLXEO8dXQVMgsVsjL
L1GoTC1RSM7PLUgsyUzKSVUozyzJUChKTc4vSsnMSwfKgLUV63EBAFBLAwQKAAAAAABleXpJAAAA
AAAAAAAAAAAACAAcAGVkaXRpbmcvVVQJAAONFjpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAA
AACVeXpJAAAAAAAAAAAAAAAADgAcAGVkaXRpbmcvaW5wdXQvVVQJAAPqFjpYAxo6WHV4CwABBPUB
AAAEFAAAAFBLAwQUAAIACACGeXpJl6RloskAAABnAQAALwAcAGVkaXRpbmcvaW5wdXQvcGFzc3dv
cmQtZWNoby1wYXNzbm9kZS1hY3R1YWwudHh0VVQJAAPLFjpYyxY6WHV4CwABBPUBAAAEFAAAAKWQ
QWrDMBBF9z7F3zmBYlroongXGrUY0qbgXECVRo1AnQkjCePbV+4R2t3A5z/+m+fz+3w+GbyZeT68
mhEpMuHpccRlvZFRFR2xRPayDJELKduUh0ylRP76PT5szouoN+4qx6q2ROGJZ3LCPiNmsBRYhMpu
iwbsJkb/d+TufnjY93f/QfTbrMqeQpP1++7lMJ2acPwmD6kFi40bCEF0Wx/DepT2lSL4JDibEvnu
Qrk0vYDIt1ZxV6sZVgmZXNUGcqJKrqQVXdf9AFBLAwQUAAIACACGeXpJxs3fmmIBAABQAwAALQAc
AGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZS1kaWZmLnR4dFVUCQADyxY6WMsW
Olh1eAsAAQT1AQAABBQAAADFUktPAjEQvu+vmBuQpVtJ1BgSE1BWQ0QxWSLn0s5Ck9KSdhrg39td
8XHwpIme2snkm+8xwxgD/uJM3GLgE0GCl8uKL3H1oOn03ERtFJ/gKq65EUcXiREGYh5DNBQ4Kk3a
rrm2u0h8J0LYO68Yyo1jTWWdQoaHHUpCVdCBsjzP/4RUSIrCtJSjEbBB/xLyQf8CRqMsv50/VfNZ
CY9lVY3vyyEYbRGuzoewOO6w9N75Iey1VW5faEvorTChCEgNbft5PpGWiXMSvSDt7NRWKJ1VAXQA
6wgE1NHKplVAd2qh8/OR3bNi0Ov0fzOi08iKVmGdzKpelt+Np7PkWG9RQcoY9qKNFWrnG/m6Pk5c
ioUcrBCkMAZVBou0iGSwhjZ8kBvhAwiPEFBGnyZJ533atjlCBhmropQYwvCj7fV6k5Kpk/wC3g/j
uk5OsA9vO3urvsG2KFCYbuILlnz8hDbFP7Hm2StQSwMEFAACAAgAhnl6SU/OKnZqAAAAFQEAADEA
HABlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtZXhwZWN0ZWQudHh0VVQJAAPL
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
dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMi1kaWZmLnR4dFVUCQADjRY6WI0WOlh1eAsAAQT1AQAA
BBQAAADFUktLAzEQvu+vmFst22ysqEhBaHVXKT4qrNhzmsy2gZgsyYTaf2926+vgSUFPyTB88z1m
GGPAn5yJzxh4KUjwalnzJa5uNL09F1EbxUtcxTU3YuciMcJAzGOIhgJHpUnbNde2jcRbEcLWecVQ
bhzrKusUHjF8aVESqoJeKMvz/G9YhaQoTM85nQIbj04hH49OYDrN8svFfb24reCuquvZdTUBoy3C
2fEEHnctVt47P4GttsptC20JvRUmFAGp4+0/D2+sVSItoxeknZ3bGqWzKoAOYB2BgCZa2bUKOJhb
GPx85MFhMR4ORr8ZMehkRauwSWbVMMuvZvPb5Fg/o4IUMmxFnys0znfydbMrXYqFHKwQpDAGVQaP
aRPJYAN9+iA3wgcQHiGgjD5Nks77tG6zgwwyVkcpMYTJR9vr9SYl0yT5BbxfxnmTnOAI9jvbV99g
exQoTEfxBUs+fkK74p9Y8+wVUEsDBBQAAgAIAGV5eklPzip2agAAABUBAAAyABwAZWRpdGluZy9p
bnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMi1leHBlY3RlZC50eHRVVAkAA40WOliNFjpYdXgL
AAEE9QEAAAQUAAAAxc3dCcJAEATg91QxBQQLEKxCG1j25szBoWF/wHRvVIiCBeRxmPmYCz0craLd
5gzoJOYQI5yaxgK9m1GjLxiGc6rS/biV1q5TQGrQDuBjXocspyrdOUI0Uvon/dM3QmGX5YeG5Ve+
wi6fT1BLAwQUAAIACABleXpJVT74V2YIAADzHQAANgAcAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQt
ZWNoby1wYXNzbm9kZTItcHJldHR5LWRpZmYuaHRtbFVUCQADjRY6WI0WOlh1eAsAAQT1AQAABBQA
AADdWWtz47YV/e5fgbEncZIxKcmSHFteu7Nry+1ON48Z7zQfOyAJiliDBAuAlrRt/3svXhRJkbLT
ziaZbmYjEo+Lc1/nXnDfZCpnt0dvMoIT+MmJwijOsJBE3ZxWKg0uT2FYqi0jt0cLRounM7R4ppIq
kqB/HiH4o8hGBQmJucCK8mKBCl6QazMVcZEQEURcKZ4v0KTcoASeSXJ99O8jK84JiTnjYoFOxtMr
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
AgAIAG55eklXGBNJ2gAAAFABAAAyABwAZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLW5vcGx1Z2lu
LXhodG1sLXN0ZGVyci50eHRVVAkAA6AWOligFjpYdXgLAAEE9QEAAAQUAAAAdY1PS8NAEMXv/RRz
kkSkk4OCDCVQtLkoKok0581m0ixsM2F3UvHb29iAInh8f37v7crytSQojPPcggqYYHt3YohTEzjK
FCxDJwF61ZEQvVjje4lK91mWIZ+cX8ePboV78dORIz4aNbirK6y5eXKK1ffErB4k8Jk3LQdcXtB2
+MwHYz/P+fbire04Jne3WQoEUY06CyV3bxo2ywbRXySHfyMiG9goJ1aGqFC/F0SVBjcc4OrmByuC
OfLsXGp7tiq/Dl+kZbjO50LUlqibBqtOhk0j4iFZ6DRPV19QSwMEFAACAAgAb3l6SXdNix3jAAAA
dwEAACwAHABlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9zY3JpcHQtc3RkZXJyLnR4dFVUCQAD
oRY6WKEWOlh1eAsAAQT1AQAABBQAAAB1j0FLw0AQhe/9FXOSRKTjQS9LCRRtLhaVpDTnyWY2LqSZ
sDsR+u9NbEQRepz33vdmZlcUb4WBnHzHDagABfvhPxniWAeOMgbL4CSAmwIGEY/SjSeO+ExKuKtK
rLh+8Yp7OsuoB44akRuvvm/xpyAi1bwe+nZ1FS+/g/P0JIGxE2o44HIMWod7bsmeJ3970dZ2GJLH
h/sUDEQl9RYKdu8aNkuHMf+RDK5axtjApJxY6aNCdciNKTVMT8DN3S+WBzrxrFxiR7Yqfxa+SsNw
m82BqI0xbuyteuk3tUgHyUKnWbr6AlBLAwQUAAIACABueXpJSi4+MOIAAAB7AQAAMgAcAGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1ub3NjcmlwdC14aHRtbC1zdGRlcnIudHh0VVQJAAOgFjpYoBY6
WHV4CwABBPUBAAAEFAAAAHVOTUvDQBC991fMSRKRjge9LCUg2lxaVJLSnCe7k7olzYTdidB/b2Ij
itDj+37rongrDOTkW3agAhTsh/9kiEMdOMoQLEMjAZrRYBBxL+1w4ogvpITrqsSK641X3NJZBt1x
1IjsvPrugD1F5VoouB9qeYyLqxXl99qEniUwtkKOA86H0Da45QPZ86g/Xbil7fvk8eE+BQNRSb2F
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
k4iNpFA7sRjNBQcmb+RlEn9Wb5Zheb7qNHFEXsIU1uR2UYCv3phVFuLdBdRD9zxSWupZyUu5Lpfm
is1ONerWotpXURLf6cR08MLa9Q8LL6MLvkU7FZyq+1i4hEDXJ0QhGNhRErphghshUeZfasxmzT/N
/ABQSwMECgAAAAAA0Hl6SQAAAAAAAAAAAAAAAAkAHABmYXN0L2Nzcy9VVAkAA1gXOlgDGjpYdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIANB5ekl6AL6KsQAAAM4BAAA2ABwAZmFzdC9jc3MvcGVyc3Bl
Y3RpdmUtb3JpZ2luLWluaXRpYWwtaW5oZXJpdC1zdGRlcnIudHh0VVQJAANYFzpYWBc6WHV4CwAB
BPUBAAAEFAAAAM2PMQvCMBSEd3/F27SDBidL17aDOCgN2rmmzxJI8kLyKubfW1EUdwfHO+4+7uqm
2TcFtHjeaYaeMIIjhoQM2nqDFh3DgFyS9SNjLzkZhAsFmHsM0aNifcUlBT1ot7zNVzNxIjNajKLq
uBN1K8UTLiSNQeFDlRRQqBhFKeUXuEJlutCxJrdS3i/Web7JoIAr6R5exaIwNBzdex32h0DTFk7b
avHOTOSPnc3qn95M/3rzDlBLAwQKAAAAAAB3eXpJAAAAAAAAAAAAAAAACQAcAGZhc3QvZG9tL1VU
CQADsRY6WAMaOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAd3l6SQAAAAAAAAAAAAAAABoAHABm
YXN0L2RvbS9NdXRhdGlvbk9ic2VydmVyL1VUCQADsRY6WAMaOlh1eAsAAQT1AQAABBQAAABQSwME
FAACAAgAd3l6SUsbgTWnAAAA0gAAAD8AHABmYXN0L2RvbS9NdXRhdGlvbk9ic2VydmVyL2RhdGFi
YXNlLWNhbGxiYWNrLWRlbGl2ZXJ5LXN0ZGVyci50eHRVVAkAA7EWOlixFjpYdXgLAAEE9QEAAAQU
AAAANczNCsIwEATgu0+xx/agEcRLEEG0J5FCi/acpFsIpLthm/jz9lbR2wx8M1XT1I2GKxkbEBJD
ykLABJ6c4IiUTACTEy/vxuU8QrEG4gSGAEVYyoW6ccgjTupkklFV16oO7dkn1XIWh592ZEF14T6H
mT3Q9rO0ZsLv5BNWLsZis92WoKF6OozJM9Wyu7Pv9/B70PrPtY4oA8tYR6QD9TcUP7wKyxzKxRtQ
SwMECgAAAAAAfHl6SQAAAAAAAAAAAAAAAAsAHABmYXN0L2Zvcm1zL1VUCQADuxY6WAMaOlh1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAfHl6SS5f2O97AQAA+DkAADMAHABmYXN0L2Zvcm1zL1ZhbGlk
aXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLXN0ZGVyci50eHRVVAkAA7sWOli7FjpYdXgLAAEE9QEA
AAQUAAAA7dhNSwMxEAbgu79iTraCuN6EIILWClaKslssgiJjdtoGdpM1ma3tvzd+HApe9ObhvYR8
zW7mOSQh47K8LQ2VsuwbjuNNFyUlF7yhh/OyJBvazjVCC85lTW9OVzS49mtuXE3xK4hkJ6r3Latd
5bkdR/G6kiRpsFfch6ZvJRWXrFyM51Uxl5cbp0UV+milmPCaKxtdp6MQpdhyjMWPNR3ZrhueHB+Q
oaS1Mb13r708dxpPJ9XImIccZczFVsWGWu5YVaI/o52xn2mau+jWrGLMd6pDG3xSms+ujKk0Or+k
/cOv5kw2OuIklfjk1K2dbg93vz7tG3WN8zLNvz/YG4MWtKAFLWhBC1rQgha0oAUtaEELWtCCFrSg
/QXtI7GS+JrCIuN+JgdYwAIWsIAF7P+GbV2u5OXkrFrnWT/qT7QIkeyKI9vcT7bhhLsCuMENbnCD
G9zgBje4wQ1ucIMbr82gBS1o8X6Hgw3c4MaODFrQghb3CBxs4Ab337nfAVBLAwQKAAAAAAC6eXpJ
AAAAAAAAAAAAAAAADAAcAGZhc3QvZnJhbWVzL1VUCQADLxc6WAMaOlh1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgAunl6SUsbgTWnAAAA0gAAAC8AHABmYXN0L2ZyYW1lcy9zYW5kYm94ZWQtaWZyYW1l
LXN0b3JhZ2Utc3RkZXJyLnR4dFVUCQADLxc6WC8XOlh1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7
T7HH9qARxEsQQbQnkUKL9pykWwiku2Gb+PP2VtHbDHwzVdPUjYYrGRsQEkPKQsAEnpzgiJRMAJMT
L+/G5TxCsQbiBIYARVjKhbpxyCNO6mSSUVXXqg7t2SfVchaHn3ZkQXXhPoeZPdD2s7Rmwu/kE1Yu
xmKz3ZagoXo6jMkz1bK7s+/38HvQ+s+1jigDy1hHpAP1NxQ/vArLHMrFG1BLAwQKAAAAAACEeXpJ
AAAAAAAAAAAAAAAADQAcAGZhc3QvaGlzdG9yeS9VVAkAA8gWOlgDGjpYdXgLAAEE9QEAAAQUAAAA
UEsDBBQAAgAIAIR5eklLG4E1pwAAANIAAABAABwAZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2Vi
ZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGItc3RkZXJyLnR4dFVUCQADyBY6WMgWOlh1eAsAAQT1
AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARxEsQQbQnkUKL9pykWwiku2Gb+PP2VtHbDHwzVdPUjYYr
GRsQEkPKQsAEnpzgiJRMAJMTL+/G5TxCsQbiBIYARVjKhbpxyCNO6mSSUVXXqg7t2SfVchaHn3Zk
QXXhPoeZPdD2s7Rmwu/kE1YuxmKz3ZagoXo6jMkz1bK7s+/38HvQ+s+1jigDy1hHpAP1NxQ/vArL
HMrFG1BLAwQKAAAAAACLeXpJAAAAAAAAAAAAAAAADAAcAGZhc3QvaW1hZ2VzL1VUCQAD1RY6WAMa
Olh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAi3l6SSGPvTgyAAAAMwAAACwAHABmYXN0L2ltYWdl
cy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVUCQAD1RY6WNUWOlh1eAsAAQT1AQAA
BBQAAABzy0ksSXVJTc5PSbVSSAHRmXnpCqlFRflFVgqZecn5RUWpySUKKYkliQrJGanJ2XpcAFBL
AwQKAAAAAACheXpJAAAAAAAAAAAAAAAACQAcAGZhc3QveHNsL1VUCQAD/hY6WAMaOlh1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgAnXl6SXL9ZfKFAAAA6QAAACUAHABmYXN0L3hzbC90cmFuc2Zvcm0t
eGhyLWRvYy1zdGRlcnIudHh0VVQJAAP6FjpY+hY6WHV4CwABBPUBAAAEFAAAAK1OMQ7CQAzb+4p8
oGRguxkm2EB0TttUnJS7VLmc1P6eg36BxbJsy/akaY1CHjUDm6kFWKLwDwIivlRq4oIXcsLr8MCB
x1t0vNOu1Z9cvOBCxXErgsZFq00tvr2tn3U6NRUkZoYzsHDi7BDTquZdc8JBIUDNNLZRVxCl+U/j
/VHP8/dF9wFQSwMEFAACAAgAnXl6Sc4JKAKNAAAA8AAAACcAHABmYXN0L3hzbC94c2x0LWJhZC1p
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
FzpYCRc6WHV4CwABBPUBAAAEFAAAAJ3MsQrCMBDG8b1PcaMuYhRrCeJSFweL4KAgDjE940G4k+Ra
8e2NryB805+PXycjLGowK2uWZYDvbMx6FsW7CEl9wpckJQ7XuqnnzQ02O7wPYWshI/cHzNkFPJM+
W6cYJH0sTHiIcVp1f8vEpD/yVHQS3vNDLFyOLXhhRq+llc/oIvXVF1BLAwQKAAAAAACjeXpJAAAA
AAAAAAAAAAAAEgAcAGh0dHAvdGVzdHMvY2FudmFzL1VUCQADARc6WAMaOlh1eAsAAQT1AQAABBQA
AABQSwMECgAAAAAAo3l6SQAAAAAAAAAAAAAAABgAHABodHRwL3Rlc3RzL2NhbnZhcy93ZWJnbC9V
VAkAAwEXOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAKN5eklVjkrfuAAAAA0BAAA7ABwA
aHR0cC90ZXN0cy9jYW52YXMvd2ViZ2wvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLXN0ZGVyci50
eHRVVAkAAwEXOlgBFzpYdXgLAAEE9QEAAAQUAAAAnY7NagIxFIX3PsV5gYak1ckYiuDPRlARXQ4u
4sydKIZEcjO2+PSGlr5Av+WB853TqIlRH0ZOhKzrEz4LWB7miyNmBfR+4MueQncN7kCeLNORskEj
v3Xf0VhPz7qdyhMWPrY3SFwsI8Tw9qQUkahHG4eQoUa7+MB7hb850BcrpUWpWY+U20T3mHKZaaq6
GutyZR36ODPw0bkSg7NNmYUQ/1Ct6Dy44mLKW2K2jja/1p/bBqXoqRu9AFBLAwQKAAAAAACjeXpJ
AAAAAAAAAAAAAAAALwAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNh
bmRib3gvVVQJAAMCFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACjeXpJ3Jhv7zYAAAA6
AAAAUQAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVm
ZXJlci1oZWFkZXItc3RyaXBwZWQtc3RkZXJyLnR4dFVUCQADAhc6WAIXOlh1eAsAAQT1AQAABBQA
AAArzUtJTcvMS02xUvAKVnANCvIPUgipLEh1LSrKL7JSKIVJK2QWK+Tllygk5inkJ2WlJpdwAQBQ
SwMEFAACAAgAo3l6SdyYb+82AAAAOgAAAGoAHABodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlv
bmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZl
cmVyLWFsd2F5cy1zdGRlcnIudHh0VVQJAAMBFzpYARc6WHV4CwABBPUBAAAEFAAAACvNS0lNy8xL
TbFS8ApWcA0K8g9SCKksSHUtKsovslIohUkrZBYr5OWXKCTmKeQnZaUml3ABAFBLAwQUAAIACACj
eXpJ3Jhv7zYAAAA6AAAAawAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVu
dHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItZGVmYXVs
dC1zdGRlcnIudHh0VVQJAAMBFzpYARc6WHV4CwABBPUBAAAEFAAAACvNS0lNy8xLTbFS8ApWcA0K
8g9SCKksSHUtKsovslIohUkrZBYr5OWXKCTmKeQnZaUml3ABAFBLAwQUAAIACACjeXpJ3Jhv7zYA
AAA6AAAAaQAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gv
cmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItbmV2ZXItc3RkZXJyLnR4
dFVUCQADARc6WAEXOlh1eAsAAQT1AQAABBQAAAArzUtJTcvMS02xUvAKVnANCvIPUgipLEh1LSrK
L7JSKIVJK2QWK+Tllygk5inkJ2WlJpdwAQBQSwMEFAACAAgAo3l6SdyYb+82AAAAOgAAAG8AHABo
dHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVh
ZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLW5vLXJlZmVycmVyLXN0ZGVyci50eHRVVAkA
AwIXOlgCFzpYdXgLAAEE9QEAAAQUAAAAK81LSU3LzEtNsVLwClZwDQryD1IIqSxIdS0qyi+yUiiF
SStkFivk5ZcoJOYp5CdlpSaXcAEAUEsDBBQAAgAIAKN5ekncmG/vNgAAADoAAAB+ABwAaHR0cC90
ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1z
dHJpcHBlZC13aXRoLW1ldGEtcmVmZXJlci1uby1yZWZlcnJlci13aGVuLWRvd25ncmFkZS1zdGRl
cnIudHh0VVQJAAMBFzpYARc6WHV4CwABBPUBAAAEFAAAACvNS0lNy8xLTbFS8ApWcA0K8g9SCKks
SHUtKsovslIohUkrZBYr5OWXKCTmKeQnZaUml3ABAFBLAwQUAAIACACjeXpJ3Jhv7zYAAAA6AAAA
agAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJl
ci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItb3JpZ2luLXN0ZGVyci50eHRVVAkA
AwIXOlgCFzpYdXgLAAEE9QEAAAQUAAAAK81LSU3LzEtNsVLwClZwDQryD1IIqSxIdS0qyi+yUiiF
SStkFivk5ZcoJOYp5CdlpSaXcAEAUEsDBBQAAgAIAKN5ekncmG/vNgAAADoAAABuABwAaHR0cC90
ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1z
dHJpcHBlZC13aXRoLW1ldGEtcmVmZXJlci11bnNhZmUtdXJsLXN0ZGVyci50eHRVVAkAAwIXOlgC
FzpYdXgLAAEE9QEAAAQUAAAAK81LSU3LzEtNsVLwClZwDQryD1IIqSxIdS0qyi+yUiiFSStkFivk
5ZcoJOYp5CdlpSaXcAEAUEsDBAoAAAAAAKN5ekkAAAAAAAAAAAAAAAATABwAaHR0cC90ZXN0cy9j
b29raWVzL1VUCQADARc6WAMaOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAo3l6SXqxVdnJAAAA
UwIAAEEAHABodHRwL3Rlc3RzL2Nvb2tpZXMvZG91YmxlLXF1b3RlZC12YWx1ZS13aXRoLXNlbWkt
Y29sb24tc3RkZXJyLnR4dFVUCQADARc6WAEXOlh1eAsAAQT1AQAABBQAAADlkTFLA0EQhWvvV0yZ
NJKLyUUWsbkrTJEgiCiIxdzuZG/JZibszkX89+7Z2mlpNw+G7/He28sFlg3Ua1PfmMUa6CPX9eY6
isUISW2isyQN7N+a22a1eYe7jvrR3xvIiklb4UPwY0INwi9Bh1ZO50iTekB2kZKBFu1ADhZAjH0s
V4/2SOxytf+9OelzprTlg3TBqvnBNjCrruZ/cmC3o5zR03cuVPKSPguXxxj/Gzlw0An5VOhl26l3
A6+PLVhhJjvtXX4uGIOrvgBQSwMECgAAAAAApXl6SQAAAAAAAAAAAAAAABcAHABodHRwL3Rlc3Rz
L2V2ZW50c291cmNlL1VUCQADBRc6WAMaOlh1eAsAAQT1AQAABBQAAABQSwMECgACAAAApXl6SZMG
1zIBAAAAAQAAAE0AHABodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVj
dC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtYWN0dWFsLnR4dFVUCQADBRc6WAUXOlh1eAsAAQT1AQAA
BBQAAAAKUEsDBBQAAgAIAKV5ekmO2KBKzwAAAJoBAABLABwAaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5nLW5hdmlnYXRlLWNyYXNoLWRpZmYudHh0VVQJ
AAMFFzpYBRc6WHV4CwABBPUBAAAEFAAAAM3OsU7DQAwG4D1P4T04TrqAMgXoqUOBDpHo7F6sJNJx
F+V8VXl7kggheAPkwZZt/foQEeg9uPQhkfasTObc0lkux1G/21MaXUd7uaSeHH+GpKgSFWeJyWmk
QXWidRNJruI1hjRb+T0vrzZ4L1axS/Poe/R8HXtWQTtzHFBu03KUrtCbZnme/wMSW03sNlDTAFZ3
O8graJoMn09v7enFwKtp28eDqcGsse0WC5a9DwoucAeroiaqdvdFuVRVP5Rl+Qe0eLch0g+nmIap
gAyyL1BLAwQUAAIACACleXpJkRMGXlwAAABmAAAATwAcAGh0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
ZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1leHBlY3RlZC50eHRV
VAkAAwUXOlgFFzpYdXgLAAEE9QEAAAQUAAAAc/b3C/b3cVXwdQ0OdnR3tVJwLUvNKwnOLy1KTlVI
TszLyy9RyMlPTFHIKCkpsNLXNzQy1zMAQkMrCwMDA/1UkOpisGr9olQIoxjISs7Py0tNLtEryCjQ
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
+B4pFG9/38W/k/R7qtzPp4YyHN+TtNnHgBNwZqgI1Fe4vDdMyVjbGesRGZMnjXneiIx0n0EU8qEC
3g5xI/TtrgKP78H1YSaQLELobxrEInVQoPWsr2znW9Hl6Yy5w0+N67t9YK8vAxF9sQn634SOclBw
Ki9oPgocO43LzQw8DPObnhTkflfmn1Uq6/WoIJD45ebu5592P/+wDX7c7nbffrddBVvtq53xVZCh
quIqALThQLsWEDS7/iZK4O9stUiSpOdlCIJ5kHHr46gu6ihwpwMMwGz/03VBB9WXGzftZP9nH8sC
LjT4TR+/6dzrr3DubNqv/4/Ngx+TNABG88n9b1BLAwQUAAIACACleXpJVpGzR2UAAABtAAAAPQAc
AGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWFjdHVh
bC50eHRVVAkAAwUXOlgFFzpYdXgLAAEE9QEAAAQUAAAAFYxRCoMwEAX/9xTvBB7AP6EKQqmF9ASN
WxqI+0qytnj7xt+ZYR5aHeNXzQP3EhVFvRzwtCk+RWOqidYhvLnntZFkjvsQAl7MmT9d8TxwWW5j
JzIN87Vvg0gzjd6ck6ikyVmI/AFQSwMEFAACAAgApXl6SVe4rpTgAAAAqwEAADsAHABodHRwL3Rl
c3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1kaWZmLnR4dFVUCQAD
BRc6WAUXOlh1eAsAAQT1AQAABBQAAADFkMFOwzAMhu95Ct9DGnHgslOHWiS0CZCC2DlNPBYpjavG
gfXtSSsEvAEX2/rt/9MvK6VAv1EsI2bdWba6Pxl9wuEQ+LvdlxC97nAo7zrahQorxsxqxlwiZ31h
nvSqZI0fmDhTmR3+nespz4uaZnQhB0oKrxM6Rt/wlYWU8h8iWMfFxi1A24K6vbkDuZa2FfBaSdCv
ZrOZYTMDhxHhh9CAuVCJviohMbzsjYEzxUif6GFYoHt+6hsBQq2bHfjgIRFDGEf0wTLGpWIdpVQ/
IeTD/vG4+xUqgokgEyWxkSroC1BLAwQUAAIACACleXpJhwAwyGcAAAB2AAAAPwAcAGh0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWV4cGVjdGVkLnR4dFVU
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
7SxeTLbecotcCt2Sv/IlKfieT8GQ92hY7kRzo50tOutH/vFgNBTG8stFvprnEzhjxn3NC+RbCrs5
CZPCErmpFXhiaZ/b4tDU4A8a2B9En0EXRZDaYCPct/uPqixesQt+WMU1VZUozuXRToE8dPiLSSf/
ZfusA0/Jl7Zqgm73e58o2tcO29Ol9oXDoGCqzRYL6AF6vZHJYKPNTnIYX+fdKmJoUzazhtUztiS6
86nb2ddYpbUOooUcYx7IyPhfY65bow1gCBQkl5BfzSDppRC31DjBICT91qUelNYhUFlKSeiPsj9F
Jk+Qw+fE4Tgd/+bD4A3/8/uY/6Nv6e+RfwJQSwMEFAACAAgArnl6SW00eb8EAwAAPHgAADwAHABo
dHRwL3Rlc3RzL21lZGlhL2hscy92aWRlby1kdXJhdGlvbi1hY2Nlc3NpYmlsaXR5LXN0ZGVyci50
eHRVVAkAAxcXOlgXFzpYdXgLAAEE9QEAAAQUAAAA7drfT9RAEAfwZ++vmEd5gGsL9yNVMXinQgKk
OSCaEB722rlew3a3brdH+O+d3p0EolERUKPf8ELL7uxnZ2fbpuXYLijqU9iLw+042iG+qsNwsKVt
qjQ5nzqurPOFyc/7w37Yv6CXY542+W5MNZvsiOta5fyh8POR8pxbdx3Tc9NovdE5/uXIhSl8G/JE
ohfWHJiZjeljMqLUGsOpl3PSZqF0kXXO1/F7W0EUXND+6Wky4U8N155mRb7vfbU+HBfZhFMuFjzh
urKm5pHSeqrSy5iMbUN7Np4O2eR+Tm7VNKNNYudGNmMqaoqC4EcDyuG4Kat3hVH6bHK4Z2TU0nre
yzIn04lJrX6hMBpsBfITSjdpS43TNBdu3O3e/CkeBkHQLTkrVFc62calXHfnuu7mbNhJxjcXNtuq
5tXrrJFDScyrtstPINeHI8cS5a1zViZZlpKBmNiktpFsOJm+Mu38rYtpeu2ZnDI5y8nsdsr0KmWb
q5Zy+tvJ2pEVPnn7Pjk7SnZpz3suK3/M/sq6yyMrK27dCfumalfDS3H5tjSoqcis2lC5avTiJoMy
xrKYftMod+u5d6+d4tcb5dDmubR4I52k7KSj5tslHC67/XV8r5wfWSOVsy6y5X63ZaW5PdqXetAs
JTJS6VxqJpAKUlOZGbW7S64S9cNyd1aza68B4yJdVufd2HK96Tzb6JQV51GlnLSlhOvEWdkq9Wmd
qDbR6bo2C0PJwZjCIKJ6bhstYZjC7TZLgewMzWRnMxmStgf9+4YMb4XsfR2xN4yGUD6i8iE19f07
F1YJSiihhBJKKKGEEkoooYQSSiihhBJKKKGEEkoooYQSSiihhBJKKKGEEkooocR/KqGWoIQSSiih
hBJKKPHkiidXKKGEEkoooYQSSiihhBJKKKGEEkoooYQSSiihhBJKKKGEEt9hv3yH7eM7LJRQQgkl
lFBCCSWUUEIJJZRQQgkllHhP9qjvyRAZbw2hhBJKKKGE8l98EsH6QwkllFBC+Wfvl4P/7q72dPN/
usifAVBLAwQUAAIACACpeXpJkAGVWswAAAA3AgAAMgAcAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEt
ZG9jdW1lbnQtcmVmZXJlci1zdGRlcnIudHh0VVQJAAMOFzpYDhc6WHV4CwABBPUBAAAEFAAAALWQ
sU4DMRBEa/IVW0JzwolyiSxEkUsBUkiHKBDFnr1xrJjdyN4D8ff4gI4KnSh3pHmzM3t5g3kLZmnN
wpo10HsxZtUkcZggq8t0lqyRw3O7bherF7i554PcWkgSQpWhKGYtTdPM9n9GbakfQmUV0gcqBQPt
vqmbajpZqMZEfgp4fK4TPsQwZNQo/BT12MnrOdF43SH7RNlCh+5IHq6BGPuaCT26E7Ev01o9Fsrj
Xtvo1P5iW7icXVxNSmD/M9xXL1QKkj8ql4eU/pP8CVBLAwQUAAIACACqeXpJ/v4wFuUAAACsAgAA
KgAcAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQADDxc6WA8X
Olh1eAsAAQT1AQAABBQAAACtkUFLA0EMhc/2V+RoL+K0uK2DeOj2oKBFEFEoHrKz6XTomJSZbMV/
76x40lNdjwkv33u8rOQAkwrMhTVTa+ZA79mY2VkUhxGSukR7SRrYr6t5NZ29wtWSms5fW8jE7T3l
jJ6eg25rVPKSPiycchfjeLT6Mzlw0B75WOhB+JY3YuHloQYnzOS07IrmgDG0A1wy6Xf8O/G+KBbl
aGehHEb6Cb48BqyYtBbeBN8l7NN+9SNv+0j9dIPcRkoWanRbauEciLEpntCg25VW8xBz0qdMqe9s
GZzaX+zyn9HJeJDDMX//T/InUEsDBBQAAgAIAKx5ekk79YpqOQEAAE8EAAA5ABwAaHR0cC90ZXN0
cy9tZWRpYS9tZWRpYS1wbGF5LXN0cmVhbS1jaHVua2VkLWljeS1zdGRlcnIudHh0VVQJAAMTFzpY
Exc6WHV4CwABBPUBAAAEFAAAAN1TQU+CMQw9y6/oURJDGIQPWJQYPmI0UTQSo4nxsG8rY2FsZCsY
/r0FPUg8IfFiD0v28vq613bjuIZWAaIjRVuKPuB7FqLb8FErD4l0wmVM5IJ9LXpFu/sG5yOsVnYg
IWMwd5izsvjsaFYqQhvTRsJpWHlfr41/reyCo63khNVdDDdhGiW8PJSgYwioiTHmrJV3pnbOAVfO
DjeEE0qoFjDg2IcmpCjfRnsf8BGVkfCNzYeBOIUeVAxmuIQmUIxzaDb6TdEpCjaqGwxx9cXSI+EZ
iF1WhsEFszo7wr7dVuugRtJXH/mJlhlDTppL4ESP5hhhUonKGKbOrpLatm03qE8bfLtWwXhMEkql
Z2jYOAZVcU2olJ7zePNxrp4ypu3wRk6T/KHNi1I7qR9V4YAF/EPl9j9XPuQ7fgBQSwMECgAAAAAA
qnl6SQAAAAAAAAAAAAAAAB4AHABodHRwL3Rlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9VVAkAAw8X
OlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAKp5eklEWrGdiwAAAJsAAABcABwAaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtcGxheS10aGVuLXNlZWstYmFjay13
aXRoLXJlbW90ZS1jb250cm9sLXN0ZGVyci50eHRVVAkAAw8XOlgPFzpYdXgLAAEE9QEAAAQUAAAA
DcixDoIwEADQ3a+4H8BYwIJsGhYTJyUuxuFoD2xSruQKMfXrZXt5+UHpTKks16COjSoaddqXuoJ2
neY7sSXphOila12UTX5SZVW/4TpyEMcjmMCLBN+5iXqMBJEW6BMY74g3kcF12/PzgdPs6bIOA0nr
4uwx3TCRwBcjoLVkYQmAEBObjwR2P5LdH1BLAwQKAAAAAACreXpJAAAAAAAAAAAAAAAAJwAcAGh0
dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL1VUCQADEhc6WAMaOlh1eAsAAQT1
AQAABBQAAABQSwMECgAAAAAArXl6SQAAAAAAAAAAAAAAADYAHABodHRwL3Rlc3RzL21lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9zdGF0dXMtc3VwcG9ydC9VVAkAAxYXOlgDGjpYdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAKt5ekm7UzzmXQEAAFsFAABeABwAaHR0cC90ZXN0cy9tZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvc3RhdHVzLXN1cHBvcnQvc3RhdHVzLXN1cHBvcnQtbGl2ZS1icm9h
ZGNhc3Qtc3RkZXJyLnR4dFVUCQADEhc6WBIXOlh1eAsAAQT1AQAABBQAAADlks9LwzAUx8/ur3hH
vZQmc92IMtBNdOBGYQ4Pw0PWvnZhaVKSV4f/vek2hrCTCqJ4DHnv8/2RLFlPsK7gLOLx4AWu53f3
6WKaDuGGCKuaZkhb6zZTaxRZN0dqagHGEngkUqaEpgazn4FqP3QFMs8deg/Kg7aZ1J3lj6jM7Cvw
BA5aHHDrGetHu0twlDmsrWtxy2SQxJfBx8QUdijCelm2Kp6kIx9F0RdQY1w1ZWAFx9PgSpb4uKfe
hqWNgLCoMT82wSMWs1/UxNF+W8HImkKVjZOkrHlWtB7ZqtbYnh6kyTU6ASOZrTGHGNDIVUgGK5lt
0OT+e90tPLr2VcYqI3HCFnDeObvoVDWWvJYuzEKKPnU2C/GffCrbojNA56wDZSCdjIHFHPzaNjpg
EFi3bSmGQmkEWxRBErr95LNI9gHZOyX2BnzwrR5MfvhEu/YlYWndW0hvGq3/Sv7//krvUEsDBBQA
AgAIAK15eknOdlcnhAAAAMAAAABXABwAaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29u
dHJvbHMvc3RhdHVzLXN1cHBvcnQvc3RhdHVzLXN1cHBvcnQtbG9hZGluZy1zdGRlcnIudHh0VVQJ
AAMWFzpYFhc6WHV4CwABBPUBAAAEFAAAAJ3MsQrCMBCA4b1PcaMuYqJWCcWlLg4WwUFBHGJ6xoNw
J0la8e2Nr+D68/N1MoKuQa2MWhitAd9JqfUsiLMBYnYRXxIzsb/Wm3q+vEGzw/vgtwYScn/AlKzH
M+VnazN6iR8DEx5CmFbd3zIx5R95KjoJ7/khBi7HFpwwo8ullWe0gfrqC1BLAwQUAAIACACseXpJ
vjB0h+0AAABfAQAALQAcAGh0dHAvdGVzdHMvbWVkaWEvcGRmLXNlcnZlZC1hcy1wZGYtc3RkZXJy
LnR4dFVUCQADFBc6WBQXOlh1eAsAAQT1AQAABBQAAACFj09rwzAMxe/9FDr1ljjJMtIaQindxg47
jNCdyg5urCYG/5stD/rt57C110mX9/g9CelUP/L6gTdtWXftJ7wej+8DfiWMBBc1LfYpGf+irNAf
w9veygGNI9xLGTBGDuJXQN10ZZW7zmM5CylomIk8Z+yO+KaqKmZQKsG+lURX0BwckUZZaCdkOU5q
Z4XBPq90KYwYGeVLSi8v61u03y61pqvHXniv1ShIOctyZnX695k/ewgoCJ9DcOHgjEFLHNCOLlnC
gBKEBVwgh/OVEIKwE4JGO9EMRkUjaJyhgDi7pCWc76wBFW+6227a1Q9QSwMEFAACAAgArXl6Satd
YqjCAAAA7AEAAC8AHABodHRwL3Rlc3RzL21lZGlhL3JlbG9hZC1hZnRlci1kaWFsb2ctc3RkZXJy
LnR4dFVUCQADFRc6WBUXOlh1eAsAAQT1AQAABBQAAAC1kD1PQkEQRWv5FVNCY3x8PMzGWPAoIAE6
Y2Es5u0Oy4ZlhuzO0/DvWQiVVmosbzL3nMzdyAcMa6gmphqZ4RjoM1fV9D6KxQhJbaKjJA3s3+rH
ejR9h6c5tZ1/NpBJ15QzelqJ9+ViVkp7A6UYyfU2vwcrJm2Et8F3CTUIvwbdNXI4RrqkBbKLlAw0
aHfk4AGIsS1OaNHuiV3+i5z0JVNa8lbmwar5xjbQ790NvhgmPzKwuw13/QuVvKRT4XIX43+Sz1BL
AwQUAAIACACteXpJgSugtEwBAAAoAwAALwAcAGh0dHAvdGVzdHMvbWVkaWEvdGV4dC1zZXJ2ZWQt
YXMtdGV4dC1zdGRlcnIudHh0VVQJAAMWFzpYFhc6WHV4CwABBPUBAAAEFAAAANWQT0/DMAzF7/sU
PiE4rP82uhExEOpAIAFCAwTStEPWmDZS6pTEHdu3JxWMM0dwLn55zz8lvrcbyHJIj0U6Etkx4IdP
00lkbCkNOC4dttaxpmqZT/PRZAWnc1x31ZkAj6Tu0HtZ4YvmupCMlXU7AYfUGXM0uP/35PxPkDVp
7pGPga4t3dCbFfD6UEBpibDkcBcyG2m0Giz3/CidZiu4fnp6WOB7h57hTVe9nHdNe6VJmufF7QWp
BTaW8UIpF+gC5FcDaTaJknDSMBay0DkDNXMr4vjHEtMkSeIGlZbxRiu0Q66dZTaohsZKFZWVPifZ
4CwgbedK9DGHl0S85YN9dHbS1wHvWpwxbjlujdT0i398y8Jh2PSlc9YVtmmQWABSaTtidKhAEmBv
CljvGMFJqhAMUsU1NNo3kssahuBr2xkF6x8vA+33/XicjAafUEsDBAoAAAAAAKp5ekkAAAAAAAAA
AAAAAAAXABwAaHR0cC90ZXN0cy9tZWRpYS90cmFjay9VVAkAAxAXOlgDGjpYdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIAKp5eklgj0pugwAAAMAAAAA9ABwAaHR0cC90ZXN0cy9tZWRpYS90cmFjay90
cmFjay13ZWJ2dHQtc2xvdy1sb2FkaW5nLTItc3RkZXJyLnR4dFVUCQADEBc6WBAXOlh1eAsAAQT1
AQAABBQAAACdzLEKwjAQgOG9T3GjLsJZjBrEpS4OFsFBQRxiesaDcCdJWvHtra/g+vPztTrA3AAu
LNYW10DvjLicRfUuQio+0UtTYQlXszI13mCzo3sfthYySXegnF2gM5dn4woFTR8LE+ljnFbt3zIL
lx95GnVW2ctDLVyODXgVIV/GNj6Di9xVX1BLAwQUAAIACACueXpJngE7rW4BAACsBgAAJgAcAGh0
dHAvdGVzdHMvbWVkaWEvdmlkZW8tYXV0aC1zdGRlcnIudHh0VVQJAAMXFzpYFxc6WHV4CwABBPUB
AAAEFAAAAO1Ty07DMBA806/YIz00iVOatBZCglQIJEBVCwIJ9eA6S2rq2tHGKY+vxwEESDwO9FIk
5IvXWo9nxrNxxJIOY504AdbjrMvjJNgZDGBYL8sxmhzpnBCvk37STXnc9yudwksF2eEZujtLC1DG
IRmhAYkswXZ0LyMmeDixNUnMhJxj+Nb9vuukcRT0gjQckb1F6ca1cWqJ4QRJCa0exUzjPsm5WmEg
y5L3kqjdiv8SY5Z0260zu4IPbAHvKsbSQFvp3ycnCUtLTpnihfQUdoc4q4s9DhW6U6wqUeCJLQrf
ceAvLTj4ixrzdYCdIJdZc6OKmoRT1lwqN8/sstTYVEfC5BrJO9Y4kUMEaBptOcyEXHiXq/VUXVRI
x+bGDpV0/BM2h+3W1nq+mfzVuGddwmFh6cHjmlrrrzPU66ffZGgQs7i7ganfWMZrp/7n3/s9sjLK
NZATj+5T3iSQw9UoA2mN8cL8me9ZeU35/9Ru3NQ+AVBLAwQUAAIACACveXpJjh1+tzABAADaAgAA
LQAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tZXJyb3ItYWJvcnQtc3RkZXJyLnR4dFVUCQADGhc6
WBoXOlh1eAsAAQT1AQAABBQAAAClUl1LQzEMfXa/Io8O5HLvrvuwzCG7QxR0E4coiA+9bdaVde1o
s8n+vdn0wSEIujyU5jQ56UkyDhtodaBoi6IUrS7geyqKbuaCkg4iqYirEMl689rpdcruG/RHWK/N
QEBCr+8xJWnw2dK8koQmxK2AU792rtkY/5vZeks7yimz2+Bv/SwIeHmoQAXvURFjHLORzupGnw2u
rRluCacUUS5hwHYITUlSugtm4vERpRbwLZoPDWEGPagZTHAFOVAICyiyPG+XF+csVKWMMS6/XDkk
PINin5ZgcMlXfs8O1Zb5n/pIX23kHxqOGHLSQgAnOtTHEJOMVAU/s2Yd5a5r+zl9imDvRnrtMAqo
pJqjZt3oZc01oZZqwdNNx6l6Shh3sxtZReIHN+9J46R5VIXf9+8DUEsDBBQAAgAIALB5ekk2LxAX
FQEAAD0CAAA2ABwAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1lcnJvci1kb2VzLW5vdC1leGlzdC1z
dGRlcnIudHh0VVQJAAMbFzpYGxc6WHV4CwABBPUBAAAEFAAAAM1OQW7CMBC884o9wiHBTiBJraoS
AlVUahEKVK2EOJh4E6waO7WdtP19jUC9Vr1Ve5nZmZ2dlekhyYBOGU1ZSgA/HKV5rEzFFVhfWWyN
9VI3u6zI0nwPtws8dM0dA4daPKFzvMEX6Y9z7rEx9ovBUHdKjQarf5gstfTnyE1Il0Y/6NoweF3P
oTJaY+XDLnh6rqQY7K75NE7IdA/L7XZd4nuHzkMtm6X37ZUupCixQtljia412uGcK3Xg1RsDexEE
HIM/sIsOEzKBIVprLEQ0uUmLEdQBn01sPKZJHpMwlBWEkLEw6CJtfISf0vn41GLzW7lAF92pvZea
q+fycaZDw5PxOBMidHAM+AXAz6twFrzQWfWHFt9QSwMEFAACAAgAsHl6Se+20aDMAAAAJAMAACwA
HABodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWxvYWQtdHdpY2Utc3RkZXJyLnR4dFVUCQADHBc6WBwX
Olh1eAsAAQT1AQAABBQAAADVkbFOAzEMhmf6FB7pgsidekVRxcB1AKl0QwyIwZe4adRgV4mviLcn
ICaYSgfEaMn/98n+13KApgMzs6a1rQF6LcbML5I4TJDVZdpL1sjhqbvq2vkzLJY0jOHaQiG9p1Iw
0EpCqBs3NbSzUIOJ/GT9e7Bi1l54E8OYUaPwY9RtLy/7RB/TLbJPlC306Lbk4RKIcahOGNDtiH05
RU76UCjf8UaW0an9wbZwPjmbfjM0RxnYfz3u8y5UCpLfKpfHlE4jH9FI85eNNP+qkXdQSwMEFAAC
AAgAsnl6STh476LoAAAAbAMAAC8AHABodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktcHJvZ3Jl
c3Mtc3RkZXJyLnR4dFVUCQADHxc6WB8XOlh1eAsAAQT1AQAABBQAAADNkUFLA0EMhc/2V+RoL+J2
6VaG0oPbg4IWQUSh9JCdTadDx6TMZCv+e2fFm6d2PXhMSL738rKSI0wqKKamKE05AfpIRTG7CmIx
QFQb6SBRPbt1dVOVsw3Ml9R0bmEgEbePlBI6evW6q1HJSfw0cMldCOPR6myyZ6898jnTvfA9b8XA
21MNVpjJau7lmSMG3w5Q+Y/+pyf51x/7D+JcnrjNS3sDeTHQILBi1Fp4610XsXf7nY+8HwL11R1y
GygaqNHuqIVrIMYma0KDdp9TTcOuekkU+8yW3qr5xc7/GV2MBymc8ve/JH8BUEsDBBQAAgAIALN5
ekl0Qo8LhAAAAMAAAAA9ABwAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1wbGF5LXN0YWxsLWJlZm9y
ZS1tZXRhLWRhdGEtc3RkZXJyLnR4dFVUCQADIhc6WCIXOlh1eAsAAQT1AQAABBQAAACdzLEKwjAQ
gOG9T3GjLkIMTSWIS10cLIKDgjjE9BoPwp0kacW3t76C68/P18kEawOqtkpbXQO+s1LNKop3EVLx
CV+SCnG4mY3RzR22e3yMYWchI/dHzNkFvFB5tq5gkPSxsOAxxmXV/S0TU/mR51kn4QMPYuF6asEL
M/oyt/mZXKS++gJQSwMEFAACAAgAtHl6SVsIY8W9AAAAkgEAACsAHABodHRwL3Rlc3RzL21lZGlh
L3ZpZGVvLXF1ZXJ5LXVybC1zdGRlcnIudHh0VVQJAAMjFzpYIxc6WHV4CwABBPUBAAAEFAAAAKWQ
MW8CMQyF596v8FgW1OuJo40QA8dQJMqGOlQdfIkJEamNEh8V/56AunUr45P8vk9+GznBcwv1xNSN
aV6BfnJdT8dRLEZIahMdJWlg/9m+tM30C2ZL6gc/N5BJ3yln9LQW78vFopQOBkoxkqs2/wcrJu2E
d8EPCTUIfwTdd/J9jHRNb8guUjLQod2Tgycgxr44oUd7IHb5HjnpNlNa8U6Wwar5wzbwWD2M7jKw
+x3u9hcqeUnnwuUhxlF1AVBLAwQUAAIACAC0eXpJN3CSFEkBAAB1BgAAKgAcAGh0dHAvdGVzdHMv
bWVkaWEvdmlkZW8tcmVkaXJlY3Qtc3RkZXJyLnR4dFVUCQADJBc6WCQXOlh1eAsAAQT1AQAABBQA
AADtk89PwjAUx8/yV7yjHCQbGwwaQyLjoIkSAjGaEA5lfdsaakvaDn/89b4RvXhyTA8m9tbm9fN9
3/djbg7QH0I4YGHEojHgswvDpKdMxhVYn1ncG+ulLtbD0TBKNnA5w21VTBg41OIOneMFPkhfptxj
Yewrg3NdKdXtzE8mSy19jVwRXRp9o3PD4HGRQma0xszTG8UcuJKis/7k95I4JgYdSJdX0xVM6ECu
KlcuKFPSWaJC7nCFnsE6eElyMcjjaDQWUbCBKeW1gwBK7kAbffGG1oDFnDQr7aHfwo5D/1GnW1MU
FHHUYkAfFYo2YM+tT43OZVFZXpfl2AjztFdY3665Fgotg5RnJQpyh5pvSRO2PNtRUVw7V/cObd2c
mcyopF/ZNAids24rhd8asEbkOPgnn0hussht8v/+fjUD//B+NXXVfL/+yES9A1BLAwQUAAIACAC0
eXpJCBQBSdsAAAAGAwAAKwAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdXNlcmFnZW50LXN0ZGVy
ci50eHRVVAkAAyQXOlgkFzpYdXgLAAEE9QEAAAQUAAAA5ZFBSwNBDIXP9lfkaC/i2rqVQTy4PSi0
RRBREA/Z2XQ6dEzKTLbivzcr3jwunjwm5H15ednIES5qqC5dNXPzc6CPUlWLsyQeE2T1mQ6SNXJ4
ra/q2eINrpfU9uHGQSHu1lQKBnqOumtQKUj+dHDKfUrTyeZfkSNHHZCPRo/C97wVBy8PDXhhJq/W
s5kjptiN8q8/9lcSgk3cmmjvwISJRoEVszbC2xj6jIPb73zk/ZBoqO6Qu0TZQYN+Rx0Ym7G1ndCi
31uqZdxVT4XykNkyenW/2Pafyclf/v0LUEsDBAoAAAAAANh5ekkAAAAAAAAAAAAAAAAQABwAaHR0
cC90ZXN0cy9taXNjL1VUCQADZxc6WAMaOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAtXl6SV6E
9GnmAAAAYgEAAC0AHABodHRwL3Rlc3RzL21pc2MvY29weS1yZXNvbHZlcy11cmxzLXN0ZGVyci50
eHRVVAkAAyUXOlglFzpYdXgLAAEE9QEAAAQUAAAAdY1BS8NAEIXv/RVzkkSkk4qiDCUg2lwUlUTa
83YzSVeSTNidCP57ExtRCjKn99735m3y/CUnyIxruAQVMN4e3AdDGPaegwzeMlTi4aDaE+Lq8maZ
jLei2yRJsHXB4g8X0ErbmxCW7329wK00QzuaD0YNbnYF7nj/6BSLb3hS9+IZGzEle5x30Vb4xLWx
n2N+d/SWtu+j66skBoKgRp2FnKtX9ev5B9FpJYV/IyLr2ShHVrqgsHvLiAr1rqvh7OK3lnnT8uQc
sS1blT+Dz1IynKcTELQkqobOqpNuvRdpIJrbcRovvgBQSwMEFAACAAgAtXl6SRt1TFTFAAAA/gAA
AD8AHABodHRwL3Rlc3RzL21pc2MvZGVsZXRlLWZyYW1lLWR1cmluZy1yZWFkeXN0YXRlY2hhbmdl
LXN0ZGVyci50eHRVVAkAAyYXOlgmFzpYdXgLAAEE9QEAAAQUAAAATY5NS8NAFEX3/RV3qWAlk8Yk
DuKmsasgxY9VKWVIXuvDZCa8vFTsr+8UFHrhLi4cuCdNTD43Zp7mMA/WLGyW3pdFiWrqhzfyLcmH
EG3yMl9kNi2KLC22WEsYSPQXHY8K9kfXcYt9kEt7pxYmSXAzXGMjGud9UDTBq2OP18+6vp1trl4f
t3iKwaparnc196zU4jkGKz787YrH76Vrvig6HDnq7d5J/30sXkSixY+wsj8gTPHuAmPPHd1BZfKN
U4IGnEjC7AxQSwMEFAACAAgAtXl6ST/lsQ3DAAAA/gAAAFsAHABodHRwL3Rlc3RzL21pc2MvZGVs
ZXRlLWZyYW1lLWR1cmluZy1yZWFkeXN0YXRlY2hhbmdlLXdpdGgtZ2MtYWZ0ZXItdmlkZW8tcmVt
b3ZhbC1zdGRlcnIudHh0VVQJAAMmFzpYJhc6WHV4CwABBPUBAAAEFAAAAE2OTUvDQBRF9/0Vd6lg
JZPGiQziprGrIMWPVSllSF7rw2QmvLxU2l/vFBR64S4uHLgnz4ydGzPPLcyDMwtX5Pelsaimfnij
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
boMpWW4pyzqitpede6JrKqQyghOPQJ1j2fWOmT5wSPBp1Md0c4B1JOKmw5mx4vfhfvl1Z3Iwid2s
nLfGXAP6TlOuLIYMmQ7xnWZMg/KM+GcHjWUlBGiw/VfIXl1ZmkvvEMZreLoLvEEbl03pp6Dlm188
qn0Z8lH2rmp1UWuvJzu2FW7P3TocbiN6B+hEPDFeDjUbM5d1YO8KRcQLZnc3c68EBow7vIMGDXW7
1iCj7rIAJK+XQytk9M7hZfPiol97x9a9OPVcTDovosYX7GPR89bKt29jx2D1i9QaijUbSp0HO/R7
XmpZd+ca89s8nDdq5lUQ5B/bC815c1k4d8P4qZWHs5FXkDd6sfn1ZR36zv22UgO7c1qhVT9DlxP0
i7PBSLFRW1eK3IujVla2iRvJx8bS0/y4UrTkk63gbimsBMHPrUIbdx9X++MktgPaQdckvuynKxsP
fUMcGCJ91HaWwFuxu8XCy5h9H57afw/9B1BLAwQUAAIACADPeXpJ88JP+ZkAAAD7AAAAOQAcAGh0
dHAvdGVzdHMvbWlzYy9zbG93LWxvYWRpbmctYW5pbWF0ZWQtaW1hZ2UtZXhwZWN0ZWQuaHRtbFVU
CQADVRc6WFUXOlh1eAsAAQT1AQAABBQAAACzUXTxdw6JDHBV8Ajx9bHjsskoyc0BUamJKXZcCkBg
U1xSmZMKYYNASmaZQjWcBwLlmSklGVYKhgYGBRXWKDIZqZnpGSVYpVIyiwtyEiutFDLzcjLzUnWT
cvKTs1GVJCUmZ6cX5Zfmpegm5+fkF1kp5GTmpiLU1ELcpw91oI0+xNE2SfkplVC3Ax1rZ6MPIoHS
EHGgMrAXuQBQSwMEFAACAAgAz3l6SaR6ORuhAQAAvSkAADgAHABodHRwL3Rlc3RzL21pc2Mvc2xv
dy1sb2FkaW5nLWFuaW1hdGVkLWltYWdlLWV4cGVjdGVkLnBuZ1VUCQADVRc6WFUXOlh1eAsAAQT1
AQAABBQAAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAOKzCprKgBSmiWuESXJGanJ2cWluQyp
xklpBkkWpuZpiUYGaWmpqRZmhsZJiSmplsnJJiZpJmqsj9WAmhiLg9ydGNadk3kJNMDJ08UxpILx
7d2NWSqBAiwH7zr//3+6uv1c3raelDUTfs+S4niiYvTl35/flT8VHRoYGJlYOAQUHBoOMDPVy/1o
8wexYYIPwh0afrgiCxgyMn6S2MoviBBTcPjDh6Tnw4wGhsqeW+0cCDEBhTp2JG6Fj0ODjdtbZxaE
2J8a5Yr99+777bHX+FD5c7suf9FvEZi7HHQe6CsYrrBkQqjPY2Qsul2B5HgFMYFRJaNKRpWMKhlV
MqpkMCppnP/75f/Tz7/+LHs0F17nAhmTG/Y3+Pj0IdWPGiwsHgszmhGKGj0dRpWMKhlVMqpkVMmo
klElo0pGlYwqGVUyqmRUyaiSUSWjSkaVjCoZVTKqZFTJqJJRJaNKRpWMKhlVMqpkVMmoklElo0pG
lZCg5B/TSS+edUq3rwYzAIGnq5/LOqeEJgBQSwMEFAACAAgA2Hl6SRU1NZJ6AAAAvAAAACoAHABo
dHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAkAA2cXOlhnFzpYdXgL
AAEE9QEAAAQUAAAAjY5BDsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLlA9VeVjuH2SylEScjqYCq
ohE+xAinWYveb4/XGma2+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7AVBGegIwFq8FNl0niXSHC
qGmfGhNgScd/uip95PO6lywxLz9QSwMECgAAAAAA13l6SQAAAAAAAAAAAAAAABQAHABodHRwL3Rl
c3RzL3NlY3VyaXR5L1VUCQADZhc6WAMaOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAsHl6SeQS
mEnLAAAA3QEAAFUAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1yZW1v
dGUtdmlkZW8tYmxvY2tlZC1uby1jcm9zc29yaWdpbi1zdGRlcnIudHh0VVQJAAMcFzpYHBc6WHV4
CwABBPUBAAAEFAAAAKWQMU/DMBCFZ/IrbqRLRFo1UKtiIB1AKt1QB8Rwsa+uVXNX2RcQ/x6HsjGh
jPek9717bycfMG+hWZpmYRZzoM/cNLd1FIsRktpEZ0ka2L+2d+1q9QbrJz7IvYEo3hcZsmLSXNd1
tfs3akP94Asrkz5Tzuhpe6E+FNPJQDFGclPA43Od8CH4IaEG4X3QYyfv50jj9YjsIiUDHdojObgB
YuxLJvRoT8QuT2v1kimNe22CVfOHbeC6uppNSmD3O9xPL1Tykr4Kl4cYZ9U3UEsDBBQAAgAIALB5
ekkegIow2wAAAKwCAABIABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQt
cmVtb3RlLXZpZGVvLWxvY2FsaG9zdC1zdGRlcnIudHh0VVQJAAMcFzpYHBc6WHV4CwABBPUBAAAE
FAAAAM2RQUsDQQyFz/ZX5Fgv4ra42kE8uD0oaBFEFIqH7Gw6HTpNyky24r83K948LoLHhLwvLy8r
OcKshurCVXM3nwF9lKq6PEviMUFWn+kgWSOHdX1VLxbvcL2ktg83Dgpx90ilYKDXqNsGlYLkTwdT
7lM6naz+ITly1AH5bPQofM8bcfD21IAXZvJqPZs5YordKP/6Y/9BQrCJWxPtHJgw0SiwYtZGeBND
n3Fw+52P7A+JhuoOuUuUHTTot9TBORBjazuhRb+zVMu4q14K5SGzZfTqfrHtP5OTv/z7F1BLAwQU
AAIACACyeXpJw1FPk+QAAACsAgAARwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY2FudmFzLXJlbW90
ZS1yZWFkLXJlbW90ZS12aWRlby1yZWRpcmVjdC1zdGRlcnIudHh0VVQJAAMgFzpYIBc6WHV4CwAB
BPUBAAAEFAAAAM2RQUsDQQyFz/ZX5NhexG3pagfx0O3BQi2CiELpITubToeOSZnJVvz3zoonBUH2
0mNC8r2Xl7WcYFxCMTXFxEzGQO+pKK4vg1gMENVGOkpUz25T3pSz2RZuF1S37s5AIm4eKCV09OJ1
X6GSk/hhYMhtCKPB+gzJnr12yKdM98JL3omB18cKrDCT1dzLMycMvvmhMv2Xf/22vxLn8sQ8Lx0M
5MVAvcCKUSvhnXdtxM7tVz7ydgzUVffITaBooEK7pwaugBjrrAk12kNONfW76jlR7DJbeKvmFzv/
Z3Ax6qXw998/AVBLAwQKAAAAAADGeXpJAAAAAAAAAAAAAAAAKgAcAGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L1VUCQADQxc6WAMaOlh1eAsAAQT1AQAABBQAAABQSwME
CgAAAAAAr3l6SQAAAAAAAAAAAAAAAC4AHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS8xLjEvVVQJAAMZFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACveXpJ
AAAAAAAAAAAAAAAAOAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9jaGlsZC1zcmMvVVQJAAMZFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACveXpJ
C+asjoMAAAAaAQAAXAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9jaGlsZC1zcmMvZnJhbWUtYWJvdXQtYmxhbmstYWxsb3dlZC1zdGRlcnIudHh0VVQJAAMZ
FzpYGRc6WHV4CwABBPUBAAAEFAAAAM3MsQrCMBCA4b1PcaMuQiqmEsSlLg4WwUFBHGJ6xoNwJ8m1
4ttb38L15+frZITaglk5s3R1A/guxjSLJMEnyBoyviQrcbzatTX2Bpsd3oe4dVCQ+wOW4iOeSZ+t
V4ySPw5mPKQ0r7o/lIlJf+Rp0kl4zw9xcDm2EIQZg05tekafqK++UEsDBBQAAgAIAK55eknVq963
2wAAAFICAABLABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYXVk
aW8tcmVkaXJlY3QtYWxsb3dlZC1zdGRlcnIudHh0VVQJAAMXFzpYFxc6WHV4CwABBPUBAAAEFAAA
AM2RMUsDQRCFa+9XTBkbySXxIkuw8FIY0CCIKIQUc7uTzZJ1JuzORfz37omdnWksB977HvPeWk4w
aaC+NvXUTOZAH7mu51dRLEZIahMdJWlgv2lumvFsC4sldb2/NZBJHyln9PQg3hfFXTEdDBRjJFet
/w5WTNoK74LvE2oQfg26b+X9GGm47pFdpGSgRbsnB2Mgxq5kQof2QOzyOeGkL5nSineyDFbNL7aB
UXVxeVYCu5/ivv9CJS/ps3C5j/F/kgMHHZDPhV4WGNox8PbUghVmssMqRXPCGFz1BVBLAwQUAAIA
CACteXpJU+JWSNcAAAD4AQAATAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2F1ZGlvLXJlZGlyZWN0LWFsbG93ZWQyLXN0ZGVyci50eHRVVAkAAxYXOlgWFzpYdXgL
AAEE9QEAAAQUAAAApZDNSgRBDITPzlPkqBfZ8WeURjw4e1DQRRBREA+Z7mxvs22ydGdWfHsz4s2b
c0ug6iuqVrKHkw7ac9eeOjvos7btxXEWjxmK+kI7KZo4vnWX3eLsHa6WNIzx2kElfaBaMdK9xGiK
GzNtHZgxU2hW/wcrFu2F1ymOBTUJvyTd9PKxyzR9t8ghU3HQo99QgAUQ42CZMKDfEoc6J5z0uVK5
47Usk1f3h+3gsDk4mpXA4Xe4n16oFKV8GZfHnOeQEyedkE9Gt52mDg5eH3vwwkx+2s40e8wpNN9Q
SwMEFAACAAgArnl6SfezP6mnAAAAigEAAFgAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9ibG9iLXVybC1kb2VzLW5vdC1tYXRjaC1zb3VyY2Utc2VsZi1zdGRlcnIu
dHh0VVQJAAMXFzpYFxc6WHV4CwABBPUBAAAEFAAAAN2PsQ6CMBRFd7+iow5QW0SUxEGJJg5GEkZi
yLO8YLVS8lpN+HsxDvoNbudO59xSxKmIUpmEIklOTHu8g+tbVRXoc7Idku+Z000LxmDNkGgVCJks
Yja+7XSzAYfH8xWV3xJZqvbtE4yuwWM9YWP9u8AzXtgHKcxAXZBnlvCAtYYvBSKey1DOpnxQe+v7
Dh3PDfRIfJB9qFq/+0LFjG6RSbmMRuU/nHgBUEsDBAoAAAAAAK95ekkAAAAAAAAAAAAAAABEABwA
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3Vy
ZS1yZXF1ZXN0cy9VVAkAAxoXOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAK95ekmA9I+z
6QAAACYDAAB5ABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBn
cmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLWluc2VjdXJlLWF1ZGlvLXZpZGVvLWluLW1h
aW4tZnJhbWUtc3RkZXJyLnR4dFVUCQADGhc6WBoXOlh1eAsAAQT1AQAABBQAAADNUTtPwzAQ3vkV
N8JAYjvpQ96qtBUDQxWVqWIwzrVYxHbwowO/nmupEEMFUgdAXu5830v6NnwkeSUrVoym7BHu1utV
i68ZY4Kt2X1Zm4Aq4SIEHxpvLbokAZ322SUM2IFygIejhOwCar9z5o2+n1MaIGAcvIsINWNXm+8d
CX9a56ZrUaPZY3viN6rvn5R+kaR4PJzRh+tjDLjlYjye3MCW5gNIliUXk4LR43Ja11VJLJ+Dxlgm
civsUP+UjdZ5tsPSONU/tPczRwGtTzjrOhKLEtTHAJ9ORCMs5NBfFkL8eiXiH1ci/qqSd1BLAwQK
AAAAAACweXpJAAAAAAAAAAAAAAAAPQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9VVAkAAxwXOlgDGjpYdXgLAAEE9QEAAAQUAAAA
UEsDBBQAAgAIAK95eknDkcDqNwEAANECAABTABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2FsbG93LWF1ZGlvLXN0ZGVyci50eHRV
VAkAAxkXOlgZFzpYdXgLAAEE9QEAAAQUAAAApZJPSwMxEMXP9lPMUUGW3a3d2rAW6RZRqH+wiIJ4
yGanaWialGRa6bd3tvWgeHNzCOTx5jczj5RlWcKN0ZM94ZwCyjWM+fyW5iQpzrx+dPiMshHww81X
A34BfahZjHANxTBNBwWQ9ytIk0F2kRc5RFQJS6D8emOR8ByyQ2mE8VXrOhh6D34HeQHZQGR9kY8A
P2OWDRPrlbQQSAXc+EDG6ffisuiPPqC8cws/FmC91ixDJBkoJsl/UFOst5pZEekeY5QaZ0fqhItW
ArjQYtMF3A5XebcwehskGe9eDS2rYyL8upWusRgEVFItsYEU0Mmae0It1QpdE7tt9RIxtHlNjSLx
hy3gtHdy1qmDa76DO+wlCbUPe+a6rbVdyMYZapFzpnNO7Q4C3p4q/k3OoWqzY89OWtP0vgBQSwME
FAACAAgAsHl6SYlfvia9AAAAkgEAAFMAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS91c2VyQWdlbnRTaGFkb3dET00vYWxsb3ctdmlkZW8tc3RkZXJyLnR4dFVUCQAD
Gxc6WBsXOlh1eAsAAQT1AQAABBQAAAClkDFPAzEMhefer/BIF9T0xBWiqkOvA0jQreqAGHyJm0YN
dpX4QPx7AurGRscn+X2f/LbyAfMOzJ01rW0N0GcxZnGbxGGCrC7TWbJGDq/dfdc+vMFyQ8MYVhYK
6QuVgoGeJYR6sa6lk4VaTOSb7f/Bill74UMMY0aNwvuox17ez4l+0iOyT5Qt9OiO5GEGxDhUJwzo
TsS+XCMn3RXKT3yQTXRq/7At3DST6VUG9pfhfv9CpSD5q3J5TGnafANQSwMEFAACAAgAsHl6Sb5j
qrWDAAAAwAAAAGsAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91
c2VyQWdlbnRTaGFkb3dET00vZGVmYXVsdC1zcmMtb2JqZWN0LWRhdGEtdXJsLWFsbG93ZWQtc3Rk
ZXJyLnR4dFVUCQADHBc6WBwXOlh1eAsAAQT1AQAABBQAAACdzDEKAjEQQNF+TzGlNkIMRg1iszYW
LoKFgljE7BgHwowk2RVvb7yC7efzOhlhbkAtrNJWK8B3Vmo5i+JdhFR8wpekQhyuZmX0+gabHd6H
sLWQkfsD5uwCnqk8W1cwSPpYmPAQ47Tp/paJqfzIU9VJeM8PsXA5tuCFGX2prT6ji9Q3X1BLAwQU
AAIACADDeXpJcfrUnt4AAABSAgAASwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3ZpZGVvLXJlZGlyZWN0LWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADPhc6WD4XOlh1
eAsAAQT1AQAABBQAAAClkUFLA0EMhc/2V+TYXmS31FUG8eD2oKBFEFEQD9nZdDp0TMpMtuK/Nyve
BA/uMSHve8nLRo6wbKA+c/XKVQ3QR6nr89MkHhNk9ZkOkjVyeG0ummr1Bpdr6oZw5aAQ9/dUCgZ6
jrprUSlI/nQw5yGlxWzzb3LkqCPy0ehR+Ja34uDloQUvzOTVejZzxBT7CS6F9Gf9OwnBJq5NtHdg
wkSTwIpZW+FtDEPGcdvvfOT9kGisbpD7RNlBi35HPVRAjJ15Qod+b6mWaVc9FcpjZuvo1f1i239m
J4tJDn///QtQSwMEFAACAAgAw3l6SSoK8Q28AAAAkgEAAEwAHABodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS92aWRlby1yZWRpcmVjdC1hbGxvd2VkMi1zdGRlcnIudHh0
VVQJAAM+FzpYPhc6WHV4CwABBPUBAAAEFAAAAKWQMW8CMQyFZ+5XeIQF3VVwRRFi6DG0ErBVHSoG
X2JCRLBR4qPqv29asXWD8Ul+3ye/nVzhqYVmbpqZqVugr9w0z9MoFiMktYkukjSw/2wXbT3bw3JN
/eBXBjLplnJGTxvxvly8lNLJQClGctXufrBi0k74EPyQUIPwR9BjJ+dLpN/0iuwiJQMd2iM5qIEY
++KEHu2J2OVH5KTvmdIbH2QdrJp/bAPjajR5yMDuNtzfX6jkJX0XLg8xTqofUEsDBBQAAgAIAMR5
eknYCAMv4gAAAFICAABmABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvdmlkZW8td2l0aC1odHRwLXVybC1hbGxvd2VkLWJ5LWNzcC1tZWRpYS1zcmMtc3Rhci1zdGRl
cnIudHh0VVQJAAM/FzpYPxc6WHV4CwABBPUBAAAEFAAAAKWRQUsDQQyFz/ZX5NheZFfqVobSg9tD
BVsEEQXpITubToeOSZnJtvjvnRVPCoLuMSH53svLRk5wVUF5bcqpKSqgcyrL2WUQiwGi2khHierZ
vVY3VTHdwnxJTecWBhJxu6aU0NGz132NSk7iu4ExdyFMRpt/kz177ZGPme6F73gnBl4earDCTFZz
L8+cMPj2m8rsT/71y/69OJcnbvPSwUBeDDQIrBi1Ft5510Xs3X7mI2/HQH21Qm4DRQM12j21UAAx
NlkTGrSHnGoadtVTothntvRWzQ92/s/oYjJI4fe/fwBQSwMEFAACAAgAxHl6Sca5nHGEAAAAwAAA
AFkAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS93b3JrZXItYmxv
Yi1pbmhlcml0cy1jc3AtYmxvY2tzLWV2YWwtc3RkZXJyLnR4dFVUCQADPxc6WD8XOlh1eAsAAQT1
AQAABBQAAACdzLEKwjAQgOG9T3GjLtJITSWIS10cLIKDgjjE9IwH4U6StOLbG1/B9efn62WCpQa1
MqoxdQv4Tkq1iyDOBojZRXxJzMT+qte6bm6w2eF99FsDCXk4YErW45nys7MZvcSPgRmPIcyr/m+Z
mPKPPBWdhPf8EAOXYwdOmNHl0soz2UBD9QVQSwMEFAACAAgAxnl6SWOqrGyCAAAAqAAAAEAAHABo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRl
cnIudHh0VVQJAANDFzpYQxc6WHV4CwABBPUBAAAEFAAAAC2NQQrDMAwE73mFXhA7vaT4FYW+ILgb
YlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR//vtDuOQe
FCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTxmr5QSwMEFAAC
AAgAxnl6SWOqrGyCAAAAqAAAAFIAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIudHh0VVQJAANDFzpY
Qxc6WHV4CwABBPUBAAAEFAAAAC2NQQrDMAwE73mFXhA7vaT4FYW+ILgbYlAsIyml/n1NKXtahtnN
crbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR//vtDuOQeFCaXZlgw74z5Y0xcKmgl
MM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSbguxqTdTxmr5QSwMEFAACAAgAsnl6Scm69QSEAAAA
GgEAADUAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvcnMtcG9zdC1yZWRpcmVjdC0zMDEtc3RkZXJy
LnR4dFVUCQADIBc6WCAXOlh1eAsAAQT1AQAABBQAAADNzLEKwjAQgOG9T3GjLkIsRhvEpS4OFsFB
QRxieo2BcCfJteLbG9/C9efn63iCpQa1Mqo2tQZ8Z6XWi8jORkjiEr44SSB/0xvdNHfY7vEx+p2B
jNQfMWfr8RLk2VpBz+ljYEZjjPOq+0M5UJAfeS56YDrQwAaupxYcE6GT0soz2Rj66gtQSwMEFAAC
AAgAvXl6Sa+IHNetAAAApAEAADoAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13
ZWJzcWwtYWxsb3dlZC1zdGRlcnIudHh0VVQJAAM1FzpYNRc6WHV4CwABBPUBAAAEFAAAAN2PzQrC
MBCE732KPbYHjSBeggiiPYkUKuo5SbcQSHfDNqn69v6gL+FtBr5vYOq2bVoNZzI2ICSGlIWACTw5
wQEpmQAmJ55NxuU8QLkA4gSGAEVYqkJdOOQBR7U3yaj6elJXtAef1ImzOHy3HQuqI3c5vLAb2u5F
WjPiR3mHuYuxXK5WFWio7w5j8kyNrCf23Qa+C1r/cK0jSs8yNBFpS90FxfeP0jKHqqj/7tETUEsD
BBQAAgAIAL15eklLG4E1pwAAANIAAAAyABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jcm9zcy1vcmln
aW4td2Vic3FsLXN0ZGVyci50eHRVVAkAAzUXOlg1FzpYdXgLAAEE9QEAAAQUAAAANczNCsIwEATg
u0+xx/agEcRLEEG0J5FCi/acpFsIpLthm/jz9lbR2wx8M1XT1I2GKxkbEBJDykLABJ6c4IiUTACT
Ey/vxuU8QrEG4gSGAEVYyoW6ccgjTupkklFV16oO7dkn1XIWh592ZEF14T6HmT3Q9rO0ZsLv5BNW
LsZis92WoKF6OozJM9Wyu7Pv9/B70PrPtY4oA8tYR6QD9TcUP7wKyxzKxRtQSwMEFAACAAgAxnl6
Sdmd7TG8AAAAkgEAAD0AHABodHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLXZpZGVvLXNvdXJjZS1m
cm9tLXJlbW90ZS1zdGRlcnIudHh0VVQJAANDFzpYQxc6WHV4CwABBPUBAAAEFAAAAKWQMU8DMQyF
Z+5XeGwXRBA92ggxcDdQCbqhDqiDL3HTqKl9Snwg/j0BsXWj45P8vk9+G/mA2xbMwpo7a26APosx
99dJHCbI6jKNkjVyeG+X7Wq1g4eehik8Wiikr1QKBnqREOrFUy0dLdRiIt9s/g9WzNoJ72OYMmoU
3kY9dHIaE/2kZ2SfKFvo0B3IQ2UzDtUJA7ojsS+XyEnfCuU176WPTu0Z28KsuZpfZGD/N9zvX6gU
JH9VLk8pzZtvUEsDBBQAAgAIAMZ5eknuwVzIgwAAAMAAAAA6ABwAaHR0cC90ZXN0cy9zZWN1cml0
eS9sb2NhbC12aWRlby1zcmMtZnJvbS1yZW1vdGUtc3RkZXJyLnR4dFVUCQADQxc6WEMXOlh1eAsA
AQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLkJEqw3iUhcHi+CgIA4xPeNBuJPkWvHtja/g+vPzdTLC
vAaztGZhjQF8Z2NWsyjeRUjqE74kKXG41uu6aW6w2eF9CFsLGbk/YM4u4Jn02TrFIOljYcJDjNOq
+1smJv2Rp6KT8J4fYuFybMELM3otrTyji9RXX1BLAwQKAAAAAACyeXpJAAAAAAAAAAAAAAAAIQAc
AGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L1VUCQADHxc6WAMaOlh1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAsnl6SaNvlB3iAAAAPgQAAE4AHABodHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9pbnNlY3VyZS1hdWRpby12aWRlby1pbi1tYWluLWZyYW1lLXN0ZGVyci50eHRV
VAkAAx8XOlgfFzpYdXgLAAEE9QEAAAQUAAAA7ZJBSwNBDIXP7q/IsV7E7dJVB/Hg9qCgRRBRKB6y
M+l06JiUmWzFf++sePPWeuwx8N73yEsWsoNpC/XM1I1pZkCfua4vzqJYjJDUJtpK0sB+2V62zdU7
XM+pH/yNgUz6SDmjpwfxvihui2ljoBgjuWqxP1gxaSe8Cn5IqEH4Nei6k49tpHG6Q3aRkoEO7Zoc
nAMx9iUTerQbYpcPCSd9yZTueSXzYNX8YRuYVCenhyUce9srgd1vcT97oZKX9FW4PMR4JP8XOXDQ
Eflc6OVrxosaeHvqwAoz2fGTimaHMbjqG1BLAwQUAAIACACyeXpJIWP/loQAAADAAAAAQgAcAGh0
dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWNzcy1pbi1pZnJhbWUtc3Rk
ZXJyLnR4dFVUCQADHxc6WB8XOlh1eAsAAQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLkIMjRrEpS4O
FsFBQRxieo0H4U6StOLbW1/B9efna2WEpQFVW6WtrgHfWanVIop3EVLxCV+SCnG4mbXRmzts9/gY
ws5CRu6OmLMLeKHybFzBIOljYcZDjPOq/VsmpvIjz5NOwgfuxcL11IAXZvRlatMzukhd9QVQSwME
FAACAAgA0Hl6SUsbgTWnAAAA0gAAAD8AHABodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxv
Y2tpbmctbG9vc2VuZWQtd2Vic3FsLXN0ZGVyci50eHRVVAkAA1cXOlhXFzpYdXgLAAEE9QEAAAQU
AAAANczNCsIwEATgu0+xx/agEcRLEEG0J5FCi/acpFsIpLthm/jz9lbR2wx8M1XT1I2GKxkbEBJD
ykLABJ6c4IiUTACTEy/vxuU8QrEG4gSGAEVYyoW6ccgjTupkklFV16oO7dkn1XIWh592ZEF14T6H
mT3Q9rO0ZsLv5BNWLsZis92WoKF6OozJM9Wyu7Pv9/B70PrPtY4oA8tYR6QD9TcUP7wKyxzKxRtQ
SwMEFAACAAgA0Hl6SUsbgTWnAAAA0gAAAEMAHABodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2Ut
YmxvY2tpbmctc3RyZW5ndGhlbmVkLXdlYnNxbC1zdGRlcnIudHh0VVQJAANYFzpYWBc6WHV4CwAB
BPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBHESxBBtCeRQov2nKRbCKS7YZv48/ZW0dsMfDNV09SN
hisZGxASQ8pCwASenOCIlEwAkxMv78blPEKxBuIEhgBFWMqFunHII07qZJJRVdeqDu3ZJ9VyFoef
dmRBdeE+h5k90PaztGbC7+QTVi7GYrPdlqChejqMyTPVsruz7/fwe9D6z7WOKAPLWEekA/U3FD+8
CsscysUbUEsDBBQAAgAIANJ5ekmgqR/I5AAAAJgEAAA5ABwAaHR0cC90ZXN0cy9zZWN1cml0eS92
aWRlby1jcm9zcy1vcmlnaW4tY2FjaGluZy1zdGRlcnIudHh0VVQJAANbFzpYWxc6WHV4CwABBPUB
AAAEFAAAAO2SQUsDQQyFz+2vyLFepKt1tYN46PagoEUQsSAesjPpdOiYlJlsxX/vrHjz5p5Ej4G8
75H3spIDnNRQnZlqZk5nQG+5qs6Po1iMkNQm2kvSwP65vqjn8xe4XFLb+SsDmfSOckZPt+J92VgU
0c5AEUZy49XPwYpJG+FN8F1CDcJPQbeNvO4j9dM1souUDDRot+RgCsTYFk9o0e6IXR5iTvqYKd3w
RpbBqvnGNjAZj44GObD7Cu7zLlTykt4Ll7sY/xo5cNAe+VDopds+dwPr+wasMJPt+y47B4zBDWv1
/1d/1Ud9AFBLAwQUAAIACADSeXpJ9g7BbRUBAADnAQAAPwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkv
dmlkZW8tcG9zdGVyLWNyb3NzLW9yaWdpbi1jcmFzaDItc3RkZXJyLnR4dFVUCQADWxc6WFsXOlh1
eAsAAQT1AQAABBQAAACdTk1PwkAQvfMr5ggH2y6UAhtjQiAGEyWkYDQhHJbtUDZuZ+t+YPj3LkG9
Gs1c3pv35s1bmhP0C2BDznI+GAJ+OMZGiTZSaLBeWmyN9YrqbTEuJpMd3M5xH+o7Dg6pekLnRI0v
yh9nwmNt7JlDl4LWvc7y38mKlL9ErmO6MvRAB8PhdTUDaYhQ+riLnpPQqupsv/OTQcZ2sNhsViW+
B3QeDqpeeN9+0bmqSpSoTliiaw05nAmt90K+cbBXoYJj9Ed21SHPcuiitcbCDetPBuMeHCK+mHia
sv4oyeIwPs6yLHUog1X+nJIhdEEek6bNf6sX6Tw07b0ioZ/LxynFjo3xOK2q2MJxEFcAP8/iWfRC
sPpPPT4BUEsDBBQAAgAIANd5eklgS2YQkQAAAPsBAABFABwAaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJAANmFzpY
Zhc6WHV4CwABBPUBAAAEFAAAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKdCm5fOvQGHau/
vq/3Qt5KpEljToDMmT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJmGO+3cTC7kJlzqBsmNV/gwfEZ
U7tvBBQTQg9I+CFA9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNILSWz4tyEf+iPQ99QSwMECgAA
AAAAs3l6SQAAAAAAAAAAAAAAABMAHABodHRwL3Rlc3RzL3N0b3JhZ2UvVVQJAAMhFzpYAxo6WHV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACACzeXpJSxuBNacAAADSAAAARQAcAGh0dHAvdGVzdHMvc3Rv
cmFnZS9jYWxsYmFja3MtYXJlLWNhbGxlZC1pbi1jb3JyZWN0LWNvbnRleHQtc3RkZXJyLnR4dFVU
CQADIRc6WCEXOlh1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARxEsQQbQnkUKL9pykWwik
u2Gb+PP2VtHbDHwzVdPUjYYrGRsQEkPKQsAEnpzgiJRMAJMTL+/G5TxCsQbiBIYARVjKhbpxyCNO
6mSSUVXXqg7t2SfVchaHn3ZkQXXhPoeZPdD2s7Rmwu/kE1YuxmKz3ZagoXo6jMkz1bK7s+/38HvQ
+s+1jigDy1hHpAP1NxQ/vArLHMrFG1BLAwQKAAAAAADkeXpJAAAAAAAAAAAAAAAAGgAcAGh0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvVVQJAAN7FzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CADjeXpJfn/tF7EAAAABAQAAQQAcAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9zdC1ibG9i
LWNvbnRlbnQtdHlwZS1hc3luYy1zdGRlcnIudHh0VVQJAAN6FzpYehc6WHV4CwABBPUBAAAEFAAA
AGWNsQrCQBBE+3zFVqKgHjaCB1YmglgoiZhCLC7JKoe522OzUfx7DQRULGd4My9J012qYePvprYV
rMgLepkcngHHYPs2GDYOBRneucVppI5Utw4bFRsxKskzlWOxtaIyarnELq2IUYXayIXYKY/yIL6p
veEGq97SSaZlCMPZYj4CDQVRDf1U69ChX+SwJN8I5Ie11pmw9VcYjCHFEu0duSNgMILTT7H83MWt
c88//Tl6AVBLAwQUAAIACADkeXpJfn/tF7EAAAABAQAAQAAcAGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvcG9zdC1ibG9iLWNvbnRlbnQtdHlwZS1zeW5jLXN0ZGVyci50eHRVVAkAA3sXOlh7FzpY
dXgLAAEE9QEAAAQUAAAAZY2xCsJAEET7fMVWoqAeNoIHViaCWCiJmEIsLskqh7nbY7NR/HsNBFQs
Z3gzL0nTXaph4++mthWsyAt6mRyeAcdg+zYYNg4FGd65xWmkjlS3DhsVGzEqyTOVY7G1ojJqucQu
rYhRhdrIhdgpj/Igvqm94Qar3tJJpmUIw9liPgINBVEN/VTr0KFf5LAk3wjkh7XWmbD1VxiMIcUS
7R25I2AwgtNPsfzcxa1zzz/9OXoBUEsDBAoAAAAAALV5ekkAAAAAAAAAAAAAAAAPABwAaHR0cC90
ZXN0cy94c2wvVVQJAAMlFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC1eXpJBsLxaIQA
AADAAAAAQQAcAGh0dHAvdGVzdHMveHNsL3hzbHQtdHJhbnNmb3JtLXdpdGgtamF2YXNjcmlwdC1k
aXNhYmxlZC1zdGRlcnIudHh0VVQJAAMlFzpYJRc6WHV4CwABBPUBAAAEFAAAAJ3MsQrCMBCA4b1P
caMuYqymEsSlLg4WwUFBHGJ6xoNwJ0la8e2Nr+D68/N1MsJCg1oZVZvlHPCdlGpmQZwNELOL+JKY
if1Vr3Xd3GCzw/vgtwYScn/AlKzHM+VnazN6iR8DEx5CmFbd3zIx5R95KjoJ7/khBi7HFpwwo8ul
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
AQT1AQAABBQAAABQSwMEFAACAAgA3Xl6SeGChuhJAAAAYAwAAD4AHABpbXBvcnRlZC93M2MvV2Vi
Q3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXMtc3RkZXJyLnR4dFVUCQADcRc6WHEX
Olh1eAsAAQT1AQAABBQAAADtysEJgDAQRcG7VfwCFATTQSpZcBFREkk2B7u3Ayt4c55cx72r1NDh
xZuFy3T5q8fONquHxeha0ramKXO5XC6Xy+VyuVzuz/0AUEsDBBQAAgAIAOt5ekmPNBpwRAAAAKAJ
AABHABwAaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS90ZXN0X2ZhaWx1cmVz
X1JTQS1PQUVQLXN0ZGVyci50eHRVVAkAA4kXOliJFzpYdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsv
UUhPzUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2MOFyHlU7qnZU7ajaUbWjakfVjqodVUtz
tQBQSwMEFAACAAgA7nl6SVQCybI2AAAAwAIAAFAAHABpbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJ
L2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUtc3RkZXJyLnR4dFVU
CQADjxc6WI8XOlh1eAsAAQT1AQAABBQAAABzzi/NSVHIyy9RSE/NSy1KLElVSFTITq1UKEjMLNJR
KC5JLCktVtA1MTYw4XIeVTuqdpCpBQBQSwMECgAAAAAABHp6SQAAAAAAAAAAAAAAACAAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1VUCQADtxc6WAMaOlh1eAsAAQT1AQAABBQAAABQ
SwMECgAAAAAA9Xl6SQAAAAAAAAAAAAAAACoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9VVAkAA50XOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIANp5ekkl
7oR0mQAAAMUAAABIABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRiY3Vyc29yX2l0ZXJhdGluZy1zdGRlcnIudHh0VVQJAANrFzpYaxc6WHV4CwABBPUBAAAEFAAA
AF2OsQrCMBRF937FG9vFgIhiNm07iIrYgB0lTd4QSPtC+lL8fGvp5HjhnMOtm+bRSDgxYx8YmEDb
SQ8GQYOhPnhktGBSHClm4kU+9TiKSrMWdatEi93VsVCUosHfKimiuJNNfsbcYPGD1nZixDhhFOp5
c4yX6lwuwY0JId8eDwVI6Ig8rAEpZ0QtipR/jpTrwTy5gfe7NxfZF1BLAwQUAAIACADjeXpJtVXS
EaMAAABPAgAARgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lk
YmZhY3Rvcnlfb3BlbjExLXN0ZGVyci50eHRVVAkAA3kXOlh5FzpYdXgLAAEE9QEAAAQUAAAA7Y+x
CsIwFEX3fsUb28WAiGI2bTuIitiCHSVN3hBI+0L6Uvx8a+nkFzg4Xjjncm9ZVbdKwoEZO8/ABMqM
qtcICjR13iGjAR3DQCERD3Kxw0EUipUom1o02J4ti5pi0PhJOQUUVzLRTZjtDb7QmFYMGEYMor5f
LOOpOOZz4Up7n673uwwktEQOlgIpJ6SeFSm/HCmXgWm0PW83T86S8n/iR068AVBLAwQUAAIACADk
eXpJJe6EdJkAAADFAAAAQwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL2lkYmluZGV4X2NvdW50LXN0ZGVyci50eHRVVAkAA3wXOlh8FzpYdXgLAAEE9QEAAAQUAAAA
XY6xCsIwFEX3fsUb28WAiGI2bTuIitiAHSVN3hBI+0L6Uvx8a+nkeOGcw62b5tFIODFjHxiYQNtJ
DwZBg6E+eGS0YFIcKWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8qKaK4k01+xtxg8YPWdmLEOGEU6nlz
jJfqXC7BjQkh3x4PBUjoiDysASlnRC2KlH+OlOvBPLmB97s3F9kXUEsDBBQAAgAIAOR5ekkl7oR0
mQAAAMUAAABEABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
aW5kZXhfY291bnQyLXN0ZGVyci50eHRVVAkAA3wXOlh8FzpYdXgLAAEE9QEAAAQUAAAAXY6xCsIw
FEX3fsUb28WAiGI2bTuIitiAHSVN3hBI+0L6Uvx8a+nkeOGcw62b5tFIODFjHxiYQNtJDwZBg6E+
eGS0YFIcKWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8qKaK4k01+xtxg8YPWdmLEOGEU6nlzjJfqXC7B
jQkh3x4PBUjoiDysASlnRC2KlH+OlOvBPLmB97s3F9kXUEsDBBQAAgAIAOR5ekkl7oR0mQAAAMUA
AABEABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhf
Y291bnQzLXN0ZGVyci50eHRVVAkAA3wXOlh8FzpYdXgLAAEE9QEAAAQUAAAAXY6xCsIwFEX3fsUb
28WAiGI2bTuIitiAHSVN3hBI+0L6Uvx8a+nkeOGcw62b5tFIODFjHxiYQNtJDwZBg6E+eGS0YFIc
KWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8qKaK4k01+xtxg8YPWdmLEOGEU6nlzjJfqXC7BjQkh3x4P
BUjoiDysASlnRC2KlH+OlOvBPLmB97s3F9kXUEsDBBQAAgAIAOp5ekkl7oR0mQAAAMUAAABJABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVf
Y291bnQtc3RkZXJyLnR4dFVUCQADiBc6WIgXOlh1eAsAAQT1AQAABBQAAABdjrEKwjAURfd+xRvb
xYCIYjZtO4iK2IAdJU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4MWMfGJhA20kPBkGDoT54ZLRgUhwp
ZuJFPvU4ikqzFnWrRIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2YsQ4YRTqeXOMl+pcLsGNCSHfHg8F
SOiIPKwBKWdELYqUf46U68E8uYH3uzcX2RdQSwMEFAACAAgA6nl6SSXuhHSZAAAAxQAAAEoAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9j
b3VudDItc3RkZXJyLnR4dFVUCQADhxc6WIcXOlh1eAsAAQT1AQAABBQAAABdjrEKwjAURfd+xRvb
xYCIYjZtO4iK2IAdJU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4MWMfGJhA20kPBkGDoT54ZLRgUhwp
ZuJFPvU4ikqzFnWrRIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2YsQ4YRTqeXOMl+pcLsGNCSHfHg8F
SOiIPKwBKWdELYqUf46U68E8uYH3uzcX2RdQSwMEFAACAAgA6nl6SSZnWmSfAAAAigEAAEoAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9j
b3VudDMtc3RkZXJyLnR4dFVUCQADhxc6WIcXOlh1eAsAAQT1AQAABBQAAADdj7EKwjAURfd+xRvb
xYCIYja1HURFbMCOkiZvCKR9IX0pfr61dPITHC+ce7i3qut7LeHAjF1gYAJtR90bBA2GuuCR0YJJ
caCYiSf51OEgSs1aVI0SDbYXx0JRiga/6UQRxY1s8hPmeotvtLYVA8YRo1CPq2M8l8fTLFyZEPL1
fleAhJbIwyKQckLUXJHypyPlMjBPruft5sVFVv3DiQ9QSwMEFAACAAgA7Hl6SSXuhHSZAAAAxQAA
AEsAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3Rz
dG9yZV9kZWxldGU1LXN0ZGVyci50eHRVVAkAA4sXOliLFzpYdXgLAAEE9QEAAAQUAAAAXY6xCsIw
FEX3fsUb28WAiGI2bTuIitiAHSVN3hBI+0L6Uvx8a+nkeOGcw62b5tFIODFjHxiYQNtJDwZBg6E+
eGS0YFIcKWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8qKaK4k01+xtxg8YPWdmLEOGEU6nlzjJfqXC7B
jQkh3x4PBUjoiDysASlnRC2KlH+OlOvBPLmB97s3F9kXUEsDBBQAAgAIAO95ekkl7oR0mQAAAMUA
AABOABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidHJhbnNh
Y3Rpb24tb25jb21wbGV0ZS1zdGRlcnIudHh0VVQJAAORFzpYkRc6WHV4CwABBPUBAAAEFAAAAF2O
sQrCMBRF937FG9vFgIhiNm07iIrYgB0lTd4QSPtC+lL8fGvp5HjhnMOtm+bRSDgxYx8YmEDbSQ8G
QYOhPnhktGBSHClm4kU+9TiKSrMWdatEi93VsVCUosHfKimiuJNNfsbcYPGD1nZixDhhFOp5c4yX
6lwuwY0JId8eDwVI6Ig8rAEpZ0QtipR/jpTrwTy5gfe7NxfZF1BLAwQUAAIACAD0eXpJJmdaZJ8A
AACKAQAAWAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5z
YWN0aW9uLWNyZWF0ZV9pbl92ZXJzaW9uY2hhbmdlLXN0ZGVyci50eHRVVAkAA5sXOlibFzpYdXgL
AAEE9QEAAAQUAAAA3Y+xCsIwFEX3fsUb28WAiGI2tR1ERWzAjpImbwikfSF9KX6+tXTyExwvnHu4
t6rrey3hwIxdYGACbUfdGwQNhrrgkdGCSXGgmIkn+dThIErNWlSNEg22F8dCUYoGv+lEEcWNbPIT
5nqLb7S2FQPGEaNQj6tjPJfH0yxcmRDy9X5XgISWyMMikHJC1FyR8qcj5TIwT67n7ebFRVb9w4kP
UEsDBBQAAgAIAPV5ekkl7oR0mQAAAMUAAABGABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvd3JpdGVyLXN0YXJ2YXRpb24tc3RkZXJyLnR4dFVUCQADnRc6WJ0XOlh1
eAsAAQT1AQAABBQAAABdjrEKwjAURfd+xRvbxYCIYjZtO4iK2IAdJU3eEEj7QvpS/Hxr6eR44ZzD
rZvm0Ug4MWMfGJhA20kPBkGDoT54ZLRgUhwpZuJFPvU4ikqzFnWrRIvd1bFQlKLB3yoporiTTX7G
3GDxg9Z2YsQ4YRTqeXOMl+pcLsGNCSHfHg8FSOiIPKwBKWdELYqUf46U68E8uYH3uzcX2RdQSwME
CgAAAAAA9Xl6SQAAAAAAAAAAAAAAACUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvVVQJAAOdFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAD1eXpJAAAAAAAAAAAA
AAAALwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvVVQJ
AAOdFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAD3eXpJAAAAAAAAAAAAAAAAQAAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9VVAkAA6EXOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAAl6ekkAAAAAAAAAAAAA
AABPABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJl
ZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL1VUCQADwRc6WAMaOlh1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgA9Xl6SeARh530AAAAlwUAAGcAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRf
Y2FucGxheS1zdGRlcnIudHh0VVQJAAOeFzpYnhc6WHV4CwABBPUBAAAEFAAAAO3TwUoDMRAG4LP7
FHOsl8UtddUgHtweFLQIIgriIZtM09B0UpLZim/vRL15sfTgZSGXhMyXzE+yiDuYttCcKhmzBvA9
N81ZHaLRARKbhNuY2JN7bc/b2cUbXN7SMl4pCNE5WYbMOnGu67pa7E3NsR+cWBn5HnPWDu++1Wsp
WiuQwoD2ELhcrou09G5Imn2kZ8+rLm62AcvsRpMNmBR02qzQwgkg6V7OhF6bNZLNh3X1lDGVvObe
sPplK5hUR8djbv+QG9mf4L760owupg9xaQhhlEf5r/J0D9mT50I+ii5/qLxvBS8PHZhIhKb8K9mz
08Hb6hNQSwMEFAACAAgA9nl6SSC6os7pAAAApAQAAHIAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
ZXZlbnRfY2FucGxheV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAkAA58XOlifFzpYdXgLAAEE9QEA
AAQUAAAA7ZPBSgNBDEDP9itytBdxS111EA9uDwpaBBGF4iE7m06HjkmZyVb8e7PizZMWEUGYywzJ
S/KGzGULkxqqI2dnOgF6KVV1fJDEY4KsPtNGskYOi/qknp4+wdmM2j6cOyjE3Q2VgoEeoq4aVAqS
Xx3sc5/SeDT/Njly1AF5Z/QofMVLcfB424AXZvJqbxazxRS7HaoU0o/2ryUEi7iwpLUDS0y0E1gx
ayO8jKHPOHT77keeN4mG2yVylyg7aNCvqINDIMbWakKLfm1Wy25T3RfKg7NZ9Oo+se1/Rnvjf2+/
4O2n9uUvkr+y429QSwMEFAACAAgA9nl6SQ4toc7vAAAADAYAAG4AHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvZXZlbnRfY2FucGxheXRocm91Z2gtc3RkZXJyLnR4dFVUCQADoBc6WKAXOlh1eAsAAQT1
AQAABBQAAADtlMFKAzEQQM/2K+ZoL+LqumoQD24PCloEEQXxMJudpqFxpiTZSv++s+LNU13By0Iu
CTNvZl5I5rKBkwqKM6OrPAX6TEVxfhTEYoCYbaS1xOzZvVUXVXn5Dlczajp3bSARtw+UEjp68XlZ
YyYncWvgkLsQppP5r8mefe6RT0r3wne8EAOvjzVYYSab9UxjNhh8O6BKovzd/r04pxE3mrQyoImB
BoEzxlwLL7zrIvbdfvmRj3WgfneL3AaKBmq0S2rhGIix0ZrQoF2p1TRsqudEsXc28zabH2y9n8nB
dPT2D972eS/lSB7Jf0De5y/dAVBLAwQUAAIACAD3eXpJzffHsu0AAACkBAAAeQAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9ldmVudF9jYW5wbGF5dGhyb3VnaF9ub2F1dG9wbGF5LXN0ZGVyci50eHRV
VAkAA6EXOlihFzpYdXgLAAEE9QEAAAQUAAAA7ZPBSgNBDIbP9ilybC/iynbVQTy4PbSgRRBREA/Z
2XQ6dJqUmWzFt3dWPOlp7UEQIZcJyZc//5Cl7OG0gmJqcpQl0GsqirPjIBYDRLWRdhLVs3uuzqvy
4gUuZ9R07spAIm5vKSV09Oh1XaOSk/hmYMxdCJPR8sdkz1575H2me+EFr8TA010NVpjJas7lmj0G
336ZMh2kXz/l34hzueI6N20M5MZAB4EVo9bCK++6iL3aD39kuwvUv+bIbaBooEa7phZOgBibPBMa
tJvsajpsq4dEsfds5q2ab+z8P6Ojyb9vv+DbkHv56+QhN/4OUEsDBBQAAgAIAPd5eklXiqCq8QAA
AAwGAABqABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2xvYWRlZGRhdGEtc3RkZXJyLnR4
dFVUCQADohc6WKIXOlh1eAsAAQT1AQAABBQAAADtlMFKA0EMhs/2KXK0F3FLu+ogHro9KGgRRBSK
h+xsOh06JmVmtuLbmxVPeloreFmYywzJlz//kCxlD5MSipnRM50BvaWiODsJYjFAzDbSTmL27Fbl
eTm9eIHLBdWtuzKQiJs7SgkdPfm8qTCTk/hu4JjbEMaj5a/Jnn3ukA9K98I3vBYDz/cVWGEmm/VN
Y/YYfPOtStlLf/6SfyvOacRck7YGNDHQQeCMMVfCa+/aiJ3aT3/kdReou10jN4GigQrthho4BWKs
tSbUaLfqajqsq8dEsfNs4W02P9j6P6Oj8eDbP/jWZ14G8kD+C3KfXfoBUEsDBBQAAgAIAPh5ekmm
peEM7gAAAKQEAAB1ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2xvYWRlZGRhdGFfbm9h
dXRvcGxheS1zdGRlcnIudHh0VVQJAAOjFzpYoxc6WHV4CwABBPUBAAAEFAAAAN2TwUoDQQyGz/Yp
crQXcaVudRAPbg8KWgQRBfGQnU2nQ8ekzGQrvr1Z8aSnKoIKc8mQfPnzh8xlAwc1VIfO3qQGei5V
Nd1L4jFBVp9pLVkjh4f6qJ4cP8LJjNo+nDooxN0VlYKB7qIuG1QKkl8c7HKf0ng0/zI5ctQBeWP0
KHzBC3Fwf92AF2byan+Ws8EUuw9dplvp13f5lxKCZZxZ0cqBFSb6FlgxayO8iKHPOKh980ee1omG
6By5S5QdNOiX1ME+EGNrPaFFvzJXy6+civS2UB6WMYte3SfRtvjRzvgP+/bT4211L/+dvM2NvwJQ
SwMEFAACAAgA+Hl6SeoYa3rqAAAApAQAAG4AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRf
bG9hZGVkbWV0YWRhdGEtc3RkZXJyLnR4dFVUCQADpBc6WKQXOlh1eAsAAQT1AQAABBQAAADtk01L
A0EMhs/2V+RoL+JK3dZBPLg9KGgRRBSKh+xsOh06JmUmrfjvzYonPVU9iAi5JCRPPl4yky0c1VAd
O7PRGOi5VNX4IInHBFl9prVkjRzm9aQenTzC6ZTaTThzUIi7ayoFA91HXTaoFCS/ONjnTUrDwezL
5MhRe+St0aPwJS/EwcNNA16YyavFLGeLKXYfukx2ml/fx7+SECzj3IpWDqww0e8EK2ZthBcxbDL2
Z3g7vDytE/XeBXKXKDto0C+pg0MgxtZ6Qot+ZXKV7211Vyj3YkyjV/eJbcIP9ob/6/3Mv/x18i4/
/gpQSwMEFAACAAgA+Xl6STQZfLXqAAAApAQAAHkAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZl
bnRfbG9hZGVkbWV0YWRhdGFfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAAOlFzpYpRc6WHV4CwAB
BPUBAAAEFAAAAO2TwUoDQQxAz/YrcrQXcaXWdhAPbg8KWgQRBfGQnU2nQ8ekzGQr/r1Z8eZJVy8i
zGWG5CV5Q5ayg6MpVMfOzmQG9FKq6uQgiccEWX2mrWSNHB6ns+lk/gSnC2q6cOagELfXVAoGuo+6
rlEpSH51sM9dSuPR8tvkyFF75K3Ro/Alr8TBw00NXpjJq71ZzA5TbAdUKaQf7V9JCBZxbkkbB5aY
aBBYMWstvIqhy9h3++5HnreJ+tsFcpsoO6jRr6mFQyDGxmpCg35jVsuwqe4K5d7ZInp1n9j2P6O9
8b+3H/E2/7V9+evkr+z4G1BLAwQUAAIACAD5eXpJHHhJWe4AAACkBAAAaQAcAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRp
YS1lbGVtZW50cy9ldmVudF9sb2Fkc3RhcnQtc3RkZXJyLnR4dFVUCQADphc6WKYXOlh1eAsAAQT1
AQAABBQAAADtk8FKA0EMhs/2KXK0F3GlXe0gHtweLNQiiCgUD9nZdDp0TMrMbMW3Nyu9FE9rD4II
uUxIvvz5hyxkBxclFGOjMZoAvaeiuDwLYjFAzDbSVmL27JblVTmavML1lOrW3RhIxM09pYSOnn1e
V5jJSfwwcMptCMPB4sdkzz53yEele+EZr8TAy0MFVpjJZs1pzQ6Dbw6njM976c97+XNxTitutWlj
QBsDHQXOGHMlvPKujdip/fJH3raButcdchMoGqjQrqkBZTPWOhNqtBt1NR231VOi2Hk29Tabb2z9
n8HJ8N+3X/Ctx738eXKfG/8EUEsDBBQAAgAIAPp5ekmUx9w27AAAAKQEAAB0ABwAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL2V2ZW50X2xvYWRzdGFydF9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAkAA6cX
OlinFzpYdXgLAAEE9QEAAAQUAAAA7ZPBSgNBDEDP9itytBdxxVYdxIPbg4IWQUSheMjOptOhY1Jm
shX/3qx481QX0YMwlxmSl+QNmcsWjqZQTZydySHQa6mqk4MkHhNk9Zk2kjVyWExPp8dnz3A+o6YL
Fw4KcXtLpWCgx6irGpWC5DcH+9ylNB7Nv02OHLVH3hs9Cl/zUhw83dXghZm82pvFbDHFdkCVQvrZ
/o2EYBGXlrR2YImJBoEVs9bCyxi6jH23H37kZZOov10ht4mygxr9ilowNmNjNaFBvzarZdhUD4Vy
72wWvbovbPuf0d7439svePupfdmNXP0J8i47/g5QSwMEFAACAAgA+nl6Sb2xcnXwAAAADAYAAHwA
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVk
LWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfY2FucGxheV9jYW5wbGF5dGhyb3Vn
aC1zdGRlcnIudHh0VVQJAAOoFzpYqBc6WHV4CwABBPUBAAAEFAAAAO2UwUoDMRBAz/Yr5mgv4pZ2
1SAe3B5a0CKIKBQPs9lpGprOlCRb8e+dFW+e7CKCFHJJmHkz80KykD2MSigmRtekAHpLRXFxFsRi
gJhtpJ3E7Nkty8tyfPUK11OqW3djIBE395QSOnr2eV1hJifx3cAptyEMB4uDyZ597pCPSvfCc16J
gZeHCqwwk816pjF7DL7pUSVR/mr/TpzTiFtN2hjQxEC9wBljroRX3rURu24//ch2F6jbzZCbQNFA
hXZNDZwDMdZaE2q0G7Wa+k31lCh2zqbeZvONrfczOBkevf2Bt996L0fy4eTRPyf/5C/9AFBLAwQU
AAIACAD7eXpJEPnIZO8AAAAMBgAAdQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9vcmRl
cl9jYW5wbGF5X3BsYXlpbmctc3RkZXJyLnR4dFVUCQADqRc6WKkXOlh1eAsAAQT1AQAABBQAAADt
lMFKAzEQQM/2K+bYXsStdtUgPbg9KGgRRCyIh2x2mobGmZLMVvx7Z8Wbp7qCl4VcEmbezLyQLHkP
0xKKmdE1mwK+56I4P47sbIQkLuGOkwTyL+VFeXb5ClcLrFs/N5CRmnvM2Xp8DrKprKDn9GFgTG2M
k9Hy1+RAQTrko9ID0y2t2cDqoQLHROhEzzRmb2NoelTJKN/t37H3GnGtSVsDmhixF1hskoppHXyb
bNftlx9+20XsdjeWmojJQGXdBhs4ASRba02orduq1dxvqqeMqXO2CE7MD7bez+hoMnj7B2+HvJfT
gTyQ/4B8yF/6CVBLAwQUAAIACAD7eXpJalYQ0e8AAAAMBgAAfwAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVt
ZW50cy9ldmVudF9vcmRlcl9sb2FkZWRtZXRhZGF0YV9sb2FkZWRkYXRhLXN0ZGVyci50eHRVVAkA
A6oXOliqFzpYdXgLAAEE9QEAAAQUAAAA7ZSxTgMxDEBn+hUe6YK40h4QoQ5cB5CgQkKISoghl3PT
qMGuEl8Rf48PsTHBle2kLInsZ/tFyZL3MCmhmBldszPA91wU5yeRnY2QxCXccZJA/qW8KKeXr3C1
wLr1cwMZqbnHnK3H5yCbygp6Th8GjqmNcTxa/pkcKEiHfFR6YLqlNRtYPVTgmAid6JnG7G0MTY8q
GeW7/Tv2XiOuNWlrQBMj9gKLTVIxrYNvk+26/fLDb7uI3e7GUhMxGais22ADp4Bka60JtXVbtZr7
TfWUMXXOFsGJ+cHW+xkdjQdvB/E2/bf3MpAH8iHIv/lLPwFQSwMEFAACAAgA/Hl6SZtNaenuAAAA
DAYAAHgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfbG9hZHN0YXJ0X3Byb2dy
ZXNzLXN0ZGVyci50eHRVVAkAA6sXOlirFzpYdXgLAAEE9QEAAAQUAAAA7ZTBSgMxEEDP9ivmaC/i
SnfVIB7cHhS0CEUUxEM2O01D40xJZiv+fWfFmyfdelvIJWHmzcwLyYJ3cFZBURpd5QzwIxfF+Ulk
ZyMkcQm3nCSQf60uqtnlG1zNsen8tYGM1D5gztbjc5B1bQU9p08Dx9TFOJ0s/kwOFKRHLpUemO5o
xQZeHmtwTIRO9ExjdjaGdkCVjPLd/j17rxE3mrQxoIkRB4HFJqmZVsF3yfbdfvnh923EfndrqY2Y
DNTWrbGFU0CyjdaExrqNWs3DpnrKmHpn8+DE/GDr/UyOpqO3g3gr/+29jOSRfAjyb/7SPVBLAwQU
AAIACAD8eXpJQ38dDfEAAAAMBgAAZQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wYXVz
ZS1zdGRlcnIudHh0VVQJAAOsFzpYrBc6WHV4CwABBPUBAAAEFAAAAO2UwUoEMQyGz7tPkaN7kR1x
Ri3iwdmDgi6CiIJ4yHSy3bI1XdrMim9vRjzpaVzBy0AvLcmXP39JlnEHRxUUpdFTlkBvuShODkO0
GCCJTbSNSTy75+q0Oj57gfMFNZ27MJCJ21vKGR09elnXKORiejdwwF0Is+ny12TPXnrkvdJ95Gte
RQNPdzXYyExW9E1jdhh8+61KNUi/fMm/ic5pxKUmbQxoYqC9wIJJ6sgr77qEvdpPf+LrNlB/u0Ju
AyUDNdo1tTAHYmy0JjRoN+pq3q+rh0yp92zhrZgfbP2f6WQ2+vYPvg2Zl5E8kv+CPGSXfgBQSwME
FAACAAgA/Xl6SaqpNDnsAAAA/gQAAHAAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfcGF1
c2Vfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAAOtFzpYrRc6WHV4CwABBPUBAAAEFAAAAO2TwUoD
QQyGz/YpcrQXccVudRAPbg8KWgQRBfGQnU2nQ8ekzGQrvr1Z8aSn0oMiQi4Tki9//iFz2cBRDdXE
WUxqoNdSVdODJB4TZPWZ1pI1cniqT+rj02c4m1Hbh3MHhbi7oVIw0EPUZYNKQfKbg33uUxqP5r+Q
HDnqgLwzehS+4oU4eLxtwAszebWc1Wwwxe7LlOlW+vVT/rWEYBUX1rRyYI2JdgIrZm2EFzH0GQe1
H/7IyzrR8LpE7hJlBw36JXVwCMTY2kxo0a/M1bLbVveF8uDZLHp139j2P6O98b9vP+DbNvfy18nb
3Pg7UEsDBBQAAgAIAP15ekmbV8kK8gAAAAwGAABkABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2
ZW50X3BsYXktc3RkZXJyLnR4dFVUCQADrhc6WK4XOlh1eAsAAQT1AQAABBQAAADtlEFLAzEQhc/2
V8zRXsQtdluDeOj2oKBFEFEoHmaz0zQ0zpRktuK/Nyue9NTuRbCQS8LMN2/egyxkB6MSirHJZzwB
ek9FMTkLYjFAVBtpK1E9u2U5LS8uX+FqTnXrrg0k4uaeUkJHz17XFSo5iR8GTrkNYThYHEz27LVD
Pma6F77llRh4eajACjNZzW+5ZofBNz+mTPfSr9/y78S5XDHLTRsDuTFQL7Bi1Ep45V0bsVP75Y+8
bQN1txvkJlA0UKFdUwPnQIx1ngk12k12NfXb6ilR7Dybe6vmFzvnMzgZ9pqwT+5/hXzM+v9kfSQf
9pd+AlBLAwQUAAIACAAAenpJKqRP4+8AAACkBAAAbwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9l
dmVudF9wbGF5X25vYXV0b3BsYXktc3RkZXJyLnR4dFVUCQADrxc6WK8XOlh1eAsAAQT1AQAABBQA
AADdk8FKA0EMhs/2KXJsL+JKu7aDeHB7qKBFEFEoHmZn0+nQaVJmshXf3qx40tMqggpzyZB8+fOH
LPkApyUUE6NvMgV8zkVxdhzZ2QhJXMI9JwnkV+W0HM+e4HyOdesvDGSk5gZzth4fgmwqK+g5vRgY
UhvjaLD8MjlQkA55p/TAdEVrNvB4W4FjInSif5pzsDE0H7rMeumXd/nX7L1mXGrR1oAWRvwWWGyS
imkdfJtsp/bNH97tI3bRwlITMRmorNtgAyeAZGvtCbV1W3U1/8qpUO4zpm4Z8+DEfBKtix8cjf6w
bz89Xq97+e/kPjf+ClBLAwQUAAIACAAAenpJf8AW3vQAAAAMBgAAZwAcAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1l
bGVtZW50cy9ldmVudF9wbGF5aW5nLXN0ZGVyci50eHRVVAkAA7AXOliwFzpYdXgLAAEE9QEAAAQU
AAAA7ZRBSwMxEIXP9lfM0V6kK3a1QXro9qCgRRBRKB6y2WkaGmdKMlvx3zsrHgQv2r0IFnJJmPnm
zXuQBe/gtIRibPSMJ4CvuSjOTyI7GyGJS7jlJIH8srwozybPcDnHuvVTAxmpucWcrcfHIOvKCnpO
bwaOqY1xOFjsTQ4UpEPeKz0wXdOKDTzdVeCYCJ3om9bsbAzN1ymlGY1+pV8+5d+w91ox06aNAW2M
2AssNknFtAq+TbZT++EPv2wjdrcrS03EZKCybo0NKJtsrTOhtm6jruZ+Wz1kTJ1n8+DEfGNrPoOj
Ya8JP879D5EPWf+frA/k/f7Sd1BLAwQUAAIACAABenpJAFsXm+8AAAAMBgAAcgAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5aW5nX25vYXV0b3BsYXktc3RkZXJyLnR4dFVUCQADsRc6
WLEXOlh1eAsAAQT1AQAABBQAAADtlMFKAzEQhs/2KeZoL9KIrhrEg9uDghZBREE8zGanaWicKcls
xbc3K570tFbwsseEmW/+fCFZyBYOKzDH1lR2NgN6y8acHERxGCGpS7SRpIH9c3VaHZ29wPmcms5f
WMjE7S3ljJ4eg65qVPKS3i3scxfjdLL4NTlw0B55X+hB+JqXYuHprgYnzOS07JWaLcbQfptiBuXX
r/g34n2puCxNawulMdJOYMWktfAy+C5hn/bTj7xuIvWrK+Q2UrJQo1tRC0UNY1NmQoNuXazm3U71
kCn1zubBqf3BLvcz2ZuO3v7B25D3MpJH8l+Qh/ylH1BLAwQUAAIACAABenpJ4YoyQvEAAAAMBgAA
aAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wcm9ncmVzcy1zdGRlcnIudHh0VVQJAAOy
FzpYshc6WHV4CwABBPUBAAAEFAAAAO2UQUsDMRCFz/ZXzNFepCm6ahAPbg8KWgQRBfEwm52moXGm
JLMV/71Z8aSndi+CPSbMfO/lPchcNjCtwJxYU9mJAXrPxpweRXEYIalLtJakgf1LdVYdn7/CxYya
zl9ayMTtHeWMnp6CLmtU8pI+LBxyF+N4NN+ZHDhoj3wo9CB8wwux8HxfgxNmclruyswGY2h/qEy3
8q/f9m/F+zJxVZZWFspipEFgxaS18CL4LmHv9isfeVtH6k/XyG2kZKFGt6QWJkCMTdGEBt2qpJqH
veoxU+ozmwWn9he79DM6GA9S2Kb3v0Led/1/ut6Td/tLPwFQSwMEFAACAAgAAnp6SeJOFdrtAAAA
pAQAAHMAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfcHJvZ3Jlc3Nfbm9hdXRvcGxheS1z
dGRlcnIudHh0VVQJAAOzFzpYsxc6WHV4CwABBPUBAAAEFAAAAO2TwUoDMRCGz/Yp5mgv0m3rqkE8
dHuwoEUQsSAeZrPTNDTOlGS24tubFU96WnsQxGPCzDd/vjBL2cO4hOLUFKUZjYFeU1GcnQSxGCCq
jbSTqJ7dU3leTi+e4XJOdeuuDCTi5pZSQkePXjcVKjmJbwaOuQ1hOFj+mOzZa4e8z3QvvOC1GFjd
VWCFmazmu1yzx+CbL1MmvfLrZ/wbcS5XzHLT1kBuDHQQWDFqJbz2ro3Ypf3wIy+7QN3pGrkJFA1U
aDfUwAiIsc4zoUa7zVbTYa96SBQ7Z3Nv1Xxj5/8ZHA3/vf2Ctz778tfJfXb8HVBLAwQUAAIACAAD
enpJNBcGHPMAAAAMBgAAagAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF90aW1ldXBkYXRl
LXN0ZGVyci50eHRVVAkAA7UXOli1FzpYdXgLAAEE9QEAAAQUAAAA7ZTBSgMxEIbP9inmaC/S1Xar
QTy4PShoEUQUxMNsdpqGxpmSzFZ8e7PFk57WgoL0mDDzzZ8vJHPZwHEJxcQUpRmdAL2lopgeBbEY
IKqNtJaont1zeVqOz17gfEZ16y4MJOLmllJCR49elxUqOYnvBg65DWE4mP+Y7Nlrh7zPdC98zQsx
8HRXgRVmspr3cs0Gg2++TBn3yq+f8W/EuVxxmZtWBnJjoJ3AilEr4YV3bcQu7daPvK4Ddasr5CZQ
NFChXVIDIyDGOs+EGu0qW027neohUeyczbxV842d72dwMNx7+wNvfd7Lnvw75Mk/J/f5Sz8AUEsD
BBQAAgAIAAN6ekkIyD6n8AAAAAwGAAB1ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3Rp
bWV1cGRhdGVfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAAO2FzpYthc6WHV4CwABBPUBAAAEFAAA
AO2UwUoDMRCGz/Yp5mgv0i121SAeuj0oaBFEFIqH2ew0DY0zJZmt+PZmxZOe1gpe9pgw882fLyRL
2cO0hGJmitJMZkBvqSjOToJYDBDVRtpJVM9uVZ6XpxcvcLmgunVXBhJxc0cpoaMnr5sKlZzEdwPH
3IYwHi1/TfbstUM+ZLoXvuG1GHi+r8AKM1nNe7lmj8E336aUvfLrV/xbcS5XzHPT1kBuDHQQWDFq
Jbz2ro3Ypf30I6+7QN3qGrkJFA1UaDfUwASIsc4zoUa7zVbTYad6TBQ7Zwtv1fxg5/sZHY0Hb//g
rc97GcgD+S/Iff7SD1BLAwQUAAIACAAEenpJe9xa54MAAADAAAAAbAAcAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1l
bGVtZW50cy9ldmVudF92b2x1bWVjaGFuZ2Utc3RkZXJyLnR4dFVUCQADtxc6WLcXOlh1eAsAAQT1
AQAABBQAAACdzLEKwjAQgOG9T3GjLmJEowZxqYuDRXBQEIeYnvEg3Elyrfj21ldw/fn5GulhZsEs
nLFuagHfxZjlJEnwCbKGjC/JShyvdmXn6xtsdnjv4tZBQW4PWIqPeCZ91l4xSv44GHGX0rhq/paJ
SX/kadBJeM8PcXA51hCEGYMObXh6n6itvlBLAwQKAAAAAAD1eXpJAAAAAAAAAAAAAAAAWgAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1VUCQADnRc6WAMaOlh1eAsAAQT1AQAABBQA
AABQSwMECgAAAAAA9Xl6SQAAAAAAAAAAAAAAAGQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50
ZXJmYWNlcy9UZXh0VHJhY2svVVQJAAOeFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAD1
eXpJ2kHclbwAAACSAQAAeQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRU
cmFjay9hY3RpdmVDdWVzLXN0ZGVyci50eHRVVAkAA50XOlidFzpYdXgLAAEE9QEAAAQUAAAApZCx
bgIxDIbn3lN4hKXiEFyrqOrAMYAEbKgD6uBLTIgINkp8IN6etOrGViQvlvx/n/xv5ALjBuqpKTOp
ga65rt9eo1iMkNQmOkvSwH7XvDejyTd8zKnr/aeBTLqmnNHTSrwvF7MSOhoowUiu2vwfrJi0Fd4H
3yfUIPwV9NDK6RzpZ1sgu0jJQIv2QA5GQIxdcUKH9kjs8jNy0m2mtOS9zINV88A2MKhehk8Z2P0V
9/sXKnlJt8LlPsZhdQdQSwMEFAACAAgA9Xl6Sda2x4OEAAAAwAAAAHUAHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEt
ZWxlbWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svYWRkQ3VlLXN0ZGVyci50eHRVVAkAA54XOlie
FzpYdXgLAAEE9QEAAAQUAAAAncyxCsIwEMbxvU9xoy5ipFYJ4lIXB4vgoCAOMT3jQbiT5Frx7Y2v
IHzTn49fJyMsGjBLW1YbwHc2ZjWL4l2EpD7hS5ISh2uzbub1DTY7vA9hayEj9wfM2QU8kz5bpxgk
fSxMeIhxWnV/y8SkP/JUdBLe80MsXI4teGFGr6WVz+gi9dUXUEsDBBQAAgAIAAR6ekmaHh+45gAA
AOQDAAB3ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL25ldHdvcmtTdGF0ZV9kdXJpbmdfbG9hZHN0
YXJ0LXN0ZGVyci50eHRVVAkAA7gXOli4FzpYdXgLAAEE9QEAAAQUAAAA5ZHBSgNBDIbP7lPkqBfp
Ft2ug3jo9qCgRRBREA/ZmXQ6dEzKTLbi2zsrnvSmiILHQPL95PuXsoNpA/WxqRszmQE957qeHUax
GCGpTbSVpIH9Q9M2RyePcLqgfvBnBjLpFeWMni7F+7IxL0cbA+UwkquWXwcrJu2EV8EPCTUI3wVd
d/K0jTRO58guUjLQoV2TgwkQY18yoUe7IXb5O+Gkt5nSBa9kEayaT2wD+9XewYeE9qe8tb/prf1j
3ti9i3v7C5W8pJfC5SHG/0YOHHRE3hR66Xb0buD+ugMrzGTHvsvODmNw1StQSwMEFAACAAgABHp6
SbXet36EAAAAwAAAAG4AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvbmV0d29ya1N0YXRlX2luaXRp
YWwtc3RkZXJyLnR4dFVUCQADuBc6WLgXOlh1eAsAAQT1AQAABBQAAACdzLEKwjAQgOG9T3GjLmJE
Yw3FpS4OFsFBQRxiesaDcCdJWvHtja/g+vPzdTLCQoNaGaXNvAZ8J6XWsyDOBojZRXxJzMT+qmu9
3Nyg2eF98FsDCbk/YErW45nys7UZvcSPgQkPIUyr7m+ZmPKPPBWdhPf8EAOXYwtOmNHl0soz2kB9
9QVQSwMEFAACAAgABXp6SV/2gWPkAAAATAUAAHIAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGF1
c2VkX2ZhbHNlX2R1cmluZ19wbGF5LXN0ZGVyci50eHRVVAkAA7kXOli5FzpYdXgLAAEE9QEAAAQU
AAAA7ZNBSwNBDIXP7q/IsV6kW3S1g3hwe1DQIogoFA/ZmXQ6dEzKTLbiv3dWvHlr8bbHwHvfI49k
KXuYNVBfmLox0znQZ67ry7MoFiMktYl2kjSwXzVXzfn8Ha4X1PX+xkAmfaSc0dODeF8Ut8W0NVCM
kVy1PBysmLQVXgffJ9Qg/Bp008rHLtIw3SG7SMlAi3ZDDqZAjF3JhA7tltjlY8JJXzKle17LIlg1
f9gGJtXJ6XEJY28HJbD7Le5nL1Tykr4Kl/sYR/JI/g9y4KAD8rnQyw8N923g7akFK8xkh78qmj3G
4KpvUEsDBBQAAgAIAAV6ekmIwA0O5wAAAP4EAAByABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3Bh
dXNlZF90cnVlX2R1cmluZ19wYXVzZS1zdGRlcnIudHh0VVQJAAO6FzpYuhc6WHV4CwABBPUBAAAE
FAAAANWTwUoDQQyGz/YpcrQXcYuuOoiHbg8KWgQRBfGQnU2nQ8ekzGQrvr1Z8eaxCNtjQvLlzx+y
lB3MaqjOXVW76hTos1TVxUkSjwmy+kxbyRo5vNWX9dnVO1wvqO3DjYNC3D1QKRjoJeq6QaUg+cvB
MfcpTSfLEZIjRx2QT0aPwne8Egevjw14YSavlrOaHabY7aVff+XfSwhWMbemjQNrTLQXWDFrI7yK
oc84qP3xRz62iYboFrlLlB006NfUgbEZW5sJLfqNuVpGuRXpc6E8HGMRvbo/ou3wk6PpAfv23+sd
4CeO48e/AVBLAwQKAAAAAAD3eXpJAAAAAAAAAAAAAAAAagAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50
cy9wbGF5aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9VVAkAA6EXOlgDGjpYdXgLAAEE9QEAAAQUAAAA
UEsDBBQAAgAIAPZ5eknpvdUpvQAAAJIBAACRABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3BsYXlp
bmctdGhlLW1lZGlhLXJlc291cmNlL3BhdXNlLW1vdmUtdG8tb3RoZXItZG9jdW1lbnQtc3RkZXJy
LnR4dFVUCQADoBc6WKAXOlh1eAsAAQT1AQAABBQAAAClkLFuAjEMhufeU3gsC+qV9qgixNBjaKWW
DTGgDr7EFyJSGyU+UN++AbGxgeTFkv/vk/+lHOC5gfrVlHmZAB1zXU/HUSxGSGoT7SVpYL9p3ppJ
/QOzBXWDnxvIpN+UM3r6Eu/LxXsJ7QyUYCRXLW8HKyZthfvgh4QahNdBt6387iOdtg9kFykZaNFu
ycETEGNXnNCh3RG7fI+cdJUpfXIvi2DVXLENPFYPo7sM7C7Fnf9CJS/pr3B5iHFU/QNQSwMEFAAC
AAgA9nl6STwa8dQlAQAAuwIAAI8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUt
bWVkaWEtcmVzb3VyY2UvcGF1c2UtbW92ZS13aXRoaW4tZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQAD
oBc6WKAXOlh1eAsAAQT1AQAABBQAAAClkk1PwzAMhs/sV/jIDkwtrF0VoUmsO4AE07QJgVRxyFI3
jRacKUnHx6/HneDCgQO1cklkP6/9xit3hMsc0kzwmU4B30KazibWKWnBR+Xx4Hw0pKu8yK/SF7he
4q7TcwEBqX7AEKTGJxPbUkbUzn8IOKfO2vFo9W+yIRN75JbpxtEdNU7A87oE5YhQRX7jnKO0ph5V
P/xJliTM4IByc7PYwpwDGtuFds2dss4GLcqAW4wCquR91qhimmc5NgUXLrivPSTQygDk6OITvQOP
DWt2FCEdME7A+O3TvdOaM05aArjQYj0EHKWPpaPG6M7L3pbTR7jXg8X+diuptugFlFK1WPN0SHLH
mrCTas+mhGFTPQb0/ecsjWJLf7N5EUZn40EKfy/YF1BLAwQUAAIACAD3eXpJ6ekr8d4AAAAGAwAA
jwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9wYXVz
ZS1yZW1vdmUtZnJvbS1kb2N1bWVudC1zdGRlcnIudHh0VVQJAAOhFzpYoRc6WHV4CwABBPUBAAAE
FAAAAM2RwUoDQQyGz/YpcrQXcbWuMogHtwcLbRFEFMRDdjadDh2TMpOt+PZmxZsHD3sp5JKQfPnz
Zy0HuKihunIWsxnQZ6mq67MkHhNk9Zn2kjVyeKtv6svqHW7n1PbhzkEh7lZUCgZ6ibptUClI/nJw
yn1K08n6CMmRow7IJ6NH4QVvxMHrYwNemMmr1azngCl2o/Trr/ylhGAd9za0c2CDiUaBFbM2wpsY
+oyD2h9/5GOfaMgekLtE2UGDfksdnAMxtrYTWvQ7c7WMu+q5UB48m0ev7g/b/jM5Oc6//0f+BlBL
AwQUAAIACAD3eXpJdieS64QAAAAaAQAAgQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5n
LXRoZS1tZWRpYS1yZXNvdXJjZS9wbGF5YmFja1JhdGUtc3RkZXJyLnR4dFVUCQADoRc6WKEXOlh1
eAsAAQT1AQAABBQAAADNzLEKwjAQxvG9T3GjLkLUVgniUhcHi+CgIA4xPeNBuJPkWvHtjW8hfNOf
j18nI8wbMLUtW9aA72zMahbFuwhJfcKXJCUO12bdLMwNNju8D2FrISP3B8zZBTyTPlunGCR9LEx4
iHFadX8oE5P+yFPRSXjPD7FwObbghRm9llY+o4vUV19QSwMEFAACAAgABnp6SfcgIAGGAAAAwAAA
AHgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcHJlbG9hZF9yZWZsZWN0c19ub25lX2F1dG9wbGF5
LXN0ZGVyci50eHRVVAkAA7sXOli7FzpYdXgLAAEE9QEAAAQUAAAAlcyxCsIwEIDhvU9xoy7iiUYN
xaUuDhbBQUEcYnrGQLiTJK349sbR0fXn52tlgJkCXGhUGqdAr4S4nASxJkDMNtJTYvbsLmql5usr
1Fu69W6jIRF3e0rJODr5/GhMJifxrWHEfQjjqv2R8Q/Zs89f8lh0L7zju2g4Hxqwwkw2l1aewQTf
VR9QSwMEFAACAAgABnp6SU2suk3jAAAATAUAAHMAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVh
ZHlTdGF0ZV9kdXJpbmdfY2FucGxheS1zdGRlcnIudHh0VVQJAAO8FzpYvBc6WHV4CwABBPUBAAAE
FAAAAO2TMUsDQRCFa+9XTBkbcYOeuohFLoWCBkFEQSzmdiebJetM2J2L+O/dEzuxsgmScuDN93jw
3kK2MG3BnFrTWmOA3osxZ0dJHCbI6jJtJGvk8NKetycXr3A5p34IVxYK6R2VgoFuJYSqmNWntYX6
mMg3ix0EK2bthJcxDBk1Cj9FXXXytkk0XtfIPlG20KFbkYdjIMa+ekKPbk3sy99SPRbKN7yUeXRq
f7AtTJqDw3283x3Yf/fiKxcqBckflctDSnvyfyNPd4IcOeqIfKj0uqGx3xae7ztwwkxu3FXVbDFF
33wCUEsDBBQAAgAIAAd6eknT3/U/7wAAAGYGAAB6ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3Jl
YWR5U3RhdGVfZHVyaW5nX2NhbnBsYXl0aHJvdWdoLXN0ZGVyci50eHRVVAkAA70XOli9FzpYdXgL
AAEE9QEAAAQUAAAA7ZTBSgMxEIbP9inmaC9iqq4axIPbg4IWQcSCeJjNTtPQOFOS2Ypvb1a8edI9
WKHHhJkv/3whmckGJhWYE2sqayZAb9mY04MoDiMkdYnWkjSwf67OquPzF7iYUtP5SwuZuL2jnNHT
U9BljUpe0ruFfe5iHI9mW0gOHLRHPhR6EL7hhViY39fghJmclr1Ss8EY2kH59Sv+rXhfKq5K08pC
aYw0CKyYtBZeBN8l7NN++pHXdaR+dY3cRkoWanRLauEQiLEpZ0KDblWs5mFTPWZKvbNpcGq/scv9
jPbGO29/4O3/vcRtIR/tyL8k/+Qv/QBQSwMEFAACAAgAB3p6SXnKrrPyAAAADAYAAHYAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvbWVkaWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfbG9hZGVkZGF0YS1zdGRlcnIudHh0
VVQJAAO+FzpYvhc6WHV4CwABBPUBAAAEFAAAAO2UwUoDQQyGz/YpcrQXcbSuOpQe3B4UtAgiCuIh
O5tOh45JmclWfHtnxZsnWwWFHjMkX/78YTKTNRxVYE6sqaw5BnrNxpweRHEYIalLtJKkgf1TdVaN
zp9hPKWm8xMLmbi9oZzR00PQRY1KXtKbhX3uYhwOZhuTAwftkXeFHoSveC4WHm9rcMJMTstbyVlj
DO0WXTLpp/xr8b5kXJSipYVSGGkrsGLSWngefJewV/vhj7ysIvXRJXIbKVmo0S2ohUMgxqb0hAbd
sria/+RUpPeZUr+MaXBqv4guix/sDf+xbxuMN/q1/7Ij78g/Qf7OLX0HUEsDBBQAAgAIAAh6ekl0
pH6U8QAAAP4EAAB6ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVyaW5nX2xv
YWRlZG1ldGFkYXRhLXN0ZGVyci50eHRVVAkAA78XOli/FzpYdXgLAAEE9QEAAAQUAAAA5ZPBSgMx
EIbP9inmqBcx0qwapIduDwpaBBGF4mE2O01D40xJshXf3qx40pMsi4LHhJkvM/9HlrKH0wqUNqoy
agr0mpQ6Ow5iMUDMNtJOYvbsVtV5Nb14hssFNZ2bGUjE7S2lhI4efd7UmMlJfDNwyF0IR5PlHyR7
9rlH3he6F77mtRh4uqvBCjPZXO5KzR6DbwfNnz/HvxHnSsW8NG0NlMZAg8AZY66F1951EftpP/KR
l12g/nSF3AaKBmq0G2rhBIixKW9Cg3ZbUk3DtnpIFPvMFt5m841d/EwOvtrRo3nXYxnRv2lE/xsj
Y5F/8sffAVBLAwQUAAIACAAIenpJHD2DAO8AAAAMBgAAcwAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50
cy9yZWFkeVN0YXRlX2R1cmluZ19wbGF5aW5nLXN0ZGVyci50eHRVVAkAA8AXOljAFzpYdXgLAAEE
9QEAAAQUAAAA7ZTBSgMxEIbP9inmaC9ixK4axIPbg4IWQURBPMxmp2lonCnJbMW3Nyue9LRW8LLH
hJlv/nwhWcgWjiowM2sqa2ZAb9mYk4MoDiMkdYk2kjSwf65Oq+OzFzifU9P5CwuZuL2lnNHTY9BV
jUpe0ruFfe5inE4WvyYHDtoj7ws9CF/zUiw83dXghJmclr1Ss8UY2m9TqkH59Sv+jXhfKi5L09pC
aYy0E1gxaS28DL5L2Kf99COvm0j96gq5jZQs1OhW1MIhEGNTZkKDbl2s5t1O9ZAp9c7mwan9wS73
M9mbjt7+wduQ9zKSR/JfkIf8pR9QSwMEFAACAAgACHp6SR5roomDAAAAwAAAAGwAHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9pbml0aWFsLXN0ZGVyci50eHRVVAkAA8AXOljAFzpY
dXgLAAEE9QEAAAQUAAAAncwxCgIxEIXhfk8xpTZCRKMGsVkbCxfBQkEsYnaMA2FGklnF2xuvILzq
5/F18oKpBTN3xtYBvosxi0mS4BNkDRmfkpU4XuzSzlZXWG/xNsSNg4Lc77EUH/FE+mi9YpT8cTDi
IaVx0/0tE5P+yGPVSXjHd3FwPrQQhBmD1lY/L5+ob75QSwMEFAACAAgACXp6SaRV28DWAAAAwgIA
AIQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvc3JjX3JlZmxlY3RzX2F0dHJpYnV0ZV9ub3Rfc291
cmNlX2VsZW1lbnRzLXN0ZGVyci50eHRVVAkAA8EXOljBFzpYdXgLAAEE9QEAAAQUAAAA1VC7TgMx
EOz5ii2hOGwfAS7uokQoBQU6hSqicOw9zoofh73H97PoKBEdEmibGc3sanaO6larO63ur6Vcv8D+
cHjq8W3GSjD41z3R9EV33vVo0b9jj3XKqeLWhHAy9qyhLIKDkf3MFh1WcgWXWEou0Kh2fdNdwcD4
06SFCNmaMOZKuuukFCPFICpGk8jbKjCe0Dl0jc2JMJGI6LxpMGBkVsWQ88Xx5+xMd3OcHnwy4bl/
3CR+IGbCjXMcsWowCwDV8gUexWvshbmEXwmp2v9b8HfZ/0bBH1BLAwQKAAAAAAD2eXpJAAAAAAAA
AAAAAAAAVQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy90cmFjay9VVAkAA6AXOlgDGjpYdXgLAAEE
9QEAAAQUAAAAUEsDBAoAAAAAAPZ5ekkAAAAAAAAAAAAAAABjABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL3RyYWNrL3RyYWNrLWVsZW1lbnQvVVQJAAOgFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQU
AAIACAD2eXpJVAU9bA8BAABGAgAAggAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy90cmFjay90cmFj
ay1lbGVtZW50L3RyYWNrLWFwaS10ZXh0dHJhY2tzLXN0ZGVyci50eHRVVAkAA6AXOligFzpYdXgL
AAEE9QEAAAQUAAAApZE/T8MwEMVn8ilupANRHEIKFqpE0wEkQKgVYog6OPbFiWrsynb49+m5tLAw
ktMtZ+l+791zzS44dVGkObvawjUVVOub5QYWVNCaIXRPaFVv9RoNioAbjBzq7GPeNplgRc4UZltY
Gid3kEEnAlhnz77QO/DYgnSDjVAkj+4N8hJ+5QDfA2PzlNaEAR+lx73zkWTq8rIszsnKnW3dgoNx
WtMzhCh8DGma/gO1wmbQxAoYHzAEofH+SD3Y5kCLBtUU8Giucrbt9eBF7J196WNXude9wXG6FVYZ
9BwqITtUFBRa0ZAmNELuKN8w7arngH7Ma9VL+p2/bA6nyclskoJVP8Ed7hIRtfOfxLWDMbPkG1BL
AwQKAAAAAAD2eXpJAAAAAAAAAAAAAAAAXgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy91c2VyLWlu
dGVyZmFjZS9VVAkAA6AXOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAPZ5eklenWYQhAAA
AMAAAABuABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3VzZXItaW50ZXJmYWNlL211dGVkLXN0ZGVy
ci50eHRVVAkAA6AXOligFzpYdXgLAAEE9QEAAAQUAAAAncwxCgIxEIXhfk8xpTZCNEYJYrM2Fi6C
hYJYxOwYB8KMJNkVb2+8gvCqn8fXyQhzA2pp67QGfGelVrMo3kVIxSd8SSrE4WrWRi9usNnhfQhb
Cxm5P2DOLuCZyrN1BYOkj4UJDzFOm+5vmZjKjzxVnYT3/BALl2MLXpjRl9rqZ3SR+uYLUEsDBBQA
AgAIAAl6ekkvUneEvgAAAOwBAABjABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3ZpZGVvXzAwOC1z
dGRlcnIudHh0VVQJAAPBFzpYwRc6WHV4CwABBPUBAAAEFAAAALWQsW5CMQxF5/IVHmGpGgSPNqo6
8BhAAraqQ9XBLzEhItgo8WvF3xOqbt2KOl7J9xz5buUTxg2YqTWNNTOgr2LM7D6JwwRZXaaTZI0c
3pvHZvL0Ac8L6vrwYqGQbqgUDLSWEOrFvJYOFmoxkR9s/w5WzNoK72LoM2oUfou6b+V4SnRNS2Sf
KFto0e3JwwMQY1ed0KE7EPtyi5z0tVBe8U4W0an9xbYwHNyNbjKw/xnu+y9UCpLPlct9Sv9JvgBQ
SwMEFAACAAgACXp6SYnpExqDAAAAwAAAAGwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdmlkZW9f
dm9sdW1lX2NoZWNrLXN0ZGVyci50eHRVVAkAA8EXOljBFzpYdXgLAAEE9QEAAAQUAAAAncyxCsIw
EIDhvU9xoy5CRFMN4lIXB4vgoCAOMT3jQbiT5Frx7a2v4Prz87UywNyCWTpjnakB38WYepYk+ARZ
Q8aXZCWOV7uyi/UNNju893HroCB3ByzFRzyTPhuvGCV/HEy4T2latX/LxKQ/8jTqJLznhzi4HBsI
woxBxzY+g0/UVV9QSwMECgAAAAAA93l6SQAAAAAAAAAAAAAAAFIAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWF1ZGlv
LWVsZW1lbnQvVVQJAAOhFzpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAD3eXpJUbIUWt0A
AADQAgAAbgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC90aGUtYXVkaW8tZWxlbWVudC9hdWRpb19jb25zdHJ1Y3Rvci1zdGRl
cnIudHh0VVQJAAOhFzpYoRc6WHV4CwABBPUBAAAEFAAAANWQPU8DMQyGd36FRxiuSY4rXLNVrVAH
BnQqU8WQJi4XNR9H4vD7STlmmJBA9uDXfi099kEsZc1uubhr+Qvs9vunAd8KZoKTfd0RTV9ya82A
Gu07DpinGDJulHNHpc8S0jwwMFZ/VfMcOt7BNaYUEzSiXd32N3Cq9cUkGXNRKzfGTLLvOWcjeccy
ehXI6szQH9EYNI2OgTAQoxEbVYyNDTr0l05O+urwPX6V2+KnBxuUex4e16He4CPh2phKmSWouQDR
3i94DVHXqhdKcr/GKf7Xm0Nx7if+P/HnT9APUEsDBAoAAAAAABB6ekkAAAAAAAAAAAAAAAAtABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvVVQJAAPPFzpYAxo6
WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAEenpJk3Fdf7kAAAA9BAAAVwAcAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWFjdGl2ZXNvdXJj
ZWJ1ZmZlcnMtc3RkZXJyLnR4dFVUCQADtxc6WLcXOlh1eAsAAQT1AQAABBQAAADN0rEOgjAQxvHd
p7gXwPQOWi2bxsXESY2LcahwYBNoSQsx+PS6qzNsl2/655cjgSpBTEgByhxVLtRSyxR2Q9sd2ZUc
zoH5qtYKRZ4irjO6wb52PlhXQ+FdH3xzti3fTWSI3MN9hKKx7D4XF2b4rJvLybRdw9uhqjjsbOwa
Mx7MyAGeJoIpSy6h92Agjq54BO/si8OCvtJWS0H6dxrpjCZOk2K2apL+qUmhV9OmZXNVw5Tm+muo
1RzU3lBLAwQUAAIACAAEenpJyL1lVIoAAACbAAAAUAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWFwcGVuZHdpbmRvdy1zdGRlcnIudHh0
VVQJAAO4FzpYuBc6WHV4CwABBPUBAAAEFAAAAA3IvQ6CMBAA4N2nuBfAcIANYdOwmDgpcTEOR3tg
k/6QK8TUp5fty1eVqArEolKApw5VV7bHpkboN7/cORiWQZhfqlVYdjVi21RvuM4hig0z6BhWiW6w
nkdKDIlXGDNoZznsYk3bvufng/zi+LJNE0tv0+Io3yizwJcSkDFsYI1AkHLQH4nB/lgOf1BLAwQU
AAIACAAFenpJ469WLSUBAAApAwAATAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtc291cmNlL21lZGlhc291cmNlLWF2dHJhY2tzLXN0ZGVyci50eHRVVAkAA7kXOli5FzpY
dXgLAAEE9QEAAAQUAAAAzZDNTsJAFIX3PsV9AdrOWIbSnRYREkhIKW6Mi2HmApO0M3V+MPXpbY2J
iYGturonN2fxnY8mhI0IGVEGZJwTlidZNGUUZqFpS9QSbWURn1nGSJLfEpKl9AWWR22s0kcQRntr
6ko1uOcOwaGHfQeiVqj7hIKH/nv3tOVNW+N9OBzQzpRra96teIcW3rgDLiVK8AY4uE6LkzVavaO9
oRfRJlfQkpRN0j9Fm6b/wVq8NcEKLLg4YVwYi2uUin+nERkzGtE0iTfWeOO7Fl08V8dFVW2GW3xS
LLiWNcoiOG+aXbnqu2fVz4rEF+bPQmGReyzRtUY7nCnh58Y+oi/xNaDzORQm1BK08cP8M1oPu2o5
8K+X6wcYMHK44HUaJRm75pWSLPstrx9QSwMEFAACAAgABXp6SckdSV2sAAAABwMAAEwAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1idWZm
ZXJlZC1zdGRlcnIudHh0VVQJAAO5FzpYuRc6WHV4CwABBPUBAAAEFAAAAM3OvQ6CMBRA4d2nuC+A
6a2l/GwaFhMnJS7GocIFm0BLWoipTy8PgDNsJ2f6OEMZIUZcAsY5ypxl+zjlUEz9cCVTkysd0UOm
Ell+QI5p8oRza6zTpoXKmtHZrtQ9vZQn8DTCK0DVaTJzUaWm+R7vN9UPHZ2mpiFXaD90KlxUIAcf
5UHVNdUwWlDgg6nezhr9JbfjizTxh8aETMS6tHi7tHSZxjPBBV+VluEWaD9QSwMEFAACAAgABnp6
SfKhSMgsAQAAyAMAAF8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC1hLWJpdHJhdGUtc3RkZXJyLnR4dFVU
CQADvBc6WLwXOlh1eAsAAQT1AQAABBQAAADl0M1uwjAMAOA7T+Hb4ABt+Ik2pF3oQNuhEhLaCSEU
Ehci0rhy0228/VIhxoSmvQCnOI5t+ctaTKZCTkU6EFJsoGC1z5W3BTmzXTb1YXYKWENt9145hwaQ
+bkvZDqW0D0u7E/xnJl4++7xq0Id0Lx5G15UUD3orlCTN/BQhFP1ACpQCeg1NT4go+nFDCQralhj
pvQBk4wYczRWXaO+mMjhYDhOkyVToDgI62RBXKrwqrxxyHWS04fFpF2pDRYRUqIPl/0GGpz1CEKO
0s76in68S/TT/aGHabqBLF+psnI4a4oCOYvQOHoedzmnb/QCuvGIrrXaEQfr9+CIKkDF7gSmQQjU
FhLH34xWHVt3Sh83/0i38d9L/CQ+1n+hzz3np1b4e93b+wU6knLU+QZQSwMEFAACAAgACHp6SZLD
6dnbAQAAHwYAAGYAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJj
ZS9tZWRpYXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC1hdi1hdWRpby1iaXRyYXRlLXN0ZGVyci50
eHRVVAkAA78XOli/FzpYdXgLAAEE9QEAAAQUAAAA5ZPBbtswDEDv/QremgJLbDmNOgfbgNRpMAML
0C7dLkEQKDKdCLEll5bXeV8/Olm7oBh2HbDqIpKiSD6KWorRWMixiAYylivISW3nyprcFdn6tql3
163HGmqztaooMAMket8XMryU0NvPzLPzDZGj9ReL3yvUHrPUGj9VXl1Ab4Ha2QzOc99W56C8KwGt
do31SJhdsAWChWtIY6L0DoPEEc4xM+q31BcjGQ2iyzC4JecdB8I6mDkqlf+obFYg1cHcfTMYdCV1
woxBSrT+qb6BhsJYBCGH4dnyGfpKDF8h9FC8QugRv3QyX6iyKvC6yXOkhEE59A3XcjS/oBfQ4425
lmrjyBu7hcK5ClBR0ULWIHjXOTribjKr5qsbpferv5Cuue8lPjra13+CPt45HnWEp+W+1J9Ah1IO
T0BjGa7gHS9I7/rJBD7wgso8aLVG+9Bgg2mptpjaZHIQ7jrTGE611NZI/qBDrgz34w3jllXXgUP9
/zKd+O/SRaGQfSH6kYRfiS8HcRzClL0+o82Q7glxKd9KEY6jeBTGVytIt9ZRF4O/nCdX3JsSN6rm
GUYPmxZ0YfhTwAa1atg6+Xo6OlNTV4VqP6kWCR5VDSrLeOh5nBXUrdU7ctb8QDr7CVBLAwQUAAIA
CAAJenpJkdWkb9sBAACwBQAAZgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2UtbXA0LWF2LXZpZGVvLWJpdHJhdGUt
c3RkZXJyLnR4dFVUCQADwRc6WMEXOlh1eAsAAQT1AQAABBQAAADlk1Fv2jAQgN/7K+6tVBokhmBa
tE2ioWiRhtSObi8IIeNcwCKx04vTLvv1u8C6omra27SH+sV35/PdfefzUgzHQo7FsDeIxAoyUtu5
siZzebq+ravddeOxgspsrcpzTAGJPnSFDCMJnf3M/Ha+IXK0/mrxe4naY5pY46fKqwvoLFA7m8J5
5pvyHJR3BaDVrrYeCdMLtkCwcDVpjJXeYRA7wjmmRr1IXTGU/V4/CoNbct5xIKyCmaNC+U/KpjlS
Fczdo8GgLakVZgxSoPXP9fU05MYiCDkIz5Yv0MOrNwg9km8Q+mq0gni+UEWZ43WdZUgxg3LoG67l
aH5FL6DDG3Mt1caRN3YLuXMloKK8gbRG8K51dMTdZFbNVzdK71d/IV1z3wt8crSv/gR9vHM8aglP
y32tP4MOpBycgMqQX/c9L0juuvEEPvKC0jxotUb7UGONSaG2mNh4chDuWtMYTrXEVkj+oEOmDPfj
HeMWZduBQ/3/M93o36frh0J2hej2JfxKPOqNogim7PUFbYp0T4hLeSlFOB4IcRn1V5BsraM2Bv8B
Ty6/NwVuVMVDhR42Dejc8JTCBrWq2Tr5dvqWU1OVuWo+qwYJnlQFKk15Cnm+FFSN1Tty1vxAOvsJ
UEsDBBQAAgAIAAp6eknBsYcGewEAAOkDAABfABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1iaXRyYXRl
LXN0ZGVyci50eHRVVAkAA8QXOljEFzpYdXgLAAEE9QEAAAQUAAAA5VPBbtswDL3nK3hrC8yx5TpC
EHQD0mTBDCxA23S9BEXASLQjzJZcSt7mfX3lFmv3D+Xp8YGg+B6pvZgthFyI+VTk80eoGOstWlO5
Rh9uen+6HgJ58Ka22DSkgZg/J0JmhYTznxvzVvyV2fHhh6U/HalAurQmrDHgBZzvSDmr4awKQ3cG
GFwLZJXrbSAmfREZSHeuZ0UrVCdKV45pS9rgO0rETObTvMjSG3bBxUbk043jFsM3tLoh9unW/TKU
jiONYBOFtGTDv/mmChpjCYS8zCb7d9HF7AOKluLjic6L4hGuYkB5m6yW8CUGdOZJ4YHsU089lS3W
VNrV8gXcjtQC/s9K64nDSw4VmmjSJ9B92xlbj3a2NMkzIRMhklzC68N5Np4YrGPVHVlNfM9EezmX
IltcilzM458ra+t47BHNC+yae9PSET2BpwDHAVRjojw4ksI+ssuHHbZdQ9d9VRGvje8aHL7jQAy/
0QNqHZcXHCD4waoTO2v+Ek+eAVBLAwQUAAIACAALenpJDVXV0DsBAAB6AwAAYQAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1j
aGFuZ2UtbXA0LXYtZnJhbWVyYXRlLXN0ZGVyci50eHRVVAkAA8YXOljGFzpYdXgLAAEE9QEAAAQU
AAAA5dDNbsIwDAfwO0/hG3CANgUyhrTDgKEhDQkNtgtCyCQuREuTykm3dU+/Iu3jIbhZf1m2f96J
0UTISZb2R+JmDznjaYXO5N7qw7oK52kdKUAwJ4fWkgZivusJmQ4ldN4W5q/5gdnz4cXRZ0kqkl46
E+cYsQudDSnvNLTzWJdtwOgLIKd85SIx6W6TQLLxFSuaoTpTMvNMK9IG/6ueGMmsnw3TZM0++mYQ
hWThucD4iE5b4pCs/Luh5HLSpVg0kIJc/L2vr8AaRyDkIG3t/tGD7ArRQ3kt6CwVsidEL5Pww88a
/hDmVVE+k9PEWybaybEU6WQgxK0Y72F5cp6NO0Gjiezt1hR0xEAQKMKxBmVNsw+OpLBq0vvXDRal
pWmV58RzE0qL9RPWxPCBAVDr5pvRA0KonTqzd+aLuPUNUEsDBBQAAgAIAA16ekkZTFRKPAEAAHoD
AABhABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFz
b3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1mcmFtZXNpemUtc3RkZXJyLnR4dFVUCQADyRc6WMkX
Olh1eAsAAQT1AQAABBQAAADlk0FLAzEQhe/9FXPTHtrdpG2sBQ/WWixYEKteisg0mW2D2WSZZNX1
1xtB7Y/w9ngMM+97MFsxmQk1k3J4LqbPUDHu1+htFZx5uWvjYd4lihDt3qNzZICYLwZClWMFp69L
+zd8zRz45dHTR0M6kVl5mxaYsA+nG9LBGzipUtecAKZQA3kdWp+IyfSzA8UmtKzpCvWBiqvAtCZj
8agGYqLkUI7L4o5DCnkRxWIZuMZ0g9444lisw5ul4jvSt1hmkJp8+s031OCsJxBqVPa2R+iR/IfQ
47P/Ai1LoQZCDKSCH/xxxpewaOvmnrwhfmCirZoqUc5GQoppfoLV3ge2fg+ZJnFwD7amHUaCSAl2
HWhn8z3YkcY2u5dPG6wbR/O2qogXNjYOu1vsiOEdI6Axuc0UACF2Xh84ePtJ3PsCUEsDBBQAAgAI
AA16eknU/VcZBgEAABUCAABKABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1zb3VyY2UvbWVkaWFzb3VyY2UtZGV0YWNoLXN0ZGVyci50eHRVVAkAA8kXOljJFzpYdXgLAAEE
9QEAAAQUAAAA1ZDBasJAGITvfYr/BTRurMHm1sZaBQWJsZfSw7o76kKyf/rvxpI+fQ0UeukL9DTD
MAwfk+y5E4NCmwuSggVbWKd/3UjNsnSc3k+SnXDk2LcIydKdV1W1G7SoHXxcaW9r2KILkZtDubl1
r85CxobMn4VCoCNKhJZ9wMKZuGR5QSzx0SHEnAruakueIxn2V0ikQ7WmyLRdb59pwMjpLp2obKTU
KM1IzXKV5elsPE0VLbqmLeFvAJUAb9k8U5N8qtSDmr/T+uxZnD8Pw1G4rlyDow6ggEjH/geYjjC6
u6WPr3vdtDWeutMJsnChrXW/0T2EPnUgbS3swKUp9N5chL37gtwl//nXb1BLAwQUAAIACAAOenpJ
o7/TdxABAACEAQAASAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291
cmNlL21lZGlhc291cmNlLXBsYXktc3RkZXJyLnR4dFVUCQADzBc6WMwXOlh1eAsAAQT1AQAABBQA
AABdUE1vwjAMvfMrfIQDpQlr+JB22MqQJo3LQLtUaHJTt0SkSeW2Qt2vXxBIQzvZfvaz/V4mkrVQ
a6mi1UIcId3tsW4svfZlSZyitVvPb6hPNxhaU7kAUgHE/CxgHMIExhnmnjvjKrDeN0DIdoCiJ+j8
ddAzlOxr0IGaoz4fJ4AdzPa+Z01p2E6z1DPtqDD4XTLWdPF8bv/AqUiUjORTfOfcWrOtqR7f/V9H
GqxxBHOl5iMZCzUVYioV3CUvIykT2PR180muID4wUaaWSsRruUri1eII75XzfJWlvevY24OpKcc2
+EAd5ANoa8iFjDT2AX35ejy/MW1jcfjAgRgu2AIWRTAuWILQDk6f2DvzQzz6BVBLAwQUAAIACAAN
enpJFawomIoAAACbAAAAVwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
c291cmNlL21lZGlhc291cmNlLXBsYXktdGhlbi1zZWVrLWJhY2stc3RkZXJyLnR4dFVUCQADyhc6
WMoXOlh1eAsAAQT1AQAABBQAAAANyLEOgjAQANDdr7gfwHBVKmHTsJg4KXExDkd7YJPSkivE1K+X
7eWpEnWBWCgNWDWoG6X3VX2Edp3mOwfL0gnzS9cay+aACuvTG65jiOLCCCaGRaLv3MQ9JYbEC/QZ
jHccNrGhddvz80HT7PmyDgNL69LsKd8os8CXEpC1bGGJQJByMB+Jwf1Ydn9QSwMEFAACAAgADnp6
Sem5nbqaAAAA9AIAAEsAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1wcmVsb2FkLXN0ZGVyci50eHRVVAkAA8wXOljMFzpYdXgLAAEE9QEA
AAQUAAAA7c6xDoIwFIXh3ae4LyBVog6sVZREEoPwAKQ90SbYq+2tiW+vTC4u7kznDP/wqTOnYKB7
c4XSHFDDuv775sv1Js/y1UKdAgvL646oSnc5tO1pXD04eDn03g6wOkXhW9ccP+3TWYTMkPkZ6IBe
0CDe2UdsnZGSwx7S4JEQpSDNabDkWciwfyIIdW1FwlRX9Y5GRkEzNeEn/P/4N1BLAwQUAAIACAAP
enpJ+gJK84sAAACbAAAAUgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
c291cmNlL21lZGlhc291cmNlLXJlZHVuZGFudC1zZWVrLXN0ZGVyci50eHRVVAkAA80XOljNFzpY
dXgLAAEE9QEAAAQUAAAADcmxDoIwEIDh3ae4F8BQDEXYNCwmTkpcjMPRHtCkXMkVYurTy/bn+4tc
6UyprNCgykbppqiPp7KCdpuXB7El6YTorc9a5fsr87r6wG3kII5HMIFXCb5zM/UYCSKt0Ccw3hHv
RQa3XS+vJ86Lp+s2DCSti4vHdMdEAl+MgNaShTUAQkxsJgnsfiSHP1BLAwQUAAIACAAPenpJ8APo
bTIBAAB0BQAASgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNl
L21lZGlhc291cmNlLXJlbW92ZS1zdGRlcnIudHh0VVQJAAPOFzpYzhc6WHV4CwABBPUBAAAEFAAA
AOWQQU/CQBCF7/6KOcIB6LZlERIPWiQxkYsQLw0x0+20bNjuNtM2pP56l2iUGD1L4ml33uzMvvel
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
hNA4dWXvzA9x5xdQSwMEFAACAAgALXp6Sfnh1J6LAAAAmwAAADcAHABtZWRpYS9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLXJlbW92ZS1jcmFzaC1zdGRlcnIudHh0VVQJAAMGGDpYBhg6WHV4CwAB
BPUBAAAEFAAAAA3IsQ6CMBAA0N2vuB/AUExLZdOwmDgpcTEOR3tAk9KSK8TUr5ft5VWlUIUQRaVA
yEbUTSWP51pDu83Lg4Il7pjorbQqVXMSWmr5gdsYIrswgolh5eg7N1OPiSDRCn0G4x2FXWRw2/fy
euK8eLpuw0DcurR4zHfMxPDFBGgtWVgjIKQczMQxuB/x4Q9QSwMEFAACAAgALnp6SS5EEOGLAAAA
mwAAADEAHABtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXJlc2l6ZS1zdGRlcnIudHh0
VVQJAAMHGDpYBxg6WHV4CwABBPUBAAAEFAAAAA3IsQ6CMBAA0N2vuB/A0BoKYdOwmDgpcTEOR3tg
k3IlV4ipXy/by9OlMoVShTagqlbVra6PWtXQbfNyJ3YkvRC9TGNK055UUzXVG64TR/E8gY28Sgy9
n2nARJBohSGDDZ54F1nc9j0/HzgvgS7bOJJ0Pi0B8w0zCXwxATpHDtYICCmz/Uhk/yM5/AFQSwME
FAACAAgALnp6SeOg8WwsAQAAkAEAADwAHABtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNl
LXNlZWstZGV0YWNoLWNyYXNoLXN0ZGVyci50eHRVVAkAAwgYOlgIGDpYdXgLAAEE9QEAAAQUAAAA
TZDNbsIwEITvPMXegAMkDuCmSD0UKCpSkVChvSCEFnsDVh07Wjtt06dvOPTnNhqNduebvZhMxc00
y4cjKQ9QMJ7X6EzhrT5u6nCZNZECBHN2aC1pIOa7gZDpWELvbWl+ww/Mno8vjj4rUpH0ypm4wIh9
6G1JeaehW8Sm6gJGXwI55WsXiUn3WweSra9Z0RzVhZK5Z1qTNvinBmIis2E2TpMN++jbQxSSpecS
4yM6bYlDsvbvhpJrpatYtiAlufjTb6jAGkcg5CjtZKmQAyEGmYR/+LewqMvqmZwm3jHRXuYyldOR
yCf55ACrs/Ns3Blamsje7kxJJwwEgSKcGlDWtP/gRArr1r1/3WJZWZrVRUG8MKGy2DxhQwwfGAC1
bteMHhBC49SFvTNfxJ1vUEsDBBQAAgAIADF6eknkRKWkiwAAAJsAAABIABwAbWVkaWEvbWVkaWEt
c291cmNlL21lZGlhLXNvdXJjZS1zdGFsbGVkLWhvbGRzLXNsZWVwLWFzc2VydGlvbi1zdGRlcnIu
dHh0VVQJAAMNGDpYDRg6WHV4CwABBPUBAAAEFAAAAA3IsQ6CMBAA0N2vuB/AcBBqw6ZhMXFS4mIc
jvbAJqUlV4ipXy/by6tKVAViUSnApsVTW9fHSiN027zcOViWXphfSqtStTXqRjdvuE4higsTmBhW
ib53Mw+UGBKvMGQw3nHYxYa2fc/PB82L58s2jiydS4unfKPMAl9KQNayhTUCQcrBfCQG92M5/AFQ
SwMEFAACAAgASXp6SZDLGDbJAAAAJAMAACgAHABtZWRpYS9zb3VyY2VzLWZhbGxiYWNrLWNvZGVj
cy1zdGRlcnIudHh0VVQJAAM6GDpYOhg6WHV4CwABBPUBAAAEFAAAANWRMU8DMQyFZ/orPMKCCBLX
a4QYuA4gQbeqQ8XgS9w0arCrxAfi35NWbJ1o1aGjJb/v+T3P5AvuGzAP1rTWjIG+izHj2yQOE2R1
mbaSNXJYNm0zmXzA45T6ITxZKKTvVAoGepMQ6sZzFW0sVGEiP5odD1bM2gmvYhgyahReRF138rlN
tJtekH2ibKFDtyYPd0CMffWEHt2G2JdTzM+WinReKL/ySqbRqT042sL16Ormgns7Il77Lwf2f6/Z
50KlIPmncnlI6ZzkX1BLAwQUAAIACABJenpJE9aAuIkAAACAAQAAMAAcAG1lZGlhL3N2Zy1hcy1p
bWFnZS13aXRoLW1lZGlhLWJsb2NrZWQtc3RkZXJyLnR4dFVUCQADOhg6WDoYOlh1eAsAAQT1AQAA
BBQAAADzyy9TMDJTMDS1MrQAIoXU8mJDQ3O9nPzkxByFopLkotSC/KKSzLz0aDMLM0vLWAUbl9Sk
0nQ7K4Xi1LwU39Ti4sT01PDMkgznxJLU9PyiSisFjbzSnBxNLj+yTc7MyywBGRkMND0zP88zLy3f
SiEiwFkhOT8vLzW5BCgGVFOWmJOZQoEtg8P9AFBLAwQUAAIACABLenpJz04p0pAAAAC9AAAAIQAc
AG1lZGlhL3Vuc3VwcG9ydGVkLXJ0c3Atc3RkZXJyLnR4dFVUCQADPRg6WD0YOlh1eAsAAQT1AQAA
BBQAAABtjkEOgjAUBfee4l9AUKIu2FYREkkIwgGa9kWbYD+2vyTeXl25cTWzmMXkV07BQGlzR644
oIV1+mfr7f5QZMVuk3eBheU1I+aVu9XD0H2pJgcvtfZ2glUpCj/G/vJpF2cRMkPmb6ACtKBHnNlH
HJ2RisMZ0uOZEKUkxWmy5FnIsF8QhMahIWFqm/ZE342SVm9QSwMEFAACAAgAdnp6SZWBnRGBAAAA
6AIAADsAHABtZWRpYS92aWRlby1tdXRlZC1hZnRlci1zZXR0aW5nLXBhZ2UtbXV0ZWQtc3RhdGUt
c3RkZXJyLnR4dFVUCQADkBg6WJAYOlh1eAsAAQT1AQAABBQAAACLNjS1MrS0MjHRMzQ3iVWwAQIF
p/ziYgU7IFBIy0wPyEmsTEpMzgYJBpckFpUEFKUW5efkOOalBKeWgGSBoiWpVgpVQGGFkiKg0mId
heJ8hYL84pLMvHSFRIW0xOxUhQKINoXk/NyCnNSSzPw8rmgku00H0G7zEWq3xQDabUlnuwFQSwME
FAACAAgAhXp6SZxyZnBmAAAA3gAAACYAHABtZWRpYS92aWRlby1wbGF5ZWQtcmFuZ2VzLTEtc3Rk
ZXJyLnR4dFVUCQADqRg6WKkYOlh1eAsAAQT1AQAABBQAAACLNjS1MjKwMjDXszCziFWwAQIFz0Bd
Z0cFOyBQKMgsTE6MT80rLE0tTfXMTUxP9cxzdgQzAkFCVgrIPM+84tSiEjBfIS0xMyc1RUchpTS3
IDMvXSGtKDE3lSsaap2FnrGFCe2tAwBQSwMEFAACAAgAmnp6ScW3w4C8AAAAkgEAAB8AHABtZWRp
YS92aWRlby1zcmMtYmxvYi1zdGRlcnIudHh0VVQJAAPUGDpY1Bg6WHV4CwABBPUBAAAEFAAAAKWQ
MW8CMQyF596v8AhLxSFxlKjqwDGABGyoQ9XBl5gQEWyU+Kj67wkVG1sZn+T3ffLbygXGDdQTMx6Z
SQ30k+t6+hrFYoSkNtFZkgb2X81bM5t9w/uCut5/GMikG8oZPa3F+3IxL6WjgVKM5Krt/8GKSVvh
ffB9Qg3Cn0EPrZzOkW5piewiJQMt2gM5GAExdsUJHdojscvPyEl3mdKK97IIVs0D28Cgehk+ZWB3
H+7vL1Tykn4Ll/sYh9UVUEsDBBQAAgAIAJt6eklKHSDRhAAAAMAAAAAhABwAbWVkaWEvdmlkZW8t
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
FAACAAgAF3t6SZekZaLJAAAAZwEAADgAHAByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQt
ZWNoby1wYXNzbm9kZTItYWN0dWFsLnR4dFVUCQADvRk6WL0ZOlh1eAsAAQT1AQAABBQAAAClkEFq
wzAQRfc+xd85gWJa6KJ4Fxq1GNKm4FxAlUaNQJ0JIwnj21fuEdrdwOc//pvn8/t8Phm8mXk+vJoR
KTLh6XHEZb2RURUdsUT2sgyRCynblIdMpUT++j0+bM6LqDfuKseqtkThiWdywj4jZrAUWITKbosG
7CZG/3fk7n542Pd3/0H026zKnkKT9fvu5TCdmnD8Jg+pBYuNGwhBdFsfw3qU9pUi+CQ4mxL57kK5
NL2AyLdWcVerGVYJmVzVBnKiSq6kFV3X/QBQSwMEFAACAAgAF3t6SXRvoBVmAQAAYgMAADYAHABy
ZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTItZGlmZi50eHRVVAkA
A70ZOli9GTpYdXgLAAEE9QEAAAQUAAAAxVJLSwMxEL7vr5hblW02VlSkIFTtKsUnrOg5TWbbQEzK
ZELtvze79XXwpKCnZBi++R4zQgiQj8GlZ4xyqljJ+qmRTzi/svz2nCXrjJziPC2kU5uQWDBGFoQx
OY6SkMlmNBrL1i+k9avEcqViXAcyAvUyiK7yweC+wJcVakZT8QsXZVn+LbvSnJTruScTEKPhEZSj
4SFMJkV5fnfb3F3XcFM3zellPQZnPcLxwRgeNiusiQKNYW29CevKekbyysUqIne8/ef+jbXOpNNE
im3wM9+gDt5EsBF8YFDQJq+7VgU7Mw+Dn4/c2atGu4Phb0YMOlnJG2yzWbNblBens+vs2D6jgRw2
rFWfK7SBOvm23UxDjoUDzBG0cg5NAQ95I9lgC336oJeKIihCiKgT5Uk6EOW1uw0UUIgmaY0xjj/a
ZBfLnEyb5VfwfiEnbXaCQ9jubFt9g+1RYDAfxxcsU/qEdsU/sZbFK1BLAwQUAAIACAAXe3pJT84q
dmoAAAAVAQAAOgAcAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2Rl
Mi1leHBlY3RlZC50eHRVVAkAA70ZOli9GTpYdXgLAAEE9QEAAAQUAAAAxc3dCcJAEATg91QxBQQL
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
c3dvcmQtZWNoby1wYXNzbm9kZTMtZGlmZi50eHRVVAkAA54ZOlieGTpYdXgLAAEE9QEAAAQUAAAA
vVJLSwMxEL7vr5hbK9tsLCpIQajaVYqPCiv2nCazbSBNymRC7b83uz5O4kHBUzIM33yPGSEEyJfg
0hajnClWsl42comrO8sfz1WyzsgZrtJaOnUIiQVjZEEYk+MoCZlsRqOxbP1aWr9LLHcqxn0gI1Bv
gugqHwyeCHzdoWY0Fb9yUZbl/7IrzUm5nns6BTEenUI5Hp3BdFqU14vHZnFfw0PdNJe39QSc9Qjn
pxN4PuywJgo0gb31Juwr6xnJKxeriNzx9p+nD9Y6k84SKbbBz32DOngTwUbwgUFBm7zuWhUM5x4G
vx85PK7GR4PRX0YMOlnJG2yzWXNUlDeX8/vs2G7RQA4b9qrPFdpAnXzbHmYhx8IBVghaOYemgOe8
kWywhT590BtFERQhRNSJ8iQdiPLa3QEKKESTtMYYJ19tsutNTqbN8iv4vJALpoQjeF9ZX3yD7DFg
MJ/Gj8iyeANQSwMEFAACAAgAB3t6SRt1OPBhAAAAnwAAADoAHAByZXRyaWVzL2VkaXRpbmcvaW5w
dXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtZXhwZWN0ZWQudHh0VVQJAAOeGTpYnhk6WHV4CwAB
BPUBAAAEFAAAAH3LSwqDQBCE4b2nqAOEHCDgKeIFmp5SBwYz9APi7RUX2QRcFn99Ez0cdUbdegZ0
FXOIEU5NY4F+zKjRdgzDO1Xp/vpFq8sakDloT/DbzyPLGJZ8QDRS2jX+4UVQ2GS/hQdQSwMEFAAC
AAgAB3t6SRVH5MFYCAAAVRwAAD4AHAByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNo
by1wYXNzbm9kZTMtcHJldHR5LWRpZmYuaHRtbFVUCQADnhk6WJ4ZOlh1eAsAAQT1AQAABBQAAADF
WWtz28YV/a5fsSNNoyQjgKRIuhJlqWOLVOuJ85iRp/nYWQALYq0FFt1diKTb/vfcfYEACFByO0md
cYjHPs6999x77sJvM5Wzu5O3GcEJ/OREYRRnWEiibs8rlQZX5/BYqh0jdycLRounC7R4ppIqkqB/
nSD4o8hWBQmJucCK8mKBCl6QG/Mq4iIhIoi4UjxfoEm5RQlck+Tm5D8ndjm3SMwZFwt0Np5em3fh
A2VkSdPUvY9w/LQWvCqSwA9Nr/R/zY3sDpIzmqCzJEnsu5QXKkhxTtlugXJecFni2AHMsVhTgDwh
ORrbRyUH44wdgjCw6JkYQNmkg3Q6nfasL3EhA0kETRsvJf1CzB7NTQNGUrVA43DunydUlgzDIrQA
zziEG5qoDCaPx39y+HCS0GJdz7TYXGj0VTs6Di4tMgCl6uEZfyaiY9F8Pr8ZcjYh1g2hjslH2Eu6
ySnjGMwQdJ2pduT0qHswH4MtfisOrqcKTBx3TFY4YiSICWMtKwOzbstLmwysC0wMNdU2Apd7ZI8k
1rEbJI2Z3KZMly6Os97vQKhxubU7rLYlhBfWB9PIBQr1T9fCQXiSJiTa6f8jA/U94/HTL1ioEExd
pFRIFcQZZcmgY/V2jzD/4thiguQQ2osX9nN7ePdbwgWRHtKi3dyzDtiiaIxZgBldQ24o3mOWIJrp
f8NFwoh3h1tHu1DfZ8QGdM/nuBJSh0bD7mYgjiA6lY8Y7FkTxyaPgXcMRYvnh3RYC7K76RAznL8U
L+tiFCr+opvDVPC842xXH/Ue2us/VXlEBLCJNNlln3rgh2XUsfb6ulUAfbr0lUGfybPZrLfcNKNf
1xi90NymgE2DuuA7Hjh69lHEwm3RaeoKVsNwY2JvwbEiMeiWI0WqFDo7NUznQF9NHGu8Ia1chUmB
zVbzCvxpbsEOQfBToB9YQDTHa9KKzAJd1g6PGNZe1ANjKA2AAaC4K9S1ex+Vq9n1YO1NSbovAJpW
sGItj41s7pmapEl7KgRbDg+/Jtc3xzS9XslVmSYOlxXDcp0kBwughLDhGeT6RTSj79FjVZZcKFBa
4ZgMTs1zUiiJvh/BfrhSGbf+tmqsmxlgvQKexj5SZoIZM6D/9RgNBgMlzGBfzt54Yutygxm79wh6
R19aLcvxNujIew59gXt0Oa51p7s1+P3oPnVm1ynd2qYPZ8hLYmUz2JDoiapACZ121hMWOAov5U3D
jJkz+kwqrCr5vopAw2s9DHX29MLRUxTnLMKi/d5vnTJiMnT/Iudf6qd1cZraPHZ9lL703YK+Hm4J
hyrH0VZuT4uUboldx9XjcdukEJsexKbZoYpvKNQC0aFaveaXgBYJ2UKROmLaXggbEPrscsWoJW9X
rooVGqZL2F5pgv0ivn0R6Js90IklsRche2fAuutawdxtDbjuzFpb01Tg3CLs5Em7jWjkyP1ApT30
zQ56Tb5xWk8YNI7QM79CmN5cP+zp5TR54KVxRPtd3UYmh+1xuzl2a1j3HXJ4sCVIfJ2127zzRcEf
dcbNt5+8RnbOJG/+7AvaIcwjSdI47cgc216+WXMLLuDxzUCVcfbrFkz2bW7t8Hk97hvCcETYAqeQ
YRcH0+1zs4gR5AJMPUX/Rqc3J7UQN+S7O5th6NB5GqhdSXqXOh1E5AZ2jrgZYaZA1s0o1s3ogEad
5URK33gM+rkvLI3seDSF+jVSCBIDDdEz5ZW8r59AM/uFFPcNsezTed9ydCWmKS66lgNrDRN8bXf3
jomuiEy9Br4KjaMG9DhE6ZxoyYVr+waavqbORhVkVdGsO17fE/q8SHnsfMgrpetFM/0iVhklca+A
LylgAQWbeEOaYmlWgR7mU0bsTiOntGvAr21QHCl4F9nRjmoSPVOsa7L60XECwEaCbyDg0AlkGOa6
poiqUDdBtR2zuevi61bE3fvqoBtZ/XfcFlH/Safb4+c0gVOWNUwHSPrDd4+iQB/GJX4G34MHSEdX
mie9A6kLJuHUtkz7jx9e/XticLZcLhspfXb1sHyYP/TWJ2gu+1m8Wq36UC9IXkKFagXftWmdkSFc
AtJW5q+ur8ZXrm7FjGDxD9Me+KOAfmKOTZke8nbkvrq9lbGgJcRUxLenmVKlXIxG+DPehmvO1zCp
pFJT1zwbMRrJ0ed/VkTsRpNwFl66mxBay/CzPL2Ddc16d6i9cswTEugYkg2M+wtEWgfzdnbVmAKg
3IfCiCc7+IF8ANxYyttzfxLQ3wuzyd3o7xBPqFmjJVZ4tPr1cfQriX6gyv28ryhLRksSVesR8ASc
GSgC9RUO7xVTciSIEhRmkwQIUqxHtCgrNSphJ3MyI3HGA31XAOppAK1MhVmotgoATtq4Gp+Fzg/f
mOP60HN9jEfAuM57fYBB7W8/bhBUlcKPMif/fTtxfvdNEcnyBnwJg+5aQyHLmwMnvWNAqc/v7n/+
6fHnjyv04+rx8d1fVwszD13NFugTqNJKCPORCzozvglNn1lgJqG9UdqJ5uIX58IVeHBZ2QPVhwIc
xItEIiohYcFmlFaFcVmIvv1QoG/OQLP++2W/HYeT78waF//rUma6hgnJSlIwPvnOeQu4CTH6YyN1
ORyph3cfPkJUaA5dJbAbbbAhsjmmgotpultCZdQFPoLCDrWIJF1DzE/TnEbNOL9zrw+Nfh2tZQbH
xZeZ/aKvJq9w03TYTZ8g6YF2KTIJbv/pAQEyUL+4AoBQO4WA7GU79FVxfhH35Stwz4Zx/6Gxsh9L
Xq5C+3FHTZ++wvQjKWDsf6ziGJqPRR0nI9rItMUhItvSnKdulajIBbLl2dx8XbK+0qDZ72GQ7fAT
Aur0NQYdEOH/rSbz34fEnR/TD4D4mn9N/A1QSwMEFAACAAgAKHt6SXui1unDAAAAXgEAADcAHABy
ZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1hY3R1YWwudHh0VVQJ
AAPbGTpY2xk6WHV4CwABBPUBAAAEFAAAAKWQ0UoDMRBF3/MV921bkKDgg+xbsVEWqhW2PxCT2RpY
Z0oyce3fu/ET9G3gcg/3zOPxdTweHF7cOO6eXY85MeHhvsfpeiGXs+QeS+Ioi02slNnPxRZSTXz+
Pd58KYvk6MKH7Gv2moQHHikIx4JUwKLwmCqHFllsBkb3d+Tm1t5tu5v/ILo2q3KkaZWNW/O0Gw6r
cPqkCKmKxacGwiS5rU/TdS/rV1TwTgh+nimaExWF0rci8WXtNFH6ooxCoWaKFsaYH1BLAwQUAAIA
CAAoe3pJenumXFoBAABbAwAANQAcAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hv
LXRleHRub2RlLWRpZmYudHh0VVQJAAPbGTpY2xk6WHV4CwABBPUBAAAEFAAAAL1SS2sCMRC+76+Y
m8qaTYW2FKGgrdsifVhYqeeYzGogJpJMqv77Zle99dIWPCWZ8M33mGGMAf90Jm4w8IkgwctFxRe4
fNF0Oh6iNopPcBlX3IiDi8QIAzGPIRoK3CN5ndCoNGm74tpuI/GtCGHnvGIo1y4B9mSdQob7LUpC
VdCesjzPL0ouJEVhWurRCNigfwv5oH8Do1GWP87eq9lrCW9lVY2fyyEYbRHurocwP2yx9N75Iey0
VW5XaEvorTChCEgNbXv5OJGWiXMSvSDt7NRWKJ1VAXQA6wgE1NHK5quA7tRC5+8tu1fFoNfp/6dF
p5EVrcI6mVW9LH8aT1+TY71BBSlr2Ik2Vqidb+Tr+jBxKRZysESQwhhUGczTQKAJGdr0W6v4hR4C
yujTrCGDjFVRSgxheK6C16t1CqROqgs478V9nQxgH46jOr5+wLYoUJhW4tfYy/Dm2TdQSwMEFAAC
AAgAKHt6SV2Ek1xgAAAAEAEAADkAHAByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNo
by10ZXh0bm9kZS1leHBlY3RlZC50eHRVVAkAA9sZOljbGTpYdXgLAAEE9QEAAAQUAAAAvc3LCYBA
EAPQu1WkALEAwSq0gWE2fmAR2ZkV7V5RPHny4iWQwCMdzeHcHNO85DMNM1cmGDUnhgpF0WZVmtXP
hjQNo0N6Z6rAbaE6Q9NLNJYQ9Szxbm96IQRG2b/SX14PUEsDBBQAAgAIACh7eklHjbddWwgAAPUd
AAA9ABwAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUtcHJldHR5
LWRpZmYuaHRtbFVUCQAD2xk6WNsZOlh1eAsAAQT1AQAABBQAAADdWWtz47YV/e5fgbGncZIxKcmS
XFteO7NryelON48Z7zQfOyAJiliDBAOAlrxp/3svXhRJkbLTTpJOspMVicfFufee+wD3TaZydnv0
JiM4gZ+cKIziDAtJ1M1ppdLg8hSGpXpm5PZowWjxeIYWT1RSRRL0yxGC/xTZqiAhMRdYUV4sUMEL
cm2mIi4SIoKIK8XzBZqUW5TAM0muj/59ZMU5ITFnXCzQyXh6ZebCe8rIkqapm49w/LgWvCqSwC9N
L/Wf5kH2BMkZTdBJkiR2LuWFClKcU/a8QDkvuCxx7ADmWKwpQJ6QHI3tUMlBOaOHIAw0eiIGUDbp
IJ1Opz3yJS5kIImgaWNS0s/EnNE8NGAkVQs0Dud+PKGyZBiE0AIs4xBuaKIy2Dwe/8Xhw0lCi3W9
02JzrtFPbe84uLTIAJSql2f8iYiORvP5/HrI2IRYM4TaJx/gLOk2p4xjUEPQdabantOr7kB9DLr4
oziYnipQcdxRWeGIkSAmjLW0DIzclpU2GWgXGB9qqm0ELnfIHkisfTdIGrO5TZkuXRxnvd2BUONy
a09YbUtwL8gH1cgZCvVPV8NBeJImJHrWfyMD9R3j8eOPWKgQVF2kVEgVxBllyaBh9XEPsP/skDBB
cnDt2QvnuTO8+S3hgkgvadFu7lkHbFE0xizAjK4hNhTvUUsQzfS/4SJhxJvDydEm1O8ZsQ7d8Tmu
hNSu0bC7EYgj8E7lPQZn1sSxwWPgHULR4vk+HdaCPF93iBnOX/KXNTEKFX/RzGEqeN4xtsuP+gxt
9e+rPCIC2ESa7LKjHvh+GnWsvbpqJUAfLn1p0EfybDbrTTdN79c5Rgua2xCwYVAnfMcDR88+ili4
LTpNXcJqKG5U7E04tkgMmuVAkiqFjk4N0xnQZxPHGq9IK1ZhU2Cj1UyBPc0r6CEIfgz0gAVEc7wm
Lc8s0Hlt8IhhbUW9MIbUABgAintCXb13XrmcXQ3m3pSkuwSgaQUS6/LYiOaerUmatLeCs+Xw8ity
dX2opteSXJZp4nBRMVyuk2RPAEoIG95Brl5EM/oaPVRlyYWCSisck8GoeU4KJdHXIzgPVyrj1t62
GutmBlivgKex95TZYNYM1P96jQaDgRJmsU9nF57YOt1gxu48gt7V57aW5XgbdMp7Dn2BGzof13Wn
ezTY/eA5dWTXId06pg9nyEtiy2awIdEjVYESOuysJSxwFJ7L64YaM6f0iVRYVfJdFUENr+thqKOn
F47eojhnERbteX90yoiJ0N1Ezj/Xo3Vymto4dn2UfvTdgn4ebgmHMsfBVm5Hi5RuiZXj8vG4rVKI
TQ9iw2y/im8o5ALRoVot83NAi4RsIUkdUG1XCBsQ+vRyyahV3i5dFis0TBewvaUJzov49kWgFzug
E0tiX4TsmwHrnusK5l5rwHVn1jqapgLnFmEnTtptRCNG7gYy7b5tnqHX5BtX6wmDxhF65lcUpour
+x29XE0emDSGaM/VbWSy3x63m2Mnw5pvn8ODLUHi86w95q1PCv6qM27OfvQ1snMnufirT2j7MA8E
SeO2I3Nse/lmzi24gOHrgSzj9NctmOw73Orh43rct4ThiLAFTiHCzva223EjxBTkAlQ9Rv9Cx9dH
dSFulO/uboahQ+dpoJ5L0ivqeBCRW9i54maEmQRZN6NYN6MDNeokJ1L6xmPQzn1uaUTHg0nUrymF
UGKgIXqivJJ39Qg0s59Jcdcoln113rcc3RLTLC46lwNrDRN8bnfvjokuiUx9DXwVGkcN6HGI0jHR
Kheu7Rto+pp1Nqogqopm3vH1PaFPi5THzoa8UjpfNMMvYpWpJG4K+JICFqhgE69Is1gaKdDDfMyI
PWnkKu0a8GsdFEcK5iK72lFNoieKdU5W3zlOANhI8A04HDqBDMNe1xRRFeomqNZjNnddfN2KuHef
HXQjq/8ft4uo/6TT7fFzmsAtyyqmHST95bunokAfxiV+AtuDBUinrjRvenulLpiEU9sy7T5++Orf
44OT5XLZCOmTy/vl/fy+Nz9Bc9nP4tVq1Yd6QfISMlTL+a5N66wM4RGQtiJ/dXU5vnR5K2YEi3+a
9sBfBfSIuTZlesmbkfvq9kbGgpbgUxHfHGdKlXIxGuFPeBuuOV/DppJKTV0zNmI0kqNPP1dEPI8m
4Sw8dy8htJbhJ3l8C3KNvFvUlhzzhATah2QD674BT2tn3swuG1sAlPtQGPHkGX4gHgA3lvLm1N8E
9PfCbHI7+gf4E3LWaIkVHq1+ehj9RKK/U+V+3lWUJaMliar1CHgCxgwUgfwKl/eKKTkSRAkKu0kC
BCnWI1qUlRqVcJK5mZE444Eu9IVGDZ1MhVmotgrwTdqwGl+FTvdnzG19aFzf4hEQrjOv7y+o/enH
LYKkUvhV5uK/6yZOb78oIllegylh0W1rKQR5c+Gkdw3oenp798P3Dz98WKHvVg8Pb79dLcw+dDlb
oI9QlFZCmG9c0JjxTWjazAIzCd2N0jY0Dz86C67AgMvK3qfeF2AgXiQSUQnxCjqjtCqMyUL05fsC
fXECJeu/F/vlOJx8ZWSc/a+izHYNE2KVpKB88pWzFlATfPT7eup82FP3b99/AK/QHJpKIDfaYMNj
c0sFE9P0eQmJUef3CPI6pCKSdBUxP011Ginj9NZN7yv9OlrLDG6LLzP7RVtNXmGm6bCZPkLMm7sr
MgFuCEj0FztJ4goAhuhXufdFuOevgDsbhvu7ush+Ink5+ezWHVR9+grVDzDf6P9QxTG0HAvvHluq
kWmGQ0S2pblF3aQQ0+QM2bRs335dlL5SpdlvoZLt7BMCVekPUGn+5/PSxf+Vl/ZC9o8u9/PfJt10
fky/Bt2R+dfe/wBQSwMECgAAAAAAN3t6SQAAAAAAAAAAAAAAAA0AHAByZXRyaWVzL2h0dHAvVVQJ
AAP6GTpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAA6e3pJAAAAAAAAAAAAAAAAEwAcAHJl
dHJpZXMvaHR0cC90ZXN0cy9VVAkAA/8ZOlgDGjpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAADh7
ekkAAAAAAAAAAAAAAAAfABwAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL1VUCQAD+xk6
WAMaOlh1eAsAAQT1AQAABBQAAABQSwMECgACAAAAOHt6SZMG1zIBAAAAAQAAAFUAHAByZXRyaWVz
L2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZp
Z2F0ZS1jcmFzaC1hY3R1YWwudHh0VVQJAAP7GTpY+xk6WHV4CwABBPUBAAAEFAAAAApQSwMEFAAC
AAgAOHt6SVPif/nVAAAAqgEAAFMAHAByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1kaWZmLnR4dFVUCQAD+xk6
WPsZOlh1eAsAAQT1AQAABBQAAADNzsFOwzAMBuB7n8L34rrdBdRTgVU7DNghEjtnqdVGCkmVONN4
e9pqB3gD5IN/yfKvDxGBPoPLX5xor0VTf1Z05svRyn29ZOsG2vMlj+T0d8iCwkkwcspOEkWWaJfv
SWSm9ZKIr+wlhRwN/87LiwnesxEccrR+RK+vdtTCaKJOE/JtXo48VHKToizLf0TTRrJ2G6zrAJuH
HZQNdF2Br6cPdXrr4b1X6vnQt9CvtWqrBaO9DwIu6AFWRUvU7B6repmmfarr+g9ocW9hld851TzN
FRRQ/ABQSwMEFAACAAgAOHt6SZETBl5cAAAAZgAAAFcAHAByZXRyaWVzL2h0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1leHBl
Y3RlZC50eHRVVAkAA/sZOlj7GTpYdXgLAAEE9QEAAAQUAAAAc/b3C/b3cVXwdQ0OdnR3tVJwLUvN
KwnOLy1KTlVITszLyy9RyMlPTFHIKCkpsNLXNzQy1zMAQkMrCwMDA/1UkOpisGr9olQIoxjISs7P
y0tNLtEryCjQU+DiAgBQSwMEFAACAAgAOHt6SXmn3BGUBwAAghcAAFsAHAByZXRyaWVzL2h0dHAv
dGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1j
cmFzaC1wcmV0dHktZGlmZi5odG1sVVQJAAP7GTpY+xk6WHV4CwABBPUBAAAEFAAAAKVYaW/cOBL9
7l8h2Ng1EFhH2+5MH0kvJnZ7FpgT6MHMxwUlUi3GlKghKbudnfnvU7zUklqys9gESUtkkazjVb2i
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
Anc6wAHM9j9dF3TQfblx0072f/axLOBig9/08ZvOvf4K586m/fr/2Dz4MckDYDSf3v8GUEsDBBQA
AgAIADd7eklWkbNHZQAAAG0AAABFABwAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1hY3R1YWwudHh0VVQJAAP6GTpY+hk6WHV4CwABBPUB
AAAEFAAAABWMUQqDMBAF//cU7wQewD+hCkKphfQEjVsaiPtKsrZ4+8bfmWEeWh3jV80D9xIVRb0c
8LQpPkVjqonWIby557WRZI77EAJezJk/XfE8cFluYycyDfO1b4NIM43enJOopMlZiPwBUEsDBBQA
AgAIADd7eklbgRZU5AAAALsBAABDABwAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1kaWZmLnR4dFVUCQAD+hk6WPoZOlh1eAsAAQT1AQAA
BBQAAADFkMFOwzAMhu95Ct9DGnHgslOHWiS0CZCC2DlNPBYpjavGgfXtSSsEvAEX2/rt/9MvK6VA
v1EsI2bdWba6Pxl9wuEQ+LvdlxC97nAo7zrahQorxsxqxlwiZz0jz6G6L8yTXjdZ4wcmzlRmh39n
tZ4uaprRhRwoKbxO6Bh9w1cWUsp/jGIdFxu3IG0L6vbmDuRa2lbAayVBv5rNZobNDBxGhB9CA+ZC
JfqqhMTwsjcGzhQjfaKHYYHu+alvBAi1bnbgg4dEDGEc0QfLGJeKdZRS/YiQD/vH4+5XqAgmgkyU
xEaqoC9QSwMEFAACAAgAN3t6SYcAMMhnAAAAdgAAAEcAHAByZXRyaWVzL2h0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWV4cGVjdGVkLnR4dFVUCQAD+hk6
WPoZOlh1eAsAAQT1AQAABBQAAAAVzEEKwjAQheH9nOKdoAdwJ9itCvECmjxxIJmRdKrk9m23Hz//
g0tg/tEi+doz0Rl9ILQR386si7pNSB9fa9lFLXA/p4S31+p/FrwGLrfrPIkcfkLRAvOAtsaiz2Ad
+zS7GXPIkYpsUEsDBBQAAgAIADd7ekmQA4w89QcAALAaAABLABwAcmV0cmllcy9odHRwL3Rlc3Rz
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
4qbDmbHi9+F++XVncjCJ3ayct8ZcA/pOU64shgyZDvGdZkyD8oz4ZweNZSUEaLD9V8heXVmaS+8Q
xmt4ugu8QRuXTemnoOWbXzyqfRnyUfauanVRa68nO7YVbs/dOhxuI3oH6EQ8MV4ONRszl3Vg7wpF
xAtmdzdzrwQGjDu8gwYNdbvWIKPusgAkr5dDK2T0zuFl8+KiX3vH1r049VxMOi+ixhfsY9Hz1sq3
b2PHYPWL1BqKNRtKnQc79Hteall35xrz2zycN2rmVRDkH9sLzXlzWTh3w/iplYezkVeQN3qx+fVl
HfrO/bZSA7tzWqFVP0OXE/SLs8FIsVFbV4rci6NWVraJG8nHxtLT/LhStOSTreBuKawEwc+tQht3
H1f74yS2A9pB1yS+7KcrGw99QxwYIn3UdpbAW7G7xcLLmH0fntp/D/0HUEsDBBQAAgAIADp7eknz
wk/5mQAAAPsAAABBABwAcmV0cmllcy9odHRwL3Rlc3RzL21pc2Mvc2xvdy1sb2FkaW5nLWFuaW1h
dGVkLWltYWdlLWV4cGVjdGVkLmh0bWxVVAkAA/8ZOlj/GTpYdXgLAAEE9QEAAAQUAAAAs1F08XcO
iQxwVfAI8fWx47LJKMnNAVGpiSl2XApAYFNcUpmTCmGDQEpmmUI1nAcC5ZkpJRlWCoYGBgUV1igy
GamZ6RklWKVSMosLchIrrRQy83Iy81J1k3Lyk7NRlSQlJmenF+WX5qXoJufn5BdZKeRk5qYi1NRC
3KcPdaCNPsTRNkn5KZVQtwMda2ejDyKB0hBxoDKwF7kAUEsDBBQAAgAIADp7ekmkejkboQEAAL0p
AABAABwAcmV0cmllcy9odHRwL3Rlc3RzL21pc2Mvc2xvdy1sb2FkaW5nLWFuaW1hdGVkLWltYWdl
LWV4cGVjdGVkLnBuZ1VUCQAD/xk6WP8ZOlh1eAsAAQT1AQAABBQAAADrDPBz5+WS4mJgYOD19HAJ
YmBgVmBgYIrgYAOKzCprKgBSmiWuESXJGanJ2cWluQypxklpBkkWpuZpiUYGaWmpqRZmhsZJiSmp
lsnJJiZpJmqsj9WAmhiLg9ydGNadk3kJNMDJ08UxpILx7d2NWSqBAiwH7zr//3+6uv1c3raelDUT
fs+S4niiYvTl35/flT8VHRoYGJlYOAQUHBoOMDPVy/1o8wexYYIPwh0afrgiCxgyMn6S2MoviBBT
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
TRGnP2dx8YJKTR6miQ3LM/oM5Aa88BqJOGKTx0TMR4yw10Bc3yIB3CJmrU35/dbreOA2JITdsbhy
7W0zZdiLIK7sRANcHiQGnJ5IcdbHhZUWtwwnAnOH3NzJ0pfGTpvJskeUwHMjmCSvXYjLg3Pw8YF/
RR+jcyeZ5u8xI5emPc90sT5mvIEr18CBFxYS92bufQWsHfIUZLLIUr9F9pSElTc39d9ltapbpRts
nRLYK3jpaOIvQWp4zH3vvDd0760J4lNbq0X2dOved6Bn7f/Zj9vVk8LxbmSvlu8RXshJtgDnxw3g
5W7l0oW95SWxh1usvPeGJ52Y1tx4D97sUOuMIJ7jJGrAtivkoYNdGS0auLjI8eJmPQA5DfQq4Koc
eNteETnnLmDef61I4Jy5/Pm7f2/rCWRF8TwnDiruNcS7gZUI69Od0ltZu0Ws7m9WN8SlyWOAXpGr
W4h/su9FUCAA/MjrcWIzMLrYg7B1II4tkx4Wcpqtz26YWYeAgckhV6baI3/7KsJzNjyleS8NiS7t
99D/e1I13VheXNBCNYbDj8vb+/XuP3++fzx9+f3u4fXl4/rywaEouZIbCrOhM4X3nx+f7q7P1+8A
tDyAN9BU4KJLqObL8/W3z6+/JYjtz3eX56evL3fvH2/Xj4dvc2w3NhRz3ezKXprMybfrj8vTy8fd
28fzbTHPP7+/sCh2Vb3hSCGzoqnfXt/f7y6/Pb3fvd/+/Pz8+fLG4ij3zIYidULQxVf5+efHxyv/
6RJvM/vr/GaGJ7Dvt7/09Pz0ci1cgNuh67vDpJdf6gTqDq7evb49XnnSPQU99E4CPCUNZeBrQZEn
GpTU/rKnd6+/XN++PL/+enf5+fHKYol1G8yWTmNki+Xz5SbXG0++X96+Pr28s4iKZjC7B1oKU9eU
Gfr98hsvUr6C58MZKviPt9cf17eP3++28/L08pUnom5tqp/XZZJM/v7l8/tNKD+udw/fnp4fWSQl
jJ0Yu9lOqmipniU8FbauZUuiuFmRdS3blvB7WulPQStlFT1Y4DTJ+kmaCf3j7frl+vZ2fbz79enx
4xu/fbu3KJ3H7Q0eSvQ9Ef30cf2euXaIFb8GTQTB1NhHPV5v1xuOm9779e3yY83NPZiSNnWzDrXK
CC8vry+/f3/9+X73+fn14e93369vX297+3Z55zUXXWW1qo+N2aU8nZm796f/4slyVWC9TZ6mrANv
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
aW5kZXhlZGRiL2luZGV4LWJhc2ljcy13b3JrZXJzLXN0ZGVyci50eHRVVAkAA6gYOlioGDpYdXgL
AAEE9QEAAAQUAAAA7Y+xCsIwFEX3fsUb28WAiGI2bTuIitiCHSVN3hBI+0L6Uvx8a+nkFzg4Xjjn
cm9ZVbdKwoEZO8/ABMqMqtcICjR13iGjAR3DQCERD3Kxw0EUipUom1o02J4ti5pi0PhJOQUUVzLR
TZjtDb7QmFYMGEYMor5fLOOpOOZz4Up7n673uwwktEQOlgIpJ6SeFSm/HCmXgWm0PW83T86S8n/i
R068AVBLAwQUAAIACACFenpJbamKwq8AAAABCgAAKAAcAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4
LWNvdW50LXN0ZGVyci50eHRVVAkAA6oYOliqGDpYdXgLAAEE9QEAAAQUAAAA7c/BCoJAEAbgu08x
R720EFG0t0oPUREp5DHW3TkI6sg6Kz1+Jp469QBzHPj/n/myPL/nGg7M2PYMTGDcaDqLYMBS2zfI
6MAGP5CP1JOa0OKgUsNGZWWhSqwuNauCgrf4vU7kUd3IhWaK1Z3DNzpXqQH9iF4Vj2vNeE6Pp3lw
Zfs+Xu93CWioiBpYBrSeIsVc0fqno/XyYBzqjrebFydRJghBCEIQghCEIAQhiL8RH1BLAwQUAAIA
CACJenpJm94SNKQAAAAUAwAALQAcAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LW11bHRpZW50cnkt
c3RkZXJyLnR4dFVUCQADsRg6WLEYOlh1eAsAAQT1AQAABBQAAADtj7EKwjAURfd+xRvbxYCIYjZt
O4iK2IIdJU3eEEj7QvpS/Hxr6eTs6Hjh3sM9ZVXdKgkHZuw8AxMoM6peIyjQ1HmHjAZ0DAOFRDzI
xQ4HUShWomxq0WB7tixqikHjJ+UUUFzJRDfVbG/whca0YsAwYhD1/WIZT8Uxn4Er7X263u8ykNAS
OVgAUk6Vep5I+bWRcjmYRtvzdvPkLCn/En+J30m8AVBLAwQUAAIACACJenpJJe6EdJkAAADFAAAA
LQAcAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24tc3RkZXJyLnR4dFVUCQADsRg6
WLEYOlh1eAsAAQT1AQAABBQAAABdjrEKwjAURfd+xRvbxYCIYjZtO4iK2IAdJU3eEEj7QvpS/Hxr
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
piojqXyg4KY56i4vVTHz5OGYSrIeESnaVm4fggDiGEN5T4K8Bwj6i9PK4nFr0swtNzVYmULojjQJ
9h8eq3HSKBXbywdDRcrpWB46XDayG7xHjCli43i2b5qW5+aW+oRfRJCQ4Ty0OWgD+bU4cm6+PUc2
fLwZR6YVVTNkC9l5Sg8DdJmC2+pH1LRsz7fpIi2Vt6TOTcf162QUN6+fiTbdmqNkjJip5O+8lZcY
xA5GN5nWApptWUO6+hLqWLj5DuV9CzsuGurrdipeOroG6qXrbXT5yyvjTEKt42xcoJtsNU3HS12V
5Ikn+4pOWy9Qrknq3ZzUTJdmOAjxP/U9sEKXAXVnk+cnNj9ta6i3r0tAtLnw9bhTlMFHAAbsOfPA
WsyRhuCp5/4vtiOcP7Uab1DdNw7UMaZkqi9PmmQGc32Jnf2AZHbF2O8HP+1BK2NxIo9lP7QecJGA
EjTKlu12PTzxKNJ28Gm3QzO7dVN4i4XvdOoqXRy7QrbbFjrQ71vI3tzXxXtuR8Px/UF2G/hoMbqD
6R9lzpP+AVBLAwQUAAIACACRenpJc8qCXyIMAACinQEAMgAcAHN0b3JhZ2UvaW5kZXhlZGRiL2tl
eS1nZW5lcmF0b3ItcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAPBGDpYwRg6WHV4CwABBPUBAAAEFAAA
AO1dS3OjSBK+++SfoKMdsROBJPSwb2qp3auYmba33b13BCWbHQQahOzuy/z2LUCggnoAEpKQ/B06
og1ZD6qyvsrK+jI1nXx6Jv4b8e/vLSMwZsaKjD3XJWZge+7Y8VbEav3WauvaoKv3uj1tOBjcda5+
uPbfazKdfJpwZe7vzVz5B99bjB2buAGt6Tpfm65f3SwM271tcZUWVnXD1qQNh7eKqoyZ5wfffcNd
GVGFYQVX0+3Xe0viTj59I7TcKhgbrkkch1hXN9ZMWN2S+HPPX4xEtQrExbVH0s//+cMOQulPhvmX
7b48B56/e3+rtU3lmCYiUd8I//vdXhD/wfap3I32czCfz/X5fGjoQ+2WKxT19NGNOzZyrbiJTXur
UHyrHd+9pP/57+OqtWxr7BMjII+z/9HC0bAkrbADwVXEDQHf26p6IhenvXyqpgq2++b9RR6TkaYD
xhSKxv3mdreJkffSU7QWVcYOqBkuNa4S0af8wz27uc10q93RbmM1e6Atev4vOmDEIQFJ5BMtFGmI
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
VDoeYc+H/7E7pn3fIRQ7vavjAyuZFKvXhUMafeHb7iHGhP5GKaHkmH7QHw2gDNFXyf2PN3ie2LWE
wT/LhdXmTwhVXreuoTuhTq/h5wbl22b2VrErlgNYBWupHeqHDT+3LEqzR2rSKmpCUeIaDIqslgUB
Ex5btFoXebZcoNFg4ED4R46rbwh3Kv0nOgN1PRyGG7C1p6+ooHMuC4uiLM1boSQjEoFxAdxF222Q
VpPhNQjDeXZfX3LOUNiK7rr6CrobD1sCmq9Rt+2vL1a3uylgLWVSQVtPfJq5ArSlYo/xxkmYlmmp
zgYj2IOec+alyhAZDBoZIoGw1OqOgmYVzzZR3AJ2P+CpV8wIH6/11bwitD/JHMAXs98TzvyUxpU5
I3dKNht0zmqqqSZu8nGlQlKey7YVC+mRr8oSUDUjhG+04PKFolRf4qrFWSjDUAeeOXIIaTDt58k7
4blh/FCMinJzGzBA0S88CSGrlLuq5X/x24ajly9XWGsZGlGyxbqWvt1pxJ2z9vOnmZ/wfF4tMauI
MGxefhvfMkrNWhWfcg7ws7j7MMbN3s3x+lEQLChUL489OvtB442iYq/5KUnLfJjRNEa/Ouel9jdF
G2obWsR21binD1tJpjldLEn0mVc2Re0XLF/3dTvO/nY+o3wsQkm2O86248OJa1stUqgXxfxrzif6
XSHEdS2lEEzIERIm9sg5KufuTvO1uF9Sw/FONYMIz0RgCAdz+3H8lIGbWD2DWYNZg1mDWYNZg1mD
WYNZg1mDWYNZg1mDWYNZg1mDWYNZg1mDWfPCi3nhxbzw8r964cW8hWLeCTGMx7z3ovjdYl0aDB47
aYIoHwQspTHDYVZrmg33iBIkihbfjM/uHorxeDRy7dr73I2ftALR0FFWXu1PY6uit/j7hmb3l/uK
UNNju+7xevLfmZ4Ym38BUEsDBBQAAgAIAJR6ekmQvsz1OQQAADYYAAA2ABwAc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXR5cGUtaW5maW5pdHktcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAPHGDpYxxg6WHV4
CwABBPUBAAAEFAAAAO1Yy3LaShDde+VP0BJVXVdJSEjCuxjiKhY3UMG5+0HTGMXSiIyEiTf59rQk
ECPmAfjaSRZZUIVmunv6cfpMS5Px3Rz4M/DbWyhKskiTYvXACStIXCY5u/rCkm8bmIzvxgR3SQGj
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
P3NomfZ4PDIsLSnbr/c6Uz/iJBG5JkyrEvpFY/FWy7rWOOb19IFz0SzVSh0KQiSI+eZFo4xKpVfW
IPWUmmW6rol/L1y6FaXQFU0a0llT/kNK1DPtXYkqa3DnSbWGEFzILTiZ8JdejDdJLkkVIjGrW7l9
8H1IU+HKpeaXwdTEemkexTCtzb6BaecGK1M0TBOS+euvj9WAkxpu6Bh6rd3ycdEGV4wSqYG0/oWI
jeUMXcMwHdtoTryOQB/tNCji3DbRGlvEuZptYHx8s0lrfFiz5RW1b7VaZMWQbe27PLhyF+WapjUM
qDXKS6WzBxcHuudJidjM/2e4iGd0cqcZ4dmvshenwokVSBvmkTMNB5JBm27zXGOZqlPSiYeRtoR7
sAqZJD+vp/AbbMRcEBry26bWu84SZykTy7Xcqkzap/NCHkunzea9O9KD8GCap0+spu3OuCJf2zBb
V5NZSp09tg1tf/DU9kMzrzU/EP+J64AZ2BSIrfdOL7FyL5JeFG4e1JFyi7lLVpxQ+A5AgZ6ytZij
gZhosFW8f8OWIx3Iiz5YeL9FcMqhcym2Fu1Cb5A1JHuKQ8PB55oBpcTZPJEedxJzRuFJkSPpKzIg
AzIgAzIgAzIgAzIgAzIgAzIgAzIgAzIgAzIgw2sYPrPYe+P7yWKIOIiDOIiDOIiDOIiDOIiDOIiD
OIiDOIiDOIiDOIiDOIiDOIiDOIiDOIiDOIiDOIiDOIiDOIiDOIiDOIiDOIiDOAqJNIuT3WUWtQ8h
y4AzEl15Mc/q627DqHzduDGj9YKj5q1qr5aWr+4ofN7fluGMRq51kILGzXxCaGjXhTbk2YPivro5
Kx040LBct/Xak5Y7+Hr/AFBLAwQUAAIACACWenpJF7ZA5JcEAAAYdAAAKwAcAHN0b3JhZ2UvaW5k
ZXhlZGRiL2tleXBhdGgtYmFzaWNzLXN0ZGVyci50eHRVVAkAA8sYOljLGDpYdXgLAAEE9QEAAAQU
AAAA7Z1db9pKEIbvueIn7F1BaiUbDDa5S6CRkE5Lz0l67hd7DG7MmrN2kuamv/2sv8DfCSlVI/W9
iBSb2Xfmmdm1F2m0LBdXNyQfSF5cBHsSi6t/6L97CqM5Fzb5Pjm9r8JTd5aLqwWP+JqH1GbJPrB+
b7DjnhiyhkF2IATZkReIuR+E5FzLYDf3PRJRPJANdEMzx8ZkPNGs6UwfDTuk+DqQ0a3kIuSJYOJ5
+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
8qXr6gbSpTSedQIFVQVVBVUFVQVVBVUFVQVVBVUFVQXVGlSP+q1CdTmgLgdUwVUFVxVcBVUFVQVV
BVUFVQVVBVUFVQVVBdUfD6rq9+/q9+/q9+/q9++tv38XviKy+Zri2pvRgl0l0jPDsPTa+7wabyFG
oqkpDKv0bcZV0Vv7eQ3p+PJQMGp6dMvqrid7NXDDWYc1DqQTPRz4L1BLAwQUAAIACACYenpJFg5s
feoAAADQAgAALQAcAHN0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLXByaXZhdGUtc3RkZXJyLnR4
dFVUCQADzxg6WM8YOlh1eAsAAQT1AQAABBQAAACtkcGOgkAMhu+efASOMweTUceA3ARiwsnN6j5A
ZTpmInR0QONpn31BTSQLarLZa/P369c2TaI1ujO6MLQHpCT6xOMJyyoGyjDPUQ2+yNSVNIkSqGAL
JT5LeiNvOEgfPHXPx5YIs8pY+kBShnZxbkus02Mp/KmcTWci8P35pDvp0RmGWS9l6WwR5wapaqb/
Zkr52ueKUH83ufW/dWAFGOJezyHfoFibJIKA9z3D0NnucXVABw1oQWrjgEq4YjemQMd4+wz/8ubn
K9kXIkvj6kktl6zZugPpc/nu1Bj3mLj4WmupdQDjieC12A9QSwMEFAACAAgAmXp6SSoMd/YMCAAA
g4EAADoAHABzdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXBvcHVsYXRpb24tcHJpdmF0ZS1z
dGRlcnIudHh0VVQJAAPRGDpY0Rg6WHV4CwABBPUBAAAEFAAAAO1cS3PiOBC+55Sf4CNUbaoM2EBy
I5DUUls7pCaZ2bNAIvGOsVnbSWYu+9tXssDI1sM2jwDZPqQq2N16tL5uSf1JHo9u79EsCaNfNzeY
+CQhI5SgKYqJdWVdXoxHt8MwCMgs8cLgKXwk0RuJdJKGt98C759XQmXWT29upEeNptWwf/bm87kz
n/enHWw3qWZjgbygaSkKeEEB9skoraxcbPV7siQRYp2JabueXkhELET/Wh2n1b2+dm3HWpIAe8Hz
Rb2iHsLlkmALBVa4fvybFYTvVmKqo6zVw9coIkGS1WRQoCLzMFqsNLhVMr10DBp4qtTkw3WLZj9o
kx4pFEzWxB4eyfLC4M/8MCaSosqa/5YhoNVNEaDD4LolWR1UkPY4GN1+JbTcOLm5ifg/w3CxZJJY
IRIG+VIeX2czEse0KVfWjBvTovXFzIpebLUcu9dx3I5r93vtVpcVmBWFvXiJktnL3RtToiYXe4M6
PbvJxDN3o0AJdJ1j70QHshqX1DZOr9O37Vavy0tSCW/laSS1s0JTLHnTzH05W9s+vLMJdRzM2Rii
Nq6Ws2ybjpTO75hxRS9imi2nM8eOy6Bi9MFJQXc/Q9JznGOaC01tY7/jBEXJd+6LQ9qIZ/IUoSBG
HJSSwgawNCpFBCVEp5t62JXo207ruq0duCl59gJBfZwfCoWGF7yFPza2HwRYUH/yFiRqNC/+JAsa
F6ieWJpcm8FAoaGCey+i8W8vMHH6Tj+DiT46T8SwVC02b5oj/KAtGLLho7VZeP3s0nr3kpcsMgtD
173u2tYsa5K1CZoMa7M5/R/1e6Q172KCus2L6hDjc5HwIG1mAUfKKebb8jlCmHwhBBNcZWppuW0a
0ci74vkWU86mf9wPJtO/qXF40LmiU4t12ZR6JkmmHdv8XEuMA0x+KiwjvJXeZTjdIDPXbqdvV2jQ
JOBg00FQ2QP9S8knSsyhdyWFrCaSrAOjpKCJBarhQ5j5oTV5XPvEeGS5Tsftdq47rfaqJLGYXL+o
9hfyLpSYBSKTyt1PL2b+KDc5h5D3yEtE3UfmXcYoRMPGg84mNQfIasyQ709pL5rmuYHWOVRBRRPW
lLK5pqiERLDuyxdS56rmBZkfqh5XMSyXLMP8SqoK2rmoEeeiiC7yVMN3KloL2WX9LQK1piXrgzMb
QSMs1fE2/3rPUAwXCy/JzzLvnu8P0+fm2XOHCkthX6w+B37pZcnA8T4a0C911rThXvuBUknnEQZh
LZ65UoZ7Y2y+9wIvfqkanJWtqWLEWsBX1ZJfp7uu7Wy94DY4kwo9kkspkK9s9aVGZhINpmFU4iNz
j00e61Xy6S3+C1YRlqOKlTDrzCrBMpgnJMqttIcrtK5X0VsvchPDuKkX7DkRWiea+tQZymJMJlgA
irIltKoBxixrQX++ESsxR0bDunv5ypCDsaS02lE9CO+3VtQ4Bo8SvzO40PHX7sWFWKs0ktHzVRqy
59P9nK3yfBLQJ6+kNDZVjxG1u6+usBDcDEWpOtu3zYHZUNwufd99uq6kdFpRTV9i6rsoN2/uKflT
slYYlFZcNXt0xM3daY3lZjUzONiomldEtAXrqsdVs7mnleJLx7xkmZTKSCugoua+dgfrOa5s7hbn
QumZedgyMUPCOxMxu3U242q8l1NzX9MornDBaq/JLIy0NVB/zwnkCii+TLePtPFR+Oax+QX5tAPp
wz/Ir0qu9lDPxOJuQY/CB926Rngn4kFIzK4Wo3WWm9huAlQBqh8O1bsoCqNdgYrYhnNEl8fhPfJ8
gldlSXJeQHdn1GjpBlVO7lTYt27lEmnz1v2nM9wQBTPirxoZ6+yKCq0RHUV6Zx7NVNy0ACx2vEKe
Z6DS0WFcL6tfsjEddZJH5VbcMSL6443cBUnkkfgvL3n5jvxXwnyjgnOV1VFdeacslNKwFca3Tg5K
VUchBWXb/e2X/Wey0BsoXExay8qxQmXAPWTDsprMySchP8sOJeWGrdex+31thyUsPHALDVk5+aIX
6NeUpM/Hq7hVrMexq9eTFoQPc0zI3KtCwqF33S45UaEs5T4KF0PfW89HhTIdx9we3vvtW8L1S9tg
yuMbi2qIJVH8NPeRVio7vQVnsPZxBusUDhV1272tDxVVTe/sdvjogGkhOCf00eeETm5tsTWhw5eY
xiMXKokTOPb08cTN7pswyZZlCQql8fUvS5KikrxhKyDLmrdiI0nBmM0oCXVcqPpJkdGupqizcRmp
BsV4jr7kSNPIBAs43gfH++B4Hxzvg+N9n+x4H5AUQFIAnwZQBT4N+LT/JZ8mFcmZM8FZ7sP8OVY+
xufIxqVcxlcKDfqLb/ewdpGmZe6A5QOWT2L5Sliyfq/daW/DktXgEWs0xu61y5hHxcH2dEJRHmtn
iWv6e3O0HSiwZjl9e7TvKux29v3knB2IRiAaT+frBdtlH7e+hgEM5Wl/yeDc74p8GlrzQ8jJY34/
AmhNoDWB1gRaE2jNY9GakKA/SIIeeCKAIcDw7GAIhzyKJRgpxn3RkJ/nPAdwj8A97sI9Aql41qQi
0HjHpfHO7EtcZ8qmAVkK9wWBxjvcfcGDZ80+/MNrQOMBjQc03mHZOLidCDQe0HhA4wGNBzQe8CfA
nwB/cib8CVykhYu0cDsRbicCQwgMIdxOBCIRbicCrQm3Ez/gduInu1OYsw2NyEsT9RKKaOSTvE+w
sRiRAEmfCl/Udd2+U/p5X9ftdOt9qNd1+AeBj1j1J7bqnrp2xB7Ua2gN6f8AUEsDBBQAAgAIAJl6
ekkg78W8UggAALqAAAAyABwAc3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9u
LXN0ZGVyci50eHRVVAkAA9IYOljSGDpYdXgLAAEE9QEAAAQUAAAA7R1dc6JIsOoe8+RPmNqX06pN
FSog5s3ops66qzO3yd77KGPCBcEDTHZf7rdfA4IgMwP4ETXbD6kE6O7p6a/pmW7IeHT7wLxX5t3c
mJZ5ZzmW//wbdUzbcp7+Zp5vuc7wmTpP7NGjjk9nAdwg16RxNd4gukvmjG6/sn9XzA+G1Jkx22bm
1TfHgjsAN6IBnVKfiSCR3mHoZVQUgXo0/PPRWjDvzvIArql8783nc3U+N6hqKK0Q6Q4QXO8HqJ/Z
LGDJWAnNoes4LCL56KaGwoWUPOXMpHCr2cqyN+2aSgswmwtqOS3CIfAcGikbRYOVg62vJ4lQfODr
8Zl5jFD4aXfVtt7va4pKQMAmmP5VPVL37nIJ8qUOScX+mTjuGwlkY5RxPVx5HnOCdCQJAoDMXW+x
xoilkuJFOmiaUy5mrK5bOnsBlh7AFNjVw19/WEEIlb17c/PEgon3xQdEG4JEQmHszF0YwEz03RCh
Fwci0S24InPLZuTXxq8EmDUt/0UyU4hSoyLLGfub2a7PCog8hf5XZoRtPTJCkRsknKRjAOAk66E3
N97aVd3FMoQ0OSCuk6fysJrNmO8DK9dkFuuTvMaRmFg+aatKr6tqXU0xep22HhJMSYHoljSYPX95
DZFA6zmP7/a2PD6MJqLJRZEm48Ok2QDZqL2uoSjtnh5T4gHv5OwskrMo4K2vNmweyt87yvH9PTPG
0fw9tKiNt+ck2wFNiVw/FG7OHwGz3e0ZXaqFprJnGJC68GRr6MNotKeqp5Q2nSqhtIVkQGZeIEqq
iha4sXcIah6jAZMlZPCTCQ1qu98R6n3Kniwngz7Oq4KDYTmv7stG9gPHzKBHCUZTaC/bo0kzi9gy
agbUDZ+ZCxhmGAotXF42VknerOA5DacZgel9XSGzlCWyiXShhmdz+JsaPdae6yajeuuqumI5uVn+
OhFIYV34tnzyqMn+ZMxkZpX1oK11IAyxN859iVm6ErVGeeNhnFM1VCN1zvqr1mbM2Bcm039AVXHc
uobViTRaBTkXICMxby4TiLFjsu8cPWWe7pxfyxmaOLHpixyCOwPxw4KGSsQhViwHVhBNkuBYQBDE
A576qBlaBZk8JB46HhGt09HBcDTdkC8l96LxawqDNGfUtqfAa0sei2HMIU8tgoDGhc2xwgPKGsah
7C4y5GoWl9o873YVwcaQZfa1hqpiWTGo1KZiN74mWaWuraitG59J/Hxz5ypdICCu+q4Xmx4MQYAT
SJDJp8anq2H8CCLq1IpiF7HdN+aRF/Yj2rFAACQryAbTOzWstaY461toqkapbfIDXP7xge3RXSys
IB/W3yzbHkb35YvnHgOW2v728DkPKDwsUVw8R4kLFCYr26cnzsBFErmFHLgeuxnj5ZKtIo1aFswb
JZ/lapqi7pyuSryCZwYF3+CYMJfrhgBm4g2mrldi7HMrXAqSbPf8krgtqWQSOU5GG05mfboxmAfM
y2XMsVCiLLexV3oYSPTGT7xzICzZ2ZYFixRwy1C4nMBQA9MMjwzg8pWRQB7iJBnrchVajmkWkNY7
o/vM850RBY5RrTyQDZpcIUk9n4dR9HzYlyk8z2cO3Fmx0thUPUbsVh0pC24SUrzJGoo8MEvI7TP3
/dfdSkjnFdXEFCPfhYTo8EcnJYv+oHTgOmcvlyLuTcIxOJrg5UkLcJAMPa56XHmihVgQsR/Ck6mS
TCaCKSQp25iHysSTZahsec0uV4V7crWlYJIT3RRE7nnpoigtan1dx20v+t34TOIFnPibLWi3b6hK
CRU2c72wmBtuJPlEDEMREqGmWYFCX9V0EYWVM3tmsxdmwqyjTd/vQOaaNNdja+1OK6T6S2X8lB/A
alTy9Pt6Gs7uJ8ROcC/KfDLPsuaYOYJdp6t1ElJTaaGnoKfEnnKJNv/F81xvX4un4d52BJm4e0ct
m5lrWgU4y4GNoEPtaC9cPBCqsEXeybci9pL5w0od99KsmfRFcqVb3GQ9rvBMrs0IXJZrbk+8wtnQ
gIcj8gEu/Sq5GA+xwlzrHP3wxtg6+VEUY/ds+0KStwHH3Ar5adFveAI8wCFUOpL8zCdzvhk24uTU
1usqhiGccMEW7mMJDUM6edIL+mPKovvjtQ9vjwNLSOVxIkLmcVpj5LPa2uf3+p2SNgAulTvPXQxt
K4nNWzRVVc5PPPvdOYnxS3mQnYNLSTWzlMB+Woc4zSnrWMK+o0P0HZ1DJ4ze6b17Jwx2t7x3d8vl
nn/tU+qId0PS1gIexBm00rx/SWP/PUNBlmUbc67wxQ9LziIL8JJsvQgr3zmMCgjS/XfeYIp7Z1Xp
9ztyEt+cFSz1t7Y7vYPtYbwd9yttQEb7Cq7OTmTEU6G0Gbyk0WckMyJsMMMGM2wwwwYzbDDDs3M8
O8cqE1aZ0FOwyoRVJqwyYZXpAqtMJVUao9fpdnap0tSoY9VgRul1yipfnH7mKIxxu5nDE1y43nQ0
YwmmVV4+PNm77Pu1PO/j7Ef5dgFtd5JvF+Bb+hdRLdu51/w0r/cfuNMbvwlw1t8EqFNf++gJE9Zw
j1PD/TCV0HepZ57yMwZYCcVKKFZCsRKKlVA8Tz/H83SsAaHNos1+bJvFjpN37DjZpUCpKrpi7FXK
33fUn6tPBmuhWAs911ooVh9PW328sO9GXWgREGu8+JodvmZ3nsWl8R7/5wTrQO9dB7r0b4hhKet9
3gbEUhaWsrCUhaUsLGVhKQvLAlgWwLLAT1AWwNdfMXLjS334Uh8WsrCQhS/1YVkNX+r7YC/1fdxX
8XJigoxhmZhR9oQ+upv5mKmmGWrpl1U1ravX+0aqpsbfYhXyJHwgLK8W/4f5kaEvSmwnZPaEQx9N
/f8DUEsDBBQAAgAIAJl6ekn1IFn2fAYAACxaAAA1ABwAc3RvcmFnZS9pbmRleGVkZGIvbGF6eS1p
bmRleC10eXBlcy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA9IYOljSGDpYdXgLAAEE9QEAAAQUAAAA
7VxLb+o4FN531Z/gJUhTKUB4lF0Ltx00moLa3jtrkxjI3OAwSSi9m/vb5zgvnMR2AqUqVb2oVOzv
+HH8ne8YC3syvn0i/gvxh0Pbse8c6gSrPzG1XYcufxA/cDw6WmG6JM8+pgG2QihAV+jyYrI39DaE
jm8fyX9bEoQjTC3iusQ+JwQ3+AjmY/bvs7Mm/p3jExs1jNf+YrEwF4sBNgdGkxndgYHn/wLHEJeE
ZIxDPMcBSWc/8iglUZPPXuZCIVJR+506MFrApKXDYamo0eSHN+/YRhMsG2vs0CYSNLBiy0fGUWfV
sOTzNHVKAON6XhGfIAx/rY7Z6l1fdw0TgXNtIMXFYU3NvM0G/Ispytz+B6LeDoWqPqpGPdr6PqFh
1pPCACALz18nFrFXMrtoDRr2XGgZL9cttn7CkJ6ACipvQvCMy3hu8S3XC0jJUOTN31UMaPUiBsg4
mI4k6wOAUz40hkM/iRFvvWFIWwDxaL6Vp61lkSCAoVwhK3YmeokFAjkBaplGv2N2O11j0G+3eqzB
rCnbCTY4tFbfXpgRuDwXbp1+IdxYGMsmF4U4F0CocQm+MfudgWG0+r24JRH4qEgjkZ8FlnzL+2Ge
KtjaxvsHG9fHuwUbY9Q+1HKebcNKyeKOOZePImbZMjsL2+wyqihjcFqwPc2S9E3zI92F54Zy3kGI
/VCWrMsU2hMWVMknOCSqRA9/XGybreu2dOHmZOlQznySXwqBhUNfvJ97399QmzOP0nOjefE3WYMu
gB3fWrk3hYM8RQdR/j8NTcyBOchoIlfnKS9L9bR5PxzuA4xgxJYPekN2WnaJdk64ypSZW7redc9A
VjYktBdNxjVrAf/jQZ+0Fj2b4F7zoj7F4lyU22PlP6cboVKK+b5Z+tgmD4TYxK6TWlrdNiga2QnK
j0g5+/nFcTCd/wvOiUXnClILumyWZlZCRhPbf0wRE2qTV4FnuNqS5WYbTv0bu7xlTTgx4+q1oTb8
WoYHxdVR3/jUgT6lsYjLpF2oDPLKUq6pkBl5ihJgJRk63XCUDCQ5ViSL2Gb5DU2f0lwzGaOu2en2
OtedVjtpiW8mNy+wfiA7rsUswatMvr06Actz5SHnGLLznZC3fWJZS5ndIR3PZD45cIFQw8KuO4dZ
NNV7LuhzJKKKZLsgxOaGIgLxZD1VLETBVS8KsjgUFddxbIys4nyCqsP2GKrkOQ+RKU89fkfQg5hd
Nd8iUQ/05OHkzFZQSUux3uarT0vFNH1U8ZBPM6Uytd8ymOKbWwZRcy9LZhLiLQllPiB/kV8P2/Uc
piMBxodRj2znLWJovWpieb50KEDGHCDXQLEyWliYpe+9OGyfjl2YaVQIM6lF49lha8ETWE7KmWxv
wdXxxOG+iiTnW4d8i7AF9NSc1pzWnNac1pzWnNac1pzWnNac1pzWnNac1pzWnNac1pzWnNac1pzW
nH4nTmu+ar5qDdac1pzWnNac1pzWnNac1pzWnNac1pzWnNY//zzJzz/V9NKYz4jRP+n9qJ/0Wt56
7YT5C1k7x3VHUbn6otkbOqyUsmL3OUErVVYsXDxHhaKVJqu6m55qm9BIpnIKsJTPsVHGe+V1i/j1
iLr3LYSjqePEg4gv6iV/pbXbNcyj76YqgknEnlJICZgvHPWlBAM7hrnnV8TIwmH3QdILped3T7bg
FW5PI7g0yiaT7IVuFiHxc5dSRwlb0wunR98HDRXrJr7bmoNAn3juQjBUaUwGLBBFOBLoCvaH7II/
fHwhKFQro+KKqpNqfJIYLW8bO1t0IW/EKlEjRTdP35okhOq9RsOrstCdSo0QWZQ1ot8zDJFGEAol
W1KpYvXV5LjHeKpkUNGUaLIDQy3hiubeMve3J/ZaRuelf/IWoyjHuQxbeFGhYndwU9nA13qSoc62
5P18pt7awAjSrgv9yfUxut5ascOIMKXNQ9FS+Z7UOewKjlKDJYmzTVUSTnG8/mZl6mXLYHIX7CHq
aL1PcdKjuFx9/oSCVdx5Pnyb5c/Y+HzM10blP7C7JYm96+0gEUL9P064ig/SJvQxTQ8a/8H4OsJ1
fxhh651X3nORUVSWe0F0ncl5pQ58Hfg68L9g4OuTxE9wkvh1Tgc/y4t053tWWXk6mKsNQm+Tnsfx
b9dFpftF7Xe7A7Pw/ht7nbUI6vSkPivxaRY7ecTayTe9xr/mJCqfJDJR6MccDOr3EzVkK2cufTdV
+DTyAej/AVBLAwQUAAIACACaenpJuREF8noHAAALYwAALQAcAHN0b3JhZ2UvaW5kZXhlZGRiL2xh
enktaW5kZXgtdHlwZXMtc3RkZXJyLnR4dFVUCQAD0xg6WNMYOlh1eAsAAQT1AQAABBQAAADtXc1z
mzgUn9mjT/4TNL3UnmnW2MYY+5Y4H+tpt87GaXvcwSAnbDB4ASfNZf/2fQIDAiQBjbN1tzp0Uov3
IT39fk8PTfwyPz9bYv8R+9OpZYTGygjwzHNdbIa2515j17Ldu5njBRidoL6qjIfqaDhS9PF4Mmh9
cu2/d3h+fnZe0pxOTaaVS9/bzBwbuyHYaxdtqmprLppPZML69pnE+pVz6GwM2+2iktFKUx3akqLr
3RbDhu0+eg94scW+QQydutatb7iBEZm9tTfY73TpMHhb7J6f3WCwE4QzwzWx42CLZZktSWZ2cHv8
EHmChV3aPnji694bruXg5HMaogBc3t5jHyMD/vWHal+bqLqqo22MLLK6S3Dj+c+AGuzgMLWRLD7D
w62X4ospKXjKmHFpqNNFHeXreL1eq+u1vhpaSlcYrv2SI2eHicxkpKhpZJqZuva2W9hgw0XpLr5D
rveEQpGPqlnPdr4PDEk9CRRAZO35m71GHJVULwaetWJqxtt1ZpgPMKUlQAG3ln98sEMiRY9Op3c4
XPgXASg6dnCfWJi7aw8cJDkHPHHUy45QNASf0Np2MHrbfotgspYdPAhWatnWeXnKFP5MkmBKiqwN
/acKhH0tAiGPBslMUh8guKCpP536+xzgbbZE0mKIeG7eynJnmjgIYConyIz3E4G/gGykHeRy7qCv
EYOpKQjd1gjN+4vHNLFmqzGGY6WbYzxJU7zFRSmM4jDqtCE26nioK0p/rCnlTCsIdCXZcRRnXiYt
HU2H4vtAeX2+Uz5eje8EURnbc5EdwE7xqE+Cm+MjaPaHY31ojAhUXpgGhBReFFwfZkehBvme0TZW
Cok21wzEzA8/x1SewSTuMHXOV5RiPjZCzNMtl2NqH4o73r6v8J3tUurz/FZ8a+nFwUvRm7CyiJHR
MKFm86Q+gJsZCRo5XjJUoic7vE/TKRUwbaIpKKtSUZbpyA6ba/i/oY9xf61Z2NC6rfobG6+WGoim
yQhI6Vz4tL3zDQt/xNjCVp3zoD8aQBrCT4zx4ys8G55a1LtExIXF6i/YqjhvncDphNrdUpxLklGY
s4+JxNy18FfGPlFPS5rbHaTBU8sqKe0Rek09l4pS8edSbMSr3LM0G2X5J5cPVF2pQfSFGx8pvIOG
mRn4D0uZryLNCC5CyrKcUzopOkoKnHOWlRYNi2RbtFgmJ9/8HI0GAw0S8kjTxSXaNc9/w2Cgjmk4
zgrm2hXXOOBzxtoWTqHAlM1NhSVEA+NQuIuAXA9xKeZZw3UCG0tW4WsvVQdZsagQUzGNTxC9qXsU
9TX9HYqfZyOttPCCeiXw/Bh64ALBTODFE71pv2nN4kdQqazsqCZAjveEffSAn6ObACgs0A7estKR
BmhtGM7mCE23UYhNdoLLPz4sHpN8XQVGOq+XxsRxS8UEr0upiBiA6enBfdN0SQzwe/z8cbdZwXKE
V0s3pPAGmPrRz/Y75EV4RUEG2OFEV5UKK9j0fHJXS2DHNqLDmwHPCGTcGhYm6kjjWdi55j02H7AF
4YkgAssnFe7e96g/6BKrv9TWT+cDWu1aLLpuBgWaP3xOXPNqCeoZjVvqRWh/JdbkrcFisENSSlJK
UkpSSlJKUkpSSlJKUkpSSlJKUkpSSlJKUkpSSlJKUkpSSlJKUkpSSlJKUuonpZQEtwS3PC8454Uk
hySHJIckhySHJIckhySHJIckhySHJIckx/GQQ/5W/n/4W/nfAm5V0RT9RRew0qv0Kr0es9f/q778
FlL1+ettNnaY/9L2k+04s2hc/NX4FzisPOuL7nMnfulhxcbFaxR1vCouVtSFJzn8mUq8MkAs3Gy6
FHiZZutEoxGCWV7yPSxGI0V9SR8wHitYMChxgwFh5qzbHBmojVeeXwH2tU2+kJr0sji+Fg2FqFDV
O6NfBVnMvuo/XYfYz/XDiIMS9bBov6j5QyjYN3ZbjZwITvrWVCWLVLAAFOZMwBW8CZGGQPDxEaNQ
nOIE/SjsJFlHaZkQaxcHm/Xt+xl5iDqJdPfw1jgUurRdiMxvBFiAFG5HGyq9MsMpzBEsDUbbQQ3e
0Bmgxy6M7HBlFmveVbD28tkOC2lQYIq1WF0Rp3CBuZes/eUndC2l48p/fIsRy6F0OnwLpYry4LTS
cZMeTD9KuLPS5PTVAi8ub2AGiet53bZl3+nI5mTsJelQVVHzRDKlcqaoeaia/Q7HJ07VQZzI0Tk4
HRNvWyrGj3QmImbeVSLHb4oXn58njFtgsk/aK12/XdzcLG6m6DQM8WYbotBDhvVIOs4iA5lJk7S9
y1bvs+fsNjjokfX1Lr4se1/w6r0d9pbezjcx+TSDWfd+96ydA2JR/YAta9ULosj30tXHE/3V3G47
g8m4i6Zo5XkO2huISrFkswo65OY8mmBnZ7uhpv4Zdmtx/6rZnte74L6iwFWkwxUDoEdywS25I7kj
uSMvp+Tl1I95OfWjVI3He1VWeTnF7WldbuBftAWnzza5PKJ7vEajGQTGo5GuFjqTlv7eAwgNNW6E
hX83Im96YzyvcDQ+32eSgh9V1+v7if8Iw6Hi9C9QSwMEFAACAAgAmnp6SRYObH3qAAAA0AIAADUA
HABzdG9yYWdlL2luZGV4ZWRkYi9sZWdhY3ktY29uc3RhbnRzLXByaXZhdGUtc3RkZXJyLnR4dFVU
CQAD0xg6WNMYOlh1eAsAAQT1AQAABBQAAACtkcGOgkAMhu+efASOMweTUceA3ARiwsnN6j5AZTpm
InR0QONpn31BTSQLarLZa/P369c2TaI1ujO6MLQHpCT6xOMJyyoGyjDPUQ2+yNSVNIkSqGALJT5L
eiNvOEgfPHXPx5YIs8pY+kBShnZxbkus02Mp/KmcTWci8P35pDvp0RmGWS9l6WwR5wapaqb/Zkr5
2ueKUH83ufW/dWAFGOJezyHfoFibJIKA9z3D0NnucXVABw1oQWrjgEq4YjemQMd4+wz/8ubnK9kX
Ikvj6kktl6zZugPpc/nu1Bj3mLj4WmupdQDjieC12A9QSwMEFAACAAgAmnp6STCkpi4jBQAAhYQA
ADIAHABzdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVU
CQAD1Bg6WNQYOlh1eAsAAQT1AQAABBQAAADtnc9zozYUx+855U/Q0Z5pZsCAf90SezP1oetMne1d
RiKhawsXSJy99G+vAIOFkTBOs7PbzveQmVi89yQ9fb5P6MBoMb+7p34axd+mU8Y3POVzmtI1TTi5
IddXi/ndLBKC+2kYicdoxeNXHpssW55+EeFfL1zalK3TaaOp1yc9620UBIEbBOO1w6y+9OxtaSj6
RBPgmQq24fO8s/Nmh9/LHY9pNplEjuvxmcecUPlnO649nEw8yyU7Llgonq4uC/UQ7XacESpIVDb/
QkS0J2lbH+dGPXuJYy7SqqcWB2kSRPH24FFkpfLL16DH1lrPYrnuqP9VDmklUWjLJgvZvGmvLL6/
iRLecNRl8+9zBNjDnAATg+VIqj6koZyxmN/9zmXcJJ1O4+KfWbTdZZZMYxKJepTVi+/zJJFDuSF+
kUwi+0uyLIYJsV1r5Lie41nj0cAeZgGrUCxMdjT1nz+9Zk4y5epsqDOy+pl5JTcJijBNLnumCoj0
rmVu3JEztix7NCwi6YzfpTSe51njqUY+DvOjxDawvr/YlD6+m9gyoo5Sq2V2IFfKpLssuaqKMk/b
dQLmehkqrRpcnvh+zJKMXPdHpouurdZ5JymN0z8KLc7kIJ74Y0xFQgsoGw5HYGVVijlNuck3V9iN
qm3XngyMC7fmT6FQ3Bf1pdB4hOI1+nrM/a1givtjuOVxr3/1G9/KuiD91GjN3loSFLV0cB/Gsv59
CCbu2B1XmJir81ItS91q83E4yg85glm2fLI3wsq2a7IP0+eqMitLN5wMLeJXQyLHopmx5gfyfzoe
cTsYMk6H/avuiBV7kdKQD/OEI+0W82X3FFPGP3POOOuytdjeQFY0vte0v2PLOc6v0MFy/adMTlF0
buTWQq77jZk1LBEIgRAIgRCoLZDys7RYCMbfNHuH8hSe8ITn/9Wz9qx6Rz++ldfe2dyx1aHULEXx
om16/dbWJvPDxnngTKEzHyM0toZTVHkobDgYzkG6wkxZdgYhy1V5HljMiec63tCZOPbgEEkNU5uX
9P7M90rE6hDW5vLpLUyys0hzyDVC9nGYqr6r7GTRegKTR6YHU04uXCDS8+lms5az6Lefi2WfMx0q
hiOd1rY2FJ2RCiu0AC1AC9ACtAAtQAvQArQALUAL0AK0AC1AC9ACtAAtQAvQArQALUAL0AK0AC1A
C9ACtAAtQAvQArQALUAL0AK0AC1AC9ACtAAtQAvQArQALUAL0AK0AC1AC9ACtAAt/Be1kH802k0F
1feluuYuiS0szzF/sOpCe2HayrlqYvqithvfuelFZJ+b7ymoF2bycjirFWzFUv8dcf0xUASKQBEo
AkWgCBSBIlAEikARKAJFoAgUgSJQBIpAESgCRaAIFIEiUASKQBEoAkWgCBSBIlAEikARKAJFoAgU
gSJQBIpA8T0oRtttmNavFNuHm80sb2+/TPJfdHgW+9Pua/A3Hp5ZuGKOLfQ3Jtt2/3SpA62TSREt
xkaeC6eK+9bPGu5DESbPnMEWtrDV2HbaC7Qq7VJcLtoQdL3Ur3P2PMt9973MLZuMrqo2thrNjqAd
9bXBZhnfrqP4zN4RhNn3SOVlyj/fHdEnWVFuLdZcmJxNZvXi+zxJboOUx7ULmWeHKl5etnzhXciG
pSy4/jWboByx8ZLx05kkabQrB6LeIp23HgEced7YPblndBPlV1vXjJyhcYgN9h+K5M6yOPXQW/pt
zfP2xeG14KQfdzzu3k8eiJnsI3XlZlT4fLO52PofUEsDBBQAAgAIAJp6ekkX0GRBmgUAAFB7AAAq
ABwAc3RvcmFnZS9pbmRleGVkZGIvbGlzdC1vcmRlcmluZy1zdGRlcnIudHh0VVQJAAPUGDpY1Bg6
WHV4CwABBPUBAAAEFAAAAO2dz2/qOBDH75z4E6x3eSC9SgFCSLm18KpFWi3dpW/vJnFKtsFhnbR9
vezfvk4CISGOQ/pDW62+h0qNM54Zjz8eO5R0FvPrFRNPTEynru/e+NyPNr9Q7gY+v/+TicgP+WxD
+T27E5RH1IllA7kg3c4P7v/9yBbz6zmN6ZpGbBZyztL7TaqS/vJnYBqTkTkejQ17YtlGp7elPu+T
iuImdR1FD58/hQ9suWOCJh5dcbfg/52/ZaLX7ywKY68M4pZxV1qaBWHETpydXA71w3eUWm5EuJ0F
PuOxIgAT09T7k6pwX+9J1r/Rh/pJaFDVK2oybLv/HtMS7hifX//BpJ4onlHusCBgrkqzWjIl9QP0
FbxORbPhpAO48YWU6xk/J57nmZ5nU9M2+pq4hppopMo0fTfJemCH6zyukfTzbsMEI1T+DEbmwLo0
bdMmuwzHZAg30kwoXiRqLGBxruMwwiNEd2EOpVJSc1fhcaWp1y8Gaz1yjb7s2Tjk1Nj7ROZybJh5
ZNqpug13OznblJN8Fr8RHj6TWGejyevZoxByWeWWNB2kiBeK7b5HFpW8XzoHPXetzqmp7DV1HqRL
K4kC66x+/9WPE6li63R6z+Kl+B7JjoFMwQcNC+6F0sAhUUlLNd2rhkjaJK+I5weMfO1+JdJZ148e
9HvAvOpygT8nyUqVjqoJ/acJwoGVQli3DA6e5Dak4LKYL6ZTsU8c4XaXSLoKkZCXtaweHYdFkXTl
gjjZfJKnbJ8jflRK1MOBlSjMVcnQ7WjsbL4/5dm4kH9GE6NfWvFJbqsbXJr3CmuY9LoyNuZkZBvG
YGIZ1fSsCXTjYmdpnOvSb2U/e6/1PjQ+fr0XbHzYek+IOq72UmSHyZ5Ts/ST4JbWo+w5GE3sER0n
qLwxDWiX8PLE9PvMqDy4/JfRpmtDu8PLmIm47jDdcH4TjMZMdxAvn+HMgTwR1s37mt37vNB9UZ6K
157Xang5taY9WWRktEyoRz8LF9LMLAlasr0cqSTPfrzJ02khYNalZZDj0ZYcM10yw44nf6f2hA08
y2XU6nfOn1jFSbF8fQhIZV/4sbsX1GW/MeYy95z9YDAeyjTEnhXtn+/g2XLXKjyApGthuf5LTlWW
ty7k7kS6/UqcK5JQBEVQBEVQpFNUuDxILLjLfip2ssJd9ERP9Py/9mz/SWdjqlny7Nhf9zCgzE31
Nyun04ZEp/mEuypb8yR1eDCsdKh5FlIlZuomJ2KyXB2eThZzMh4OLXloHlu2/jH6ts5+y2CQnkOD
YC197Tf+QWemmpaahzmlbMkVlVARDHAH7sAduAN34A7cgTtwB+7AHbgDd+AO3IE7cAfuwB24A3fg
DtyBO3AH7sAduAN34A7cgTtwB+7AHbgDd+AO3IE7cAfuwB24+2ju0i/On0dc/h17VfM5gc0km/ja
S51DViaqZSp7beCCFCd1T9HAsr+R7P6xpZO/jOs8iigUGXrSBJGeiJcp+dL90pllt/yIrP30PVES
hM9MkAf2kv53CMpd8rjbHVta0NoynO0JzadRy6b6hYrybfAIHsEjeASP4BE8gkfwCB7BI3gEj+AR
PIJH8AgewSN4BI/gETyCR/AIHsEjeASP4BE8gkfwCB7BI3gEj+ARPIJH8AgeweOn4THcbv24XLDh
2Q+CWdquLxz0BoON7J+aL62Ays2GicvGqCsiejpYXY3Cw2JQdqpbFnrhdu4W4FWqPScarQhWWSlX
+BqPDfMtpVXrVoUKg8raUCCs9LpbI7MUV+tQNMDu+cmrGYdKX5+vgNVJVApFrBTVvJLB7Cs7Xnkx
E6VqYVlQ0gpf3VeUxqqZyvOKOJ9WMgt3Jc4m47FtnlSXqZRClkIjq9YTbUnlsuotfVmztH2xT1cn
dkzbPt9OVp9YW+GyWgO4tXQJg338up1/AVBLAwQUAAIACACbenpJnszDSycGAADCUwAALQAcAHN0
b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLXByaXZhdGUtc3RkZXJyLnR4dFVUCQAD1Rg6WNUYOlh1
eAsAAQT1AQAABBQAAADtXEtz4jgQvnPiJ/gIVZsqv21yI5DUctghtWTmLrAI3gGZlZ2QuexvX9nG
RrYl+QHMkF0dUhVbrVZ3q7vV/VnJbPqwgPgd4vt7z/eefOSHm98B8rY+ev0GcegHaLIB6BW+YIBC
sIrIC+VO6fe+Iv/vNzibPkxBBJYghJMAIZiM17GK55MfzVQdw7QMS3Ud21V7gx3w0VCpMK5j12PM
8NF78B3O9xCDWKIx8ij5X/wdxINhb0bpXlHiGSKPrDTZBiEsCeuMdLH6KyaXJxzsJlsfoohhAMc0
xfIkLLzukqTza2Xgb0INqwHNSXXd4SW2JdhDNH34ExI+YTQBaAW3W+ixOLMpE0+9Aj9K6oQ0VSdR
4MnHhG6gfjjr9dpcr11guupQYNdAYI2EGa3AKjZ9hQlLgX8q7wbDgliarg5TbZ7IigH+QbwObmEE
M/pM2ZM/vQS5fzIpBaMMCWsEXBpeIiDfcps4G8Bpslg92fE5d76QyPWygRgqgPxohqnZo5Glmso+
jdleO1bPwX5PNh4gJd/Q3xQUHJRItEad1JM3jEmE5SsJJhCSdYB3xxmpVfJ5yR4MvCU7vSa0D2D1
nYi0IK4Axbl4WqW/iosuNTtzUaYPZpLkaxDCOR239/f4GMDBbh9TegySABW5LN5WKxiGRJQ7ZZUa
U3lPzxvFDwsJU9fsmGHOyvPDPYhWm8f3PCtSAWc46rAQbnGO4SmX5B8qgJRBn9jGdAxXVTXHVqtp
UmDo2kiDiZ15abByrlwq2HT1+sFGrXG1YIs96hRqBcvqce7nxF1sXDqK4pmaaaw903KERwbx/Hlp
7mW2hFQAv9JcYKkK9Q4jgCNeVVpTCGEIIiiqaIvFkKmR0oq3cUv46iNq+qy4FV0Lnz/gjuQFMo/m
Vl3trFriIm5iuqabuwk/O8/ptNQsN5/EoR6IBJN4+8hqSlYYk/06+NEmz8zU1tkjW1VO1apySpqx
r63W5HfgOlBb2x4E9rDX3MUYxV/xOSuEKkfM1/0rBh78AqEHvSZHi2bpJKPBA+N9hyOHquKTOJgv
/yLGSZPOHTlalP6wolmFMlHs9JhRzJAHPxiWoUa7lcy1As1R6mw8F2RqwB+sxESNOQStUpWWk0my
xFiZwMkFrO0DXhyHynyRxcRsqlimYdnGyND0IyeaTUEvMvsLPFAc80QkmvL44YdxPFZFLnjIAfsR
PXcRR5cwC5G08cyzScsNUgYrsN0uiRbDWrRiwnIVTlpj0hZEYRHRznqpWEiCq1kU5HHIet3EsCll
nc8fqZp4e0oq9HOahJd5mvl3QtrKs+v0LTtqS0u2d858B4Vuyc63xeELu2Kw2/lR8ZQ5+NvtJHkv
Pj3PWLDW7cvLF5y/MlizcamOInCsrKyo4c7igDmJFxECYq4/p5Nyvxfm5hRhbZqcmdI0MWIrx2et
UqzTLUs1z0EaecHE8p5KSDE8nyl1n0Mzx+NlgGtiZO3Hh0dWJd9e8V+yClWOMirhWJkjwDJeRxAX
Ku3J0VuzKrp7kVsB7R19pLvc/RaC/0XWO/BjCZP3s2MCKq3jumrzdVIk/bKgEMejm33akd9EPsc3
EQHYJyG7S0B2t4BB2brTGYNqiiV1a/XOQ7gatYizrh+mf/rnOQmpSUjtDEit6KwSbpNwm4TbJNwm
4TYJt0m47f8At0loTkJzEpqT0JyE5iQ0J6E5Cc3dPjTXTbDOgF470FBifxL7k9gfFY1xGVt56yNS
4SGwHWejxWayQe3bqZdMhMlaSRJU6R/WHK0f8nwflKQ5DwDiN+fc9cTNU2phfiYos2vSq45ZczgH
B+DT8nN0POeKjeqFE/Gpu2UapsH+tOltWWuUWltVdTuftJ/lvBk3CDtG/mAZsN+qU3Md3dC7dGot
+vgWwpDOkdP559ozWulHjAPMbKTj45k8n5pp2UUN69GKayAO7bGDW8ECbi6HyBZYtsCXb4HPa2av
+EX1zGb2upLJ/vFn94//AdBBXn+R11/k9Rd5/UVef5HXX+T1F3n95Ravv8irMvKqjLwqc8NXZc6+
4EJ3fsG+KJRluWathSzLsNvpapmuK0Tyqv8vruwvR1n7v1iDz2887kA7/p/GEJcw279QSwMEFAAC
AAgAm3p6SUzrqv8JBQAAtx8AADIAHABzdG9yYWdlL2luZGV4ZWRkYi9tZXRhZGF0YS1yYWNlLXBy
aXZhdGUtc3RkZXJyLnR4dFVUCQAD1Rg6WNUYOlh1eAsAAQT1AQAABBQAAADtWUtzozgQvueUn8DR
VG2qwDxMfEvsSa0PO06tM3uXoYm1g4VXkDhz2d++EthYoAc446lN1cwhVTF0t1rd39fdEov5/Qro
K9DpNEElWqMCZjkhEJc4J49AEkyeZ1legHVjub4z8fzAC5xoMrkdX30h+J8XWMzv55LmdBorrTzQ
fDvLMJCS2bvu2vT9q4XJn8pE8n5Pav1eH0ZbhIltSUZ7TY1ES04U2VcKG5i85l9huQOKuKE7kjxR
RApUmX3CW6AjuxUGnDxggovN74gkGQvkX0AL7sEGkWcQdLkLomK+AzK//xOYA0U5QySGLINE5ZJa
8pe9y9gTUlSJ1nmvMv2AKZMbOW+TNE39NI2QHzm2AYC5ATaVMYPuhuMHjr8bABbMz6cNULAQ+3M9
3w1v/ciPrF3NW76FB7ZMTr8xMEIGZWPjuMMT257yBrZKScNbhcfSo5EtBmvtJY7NNHu3XC12mcjc
Bo7fROY8U4/5bseyjYjVZPE3i+R7qzSt0ef17IVSVn+alQwKTCTN6fagUUel0atyMErWSs06Xfco
/spcWjEomKLJCtZclheSH/PaKSmqovlvHwLcsEKADoNHT5o1mOBSJOt0Sg+szbc7LpkoRHLStrJ6
iWMoCubKjRXXwbRe66Js4aLVTsZuyA02phJc7FAZbz69Nj1DIL83cewW3Xhh0W2uKjoCgazRNYuN
P/Eix3EnoWNLtcwQ6F6mQRVnXe2Tuu6lyDZ2fjzZhDV+GNk4ok5Ua0V2zAu+hnc8uCKLuKbre2ni
BxNjn2DIX3Z0L5MSNh/9n+FCa8e476JEtNQNSD1jIgVUgmm4ao+KvssGT13i1vCMiaC+aKfivWPh
H7BldYHpidbk1T7eAKGpzkuxLA2rzSd3hB/MgxlPH1vNOh4bWL72uNw0lVlIXXgbOtZplrdORZNj
LU7Z/yiagJuGCaDQvhoOMcXE1/59HISkFvNl90xRAp8BEkiGtBY3GLOKBnvF83e0HOGMU/Fguf6b
BacuOjestVjXtrQzSbLa2OnnUWJBEnhTREZ4K8/JBqtYrTFksu7dwpLU8NSBVrln/UuJRT0BNBw9
ZVlN7TmWUklBUz1UCUcJZ661XB1ZtJhbge8FoXfrueODJdFMa19M+zPsBYtN6TKpfHrDBWew7HIr
+3uKS1F3xflorFus0DzqYnJmgqxRjLJszXZhm7sJW3OmgoqmECplW66ohESwXooLFR2HsaBhrurx
kMDWkn2YP0gNQXstasS5KKKrVcPwXYmehey+/XaBemYkzwdnk0EjLNUVuv36wlDMt1tctvvSHmfZ
rHpu7rffsWAv7LvLt8AvvexJXL1H02Vjd7OmI/qRB0olHSMMwlo810oN7o21ub64HFqcld4MCeJZ
wFet0p7sg8Dxv+fmVkcmFXokSimQr/T6WiOzpHfrnPZwJMW8eRzn6o93XOhERRhg27suDcFUz90t
ETYfo3XGENpH/Eawkz2lJ2ypuyThlw/s5ytYpblcDRl0O6cFnr7DJdRdWgJtnUZmB352r1yVezCy
RaWh+GQSOo6KLUDYkxfo5fNwXr2rzL/7HPSzYEtTrYZ9c/pgpUNvsYoXajWnzp1MT2O96zUw9HLm
UgwoynynhB4mrCYQlFWNQB6i1P1Be8UsfwH7SI6I9zKVF6fKNAmCyO/cbUhfspmQF2ppYPwi3ja9
Rd/WUD1fHAjfWcePouHr1J+X9ZH+D1BLAwQUAAIACACbenpJhvVterkFAAAbJAAAKgAcAHN0b3Jh
Z2UvaW5kZXhlZGRiL21ldGFkYXRhLXJhY2Utc3RkZXJyLnR4dFVUCQAD1Rg6WNUYOlh1eAsAAQT1
AQAABBQAAADlWktz4kYQvnPiJ0ztZaFqXSVACJmbLdYVqpLgBG9yHlBjFIsRGQl7fclvT0tCYqR5
CDCudSUHV1mjfk331z3dIzobGrAu+caCv3cwndxOaEIXNIbx2A/8e+CriG9ulknwTBN44JTFFB8i
NmW3dPkUsMd5EnFoKdgD9hw9wWwLnKYMN8wX2B+CDfBOV+YTaDILCtU1fcgxB/4MfDyGGDnDIF4L
rLJcL2IM9mJVHOSKtPGvZ1ujgT0cDC135FiWal/AcGUHNd6zPSDsBLd7FzC06yfK/BD3+gfwGEm9
NWWPzQrFLZpFqTbrWq2OCQoGcZfYe7QFNrn9HVBOnHiULSEMwVdJVlNmLnlHeb7k5HtgPnrCC6MY
as4cXffN4VkqpdzxaOOFAbBEEaCRbZvtyUT451uS8zfaoAdJg6iOKMly3abkp4uIJ38GyTraYVjC
cIH5b9CekddzBCkOm32IhESbJ7RC3ur4C6Xc7b4EasTX61Umt/ULbCL+iq/FoqW3sZJodcuQJBcn
ypI9ladTZT0qsi/Lt7uAIzw61vfRarWyVyuX2q51JpM+DJEh4zNhBt51WlygeC5rR4xuelgDB0Lx
rzewe8617dou2ea5c5l9Z06csRwiaHxeCfZlIdYhqR5Rcw29N2DpAjX0BGN+UJjuUA0iGZ0BISSl
DGOuKikNbxUWS0udrgiIxcC3usjZuOVM2WU8cz207NIzp4m6j7ZbRDRlpIziF8KiF5KYdDRZ7e04
x1JdajIw7EviniP3SsmXxUBXTPNwVTq5+W8/BwlIpfIRkhn/WjRqhYQpW0WooDj8UJOGXVZEsiV8
IqsgBPK5/ZmgsX4QP5lzdiKbLOBvmZ50EqMqoP80gbDnZCDUH1mTCtZTwpnYuozHfN/DRJttSukr
SCJWlTLfLZcQx2jKFVnm8STPeW9Hgrhy+Pd7TiqwFIWu29Jkuf76XJ7wQo0djPIaW2Z82mbpNpe1
YEIOk04bfWOPBq5l9bAPlztFg6Mbkx0yP+s6QalHulS+9633z3dBx7vle4qoQ7ZXPNtPWwNN6qfO
reQjcvYGI3dAhylU3lgGjCk8q6m+TESxGf6R3qYLy9iIxWkbqRsgG2YCDjhxm4bP6lxg93DK0MV9
AY8Bu/zFgQYvdW0NU8BMrCXHFdSDncIDqvFSp6XHywGV5AWnl7KcCg5zrh2LHMYlcqh0aYSXK/yf
uiPorRwfqNNtHR9YxVBSfS4cIp0L37aPnPrwK4AP/jHnQW/YxzIEL4r1j9d4nnhqCUNtlguzxV8Y
qrxuXeHpRNryACFRZm4+PBYUU+bDd0WchLfyRGOQGqg5zpmBpC0U85AuhZR71r80D/wyveGuQaY1
z++exKCpIKqAUz/FEZnNi5yeTsiw33cQakPHPWrm897qDNJZ7i9Buo1Xf54qLJoSqKSt32p4JmBc
CncZ9I9DXJklquVjHJtTNuFrT3UMsnJSI6byxL8iYlD3KOo57heSvz+stMojBStxHPEceqiCoCXY
UpNP7U8tL3+FNXgRZNWOhNELcPIEr9mMgyWT7LB/LFdOQOuJ7jwdoWUYjdhUl8Tq6wvjMdpsgqR6
ELwEYehl6+bj9g0KG7FfV1/JAOllQ+DyPZquc+ubNU32RTIomXRpYSY+zVwBvEqxx3jjJASrtFT7
4uHQst9yr6fLChUMpNxQQFhpdVtDM+PSNaUM9lWQHgVFf/zBr4UrrV9114nBmer+uUJSflBsymDl
t0qdJajqxvfTyT/9BgokMdedY1rEWtefhm9/A3SzSoBXpoocBtkk0P5vfW89q16fPUH8X7ClqVbH
fdH+YKXD8Jnx3X4K0fQBslHxiVcilQjHSbRVvggY1gVGw+wwkDsi9RmhveOVP8ibDDlNjHhDksk4
1JbRcOja77xnoXGSfhGA+geONkeMvyyoit7Q1wVk69N9NajpsV33eD35Z3q9X/4FUEsDBBQAAgAI
AJt6ekk3VifZqwYAAE9VAAAlABwAc3RvcmFnZS9pbmRleGVkZGIvbWV0YWRhdGEtc3RkZXJyLnR4
dFVUCQAD1hg6WNYYOlh1eAsAAQT1AQAABBQAAADtHMtyozjw7pM/QTWXsasmVRgDJrklZFKbqq11
dpPZPctGTthg4RUkmVzm27cBg3lIAmzyLB1cFYT6oX6pu5EyWmOPjtEP6v33QC7Pz85xhBc4JCcn
rudeEbYK2Pp0GXmPOCI3DNMQw0NAL+kZXt579PY6ChgZcMA9+hjck/mGMBwDnFK3AH7jrQkbjetw
hTkJBxnpCj2AuCbskbCTExICpO+FdwXQOl4noJRs0fIg0BEawm9iaLOpYU5NzZ5ZmsZbF6Ew8kAq
sHtLoLASWO6FR4Gv3zB1fVjr34SFMNW5w/S2mWBxiXJUvMXa2mAkMwUJuj7WHmwIPT/7iwCeMHIw
XRLfJy4PM39mIpIXxOfWhHxFqAuScPwgJBVhzo51uXqWXCwXLFg7vkdoxFHQzDDk/CQo3P05SeEb
eRAbSQOqURGTZttNzo8XAYv+8aK74AHU4vsL8H8J9WR61Udgxm6xN0HB0a4jXJo+GLkLLt7NNgQK
0FfjVYJ3cP3n714U4ykGLTGPJUercsahE2RulTjShcdA7yPt52y1WhmrlY0NWxvvBySWbyBx5QSZ
BPYujhoke86DQgjrv7kjjCAMv8nUmFjHhm3YaJM6RT/rToQ+p6nugfnUxbf+HopMpKoqeXC8khhJ
D8GxAzNvpKYLIBOwZxAG8UmU45A6IXem5C2H49rQaFw0iMXU1cYA2bjkhFg/kjk2NSOXTDdUV8Fm
AxaNKcq1+A3R4AlFMhpNXDsPjEEMzilJALaxbguRSiWHS3QgipKpukopmiAG3pJozr5nGViG4ZKu
AiCQ7WpASQBeJ4SSIXhCK88n6OvwKwJmXS+8l/vseZ3lgv0t4y2sBshT6K8mI5xYiRGK96Lzkq3H
E+fFnOTkhG2Tk2C9iWe6nCkBLWO5flguSRgCK0domeoTPaZJG/LC0q6uT6wYYY4KRLfB0fLu+2O+
dRdi7HSWxtjc4+P8SbS4JLcq+DAaDUE2xmxqa9oEEux6CigRdKOzk0TOohSvlvz05e+69vL+XqDx
Yv4eW9TO20uS1ePUQOD6sXBL/giQk+nMnmIzNpUDw4DUhecV0v1oFLLct5Q2XmjSRCyM80NRZdiQ
7DMCpbSsqiwn/MaEVz60zF9E9rIgtx4VdxIE9lKFakjv58VY0i6g7jgsPAAZJxZavL3srBI9QVmS
h9OCwKxjS0O7OgjtIl2s4eUK/sb2jExWlkuwNR60VyynCig/ZwKp7Qs/NrcMu+QPQlzittkPJqYO
YYg8ccbfX+LZcdcqVKuJL8wX/4Kq0rh1BLsTGtYLiNrMRMy7x2zGJXXJT46eCm/7qWhqDGXVjcgh
uCsQv5TX5fX5kpZAfa68zHZqAIJ4wFMfdmOrQPPrzEMvz5Gp6xYYjmnZrSo451BhoNFy26sYN3bo
HJ5aBAGNO7fafHBkhtGX3SWG3M7icpvnDbcRbDqzyb62s9pYVjpValOpGx+holK3VjSx7G8ofb8b
GeQbBMTVMGCp6QEJBJxAgoy+DL8MnPQVRNSFl8Qu5AdPhKF78pxULBAA0QNkg/lIB2vtKM7uFpqr
UWqb/ABXft2zPQbrtReVw/qT5/tOMv4CLbSUYKPtV8mXPKD2skFx6RplXdfqYmV1euYMXCCRW8gn
d2O3YLxctG2k0cmCeVTKWa5pasYhXTqRV/DMoOYbHBPmcj0UzJmzWtOxbuwrL94Ksmz3nTd5S4kc
J6ONF7PtbpyuIsJKGXMqlCTLHR6WHtY+68z0Y90W6lv6eaiMeo2fFyQZv9xGkgod29ba00m/tfTb
kRFYdLuPk+qr2St/NdvzY6uk06b6ZX30y95DB8fSZ/prdGJe/fTD5/i6qbpXr9q9esN+UdlYVS9J
9ZJUL0n1klQvSfWSVC9J9ZJUL0n1klQvSfWSVC9J9ZI+ZS9pX0PreBpI9ZJUL0n1knroJSU3Dmqj
HoUciWL/NHtbrpVaZI9veYPjoCaHuPYU0mtxvanrfaZ9Lil1vIvUZyTsejOmLqAu5RmPRqU60zR7
//OsHyTgn7awe44D8wQ47FRs2DN9qu9TbHQoRTswA8WPoHjNV8+pBr8zFjBuLRjvj/C8qwdVITBu
LrhfomjuXv6+l3L2kBjyIpeT8ETPLiepazif+RrO3sXRgfd3+s8o1KWfV7j0847LfFV4q8JbHeJQ
hzjUIQ51iEMd4lCHONQhDnWIQx3iUIc41CGOal/14KMXJTWEUbCR/dcFwX/c6zy7WI0kFAuSME3b
aFSLaU6tbgI2Ddv+UIwKFfNhhPfxRc1/8T9QSwMECgAAAAAAg3p6SQAAAAAAAAAAAAAAABkAHABz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vVVQJAAOlGDpYAxo6WHV4CwABBPUBAAAEFAAAAFBLAwQU
AAIACABcenpJivCzLFAGAABraQAANwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9hdXRvaW5j
cmVtZW50LWFib3J0LXN0ZGVyci50eHRVVAkAA18YOlhfGDpYdXgLAAEE9QEAAAQUAAAA7V1fc+I2
EH+/Jz6C3g5mLjO2McbwRuAyZdo56JHru7FE4sbI1HaS5qWfvZKNjYwl2RDSS6b7kEmQ94+0+9vV
Shsn89n1jeenUfwyHmMSkpTMvNRbewlBV6jzaT67nkaUEj8NInobrUj8RGIVpebpDxr89UgYTTE6
HteGuj3UNf4ebjabgWuZ6z42eoyzu/UC2kMSAfcexSGZZcqayfafFzsSe3wxCZvX7T2JCfLYl2kP
XcewLcNFO0JxQO8+nSZqGe12BCOPoqgY/oJo9IxSnY6mWU8f45jQtNSkYWAkmyje7jlyq5R8mQ+6
eC3lzN117fkPbEorBgXyafX7b0HKqcTR8fiOpIv4a8IYwyC5LyTM6SZiCnDh746Kva4IZUPsE9oE
IUGfO58RmywOkgfNSnGAZ/UpC/jzwyghNUaZQ/9pAqHpZCBUhUExk1IHI2RGp7Pr74TJTdLxOM5/
mEbbHafEEpKIVqWsHn2fJAmbyhXyc38ipi/hjgwShiNj2LedoTkamSPL4AJLUcx0Oy/1778+cSbm
dXE1Xn9o9Dh5GfEMq1S1OP5MjGHU7TDb2I5hmv0+09sTTS4SnxXsJLOzhFOUfJjmpeLdst8+3gUd
bxbvHFGHaK9YlntKFfrcuJV4ZJxm31gbZMCh8so0oA3hxZHqy3jUMu2faW1vbXBrK8Uwm8XpH3ko
T9kk7sht7NHEyzFdYzjgnSW1mHgpUfFmAXolpAbXdUeO0u9rchdQgX1edYWEI6BP0cPB9hOKBfbb
YEvirhIvx9q0lUWOjBMT6mGewgemZsqNxreXAyrRc5Del+lUzKWOYyO/nBI6ZDruYX9oGNgZWG7f
cvo+ybNfS8fmqxUGsmlKDFLbF37s7mIPk2+EYILb7AfuwGFpiDxLxjWwjDRuvQliZuMLBOdgNBoM
rDI4T9+1DjrzWFis/2SuyvPWFdudUKdXs3ONskZRrv2w2op22zVaiF3QHMAqWEvnoX5Ys3PDotTu
kdAqckKR4moMiqiWOcHD3LdosSribD5DA9M0XccZOIZ+Q1iq9J9oDNT1vTBcs7n29BmV6ZzK3KJI
S9NGKMmIRGBcAHfRdhuk1WB4DsJwmo3rU84rFDai+1h9Bd21hw0OzdeogXRtsbrTTQFrKZMK2nri
06YrQFsqto01TsK0TEulNhgZ7Ax69iaviRAZDGoRIoGwdNYdBc0inqyjuAHsm4CHXlEjvL+t78gq
wvZXXXWqMaa8hqiQkKJIb4rgkvDIe9KZMFUTjPnph318IijV551qxhRyIwvOR+5OjGtM+yJvKTwH
Rh1jtXLk8N/fIkw2KYkrlWkeRlk1Wbm2k2JAm21kHPVsY/UNW5ZtCGUjj6QxH7bPS2ftdydWoYrc
dxNQZodfeEZgIa484r2vRKSWmEU2q2Quf0Zs2KcnjYrFi+a2dtdt9tLTadMmq1ErCwDX1hcIGnH/
bTx8FHweiqrJmyFVX5ixGRSq6wBVJIkVvyVoqI8ymlrpc8ypvV17DzXNWaeNYsdrqlbEnbE2pndb
Saa56ytJ9Kmq3H+V16SU24D8Sl6+PW7XbDnavsj3ffKIs++dLygvnFCSHWrzU7Tt9q0GKcSPYszE
PJAXhZD+cKQUwg7wLSTYtu22Cs7laU4RjznqKFqq6iLhmYgg4T5tXxOdsu1jowfgBnADuAHcAG4A
N4AbwA3gBnADuAHcAG4A92XA7fGOVm00oCmJqRdOiqfVpm+LNthZQZNNpljvhOKpR30S7peXqOzo
Hc1GDKXaM733cmtoLqePF96i/zuR8agwK5Xf5i5Sxthirae0d2U6qr/5NRqa1vnX8+/tVlERsxMJ
3Gr3s/W4kRnwAo3miTR+oa8L7dlXMv6fe7PQK311r/SUlie0/l7f+vsou+dFG5FwUoOTGlxDALgB
3ABuADeAG8AN4AZwA7gB3ABuADeAG8B9cXDDe6DwHujPfg/0o9x1vt+3UqFfCG0/6BdCvxD6hdAv
hH4hHO/geAfHOwA3gBvADeAGcAO4AdwAbgA3gBvADeAGcAO4oV8I/ULoF0K/UNkvrDxlSXMnbQaK
D8S/YJ+NCu+RGpbrHv3ddf6PVY6JbENpzBrQlrn1p1xOVfTWe1mTbHy+TxpHeky2cbTWkwnC2v9s
UiTh/O3mkGCtnS4h5l9QSwMEFAACAAgAXHp6SRhaHuIDBQAAwB0AADUAHABzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vYmFzaWMtYWRkLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADYBg6WGAYOlh1eAsA
AQT1AQAABBQAAADtWU1zokgYvueUn8BRqzZVgIjoLcFkytraMTVm5t7Cq2GD3W6DcXLZ377dINjY
H6BJaneq9uBB+v3u53n7pZlN7xZAX4FOJjHK0RJlEBKMIcoTgh8BxwlehynJwLqxHM8eDTx/5IzH
rjf2r77j5K8dzKZ3U0lzMomUVh4o2YRpAjhn9q5PbXrB1cwUT2EivjySUr81ht4GJbhvSUZbTfUE
S85o7PavFDYS/EpeYL4FirihWxw/UYQzVJh9SjZAe32xDGQLeHr3DZidLA8RjiBNIVZZVkvyyD7c
nr5ExJDYQ0KZJyGWiFdRMqKK5W/pWa9v9eyfo9VqNQxcBzmu3S8TfWAeCX1jAIIUcqjkqzocofFE
aqgpJQ2righbAlwO4iJAfeWeEY5TmBbO2sUO/2scZSyup2egYCH2c7xR4NueawfWtqTf1XmmHsl2
y/YaYave0N8sTPZWbvLRFnW4o5SRpfZkUGAiK0I3B42yKrVeicF4qdQst+sORS8spAWDgqmacRJP
ZflPgejS8SuIKjFYRVL7YIJzkYKTCT1wkWy2XDJWiBDctLLYRRFkGQvlxorKYlrMX8armGRi73PG
rs0N1qbiJNuiPHq+f60bnEC4wcjuN+jG24UuuaKVCASyetesNp5vO85gwPzKHc9Q6FamQVFnXUeT
joiPIpvrfT7ZBB+fRjaOqCPVGpXlO6XjHS+uyCKu6QxWLhoMOVSMHJyf6H7MlriO92+WCy1tY95Z
jmj+o+RiyIJYg3Bgtsw0FFAOOl1prgmCgE1Juo1bwjrBgvqsuRWXzjB/wIb1BaYnWpO9vWuW+ACY
DMfj4dCtYaLvznOxLXXrzcdwhD8sgpBvH/NmVTMu2699kj/XnVlsy77vWcfB0zo2TY61aGTbsT90
g4HrDyIoG2lHiJVnkfCgCPMER8oj5vt2TVEMXwFiiLscLcHQZx0N9ornFxw5wkBe8GC+/JMVp2w6
N+xosa77UmaSZJHY8S9j9S6f09s4llQPO/sorF+s2Fiv8X1EdCNfL7A7JDLHJUh10FVmrl+UuNRS
RsPbkiyr6UBVQ5UUND1Ete0o5vy15ouKS7OpNRwMPX8cuAxlpSXRTCMvpv0V9oLFuoGZVO5/Jhnn
sRxyAyB7muSi7oKz0ti9WLt51NXkzA2yehFK0yXLom8+U5jPUAUVTTtUyjZCUQmJYH0/FyrmtVFA
ZKj0zFzPWswwDtQiZnjXfUCD6hd4KwCVzXAHDpSvOd94T1dhrtsyRIRq42EAbwg0DBwXu6D48bxi
i5jVI1DbV4U1ERnCAXZ4Kzrn7IkV+PsftDrQ/oqguKeU0Asg0eDFGnLdHPAF8gNlPgRH68pcG5DW
ol/5obn6Rzn9lgoyZjAdK6BB0/pEoFHaV5Tu4IHQ3+GtE76+nJtiN4Tpt1FcVGIs46vZLs2ZwZzu
onzHdjpMCYb/UH+KyGaT5M05e5+kaVg8N78/vMNh6xh76r4xxkqLLVNSmaPppv80WdOVYzW/KpV0
M6xBWDtzlkr1bGqcMh8SnGTPXcdMZTRdinjWfKny0vwCY7t2cPGVw69ylRCqsCzNzgoeKmt4rZFh
Z92S0BbGrhI+lFe3Foo4hKajuAvg6odmdbvKgTbuGsIDWqt7BPFegmybN1S2GwQn7/bSZ0cm5Nna
sho/XzZNb9DbEorns0PXOfHjjN3ufspvgVLpDjleG+/E5Q9x50n/A1BLAwQUAAIACABcenpJHCcP
0R0FAAAnHgAALQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9iYXNpYy1hZGQtc3RkZXJyLnR4
dFVUCQADYBg6WGAYOlh1eAsAAQT1AQAABBQAAADtWc1v4jgUv/fEn+DbgDSVkpCEwK2FdoS0WrrT
zt5DbGi2wWGd0E4v+7fPc0ISB38EaEfTkfZQVdjvy+/93oed+ez6nrBnwiYTHObhMszINKWURHmc
0jtCcUzX0yTNCLpEtmuNhq4/ssdjxx37F99o/O+OzGfXM4lzMomUUm5ZupkmMaE5yOsdynSDi7nJ
nkIEPt+Skr/Thv4mjOkASUI7RfUFSfZo7AwuFDJi+pw+kcWWsJALuqL4gYU0CwuxD/GGsP5AdEO6
JXR2/ZWAnCyfhjQiSUKwSrKaklv27vL0LkoNB7uNGWjS8z6GFCek+l27KAOVD4+EERTCn+2OAm88
9jwHbUtk8dPdgpqUvQJqSELyWkZ1+AYPD2mNLyWlYVdhsbTUH6C+9X20Wq28wLGXQ2wNjO7aH7lQ
9h6e8S3XsYLaM6eJuku3WwhwSFEdxc+Ipi8oN+nosnq6YwwypNZkYACSVco2e47SKzVfCTy8VHKW
4boOoycw6R6gQC7u//ojzjmVuDqZrEm+YDcZMCZx9lhJmNNVCgqqmgOaNOyyIlQswS+0ihOCPvU+
ITAWx9mT4aQ4xjPZZAF/ES8wEqMqoP91gdD2CxDq0qCypNYBhAsx9ScTtq8B6WbLKbGCJKVtKfe7
KCJZBqZcoqiMJwJ9GQ9knIk11x47FhdYiwLXbcM8erx5rgtrc5pwOLIGrYznZUp3uKKECTmM+j3w
jetbtj0cgl650hoc3ZnspPCzrpJKrem98t1xf36+Czp+Wr5zRDXZ3vIsj5Qu9blzW/kInPbQWlrE
41B5YxkwpvDiQPX7RNSx3V/p7XBpcW9rxYDPWP53mcpTMGJNhD7fMYoxEuZExyuNY0EQwHCni/uS
rGMqsM/boTh39NLg5VCbcbIokXFiQW3sFH6Amil3Gm8vDSrRS5w/1uVUrKW+76JmSkVNpeMRjkaW
hX3PCYaOP4xIWf2ODGx5WmGhMFPhEKkvfNuuWYjJn4Rggo/pB4HnQxkiL4r1jzd4nti1hLtEkQuL
5T8QqrJuXUJ3Qr2B5GeJsnBz8xMyewfF7ApjiXWPszth/2zG1n7t7ca/rfO6gXXEQRa0TBldIilP
rt+UItvhRsNFT6bVVKGqqEoMmjqiCnuIOZrQ4r7K7PkMebZtB77v+Za5Bd3p9J/oDNSPwiRZgq0D
cw0HnVNVWDSFUEnbMkVFJALj7birUN4FNzEbpDWzP2syQ/utScxQqnNOg6An8nrzPc7ybE7bMIIN
1PuM0mIRZcVqCSPPsgLzheYrL/cggxX/1VJc6BsdUkiUMmw0ZTgaa4VAHhwhwTW/0TQ5cXda6MQM
0ONZWxGFPRFnQiPcX4lO6RpYgeb/U+DsFPgdUXPDWMrOwEyrz8NtR9fiv5C8TLr3Adq6EteFtLWo
V140e7+h04dUoDGjrfGA/q7YqkumIumNA/conH059ajHIU0fTnFTibWM72a7JAeBOdtF+Q4iPk1S
Sj5QIYvSzSbO26P0S5wk02LdfGF5g8LOSfVQfWtSlTY7hrPyjKbvEIeHNb2NViOqkkk3ppqJTzNX
GFOVYo/xxknzqUpL+0OP5UA7OPeJ4MNdQnWztwqU0uytSCilD3saGmhey5R1pN4q5kN99d6hsEOo
HopXBM6+rzpXq5yw1itFaUbxstAzPgTLX71Opm5ZDXV/WykVn1GKVeEZy3KC4ODyL31SBSLX0sbS
+Gm2LXoTvi5JsT7f16wDPTYM4EfrKb9zXvwAUEsDBBQAAgAIAFx6ekkOIT4O3QQAAKQaAAA1ABwA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jhc2ljLXB1dC1wcml2YXRlLXN0ZGVyci50eHRVVAkA
A2AYOlhgGDpYdXgLAAEE9QEAAAQUAAAA1VlLc6pIFN5n5U9gqVWTKkBEzC7B6y1raq6pa+7sGzgq
c7FxGow3m/nt082zsR9iYmpqFi6kz/t859GwnD+tgbwCeXhID4DnT9/h7yNkuY9wCEkC0d0PHNMn
y/nTHOUoQBmoKI17Y3A33KMYjwwJU5hiDGEep9hP0gyiBUn3fhIDzhmjMbQcczp23Kk1m1mu5Y5k
imP8mv6E1QEIYoIecfRCEM5QIfYl3gMZju6WN3aJkxdV9H7jyzPgKMbbwiVKzTlhOzNXz1vGQcKl
DmKqcX0RE+obpzFk8gUhMu//EZ4NR8bQ/DXdbDYTz7aQZZujMhQLqjElb9QfSCCHmr6OVOvdS9p4
LqXUnEosvGBgMI4KA9WR2yEcJTAvlF0mq/43SMuoXS87IGAg+rOcqeeajm16xqHM/911op7Tw4Fm
HmGjSehvBk5PRq7Tcclq/0gILadGk4aBkmxSsq84yqg0fGUhR4GUs0zXEwp/UpPWFAq6aEZxNBfp
PwWigeXWEJVisLak0UEJV3zRPzyQqvrT/YFRRhKSFHelrI9hCFlGTbk3wjKYBtWXsSjGGV/Y1sw2
mcBGVBRnB5SHuy+vTQvkCm48NUedcmMNSuVc0by4AjKGAxobxzUtazymesWeqAn0xUqDIs6qHip0
uVsVm+18frFxOj6t2Bii2lLrRJZlSlV3LLh8FTFOa7yx0XjCoKKtwdUZ721SYlvOfxkuFJhav7Mc
kfzPshZ9asQWuIEpQqgFLO1KBFAOKt6iwvih7XkeG9qKxAWwjTHHvuym4r1bzh+wp32B8vHSRG0f
2iVuAJPJbDaZ2A1M1N15xbelfr25NYf7Qy3wWfqoNqNeuWi+TnG+azpzZ9V0HaNdTY22aTKshVPT
jNyJ7Y1tdxxC2Uh7QqycRdyDwswzHElHzI/DlqAIvgFEEPUZLd7EpR0NTpLn7xg53Mpe1MEq+IsG
p2w693S0GIOR4JlAWTjW/qVVfcxX5DGKBNYqs8+q8wamLTA7Zjue2cOeFS6xpkKg1AH1oVASF6Kh
uRaJtIpGUvdFgUHRCmTZQxErQ2O1rktiOTcm44njzjybgqWUxIvp+EW5v8GJk9j0IR3Ll19xxspR
NLkDkBOJc553zYpL24Ro13hWxeTKBBnDECVJQL0Y6UcD1enLoKLoalLajikyIh6sH6+FuvIulQBf
ocIzfTwbMs1Ub0j08G76gALV5f3jO2u2MhT1O4YwJUoNFLIdgo6A9rAPLp+vCx+PQjWmlJ2SO+Nz
zU2W6rpyzVCISkR1grCFXNXGv0Jexecm2N3W4i6Bd8vrFR/q49/SqZPK0egB3EZAga/tGUEntK8o
OcIiJb/DWy+Efb3WxX4YU6eRP5SiLGOn2THJqcCcHMP8SDPtJymGm4HxBvtBut/HeXfbOcVJ4hfP
9VvcBxRe3ELO1Xe2EOHwwpArfdS9kT13Vvfip14/pEyqFURDrFwZSqZmtdAuCYsYx9mu75YgtaZP
EK9aD2Raui95Tdv03n3x+79c6HwZloXVR1KH0hgOFDR02gUpuVCxm5jtVPXdUWIH13QkNzLGXjWr
x00OpHPj8yu01rc5/naYHrrvCUzb885uWMJ3A0rkmMqwar8/dEXv0VsAxfNl1XXO9Fgzu7+e8luF
ELrKx4H2zaT4AeY66n8BUEsDBBQAAgAIAFx6eknAlnN48wQAAGsbAAAtABwAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2Jhc2ljLXB1dC1zdGRlcnIudHh0VVQJAANgGDpYYBg6WHV4CwABBPUBAAAE
FAAAAM1ZS2/iSBC+58RP6NuANJFsY4zhlsBkhLRaspPM3o1dEE9Mm2mbZHPZ377VNrbb9MOQMNo5
RBHtevVXX1VX24v57QOwF2DTaRTkwSrIYJZSCmEep/QeaBTTzSxJMyDXxHat8dD1xvZk4rgT7+o7
jX/uYTG/nUua02motHLH0u0siYHmaK93bNP1rxameAoT0fsjKfU7Y+hvg5gOiGS001RfsGSPJ87g
SmEjpi/pMyx3wAJu6IZGjyygWVCYfYy3wPoDEYZ0B3R++w3QTpbPAhpCkkCksqyW5JFd3J4eotSw
sbuYoSe97lNAowSq3zVEGbp8fAIGJMA/2x37o8lkNHLIrmQW390duknZG7IGEshrG9XmGz48pjW/
lJKGp4qIpaX+gPStf8br9XrkO/ZqGFkDI1yHLRfOLoGMZ7mO5dfInGfqPt3tMMEBJXUWPxOavpLc
5KMr6tmeMayQ2pNBAUXWKdseNEpUar2SeNFKqVmm6zYInzGkB6QCXD389UeccylxdTrdQL5kXzJU
TOLsqbKwoOsUHVQ9Bz1p1GVHpFjCX2QdJ0A+9T4RDDaKs2fDTqM4msshC/wLeYORFFUJ/beLhLZX
kFBXBlUktQ8UXIqlP52yQw9ItzsuGSlEUtq28rAPQ8gyDOWahGU+CfrLeCLjTOy59sSxuMHaFEK3
C/Lw6ctL3Vib3QTDsTVoVTxvU7rNFS1MqGHS7yE2rmfZ9nCIfuVOawC6s9ihwFnXSaWj6VL17ri/
vt4FH7+s3jmjmmpvIcszpSt9Dm6rHlHTHlorC0acKh9sA8YSXh65vkxGHdv9P9EOVhZHW2sGMWP5
32UpzzCIDQjnfMcoxiDIQacrjWO+7+Nwp8v7CjYxFdQX7VS8d/TS8OXYm3GyKJlxZkNt4hR+oJsZ
B40fLw0ryWucP9XtVOylnueSZkolTafjGQ7HlhV5I8cfOt4whLL7nZjYcrfCQhGmAhDpXPi+27Ag
gj8BIohOOQ/8kYdtCF4V67/f4HnmqSXcJYpaWK5+YKrKvnWNpxPpDSScJckC5uYnVvYem9lNFEmq
B57d657XoDUwtcJ2feuEeJa0ZL6uHpQb0D+UEtSBhuG+JstqmknVGyUFTTtQZS+IOCnI8qEq0MWc
jGzb9j1v5Fnmk+Re5/9MMEg/DJJkhbEOzK0Yfc5UadH0M6VsKxSVkEiMj/OuYnkX3cRqkNbMeNZi
hlO0FjFTqa4540XiG2+zyB1W/O99JmmBHsmKZJbscbFfd1iBMGX8Zv4Mbxojw/FEawSJe4IF1/xu
pCHx/XlYi5TVE1DbwoRnIjGEA+hwFTmnW0cl/VpNFidGXX/9CnkJ4GWIvqnMdTF9I/qVF834N3L6
pAoyZrY3COjn7RbHTIQfTXz3JKZ9PXerp3FNn07xoZJtGX+a7ZMcDeZsH+Z7zPgsSSlcjJQXOMDT
7TbO2+PIa5wks2LdPPR9wGHnmHDsvjUmSA87TsZyj6Z3ucebNb1fquYDpZJuRjALnxeuMCMozZ6C
xlnDgcpL+2W55Vj+u69Zv90grxt8VKSUBh9FQSkx7Glk8Phapayj9NYxn6iqO6MiDqF7KG5iXP3Q
dW7WObDWTa8Mo7id9Y5vhemufSu3HN8/ustIX4hQyLW0sBq/NLVNb4O3FRTri0P7OPJj41xzsp/y
s43xbaH8aeQY6AMivTPN/AdQSwMEFAACAAgAXHp6SW8uIDD3BQAAdS0AADkAHABzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vYmluYXJ5LWtleXMtMS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA2AYOlhg
GDpYdXgLAAEE9QEAAAQUAAAA7VpLc6pIFN5nlZ/AUqsmVYCo6M7gzR1raq5Wkjv7Fo6GCYLTYHKz
md8+3SDYTT/AaCZZuMgizXn1Od93+tAym94+AH4BPB4HKENLlIKXxDH4WZjEC4iDMF57UZKCcWNY
jjnsOYOhNRrZzmhw9TMO/9nBbHo7FTTHY19q5Q4nGy8KIc6Iveu6Tce9muniyU0E74+k0G+MobNB
Ydw1BKONpjqMJWs4srtXEhth/JI8w3wLGFFDkzh4xChOUW72MdwA7nTZNCRbiKe390DspJmHYh+i
CAKZZbkkjezs9tQpSjQbuwsx8cTE4tMsCkZksfwrrHW6Rsf8NVytVn3XtpBlm91io3fEY4LfCIAg
ggxK+TIPB2g8JhXUpJKap5IIGwJc9oI8QHXmnlAcRDDNnTWL7f+vcJSSuB6fAIOByJ/lDN2B6dim
a2wL+l0dZ2qRbLek1ig2qoL+ZsTJq5HpfDRF7e0wJmSpPGkUiMgqwZu9RpGVSq/AYLCUahblukX+
MwnpgUBBl80gDKai/IdAdGkNSohKMVhGUvkggnOWguMx3nMx2WypZCARSWLeysPO9yFNSSg3hl8k
0yD+UprFMGV7nzWyTWqwMhWE6RZl/tO3l6rBMYTrDc0uRzfaLlSby1sJQyCjc01y4wxMy+r1iF+x
42kS3cg0yPOs6mjCEXEustnOx5ON8fFhZKOIOlCNyyytlIp3NLksi6im1VvZqNenUNFycF7TPU9J
bMv5zHShpandd5ohnP1VcNEjQayBOTAbZhoMKAOVrjDXuK5LpiRV4ZawDmNGfcaX4r0zzJ+wIX2B
6LHWRG8nzRJngEl/NOr37Qom6u48Z9tSu958CIf5h0Tg0fIRb0Y545J6vYbZU9WZ2bY8GDjGYfA0
Dk2TYs0fmmYw6Ntuzx70fCgaaUuIFWcRs5CHWcOR9Ij5uV1jFMAPgACCNkeL2x+QjgavkvV3HDnM
QJ7zYL78mySnaDo35GgxrrvCzgRJQaJC2wFfnHfHNVuYnccFZFRAksahfiggu2FTmncXUVbRD8r2
JigoGC0rAgoom4z5Q4ns2dTo9/rOYOTapOaFJdYMty+i/QNeGYtVO9GpfPsVppRVYsjMynj8isOM
1X2gHNH2EkL+hSonRxbI6PgoipZkF119hyc+PRlUFM3Ja4S3TIgF6xm4kGw2YcYT9DWMIi9f1zee
Exw2Mq7unmOc8LChoMUedVcE9c3q3lVKqkmVVHTTCCvpUShVNNIS4i6Mw/SpLSOk0bRJ4lFUkHnh
r25M8iJ6yn2Lilgy9AjEkiBfGvW1QmaOJ8sEN3BkFVLGlgPG15uballhTnLJEEE3s383nawywNyQ
4u3RWg4g754PMk3d5LMOJ0J8omVEyNDUYyrBGlCkkRBXkyCgL3zk3xcwMn1n5Hs6x9ztjiInCASl
/TC6YJ4r8F2Q/XdadVJG5dsI0zKle9USWKYhuXvtmY6MwBCTlR00tpjjr1Zbb1/usNajNKZkm3Ud
fX/VmDtl76efuq2UvlZzUlvMKYi44+9Mr78NR/6k0XHb9+dPHIy/Vi0PQ8nkw6qqH2xIBKXrWdv7
rK91yZHXvGHayWWEQaauea4hvzzjmo5g9iwU1vRlq8Q0V36ViJ7W1YmrYG/x48R93sUlFGz3GPwE
Kz0QvnMCnIHDwzY0WhyXPnagVyNsoZpZmGdsrZlrp/28eMxEGBSI4pJAL6q9HU4TrJqb5mqJ9x6Z
e3tNKOZjk6zqS8EIajtOJaRHM5MHBdqSugST6WJ9PFY8qF5aueK8oGgHdwn+A95aYXR+fGra4VSD
Ae4pV9H9jlPIvkN2D+kuypjL0Wd4q73PnA3Ta8hUYM4jyTl/FiyvS3NNUF6zfsVFfbUOcmoQMDJ6
GB8yoEDxuiZwEiK/H7vFdnhUl5F9KO2caYlFYjDDOz/bkUp7URLDBYwXMF7AeAHjBYwXMF7A+Mlg
PAVl//uvd+w3BsmW/9rEtF239ju98AkxEXJMZR61nyLzpjfobQn5+myf1Jofa2RrP0sTv4Wtp2a/
w+tzmfkPUEsDBBQAAgAIAF16ekm4gOhedQYAANwwAAAxABwAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2JpbmFyeS1rZXlzLTEtc3RkZXJyLnR4dFVUCQADYRg6WGEYOlh1eAsAAQT1AQAABBQAAADt
W0uT4jYQvnPiJ6j2slC1W2WDMYYbAzsJVUkgw2zuxhaMM0YmspnJXPLb0/ILGT0MAySTFIetXexW
d6v760+thp1O7haYvmA6HPpu4i7dGI8jQrCXBBGZY+IHZD0Ooxijr8i0jH7XsvvmYNCxBnbjOwn+
2OHp5G4irBwOPamWexptxmGASQL6moc6Lacx3fsTbTGZ3D1gsBEnY5d4OAyxL1pVSTIL19D3SF0S
u/k2QZS67J+PwQbT+4CCXMv4s79arXpOx3Qtx2gLi7xoswmSGck8Y6/3kXuMCn8zKW4hvxnxpbAP
iclGa+MGpI0kexYUpttt+UupNOx6FdHNWLroZ7yJ6BvI37neM2R+kURUaSET5iUlfrfaudxs+TuE
KVf4SoOEl74PSBA/QUrVu/QDf65z/ZggopbnhuESPG7rSwCMSa1UYO/YBsBe4mpAXqJnPCvwNSI+
pyZFW6utgo7MsoDCUqhxGCLR66ZCZkZHy4jqRDfu2xKntT/N8V6tetOxDOU2hKCminxhKyuouxkB
l7YhTjB7fQ+vAC+gA7NHhT9FDUutSSXrfHk/L2braxlRV7JaVS0+yv1Bp30OyjRBkmgVHrXaPCsu
u77RZuyi3NqTS/wQT1Jj9WL553IXMfj1+IQpRi78Ma0+K7KO4aBtdhQ1TlM1j7ZbSLRLUMn2XxCJ
XlGis1Hn9XhHKaSqtKRZULBttiKLSrlOy9NZunh21ZiJNChIT7bG4tefgHIFZl9jIIJvMegJgYAL
hVOyisC5onCOyXd9InuDQa/XKYOscEjcNkofwSe0CkKMPjc/IwidH8TP+tNiIgaQP4VZ3QkLZfD6
q64kTDstCTWhTyqVxwRnfJsyHNK8X8lZ0JeIRKSqZbHzPBzH4MpX5GXoQmAvZrAK4gpNDzopTZeq
IHRbN/Gevr2UfMO1Pd1+1vaUNMxaKtXm0naLYxTUakJsLNswzW4X7LaFLk4T6FrqwWmcVV2fwNiX
Yp+OdX324WxcjX0YovbcU4ksy5SKiFhwK/UIK82usTRwj0HlasQChTM7MH2ZjHZM69+Mtrs0WLSV
aiBmNPktK+UxOLHG2rtCpUOh2E2waq3YwDoO9DyqvC/xOiDc8mk1Fe/tSBR4ObSmbfcyZJxIqHs/
uQ9gZsyCxo6XPSrRa5A8lXTKc6ltW2jfvKE907EMe33D8O1ex+l27K6HM/Y7MrGSC2r1cxEQ4Vz4
vl1T18e/YOxj/5jzwOnZQEP4VfL8rBbj8j3C6acW12KntcDdOmFNq4makjv9oeSFRgWHamunBjI/
1C9rLryCvOY2IsrWDA+EBYqqliXB9Vlu0WxR1Nl0gnqmaTq23bON4yYA5wbjpEGALC2qq3stlGRC
PDAuNaKqFsNrEIaK0cBtJlYzE1NBWy98mrsfb7g1MOBG/L8bbulGTx/u6DuICnf8SfoAtpn8Tjha
JZhW+oxxPooteoh3H6qJJm/ydqUigov7QB1ZlIIHQJF6AqZGvs8uWvDxBaNET3FVcq6Mpbc7hhxf
nFLm/eSce6/AdzbJ/pFlHdKobOM57pPuVVvAshWSEWTXsGQFjAk82eFainnHhPHY7csNHnCURpVs
s46l51eNunP2fv7xedSij0VOao1pCbqV73YudG+sObtHtYZPuXj+V8K97xtGVwu8vvcADwrTU3Kx
afVVzlMFYy/YtbymIUllhF7jcOWlGuriGKo7JfnjSnimT1spphlnlSL6yisPRe1E/yHnbZr+3fyC
snMYxel1LLv/WU63U6MFexFlX9w94zeFkm5/oFQCV88jNFj67+72NTc/LdZ8g66G41zVg3DveGBw
k6C8/zulw/Mz+FW6IDbwHe9oHFFVHzRTS7z3CMz11UG+6pvkqT4VnKCWnkohPfS5OJRTRC/9nE02
AIYIltK3IfrU/NTIRNnYbRmkrITC6BXTFIrsay2gNrTbbvdPjkLh7PTNH4dETZYrbys5S58MhzFO
fsDJA453YcJNJNOiuw5q1zhRwTX1hJX9ZdC6LtTVgXXN2xUf6rO1l1ODgJPRA3UfAfXXNRVm1NF0
b1DXa88PrR651eNwqU4n/1LKkXGBSVCY0J2X7CDj4zAi+AbKGyhvoLyB8gbKGyhvoPygoDwHbf/4
F2vK30uJP2Q/WbriFyR3Kx238y/4nyGkT7mfgRgdxzn48lz4fwMgdMqvffn/OXDSr4odw4T7+99Q
SwMEFAACAAgAXXp6SQNkoZHFBgAAVUEAAC8AHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmxv
Yi1jdXJzb3Itc3RkZXJyLnR4dFVUCQADYhg6WGIYOlh1eAsAAQT1AQAABBQAAADtHE1Tq0jw7ik/
YepdXlL1rAIChOSmie6mamvjqm/vBCbKSiALRJ+X99u3BwIZmA8gifvU4mApMz3dPf09PeB8dnmH
o2ccTSbhBgezy1v87xbHydQOHOz72D37HngwMp9dzuzEXtoxFkGic9Q7m78dPncHPw2DADuJFwY3
OHC94GHqhzEGaFVXRkPdHKnjsaaPTZbSfuVk4nCxXEfheup7OEgI9SpO3SL83Ed2ENs7NMB6ZJM/
7701jq69CPjuKz9Gq9XKsDTV1i1lwCxywvXaSxZBtjMyvefsPsz3m0FRC2lhsJPMbjkkz/pr2wsG
iKMDBmEq/r675ELDrldhtJ5yF9399YeXEPhL23kCyd4lYSSkUAC3Y9f13BsZD02kgfqO7ftLYHIg
txUgxqVSsg/LVMA+OKx6wXP4hBe5oVwELoUmNZv+QGQDPMqMORVAZ1URsVz3BDCL6GIZRjLQtf26
xKmTzHeGW3YP1dIV4TYYoaaIXGYrK3CgRQAsbXycYLn3ZygO9/tsfa3Hy1xGiqpPC2c01gYHG4eY
hVCyMA1GpZhBuGSQ8Lj6yYz1B6WwpmrKIDOQa6AYRq+gIExUlsPnwZtrDVxIySyHwxoGl0M3ZVAs
uUc7cH08S4nVg+2eCz3FwNf9I44wsuFH1UfE+zXFQpssmZy1Q3UTbjZgynaACoV+Q0H4ghIZjTqu
p9soAmMsKEkW5PE8W5FJpVgnzQSZuuhIL4r/DxiizFUMC30vfswxzINVCARy9xanD5YQSofgCa08
H6Ovva8ImHW9+EmeOGYsy2/iJUvVzL1EENtnJVsngAu6FJpMol1NtAuILgckDMpY7raOg+MYWDlH
TqZPBPRiokgvLkXssZZG7AIViG5jJ87j1XMRwyifH46yUqbweFK2iTaXlnSUD6N+D2Sjm4qqDodA
d8BUihJB1zo7TuUsqiyZLHAqf9f0t/d3isab+TuxqL23lyRLNCVyfSLckj/CSnWoLBVsEFM5MgxI
XXhRIX0ajWqq/iulbS8VRZbsQWZR8nfmylNg4gFL6/9S1RNhO8GitWwta1lQR4n0vsQPXkAtn5dV
cWiVI7CXKjVpZZFZRsuAuueTegAyUyI0kl72VolevOSxCKd0LDVNHe0LQrSPdETDzkhRXNPQrKFm
Dh2cRb+Gis12W6qSy8+5QJi88H3zENku/hNjF7tN8oFlmBCG8Atn/Kga9ATOaYzHhqEVztk+a1Fl
e+oLi+U/oKosbp1DdkI9zjm9Cnmi438VbW0ngMeHeLLm7MvAS044LGxNQ4BZIGoGcJRgu0S3aHGX
+9l8hgxVVS3TNEylWTPgWGG06gnw1CI6xdeaEg+INoxTtZ3KzvDi+b6gS9D1ubo+F6c2GCtwBv10
fS5ZF+rdpb6KVKj0x6kDyGZ2Z8KLVYKjUp2RCSWtDXpHJdVEojd+uVICwfl5oC5YFIAVQ+FyAqQu
XJcctODxGaNEHuLKwZkKwxAHtsRyXLZhuasnb6h5gX1fewGw/TvROqhRWMZTsY+7V6kD81Zw2ppD
Rec5MA5gZItrQ0xzV2+9fT7BSoySoOJt1tLl8VWC7pi9H58+Gy16X8FJjDF1QahuTn9urMndF7WE
2xw8P4q493XDxZsJXl57AAc56XnTXs0vyqeCiH1HjuU1BUkKw9Qa1ZWnKqjzNFSXJel0xYzJ1VaA
SdpZBYjc84qkKHCwJ/x69cOLk3gelA+CMIF631CWkFGcjmYHQUOB2lN6QXC7SwNR+puPRbeGWg0W
7ISRK2VlOBoLkcBJtgEGXX69uHfhm3aqo+t9sXXfiEoaao62M6qxtCsn2xSMLi+/najg6vyq86vO
r7rmUNcc+uDNoY9SGL7fVlVtc+j/v7zvruBPcAV/+nbrAfekzAVj8arJyW5RR5rV5hb181xKfvL+
KQkCYOlxGIkK+kUJ4vO0QLuOXtfR6zp6XUdP3OPfhb26yB1yAyQ1KlceBSjVVgEk90EqXBcJ3kmf
s+QOHohgKVSa6Evvy1kGSt4rWnqpkpAfvuAoPcST93ZB02gLBVkx0sgRFu033+wMvxCnq9JsSWfp
yGQS4+Q3nNzieOsn1CtXabviZOf9nBjUSiD6Lb7eBplZ9pMwI8WaGkREsE8s2NdB1ltCWWfADH3+
hFyTZVixkVTg5MY8LwELkkdTynvznB+6r2ZGOpfqswrQmWpnqp2pdl3UrovadVG7LuqRXdTSbJyE
m7wpQ7/Tn45SSjVUS6+8ic5+uG6oQ7P5V7T0p+vtvtY1FMs6+mvdhju3FC0jJts5ALX5fvjgnVuK
OtYO2bmwUc7+i4P/AFBLAwQUAAIACABgenpJNUaMMw8JAACGpgAALwAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9ibG9iLXNpbXBsZS1zdGRlcnIudHh0VVQJAANkGDpYZBg6WHV4CwABBPUBAAAE
FAAAAO1dS3PiOBCu2mNO/ATVXBaqkiobDBhuCZnMUrs1ZCeTuRtbJN4YmfUjj8v+9pXfsi3JJoGE
JH2YmorUUkvq56fG9vz8bOYSgs3AdslP9wp799ibTt0NJudnP/C/IfaDmUFM7DjYOprvgtoyAmNp
+Ljou8TEssnNzHF93H5UTB5zaVjHNbFpC6U7T+cQUaIT1NnnfPKdU2pVU8YDbTRWJ5O+NhnVORUj
p1OTO8uF565njo1JEHGvzqnp8vUkZ/r8lSTjG9fQXRs26SHOQTZM1WVmUseTfo8nDJvcu3d4scGe
EU10SqyfnkF8I9Eoe429bk+yBFcy8ML2yipnRqusTcJb1X+1tm4PdZXH8Wq1Gup91VD7Si/RlwvK
0fWeqICwgwOc0WfqxDUPLqWkl7PChgUuB1a8QPHJ3RrEcvB5zKyZLP07l5NP1/XzFnsYGfSfqo31
kaL1FR1tEvU+2m6qS3ezoapsEJQL9BgR9wEFMh5Nq56FnkeVMeckGUBJVq63Tkckp5KPi2XQtZbc
kYm4zgzzji7piqoCPrr6+y87iKjY1un0BgcL76tPBzq2f5vNMCcrlzLIzJtyEgyvM0JxE/0LrWwH
o987vyO6WMv27yQ7tWzrvL7kvVjJUh1lVsI1g2wlOQ9KuGCd83TqpV7aXW8iSotD4pLyLFehaWLf
p0s5QWYiT0T5+ZEgbZ91b+qkr0QT5lPRo9sYgXn79T73YYzND8ZKr2TxUSCRhlnGhlG3Q89GGymq
OhhQvr1a7JIcdKOx4/icRbGuFgV2Ze99bf/2zvDYm71HGlVYe+lkI0mJTD863JI90pHqQFkqeBip
ygvdgNSEFxXWu5FoX9Xe8rSNpaLIgj09My/4lZjyjC7iBjMhvyHr8bARYNHYWuaj6zrNo0RyX+Ib
mzDD56SN+6+OEkX2VhmR2KUuWF/SzqEWvJk/6PJm0aFF4aXQSvRgB7e5O2V96WikoSIhRIWniyRs
jhXFGg37+qA/Gpg48X4tBZsEEKYhXmb1IHlx4Xpz4xkW/o6xha028UAfjqgbwg+c9hfloDswzuFk
Mhz2c+PcPmoxaXtsC4vlP1RUid86odEJdXq1c65Rxsdc/JlRzImFHzlyYnprffmpFedUWremKy0W
tCCJ6osMgrsDcWdNQg3HIcFGdVqBN8mcY22AwI/wxGdYkVagxVVmofNzNFRVVR+NhiNFHkouRfy3
PAzUNQ3HWdK19uS+mPKc8cQicGhc2tJSeESsYuxK72JFbqdxuc7zmtscbELZpF8pVRvNSkilOpWY
8QlihZpqEc3kj1HSX7Qc5QGC+lXf9RLVoywQXQlNkNGXzpejWdJFPerSjn0XctwH7KE7/BQjFuoA
UUizwbxlC23d8ji319BcjFLd5Du4cveO9dFdr+2g7NYfbMeZxe3y4PkCho26X2VfsoBaZ4Pgkj3K
rp+qm5Xh9MwYuINEZiEn3m65jPJyp21zGltpMI9L+X5P6Sv6HlLQGU8NarbBUWHuqjsCmoV3unS9
BmVf2VEoyLLdw0viKqfCJHKcjDbaTHq7cboKsFfKmJNDibPczovSw0AiN37iXSLBGbJtchY5YUVR
uCuhrE4tK7oyoH/eYxTIXZwkY92EkeZYVm1QiowumX6Bfl/YhC77j0jqVIxCQMr4Pu5epQbMG8G5
oB8oGs+AMaEtId4h2tx6+3yGFR8lmYq3WV2T+1fJdC/Z+8vDZ6tBh+WcxDPGJkjzGvENyLPrPPLY
fdrIeJurl/dy3EXecLq3g5fnHnQFGet521vHN4qnAo99FV0wNSQkMU0t16iO3FVCnYWhpijJhqta
m1xsOZnkYjYnkVteHhSFd9okOgP8J376Hq6XdDsCQorxvj7afuDPSfkGIwJ/nWOURG7kM9hzqNAk
VVoT+5HGCy/+nz+Lpg/6DbNg0/Us6VIG44lwEsOyWsygRRV1wQwhMW+xeYctetoxZqSnGV3NpbyH
itaLZv2t9fh8PXRUp5WHudxOs1g4Ija+S1HGxfSxZsDc4KbZ7jb5rJUY27NzPjBtMG0w7UM27U8D
VW9wIPJY33CQqMCb3Cd+HFj7StBuV9eph5Vvc6YKjDv8HT8GP0JCqKArokqdWuo2XeI8IT/cbFwv
8JHKGspxXBZ4oJwdDxvWE7o1qCWpcJ38ca+T4fbjxbcf29zIb3NTcvi393BHsrOaw7u5QbnJUqCm
MHrD5kr1RrlcCzqxLBgauQkXWZv4t4ElpCGDPcNJ03X4ZZVry622y/3FKSjbyc3+/ajXD52AThh4
oRmEVOIzxyV4ZyDh1XNiQCUVVAIgYSc/n3jvdSQACQASACQASACQACABQAKABAAJABIAJABIAJAA
IAFAAoAEAAkAEgAkAEg4WJAAOTv83Ah+bgQgAUACPL0KT69+ogfE5Anu+4QQr5SWHzZSAZAAIAEq
Ce8ElUQv2UveISMCJ4sSBYAFqCgAWACwABWF95x4fyBsBhWFz1dRKJKWpuDrcpMXplUuWoZQKsuc
SG7HTCr1du/2W2y/+XYQYiFOJUu9JZnFLTGG+JbBCOZFsvHj4DtDERkz0yX06EN8EZJELbuBm7Cq
qxr1qtHj+YJ9PUt7S1M2KXCNP79DLskyrVhJKnRyZZ6XiAUBqC3nQj3nz91XOyWdS+VZJQBVBVUF
VT2wuxl43Spg0H0UrD7NnZ+dvVA5ftdN0y8TfhlOiNv0vztQ+XGuM+EGZRe/ydw+sEC9E+qdn6ne
ybwcTVL0rLxC7Q3vOqBYCsXSPSZOUDyF4ikUTwG4QvEUHseCx7GgeArFUyieQvEUKlJQkQJVBVUF
VYXiKRRPAYMezneqDroUKYcX8Jg8vNoKPmUInzKETxl+tk8ZwpOx8GQsvD7nlT8yCK/QgVfoQGEX
QDWAangqFp6KhcIufPP8tT+MfEAfKE4muSahj60zx11e2E46pf9uv2ksGLU2npb4emMlX6T+lnyc
2vXST1N/rg8hQ20G0kh4EyO8ifFZGUL0+5/c48wMYmLHwXX/RaPBRpZ+PmOaD99RSDRtLUxFV/q6
XqYxHdfHVSJNEdpFzUovEzWYRfOUp46DZdw+Tz1uhY9Kc4rWfOKJrKP/AVBLAwQUAAIACABgenpJ
Uw2QLegJAAAmpgAANwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9ibG9iLXNpbXBsZS13b3Jr
ZXJzLXN0ZGVyci50eHRVVAkAA2MYOlhjGDpYdXgLAAEE9QEAAAQUAAAA7V1Lb9s4EAb2mJN/AtHL
xkALSPI7t8RpssYu6mzT9i5LdKKNLHn1aJLL/vYl9bIeJCXZsi3XcyiKiMPhiJwZfjNDU7Pbm0fs
/MTO1ZWueupCdfHUtiyseYZtPWBLN6ynqWm7GH1Ccl8a9frDkTyZKP3J8OK7Zfzr49ntzW2h59WV
xuRy59irqWlgyyP8Onme/fHFTCRPwELfXpKwf6kMlyvVsLqowLSU1WWKkzyaKN0LBg/D+mm/4Pka
OypldG3p3xzVctWA7TdjhZ3LrngaYFlasCz2Glu3N18x4eN6U9XSsGlincWZTUklE7ySLRDkznDI
SClZNPrWBSYsWf4rPLvsokvpbbRcLgdjRVZlReoSwQjBHRnRdt7JgmMTezimD+QmzZul/GYnqsGk
FLQyJCwRcNHTAwH5M/esWrqJb4PBysmiv5N1d4lc356xg5FK/sn90Xgo9RVpjNahuVzUY/Vgr9dk
rVULJQv6EVn2K/JEY5RJPfUdhyh3MpKgAyFZ2s4q6hHOStIv1EF9wewZLteNqr0QkR6JKuCLx7//
MjxKlX56dfWEvbnz2SUdTcN9jjnMrKVNBojdBRmJ0704EAoekb/Q0jAx+r3zOyLC6ob7InhT3dBv
iyLvxUoW8jC2EqYZxJIkYxDCedoLXF05kTuwV2tKqTNIbCvL5dHXNOy6RJRPSAvXE5HxXLqQhosG
sqyMe8OJrFBeCRcya2vV054//0zcofQm96TFctHTpG7G0qmn4r1U4MVStosuO2RO+kNJlnu9iSIV
naNggkuNHAfzy3Omhd2kKTtX+vu389QYe7NzqkkbK8/MLF0pnsnTyc3YYaQqEh6MSLcdzV9ouvPc
0M2sqCL3jznb6kKis81lQ+bM8X6EJjwlQjzh1FZfgp4crHqY17eAoMbjMcFjvHVf4CfDSnWfZZdi
W7TE0Zf8aEJEEWpGHUe6I6bakKf+ICJO6YTTLWmj0ejV8J4TFxz53+FgiDZ4FG0cJFUMbSRJ+nBA
6JRhT8NC5ais5oPJZDBQEjWvrmHhtKceBO/MWJnCxvR9/eSoOv6CsY71kg1p3B8TV4hfs4/q7lEp
sB9o/nzxD5nh0Et9InsR6nQLL1OgDN5l82dMMbN0/MaYjFRroS3RpY32pITGUgVp5lao5TzdZ4rP
byyoUMlcCMKpIi3HccR+sNCBY/qstVN1qrZo/hgb1OyW6ok8pqYkiXeNB974NScDXWqqaS6IrF2x
2yVjTlnLwvFdTNqMKCyitGI0onSBCldTt0TbWY+rzGpIWaZcEVUVtQpJhQoVGvAnlF7RSIUIUv+I
wvbNk4vEmRO35dpOqHdkCEQkIUAYfeh8uJiGTcRrLYzAsyLTfsUOesHvQURC3DPyCepLntRQ1ZrT
WV89k2UUKibbtWWbm1RGe7UyvKw3fzVMcxo8F29M245WqvX5sTO6X2gsWbLwBUWJqvybiiLw2AyY
nXgGISauJ25KbZlsq8xGLd1ljZLNBEqKNN4lfcezh8JK7wgjCxZVNteNwD3mHHY4NHPnemE7JXa3
NOh+FKNrxpulkBsDKtLuUd7ieulhJwNFQzEC+NjZHg96WdutAGczJDgOXNOegsmddL/WdRrlkz9/
YuSJHZYAdq59Ovm6zlPIRCaOX+K1ZwSIAqOHeCyh8bE4MtLwPanPMj5skSc+LnUPFc10F9Pbi4Ht
uBOV9+BLHega2Yubj85Ldp3r0oH53vTOsIgq/UEnnFBzExw18wO1B2ArYW7PEbBiGcC4L94vBex+
EXuoAheu96a1YshBJIiHrqysjzRFssedP+B/gI0//x6NgOh4pyqD0ekdrfBMvGYJmSDdmpCIfVay
13Ez1RadAPwnfv/irxbkdTiEJKL7/Ga4njuzsskKGup1PqJwc0duKtIcSASYCitcXyOf4gT/s7n0
xz2lhAvWbEcXitIbTbhMVF2vwKFP6+0cDr6lPWPtBetktoMIkcwmTcFFYw+kfpdy/a1y/0Qe0qtT
yb081NOsdAjC9wMPKRXO2/ADwwxS6dAI4VbFsP2oWsbFhEIcB0YNRg1G3VqjPrXAtE78mXFYT9jb
Nia9x16oH0cISuu7zx2yTUdMf+6cMG1X1MFg5akv+At+8776lkX0JLfSkX+KPKBtme/I9ddr2/Fc
JKdN5GOQyX8lI5sOVvV39KwSG5IhYQwJ4xYkjKukdw+VVGYmjHdJXZUkm3fOUDXlubNZ7jppK0jd
7J66aV06uGoiiZsMOkjq5ikGWWVhXkKY3sme+BCNPYpgqlM0Yove4EL+UcNMoCOKugaTslztQ37U
iq9aLfS4T09rXg/uWYuThBkubXV90yMMPcfXPJ8s99S0LdxMjHIudfz9xmL1hxYHapWgoiiaqwsj
WRHdVtCyNMxrDntupU+VY9yzQrbCmTidanEdjL4bzj7UMYpTAY0trk0DRgeMDhgdMDpgdDhru3vq
lBtK1MK1FeKOWtD3GCcXo6KPGO03ef7tTDLKvOpZHWRbqxK3Qb5NIf0qCLpWma4q1m4qywsYHTA6
YHTA6IDRAaOf7lmfOuhCBPtqnwVqEEfUPDO0j5RiYwC2fvFfO8hPxXjB4FEO2hz7rBOc9YGzPs3U
ERq7fQTO+sBZH4hRIEaBGAViFKgjtA6WcaO/Rg7QiEoDAOlad3x7/5cOtP3HQPTmyPDCpG1/EzTf
cICbKs6oCrDLFDaDzgFhnyrCbsnZve2RfuH6pN0TYZETLcNQbIdtC5wwZyCxQiVEYjeRcv7Hu5pv
Xv/lq0UH88xc55Vnzl6z4EkQHtzHEULqmtXgV97NBAjxSJptkXn38Z1vhep66dnhOEU9I16X/uSe
81L19TbDr0x1C4OzG8RrmKXlq0eOTqzGswwxZ3eqOvJGMWfbvlc19ZwJFzNPAEoKSgpKCqkWqIC1
MF1CPzBxsArYSV/BacRXHwe31ZQdbP2hmj6u3b63CKXJ0wb5OtzeU1kNxDyN3ZkKmSY4bwq1XMg0
QS1311pu6tI3QUE3dzXcEZM9UAiG6OQMCsHlULvsJ2cHxuE2P1daLBTCZRBwGQRcBgHAH0rMAPxP
H/hD8RaKt1AXg7oYFG9BSUFJoXgLxVs4637Oke+pl5gPfldSi6IrqMaeSFLmaL+7hWosJGWgGgu/
rIXbf1r/474DfppwE0aVSbjFTTYNXUi01RfDGvsaWUko2HD4ACHk2X8HDULodn3t6/iF55OMU+rE
G82HhfBp9IOcLD9kZPBrfUW5RV8zDpl8t3wX6zemvbgzzIile7IfQOb0WqnvC/x9rYefr74Pv2Rt
O9F3rM/oq8lQfYHqC0DHlmyi7awFZVqJW18zA+izathMffSU7FbKuDfqyUq2WTNtF2/alWHucw3B
PjSlRLPIq6WI5eHF/1BLAwQUAAIACABgenpJyAJesSQGAAAYNQAAMgAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9ibG9iLXN2Zy1pbWFnZS1zdGRlcnIudHh0VVQJAANkGDpYZBg6WHV4CwABBPUB
AAAEFAAAAO0bTXOiSPSekz+hb6NVk6rmU/RmNJm1amt1x8zeEVrDBsEFTCaX/e37AIEGuhuMJpNN
cUilaN5Xv+/XLfPZzYoETyQYj/098WY338k/BxJGU9OziOsS++qH58DKfHYzMyNzbYaEB4muUe9q
/nb07CP81Pc8YkWO7y2JZzvedur6IQFoScVDRdWH0mgkqyO9zqnAHI8tJpW7wN9NXYd4Ucy9SlM1
xPIkJOzXS5LiN8rQ35mON0AMRTaQ6lOUpOFIHrCM4XhP/iNZ7ElgxoQmnn0fmF5oJmTvnR0J+gOB
CL4A8c4JwAEoFVqxlDUiLKn+ra31B6iPfw43m41myJIpyXiQ+ssdcPSDFzAQcUlEMvjMnQrV3/u5
KZmQgrcMCRsEXCt2IiBfcw+mZ7tkljBrBjs+53YKQa77BxIQZMKfpA4NHasyNtA+de+r00gt/f0e
XNn0UG7Qr8jzn1Ek4tEk9fQQBOCMOScBAoBs/GB3xEi1kuMlNujbayZmaq4b03oEkVbgCuRq9efv
ThRD0avj8ZZEi+A2BETXCR8yCnNv4wODLLyBEwe9zgglS/CENo5L0JfeFwTC2k74KNip7dizushv
EiVrSc+ihBkGmSQ5DwBc0Ml5PA6OWdrf7WNImwHie2Uqq4NlkTAEUa6RldoTAb8wNqQT0ulNGsk4
JpiTAtXtzch6uH3KcxgV88oQD0oRHxcS3uaSIkPFMOr3QDeqjiVJUYDvoFa7BIpuDHaS6JlX62pV
4FLxLqtvH+8UjzeL99ijimgvaTa2FC/0Y+WW4hEwJQWvMdFiVzkzDQhDeFFhfRmLypL6K7VtrjEW
FXvQWRD9lYbyFITYEqrkN3Q9ATEjwsOtdT6GYUAfxbP7mmwdj0Kfl03x2i6H4y9VbsLOIvWMExNq
ISf1AGymsdLi8lJ4JXp2ooc8ndK5VNdVVDSEqMh0sYWtIca2rsmGIuuKRdLs19Kw6W6phURMhkJq
deHHfhuYNvmDEJvYbeqBoemQhsgzY/2sHvQCwamNRpom58F5etWi2vYkFhbrv8FUad66huqEeoOa
nmuQNYh878VuS9xVA7cgu/BSB+a5NVMO/suanhs2JZhw6rCcnJCluBoCJ6pZRjDt2LZoscribD5D
miRJhq5rOhYXhCWP/4nKQH3LdN01yDoQZ1TgOWWZhZOWpo2uxAKiHeMCfufvdk5UDoZnx3Wnybo4
5ZzBsNG7q+xL3l172WDQdI+iob26WdF0k7k1E4nn2mLg08SlXJtJto02TvJpFpfyqQiGGfTVRV4Q
ISw3qEUIw4WZUvc4MItgsvaDBmffOHHoZT3Cxyt9Fa1Q5Y/RB8SbOc6Ek01EglKfkSol6Q16ZxXV
SGA3drtSAiHZPNCULHLAiqMwJQFWE9uOBy14fCIoEqe4cnKm0jDkgUPsObZdQzr2k0vqPce/7xwP
xP4ttjqYkdvGU7mPuVdhALMwGMeaClZZAUw8WDmQxhTTPtRP3j6bYSVHCUixNmuo4vwqIHfO3s8v
n62QPlZy4lNMQhC6m8vPjQ21e9LI+JTB8/+i7qJvmLyZ4sW9B0iQsZ63Pav5RfWUk7FX8Vje0JAk
MLVeo4p5qYY6K0NNVZIuV7U1sdlyMMFxVg4ijry8KHIC7JG83P50wiice+VBEF6g3leUFmQUJqvp
IKhh6D2FFwTfj2UgSP6zqaiGIjdQIZYf2EJRlOGISwQm2RYUVPH1YhHCy9NMR/f7fO9e8loa6h3t
Z9TB0rGdPKVhtPGgG2K7IbYbYrshttUQ+/6XjN1V4QWuCi8fUa+4z6ldhORX4he77RnKxim3PZ/n
8uSTn/NsScQ74vlGorSn+1xHNN2JQ3fi0J04dCcOnOlnm2W9poS9ZaXHYlFsuQKOr20KRhx+RaLm
/wKpNJ2Ljgq0UdPx8bLKteVW203ppapTdYVvLOPkpT2M34YHNwKCUXCwogNYfOr6HunG+W6c78b5
i/y8/j2rw8c9XGgc50tvIb/us+mA/hFcskoZVZMg95YDpf7tiSYpOldnwm9YyqR35suaJOvzY26o
8MGG0Z5P+kGI8Nyi/q2OWB0GllMJROoAIBW/gzoMLI3k16iD7Qj/AVBLAwQUAAIACABhenpJVQ+D
uW0GAABuNAAARAAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9ibG9ja2VkLW9wZW4tZGItcmVx
dWVzdHMtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAANlGDpYZRg6WHV4CwABBPUBAAAEFAAAAO1bS3Oj
OBC+55SfwNGumqniZcC+Ofak1ocduyaZuQuQEzZYeIHEk8v+9pWQwQI9wK/Yu5VDDoZWd6v761Z3
o8ymdw8wfYPpaBSCHPggg5MEIRjkUYIWEIUReprESQa1r5ph665lO64xHJr20Ln5iaK/X+Fsejfl
Vo5GgZDLfZqsJnEEUY753TZ52t7NTKVPwSI8XBO6vlWH3gpEqK9xTFtZ9RhOhjs0+zcCHhF6S17g
fA1TQBiNUfiYApSBgu1jtIJpr8+aIVlDNL37ATGfLJ8AFMA4hqGIs5iSaKY266ebL+VmuQqJYuF9
lGIAMCYMiJYcE5FW/3DPen2tp/92l8vlwDMNYJh6n+LlHktM0nfsIBjDHJb0JZx2pn9MKlcKKRVv
BRq2KOhbYaGg3HLPAIUxnBbC2sm2vys/ZVivx2eYQg3gP8N2PUe3Td3T1hTeN/uxWiTrNYYyQFrl
0C8aSjZarpLRpvXkNU0xGCtJigWYZJmkq+0KapVqXeGDXugLV1J33YHgBav0gKGgsmYYhVOe/iwQ
9Q2nhKgQg6UmlQxMOGcz42iUblNksloTylBAkqA6l4fXIIBZhlX5qgXUmBqWlxErRhmbW4yhqROG
FaswytYgD56/vVUJhAk4y9X7tXAjWVy2uSLDMwGk9W6xbWxHNwzLwnL5g0Nh6NZIg4WdZQcNl4JP
FWymff5gY2ScLdgIonahVrMs8ZQs7ohx2SgiKw1raQJrQKCijMF5Y+1pXGIa9iXNBXxdue8sB2n+
i8biBCvxBJkDs6VmSCHIoWwtVzd4nieqQroe9hKH+/ApQgz9rO7CP+EK5wW8gn3KrzqqljgBTAbD
4WBgVjCRZ+c5m5a65eadOswPrMGEuA9L08oaEvtrE+XPVWZm07Lj2NqusNN2SZNgLXB1PXQGpmeZ
jhVAmkg7QoyeRcyDQs0GjoRHzM/1UwpC+B3CEIZdjhZv4OCMBjeC5wccOUzBW8TB3P8LG4cmna/4
aNFu+9zOOEqOokLbDl816band2A7RxQyMiAJ9ZC/5JDdsilFb8DTSuK6TG/cAklEi5wAQhJN2vyh
RPZsqg2sge0MPRP7nHJi2dT2hVd/hxuGI85C7Uu+/Y4yElW8ysyT0WiTRjm79oHEiDKX4OBfyGyy
p4O0XgDi2Me76KszPJY5EUFFkpwmrfAWEbFgPUEsJKtVlNcDdBPF8aR4rk48Rwhsjbim+FrEcS9b
HEr3qGrBm5tV9SplqAkXycJNQSwND7qoCiNlQNxHKMqeu0aEUJsuRtwrFERS6qMRHTeix4ytZIEl
Qg8XWALkC7W+ldDM07GfpC0xsoxIxJYFxvXVTQ2rMCe5oIggm9n2puNlDtNakTLZorUsQA6uD3KF
38S1To0EywR+jIOhLcdUhA2gCDXBosZhSBo+/PMNark6M9Zzei1y168EOWHILdoWowvm/en6dEmk
0LTxB8EPBoS0r2GSr9BqylQgWiGYklq6LUoFEOEnr7A1WR0461aMLD5s8MCOLbu6RGyERgZWsBI5
wLPVp4eC3TH+OL6m6LToulLvWYZNDRkXmJ7oUGlplOTR8n2H0my+bKKSGYDgJlpXMCsyMahVQY1p
xqmHJ1srjFsFSxIuOT9r+6UHbdehS00XMS9BV8+GuG57X7TtOYPxJCXZY3RxwRbv+Lg9QwQYVrOe
qdc/zPc8z/U8r/5FzPZbjmshgJoHiJCo/bCQAIr7nKnrN7IDopvkKhFQY5YfkRsfQufUiUKdWH3I
bKJL1zM+W75Qd05Yg1L0rOvA/KqhLQFnEbCNfCWet97FSfBCp6178GoataDherPmyoOakeNLkrLK
b2tC2G6Ae6bGVUWm8GxFoj7Rqp5DchTRz7M/ikpPkLq7vYZBkkol4HOiRlBjsHvZJc4X+5mPHWnI
AbmQdW3MO9bXzOB92zHvA8OQm5lz12U8G+NOqrDy2k2d9Qq8+7B4Ptvq35RjmReZNV7bHaLP2efn
7PNz9qmefXZOK0PDs/dIX7QivOR09Yz1lHoG+z+/unjCTsBwDfN0NfwH3Kq8FOau4nqLU8wbz3tN
5VCnXnCo8XkH5r9yB+bqvuUdfiOHK6Rd16FV/5m7C9cd4CzQ9GaWJ2vV1W/Jfyk0EFTwYBKObnqe
UlTtRYRymCIQF3UO37O0lT+Chk03acXTvfXSjaF5dI0k3eF5rfyBppAo+i9QSwMEFAACAAgAYXp6
SQv/L97NBgAAuTQAADwAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmxvY2tlZC1vcGVuLWRi
LXJlcXVlc3RzLXN0ZGVyci50eHRVVAkAA2UYOlhlGDpYdXgLAAEE9QEAAAQUAAAA7RtLc5tG+O6T
fsLeIs0kM4AQIN9sOZ5qpq3U2OkdwcqmRou6YLu+5Ld3lwW0sA9Aj1jT+pBJBN9rv/f3sZnfXN9B
/ALx5WXoZ/7KT+EsQQgGWZSgJURhhB5mcZJC8AWYtuGObcc1p1PLnjoX31H09zOc31zfCJiXl4GU
yi1ONrM4gigj9AZNmrZ3Md/Jk2whurn+BgmPNJv5KIBxDEORqwqScuDpiefLRQr3PxnDbz3TcONH
aAQkgreQGnKUTHdqjTSk/FWCs3vso9TPCTZPr9DmMFxJyW0hXid4cyWj2s8Cv8FNgt8I9LUfPBE/
uMsSvL+8jBpPiqNRUB2O9hJxsfqL2KIQ7xVHGU/6NkJR+kgEIDRrHAlZ7NN/3kcbiG8jTGgOjX/c
9Xo98SzTtz1jJCDlYi4QO+sVCpk4hWwpBd853H1SqqSpMl5dwjtBA6IAfb1JDR5G4bKfw0ToJXmC
i1J5RAccUq7Koc7bEw1ibgMN7qOPwhiWvysRUiLq/SPEEPjkj2m73mQ6nUwssGX5i2r7lrAhnkIO
DGOYVTRK35UZTQ6peSuRWHg0HPE+thqHxkhrn+LIObNjaMYxbMvwKs30I7VMtlsSJD4ClRU/A5S8
gkzHo03q2TPGJG9WnDQIRW4rMJhWKjzm6YqsyMzFZ5+Luz9+JZlCSG8PMFvgrylBjEneKCnM0Toh
DMpKRDgp0EVGIH9EfoF1FEPwafAJEGHDKH3Sx+WNKDLnfwEtOwKizKA/2pzQdHInVIVBKUnFgwAu
+JR8eYmL3JxsthQylIAkqE7l7jkIYJoSUb6AgNkTEH4pNWSU8pXYnFoGJViRIqrb+lnw+PWlKrdc
2h67LG1XEU/Lh+pweWnhYhgMB0Q3tmOY5nhM+I6EwqZRdGuww1zPqgonNCzHinfLPn28czxOFu/U
o3bRXtMstZQq9Klya/FIMM2xsTLghLrKgWlAG8KLBuvjWNQy7ffUtr8yDF2FJzrD2Z8slGdEiAeo
7W5qDTqGfgZVuEKT7nmerOXv2qMo/GUFHyLEwc9RMwcr0uSCzw8Kt2oSL9uKDgl1JyH3g+DPqNJo
edl5JXiNsscqnfK51HFssJtdwC7TUQsHrmGEzsTyxpYzDiDLfh0Ny45Ra1XrvxUnTdD37QP2Q/g7
hCEMu9QDb+KQNARfJc/Pr/HsWbW4CTOPBW60ITjDARiIM4kAeZxRRyBbjj2qEJDKoX6pn3NEeM0w
LsLqh+OZgKAIV5kR/JDaFizuyjib34CJaZqe40wco9OsNTtUGWAY+HG8IrKO9BmV8JzJzKJIYbNW
V5IB8Y5xBL9LNpsoqwfDaxTHs/y5PuUcwLDVu5vsa94tvGwxKDujbr/UPKxuuindWoqkcm09cD9x
OdeWku2ijV4+LeNSX+AZZAbduzfQRIjMDYQIkbiwVOqBAmaBhXWM6OzriIZe2SOcX+lraIUrf5I+
gB6mmAmv1hnEtT6DKSXvDQYHFdVMYzd5u1IDgeU80JYsKsCGo0glIayuwpAOWuTnCwSZPsXVk3Nt
97l9pp4TirvOop9ccu+PNx8rIoUtXn+h/kMcQjkQcFlUqjVtKpBhSHb5Y8OWpQKIyJNneKylZ49V
wU8b+PmNZVeTyJXQyMAaUjIDeLa+emjIHWKPw5uDTkjnlXpPsuRp8HiHtYMBtZpGSRat33Zemi7W
Ta/kNgdkDta16nkm9mvfkRprgGNvHcrPdq2MFQmX1s/aeVmh7bmG2MkjpycZzvkwN2zvMyhqDfEp
JUiPDcQpQ+sETmqOmy1HvUXhPgx7rud5o3oyWbVUVKmNmzleCtSezxX2Fr6LG8aFKod341zFKlNm
+WG38UV9wYwolYmXx9JufbjvmycLaf1wQyQoWXfeJN7RTVujSZJvCK/jJHhi+8EetJoC5jDCKNLE
1G67zzoae84Lh3cNZSPeNifwDbvwTO9XFZhGTRWIvuhUY4H2m+a3oori/O/BZ8AmEZDmCym2AbNJ
4m6hAoME08sbT/BNQWTsTpVE/DDsQMHWX97ZJYVlP13zKwp1xC1VUxj3jncMbhdeTMB9fDYUFsfC
pS+PqMNQCqy9PFYnvfHfVjB/Pi/kb/Ih5n+PJeC53YT7WEp+LCX/N0vJzvlhanp2jzzE+sD3XHue
sCXRL0f/SzdfT9v/m65pHa9zP4PrjafyubO4sOHki8D9Ll7sa6w+K5CTfAfpcl3k4wrIxxUQt72T
d12Hddgn7uRdd0ICtWH6ZFsPZsPyxGa3ABNdIUIZxMiP8x5CbOzbWgvJVGNYrJvoPp8Y5tTap/9Q
fhoT/5tDZ33wL/rR72KTn6i4vor4F1BLAwQUAAIACABhenpJ1a7ajSgGAACNLwAAQQAcAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9jcmVhdGUtaW5kZXgtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQJAANlGDpYZRg6WHV4CwABBPUBAAAEFAAAAO1aS3PiOBC+55Sf4CNUbapsY8BwS8xkltrd
ITtk9i6shnjH2KzthOQyv30lv5Cth20gO9kqDqkKdqu71f31J7Xk+exuCdELRNMpRglaoRicMAjA
TbwweIAAe8HG8cMYtBvNsPTxwBqNjcnEtCajq2+B988zzGd3M27kdOoKtdxH4dbxPQgSou+6rtOy
r+Yqf1IV+HhPsvGNPvS2yAv6Gqe0UVWP0WSMJ2ZfoQqtwih5jFAQo1QhVcDOPtxBMLv7CmRcnDgo
cMH3AV/18EqobgfROoy2tyKtAnGx9lR6+efvXkKl75D7neRtmYTR8f52s31uffLwYw8/dAuZF7yE
32FBAo2o2G2AmUGP3haiXp9OgHma+paJpwL3XkQc6+mv4/V6PbRNA1m2zg9KQ70IskgQO9mc8gnG
VPwA78ewCFg9QYrJh4pJpD6yiXAp0jklogj94J71+pXZGqber2aZc5q8uyf/htEbyRH4kEChqwCI
aO5iScVbgfcNzq8GOHVeHtUnFGAfZqmxZrH8d4mnmPj1+AQRaIj8GdbYHumWqdvaLqPPq26qHsLd
jmANBVqZ7F+0INxricpGk9fOcxQRsistKQbkhJSPyKJSjsuKU0JlWbpY9lHX8YyXfxf4roxRAV8h
BgtPShtEcMFy03Qa5SQVbndUEgtEwqCqZfnsuhDHxJUbzc2CqRF7MY2iF7NrlzExdaqwVIW9eIcS
9+nTS7lAMcU4GGfUU5Yb5VHZ5FKOZQpI612T2Fgj3TAGA2K3z1G3ItCNlQZpnGVUzy3x5yo203r/
YmNsvFuxUUQdSq0SWZopWd3R4LJVREcag7WJBkMKFWUNLmpjz5MS07B+ZrjQSlfOO05QlPyV1aJD
nNgAu5Kp96QRoARkY7l9qW3bZJcrS9wKNl7ADJ9XU3HsXuYP2BJe4DaCdWsn7TPOAJPhZDIcmiVM
5Oy8YGmpHTcf3GF+EA8cmj5iTSt6FJKvvZc8lczM0vJoZGmHxkE7kCbFmjvWdTwamvbAHA1cyIi0
JcSytaiydaz+LjZC3BLzbbeJEIYvABhwm6XFHo4Io8Fe8PyIJYdpqNI6WKz+JsHJSOeGLC3aNb8p
5iSvBJuG2uuKAqEE87MwMQ8wvGZxO5ufajPqtwLt6duOejeQcNpyyH+G5Cu4YYTP075wEShaGVlt
CkMmf8mRRUP8Fe08L6turx1ugIQkRXhBmBKUtlgWZDGfacPB0BpNbJOUUaaJVVNtCjH+AntGY8nQ
qiGfXr2YEhXvcgUc+4i0/MzYJaWdfHsqh1ib7to5NX1az0W+vyJz7KuXVGLTEQFJshoIZauEIRBi
oXx6pXCU1FQpQg6Tv1SHmpdXJJSXVVfKjBsgqZROXpSwmp061y6wmomirmwBG2A1U+X9QsAXAi4J
+EKxZ6mFdMVqVwXl3kr0uE1gM8kmzOdSbdCeiSpxzorIFux2+E5FOyG7ab51oHaMZHdwlhlUwrKU
EgOSQ8zpUNwU2+wmIG7Y/Tj/UB26g5w8JYyMGoCHzkACv01NoAK+F+Q/w30Y/QZvrfDxuesUWWzI
8y1vb9iXbFKYTjk/fu3S5GL9TPdAbrjdekm1Ed17vu+kz9UHAScYbOTJuvkKW3IvGyo9m6PqyrU+
WdXdQUGcwkEyClUISwkwG1QSpXIxv/cCL34C3Em2FaEKPW8T8E6sKrJSvTbXTd0+5c5UxtQipHF8
LagSodfXEplFxF0B8/W09ujOpDgc/HhnnrWoMARVnXWiCKb48LAiQvgPrXyC0CaSKAVr2RN6Qkzd
YkxvUMjPF9ASNbV1OlurHn3SNOaUfrtOIKocrTp5Tdfvj4VzUVaNaITgY5OBbomqBgLy5Bl+9jcJ
HQ91JTWcEdqvFNkEqtLbko9VUIrPdihCUYWyz3Td0vRlT6Nh9iiobdxV6yJ30dO0UChMisBvW0f2
z8qlUeFEl8b7Py22/wv4mY+m3q0MGs7xPFyY5tEvYaA0pQ2biFSG2x/URyrPvD/Cwn9pMy5txqV1
uLQO79I6xEm4q36Vopu2Xbsn5z4VJ0KWLk2U8pPzquoteltB+nyeM0fNjjEx29vJvt/mpp/P8Vr5
HRz/VXJnabHRfwFQSwMEFAACAAgAYXp6SVvcfJkkBgAAwywAADkAHABzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vY3JlYXRlLWluZGV4LWZhaWx1cmVzLXN0ZGVyci50eHRVVAkAA2UYOlhlGDpYdXgL
AAEE9QEAAAQUAAAA7VpLc+I4EL5z4ieo5jJQlVTZxhjDjcBklqqtJTtk9u6HIN4YmZVNMrnMb1/J
xrZsPWwnZCdbxYEDcqu71f31p5bs1fJmA/ETxLOZ7ySO68RwESEEvSSI0B1EfoB2izCKIbgGuqlN
RqY10adTw5xave8o+OcIV8ubJTdzNvOEWm5xtF+EAUQJ0dev6zTt3krlT6rCf70n2fxGHwZ7J0BD
wCltVDVgNOmTqTHsCXQE6Cl6hOsDxA5VNEf+PXZQ7KRq74M9xIMhG4boANHy5hskeuJk4SAPhiH0
RZrFktSzs+uThyhSLOw2wMSSfO6Dg/wQ5v+LEMXE5P0DxBA45KebE3s8nY7HBjhkyKKruyVmIvxC
UANDmBQ68sWXeLiPCnwJJRVPBR5zQ4MhGGg/JtvtdmwbujvytaEyXKclp8bOERlLMw3NLiLTTdVd
dDiQBDsIFFm8Aih6BonKRpPXiyPGpEIKS4oJRGQb4f1pRhaVYl4GPN8VzszSdeN4j8SlDYEC7G3+
/D1IqBQ7OpvtYLLGX2IyMQzih1zDCm0jYiDnHGJJMp03BNIh8g9sgxCCz/3PgDjrB/GjYqV+4C95
lxn8eZRguImihP5sAqFupSCUlUHuSWGDCK7Z0p/N8IkDov2BSvoCkQhVtWyOngfjmLhyDbwsn4DY
i2kig5jlXH1qaFRhoYqE7uAk3sOXp4JYy9U4o4k2rFQ8pSnZ4lIKY2oYDPokNqal6fpoROzyTKsI
dGOxwzTOMibltqZz1bthvn+9Mzberd4pospqr0SWZkpW+jS4lXokM/WR5mpwTKHyRhpQlvC6Zvo8
GTV081dG23E1Gm2pGhIznPyVlfKCOLGDzD7f0Iph6CRQNpdrx2zbFjV37XsoCd+t2UJvx3albeYP
cXZBV0S5v4QMeA6Sh4LrWKKzLBOULSQoaYiG35tomm+NDXtkWCMPZtTUMuoZuzMDqZu10ApJ+/th
hx0f/gGhD/02ZG2PLcIR8Fkw/vG6wo5bCtPop0Bdu3+TVGWkck22DtAfcnHmJHuCvqT2uKJAKMH8
zU2skA9/ZFk8m59qM+qnAu3p0456CQ9z2k4F+BUm36AXYZ8TKOBUAqiSUNPWWkRgjTJOkDGFMGTy
hxx0G+KvOGbyspK9z4W7ADF2VqhNC1yfpeys812D80miXARJx6cVCdabnB1XSzDWdd22rLGlNSBG
uQPfybzrmA0w8JwwdMlKhuotjNhciHAh2WqEstX6FwixyHw78DmGaQK+kJLkD9Wh5uUVCeVl1ahc
chOUx7YqKqP0H4jTvxkcx1PbVKv4jo4x9G/CyL0lp72Mn+JWGF2+NXBdMLoUpVB5/GvA6FIFogs5
/yLmvHDjWXCXbjXtEFf0OKLhNoHNJJvwdZJqg6xMVImpbCu9BmxSTyjSLe0KZM/LkV5xrCGngTjC
GfSICUA8wS8z8Kn/qbfIHpFzgBukHTcIo2eIwSN8SS/BSNsOjodDOdIBrR3D2R2hRRqV2CykxKjk
YPN2PO7ynrcJjTu2OeYH1aEr5eQpYWTUKCzbdPlVSyZAEEihgOnpFfSvpBtwG5x87bpUFiPyvMvP
HOxDNjnMYfp059nl5OkLMPA6Iov2+yCpng6fgzBcpOPqu4I3GGwkzbr5CnVyDxsqPluj6v1cfbFt
TjbCSTI+VQt3c5dhPaHaNtHoRH0iK9UXoJqh2e9w47YQwYAjVQGEhV73JTJrPHcj3AD2bUB7iPxy
7+PdWdWiwrBHddWJIpjiy7+KCMyvvpsquBCsZU/oCTE19336ToH8fYIgUfNOp9uo6tUlTeOJb+fb
BOLK1WgGh/Q6s/JSV7gWZdWIZgg+GxhppqhqICIjR9hY1+3r61W83fEaVFLDtwEicfiNIptAVfoC
4GMVlFxjilACMfnt2WvT1LDfzBsNs7ctbeOu2rSE931Nm4XCrKgAmto2hbr/th7+L/gsm4P5uyG1
4QIq8HPTPEAlJLGhr6ka9vlUhtvC6zM/4ldGlzb90qZf2vRLm96hTY+T6FD9qEEzbLv2Fpf7wJYI
mZo0UcoPdauq986LC9Px1YkCanb0qdHeTvbVK7f80xr7yq+w+E9OO0uLjf4LUEsDBBQAAgAIAGF6
eklxUSESMgYAAL1FAABDABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZW9iamVjdHN0
b3JlLWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADZhg6WGYYOlh1eAsAAQT1AQAABBQAAADt
XEtzozgQvufkn8DRrtpU8TIG3xw7qfVhx6lJZu4yyAk7NngFiWcu+9tXIIMFegAOXpNdDjkYtVqt
Vn+t7s84y8XdE0TvEE2nHojBGkRwHgYBdGM/DB5h4PnBy3wbRlC5VTRTnRimNdEcRzcd6+Zb4P/1
BpeLuwUzczp1uVoeULibb30YxFjfoKzTtG+WMntSFd75lpD5lTYMd8APRgqjtFLVkNKkTRx9dMPR
4Qfv4Q+42kMEEkWzwHtGIIhAqvbZ30E0HNFuCPcwWNx9hVhPFM9B4MLtFno8zXzJxLLW9YldFEo2
9uAjvBJli5t4kVHCs+Vv5tlwpAzVn5PNZjO2dQ1oujoiG33AK4boFw4guIUxzOQzP5xC4znMQ40r
KRnlWFhh4NrwUgPFnnsFgbeFi3SxarHj5zyOImzX8ytEUAH4TzMntqWaumorewK/m2aqHsP9Hp81
CJT8QH9TgvCgxLI1qqyevyGEwZKvJJmARTYh2h1nEK/k80gMemvuTHJcd8D9gU16wqEg86bnewtW
/iIhutasLES5MZhZkq+BBVc0BKdTdMRiuNsnkh5HJAyKWp7eXBdGETblVnGJMxW8XpR40Y/o3Kc5
upoozFV5frQHsft6/54nOApwxkQdFeCWpAvR5tJUQgFIGQ6wb0xL1TTDwOuyGU/i6EqkwdTPoozG
XBFtgU03Lw82ao2LgS2JqBPUCp5NTkqEu8S5NIqSmZqx0YExTkJFisFVaW47R6Jr5jXdBdaqdN9R
DFD8nWBxjo14gdSFWVHTIAhiKJrL1DW2beMqSXRwa/jiB9T0ZfEozq1h/oA7nBfwPFobu9qHaokW
wmTsOOOxnoeJODuv6LRULzefzKE+YAvmyfHh1ZSsxsXndfDj1zwz02nZskzlVHgqp6SZxJo7UVXP
Guu2oVuGC0kirRli5C6iHqRmluKIe8V8278g4MEvEHrQq3O12GMLZzR44Dw/48qhCvIUB6v1n9g5
JOnc4qtFGYyYnTGS6cZOHzGq3+IVmnkeM/V4so+i8TxMT4FZMNu01Rr2rAISa6II5G5APMhAosIb
kqaHlRUkkiwvMhMEqYB3esBLYKisnjJILBfK2BiblmPrOFiIJlpNYV949hd4oDTmeUg25f6nHyVw
ZE0uBMgB+TE99ykBlzQJ4azxKPJJwwNShi7Ybtd4FyP51YDXnPNCRZDVuLIFU3hCdLB+HAsZ8qog
QCOUeSb3Zy4mudVzEXl453lAENWk//iaJFteFNUbhm6IhCvgkC0IFBScBuvE5WMz99FRKI4pYaak
xuizpm6WY7vS5FLwOBEF1iGKmad+EEMUgO0sGz155OBvyWP5/XhWeKfGZPvFpQyhUo7bi0R+BCVr
6KBnxuSnR7whDoeyOml7fUTBjDdHFK9iWXFaTuaIq0iEH7/TGekhRIU6h5xxPYAJ8FPjCnjwAz96
rXkHcF1W4+SapH7eGsVWwJlo+tk1/Wep1Wcc8JQzEScL8Bw4KIrswK81TNnf5RHRRQZZcwxLaJiA
0WaMwE3Ezk/y5EeNmUwsZusbP7m/892Xivtk9B6hEM02OFkWIHVsbfDntOQf9GR9TtaXYou6r9ql
yKjdMV/K2KZFuqna8YFnqPYZ/ZcAdCQZ/p6AGaNTSGx0LofU5R179rAN9rADdJijOpPO0mF0Uq2L
Kel3Wz1zdUHmqnl30Ln0dy3yrefQeg6t59Da4tDctGVgSQ3SSlyA1SALViKuvHwBccxgxYGSPcpK
/vJmazAZc+4kEdwkwkJ4kEk5jNpjFPim13FiIyjwVikVVDpuJD7QP4mAxYseBlicyOdaPWjYZ3O6
5qxG6t4t3qkOtB75Qb8YeF7f2pRkaYfr6EyfuOxf3uwoH/Q/JlQuQl6U1rjCuzwq7Mq7PJahmv85
8uK8BqMm5dGgD+nZkZ4d6dmRnh3p2ZGeHenZke6yIz2T0jMpV2FSPjX/0R4NdKm3RnrWois/Oe1f
hOhfhLg2l1C/uT+DOajq85uxBtegBM7een0ioZkTPuFviT5GvTZc71O8Piv4BwEXlqZDMtwXyx1V
t20mvI5ig3be8peWdapuqs0KNFVz9HMKtHo7pAfa9/K/6AqxocL9XnEHnbPpH1BLAwQUAAIACABh
enpJIgKiklYGAAAtRwAAOwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jcmVhdGVvYmplY3Rz
dG9yZS1iYXNpYy1zdGRlcnIudHh0VVQJAANmGDpYZhg6WHV4CwABBPUBAAAEFAAAAO1cS3PaSBC+
+8RPmFugKqmShNCDG8Z2LVW7izd29i6kwdZaSOxItjeX/PZtPRkxD5AAG7t0SCVIPd09/Zr5PuzM
ri7vMHnBZDz2fO/GD/348Tcn9AI/fPgbk9iPwumjEz7ge+KEseMm8AB9Q72L2WZhtMbh1eV3/O8z
jpOpE7o4CLB38SP04QnIXTmJs3BiLJL8aPq8Qn4ahSHOIjINojiTU3XFHOqGqdq2ptsGa2OzZjx2
t9bfkGg1DXwcJqnFbW26ddFfOX44QBzHd6jqU5pU09YGElXOIiJJ82z3vQVX3RqTZURWE57WZhn4
A68i8hOkLx33CcrzLolIe39zbbQqSkehtT9o5eJ88Q/konDvlfgJrTpvMXAAdNYsglripP+891eY
3PgEdPaV/8zlcjmyNNXRLWVwnEXZ3uZhHqBJ6OV7KDYUp+KbKr2Pyjhux7npZoV6mBCzzjYtV7E4
DLnbZhXphy/RE56XgYZ4UYuysPdl7RRJFmb5kqx9TAcxLj9XLsTg6v0jJhg58EfVTWtk26ORhqAw
PajmNNo3YAayAxvGAU4qHWVz8BLMl5S85XjMPOoP6HpcDD1lIM1PseXM2DEiYyi6plhVZJqpuo3W
a2goJ0RVFr+iMHpFiczGLq+nz4TAYK4sSRYUw7NYkUelWpdXumDs5umix9vF3V+/Q3cy8/MBJ3Ny
HcPCAHq11DALlxEYKI86sCRYzhpC2SP4hJZ+gNGX3hcEznp+/CTvyyvWZar+3PRcYxbyEvprVxGq
RlaEojYoPalsgOCcnvnjMSmGf7Rap5IeRyQK61runl0XxzG48g25eT7RS37BQn5MH/WqrSmpwkoV
hG7tJO7j9Ut1nlMjfmjmI77q+PR8Em0uO7uoHkb9HsRGNxRVHQ7B7oA5OSWB3tnsOIuz6AhlbkTH
6ndNP32/UzZO1u9pRW26vRbZNFOi1k+DW+tHWKkOlYWCR2mpHDgGpC083zJ9nIxqqv6e0XYWiiI7
4SFmJBFhpR0IgGAnwTKcVUMBlmUBphDlfYEf/JBaPqunou3VRlAv29akN4u8MhoO1I2f1AcwM02D
lh4vm6pEr37yWI1TepYaho424AhtJl2aYddUFM8YadZQM4YuzqffnonNd1u7qtY/lwFhzoUf6wfi
ePhPjD3s7XMeWCMDxhB+5Tw/v4tnw1OLgrBZL1BwAtb0e6jH4hdGMgszjUPWzzDMJh4Lsoo6uxW9
b4WnGH9KbCXqB+4GxC/lAImVl9AErKwctk+ZBYJxwMue46VFgeZ3ZYPOrtBIVVXLMEaGshdImx4a
DNR3nSBYgK8D+SgGm1NeWgTzjCtbc4UnRBfG4XVXVvmucqO7gXkmj2clJjlFKxF5KVU9JwUS39Mx
C7VDsr97X1GURQ/FWTLz6tFhXu/Qgt2IpJTME/4pUDI0baESKNw9NOhySm5TxLfNYk2XrLgAhSOM
ekcXBnUAFVCkybT2RDQS89QPE0xCJ5iUbzcRefWDgGFdemfFab01T9WCNBXV7Gl5MHavTSYrz0b9
ZmubqvZ52DdBz0445bbdu5y+4QWwVxdZOT8XOKP+Z0UP1L8+UO2hIXRM8HUG4wTczld+OlkOdcY0
DWbrSz89Hqvdb92a07fXhERksoTxUruTF5gBPmd36U/3TU3bpmBri5rwxyWMqN2le6p3tg6XvUb1
ASsUqwWUEDTdft9pHjRDTkJTOqpW0pQdIfchCLlZ2+/S34fJa3Xv6ui/jv7r6L+O/js3+q9j8ToW
72OyeG6GqlimJEdbJ6BKcoM7q3vbfK26mZc7EprvUYaKtje7Bz0y5S4SlbZcuJm7VGlz1e4TjUY1
zbNSh52KBqDpAKwo6hBeGTAdwilhrte9hpwChyEo7wjnd/SdFdrej+i5zb3PsHg7jN6UUDoOr7ML
CL8ZnJVyTXR02zNOtJadvFPHfZXz7MOQR8efRSfhWLZsvAMOV/C54HBjqOhnjsNb/1JHB+DfFMAf
mYTrUH+H+jvU36H+DvV3qL9D/e+P+j80Vj8eZXGqn+boEPY7IuyzI2M+9S/7nAHutRXb7L5/7uBr
Hb6+KdHW0N7Z3Rbo7Ebr+jGtaJa1886gaLrS7PRXVFvb13Stngqx3nF+xPtEu2p6pxFeYdj/IeLE
0sJYN1Nz5hX1hmlvEeqGL/4HUEsDBBQAAgAIAGF6ekkGlgWspgQAAKMbAABGABwAc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2NyZWF0ZW9iamVjdHN0b3JlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJy
LnR4dFVUCQADZhg6WGYYOlh1eAsAAQT1AQAABBQAAADtWUtz2kgQvnPiJ8wRquIqvRCCmy3iClXZ
4F2cvY+kwcxGjMhINsllf/vOSEiMNA+BjSs57MFVRurXdPfXj9FycbdG9AXR+TzByT0mON9+giRJ
MXn6G9EcZyTcQvKEHikkOYwL9gDcgOFgKTDCAkYwR2FGCCopwjTLUcLobM+aup4/tWczx5v5g68E
f39GjHch8czncYf/nma7MMWIFFxjV5oXDEY7iMkYSEJ7RY0ESfZ05owNomCU0cJw+myPyOLuL8T4
8iKEJEZpipLBKImU4vaIbjK6u1VJXf/5GRec/A7G31gA1kVGdRYoRKstOdPe/+X1yBMCUJJSyP99
xDtE7zFldCPrx3Sz2UwCx4ZeYI2vw1QGf0Wq09ySpLLraGTOyU8QeszqQ3dTRnSI9E5yhWzApfjQ
k7Mq82CAgIIDk5fsG1rVzmM+EJhKV45M+M0MjGUMRN/EvFpIQlRW/Ss9G41b0bQda1xlzj3TmNGf
7OwoRQWq6evEUsVPTWl4q7Cwx8DITUoD9Z7b8j6AFqWyfrLj7yZOObPrcYsoApD92d408C3PsQLA
UJaw4ja4TNRDtt8zvEACmoB+ACQ7gMKko8/q8JlS1hQaTQaGY+E+clReafiqpNeU/CpcYk0342Mh
079Lika2X6eoMgdrSxodjHAl1sj5nB6LZbbbc8pEQZKRtpT1cxyjPGem3IC4ciZ4qSYNgHOxx9sz
x+ICG1EJzvewiLcfX5pGLgDOnVbls4Ebr+e6w5W1XgAQGA2Zbzzfsm3XZXrHUgsxOLoXaaj0s67l
SKPQtcDmeO8PNkHHu4GNZ9QJai3P8kjpcMedK6KIc9ruxoHuhKeKEYOrDu91QuLY3q90F4ws47nz
AtJCN/X3zO4UwQKZNobW/B4EgWobOLfZawIeoSdMBPplO4R/oB2rC9J43eV60yxxhTSZzGaTidOk
ib46r8SydF5tPpkj/GAWhDx8TBuodzkWrwMutk1lFsuy73vgtGCBU9HkuRZPLSvxJ07gOr4bo6qQ
npliikG7/bsehKQW83X/RGGCviCUoOSc1hJMfFbR0EHx/BUtR1g8Sxyson+Yc6qic8NaCxj+OrKW
OyXK1wp61S4jia/3Gl2SK83VvzQvMjK94f5ApjXv86HEoKk2KhfDhCMdrNY16pYLMHEnnj8LHJaP
lSRRTHtBS5Iv6CBIZBWyn+XjD5xzxMsmC0/m8wPFhci75vg11rnTghe+NUBgFMM0jdgpxubuw3SG
qlTRFE4lbcsUFZGYrFfAQrbb4aINvwNO07B8bi6Kb1DYi7iu+hbipJc9Aa3OaLqm6x7WtEfVUFMy
6eBmINbCo2JqYGQERHVlei4ilNac48SLoKDS0r4+tdiS/OrxywAsVfZIwFJkvtLqoYZmRaWrIxkj
G8wRWw8/v99M1/GKMGVc0JI7cxA/83G9vt0UiLbmrPCY1PUMdeGIo4n4eV8MWpdXF31m6Mt1gyjF
RwM38Mw4NYh7C1zebcL67dJanPSzfXvns5wg6HiD32V1iTxLm29SDjxUmsuPPG3RO/gzQuXz5bHl
dfTYM+d8PdVXJClGxzMOjbdM8reHy6j/A1BLAwQUAAIACABienpJxLt6QVsEAAACGQAAPgAcAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jcmVhdGVvYmplY3RzdG9yZS1mYWlsdXJlcy1zdGRlcnIu
dHh0VVQJAANnGDpYZxg6WHV4CwABBPUBAAAEFAAAAM1ZTXPiOBC9c+In6DZQtamyjTGGW2ImNVRt
Ldkls3fZbkATI7Oyk+xc9revZIORbUmGhNTkwAHRX+p+/VoSi/ndCtgLsNksxjkOcQZBSilEOUnp
A9CY0E2QpBmgG2S71mTkehN7OnXcqdf7Tsk/z7CY381bmrNZpLRyz9JdkBCgObfXb9p0/d7CFE9h
In57JKV+ZwyDHSZ0iFpGO00NJEv2ZOoMewobhL6kT7DcA8PC0C2NHxmmGS7MPpIdsMFQTkO6Bzq/
+wu4nSwPMI0gSSBWWVZLisiubk+fotSwsXvCuCe97hbTOIHj9ypFGXf5uAUGCPOP7U788XQ6Hjto
XyJL7O6eu0nZT44aSCCvbBw3f8LDY1rhSylp+FURcWtpMEQD69/Jer0e+44djmJraEzXYcuFs2tk
xrNcx/KrzFxm6iHd73mBMUVVFX9DNH1FuclHV9TBM2O8QypPBgUusk7Z7qBRZqXSK4EXh0rNslx3
OHriIa04FKC3+vN3kgspeXU220C+ZF8zrpiQbHu0sKDrlDs4cg73pFFvO0LFEv+G1iQB9KX/BfFg
Y5I9GXYak3jeDlnCXyQIpqWoKuh/XSC0vQKEujY4RlL54IJLufVnM3bggHS3F5KxQiSldSur5yiC
LOOh3KCorCfi/jJRSJLJnGtPHUsYrEzx1O1xHm2/vlTEetoNHk2sYa3jBU3pNldQmNTDaNDnuXE9
y7ZHI+63zbSGRHc2OxR51jFpazRdq98d9+P7XfLxYf0uEHXq9lpmRaV0rS+SW+tHrmmPrNCCsYDK
O2nA2MLLhuvrVNSx3V+ZbRxaIttaMzxnLP+7bOWAB7EBac53HMUY4Bx0uq3jmO/7/HCnq3sIG0Il
9QU9h/6bWrrJfu4xTUOpS5lLziPUk2/pCw8vEEkT4+WESvRK8m1FpzKXep6LTqdUdGI6UeFoYlmx
N3b8keONIijZ78zClgNEWijCbCZSNRe+7zcMx/AHQAzxOfPAH3uchuBVsf75Dp4XTi3pLlH0wjL8
wUtV8tYNn06o/+vEasVtSb7VUFWXUyVqmXF96wzvS1o2l67llOHqf2xhoGPvhithW1bDV0f6bSlo
mEqVYhwL3KHl6sgBizka27bte97Ys8zD6kHn/8JkoEGEkyTksQ7NbM99BqqyaChTKVsLRSUkA+MK
uEt3O5LXof5KkiQo1s10+A6Hnehuuq+hu/VjR0HLPZpeOZqbNd28jrBWKumgbRa+LFwJ2kqz52Tj
IkyrvNSfkSx+P/6AQ0WggkGrQxQQVkbd18gs2W2Ysg6wr4loveP55fON5UZWpNF8wRxrHGXEng/X
2tt1Dqx2VCpzVxxv+m84F2gqfk8ov518E3ngG9MeuuV3q3OV1L3RwLrBlOLxdOS75j41mHtPu3zY
seRzwzrL073pgVPz0nuxtHxDKDxKNzTL8f1GCVr/FnAh19KC3PivQ930Dv8MoVhfHAZmw489dc73
Uz7h9/4HUEsDBBQAAgAIAGJ6eknhNJtAAAYAAGpiAAA0ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2N1cnNvci0xLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADZxg6WGcYOlh1eAsAAQT1AQAABBQA
AADtnU9v6jgQwO899SPkCNJWSkIIgVsLryv0tA/U9r27SYY225BknVDay372df4QHGI7oaXb1WoO
PdSeGY/HP9sDsob57OYe6AvQySSKIZzd3MFfW0jSKQldCALwLn6GPmuZz25mJCUrkoBMUrvSLi/m
n2fPK+WnURiCm/pRuITQ88PHaRAlwKQNSx8NLHtkjMemNbabIx00JxNXaOWWRptp4EOYZqMf27Qc
tT+5Ce/9nhT6rT70NsQP+5ogkC2mepwlYzQ2+6LF8MOX6BkWMVCSGboOvQdKwoTkZh/8DdBeX+FC
pFC89SkDgAuhm3nZMCLy6u9GW6+v9fTX0Xq9HjqmQQxT7xe83LIRI/rGFggCSGEvv8fpEPqHqFpK
oaSiV+Bhi4OrgZc7KI/cEwm9AGb5YO1i5f/VOiXMr4cnoKAR9mdYI8fWLVN3tLjA++I0U8sojhnK
JNSqBf1NC6OdlqrGaPN6uqWUwViNpFBgIuuIbkqNIiqVXr4GPW8l1CyW64a4z8yle4aCKpqe782a
8p+C6Mqw94gKGdx7Uo3BBBf8yTiZ0PKIjDZxJukJRKKwbuV+67qQJMyVK80tgqmx8ZIsin7Cny3G
2NQzg5Upz09ikrpP316qA4TbcIOR3q9tt+wUl00uP+G5DaT1LllsLFs3jMGAjdtvXByKQLfuNMjj
LLtoGkfwuTabaX3+ZuPG+LTNlhF12Gq1yGYrJdt3WXD5XZRpGoO1SQbDDBXlHlwc6Z5nSUzD+spw
kZWunHeSEpr+KvbilDnxCNyF2ZIzUCApyHQbeYPjOCwLkS3cCh79kFOf15fiD9iw/c00+Nam1pfk
EmfAZDgeD4dmhYn8dF7wx1K3s/ngDvcP82CaLR8bTdvnkGy9dn76VJ3M/LFs25Z2SOy0w6GZseaO
dN2zh6YzMO2BC8VB2hGx4i7iGnI3jzgSXjE/40dKPPgB4IHX5WpxhjY70WAnaH/HlcMlvPk+WKz+
ZMEpDp0rdrVol/3GzBqS+cQO/+4l5qEHr4LIcL0NzXibLui15zWUSiaWXD8qouIZFLPLlt0/SURl
qouaxIeUc+o/pPYd3v41b3GqONWvnmpNokpjDolL7VqzHL3DfbUIi1xElqEILzh5ZyNlarktFV86
NWUlieY+b24oSFJM0e1OvCxN0xb3+5RpPtOGg6Fljx2TJROFJd5MbV5M+wfsOIss/2xX+fbqJ1m6
1nS5RuWO+imve58lX8oklWWVS1lMTlwgreeSIFixWfTVHx3YmFMRKpKsVyhbc0UkxMN6rr2Q78Zu
u6BK00TNXQJbSLYxX0p1ob0QVXLOi8gS025856Inkd0232NQT4zk6XBWK6jEspISA9kg5uMo7hO2
Ng75xK7Rpo5bJab4AqISUbNXpY8S8IqvSu+yz4Ui8Lp1gxtR6QiMsZpAzcChswt5y9PCxzMn52gp
S8C5Pn6tuQ/B5Terp3x+9QREIYaIIWKIGCKGiCFiiBgihoghYogYIoaIIWKIGCKGiCFiiBgihogh
YogYKjAstYtXCzGNXvzsLR4J2ATyxu/whqieiOrhzUgbrPXXJYJWdTQ5QeWL2EpIDS33HkUCVXQs
wVFVtE8mkg7tUgTiCwm2cBvRrpgtTg9NN9QUb3FqvbUVLWecQPo7pHeQbIOUe9f6DG/Fo1DE8j+N
JXKH3J2Ju/zKrBPHNSFryBqyhqxhmodYIpaY5iF3ePUia8gasoasYZqHWCKWmOYhd3j1ImvIGrKG
rGGah1gilpjmIXd49SJryBqydoa6MNFm46f1ioA7Pwimebu60uEHBmytQXM8fK0STaOzpYpKMUdV
ze/jyaqKI++L0giVZOVpFMLS4jKFUlWERlko6dYP/eSpa6UkoTddgnhSFRrRKPVa7LqpO//7oqdT
EcuNajuCfSiM4aVEZkGvVxFt2bFrP6srta+vKvCDO3QEVUsz9fKwul6nQGtVUaclraoi8ZLfMzj2
I0mj+H1m+LKtuQ2ugK9uOs5R6dPGrx4wIUuXrqXy1xPqpjfkbQV5+7w86o7GMcZm93GKnyK4+AdQ
SwMEFAACAAgAYnp6SX4on58zBgAA8mMAACwAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vy
c29yLTEtc3RkZXJyLnR4dFVUCQADZxg6WGcYOlh1eAsAAQT1AQAABBQAAADtnVFv4jgQgKV75Imf
YO3LgtRKSQgh8NbC9oT2dHBt995DYkquIeGc0G5f7ref7UDiENuQhV5Xp3moKpwZjz3+xp5ANJlO
bh8wecFkNEo2OJ7c3uO/tzjNxl7s4yjCQetbHNKW6eR24mXewkuxShJdo3ars/bCuIskSn4Sx9jP
wiQeR0mKgzuSrMdRiOOMKaKOaRuDnu0MzOHQdEynKzMcxi/JM55tMPFYRzdx8Ei8OPV4t4/hGpNO
tzW98JSE/oKd/LiYyxzHQRg/8SlRaWESlj109Lq5HyRaaicmmqnfhYTOTa278uIgwvvPhRNTOoDH
FSYYefTPtAdufzjs9y20yafG5nBHzSTkjU4CRzgr+ti7p5zSY1JMVyqpuSoZca2p00Ud4/tguVz2
Xctc9AKjq2VuN2Vu7BKecQzbMtzCM826miebDV1uL0bFKl6hOHlFmc7GsVGPt4TQGCosaRSoyDIh
651G7pVCL4/eYCHVzJfr1vOf6ZAeKAq49fDHb2HGpMTW0egJZzPyJaWKUZiu9j1M42VCDexDgFpS
qNcNId5EP6FlGGH0uf0Z0cEGYfqsmWkQBpP6kAX+fBZ6NUXZgv5zDELT4RCqwmA/ksIGFZyJm81o
RHa7TrLeMMlAIpLE1V4etr6P05QO5Rr5+Xoiai9lCxmm4oZiDi2DdVh0RV238TJ/9eWl2HrL2Xi9
gdGtRDzbGFWT45umEMOo06a+sR3DNHs9are+F2scfTTYMfezau+u7a6XinfLfv94F2y8W7wzospo
r3iWrZQq9JlzK/FINc2esTBwn6Fy5jagDeHZgenLrKhl2h/pbW9hMG8ru6E+I9mfeSiP6SCesHDO
1wkseaebGsFehlW6PEDFXMN1XZZrKNZ9gZ/CWFCfVpfiR5MzBS+H1rSZRU5Gww21HKfwgZoZM6ex
46WkEr2G2arYTit5qWOjMo9F5U7HVtgfGEbg9C23Zzk9H+e734kLm89WaODDlDikdi582zwRL8C/
Yxzg4JTzwO07dBvCr5L2ny/xbHhqCXcbPBZmi7/oUuX71jU9nVC7W/NzTZK7ufy4l5jGAf4uWSfh
ak1zs6Xb4E0Q1JR2hM6F66AIihdQZOc1PYPShKhUZxWJs5Q59WepfcVv/9loYaow1Y+eakWiOFTL
Y7RyrNmuccJ5NYvzzEiVL0kPOPXF2gF+5LTUfONXl1Ukm/vcuaagSBdlp7sXsKQBzR72Cdx0gvqm
abqO03cM/Z3GXGW/oTNQx/eiaEHH2tWn6tTmWLYsinxXKlsZikxIBONS3HHyTyOuSIlkzac4Npc8
xtdO6hSyclEtU3mWd43ERd1RZDrGFcqvly2t4v7B5zGeo0dNIDoS8jZCn9qfWnn4s4R7EfLUFkXJ
KyboGb/xL7Rofoy2m03Z0oDWhu5sTmixjFo2Cyk5lTVszudxnyEdg1HMpGpter8VYpq7/kJED2CR
r2m/+Lxnt4WUPsL/t69QwjFEqcChTe8vj/SC/YSw3xUYTfJOeoOhshO6kZ7Qg23b7kmYzpv5WgRU
Dd1clR4L10QwhBvm3VenTe4uAwl+wCwwC8wCs8AsMAvMArPALDALzAKzwCwwC8wCs8AsMAvMArPA
LDALzAKzwOz/mFlFD9vYX2H/GTN8+C+gX2k316izs9037C7r9ZeT9YvxUK02RErDSCmf8jkWK9Xn
gSStem8KgtonagshfcwITxB93NMGs+aTPw0mzfNRlauVNeMto1GKs19xdo/TbZQJTz7zaAXwADwA
D8AD8AA8AA/AA/AAPAAPwAPwADwAD8AD8AA8AA/AA/AAPAAPwAPwADwAD8AD8AA8AA/AA/AAPAAP
wAPw3gs8P1mvw6xat/E1jKIxb9dXxzzD4NHqRYfmKzWMahePlN7J56gri384WV0h7n05I6mSqrCR
XrjZcIXyQ9JuT/FGoxpEMivVkvmGZbjnvCxAVddIhkGtupEEYemo2wqZGblZJOQI7MuQFfPal7P9
+aq0HnhF2D0kJWvZZHa7zs0yw6RSEjd3Ci9j29ZWHa+/1OFwHGmWbH6sG7FmL+9DqJlsWK57UGm2
9uoHKmQbSrK0r5Codr323haYt093e9aBHXNonW4nf91E619QSwMEFAACAAgAYnp6SRh928QKBgAA
+XkAADQAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTItcHJpdmF0ZS1zdGRlcnIu
dHh0VVQJAANoGDpYaBg6WHV4CwABBPUBAAAEFAAAAO2dQXPqNhCA7znlJ/gIM82MbYwx3BJ46TCd
PpiQ9+7GFokaI1HZhJdLf3slGxsZS8IkpOlhDzlg7WpXq29XYvBkp5O7BWKviI1GdIPI5O4B/b1F
aTYOSYSSBMVXPwjmT6aTu0mYhcswRTpJ68a6vppeeL7OOsSkaymUIkoIijJMyTihKYrvGV2PE4xI
JhStjuPZg57nD5zh0PEdv6syjMkrfUGzDWKhmOiWxI8sJGmYT/uI14h1uvKS4r3muLI9RyTG5Cl3
gduVjLre0DfrFn4rtPSLpgZX7zHj4ZUsRmL+xiSqOPzTeNbpWh3712C1WvUD1wkd1+4Wu3vPLVL2
xteDEpShUr7c/MPqHmm1cqWkYVTh4QkHl704d1AfueeQxAma5MZOi+0/V2Sk3K/HZ8SQFfI/xxsE
vu25dmBtiv2/Om+qOd1s+M6HxKo29DeL0J2VmWyc8nq8ZYzjX1kyKHCRFWXrvUYRlUqvSLx4qdQs
tusujF64SwuOgimaMY4nTflPQXTp+CWiSgZLTyobXHAm153RiO0LEF1vhGSsEKGkPstiG0UoTbkr
N1ZUBNPi9lIRRZzKie0MXVtMWE0V43QTZtHzt9eqZEkJ1xvY3Vq6iRqpW1xeP6UEsjrXPDaebztO
r8ftdhtl2RDok5mG8jjrynijyl0q2Vzv85NNsvFpySaIOqRaLbJip3R5J4IrZ5HQdHorN+z1BSrG
HJwd6V5mS1zH+8pwhUvbuO40C1n2s8jFMXfiCUkHZhOhA7C8KjEUZkinm2eYfGgHQSAObc3GLdET
JpL6tL4V772V/InWvC5wPXm2prUP3SUugEl/OOz33QoTfXWeyWWpXW0+uCN94B6MxfZxa1Z55eL7
tcPZc1WZa1dD37MOV0nrUDQFa9HAtmO/7wY91+9FqCikLRErziLpQe7mEUfKI+bH5omFMfqOUIzi
NkdL0Pd5RUM7xfN3HDnSFTvPg9nyLx6coujc8KPFuu42VtaQzBd2+MizepvN2G0cN1T3OzuXxkER
FC+gKI5MfoqklOlUZ3qJqjoe6mEtW7zAbpEGM1KUOF3hU+aNfrBRiU8koeHbc1NWc36Vx3FDQXMC
qYpGGIvqb80WZSWeTqx+r+/5w8DlNaqYSZ6mti6u/R3tpBmr48+k8u0XTsUp0HS5BsmO4UzWXYia
bjz7+GE118XkzA2yOlGYJEu+iq75RsJtjlWoaA5TpWzNFZWQDOvHc6FM21MpIKd345k5npWY4TJZ
iZjxroqIhuria++DOONVFLUbRhFlWgsc2ZpAbYLDYBsu5+eFT6ZQz9RcV4alMXmvpQvN/lvyOXeR
WEEUYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYHgxDA8/pZ8Csf6j
u+KpOZqSoPHNpUrIDKT0A78GGHosIRFTPB+NNAPWtQqy1zDZonvK/kBvrTCbnR+adqgZXm6ojdZ2
dL/iFGW/o+wBpdskk94/ekFvxTtLF8GyNBZRkmHCg7YlxYtRnYwWppog4kzQiy750kZtylN4N+yr
B8w7WZfVQ3IkZ0Z9WhPW0I4VQgrg92JWuQ+X4Hz63gC1o31qBONYAJgH5oF5YB6YB+aBeWAemAfm
gXlgHpgH5oF5YB6YB+aBeWAemAfmgXlgHpgH5oF5YP6rmQeo20L9xf8JAl6YgRdmoFDD5QQuJ8A8
MA/MA/PAPDAPzAPzwDwwD8wD88A8MA/MA/PAPDAPzAPzwDwwD8wD88A8MA/MA/Pwwsx/C/UFup/Q
9Rpn9RZCO5wk4/y5uTXSBwye7LFybL7WY6UxeKKFR7FGU1vS48WauimWzVWUSroGKwZhbUOUQqlq
nGJsgXKPCU6f2/ZAUXrTJohnNT9RWal3TrVdO/hIj1ddKxUVPY1WKgrylV5fa2Rm7HZJ2YkcWWHR
o6Vsgfb/6+x2FBWp6CjanInF7IvV7YoXwFobtfGeVlNXWU174WM/0oxuymnkzm35U6mHn+0GwVH3
s0ZPXy7k2VpWjL2B61Ovw7clyp9P98XryI4zdNvbKfoInxmnfwFQSwMEFAACAAgAYnp6SczmxBAd
BgAAlHUAACwAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTItc3RkZXJyLnR4dFVU
CQADaBg6WGgYOlh1eAsAAQT1AQAABBQAAADtnVFv4jgQgN/7xE+w9mVB2koJhBB4a2F7QjodXNu9
95CYNtfgcE7YXl/ut984gcQhtglXql3p5qGq4sx47PE3Y0Otznx2+0D5d8onk2RL2ez2nv61o2k2
9VlA45iGV99YBC3z2e3Mz/yVn1KdJLkmnavuxo9YjyiUgoQxGmRRwqZxktLwjiebaRxRlglF0rUd
azRw3JE9Htuu7fZUhiP2PXmhiy3lvujohoWP3Gepn3f7GG0o7/au5tWUwr3mtLS9pCyM2FM+BLAr
Ge07Y9esW4zbrPXBTkwMU7+LOFjS6z77LIzp4bl0YgomH58pp8SHH9sZecPxeDjsk23hKjG7OzCT
8DdwCo1pVvaRDxZeVy56TEr3KSUNbxUjbjR1e6Rr/T1ar9dDr2+vBqHVM7prP+Xc2CU841pO3/JK
z5zX1TLZbmGBfUbKVfxCWPJKMpONU6Oe7jiHGCotGRRAZJ3wzV6j8EqpV4AXrpSaxXLd+sELDOkB
UKBXD7//GmVCSm6dTJ5otuBfU1CMo/T50MOcrRMwcAgpsKRRbxoieRM8kXUUU/K585nAYMMofTHM
NIzCWXPIEn+BCOWGompB/zkFoe3mEOrC4DCS0gYILuTQn0z4Pgckm62QDBUiCav38rALApqmMJRr
EhTrScBeKhYySuUEZY/7luiw7Apct/Wz4Pnr9zL1VrPxByOrV4t4kaZ0k8tTmBTDpNsB3ziuZduD
AdjtNTKjwdEng53mftZl0ka2vlS8952Pj3fJxofFuyCqivaaZ8VK6UJfOLcWj6BpD6yVRYcClXem
AWMIL45MX2ZF+7bzI73tryzhbW034DOe/VGE8hQG8USlfb5JYMU7JDVO/YzqdPMAlc8unufB2UW3
7iv6FDFJfc7apP9jLd3O3vYgp0mpCzmXtEuolW3pAYY3FU4T20tFJXmNsucyndbOpa5DqnMsqTKd
WOFgZFmhO+x7g747CGiR/VoubLGBSA35MI8dqdoXvm2fuB/S3ygNadhmP/CGLqQh+qpo//kOnmfu
WtKnjTwWFqs/YamKvHUNuxPp9Bp+bkjmbq4eIbJ3kMxuwrChuudsKb1HRVS8gKLYdWEnSROuU13o
JcpYraKzFi2OZ7UIgwUrEq4uDSvjRv+ykRdOBKHhi4SmrGYPO2zJDQXN7qVKGn4ochFZPBz2hfmM
DG3b9lx36FrmA8xSZ/9MZ5Bu4MfxCsbaM58AwOZUtSyabVQpWxuKSkgG4/3cHULkFG5yKDXazP4s
xQyHt1LEjFIZsMbPr/didwd2eP6784UkufdImi9mQY8Dx4QTvdAg4eILoRf6pulkMBprOwFwW/Tg
OI7XCuLleb6WkdUDuNTlR+mdDIZ07tl/Aj7nkBAq8ENmkVlkFplFZpFZZBaZRWaRWWQWmUVmkVlk
FplFZpFZZBaZRWaRWWQWmUVmkVlktlLa30E4RW39PoOi1exNSdB4RakUMtMr3Z0or38F+XPxJ34g
iYAqf5uQT51PV4WouC+1ivKbSSROXinPaRL3kX0Wkt12W7W0Amlx/uTbwWS4GVJ7W1uzvGUySWn2
C83uabqLM+kqWR43FwPvYCxIGLh+R+92rLjj1s2SwlQTNYhs4JNe8sZLrctTADfsq1+YV7Iuq4fk
SM4M87wmrEmCbS1XeM7/67zaQTo3ruexAKKKqCKqiCqiiqgiqogqooqoIqqIKqKKqCKqiCqiiqgi
qogqooqoIqqIKqKKqP4PUf3B/0IArwPgdQBMsJhg8SyAqCKqiCqiiqgiqogqooqoIqqIKqKKqCKq
iCqiiqgiqogqooqoIqqIKqKKqCKql0f1AkUBks0myuqVNV6jOJ7m7eb6Je8weLL0wLH5WumBxssT
/22/mKOpcOHxZE2l0g41B5RKuroDZuHzhivVHVB228YbZxUcUFmpF0m0+pb3AVWApioMGuULFAgr
R93RyCz4zSrhJ2BfR6IuwqHg0M9XR+fIK1L2UBQVEpPZZ52bNWSyWtGiwil5oaGOsS5cswjmUTmk
ZFsvR2X1Pe+oiE+jSicIOZYWCWO1z3rXG/9tRfP2+T7ZHNmxx/32dorKoA1H7+d4rp/+BVBLAwQU
AAIACABjenpJ/fWpxuAFAADbVgAANAAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3It
My1wcml2YXRlLXN0ZGVyci50eHRVVAkAA2kYOlhpGDpYdXgLAAEE9QEAAAQUAAAA7ZxLc+I4EIDv
OfETfISqTZVtDBhuCUy2qK0dqCQzd2GLRBtjs7IJk8v+9pXwAxk9bBKyszXVhzlgdatbra9bInh6
Prt9wPQV08kk2eJ4dnuP/97hNJuiOMBRhMOrbzFhT+az2xnK0AqlWCdpXVudq/lxvrCQnyZxjIOM
JPESxyGJn6ZRkmIm7Xj2qO8NR8547HrjoWzpqDmZBMpZ7miymUYExxm3fjqn55v9OUwRvt+TXL/R
h+4GkbhnKQLZMFVXmMkZjd2eajNI/Jq84MUWU8QnuonDR4riFB2mfSQbTLs9MQwX2Wb9khKDI3eE
MkuCLwFftTSJypd/pGfdntW1f4zW6/XAdx3kuHYv5++OWUzoG9twHOEMl/IlnsetfEwqNJSShlGF
hw0OrvrhwUF95J5RHEZ4djDWLFZ8rvY9ZX49PmOKLcT+Od7IH9qea/vWNk+Xq/OmWibbLdtrFFvV
hv5mxcneykw2mrye7ihlcFeWDApMZJ3QTaGRR6XSyxkMV0rNfLtuUfDCXHpgKJiiGZJwJst/CqIr
Z1giqmSw9KSywQQXYgpOJrTIxWSz5ZKhQiSJ67M87IIApylz5doK8mBazF7Ko0hSsVY5Y9fmE1ZT
hSTdoix4/vJaFSQh4foju1dLN14udIs7lBIhgaxuh8XGG9qO0+8zu3KFMgS6MdPwIc66iiaV9Esl
m+t9frIJNj4t2ThRx1SrRZbvlC7veHDFLOKaTn/tov6Ao2LMwcWJ7mW2xHW8nxkutLKN604zRLPv
eS5OmRNPWDgwG+4gFKMM63Sle4jv++xWo9u4FX4isaA+r2/Fn3jD8ptpiE9lrXffTT5yl7gAJoPx
eDBwK0z01XkhlqV2tfnojvCBeTDl28esWeWdlO3XnmTPVWUWy/Jw6FnHi6J1LJqctWBk2+Fw4Pp9
d9gPcF5IWyKWn0XCg4ObJxwpj5hv2yeKQvwV4xCHbY4WfzBkFQ3vFc/fceQIF+hDHixWf7Hg5EXn
mh0tVqcnrUySPCzs+JFl9S5b0JswlFSLnV0K46AIihdQ5EcmO0XShOpUF3qJqjoe62EtWzzfbpEG
izgvcbrCp8wb/aBUiRuS0PDdWJbVnF/lcSwpaE4uVdFAIa/+1uKhrMTzmTXoD7zh2HdZjcpnEqep
rYtpf8V7YUZ2rDWrfPlBUn4KyC7XINlTkom6D7ymG88+dlgtdTE5c4OsboCiaMVW0TPfSJjNqQoV
zWGqlK25ohISYf14LpRp25QCYnpLz8zxrMQMl8lKxIx3VUQ0VOdfe+/5Ga+iqN0wDhKqtcCQrQnU
JjgOtuFyeV74RAr1TC11ZVgYE/dauNAU35LPuYuECqIAQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQ
MAQMAUPAEDAEDAFDwBAwBAwBw4thePwpvQnE+o/uiqfmaAqCxjeXKiEzkMIP/BpgklMJgZj8+WSi
GbA6KsheUbTDdwn9A7+1wmxxfmjaoWZ4uaE2WtvRYsUpzn7H2T1Od1EmvH/0gt/yd5YugmVpLEji
jMQsaLs4fzGqmyW5KRlEknF68SVf2qhN2YS3ZF89YN7JuqwekhM5M+rzmrCGdqIQUgBfiFnlPlyC
8/l7A9SO9rkRjFMBYB6YB+aBeWAemAfmgXlgHpgH5oF5YP7XZR6gbgv1T/5fNPDHRvhj46cVahS+
8l4bUJThIvJLXkSAb+Ab+Aa+gW/gG/iGL43/GcAX6J6QbDYkq7cg2ZMomh6em1urfMBgY4+GU/O1
Hg3SYEMLgHyNpqaFp4s1dWMrmzMolXQNGgzC2oYKuVLVeMHYQuGOxCR9bttDQelNmyCe1TxBZaXe
TNJ2bf8jHSB1rRhU9EitGBTkK73uaGQW9GaV0IYcWRPe46FsofT/6wx1EhWh6CjaJPHFFMXqZs0K
YK0N07SgtWyxJLZsSrb15l226/snbY+kDqpMyLO1m2zsxFqfeoPeVvjwfF5UnRM7zthtbydvayqF
rlhjx9guUO5Rep70v1BLAwQUAAIACABjenpJpU34FvYFAADiVQAALAAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9jdXJzb3ItMy1zdGRlcnIudHh0VVQJAANpGDpYaRg6WHV4CwABBPUBAAAEFAAA
AO2cX2/iOBDA3/vER7D2ZUHaSkkIIfDWwvaEdDq4tnvvITFttiFmndBeX+6zn51A4uA/gZbVdqV5
WK1wxjP2+Ddjk5qZTa/vMH3GdDyOgjxYBhmekDTFYR6TdIHTKE4fJgnJMLpEtmsN+643tEcjxx15
F9/S+McWz6bXU6nneBwqtdxQsp4kMU5zpq9zqNP1L2am8RQqorePpOzfOobuOojTHpKUtqrqCprs
4cjpXSh0xOkzecLzDaYBV3SVRvc0SLOgUHsfrzHt9kQ3kA1Op9e3mOnJ8kmQhjhJcKTSrJbkIzu7
Pr2LiGFiNzFllvR9H4M0SvD+c+WijJm8f8QUo4D9s92hPxiNBgMHbUqy+OxumBlCXxk1OMF5pWM/
+ZqHe1LxpZQ0PFWMWGrq9lDX+ne4Wq0GvmMv+5HVM7prN+XC2Dk841muY/mVZ05TtSCbDVvgIEXV
Kn5BKXlBuclG26gnW0pZhFSWDB2YyIrQ9a5H6ZWqXwletFT2LJfrOgif2JDuGAr44u7vP+OcS4mt
4/EDzuf0a8Y6JnH2uNcwS1eEGdjnHGZJ0102hIom9gmt4gSjz53PiA02irMnw0yjOJrKQxb4C3mC
kTqqFvS/Nghtr4BQFwb7kVQ2mOBcDP3xmO5yAFlvuGSkECFpU8vdNgxxlrGhXKKwXE/E7GV8IeNM
zLn2yLG4wkoVc90myMPHr89VYq1nE/SHVq8R8TxN6SZXpDAhhlG3w3zjepZt9/vMrpxpDY5uDXZc
+FmXSaWt6Vzx7rg/P94FGz8t3jlRdbQ3PMtXShf63LmNeGQ97b61tPCAo/LONGAM4fmB6fOsqGO7
v9LbwdLi3taqYT6j+T9lKE/YIB6wsM+3HMUoDnKs6ysdx3zfZ4c73bov8UOcCt1nzaV469FLw8uh
NePJoiTjxIRaj1P4wMxMuNP49lJTiV7i/LFKp2Iu9TwX1adUVGc6vsLh0LIib+D4fcfrh7jMfkcu
bDlboaEYpsIh0r7wbfNAgwj/hXGEo2P2A3/gsTSEXxTtH+/geeKuJXyXKGJhvvzOlqrMW5dsd0Kd
nuRnSbJwc/2RRfaWJbOrKJK67jhbCM+hI3Q8Q0e+67KdJCNU13Wul6hitY7ORrS4vnVEGMzTMuHq
0rAybvQPpbzQEoSG1wSyrGYP22/JUgfNLqRKGkHEcxGa3+33hdkUDWzb9j1v4FnmA8xCZ/9EZ6Bu
GCTJko21Zz4BMJsT1bJotlGlbGMoKiERjPdztw+RNtzEUJLazP6sxAyHt0rEjFIVsMbvr7d8d2fs
0OL/zhdECu+hrFjMkh6XHRNatOCQUP5C6Am/apT0hyOtEgbuERpc8yu5GuLFab4WkdUDuNDlR+GZ
CIZw7tl9Az7lkBAp8ANmgVlgFpgFZoFZYBaYBWaBWWAWmAVmgVlgFpgFZoFZYBaYBWaBWWAWmAVm
gVlgtu60u4PQRm3zPoOi1exNQdB4RakSMtMr3J2orn+FxefyT/yMJMS60tcx+tT5dFGK8vtSy7i4
mYQS8oJpQRO/jxykEdpuNnXLUSDNT5/8cTAZboY0njbWrGgZjzOc/4HzW5xtk1y4SlbEzdnA2xsL
Scpcv8U327S849bNSWlKRo1FNuMTn/PGS0NlG8CSffUD80o2ZfWQHMiZYZ41hDVJ8FjLNZ6zt87r
OEhnxvU8FABUAVVAFVAFVAFVQBVQBVQBVUAVUAVUf09Uf/FvXeC9Fby3ekeCDaJnXq4Dkikk04+0
7wOWgCVgCVgCloAlYPmbYXmGH/CT9TrOm1UwXuIkmRTt5loj7zDYWibg0HyjTID0sOWX8eUcTSUE
DydrKmu2rw+g7KSrEWAWPm24Qo0ApdpjvHFScQCVlWaNRsux/PcUVtSVGlBhIJUaUCCsHHVHIzOn
V0tCW2BfxbyGwb440MereXPgFSF7KAoA8cnsss7VimWyRoGh0ilFUaCOsYabXLDyoHQR2TRLR1mO
7x8U3JHKmDIh19IiYSyH2lS9Dl6XuGif7ZLNgR175Bxvp6wtKjl6N8dT/fQ/UEsDBBQAAgAIAGN6
ekkZr+BO1QUAACdRAAA0ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci00LXByaXZh
dGUtc3RkZXJyLnR4dFVUCQADahg6WGoYOlh1eAsAAQT1AQAABBQAAADtnEFz6jYQgO855Sf4CDPN
jG0MGG4JvHSYTh9MyOtd2CJRY2Qqm/By6W+vbGNbtiXZJKSv87qHHLB2tavVtysRIy3md2vMXjGb
TsM9pvO7B/zXAUfxDFEPBwH2r75Rwp8s5ndzFKMNirBK0rgxrq8WZX/+SX4WUoq9mIR0halP6NMs
CCPMpS3HHA+c0diaTGxnMmpaKjWnU0/ayz0Ld7OAYBon1ut9Oq7en7QL//2eZPqtPvR2iNC+IQlk
S1c9oSdrPLH7sskg9DV8wcs9Zijp6Jb6jwzRCKXdPpIdZr2+GIaLTLN6SKHGkXvCuCXBFy8ZdaMT
mS9/N571+kbP/D7ebrdD17aQZZv9jL97bjFkb3zCcYBjnMvneJZT+RgWaEglNa0SD1sc3Az81EF1
5J4R9QM8T421i50+F/Mecb8enzHDBuJ/ljN2R6Zjm66xz9Ll6ryuVuF+z+caUaOY0F8MGh6NWGej
zevZgTEOd2FJo8BFtiHbnTSyqBR6GYP+RqqZTdcd8l64S2uOgi6aPvHnTflPQXRjjXJEpQzmnhQ2
uOBSTMHplJ1yMdztE0lfIhLSai/rg+fhKOKu3BheFkyD24uSKJJIrFXWxDaTDouufBLtUew9f3kt
CpKQcIOx2a+kW1IuVINLS4mQQEbvmsfGGZmWNRhwu80KpQl0a6bhNM6qitYo6ZdKNtv5/GQTbHxa
siVElalWiWwyU6q8S4IrZlGiaQ22NhoME1S0Obis6V5mSmzL+ZHhQhtTO+4oRiz+I8vFGXfiCQsL
ZssehGEUY5VuYx/iui7f1agmboOfCBXUF9Wp+B3veH5zDfFpU+vde5OP7CUugMlwMhkO7QITdXVe
imWpW20u3RE+cA9myfRxa0a+J+XzdSTxc1GZxbI8GjlGuVE0yqKZsOaNTdMfDW13YI8GHs4KaUfE
srVIeJC6WeNIusR82z8x5OOvGPvY77K0uMMRr2j4KHn+jiVH2ECnebDc/MmDkxWdG760GNf9xsga
kunAyo88qw/xkt36fkP1NLMroR0UQbFUTFY+vhhEIVOpLtUSRZEry1oFesc1O9C8pFmlUtUvKf7q
xkZBbcklzVfcpqxiGcpX1YaCYgGS5T7ykyJuLNd5QV3MjeFg6Iwmrs1LTdaT2E1lXFz7Kz4KPfLV
qV3ly3cSJcW86XIFkiMjsai7Tkqzdgnja85KFZMzJ8joeSgINnwUff3GgtucyVBRrIlS2YorMiER
1o/nQp62bSkgpnfjmT6ehZhmT1iI6PEuioiC6uzb60OyVMso6taMvZApLXBkKwKVDsrGLlyuzguf
SKGaqZWqDAtt4lwL+5LTl91zthS+hCjAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwB
Q8AQMPxZMCzfYbaBWH3bKXmqj6YgqP3lRyGkB1J4s6oAJqxLCMRkz6dTRYNxLYPsFQUHfB+y3/Bb
J8yW54emG2qat8qV1sqMnkYc4fhXHD/g6BDEwu83XvBb9puPi2CZG/NCGhPKg3ag2Q9LenGYmWqC
SOKEXnzJt+WVLtvwbtiXN+hnsiqrhqQmp0d9URFW0E4kQhLgT2JGPg+X4Hzx3gB1o32hBaMuAMwD
88A8MA/MA/PAPDAPzAPz/yfmAequUP/gn3LDP17gHy+fVqiR/5qc24aiDBuRn3IjAnwD38A38A18
A9/AN3xp/NcAvsAR3nC3I3H1OPuRBMEsfa4/pv8Bg60HhevmKweFG40t51CzMeouwKoPVnezT35C
WKqkOiWsEVae6s2UitO/2nO894SS6LnrQV6pN12CeNYJXpmV6sVkpm26H7lNTHUeWEZP4zywhHyp
19cKmSW73YSsJUe2JDlonF/H8d+7ZaQWFaHoSK7cSAZzKla3W14AK1d6zE606m44U9z6VvcjisP9
+7oR7xxJ+xBunzFt163d29G4ApALOaaSLO1VgtWud+htg9Pni1Opq9mxJnZ3O9m9fFf/AFBLAwQU
AAIACABjenpJUsTcRucFAACoTwAALAAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3It
NC1zdGRlcnIudHh0VVQJAANqGDpYahg6WHV4CwABBPUBAAAEFAAAAO2cUW/iOBCA33niJ1j7siBt
pSSEEHhrYXtCOh1c2733kJg212BzTmivL/vbz04gcYjtwJZq96R5qCqcGY9n/M04kNjz2c09Zi+Y
TSZ0i8ns5g7/s8NpNg1IiJMER51vJOYt89nNLMiCVZBinSS6Qt1ObxPEpI8USiElBIdZTMk0oSmO
bhndTJMYk0woop7tWqOB643s8dj2bK+vMhyTF/qMF1vMAtHRNYkeWEDSIO/2Id5g1ut35hd2Seov
2stPS1+WmEQxecxd4tKSE4479sy6RRwUWvogUoPrtzHjvul1nwISJfjwuQxiygfw8IQZRgH/s92R
PxyPh0MHbQvXhA+33Axlb9wJnOCs7OMQnsqlB1q6q5Q0XFWMuNHU66Oe9e9ovV4PfcdeDSKrb2Ru
73Ju7BKR8SzXsfwyMud1taTbLZ/ugKByFr8gQl9RZrLRNurpjjGeQ6UlgwIXWVO22WsUUSn1iuyN
VkrNYrpugvCZD+meo4A793/+HmdCSm6dTB5xtmBfU66YxOnToYc5WVNu4JAC3JJGvWkI5U38E1rH
CUafu58RH2wUp88GT6M4mjWHLPEXitRrKKom9HsbhLaXQ6hLg8NIShtccCEXm8mE7asO3WyFZKQQ
oaTey/0uDHGa8qFcobCYT8TtpWIi41QuKPbYsUSHZVc8dNsgC5++vpSlt/ImGIysfi3jRWHUOZcX
TSmHUa/LY+N6lm0PBtxusxYbAt2a7DiPs652N6rrpfLdcT8+3yUbH5bvgqgq22uRFTOlS30R3Fo+
ck17YK0sPBSovLMMGFN4cWT6MjPq2O7PjHawskS0td3wmLHsryKVp3wQj1ha55sEVrzzosZwkGGd
bp6g8r2G7/viXkMz7yv8GBNJfV6fih+9OdPwcmzNeGdRkHFmQa3GKX3gZqYiaGJ5qahEr3H2VJbT
2n2p56LqPhZVlU7McDiyrMgbOv7A8QYhLqrfiRNbeCs15MNUBKSxLnzbPrIgwn9gHOHolPXAH3q8
DOFXRfuvd+N55qolfdvIc2Gx+ptPVVG3rvjqhLr9RpwbknmYq488s3e8mF1HUUN1z9lSug6KoFgp
isWTLwgpZTrVhV6iTLkqyWrQu751As0LUtRNXTVV4q+/2Ejvllwy/B7QlNUsRYeVtaGgWUxUuR9E
oqSgxf2hvM9naGjbtu95Q88y34csdfbPDAbqhUGSrPhY++aFnNucqqZFsxoqZWtDUQnJYLyfu0OK
tOEmp1KjzRzPUsxwD1aKmFEqE9b4NfROLNKcHZb/735BNI8eSvPJLOhx+Wrf0gsOKRO/8jzjN00n
g9FY2wkH94QeXNf1T4J4eV6sZWT1AC519VG6JoMh3b7sv8ies9ZHCvyAWWAWmAVmgVlgFpgFZoFZ
YBaYBWaBWWAWmAVmgVlgFpgFZoFZYBaYBWY/jNnqiW8btfVnw4pWczQlQeNbG6WQmV7pOXT5RkyY
fy4el3KSEFdlbxP0qfupU4iKV0hWcf6yBkroK2Y5TeIVzYBEaLfdVi0ngbQ43/nTYDI8Za9drc1Z
3jKZpDj7DWd3ON0lmfR2TZ43FwPvYCykhId+h293pHjtp5fRwlQTNZ7ZnE98ybcHal22Adywr75g
nsm6rB6SIzkzzPOasKYInmq5wnP+o36dBuncOJ/HAoAqoAqoAqqAKqAKqAKqgCqgCqgeofqTX8aG
HwPgx4B3FNggehEb0aGYQjH9ldZ9wBKwBCwBS8ASsAQs/2dYXmCHKd1s4qy+2/o1TpJp3m7e0/4O
g637WI/N1/axNi62bN0sfDQdZnXsrOn4nMMGVqWSbhOrWfi84UqbWJXdnhKNs3avqqzUD7qyHMt/
zxFfur2wKgwae2EVCCtH3dXILNj1irIW2Nex2GR7OITi1ztb4SgqUvVQHDQhnNlXnes1r2S1gyyK
oOSHT3SNZwU1j2I7OiKDbutHlFiO7x8d7NA4aY0LuZYWCeOJbfWuN8HbCuft832xObJjj53T7RSn
u50fjtq07CPS7fwHUEsDBBQAAgAIAGN6ekkt1YjpsgUAAHsuAAA0ABwAc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2N1cnNvci01LXByaXZhdGUtc3RkZXJyLnR4dFVUCQADahg6WGoYOlh1eAsAAQT1
AQAABBQAAADtWk1zozgQveeUn8DRrtpUAcYY+5bAeMu1tWNXktm7DHLCBiMv4Hhy2d++zbcEksCO
s5mp8SEHo251q/VeqxX1wrl7wNErjmYzssOhc3eP/9njOLFR6OIgwN7Vt9CHLwvnzkEJWqMYiySV
G+X6arBFfjhUOEouCUPsJj4J7YDE2JtHZGsHPg6TVFEZaIY6GRnmRJtONVMzhzzDfvhKXvByhyOU
TnQbeo8RCmOUTfvob3E0GF4t6iV5haZd2V7h0PPDp8wFsEsZ1Y2pKdfN/ZZrfXAQiWTpcz8CS5Qv
bupvaxKeL/+2vg2GykD9PtlsNmNL15Cmq0NwDATmYJFEbxAfHOAEl/KZ3zBcR+uRVJHkSkpGOR52
OLgeeZmD4sg9o9ALsJMZ6xYrfldIi8Gvx2ccYQXBn2ZMLFM1dNVSdjmero6bakV2O9hrFCrVhv6m
hOSgJDIbXV7b+ygCOlWWJAogsiHRttDIo1Lp5Rj01lzNfLvukPsCLj0AFGTR9HzPact/CETXmllC
lIvB0pPKBgguaQrOZlHBRbLdpZIeR4SE7CwPe9fFcQyu3ChuHkwF7MVpFP2YThTaVFfTCaupPD/e
ocR9/vJapUCKcKOJOmTolqYL0eKyVEIRSBlcQ2wMU9W00QjsDlsZShLoTqbhLM6ijNbKmucim258
PNkoGx9GthRRNdWYyKY7JeJdGlyaRammNtroaDROoSLl4LKhe54t0TXjM8OF1qp03XGCouSvnIs2
OPGEqQOzDaEasJCVIowSLNLNGEYXAZZlQRFwarki2vA1fvJDSn7BbuGfeAt5ATTor22td9USZ4DJ
eDodj/UKJuLsvKTTUr/cXLtD/QAP7HT7wJpSlnCwXwc/ea4yM1NqmoZSl6ZKnTRTrLkTVfXMsW6N
dHPk4jyR9oRYfhZRHzI3GzjiHjHfdk8R8vBXjD3s9TlarLEJGQ0fON9POHKokj3jwXL9NwQnTzo3
cLQo18PWylqS2cLqn8DqfbKMbj2vpVrs7Ioa/2TFNNVC9olJJFJdiiUqVtU8YqJsWGqP8C3DnBoi
wnDjLR5sMbhj8yS3uLasIH+VabylIMhcPLAhL80ayvKhZPDCUcajsWFOLR2wnc9ET8OsC7S/4gM1
I2TbbpUv3/04zR5tlxmQHCI/oXUf0lwgzZmQ5FaimBy5QcrARUGwhlUM5ScZ2LR5UBEkYa4s4wpP
iAbr+7lQ0raLAjS9W9/k8azEJEVIJSKHd5VEBKjOr0v36dnAQ1G/YeySSGgBIMsIMBPUg31wuTou
fDQKxZhaidIwNUbvNXUQFrerY84wj4OoCwwvMLzA8ALDCwxPhmFdEncBkS2eOV/l0aQEpTfXSkgO
SKpQFwCGNCUoxOTfZzPBAFzfOCB7RcEez0n0B37rBbPl8aHpBzXJJYUZZXa0WHGMk99xco/jfZBQ
988X/JbfWc8CSw655/sw/7eF4OLl0CngA6Y45s5YxsolIdwX9pVhZZCQPFJtHsGdAciHz3l3pLNi
Fzm9xtq53+UoZEQl+GbE5CR1euT1M54cfUjpnBaQfsRsIrBJTUewoz/IWXAB3AVwlxr4UgP/ajUw
c3Z3YbF10PMH5GFlZcX71ZCT43PBCAsg5HOEOIVxIaaUBc856uHFqQHqB76FtAJrCnxabfyDFJcX
zF8w/79h/gzvaGS79RP2EfPgB4GdfZc/zr7DYOdrXdM881rXGux4DMrXKGu0bC5W1s9VPtNxlURP
dRJh4dNarlQ9wUkf0+Z+6MfPfV/TuN70CeJRz2g8K2wvqKqr1ultID9Jn4bNw3LriZDDQ24MrwUy
UAOuSdTB2I2fvj2WLSEcP6ikw2m0SNWLZHW7gQTINHLYBVrLJg1m5jghO1nDq6AJ+GhputMks0j1
HKm6ZTW6NVo9zSBkqMK9lPZGs1Nv0dsaZ98XRapr2NGmen87eR/11X9QSwMEFAACAAgAY3p6SZkD
QxfsBQAAry8AACwAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTUtc3RkZXJyLnR4
dFVUCQADahg6WGoYOlh1eAsAAQT1AQAABBQAAADtWs1z6jYQv+fEn6B5lwczLzM2GGO4JfDSYaZT
aD5694dI3BiL2ualufRv70rGtoQl2QTSpC2HTMbSfki7v13tIs1n13c4+YGTyYRscDy7vsV/bHGa
Td3Yx1GEg4uHOISR+ex65mau56ZYRYkuUedifmJ53bUbxj0kYfJJHGM/C0k8jUiKg5uErKdRiOOM
MqKuaRmjgWWPzPHYtE27J1Mcxj/IM15scOJSQVdxcJ+4ceoysffhGifdHr+lYMc5LXUvcRyE8SNb
AujllPatsa3nzdct4VJvmmiWehMmYF4175MbBxEuvstNp7CA+yecYOTCn2mNnOF4PBz20SbfGt3D
DaghyStsAkc4K2UUHq+2dE/K7UopNbOSFdeGuj3UNf4crVarodM3vUFg9LQY2W2ZKTuFZWzD6htO
aZnDRC3JZgPudmNUevEbiskLynQ6mlY93SYJYL7UpGEAkhVJ1juO3ColXx5tgSflzN117frPsKQ7
gAK+uPv15zCjVPzoZPKIs0XyPQXGKEyfCgnzeEVAQRECoEnBXleE2BB8oVUYYfS18xXBYoMwfdbs
NAiDWX3JHP58Gno1RplD/2oCoWkzEKrCoFhJqQMIF3y+m0ySXeIj6w2lDCQkJBal3G19H6cpLOUS
+bk/EehLqSPDlE8o5rhvUIGlKDDdxs38p+8/ylRZ7cYdjIyeEPE0N6s2x/I2F8Oo2wHbWLZhmoMB
6O3VjgONoRuDHTM7q46PWnY9Vbz3rfePd07Hu8U7RVQV7YJlqadUoU+NK8QjcJoDwzPwkELlyDSg
DeHFnurTeLRvWh9pbdczqLWVYsBmSfZbHspTWMQj5s75OgIrvENSS7CbYRUvC1C+1nAch9YaCr97
+DGMOfa56Iq3FlMKvOxr01YWOTIOTKjVOrkPUDOlRqPHS4VK9BJmT2U6FepI20JV3YmqTEc97I8M
I7CHfWfQtwc+zrNfS8fmu+UG2DIlBqmdCw+bx8QN8C8YBzhocx44QxvSEH6RjH++wvPAU4vrDlgs
LLzfwVV53rqE0wl1ejU71yiZmatPiOwtJLOrIKix7nC25OY/mJFma8hAKUlUrAs1RenjyquClS3H
aGG+RZwHqip8pfZWT9bw1OA8TcNYp1XkviKV1xgU2UsGNjegGEaLuyKfzGdoaJqmY9tD29AffEuV
/gONgbq+G0UerLWnPzlA51TmFkX6ldIKS5ER8cA4HndFiDTBjQ+l2pjeniWZ5tAvSfRQKgNW2/fc
0lMBsJOw/51viDDroZQ5M0ePBcdLgxTsk4T+rPCMXxVCBqOxUggAt4UEy7KcViBeHmZrHrJqAC5V
+ZGb44HBnZe7zumQwyWQwO+M2TNmz5g9Y/aM2U+I2aoKbkKtWC9LRvXW5Ai1rVNJpEcvV5uXbanP
vvMSEpCEgDV5naAvnS8XOSnt47yQdUwoIi84YWiiv5NC24W2m0010gpIi8M33w5Mms5DmBV8xkag
ecbZTzi7xek2yrgWl8XNyYAndFJ5jN9s4/yHF0U3NeMywXuIOKQRLGzlkxiQsy0Vo25GckvVIwUS
E4QXPmVDyCfHpvAL9vYuHdejUCDV4Fsg04eh4JGjDxL6i9DRB8nQchqEPMTbFAfXEfFuwmgnMm0V
8LO3Gbtd0O+jez/sZwq0fJKT5AzmM5j/M2A+l/LnUv7fVsoLBUoTcGvVjHxCb1aRVu2vPTo9mOcC
sQJGosT36QDep2eYv9W+7bA711ap+wQf1j98kgL8/xsyZ6j+c4nZJ+t1mImXri9hFE3ZuP5q+wiF
jbeL++qF28XaZMOFWr5H3RvU/c3qXtEV14pSJtXVop74sOVyV4tSsW2scdCdokyL+N7V6BvOMS9z
VTeUMhjUbiglEJauuqOggaLJI0kD2Fchvfos3qJ8vicWe1bhsofkvQndzC7rXK0gkwnvWXKjsDco
dTNAJbwpJvhHMWyUe5Rk9KE5FIOs9rYaiCxD6X3tG21R9Np99TAbn+/yyp4eE4r+1nry99zax5L1
5/CHUf8NUEsDBBQAAgAIAGR6ekkQplZ6tQUAAB0vAAA0ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2N1cnNvci02LXByaXZhdGUtc3RkZXJyLnR4dFVUCQADaxg6WGsYOlh1eAsAAQT1AQAABBQA
AADtWstyozgU3WeVT2BpV02qAGOMvUugPeWamrYrSc9eBjlhgpFH4LizmW8f8bSEHmDHmXRXs8jC
6L50dc7VVaSFd/cA8SvEs1kAUrAGCXRRHEM/DVG8gnEQxk9uhBKo3WiGpU9Glj0xplPTmtpX3+Lw
nz1ceHcepzmb+UIrc4y2bhTCOCX2rps2LedqoYonNxGcH0mh3xrDYAvCeKhxRltNDShLxmRqDq8E
NsL4Fb3A5Q5ikBm6jYNHDOIE5GYfwy3EgyGdBrSDsXd3D4mdJHVB7MMogoHIslgyi+zi9uQpQoqJ
zUNMPFGx+FkWOSOiWP7lvg2G2kD/PtlsNmPHNIBh6sNionPiEeE3AiAYwRRW8lUejtB4RDXUhJKK
UUGELQGuR0EeoDxzzyAOIujlztrFyt81jhIS1+MzxFAD5M+wJo6tW6buaLuCflenmVqh3Y6sNYi1
ekF/02J00FKVj7ao3T3GhCy1J4UCEdkgvC01iqzUegUGg7VQs1iuO+C/kJAeCBRU2QzCwOPlPwSi
a8OuICrEYBVJ7YMILmkKzma45CLa7jLJQCCCYtbKw973YZKQUG40v0imRvwlWRbDhK59xtTUM4O1
qSBMdiD1n7+81gWOItxoog8ZumXlQja5vJRQBNIG1yQ3lq0bxmhE/PIVT5HoVqbBPM+yisZtEZci
m2l9PNkoHx9GtgxRR6oxmc1WSsa7LLk0izJNY7QxwWicQUXJwWVD9zJLYhrWZ6YLrHXlvJMU4PSv
gosuCeIJUhtmS0+DIUihTJfraxzHIV2SbOHW8CmMKfUFuxTn9jB/wi2pC0SPtsZ7e1cvcQGYjKfT
8disYSKvzku6LHWrzcdwqB8kAjdbPuJNq3pcsl6HMH2uKzNdlm3b0o6Np3YsmhnW/ImuB/bYdEam
PfJhUUg7QqzYi6gPeZgNHAm3mG+7JwwC+BXCAAZdthZnbJOKBg+C72dsOVRDnvNguf6bJKcoOjdk
a9Guh9zMOMl8YsefhNX7dIlvg4BTLVd2RY1/smJWakn1SRCWqS7lEjWrjjxismw5eof0LeOCGjLC
CPMtH+QY3LJ4ijMaLyupe1UZ5xQklUsENhBkVUNbPlQMXnjaeDS27KljEmwXlmgzzLyI9ld4oCzW
ZVOl8uV7mGTVgw+ZAckBhymt+5DVAmXNJEVuJcvJiQukDXwQRWsyi6F6JyM+XRFUJEVYKMuEIhKi
wfp+LlS0baMATW/umzqftZiiCalF1PCui4gE1cVx6T7bG0Qo6jYMfYSlHghkGQHGwHGwCy5Xp6WP
RqEcUytZGabG6LWmNsLydHXKHhYIENXDsIdhD8Mehj0Mz4bhsSVuAyLbPAu+qrNJCSpPrrWQGpBU
oy4BDGpKUIgpvs9mkgFyfBOA7BVEezhH+A/41glmy9NT0w1qikMKM8qsaDnjBKa/w/QeJvsopc6f
L/CtOLNeBJYCcs/3cfFvC8nBy6NLwAeYOOXMWOXKRzE5L+xrx9ogRUWmeB6RMwMhH7zk2ZGuim3k
DBpzF35Xo5ARVeCbEVOT1OtQ1y+4c3QhpXdeQroRs4nAJjU9yYr+IHtBD7gecH0P3PfAv1oPzOzd
bVjkNnrxgDqtrKx8vRpyanwuGGEJhEKBkKAxLsW0quG5RD+8ODdB3cC3UHZgTYFP641/kOayx3yP
+f8N8xe4R0PbbZiyl5iHMIrc/Lv6cvYdDltv65rumds6brDlMqiYo+oZZXOyqvdc1TWdUEl2VacQ
ll6tFUr1FZzyMm0exmHy3PU2TRhNlySedI0m8sI+b9VN3Tn7PcfP8k7DFWGZuyIU8FCYw2uJDOkB
1wi3MHYTZneP1ZMQQRxU0RE8tMjUy2J1uyEFkHnI4ZZoVb1rlbz1PVmaflCCduzTIt10nMajDO69
OBGydOmSKd+ds6a34G0N8++LsqI1/BhTs7uf4hE3tyzlHK+v/gNQSwMEFAACAAgAZHp6Sf277eHq
BQAAWS8AACwAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTYtc3RkZXJyLnR4dFVU
CQADaxg6WGsYOlh1eAsAAQT1AQAABBQAAADtWs1z6jYQv3PiT9C8y4OZlxkbjDHcEnjpMNMpNB+9
+0MkboxEbfPSXPq3d2VjW8KSbBLSpC2HTMbSfmh3f7taIS3mV7c4/oHj6ZRuMZlf3eA/djhJZy7x
cRThoHNPQhhZzK/mbup6boJVlOgCdTu9jRuSPpIw+ZQQ7KchJbOIJji4julmFoWYpIwR9UzLGA8t
e2xOJqZt2n2Z4pD8oE94ucWxywRdkuAudkniZmLvwg2Oe/3O4sQmcfKCPf2stGWFSRCSh8wkoOaM
GFgTW8+b+0HCpXYi1Zh+HcZgm5r30SVBhIvv0okJLODuEccYufBnWmNnNJmMRgO0zU1jNlyDGhq/
gBE4wmkpo3BPZdIdLc2VUmpmJSuuDfX6qGf8OV6v1yNnYHrDwOhrMbc3OVN2Cs/YhjUwnNIzx4la
0e0Wwu0SVEbxGyL0GaU6HU2rnu3iGHKo1KRhAJI1jTd7jtwrJV+evYEn5czDdeX6T7CkW4AC7tz+
+nOYMip+dDp9wOky/p4AYxQmj4WEBVlTUFCkAGhSsNcVoWwIvtA6jDD62v2KYLFBmDxpLA3CYF5f
Moc/n6VejVEW0L+aQGjaGQhVaVCspNQBhEu+2Eyn8b7q0M2WUQYSEkpEKbc738dJAku5QH4eTwT6
EhbIMOELijkZGExgKQpct3VT//H7j7L0Vta4w7HRFzKeFUaVcVnR5HIY9brgG8s2THM4BL31Wqxx
dGOy48zPqtpdq66nyveB9f75zul4t3xniKqyXfAsi5Qq9ZlzhXwETnNoeAYeMai8sQxoU3h5oPo0
ER2Y1kd62/UM5m2lGPBZnP6Wp/IMFvGAuX2+jsAK71DUYuymWMWbJSjfaziOA73Ga7ssFV48/BAS
jn5BDmuwokwu+fqggNWh8KKtaFFQqxVyH8A/Y05j20uFSvQcpo9lORX6UttCVR+LqkrHIuyPDSOw
RwNnOLCHPs6rX8vA5mZwA9kymy2l5H77ELsB/gXjAAdt9gNnZEMZws+S8c/XeB65a3GnjSwXlt7v
EKq8bl3A7oS6/Zqfa5SZm6tPyOwdFLPLIKix7nG24uY/mJFVa6hACY1VrEs1RRnjKqqCly3HaOG+
JcmTWpXqUn+rJ2t4agie5gBap1XUsKKU1xgUZUkGNjdgGEbL26KeLOZoZJqmY9sj29BvfCuV/iOd
gXq+G0UerLWv3zlA50wWFkWpltIKS5ER8cB4O+6KFGmCG59KtTG9P0syzaZfkuihVCas9txzw3YF
wE6c/e9+QzTzHkqyYObosWB7aZCCfRqznxWe8ItCyHA8UQoB4LaQYFmW0wrEq+N8zUNWDcCVqj5y
czwwuP1yf3I6ZnMJJPA7Y/aM2TNmz5g9Y/YTYrbqgptQK/bLklG9NzlC7dGpJNKjl+vNy2Opn33n
LSQgCQFr/DJFX7pfOjkpO8d5YXZiQhF9xnGGJvY7KRy70G67rUZaAWl5vPHtwKQ5eQizQsyyETg8
4/QnnN7gZBel3BE3y5uTAU84SeU5fr0j+Q8vitPUnKsE7yHimINg4SufEkDOrlSMeinNPVXPFChM
kF74lAdCvjg2pV9wYLt0XI9CgVSDb4FMn4ZCRN68kbBfhN68kYwsp0HIPdklOLiKqHcdRnuRSauE
n7/O2e2S/hDdh2k/V6Dlk+wkZzCfwfyfAfO5lT+38v+2Vl5oUJqAW+tm5BN6t4q06ngd0OnBvBCI
FTASJb5Pd794rSfaoWyh7ScPCT6s0/8krfL/F9xnqP5zJdSnm02Yitejz2EUzbJx/SX0GxQ23gMe
qhfuAWuTDVdfuY2616eHxureuxUXgFIm1SWgnvi45XKXgFKxbbxx1O2fTIv4MtUYGM7rX4t8tocF
qptNGShrN5uShJL6sKuggWbLo3FD6q1DdmVavGGRrIOrHpKXIYx9X3Uu11DJhJcn+TKy1yJ1xdCz
bnUvexWPqo+m5p/GZBq5p0nGAI6IYgLXXlgDkWUoY6l9qS2K3rgvHs7GF/uadaDHhNa/tZ78VXfn
b1BLAwQUAAIACABkenpJQjJE8J4FAAAGKQAANAAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9j
dXJzb3ItNy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA2sYOlhrGDpYdXgLAAEE9QEAAAQUAAAA7VpL
b6NIEL7nlJ/A0ZZ2JMAYY98SPFlZqx1bSWbvbSgnbDB4AceTy/72LZ7uph/gxFG0kg85pPurrq7q
r6qr3Czmtw+QvEIym8U7iOa39/DPHtLMJZEHYQj+1c8owJHF/HZOMrImKciQ2jft+mqwJUE01ARC
XhxF4GVBHLlhnIJ/l8RbNwwgynJBbWBY+mRk2RNjOjVswx6KFAfRa/wCyx0kJF/oJvIfExKlpFj2
MdhCMhheLc5sErWeX+HdxpYVRH4QPRUmIZoywrSmtlq29INASu7EWGH6XZCgbZRGL1+fW0Rk/b/c
2GCoDfRfk81mM3ZMgximPixdcYca4+QN7YEQMqjxtaeO1j3GjeVCpGJWsMOODa5HfrFBueeeSeSH
MC+UdcOq/xumpbivx2dIQCP4Z1gTx9YtU3e0XXn+V6cttYp3Ozx5EmnNgf6mRfFBy1Q6unbt7pME
w6nRpBBAyCZOtpVE6ZVGrgxkfy2ULI/rlngvuKUHpILKm37gz3n8p1B0bdg1RYUcrHfS6EDgkg76
2Sypoj/e7nKkL4DEEbvKw97zIE1xK980r3SmhvrS3ItBSge2MTX1fMFmKT9IdyTznr+/NimQCrjR
RB8y4ZYnKJlxRfKiAkgbXKNvLFs3jNEI9fI5UeHozkiDws+yHMpluXMFm2l9frBROj4t2HJGHUON
8Wx+UrK4y51LR1EuaYw2JhmNc6ooY3DZkj3PkZiG9ZXuImtdaXeakST7q4xFFzfxBNSFyVPoSFjM
SgmQDGSyRYTRl7bjOHhpv7dckR34Gp6CiMIv2CP8E7aYF1CCHuWlPlRLnIEm4+l0PDYbmsiz85JO
S/1y83E71D+4Azc/PtSm1SUXntchyJ6bzMyUmralHUtT7Zg0c655E1337bHpjEx75EGZSHtSrLyL
qIFimy0eCa+Yn7unhPjwA8AHv8/V4oxtzGhwEIy/48qhSvYiDpbrv9E5ZdL5hleLdj3kLOOQhWHH
fzGq99kyufF9TrQ62RU1/8WCearF7JPGiUx0KUc0UXWMI8bLlqP3cN8yKkNDFjBCf8snuQjuODxF
F8djJfmrTuOcgCRzichG/DxraMuHOoIXc208Glv21DGR2+VK9DKMXSj9Aw7Uiphtu0W+/wrSPHvw
W2ZIckiCjJZ9yHOBMmdiklvJfHLiAWkDj4ThGq0Yqm8y1OmKqCJJwkIssxURiCbrx2OhDtuuEKDD
mxtT+7OBKYqQBqKmd5NEJKwu26X7/G4QsajfNHhxItWAlGUAzALHyT68XJ3mPpqFck6tZGmYmqPP
mroIq+7qlDvMFzDqQsMLDS80vNDwQsN30/BYEncRkS2eBaNqb1JAZefagNSEpAp1CWHiNoJiTDk+
m0kmsH0TkOyVhHu4i5M/4K0XzZanu6Yf1RRNCjPLnGhlcQrZ75DdQ7oPM6r/fIG3smc9Cy0Zt3kh
EGm/5eaT5+ouaxux68c6H89qH5X9+CCLSwt5/mOtj0EDZ+35WjZ1tnwCH0jnOvqJNlzR73HQjnav
jZd1e2KcgBK9GqqP2X9SOyU4Blk3JYByzZSCBZcS5FKCXEoQYQru4iKXr8UTareyWPl5tXBqfi4Y
sIRCgQAkqEsqmFbfW+coRxbvdVA/8i2UF2kb8GWlyRmu93i7DTL29/RDEIZuMa5+J/iAws4qoq2e
KSO4yY57tLRR9c1P21jVpwV1CSEUktURCrD0V95SqPk1WPm77l0QBelz3x92hbvp48STShCRFvYz
It3Unfe/SP5PngxdEZe5AksQh0IfXksweB+u46QjYjdBXrrVr5OCfVBJR/Dml4tXyepmgwmQeVN0
K7bW74XMymkW7+oJ+mGyGKWeqHXTcVqPe9wnawiydKm/lZ++sUtvydsaivFFlY5aeoyp2V9P+Zmc
8tsX/hO/09D/AVBLAwQUAAIACABkenpJZsfFNsoFAABuKgAALAAcAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9jdXJzb3ItNy1zdGRlcnIudHh0VVQJAANrGDpYaxg6WHV4CwABBPUBAAAEFAAAAO1a
zW/qOBC/98SfYL3LA+lVSkIIgVsLryuk1cK2fXsPydBmG2I2Ce32sn/7jhNInPgj0FK1Bw5VFXs+
7JnfjGewZ9PrO0ieIRmPAy/zll4KExrH4GchjRcQB2H8MIloCuSSmLYx7NvO0ByNLHvkXPyKw3+2
MJteTwXO8diXSrlJ6HoShRBnKK/TlGm7FzPdenIRwdtXUvC3rqG79sK4RwShraK6nCRzOLJ6FxIZ
YfxMn2C+gcRjgq7i4D7x4tTLxd6Ha0i6Pd4MdAPx9PoWUE6aTbzYhyiCQCZZTslWdnJ5ahNRzcZu
wgQ1qXkfvTiIYP9dmihFlfePkADx8M+0h+5gNBoMLLIpkMV2d4NqaPKKqIEIslLGfvMVHu5piS8p
pWZWsmJhqNsjXePf4Wq1GriWuewHRk9rrt2Wc2WnsIxj2JbhlpY5TtSCbjboYC8mpRd/kJi+kEyn
o23Vk22SYISUmjQMSLKiyXrHUVil5CuAFyylnIW7rj3/CZd0h1CAi7s/fw8zRsWPjscPkM2Tnyky
RmH6uJcwi1cUFexzDmpSsIuKSD6EX2QVRkC+d74TXGwQpk+anQZhMBWXzOHPZwlGYJQ59L82EJpO
DkJVGOxXUupAwjkf+uNxsssBdL1hlIGEhMZ1KXdb34c0xaVcEr/wJ0F9KXNkmPI51xxZBhNYikLT
bbzMf/z5XCbWajdef2j0ahHP0pRqc3kK42KYdDtoG9sxTLPfR71iptUYujXYIbezKpMKR9Op4t2y
Pz7eOR0fFu8MUVW01yzLPKUKfWbcWjwip9k3lgYMGFTemQa0ITxvqD6NRy3T/kxre0uDWVspBm2W
ZH8VoTzBRTwAd863lGIJeBmoeIVyzHVdLO5Ufl/CQxhz7LO6K95aeinw0tSmrSwKZByZUKt1ch+o
ZsKMxo6XCpXkJcwey3TK51LHsUlVpZIq0zEP+0PDCJyB5fYtp+9Dkf0OdGyxW24gX6bEIMK58Gvz
kHgB/AEQQHDIeeAOHExD8CIZ/3qF55GnFtdL5LEwX/6Nriry1iWeTqTTE+wsUOZmrj4xsreYzK6C
QGDd4WzBzX8yI8vWmIFSmqhY52qK0seVV2tWtl3jAPPN4yJQVeErtbd6UsBTi/M07aVIq8h9+1Qu
MCiylwxsXsAwTOZ3+3wym5KBaZqu4wwcQ3/wLVT6jzQG6fpeFC1xrT39yYE6JzK3KNKvlLa2FBkR
D4z3424fIm1w40NJGNPbsyTTHPoliR5KZcBq+55bdiogdpL8f+cHobn1SJo7s0CPjcdLixTwacJ+
SHiCV4WQ/nCkFILAPUCCrf8ppwLx4jhb85BVA3Chyo/cHA8M7rzcdU7HHC6BBH5nzJ4xe8bsGbNn
zH5BzFZVcBtq6/WyZFRvTY5Q2zqVRHr0crV52Zb6+XdRQiKSCLImr2PyrfPtoiBlfdwyzDsmEtEX
SHI0sd9Jse0i282mGjkISPPjN38YmDSdR2225rN8BJtnyH6D7BbSbZRxLW4eNycDXq2T8iPwlE3U
hE2eqmXc79GnMXp8CzfbuGj5uxktdigiHBMKhgWctJFr7Km1j5PYQDnX0rg0yTVNnEDa0sM16VUt
XIMOQSLJxo5jH9i6vc8ARzVuEj+o+jYJqdC2aWBwLknOJcm5JHkTZmsJuw24QnaXT+jNWqdV+6tB
pwfzrEasgFFd4sdUMh9T+8zeat/DsDvTntpNgk+rg05QS9D1Oszqv8i/hFE0ycf19x7vUNhasjTV
12oWYbLlzC72qHvO1Nys7onFvl6RMqmKFj3xccvlihep2EOscVTdItNSfy9mWIb7nkdeqjJIBgOh
DpJAWLrqjoIGT6IlTVrAvgpZhbW/qPx6928Nq3DZQ3IZyTazyzpXK8xktcvOwij5BWVH+55EfDx3
NDV/6Uo39Utvw3LdxlWh8AATiWxDCSDtQ8666LX3uoR8fLZLTQ09JhZjB+spXkUKbtntsXPxP1BL
AwQUAAIACABkenpJEjN3kJoFAAAGKQAANAAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItOC1wcml2YXRlLXN0ZGVyci50eHRVVAkAA2wYOlhsGDpYdXgLAAEE9QEAAAQUAAAA7VpLb6NI
EL7nlJ/A0ZZ2JMAYY98SPFlZqx1bSWbvbSgnbDB4GxxPLvvbt5uXu+kHOHEUreRDDqGrurqqvvq6
yrCY3z4AfgU8m6U7SOa39/DPHrLcR0kAcQzh1c8kIk8W89s5ytEaZaCSNL4Z11eLM+832KIoGRoS
pSBNEgjyKE38OM0gvMPp1o8jSHKqaAwsx5yMHHdiTaeWa7lDmeEoeU1fYLkDjOhGN0n4iFGSoWLb
x2gLeDBkXQorTb+xvYIkjJKn4gjELmPUdqauXrc8t0RL7XSqOepdhEl4GYsB3V/YRBaHf4Vng6Ex
MH9NNpvN2LMtZNnmsMzuHbGY4jfiD8SQQy1fJ//o3WPaeC6V1KxKTthxwPUoLA6ojtwzSsIY5oWx
brHq/wYZGTnX4zNgMBD5s5yJ55qObXrGrsz/1WlbrdLdjmQeJUaT0N+MJD0Yuc5G16n9PcYE/o0l
jQIR2aR4W2mUUWn0ysIL11LNMl23KHghR3ogUNBFM4zCuSj/KRBdW24NUSkG65M0NojgkuWd2QxX
BJRud1QylIikCb/Lwz4IIMvIUb4ZQRlMg9jLaBSjjC1sa2qbdMNmqzDKdigPnr+/NpTFFNxoYg65
cqMcqXKu4E+mgIzBNYmN45qWNRoRu0OBljWB7qw0KOKsonGB5c5VbLbz+cXG2Pi0YqOIOpYaF1ma
KVXd0eCyVUQ1rdHGRqMxhYq2Bpct3fOkxLacrwwXWptav7Mc4fyvshZ9cognYC5MEUJHwBJWwoBy
UOkWFcZe2p7n0Utbkbg1PEUJo77gU/HeruRP2BJeIHrsbqK1D/USZ4DJeDodj+0GJmp2XrK01I+b
j8dh/iEn8Gn6iDWjbrlIvg5R/twwM9cauo5xbCWNI2lSrAUT0wzdse2NbHcUQEmkPSFW3kXMg+KY
LRxJr5ifuyeMQvgBEELY52rxxi5hNDhInr/jymFa7KIOluu/SXBK0vlGrhbjeih4JkgWjh3/JVW9
z5f4JgwF1SqzK2b9ixUp1RL2yVKsUl2qJZqqOtYRF2XHM3uEb5mUpaEqGGm81YtCBXckTzN1ibIK
3qtpXFBQMJcMbCikrGEsH+oKXsyN8WjsuFPPJtgud2K34fwi2j/gwOzY0KZO5fuvKKPsIR6ZA8kB
Rzmr+0C5QMuZhORWqpicmCBjEKA4XhMvhvqbjNj0ZVBRkLBUljuKTIgF68droS7brhJgy1t4po9n
I6ZpQhoRPbwbElGguhyX7undIENRv2UIUqy0QCDLCXAbHBf74HJ1WvhYFKoxtVLRMLPG5pq5CKvp
6pQ7LJQg6gLDCwwvMLzA8ALDd8Pw2BJ3AZFvniVP9dFkBLWTayOkByTTqCsAk7YlGMSUz2czxQIZ
3yQge0XxHu5S/Ae89YLZ8vTQ9IOaZkjhVrmMVh5nkP8O+T1k+zhn5s8XeCtn1rPAkgtbEANSzls+
XTzXdFn7SKZ+0ueTXO2Tch4f5GnpoYh/0uuTooGzznwtnzpHPkkMlGsd80RbXDPvCaId415bXjXt
yeUkkOg1UH3M/5PGKUkaVNOURFQYpjQouLQglxbk0oJIKbgLiwJfyxf0YeVl1flqyenxueCEFRCK
JEKSvqQSM+p76xztyOK9AeoHvoX2Im0LfFlrcobrPd1uo5z/Pf0QxbFfPNe/J/iAwc4uom2eayOE
xY57tPRR941O21ndpwV1CyFVUvURGmHlr7ylUvNrsPZ33bsoibLnvj/sSk/TJ4gntSAyK/xnRKZt
eu9+tfh/eWXoy7AsNFiSOpTG8FohQ+7DdYo7KnYT0datfjspOQdDOpJ3flS9IqubDSFA7p2iX6FV
94mV4lu71tvKdMe/tzZtz2u98RO+YyNCjqlMgvZ7OH7rLXpbQ/F8UXFUy441tfvbKb+dEwJd+Xhq
nP4DUEsDBBQAAgAIAGR6ekkEzKS9vwUAAHYpAAAsABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2N1cnNvci04LXN0ZGVyci50eHRVVAkAA2wYOlhsGDpYdXgLAAEE9QEAAAQUAAAA7VpBb+o4EL73
xE+w3uWB9ColEELg1sLrCmm1sG3f3kNi2myDzTqh3V72t+/YgcRJbCe0VO2BQ1XFnvHYM998niGZ
z67vMHvGbDKhW0xm17f4nx1O0qlPAhzHOLz4RSIYmc+uZ37qr/wE6yTRJepcdDd+RHpIoRRQQnCQ
RpRMY5rg8IbRzTSOMEm5IurajjUaOO7IHo9t13Z7KsMReaZPeLHFzOcLXZHwnvkk8cWy99EGs27v
Yl4cKdxrTnPbS0zCiDyILYBdyWjfGbtm3WzfZq0PdiI1HP0mYmBJr/vokzDGh+fciQmYvH/EDCMf
/mxn5A3H4+Gwj7aZq/jpbsAMZa/gFBzjNF9DbBamCxfd09x9SknDrGLHtaFuD3Wtf0fr9Xro9e3V
ILR6RnftjyyMncIzruX0LS/3zHFLLel2CwH2Ccqj+AMR+oJSk42mXU93jEEO5ZYMCiCypmyz18i8
kutlwAtXSs0sXNd+8ARbugMo4Iu7P3+PUi4lj04mDzhdsJ8JKMZR8nhYYU7WFAwcUgosadTrhpAY
gie0jmKMvne+I9hsGCVPhpOGUTirb1nCX8BTuaaoCuh/TSC0XQFCXRocdpLbAMGFnPqTCdtzAN1s
uWSoEKGkvMrdLghwksBWLlGQxROBvYQHMkpkgrLHfYsvmC8Frtv6afD48zmn3uI0/mBk9UoZz2lK
dzhBYVIOo24HfOO4lm0PBmC3V2NGg6Mbkx0LP+uYtMbWp8r3vvPx+S7Z+LB854gqsr3kWR4pXepz
55byETTtgbWy8JBD5Z00YEzhRcX0aSLat53P9La/sri3tcuAz1j6V5bKU9jEA5bu+ToCC7wDqTHs
p1inKxJUrl08z4Pa5a1Vlg4vK/wQEUl+TqocrKHJhcwP7UiysCo9wBmn3BH8yiiQhl6i9DGnyFKt
6TqoqE1RwV48asHIskJ32PcGfXcQ4IzRWgYruxSkAbHNSkSUXP9r+8D8EP+BcYjDNhzvDV2gFvyi
GP96xeSRN5HUQQh8L1Z/Q6gyLrqEGwd1ejU/1ySFm4tHyNYdENRVGNZU9zhbSvOfrMgZGFgloUyn
utBL5DEuolrysuNZLdy3IFmi6tJX6W/9ZA1PDcEzNJU1Wc2FVKUlY7l7oPK2i6uA6Ycc72hxd+Ce
+QwNbdv2XHfoWuaLb6mzf6TjUDfw43gFe+2Zbw6wOVWFUEPVStnSVlRCMojej9FDOjVBU0672pjZ
n7mY4dLPRcxQypPb2Pfc8hsEsMPE/84PRIX3UCKCmaHHgauoYRUcUMZ/SHjCr5pFBqOxdhEAbosV
HMfxWoF4eZyvZcjqAbjUcak0JwNDulv3ndMxF1GogN8Zs2fMnjF7xuwZs18Qs0XF3ITacm2tGDV7
UxI0tlm5kBm9Uh2ft7CBeM5KSEASAlX2OkHfOt8uMlHe860i0V2hmL5gJtDEfyeFFg3ttttipBWQ
Fscfvh2YDF1KabYUMzECjTZOf8PpLU52cSq1wyJvTga8UtcVxNjXNlxTPnmq9vJwxoASiPgO3+xI
1qJ0U5qdsI5wIBRIC3zSpq9ypsaeT+ED7VxD41IVNzR8NdGGHq4qr2vhKnIAEgUbu67TsnV7nwOO
atwUcdD1bQrRWttmgMG5JDmXJOeS5E2YLRF2E3Br7K6eMLu1LKuPV0XODOZ5SVgDo/KKH1OlzN/q
iXYomxvv16rAp1UsJ7j16WYTpeXf2V+iOJ6KcfPbjHcYbCwuquZL1UVtsuF2zc5o+jSpetg2vw4r
lXTlhVn4uO1KZYZy2TbeOKrCUFkpfwZl9S3v7a8Sv9obKl35pAJlrX5SJJTShx2NDNxgK8oaUm8d
8crs8DJUsQ+JPRSvGLn6nnWu1sBkpVeY2TbEa8eO8cuP+mdu1X1A2bA9LCO/NRWj0ptoq+95lXd9
tQ/0QMixtNExfuhXXnrjv66wGJ/vWahix4YKqbWd7KPAI/30P1BLAwQUAAIACABkenpJf/GTnPwF
AACSQAAANgAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kYXRlLWJhc2ljLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUCQADbBg6WGwYOlh1eAsAAQT1AQAABBQAAADtW89zqzYQvueUP4GjPdPMAMYY55bY
L6mn02fPS17vMsgOfRhcwPHLpX97V2CDhH6Ak7hNpjr4YGlXu1p9+62QYDa9fcDpM06vr5Mtjqe3
3/BfO5zlExT7OIpwcPE9DqFlNr2dohwtUYZlksaVcXnR26Aw7hsCJT+JY+znYRJPoiTDwV2abCZR
iOOcKBo9yzFHA8cdWeOx5VpuX2Q4jJ+TH3i+xSkiA93EwWOK4gwVwz6GG5z2+hezekrBQXNS2V7g
OAjjdeEC2KWM2s7YVeuWfqu1zhzERDH1uzAFS5QvPvGXG0Tky99cW69v9Myfo9VqNfRsC1m22QfH
QOAOLCbpC8QHRzjHR/nCb+iuo/WYVJEUSip6BR62OLgcBIWD8sg9oTiI8LQw1i52+F8hLQO/Hp9w
ig0EP8sZea7p2KZnbEs8XZw21CLZbmGtUWxUC/qLESd7I1fZaPN6sktTSKfKkkIBRFZJujlolFGp
9EoMBkuhZrlct8j/AS49ABRU0QzCYMrLnwWiS8s9QlSIwaMnlQ0QnNMpeH2dHnIx2WyJZCAQSWJ2
lIed7+MsA1euDL8MpgH2MhLFMKOJwhrbJhmwGioIsy3K/acvzxUFUgk3GJl9Jt0IXcgmV1AJlUBG
7xJi47imZQ0GYLfPMZQi0K2Zhos4yxiNY833SjbbOX+yUTbOlmwEUXWqMZElKyXLOxJcOouIpjVY
2WgwJFBR5uC8ofs+S2Jbzn8ZLrQ0lfPOcpTmf5S5OAEn1pgqmDyEasACK6UY5VimW2QYvQnwPA82
Aa/drsgWfInXYUzJz9gl/B1vgBdAg27ltd60l3gHmAzH4+HQrmAiZ+c5TUvduLl2h/oDHkzI8oE1
47iFg/Xah/lTxczMVtN1jHpratSkSbDmj0wzcIe2N7DdgY9LIu0IsbIWUQ2Fmw0cCUvM9+06RQH+
inGAgy6lxRu6wGh4L2h/RcmhtuxFHsyXf0JwStK5gtJiXPa5mXGSxcTqv5DVu3ye3gQBp3pY2QXV
rxUVikx/lcN11jJr6nhmh8Wax2UiytJTuLryTo4vWqCieGbkZSVseSwanIKEJ0XQRgHhKGP+cOSL
2dQYDoaOO/ZsyKRyJHoYZl6g/RXvqRGB29tVvvwMM8JVvMsMQPZpmNO6D4R5lAwNlLqQxeTEBTJ6
PoqiJcyir66bYHMigoqE8oWyjCsiIRqsb8+FY+a1pQCdoVybOp6VmGLLU4mo4V3xgATV5cPZN1KJ
RCjq1o39JJVaAMgyAswAdWcXXC5OCx+NQjmmpExJ9dFrTZXdw7PcKRUzECBKw1DDUMNQw1DDUMNQ
w1DDUMNQw1DDUMPws8PQTzabMGcPCPdhFE2KdvXB5xsMtp5NNc0zZ1NcZ8vRRzlH1UsMzcmq7kqP
h1JCJdnBlEJYepBUKlUHTsqjo7swDrOnrmdHQm+6BPGkQyORFfY9C9M2vbe8ESI7ghKhhzuCEiBf
6PWlRAZSepmkLTmyCsnZ1vGC4+Pd2zSiQpEOO+tcEUzxBQgjApyGlhEgtC3xK8HG6gk9AVPAquQW
GP4+YyNX05XiHmONc9kp/T3OD7VFK1FK7PUWgfmhjN2scpwy12eTA4813xESrrWSVUQaPKvYA9MR
sQqOoWWHW3mvO/+8qhyeeHEn4biS8H8lmQ+pLL0R/1iEIx+xyGDElLTG1fh738QfyvhNq2H6rbau
cVftBbjL/LZCqjApAr/nqDcBiuH+3Vz4LNisN043Z0OpevMFHhxN8+CUEERxmdiyBypkuO1NU/ON
766ef9/yqgeR9bGctW1J1nTd4xvVK1fLycNAyai5qq7AEmpZNwSY0v6Moh2+S9Lf8EsnsN+fOsVu
D8rMNqIJyHvRolQFMyO92S7KYcA83fn5DlZ6EiUx/kBP1BpXGlcaVxpXGlcaVxpXGlcaVxpXGlcf
H1f6JuwT3IT9f263PssXPh/3rq31dovpzfJkq/rcWfIJeOPLoWIM6hsy0/a8xtc33DfqIOSY0ggr
v3Vnh96glyUu2mcHUmnYscZ2dzvld/HvFad/AFBLAwQUAAIACABlenpJtL+aqAsGAABbQgAALgAc
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kYXRlLWJhc2ljLXN0ZGVyci50eHRVVAkAA20YOlht
GDpYdXgLAAEE9QEAAAQUAAAA7Vxfc6M2EH/Pkz+C3s6eucwAxhj7LXEuV8906vSS6zuGtUODwQWc
9F762bsCAwIkYS5Jz9fRQyaD2H/a/e2ukMDLm+t7iJ8hns+jPYQ311/grwMk6cIJXQgC8C6+hj6O
LG+ub5zUWTsJiCjJJRlcLCt53pF+EYUhuKkfhXcQen64XQRRAkitm9p0bFpTfTYzzJnV1lRxzucu
V8ptHO0WgQ9hSrU3ZZq23J5MhPf9luT8nTYMd44fjgjHkR2ihowkfTozRrxg+OFz9ASrPcQOFXQV
eg+xEyZOJvbB30E8HLFueJMwi6cUSQy59WPUJOZ9dEIvgOK6nFKCKh8eIQbi4J9uTu3JbDaZGGSf
I4HO7hbVRPE3jDIEkJYyCkxW8XuISjxwKSV3ORa3hoYjMtT+nm42m4lt6Ouxp42k7jpOOVP2Fp6x
NNPQ7NIz/UTdRfs9BtgJSRnFjySMXkgq09Fl9eIQx4joUpOEAUk2Ubw7cuReKfly4HlrLmcermvH
fUKT7hEKcHH/+69+SqnY0fl8C+kq/pQgY+Anj4WEZbiJUEFRI1CTgL2tiGRDeEU2fgDkw+ADQWM9
P3mSzNTzvZu2yQz+XFoQWoy8gP7TBULdykAoSoPCklIHEq7Y1J/P42MNiHZ7SulxSKKwLuX+4LqQ
JGjKJXHzeBLUl9BA+glbI/WZoVGBpSh03d5J3cdPz2UhrGbjjKfaqJbxtEyJJpeVMCaHyXCAvjEt
TdfHY9TbrowSR3cmO2R+FlXSVit5q3w3zPfPd0bHu+U7RVSV7TXP0kiJUp86t5aPyKmPtbUGEwqV
V5YBaQqvGqrfJqKGbv5IbztrjXpbKAZ9Fqd/5Km8QCO2wPT5jqVTDE4KIt7W8sm2bd5i7MQ1jwgv
a9j6IUO/DE9pG00u6coiR0bPglpZyFygmgV1Gm0vFSrJi58+luWUraWWZZJqVUmqSkcj7E41zbMm
hj02rLELefU7MbD5bJmBzEyOQ1p94et+Gzse/AbggXdKP7AnFpYheOGMn9/Cs2fXYtb+WS6s1n9i
qPK6dYndiQxGLT+3KDM3V5eY2QcsZlee12I94uyOua8YJYy1+yWiKgzVYmra2gnBWoV5WRAVC250
xTdb6O2AiuThs00rqJhF42gxCGolD9qORzOGrO6L6rW8IRNd123LmliavM3eifT3dAYZuk4QrNHW
kbxPoc4FLyyCYs+lrZnCI2KB8XrcFSjvghubDa0xuT9LMskSoySRQ6nMOelT1hfagxA7cfZ/8JFE
mfdIkgUzR4+JzaxDCrhRTLctnuCbQMh4OhMKQeCeIMGUb/RUIL7r52sWsmIACksYc48FBtOdj89p
fVqZx4GfwqzCrMKswqzCrMKswqzCrMKswqzCrMKswuyZY9aNdjs/rW9NvvhBsMjG5RvAr1DYuSvW
VF/bFWvd7NgIyucoew+jOVnZWXOxHcZlEm2JyYn7mctsiXHFnuKNXnthPC31F100Q7Nf83aKaGeN
B4PWzhoHwlyrBwIazM11FHeAfePTLbvixOb8DiIaXmGqR33WqcSZ/BOdGgkUR6ZdGVwSNqLHtQRV
YXmkZ9F4+QwkldcdyVHIFlLRRv9nSPMuophYpvp5HYX5sR9dbVKIa+eBebpkZ3i1l6W4sZZWFR4H
5/W5sWbyqgqEOHKAzrp3ev35rr7W8+xPUONu/RD98AvNfExl4cH6eRUcscQsg50UxCfsb32gf+zH
V52Kex7t944RH4SNZioRxUsA25QvBCTi/tt8+FnwWS2ert4NqfIFGFpQqG7oExeJe/puRsc6KKNp
LXGanOf49u7rnyq2RUvrWpZs2d7XHpRHrqITu4GhkderqguLX1GrPfXKHsEns65CcdfUeuJUT3v6
rS0pmsD8zAtO2TwTejc5BCkKTOODmx4w4osgCuGMHpMVvhS+FL4UvhS+FL4UvhS+FL4UvhS+/j/4
Usdg6hjsRx+Dnd22zE93KNfjGAyL677+sZlm2HbjE53WDxUgkakJXSP9wYO66J3zbQ3Z+PJYAhp6
9Jlxup781wOkH8G2v/jvTV1z7dF/A/GNfwFQSwMEFAACAAgAZXp6STZ6yLV2BQAAVi4AADwAHABz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtMS1wcml2YXRlLXN0ZGVyci50
eHRVVAkAA20YOlhtGDpYdXgLAAEE9QEAAAQUAAAA7VpJc+I4FL7nlJ/gI1R1qrxhBLcEOtUcpkl1
0n2XbZGoG2TGdkLnMr99JG9I1mIgJD015UMO2G/TW74nv5fF/OYepS8onU5jmMMQZmiWEIKiHCfk
DpEYk8fZOsmQdWU5vj32/GDsTCauPwkuvhP89zNazG/mEud0Giml3KbJZrbGiORU3mVbpg8uFiZ7
ChHx6ZaU/J02DDYQk6ElCe0UNeAkOeOJO7xQyMDkJfmFlluUQibomsQPKSQZLMQ+4A1KB0PeDckW
kfnNN0TlZPkMkgit1yhWSVZTMsvOLk/vosRwsFucUk2cLRHzoiREZcs/0rPB0BrYv8er1WoEXAc6
rj0sD3pLNSbpK00gtEY5qulrP+xT4yFpUk1JaXirsLDDwNCLCwP1nnuCJF6jeaGsm6z63eRRRu16
eEIpsiD9c/wxCGzftYG1Lcvv4jhRd8l2S2MNidUE9JNFkp2Vm3R0WT17TlNaLI0mAwMlWSXppuIo
vdLwlTkYh0rOMlw3MPpFTbqnqWDyZozjuUz/LikaOkGdosocrC1pdFDCJV+C02la1WKy2TLKWEGS
EFHK/XMUoSyjplxZUelMi+rLmBdxxmOfM3FtJrARFeNsC/Po6fNLA3BcwXljeyiUG4ML3eEKKOEK
yBpcUt/4ge04nkf1yohncHRnpaHCzzpEk1rEuYrN9d+/2Dgd71ZsLKP2pSZ4lkVKV3fMuXwVMU7H
W7nQG7FUMdbgssV7npC4jv8n3QVD23juLIdp/qOsxRk14hFxDbPjTpMimCMdr3SvAQDQW5IucCF6
xIRjX4ihOPUO8xfaUFygfLw0Wdub7hJnSJPRZDIauU2a6NF5ycPSYdi8N4f7QS2YsfBRbVZ9x6Xx
2uH8qUFmHpaDwLf2F09rD5os16KxbcfByAWeG3gRKoH0wBQrexH3oDCzlUfKFvN9+5jCGH1FKEbx
Ia0FjAKKaGineH5Cy+Eu5EUdLMOf1Dkl6FzR1mJdDqWTSZTFwfY/aVU/58v0Oo4l1iqyd7r3TZru
E1Mw2wf2AfYsSZlrugxUHkD/UiqJDm8YPnpkWg2Q1LgoMWigQBU9GLMytJb3dUks5tbIG/nBBLg0
WUpJvBjhXJT7K9pxEhscMrF8/o0zVo6yyUKC7FKc87z3rLiMIERR407nkyMDZA0iuF6H9BRDc2ug
OmeqVNGgmpJWMEVFxCfr22uhrryuEuArVHpm9mdDZujqDYk5vRsc0GR1+f3xjYGtKosOe42iJNVq
oCkrEAgC9i8Pycu749zHZ6E+p7RIyb3jY811lupz5ZimECsy6jRITjYbnIsNZofX61nx3Nw436Cw
E/jb6gXgl1524Ep5RtOIq31Y07d2jfhKJh3qG4i1KF0yNWhuxOVbTHD2dCgwK605xIlHIbJKizh6
tF0bvGVeqMN3VfZI+K7IfKXVlxoaWtJhknbUyAqzxlFfkP979/6WVzjQOetYsXWbZl6pUO96laNU
uK3PqrQ/YCT5xwaLHzv00/KSJMer130YsuVKcKVYbWw8rwsbi4jA2uTAXpuaRvEhxC8XbB98sqqv
CdoftCTHfe0d+fGkwYkSNL+wiNGgaqcSrfLnFXLbDzAGAIjzeT+Uvt2ktRLwxyNtVMzrKVH0Br6G
qHi+qJprW4/tH66n3PUYfadLmKMdrO4+rW5iEKVYaXnAN3dCg7hzLLD6veKH7BUr/Cvhp17ateQu
y/apBC5Bh+OeHPlzZIyppI6/dr/nRaPfaPUbrX6j1W+0+o1Wv9HqN1r9RuvEjZZ4qTEM4/vB5v91
sNkPK/th5dmGlW+ZMfJYm2zFrmu7AHROcWzXtz9iimM7E/eUKY7guuqM5z35ec6g+U9d0wmOE/Nu
1P8CUEsDBBQAAgAIAGV6ekkh69SxpQUAAI8vAAA0ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2RlbGV0ZWRhdGFiYXNlLTEtc3RkZXJyLnR4dFVUCQADbRg6WG0YOlh1eAsAAQT1AQAABBQAAADt
Ws1zozYUv+fkP0G3tWc2MwJjjH1L7M3UM5063WR750OO1WDJBZI0l/7tlcCAAEmY2MlmWg47Oxbv
S+/j9yS9rJbXdyh6RtF8HriJ67kxWlBCkJ9gSm4RCTB5WIQ0RuASGBacji17asxmpjWzL34Q/NcT
Wi2vlw3O+dyXSrmJ6G4RYkQSJm9Ql2k5FyudPamI4O2WZPytNgx3LiYj0BDaKmooSDKmM3N0IZGB
yTN9ROs9ilwu6IoE95FLYjcVe493KBqORDfQPSLL6++IyYmThUt8FIYokEmWU3LL/nfy1CGkGsff
4IhpUvNuXRKEKP9dhDBmKu+3KELAZf8Ma+pMZrPJxAT7LPP57m6YGhq9sqxGIUoKGfnmy3y9p0X+
Syk1XyUWN5aGIzCEf083m83EMQ1vHMCR1l2HLafKzuEZG1omdArPdBN1S/d7FmCXgCKKXwGhLyDR
6WizevEURayCC00aBkayodHuwJF5peDLEi/wpJxZuK5d/5GZdMdSAV3c/f4rTjiVuDqfP6BkHX2L
GWOI420uYUU2lCnIMZFpUrA3FYF0if0CGxwi8GXwBTBjAxw/anYa4GDZNFnIP58DYINRFtB/2pLQ
sNMkVJVBbkmhgxGuxdKfz6MDBtDdnlMGEhJKqlLunnwfxTEz5RL4WTwB0xfzQOJY7AnGzIRcYCGK
uW7vJv7223MB/OVu3PEUjioVz2FKtbkUwoQaBsMB841lQ8MYj5neZifQOLq12FHqZxWSNlrnuerd
tN6/3gUd71bvPKPKaq94lkdKVfrcuZV6ZJzGGHoQTXiqnAgD2hJe11SfJ6KmYf1Mb7se5N5WimE+
i5I/slJeMCMekNDnW46KEXITpOJtHBcdx5EdPo8846nyxUMPmAj0K1LHYAVMrkV8UKRVXXh+rDgC
UEsLhR+Mf8GdxttLmZXgBSfbAk5FLLVtC5SnaFAiHY+wP4UwsCemMzbtsY8y9DsysNk2hIXUzPad
UvJj/xC5AfoNoQAFx/QDZ2IzGEIvkvXPd/Ds2LWEu05aC2vvTxaqDLcuWXcCg1HDzw3K1M3lT1bZ
TwzMroKgwXrIs1vV98JppZsqZlsOPMKeNcmqRFU70g2oPzYC1OINzX2ySasAhRwbGwyKOpdFzw14
UoD1XV6gqyWYGIbh2PbEhvpOcqvS39EZYOi7YegxW0d6KGY6F7KwKLBPSlsxRUYkJsbpeZdneVu6
idXQWNP7syDTdNGCRJ9KRc1pLxLfOcyy3InS/wdfAU29B+I0mFn2WAyvW6Qgn0b8Zv6IXhVCxtOZ
UghL3CMkWPq3mzKJb7v5WkxZdQIqIUz4JiaG0IAOV5EuaB1I0u9tWEl3O5xUkf8Fh+EiXdf31xMU
tiJyXX0FkRsfW0Ao26PuWa++Wd1VPodiKZMKjvXE3cwV4Fgq9hhvdMJhmZbquyk0oXPKY6cK1WVp
0EB1SQpLrR4oaFhtejRqSfYN5u0iPxB/vnNezSsCepz1+bF2euZeOcDX1SZBUeV0nnk3PVG3PV3+
tAfIj30cVPISmuDNaxmGeL2puLJabXy2oAobj0iFtciBUpucRnLxEScj0HK+gsN5nQG9kqTb7a7j
9USBEzeY4Hj7C48YC6ry7l8rf1GhMLpxpuxeP6p2Mq9xO2rMxBxrOlFGRT9bq4reua8eStdXhy5Z
1wOt4/Vkgyqt71QJ09nB8u5T6yYaUZJ53Nix9J1QI+4c07d+KPohQ9ED/mXwk0/0anLXWfuUAldF
h2G+OfLnyBhdSXU/P7/nQeOTTb760VU/uupHV/3oqh9d/UdHV6f0si7zrHe5YB8zdOsHaWcbpHXv
WtWzlWYS0D+U9g+l/UNp/1Aqeyg95X1TeUpu/jVrDY7pvtqcoek4re9N0LTgR7w3QWNmvuW9qeLo
wx4HZ935efagDpFyB93EdKD+F1BLAwQUAAIACABlenpJl7WfnT8GAADFMQAAPAAcAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS0yLXByaXZhdGUtc3RkZXJyLnR4dFVUCQAD
bRg6WG0YOlh1eAsAAQT1AQAABBQAAADtWktzozgQvufkn8DRrpqpAowxzi2x41nX1o5dSWbvGGSH
DQavwPHksr99W2BAAkmAH5Pslg85GHWrW63urx/KbHL/hPAbwre34RYFk/tH9PcORfHYDhzk+8i9
+RF48GU2uZ/Ysb20IySiVL4qnZvuxvaCnsJhcsIgQE7shcHYDyPkTnG4GfseCmLCqHQ1Qx32DXOo
jUaaqZk9nmAveAtf0XyLsE02ugvcZ2wHkZ1s++xtEO72bmbFkdwD5ziXvUCB6wXrRAWQSwnVjZEp
5031lnOdxYiffT/xJYeSq5l6GCRRujjEnpVNeLr8U/nW7Sld9edwtVoNLF2zNV3tpQedgsQQv8P9
IR/FKKPP7FDc5nOY3zSXUrLK0bBGwWXfTRQUW+7FDlwfTRJh9WSH33kkRKDX8wvCSLHhTzOGlqka
umop29Tfb9pttQi3W7hrO1DyC/2iBOFeiWUy6rQe7zCGcM8lSRiAZBXizYEjtUrOl/qgu+Ryptd1
bzuvoNITuILMmq7nTqr0F3HRpWZmLsr1wUyTXAYQzukQvL3Fh1gMN1tC6XJIwoDd5WnnOCiKQJWv
ipMaUwF5EbGiF9FApo10lWyYb+V60daOnZeHtxyiqYDrD9UeE24ELkSHS6CECiCl2wHbGKaqaf0+
yO1VEEpi6NpIQ4mdRYhWQfVzBZtuXD7YKBkXCzbiUUWoMZYlNyWKO2JcOooIp9Zf6XZ/QFxFGoPz
Eu95rkTXjI80l71UpeeOYhvHf6axOAYl1ohKmFUXKhwWUAkjO0Yi3iTC6CLFsiwoUkQXt0RrL6DY
Z+xVHFuF/YE2gAvAR+9WlXZSLXEGNxmMRoOBnruJGJ3nNCw1w+ZCHeoHaDAm1wfSlKzEhPvae/FL
jsxMKWwaSlE6KwVoEl9zhqrqmgPd6utm30EpkDZ0sTQXUR8SNUt+xE0xP7ZrbLvoO0IucpukFmtg
AqKhPef7ESmHaimSOJgv/wLjpKDzFVKL0ulVTlahTA5W/ISo3sVzfOe6FdbDzS6odYZxjWIRzzcU
PyInxNVNc98uvJk5q2GpDQ4xD1IHFbkt99TixUoc1ZhQ0utVaQXok4FphUGAH7wrt10Su8r8KYuj
2UQZ9AeGObJ08LB0J3ob5lzA/R3tqR1z8JKxPPz0IhLDVZUZ59hjL6Z5n0hEpujwKxqVD2s3fm0r
IOQNwthbvRemjOYrBg7ZXl4bjnR5obIQeWvL0FG6ju37S/CvnjzTg8wxL4h53rECFGFOl8Aoi5h8
Gg6C0yMO1bC+KAdIA5wSkrRLU4I8yz0uY00eEY2E9I3R+YSaMFlDqInYCYKxlKo1FRr3dFzPUk8d
nNMpql61Or+ailyhU55wqeoNPxyaSs4DMXWybKZUGqzNU3txdaL10QfMxC23ijwGczIJ0uQk8mRF
lwICd0lwni5zBeksxexHclRxUXnvh84rJA1OfqH5xctpDSJQAZIZQ8BsUCyy+b0yPrUGfcMQGkQ6
hmW33tjvS5R8nx3CoSRHHx1TNB49EZY3YtxdSpPt0p6G1SjHLNq5NZ1RxG65EBW51BqNQlTRf5gk
tTG9y8G6owByndXRdQi5pgvu6ke5KQs68f1QNHKMKEp/QditSwRM2L3Z/g5NQ/w7em/kLN/aHrGZ
u4j7F3qR6zARWY12fgwbxnjnxDu4aYiOAH0iv3LCzcYrVUh7z/fHyXd5r3yCwNq2rSyeadsqizW1
Z3pG2btc+bCy8XpWjXOZRD2bhFjYY6VMeS8m7aqmXuBFL9KBEFW8c7VpYsRWVTtPCpsKVGiYTnnk
FBXQPO+pFNAcz+dq3RHQQKpYhlhGWpPIR5plqM0LhrRErByF9DPzIJu6XXSYeNaWtXolFOJxKkFy
zgeMQ3y3ihFmSuTD4eF3MorrHPmG3bDO4b7dt6lw2vwbAPTjvQt3E9pQ048OwhOCt2X5KuxKCfD9
RvwTQFT4mPCfCYsWj7rlHriJIWqmRR/zGnxUVXF9Qr4+IV+fkK9PyNcn5OsT8vUJuXXKYXOu5K3h
Olb4v44VrqOCjx4VfFQjfxSkt+7WD2Uzt19PPDDDRhprwy2bdVXdsmpfXlQ9HaQ0f0NRoVKvHOog
vSOtwKv/Of6pqM9my0u/YmU3cNLwK7+xfwFQSwMEFAACAAgAZXp6SbIpgXxKBgAAZjIAADQAHABz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtMi1zdGRlcnIudHh0VVQJAANu
GDpYbhg6WHV4CwABBPUBAAAEFAAAAO1aQXOqSBC+5+RPmNvTqqQKEBG9JSZ5a9XW6sa8vSOMygbB
HTDZXN5v3x4QGGBmADUv2SoPqRTQ0z3d0/11T7fT+7sFJq+YjMfBDvv3d0/4nz0Oo4nl29jzsHP1
w3fhzfT+7t6KrKUVYhElukGdq+kX59fdWq7fQ5xFduD72I7cwJ94QYidRxJsJ56L/YguRF1VV4Z9
3Riqo5FqqEaPJ9j1X4MXPNthYlFGt77zTCw/tGK2z+4Wk27vI03kHOgnmS5z7Duuv45VAmpGCU0f
GfK1iR04q8RGDCSqP7oEdBOv3Vi+4+H0OTNiCBt43mCCkQV/qj40B6PRYKChXaIa1eERxATkHZTA
Ho4yHql5cpWeg0xdLqXkK2fHlVfdHuoq/w5Xq9XA1NRl31F6Up87qBwLO4dlDEXXFDOzTDtW82C3
g+O2fJSd4jXygzcUyWTU7XqyJwRiKJMkWQAkq4BsDysSq2Trkuh1ltyVyXHdWfYLbGkBroCvFn/+
7kaUin07Hq9xNCMPISz03HCTcpj6qwAEpCEAkgTLq4JQ/Aqe0Mr1MPrW+YZgs44bvkg0dVznvrpl
xv9sGnqVhbwD/VnnhKoRO6EoDNKdZDKAcMaCzXhMDqgTbHeU0uGQBH6Ry2Jv2zgMYSs3yE7OE4G8
kB6kG7KAoo40hTLMWIHpdlZkbx5eM+jNtbH6Q6VXiHgKjCLlYtBkYhh1O2Ab3VBUtd8HuVUslhi6
NthxbGcRdlfQ9VzxrukfH++MjA+Ld+pRebQXLEtPShT61LiFeISVal9ZKnhAXeVEGJCG8Kwk+jwn
qqn6Z1rbWirU2kI2YDMS/ZWE8gQ2scZMnq96YO7vAGoEWxEWrY0DlK01TNOktYbg3Jd47frM8mnx
KI4tzgT+UpYmrSwSz2gJqPk+mQcQM6FGo+kl90r05kabDE4Ldamho7yORTnS0RO2h4riGAPN7GtG
38YJ+jU82ERb5kW8TY5BKnnhx25NLAf/gbGDnSb5wBwYAEP4jfP+6xWeLbMWc9uIY2G2/BuOKsGt
G8hOqNOr2LlCGZs5f4TI3gOY3TpOZenBz+bM98JCQEHRmu84esJ2QKpMM0vnti3oqptKAyVmfhIu
oiDiai3+WDnVGhNKroFVWgECpYBaWSDAEN6RWw71JDRbpFE9vUcDVVVNwxgYyq+62nzaBeXXXh6E
a/0gclfvuSnD2aoAhMUrsDocafLCYC7yjJZuirq25XlL8KKePLOCzAkvYHjesYKILWgXQ1YRnfg0
HOxmOwOKbl6jA3wAJghJ2iUoQYblqluwJo+IRR32xFjsZho95hBqkF4R3ZbSbT0KjXs6hqYwXwed
bDqo31qdXz2KXKFTbgwpyhU/HJpKzgIxcbK02VXqR80Se3H3xO5HGxTaW5lV5DGYkUmQJiORJwY2
7QrcZUFrLrZ+lrYdng5YROL/nWsUxJ6NwhgrkrShQ/CIK847L7BfoBaSi4nzPsh5we8CKX0KgQIm
kNIacNB13SxVRJUWpTno67rQetJWZ5H11npf4vj99BA7JTla0gptWc0d3XWV35K4XErd6BJPsGWT
hDRvFwNs+hH78FxUfTLfWMhi7gaHLlEb0zscYDwKTddpgVsHp2u2Eq6+lJsypxOfD0MjB5S8Jhd3
NQqhJwOKwcjUGznN97aqNnMb8QWD/ch1nJB+DfdeBAwjsrejPZw4RImPv5B/2cF265bKqjfX8ybx
e/nV+gSBtfeqsvjCvarysaZgTXSUzdTKysq6+GkJz10kulTJidttlynduWybWKNVzc6TUsR2Ba5L
p0waReUzzw0q5TPHhbm77ghoAPuXAZGR1mTmkWrqSvMKICkQK6rQ28zMT7ttH9pEOuuFtXokDHRx
ijyq5wMhAbldRZgUCuSD8vAct+A6Rw5+GxYu3AF6m5KlzSweStHeB98l1KGqHR2EJwRvy3pUeCf1
3XDzG/VPwE1h6/5/ExYthsDlG3ATQ8iyTavx71FZ/TIzvsyMLzPjy8z4MjM+YWZ8bMo9ctbccA7c
crR8mRlfZsbVGkIy8Li0KS5tikub4oxtis9qIhyFKq07BYdym9srAKPkfYIC5zAKdrLfHgh+0X4+
NmzyiXkwyV/RzPqhkqK1aSkdP1RS4JZyTOuqnTk+yXgtzfAfUEsDBBQAAgAIAGV6eklWB2xH4AAA
AM4CAABOABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLW51bGwtbmFt
ZS1leGNlcHRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQJAANuGDpYbhg6WHV4CwABBPUBAAAEFAAA
ALWRsW6DQBBEeyp/wpV3RSQOEwjuAgiJKpbtfMCGW6JTYA8fGKXytwdIFCGZUDntamZ23m6exke0
PdrdzjRIaXzA8wXbLgEqsKpQOa+kh0mexil08AYt/qVkD2zj8Bo0CbZgKgwRFp02lFSmRZVZUyeV
RupGI+PSd8OtH4QyimQgA7G0WFNvPvClQQtj0DOpkwVqYYo96RotF05+Z6RZnvrRJ78seySl6X1C
GtQzCM+PgnXv9x3WXfcm+Ocnm5XXZNoOm2ZdipH/JmSpy/VmxgXj7mdYluXjkydBeq4Yin0BUEsD
BBQAAgAIAGV6ekmez4lWTwEAAJ0DAABIABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0
ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAANuGDpYbhg6WHV4
CwABBPUBAAAEFAAAAJVSwU7CQBC9e/IT9tgmkmwBKfTYVhNOGsEPWHansrHM1t0F9eK3O6XQYCgl
Hpq00/fevHkz8zx9FNIb+50kCkrwkAsvVsIBG7Dbm3meZgYRpNcGl2YBdgf2ErLn7yvqjy0Q5lhN
krNSELKAf8VFUdxPh9FqpHhIzGAjNIasQ2AtUJWQ75tdhx2+nyqwoh7Gka/lGiwwQU80jqcTPh7y
KasAlca3m/9JPZuqAsUEMnMs3zE0n8z39bjmOttaC+jbTj0EghTGbg6MJpWWt99BoFadzGZdqZDv
ZGlBp9CXptIqP8efLF+WxsEZsSvNn2sXEE32F3DpBo9O2h4EpIkxT1+AdJ1PEtu8ZGZT1UjVATH4
V2WxlRKcIysDJpswGfVzdYra0RJ5PBpP4mg2i2ZDXgu2Ukq7Sni5ftjVJIr8dBoxinl4aRZz6ikT
KKEsye0vUEsDBBQAAgAIAGV6eklKAOZoiwEAAEIEAABAABwAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQtc3RkZXJyLnR4dFVUCQADbhg6WG4YOlh1
eAsAAQT1AQAABBQAAACVVMtuwjAQvHPiE3yDSEVKgBLwMYRKSJVoC/0AY2+IRbBT29D20m/vBghK
lQDqIQevZ3ZmH848jpZgDmAo1TmoOHqDjz1YN2WKQ5aBaM3j6Ilxp803pQIycBAzx9bMAumRdnE9
1UoBd1KrlS6TNSNv3L4ricKIKaOU1kJdj3T9rzBJksdxP1gPhO8hs7tjUnmkIUHKlMggPordh53P
ixwMK4qx6GuVggHC8AuG4XjkD/v+mGCfhFSb1v9Sveg8B0GYIroMPxClP4m7pXHP9XRvDCh3UbpB
QEiize7MOHXlwjvOoCvWjczTuCLGt2hpiasAreXrs3QFqhqldANuYWYWiZm0aZlhrhKNAqKcd/sa
vS5EjiE8kURmQDrtDkGzQtrtjUqFFHHdcmX/eKYt1IhNA/25t4TB6LiE155B6eSigcBF9aFRas4v
Tu/yAikaIFr9zbLccw7WopUe4ad5EtSzxSClxT3yw8FwFAaTSTDp+0XCSypsXc4cT2eHgoRTr1bD
BqHvXavlyv/hF1BLAwQUAAIACABlenpJYDb0MlYAAACZAAAAQgAcAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0LXByaXZhdGUtc3RkZXJyLnR4dFVUCQADbhg6
WG4YOlh1eAsAAQT1AQAABBQAAADzdHEKTi0qSy2yssovSM1zcQpKLSxNLS5xTsxLTs3JSU3h8nRx
cktMLskvqrSySknNSS1JdUksSUxKLE5V0FUQAEk75+flpSaXZObnheTDDCNeJQ5rAVBLAwQUAAIA
CABlenpJ2zxg9Q8BAAAhAwAAOgAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRh
YmFzZS1yZXF1ZXN0LXN0ZGVyci50eHRVVAkAA24YOlhuGDpYdXgLAAEE9QEAAAQUAAAAlVJLT4Qw
EL5z8if0CIkmgKtLOEJjwmmNu/6AgQ5uIztlS9fHxd9uZR+aUCAeODD9XvlmCp6tUb+hTlOBDRrk
YKCEDtkNu/KeSe4PWPDsPE3TwcgPmB9+LOu6vkviqLwVYWCZ/g4kBcwhsAUSDfLebB52+l+1qMFI
RZ3NtdmiRgb2ixbL5D5cxGHCWiQh6cX7n9SjalsUDIip8/iakXpnZspjLnV+0BrJXJwmCBZSK707
MY6tXHj9DorfDdmMxLMntCKdyYEqbBoUni9Kp/ZxoRlUrzb02iiNrnbcor31eGwhBR+q/4laNarD
AdHl/zVzURDF/UVZwANU1ufTear2OVdEWP0Ut1ETRz2CHCn3G1BLAwQUAAIACABmenpJmIunwSwH
AAAUOAAAOQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0xLXByaXZhdGUt
c3RkZXJyLnR4dFVUCQADbxg6WG8YOlh1eAsAAQT1AQAABBQAAADtW0tz2zYQvvvkn4BbpJl4hqJe
lG6yFLuatpEbO+mZIiGbNQWqJGXFl/z2Lgg+ABIASVtunY4OmYmAfQC73z4AwsvF5S0On3A4nbrY
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
AgAIAGp6eknq00hjSg0AAEesAgBMABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmN1cnNv
ci1jb250aW51ZS1wcmltYXJ5LWtleS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADeBg6WHgYOlh1
eAsAAQT1AQAABBQAAADtnUtT20oCRvdZ8RO0hKqkym9sdgkO97qm5ppKcmcvrCZoYiRGliFs5rff
luRHy2q1WsaAMWfBAqlbj+7TLYG+I42GX76L6F5EZ2eTMLj2o9uh751Pw5m4iMLbbNWHvwP/f3Mx
Gn4ZurF75c7EeRgEYhL7YWCo5nxyjuRPs9M4bXd6p83BoNXp9Isbq9rEsbqFdq9/8mG0PujwTgTD
L9+E3OQsPneDiZhOhWdX4sKdxGH0eHbmiamIxfJ4kp0mq9cn+SNcbkxf0rBWc7aFRccnznHj9+n1
9XW332petb3Giax5fOv6wYmj2cCNG3hTMUx3Vl1s8fv4TkRucjIzeVw/bkQkHFf+NDun/V6j02r0
HdlOnh/8/FBvU5fh3Z3wHDdwwuXij04QPjixaR9VR30+jyIRxKs9GSrIItdhdLuokbXKql7aB8fe
lbZm1l1f3MkveUjfJQqm1vR8b1gsr3T+JEG3UFHXmv+vIqDZSwkoY3B5JKt9yIJjlfKzs2iBe3h7
l5T0NEXCIL+V7/PJRMxm8lA+OZOsMR25v1nSiv5MHcbNQauRbHC1Kc+f3bnx5ObrfVIpHbPrs3Hb
p42T3HBLRmTZyaWjVRlAzvGRbJtOr9Fstttyv8XBb2joypEm0nbW1FS3vD7MXQ22Vuf5B5uyj2cb
bAlR66GWa9mkp8rGXdK46ihKajbb1y233U1QMY7B8Ubd3XRJq9l5zeZyrxrG857FbhT/JxuL5/Ig
foofkRvM3AxK89U5Em4syuoWLtH9fn/Q00HpB/fhr3Ujfg48ZTM//FsRHZd3+JX46QdK+VG+C/8t
buW8IGuoS4u1DPPhWJ0I7GbD9dEpv8i2OE8aTB6E4y2XHTkPfnyzmgvVibDX6ziT1SE562kq6d3J
aaPh9bqtfrvVa09ENnVZdmo2+ysL0sPc6DntpP733c/I9cRfQnjCs5nM+92enEPEg2a5AcnQQMKF
H8k23sHA7A4G3W5rNTDrX3KUW8x0HIyv/iu7Kpt0PslLi3N0UmjnQsm0mde/LkuMAk/81vSTsrZQ
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
6XlKz1N63vrOW995Ss9b33mxORWNFf0lTwuTmcAHgQ8CH7wFnrfA8xZ4ske8ZIS35wA2YAM2YAM2
YAM2YAM2YAM2YAM2YAM2YAM2YAM2YAM2YAM2YAM2ArmtQJ4yklfHlUWWMi1WOK9259XuSLm82r3e
ywxyk+/maww+Os1Gd3Da6nfSKPY8s+p4jzvvcec97rzHHUMcQxxDHEMcQxxDHEMcQxxDHEMcQ/z1
DPFtL5O8xx1DHEN8UxBGBUYFRgVGBUYFRgUmaULShKQJSROSJnx/4O09sucxO98i4FsExJ74FgHf
IuBbBCRNSJqQNCFpQtKEpAlJE5ImJE1ImrzbpMm217tn/oYBSROSJnyLgIp8i4AAEgEkAkgEkAgg
EUAigEQAiXc4ATZgAzZgAzZgAzZgAzZgAzZgAzZgAzZgAzZgAzZgAzZgAzZgAzaGOIY4Ai0CLQIt
Ai0CLQItAi0CLQItAi0C7RsYY9tbsbXM2/o3JPtm3SLQItAi0CLQvolXtduKsLu/sUagRaBFoKUi
Ai0CLQItAi0CLQItAi35DPIZBI8AG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7AB
G4EWgRaBFoEWgRaBFoEWgRaBFoEWgRaBFoGWL9DyBVoEWgRaBFoE2j36Aq2lGFvjQ7UItAi0CLRU
RKBFoEWgRaBFoEWgRaAln0E+g+ARYAM2YAM2YAM2YAM2YAM2YAM2YAM2YAM2YAM2YAM2YAM2YAM2
YCPQItAi0CLQItAi0CLQItAi0CLQItAi0CLQHrRAyxdoEWgRaBFoEWj3XaCtYcbyBVoEWgRaKiLQ
ItAi0CLQItAi0CLQks8gn0HwCLABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7ABG7AR
aBFo351A++Leqxr5DO/yB9Vo9fuVLdRoZTqW/bk2mhojc7H3I2P0ftm1524wEdNplpV9q6VLT/8V
u+Tg2vI5d3qg/fRmTmtHnb6jzbz9iXQfz4BjesIAecUD3cd+e28X3AM9rfr9e6CNvIvz/QdQSwME
FAACAAgAa3p6SS2stK35DgAAyvECAEQAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiY3Vy
c29yLWNvbnRpbnVlLXByaW1hcnkta2V5LTEtc3RkZXJyLnR4dFVUCQADehg6WHoYOlh1eAsAAQT1
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
SJt95XJdXcoqKa5lwDj9ly+nqsY0GzQbNBs0GzQbNBs0GzQbNBs0G34pNnx0ec1mzWbNZs02zTbN
tteyTaP7h58GoV/EEe7Zl6CYluNUXh/BvUcSC7V5aRz9JslWL6dzzN7YUr4tiX8vZDU0+QzPT2Xm
f1BLAwQUAAIACABtenpJdfg+bw0HAAAaWQAAOQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9p
ZGJpbmRleC1nZXRhbGxrZXlzLTEtc3RkZXJyLnR4dFVUCQADfRg6WH0YOlh1eAsAAQT1AQAABBQA
AADtXF1zozYUnemjn/wTNPuy9kwyAzbG2G+OvUk9/XC6yfYdg5zQYOECzsdLf3uvAGMBkoDE6aat
HnayRle6V1fnHAmBWC4ubnD4iMPp1LVje21HeB4Qgp3YC8g1Jq5H7uZ+EGF0jnRDGw8Nc6xPJgNj
Yna+Ee/PPV4uLhaVmtOpw23lMgy2c9/DJIb2uuU2DauzPMYT7DBZXHzF4COK5zZxsO9jt+pVZEk9
vEd7t6FNIjvrJpiGNv3vrbfF4aUXgl1Pex5vNpuRNdBtw9L6lUpOsN168YqkkdHiY+Zug0O8qRVT
ke1MtbDSD47LTm9re6SPOH2uNJh0t+euudbQ600QbufcSr/gbRC+gP2F7TzAyN/EQSj0kBqzlpy4
e31J5K7nXsvCaZIY1HNs319DFH05rMEZ10sBypapAZQ5oXrkMXjAqwNmZsRlmkkQ1OuL4MDzXEFW
btQpp6gadVdgswpn6yCUmW7tlzVO+LzMMFxksm4ZmrAblaQmDbmVrmyASysCIe18HGNafAlFgBVo
A9NLh3gOvOR641rWxfJ6rUvr16qcjIbSpnpslseTQf8tKJMkidNq5VKvzyrdeuhqfaoYwq7d28T1
8SJxVm+W/c57EUFct/c4xMiGf7oxpiQbaBbapdNLp11T18FuBwNtE5Qr+BkiwROKZT7qop7vwxCG
KvckqXBQ0LRGmpW8nlR70+FiFVPiJpCgIJmtTjESo8lkNBrkWbr57WcvxhX9v8MgLV8iaM33ovtD
s0uyCaDBAxWh34Lq1W6j5BL8QhvPx+hz9zOC1Lle9CCfLRbVBLIzK+VdpSIPXn/VUUI3E0qIBX1R
YB41XLFLj+k0zNYgmQq6HJOAFFu52TsOjiII5Rw5KboQ+IsorLyoINOTQSLTeVOQup0dO/dfHnO9
YZYyw3G6lMllmC6TRJ1LllCMoqBeF3JjmJquD4fgt19ZmUkSXSs9OMmzaCVXUexTqc/AeH/1YXy8
m/pQRB21p5BZOlIiIaLJLfARaupDba3hEYXKG2VASuFVyfVpRnSgG98z2/Za02QLXchZGP+eUnkO
Qdxh6fq/sEIJsR1jUd3qAtayYM0jGvc1vvMIU31ZHIrXrkgEeCl7ky73UmS0FNRjnMwPcDOnSaPT
yxGV6MmL73M5ZbXUNA10XLyho9LREXbGmuaao4E1HJhDB6fq13BgOTedxd+HhFTmhW+7u9B28a8Y
u9htMh9YIxNkCD9xrn+wJUb7WYtZYidcWK3/gKFKdescZifU5dynly2TNB9/ArP39HbJrd69ZDi7
ZspVRUnFE2yqlAerdn+FN7riwppthIq95B6valuzzVKpINBKHrRtlzIGrW4O6rVcoJGu65Zpjkyt
2b7KW5PRanuFNyyiDRGebWVDRAaMt+PugPI6uLFsqFyT5zM3kywxchM5lHLOCRD0gF++PHtRHC1J
EUZQgLpnKEguoii5msJopGmW/KbtK53SoI0w+ctvxYC5saYV7AShKw1lOJ4IGwEeNGjBkG/PHDlx
3W7oWAaI8SxURKaMxRkz2We3fW1mRpeDZkUBRQFFAUUBRQFFAUUBRQFFAUUBRQFFAUUBRYH/BwUK
W5jpTtaSuPiZsw/PlH6vmqfaN00abLZjmvvmXW6yMZha1u2PZlZNdkZTU+meaJrOc8SyONsF1U3t
DKXlxyud/OGPsw+jIEy3TsEFgkjClyn61P3UmadFXoTWXvJcAvnBEw4TPtG3EWziov1ud7wiinFP
nHvsPGCK6iSSn8D+HPUyRTE1+nz7DP3QuH5ObajVVV6V1xN6bf7EoKUktH9KkEuR9PkAXyyLxad9
JqA0VWmq8qq8Kk1Vmqo0VTFeqZtStyZHwoovqj15vi84tqPOoNWcQROJrNy4Xbgf7+DZRBto/72D
Z7JjYR/utdRSVpgdx2KvY0ky+e/3Fkzw4QX6OgbnhqXR40YCrmauS08mwM9HjGK57khejPUOCppo
ZfLW/8z3YVqJRG+DXiUWzOwRcV5qpqOfbe3ONjEOCy9Nz7OzouVjftwUSMnGq8E5yjfUDB7ZMIEr
e1wrB81p+Sq5b/mCtID6lx6BPPxICQEIF54++Fg8FLeYABum8NMfX2APVDZNW5P5bdY+4tK8IYmF
B2rLaHUUQzo/Slz/s3z4t+DzuKaYvRtS5esSiODguuRPLBI39ABLzfIgsanM/OWaUkB9hCn9VYvt
dPbLprW6GbtgzMpKsUA+ikVbcVpKdnIpuioYi8/3lebxRCbeZ5+iCZGuXpu2Zg+pr8rDVQb+lWjw
T/+4+lSrLoV4hXiFeIV4hXiFeIV4hXiFeIV4hXiFeIV4hXiFeIV4hfjvdLrmLa8JRHGwk308SfB9
3NbW7HeNEo/Md6W0gWWVvsZT+bgwGLX5fCj7eeFWnym1NH0yEGfpb1BLAwQUAAIACABtenpJTLkU
c50FAABfOQAARQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJpbmRleC1wcm9wZXJ0aWVz
LWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADfRg6WH0YOlh1eAsAAQT1AQAABBQAAADtW0tz
4jgQvueUn+AjVG2q/MIYbgQmtVTtDtkls3dhi6AdI7O2EzKX/e0j2djI1sOGgU1mS4dUBbtf6v66
1Zbb89n9EiavMBmP4x3Es/s/4T8vMM2mAAcwimB48wUjcmU+u5+BDKxACmWUxp1xezO/nrzwQD+N
MYZBhmL8CHGI8PM0ilNIqC3XHDquN7RGI9sdebymI+d4HAilPCTxdhohiDOqvSnT9ak9TwnAKTiI
IaYngP77hLYweUAJsbtnvg3X6/XAty3g+mafYwri7RZlC1ysjN4+WvYUl+stqBhG1hn8TW61ApU3
vS1AuG8IYsAJzN3fC1dCarLqdZxsp0Km5R+/oYzS34PgK/HsMosTqYaK+DRzQxQ+qmzo4g2jF4Ao
WhEj+2qsEGVCLXV8mLbpi9CN8Gv8FS5KoExwyIjJYdPryzAg0szBqSK6abqIt/pWQrNIJqs4UZFu
wbcVzJNkfgBuffmW75rSZXBOzQWF3FLWJIEWmJi0i2AGFfGPFe7Ms1DBuwE4jGD5uwpMStbztIEJ
NAD5s9yhPxiNBgPb2BUFQl2LigWdX4UK/tb6o0pgpageG6rhyO6fDdUfCQpbwaiVnBCRVf9y13r9
WpG1bLNfwPWBaIyTbyRAkAKopC+3EiE2hZSKuwILWwxcOWFuYCskYQvqOyPXM11SjSrknibqMd7t
CJQBNqqA/mLgeG9kKh1tVk9fkoSAsdKkYCh3l4Kj8ErFp9yXinCx+456D5nx9FeB6MrySohKyvys
BjRKuGC7ovE4ObRHh9oYCkhiXJeyfAkCmKbElDsjKJxpEH0p9SJKa8V7ZOfFuxIVonQHsmDz6bUq
IEzCOcOiq6nSjXZwssXl3R2TQEbvlvjG9UzLchyit881jQpHt2YazP0sazK5EnypZLPd6ycbo+Nq
yUYRdUy1mmdppGR5R53LZhHltJy1DZwBhYoyBxcN3suExLbc93QXWJnKdacZSLK/ilycEiOeobKX
r/UMCQQZlPFyfYPv+6QLkQVuBZ8RZtjn9VCc2yP8DrekLnCPAE1tH6/Bk1TnBVuWutXmoznMD2LB
lIaPaDPKHpLEa4+yTVWZ2bLsea5xbOyMY9GkWAuGphl6A9t3bM8JYFFIO0Ks2ItqvXf9d9kIcVvM
l91zAkL4GcIQhl22Fn/gkYoG94LrZ2w5TMOb58Fi9TdxTlF07sjWYtwKnreblPnCjj9LijkO4ZvA
M8xdzXldzgscrjSD3XrOIkKH/GbLyQJHr3hi42lbjls4BkmdFaUGCGmNMxbLst7MZ8bAGbjeyLdJ
JhaSWDG1dRHuz3DPSKyKvIrl0xtKaa3jTa4hZJ+gjOVd0sqlrPDM8c+PBuikUyARVGTnNiJa7txG
BdZL5UKeXN2yoMpD0eUuji0o2zB/oOqC9oJUiXOWRFZ5uuE7Jz0J2W3rbQL1RE+eDs4qgkpYiutt
/baGooaihqKGooaihqKGooaihqKGooaihqKGooaihuI7QFEw47NHUSQZ8tFjai1jarKMUBBL8Vww
VbhXnm4+IIzSTdfjTT3ddsXptp9q9qzhFeZlWX3VmcKZ4nd8NRKYEkERQWhb4leEjegJLSGqJmFI
Bx3Iz1doZOpypXhVh4Qvmd7rav3tKIXQYehmss5gUnv7Oj3UiOaImdCPyowVcQjmBR3TFWUsxOTK
C2ytKd1z+6yt5sT3vpL6URTTX2lWkTSRDlR8rGSWS8yzA9S2iwtNZLRskZNWxV1HOtjhya7xEQOw
sUkpRInA77vqDVYh7r/NhZ8Fm8emZHI1lKobG2JBqbqhT14g8nfJLf1FTsO1Dk1O5QDvR+gJ9FPF
//WpQj8p6CeFiz0p1O6mWbxTfR0h+YivMWiYy2BGTk3b9xvDetw3eoTolA+G2K/0TvowyTetkX3O
h0mnuUPs1e9QSwMEFAACAAgAbXp6SdEZYbCOBQAAbzUAAD0AHABzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vaWRiaW5kZXgtcHJvcGVydGllcy1iYXNpYy1zdGRlcnIudHh0VVQJAAN9GDpYfRg6WHV4
CwABBPUBAAAEFAAAAO1bS3OjOBC+5+SfoJrL2FWTKsAYY98ce1Lrqq11dp3ZO492wgQLL5Bkctnf
vi0wb0mYxNnJVHHwAdEvdX/dLVlivbraQvgE4XweHICurv6Cfx4hipcWdcD3wb34Rj0cWa+uVlZs
2VYEIkpySQYX60Kee6RfBpSCE3sBvQHqevRu6QcRILWqK9OxbkzV2UzTZ0ZTU8E5nztcKddhsF/6
HtCYaa/L1E25PYkI9/WWpPytNgz3lkdHhOPIFlHDkiR1OtNGvGB49Cl4gM0BQosJWlD3NrRoZCVi
b709hMNR2Q1nCbN4SoHEkGsvRE1i3nuLuj5kz/mUIlR5ew8hEAt/qj41J7PZZKKRQ4oENrtrVBOE
Lxhl8CHOZWSYLOJ3G+R44FJK3nIsbgwNR2So/JjudruJqan22FVGUncdp5woO4dnDEXXFDP3TDdR
N8HhgAG2KMmj+IXQ4JnEMh1tVi8fwxARnWuSMCDJLgj3R47UKzlfCjzX5nKm4bqynAc0aYtQgIvt
n797MaMqj87ndxBvwq8RMvpedJ9JWNNdgAqyGoGaBOxNRSQZwiey83wgnwefCRrretGDZKau566a
Jpfw57CC0GDkBfTfNhCqRgJCURpkluQ6kHBTTv35PDzWgGB/YJQuhySgVSnbR8eBKEJTLomTxpOg
vogF0ovKNVKdaQoTmItC1x2s2Ln/+pQXwmI21niqjCoZz8qUaHJJCSvlMBkO0De6oajqeIx6m5VR
4ujWZIfEz6JK2mgl58p3TX//fC/peLd8Z4gqsr3iWRYpUeoz51byETnVsWIrMGFQeWMZkKbwpqb6
PBHVVP1netuyFeZtoRj0WRj/nabyEo24g1Kfb1k6hWDFIOJtLJ9M08TFmCjuNtx5tMS+robitUsl
AV7q2qQrixQZHQtqYWfpAdUsmdNYeylQSZ69+D4vp+Vaahg6KVaVpKh0LMLOVFFcY6KZY80YO5BW
vxMDm862NJCYyXFIoy98O9yFlgt/ALjgntIPzImBZQieOeMfb+HZsWuV1v5JLmzs7xiqtG5dYnci
g1HDzw3KxM3FY0axpi784MSp9LbnfF/OyrsckQUGK5jQTeWEYG9oWlZExYaLDvHLBvpboCbZvDZp
BZU6azwNBkGt5aWG5bKMI5ttVv3WKzJRVdU0jImhyNv0jUh/R2eQoWP5vo22juR9DnUueWERNAsu
bcUUHlEZGOfCXQLk0xCXY543fIpjU8o2fB2pTkFWSirFVJrGl6Qc1COKcJf0haTvi5GLvPliz4qC
MIUeqiBoCW4+yKfBp4tl+gq7le0lfYH4wTOE5AFekt0gNhfyiCvtfKQDWju6sztC8zBKsckvcNXX
PR57PPZ47PHY47HHY4/HHo89Hns89njs8djjscdjj8cPh8dgv/fi6l/Sz57vL5Nx+R//b1DYiv26
+koGNF62BC6do+z+TX2ysjsGWTJwmURpISfuZm4JvFyxp3ijE4J5WqoXnBRNMd9yK0mUFTwYNHKD
A2Gu1QMBzSZc2EHYAvadx/5qzU7qPt4BVM0rpUOo6qxjiTP5J3kVEsiOytsyOCesRY9rCapauC67
g4CPT0Bied2RHIF53MObnzVaPQNlEDreh1nsYggrZ6wpFJNz0coFNK4fpRnL4+BcSRwrOi9jgeLI
I7TWlNNz+1U9o+N5qqB+XHsU/fAbyypME+FlhY+VzGKJSXbgOuD8tx1aet2iVXHH6xKdY8QHYa1R
SUTxEsDU5U1WIu7/zYdfBZ/FwmTxbkiVL27Qgkx1TZ+4SGzZfZeWNUZC01g+1Dk/4o3ofovQbxH6
LUK/ReiwRYji4FC9gKloplm7ttb4eAeJdEUYKOlHQFXRe+vFhmR8fSwBNT3qTDtdT/pFTWP6xzkO
pDfGm5/HnEnMf1BLAwQUAAIACABuenpJidrforcLAAB2ygUAQQAcAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9pZGJrZXktYXJyYXktZXF1YWxpdHktcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAN/GDpY
fxg6WHV4CwABBPUBAAAEFAAAAO3du3LbRhsG4F6VLwGlOPN7hmeR6mIqnlHxR5rISQ8RK5sxBTIg
bcVNrj0AKZGgCFCSD5MUT6FCxL67i8WzC3Tf+dmbq5B9DtnpaRIv4+t4EUazNA3j5WSWXoY0maTv
R9PZIkSvo1a3edLp9k9aw2G7O+wf/ZZO/vwUzs/enO0lT0/Hlb28zWa3o+kkpMu8v1eP++wOjs4P
zWfVRfL1M1nnn5zD8W08SRvRXqdPdnVc6ql1Mmw3jir6mKSfZx/DxTxkcdHRT2nyLovTRbzq9t3k
NmTHjfIyzOYhPXvza8j7WSxHcToO02lIqnqublnM7Lv3V79EswM39naS5SOV5jIuVnGvk6q5/L33
23EjOm7+dXJzc9MbtFtxq91srG/0bT7iLPuSAwrTsAwP7R/WYUvj3WxDrbLlgasVM3xigtedZDXB
+pX7EKfJNJytBnu62f3/G0eLfF7vPoQsRHH+1+qeDPrNbrs5iObr7Xf0sq4uZ/N5/qzjNNo80P9F
6ewuWh4a46lZjz5lWb5ZNiMdCORNbmbZ7X1ivSqb3Npgcl2ZXD+uN/H4Yz6lq5zCodVMJsnZfvsf
QvS61X8gWmnwYSabMfKGF+UteHqa3e/F2e28aJlUNJmlu71cfRqPw2KRT+V1NF4vZpSPtyhWcbIo
n32tYbtZdLjpKpks5vFy/OHnz5sDrrThOifNxs52K46LuptbHSWlDRQdv8rXpttvtlqdTj7u/ol3
YKGf3Glhtc51J9reK+J7bbZ298dvttIYP2yzFaK2W21nZYsnVbfvisUt76Ii2erctONOr6BycA9e
PMp+n0fSbnX/zeWKr5sH73uxjLPl7+u9OMon8T6UXphPfNNkIV6Guuzed81gMMi/kuoe3HV4P0lL
8fPdR/H/cJvv7zxR/nU/9dXfOt/yLfEdmPSGw16vvWFSfzpflI+l553N2+mU/slnMCoeXz5a9PCN
mz+vu8nyw+ZkLh/L/X432n54RttDs7A2Pmk2k36vPei0+51xWB+kzyS2fheVflhN85GjylfMb/P3
WZyEX0JIQvKcV8ug189PtHBX8ftXvHJKH+SrfXBx/Ue+OOtD53X+aoleNfbubK/l6sa2/+a7+tPy
IvspSfai90/2snRdUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ
UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ
UFBQUFBQUPAbgzvXNxUctzUbdyr6dQfNZ5Tqu0jXZRjrijNW1varv7hXLfKJQoEH6oHvt62psflQ
MnQvUFNds6qwYZwUFSqji6uHapHnZ1Gv0+v2h4N2r3/fU7mbnfvK07+Eu1KPx41nRH7+a7IoKlXu
T3kHyF02WZazV0XdyYP1OZNJclm3Ji98QNHxOJ5Or/O7aByumpqPOaqiUlPws7LtzlSqGpWxfvte
eNh5T22B8g7d++3wem6aHSh4u2lymPfmHKhR/TF8WYFanKfP2APrQt6/FlVLq8w973IYz7La+eTA
dxrsdLC9+BzFly9b7LLZeoG152rpWllGqUTrfd3vl1RXTSr8QQsttNBCCy200EILLbTQQgsttNBC
Cy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgst
tNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQ
QgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EIL
LbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy20
0EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBC
Cy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgst
tNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQ
QgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EIL
LbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy20
0EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBC
Cy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgst
tNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQ
QgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EIL
LbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy20
0EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBC
Cy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgst
tNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQ
QgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EIL
LbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy20
0EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBC
Cy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgst
tNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQ
QgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EIL
LbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy20
0EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBC
Cy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgst
tNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQ
QgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EIL
LbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy200EILLbTQQgsttNBCCy20
0P6X0I5nt7eT5dHOSt1NptPR6vdS0+jVXnaxnM2LqdWtSj6hdHNLozgdh+k0JLtj3ffR6jZPOt3+
SWs4aLYHg9024+lsER436jZrH8Z9cHvtMqRJLmlU9LPb9W385Tqsfj+/fzaPxmkN2y+8vX8AUEsD
BBQAAgAIAG96ekkYpZHwyw0AAN3bBgA5ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmtl
eS1hcnJheS1lcXVhbGl0eS1zdGRlcnIudHh0VVQJAAOCGDpYghg6WHV4CwABBPUBAAAEFAAAAO3d
TW/b9h3A8btPfgm81QYagHqwLPeWyDFgYJu9JO2dFv+2tUikRylOc9lrL/VMWaJsL+k2YJ9D0Ybi
l6T+5Ic20sPv8vzdx1A8huKXX/KHkJ2/+xD++SWMJ70k64fhMKQHv2aDcsvl+bvzZJLcJONQt2f0
Jjo8OBolg+w42hH18ywL/ckgz3rDfBzSiyIf9YaDkE2mYXTUaMenrXbntHF21ug0Osd7DpXc5MXk
U5Fk42R2wNmZL9ffJF3s2Vud8jpk6SC7m5253Ltyrmb7rHNwlN7sPNFDKG7zYvR21/m2dl+frfpl
q2d+8pWfXEe7e/DXMMqLb+Ux3yX9z2X1cZIXL/i+NXdufrTqoSrHWBz16PiVN7jmEoty82O4uvlH
+a1nmy7y4rdQjKe3+z7J7sJsDacXvXEN5YmKZPqfnwajUFwMivIsR/Hvp7e3tyfdZiNpd+Pjraif
j0aDyVU2//rTj9dL/ylfLsp8r0pYXbHtD7dWYccp9z7dTw5YWazKqpTPZhiGSfgQ+nmR7vo8SdP6
D8VisVgsFovFYrFYLBaLxWKxWCwWi8VisVgsFovFYrFYLBaLxWKxWCwWi8VisVgsFovFYrFYLBaL
xWKxWCwWi8VisVgsFovFYrFYLBaLxWKxWCwWi8VisVgs3oovz99dJP1y67dltRyvs5x3tGvMz449
rbxYLBaLxWKxWCwWi8X/T/HXYjCpDvK9GGSD8X1IN4ZFb/8Fwo75vlubjo6rg4pvWml8vHf89X2S
pcNwPjvZ87st/ny1HI88Lq/r030oQpSU/zTap91O3G7G3ehhPl764HWHus4fHkIaJVm0GsD8c5Tl
X6PJvnM8d9W9L0URssnqTHuCxWDtRTFflVU3HyReM5J7fruqw6f3nCYdpNd7Rnh//Ptfyudja5b1
XZhcFe/H5UGG5dOyPNpldpuX1XK2+O7HZJA95p/X3+RtllbOOZtxfbRvsHm+J5wNx/4RT87J2dnJ
SXN1V2sWYXudo9mm8k/R7WAYop8Of4rKdUwH48/778D59h2rTuKeDkbfCnet7b+eM9jozAzW/UXh
8kpW5yh3vKoOOp9OMZ9PPM9HD9M90x275NnmUT5+6ffDeFxeypuoP3+co8f54PNoMK5OeG+cNePp
AVeHKpfuIZn0798/LifCV0eft07no89Xfyc6Hcpe9+VmA9srr7Do6LBcm3YnbjRarfK8x1vj4vcs
9LPvujBb57q58Ys/rS/zR73umu0//3VXOcef9rqbPlHrl93Gyk7vVN2bb7q4Gx7LstGKb+JwMn1U
vvNltpfw1ZNT/5g72my0/5urndzE8b6XcblmxeS3OeVeeRF31d8ktp/A9fNevtSKkExCXTsD+qby
auh2u2ed2vt+E+4GWSW/3LwV/+5PoZrn5enZ9v6/l/mT8coX6vo6K38oT9ObLtr0x8v6qYy+Dib3
q9dp9V3a6bSj/uqSovWbbnqH+6dxnHZOmt1Ws9Pqh/nb74U3dv5tKxtml7ljQbZ+Lvz6cFckafhb
CGlIX/LzoHvSKV9D4euO7f9jvyO8/qfW+pxzC5Vfy8vm6DA6PN5a5609Z8tc/X3+4Uv5Mnubplvp
4jm7rnwuFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQK
hUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhULhd4Ybn6/mCa4nCG5M
9Gt34xeM6rvK5kMh60ZF7pztV//h1uzCZwYF1o883LFvzZzN5djQraBmUuauwYZJOp2XGF19XM6u
vDyPThqNRrfTOenEL5pU3fvexYiO+slweFNe6/H+KaXlOXu7bkvNqM+d+25cyq6dqg/G9z93y6f8
ucetqmFr2/71XO22Z8Dsapf9j9LKXM0T9Dl8e//7YDwZX2abj1H5QXT4c5TPNkbj2db5Y3QSx939
I7s/TAealscoZv/efZR2t9V85iihnxfp3ktpnZ7VHqR08IIjtNvt7otMXL/u1lUF1D/PtW/EymfV
56wy6nUx9Ps1c1HTHU8zAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC
CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg
gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAA
AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII
IIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCA
AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg8J8i
0M9Ho8HkYGOlvg6Gw95se2XX6HBzp3LlH8rrarTj01a7c9o468bNbndzn/4wH4enO7Xj2lVchOvP
rkOWlo9Bb3qczUOPkm83Ybb9crGoT87TKB+np192cc2HdRdQrmC2uge9JOuH4TCkr9z7D1BLAwQU
AAIACABvenpJTzh5ZCYHAAAhcwAAQgAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmpl
Y3RzdG9yZS1jbGVhci0xLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADghg6WIIYOlh1eAsAAQT1AQAA
BBQAAADtXU93mzgQv+eUj8DRfm/7HmBs49wSO8n6dbfONuneMcgOWwxeISfNZT/7SmCwQH8wjtM6
7Rz6Xo1mNNLMb2YkNCLTydU9wk8IX1wEHvHmXorGSRwjn4RJfIfiIIyX4yhJkfHBsBxz2HMGQ2s0
sp3R4OxLHP67QdPJ1UTgvLjwpb3c4GQ1jkIUE9rfeb1Pxz2b7saTrFE8ufqMqIyUjL3YR1GEAlGq
ipJJOHp/nZUXxl1DwrSbcDbToDbVDjdTa2ANupquvHmCyQP24tTLOswlB3Mp8RrhRYJXlzIeSsg9
yiaGPfbfh3CF8E2I6aw65rfhYrHou7blOa7ZPbv/64+QMBlXnv+VGu6eJFg1qLoAP1mtQjKLc52z
5h0mHpLCEjkVx8ibSWwUJi0RqTVMrcMGQwZhcKfRqYQjjJ+Sr2hWKPcyDjimTNUdnbkTDWNmo4p6
GLiETmSj+k941ulWrG3ZZje34Q2VmOAXOncUIYIK+sLEMhvKKTWtkhE2DHDeC7IBqjX36MVBhCaZ
sGay7e/STikd18Mjwsjw6D/LGboD07FN11jnEeusXVd3yXpN/cmLjdKgvxlx8mwQnYymUY83GNMY
UkrSMGwjwZYj10rJp40hubl4f9f7x0SkfxOIzq1BAVEpBouRlDIo4YwP3hcXeBvFk9WaUQYSkiSu
9nK/8X2UpnQoHww/V6ZB5aVMi2HKpyxrZJusw7KrIEzXHvEfr5/KuM85XG9IwyvvbizRqCaXJSHO
gYzOOdWNMzAtq9ejcrtCbtMoutHTUKZnVS4U8vuxnM123t7ZOBlv5mwMUTtXq2iWWUrld0y5vBcx
Tqu3sL1en0FF64OzGu9xTGJbzo9Ulzc3tfNOiYfJ37kvjukglki7UKgsSDHyCFLxCstR13XpEldl
uDlahjHHPq2a4tA1wp9oReOCsPSqS3vVWuIIMOmPRv2+XcJEHZ1nfFjaLzbvhsP9oCMYM/NRaUax
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
hT9LkiFfVg/CCchfcglqiIZiv8bLSsgk50ZugIQORNlzPAoKtFzlBbqYo5Gu67ZljSxN3UnuZPY7
BgP1XScI1uDrQE3FYHMmSouEz4SyFVdEQiww3o+7HOVNcGOrgXumjmchpuiihYgaSkXNKTcS3ynN
Anai9H/vKwrT6KE4TWaGHhP4ukELdsOI7syf8KtEyXA8kSoB4LbQYKrPRkoQ33WLNQtZOQClFMa8
Y4HBNKDjVqQLW3t1ts7irMS/SOL/QPfcxJrqTxgJ+Us1Snh5BQR5WXWNzrkByjKrZk9QIqOJbapV
PJBDjL3rIFzf+MGxbuNWVTV/b+C6tIa5KIXK04OG1jBXgei8JDkvSc5LkvOS5LwkaV6SnIArw93O
T6qrkxc/CGbpc/WW/x0GGxm5br7CyNzLBhLK5qi6yatPVnW7kFOxcJCMjtXC3dxl6Fiotk00OvGw
yEr1qlQzNPs995syVhfBgGN1AYSFXvckMlCb6zBqAPvGp+0iP6P7fEdPtagw7FGddaIIpvgMryKC
80PypgouBGvZE3oCpoAe6e0D/HzGKFHzjmI3tMWJbCN0i5OsiwgOJml2jzR8tUlwVDn4zFCSHlZW
boWFU1QWk2iE4LuDoWaKigkTeHLAjeXevuzeROcdDzklpX3jE4jDLxTwgGDpDcLnqjO5xhS4sLg8
/RUEu11uG7Y2/euq0eMulx9NPUTht6gAYOes7H8Kdf96PVT4xw0PJPnPoLZcSVx9GH4bDiZ8Lzdd
syenjhW9mmpYFKQyXL+vj/yMHy+9f4m9zRtdU4/esh2Rf6jOXCknDwMjoyajsjfLb+grW0DVfjQ9
eGsD+tuuU223FawsNOrAvBUlp2ipMX0bH4IEFCbRwU0OkPFZEBJ83jOe94znPeN5z/gz9oxArvvq
tziaYdu1Ky3uu3AQMjVpopTfl1dV75zXNU6fL44UULOjT4z2drKPtbnpH+fYU76QflXIf0LdTfof
UEsDBBQAAgAIAHF6eknfxePBQwkAAEWeAQBDABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lk
Ym9iamVjdHN0b3JlLWRlbGV0ZS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADhRg6WIUYOlh1eAsA
AQT1AQAABBQAAADt3E1zozgawPF7TvkIHO2q7Sr8bueWxp3e1NaOU5PM3DEoCdM2eDFOui/72VeA
jQWIlyTOTnrmf+iDLT1CSD89Ipbb1/PPtyJ8EuHFhWtH9tLeCivwfeFEXuDfCN/1/AdrFWyF8cno
Dc3JYDie9Gaz/nA2PvvN9/6zE9fzz/NS5MWFo23lKgzW1soTfiTbOy+2OZyeXdf1J2nCfX1P0vjG
PnTWtud3jVKjjU11lJZ6k1m/e6Zpw/Ofgm9isRGhHTd06bt3oe1v7aTZO28twk5XHYZgI/z551+F
bGcbWbbviNVKuLqW9TXjnp28veohCmpu7MoL5ZWUvjjxKJYa0fXlv6X3Ol2jY36f3N/fj6b9nt3r
m930Rq/kFYPwhwQkViISh/qHcTjSuAsyatqaNaWaHjZ0cDlwkw5Wj9yj7bsrMU8u1lxt/zpztJX9
unsUoTBs+a83nEzH5rBvTo1NuvzOXtbUTbDZyLm2fSOb0H8YfvBsRHXXaOq1tQtDuViyK9UEyCr3
QbjeR6SjksWlBt2lNjKdrs+280126VZSqBtN13Pn5frvQnTZGx+Iag0eepJdQ1ZcqEvw4iLcr8Vg
vYlrupoqgZ9v5XbnOGK7lV35ZDjpYBryett4FL2tmvt6s74ZN5g15XrbjR05j1+esgSnLLjBxOzm
llucLqpuLkklygIyOudybIZjs9cbDOR1yxmvZqAbV5pIxrkqo5W2iFMttv7w/Rebco13W2yxqONS
y41sPFNV6y4eXHUVxZG9wX3fHoxiKrVrcFGIPc2U9HvDP3O47KVZe9/byA6j39O1aMlOPAhlw2x4
pgmFHYmq2NJzzXQ61T0ltXwYqZrwpXjwfKX+dX4K/y3WMi/ICPXdctSbniVOwGQ0m41G/YxJdXZe
qGmpXW4+dkd5IXtgxdMnr2YcnnHlfD170WOWmdW0PB4PjeODp3FMmrE1Z2Ka7njUnw7644Ej0kTa
kli6FylvJN0sONJuMb9tHkLbFb8I4Qq3zdYyHY1lRhPPmvdfseUoD+TJOlgs/5CDkyadT3JrMc67
pTsr1Uxu7Pjy8NxwtfNTlsUG9vOb7q6/CicI3VITm120CC9dtyr4Rin/MNcmkEACCSSQQAIJJJBA
AgkkkEACCSSQQAIJJJBAAgn82QOdYOdHVVFWXGh08jHl06TsZPJ4Fpk7qRpOzRZHUAs/PV6sOnTU
nllVF5ZOQRsOwGq+51auW3EGfDgKLwVUnP7qDuxsNz55NRa3h1PQ67kxGoyG49m0PxrvW1Kbyd2X
jP5FPCstdrotQr5897bxCWy5yzkrz6EXqbG38Xlq7bmz67k3VWPywgkyOo69Wi3lXXTrvw0gr2np
qFQcZGvr5rqiq6RifftacJWjzKZl4BaOPbXv149trmrN5OWq1ZPPHcZWaN+3F5+763S1K27sdCZu
/roBUZ01fTntOAtFMPOKGVW+NrD/LtpLTvxd80TJ97BdNGFTt5XSe/VjmlWr+eZQVqUeV7Z5vT+s
iivIHJmrkGvgWNiG5c3Lhq8dx5uq7V8p+4AMyXvkPfIeee/vlvdgCEMYwhCGMIQhDGEIQxjCEIYw
hCEMYQhDGMIQhjCEIQxhCEMYwhCGMIQhDGEIQxjCEIYwhCEMYQhDGMIQhjCEIQxhCEMYwhCGMIQh
DGEIQxjCEIYwhCEMYQhDGMIQhjCEIQxhCEMYwhCGMIQhDGEIQxjCEIYwhCEMYQhDGMIQhjCEIQxh
CEMYwhCGMIQhDGEIQxjCEIYwhCEMYQhDGMIQhjCEIQxhCEMYwhCGMIQhDGEIQxjCEIYwhCEMYQhD
GMIQhjCEIQxhCEMYwhCGMIQhDGEIQxjCEIYwhCEMYQhDGMIQhjCEIQxhCEMYwhCGMIQhDGEIQxjC
EIYwhCEMYQhDGMIQhjCEIQxhCEMYwhCGMIQhDGEIQxjCEIYwhCEMYQhDGMIQhjCEIQxhCEMYwhCG
MIQhDGEIQxjCEIYwhCEMYQhDGMIQhjCEIQxhCEMYwhCGMIQhDGEIQxjCEIYwhCEMYQhDGMIQhjCE
IQxhCEMYwhCGMIQhDGEIQxjCEIYwhCEM/+oMH0RkBTs/amJ4qKcyzN6rH8esWvXcHKvUM/x6qFeB
5CFfnjPixAVXQfgv8SOF2IbK15fdYjsqX5WxLFL5qpmPD0LFCdZrL+n0caSevdXKSt5Xqhrnp7xg
k0yneHmVaLmwfiL391hNo9RgPOBNbC1tUIVhp6ayWlPT705XB/859CK19pXne9tH0S5X6rveZhDV
tVCqf5zI5GLaq8h/vaE5GQzHk95sZvbN6Zmmq57/FHwTi4OvS99Vmkm0yVGpvtOgJjBhWhP7aPvu
ShxeZ13Yyo7fPYpQGLb81xtOpqPZbDTqGxvhu3L2ajKDpbNcTBGWZh1qx/C8oo7ci5ZB2LBi7+XN
L3wZsIn3Zk0/lKSTv05U0/3868RSsYrMafZyJYU2LfysYmG8tD2Rl5IbsMw68csnYUT16eq4fuIy
zcPK1c7X32GYpuW5+kgTNyEnX8nZ8ejuc/nlfSTC30W4leHWY7wzWfvFfBie2huuXVq6iPLS6g/M
oW5pCV++sxONi7/lInztntB2o5uYdZtumvX+GS9ZuQZz460O58fKFNUtJoztXF6/9tXt4S3T9OJh
a7MJXr68x4VdoqYvOtTTYdUWuxQPnt9u1usv27Qty79Lvnz3tpEsVHLIq6emxeZ+G9lhJNzXLbaf
Bf/x8eTy3ZZB/SOO7MHh0oXr/SyPGgmUhieNpE7pIaIYearHffVTgKa93y1sr9r3G6ZQrVpjLVet
PsXNW3yOccJPStoskPnrBqTdH7LFh5yin3nFjJ7kD9ryH/dVz2L7P83zMd0TPdjxEQwfwfzfPoIh
RZIiSZGkSFIkKZIUSYokRZIiSZFvTpGkQFIgKZAUyFMiT4mkSFIkKZIUSYokRZIiSZGkyJN/t//P
KydFk6JJ0aRoUvSHTdGUU0455ZRTTjnllFNOOR+h8BEKH6HwEQofofwNPkIhxb41xZIfyY/8Lg6/
i8Pv4jT+1sNP90s0H+4/2Nf/Lk6udBsFG+2P3qgFuhkJ1J+PsWzfEatV+isPx1vYt3G0MTX702m+
jrMKtqJYaWhWQiixvEnv24rbyTe9tn8sRfL+9T4zFa7Tm/XbXydpyH3hcPwPUEsDBBQAAgAIAHF6
ekkfhXtXiAoAAE/kAQA7ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3Jl
LWRlbGV0ZS0xLXN0ZGVyci50eHRVVAkAA4YYOliGGDpYdXgLAAEE9QEAAAQUAAAA7d1Pc9u4GcDh
u0/+CJi9RJrZ1JRESZRuthSnnm0r13ayxw5FwjYbmlRJyt5c+tkLUv9IkQTl2N5Nur9DJiMKwAsC
D/DCpjS+mJ5dy+hRRuNxuJDB9OxK/mcp42RiB470fekefQo8deVieja1E3tux7KupHgvjo8udu25
6/KTMAikk3hhcCkD1wvuJn4YS1W6YxrDnjkYdkajrjkalCPtao7HTmUr51H4MPE9GSRp9P02TUvf
n6wJ99t7sqrf2IfWg+0FbVExkA1NtXItdYajbrtqMrzgMfwiZwsZ2WlDp4F7E9lBbGfN3ngPMmq1
88PwKtNcf0uhpiPnXqQi1de9twPXl5vX21uKVcibexlJYat/HXNo9Uejfr8rFisJ6d2dqzBh9FXN
svRlsm1jY3I3fzfh1kNlSc27FT0uXWq1Rcv4bXh7e9u3up15zzXa2uFa33IW7DVGZmCYXcPajszz
mroMFws1wXYgtrP4swjCJ5HoYjT1erKMIiV6G0lTQRW5DaOHdY3VqGzrreC588qaq+k6s50vqkvX
ioI8uv7n37wkLZW/Oh7fyWQWfYhVRd+L7zctXAS3oQqw2SNUpJrq5UAiu6ReiVvPl+Ld8TuhOut6
8RfNnbqeOy13OefPSTeEUsWqCf1vE8LOIENYtww2PdnGUAVn+aU/HkfrPSB8WKQl3YoiYVBs5Xrp
ODKOVVfeC2c1n0LFi9OJ9OL8HtkZdY20wW1TaugWduLcf3jcboS7u7F7Q6NdWPHpNlV3c9kWllvD
onWsxsYcGJ1Or6filndGzUA3LnaZjXPdTlpKJa+13rvm26/3XIw3W++pqN1qL4xsOlN1Sz8d3MJ6
VDU7PWNuyH5K5YXbgHYJz/ZCv86MdjvmHzna9txIR7u2GTVmUfJ5tZQnqhN3MpfnG45OkbQTWVe3
dHyyLEsdxurmfS7vvCBX/aI4Fd96VKrxsh9Ne7JYyXjmhrrrZ+6FCjNJBy1NLzuV4slL7rfbaX4v
HQxMsTtVit1Ol86wMzQMd9DvWr3uoOfI1e534MSu7jZ3IetmxYCU8sKnxV1ku/IfUrrSPSQfWP2B
2obkU8X17+/g+cyslTv7Z2thNv+3mqrVvvVeZSdx3C6Nc6lkNsy7l5tDyfkyWK3B/QbW2lYJ+ko6
YeSWmlgs1X546rp1lS9z7383salIRSpSkYpUpCIVqUhFKlKRilSkIhWpSEUqUpGKVKQiFX/0ik64
DJK6WpP0TdEq1ik/Tdo+J9s9GSs8qTIt44BHULNg9bCz7hFo5TOr+jdLz+QaHoBpPlJXLlvz/Hjz
OLxUoeYJcNUDO9tNnwOK2fXmmezFVPQ7nY41GPQHhv7DA5d18Z85GKLl2L4/V31t65++q5iTqmmp
eYRdWbbQlapCeRgvd+fmHhs2kXP3HjFWXtePbaGoZvIKxfS8Cg8+tZ8pu0qfuCtTUfb/8c8izEZV
xNkkb1R1rYZWskiqmS/ya00jfdOyDqI5/baRy4Ns+tDZbrr2ZU1rpj73yYL1Z8ye8xjeNV5pR9zs
4U0q83t96Zp+TLfFNB/p2RbRK9xmlBcLNK1e98UCe8NRbSNqSz2gBVP/weqd4cvnjfVhdi/rEnju
ve/QLLvpW+2m2kY+BctYumd+OD/3/HWTMRswGzAb8J9sA8YsZjGLWcxiFrOYxSxmMYtZzGIWs5jF
LGYxi1nMYhazmMUsZjGLWcxiFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxm
MYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGL
WcxiFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxmMYtZzGIWs5jFLGYxi1nM
YhazmMUsZjGLWcxiFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxmMYtZzGIW
s5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOY
xSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUs
ZjGLWcxiFrOYxSxmMYtZzGIWs5jFLGYxi1nMYhazmMUsZjGLWcxiFrOYxSxmMYvZ38vsnUwm4TJI
msxuyuXNbq/px3FbrH5udkX0Zj9uytVA2bSjBqwCyGBgWUeTSKpBCu6Es4ziMBJPXnIvVHNChYy+
jsVPxz8dTVZvebGYe4GbFvbDJxll9t4dvxN24IrlYrG7cvTh6mp2NRanSSIfFolIQmG7j3bgSGEL
J3xYpIvAXYc8Ovkc+ssHGZ+k93fy4dfrk1/l/BcvObkOl5Ej01cT1euTv4fu0lfFVB/kb9J15ydx
NvIn27tfdfQvzmLR6o6GbTEW8zD0xbqB8Tg3WXt10kWVdbC19IJkYP4raR+0dj4+b84PWzsfc7j2
187HCqDfydpRE/vgZZ3ejdST5/uT7HquqDh+zYBNS9XZD59fs+U39RO5vsd6GqUG0wFvWseTyko1
i9rRF35ed3eSq/twyGjkUZfK72YkC1YZRf3rmMawZw6GndHI6BrWUUVXveAx/CJnGyingZtrJmPT
0q3ZUFMx86ape692OF9uXm+7EKuO39xLtaHa6l/HHFr90ajf74qFzLZJzRKfVKHcX+uTigVVOYbH
NWVUlp2HUcPSu1U3Pwsm6125oh+53aMYJ9F0v/g6s7RfRG1O9tz34vumFbwtuDdelT1RodTRQm0f
6ctHKRL9vpOlxWxlpe/Ndi83Z7XzZVB9h9Fqf53mTnRZE2ryc5tvOrrrTfn0NpHRZxnFqvrkPj1A
rmap1d4Mj/aGtUurqkZ5aXV7hlm1tGSgrixl4+I/cBF+6+Z+aMYaGrrsee4Fahz+mi5ZtQYL450f
zu9rp6hvMWNsJ/m+XwT5jPCSaXr2sB2SzU6f3+O9LKHpSxVqy6zLlXN55wWl7uuyoSb077sefhSf
uxPE6ZtJ1Z9CVA82offi/SingevEjpoOA1mZUp7fr/laR+v87yma0rO7lwErrzdMYb6oxlqhmH4X
KuTlF/9OZ9DvWi/+nU7ftBoa+RQsY+me+eH83PPXTcYHLb7ptw32YT+Q7p9x9m1Oa7S8yg+mhTOZ
U/lz8footv4Ru1in/UrnOn63xO+W+N3SH/W7JfLRW+UjkgvJheRCciG5kFxILiQXkgvJheRCcnnT
5PI264tsQ7Yh25BtyDZkm7fPNjwNIsuR5chyZDmyHFmOLEeWI8uR5chyZDmy3KFZjrj/33E5xXCK
4RTDKYZTDKcYTjHEJS5xiUtc4hKXuMQlLnGJS1ziEpe4xCUucYlLXOISl7jEJS5xiUtc4hKXuMQl
LnGJS1ziEpe4xCUucYnLt4v4dhHfLuLbRXy7iG8X8e0ivl1EVv9zZ3VSMimZlMyfAebPAPNngPkz
wG/+Z4BVMlkU5s4yuiqlFNeDH8Zyv5Bp1A5Nic3laiwnaTvFph/sr3OZXb9YbwF7cTqj7uFxsobK
x571PR4f/Q9QSwMEFAACAAgAcnp6SZa1ZNx+BgAAxjUAAEMAHABzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLTItcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAOHGDpY
hxg6WHV4CwABBPUBAAAEFAAAAO1b3XOiSBB/z1P+BB616lIFiIq+GVj3rKtbU5vsvY8wGm5x8ADj
5uX+9usBwYH5AI3uJpc8pCoyPd093b/+GnTm3t7j+AnH47GPUrRACXYiQrCXBhG5w8QPyMoJowRr
N5ph6cOeNRgao5FpjQZX30jwzxbP3FuX2zkee0Iu0zhaO2GASQr8rus8LftqptInY+Gfrkm+v1GH
zhoFpKtxTBtZdRhOxnBkdq8EPALyFH3H8w2OEWU0If5DjEiCMrYPwRrHna5ChUixcRrE2GdN6FEt
OSYirf7lnnW6Wkf/MVwul33bNJBh6l3tmjKfgsQofgYH4RCnuKCnFqDLB9M/RKUrhZSKVYGGDQou
en6moNxyj4j4IXYzYc1k+8+lnxLQ6+ERx1hD8GdYQ3ugW6Zua5sc3lfHsbqLNhuAMiJa6dDfNBLt
tFQlo0lrZxvHAMZSkmIDkCyjeL3fkVul3Jf5oOMvhDtzd90i7zuodA9QUFnTD3yXp78IRBfGoICo
EIOFJqUMIIQTE/f2Kwa+SToex/k/TrTeUEpfQBKRKpf7refhJAFVbjQvN6YG8hJqxSBhc4sxMnXK
sGTlB8kGpd7jp6cygTAB1xvq3Uq4AVCI7HB0jQ0grXMNtrEGumH0eiC3y5qcJT4p0nBmZ3FyInwK
Plewmdblg42RcbFgo4g6hFrFstRTsrijxmWjiO40eksT9foUKsoYnNf2nsclpmH9SnOhha48d5Ki
OP0rj0UHlFhhpmA29AwxRimW7eX6Btu2oQuROW6BVwFhts+qrvgVPcIZ3N8fjfp9s3S/POvO2XTT
Luce1GE+gAYOdQtI04reEPywC9LHMuOy6XYwsLRDw6YdkiHFkDfUdX/QN+2eOeh5OE+QLaGT1xjm
QaZmDR/C0vFts4qRj79g7GO/Tcmw+wPIVHgneH5CKWEa2Qzf88XfYJw8mdxAydCuu9zJOMrsYIeP
EK3bdB5PfJ/buvfsnWy9hOkBmBW1LVtvoc+c5FiTIVB4APkiFxIN1lAMCxztn3gNlRyI2Pjn84M0
kRR5sS1jkZeRT8NVm98XoTNztX6vbw1GtgmgyjmxbCrnh91f8I7hCHmoecunH0FCw5ZXuQKkXRyk
7N57GoTKZAXZ5U5mkyMdqXU8FIYLOEVXXRpApiOClCT7CWkrqoiIWFC/PGaKCG0KFTaSuWdqe5Zk
iqpekqjhXeYLCarz+eMrTcoiFLVbxl4USyUAZCsEFQaHxTa4vDvOfCwK5ZiSZlRmjfU1U4H248ox
xcMXIOq01B2t10FaLUS7IAyd7Lm6wL5AYGOBqIuvFAhusSGv5GdUXSHVD6uatYuML9wky/oKYmmW
zjeV2VyZl6cBCZLHtolZqE0bIx6VkUVSqld7uqnbJ/faivwuQg+X3wXIF2p9LaGBkF5EcUOMLANa
OIpG+vXNBzWrMEmneupUYUxxo10hgZyGFiEgtCnwS8Ka94SagCjIqvQWAT4+YS1VpytFv5xXoOmW
iE+475pdtk7xswT19T6XT5YpjiuzirMP5vpFq/DAytAS7RDcmvd0SxRamMCTLW4M/vZBeFJNOHJK
kgR6nvV+p/AHPEuvFV5X1Mk5ZjBGlbx+rnsJdS2bNApuOyaxrxDa+qdNLXz5xNJUrhS6iqLLttSl
VsHu5wbbWwH/oT2ZXCwM1C0OaFCIrsmTZ6AMXQ2dRkbDNRH1ncr3ZK+hOzip3WdHu6ba79fKq/B5
gwtZUgXWKmTq3Oi2GE7POP62CRD3NIO0G2TrTU4dza7EoxcYaBUN2wqnsi7tM04l2p+E4FXBrgm+
K1Yu/1DtpwOdHAAMjRqyBwtI8LqqEVRM+4TCLZ5G8R/4uRUaPx97xHY4lLuRXbwsAhEd8LinAYHm
nqBwUqxWr05aTIUnATFTpjgv1AEHEQ+H++MlMkuimjYsOLk1tQNzayja1/rBW9yiTER7ZFeAclp5
30j3iK9QBLeOkkvFc9+/CA/dwvbH3L6IZFTfj46Ghvm/f9E5EcCfa/r4OBYZ8Az3QBNhPnm/1y5t
q/h7viz5uLz4aZcXH6Pyy0flt1IYzjq4fwwa73PQSOhqsg1TYJjGWy/dgqedMCL44xXvxyveY17x
vp/Xtm+lQLzel8iN80NlNUmjjXA4YBek318v0lV+2RBi/4xs2K92ZjyY4VQ3bbv29UjuF09AZOlS
Dyp/OVVlvUbPC5w9n+2TVk2OMTLby8l/hnT1H1BLAwQUAAIACAByenpJ9BRwvJcGAAD7NQAAOwAc
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtMi1zdGRlcnIu
dHh0VVQJAAOHGDpYhxg6WHV4CwABBPUBAAAEFAAAAO1b3XOiSBB/z5N/wrytVm2qABHRN6ObO6uu
Tm+T3DvCaLjg4AEml5f7268HBAbmAzTx1t3NQyrl0NPd0/3rr0Hns5s7HD3jaDwOd5jMbr7iv/c4
TqYOcXEQYO/qgfiwMp/dzJzEWTkxllGia9S5mp+Pn3egn4aEYDfxQ7LExPPJZhqEMQZq3dSGfdMa
6qORYY4sXlK5czx2hVxuo3A7DXxMEiq9ztO01fqkLLzTNcn2N+rQ3To+6SGBIRtYdRlO+nBk9ETO
8Mlz+IQXOxw5lNGEePeRQ2InZXvvb3HU7SlUCBUbb/0IACDf++gQL8D550KFGJS/f8QRRg786ebQ
HoxGg4GBdpnnqFNuQUwYvYJXcICTgkeOodLe92HhPyGl4qlAY26p20Nd7Z/her0e2Ia+6ntaD3Y2
HjkV9h6WsTTT0OzCMsexWoa7HeDXIajw4mdEwheUqGQ0aT3dRxEgsJCk2AAk6zDaHnZkVin2pT7o
eivhzsxdN477BCrdARTw1d0fv/kJpWJXx+MNThbRlxg2Bn78mHOYk3UIAvKYBkmS7bwglC7BJ7T2
A4w+dT4hUNbz4yfFST3fm/EqM/hzaQBzG0UO/bcJhLqVglAWBrkmhQwgXLAZeTyODqk53O4opScg
CUmVy93edXEcgyrXyM38iUBeTB3px2xO00eGRhkWrMB0OydxH788F4mrPI3TH2q9SsTT6iE7XFpZ
mBhG3Q7YxrQ0Xe/3QW6PK1gKQzcGO07tLCtwXOp/r3g3zPPHOyPjbPFOEVVGe8Wy1FOy0KfGrcQj
7NT72krDAwqVN6YBZQgvaqLfx6OGbn5LazsrTVNVeLBZlPyZhfIUlNhgps43tDoRdhIs28u1O7Zt
Q/Mk8/sKb3zCbJ9XXXFqayPBS12asrPIkHFkQi31ZD6AmCk1Gi0vJSrRi588FumUzaWWZaKyC0Rl
pqMedoea5lkDw+4bVt/FWfZr6djstMxCqqbAIFxdeNhtIsfDv2PsYa9NPbAHFqQh/CJYv7zG88iq
xfTqaSwsVn+Bq7K8dQ3VCXV6nJ05ytTM5UeI7D0ks4nncVsPOFvKnhdGK81UUdu0tRb6LEiGfFk8
CA8gf8g5qMEainmIp5Ukkzw3chsk6UDkPcejoECLuzxA5zM00HXdtqyBpakryVIm/0hjoK7rBMEK
dO2pUzHInIrcIslnQtqKKiIiFhhvx12O8ia4sdHArantWZApqmhBooZSEXPKQeIrTbOAnSj93/mM
wtR6KE6dmaHHhHzdwAW7YUQvHp7wq4RJH+Z9GRMAbgsOpvruoQTx8jhbs5CVA1CawphnLDCYAnQY
RY7J1p4AfqflynC79ZNq5n/xg2Carqvr6xsENmbkuvhKRuYeNiSh7Iyqa6n6YVWjfJ6KhZtk6VhN
fJy6TDoWsm1jjaPysEhK9d5PMzT75I5WkdVFMOCyugDCQq07EhqIzVUYNYB97dNykTfEl9fn1azC
ZI/qqROFMcUNc4UE5xNpUwQXhDXvCTUBUZAe6agPH58xStR5R9FpZvXmdk/EJzz0mzOmKglmAurr
Q1KerBMcVWaODDPpnFC5kBUeWBlaoh2CK/W+ZopCCxNY2ePG4G8fhCcl9yPnC0mg3/oE7PArhT/g
WTq8X1bUyTmmMIZW8/2nf/YNQFuziXFRS/IKViJM2qa6QCnY/b8QvTDIqHuKSSNujrn9adNBTM6G
VHUXAhrkoudtryi/UWWVpKw7ehvV0JqkNFzXUd/5Xq01O2s1lWevVgGF6w0uZEkVWKuQqfFfqctv
nkvpTeKb59KBaTcweSD7GHs3Qbi69YMDy7hV8M1OM3a7gbTe49SxOZOg5QyDqaJf2+BE1qT9ghOJ
9idFxyZn1xQaG1Yuv6j2U0knBwBDow6H0gLyl0QVCKuiYTBqqtnLutSWR22HR7k72YfnRaJD5zxu
1SfQ4xMnmORPq1chLYbDkwCZKpOfF0pa9sWiw/FimSWdmjYsSLlnagdm1lB0sfWDt7gVmYj2yK71
hPzbNC2ijS3Oesylh0hG9eXfaKgbP84XlCRROxHAjWvk+LgRGfAdrl8mwvj9eW872lbPn/mO4uPO
4EKGzssy98cI/COOwB9N/nfb5Mf0abwPEmCYRHs32YPHp0FI8Mfr0o/XpR+vS7+70eFyX942DhCV
p5Bfd6pvU0p+R3Q0tVQo+w3IdJUZQjXDtmvf2+N+bQREpiZ1lPJXS1XWW+d1hdP1+SEh1eToI6O9
nOwnQPKT/wdQSwMEFAACAAgAcnp6SVXIQJksBgAABzkAAEoAHABzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVU
CQADhxg6WIcYOlh1eAsAAQT1AQAABBQAAADtW81zokgUv+eUP4GjVm2qAFHRW6Jj1traMTXJ7L2B
p2EHwQWMM5f92+cBAg39ASZak81y8GDzvvp9/N7rRpfzu0cIXyCcToMd+PO7L/DPHqJ4RnwbPA+c
q6++iyvL+d2cxMQiEYgolRvl+mp5OXnOkX4W+D7YsRv4D+A7rr+ZeUEESK0Z6nhgjMbaZKIbkxGr
qeScTm2ulEUYbGeeC36caK/LNEy5PakI5/WWZPyNNvS2xPX7CseRDaJ6lCRtPNH7vGC4/kvwDVY7
CEki6NZ3nkLiRyQV++RuIez1JSYEEsaFG2ICUC60EysZITyr/mXWen2lp34fr9froalrRNPVfpYv
C9QYhD8wQOBBDDl9nk6l65+CIpRcSslTjoUNBloDJzVQ7Lln4jsezFNlzWTH70WcIrTr6RlCUAh+
NGNsjlRDV01ll6X31WmiHoLdDlOZ+EoR0N8UPzgosUxHk9WzfRhiMhaaJAxIsg7C7ZEj80rBl8ag
51hczixcd8T+hiY9YirIvOm4zpylv0iKWtooT1FuDuaWFDqQcEUj43QaHiEy2O4SSodDEvhVKY97
24YoQlNuFDtzpoL6osSLbkRjizbR1URgIcpxox2J7edPLwWAUAU3GKv9SrklKC7aXIrwVAEpvWv0
jTFSNW0wQL19pnFIHN1YaZD6WdRoGAg+V7HpxuWLjdJxsWJLMqostYpnk0iJ6i5xLl1FCac2WOtk
MExSRVqDqxrveUKia8avdBexVOm+o5iE8V9ZLc7QiA1QDbNhZgiBxCDiZeYG0zRxChEFzoKN61Ps
y2oo/oQt1jdy0Kss1y+ZJc6QJsPJZDjUizQRo/OKhqV22FyaQ31BC2ZJ+FCbks+QGK+DGz8XyEzD
8mhkKOVgp5SgmeSaPVZVZzTUzYE+GtiQAWnLFMt6EbWQmlnLI26L+brbhMSBzwAOOG1aizkcIaLB
gbP+ipZDDbxpHaysv9E5GejcYGtRrvvMzhjKdGPlV6zqfbwKbx2HYT1G9kH0vEjTMjErZhum2sKe
lZ/lmigDuRsQP2RKosEbkkMFSysAkhwXGQYBhPCiR5ykDJXVY14Sy7kyHAyN0cTUMVkySbSYyr6Q
+zMcKImIL80sn767UVKOrMmVBDmEbkzzPibFJQUhRI0HkU9ODJDSs4nnWbiLvrw1oM4ZL1UEqMal
rZjCI6KT9e21kFdeUwnQFcqsyf1ZkEm6ekEiT+8CBwRZnZ0/viRgy8uido/BDkKhBkzZCkFFQPmw
TV4+nOY+OgvFOSVESuoZHWuqsxyPK6c0BafeFDIXSlOaR/ERugqzsaaS4npC/FCeJSy9JAVZWnnZ
zRkGaf21tKIohPlb93oKQM95XpdeCjQA9FwW925Y6YaVbljphpVuWHk3w8oZIDnYbt24OrccXM+b
pevyU/4bFDYCf119BfiZhw24ku1R9r6rvlnZi4Ec8blMItSXEAtROmMq0FyKywvXd6NncE6ibQXi
XMvbOPwk9OZpqb6zVHXVfPXloKQX8DKN6QWcKuFafS2gwfK3grChntZu0mTym7/3d6FZ8woFUNVd
xxJn8m8GKySIf8TyMEObQKIgrEWPawmqQgROXo/g1xdQYjm0SY5iWbda7H25wo+49Q3EogPoPcTH
Fsze9CaJfWxyt+sYwspN8uyIcvXX5dwtSnGEx8H57cNANXg4Aj6u7KER6dojzsfZydvbflumE6/w
BaCedbjfE6hD7BK+G3tfCCuWmNYtqfTw2su1V780k884t42K277Vo6+D2saHn7W1yUEiilcxpiGf
eiTi3lJADQ3k9FL5r6RuOUjeXiyJG27YXCdXXdMnxo/0lqNhJkxpmHGvzin9qdZ7mOO6U+NHPTV2
p7vudNfNHhjyi1+Gy8/GXXP8fzXHTX4SbmpXG/rIzC7KI1fSid1A0chrrTy8C2pqUyOolMUL8faw
CMI/4EerZL8/dYvtbuArNxD1hLznBaU4bEbJ02jvxSgwDvd2vMdIz7zAh+6qvhu6LnVV3w1o3YB2
tuv3ytMoDnayPyoJ/lMnE0P/GDhdpX4WruqmWfvpE/NfOiQyVGEiSP+TVxW9JT8sSNeXR2Sq6dEm
ens92R/czuWnn1BLAwQUAAIACAByenpJuLFkcY0GAAC9OQAAQgAcAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtZmFpbHVyZXMtc3RkZXJyLnR4dFVUCQADhxg6
WIcYOlh1eAsAAQT1AQAABBQAAADtW0tzm0gQvvvknzC3SFVJFSCEkG62FGdVtRV5Y2fvCEYyazRo
AdnxZX/79oCAgXkAKyXRpji4XAw93T39+LpnBi0Xtw84esHRbBbuMVncfsF/H3CczB3i4iDA3tVX
4sPIcnG7cBJn7cRYRok+oOurZcnPO9LPQ0Kwm/ghucfE88l2HoQxBmrd1CYj05ro06lhTi1eUjlz
NnOFXO6icDcPfEwSKr3O07TV+qQsvP+uSTa/UYfBzvHJEAkM2cBqwHDSJ1NjKHKGT17CZ7za48ih
jG6I9xg5JHZSto/+DkeDIWuGs7hZvqRQocidH4Ek+dwnh3gBzp+LJcUg8vEJRxg58KebE3s8nY7H
BtpnkUBXdwdiwugNvIwDnBQ88pgs/fcYFvEgpFS8FWjMDQ2GaKB9m2w2m7Ft6OuRpw2V5jouORV2
DstYmmlodmGZbqzuw/0eHOwQVHjxPSLhK0pUMpq0nh+iCCK6kKSYACSbMNodZ2RWKeZlgeethTMz
d9067jOo9AChgK8e/vjdTygVOzqbbXGyij7GMDHw46ecw5JsQhCQYwRIkkznBaF0CJ7Qxg8wenf9
DoGynh8/K1bq+d6CV5mJP5cCAjdR5NB/moJQt9IglKVBrkkhAwhXbOrPZtERA8LdnlJ6ApKQVLk8
HFwXxzGo8gG5mT8RyIupI/2YxUh9amiUYcEKTLd3Evfp40sBhOVqnNFEG1YynsKUbHEphDE5jAbX
YBvT0nR9NAK5PDIqDN2Y7Di1swxJuVJyrnw3zO+f74yM75bvNKLKbK9YlnpKlvrUuJV8hJn6SFtr
eExD5UQYUKbwqib6PB41dPNnWttZa9TaUjZgsyj5M0vlOSixxUydb2idIuwkWDaXa59s2xY1Yy17
Hlm8rPHWJwz9krQpG/VZys4ii4yOgFpqyDyAmDk1Gi0vZVSiVz95KuCUxVLLMlHZVaIS6aiH3Ymm
edbYsEeGNXJxhn4tHZutlhlI1RQYhKsLX/fbyPHwZ4w97LWpB/bYAhjCr4Lxy2s8O1YtpvdPc2G1
/gtcleHWB6hO6HrI2ZmjTM1cPkJmHwDMbjyPm3qMs3vZ+8JopZkqapu21kKfFckiX5YPwgXIX3IO
arCGYn/F00pAIcdGboIEDkTeczwaFGj1kCfocoHGuq7bljW2NHUluZfJ72gMNHCdIFiDrkM1FIPM
ucgtEjwT0lZUERGxgXF63OVR3hRubDZwY2p7FmSKKlqQqEOpyDnlRuILhVmInSj9f/0ehan1UJw6
M4seE/C6gQt2w4juzJ/xm4TJaDKVMoHAbcHBVJ9llEF8383WbMjKA1AKYcw7NjCYAnTcinRBa6+O
1pmdlfEvovgV4J5bWFP+CS0hf6mOEp5eEYI8rTpHF9wEZZpVvSdIkfHUNtUsvpJDjL3bIFzf+cEx
b+NWWbU41XBdSsNC5ELl6UFDaViogqhvSfqWpG9J+pakb0maW5IzYGW42/lJtTt59YNgno6rt/wn
CGxE5Lr4CiJzLxtAKFuj6uatvljV7UIOxcJJMjhWE3dTl4FjIds21uiEwyIp1atNzdDsU+4jZagu
CgMO1QUhLNT6WkIDubkOo4Zg3/i0XORndJd39FSzCoMe1VUnCmOKz/AqJDg/JG/K4IKw5j2hJiAK
4JHePsDjC0aJGncUu6Gs3twdiFrgr7j0LU5ke8BPOMkKqOBMlgb2sQLdbBIcVc58swRJz2krF+LC
JSpxRDRD8InESDNFOIIJjBxwI9J1/wLi/7+S02ty20kdj7cloH7nEzDebxTqALukd0eXhbByjmne
wrZCfol0hihtbbY2nctNd41rHYFCF1EmyM9BhBdpys5HIfoUQzcUke7pclnhK2CVOM/4M/6WfDkQ
AnhWC6Kjm44brJAEbyg+7PfQJsVIZ4vUewQqoVeQHMDu2ntDTw5UMb1V+3rz3VKn4TTM93LRNXly
1Hqg96ENnWhKwzWZ9ZkX98Xcjw+Ofuvab137rWu/df15jZViu3xy93SKgc/TJ53fGZdctC/uLOZH
tBBnqWjb/Fygqaht2QMEflDtuZJObm2GRp1+5VGG/FvOymWB6uYivaJtE/Sfui613aVB5VymHgqf
RM4ptuAxfRsfggQYJtHBTQ7g8XkQEtzfLvQtWt+i9S3aj7tdqLwFfN2rvoeW/ORMxeZM/NmPm1Me
zMflmmHbtW+0uB8mApGpSeNJ+QPHKuud87bG6fjyiFQ1OfrUaC8n+7Xg1b9QSwMEFAACAAgAcnp6
ScPkuysBBgAAoC8AAEcAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUt
Z2V0LWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADiBg6WIgYOlh1eAsAAQT1AQAABBQA
AADtWs1zokgUv+eUP4GjVm2qAFHRW6KTrLW1ozXJ7L2Fp2EHwW3aZOayf/t2g0BDfwDGzGSrPHiw
eV/9+vd+r7thMb97BPwCeDqN9xDN777APwdIyAxFHoQh+Fdfo4COLOZ3c0TQGiWgkjRujOurxfvZ
84/ysziKwCNBHK0g8oNoOwvjBKi05ZjjgTMaW5OJ7UxGoqdSczr1pFbucbybhQFEhHmv23RcfTyp
Cf/0SDL9xhh6OxREfUOSyAZTPc6SNZ7YfdliBNFL/A2We8CIGbqN/CeMogSlZp+CHeBeXxNCrFG8
DzAFAJdCj0UpGJFF9a8w1usbPfP7eLPZDF3bQpZt9jO83FOPMf5BFwhCIJDL53AqU/8UF0spldQ8
lUTYEOB64KcBqjP3jCI/hHnqrFns+L9Yp4TG9fQMGAxEf5YzdkemY5uusc/gfdXN1Cre7ymUUWQU
C/qbEcWvBtH5aIp6dsCYgrHwpFGgIpsY744aWVYKvXQNev5aqpkt1x3yvtGQHikUdNn0A38uyr8L
RNfWKIeoFIN5JIUPKrjkmXE6xUeKjHd7JulLROKoauXx4HmQJDSUG8PLkmlQfwnLYpDw3GJNbJMZ
LEz5QbJHxHv+9FIQCFdwg7HZr5QbY3HV5FKG5wrI6F3T3Dgj07IGA+q3LzQOTaIbKw3SPKsajUDB
5yo223n/YuN8vFuxMUSVpVbJLFspVd2x5PJVxDStwcZGgyGDirYGlzXd8yyJbTm/Ml1obWrnnRCE
yV9ZLc5oEFvgGmbDngEDIqDSFfYNruvKdiE/odmfYR2Hk8lwaBfrqKbPJc8b7cizDIf7QyOYsfxS
b0a+yaMJfQ3Ic0GdPG+ORo5R7ryMktUYGLyxafqjoe0O7NHAg4zpWmIgaxbcQBpmbaGlPeDrfouR
D58BfPDbcL87HFHKgVfJ+Ak9gduRpkBdrv+myclY4YZyv3HdF2YmSKYTK//SsjuQJb71fUH1uLKr
/LmKodawDSJOc1HlnD9hRxsZ1eBHRS3BfVEFJe4rWXFcs8V0l1EGZRXApflRPxSm35BszaFClFXk
N+dFQUGRWRk4kM+q3Fg+5hW3mBvDwdAZTVybYjGzxJupzItqf4ZXziKlr2aVT9+DhFW7GHIFf684
ILzuI6tdLcdRUlqpctJxgYyeh8JwTWfR17cG6nMmg4qCNKWylVBkQjxY314LeWE3lQBPAMKYPp+F
mKarN9HHEd4FzShQnZ0/vjAul6Go3WPwYqz0QCFbEagYKB+2weWqW/p4FKoxtVIRNfeMX2uucR2P
K116jl/vOVkKtZCWSfzipnWWShIm1lRS0kyoH+pRIsprICjK6stuLiho669lFEUhzN861y4EPZdl
XXsp0EDQc926XzYrl83KZbNy2axcNisfZrNyBkqOd7uAVPctr0EYztJx/SXCGxw2En/dfYX4hYcN
vJLNUfe+qz5Z3YuBnPGlSirW1wgrWTpTKthcy8v3QRQkz+B3km1F4tLI2yS8E3vLvFTfWZq26Z58
96jpBTKkCb1AUiXSqK8VMrT81zFuqKdNwJpMfrH48e5La1nhCKo6a6JJpvzisSJC+Q+tQ4rQJpIo
BGurJ42EuqIMzF6P0L8vYBA9tWmOYlsgqlPYA5BjHxJvU9nqHpn+dkMAV25rZ8dSr78zlk5RW0wy
DckHAAPTkRUTRHTkAI3l3r7sTuoYHe+JFaWd8dzvDPAUwco3JB+rztQWU+CiCpPXbp5PfjOj73S3
jY47XHl3Xh85AGv9Q2NKBn7X0fc+jbmfXgsC9/xf8FruIW7fDbkNlyuBn7uu+VOTRnrAbdgOpDJC
p69rar/S+Qgt/KT9+zZvcU3decv3QnFQv3KlnDoNnIyev8qurOCpbU2gUnIvKDzAfYz/gB+twP7Q
dYrtzpeVrUUdkA+yRSmaaMKeJoeQUIMEHzxyoCs9C+MILgfRy0G0y0H0cmC8HBjPdmCsPE1IvNd9
Wqv4Clxnhv86Jh3lPmQybdetvawTvv6mQo6pBIL2K/Kq6R36sYZ0fHFkm5ofa2K395N9kt0xT/8B
UEsDBBQAAgAIAHJ6eklmvphJGQYAAHgvAAA/ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lk
Ym9iamVjdHN0b3JlLWdldC1mYWlsdXJlcy1zdGRlcnIudHh0VVQJAAOIGDpYiBg6WHV4CwABBPUB
AAAEFAAAAO1az3OrNhC+5+Q/Qbdnz7zMAMYY+5bYL6lnOnX6nPSOQXZosHABJ83l/e1dgQGBfgCJ
05d2fMhkLFa7q91vv5UEi/n1CkfPOJpOwz0m8+vv+K8DjpOZQ1wcBNi7eCA+jCzm13MncdZOjGWS
6BL1LhalPu8oPwsJwW7ih+QOE88n21kQxhikdVMbD01rrE8mhjmxeEvlzOnUFWq5icLdLPAxSaj1
uk7TVvuTqvDe7kk2v9GH/s7xyQAJAtmgqs9o0scTYyBKhk+ewye83OPIoYquiHcfOSR2UrX3/g5H
/QEbhpOkWb6kUOHIjR+BJfncR4d4Ac5/F0uKweT9I44wcuBPN8f2aDIZjQy0z5BAV3cDZsLoFbKM
A5wUOnJMlvm7Dws8CCUVTwUec0P9Aeprf483m83INvT10NMGynAdl5waO0VkLM00NLuITDdVd+F+
Dwl2CCqy+BWR8AUlKhtNXs8OUQSILiwpJoDIJox2xxlZVIp5GfC8tXBmlq5rx30Cl1YABXyx+v1X
P6FS7Oh0usXJMvoWw8TAjx9zDQuyCcFAzhFgSTKdN4TSIfiFNn6A0ZfeFwTOen78pFip53tz3mUG
fy4lBG6iKKE/mkCoWykIZWWQe1LYAMElW/rTaXTkgHC3p5KeQCQkVS2rg+viOAZXLpGb5ROBvZgm
0o9ZjtQnhkYVFqogdHsncR+/PRdEWK7GGY61QaXiKU3JFpdSGFPDqN+D2JiWpuvDIdjlmVER6MZi
x2mcZUzKtZJT1bthfny9MzY+rN4pospqr0SWZkpW+jS4lXqEmfpQW2t4RKHyThpQlvCyZvo0GTV0
82dG21lrNNpSNRCzKPkjK+UZOLHFTJ9v2DpF2EmwbC63fbJtGzZjsryv8dYnzPQFaUP/9Vmyzt52
WyWh1CXLJe0ItbTN/AD3ZjRotL2UqEQvfvJY0CnLpZZlonJXiUqmoxl2x5rmWSPDHhrW0MUZ+7VM
bNZAmIHUzXogRX3hYb+NHA//hrGHvTb9wB5ZQEP4RTD++TaeHbsWs/dPa2G5/hNSlfHWJXQn1Btw
ceYk0zCXP6GyD0BmV57HTT3i7E72vAhaGaaK26attfBnSTLky+pBuAD5Qy5BDdFQnK94WQmZ5NzI
TZDQiCh7jkdBgZarvEAXczTSdd22rJGlqTvJncx+x2CgvusEwRp8HaipGGzORGmR8JlQtuKKSIgF
xvtxl6O8CW5sNXBj6ngWYoouWoiooVTUnPIg8Z3SLGAnSv/3vqIwjR6K02Rm6DGBrxu0YDeM6Mn8
Cb9KlAzHE6kSAG4LDab6LqME8V23WLOQlQNQSmHMMxYYTAM6HkW6sLVXZ+sszkr8iyT+D3TPLayp
/oSRkD9Uo4SXV0CQl1XX6JyboCyzavYEJTKa2KZaxQM5xNi7DsL1jR8c6zZuVVXz9wauS2uYi1Ko
vD1oaA1zFYjOW5LzluS8JTlvSc5bkuYtyQm4Mtzt/KS6O3nxg2CWjquP/O8w2MjIdfMVRuYeNpBQ
tkbVm7f6YlVvF3IqFk6S0bFauJu7DB0L1baJRiceFlmpvtrUDM3+gIuzmQgGHKsLICz0uieRgdpc
h1ED2Dc+bRf5Hd3nu3qqRYVhj+qqE0UwxXd4FRGcX5I3VXAhWMue0BMwBfRI3z7Az2eMEjXvKE5D
W5zIDkK3OMm6iOBikmb3SMNXmwRHlYvPDCXpZWXlrbBwicpiEs0QfCcw1ExRMWECIwd8wvvqN9F5
x0tOSWnf+ATi8AsFPCBY+gbhc9WZXGMKXNhcyl9BvDVNDW3oqtFwl3cf7Nm8bY7EIKz1EIUqUQHA
yVnZ/xTq/vV64Pjnv4LZch9x9WHobbiW8L3cdM2enDhW9MVUw5YgleG6fX3mZ/x06f0b7G3e5po6
9Jbth/ygOnOlnDwMjIyaw8rOLH8/XzkAqk6j6bVbG9Dfdl1qu4NgZZtRB+atKDlFQ43p0/gQJKAw
iQ5ucoCMz4KQ4POJ8XxiPJ8YzyfGn3FiBHLdV7/E0Qzbrr3Q4r7iBiFTkyZK+TV4VfXOeV3jdHxx
pICaHX1itLeTfVqt/EKQ/xy6s3QltMf49eQP/gFQSwMEFAACAAgAcnp6SVcxlzTbBQAAsz8AAEMA
HABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZ2V0YWxsLTEtcHJpdmF0
ZS1zdGRlcnIudHh0VVQJAAOIGDpYiBg6WHV4CwABBPUBAAAEFAAAAO1bS3OjOBC+55SfwNGu2qni
ZRv7ltiTrA87Tk0ycxcgJ2yw8AKJJ5f97duAwRJ6gB2ndqZGBx8M3a1W9/d1CwmWi+t7nL7idDYL
UY58lOF5QggO8ighd5iEEXmcx0mGjU+G5ZoTxx1PrOnUdqfji28k+ucFLxfXC05zNguEVm7SZDOP
I0xysHfZtul6F0uVP6WJ8HRPKv1OHwYbFJGhwRntNDWgLFmTqT28ENiIyGvyjFdbnKLC0BUJH1JE
MlSafYg2OB0M6TAkW0wW118x2MnyOSIBjmMciiyLJQvPzm5PHqJEMbGbKIWRKF+CIoqcEZEv/3LX
BkNjYP6YrNfrkWdbyLLNYTXRGxgxSd8AQDjGOa7l6zgcoPGQNFATSiruCjzscNB3wtJBeeSeEAlj
vCgH6xbb/29wlIFfD084xQaCn+VOvLHp2qZnbCv6XRxn6i7ZbiHXiBhNQv8wSLIzctUYXV7PX9IU
yNKMpFAAkXWSbvYaVVQavQqDoS/UrNJ1jYJncOkeoKCKZhiFC17+QyDqW+MaokIM1p40Y4Dgiqbg
bJbuuZhstoVkKBBJCGvl/iUIcJaBK5+MoAqmAeNlRRSjjK591tQ2C4ONqTDKtigPnj6/NgWOIpwz
MYcM3YpyIZtcWUooAhmDS4iNOzYty3FgXL7iKQLdyTRcxllW0bgWcS6y2e7Hk40a48PIViDqQDUm
skWmZLwrgkuzqNC0nLWNnFEBFSUHVy3d86TEttz/M1zIN5XzznKU5t8rLs7BiUdMNcyONU2KUY5l
uty6xvM8WCXJEufjx4hQ6ks2FaeuYf7CG6gLoEdb40d711riDDAZTaejkd3ARF6dV3RZ6lebD+5Q
f8CDeZE+GM2o17iQr12UPzWVmS7L47FrHBaexqFoFlgLJqYZjke259hjJ8BVIe0JsaoXURdKN1s4
EraYb9vHFIX4C8YhDvu0Fm80hoqGd4LrJ7QcakFe8mDl/w3BqYrOJ2gtxuWQmxknWU7s8BdY/ZKv
0qsw5FT3mb2j7v8Oisz9hooH8jGpcT2zR8xXpOKTjGXCJMlvcrTvyLjiwY6XlRTLuvZzCpJyJ0Io
CotSY6zua9ovF8bIGbnjqWcDISpLtBlmXqD9Be8oi02tVal8/hFlRcnhXWYAskujnNa9LwqIstBC
ZbyTxeTIBBmDAMWxD7MYqtsfjDkXQUVSuYWyjCsiIRqs7+dCzbwuCtAM5a6p49mIKVYujYga3k0d
kKD6Gb+VgMqWpAcHqieyr0X7EWGu320cJKnUHwA4I8AYONzsg+K744JNY1aOQGldpe7RyKB67f4B
7pg2GQrwp0GrQatBq0GrQatBq0GrQatBq0H7W4I2SDabKGe3kXZRHM/L6+rtsXcM2Ln10R6e2frg
bnY8WVdzVB1ktyerOlGr9zyESrJ9D4WwdJ+iUmr2M5Q7EzcRibKnvlsTQm/6BPGoPQnRKOwLBqZt
eu95K0C2wyFCD7fDIUC+0OtLiQxQ2k/SDo6so2LrpN4G//l291tRoYoOO+tcEUzxNjkjAjUN+TEg
tIv4jWAre0JPYCioqsVZIfx9xUauLleK3e5HnF/FsWwf+La8SylUzSYTnAYU+d7X86t1jlPmtGG+
J3T7lQrhpJX0EmkI3t9xTFdEL0zgygvuLAD9iXhSXzjynENC9qry/VlQADAtPUD8uZgnt1hCGTG1
vXUC2dGXrjoN9D2KPMPrWr3zIwZgq6MoTInA77nqbqgwd/Lc+7Tf7gydOrq6hYMH9dCt8U5i8K9y
Ul0e2nQsBkoZrs+3Nc+1Bq66zb6JdHVERpjmFntDnXpWVh79lpy60twywpKq0nfkAz1uT51Xvwe1
23Y821i4lWXnLI9sZ1p2aBBqEGoQahBqEGoQahBqEGoQahBqEGoQahBqEGoQahBqEP5Cp+rSbwT5
D5OPlmb8yvJkWx8+0Z/FlFepD6RM2/Nan5ZwX72DkGtKk6j8ep41vUFvPi6vL/eZbI1jTW35TP4D
UEsDBBQAAgAIAHJ6ekmdauy6OAYAAIxFAAA7ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lk
Ym9iamVjdHN0b3JlLWdldGFsbC0xLXN0ZGVyci50eHRVVAkAA4gYOliIGDpYdXgLAAEE9QEAAAQU
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
iMwzFmfMnL17e+sywQUCNOsU0CmgU0CngE4BnQI6BXQK6BTQKaBTQKdAxyMq1YWzpzCKJMcI9JmY
hjMxspUetXA3dz/eQZixYRn/vYMwqmMqH26ZvBYVhj2qvc4UwRTvN1RE8H5DrymDS8Ha6Ak9AVNA
j3SnFC4fMcrUvKNYqL/F2UUU/YyfU9ky9nUuwTQqppZUsLVCx3xHzhfrDCeVrZvJ7sRa/bCRsOPK
FBO1EBwoGhi2KMUwgTsPuJEE2ifji0i+4zaNJOGvQgJx+ImmAeBaugf6oxxCyeHsZVi+GXqMY11t
w9ZmVrvo7nFttlD4IgK1a3fa6VXOigrT/24+/ECHpBYvHveWAVRXI+DB3vSs7UmPd5phJZS1pJv6
DSVKLsNVH/WWxyqxizlwN601zdMVYZZWqg/Uo1iVlUe/JqemouuKsPyUkXg2bwP665d2sd0r4XU9
tHVYXMsG6igvh0esizQmNSY1JjUmNSY1JjUmNSY1JjUmNSY1JjUmNSY1JjUmNSY/OCbf96BAmsVb
1a/3JV8Q6SzN/tIqt8j80s2wXLf2+yDucyIg1OWDBuwHRTp9OME1zLElj9I/UEsDBBQAAgAIAHN6
ekl+t+nmaQYAAAo9AABRABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3Jl
LXB1dC1hbmQtY2xlYXItZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAOJGDpYiRg6WHV4
CwABBPUBAAAEFAAAAO1bTXOjOBC955SfwNGu2lQBxjb2LbEnWdfujrPjzN5laDvsYPAKnEwu89tX
AoMF+gBieyaT4ZCqGLWkVvfr1y0JZtObBeAnwONxuIVgevMJ/ttBFE9Q4IDvg3vxOfDIk9n0Zopi
tEQRyCS1K+3yYna+8dy9/CQMAnBiLwzuIXC9YD3xwwiItGHpw541GBqjkWmNBvxMh57jsSMc5RaH
m4nvQRDT2ctjWjbV5wGjIEL7YYjqGNF/H7wN4FsPE707+tfharXq26aBLFvvcp2ccLPx4nmQrow2
HzR7CLP1plJMR9YYfCO3WsGUF50N8oKuJvABN2Bi/o67FEqTVa9CvJkIOy3+/tOLqfwNcr4Qyy7i
EEtnyIWbqet67r1KhzrW0DoO8v0lUbKrxgqZTDhLER+6qdsidHvBU/gF5hlQrgOXGSaBTacrw4Bo
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
AAgAc3p6SQM1MzcgAQAAiwQAAEUAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRidmVyc2lv
bmNoYW5nZWV2ZW50LWNvbnN0cnVjdG9yLXN0ZGVyci50eHRVVAkAA4oYOliKGDpYdXgLAAEE9QEA
AAQUAAAA3ZLBToQwEIbvnHwEjnAwAbYsdG8C2YSTRvEBKgzSWKbYshsf3wrRkN3KJpt48dBDO///
ZWb6l0X2BOoIarcDPbIXwXVXKYaa1SOX6Dwjfz9AWWQFM1WmIZeIMNXsDvfWvTEnJEGyIdskpDTa
BOScY9xoXg5w4rUpOR7lG9wPoNiX7A6bhaniPSjPd8r/OIkcAIvsEQxHjznDGoSAxka2K6c+Frzm
bPYHwIbjay6khpNpCd2ub622UvZK9rnggKNlg4Sk6/1MiOb6Tmb/xR68nnH0XcsiL6C8BSlMaPQn
37UIxSSd0zLlY8+V0XnBR9K2bZxGISNp4F9n+n0JciWhE2zF2zFsBHzff7KuzXBVBwpcZk5IkjSm
NI4jd5iz43wCUEsDBBQAAgAIAHR6ekkj9ebHJAgAAIVWAQAzABwAc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2luZGV4LTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAOLGDpYixg6WHV4CwABBPUBAAAE
FAAAAO2dTW/bOBBA7znlJ+hoA1tA/rZzS5Q2CBa7Dpq0e5YlJtZWkbySnLSX/e1LSbZEW5QsF2kX
Sd/BQEzOkMPhmxGdDJ3ry4sPtpOE0bezM1f4IhGXdmIv7FgY74zTk+vLCysMAuEkXhjchbciehJR
nWRD76fA+2ctpMy29eys0tTpGh3z6+T+/n407fcWA9fsSs3Oo+0FXUMzwNIOXF9cZpMdFtu8n69E
ZKeLiaVdd0sRCcOWr95wMh2bw745NVYicL3g4eS4oW7C1Uq4hh0Y4bb5NyMIn42kaY5DVlvrKBJB
UszUoCBF7sPocaORe6XQy/ag4y60mvl2XdjOF2nSrUShyZuu515W5ZXNd/wwFhVFnTf/PURAb5wR
UMfg1pJiDikoVxxcXnwUctw4OTuL8h+s8HGVSroakTDYHeV27TgijqUp7wwnd6Yh54tTL3qx3ERz
MhiOJ73ZrDfrm+mAxVCuF6/sxFm+f0qVpMvV1diDidlNxYtwk6AEdYtL+9QAMjqn0jfDsdnrDQZy
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
LdaoSWIE7E5Z++ln4wd8K8PnmOwviHf7v1KrOZjntYLb3Ml9FHUfg4L52RRfU9JwnUz0quk19hsd
lhyPfRffWNZEGwlNJZAoj+w3Wh7C8yE8H8LzTxyeU1ivvIw21Gn6oI1pBOEL6yLrnfVrg5P21WF7
l+QoutJcTvpc+Twv54Z34/2/G+/rcwPBg8bhWWIfzxLfwUM5UzL1zg/l2gTX/R9Jw0O54aEcqyrV
vqrT80ux0zlYcRRUaXX9CBPf8uZZbzFRaBA6dcoTkslkaQJYPv0I6GCUkLdBrdJsul518Mm4ksRR
d6pbQTGjrMYGGcicNYbjHZn8ey4PURUClrQGCmqTlbBkFONNU5eV7jWgD1JSmDdAPGPrshQ4ahXO
m7I51bqE8y0ysBaT0XWNk7Plq2fcUXwnJCDMG4r4+Ibfx1uKIVaf1OeZb/ZN1GlXJKds9rN8A2fJ
SvYN3PC114dIqzrfTXX8TKzT2T18W9bp27J3kUVW0q/8i9XeckxdMdrkmJ/n26bP95CAe5BW//1C
mVMYBXvmMrkdp6eINOt2U29HTddEEolUuiAphlFbK5cUVWpX9ZZkU3nDiZ67qC9anigL4Jr/rUz0
P1BLAwQUAAIACAB7enpJf9Rn89AEAADWJQAAOQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9r
ZXlwYXRoLWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADmRg6WJkYOlh1eAsAAQT1AQAABBQA
AADtWkuT4jYQvu9pfoKPUJWp8gtj5jZjdqo4ZKGW2dyFJQZljUxkM+xe8tvTtrGR0cMwYSvJxgcO
WP2Qur/+1JI9mz4tCX8j/OGBZDlaJTTbvHDEMhTnNGUfvjD6x57Mpk9TBKMoI1HKGCnH1BrWvXUH
P8e3x54fjJ3JxPVsX7YD2gye7MmZrkqSsrf0K5nvCEeF2CPDgtIL3RI+GH6YnVaS7gibPn0mYCfL
I8RikiQEqyyrJct5/I/tYSnXC8IwZa9RkmbkLLv+JDCjJFZaeebpNkooYbkCMb4fmudTmsDvn0ml
3zmHwRZRNrQUgewwNRAsOeOJW8JTAG2ZiQrNJX6fKYflDOxv4/V6PQpdB/mhPTT4Tw3FUBoz6G4Q
wwmp/zdllcHMXzaEEwvBz/HH4WgyGY1ca1elrVjCM7hJ+XdICUlI3tioAXQK9kvaJE8paRhVzFh6
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
IAZiIAZiIAZiIAZiIAZiIAZiIAZiIAZiIAZiIAZiIAZiIAZiIAZiIIafj6HSoniX8fD2YuXdNsvW
z4hoHuQvJDa9pqhMQfOPtdfoTuSz5b+G1Ns2vKe3f7u11qHhDT3V/jte+q6mNn/Yvzc5m2qD/sAa
jm1zMNyNVB6mEpfs/VG8lkbs9s7o8uG7H6fvbNaXXCmx18hPyn0f0jcwW99U9XzvU1NOLtwgres6
6/VCRtFrf8FXzjlRlUrDq6/KttUDoGhULta3OgvZ6TzvFBQHWfX1OYnNW56q+V2rc6o9b9pa5+Um
TVfXefWdNb2osk/Fe1yoF2by8uIsdrC1LItW6oKsVcyvl2Lttj9VkMrHQ/OP7Smtt2/Zsnrb9kKd
1jo0lKvX0LBStHmj8+tq+qupuKTGpqpNaf2vUycuwGlbWYABMAAGwAAYAANgAAyAATAABsAAGAAD
YAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIAB
MAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAA
GAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AA
DIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAA
BsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgA
A2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyA
ATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbA
ABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANg
AAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEw
AAbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAY
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
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN1ViN
1ViN1ViN1Vj9Lmdm9PDgbzql1D37QTDNrheaipP3nLD1fH49femUrvzYcrjkMWqO6UqwpyrctgO7
tlPT0a1vfNxyCwds7bCHZOOoU7ZuFvUxLWM8sEZjczIx+obdqVmqHz5F93KxLZTz0CsMk5VNt6c7
uevKoHJ+15Rw7apPGtos4vNlFLcU+62f3nqqwzq9HzW7E2mCze4RTd+VcjaQ2++7tCUq2TcrqU4i
R31Ma2wPJ5PhsC/WMsO6JivJ2tm4q89PMswyo4YKZxdfpZow2eTBXD+6rkyS89uNjL/LOFEdp2r+
O5knpdvLamle6FUaNauB4t0+GBu6rbz0Qz9ZfUkDVCsuTajbX4XEeruQfZ5eru4L0Db6tl1u4wZR
Il83sozGJVZq/ypP7jQdpzz0g/NjKbPr85dz7NU85qR/+DzZQF5T+6i4c1MndGUQHN36X1BLAwQU
AAIACAB8enpJXGeGNkQHAAC7YAAAVwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9tdWx0aXBs
ZS1vYmplY3RzdG9yZS1pbmRleC1jdXJzb3ItY29sbGlzaW9uLXByaXZhdGUtc3RkZXJyLnR4dFVU
CQADmxg6WJsYOlh1eAsAAQT1AQAABBQAAADtXEtzozgQvueUn8DRrpqpAoxtnFtiT3ZdWxunkszc
ZZATNlh4BXaSy/72FeJhCT3AjjOPGh1SFUOr1d36uvVJCOazq3uIdxBfXIRReB2hKH36E6AwjtDj
N4jTKEHTJ4Ae4QMGKAVBRi5Yn63zs68o+ncL57OrGcjAEqRwmiAE6f02VXl78ud49njgjcbOZOIO
fO+stwYR6luC4jZ1Z5IWEdolz3CxgRjkFl2ikLH/IVpD3OufzRnfBSduIQpJT9M4SWHDWG8y0rsf
SLVc42Q9jSOIMkkAPM/X20NVhMdbUrRvtUE9CC2qeowmZzxx+6cYlmQD0ezqDhI9aTYFKIBxDEOZ
ZrkkReoH6GOspqKFO9SB6wgTuZ79Ol6tVkPfdYDn231NXBNNNKgy1oEgD72gRObAf8K1Xp8zy3Ht
fuHNNekxwW8EdTCGGazkK2f3eHpIanxKJTV3JRa2GLgchNRAdeSe8moAZ7SzdrHydw2+lNj18AQx
tAD5c7yxP7I91/atTZGzZ4epuk02GzLwAFn1gH6yUPJiZbo+2qyebjEmGVb3pGlARFYJXpctiqjU
7egY9MKlvLxS2SsQPBOT7gkUoL4Wz0T5D4Ho0hlVEJVisLKk7oMILti8vbjAZQIn600uGUpEEsRr
ud8GAUxTYspnKyiCae2K+caKUrZgOhPXzhXWqsIo3YAsePqyq6sik3CDsd3n0i2vMSrnaP1hEsjq
nZPYeCPbcQYD0q9YJjWBbs00SOOsKoPCvHKqZHO9j082po8PS7YcUftU4yKbj5Qq7/LgslmUt3QG
KxcMhmPtlEGQv2i0Pc2QuI73I8MFlrbW7zQDOFOx0hYihCHIoI7RcmTI931CrVQDt4SPEWKaz/mh
OJb4/A3XpC6Qdqw2sbd3cYkTwGQ4mQyHbg0TdXVesGWpW23em8P8IBZM8+EjvVkVMSbj9RJlT3Vl
ZsvyaORZe7Zq7YtmjrVgbNvhaOj6A3c0CGBRSDtCTEL++N8VERKmmK+bRwxCeANhCMMuU4s/HJGK
Bl8k14+YchgWT/NgsfyHBKcoOp/J1GKd9wXPBEnq2P5nJTFHIXyVRIa5K7TcbLMFvgxDoVGJiVvm
/vdv+FtG6/AlTWsIFqgoBqoSIY2Z+qZQs1oGQLOUFWUVlb6auIQGilotAwwI8zppLe6rmjWfWcPB
0BtNfJdkc6GJVcP5RVrfwBdGYz1R6Jp8eY3SvF6KJnMAecFRxra9z6ufdpYgZf1WFZMDB8jqBSCO
l8SLfutu0lQGFcW0I5XlTJEJsWA9VS7QdO6WBXXmyy53CWwh2Yb5UqoL2gtRLc5ZEVWt64ZvKnoQ
stv8bQL1wEgeDs56BLWwrKXkgBQQ834oVpNAGw7ZyUK4po9bLaZZAdQieuzVU5ICeI8Q5TGAf8G3
m+16SdxRCD7DNwqVdI7YUhCh/H8iTRTMUZbcBzjaZN9AvFXW9GJ75I5uNUuw3u02DBKsdIrAmhPg
FDRvUoiQeOFkF+XMEcQkZvQicalTQtweNqpsKqjhreQSzD0Wggw5LndcDuG1oQToJjtMdpjsMNlh
ssNkx3fJDrPgNQtes+A1C16z4DULXkNaDGkxlN5kh8mOX5vSJ+t1lPEPAV+iOJ7S6/pHwe/osJUy
NbvniJNws2XSL3zUnfRsOqs7PVZxKGkjFZvSCCu5UNGo5kxaXl8cF4bhQbKduJXU8i4BP4hgyXrh
T+varu2/54itirTJkCZQN0mWSK0+V8iQ9F8muCWfVlG+SKmOh/x8p14aUWEKlOQISO5MWdguVxnE
3BGTaYns6vjI0ac7Ms24yU+qcCKkT7CMSTK01aNasAEUqSWkK1Ls8+N65OcOWpm+imqOUOQH5qZb
nCZYdaJhwUkoMN7tLQe2xEr91SaxrIXsvQfbkyUxROTKtv2diyNedPgNX/J4/yz94Uf8T1+g1Bpp
GgJuCjzRAcYWinDZ2vGveQKyC2+4/LCg67kHsaDqet71wPDPdYqUbtG2EBIqI3CNZstTcfb9NNQ2
T/ITluSqfvAYQe1o1UL6/GMmR0WiJU0JZvotrl9cKG7U/J2bsXf5Svo6wV3XoovDQ9NtPbpQUwfu
LjeipccpzP6A2R1Mt3HGnNx9hm8NuvaetWvVWZCgLEIkaFtUgLaXJUVXIhDJOibf/FD4dRS2OZVt
8Bb6l9/QjyQvqwZJQ04P9TknrEB7JBGSAL4Us6pxOAXO58cGqBva51pgNAUM5g3mDeYN5g3mecwb
UB+38a7ZwYmqp8HlY4tDd3QMeT+AvNMY87SdudQR4IaRm0r9Qys1h+Jmjf5kOfZwMnZ9j77zuUWZ
qdoG4AbgBuAG4Abghncf++TU8GyzSW4ouSnoZsPQkBiDebNhaDYMzYah2TA0ldosNw0VMQA3AP8t
aMl3eIGI/fBksuE/QWq7vt/4HKHwMXoi5NnKuGs/as+rXoO3JaTX52XwG/04E1dwtrT5XPsRY/Fz
6ydS8z9QSwMEFAACAAgAfHp6SRKn6eyEBwAAAmMAAE8AHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vbXVsdGlwbGUtb2JqZWN0c3RvcmUtaW5kZXgtY3Vyc29yLWNvbGxpc2lvbi1zdGRlcnIudHh0
VVQJAAObGDpYmxg6WHV4CwABBPUBAAAEFAAAAO1d3XPaOBCfuUee+BM0fSnMNDM2GDC8JdDcMXdX
ciXtu7FF4ouROdvk4+X+9lvZ2Mjow3ZC2rSnh05rebW7Wv32p5UqYD67WOLoHkeTieckzsqJ8TQk
BLuJH5IrTDyf3EyDMMboDJmWMepbw5E5Hves8bD1hfj/7PB8djHjek4mrlDLZRRupoGPSQL62sc6
Lbs1P/gTbjGZXXzGYCNOpg5xcRBgj7cqk6QWXkPfdeSQ2NkPE0Qjh/7z2t/g6NKPQK5jPI7W6/XA
7pmOZRtdrpMbbjZ+siCZZ/T1IXLXYe5vJsV0ZAfDv+TGITDZ6mwcn3SRYMycwnS4HW8llIZRr8No
MxV2+hNvwugJ5C8c9w5mfpmEkdRCJsxKCvzudBWee753pXKnTmBQx3WCYAVedNWwBmNCKyUo20MD
oCxw1Sf34R1e5Jg5Jx6jJkVQpyuDg8gyh6xCqHUcIt7rtkRmEZ2vwkglunGeVjjN5/kew+VMNm3L
kA6DC2qqyOOGsoZcWhBwaRvgBNPXl/AKsAI6MG3K/cnzUmhNKFnly/O5LutfyXKqNFSq6rBRHo17
3ZegTBEkgVauqdNlmW7V94wuZQzp0G4d4gV4lhqrFts/F6OIwa/rWxxh5MAf0xrRJOsZNtpmy0ur
maqrcLuFiXYIKhj8AyLhA0pUNqq8nu6iCKaqsKTokDNo1iOLStFPyb3ZdLGMqTATKlCQrlat5V9/
+Anm2PoGAxF8jEFP4Me3ucI5WYfgXJ44dea7eiIH4/Fg0CuCLHGIHzZKm+AJrf0Ao/ft9whC5/nx
nXq1mPEBZFdWmndcRxG8/q1KCXOYpoSc0GelzKOCC7b0mEyifQ2yZ0FPIBKSspblznVxHIMrZ8jN
0IXAXkxh5cclmh73UpouVEHotk7i3n68L/iGKWX6o6yUKWiYlkmywaUlFMMoqNOG2FhDwzT7fbDb
5SozRaArqQencZZVchxjn4p9etbrsw9j49XYhyLqwD2lyNKZkhERDW4pH6Gn2TdWBh5QqLwasUDi
LI5Mn2ZGe6b1PaPtrAxDVehCzKLka5bKU3DiBivr/1KFEmEnwbK+fAFr21DzyOZ9hW98wnSfl6fi
uRWJBC/H1pTlXoaMhoR68JN5ADNTGjS6vBxQiR785LagU5ZLh0MLHYo3dGA6OsPuyDC84aBn93vD
vosz9qs5sYJNZ/k5Dwi3LnzZ3kSOhz9h7GGvznpgD4ZAQ/hB0P6iEuP0NULzVYspsdNcWKz+hqnK
eOsMVifUFuzTjyXTMB8ec4k58fCjYJ6Yt1zP7Y5utDx+37NH6BXz/tt3/F9G6wQHO8chqDzjEcVM
/rLiKIOTV+wzedmKox6ug4SvRYBxPJq1aLHMGXQ+QwPTNO3hcDA06p3tvDQYjY54RNMiO5QRyXKH
MipgnAp3aerUQ1yRZaLmOoHNJKvwtZeqg6xMVImpjDjOEDupexTBTusDyt4fWlrFAg7rXhxGGfTA
BAJPYAOD3rXftabZK1jxVn66tqAgfMARusNP6Y4SFii0g2q9aGmA1obhbI7QYhqV2CykxKjkYPNy
POasWwVGlp25NnXcCjFF2V2IqAFYrAHSHQuhMcC/46dPu80KhiMRBIR8fPTjJJ6TMv9R6LQ/oDBt
RDGD3IFh2C2f0HZQBxbmJAmXbuRvk69OsMPq05DPtFYE/VH6t9iCBUVnhRbshpGndLM/GkuVALnX
0GDRc0+Jhh1xb7F7hz2YiRSNEAdaZuxtDwyrS7X+Urt/4Q/0atdK2KtmqGNTVZ5+0uKCecemCFO7
709xmhS6niARdfbq7NXZq7NXZ6/OXp29P0D26hMEfYKgTxD0CYI+QdBVjK5idBWj9yA6e3X26uz9
pnsQwQ3iBz8IJFeI9X34ivvwspJULdzM3bd3CX5s9Iyf7xK86or6m7sicxQVhj0E94XoYPasc75O
cFS6jzTdfwwjv2v07Ms3iWLexNeaSiI4vzdYRRaF4BFQhJ6AKWBieiETHu8xStQUp7jhQq9EZvtB
2YWTRUlCgvFLn4Drv9GZh6mUXvlj+E84XmUSi3oIPq7QNyxREmMCLTtcSTPP+DRC3eGLDR7xlEKV
aLC2peZYhbqXjP3lS2itTm+LoOQa0zSEgvv0d0wr1u/zSsNNLqn+KOE+1A7nrxZ4df0BHuSm5+Rk
n2x5lTVVwthLeoW3oihJZbh647jnqYrqw1JUtVaWFy1Bq3ryGEHlbBVC6hxkFsjvd/q6aD74elvC
hbxAKL0tzVnaMpnEOPkVJ59xvAsS5jJ3uuc+2fYxN+aGBEK/w5ewuc4+qJCEmSkeasCI9HxEMq5n
obeksgrAnH3xC/VMlmXlIDmSU4N5XhKWLB51LR/gOX/uuOqBdK6cz2MBDVUNVQ1VDVUN1Z8CqrXP
Ovz8P4XTI/fmZx+6xNUlriZjTcaajDVUNVQ1VDVUNVTfWImrS1pd0uqSVpOvJl8NVQ1VXSfoozBd
N+i6QZOxJmMNVQ1VDdU3+RGMOAm3+eVp9jsm01bmOz6Nnm0ffdcf90MPINTkq9zZn3po9JXxtmGO
e8qRSL9kmP9Fh2bS/wFQSwMEFAACAAgAfHp6SS5FSVb4BQAAiC0AAEIAHABzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vbmV3LWRhdGFiYXNlLWFmdGVyLXVzZXItZGVsZXRlLXN0ZGVyci50eHRVVAkA
A5wYOlicGDpYdXgLAAEE9QEAAAQUAAAA7VpLc9s4DL775J/AW+2ZZEaSZVn2LbGbWc901tkm2bse
dKKNTHkpJdle9rcXlCyZEh/yK22260OnkQUCIPABBAHNZ9d3mL5iOpmEXub5XoqnCSE4yKKE3GIS
RuRxGicpRpfItI3RwHZG5nhs2WOn80Civ1/wfHY9E1ZOJoGUyw1NVtM4wiQDft0mT9vtzLf6JGtM
ZtdfMchIs6lHAhzHOBSlqiiZhPfgd089knqbbQIp9dif99EK05uIAl3P+Ge0XC6HrmV6tmv0hUVB
slpF2YIUmrHXW8vdJ6W+BRW3kN+M+FLYh0Rkp7fyItJHkj0LDPPt9kJfSg27XiZ0NZUuuvvjS5Qx
+msveAbP32UJVUqoiPdTN4zCW50Ou1gD9QIvjn1Qsq/HMgiTSqnh13UMwK9E1Yi8Js94UQLlioQc
mxw2vb4KAzLJApwqok7TRKLWXQXNgl75CdWRrrxvPs6DeL4Bbj18Tdc2lNsQjJozCoWtLCGAFgRU
Wsc4wzzgVSwOz0vF+taMpAsZLaseb5zR2OofDA61ColmYZ6MajmDaSkwkWn1r/Bbr19La6Zl9AuA
3IDEhH4DB2HmspK+TJZSNEgpNW8lGrYo6A/CXEG15Z48EsZ4lgtrJ9s8V35KQa/7J0wx8uCfaY9Y
9FuGi9bFYdfZj9Vtsl4DlD2CKodeIJK8oUwno03r6QulAMZKkmZBmc+LFYVVqnXak6BwF5/pVfn/
EUOW+ZzCwjhKn0oOc7JMQEAZ3urjQxSE8p/gCS2jGKNP3U8IlA2j9Fl/cMxEld8lSnzTKaNEkdtn
NawzwgVfekwmdFODbBJiKCFJSJ3L3UsQ4DQFVS5RUPgTgbyUOTJKaxl7bOUZu2IFplt7WfD0+bXK
YVzMD0ZFKVNFPCuTVJvLSyguhlGvC7axHcM0BwOQ2xcqM42hW4Md53ZWVXLCKXCqeLfs9493Tsa7
xTtD1Dbaa5ZlnlKFPjNuLR5hpTkwfAMPGVSOTAPaEF40RJ/Go5Zp/0xre75h6A57sBnN/ixCeQpK
PGJt/V+reij2MqxaK9ayrgt1lMrvPn6MCLd8XnfFoVWOAi9NadrKokDGngl1qyf3AGKmzGjseNmi
Er1F2VOVTvlc6jg22haEaJvpmIeDkWGEztByB5YzCHCR/XZ0rOTSWX8uDSKcCw/rR+qF+HeMQxzu
ch64QwfSEH6T/H5UDXqC4ByOx8OhVQXn/qcWV7bnsbDw/wJXFXnrEk4n1JXc05uUuZm3jxDZL+zm
FIoXmQ3OblXvD+sbNPVpbSHINqB+2XJpFug1VyORtqWTICxQdREk3vNCBgq0uCsDdD5DQ9M0XccZ
OsZuXYRjjbFXM0HmFtX1X0YrXP91wDgedyXK2+DGR4Pwm96eFZnmFK1I9FCqYk57kfjK0ixgh+b/
dy9QklsPpbkzC/TYkK9buOAgoawH8Yy/KZgM4OqvYgLA3YGDrW9DbEF8u5+teciqAahMYdw7Hhjc
AbS5iuyTrUMJ/I7osdYz/1sUx4qW2Lmpe27qSgrhsWEZ7k/p271LzfQhW8wtDeCGHlz2kBS9bPkm
61wtM0xrRXWhRl4Idw+oIBXGu4kI3GN/Y04BKyuvZ3yHc9dFctA3QKxhJeloD1xbH4AadscMN/bP
rzJhqxUOI6h0illiQh9STIvuF7uuFYM6Vgn2cvi77mhoXSD+74HhwE3NsewLdGkZY9ux2dSmj8qc
kR7WCfwRiu04gKhGM7UBxIgVwv2Pu7kPq1jLWflAwAdhxFzgxafqK/8S+zpFF/9XtY3mJC4/kthW
kfWTtP6+kdxN2+4oEkQp5UuSZo257ahYJa9WCZyoq1mrYvz5yaUdd+S6bn1yaPuajvKOFj4Ftk46
yDjCFLXyX2Xttom2fJlioC0/SDQserUCwnHPs5v//uxmx0j7AIF6nj79P6dPB1+6D5tanadP5+nT
j5g+pVmyrqPdsFy3UbYJH9wCUfF13c7f47mGOba0RY34KWzT0xtdRQhEJMMUUn7e0BF7rPI+z36K
7Ef9wey78/eOlYW/A1BLAwQUAAIACAB8enpJNVFJYZUFAAAELwAAQgAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9vYmplY3RzdG9yZS1hdHRyaWJ1dGVzLXByaXZhdGUtc3RkZXJyLnR4dFVUCQAD
nBg6WJwYOlh1eAsAAQT1AQAABBQAAADtWktv4zYQvueUn6CjDTSAXpbl3BJ5gxpo12md7Z0W6URd
WXIpJc5e+ttL6mVSfEh2nN1soUOAWJoHOfN9w6HIxfx2hfALwtfX6Q4l89s/0T/PKMsDkIQojhG8
+JJE5MlifjsHOViDDKkkjSvj8mJxZnujLYiSsSFRCtMkQWEepUkQpxmCdzjdBnGEkpwqGiPLNaeO
602t2czyLG+sMQXWKc4fMEgyUBjsOZMRXEvN7RDepHh7I7N6cjRhJR+0pk3kmJna7swTfRx0OsPW
sub6Z8rAdGaP6XSYeBQzx4D++xBtEb6LMJnOyHydbjabiW9bwPVNUalI1jIp43KTwDJiVfgyKn6Y
7kNah6+d4ovVH79FOZ3PLQi/RsnjKk9xDygIdoS4iIM9FnlqcRjB++PAFSUv6Ve0rANN4sUoFWEf
6ZiRahSLfLGxCSkKBCOyUf0rPBuNucxbtjkuA39HPKb4G5k7ilGOavk6L7JcyyU1byUj7Bjg2oHF
ANWRewIJjNG8cNYtVv1u8pSRcT08IYwMQP4sd+p7pmubvkFqBSRovTjO1H262xFugcRoEvqLkaR7
I9f56Bp18IwxIXvjSaNQlcRKo4xKo1eCXlFMy3SxJNXzYy7KvwtE15ZXQ1SKwXokjQ8iuGQr/fU1
rkp+ut1RSSgRSRPeyuo5DFGWkaFcGWEZTIP4y2gUo4yt3dbMNqnBxhSMsh3Iw6dPL02BZgjnTMtS
29CNrkqqyRUrFkMgY3RJYuN6pmU5DvE7FhZPTaA7mYaKOKsWTmGJOxfZbPf9ycb4eDeyUUQdqMZF
lmZKxTsaXJZFVNNyNjZwJhQqWg4uW7rnSYltuT8yXGBtaued5QDnf5VcDMggHpG2TeB6MoxAjlS6
Ql/m+z7p8lSJW6PHKGHUF3wqTu0RfkdbUheEfqnt7U29xBlgMpnNJhO7gYm6Oi/ZstSvNh+Gw/wg
Iwho+og3o+7RSb72Uf7UVGZuK+K5xqFxNg5Fk2ItnJom9Ca279ieE6KykPaEWLkWcd0n/7tuhIQl
5svuEQOIPiMEEeyztPgTj1Q0tJc8P2HJYTYUBQ+W679JcMqic0WWFuNS3AQIkmc1xPysJRYJRK+S
EDNvf5Tm27dUQhDq7ZWKP9KoqV/q90iivGbLKcrqN+GBoKAoZDLIAEiLiLFc1YRezI2JM3G9mW8T
qJeWWDP83g/Cz2jPWGyqqE7l02uU0WIiDplDyB6T3Suju6KlQVtCD3vH4K0JMkYhiOM1mcVYv7AR
n4EMKoqaLJXlhiITYsE6cGHgwsCF83KhWGj6saBZk2SP+wS2lOzCfCXVB+2lqBbnrIhqFe6H70L0
KGR3zbcN1CMjeTw4mwxqYSnvPfjXAxQHKA5QHKA4QPEdoZhut1HO7333URwHxXP9x4E3OOyEfds9
B37hZUfiyjnqjiHbk9WdJ9Q8kCqpGKERVuK5VGpwr+1Y76Ikyp5Iy3qMbC9+SEfeJ+BHkUTmhT9K
Nm3TP/nbo4Z4MqQJ9JOwRDrqS4XMEgvHrSKfNhFtv+sPhh/vO2grKsyXOX7WuSaY8g+KnAjKiKGY
ILSrSDSCrexJR0Jc3UBIT1XIzxdk5PrS1vqcx3/wpImqztFuNjnC3AfVoGJt+9RYOlotL2QakisW
junKeIES8uQZneuE/9Tif+SnXAVLy5L1K8UuAaPyjORjUUZzaYNiEHBF+UyHLF03ijod9z2lYe9D
9M2PHICtpUBjSgZ+39UvYxpz35cLPws2mRtC74ZSfftARlC7bvlTF4jii13HKl7ICAt0W1N7J+cj
rLxDn/9/7fOHfnzox8/WjyuvXYnXkFtXBNIdf1nEtH2/dTpOL8G1hVxTmVYBZPflLIpbv7zpLfi2
RsXzRVU7Wn6smd3fT3mt+PhwcKGtInKpfvEfUEsDBBQAAgAIAHx6ekm7BqZJfAUAAG4sAAA6ABwA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29iamVjdHN0b3JlLWF0dHJpYnV0ZXMtc3RkZXJyLnR4
dFVUCQADnBg6WJwYOlh1eAsAAQT1AQAABBQAAADtWktzm0gQvvuknzCVS6SquAoQQkg3WYprVbW1
8q6cvfNo2azRoAVsJ5f89u0B8Z4ZIJZjp1YHHTT0a7q/fjDDenW1hfAJwvk8OABdXf0F/z5CFC8t
6oDvg3vxhXq4sl5drazYsq0IRJTkkgwu1oU890i/DCgFJ/YCegPU9ejd0g8iQGpVV6Zj3Ziqs5mm
z4ympoJzPne4Uq7DYL/0PaAx016XqZtyexIR7o9bkvK32jDcWx4dEY4jW0QNS5LU6Uwb8YLh0afg
ATYHCC0maEHd29CikZWIvfX2EA5HZTecJMziLQUSQ669EDWJee8t6vqQ/c+3FKHK23sIgVj4U/Wp
OZnNJhONHFIksN1do5og/IZRBh/iXEaGySJ+t0GOBy6l5CnH4sbScESGytfpbrebmJpqj11lJHXX
ccuJslN4xlB0TTFzz/QTdRMcDhhgi5I8ip8IDZ5JLNPRZvXyMQwR0bkmCQOS7IJwf+RIvZLzpcBz
bS5nGq4ry3lAk7YIBbjY/vm7FzOq8up8fgfxJvwcIaPvRfeZhDXdBaggqxGoScDeVESSJfxHdp4P
5OPgI0FjXS96kOzU9dxV0+QS/hxWEBqMvIB+bwOhaiQgFKVBZkmuAwk35dSfz8NjDQj2B0bpckgC
WpWyfXQciCI05ZI4aTwJ6otYIL2oXCPVmaYwgbkodN3Bip37z095ISx2Y42nyqiS8axMiTaXlLBS
DpPhAH2jG4qqjseot1kZJY5uTXZI/CyqpI1Wcqp81/TXz/eSjlfLd4aoItsrnmWREqU+c24lH5FT
HSu2AhMGlReWAWkKb2qqTxNRTdXf0tuWrTBvC8Wgz8L47zSVl2jEHZT6fMvoFIIVg4i3MT6Zpskb
xjrOPCK82HDn0RL9mnZpG3Uu6WSRIqNnQS0sLP1BNUvmNNZeClSSZy++z8tpuZYahk6KqZIUlY5F
2JkqimtMNHOsGWMH0urXMbDpbksLiZkchzT6wpfDXWi58AeAC26XfmBODCxD8MxZf3+DZ8+uVZr9
k1zY2P9gqNK6dYndiQxGDT83KE8qqPQ3o1hTF75yAl56+laclWd5yIsgV5yum0oHJ2xomreibOZ6
TfywAa+WEEjeDpu0gpKWVfYGg6CY8SBjuQzSZLPNyst6RSaqqpqGMTEUeR+8Eenv6QwydCzft9HW
kbyRoM4lLyyCasylrZjCIyoD44y7M+5+ZdwlBbQb4vJay1vu4tiUsg1fR6ouyEpJpZhK28clKQf1
iCJ8/f1E0ufFykU+VeEwEgVhCj1UQdASfKskHwYfLpbpIxxDbC9p+MQPniEkD/Atec3HqYE84itU
vtIDrT3d2R+heRil2OQ31urjMx7PeDzj8YzHMx5/Ch6D/d6Lq694z57vL5N1+Rv5CxS2Yr+uvpIB
jYctgUv3KLsYq29WdvifJQOXSZQWcuJ+5pbAyxXbxRu9EMzTUr15VDTFfMl1oSgreDBo5AYHwlyr
BwKaTbiwg7AF7DuPjcrZEdr7OxmqeaV0OlTddSxxJv+IrUIC2Rl2WwbnhLXocS1BVQvXZZcD+PcJ
SCyvO7UjpeoRIAvU8TposYshrBwxpgFPjgUr969ca6V5wePg3MiPFZ2XF0Bx5RFaM7d7Bv1QZe55
nCjI0muPoh9+Y9hFMArP6t9XyoglJhjEbis+tD/1HcGxoyxaFZe/GOjqd1lb4l4ztLUDiVpeApi6
vJVJxP3cfPhV8Fm0/8WrIVU+QqAFmep11xvJN2qLgpK1ZZdPLXNFQtMYGeqcp52Lz4P4eRA/D+L/
i0E8ioND9fsDRTPN2mVr49tVJNIVYaCk38BWRe+tbzYk6+tjCajpUWdadz3pB6XS76KaH4HWnXX0
yED6oIf8/wBQSwMEFAACAAgAfHp6Sb0HbPWIBwAAj4sAAE8AHABzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vb2JqZWN0c3RvcmUtY3Vyc29yLWFkdmFuY2UtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQJAAOcGDpYnBg6WHV4CwABBPUBAAAEFAAAAO2dzXOqSBDA7znlT+CoVfuqEFHRW6IvWWtr
n1aSt/cRRsMGwQVMXi77t+8MCMwwH2DU97HVhxwC3T1Dz697WmZ05rPbRxy/4ngy8VCKVijB0ygM
sZv6UbjEoeeHm2kQJdj4ZPRsc9S3h6PeeGzZ4+HV19D/Z4/ns9uZoDmZuFIrd3G0nQY+DlNi77pu
03au5rr+ZCa8j/ck12/sQ2eL/LBrCEYbTXUYS73R2OpeSWz44Wv0ghc7HCNq6Cb0nmIUJigz++Rv
cdzpsm6Idjic3T5gYidJpyh0cRBgT2ZZLkl7dnZ7ahdFmge782PSEtMXl3pRMCLry7/CtU7X6Jjf
Ruv1euBYPdSzzG7+oHekxSh+JwDhAKe4kC/8UKHxFJWoSSU1dyU9bOjgqu9lHVR77hmFXoBnWWPN
Yof/S44S0q+nZxxjA5G/nj1yhqZtmY6xy8Pv6jhTy2i3I2ONQqMc0N+MMHozUl0bTb2e7uOYBEvZ
kkaBiKyjeHvQyL1S6uUMeiupZj5ct8h9IV16JCjovOn53kyUvwiiq96wQFTKYNGTsg0iuGBDcDKJ
D7EYbXdU0pOIRCFv5XHvujhJSFc+GW7uTIO0l1Av+gmb+3pjy6QGS1Oen+xQ6j5/fi0THBNw/ZHZ
5cKNpgvVw2WphAkgo3NNfGMPzV6v3yftihlP4+jGSMOZn1UZTZgizhVsln35YGPauFiwUaKqUOM8
S0dKFXfUuWwUUc1ef22h/oCioo3BRU33PENi9ewf6S60MrXPnaQoTv/KY3FKOrHBzITZUNPEGKVY
pSvUNY7jkCpJNXArvPFDRn3OD8VHa5g/8ZbkBaLHWhNbO6mWOAMmg/F4MLBKTNTZecGmpXa5ueoO
8w/pwZQOH2nNKGpcMl5vfvpcZmY2LQ+HtlEVnkaVNClr7sg0veHAcvrWsO/iPJG2RCyfi5gLWTdr
HEmnmK+7TYw8/AVjD3ttphZnMCQZDb9Jrn9gymEK8iwOFqu/iXPypPOJTC3GdVd4MkEye7DqXxLV
+3QR33ieoHoY2SVzHxRBsVKkMx+ZDJIoVqkuOAngFxR/ZX45iXKSrqZlLmnbjtmC5kWYz7Sq+VeK
v/qmUBA0xJLmlY8oqyijiqpQUFAUQrLYRx4tQozFY1EQzGfGoD+wh2PHIlNlbok1wz0X0f6C3xiL
ZRWmU/n8zU9oMSJ2mYPkLfZTVveRlhbaEozUTEuVT44cIKPjoiBYkafo6gtj0uZUhoqippPKcl2R
CbGwnh4LRdg2hQAb3sI1vT9LMc1nmlJEj3eZRBRU529fHmipKaOo3W3sRrGyBYIsJ8AZqG624XJ5
nPtYCtVMLVVpmLnHjjVTVx9e1hxTEnsSogBDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQ
MAQMAUPA8P+CYbWG2QQiv9opuar3JiOo3blUCumBZFZWFcBEdQmGmPz6ZKK4YVzLIHtFwR7fRfEf
+L0VZovjXdMONc2qMneXG9HDEyc4vcfpA072QcrsP3rB7/mepbNgWTSGvFe6/f1Kss9Yu3Yok9Da
hP0goPhDFGFLB2zpgC0dsKUDamL4aAYYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFg
CBgChrClA7Z0/JJbOtwoTP2QOG0f5r9100mjvCkRRD+l9OLquSR7OE7HXdgt0kS9dHuJ+qZ+oEV5
DUeirD4iZoKCNle37EVJ8+zUZz1mLXom3dSj+0G/hrXomW7cYV8G7MuAfRmwLwMKW/h8BRgChoAh
YAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGl8SQWw5vYlFYO5ff0LuVl1WPV01Oz+ec
E1Yg5EuEJJs1DmJGsYfgHHs05h91UDv45vWBqRM4Vw7z99yvcYYF8Gi79VP+dzbe/CCYZtf15yGd
0GDjMnu9eW6ZXbjZsIqbP6Pu5NL6w+qOUCzW16VKqjV2jbByTTxXKtfOtavgd37oJ8/Yu5hsq+V1
6VO2GZyj1tVlrfAn1ZqW6ZxyvKxqlV5GpbBKL4koaa+vFTJkZltFcUPsrX26/F+cp/bzHRNX8wqT
zPinTjXOlJ+3xomQXIlWASG0KaGUgrXRk/aENEWKC3roJPn3lUxc+jSo+ZmhYw8P4pQ3OFVpZVNL
Vp+JJ9BRNA5Tys2aTFPcCXfTQ06pH+Mr9Y82EmUakjOj+6Yti0Qckit73Jgr2sfsh6amI8/WU+SF
PEn+TqOF4K88tPLnClK1xYx6xE0DZzr1smFKvWlsuO2xmexez7bjIwewNvloTMngd2z9xKkx931j
4Vdhsyo2bi5GacP+WN8rmq61p04Q2R7FhrohkxFKgrrmicfLX36uhy8zwJcZfo4vM5yO5aaospqo
3LDlmHhR7/hKTj2ejIyeyKowVAC5qQmcBNf9sY/YDi2uuq2TdS8bFHibAm9T2r5NgTcZ8CbjbG8y
uLtJGu2KD9aq4qXMSlP65bggwN7x0spG2bPts6sVSY5pOU7t95SDKMF1IdtUYiNAvMy9NKV2eNNb
9L7C2fX5ITfV2umNrfbtZIa8q/8AUEsDBBQAAgAIAH16ekkvm/UiuQcAAGKOAABHABwAc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL29iamVjdHN0b3JlLWN1cnNvci1hZHZhbmNlLWZhaWx1cmVzLXN0
ZGVyci50eHRVVAkAA50YOlidGDpYdXgLAAEE9QEAAAQUAAAA7Z1fc5s4EMDf8+SPoOlL7Zl2Bmxs
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
vIKdIOQR1BRPmJJfqwDYN1ozKceYiL+CiKTeWAYxhweBWYQzmNcUNi0gcywAx9CkmxLwpUyCMbAd
d2AOPc8buo1Q8GFOmaI+Ydt6mrIn/m2T+ytGFPUHugTR7XU+wFKOjdoIr3rT2f+1jTRMNyWNpjmW
Q7QAnxScqjvKaCTWywpfrhJJohHhrGzl/jEIIIpkKJcoyGqPnrISIBop6R6acuK1BDdV2XW30Da5
UR5kHOMECDK5yvKDnmm8KAJTo3JdBwVFSGgznZPcBgPDIG7f8mzLtQPIJvaOYM1KoRykYVYQqc3w
l9VcYAIfAQiQXTLr9V3JtvCsOW9pNd4C1VsqZI4PQDj94bDft9QdrLgoodEKx8Hi7VNytXQ/UnjC
HmTZPtymtafj87eAf3mWV1uzuOoG/iVUOJ5GKeDLJY3LnPBMw3Ccnpe54Dzqz6NeO+oPiMQpy0ir
iSaDKi5Pbzqct4OjbgfqK0oNHLXK6sivGQU1g63fvnJS0So19JLew56jPrOtGtZcs7vl7e+uLfpd
8oi6AQ5DX0bRa6c+6UzrpUR4Q8MyvBczV3Mb1jzXQFwIdaop0g1FvcxUXPlcxO3dMpMcNGV5x5/S
PP9LzFkpg4J7DY0k2Vu/ul3NYhAlmhqvIZ93098bT/tv7Q3AvaWMRot3SXZluhqXjuPTofoFeNcw
j8SjuxLjNrpquVSduCzbc9qptsXcnzDe/iA/LQY4j6dTHk//0bQ4NmE3fg+q/5e2sp7zVfkt0bA8
ryyTfravCjnNnzFrDXGXZXyc2CmbXuKfPqTnk/VYrPgxh9buflJDpFbY9R0vWn/451OyH0L2kP4N
UEsDBBQAAgAIAIB6ekltARoVWgQAALAlAABMABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29w
ZW5kYXRhYmFzZS1zdWNjZXNzLWFmdGVyLXZlcnNpb25jaGFuZ2Utc3RkZXJyLnR4dFVUCQADnxg6
WJ8YOlh1eAsAAQT1AQAABBQAAADtWktzozgQvvuUn6Db4KqdKl7G2LfEntS4amqc3WTmLqBtq4Il
RpBk57K/fQXYGIwQdkIST8UHH5D73Z+6W4LZ9OoW+CPw8TggwTWhJF59xTQICV3+BB4TRicrTJdw
xzGNsZ+IBfQZXfR+UPLrAWbTqylOsIdjmDBKIfu/TVTKL36GrQ8t2xkao5FpuXZPW2NC+6gmuE1c
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
n+XdzXAYptP4Vn5OhgtdyefF728yntaKwe5Of37C5anirbtOZ8OPbz4vu1Mlqrv7nXr+zMta04cr
i1wlUZKtzXhvevvdQaezs99fnGndwd8UPaG8z019cqVFvVT67HZ++/SpXOM3S5+5qPvsqd3Z3fhN
NQXR/ObW1mN85U53f9BN9+ZUvjMGWpfw2YNLv8w3Govy73m304tOp21zEu9ZMatV6dZ+U9s1FCGd
habXru4Zejste5eL8GGcVV5+Wv8qvrXaNHh5eLXWnrOQ8cxAvX+flX/EyxzNb9r85+VeZfJlPPu4
jNPaxrLfSe73Zsl90s2/4eFl/M/pYD/sXPZHIe1vbzz9i1182lpZrf/77oas/C78cv2hSEfhryGM
wugpvwc7e7sxhsKXNY//l1WM5/9qVZp8uRYq25n4mq3NZHPNPuThkeVtru6D5hEYl/U0L1aeur6J
OfdqtLoluiV43vT8t22ZHr7VR3dP6z5b85OP7J5Wjm/ZSK0e2z4jOVp5QUNSrPti4y52voLP3t2t
3dPjZG93tx9J7fUHT9q/HX3vzUi2hulkchHf63Z7SsdrHq37Whqibu2xtbey7qAqjO93d6f8MW7V
1bDyWPv9XB7W8gO7PKSd0nLNNQj6FL6++XU8nU1Pszqj+ESy+VOSlw8m0/LRBaMY7P32LcvbeaDH
cxTl/197lu7BoNd55CzlLKbtrXQH8Ren6STLaU7rGQ56e/0nrYnz53111RXQ7LkxESvPVZ1Vfupu
Nz3P+V0YLTT/jplt7Vg71o61Y+1YO9aOtWPtWDvWjrVj7Vg71o61Y+1YO/+fa6f+Z5N1q+es+Yhv
Wj/3V3xsBdXf25pH27+KyoGtfzJbHtS+kir3YfnnyGH578WfMyLDJL60+HqY/LD5w8bi0Pnf7y7G
5V/Kkkn+JRQlxfl/PybNRsnN9fX9I09SePb8D/80iS3fcu3Z2ndWPnJ4OA2zP4XZ2zC9mcwqf9os
F92Lqb272DDP4q2/CSc32eJvrluzfHGpVWoxFqLP8JJ6a6d8DPDK9dc/0f5N1o9tRvLguHbMp7WD
GxL0qVe+53n6rZ/raUhPW7/PhwegiiqqqKKKKqqooooqqqii+r9J1dzK3MrcSsAKWFRRRRVVVFFF
FVVUUUUVVVRRRRVVI1Yj1j/QiJVaav1hQC1QCwSsgBWwAlbAGhGgiiqqqKKKKqqooooqqqiaW5lb
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
DbosxyTmmJofFBPic8dzH3PmcfumduI2J5lNovTNm21VHulhBcXU86an8pd1seIhOYCtCf8pDRPZ
D0eeK31dF569Liit6RDAvpRrbk8nljZFIwf8PhiJOz+Vok5SYerKZDJqBPpPbbfarMyqRNZDKHzi
KadMX6Lka7TzY2AYhzsn3oHGp35AcFePdfVYV4911+7OVh3W1mMU1pkrwGNtBPl442t69CXgVtcB
x1rSPzziOuD5L5pc2gXp//NNxhb3f7pbPOe4xXMJ90rM0Xh07P2QNuXS+Y8IK3dQunsl3b0S5hgy
a3xJ++08irNdTDk9R2fWV5euczck/lhzjMDQS1Jhllaetc+YAdL2ZVUJovpUyuIL2UH4vPWD5Z3n
5/3QqFF2PztVcG2S/BlPhdLryjU3SmYyEHU3mbqbTN/pTabuwKQ7MOka2F0Du2tgdw3sroHdNbC7
BvaZGtiXJe6und6107t2+gW107/fPjkoYMtN2OgPwp4W+39zWlMLJ6WPiNO3VLfOMCy9tnVoGG3+
w8fxrUNDt6z2+z7b9tovlC/yfwFQSwMEFAACAAgApnp6STM3WTjOCAAA6PoAADAAHABzdG9yYWdl
L2luZGV4ZWRkYi9vZGQtc3RyaW5ncy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA+cYOljnGDpYdXgL
AAEE9QEAAAQUAAAA7Z3LcuI4FIb3WeURvISq6Sou5rrrQGeGmpkmk6Rnb7BIPDE2YztJZzPPPjIG
I2NJvmCDCf+iqxqsu46O9H86OJPxzQNx3ogzHNorYo1v7sm/r8T1Rpo1J6ZJ9KsflkG/mYxvxpqn
zTSXiFIqX5Trq0l55emb9CPbssjcM2zrjli6YT2NTNslNHVTbfTaaqfdafR7vUErXtMu53A455Zy
69jLkWkQy/Nr3y9TVcvo36OjWa62aRZN6mj+fx+NJXFuDYemqzV+9haLhbpY9DW136jHMs3t5dLw
plbQMv/xrqeP9ra9QSomI9uZ+MNYPzhVXtWWmmHVFU6fYwWuu1vTZ9zUtNcL21mOuJke/vrD8Pz0
N9r8hc7Ug2c7whrCxNmaqxv6nawNaUZDqc0105zRRtbltkcr49YStbdOp6HyrMmw3uwXMt0ayldL
Z4pZm02tLrIBXs0xcwoTXe0PUbzV14I0U+frzHZkSZfax4ysF91kY7h7y63Z7gq7ERvUdUF6rCsL
uoCmFm3SyiQekcy/LRnO9SqU5H3WLN0k28/hxLi0P4/PxCGKRv8122qzO1D7al9ZBQ5H7tuCDuX3
akH+RH8mW8DSompsSY1+v57bVA+ZFNaD+a2MFcJr1X+x72r1iJNtthr1wFxvaY2280EniPgGtE2/
dd1c2+SmREFHLEjyNHEVkwRHkWGxD6gDDxd7tqLu7NWKrn7NUsI18Iti2e+KJ6sjqdWjV8eh6zes
SZJhuyEHOYJRCfMVOM6C80BQIrvfY0qSpyTDaGKVYEowJZgSTAmm5NApkarqsXQKBYd2lFjVEnPI
qVmzu5ZTyJoqq5jcjCP+zk84ZcHicOhsCOMGd+icJLYVLeXhdT4nrkub8kWZB95AofW5vhsw3Agu
aDW7aBwah8btNS4sSjfclebNn7+9hZCMgUrtXkDuLyh5CHT8CxDRPK4vR5gznFK7pn5R7bX7jUaz
1w1K4iXmOdkkH9smIvfMlrxrZlEnxVaj/JMiU0dpJ0V/8ezOiZGRbdGZEh0a/cFlDxp+zqbaXuhq
xzcV6TFlupe3mCnpqeoph0ubNaT9dj3N8f4O3M6INuKJSK/mIlcADtE8IsobvwZQm4OWcOJm5Mmw
mOyT6FT8SZZ0fcdu5vZzneRqoJT7GsFGNGXdUrptaNcc5gNtwcifPlqbsr0SovP1bnjP4SbETF13
0G0ou3saZec0fVubL+j/tX6PNBddnWjd+lV6E+PcTEc/bxFwbDf9sXpyNJ18J0QneppdtNlpUY9G
3jnf59hymPur9TqYzv6hgxM4nS90a1GuOdfn+ynXHdt9pKv61b/Q1OP3i5uZvRM9z3edv9+exJt9
XgfEDxPusmPpJXeE8bQJF/yxDAIXwps9TfeXoTJ92C6JyVjpqO1Otz1oN1ubkthiIv2iub+Td6ZE
6l+Ss3z7abj+cow3OWIg747hsXkf/MUldUJMwMGhE5Qp7oBnKqJIAV7aWKSAzFgPXwvblZe0BNgV
GvtOPp5hMsmuHiaRm3foBwRW/UI+1gblTqwUayBAbfe+a+bZXLrHZG47wvZQA48kiBSwe5jGiu+y
DTZrs2ILFPpV5hlrGcw+tNFxWbYQPbaFxALLeu1GS00flcKGlmWKfum1Br1usRKqqDCzaD/eDdMU
RAVVOm4PGvKTaciTBlJCwJ5awOZWmPmE7+GRs2ml81EibFMqW9FZnVtmwtk6yBREqibJ5RQH7lvD
MtxnSOvU0rpyaOW8hD4iyS87krwqoKdyy3hv/pmlzPFp/qB+cxzb+brwiBPxmJuRpp/Xnu4a0fLh
cgTZqwDZy75jCbxocHL5zV9xtDXCI3O1Fvp5cM3Mo5xwGK4CEAVFBUUFRQVFBUUFRQVFBUU9Z4qa
loEe/z0FxYX65OKxpYBWUFRQVFBUUFRQVFBUUFRQVFBUUFRQVFBUUFRQVFBUUFRQVFBUUFRQ1KNT
1Lwhq+nCRlNS1BMRzwxRsunJaEbSC4oKigqKCooKigqKCooKigqKCooKigqKCooKigqKCooKigqK
etm/6M/9nrtqxaKeQ1Rn+fGyVSCeZcTsgqKCooKigqKCooKigqKCooKigqKCooKigqKCooKigqKC
ooKiIhb1HGJRcwWFHjtmNceLBPCLflBUUFRQVFBUUFRQVFBUUFRQVFBUUFRQVFDUS6GoYKFFsNAq
8LVuq1fZP5x7jGNeFbEy/izwhfxZ4CPT47N9i2tGLRZd0xIg6G9j1Fe7tiNCgtNdCkBBQMEiBN7G
npI2DDuN5QEDfnYMyJiB3I2ktZcwkXwzYByfYAew91MwrjX4fjgUPOC/3eVNM1/Jre38Tj4A4BK3
mml2w9gDCkUDtKl4N408jXi+jaG4xPuVePfEfTU95lj1Qj6CKvnUIpc/zog6PgFdgJqHmr8MNQ8J
e2wJC36SN8alHJUKqpDvjYFVUHOfkCOULmOysIr0kkdMNZLFUPHcQ0Ylipde508bNgqByxvWniLw
W0cRWZXRSkeV0xcps7Lp6CTnLCmKA666/YbcoCXFFeXfITEvRmIWf7OQ6vcLyW+/yfkLBt5POyqv
AI9+PX62EvOCdSlUMlQyVDJUchkqOZUWPiA6IIe2zSCsk28gZbr7COrxUoQ4VDJUMlQyVDIuYqt8
EZtSumeTl7iIhUqGSoZKhkqGSj4vlXzMuHepDk2t1g/xcclKv3gvmE/9SzRqsuDHXTJUMlQyVDJU
8udRyaXfkpZ8Fw6VDJUMlQyVDJUMlXzRd8ml/Mi0GhoeEddQyVDJUMlQyVDJ53WXDBF7FiIWb1KD
SoZKhkqGSsZdMnRoRp9YcED8YTov3614VQRT7p+el6ensnvbS3xX2NlBFf1EaIIVE/Yq+sLyTqev
Jr49vdMJXl2Z/j3oHbXfL7Tqsl/cvm1w1rdznnBshWxsa5AjzZoT0yy4oaecCXH3Iutj08PrCx0l
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
NsQMssvbNNuxRu7i2YpdvWD8fO9NW6NSeJLXvETMbmb5u+nl3TRkpZeU/lLr6gXkye8H05Z5q3/X
KYXkbQ5vx/li2LXHrAO3oNT2JG/qMopmv/DlP34OnWn7zlje00sr9+FxJieKKknLl9GbQrlEiRIl
SpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlZsujn/3HbJJmTamD
UkTDd+0XBw/+NvsGepx8aDwZWTi+Ufu969bDBHUZNX9n4bTbrTtMEJL8ymPYedxh/2MH33z79Q1u
nZdoqaruZs+77Wc9Wqr7nnv//hNAeyX9XAclmmucHwcYlo7ibB2pfe4TvMvjR5c7G973LO//8JDe
zzWXmwNSlz9sVtsPWeU9WDV9ve/Z+p/rwPV8znecvJrHVA5VbWc+14HD1QNy13Gg4oO0cq192tZh
LX9+YB3SvqzXj+uG1bv4Qylv57t4zRLcrziM0qyxhXy9lwJKFWwK91lGN982fMXDhc3CbppeeApl
xbkuHIFfnl37ltNpUfcQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMM
McQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHE
EEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBD
DDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwx
xBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQ
QwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMM
McQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHE
EEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBD
DDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwx
xBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQ
QwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMMMcQQQwwxxBBDDDHEEEMM
McQQQwwxxBBDDDF8doZ5UtJ/zCZptgviJrJIsXC1fTQLgc1zVAxqBznYRDaASbcjCmIW1y8uGgo6
L+uQfR6OH8ObNPt7+LoXs8G3D81+1AalmdjGNqif0eUdT8L0r2H6NkwexzNWo8csmwH7FL7mN/1c
LFeNjdJkGif5oD0m8/51DqbpoqkqxHg60xsa7utJtktV7uJdab++oH0my7HNSLbi2qlfl4IbtMc1
QTXgl2Gd1Tw8h/Prpw7QftqvW2FsBzDPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPM
M88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPP
PPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzz
zDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wz
zzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM888
88wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPM
M88888wzzzzzzDPPPPPMM88888wzzzzzzDPPPPPMM88888wzzzzzfwLzpSGMwjhM1+wrnc4WVV/N
o96GUZpFP9GyiQrd2rVqoq1bqL3eTqIU2uKtFNa+YkoD27BglvUNkw+hbhHsV1xsQbly5cqVK1eu
XLly5cqVK1euXLly5cqVK1eu/M9Tvs+HgFdP+8Bnv48Atz8o2/4E8KrhE6tn+WDP59B/xOfQPmje
1+NmZKab/lW6W/55VlklJG9zeDuOJx93kVwHvi83WNuTvKnLKMqXxezHz/kMF4qqfUg3NCofoj88
TgdZXlfTx+c3hXKJEiVKlChRokSJEiVKlChRokSJEiVKlChRokSJEiVKlChRokSJEiVKlChRokSJ
EiVKnCWmDyFp+FL4MnXQHPGkAwOj9P4+npa/Yv0lHo/78+vvt79R3fo97crX5Dff8K7PmH/x/JfO
Ua97dtw7OT7pnp+ddrsvar6ZH5L8ymPY/p553TmD5HP6KQxWY3GZRIWk+cgcPNNZi+8Y711fgx9t
j37LoYW05VbnnWrJ/ThMonFY/bwetEk+uO8/hix0hvm/o+Pe0enr3nnvvJPji+LkQ1FCtavtpyWW
4Jr7VKlwPtM7Doz0a5MaDo6MWoKLkTX9zu3UHGH6ksXTYvSbOMmhh/2OM9V3fZ9BLJ41aV17eWO1
rZTX3slJt/fkFfVz+WyucX5UZFiareukOOlPH4F2oZc7G24+LlSZvCbZt+FDnLxvOauzrmwX92EU
/fZ7PJnmhYPywZmS4brHxB4L5N10mE1D1FBd/my8TbPqw6fUwbucziDJEx5mB/L2WmmXP2zud5xC
jKNV01vt/XS7+la/C4fEWnjOZ3OHunlMZb63M+uObT3lKbt6Adv1nC2+qFWutU/qOqx5HjYh7VvD
+nXwj/r7oZUW8tXefEB3U7jPIrv5tuHb77zkTdMLdaHsJzyNiyGGGGKIIYYYYoghhhhiiCGGGGKI
IYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGG
GGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhi
iCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYogh
hhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYY
YoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKI
IYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGG
GGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhi
iCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYogh
hhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYY
YoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKI
IYYYYoghhhhiiCGGGGKIIYYYYoghhhhiiCGGGGKIIYYYlpOS/mM2SbNdEDeRRYqFq+2jWQhsnqNi
UDvIwSayAUy6HVEQs7h+cdFQ0HlZh+zzcPwY3qTZ38PXvZgNvn1o9qM2KM3ENrZB/Ywu73gSpn8N
07dh8jiesRo9ZtkM2KfwNb/p52K5amyUJtM4yQftMZn3r3MwTRdNVSHG05ne0HBfT7JdqnIX70r7
9QXtM1mObUayFddO/boU3KA9rgmqAb8M66zm4TmcXz91gPbTft0KYzuAeeaZZ5555plnnnnmmWee
eeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnm
mWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555pln
nnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ555
5plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZ
Z5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWee
eeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnmmWeeeeaZZ5555plnnnnm
mf8TmC8N4WgchtW+Zosa+7PCQvhPtGJGW13btWhGNbfSWNYuoxLeTK8a2r6AKgPesIZG9XE1M7vP
suh/3/0XF0clczMX8xZrRdWvprrQ7QXVb1HwLGvF1v5HbO327j/O4yi9v4+nL0qj/CUej/vz64XQ
Ra9LuZNp+jDrWtM45h1K1rfUHyajMB6HqLWaTSeWV4963bPj3snxSffs5OS892JrP00nYTvo+LRx
Xiub0E1Iotxrf1ZPuer74dfbML9+vZzcrXZ65+fPNSD/D1BLAwQUAAIACACtenpJgerRgWYUAACv
PAcAMgAcAHN0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNoLWludmFsaWRhdGlvbi1zdGRlcnIudHh0
VVQJAAP2GDpY9hg6WHV4CwABBPUBAAAEFAAAAO3dTXMaSZoA4LtO+gkVvliO6I5AEpKwbm40nlXE
7uC13XtHVEmijQptAdb4Mr99kxISBfUBktU7mpjn0OGmeN98szKfygKCFOdnv31Jsu9Jdno6vk3S
s98+J/87SybTbj8dJKNREu/8ng7DkfOz38760/5Ff5LURUa/Rrs758v24kV8d5ymyWA6HKefkjQe
plfd0XiShOj9duvksH10eNTqnJy8PyhXWmaeng4qW/mYjW+6o2GSTufV19tst4v9eanz+5r100l/
0a0QmvXn//t1eJNkH4dZiNtr/f3k8vKyfXnZ6bc7rXelpMH45mY47aX3PZs/vTzTr+OH/t5HFRKL
J1N+snQeFSV39m76w/RdVHHOpQbz092LLyqjw1lfjrObbmXSfyU34+xHiP+tP/gWZurLdJzVVrgP
LkZW9Hvv3SKud/FHGKZFg3fZcFqM/jhMh5PrMKX1ZxkP409NXd9mEKO9QX80ugg9ftdMNhSrrLLK
dP8wMK3o6jD9Pv6W9B58fUjjQjO5tr1c1sdwJIxMKJeMkmny0MCD1ipZT4isOIUS58egnfWxLp/+
bk1ML/twMc6aQm/6Py6S/KI/X1w4a5f7/uFx7WmUZidvKC6dymW4gHtp6NLtfIRWVrPymFVMWunQ
3rvicnBxGLfezS+rWqDX/TQeJWd5sc1hi8ePSCahX1+vkyyJ+uG/IGv/+P37o1Y7ur1fM3ee1tSn
8e1tWM/6afS4zP0SpeO7aNpUY1Ovu7MsCwv2Y6WGhIdl5j7jflQe8xoXqPvpKi4rO1/++z/DelFa
lq6SgO8vk5A4CqvHQwvn6eU4FHiAs+nOds/p+fe0+/yNd7Om5buxqb1iS61O592zV5z6LowbEvMb
48t4bnfanUdrNXNanv0oPxQeRZfDURK93X0bBUHxcPKt+W5xVnZUvAvPx7qUWDW2/9i0Muwf5ytD
/Tp8trIAzQN7xZcpp6fZ4vXKYvGKK0LG6WorX2aDQTKZhK78Gg3uL7Io1JvMr67hZIXfwX6+uj42
FYbutj8dXP/l+6Oxwsuew5PW6s1p/pKq7uTyl1uFhTXa2w1j0z457LRa+yfH9y1VBT9rBU7yca57
1Ve6Sl9qET5o/fmLcKHGn7YIz0Utl+CVkT0IM1W3Hs8Hd+V6DJn7hyedw/7RnMpPrs2Nl3BvrfTL
zGhYjv+Zo92/aLWaFuMwZtn0f+4v5W7oxFXS+F5h5a6UJf1pUpdbvjO198N9rm7eL5KrYVpIP1+d
iufehWq8rFfb8NK2V1xLtltQl/0sPAhluvNBm99eliqju+H0+nE5LQzY8fvjVrS8YUfLlW4+w4PL
8P/9zkmyf3kcJ/3jdzvbT2zFG9TVxw8DUrov/H57lfXj5G9JEifxNveD/aODsAwldxXHX9lrhKff
tQovq/JrofCuM+Ts7Ua7Fe/p1yNf6KOC9WY3fmpQ1Y/6Jze84S3FN7wCLcdu+PCglFBzVVdNQj+e
z23U+/JwnZ2fRUcHB8dh+o+OO9t9AvCzg/GkDwKqpqXuHfdGSlVBRRgv9RHV6sVwNxyNat7R+0xs
w2didbSbg5/W3Vf44dbRUeunPtx6lZ9JNX1i9OpufWujUrj9VbwOmJ/M4j3hh8tpkq28zuguPop9
eA3x7JvqtGHeql+urIQkD+8HNi0Wj4FrUCp7Ekp9iOP5G63w8HsSTZuXuNXFeeVj6dvZXE5c/nBx
8XryU+F5iRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSswW
Wy67s2wyzupSeysRNd+1v/+rGv8x/wb6ML2q3VJY2IdR+b3rxs0EVRkVW+CPW62qzQRJGo7Mko3b
HbbfdvDk068uuLZfoqGpqpPttJr3ejQ09zPn/vNbebZKel0bJepbzLcD9Ff+zswL7WHdsI/ow8bC
T9kE+68y3Ms9TB/+tIFv3gcVevBQ+nzbfeP/pL09NSv2l/kW4Q2bo/KY0r6n9cyX2tz3cA/btGOn
eK8rHWuetsewhq31jyHNV97jHbXxr4t8XqzbWf7v7i/R/Z6gaJJvDc33oh6+77RbG1pJBuNs/odj
viU/ahrpdFq1jfTjeIsW3rePjre65j49bayLmwXrOX6qewFTeK4Io7ArfbEX7Sm7zeLWO2aZZZZZ
ZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWW
WWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllm
mWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZpll
lllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZ
ZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWW
WWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllm
mWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZpll
lllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZ
ZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZpl9TEq7s2wyzjapXUYW3RaONo9mIbB+
jopBzXp7y8huloTTTq+iQf44uhtOr6MgKQqp2Y/T6M3um5370Gg4iS6GaTwPHo3vkizX9Hb3bdRP
42h2e7s8shWk3tNPfjtMvZWxXufUq56z/Mjp6SSZ/jWZfk4ms9EcThiUbE4ov25eDN5DscE4DUM/
Sz7O0rx/0d50fF+qTC1c2cFnUnNez9K70uQmwKX61U80z+RqbD2StbhmzOcrwTWL4LaVlzzPn3te
2yE9b5zP9QBUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUV
VVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVU
UUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFF
FVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVV
VFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRR
RRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRfXfhmrv4o/Q+cUg
xskomT5qLXU6u2/6LI/6nAzGWfyKtMeFbm3CHq+dQuXxZhIroQ3eVsKaoa8MbI3zRXv99CoJc5rl
/+7+Eo3zaYwm86Do6ODg+LC9f3R4vNPNkjCQ6dVcz5zu3XB6HYWmo9CF7Mdp9Gb3zc5C9XASXQzT
eB48Gt8lWT51b3ffRv00jma3t8sjG/qW9z90Lp/6yq612u+Pmxv5PZ1Nkvi30fji43C0aHKirrrq
qquuuuqqq6666qqrrrrqqquuuuqqq6666qqrrrrqqquuuuqqq6666qqrrrrqqquuuuqqq6666qqr
rrrqqquuuuqqq6666qqrrrrqqquuuuqqq6666qqrrrrqqquuuuqqq6666qqrrrrqqquuuuqq++rq
bvPzCGfP+1P42/04wvpPCKz/NsJZzd/yf5GfPPDDGs//YY0/5/cEnp7hBz621b4cmemyf6Xurj6e
N1YKCTX7F6Ph5HoT+MfAr6sFK3sSSn2I43DRzR9+T6LiU+U+jJe/VlL68ZLb2bSXhbbqfrbkU+F5
iRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpQoUaJEiRIlSpwnjm+TtOZL
4YvUXn3Es7YjDMY3N8Pp6les74ajUTc//nX9G9WN39MufU1++Q3v6oz8i+e/Rvvt1slh++jwqNU5
OW61diq+mZ+k4cgsWf+eedUuhvT7+FvSexiLD2lcSMpHZu+FdnL8xHhv+hr8YH30GzYtjBtONe9U
Q+51P41HycPjx0GbhMH9ep1kSdQP/+0ftveP37c77U4U8M23WFSN+7T/Lflb8vfp51maholem6rF
vpDFDqRxOvoRTWa3t+NsOon2i1/c/yXfsHEXKo+ypB//iK7730MXivbKg9O8P2NBvH4USg3mtjZs
gOlWJtVshBk0Bz+tu8tdKtV92GY0ittUGi/bUKyyyuple3TUaj/7YnxdtOtbzHeZ9KfF4TxPi/P8
/BFopvZhY+H6nUalyasjepFcDdNN+3geG9xZF1lzv6iICXe+i3Ddf23crHMZZreXhoTb+Wa+rS6G
D3/a9GzYwTiMH0qv1XtdsMtzWdgC1iDoy7S/MltVKPKY0nyvZ1ZtynrOPfTh5dWmu2jxZVjpWPOk
PobVz8MypPnqfXyx17xjt59eJWEKs/zfyi27h+877dbP7vs97HRatY3043iLFt63j463uiI/PW2s
t9s6+anutXXhuVe47ZdZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWW
WWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllm
mWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZpll
lllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZ
ZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWW
WWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllm
mWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZpll
lllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZ
ZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZ
ZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZplllllmmWWWWWaZZZZZZpllltl/fbMh
Ke3Ossk426R2GVl0WzjaPJqFwPo5KgY16+0tI7tZEk47vYoG+ePobji9joKkKKRmP06jN7tvdu5D
o+Ekuhim8Tx4NL5LslzT2923UT+No9nt7fLIVpB6Tz/57TD1VsZ6nVOves7yI6enk2T612T6OZnM
RnM4YVCyOaH8unkxeA/FBuM0DP0s+ThL8/5Fe9PxfakytXBlB59JzXk9S+9Kk5sAl+pXP9E8k6ux
9UjW4poxn68E1yyC21Ze8jx/7nlth/S8cT7XA1BFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVV
VFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRR
RRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUV
VVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVU
UUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFF
FVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVVVFFFFVVUUUUVVVRRRRVV
VFFFFVVUUUUV1X8bqr2LP0LnF4M4GCX9cl+z+xa78ycL4a8I+mCta5usDypOpfa5Zhml8Hp65dBm
96UBr6G/3m6Y63H+KJrkD48ODo4P2/vH7c5W10X35wageHWUMpeTkVesJFV9OVWFrl9R3QYGL3Kx
WJKfvyR3sySMVno1X8fmi+jdcHodhcwolMh+nEZvdt/sLNbX4SS6GKbxPHg0vkuyfCV5u/s26qdx
NLu9XR55RoZbw/+f9sH45mY43VkZ5bvhaNTNjxdC73u9khvWrtt511azF0f3262Tw/bR4VHr5Oio
095ZW2fHk2Q96PC4dkJKa9OnJKfUnbez2vRN/8dFkh8/X8zKWp12p9N4JlUdCEObPk5Ot58OktEo
iV+qmf8DUEsDBBQAAgAIAK16eknSRr0MnQYAANBYAAAyABwAc3RvcmFnZS9pbmRleGVkZGIvcHJl
ZmV0Y2gtcmFjZS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA/YYOlj2GDpYdXgLAAEE9QEAAAQUAAAA
7VxLc+I4EL7nlJ/gI1Rtqmww4HBLYLJL7e6QDZm9C1sk3hiblU2YXOa3b9vGRrIeNgQq7ESHVAWr
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
ZIqMiE+M0/Muy/K6dOOrQVjT+zMn03TRnESfSnnNKTLokbxe//CiOFrSchrBDdT5ioJkEUXJappG
gN6W/lzyjaE2yAiTv1Ipw4ltGjVSiBOErs6UoQ1tRSUE6qCBhIk5shrVxO1xoeMrQJ3PSkTk7vF5
xvWzw8nmGPB3Jdn8NugNdjsvLjeSF8/358m6vl2foLAW4KvqSwAv3KzBtHSPuqdm1c3qngxkyC5l
UqG7nvg4czl0l4pt4o2jYF2mpTxXj0aGecqzRFWTkKWB0CQkKSy1uqOggdrcBGFNsm891n2y+frj
jY0Vr3DoIZmh2WYOqDPbxiQszeipU5K5unPSQBpr4iYf9UskJDtL14FFTlhJFKkloAqQmD2kgMtn
gmI9xJ1pRlbk941HwezfWNQhjMojMId90r1qC1jGIfldwYL2K8lIQmHlidRCzPE/GzTevlxhBaM0
omSbtQ09vmrEnbL309tnI6aPBU5qiUkJwoCvfnZy7kc1h949q1V8zEObz+LuYm6YvZvj9bMHWJCp
XjZ9zvmL+qkCsdfskVbNQJLQCLNGlfNcA3V7iGWH2M947rsOwyA89dSH2ei6gA4d3GDPJ+5BlkDn
UZjzKPaTUVc87zWYgN+UnYl52f6hgtNf/Q9GRiq/4oo1fM4K9/TRTMh1Pai68QZHv5mMR/XsQiq/
CUbLGBvs9ZiTnUxH5WBnGPbbu/AnAfWZJN2EviXWjcyBZzhj5pr0R7r2nCU5Z/1/jknt1N9O/e3U
30797dTfTv3t1N9O/e3U30797dTfTv3t1N9O/e3U30797Qtr7Qtr7Qtr7Qtr7Qtr//0La5+lgX3c
1+dqzznKb+/ED42rsgBi99IjD3/jOPn8Jy2JjCKTxqORbVY+xBA+RweioaUMlPaz9rLoHX7dkGR9
eQCkih7TtpvrSb8Rf4MDfwJQSwMEFAACAAgAr3p6SWFrs/QBBgAAzykAADkAHABzdG9yYWdlL2lu
ZGV4ZWRkYi9yZXF1ZXN0LXJlc3VsdC1jYWNoZS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA/kYOlj5
GDpYdXgLAAEE9QEAAAQUAAAA7VpNb9s4EL3nlJ+gow1sAcmWbcW3xG52jcXWQZLunZbGiTYy6aXk
pLnsb+/o06REUrKdoCm6hwI1NZwZzrx5M2K0mF/dAX8GPp2yLdD51S38u4M4mRHqQxRBcPaVhriy
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
bnf1x/zyn6fLrtREmvwGPC+BjPZ1vZRgoWgfgu59+LHX/1f4V6kW9vO6h1iujWVXY3JhaisbjJYO
7rvDOMNh/741vI9rutntRWFljRFPUnjy4pefvh/OvNCUvqqrb1s3FXIt0LXAJNzQ9aXous5l16cx
N/ti7RoA3pbruoBb2dVo/P1O+DsKY44mlLe9h/BDNOx3wsF/OsOb30cQGSmEkimZkimZkimZkimZ
kimZkimZkimZkimZkimZkimZkimZkimZkrdMyevrt5Soc737BD8X0ndjSVMyJVMyJVMyJVMyJVMy
JVMyJVMyJT9LLJmSKZmSKZmSKZmSKZmSKZmSKZmSKVks+bmU7I5rSqZkSqZkSqZkSqZkSqZkSqZk
SvZcsueSKZmSKZmSKZmSKZmSKZmSKZmSKfl7jiWXv3e6mruyU+m7HropmZIpmZIpmZIpmZIpmZIp
mZIp+eWVvLF2n1qEW/MR42oefBZLpmRKpmRKpmRKpmRKpmRKpmRKFkt2x7U7rimZkimZkimZkimZ
kimZkimZkinZl6C845qSKZmSKZmSKZmSKZmSKZmSKZmSfQmKkimZkimZkimZkimZkimZkimZkinZ
HdfuuKZkSqZkSqZkSqZkSqZkSqZkSqbk3DGlNF6ruDs717GlrO0d15RMyZRMyZRMyZRMyZRMyZRM
yZQsliyWTMmUTMmUTMmUTMmUTMmUTMmUTMmU/ExfjfIlKEqmZEqmZEqmZEqmZEqmZEqmZEr+Nt5x
LZZMyZRMyZRMyZRMyZRMyZRMyZRMyZ5L9lwyJVMyJVMyJVMyJVMyJVMyJVMyJYsliyVTMiVTMiVT
MiVTMiVTMiVTMiVTsueSvb2LkimZkimZkimZkimZkimZkimZksWSS4h6g5drueOakimZkimZkimZ
kimZkimZkimZksWSxZIpmZIpmZIpmZIpmZIpmZIpmZIp+ceKJVcZJ94kQEzJlEzJlEzJlEzJlEzJ
lEzJlEzJlLxJLPnJvl3T4L6XTMmUTMmUTMmUTMmUTMmUTMmUTMliyWLJlEzJlEzJlEzJlEzJlEzJ
lEzJlOy5ZM8lUzIlUzIlUzIlUzIlUzIlUzIlU7JYslgyJVMyJVMyJVMyJVMyJVMyJVMyJYslZ1vY
c8mUTMmUTMmUTMmUTMmUTMmUTMmULJZctZ8pmZIpmZIpmZIpmZIpmZIpmZIpmZK3KZZMyZRMyZRM
yZRMyZRMyZRMyZRMyZQsluztXZRMyZRMyZRMyZRMyZRMyZRMyZT8VZW8DnKrEHWuY0tFpEu+h6ua
N3yl0neDB6ApmZIpmZIpmZIpmZIpmZIpmZIp2R3XX/tLUN5xTcmUTMmUTMmUTMmUTMmUTMmUTMli
yWLJlEzJlEzJlEzJlEzJlEzJlEzJlOwd176XTMmUTMmUTMmUTMmUTMmUTMmUTMnecU3JlEzJlEzJ
lEzJlEzJlEzJlEzJlOyO6yruuKZkSqZkSqZkSqZkSqZkSqZkSqZkSv4x3t7lS1CUTMmUTMmUTMmU
TMmUTMmUTMmULJbs7V2UTMmUTMmUTMmUTMmUTMmUTMmUTMnuuKZkSqZkSqZkSqZkSqZkSqZkSqbk
H+Ed12LJlEzJlEzJlEzJlEzJlEzJlEzJlOy55OqjwRswXCyZkimZkimZkimZkimZkimZkimZkn0v
2R3XlEzJlEzJlEzJlEzJlEzJlEzJlOwd12LJlEzJlEzJlEzJlEzJlEzJlEzJlOy5ZM8lUzIlUzIl
UzIlUzIlUzIlUzIlU7JYslgyJVMyJVMyJVMyJVMyJVMyJVOyL0H5XrJYMiVTMiVTMiVTMiVTMiVT
MiVTsliyWLJYMiVTMiVTMiVTMiVTMiVTMiVTMiVv8XPJlEzJlEzJlEzJlEzJlEzJlEzJlEzJlOxL
UJRMyZRMyZRMyZRMyZRMyZRMyZTsueRqn0te+wnjTYPWS/Rdw9vfkje/TdG/kJK3uyKZndmZndmZ
ndmZndmZndmZXWTbd6m8S0xkm5IpmZIpmZIpmZIpmZIpmZIp2f3f7v+mZEqmZEqmZEqmZEqmZEqm
ZEqm5Od84zYlUzIlUzIlUzIlUzIlUzIlUzIlU7KnpD0lTcmUTMmUTMmUTMmUTMmUTMmUTMnuuN6G
O65fIkC8fYgk+peuDGZndmZndmZndmZndmZndmZndpFt7//2/m/v/2Z2Zmd2Zmd2Zmd2Zmd2Zmd2
cfbniLNXQ+mnvDXcM9vuRhfZpmRKpmRKpmRKpmRKpmRKpuRte7PZ05S8wcer1gM1JVMyJVMyJVMy
JVMyJVMyJVMyJVPyhkp+CflW8IJxSqZkSqZkSqZkSqZkSqZkSqZkSqbk7/wrWRvfTU3JlEzJlEzJ
lEzJlEzJlEzJlEzJlLwFseT179N2xzUlUzIlUzIlUzIlUzIlUzIlUzIlUzIlUzIlUzIlUzIlUzIl
UzIlUzIlU/JcLt/N88XV1+W3+d2k7X2a2ree0jBOyZRMyZRMyZRMyZRMyZRMyWLJ3t4lliyWLJZM
yZRMyZRMyZRMyZRMyZRMye64pmRKpmRKpmRKpmRKpmRKpmRKpmRK3vLvJRe9Gds7rimZkimZkimZ
kimZkimZkimZkilZLFksmZIpmZIpmZIpmZIpmZIpmZIpmZJ9L3nhZFVI343jzZRMyZRMyZRMyZRM
yZRMyZRMyZT87St5Hby+pKgrVbI7rimZkimZkimZkimZkimZkimZkinZc8nr3EYtlkzJlEzJlEzJ
lEzJz67kl1hA2qRN2qRN2j9YPLoozlzK6yXNXM2d3al83uAhatIm7apmNV/vtO5E6kT69NPI9r9Y
Yvu/6T4Y9u5Srfk9LpgX7uOv81Z7fHh40lhM0+r2BuFyooOjzCa60mEuJjXSHOWzmPVt8NdlOP79
7HHMXNpO4+Sk/HbGGbV/7KqtcEFaoccdOZpd92kGUSvsdp9a5M+dvwUWWGDBV1jwf1BLAwQUAAIA
CACxenpJ69CX3WsOAACRaAQALQAcAHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUt
c3RkZXJyLnR4dFVUCQAD/hg6WP4YOlh1eAsAAQT1AQAABBQAAADt3UtT20gCAOA7J36Cai4DVUmV
AQOGW0Ims1RtDewks3djNcQbI7O2SSaX/e0r+SljSbYHJ0PId5jKILW6pX5/akk+f/P6Xeh9Cr3T
07g5aF41++GsmyShNWh3k8uQxO3k5qzT7YfoZbRXrx0f1A8PDmuN4+OT/a0/kvZ/78P5m9dvFo48
PW0VxvK2170967RDMkjj234YZ72+dV51PsMo4r9+JqPjl57Dzm2znexGC5EujWonH1Ot0djdKoij
nXzqfgwXd6HXzCJ6lcTve82k3xxG+759G3o7u/ls6N6F5M3r30MaT39w1kxaodMJcVHMxSGzM9t4
fOVZ1K24sLftXppS+bEfmkncCZO/p1nUT5N8/yH0QtRM/9s7qO8dndQb9UZ0N6pZ2dW9TZPp9r6k
tSZ0wmAax+TiZ/XhfXdavwpDVuwtOOOFTTu70U7tz+Pr6+v69XXj6iCu7VZm1/iSh4ltJmdODmv1
ac6sF9Vl9+4uLeBmEk1L8UWUdD9Hg6o0lp312X2vl7aQaUoVB6RBrru92/ERo1yZHjeqePFV4ZGj
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
DdEQDdEQDdEQDdEQ7Seu/MQVREM0REM0REM0REM0REM0REM0REM0REM0REM0REM0REM0REM0REM0
REM0RHsnGqIhGqIhGqIhGqIhGqIhGqIhGqIh+msh2jvREA3REA3REA3REA3REA3REA3REO3DYj4s
BtEQDdEQDdEQDdEQDdEQDdEQDdFWoj3ODdEQDdEQDdEQDdEQDdEQDdEQDdEQbSUaoiEaoiEaoiEa
oiEaoiEaoiEaoiHaSjREQzREQzREQzREQzREQzREQzREfx1EP6/fXPqBVs8rTPZNf7TreymMpwz+
b4Top31fAemRHumRHumRHumRHumRHumti1sXty5uXdy6OERDNERDNERDNERDNERDNERDNERDNERD
NERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERDNERD
NERDNET/9Y+CPa+vykE0REM0REM0REM0REM0REM0REM0REM0REM0REM0REM0REM0REM0REM0REM0
REM0REM0REM0REM0REM0REM0REM0RHsnGqIhGqIhGqIhGqIhGqIhGqIhGqIh+hsgeh0DbwLcj4Dx
mgSHaIiGaIiGaIiGaIiGaIiGaIiGaIh+noh+PJCtREM0REM0REM0REM0REM0REM0REO0x7k9zg3R
EA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REO3r3L7ODdEQDdEQDdEQDdEQ
DdEQDdEQDdEQbSUaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoiEaoj3O
DdEQDdEQDdEQDdEQDdEQDdEQDdEQDdEQDdEQDdEQDdEQDdEQDdEQDdEQDdEe5/Y4N0RDNERDNERD
NERDNERDNERDNERDdAWM1+Q1REM0REM0REM0REM0REM0REM0REO0x7k9zg3REA3REA3REA3REA3R
EA3REA3RVqI9zg3REA3REA3REA3REA3REA3REA3REO1xboiGaIiGaIiGaIiGaIiGaIiGaIj+URC9
joE3AW6IhmiIhmiIhmiIhmiIhmiIhmiIhmjvRHsnGqIhGqIhGqIhGqIhGqIhGqIhGqIh2jvREA3R
EA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REA3REO1xboiGaIiGaIiGaIiGaIiG
aIiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIiGaIj2OLfHuSEaoiEaoiEaoiEaoiEaoiEaoiHaSrSV
aIiGaIiGaIiGaIiGaIiGaIiGaIj2O9F+JxqiIRqiIRqiIRqiIRqiIRqiIRqirUR7nBuiIRqiIRqi
IRqiIRqiIRqiIRqiIRqiIRqiIRqiIRqiIRqiIRqiIRqiIRqiMzU9FsN/NQu9Ew3REA3REA3REA3R
EA3REA3REA3RVqKtREM0REM0REM0REM0REM0REM0REM0RPs6N0RDNERDNERDNERDNERDNERDNERD
tJVoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZoiIZo
iIZoiIZoiIZoiIbo7wbR6xh4E+AugfGavIZoiIZoiIZoiIZoiIZoiIZoiIZoiPZhMR8Wg2iIhmiI
hmiIhmiIhmiIhmiIhmiPc3ucG6IhGqIhGqIhGqIhGqIhGqIhGqI9zu1xboiGaIiGaIiGaIiG6FyT
/xY7QBzEQRzEQdxqttVsEP8xIL7mnOXvG7QNWs920HpeL9Y8yf5obm86cbwrHJLssMMOO57wjqKB
Iu1xk+l9tLNm0gqdTohdgx1PY8dsfB9vnU2cjg8PG/X5MK1Otx8eBjo4Kp0lLczZLkeTgrMsnvmo
b5tfrsJw+/l4/v0gnXqjsXo6w4jirf8DUEsDBBQAAgAIALF6ekkwjMl54AUAAB4mAAAuABwAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtc3RkZXJyLnR4dFVUCQAD/hg6WP4YOlh1
eAsAAQT1AQAABBQAAADVWktzozgQvufkn6Db2FWTKrABY98cO6l11dY6O87sXQaRsMHCK0gyuexv
nwYMCJAExPZm9jCVQfRL/fi6JbNe3WwJeyVsPg8PhK5uvpF/XkgULzF1SBAQ9+o79WFlvbpZ4Rjv
cERklOgaDa7Wl5PnHumXIaXEif2Q3hPq+vRxGYQRAWrd0KYTw5yYmj2dzsZNTSXnfO4IpdyxcL8M
fELjRHtdpmGo7UlFuB+3JONvtWG4xz4dIYEjW0QNeUmabY9EwfDpa/hMNgfCcCJoQd0HhmmEU7EP
/p6w4UhhQqhgvPMZJADnQiexsiFEZNW/jbXhCA21H1PP8wzPs7E+1kZZvtyBxpC9Q4BIQGKS0+fp
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
/szB2Xg35mDYPPJGJbLDdpmSxVtCQ0y8wg1gezBy3BG2GGzfSElKOlmcmL4MJuD88pH5wmsDwiZX
AzFLsj8KWpmCE/eEO3M0HOMSgjMim1s/ypkD0cHwzPOXDC9rch9STn5Oz9nCTmcpTzkFMlqS+9FD
7gOYmbKgsa3uiEr0HGabktq5gNlj20DHEy46ciXLsBfA39h1yCCwfYLtfuf8xBar5QZyNwUBqe1R
P3b3CfbJb4T4xD9nbxpYQyAy8iwY/3yH4JY7KPc9JK+FxfpPSFXBW1ewv6FuvxbnmmRVUcZVH4v/
UQ5K/hFY7tr3azr3AFzKnpfRPMavsh7TNc5wdEGLkpAVinBl8oe1zDWESfElsC4rYYsDadYmSHhC
lFbsM7SgxepQufMZsoZDGwBl2a56i1nK7LcMBup5OIrW4GtfzdFgcypKi4TohLIVV0RCPDDejrsD
ypvgxldDbUwdz1JMsb2WImoolTWn/LbznfEvYCfJf3e/ojiPHkrzZOboGY1d02jQQrw4Yf8+eCAv
EiUubBAyJQDcMzSMTcs+C8TLdrHmISsHoJTCuGc8MLidaf99qQ2N+wX8PpBkNdg12DXYNdg12DXY
Ndg12DXYNdg12DXYNdg12DXYNdg12DXYNdg12DXYNdg12DXYNdh/FrBf4AI+3m7DrNoe8BxG0TQf
V3dzvMFg4zX/qfnKNX/tYcPNdrFGVYP36WJVTayH+33hJNkdv1q4nbvcHb9Q7TnRaHW5L7JSbbuy
LMN8fdvVZ+vQkTUuiEBZa1wQFJQwhl2JDDDFOk4aSi8IWUfEoRlM4AfHHoIWKzZ9zzrXQUaSSgtX
4UbedtV9Rb+SJHi3IQ3TzS8sKRBlaTMg39t/7iQx6E9ArFAleCHEdg11ASrUveX1j/b8+rmK5536
kSs2PqC/1SDGm97quVzLZ61Xsuzgv1RDqGMMzTYNoT97f6X0NYL621cnva/xrsIajmW55knHZu0d
OhAa2VJIKN/Fq6re4pc1ycfn+7PUiR3Tdc+3U7zY9r9YYLt8Vwh5H5FuSzX/AlBLAwQUAAIACAC5
enpJ1tkpwLkDAADPFAAASQAcAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0
LWFjdGl2ZWRvbW9iamVjdC1wcml2YXRlLXN0ZGVyci50eHRVVAkAAw0ZOlgNGTpYdXgLAAEE9QEA
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
AABGABwAc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0
LWZhaWx1cmUtc3RkZXJyLnR4dFVUCQADXxg6WF8YOlh1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7
T7HH9qARxEsQQbQnkUKL9pykWwiku2Gb+PP2VtHbDHwzVdPUjYYrGRsQEkPKQsAEnpzgiJRMAJMT
L+/G5TxCsQbiBIYARVjKhbpxyCNO6mSSUVXXqg7t2SfVchaHn3ZkQXXhPoeZPdD2s7Rmwu/kE1Yu
xmKz3ZagoXo6jMkz1bK7s+/38HvQ+s+1jigDy1hHpAP1NxQ/vArLHMrFG1BLAwQUAAIACABcenpJ
izZ/HbIAAABIAwAAKAAcAHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLXN0ZGVyci50eHRV
VAkAA18YOlhfGDpYdXgLAAEE9QEAAAQUAAAA7Y/NCsIwEITvPsUe24NGEC9BBNGeRAoV6zlJVwik
u2Gb+PP2WtFX8ORtBr4Z+KqmqRsNJzI2ICSGlIWACTw5wR4pmQAmJ55ejcu5h2IOxAkMAYqwlBPV
csg9DmpnklHV+ajOaPc+qSNncTi2LQuqA3c5vLAb2u5FWjPgezKGmYuxWCyXJWio7g5j8ky1rK7s
uzV8HrT+4lpHlAtLX0ekDXUtir88Csscykn1N/ob/dzoCVBLAwQUAAIACABcenpJSxuBNacAAADS
AAAAMgAcAHN0b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1zdGRlcnIudHh0
VVQJAANgGDpYYBg6WHV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBHESxBBtCeRQov2nKRb
CKS7YZv48/ZW0dsMfDNV09SNhisZGxASQ8pCwASenOCIlEwAkxMv78blPEKxBuIEhgBFWMqFunHI
I07qZJJRVdeqDu3ZJ9VyFoefdmRBdeE+h5k90PaztGbC7+QTVi7GYrPdlqChejqMyTPVsruz7/fw
e9D6z7WOKAPLWEekA/U3FD+8CsscysUbUEsDBBQAAgAIAFx6ekmviBzXrQAAAKQBAAA0ABwAc3Rv
cmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtc3RkZXJyLnR4dFVUCQADYBg6
WGAYOlh1eAsAAQT1AQAABBQAAADdj80KwjAQhO99ij22B40gXoIIoj2JFCrqOUm3EEh3wzap+vb+
oC/hbQa+b2Dqtm1aDWcyNiAkhpSFgAk8OcEBKZkAJieeTcblPEC5AOIEhgBFWKpCXTjkAUe1N8mo
+npSV7QHn9SJszh8tx0LqiN3ObywG9ruRVoz4kd5h7mLsVyuVhVoqO8OY/JMjawn9t0Gvgta/3Ct
I0rPMjQRaUvdBcX3j9Iyh6qo/+7RE1BLAwQUAAIACABcenpJSxuBNacAAADSAAAAKQAcAHN0b3Jh
Z2Uvd2Vic3FsL2VtcHR5LXN0YXRlbWVudC1zdGRlcnIudHh0VVQJAANgGDpYYBg6WHV4CwABBPUB
AAAEFAAAADXMzQrCMBAE4LtPscf2oBHESxBBtCeRQov2nKRbCKS7YZv48/ZW0dsMfDNV09SNhisZ
GxASQ8pCwASenOCIlEwAkxMv78blPEKxBuIEhgBFWMqFunHII07qZJJRVdeqDu3ZJ9VyFoefdmRB
deE+h5k90PaztGbC7+QTVi7GYrPdlqChejqMyTPVsruz7/fwe9D6z7WOKAPLWEekA/U3FD+8Cssc
ysUbUEsDBBQAAgAIAFx6eklLG4E1pwAAANIAAAAqABwAc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1z
cWwtYXJncy1zdGRlcnIudHh0VVQJAANgGDpYYBg6WHV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtP
scf2oBHESxBBtCeRQov2nKRbCKS7YZv48/ZW0dsMfDNV09SNhisZGxASQ8pCwASenOCIlEwAkxMv
78blPEKxBuIEhgBFWMqFunHII07qZJJRVdeqDu3ZJ9VyFoefdmRBdeE+h5k90PaztGbC7+QTVi7G
YrPdlqChejqMyTPVsruz7/fwe9D6z7WOKAPLWEekA/U3FD+8CsscysUbUEsDBBQAAgAIAFx6eklL
G4E1pwAAANIAAAAyABwAc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtcm93c0FmZmVjdGVkLXN0
ZGVyci50eHRVVAkAA2AYOlhgGDpYdXgLAAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEcRLEEG0
J5FCi/acpFsIpLthm/jz9lbR2wx8M1XT1I2GKxkbEBJDykLABJ6c4IiUTACTEy/vxuU8QrEG4gSG
AEVYyoW6ccgjTupkklFV16oO7dkn1XIWh592ZEF14T6HmT3Q9rO0ZsLv5BNWLsZis92WoKF6OozJ
M9Wyu7Pv9/B70PrPtY4oA8tYR6QD9TcUP7wKyxzKxRtQSwMEFAACAAgAXHp6SUsbgTWnAAAA0gAA
AD8AHABzdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50
LXN0ZGVyci50eHRVVAkAA2AYOlhgGDpYdXgLAAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEcRL
EEG0J5FCi/acpFsIpLthm/jz9lbR2wx8M1XT1I2GKxkbEBJDykLABJ6c4IiUTACTEy/vxuU8QrEG
4gSGAEVYyoW6ccgjTupkklFV16oO7dkn1XIWh592ZEF14T6HmT3Q9rO0ZsLv5BNWLsZis92WoKF6
OozJM9Wyu7Pv9/B70PrPtY4oA8tYR6QD9TcUP7wKyxzKxRtQSwMEFAACAAgAXXp6SUsbgTWnAAAA
0gAAAC4AHABzdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci1zdGRlcnIudHh0VVQJ
AANiGDpYYhg6WHV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBHESxBBtCeRQov2nKRbCKS7
YZv48/ZW0dsMfDNV09SNhisZGxASQ8pCwASenOCIlEwAkxMv78blPEKxBuIEhgBFWMqFunHII07q
ZJJRVdeqDu3ZJ9VyFoefdmRBdeE+h5k90PaztGbC7+QTVi7GYrPdlqChejqMyTPVsruz7/fwe9D6
z7WOKAPLWEekA/U3FD+8CsscysUbUEsDBBQAAgAIAF16ekmviBzXrQAAAKQBAAA/ABwAc3RvcmFn
ZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1zdGRlcnIudHh0
VVQJAANiGDpYYhg6WHV4CwABBPUBAAAEFAAAAN2PzQrCMBCE732KPbYHjSBeggiiPYkUKuo5SbcQ
SHfDNqn69v6gL+FtBr5vYOq2bVoNZzI2ICSGlIWACTw5wQEpmQAmJ55NxuU8QLkA4gSGAEVYqkJd
OOQBR7U3yaj6elJXtAef1ImzOHy3HQuqI3c5vLAb2u5FWjPiR3mHuYuxXK5WFWio7w5j8kyNrCf2
3Qa+C1r/cK0jSs8yNBFpS90FxfeP0jKHqqj/7tETUEsDBBQAAgAIAGB6eklopDc5sAAAAHYCAABE
ABwAc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5k
bGVzLXN0ZGVyci50eHRVVAkAA2MYOlhjGDpYdXgLAAEE9QEAAAQUAAAA7Y/NCsIwEITvPsUe24NG
EC9BBNGeRAoV6zlJVwiku2Gb+PP2WtF38OBtBr4Z+KqmqRsNJzI2ICSGlIWACTw5wR4pmQAmJ55e
jcu5h2IOxAkMAYqwlBPVcsg9DmpnklHV+ajOaPc+qSNncTi2LQuqA3c5vLAb2u5FWjPgezKGmYux
WCyXJWio7g5j8ky1rK7suzV8HrT+4lpHlAtLX0ekDXUtir88Csscykn1N/p5oydQSwMEFAACAAgA
YHp6SUsbgTWnAAAA0gAAAC8AHABzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMt
c3RkZXJyLnR4dFVUCQADYxg6WGMYOlh1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARxEsQ
QbQnkUKL9pykWwiku2Gb+PP2VtHbDHwzVdPUjYYrGRsQEkPKQsAEnpzgiJRMAJMTL+/G5TxCsQbi
BIYARVjKhbpxyCNO6mSSUVXXqg7t2SfVchaHn3ZkQXXhPoeZPdD2s7Rmwu/kE1YuxmKz3ZagoXo6
jMkz1bK7s+/38HvQ+s+1jigDy1hHpAP1NxQ/vArLHMrFG1BLAwQUAAIACABgenpJSxuBNacAAADS
AAAAKAAcAHN0b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLXN0ZGVyci50eHRVVAkAA2MYOlhj
GDpYdXgLAAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEcRLEEG0J5FCi/acpFsIpLthm/jz9lbR
2wx8M1XT1I2GKxkbEBJDykLABJ6c4IiUTACTEy/vxuU8QrEG4gSGAEVYyoW6ccgjTupkklFV16oO
7dkn1XIWh592ZEF14T6HmT3Q9rO0ZsLv5BNWLsZis92WoKF6OozJM9Wyu7Pv9/B70PrPtY4oA8tY
R6QD9TcUP7wKyxzKxRtQSwMEFAACAAgAYHp6Sa+IHNetAAAApAEAAEgAHABzdG9yYWdlL3dlYnNx
bC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50
eHRVVAkAA2MYOlhjGDpYdXgLAAEE9QEAAAQUAAAA3Y/NCsIwEITvfYo9tgeNIF6CCKI9iRQq6jlJ
txBId8M2qfr2/qAv4W0Gvm9g6rZtWg1nMjYgJIaUhYAJPDnBASmZACYnnk3G5TxAuQDiBIYARViq
Ql045AFHtTfJqPp6Ule0B5/UibM4fLcdC6ojdzm8sBva7kVaM+JHeYe5i7FcrlYVaKjvDmPyTI2s
J/bdBr4LWv9wrSNKzzI0EWlL3QXF94/SMoeqqP/u0RNQSwMEFAACAAgAYHp6SYs2fx2yAAAASAMA
ADkAHABzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLXN0ZGVy
ci50eHRVVAkAA2MYOlhjGDpYdXgLAAEE9QEAAAQUAAAA7Y/NCsIwEITvPsUe24NGEC9BBNGeRAoV
6zlJVwiku2Gb+PP2WtFX8ORtBr4Z+KqmqRsNJzI2ICSGlIWACTw5wR4pmQAmJ55ejcu5h2IOxAkM
AYqwlBPVcsg9DmpnklHV+ajOaPc+qSNncTi2LQuqA3c5vLAb2u5FWjPgezKGmYuxWCyXJWio7g5j
8ky1rK7suzV8HrT+4lpHlAtLX0ekDXUtir88Csscykn1N/ob/dzoCVBLAwQUAAIACABgenpJSxuB
NacAAADSAAAANQAcAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1z
dGRlcnIudHh0VVQJAANjGDpYYxg6WHV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBHESxBB
tCeRQov2nKRbCKS7YZv48/ZW0dsMfDNV09SNhisZGxASQ8pCwASenOCIlEwAkxMv78blPEKxBuIE
hgBFWMqFunHII07qZJJRVdeqDu3ZJ9VyFoefdmRBdeE+h5k90PaztGbC7+QTVi7GYrPdlqChejqM
yTPVsruz7/fwe9D6z7WOKAPLWEekA/U3FD+8CsscysUbUEsDBBQAAgAIAGB6eklLG4E1pwAAANIA
AAA0ABwAc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1leHBhbmQtcXVvdGEtc3RkZXJyLnR4
dFVUCQADYxg6WGMYOlh1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARxEsQQbQnkUKL9pyk
Wwiku2Gb+PP2VtHbDHwzVdPUjYYrGRsQEkPKQsAEnpzgiJRMAJMTL+/G5TxCsQbiBIYARVjKhbpx
yCNO6mSSUVXXqg7t2SfVchaHn3ZkQXXhPoeZPdD2s7Rmwu/kE1YuxmKz3ZagoXo6jMkz1bK7s+/3
8HvQ+s+1jigDy1hHpAP1NxQ/vArLHMrFG1BLAwQUAAIACABgenpJCXDeEwoBAAC4AgAAOQAcAHN0
b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tc3RkZXJyLnR4dFVU
CQADZBg6WGQYOlh1eAsAAQT1AQAABBQAAADdkU9Lw0AQxe/9FHOSBNSUSkEWEcTmJBJItD2WzWYi
i5uZMNmN9tubjX8OFTz15G2Xee/x5jd5WRalgmfStUPwDIJeLI4Izg4euIVGe13rAYF0hwO0LMBi
XyxBax3u98tFtmUXplm2maRZvquyHdYP1mcVBzEYf/csmD1yE9wke8P6O3S2xMeTaPOKcmn6Prle
rVJQUDM7+PIqdSRUqkGHHou5SmKYprY/4gpNEOsPn9NohbPzP7I2McsyTQ0xXeTHTHwQAiawZAQ7
JK8d6OD5YtQmhA6SJRB70AQowpKehMiM4mq9jijyd4N9LFjIzci2uf29i1I9ynScruiR7qjZotj2
kESI/3GjD1BLAwQUAAIACABgenpJr4gc160AAACkAQAARQAcAHN0b3JhZ2Uvd2Vic3FsL29wZW4t
ZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUCQADZBg6
WGQYOlh1eAsAAQT1AQAABBQAAADdj80KwjAQhO99ij22B40gXoIIoj2JFCrqOUm3EEh3wzap+vb+
oC/hbQa+b2Dqtm1aDWcyNiAkhpSFgAk8OcEBKZkAJieeTcblPEC5AOIEhgBFWKpCXTjkAUe1N8mo
+npSV7QHn9SJszh8tx0LqiN3ObywG9ruRVoz4kd5h7mLsVyuVhVoqO8OY/JMjawn9t0Gvgta/3Ct
I0rPMjQRaUvdBcX3j9Iyh6qo/+7RE1BLAwQUAAIACABgenpJSxuBNacAAADSAAAAOQAcAHN0b3Jh
Z2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUtc3RkZXJyLnR4dFVUCQAD
ZBg6WGQYOlh1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARxEsQQbQnkUKL9pykWwiku2Gb
+PP2VtHbDHwzVdPUjYYrGRsQEkPKQsAEnpzgiJRMAJMTL+/G5TxCsQbiBIYARVjKhbpxyCNO6mSS
UVXXqg7t2SfVchaHn3ZkQXXhPoeZPdD2s7Rmwu/kE1YuxmKz3ZagoXo6jMkz1bK7s+/38HvQ+s+1
jigDy1hHpAP1NxQ/vArLHMrFG1BLAwQUAAIACABgenpJaKQ3ObAAAAB2AgAARwAcAHN0b3JhZ2Uv
d2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1zdGRl
cnIudHh0VVQJAANkGDpYZBg6WHV4CwABBPUBAAAEFAAAAO2PzQrCMBCE7z7FHtuDRhAvQQTRnkQK
Fes5SVcIpLthm/jz9lrRd/DgbQa+GfiqpqkbDScyNiAkhpSFgAk8OcEeKZkAJieeXo3LuYdiDsQJ
DAGKsJQT1XLIPQ5qZ5JR1fmozmj3PqkjZ3E4ti0LqgN3ObywG9ruRVoz4HsyhpmLsVgslyVoqO4O
Y/JMtayu7Ls1fB60/uJaR5QLS19HpA11LYq/PArLHMpJ9Tf6eaMnUEsDBBQAAgAIAGB6ekmviBzX
rQAAAKQBAABAABwAc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25j
dXJyZW50bHktc3RkZXJyLnR4dFVUCQADZBg6WGQYOlh1eAsAAQT1AQAABBQAAADdj80KwjAQhO99
ij22B40gXoIIoj2JFCrqOUm3EEh3wzap+vb+oC/hbQa+b2Dqtm1aDWcyNiAkhpSFgAk8OcEBKZkA
JieeTcblPEC5AOIEhgBFWKpCXTjkAUe1N8mo+npSV7QHn9SJszh8tx0LqiN3ObywG9ruRVoz4kd5
h7mLsVyuVhVoqO8OY/JMjawn9t0Gvgta/3CtI0rPMjQRaUvdBcX3j9Iyh6qo/+7RE1BLAwQUAAIA
CABgenpJSxuBNacAAADSAAAAKAAcAHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLXN0ZGVy
ci50eHRVVAkAA2QYOlhkGDpYdXgLAAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEcRLEEG0J5FC
i/acpFsIpLthm/jz9lbR2wx8M1XT1I2GKxkbEBJDykLABJ6c4IiUTACTEy/vxuU8QrEG4gSGAEVY
yoW6ccgjTupkklFV16oO7dkn1XIWh592ZEF14T6HmT3Q9rO0ZsLv5BNWLsZis92WoKF6OozJM9Wy
u7Pv9/B70PrPtY4oA8tYR6QD9TcUP7wKyxzKxRtQSwMEFAACAAgAYXp6Sa+IHNetAAAApAEAAEEA
HABzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQt
c3RkZXJyLnR4dFVUCQADZRg6WGUYOlh1eAsAAQT1AQAABBQAAADdj80KwjAQhO99ij22B40gXoII
oj2JFCrqOUm3EEh3wzap+vb+oC/hbQa+b2Dqtm1aDWcyNiAkhpSFgAk8OcEBKZkAJieeTcblPEC5
AOIEhgBFWKpCXTjkAUe1N8mo+npSV7QHn9SJszh8tx0LqiN3ObywG9ruRVoz4kd5h7mLsVyuVhVo
qO8OY/JMjawn9t0Gvgta/3CtI0rPMjQRaUvdBcX3j9Iyh6qo/+7RE1BLAwQUAAIACABhenpJSxuB
NacAAADSAAAAMgAcAHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1zdGRl
cnIudHh0VVQJAANlGDpYZRg6WHV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBHESxBBtCeR
Qov2nKRbCKS7YZv48/ZW0dsMfDNV09SNhisZGxASQ8pCwASenOCIlEwAkxMv78blPEKxBuIEhgBF
WMqFunHII07qZJJRVdeqDu3ZJ9VyFoefdmRBdeE+h5k90PaztGbC7+QTVi7GYrPdlqChejqMyTPV
sruz7/fwe9D6z7WOKAPLWEekA/U3FD+8CsscysUbUEsDBBQAAgAIAGF6ekmviBzXrQAAAKQBAABD
ABwAc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQtc3RkZXJyLnR4dFVUCQADZRg6WGUYOlh1eAsAAQT1AQAABBQAAADdj80KwjAQhO99ij22B40g
XoIIoj2JFCrqOUm3EEh3wzap+vb+oC/hbQa+b2Dqtm1aDWcyNiAkhpSFgAk8OcEBKZkAJieeTcbl
PEC5AOIEhgBFWKpCXTjkAUe1N8mo+npSV7QHn9SJszh8tx0LqiN3ObywG9ruRVoz4kd5h7mLsVyu
VhVoqO8OY/JMjawn9t0Gvgta/3CtI0rPMjQRaUvdBcX3j9Iyh6qo/+7RE1BLAwQUAAIACABhenpJ
SxuBNacAAADSAAAAKgAcAHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2stc3RkZXJyLnR4
dFVUCQADZRg6WGUYOlh1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARxEsQQbQnkUKL9pyk
Wwiku2Gb+PP2VtHbDHwzVdPUjYYrGRsQEkPKQsAEnpzgiJRMAJMTL+/G5TxCsQbiBIYARVjKhbpx
yCNO6mSSUVXXqg7t2SfVchaHn3ZkQXXhPoeZPdD2s7Rmwu/kE1YuxmKz3ZagoXo6jMkz1bK7s+/3
8HvQ+s+1jigDy1hHpAP1NxQ/vArLHMrFG1BLAwQUAAIACABhenpJSxuBNacAAADSAAAAQwAcAHN0
b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2std2hlbi1wYWdlLWRlZmVycy1sb2FkaW5nLXN0
ZGVyci50eHRVVAkAA2UYOlhlGDpYdXgLAAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEcRLEEG0
J5FCi/acpFsIpLthm/jz9lbR2wx8M1XT1I2GKxkbEBJDykLABJ6c4IiUTACTEy/vxuU8QrEG4gSG
AEVYyoW6ccgjTupkklFV16oO7dkn1XIWh592ZEF14T6HmT3Q9rO0ZsLv5BNWLsZis92WoKF6OozJ
M9Wyu7Pv9/B70PrPtY4oA8tYR6QD9TcUP7wKyxzKxRtQSwMEFAACAAgAYXp6SUsbgTWnAAAA0gAA
ACkAHABzdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXItc3RkZXJyLnR4dFVUCQADZhg6WGYY
Olh1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARxEsQQbQnkUKL9pykWwiku2Gb+PP2VtHb
DHwzVdPUjYYrGRsQEkPKQsAEnpzgiJRMAJMTL+/G5TxCsQbiBIYARVjKhbpxyCNO6mSSUVXXqg7t
2SfVchaHn3ZkQXXhPoeZPdD2s7Rmwu/kE1YuxmKz3ZagoXo6jMkz1bK7s+/38HvQ+s+1jigDy1hH
pAP1NxQ/vArLHMrFG1BLAwQUAAIACABhenpJSxuBNacAAADSAAAAPgAcAHN0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1zdGRlcnIudHh0VVQJAANmGDpY
Zhg6WHV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBHESxBBtCeRQov2nKRbCKS7YZv48/ZW
0dsMfDNV09SNhisZGxASQ8pCwASenOCIlEwAkxMv78blPEKxBuIEhgBFWMqFunHII07qZJJRVdeq
Du3ZJ9VyFoefdmRBdeE+h5k90PaztGbC7+QTVi7GYrPdlqChejqMyTPVsruz7/fwe9D6z7WOKAPL
WEekA/U3FD+8CsscysUbUEsDBBQAAgAIAGF6ekmviBzXrQAAAKQBAAA9ABwAc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUCQADZhg6
WGYYOlh1eAsAAQT1AQAABBQAAADdj80KwjAQhO99ij22B40gXoIIoj2JFCrqOUm3EEh3wzap+vb+
oC/hbQa+b2Dqtm1aDWcyNiAkhpSFgAk8OcEBKZkAJieeTcblPEC5AOIEhgBFWKpCXTjkAUe1N8mo
+npSV7QHn9SJszh8tx0LqiN3ObywG9ruRVoz4kd5h7mLsVyuVhVoqO8OY/JMjawn9t0Gvgta/3Ct
I0rPMjQRaUvdBcX3j9Iyh6qo/+7RE1BLAwQUAAIACABienpJr4gc160AAACkAQAAQwAcAHN0b3Jh
Z2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVy
ci50eHRVVAkAA2cYOlhnGDpYdXgLAAEE9QEAAAQUAAAA3Y/NCsIwEITvfYo9tgeNIF6CCKI9iRQq
6jlJtxBId8M2qfr2/qAv4W0Gvm9g6rZtWg1nMjYgJIaUhYAJPDnBASmZACYnnk3G5TxAuQDiBIYA
RViqQl045AFHtTfJqPp6Ule0B5/UibM4fLcdC6ojdzm8sBva7kVaM+JHeYe5i7FcrlYVaKjvDmPy
TI2sJ/bdBr4LWv9wrSNKzzI0EWlL3QXF94/SMoeqqP/u0RNQSwMEFAACAAgAYnp6SUsbgTWnAAAA
0gAAADQAHABzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1zdGRlcnIu
dHh0VVQJAANnGDpYZxg6WHV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBHESxBBtCeRQov2
nKRbCKS7YZv48/ZW0dsMfDNV09SNhisZGxASQ8pCwASenOCIlEwAkxMv78blPEKxBuIEhgBFWMqF
unHII07qZJJRVdeqDu3ZJ9VyFoefdmRBdeE+h5k90PaztGbC7+QTVi7GYrPdlqChejqMyTPVsruz
7/fwe9D6z7WOKAPLWEekA/U3FD+8CsscysUbUEsDBBQAAgAIAGJ6eklLG4E1pwAAANIAAAAvABwA
c3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tcHJvdG90eXBlLXN0ZGVyci50eHRVVAkAA2cYOlhn
GDpYdXgLAAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEcRLEEG0J5FCi/acpFsIpLthm/jz9lbR
2wx8M1XT1I2GKxkbEBJDykLABJ6c4IiUTACTEy/vxuU8QrEG4gSGAEVYyoW6ccgjTupkklFV16oO
7dkn1XIWh592ZEF14T6HmT3Q9rO0ZsLv5BNWLsZis92WoKF6OozJM9Wyu7Pv9/B70PrPtY4oA8tY
R6QD9TcUP7wKyxzKxRtQSwMEFAACAAgAYnp6Sa+IHNetAAAApAEAAEUAHABzdG9yYWdlL3dlYnNx
bC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRV
VAkAA2gYOlhoGDpYdXgLAAEE9QEAAAQUAAAA3Y/NCsIwEITvfYo9tgeNIF6CCKI9iRQq6jlJtxBI
d8M2qfr2/qAv4W0Gvm9g6rZtWg1nMjYgJIaUhYAJPDnBASmZACYnnk3G5TxAuQDiBIYARViqQl04
5AFHtTfJqPp6Ule0B5/UibM4fLcdC6ojdzm8sBva7kVaM+JHeYe5i7FcrlYVaKjvDmPyTI2sJ/bd
Br4LWv9wrSNKzzI0EWlL3QXF94/SMoeqqP/u0RNQSwMECgAAAAAAsHp6SQAAAAAAAAAAAAAAAAYA
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
VVQFAANGFjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOnt6SVsj9lYkjQEAyAUPAA4AGAAA
AAAAAQAAAKSB/zQAAGFjY2Vzc19sb2cudHh0VVQFAAP/GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAVXl6SQAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1Ba8IBAGNvbXBvc2l0aW5nL1VUBQAD
chY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFV5ekm+L9n6vwAAAPIGAAA8ABgAAAAAAAEA
AACkgbHCAQBjb21wb3NpdGluZy9zaG93LWNvbXBvc2l0ZWQtaWZyYW1lLW9uLWJhY2stYnV0dG9u
LXN0ZGVyci50eHRVVAUAA3IWOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABEeXpJAAAAAAAA
AAAAAAAAEgAYAAAAAAAAABAA7UHmwwEAY29tcG9zaXRpbmcvdmlkZW8vVVQFAANPFjpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAQ3l6SSmaVQmtAAAA3gMAADAAGAAAAAAAAQAAAKSBMsQBAGNv
bXBvc2l0aW5nL3ZpZGVvL3ZpZGVvLWJvcmRlci1yYWRpdXMtc3RkZXJyLnR4dFVUBQADTRY6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAER5ekncs2P+xgAAAPIGAAAyABgAAAAAAAEAAACkgUnF
AQBjb21wb3NpdGluZy92aWRlby92aWRlby1jbGlwLWNoYW5nZS1zcmMtc3RkZXJyLnR4dFVUBQAD
TxY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEl5ekkAAAAAAAAAAAAAAAAHABgAAAAAAAAA
EADtQXvGAQBjcnlwdG8vVVQFAANZFjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAASXl6SQAA
AAAAAAAAAAAAAA4AGAAAAAAAAAAQAO1BvMYBAGNyeXB0by9zdWJ0bGUvVVQFAANaFjpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgACAAAASXl6SSXg0wgsAAAALAAAAD4AGAAAAAAAAQAAAKSBBMcBAGNy
eXB0by9zdWJ0bGUvcnNhLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIu
dHh0VVQFAANZFjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgASXl6STA7uLFLAAAAaAAAADwA
GAAAAAAAAQAAAKSBqMcBAGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9ybWVkLXBh
cmFtZXRlcnMtc3RkZXJyLnR4dFVUBQADWhY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEh5
ekkAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQWnIAQBjcnlwdG8vd29ya2Vycy9VVAUAA1cWOlh1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABIeXpJAAAAAAAAAAAAAAAAFgAYAAAAAAAAABAA7UGy
yAEAY3J5cHRvL3dvcmtlcnMvc3VidGxlL1VUBQADVxY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AgAAAEh5ekkl4NMILAAAACwAAAAxABgAAAAAAAEAAACkgQLJAQBjcnlwdG8vd29ya2Vycy9zdWJ0
bGUvcnNhLWdlbmVyYXRlLWtleS1zdGRlcnIudHh0VVQFAANXFjpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAATnl6SQAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BmckBAGRpc3BsYXlsaXN0cy9V
VAUAA2MWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABOeXpJo1f96FAAAACOAAAAMgAYAAAA
AAABAAAApIHgyQEAZGlzcGxheWxpc3RzL2V4dGVudC1pbmNsdWRlcy10cmFuc2Zvcm1zLXN0ZGVy
ci50eHRVVAUAA2MWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABOeXpJ8paV1UcAAABJAAAA
KQAYAAAAAAABAAAApIGcygEAZGlzcGxheWxpc3RzL2xheWVyLWRpc3BheS1saXN0LXN0ZGVyci50
eHRVVAUAA2MWOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABleXpJAAAAAAAAAAAAAAAACAAY
AAAAAAAAABAA7UFGywEAZWRpdGluZy9VVAUAA40WOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AACVeXpJAAAAAAAAAAAAAAAADgAYAAAAAAAAABAA7UGIywEAZWRpdGluZy9pbnB1dC9VVAUAA+oW
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACGeXpJl6RloskAAABnAQAALwAYAAAAAAABAAAA
pIHQywEAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlLWFjdHVhbC50eHRVVAUA
A8sWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACGeXpJxs3fmmIBAABQAwAALQAYAAAAAAAB
AAAApIECzQEAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlLWRpZmYudHh0VVQF
AAPLFjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhnl6SU/OKnZqAAAAFQEAADEAGAAAAAAA
AQAAAKSBy84BAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZS1leHBlY3RlZC50
eHRVVAUAA8sWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACGeXpJKySY2mQIAADyHQAANQAY
AAAAAAABAAAApIGgzwEAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlLXByZXR0
eS1kaWZmLmh0bWxVVAUAA8sWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABleXpJl6RloskA
AABnAQAAMAAYAAAAAAABAAAApIFz2AEAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nu
b2RlMi1hY3R1YWwudHh0VVQFAAONFjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZXl6SaEN
6FtjAQAAUgMAAC4AGAAAAAAAAQAAAKSBptkBAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1w
YXNzbm9kZTItZGlmZi50eHRVVAUAA40WOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABleXpJ
T84qdmoAAAAVAQAAMgAYAAAAAAABAAAApIFx2wEAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hv
LXBhc3Nub2RlMi1leHBlY3RlZC50eHRVVAUAA40WOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABleXpJVT74V2YIAADzHQAANgAYAAAAAAABAAAApIFH3AEAZWRpdGluZy9pbnB1dC9wYXNzd29y
ZC1lY2hvLXBhc3Nub2RlMi1wcmV0dHktZGlmZi5odG1sVVQFAAONFjpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAdHl6SZekZaLJAAAAZwEAADAAGAAAAAAAAQAAAKSBHeUBAGVkaXRpbmcvaW5w
dXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtYWN0dWFsLnR4dFVUBQADrBY6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAHR5eknjtpfrWQEAANoCAAAuABgAAAAAAAEAAACkgVDmAQBlZGl0aW5n
L2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUzLWRpZmYudHh0VVQFAAOsFjpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAdHl6SRt1OPBhAAAAnwAAADIAGAAAAAAAAQAAAKSBEegBAGVkaXRp
bmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtZXhwZWN0ZWQudHh0VVQFAAOsFjpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdHl6SXv9HmxTCAAATRwAADYAGAAAAAAAAQAAAKSB3ugB
AGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtcHJldHR5LWRpZmYuaHRtbFVU
BQADrBY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJV5ekl7otbpwwAAAF4BAAAvABgAAAAA
AAEAAACkgaHxAQBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUtYWN0dWFsLnR4
dFVUBQAD6hY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJV5ekkJpLxIVgEAAEsDAAAtABgA
AAAAAAEAAACkgc3yAQBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUtZGlmZi50
eHRVVAUAA+oWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACVeXpJXYSTXGAAAAAQAQAAMQAY
AAAAAAABAAAApIGK9AEAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWV4cGVj
dGVkLnR4dFVUBQAD6hY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJV5eknvXdz6VggAAO0d
AAA1ABgAAAAAAAEAAACkgVX1AQBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUt
cHJldHR5LWRpZmYuaHRtbFVUBQAD6hY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAG95ekkA
AAAAAAAAAAAAAAATABgAAAAAAAAAEADtQRr+AQBlZGl0aW5nL3Bhc3RlYm9hcmQvVVQFAAOhFjpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYXl6SX6p8SDpAAAAggEAADAAGAAAAAAAAQAAAKSB
Z/4BAGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LXJlc29sdmVzLXVybHMtc3RkZXJyLnR4dFVUBQAD
hhY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG55eklXGBNJ2gAAAFABAAAsABgAAAAAAAEA
AACkgbr/AQBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9wbHVnaW4tc3RkZXJyLnR4dFVUBQAD
oBY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG55eklXGBNJ2gAAAFABAAAyABgAAAAAAAEA
AACkgfoAAgBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9wbHVnaW4teGh0bWwtc3RkZXJyLnR4
dFVUBQADoBY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG95ekl3TYsd4wAAAHcBAAAsABgA
AAAAAAEAAACkgUACAgBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9zY3JpcHQtc3RkZXJyLnR4
dFVUBQADoRY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG55eklKLj4w4gAAAHsBAAAyABgA
AAAAAAEAAACkgYkDAgBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtbm9zY3JpcHQteGh0bWwtc3Rk
ZXJyLnR4dFVUBQADoBY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADp7ekndIN+5hwsAAHRE
AAANABgAAAAAAAEAAACkgdcEAgBlcnJvcl9sb2cudHh0VVQFAAP/GTpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAA0Hl6SQAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BpRACAGZhc3QvVVQFAANY
FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAg3l6SQAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQ
AO1B5BACAGZhc3QvY2FudmFzL1VUBQADxRY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHt5
ekn/P9tyrQAAAN4DAABMABgAAAAAAAEAAACkgSoRAgBmYXN0L2NhbnZhcy9jYW52YXMtY3NzLXNp
emUtYWZ0ZXItaGVpZ2h0LWNoYW5nZS13aXRoLWRpc3BsYXktZmxleC1zdGRlcnIudHh0VVQFAAO5
FjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAg3l6SaGftqiHAAAAGgEAACYAGAAAAAAAAQAA
AKSBXRICAGZhc3QvY2FudmFzL2NhbnZhcy1saW5lRGFzaC1zdGRlcnIudHh0VVQFAAPFFjpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA0Hl6SQAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BRBMC
AGZhc3QvY3NzL1VUBQADWBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANB5ekl6AL6KsQAA
AM4BAAA2ABgAAAAAAAEAAACkgYcTAgBmYXN0L2Nzcy9wZXJzcGVjdGl2ZS1vcmlnaW4taW5pdGlh
bC1pbmhlcml0LXN0ZGVyci50eHRVVAUAA1gXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB3
eXpJAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UGoFAIAZmFzdC9kb20vVVQFAAOxFjpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAd3l6SQAAAAAAAAAAAAAAABoAGAAAAAAAAAAQAO1B6xQCAGZh
c3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIvVVQFAAOxFjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAd3l6SUsbgTWnAAAA0gAAAD8AGAAAAAAAAQAAAKSBPxUCAGZhc3QvZG9tL011dGF0aW9uT2Jz
ZXJ2ZXIvZGF0YWJhc2UtY2FsbGJhY2stZGVsaXZlcnktc3RkZXJyLnR4dFVUBQADsRY6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAHx5ekkAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQV8WAgBm
YXN0L2Zvcm1zL1VUBQADuxY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHx5ekkuX9jvewEA
APg5AAAzABgAAAAAAAEAAACkgaQWAgBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1p
c21hdGNoLXN0ZGVyci50eHRVVAUAA7sWOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAC6eXpJ
AAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UGMGAIAZmFzdC9mcmFtZXMvVVQFAAMvFzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAunl6SUsbgTWnAAAA0gAAAC8AGAAAAAAAAQAAAKSB0hgCAGZh
c3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtc3RvcmFnZS1zdGRlcnIudHh0VVQFAAMvFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAhHl6SQAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B4hkC
AGZhc3QvaGlzdG9yeS9VVAUAA8gWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACEeXpJSxuB
NacAAADSAAAAQAAYAAAAAAABAAAApIEpGgIAZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0
YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGItc3RkZXJyLnR4dFVUBQADyBY6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAIt5ekkAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQUobAgBmYXN0L2ltYWdl
cy9VVAUAA9UWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACLeXpJIY+9ODIAAAAzAAAALAAY
AAAAAAABAAAApIGQGwIAZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWNyb3AtYm94LXN0ZGVyci50
eHRVVAUAA9UWOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACheXpJAAAAAAAAAAAAAAAACQAY
AAAAAAAAABAA7UEoHAIAZmFzdC94c2wvVVQFAAP+FjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAnXl6SXL9ZfKFAAAA6QAAACUAGAAAAAAAAQAAAKSBaxwCAGZhc3QveHNsL3RyYW5zZm9ybS14
aHItZG9jLXN0ZGVyci50eHRVVAUAA/oWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACdeXpJ
zgkoAo0AAADwAAAAJwAYAAAAAAABAAAApIFPHQIAZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVy
aS1zdGRlcnIudHh0VVQFAAP6FjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAoHl6Sc+PZg5Q
AAAAoAAAACQAGAAAAAAAAQAAAKSBPR4CAGZhc3QveHNsL3hzbHQtY29udGVudFR5cGUtc3RkZXJy
LnR4dFVUBQAD+xY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKF5ekmBSnetSwAAAKwAAAA0
ABgAAAAAAAEAAACkgeseAgBmYXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFz
aC1zdGRlcnIudHh0VVQFAAP+FjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAO3t6SXn45eDg
AQAAaQQAABEAGAAAAAAAAQAAAKSBpB8CAGZ1bGxfcmVzdWx0cy5qc29uVVQFAAMBGjpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAo3l6SQAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BzyECAGh0
dHAvVVQFAAMBFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA43l6SQAAAAAAAAAAAAAAAAsA
GAAAAAAAAAAQAO1BDiICAGh0dHAvdGVzdHMvVVQFAAN6FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAp3l6SQAAAAAAAAAAAAAAABEAGAAAAAAAAAAQAO1BUyICAGh0dHAvdGVzdHMvY2FjaGUv
VVQFAAMJFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAp3l6SQBb7Ck3AQAA8gQAADAAGAAA
AAAAAQAAAKSBniICAGh0dHAvdGVzdHMvY2FjaGUvbWVtb3J5LWNhY2hlLXBydW5pbmctc3RkZXJy
LnR4dFVUBQADCRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKd5eklJbwlnhAAAAMAAAAA9
ABgAAAAAAAEAAACkgT8kAgBodHRwL3Rlc3RzL2NhY2hlL25ldHdvcmstZXJyb3ItZHVyaW5nLXJl
dmFsaWRhdGlvbi1zdGRlcnIudHh0VVQFAAMJFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
o3l6SQAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BOiUCAGh0dHAvdGVzdHMvY2FudmFzL1VUBQAD
ARc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKN5ekkAAAAAAAAAAAAAAAAYABgAAAAAAAAA
EADtQYYlAgBodHRwL3Rlc3RzL2NhbnZhcy93ZWJnbC9VVAUAAwEXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACjeXpJVY5K37gAAAANAQAAOwAYAAAAAAABAAAApIHYJQIAaHR0cC90ZXN0cy9j
YW52YXMvd2ViZ2wvb3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLXN0ZGVyci50eHRVVAUAAwEXOlh1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACjeXpJAAAAAAAAAAAAAAAALwAYAAAAAAAAABAA7UEF
JwIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9VVAUAAwIX
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACjeXpJ3Jhv7zYAAAA6AAAAUQAYAAAAAAABAAAA
pIFuJwIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZl
cmVyLWhlYWRlci1zdHJpcHBlZC1zdGRlcnIudHh0VVQFAAMCFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAo3l6SdyYb+82AAAAOgAAAGoAGAAAAAAAAQAAAKSBLygCAGh0dHAvdGVzdHMvY29u
dGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQt
d2l0aC1tZXRhLXJlZmVyZXItYWx3YXlzLXN0ZGVyci50eHRVVAUAAwEXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACjeXpJ3Jhv7zYAAAA6AAAAawAYAAAAAAABAAAApIEJKQIAaHR0cC90ZXN0
cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJp
cHBlZC13aXRoLW1ldGEtcmVmZXJlci1kZWZhdWx0LXN0ZGVyci50eHRVVAUAAwEXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACjeXpJ3Jhv7zYAAAA6AAAAaQAYAAAAAAABAAAApIHkKQIAaHR0
cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRl
ci1zdHJpcHBlZC13aXRoLW1ldGEtcmVmZXJlci1uZXZlci1zdGRlcnIudHh0VVQFAAMBFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAo3l6SdyYb+82AAAAOgAAAG8AGAAAAAAAAQAAAKSBvSoC
AGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1o
ZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItbm8tcmVmZXJyZXItc3RkZXJyLnR4dFVU
BQADAhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKN5ekncmG/vNgAAADoAAAB+ABgAAAAA
AAEAAACkgZwrAgBodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94
L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLW5vLXJlZmVycmVyLXdo
ZW4tZG93bmdyYWRlLXN0ZGVyci50eHRVVAUAAwEXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACjeXpJ3Jhv7zYAAAA6AAAAagAYAAAAAAABAAAApIGKLAIAaHR0cC90ZXN0cy9jb250ZW50ZGlz
cG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1l
dGEtcmVmZXJlci1vcmlnaW4tc3RkZXJyLnR4dFVUBQADAhc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAKN5ekncmG/vNgAAADoAAABuABgAAAAAAAEAAACkgWQtAgBodHRwL3Rlc3RzL2NvbnRl
bnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdp
dGgtbWV0YS1yZWZlcmVyLXVuc2FmZS11cmwtc3RkZXJyLnR4dFVUBQADAhc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAKN5ekkAAAAAAAAAAAAAAAATABgAAAAAAAAAEADtQUIuAgBodHRwL3Rl
c3RzL2Nvb2tpZXMvVVQFAAMBFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAo3l6SXqxVdnJ
AAAAUwIAAEEAGAAAAAAAAQAAAKSBjy4CAGh0dHAvdGVzdHMvY29va2llcy9kb3VibGUtcXVvdGVk
LXZhbHVlLXdpdGgtc2VtaS1jb2xvbi1zdGRlcnIudHh0VVQFAAMBFzpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAApXl6SQAAAAAAAAAAAAAAABcAGAAAAAAAAAAQAO1B0y8CAGh0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvVVQFAAMFFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAApXl6SZMG1zIB
AAAAAQAAAE0AGAAAAAAAAQAAAKSBJDACAGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1hY3R1YWwudHh0VVQFAAMFFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApXl6SY7YoErPAAAAmgEAAEsAGAAAAAAAAQAAAKSBrDAC
AGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZp
Z2F0ZS1jcmFzaC1kaWZmLnR4dFVUBQADBRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKV5
ekmREwZeXAAAAGYAAABPABgAAAAAAAEAAACkgQAyAgBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtZXhwZWN0ZWQudHh0VVQF
AAMFFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApXl6SSQoP9eOBwAAehcAAFMAGAAAAAAA
AQAAAKSB5TICAGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1
cmluZy1uYXZpZ2F0ZS1jcmFzaC1wcmV0dHktZGlmZi5odG1sVVQFAAMFFzpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgApXl6SVaRs0dlAAAAbQAAAD0AGAAAAAAAAQAAAKSBADsCAGh0dHAvdGVz
dHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWFjdHVhbC50eHRVVAUA
AwUXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACleXpJV7iulOAAAACrAQAAOwAYAAAAAAAB
AAAApIHcOwIAaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZXRyeS1wcmVjaXNp
b24tZGlmZi50eHRVVAUAAwUXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACleXpJhwAwyGcA
AAB2AAAAPwAYAAAAAAABAAAApIExPQIAaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJj
ZS1yZXRyeS1wcmVjaXNpb24tZXhwZWN0ZWQudHh0VVQFAAMFFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgApXl6ST68CaLwBwAAqBoAAEMAGAAAAAAAAQAAAKSBET4CAGh0dHAvdGVzdHMvZXZl
bnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLXByZXR0eS1kaWZmLmh0bWxVVAUA
AwUXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACqeXpJAAAAAAAAAAAAAAAAFQAYAAAAAAAA
ABAA7UF+RgIAaHR0cC90ZXN0cy9pbnNwZWN0b3IvVVQFAAMQFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAqnl6SQAAAAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1BzUYCAGh0dHAvdGVzdHMvaW5z
cGVjdG9yL25ldHdvcmsvVVQFAAMQFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqnl6SVvc
9RDjBwAAeSsAADcAGAAAAAAAAQAAAKSBJEcCAGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsv
cmVzb3VyY2UtdGltaW5nLXN0ZGVyci50eHRVVAUAAxAXOlh1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAC0eXpJAAAAAAAAAAAAAAAAEQAYAAAAAAAAABAA7UF4TwIAaHR0cC90ZXN0cy9tZWRpYS9V
VAUAAyQXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACqeXpJAAAAAAAAAAAAAAAAGgAYAAAA
AAAAABAA7UHDTwIAaHR0cC90ZXN0cy9tZWRpYS9jbGVhcmtleS9VVAUAAw8XOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACqeXpJ2WiyiFcBAAB/AwAAOQAYAAAAAAABAAAApIEXUAIAaHR0cC90
ZXN0cy9tZWRpYS9jbGVhcmtleS9jbGVhci1rZXktaGxzLWFlczEyOC1zdGRlcnIudHh0VVQFAAMP
FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAArnl6SQAAAAAAAAAAAAAAABUAGAAAAAAAAAAQ
AO1B4VECAGh0dHAvdGVzdHMvbWVkaWEvaGxzL1VUBQADFxc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAKp5eknc57c4ugEAANAEAABAABgAAAAAAAEAAACkgTBSAgBodHRwL3Rlc3RzL21lZGlh
L2hscy9obHMtYWNjZXNzaWJsaXR5LWRlc2NyaWJlcy12aWRlby1zdGRlcnIudHh0VVQFAAMPFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqnl6SQp/RR7IAQAARQUAADoAGAAAAAAAAQAAAKSB
ZFQCAGh0dHAvdGVzdHMvbWVkaWEvaGxzL2hscy1hdWRpby10cmFja3MtaGFzLWF1ZGlvLXN0ZGVy
ci50eHRVVAUAAw8XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACreXpJd7gR1dMBAACfBQAA
QQAYAAAAAAABAAAApIGgVgIAaHR0cC90ZXN0cy9tZWRpYS9obHMvaGxzLWF1ZGlvLXRyYWNrcy1s
b2NhbGUtc2VsZWN0aW9uLXN0ZGVyci50eHRVVAUAAxEXOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACreXpJ8z2Wlc8BAABFBQAAMAAYAAAAAAABAAAApIHuWAIAaHR0cC90ZXN0cy9tZWRpYS9o
bHMvaGxzLWF1ZGlvLXRyYWNrcy1zdGRlcnIudHh0VVQFAAMSFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgArHl6SRlZEmYlAQAA3gMAACwAGAAAAAAAAQAAAKSBJ1sCAGh0dHAvdGVzdHMvbWVk
aWEvaGxzL2hscy1wcm9ncmVzcy1zdGRlcnIudHh0VVQFAAMTFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgArHl6SXtFZVx4AQAAKgYAADoAGAAAAAAAAQAAAKSBslwCAGh0dHAvdGVzdHMvbWVk
aWEvaGxzL3ZpZGVvLWNvbnRyb2xzLWxpdmUtc3RyZWFtLXN0ZGVyci50eHRVVAUAAxQXOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACueXpJbTR5vwQDAAA8eAAAPAAYAAAAAAABAAAApIGeXgIA
aHR0cC90ZXN0cy9tZWRpYS9obHMvdmlkZW8tZHVyYXRpb24tYWNjZXNzaWJpbGl0eS1zdGRlcnIu
dHh0VVQFAAMXFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqXl6SZABlVrMAAAANwIAADIA
GAAAAAAAAQAAAKSBGGICAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtZG9jdW1lbnQtcmVmZXJlci1z
dGRlcnIudHh0VVQFAAMOFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqnl6Sf7+MBblAAAA
rAIAACoAGAAAAAAAAQAAAKSBUGMCAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtZG9jdW1lbnQtc3Rk
ZXJyLnR4dFVUBQADDxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKx5ekk79YpqOQEAAE8E
AAA5ABgAAAAAAAEAAACkgZlkAgBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXBsYXktc3RyZWFtLWNo
dW5rZWQtaWN5LXN0ZGVyci50eHRVVAUAAxMXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACq
eXpJAAAAAAAAAAAAAAAAHgAYAAAAAAAAABAA7UFFZgIAaHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1z
b3VyY2UvVVQFAAMPFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqnl6SURasZ2LAAAAmwAA
AFwAGAAAAAAAAQAAAKSBnWYCAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLXBsYXktdGhlbi1zZWVrLWJhY2std2l0aC1yZW1vdGUtY29udHJvbC1zdGRlcnIudHh0VVQF
AAMPFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAq3l6SQAAAAAAAAAAAAAAACcAGAAAAAAA
AAAQAO1BvmcCAGh0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL1VUBQADEhc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAK15ekkAAAAAAAAAAAAAAAA2ABgAAAAAAAAAEADt
QR9oAgBodHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9zdGF0dXMtc3VwcG9y
dC9VVAUAAxYXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACreXpJu1M85l0BAABbBQAAXgAY
AAAAAAABAAAApIGPaAIAaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvc3Rh
dHVzLXN1cHBvcnQvc3RhdHVzLXN1cHBvcnQtbGl2ZS1icm9hZGNhc3Qtc3RkZXJyLnR4dFVUBQAD
Ehc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK15eknOdlcnhAAAAMAAAABXABgAAAAAAAEA
AACkgYRqAgBodHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9zdGF0dXMtc3Vw
cG9ydC9zdGF0dXMtc3VwcG9ydC1sb2FkaW5nLXN0ZGVyci50eHRVVAUAAxYXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACseXpJvjB0h+0AAABfAQAALQAYAAAAAAABAAAApIGZawIAaHR0cC90
ZXN0cy9tZWRpYS9wZGYtc2VydmVkLWFzLXBkZi1zdGRlcnIudHh0VVQFAAMUFzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgArXl6SatdYqjCAAAA7AEAAC8AGAAAAAAAAQAAAKSB7WwCAGh0dHAv
dGVzdHMvbWVkaWEvcmVsb2FkLWFmdGVyLWRpYWxvZy1zdGRlcnIudHh0VVQFAAMVFzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgArXl6SYEroLRMAQAAKAMAAC8AGAAAAAAAAQAAAKSBGG4CAGh0
dHAvdGVzdHMvbWVkaWEvdGV4dC1zZXJ2ZWQtYXMtdGV4dC1zdGRlcnIudHh0VVQFAAMWFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAqnl6SQAAAAAAAAAAAAAAABcAGAAAAAAAAAAQAO1BzW8C
AGh0dHAvdGVzdHMvbWVkaWEvdHJhY2svVVQFAAMQFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAqnl6SWCPSm6DAAAAwAAAAD0AGAAAAAAAAQAAAKSBHnACAGh0dHAvdGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2std2VidnR0LXNsb3ctbG9hZGluZy0yLXN0ZGVyci50eHRVVAUAAxAXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACueXpJngE7rW4BAACsBgAAJgAYAAAAAAABAAAApIEYcQIAaHR0
cC90ZXN0cy9tZWRpYS92aWRlby1hdXRoLXN0ZGVyci50eHRVVAUAAxcXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACveXpJjh1+tzABAADaAgAALQAYAAAAAAABAAAApIHmcgIAaHR0cC90ZXN0
cy9tZWRpYS92aWRlby1lcnJvci1hYm9ydC1zdGRlcnIudHh0VVQFAAMaFzpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAsHl6STYvEBcVAQAAPQIAADYAGAAAAAAAAQAAAKSBfXQCAGh0dHAvdGVz
dHMvbWVkaWEvdmlkZW8tZXJyb3ItZG9lcy1ub3QtZXhpc3Qtc3RkZXJyLnR4dFVUBQADGxc6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALB5eknvttGgzAAAACQDAAAsABgAAAAAAAEAAACkgQJ2
AgBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWxvYWQtdHdpY2Utc3RkZXJyLnR4dFVUBQADHBc6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALJ5ekk4eO+i6AAAAGwDAAAvABgAAAAAAAEAAACkgTR3
AgBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUBQADHxc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALN5ekl0Qo8LhAAAAMAAAAA9ABgAAAAAAAEAAACk
gYV4AgBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXBsYXktc3RhbGwtYmVmb3JlLW1ldGEtZGF0YS1z
dGRlcnIudHh0VVQFAAMiFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHl6SVsIY8W9AAAA
kgEAACsAGAAAAAAAAQAAAKSBgHkCAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tcXVlcnktdXJsLXN0
ZGVyci50eHRVVAUAAyMXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0eXpJN3CSFEkBAAB1
BgAAKgAYAAAAAAABAAAApIGiegIAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1yZWRpcmVjdC1zdGRl
cnIudHh0VVQFAAMkFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHl6SQgUAUnbAAAABgMA
ACsAGAAAAAAAAQAAAKSBT3wCAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdXNlcmFnZW50LXN0ZGVy
ci50eHRVVAUAAyQXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADYeXpJAAAAAAAAAAAAAAAA
EAAYAAAAAAAAABAA7UGPfQIAaHR0cC90ZXN0cy9taXNjL1VUBQADZxc6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALV5eklehPRp5gAAAGIBAAAtABgAAAAAAAEAAACkgdl9AgBodHRwL3Rlc3Rz
L21pc2MvY29weS1yZXNvbHZlcy11cmxzLXN0ZGVyci50eHRVVAUAAyUXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC1eXpJG3VMVMUAAAD+AAAAPwAYAAAAAAABAAAApIEmfwIAaHR0cC90ZXN0
cy9taXNjL2RlbGV0ZS1mcmFtZS1kdXJpbmctcmVhZHlzdGF0ZWNoYW5nZS1zdGRlcnIudHh0VVQF
AAMmFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXl6ST/lsQ3DAAAA/gAAAFsAGAAAAAAA
AQAAAKSBZIACAGh0dHAvdGVzdHMvbWlzYy9kZWxldGUtZnJhbWUtZHVyaW5nLXJlYWR5c3RhdGVj
aGFuZ2Utd2l0aC1nYy1hZnRlci12aWRlby1yZW1vdmFsLXN0ZGVyci50eHRVVAUAAyYXOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADPeXpJlS74eUM3AADqXQAANgAYAAAAAAAAAAAApIG8gQIA
aHR0cC90ZXN0cy9taXNjL3Nsb3ctbG9hZGluZy1hbmltYXRlZC1pbWFnZS1hY3R1YWwucG5nVVQF
AANVFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAz3l6ScQIESyfDQAALRQAADQAGAAAAAAA
AAAAAKSBb7kCAGh0dHAvdGVzdHMvbWlzYy9zbG93LWxvYWRpbmctYW5pbWF0ZWQtaW1hZ2UtZGlm
Zi5wbmdVVAUAA1UXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADPeXpJnQFbW5MFAAA2EgAA
NgAYAAAAAAABAAAApIF8xwIAaHR0cC90ZXN0cy9taXNjL3Nsb3ctbG9hZGluZy1hbmltYXRlZC1p
bWFnZS1kaWZmcy5odG1sVVQFAANVFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAz3l6SfPC
T/mZAAAA+wAAADkAGAAAAAAAAQAAAKSBf80CAGh0dHAvdGVzdHMvbWlzYy9zbG93LWxvYWRpbmct
YW5pbWF0ZWQtaW1hZ2UtZXhwZWN0ZWQuaHRtbFVUBQADVRc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAM95ekmkejkboQEAAL0pAAA4ABgAAAAAAAAAAACkgYvOAgBodHRwL3Rlc3RzL21pc2Mv
c2xvdy1sb2FkaW5nLWFuaW1hdGVkLWltYWdlLWV4cGVjdGVkLnBuZ1VUBQADVRc6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIANh5ekkVNTWSegAAALwAAAAqABgAAAAAAAEAAACkgZ7QAgBodHRw
L3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAUAA2cXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAADXeXpJAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UF80QIAaHR0cC90
ZXN0cy9zZWN1cml0eS9VVAUAA2YXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACweXpJ5BKY
ScsAAADdAQAAVQAYAAAAAAABAAAApIHK0QIAaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVt
b3RlLXJlYWQtcmVtb3RlLXZpZGVvLWJsb2NrZWQtbm8tY3Jvc3NvcmlnaW4tc3RkZXJyLnR4dFVU
BQADHBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALB5ekkegIow2wAAAKwCAABIABgAAAAA
AAEAAACkgSTTAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1yZW1vdGUt
dmlkZW8tbG9jYWxob3N0LXN0ZGVyci50eHRVVAUAAxwXOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACyeXpJw1FPk+QAAACsAgAARwAYAAAAAAABAAAApIGB1AIAaHR0cC90ZXN0cy9zZWN1cml0
eS9jYW52YXMtcmVtb3RlLXJlYWQtcmVtb3RlLXZpZGVvLXJlZGlyZWN0LXN0ZGVyci50eHRVVAUA
AyAXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADGeXpJAAAAAAAAAAAAAAAAKgAYAAAAAAAA
ABAA7UHm1QIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAND
FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAr3l6SQAAAAAAAAAAAAAAAC4AGAAAAAAAAAAQ
AO1BStYCAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9VVAUA
AxkXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACveXpJAAAAAAAAAAAAAAAAOAAYAAAAAAAA
ABAA7UGy1gIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL2No
aWxkLXNyYy9VVAUAAxkXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACveXpJC+asjoMAAAAa
AQAAXAAYAAAAAAABAAAApIEk1wIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvMS4xL2NoaWxkLXNyYy9mcmFtZS1hYm91dC1ibGFuay1hbGxvd2VkLXN0ZGVyci50eHRV
VAUAAxkXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACueXpJ1avet9sAAABSAgAASwAYAAAA
AAABAAAApIE92AIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYXVk
aW8tcmVkaXJlY3QtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAMXFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgArXl6SVPiVkjXAAAA+AEAAEwAGAAAAAAAAQAAAKSBndkCAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2F1ZGlvLXJlZGlyZWN0LWFsbG93ZWQyLXN0ZGVy
ci50eHRVVAUAAxYXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACueXpJ97M/qacAAACKAQAA
WAAYAAAAAAABAAAApIH62gIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvYmxvYi11cmwtZG9lcy1ub3QtbWF0Y2gtc291cmNlLXNlbGYtc3RkZXJyLnR4dFVUBQADFxc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAK95ekkAAAAAAAAAAAAAAABEABgAAAAAAAAAEADt
QTPcAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWlu
c2VjdXJlLXJlcXVlc3RzL1VUBQADGhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK95ekmA
9I+z6QAAACYDAAB5ABgAAAAAAAEAAACkgbHcAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtaW5zZWN1cmUt
YXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS1zdGRlcnIudHh0VVQFAAMaFzpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAsHl6SQAAAAAAAAAAAAAAAD0AGAAAAAAAAAAQAO1BTd4CAGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9VVAUA
AxwXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACveXpJw5HA6jcBAADRAgAAUwAYAAAAAAAB
AAAApIHE3gIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXNlckFn
ZW50U2hhZG93RE9NL2FsbG93LWF1ZGlvLXN0ZGVyci50eHRVVAUAAxkXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACweXpJiV++Jr0AAACSAQAAUwAYAAAAAAABAAAApIGI4AIAaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2FsbG93
LXZpZGVvLXN0ZGVyci50eHRVVAUAAxsXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACweXpJ
vmOqtYMAAADAAAAAawAYAAAAAAABAAAApIHS4QIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2RlZmF1bHQtc3JjLW9iamVjdC1kYXRh
LXVybC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAAxwXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADDeXpJcfrUnt4AAABSAgAASwAYAAAAAAABAAAApIH64gIAaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvdmlkZW8tcmVkaXJlY3QtYWxsb3dlZC1zdGRlcnIudHh0VVQF
AAM+FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAw3l6SSoK8Q28AAAAkgEAAEwAGAAAAAAA
AQAAAKSBXeQCAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3ZpZGVv
LXJlZGlyZWN0LWFsbG93ZWQyLXN0ZGVyci50eHRVVAUAAz4XOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADEeXpJ2AgDL+IAAABSAgAAZgAYAAAAAAABAAAApIGf5QIAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdmlkZW8td2l0aC1odHRwLXVybC1hbGxvd2VkLWJ5
LWNzcC1tZWRpYS1zcmMtc3Rhci1zdGRlcnIudHh0VVQFAAM/FzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAxHl6Sca5nHGEAAAAwAAAAFkAGAAAAAAAAQAAAKSBIecCAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3dvcmtlci1ibG9iLWluaGVyaXRzLWNzcC1ibG9j
a3MtZXZhbC1zdGRlcnIudHh0VVQFAAM/FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxnl6
SWOqrGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSBOOgCAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAA0MXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADGeXpJY6qsbIIAAACoAAAAUgAYAAAAAAABAAAApIE06QIAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5
bGUtc3JjLTItc3RkZXJyLnR4dFVUBQADQxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALJ5
eknJuvUEhAAAABoBAAA1ABgAAAAAAAEAAACkgULqAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvcnMt
cG9zdC1yZWRpcmVjdC0zMDEtc3RkZXJyLnR4dFVUBQADIBc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAL15ekmviBzXrQAAAKQBAAA6ABgAAAAAAAEAAACkgTXrAgBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2Nyb3NzLW9yaWdpbi13ZWJzcWwtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAM1FzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAvXl6SUsbgTWnAAAA0gAAADIAGAAAAAAAAQAAAKSBVuwCAGh0
dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdlYnNxbC1zdGRlcnIudHh0VVQFAAM1FzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxnl6Sdmd7TG8AAAAkgEAAD0AGAAAAAAAAQAAAKSB
ae0CAGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtdmlkZW8tc291cmNlLWZyb20tcmVtb3RlLXN0
ZGVyci50eHRVVAUAA0MXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADGeXpJ7sFcyIMAAADA
AAAAOgAYAAAAAAABAAAApIGc7gIAaHR0cC90ZXN0cy9zZWN1cml0eS9sb2NhbC12aWRlby1zcmMt
ZnJvbS1yZW1vdGUtc3RkZXJyLnR4dFVUBQADQxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
ALJ5ekkAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQZPvAgBodHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9VVAUAAx8XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyeXpJo2+UHeIA
AAA+BAAATgAYAAAAAAABAAAApIHu7wIAaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQv
aW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS1zdGRlcnIudHh0VVQFAAMfFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsnl6SSFj/5aEAAAAwAAAAEIAGAAAAAAAAQAAAKSBWPEC
AGh0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWNzcy1pbi1pZnJhbWUt
c3RkZXJyLnR4dFVUBQADHxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANB5eklLG4E1pwAA
ANIAAAA/ABgAAAAAAAEAAACkgVjyAgBodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tp
bmctbG9vc2VuZWQtd2Vic3FsLXN0ZGVyci50eHRVVAUAA1cXOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADQeXpJSxuBNacAAADSAAAAQwAYAAAAAAABAAAApIF48wIAaHR0cC90ZXN0cy9zZWN1
cml0eS9zdG9yYWdlLWJsb2NraW5nLXN0cmVuZ3RoZW5lZC13ZWJzcWwtc3RkZXJyLnR4dFVUBQAD
WBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANJ5ekmgqR/I5AAAAJgEAAA5ABgAAAAAAAEA
AACkgZz0AgBodHRwL3Rlc3RzL3NlY3VyaXR5L3ZpZGVvLWNyb3NzLW9yaWdpbi1jYWNoaW5nLXN0
ZGVyci50eHRVVAUAA1sXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADSeXpJ9g7BbRUBAADn
AQAAPwAYAAAAAAABAAAApIHz9QIAaHR0cC90ZXN0cy9zZWN1cml0eS92aWRlby1wb3N0ZXItY3Jv
c3Mtb3JpZ2luLWNyYXNoMi1zdGRlcnIudHh0VVQFAANbFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA13l6SWBLZhCRAAAA+wEAAEUAGAAAAAAAAQAAAKSBgfcCAGh0dHAvdGVzdHMvc2VjdXJp
dHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUBQAD
Zhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALN5ekkAAAAAAAAAAAAAAAATABgAAAAAAAAA
EADtQZH4AgBodHRwL3Rlc3RzL3N0b3JhZ2UvVVQFAAMhFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAs3l6SUsbgTWnAAAA0gAAAEUAGAAAAAAAAQAAAKSB3vgCAGh0dHAvdGVzdHMvc3RvcmFn
ZS9jYWxsYmFja3MtYXJlLWNhbGxlZC1pbi1jb3JyZWN0LWNvbnRleHQtc3RkZXJyLnR4dFVUBQAD
IRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOR5ekkAAAAAAAAAAAAAAAAaABgAAAAAAAAA
EADtQQT6AgBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L1VUBQADexc6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAON5ekl+f+0XsQAAAAEBAABBABgAAAAAAAEAAACkgVj6AgBodHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L3Bvc3QtYmxvYi1jb250ZW50LXR5cGUtYXN5bmMtc3RkZXJyLnR4dFVU
BQADehc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOR5ekl+f+0XsQAAAAEBAABAABgAAAAA
AAEAAACkgYT7AgBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Bvc3QtYmxvYi1jb250ZW50LXR5
cGUtc3luYy1zdGRlcnIudHh0VVQFAAN7FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAtXl6
SQAAAAAAAAAAAAAAAA8AGAAAAAAAAAAQAO1Br/wCAGh0dHAvdGVzdHMveHNsL1VUBQADJRc6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALV5ekkGwvFohAAAAMAAAABBABgAAAAAAAEAAACkgfj8
AgBodHRwL3Rlc3RzL3hzbC94c2x0LXRyYW5zZm9ybS13aXRoLWphdmFzY3JpcHQtZGlzYWJsZWQt
c3RkZXJyLnR4dFVUBQADJRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPZ6eklbBFgOogUA
AE0QAAAKABgAAAAAAAEAAACkgff9AgBodHRwZC5jb25mVVQFAAN/GTpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAA2nl6SQAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1B3QMDAGltcG9ydGVkL1VU
BQADaxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAN15ekkAAAAAAAAAAAAAAAANABgAAAAA
AAAAEADtQSAEAwBpbXBvcnRlZC93M2MvVVQFAANxFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAA3Xl6SQAAAAAAAAAAAAAAABoAGAAAAAAAAAAQAO1BZwQDAGltcG9ydGVkL3czYy9XZWJDcnlw
dG9BUEkvVVQFAANxFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA7nl6SQAAAAAAAAAAAAAA
ACYAGAAAAAAAAAAQAO1BuwQDAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkv
VVQFAAOPFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA3Xl6SeGChuhJAAAAYAwAAD4AGAAA
AAAAAQAAAKSBGwUDAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9m
YWlsdXJlcy1zdGRlcnIudHh0VVQFAANxFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA63l6
SY80GnBEAAAAoAkAAEcAGAAAAAAAAQAAAKSB3AUDAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkv
Z2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0EtT0FFUC1zdGRlcnIudHh0VVQFAAOJFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7nl6SVQCybI2AAAAwAIAAFAAGAAAAAAAAQAAAKSBoQYD
AGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0FT
U0EtUEtDUzEtdjFfNS1zdGRlcnIudHh0VVQFAAOPFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAABHp6SQAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1BYQcDAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvVVQFAAO3FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9Xl6SQAAAAAA
AAAAAAAAACoAGAAAAAAAAAAQAO1BuwcDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL1VUBQADnRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANp5ekkl7oR0mQAA
AMUAAABIABgAAAAAAAEAAACkgR8IAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGJjdXJzb3JfaXRlcmF0aW5nLXN0ZGVyci50eHRVVAUAA2sXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADjeXpJtVXSEaMAAABPAgAARgAYAAAAAAABAAAApIE6CQMAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiZmFjdG9yeV9vcGVuMTEtc3Rk
ZXJyLnR4dFVUBQADeRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOR5ekkl7oR0mQAAAMUA
AABDABgAAAAAAAEAAACkgV0KAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi9pZGJpbmRleF9jb3VudC1zdGRlcnIudHh0VVQFAAN8FzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA5Hl6SSXuhHSZAAAAxQAAAEQAGAAAAAAAAQAAAKSBcwsDAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2NvdW50Mi1zdGRlcnIudHh0VVQF
AAN8FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5Hl6SSXuhHSZAAAAxQAAAEQAGAAAAAAA
AQAAAKSBigwDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmlu
ZGV4X2NvdW50My1zdGRlcnIudHh0VVQFAAN8FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
6nl6SSXuhHSZAAAAxQAAAEkAGAAAAAAAAQAAAKSBoQ0DAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NvdW50LXN0ZGVyci50eHRVVAUAA4gX
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADqeXpJJe6EdJkAAADFAAAASgAYAAAAAAABAAAA
pIG9DgMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0
c3RvcmVfY291bnQyLXN0ZGVyci50eHRVVAUAA4cXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADqeXpJJmdaZJ8AAACKAQAASgAYAAAAAAABAAAApIHaDwMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY291bnQzLXN0ZGVyci50eHRVVAUA
A4cXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADseXpJJe6EdJkAAADFAAAASwAYAAAAAAAB
AAAApIH9EAMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2Jq
ZWN0c3RvcmVfZGVsZXRlNS1zdGRlcnIudHh0VVQFAAOLFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA73l6SSXuhHSZAAAAxQAAAE4AGAAAAAAAAQAAAKSBGxIDAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uLW9uY29tcGxldGUtc3RkZXJy
LnR4dFVUBQADkRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPR5ekkmZ1pknwAAAIoBAABY
ABgAAAAAAAEAAACkgTwTAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi90cmFuc2FjdGlvbi1jcmVhdGVfaW5fdmVyc2lvbmNoYW5nZS1zdGRlcnIudHh0VVQFAAObFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9Xl6SSXuhHSZAAAAxQAAAEYAGAAAAAAAAQAAAKSB
bRQDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFy
dmF0aW9uLXN0ZGVyci50eHRVVAUAA50XOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD1eXpJ
AAAAAAAAAAAAAAAAJQAYAAAAAAAAABAA7UGGFQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL1VUBQADnRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPV5ekkAAAAAAAAA
AAAAAAAvABgAAAAAAAAAEADtQeUVAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL1VUBQADnRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPd5ekkAAAAA
AAAAAAAAAABAABgAAAAAAAAAEADtQU4WAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvVVQFAAOhFzpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAACXp6SQAAAAAAAAAAAAAAAE8AGAAAAAAAAAAQAO1ByBYDAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRp
YS1lbGVtZW50cy9VVAUAA8EXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD1eXpJ4BGHnfQA
AACXBQAAZwAYAAAAAAABAAAApIFRFwMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2NhbnBs
YXktc3RkZXJyLnR4dFVUBQADnhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPZ5ekkguqLO
6QAAAKQEAAByABgAAAAAAAEAAACkgeYYAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfY2Fu
cGxheV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAUAA58XOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAD2eXpJDi2hzu8AAAAMBgAAbgAYAAAAAAABAAAApIF7GgMAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL2V2ZW50X2NhbnBsYXl0aHJvdWdoLXN0ZGVyci50eHRVVAUAA6AXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAD3eXpJzffHsu0AAACkBAAAeQAYAAAAAAABAAAApIESHAMAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL2V2ZW50X2NhbnBsYXl0aHJvdWdoX25vYXV0b3BsYXktc3RkZXJyLnR4dFVU
BQADoRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPd5eklXiqCq8QAAAAwGAABqABgAAAAA
AAEAAACkgbIdAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZGVkZGF0YS1zdGRlcnIu
dHh0VVQFAAOiFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+Hl6Saal4QzuAAAApAQAAHUA
GAAAAAAAAQAAAKSBRx8DAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9sb2FkZWRkYXRhX25v
YXV0b3BsYXktc3RkZXJyLnR4dFVUBQADoxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPh5
eknqGGt66gAAAKQEAABuABgAAAAAAAEAAACkgeQgAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZl
bnRfbG9hZGVkbWV0YWRhdGEtc3RkZXJyLnR4dFVUBQADpBc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAPl5ekk0GXy16gAAAKQEAAB5ABgAAAAAAAEAAACkgXYiAwBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvZXZlbnRfbG9hZGVkbWV0YWRhdGFfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAAOlFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+Xl6SRx4SVnuAAAApAQAAGkAGAAAAAAAAQAAAKSB
EyQDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9sb2Fkc3RhcnQtc3RkZXJyLnR4dFVUBQAD
phc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPp5ekmUx9w27AAAAKQEAAB0ABgAAAAAAAEA
AACkgaQlAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Vt
YmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZHN0YXJ0X25vYXV0b3BsYXkt
c3RkZXJyLnR4dFVUBQADpxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPp5ekm9sXJ18AAA
AAwGAAB8ABgAAAAAAAEAAACkgT4nAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJf
Y2FucGxheV9jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQFAAOoFzpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgA+3l6SRD5yGTvAAAADAYAAHUAGAAAAAAAAQAAAKSB5CgDAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRp
YS1lbGVtZW50cy9ldmVudF9vcmRlcl9jYW5wbGF5X3BsYXlpbmctc3RkZXJyLnR4dFVUBQADqRc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPt5eklqVhDR7wAAAAwGAAB/ABgAAAAAAAEAAACk
gYIqAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfbG9hZGVkbWV0YWRhdGFfbG9h
ZGVkZGF0YS1zdGRlcnIudHh0VVQFAAOqFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA/Hl6
SZtNaenuAAAADAYAAHgAGAAAAAAAAQAAAKSBKiwDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVu
dF9vcmRlcl9sb2Fkc3RhcnRfcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUBQADqxc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAPx5eklDfx0N8QAAAAwGAABlABgAAAAAAAEAAACkgcotAwBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvZXZlbnRfcGF1c2Utc3RkZXJyLnR4dFVUBQADrBc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAP15ekmqqTQ57AAAAP4EAABwABgAAAAAAAEAAACkgVovAwBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvZXZlbnRfcGF1c2Vfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAAOtFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA/Xl6SZtXyQryAAAADAYAAGQAGAAAAAAAAQAAAKSB
8DADAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5LXN0ZGVyci50eHRVVAUAA64XOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAAenpJKqRP4+8AAACkBAAAbwAYAAAAAAABAAAApIGA
MgMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BsYXlfbm9hdXRvcGxheS1zdGRlcnIudHh0
VVQFAAOvFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAHp6SX/AFt70AAAADAYAAGcAGAAA
AAAAAQAAAKSBGDQDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5aW5nLXN0ZGVyci50
eHRVVAUAA7AXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAABenpJAFsXm+8AAAAMBgAAcgAY
AAAAAAABAAAApIGtNQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BsYXlpbmdfbm9hdXRv
cGxheS1zdGRlcnIudHh0VVQFAAOxFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAXp6SeGK
MkLxAAAADAYAAGgAGAAAAAAAAQAAAKSBSDcDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9w
cm9ncmVzcy1zdGRlcnIudHh0VVQFAAOyFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAnp6
SeJOFdrtAAAApAQAAHMAGAAAAAAAAQAAAKSB2zgDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVu
dF9wcm9ncmVzc19ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAUAA7MXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAADenpJNBcGHPMAAAAMBgAAagAYAAAAAAABAAAApIF1OgMAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL2V2ZW50X3RpbWV1cGRhdGUtc3RkZXJyLnR4dFVUBQADtRc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAAN6ekkIyD6n8AAAAAwGAAB1ABgAAAAAAAEAAACkgQw8AwBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvZXZlbnRfdGltZXVwZGF0ZV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAUA
A7YXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAEenpJe9xa54MAAADAAAAAbAAYAAAAAAAB
AAAApIGrPQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3ZvbHVtZWNoYW5nZS1zdGRlcnIu
dHh0VVQFAAO3FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9Xl6SQAAAAAAAAAAAAAAAFoA
GAAAAAAAAAAQAO1B1D4DAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1VUBQADnRc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPV5ekkAAAAAAAAAAAAAAABkABgAAAAAAAAAEADt
QWg/AwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvaW50ZXJmYWNlcy9UZXh0VHJhY2svVVQFAAOeFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9Xl6SdpB3JW8AAAAkgEAAHkAGAAAAAAAAQAAAKSB
BkADAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRUcmFjay9hY3RpdmVDdWVz
LXN0ZGVyci50eHRVVAUAA50XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD1eXpJ1rbHg4QA
AADAAAAAdQAYAAAAAAABAAAApIF1QQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMv
VGV4dFRyYWNrL2FkZEN1ZS1zdGRlcnIudHh0VVQFAAOeFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgABHp6SZoeH7jmAAAA5AMAAHcAGAAAAAAAAQAAAKSBqEIDAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVt
ZW50cy9uZXR3b3JrU3RhdGVfZHVyaW5nX2xvYWRzdGFydC1zdGRlcnIudHh0VVQFAAO4FzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABHp6SbXet36EAAAAwAAAAG4AGAAAAAAAAQAAAKSBP0QD
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC9tZWRpYS1lbGVtZW50cy9uZXR3b3JrU3RhdGVfaW5pdGlhbC1zdGRlcnIudHh0VVQF
AAO4FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABXp6SV/2gWPkAAAATAUAAHIAGAAAAAAA
AQAAAKSBa0UDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wYXVzZWRfZmFsc2VfZHVyaW5nX3BsYXkt
c3RkZXJyLnR4dFVUBQADuRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAV6ekmIwA0O5wAA
AP4EAAByABgAAAAAAAEAAACkgftGAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGF1c2VkX3RydWVf
ZHVyaW5nX3BhdXNlLXN0ZGVyci50eHRVVAUAA7oXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAD3eXpJAAAAAAAAAAAAAAAAagAYAAAAAAAAABAA7UGOSAMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L3BsYXlpbmctdGhlLW1lZGlhLXJlc291cmNlL1VUBQADoRc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAPZ5eknpvdUpvQAAAJIBAACRABgAAAAAAAEAAACkgTJJAwBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvcGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGF1c2UtbW92ZS10by1vdGhlci1kb2N1
bWVudC1zdGRlcnIudHh0VVQFAAOgFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9nl6STwa
8dQlAQAAuwIAAI8AGAAAAAAAAQAAAKSBukoDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5n
LXRoZS1tZWRpYS1yZXNvdXJjZS9wYXVzZS1tb3ZlLXdpdGhpbi1kb2N1bWVudC1zdGRlcnIudHh0
VVQFAAOgFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA93l6SenpK/HeAAAABgMAAI8AGAAA
AAAAAQAAAKSBqEwDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5nLXRoZS1tZWRpYS1yZXNv
dXJjZS9wYXVzZS1yZW1vdmUtZnJvbS1kb2N1bWVudC1zdGRlcnIudHh0VVQFAAOhFzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA93l6SXYnkuuEAAAAGgEAAIEAGAAAAAAAAQAAAKSBT04DAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5nLXRoZS1tZWRpYS1yZXNvdXJjZS9wbGF5YmFja1Jh
dGUtc3RkZXJyLnR4dFVUBQADoRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAZ6ekn3ICAB
hgAAAMAAAAB4ABgAAAAAAAEAAACkgY5PAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcHJlbG9hZF9y
ZWZsZWN0c19ub25lX2F1dG9wbGF5LXN0ZGVyci50eHRVVAUAA7sXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAGenpJTay6TeMAAABMBQAAcwAYAAAAAAABAAAApIHGUAMAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVyaW5nX2NhbnBsYXktc3RkZXJyLnR4dFVUBQADvBc6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAd6eknT3/U/7wAAAGYGAAB6ABgAAAAAAAEAAACkgVZS
AwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVk
LWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfY2FucGxheXRocm91Z2gt
c3RkZXJyLnR4dFVUBQADvRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAd6ekl5yq6z8gAA
AAwGAAB2ABgAAAAAAAEAAACkgflTAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcmVhZHlTdGF0ZV9k
dXJpbmdfbG9hZGVkZGF0YS1zdGRlcnIudHh0VVQFAAO+FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgACHp6SXSkfpTxAAAA/gQAAHoAGAAAAAAAAQAAAKSBm1UDAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVt
ZW50cy9yZWFkeVN0YXRlX2R1cmluZ19sb2FkZWRtZXRhZGF0YS1zdGRlcnIudHh0VVQFAAO/FzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACHp6SRw9gwDvAAAADAYAAHMAGAAAAAAAAQAAAKSB
QFcDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1cmluZ19wbGF5aW5nLXN0ZGVy
ci50eHRVVAUAA8AXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAIenpJHmuiiYMAAADAAAAA
bAAYAAAAAAABAAAApIHcWAMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfaW5pdGlh
bC1zdGRlcnIudHh0VVQFAAPAFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACXp6SaRV28DW
AAAAwgIAAIQAGAAAAAAAAQAAAKSBBVoDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9zcmNfcmVmbGVj
dHNfYXR0cmlidXRlX25vdF9zb3VyY2VfZWxlbWVudHMtc3RkZXJyLnR4dFVUBQADwRc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAPZ5ekkAAAAAAAAAAAAAAABVABgAAAAAAAAAEADtQZlbAwBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvdHJhY2svVVQFAAOgFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAA9nl6SQAAAAAAAAAAAAAAAGMAGAAAAAAAAAAQAO1BKFwDAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVt
ZW50cy90cmFjay90cmFjay1lbGVtZW50L1VUBQADoBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAPZ5eklUBT1sDwEAAEYCAACCABgAAAAAAAEAAACkgcVcAwBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVu
dHMvdHJhY2svdHJhY2stZWxlbWVudC90cmFjay1hcGktdGV4dHRyYWNrcy1zdGRlcnIudHh0VVQF
AAOgFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9nl6SQAAAAAAAAAAAAAAAF4AGAAAAAAA
AAAQAO1BkF4DAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy91c2VyLWludGVyZmFjZS9VVAUAA6AXOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD2eXpJXp1mEIQAAADAAAAAbgAYAAAAAAABAAAApIEo
XwMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3VzZXItaW50ZXJmYWNlL211dGVkLXN0ZGVyci50eHRV
VAUAA6AXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJenpJL1J3hL4AAADsAQAAYwAYAAAA
AAABAAAApIFUYAMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3ZpZGVvXzAwOC1zdGRlcnIudHh0VVQF
AAPBFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACXp6SYnpExqDAAAAwAAAAGwAGAAAAAAA
AQAAAKSBr2EDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy92aWRlb192b2x1bWVfY2hlY2stc3RkZXJy
LnR4dFVUBQADwRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPd5ekkAAAAAAAAAAAAAAABS
ABgAAAAAAAAAEADtQdhiAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWF1ZGlvLWVsZW1lbnQvVVQFAAOhFzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA93l6SVGyFFrdAAAA0AIAAG4AGAAAAAAAAQAAAKSBZGMDAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29u
dGVudC90aGUtYXVkaW8tZWxlbWVudC9hdWRpb19jb25zdHJ1Y3Rvci1zdGRlcnIudHh0VVQFAAOh
FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAEHp6SQAAAAAAAAAAAAAAAC0AGAAAAAAAAAAQ
AO1B6WQDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL1VUBQAD
zxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAR6ekmTcV1/uQAAAD0EAABXABgAAAAAAAEA
AACkgVBlAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRp
YXNvdXJjZS1hY3RpdmVzb3VyY2VidWZmZXJzLXN0ZGVyci50eHRVVAUAA7cXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAEenpJyL1lVIoAAACbAAAAUAAYAAAAAAABAAAApIGaZgMAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtYXBwZW5k
d2luZG93LXN0ZGVyci50eHRVVAUAA7gXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAFenpJ
469WLSUBAAApAwAATAAYAAAAAAABAAAApIGuZwMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtYXZ0cmFja3Mtc3RkZXJyLnR4dFVUBQADuRc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAV6eknJHUldrAAAAAcDAABMABgAAAAAAAEAAACk
gVlpAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNv
dXJjZS1idWZmZXJlZC1zdGRlcnIudHh0VVQFAAO5FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgABnp6SfKhSMgsAQAAyAMAAF8AGAAAAAAAAQAAAKSBi2oDAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2UtbXA0LWEt
Yml0cmF0ZS1zdGRlcnIudHh0VVQFAAO8FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACHp6
SZLD6dnbAQAAHwYAAGYAGAAAAAAAAQAAAKSBUGwDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2UtbXA0LWF2LWF1ZGlv
LWJpdHJhdGUtc3RkZXJyLnR4dFVUBQADvxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAl6
ekmR1aRv2wEAALAFAABmABgAAAAAAAEAAACkgctuAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC1hdi12aWRl
by1iaXRyYXRlLXN0ZGVyci50eHRVVAUAA8EXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAK
enpJwbGHBnsBAADpAwAAXwAYAAAAAAABAAAApIFGcQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1iaXRy
YXRlLXN0ZGVyci50eHRVVAUAA8QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAALenpJDVXV
0DsBAAB6AwAAYQAYAAAAAAABAAAApIFacwMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1mcmFtZXJhdGUt
c3RkZXJyLnR4dFVUBQADxhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA16ekkZTFRKPAEA
AHoDAABhABgAAAAAAAEAAACkgTB1AwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC12LWZyYW1lc2l6ZS1zdGRl
cnIudHh0VVQFAAPJFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADXp6SdT9VxkGAQAAFQIA
AEoAGAAAAAAAAQAAAKSBB3cDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
c291cmNlL21lZGlhc291cmNlLWRldGFjaC1zdGRlcnIudHh0VVQFAAPJFzpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgADnp6SaO/03cQAQAAhAEAAEgAGAAAAAAAAQAAAKSBkXgDAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXBsYXktc3Rk
ZXJyLnR4dFVUBQADzBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA16ekkVrCiYigAAAJsA
AABXABgAAAAAAAEAAACkgSN6AwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LXNvdXJjZS9tZWRpYXNvdXJjZS1wbGF5LXRoZW4tc2Vlay1iYWNrLXN0ZGVyci50eHRVVAUAA8oX
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAOenpJ6bmdupoAAAD0AgAASwAYAAAAAAABAAAA
pIE+ewMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFz
b3VyY2UtcHJlbG9hZC1zdGRlcnIudHh0VVQFAAPMFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAD3p6SfoCSvOLAAAAmwAAAFIAGAAAAAAAAQAAAKSBXXwDAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXJlZHVuZGFudC1zZWVrLXN0ZGVy
ci50eHRVVAUAA80XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAPenpJ8APobTIBAAB0BQAA
SgAYAAAAAAABAAAApIF0fQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1z
b3VyY2UvbWVkaWFzb3VyY2UtcmVtb3ZlLXN0ZGVyci50eHRVVAUAA84XOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAQenpJ6Rva0J0AAAA2AQAAVAAYAAAAAAABAAAApIEqfwMAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtdGltZXN0YW1w
LW9mZnNldC1zdGRlcnIudHh0VVQFAAPPFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAJXp6
SQAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1BVYADAGluc3BlY3Rvci9VVAUAA/YXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAAlenpJAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UGZgAMAaW5z
cGVjdG9yL2RlYnVnZ2VyL1VUBQAD9hc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACV6eknu
CbM3GwUAANQjAAA2ABgAAAAAAAEAAACkgeaAAwBpbnNwZWN0b3IvZGVidWdnZXIvY29udGludWVV
bnRpbE5leHRSdW5Mb29wLXN0ZGVyci50eHRVVAUAA/YXOlh1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAYenpJAAAAAAAAAAAAAAAAAwAYAAAAAAAAABAA7UFxhgMAanMvVVQFAAPfFzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAASnp6SQAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQAO1BroYDAGpz
L2RvbS9VVAUAAzwYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYenpJSxuBNacAAADSAAAA
NQAYAAAAAAABAAAApIHvhgMAanMvZG9tL2NhbGxiYWNrLWZ1bmN0aW9uLXdpdGgtaGFuZGxlLWV2
ZW50LXN0ZGVyci50eHRVVAUAA98XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABKenpJSxuB
NacAAADSAAAAMAAYAAAAAAABAAAApIEFiAMAanMvZG9tL2V4Y2VwdGlvbnMtdGhyb3duLWluLWNh
bGxiYWNrcy1zdGRlcnIudHh0VVQFAAM8GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAm3p6
SQAAAAAAAAAAAAAAAAYAGAAAAAAAAAAQAO1BFokDAG1lZGlhL1VUBQAD1Rg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAB16ekmqFffL2wAAAFICAAAfABgAAAAAAAEAAACkgVaJAwBtZWRpYS9h
dWRpby1kYXRhLXVybC1zdGRlcnIudHh0VVQFAAPpFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAMXp6SQAAAAAAAAAAAAAAABMAGAAAAAAAAAAQAO1BiooDAG1lZGlhL21lZGlhLXNvdXJjZS9V
VAUAAw0YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAApenpJsKgttywBAACQAQAAPgAYAAAA
AAABAAAApIHXigMAbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1hYm9ydC1yZXNldHMt
cGFyc2VyLXN0ZGVyci50eHRVVAUAA/4XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAtenpJ
+eHUnosAAACbAAAANwAYAAAAAAABAAAApIF7jAMAbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNv
dXJjZS1yZW1vdmUtY3Jhc2gtc3RkZXJyLnR4dFVUBQADBhg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAC56ekkuRBDhiwAAAJsAAAAxABgAAAAAAAEAAACkgXeNAwBtZWRpYS9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLXJlc2l6ZS1zdGRlcnIudHh0VVQFAAMHGDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgALnp6SeOg8WwsAQAAkAEAADwAGAAAAAAAAQAAAKSBbY4DAG1lZGlhL21lZGlh
LXNvdXJjZS9tZWRpYS1zb3VyY2Utc2Vlay1kZXRhY2gtY3Jhc2gtc3RkZXJyLnR4dFVUBQADCBg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADF6eknkRKWkiwAAAJsAAABIABgAAAAAAAEAAACk
gQ+QAwBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXN0YWxsZWQtaG9sZHMtc2xlZXAt
YXNzZXJ0aW9uLXN0ZGVyci50eHRVVAUAAw0YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABJ
enpJkMsYNskAAAAkAwAAKAAYAAAAAAABAAAApIEckQMAbWVkaWEvc291cmNlcy1mYWxsYmFjay1j
b2RlY3Mtc3RkZXJyLnR4dFVUBQADOhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEl6ekkT
1oC4iQAAAIABAAAwABgAAAAAAAEAAACkgUeSAwBtZWRpYS9zdmctYXMtaW1hZ2Utd2l0aC1tZWRp
YS1ibG9ja2VkLXN0ZGVyci50eHRVVAUAAzoYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABL
enpJz04p0pAAAAC9AAAAIQAYAAAAAAABAAAApIE6kwMAbWVkaWEvdW5zdXBwb3J0ZWQtcnRzcC1z
dGRlcnIudHh0VVQFAAM9GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdnp6SZWBnRGBAAAA
6AIAADsAGAAAAAAAAQAAAKSBJZQDAG1lZGlhL3ZpZGVvLW11dGVkLWFmdGVyLXNldHRpbmctcGFn
ZS1tdXRlZC1zdGF0ZS1zdGRlcnIudHh0VVQFAAOQGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAhXp6SZxyZnBmAAAA3gAAACYAGAAAAAAAAQAAAKSBG5UDAG1lZGlhL3ZpZGVvLXBsYXllZC1y
YW5nZXMtMS1zdGRlcnIudHh0VVQFAAOpGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmnp6
ScW3w4C8AAAAkgEAAB8AGAAAAAAAAQAAAKSB4ZUDAG1lZGlhL3ZpZGVvLXNyYy1ibG9iLXN0ZGVy
ci50eHRVVAUAA9QYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACbenpJSh0g0YQAAADAAAAA
IQAYAAAAAAABAAAApIH2lgMAbWVkaWEvdmlkZW8tc3JjLWNoYW5nZS1zdGRlcnIudHh0VVQFAAPV
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAANXp6SQAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQ
AO1B1ZcDAHBsdWdpbnMvVVQFAAMWGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANXp6SZUO
HD+tAAAA8QAAAC8AGAAAAAAAAQAAAKSBF5gDAHBsdWdpbnMvbW91c2UtY2xpY2staWZyYW1lLXRv
LXBsdWdpbi1zdGRlcnIudHh0VVQFAAMWGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwXl6
SfeJRSRnAgAAohUAABoAGAAAAAAAAQAAAKSBLZkDAHB5d2Vic29ja2V0LndzLmxvZy1lcnIudHh0
VVQFAAM6FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwXl6SXYcexcIAQAAjwIAABoAGAAA
AAAAAQAAAKSB6JsDAHB5d2Vic29ja2V0LndzLmxvZy1vdXQudHh0VVQFAAM6FzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAPHl6SQAAAAAAAAAAAAAAABsAGAAAAAAAAAAAAKSBRJ0DAHB5d2Vi
c29ja2V0Lndzcy5sb2ctZXJyLnR4dFVUBQADRBY6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
ADx5ekkAAAAAAAAAAAAAAAAbABgAAAAAAAAAAACkgZmdAwBweXdlYnNvY2tldC53c3MubG9nLW91
dC50eHRVVAUAA0QWOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA7e3pJRSYdOdEnAADLqgAA
DAAYAAAAAAABAAAApIHunQMAcmVzdWx0cy5odG1sVVQFAAMBGjpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAN3t6SQAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BBcYDAHJldHJpZXMvVVQFAAP6
GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAB3t6SQAAAAAAAAAAAAAAABAAGAAAAAAAAAAQ
AO1BR8YDAHJldHJpZXMvZWRpdGluZy9VVAUAA54ZOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAA3e3pJAAAAAAAAAAAAAAAAFgAYAAAAAAAAABAA7UGRxgMAcmV0cmllcy9lZGl0aW5nL2lucHV0
L1VUBQAD+hk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADd7ekmXpGWiyQAAAGcBAAA3ABgA
AAAAAAEAAACkgeHGAwByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9k
ZS1hY3R1YWwudHh0VVQFAAP6GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAN3t6SU2EeLZl
AQAAYAMAADUAGAAAAAAAAQAAAKSBG8gDAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1l
Y2hvLXBhc3Nub2RlLWRpZmYudHh0VVQFAAP6GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
N3t6SU/OKnZqAAAAFQEAADkAGAAAAAAAAQAAAKSB78kDAHJldHJpZXMvZWRpdGluZy9pbnB1dC9w
YXNzd29yZC1lY2hvLXBhc3Nub2RlLWV4cGVjdGVkLnR4dFVUBQAD+hk6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADd7ekkKR18ZaQgAAPodAAA9ABgAAAAAAAEAAACkgczKAwByZXRyaWVzL2Vk
aXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZS1wcmV0dHktZGlmZi5odG1sVVQFAAP6
GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAF3t6SZekZaLJAAAAZwEAADgAGAAAAAAAAQAA
AKSBrNMDAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMi1hY3R1
YWwudHh0VVQFAAO9GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAF3t6SXRvoBVmAQAAYgMA
ADYAGAAAAAAAAQAAAKSB59QDAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBh
c3Nub2RlMi1kaWZmLnR4dFVUBQADvRk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABd7eklP
zip2agAAABUBAAA6ABgAAAAAAAEAAACkgb3WAwByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dv
cmQtZWNoby1wYXNzbm9kZTItZXhwZWN0ZWQudHh0VVQFAAO9GTpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAF3t6SWjpUhtrCAAA+x0AAD4AGAAAAAAAAQAAAKSBm9cDAHJldHJpZXMvZWRpdGlu
Zy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMi1wcmV0dHktZGlmZi5odG1sVVQFAAO9GTpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAB3t6SZekZaLJAAAAZwEAADgAGAAAAAAAAQAAAKSB
fuADAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1hY3R1YWwu
dHh0VVQFAAOeGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAB3t6SXsR+pJeAQAA6gIAADYA
GAAAAAAAAQAAAKSBueEDAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nu
b2RlMy1kaWZmLnR4dFVUBQADnhk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAd7ekkbdTjw
YQAAAJ8AAAA6ABgAAAAAAAEAAACkgYfjAwByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQt
ZWNoby1wYXNzbm9kZTMtZXhwZWN0ZWQudHh0VVQFAAOeGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAB3t6SRVH5MFYCAAAVRwAAD4AGAAAAAAAAQAAAKSBXOQDAHJldHJpZXMvZWRpdGluZy9p
bnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1wcmV0dHktZGlmZi5odG1sVVQFAAOeGTpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKHt6SXui1unDAAAAXgEAADcAGAAAAAAAAQAAAKSBLO0D
AHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWFjdHVhbC50eHRV
VAUAA9sZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAoe3pJenumXFoBAABbAwAANQAYAAAA
AAABAAAApIFg7gMAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUt
ZGlmZi50eHRVVAUAA9sZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAoe3pJXYSTXGAAAAAQ
AQAAOQAYAAAAAAABAAAApIEp8AMAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8t
dGV4dG5vZGUtZXhwZWN0ZWQudHh0VVQFAAPbGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
KHt6SUeNt11bCAAA9R0AAD0AGAAAAAAAAQAAAKSB/PADAHJldHJpZXMvZWRpdGluZy9pbnB1dC9w
YXNzd29yZC1lY2hvLXRleHRub2RlLXByZXR0eS1kaWZmLmh0bWxVVAUAA9sZOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAA3e3pJAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UHO+QMAcmV0cmll
cy9odHRwL1VUBQAD+hk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAADp7ekkAAAAAAAAAAAAA
AAATABgAAAAAAAAAEADtQRX6AwByZXRyaWVzL2h0dHAvdGVzdHMvVVQFAAP/GTpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAOHt6SQAAAAAAAAAAAAAAAB8AGAAAAAAAAAAQAO1BYvoDAHJldHJp
ZXMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9VVAUAA/sZOlh1eAsAAQT1AQAABBQAAABQSwECHgMK
AAIAAAA4e3pJkwbXMgEAAAABAAAAVQAYAAAAAAABAAAApIG7+gMAcmV0cmllcy9odHRwL3Rlc3Rz
L2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gt
YWN0dWFsLnR4dFVUBQAD+xk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADh7eklT4n/51QAA
AKoBAABTABgAAAAAAAEAAACkgUv7AwByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1kaWZmLnR4dFVUBQAD+xk6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADh7ekmREwZeXAAAAGYAAABXABgAAAAAAAEAAACk
ga38AwByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0
LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1leHBlY3RlZC50eHRVVAUAA/sZOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAA4e3pJeafcEZQHAACCFwAAWwAYAAAAAAABAAAApIGa/QMAcmV0cmllcy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdh
dGUtY3Jhc2gtcHJldHR5LWRpZmYuaHRtbFVUBQAD+xk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIADd7eklWkbNHZQAAAG0AAABFABgAAAAAAAEAAACkgcMFBAByZXRyaWVzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWFjdHVhbC50eHRVVAUAA/oZ
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA3e3pJW4EWVOQAAAC7AQAAQwAYAAAAAAABAAAA
pIGnBgQAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5LXBy
ZWNpc2lvbi1kaWZmLnR4dFVUBQAD+hk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADd7ekmH
ADDIZwAAAHYAAABHABgAAAAAAAEAAACkgQgIBAByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3Vy
Y2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWV4cGVjdGVkLnR4dFVUBQAD+hk6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIADd7ekmQA4w89QcAALAaAABLABgAAAAAAAEAAACkgfAIBABy
ZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9u
LXByZXR0eS1kaWZmLmh0bWxVVAUAA/oZOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA6e3pJ
AAAAAAAAAAAAAAAAGAAYAAAAAAAAABAA7UFqEQQAcmV0cmllcy9odHRwL3Rlc3RzL21pc2MvVVQF
AAP/GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOnt6SYNmefo8OQAAX10AAD4AGAAAAAAA
AAAAAKSBvBEEAHJldHJpZXMvaHR0cC90ZXN0cy9taXNjL3Nsb3ctbG9hZGluZy1hbmltYXRlZC1p
bWFnZS1hY3R1YWwucG5nVVQFAAP/GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOnt6SaYI
oAT2DQAAkBQAADwAGAAAAAAAAAAAAKSBcEsEAHJldHJpZXMvaHR0cC90ZXN0cy9taXNjL3Nsb3ct
bG9hZGluZy1hbmltYXRlZC1pbWFnZS1kaWZmLnBuZ1VUBQAD/xk6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIADp7ekmdAVtbkwUAADYSAAA+ABgAAAAAAAEAAACkgdxZBAByZXRyaWVzL2h0dHAv
dGVzdHMvbWlzYy9zbG93LWxvYWRpbmctYW5pbWF0ZWQtaW1hZ2UtZGlmZnMuaHRtbFVUBQAD/xk6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADp7eknzwk/5mQAAAPsAAABBABgAAAAAAAEAAACk
gedfBAByZXRyaWVzL2h0dHAvdGVzdHMvbWlzYy9zbG93LWxvYWRpbmctYW5pbWF0ZWQtaW1hZ2Ut
ZXhwZWN0ZWQuaHRtbFVUBQAD/xk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADp7ekmkejkb
oQEAAL0pAABAABgAAAAAAAAAAACkgftgBAByZXRyaWVzL2h0dHAvdGVzdHMvbWlzYy9zbG93LWxv
YWRpbmctYW5pbWF0ZWQtaW1hZ2UtZXhwZWN0ZWQucG5nVVQFAAP/GTpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAO3t6SW02cFBMDAkAP/gvAAoAGAAAAAAAAQAAAKSBFmMEAHN0YXRzLmpzb25V
VAUAAwEaOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABcenpJAAAAAAAAAAAAAAAACAAYAAAA
AAAAABAA7UGmbw0Ac3RvcmFnZS9VVAUAA18YOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAC5
enpJAAAAAAAAAAAAAAAAEgAYAAAAAAAAABAA7UHobw0Ac3RvcmFnZS9pbmRleGVkZGIvVVQFAAMO
GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhXp6SbVV0hGjAAAATwIAACkAGAAAAAAAAQAA
AKSBNHANAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1zdGRlcnIudHh0VVQFAAOpGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhHp6SbVV0hGjAAAATwIAADEAGAAAAAAAAQAAAKSB
OnENAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy13b3JrZXJzLXN0ZGVyci50eHRVVAUA
A6gYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACFenpJbamKwq8AAAABCgAAKAAYAAAAAAAB
AAAApIFIcg0Ac3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtY291bnQtc3RkZXJyLnR4dFVUBQADqhg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIl6ekmb3hI0pAAAABQDAAAtABgAAAAAAAEAAACk
gVlzDQBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5LXN0ZGVyci50eHRVVAUAA7EY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACJenpJJe6EdJkAAADFAAAALQAYAAAAAAABAAAA
pIFkdA0Ac3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi1zdGRlcnIudHh0VVQFAAOx
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjXp6SXtT6fXCBQAABTEAAEUAGAAAAAAAAAAA
AKSBZHUNAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb3Blbi1pbi11cGdyYWRlbmVlZGVk
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADuRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAI16
ekntgVEt1wUAAKs0AAA9ABgAAAAAAAAAAACkgaV7DQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJz
aW9uLW9wZW4taW4tdXBncmFkZW5lZWRlZC1zdGRlcnIudHh0VVQFAAO5GDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAjXp6SaP6YM9UBAAA6hcAAEEAGAAAAAAAAAAAAKSB84ENAHN0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tb3Blbi13aXRoLXZlcnNpb24tcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAAO6GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjXp6SXzbka5PBAAAihcAADkAGAAA
AAAAAAAAAKSBwoYNAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb3Blbi13aXRoLXZlcnNp
b24tc3RkZXJyLnR4dFVUBQADuhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAI16ekkm8j01
GgUAANE6AABRABgAAAAAAAAAAACkgYSLDQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXBl
bmRpbmctdmVyc2lvbi1jaGFuZ2VzLWFzY2VuZGluZy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA7oY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACOenpJDnJuzDMFAAATPAAASQAYAAAAAAAAAAAA
pIEpkQ0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5nLXZlcnNpb24tY2hhbmdl
cy1hc2NlbmRpbmctc3RkZXJyLnR4dFVUBQADuxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AI56eklz8xWV+AQAACYuAABSABgAAAAAAAAAAACkgd+WDQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2
ZXJzaW9uLXBlbmRpbmctdmVyc2lvbi1jaGFuZ2VzLWRlc2NlbmRpbmctcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAO7GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjnp6SVxIKugJBQAAhCsAAEoA
GAAAAAAAAAAAAKSBY5wNAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcGVuZGluZy12ZXJz
aW9uLWNoYW5nZXMtZGVzY2VuZGluZy1zdGRlcnIudHh0VVQFAAO7GDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAjnp6SY5zFG3PBAAAWCoAAEwAGAAAAAAAAAAAAKSB8KENAHN0b3JhZ2UvaW5k
ZXhlZGRiL2ludHZlcnNpb24tcGVuZGluZy12ZXJzaW9uLWNoYW5nZXMtc2FtZS1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA7wYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACOenpJ7Wl4IhcFAACA
LwAARAAYAAAAAAAAAAAApIFFpw0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5n
LXZlcnNpb24tY2hhbmdlcy1zYW1lLXN0ZGVyci50eHRVVAUAA7wYOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACOenpJF+AfLCMEAABTHAAAOwAYAAAAAAAAAAAApIHarA0Ac3RvcmFnZS9pbmRl
eGVkZGIvaW50dmVyc2lvbi1wZXJzaXN0ZW5jZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA7wYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACOenpJ5u0OyPUDAACJGQAAMwAYAAAAAAAAAAAApIFy
sQ0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZXJzaXN0ZW5jZS1zdGRlcnIudHh0VVQF
AAO8GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAj3p6SaR+B5JXBQAAxisAAD8AGAAAAAAA
AAAAAKSB1LUNAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcmV2ZXJ0LW9uLWFib3J0LXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADvRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAI96ekkq
FdD/VQUAAFktAAA3ABgAAAAAAAAAAACkgaS7DQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9u
LXJldmVydC1vbi1hYm9ydC1zdGRlcnIudHh0VVQFAAO9GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAj3p6SSKwJ/X7AwAAkhkAAEUAGAAAAAAAAAAAAKSBasENAHN0b3JhZ2UvaW5kZXhlZGRi
L2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
vRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAI96ekkM6kZ7KAQAAIkbAAA9ABgAAAAAAAAA
AACkgeTFDQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXR3by1vcGVucy1uby12ZXJzaW9u
cy1zdGRlcnIudHh0VVQFAAO+GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAj3p6SWuMpcU3
BQAAPUYAADgAGAAAAAAAAAAAAKSBg8oNAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdXBn
cmFkZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAO+GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAj3p6SZq24C1/BQAAO0gAADAAGAAAAAAAAAAAAKSBLNANAHN0b3JhZ2UvaW5kZXhlZGRiL2lu
dHZlcnNpb24tdXBncmFkZXMtc3RkZXJyLnR4dFVUBQADvhg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAJB6eklvlJi/PAMAAH0RAAAxABgAAAAAAAAAAACkgRXWDQBzdG9yYWdlL2luZGV4ZWRk
Yi9pbnZhbGlkLWtleXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAO/GDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAkHp6SaeWrPK3AwAArxIAACkAGAAAAAAAAAAAAKSBvNkNAHN0b3JhZ2UvaW5k
ZXhlZGRiL2ludmFsaWQta2V5cy1zdGRlcnIudHh0VVQFAAO/GDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAkXp6SXPKgl8iDAAAop0BADIAGAAAAAAAAAAAAKSB1t0NAHN0b3JhZ2UvaW5kZXhl
ZGRiL2tleS1nZW5lcmF0b3ItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPBGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAknp6SSlmp/VHDAAAOqMBACoAGAAAAAAAAAAAAKSBZOoNAHN0b3JhZ2Uv
aW5kZXhlZGRiL2tleS1nZW5lcmF0b3Itc3RkZXJyLnR4dFVUBQADwxg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAJJ6ekmB8hUYBwUAAM01AABAABgAAAAAAAAAAACkgQ/3DQBzdG9yYWdlL2lu
ZGV4ZWRkYi9rZXktc29ydC1vcmRlci1hY3Jvc3MtdHlwZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAPDGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAknp6ScZAhTKvBQAA8zQAADgAGAAAAAAA
AAAAAKSBkPwNAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWFjcm9zcy10eXBlcy1z
dGRlcnIudHh0VVQFAAPEGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAknp6SV6gaR4tBQAA
Di0AADgAGAAAAAAAAAAAAKSBsQIOAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWRh
dGUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPEGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
knp6SVDn+ZKnBQAAzy4AADAAGAAAAAAAAAAAAKSBUAgOAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS1z
b3J0LW9yZGVyLWRhdGUtc3RkZXJyLnR4dFVUBQADxBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAJN6ekkZaASD2AcAAAy1AAAzABgAAAAAAAAAAACkgWEODgBzdG9yYWdlL2luZGV4ZWRkYi9r
ZXktdHlwZS1hcnJheS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA8YYOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACTenpJIq9xbZAFAAAgPAAANAAYAAAAAAAAAAAApIGmFg4Ac3RvcmFnZS9pbmRl
eGVkZGIva2V5LXR5cGUtYmluYXJ5LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADxhg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAJN6eklytt/soQUAAO88AAAsABgAAAAAAAAAAACkgaQcDgBzdG9y
YWdlL2luZGV4ZWRkYi9rZXktdHlwZS1iaW5hcnktc3RkZXJyLnR4dFVUBQADxhg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAJR6ekmQvsz1OQQAADYYAAA2ABgAAAAAAAAAAACkgasiDgBzdG9y
YWdlL2luZGV4ZWRkYi9rZXktdHlwZS1pbmZpbml0eS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA8cY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACUenpJwIOmPrwEAAB7GgAALgAYAAAAAAAAAAAA
pIFUJw4Ac3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtaW5maW5pdHktc3RkZXJyLnR4dFVUBQAD
xxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJR6eklZbATczAYAAJ83AAAzABgAAAAAAAAA
AACkgXgsDgBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWFycmF5cy1wcml2YXRlLXN0ZGVyci50
eHRVVAUAA8cYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACUenpJ3Dqr1bYGAAA7NgAAKwAY
AAAAAAAAAAAApIGxMw4Ac3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1hcnJheXMtc3RkZXJyLnR4
dFVUBQADyBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJV6ekm5lZTpugMAADhQAAAzABgA
AAAAAAAAAACkgcw6DgBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJhc2ljcy1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA8kYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACWenpJF7ZA5JcEAAAY
dAAAKwAYAAAAAAAAAAAApIHzPg4Ac3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1iYXNpY3Mtc3Rk
ZXJyLnR4dFVUBQADyxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJZ6eklCbrz7UQYAAJNb
AAAyABgAAAAAAAAAAACkge9DDgBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWVkZ2VzLXByaXZh
dGUtc3RkZXJyLnR4dFVUBQADzBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJd6ekk84qVu
wwUAAOk2AAAqABgAAAAAAAAAAACkgaxKDgBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWVkZ2Vz
LXN0ZGVyci50eHRVVAUAA80YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACXenpJpth8PQ0F
AABtOgAANgAYAAAAAAAAAAAApIHTUA4Ac3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1r
ZXktcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPNGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
l3p6SSANB4LSBQAAdT4AAC4AGAAAAAAAAAAAAKSBUFYOAHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBh
dGgtZmV0Y2gta2V5LXN0ZGVyci50eHRVVAUAA84YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACXenpJEeu+yegGAAAUWgAAQQAYAAAAAAAAAAAApIGKXA4Ac3RvcmFnZS9pbmRleGVkZGIva2V5
cGF0aC1pbnRyaW5zaWMtcHJvcGVydGllcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA84YOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACYenpJOJqqK/oGAABaWgAAOQAYAAAAAAAAAAAApIHtYw4A
c3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1pbnRyaW5zaWMtcHJvcGVydGllcy1zdGRlcnIudHh0
VVQFAAPPGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmHp6SRYObH3qAAAA0AIAAC0AGAAA
AAAAAAAAAKSBWmsOAHN0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADzxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJl6ekkqDHf2DAgAAIOBAAA6ABgA
AAAAAAAAAACkgatsDgBzdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXBvcHVsYXRpb24tcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAPRGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmXp6SSDv
xbxSCAAAuoAAADIAGAAAAAAAAAAAAKSBK3UOAHN0b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgt
cG9wdWxhdGlvbi1zdGRlcnIudHh0VVQFAAPSGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
mXp6SfUgWfZ8BgAALFoAADUAGAAAAAAAAAAAAKSB6X0OAHN0b3JhZ2UvaW5kZXhlZGRiL2xhenkt
aW5kZXgtdHlwZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPSGDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAmnp6SbkRBfJ6BwAAC2MAAC0AGAAAAAAAAAAAAKSB1IQOAHN0b3JhZ2UvaW5kZXhl
ZGRiL2xhenktaW5kZXgtdHlwZXMtc3RkZXJyLnR4dFVUBQAD0xg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAJp6ekkWDmx96gAAANACAAA1ABgAAAAAAAAAAACkgbWMDgBzdG9yYWdlL2luZGV4
ZWRkYi9sZWdhY3ktY29uc3RhbnRzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD0xg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAJp6ekkwpKYuIwUAAIWEAAAyABgAAAAAAAAAAACkgQ6ODgBzdG9y
YWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD1Bg6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJp6ekkX0GRBmgUAAFB7AAAqABgAAAAAAAAAAACkgZ2T
DgBzdG9yYWdlL2luZGV4ZWRkYi9saXN0LW9yZGVyaW5nLXN0ZGVyci50eHRVVAUAA9QYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACbenpJnszDSycGAADCUwAALQAYAAAAAAAAAAAApIGbmQ4A
c3RvcmFnZS9pbmRleGVkZGIvbWV0YWRhdGEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPVGDpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAm3p6SUzrqv8JBQAAtx8AADIAGAAAAAAAAAAAAKSBKaAO
AHN0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLXJhY2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPV
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAm3p6SYb1bXq5BQAAGyQAACoAGAAAAAAAAAAA
AKSBnqUOAHN0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLXJhY2Utc3RkZXJyLnR4dFVUBQAD1Rg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJt6ekk3VifZqwYAAE9VAAAlABgAAAAAAAAAAACk
gburDgBzdG9yYWdlL2luZGV4ZWRkYi9tZXRhZGF0YS1zdGRlcnIudHh0VVQFAAPWGDpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAg3p6SQAAAAAAAAAAAAAAABkAGAAAAAAAAAAQAO1BxbIOAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9VVAUAA6UYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABcenpJivCzLFAGAABraQAANwAYAAAAAAAAAAAApIEYsw4Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2F1dG9pbmNyZW1lbnQtYWJvcnQtc3RkZXJyLnR4dFVUBQADXxg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAFx6ekkYWh7iAwUAAMAdAAA1ABgAAAAAAAAAAACkgdm5DgBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vYmFzaWMtYWRkLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADYBg6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAFx6ekkcJw/RHQUAACceAAAtABgAAAAAAAAAAACkgUu/DgBz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmFzaWMtYWRkLXN0ZGVyci50eHRVVAUAA2AYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABcenpJDiE+Dt0EAACkGgAANQAYAAAAAAAAAAAApIHPxA4A
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jhc2ljLXB1dC1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A2AYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABcenpJwJZzePMEAABrGwAALQAYAAAAAAAA
AAAApIEbyg4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jhc2ljLXB1dC1zdGRlcnIudHh0VVQF
AANgGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAXHp6SW8uIDD3BQAAdS0AADkAGAAAAAAA
AAAAAKSBdc8OAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9iaW5hcnkta2V5cy0xLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADYBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAF16ekm4gOhedQYA
ANwwAAAxABgAAAAAAAAAAACkgd/VDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmluYXJ5LWtl
eXMtMS1zdGRlcnIudHh0VVQFAANhGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAXXp6SQNk
oZHFBgAAVUEAAC8AGAAAAAAAAAAAAKSBv9wOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9ibG9i
LWN1cnNvci1zdGRlcnIudHh0VVQFAANiGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYHp6
STVGjDMPCQAAhqYAAC8AGAAAAAAAAAAAAKSB7eMOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9i
bG9iLXNpbXBsZS1zdGRlcnIudHh0VVQFAANkGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
YHp6SVMNkC3oCQAAJqYAADcAGAAAAAAAAAAAAKSBZe0OAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9ibG9iLXNpbXBsZS13b3JrZXJzLXN0ZGVyci50eHRVVAUAA2MYOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABgenpJyAJesSQGAAAYNQAAMgAYAAAAAAAAAAAApIG+9w4Ac3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2Jsb2Itc3ZnLWltYWdlLXN0ZGVyci50eHRVVAUAA2QYOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABhenpJVQ+DuW0GAABuNAAARAAYAAAAAAAAAAAApIFO/g4Ac3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2NrZWQtb3Blbi1kYi1yZXF1ZXN0cy1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA2UYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABhenpJC/8v3s0GAAC5NAAA
PAAYAAAAAAAAAAAApIE5BQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2NrZWQtb3Blbi1k
Yi1yZXF1ZXN0cy1zdGRlcnIudHh0VVQFAANlGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
YXp6SdWu2o0oBgAAjS8AAEEAGAAAAAAAAAAAAKSBfAwPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9jcmVhdGUtaW5kZXgtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANlGDpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAYXp6SVvcfJkkBgAAwywAADkAGAAAAAAAAAAAAKSBHxMPAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jcmVhdGUtaW5kZXgtZmFpbHVyZXMtc3RkZXJyLnR4dFVU
BQADZRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGF6eklxUSESMgYAAL1FAABDABgAAAAA
AAAAAACkgbYZDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3JlYXRlb2JqZWN0c3RvcmUtYmFz
aWMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANmGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
YXp6SSICopJWBgAALUcAADsAGAAAAAAAAAAAAKSBZSAPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9jcmVhdGVvYmplY3RzdG9yZS1iYXNpYy1zdGRlcnIudHh0VVQFAANmGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAYXp6SQaWBaymBAAAoxsAAEYAGAAAAAAAAAAAAKSBMCcPAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9jcmVhdGVvYmplY3RzdG9yZS1mYWlsdXJlcy1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA2YYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABienpJxLt6QVsEAAACGQAA
PgAYAAAAAAAAAAAApIFWLA8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZW9iamVjdHN0
b3JlLWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAA2cYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABienpJ4TSbQAAGAABqYgAANAAYAAAAAAAAAAAApIEpMQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2N1cnNvci0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADZxg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAGJ6ekl+KJ+fMwYAAPJjAAAsABgAAAAAAAAAAACkgZc3DwBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vY3Vyc29yLTEtc3RkZXJyLnR4dFVUBQADZxg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAGJ6ekkYfdvECgYAAPl5AAA0ABgAAAAAAAAAAACkgTA+DwBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vY3Vyc29yLTItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANoGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAYnp6SczmxBAdBgAAlHUAACwAGAAAAAAAAAAAAKSBqEQPAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItMi1zdGRlcnIudHh0VVQFAANoGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAY3p6Sf31qcbgBQAA21YAADQAGAAAAAAAAAAAAKSBK0sPAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItMy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA2kYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABjenpJpU34FvYFAADiVQAALAAYAAAAAAAAAAAApIF5
UQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0zLXN0ZGVyci50eHRVVAUAA2kYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABjenpJGa/gTtUFAAAnUQAANAAYAAAAAAAAAAAApIHV
Vw8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci00LXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADahg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGN6eklSxNxG5wUAAKhPAAAsABgAAAAA
AAAAAACkgRheDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTQtc3RkZXJyLnR4dFVU
BQADahg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGN6ekkt1YjpsgUAAHsuAAA0ABgAAAAA
AAAAAACkgWVkDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTUtcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAANqGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAY3p6SZkDQxfsBQAAry8A
ACwAGAAAAAAAAAAAAKSBhWoPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNS1zdGRl
cnIudHh0VVQFAANqGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZHp6SRCmVnq1BQAAHS8A
ADQAGAAAAAAAAAAAAKSB13APAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNi1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA2sYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABkenpJ/bvt
4eoFAABZLwAALAAYAAAAAAAAAAAApIH6dg8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNv
ci02LXN0ZGVyci50eHRVVAUAA2sYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABkenpJQjJE
8J4FAAAGKQAANAAYAAAAAAAAAAAApIFKfQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNv
ci03LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADaxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AGR6eklmx8U2ygUAAG4qAAAsABgAAAAAAAAAAACkgVaDDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vY3Vyc29yLTctc3RkZXJyLnR4dFVUBQADaxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AGR6ekkSM3eQmgUAAAYpAAA0ABgAAAAAAAAAAACkgYaJDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vY3Vyc29yLTgtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANsGDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAZHp6SQTMpL2/BQAAdikAACwAGAAAAAAAAAAAAKSBjo8PAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9jdXJzb3ItOC1zdGRlcnIudHh0VVQFAANsGDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAZHp6SX/xk5z8BQAAkkAAADYAGAAAAAAAAAAAAKSBs5UPAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9kYXRlLWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADbBg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAGV6ekm0v5qoCwYAAFtCAAAuABgAAAAAAAAAAACkgR+cDwBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGF0ZS1iYXNpYy1zdGRlcnIudHh0VVQFAANtGDpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAZXp6STZ6yLV2BQAAVi4AADwAGAAAAAAAAAAAAKSBkqIPAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS0xLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADbRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGV6ekkh69SxpQUAAI8vAAA0ABgA
AAAAAAAAAACkgX6oDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtMS1z
dGRlcnIudHh0VVQFAANtGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZXp6SZe1n50/BgAA
xTEAADwAGAAAAAAAAAAAAKSBka4PAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRh
YmFzZS0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADbRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAGV6ekmyKYF8SgYAAGYyAAA0ABgAAAAAAAAAAACkgUa1DwBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vZGVsZXRlZGF0YWJhc2UtMi1zdGRlcnIudHh0VVQFAANuGDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAZXp6SVYHbEfgAAAAzgIAAE4AGAAAAAAAAAAAAKSB/rsPAHN0b3JhZ2UvaW5k
ZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS1udWxsLW5hbWUtZXhjZXB0aW9uLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADbhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGV6ekmez4lWTwEA
AJ0DAABIABgAAAAAAAAAAACkgWa9DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0
YWJhc2UtcmVxdWVzdC1ldmVudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA24YOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABlenpJSgDmaIsBAABCBAAAQAAYAAAAAAAAAAAApIE3vw8Ac3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQtc3RkZXJyLnR4
dFVUBQADbhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGV6eklgNvQyVgAAAJkAAABCABgA
AAAAAAAAAACkgTzBDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVx
dWVzdC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA24YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABlenpJ2zxg9Q8BAAAhAwAAOgAYAAAAAAAAAAAApIEOwg8Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3Qtc3RkZXJyLnR4dFVUBQADbhg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAGZ6ekmYi6fBLAcAABQ4AAA5ABgAAAAAAAAAAACkgZHDDwBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA28Y
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABmenpJIowmWroHAADSOAAAMQAYAAAAAAAAAAAA
pIEwyw8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTEtc3RkZXJyLnR4dFVU
BQADbxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGZ6eknx5V3VmQcAAANSAAA5ABgAAAAA
AAAAAACkgVXTDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMi1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA28YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABmenpJB4dcdzUI
AACKUQAAMQAYAAAAAAAAAAAApIFh2w8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWlu
ZGV4LTItc3RkZXJyLnR4dFVUBQADcBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGZ6ekl8
2R2lQwUAACUkAAA5ABgAAAAAAAAAAACkgQHkDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVs
ZXRlaW5kZXgtMy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3AYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABmenpJcmiOb6gFAAC+JQAAMQAYAAAAAAAAAAAApIG36Q8Ac3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTMtc3RkZXJyLnR4dFVUBQADcBg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAGd6ekm81OgrmwUAANQsAAA5ABgAAAAAAAAAAACkgcrvDwBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtNC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3EYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABnenpJEGYrCToHAACwaAAAPwAYAAAAAAAAAAAApIHY
9Q8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZW9iamVjdHN0b3JlLTEtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAANxGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZ3p6SZsKGeUyBwAA
XmwAADcAGAAAAAAAAAAAAKSBi/0PAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVvYmpl
Y3RzdG9yZS0xLXN0ZGVyci50eHRVVAUAA3IYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABn
enpJm6ePRNYDAABKFQAAOAAYAAAAAAAAAAAApIEuBRAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2RvdWJsZS1hYm9ydC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3IYOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABnenpJ16sXnfYDAACSEwAAMAAYAAAAAAAAAAAApIF2CRAAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2RvdWJsZS1hYm9ydC1zdGRlcnIudHh0VVQFAANyGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAZ3p6SaVNNJNkAwAANxMAADcAGAAAAAAAAAAAAKSB1g0QAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9kb3VibGUtb3Blbi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3IYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABnenpJDt64P64DAAAZFwAALwAYAAAAAAAAAAAApIGr
ERAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RvdWJsZS1vcGVuLXN0ZGVyci50eHRVVAUAA3IY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABoenpJeTKdH6kEAACqJQAAPgAYAAAAAAAAAAAA
pIHCFRAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2djLWNsb3Nlcy1kYXRhYmFzZS1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA3MYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABoenpJoBefddIE
AADtJQAANgAYAAAAAAAAAAAApIHjGhAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2djLWNsb3Nl
cy1kYXRhYmFzZS1zdGRlcnIudHh0VVQFAANzGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
aHp6SQJckP1PBgAAqzgAAD4AGAAAAAAAAAAAAKSBJSAQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9nZXQtaW5kZXgtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANzGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAaHp6SdOocJSKBgAAsDYAADYAGAAAAAAAAAAAAKSB7CYQAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9nZXQtaW5kZXgtZmFpbHVyZXMtc3RkZXJyLnR4dFVUBQADdBg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGl6ekkFY2czqgkAAOrvAQA4ABgAAAAAAAAAAACk
geYtEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZ2V0LWtleXJhbmdlLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADdRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGl6ekmKiGrf2AkAAC8FAgAw
ABgAAAAAAAAAAACkgQI4EABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZ2V0LWtleXJhbmdlLXN0
ZGVyci50eHRVVAUAA3YYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABpenpJki85wGYFAAAF
HgAANgAYAAAAAAAAAAAApIFEQhAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2hhbmRsZS11c2Vy
LWRlbGV0ZS1zdGRlcnIudHh0VVQFAAN2GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAanp6
SerTSGNKDQAAR6wCAEwAGAAAAAAAAAAAAKSBGkgQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9p
ZGJjdXJzb3ItY29udGludWUtcHJpbWFyeS1rZXktMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3gY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABrenpJLay0rfkOAADK8QIARAAYAAAAAAAAAAAA
pIHqVRAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmN1cnNvci1jb250aW51ZS1wcmltYXJ5
LWtleS0xLXN0ZGVyci50eHRVVAUAA3oYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABrenpJ
kKn073AGAABJQAAAUgAYAAAAAAAAAAAApIFhZRAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lk
YmRhdGFiYXNlLWRlbGV0ZW9iamVjdHN0b3JlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADehg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGt6ekkqIb7CRgYAAKE2AABKABgAAAAA
AAAAAACkgV1sEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiZGF0YWJhc2UtZGVsZXRlb2Jq
ZWN0c3RvcmUtZmFpbHVyZXMtc3RkZXJyLnR4dFVUBQADehg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAGx6eknqAyM0qwQAAN8ZAABMABgAAAAAAAAAAACkgSdzEABzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vaWRiZGF0YWJhc2UtdHJhbnNhY3Rpb24tZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAN7GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbHp6SVzfUlK5BAAArBkAAEQA
GAAAAAAAAAAAAKSBWHgQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJkYXRhYmFzZS10cmFu
c2FjdGlvbi1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAN7GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAbHp6STO7k/2hBgAAPVIAAD0AGAAAAAAAAAAAAKSBj30QAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9pZGJpbmRleC1nZXRhbGwtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3sYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABsenpJHh4V9RIHAAD+WAAANQAYAAAAAAAAAAAApIGnhBAA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmluZGV4LWdldGFsbC0xLXN0ZGVyci50eHRVVAUA
A3wYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABsenpJE79S1MAGAAB6UwAAQQAYAAAAAAAA
AAAApIEojBAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmluZGV4LWdldGFsbGtleXMtMS1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA3wYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABtenpJ
dfg+bw0HAAAaWQAAOQAYAAAAAAAAAAAApIFjkxAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lk
YmluZGV4LWdldGFsbGtleXMtMS1zdGRlcnIudHh0VVQFAAN9GDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAbXp6SUy5FHOdBQAAXzkAAEUAGAAAAAAAAAAAAKSB45oQAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9pZGJpbmRleC1wcm9wZXJ0aWVzLWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADfRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG16eknRGWGwjgUAAG81AAA9ABgAAAAA
AAAAAACkgf+gEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiaW5kZXgtcHJvcGVydGllcy1i
YXNpYy1zdGRlcnIudHh0VVQFAAN9GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbnp6SYna
36K3CwAAdsoFAEEAGAAAAAAAAAAAAKSBBKcQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJr
ZXktYXJyYXktZXF1YWxpdHktcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN/GDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAb3p6SRilkfDLDQAA3dsGADkAGAAAAAAAAAAAAKSBNrMQAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9pZGJrZXktYXJyYXktZXF1YWxpdHktc3RkZXJyLnR4dFVUBQADghg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG96eklPOHlkJgcAACFzAABCABgAAAAAAAAAAACk
gXTBEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY2xlYXItMS1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA4IYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABvenpJZ7vy
cfwGAADAcwAAOgAYAAAAAAAAAAAApIEWyRAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9i
amVjdHN0b3JlLWNsZWFyLTEtc3RkZXJyLnR4dFVUBQADghg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAHB6eknyvZ0Q0wcAAPeaAABCABgAAAAAAAAAAACkgYbQEABzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY2xlYXItMi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4MY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABwenpJIP8dfN0HAAD5nQAAOgAYAAAAAAAAAAAA
pIHV2BAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWNsZWFyLTItc3Rk
ZXJyLnR4dFVUBQADgxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHB6ekkdJbLAdQYAAF6t
AABCABgAAAAAAAAAAACkgSbhEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3Rv
cmUtY291bnQtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4QYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABwenpJYbif6HwHAAAr4gAAOgAYAAAAAAAAAAAApIEX6BAAc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWNvdW50LTEtc3RkZXJyLnR4dFVUBQADhBg6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAHF6ekn5GWgQCgYAAKIvAABJABgAAAAAAAAAAACkgQfwEABz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY291bnQtZmFpbHVyZXMtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAOFGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAcXp6SUBh
tl4WBgAAei8AAEEAGAAAAAAAAAAAAKSBlPYQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJv
YmplY3RzdG9yZS1jb3VudC1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAOFGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAcXp6Sd/F48FDCQAARZ4BAEMAGAAAAAAAAAAAAKSBJf0QAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtMS1wcml2YXRlLXN0ZGVyci50
eHRVVAUAA4UYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABxenpJH4V7V4gKAABP5AEAOwAY
AAAAAAAAAAAApIHlBhEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWRl
bGV0ZS0xLXN0ZGVyci50eHRVVAUAA4YYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAByenpJ
lrVk3H4GAADGNQAAQwAYAAAAAAAAAAAApIHiEREAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lk
Ym9iamVjdHN0b3JlLWRlbGV0ZS0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADhxg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAHJ6ekn0FHC8lwYAAPs1AAA7ABgAAAAAAAAAAACkgd0YEQBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLTItc3RkZXJyLnR4dFVU
BQADhxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHJ6eklVyECZLAYAAAc5AABKABgAAAAA
AAAAAACkgekfEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRl
LWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADhxg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAHJ6ekm4sWRxjQYAAL05AABCABgAAAAAAAAAAACkgZkmEQBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAA4cY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAByenpJw+S7KwEGAACgLwAARwAYAAAAAAAAAAAA
pIGiLREAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldC1mYWlsdXJl
cy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4gYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABy
enpJZr6YSRkGAAB4LwAAPwAYAAAAAAAAAAAApIEkNBEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2lkYm9iamVjdHN0b3JlLWdldC1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAOIGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAcnp6SVcxlzTbBQAAsz8AAEMAGAAAAAAAAAAAAKSBtjoRAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1nZXRhbGwtMS1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA4gYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAByenpJnWrsujgGAACMRQAA
OwAYAAAAAAAAAAAApIEOQREAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3Jl
LWdldGFsbC0xLXN0ZGVyci50eHRVVAUAA4gYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABz
enpJbr7XEyAGAABdRAAARwAYAAAAAAAAAAAApIG7RxEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2lkYm9iamVjdHN0b3JlLWdldGFsbGtleXMtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4kYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABzenpJInMivTcGAACsRQAAPwAYAAAAAAAAAAAApIFc
ThEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldGFsbGtleXMtMS1z
dGRlcnIudHh0VVQFAAOJGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAc3p6SX636eZpBgAA
Cj0AAFEAGAAAAAAAAAAAAKSBDFURAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3Rz
dG9yZS1wdXQtYW5kLWNsZWFyLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADiRg6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHN6ekmqj2cQjgYAAMQ5AABJABgAAAAAAAAAAACkgQBc
EQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtcHV0LWFuZC1jbGVhci1m
YWlsdXJlcy1zdGRlcnIudHh0VVQFAAOJGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAc3p6
SbYrk9aZAwAAwREAAE8AGAAAAAAAAAAAAKSBEWMRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9p
ZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZS1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A4oYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABzenpJFqmlix8EAABEFAAARwAYAAAAAAAA
AAAApIEzZxEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYnRyYW5zYWN0aW9uLW9iamVjdHN0
b3JlLWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAA4oYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABzenpJrQvSGBgFAADuJgAASQAYAAAAAAAAAAAApIHTaxEAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2lkYnRyYW5zYWN0aW9uLW9iamVjdHN0b3Jlcy0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
ihg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHN6eklgy52UAAUAAFglAABBABgAAAAAAAAA
AACkgW5xEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRidHJhbnNhY3Rpb24tb2JqZWN0c3Rv
cmVzLTEtc3RkZXJyLnR4dFVUBQADihg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHN6ekkD
NTM3IAEAAIsEAABFABgAAAAAAAAAAACkgel2EQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRi
dmVyc2lvbmNoYW5nZWV2ZW50LWNvbnN0cnVjdG9yLXN0ZGVyci50eHRVVAUAA4oYOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAB0enpJI/XmxyQIAACFVgEAMwAYAAAAAAAAAAAApIGIeBEAc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOLGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdHp6SRpsbBkiCQAAFmkBACsAGAAAAAAAAAAAAKSB
GYERAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0xLXN0ZGVyci50eHRVVAUAA4wYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB1enpJj078ms4LAACebgEAMwAYAAAAAAAAAAAApIGg
ihEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTItcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAONGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdXp6SYxs14lQDAAAZHkBACsAGAAAAAAA
AAAAAKSB25YRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0yLXN0ZGVyci50eHRVVAUA
A44YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB1enpJQD9rujAGAABuSwAAMwAYAAAAAAAA
AAAApIGQoxEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTMtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAOOGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdXp6SSR9//LsBgAALVEAACsA
GAAAAAAAAAAAAKSBLaoRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0zLXN0ZGVyci50
eHRVVAUAA44YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB2enpJm2LPx2sGAACfggAAMwAY
AAAAAAAAAAAApIF+sREAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTQtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAOPGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdnp6SdJbUmu9BwAA
e5AAACsAGAAAAAAAAAAAAKSBVrgRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC00LXN0
ZGVyci50eHRVVAUAA48YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB2enpJV26HCqsFAAAh
IgAAMwAYAAAAAAAAAAAApIF4wBEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTUtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAOPGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdnp6SYoW
Dw3UBQAAsiIAACsAGAAAAAAAAAAAAKSBkMYRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRl
eC01LXN0ZGVyci50eHRVVAUAA5AYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB3enpJSbDk
EC0HAAB2DQEAOgAYAAAAAAAAAAAApIHJzBEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4
LWN1cnNvci0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADkRg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAHd6ekkFhEUxrQgAAKUUAQAyABgAAAAAAAAAAACkgWrUEQBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vaW5kZXgtY3Vyc29yLTEtc3RkZXJyLnR4dFVUBQADkhg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAHh6ekkiJB310AcAALMoAQA6ABgAAAAAAAAAAACkgYPdEQBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtY3Vyc29yLTItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOTGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeHp6SV/qw3bjCAAAmycBADIAGAAAAAAAAAAAAKSB
x+URAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMi1zdGRlcnIudHh0VVQF
AAOUGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeXp6ScsKDYWvCwAAEhICADoAGAAAAAAA
AAAAAKSBFu8RAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMy1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA5YYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB6enpJX+sCqdsO
AACIPgIAMgAYAAAAAAAAAAAApIE5+xEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWN1
cnNvci0zLXN0ZGVyci50eHRVVAUAA5cYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB6enpJ
Pa5I/OsFAABxJQAAQQAYAAAAAAAAAAAApIGAChIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lu
ZGV4LWdldC1jb3VudC1iYXNpYy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA5cYOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAB6enpJEErsz2EGAAA8JQAAOQAYAAAAAAAAAAAApIHmEBIAc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWdldC1jb3VudC1iYXNpYy1zdGRlcnIudHh0VVQFAAOX
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAenp6SWjGoA6KBgAAljQAAEQAGAAAAAAAAAAA
AKSBuhcSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1nZXQtY291bnQtZmFpbHVyZXMt
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOYGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAenp6
SbEiXZg4BwAArjUAADwAGAAAAAAAAAAAAKSBwh4SAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9p
bmRleC1nZXQtY291bnQtZmFpbHVyZXMtc3RkZXJyLnR4dFVUBQADmBg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAHp6ekkNEaqu9QYAAMVFAAA6ABgAAAAAAAAAAACkgXAmEgBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtcmVuYW1lLTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOYGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAenp6SdFtmzxEBwAAwUcAADIAGAAAAAAAAAAAAKSB
2S0SAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1yZW5hbWUtMS1zdGRlcnIudHh0VVQF
AAOYGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAe3p6SX/UZ/PQBAAA1iUAADkAGAAAAAAA
AAAAAKSBiTUSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9rZXlwYXRoLWJhc2ljLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADmRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHt6ekkyMIOsyQQA
AF4kAAAxABgAAAAAAAAAAACkgcw6EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4va2V5cGF0aC1i
YXNpYy1zdGRlcnIudHh0VVQFAAOZGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAe3p6SRzv
Ys4WBQAAiSIAACoAGAAAAAAAAAAAAKSBAEASAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9sZWFr
LTEtc3RkZXJyLnR4dFVUBQADmRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHt6eknD49hT
KggAALbKAQBVABgAAAAAAAAAAACkgXpFEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vbWVtb3J5
LWluZGV4LW5vdC1kZWxldGVkLXdpdGgtb2JqZWN0c3RvcmUtcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAOaGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfHp6SQncXfpoCAAAqboBAE0AGAAAAAAA
AAAAAKSBM04SAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9tZW1vcnktaW5kZXgtbm90LWRlbGV0
ZWQtd2l0aC1vYmplY3RzdG9yZS1zdGRlcnIudHh0VVQFAAObGDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAfHp6SVxnhjZEBwAAu2AAAFcAGAAAAAAAAAAAAKSBIlcSAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9tdWx0aXBsZS1vYmplY3RzdG9yZS1pbmRleC1jdXJzb3ItY29sbGlzaW9uLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADmxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHx6ekkS
p+nshAcAAAJjAABPABgAAAAAAAAAAACkgfdeEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vbXVs
dGlwbGUtb2JqZWN0c3RvcmUtaW5kZXgtY3Vyc29yLWNvbGxpc2lvbi1zdGRlcnIudHh0VVQFAAOb
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfHp6SS5FSVb4BQAAiC0AAEIAGAAAAAAAAAAA
AKSBBGcSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9uZXctZGF0YWJhc2UtYWZ0ZXItdXNlci1k
ZWxldGUtc3RkZXJyLnR4dFVUBQADnBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHx6ekk1
UUlhlQUAAAQvAABCABgAAAAAAAAAAACkgXhtEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2Jq
ZWN0c3RvcmUtYXR0cmlidXRlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA5wYOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAB8enpJuwamSXwFAABuLAAAOgAYAAAAAAAAAAAApIGJcxIAc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL29iamVjdHN0b3JlLWF0dHJpYnV0ZXMtc3RkZXJyLnR4dFVUBQAD
nBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHx6ekm9B2z1iAcAAI+LAABPABgAAAAAAAAA
AACkgXl5EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUtY3Vyc29yLWFkdmFu
Y2UtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOcGDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAfXp6SS+b9SK5BwAAYo4AAEcAGAAAAAAAAAAAAKSBioESAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9vYmplY3RzdG9yZS1jdXJzb3ItYWR2YW5jZS1mYWlsdXJlcy1zdGRlcnIudHh0
VVQFAAOdGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfXp6SYjS/+CGBwAA7Y4AAFAAGAAA
AAAAAAAAAKSBxIkSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vYmplY3RzdG9yZS1jdXJzb3It
Y29udGludWUtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOdGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAfXp6SRGjReq0BwAAMJIAAEgAGAAAAAAAAAAAAKSB1JESAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9vYmplY3RzdG9yZS1jdXJzb3ItY29udGludWUtZmFpbHVyZXMtc3Rk
ZXJyLnR4dFVUBQADnRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAH16ekkVFHe7XwYAANE8
AABAABgAAAAAAAAAAACkgQqaEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUt
cmVuYW1lLTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOeGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAfXp6SUW0mqNPBgAAKj0AADgAGAAAAAAAAAAAAKSB46ASAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9vYmplY3RzdG9yZS1yZW5hbWUtMS1zdGRlcnIudHh0VVQFAAOeGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAfXp6SbR5HZCIBgAArTcAAD8AGAAAAAAAAAAAAKSBpKcSAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9vcGVuY3Vyc29yLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADnhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAH16ekmGmpcN4gYAAHQ3AAA3ABgA
AAAAAAAAAACkgaWuEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmN1cnNvci1mYWlsdXJl
cy1zdGRlcnIudHh0VVQFAAOeGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgHp6SeYsFXWr
AgAAiAoAAEYAGAAAAAAAAAAAAKSB+LUSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vcGVuZGF0
YWJhc2UtcmVxdWVzdC1ldmVudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA58YOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACAenpJwHKlAP4CAAAVDAAAPgAYAAAAAAAAAAAApIEjuRIAc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFzZS1yZXF1ZXN0LWV2ZW50LXN0ZGVyci50eHRV
VAUAA58YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACAenpJ36tDdFYBAAC0BAAAQAAYAAAA
AAAAAAAApIGZvBIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFzZS1yZXF1ZXN0
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADnxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIB6
eknLmuy5MwEAAGMGAAA4ABgAAAAAAAAAAACkgWm+EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
b3BlbmRhdGFiYXNlLXJlcXVlc3Qtc3RkZXJyLnR4dFVUBQADnxg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAIB6ekmZHTdMFwQAADIkAABUABgAAAAAAAAAAACkgQ7AEgBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vb3BlbmRhdGFiYXNlLXN1Y2Nlc3MtYWZ0ZXItdmVyc2lvbmNoYW5nZS1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA58YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACAenpJbQEa
FVoEAACwJQAATAAYAAAAAAAAAAAApIGzxBIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5k
YXRhYmFzZS1zdWNjZXNzLWFmdGVyLXZlcnNpb25jaGFuZ2Utc3RkZXJyLnR4dFVUBQADnxg6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIB6ekld+1K3fgQAAAIwAABBABgAAAAAAAAAAACkgZPJ
EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmRhdGFiYXNlLXZlcnNpb25zLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADoBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIB6ekltOBfdjgQA
ABAsAAA5ABgAAAAAAAAAAACkgYzOEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmRhdGFi
YXNlLXZlcnNpb25zLXN0ZGVyci50eHRVVAUAA6AYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACAenpJgVxOgr8EAADsGwAAPgAYAAAAAAAAAAAApIGN0xIAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL3JlcXVlc3QtcmVhZHlzdGF0ZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA6AYOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACAenpJZT4jc+oEAAC0HAAANgAYAAAAAAAAAAAApIHE2BIAc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL3JlcXVlc3QtcmVhZHlzdGF0ZS1zdGRlcnIudHh0VVQFAAOg
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgHp6SRIHpYNABgAA6TcAAEMAGAAAAAAAAAAA
AKSBHt4SAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItMS1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA6AYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACBenpJ
NHLNf+kGAAA3SAAAQwAYAAAAAAAAAAAApIHb5BIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Ry
YW5zYWN0aW9uLXNjaGVkdWxlci0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADoRg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAIF6eknS0JKtuAYAALFGAABDABgAAAAAAAAAAACkgUHsEgBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTMtcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAAOhGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgXp6SUCcr7aGBgAA8zwA
ADsAGAAAAAAAAAAAAKSBdvMSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1z
Y2hlZHVsZXItMy1zdGRlcnIudHh0VVQFAAOhGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
gXp6SYICRONVBgAAlGYAAEMAGAAAAAAAAAAAAKSBcfoSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi90cmFuc2FjdGlvbi1zY2hlZHVsZXItNC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA6EYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACBenpJVNnXbKwGAADSbQAAOwAYAAAAAAAAAAAApIFDARMA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci00LXN0ZGVyci50
eHRVVAUAA6IYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACBenpJHkgtXrsGAABoTgAAQwAY
AAAAAAAAAAAApIFkCBMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVk
dWxlci01LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADohg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAIF6ekmOVpysewYAAB5EAABDABgAAAAAAAAAAACkgZwPEwBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTYtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOiGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgnp6Scm9ISQdBQAA8zAAAEsAGAAAAAAAAAAAAKSB
lBYTAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbnMtc3RvcC1vbi1uYXZpZ2F0
aW9uLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADoxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AIJ6ekkt2iVV6AYAAEVlAABDABgAAAAAAAAAAACkgTYcEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vdHJhbnNhY3Rpb25zLXN0b3Atb24tbmF2aWdhdGlvbi1zdGRlcnIudHh0VVQFAAOjGDpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgnp6ScSdO5DmBAAA9TMAAEsAGAAAAAAAAAAAAKSBmyMT
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi92ZXJzaW9uY2hhbmdlLWFib3J0LXRoZW4tcmVvcGVu
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADpBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIJ6
ekndCmUibwUAAPw8AABDABgAAAAAAAAAAACkgQYpEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
dmVyc2lvbmNoYW5nZS1hYm9ydC10aGVuLXJlb3Blbi1zdGRlcnIudHh0VVQFAAOkGDpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAgnp6SQjF11UOBQAALSoAAD8AGAAAAAAAAAAAAKSB8i4TAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi92ZXJzaW9uY2hhbmdlLWV2ZW50LXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADpBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIJ6eklAnBS0SgUAABwrAAA3
ABgAAAAAAAAAAACkgXk0EwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdmVyc2lvbmNoYW5nZS1l
dmVudC1zdGRlcnIudHh0VVQFAAOkGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAg3p6SQ1c
gvg2AQAAUAQAADQAGAAAAAAAAAAAAKSBNDoTAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi93b3Jr
ZXJzLWRpc2FibGVkLXN0ZGVyci50eHRVVAUAA6UYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACbenpJwai8DswGAAAkZQAANAAYAAAAAAAAAAAApIHYOxMAc3RvcmFnZS9pbmRleGVkZGIvbXV0
YXRpbmctY3Vyc29yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD1hg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAJx6ekmYVlqx4QYAAFFiAAAsABgAAAAAAAAAAACkgRJDEwBzdG9yYWdlL2luZGV4
ZWRkYi9tdXRhdGluZy1jdXJzb3Itc3RkZXJyLnR4dFVUBQAD1xg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAJx6ekk0olvnOwQAAJsWAABEABgAAAAAAAAAAACkgVlKEwBzdG9yYWdlL2luZGV4
ZWRkYi9vYmplY3QtbG9va3Vwcy1pbi12ZXJzaW9uY2hhbmdlLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQAD1xg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJx6ekmymKciXQQAALwXAAA8ABgAAAAA
AAAAAACkgRJPEwBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3QtbG9va3Vwcy1pbi12ZXJzaW9uY2hh
bmdlLXN0ZGVyci50eHRVVAUAA9cYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACcenpJjWAx
z04DAACODwAAQwAYAAAAAAAAAAAApIHlUxMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUt
cmVxdWlyZWQtYXJndW1lbnRzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD1xg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAJx6eknsemKipwMAADgRAAA7ABgAAAAAAAAAAACkgbBXEwBzdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RTdG9yZS1yZXF1aXJlZC1hcmd1bWVudHMtc3RkZXJyLnR4dFVUBQAD
2Bg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJx6ekkkmZhygQcAAMRrAAA+ABgAAAAAAAAA
AACkgcxbEwBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50LXByaXZh
dGUtc3RkZXJyLnR4dFVUBQAD2Bg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJ16eklIWhdE
ZgcAAIJnAAA2ABgAAAAAAAAAAACkgcVjEwBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1h
dXRvaW5jcmVtZW50LXN0ZGVyci50eHRVVAUAA9kYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACdenpJ9l3IFoQJAAC+jQAANwAYAAAAAAAAAAAApIGbaxMAc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtYmFzaWNzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD2hg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAKB6eknh2B0pGAoAABSRAAAvABgAAAAAAAAAAACkgZB1EwBzdG9yYWdlL2lu
ZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mtc3RkZXJyLnR4dFVUBQAD2xg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAKB6ekmIao1wjQoAABCQAAA3ABgAAAAAAAAAAACkgRGAEwBzdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mtd29ya2Vycy1zdGRlcnIudHh0VVQFAAPbGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAoHp6SRAihKkBBwAApDcAADYAGAAAAAAAAAAAAKSB
D4sTAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQAD3Bg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKB6eklX0ISKOgcAAOM4AAAuABgA
AAAAAAAAAACkgYCSEwBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci1zdGRlcnIu
dHh0VVQFAAPcGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAoXp6SXqsJ1n0CAAAF30BADYA
GAAAAAAAAAAAAKSBIpoTAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNvdW50LXByaXZh
dGUtc3RkZXJyLnR4dFVUBQAD3Rg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKF6eknPRJQ4
kwkAAAumAQAuABgAAAAAAAAAAACkgYajEwBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1j
b3VudC1zdGRlcnIudHh0VVQFAAPeGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApHp6Se5w
coILDgAAx6wFADcAGAAAAAAAAAAAAKSBga0TAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3Jl
LWN1cnNvci1wcml2YXRlLXN0ZGVyci50eHRVVAUAA+MYOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAClenpJWKGrivcNAACPRgUALwAYAAAAAAAAAAAApIH9uxMAc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtY3Vyc29yLXN0ZGVyci50eHRVVAUAA+YYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAClenpJRq19mAgHAAAySAAAQgAYAAAAAAAAAAAApIFdyhMAc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPm
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApnp6Sb3OJmpuBwAAREoAADoAGAAAAAAAAAAA
AKSB4dETAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLXN0
ZGVyci50eHRVVAUAA+cYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACmenpJMzdZOM4IAADo
+gAAMAAYAAAAAAAAAAAApIHD2RMAc3RvcmFnZS9pbmRleGVkZGIvb2RkLXN0cmluZ3MtcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAPnGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApnp6SZBIYzs4
BAAA7TIAADYAGAAAAAAAAAAAAKSB++ITAHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tYmFkLXZlcnNp
b25zLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD6Bg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AKd6ekn9QJxP0QMAANkhAAAuABgAAAAAAAAAAACkgaPnEwBzdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWJhZC12ZXJzaW9ucy1zdGRlcnIudHh0VVQFAAPqGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAp3p6SSGMpxqhBAAAnB8AADAAGAAAAAAAAAAAAKSB3OsTAHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY3Vyc29yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD6hg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAKd6ekkCRVUnRwUAACgiAAAoABgAAAAAAAAAAACkgefwEwBzdG9yYWdlL2luZGV4ZWRk
Yi9vcGVuLWN1cnNvci1zdGRlcnIudHh0VVQFAAPqGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAp3p6SfXOGGE3BgAAWT0AADwAGAAAAAAAAAAAAKSBkPYTAHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tZHVyaW5nLXRyYW5zYWN0aW9uLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD6hg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAKh6eknrpaCnKAYAAFU+AAA0ABgAAAAAAAAAAACkgT39EwBzdG9y
YWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1zdGRlcnIudHh0VVQFAAPrGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqHp6SWxxxXT9BAAAPjgAADIAGAAAAAAAAAAAAKSB
0wMUAHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tb3JkZXJpbmctcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAPrGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqHp6SdGQarkQBQAAcTkAACoAGAAAAAAA
AAAAAKSBPAkUAHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tb3JkZXJpbmctc3RkZXJyLnR4dFVUBQAD
6xg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKh6eknm6OX3xQMAABYhAAAvABgAAAAAAAAA
AACkgbAOFABzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLXR3aWNlLXdvcmtlcnMtc3RkZXJyLnR4dFVU
BQAD6xg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKh6ekkcO5wBuQcAAGuLAAAzABgAAAAA
AAAAAACkgd4SFABzdG9yYWdlL2luZGV4ZWRkYi9vcGVuY3Vyc29yLWtleS1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA+wYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACoenpJBWtE580HAABclAAA
KwAYAAAAAAAAAAAApIEEGxQAc3RvcmFnZS9pbmRleGVkZGIvb3BlbmN1cnNvci1rZXktc3RkZXJy
LnR4dFVUBQAD7Bg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKh6ekmz14pnaAkAAE3oAAA3
ABgAAAAAAAAAAACkgTYjFABzdG9yYWdlL2luZGV4ZWRkYi9vcHRpb25hbC1hcmd1bWVudHMtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAPsGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqXp6SW5b
bla8CQAAQ+MAAC8AGAAAAAAAAAAAAKSBDy0UAHN0b3JhZ2UvaW5kZXhlZGRiL29wdGlvbmFsLWFy
Z3VtZW50cy1zdGRlcnIudHh0VVQFAAPtGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqXp6
SefAW/KTBgAA9zoAADUAGAAAAAAAAAAAAKSBNDcUAHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmct
YWN0aXZpdHktcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPuGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAqnp6SeTlupbYBgAAUDwAAC0AGAAAAAAAAAAAAKSBNj4UAHN0b3JhZ2UvaW5kZXhlZGRi
L3BlbmRpbmctYWN0aXZpdHktc3RkZXJyLnR4dFVUBQAD8Bg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAKp6ekl6pydFQAcAAP0+AAA1ABgAAAAAAAAAAACkgXVFFABzdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLWFjdGl2aXR5LXdvcmtlcnMtc3RkZXJyLnR4dFVUBQAD7xg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAKt6eklLoqRatwQAAGchAABDABgAAAAAAAAAAACkgSRNFABzdG9yYWdl
L2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLW9uLWV4aXQtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAPxGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAq3p6SWTtXBCgBAAAsRsAADsA
GAAAAAAAAAAAAKSBWFIUAHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Ut
b24tZXhpdC1zdGRlcnIudHh0VVQFAAPxGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAq3p6
SeUmmV49BAAAmxsAAEEAGAAAAAAAAAAAAKSBbVcUAHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmct
dmVyc2lvbi1jaGFuZ2Utc3R1Y2stcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPxGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAq3p6SRrGdT53BAAABiAAADkAGAAAAAAAAAAAAKSBJVwUAHN0b3Jh
Z2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2stc3RkZXJyLnR4dFVUBQAD
8hg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKt6eknRuNg6qQQAAPAhAABWABgAAAAAAAAA
AACkgQ9hFABzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXdv
cmtzLXdpdGgtdGVybWluYXRlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD8Rg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAKt6ekne0C/h6QQAAF4kAABOABgAAAAAAAAAAACkgUhmFABzdG9yYWdl
L2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXdvcmtzLXdpdGgtdGVybWlu
YXRlLXN0ZGVyci50eHRVVAUAA/IYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACrenpJNHB8
SSsGAAACZAAAMAAYAAAAAAAAAAAApIG5axQAc3RvcmFnZS9pbmRleGVkZGIvcGVyc2lzdGVuY2Ut
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPyGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArHp6
Sa+pSdovBgAAp2MAACgAGAAAAAAAAAAAAKSBTnIUAHN0b3JhZ2UvaW5kZXhlZGRiL3BlcnNpc3Rl
bmNlLXN0ZGVyci50eHRVVAUAA/MYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACsenpJZeHy
8Z0HAAB8ZwAAOwAYAAAAAAAAAAAApIHfeBQAc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtYnVn
Zml4LTEwODA3MS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/MYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACsenpJk8kXwcMHAACGZQAAMwAYAAAAAAAAAAAApIHxgBQAc3RvcmFnZS9pbmRleGVk
ZGIvcHJlZmV0Y2gtYnVnZml4LTEwODA3MS1zdGRlcnIudHh0VVQFAAPzGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgArXp6SftpfWdkEgAAJOYGADoAGAAAAAAAAAAAAKSBIYkUAHN0b3JhZ2Uv
aW5kZXhlZGRiL3ByZWZldGNoLWludmFsaWRhdGlvbi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/UY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACtenpJgerRgWYUAACvPAcAMgAYAAAAAAAAAAAA
pIH5mxQAc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtaW52YWxpZGF0aW9uLXN0ZGVyci50eHRV
VAUAA/YYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACtenpJ0ka9DJ0GAADQWAAAMgAYAAAA
AAAAAAAApIHLsBQAc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtcmFjZS1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA/YYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACuenpJoCmRN5oGAAB8VAAA
KgAYAAAAAAAAAAAApIHUtxQAc3RvcmFnZS9pbmRleGVkZGIvcHJlZmV0Y2gtcmFjZS1zdGRlcnIu
dHh0VVQFAAP3GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArnp6SUCDI5EMBgAAdkAAAEYA
GAAAAAAAAAAAAKSB0r4UAHN0b3JhZ2UvaW5kZXhlZGRiL3ByaW1hcnkta2V5LXVuaXF1ZS10by1v
YmplY3RzdG9yZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/cYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACuenpJb8SlBU0GAABTSwAAPgAYAAAAAAAAAAAApIFexRQAc3RvcmFnZS9pbmRleGVk
ZGIvcHJpbWFyeS1rZXktdW5pcXVlLXRvLW9iamVjdHN0b3JlLXN0ZGVyci50eHRVVAUAA/cYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACuenpJ4usvIu0EAAAXIQAANAAYAAAAAAAAAAAApIEj
zBQAc3RvcmFnZS9pbmRleGVkZGIvcXVldWVkLWNvbW1hbmRzLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQAD9xg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK56ekmTZv+YfgUAAEYiAAAsABgAAAAA
AAAAAACkgX7RFABzdG9yYWdlL2luZGV4ZWRkYi9xdWV1ZWQtY29tbWFuZHMtc3RkZXJyLnR4dFVU
BQAD9xg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK56ekk5v22QcAUAACMgAAAtABgAAAAA
AAAAAACkgWLXFABzdG9yYWdlL2luZGV4ZWRkYi9yZWFkb25seS1wcml2YXRlLXN0ZGVyci50eHRV
VAUAA/cYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACuenpJjup65kcDAACcDwAAOAAYAAAA
AAAAAAAApIE53RQAc3RvcmFnZS9pbmRleGVkZGIvcmVhZG9ubHktcHJvcGVydGllcy1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA/gYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACuenpJkjIckJ8D
AADUEAAAMAAYAAAAAAAAAAAApIHy4BQAc3RvcmFnZS9pbmRleGVkZGIvcmVhZG9ubHktcHJvcGVy
dGllcy1zdGRlcnIudHh0VVQFAAP4GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArnp6SdE/
GsHHBQAArSAAACUAGAAAAAAAAAAAAKSB++QUAHN0b3JhZ2UvaW5kZXhlZGRiL3JlYWRvbmx5LXN0
ZGVyci50eHRVVAUAA/gYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACuenpJYDIGumkGAAAb
LQAAOwAYAAAAAAAAAAAApIEh6xQAc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1jb250aW51ZS1h
Ym9ydC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/gYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACuenpJVSAYsmsGAAAuKwAAMwAYAAAAAAAAAAAApIH/8RQAc3RvcmFnZS9pbmRleGVkZGIvcmVx
dWVzdC1jb250aW51ZS1hYm9ydC1zdGRlcnIudHh0VVQFAAP4GDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAr3p6Sf2Gg70kBgAAC0EAAD4AGAAAAAAAAAAAAKSB1/gUAHN0b3JhZ2UvaW5kZXhl
ZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP5GDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAr3p6STmmdC86BgAA5T8AADYAGAAAAAAAAAAAAKSB
c/8UAHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24tc3RkZXJyLnR4
dFVUBQAD+Rg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK96eklha7P0AQYAAM8pAAA5ABgA
AAAAAAAAAACkgR0GFQBzdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LXJlc3VsdC1jYWNoZS1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA/kYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvenpJ8NtT
FhsGAACdKQAAMQAYAAAAAAAAAAAApIGRDBUAc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1yZXN1
bHQtY2FjaGUtc3RkZXJyLnR4dFVUBQAD+Rg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK96
eknzSKQdswQAAHAhAAA4ABgAAAAAAAAAAACkgRcTFQBzdG9yYWdlL2luZGV4ZWRkYi9zZXRfdmVy
c2lvbl9ibG9ja2VkLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD+Rg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAK96ekm86wwSNwUAAN8jAAAwABgAAAAAAAAAAACkgTwYFQBzdG9yYWdlL2luZGV4
ZWRkYi9zZXRfdmVyc2lvbl9ibG9ja2VkLXN0ZGVyci50eHRVVAUAA/oYOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACvenpJiXoq4aYEAAC7KAAATgAYAAAAAAAAAAAApIHdHRUAc3RvcmFnZS9p
bmRleGVkZGIvc2V0dmVyc2lvbi1ibG9ja2VkLWJ5LXZlcnNpb25jaGFuZ2UtY2xvc2UtcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAP6GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAr3p6SUZ26UZ0
BAAAICoAAEYAGAAAAAAAAAAAAKSBCyMVAHN0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24tYmxv
Y2tlZC1ieS12ZXJzaW9uY2hhbmdlLWNsb3NlLXN0ZGVyci50eHRVVAUAA/oYOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACvenpJRkDoWZ8EAAAjJwAAOwAYAAAAAAAAAAAApIH/JxUAc3RvcmFn
ZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ub3QtYmxvY2tlZC1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A/oYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvenpJbzN4Bb0EAAAWJwAAMwAYAAAAAAAA
AAAApIETLRUAc3RvcmFnZS9pbmRleGVkZGIvc2V0dmVyc2lvbi1ub3QtYmxvY2tlZC1zdGRlcnIu
dHh0VVQFAAP6GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsHp6SbE3zh7LDgAAsmIEADUA
GAAAAAAAAAAAAKSBPTIVAHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xvbmUtcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAP8GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsXp6SevQl91r
DgAAkWgEAC0AGAAAAAAAAAAAAKSBd0EVAHN0b3JhZ2UvaW5kZXhlZGRiL3N0cnVjdHVyZWQtY2xv
bmUtc3RkZXJyLnR4dFVUBQAD/hg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALF6ekkwjMl5
4AUAAB4mAAAuABgAAAAAAAAAAACkgUlQFQBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1h
Ym9ydC1zdGRlcnIudHh0VVQFAAP+GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsnp6SQxb
fQXnCQAAQNUAADwAGAAAAAAAAAAAAKSBkVYVAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFjdGl2ZS1mbGFnLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD/xg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIALJ6eknvnBTClQoAABPkAAA0ABgAAAAAAAAAAACkge5gFQBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1hY3RpdmUtZmxhZy1zdGRlcnIudHh0VVQFAAP/GDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAsnp6SSdXq17UBQAAMDsAADwAGAAAAAAAAAAAAKSB8WsVAHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADABk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALJ6ekmCbeDp4QUAAM86AAA0ABgAAAAA
AAAAAACkgTtyFQBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS1zdGRl
cnIudHh0VVQFAAMAGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsnp6SaaxXbL5BgAAN3EA
AEYAGAAAAAAAAAAAAKSBingVAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmpl
Y3RzdG9yZS1jYWxscy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwAZOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACzenpJmuSkEfQGAAAlfwAAPgAYAAAAAAAAAAAApIEDgBUAc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLXN0ZGVyci50eHRVVAUAAwEZ
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzenpJLV+NqHcIAAAdpAAANwAYAAAAAAAAAAAA
pIFvhxUAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADARk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALN6ekkr5CTqvQgAAIirAAAv
ABgAAAAAAAAAAACkgVeQFQBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3Mtc3Rk
ZXJyLnR4dFVUBQADARk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALN6ekkGSqWqDgUAAE8p
AABXABgAAAAAAAAAAACkgX2ZFQBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb21wbGV0
ZS13aXRoLWpzLXJlY3Vyc2lvbi1jcm9zcy1mcmFtZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwIZ
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzenpJAhS8Y5MFAABaKAAATwAYAAAAAAAAAAAA
pIEcnxUAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0aC1qcy1yZWN1
cnNpb24tY3Jvc3MtZnJhbWUtc3RkZXJyLnR4dFVUBQADAhk6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIALN6ekmm+6A4WwUAALIoAABLABgAAAAAAAAAAACkgTilFQBzdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1jb21wbGV0ZS13aXRoLWpzLXJlY3Vyc2lvbi1wcml2YXRlLXN0ZGVyci50
eHRVVAUAAwIZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzenpJnwrHGpgFAABBKAAAQwAY
AAAAAAAAAAAApIEYqxUAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0
aC1qcy1yZWN1cnNpb24tc3RkZXJyLnR4dFVUBQADAhk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALR6eklvnfkVFwYAAM5QAABBABgAAAAAAAAAAACkgS2xFQBzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1jb21wbGV0ZS13b3JrZXJzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADAxk6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR6ekly87m82QUAAGpPAAA5ABgAAAAAAAAAAACkgb+3
FQBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb21wbGV0ZS13b3JrZXJzLXN0ZGVyci50
eHRVVAUAAwMZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0enpJeSahHGAGAAAUTQAATgAY
AAAAAAAAAAAApIELvhUAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29vcmRpbmF0aW9u
LWFjcm9zcy1kYXRhYmFzZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMDGTpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAtHp6Scl3+4djBgAA9E4AAEYAGAAAAAAAAAAAAKSB88QVAHN0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi1hY3Jvc3MtZGF0YWJhc2VzLXN0ZGVy
ci50eHRVVAUAAwQZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0enpJLk9doiIGAAAyNwAA
TQAYAAAAAAAAAAAApIHWyxUAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29vcmRpbmF0
aW9uLXdpdGhpbi1kYXRhYmFzZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwQZOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAC0enpJOz9OAxMBAAC1AwAAPwAYAAAAAAAAAAAApIF/0hUAc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtaW4tdGFza3MtcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAAMEGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHp6SRSMY6gpAQAAMwQAADcAGAAA
AAAAAAAAAKSBC9QVAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLWluLXRhc2tz
LXN0ZGVyci50eHRVVAUAAwQZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1enpJS1oMrWUE
AAAhGAAAPwAYAAAAAAAAAAAApIGl1RUAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jh
c2gtb24tYWJvcnQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMFGTpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAtXp6SUCGp3aNBAAABxkAADcAGAAAAAAAAAAAAKSBg9oVAHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LXN0ZGVyci50eHRVVAUAAwUZOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC1enpJ4Wg1PVMHAAD3XwAANgAYAAAAAAAAAAAApIGB3xUAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXJyb3ItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMF
GTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXp6SR2xBvKXBwAArV0AAC4AGAAAAAAAAAAA
AKSBROcVAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWVycm9yLXN0ZGVyci50eHRVVAUA
AwYZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1enpJjHHVmwYGAACbNAAAQgAYAAAAAAAA
AAAApIFD7xUAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24t
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMGGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXp6
SRD4w6IOBgAA1jMAADoAGAAAAAAAAAAAAKSBxfUVAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWV2ZW50LXByb3BhZ2F0aW9uLXN0ZGVyci50eHRVVAUAAwYZOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC1enpJZcEQ6H0FAAD8LwAAOQAYAAAAAAAAAAAApIFH/BUAc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tb3JkZXJpbmctcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMGGTpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXp6SYtMerCoBQAAuC8AADEAGAAAAAAAAAAAAKSBNwIW
AHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW9yZGVyaW5nLXN0ZGVyci50eHRVVAUAAwYZ
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC2enpJ4ysD4ygGAADUMwAAPAAYAAAAAAAAAAAA
pIFKCBYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tb3ZlcmxhcHBpbmctcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAMHGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtnp6STuxPzFkBgAA
g0sAADQAGAAAAAAAAAAAAKSB6A4WAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW92ZXJs
YXBwaW5nLXN0ZGVyci50eHRVVAUAAwcZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC2enpJ
GZDS9xIGAACdMwAAOgAYAAAAAAAAAAAApIG6FRYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tcmVhZC1vbmx5LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADBxk6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIALZ6ekn/DnQFjgYAAAs7AAAyABgAAAAAAAAAAACkgUAcFgBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1yZWFkLW9ubHktc3RkZXJyLnR4dFVUBQADBxk6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIALZ6ekkqibA1FQYAALlEAABEABgAAAAAAAAAAACkgTojFgBzdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkd3JpdGUtZXhjbHVzaXZlLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADBxk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALZ6eknignhXLgYAAB9EAAA8
ABgAAAAAAAAAAACkgc0pFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkd3JpdGUt
ZXhjbHVzaXZlLXN0ZGVyci50eHRVVAUAAwgZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC2
enpJRzfnpX4GAAD/MQAAOQAYAAAAAAAAAAAApIFxMBYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tcm9sbGJhY2stcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMIGTpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAtnp6SddXJk/PBgAAXjMAADEAGAAAAAAAAAAAAKSBYjcWAHN0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLXN0ZGVyci50eHRVVAUAAwgZOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAC2enpJmuXMSgwGAABFSAAAQQAYAAAAAAAAAAAApIGcPhYAc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc2NvcGUtc2VxdWVuY2luZy1wcml2YXRlLXN0ZGVyci50
eHRVVAUAAwgZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC3enpJWKavwdwFAADDQAAAOQAY
AAAAAAAAAAAApIEjRRYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc2NvcGUtc2VxdWVu
Y2luZy1zdGRlcnIudHh0VVQFAAMJGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAt3p6SVGJ
+8gJAwAAFA4AAEQAGAAAAAAAAAAAAKSBcksWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LXN0b3JlTmFtZXMtcmVxdWlyZWQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMJGTpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAt3p6SRvYQvV9AwAAKRAAADwAGAAAAAAAAAAAAKSB+U4WAHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQtc3RkZXJyLnR4dFVU
BQADCRk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALd6ekkuaRP9rQQAAJIhAAA+ABgAAAAA
AAAAAACkgexSFgBzdG9yYWdlL2luZGV4ZWRkYi91bmJsb2NrZWQtdmVyc2lvbi1jaGFuZ2VzLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADCRk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALd6ekk8
P2WixQQAACIiAAA2ABgAAAAAAAAAAACkgRFYFgBzdG9yYWdlL2luZGV4ZWRkYi91bmJsb2NrZWQt
dmVyc2lvbi1jaGFuZ2VzLXN0ZGVyci50eHRVVAUAAwkZOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAC3enpJIzW8eR4BAABRBAAALQAYAAAAAAAAAAAApIFGXRYAc3RvcmFnZS9pbmRleGVkZGIv
dW5wcmVmaXgtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMJGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAt3p6SQBgt09yBAAAHRcAADQAGAAAAAAAAAAAAKSBy14WAHN0b3JhZ2UvaW5kZXhlZGRi
L3ZhbHVlLXVuZGVmaW5lZC1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwoZOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC3enpJoSsnU28FAABNHAAALAAYAAAAAAAAAAAApIGrYxYAc3RvcmFnZS9p
bmRleGVkZGIvdmFsdWUtdW5kZWZpbmVkLXN0ZGVyci50eHRVVAUAAwoZOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC3enpJcfWtRzoFAACyLQAANQAYAAAAAAAAAAAApIGAaRYAc3RvcmFnZS9p
bmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwoZOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC3enpJG503PrIFAABzLwAALQAYAAAAAAAAAAAApIEpbxYA
c3RvcmFnZS9pbmRleGVkZGIvdmFsdWVzLW9kZC10eXBlcy1zdGRlcnIudHh0VVQFAAMKGTpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuHp6SSy9bbjABQAApy0AADkAGAAAAAAAAAAAAKSBQnUW
AHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWFib3J0LXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADCxk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALh6ekkOrkKMgwUAAFwuAAAxABgA
AAAAAAAAAACkgXV7FgBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC1zdGRl
cnIudHh0VVQFAAMLGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuHp6SRUwO9ruAgAAjxoA
AD8AGAAAAAAAAAAAAKSBY4EWAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV2ZW50
LWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADCxk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALh6eknd4TNY2QMAADEnAAA3ABgAAAAAAAAAAACkgcqEFgBzdG9yYWdlL2luZGV4ZWRkYi92
ZXJzaW9uLWNoYW5nZS1ldmVudC1iYXNpYy1zdGRlcnIudHh0VVQFAAMLGTpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAuHp6SSiPTFeZBQAA7jEAADkAGAAAAAAAAAAAAKSBFIkWAHN0b3JhZ2Uv
aW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV2ZW50LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADCxk6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALh6eknvDl76IgUAANcpAAAxABgAAAAAAAAAAACk
gSCPFgBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1ldmVudC1zdGRlcnIudHh0VVQF
AAMLGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuHp6SXS8ffs/BQAAjTkAAD0AGAAAAAAA
AAAAAKSBrZQWAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS1wcml2
YXRlLXN0ZGVyci50eHRVVAUAAwwZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC4enpJi2hC
9lEFAAClOwAANQAYAAAAAAAAAAAApIFjmhYAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFu
Z2UtZXhjbHVzaXZlLXN0ZGVyci50eHRVVAUAAwwZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAC5enpJ1tkpwLkDAADPFAAASQAYAAAAAAAAAAAApIEjoBYAc3RvcmFnZS9pbmRleGVkZGIvdmVy
c2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
DRk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALl6eklQunAu8QMAAMkUAABBABgAAAAAAAAA
AACkgV+kFgBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uY2hhbmdlcmVxdWVzdC1hY3RpdmVkb21v
YmplY3Qtc3RkZXJyLnR4dFVUBQADDhk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGJ6ekkA
AAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQcuoFgBzdG9yYWdlL3dlYnNxbC9VVAUAA2gYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABcenpJSxuBNacAAADSAAAALQAYAAAAAAABAAAApIEUqRYA
c3RvcmFnZS93ZWJzcWwvYWx0ZXItdG8taW5mby10YWJsZS1zdGRlcnIudHh0VVQFAANfGDpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAXHp6SUsbgTWnAAAA0gAAADUAGAAAAAAAAQAAAKSBIqoW
AHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS1zdGRlcnIudHh0VVQF
AANfGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAXHp6SUsbgTWnAAAA0gAAAEYAGAAAAAAA
AQAAAKSBOKsWAHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZs
aWdodC1mYWlsdXJlLXN0ZGVyci50eHRVVAUAA18YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABcenpJizZ/HbIAAABIAwAAKAAYAAAAAAABAAAApIFfrBYAc3RvcmFnZS93ZWJzcWwvY2hhbmdl
LXZlcnNpb24tc3RkZXJyLnR4dFVUBQADXxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFx6
eklLG4E1pwAAANIAAAAyABgAAAAAAAEAAACkgXOtFgBzdG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJp
bmctc3RyZXNzLXRlc3Qtc3RkZXJyLnR4dFVUBQADYBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAFx6ekmviBzXrQAAAKQBAAA0ABgAAAAAAAEAAACkgYauFgBzdG9yYWdlL3dlYnNxbC9kYXRh
YmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1zdGRlcnIudHh0VVQFAANgGDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAXHp6SUsbgTWnAAAA0gAAACkAGAAAAAAAAQAAAKSBoa8WAHN0b3JhZ2Uvd2Vi
c3FsL2VtcHR5LXN0YXRlbWVudC1zdGRlcnIudHh0VVQFAANgGDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAXHp6SUsbgTWnAAAA0gAAACoAGAAAAAAAAQAAAKSBq7AWAHN0b3JhZ2Uvd2Vic3Fs
L2V4ZWN1dGUtc3FsLWFyZ3Mtc3RkZXJyLnR4dFVUBQADYBg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAFx6eklLG4E1pwAAANIAAAAyABgAAAAAAAEAAACkgbaxFgBzdG9yYWdlL3dlYnNxbC9l
eGVjdXRlLXNxbC1yb3dzQWZmZWN0ZWQtc3RkZXJyLnR4dFVUBQADYBg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAFx6eklLG4E1pwAAANIAAAA/ABgAAAAAAAEAAACkgcmyFgBzdG9yYWdlL3dl
YnNxbC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LXN0ZGVyci50eHRVVAUA
A2AYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABdenpJSxuBNacAAADSAAAALgAYAAAAAAAB
AAAApIHpsxYAc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14aHItc3RkZXJyLnR4dFVU
BQADYhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAF16ekmviBzXrQAAAKQBAAA/ABgAAAAA
AAEAAACkgfi0FgBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xs
ZWN0aW9uLXN0ZGVyci50eHRVVAUAA2IYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABgenpJ
aKQ3ObAAAAB2AgAARAAYAAAAAAABAAAApIEethYAc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJh
bnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLXN0ZGVyci50eHRVVAUAA2MYOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACABgenpJSxuBNacAAADSAAAALwAYAAAAAAABAAAApIFMtxYAc3Rv
cmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLXN0ZGVyci50eHRVVAUAA2MYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABgenpJSxuBNacAAADSAAAAKAAYAAAAAAABAAAApIFcuBYA
c3RvcmFnZS93ZWJzcWwvbnVsbC1jYWxsYmFja3Mtc3RkZXJyLnR4dFVUBQADYxg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAGB6ekmviBzXrQAAAKQBAABIABgAAAAAAAEAAACkgWW5FgBzdG9y
YWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
LXN0ZGVyci50eHRVVAUAA2MYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABgenpJizZ/HbIA
AABIAwAAOQAYAAAAAAABAAAApIGUuhYAc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVh
dGlvbi1jYWxsYmFjay1zdGRlcnIudHh0VVQFAANjGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAYHp6SUsbgTWnAAAA0gAAADUAGAAAAAAAAQAAAKSBubsWAHN0b3JhZ2Uvd2Vic3FsL29wZW4t
ZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1zdGRlcnIudHh0VVQFAANjGDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAYHp6SUsbgTWnAAAA0gAAADQAGAAAAAAAAQAAAKSBz7wWAHN0b3JhZ2Uvd2Vi
c3FsL29wZW4tZGF0YWJhc2UtZXhwYW5kLXF1b3RhLXN0ZGVyci50eHRVVAUAA2MYOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACABgenpJCXDeEwoBAAC4AgAAOQAYAAAAAAABAAAApIHkvRYAc3Rv
cmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1zdGRlcnIudHh0VVQF
AANkGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYHp6Sa+IHNetAAAApAEAAEUAGAAAAAAA
AQAAAKSBYb8WAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUBQADZBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AGB6eklLG4E1pwAAANIAAAA5ABgAAAAAAAEAAACkgY3AFgBzdG9yYWdlL3dlYnNxbC9wcml2YXRl
LWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLXN0ZGVyci50eHRVVAUAA2QYOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACABgenpJaKQ3ObAAAAB2AgAARwAYAAAAAAABAAAApIGnwRYAc3RvcmFnZS93
ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLXN0ZGVy
ci50eHRVVAUAA2QYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABgenpJr4gc160AAACkAQAA
QAAYAAAAAAABAAAApIHYwhYAc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmlu
Zy1jb25jdXJyZW50bHktc3RkZXJyLnR4dFVUBQADZBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAGB6eklLG4E1pwAAANIAAAAoABgAAAAAAAEAAACkgf/DFgBzdG9yYWdlL3dlYnNxbC9zcWwt
ZGF0YS10eXBlcy1zdGRlcnIudHh0VVQFAANkGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
YXp6Sa+IHNetAAAApAEAAEEAGAAAAAAAAQAAAKSBCMUWAHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVu
dC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQFAANlGDpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAYXp6SUsbgTWnAAAA0gAAADIAGAAAAAAAAQAAAKSBMMYWAHN0
b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1zdGRlcnIudHh0VVQFAANlGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYXp6Sa+IHNetAAAApAEAAEMAGAAAAAAAAQAAAKSB
Q8cWAHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLXN0ZGVyci50eHRVVAUAA2UYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABhenpJSxuB
NacAAADSAAAAKgAYAAAAAAABAAAApIFtyBYAc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFj
ay1zdGRlcnIudHh0VVQFAANlGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYXp6SUsbgTWn
AAAA0gAAAEMAGAAAAAAAAQAAAKSBeMkWAHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2st
d2hlbi1wYWdlLWRlZmVycy1sb2FkaW5nLXN0ZGVyci50eHRVVAUAA2UYOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACABhenpJSxuBNacAAADSAAAAKQAYAAAAAAABAAAApIGcyhYAc3RvcmFnZS93
ZWJzcWwvdGVzdC1hdXRob3JpemVyLXN0ZGVyci50eHRVVAUAA2YYOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABhenpJSxuBNacAAADSAAAAPgAYAAAAAAABAAAApIGmyxYAc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLXN0ZGVyci50eHRVVAUAA2YY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABhenpJr4gc160AAACkAQAAPQAYAAAAAAABAAAA
pIHFzBYAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQt
c3RkZXJyLnR4dFVUBQADZhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGJ6ekmviBzXrQAA
AKQBAABDABgAAAAAAAEAAACkgenNFgBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1j
YWxsYmFjay1pc29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQFAANnGDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAYnp6SUsbgTWnAAAA0gAAADQAGAAAAAAAAQAAAKSBE88WAHN0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLXN0ZGVyci50eHRVVAUAA2cYOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACABienpJSxuBNacAAADSAAAALwAYAAAAAAABAAAApIEo0BYAc3Rv
cmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tcHJvdG90eXBlLXN0ZGVyci50eHRVVAUAA2cYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABienpJr4gc160AAACkAQAARQAYAAAAAAABAAAApIE40RYA
c3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC1zdGRlcnIudHh0VVQFAANoGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAsHp6SQAAAAAA
AAAAAAAAAAYAGAAAAAAAAAAQAO1BZNIWAHdlYmdsL1VUBQAD+xg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAALB6ekkAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQaTSFgB3ZWJnbC8xLjAuMi9V
VAUAA/sYOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACwenpJAAAAAAAAAAAAAAAAGAAYAAAA
AAAAABAA7UHq0hYAd2ViZ2wvMS4wLjIvY29uZm9ybWFuY2UvVVQFAAP7GDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAsHp6SQAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1BPNMWAHdlYmdsLzEu
MC4yL2NvbmZvcm1hbmNlL3RleHR1cmVzL1VUBQAD+xg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALB6ekk5FB882AAAADMBAABRABgAAAAAAAEAAACkgZfTFgB3ZWJnbC8xLjAuMi9jb25mb3Jt
YW5jZS90ZXh0dXJlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLXZpZGVvLXN0ZGVy
ci50eHRVVAUAA/sYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADhenpJZasGNGddAgA3pT4A
GQAYAAAAAAABAAAApIH61BYAd3B0d2tfcHJvY2Vzc19sb2cub3V0LnR4dFVUBQADVhk6WHV4CwAB
BPUBAAAEFAAAAFBLBQYAAAAA/gL+AnCAAQC0MhkAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>295447</attachid>
            <date>2016-11-26 16:23:39 -0800</date>
            <delta_ts>2016-11-27 09:44:39 -0800</delta_ts>
            <desc>Archive of layout-test-results from ews107 for mac-yosemite-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1385909</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
chJeeIq9TxhKsi7ofNaFJtExloQXlmTvsySWn5LzOcW4Oh+JpTlfaBJrSZOc+zzFuU9xmr2fxIeZ
LMCJgyLOyCYnkRilZ7T6abw+fD5eXxoP9pwiPirO5xRLY8fS6BhNYmG4OJ8YOY3Pz9NEr/x8vHHK
z+d8Ifps7JjfRYg+EUULlgCFoRQoSqoEKESjFCgqxeorr/jl/0RiXrm+kyUmkvDi5cPoJDnY09eF
/O1/UEsDBAoAAAAAAMJ5ekkAAAAAAAAAAAAAAAAOABwAYWNjZXNzaWJpbGl0eS9VVAkAAzsXOlid
GzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMB5eknh0+0uaQAAAGsAAAAuABwAYWNjZXNzaWJp
bGl0eS9hcmlhLWNoZWNrYm94LWNoZWNrZWQtc3RkZXJyLnR4dFVUCQADNxc6WDcXOlh1eAsAAQT1
AQAABBQAAAAzMjA00zU01DUyUzA0tTI0tjK11DMyMVBIzs/VSywoyEnVC09N8s4sAVHO+XklqXkl
ei6pZak5+QW5QHa0iZGFoZmVkbmluaFhrIJfsFNpSUl+nmNeZm5iSWZ+XrFrXmJSTmqKrZ8/FwBQ
SwMECgAAAAAAwnl6SQAAAAAAAAAAAAAAABIAHABhY2Nlc3NpYmlsaXR5L21hYy9VVAkAAzsXOlid
GzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMJ5ekkDmfIeaQAAAGsAAABhABwAYWNjZXNzaWJp
bGl0eS9tYWMvY2hlY2tib3gtcG9zdHMtdmFsdWUtY2hhbmdlLW5vdGlmaWNhdGlvbi1hZnRlci1h
Y3RpdmF0aW9uLXdpdGgtc3BhY2Utc3RkZXJyLnR4dFVUCQADOxc6WDsXOlh1eAsAAQT1AQAABBQA
AAAzMjA00zU01DUyUzA0tTI0sTIw1jO0NFVIzs/VSywoyEnVC09N8s4sAVHO+XklqXklei6pZak5
+QW5QHa0iZGFoYWVkbmluaFxrIJfsFNpSUl+nmNeZm5iSWZ+XrFrXmJSTmqKrZ8/FwBQSwMEFAAC
AAgAFXp6SaYJGP7/PQAAdeAAADgAHABjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuRGV2ZWxv
cG1lbnQtNDI4MTYtc2FtcGxlLnR4dFVUCQAD2hc6WNoXOlh1eAsAAQT1AQAABBQAAADsXGlv20ia
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
pVz22JlLmbF055T1nhw6tLAXFpz2oDtNlsAKC+B/V3PKm1xYYToX+V0FQuP5lgfe+yT6lEtefx3x
WJjFl+7BuMMCYZJkqrXinjjpKOFKGm2CBVt3Vis+3qN9tHadR7t5RzS2f+42r7ttbb8/AT5PvMsE
ZiZCykeOZkcKEbdkIdmC02NhPYRCb+1FXTzofEvq4tLVfwFQSwMEFAACAAgAAXx6Sfe+9gGDNgAA
D8MAADgAHABjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuRGV2ZWxvcG1lbnQtNDQ2NTQtc2Ft
cGxlLnR4dFVUCQADchs6WHIbOlh1eAsAAQT1AQAABBQAAADkXOlz20aW/86/AvtlSx4bVN8Hy2sX
zsSztuM1naMq5WKBYFPCmAQYkHSs+ev3NcADAEEdEyk1U1FSogR0v/d+734NyF6eLG7W2dop5s46
Wa4WWX7lpMVymKxWCzP82Uz/N9vYj6DINybfDEPz1SyK1RJ+di5W2cxhTHD2zIHL5Y2DkbPMFots
bdIin60HH8oiNev1yNl/3Zf0rxXZz4MPyeb6uBu+Ln8qFtulWV+GySa5jH4eX9aEdh/+NlvMLj+a
hUnWZndtOC+Tpfm9KL9c/mTKdVbk60vv8pcPwdiUXzOQ7/I2qb6t0svdz+vLd0n6w/jyniAGb4tk
5nizWblXAfqGkZ7xFCE0eDODJdk8M+XoTtUMdnIfNSEQfe5cwPchHmL2/NkgKGbG+XSzMvs1vyjh
CgYKLK0+j4Z4/fq18yv+PBiAAs3lp2x52EEQFi7GLhEO5iOKR0QPGcOOixTI+8PYaUsBunDg4i9g
9CH8z50LzGKskX42+GhWRblprJcDb+9on4piYSlcbtfl5TTLLyu3MwMXvgaDIFksnKsyWV2PBpaJ
Vsz5dF2aZDahDEtJ4FqYrVfJJr3+v63ZmgkeNTS3TLLc3VTrHedibcosWTyrCD2vSK03CcjlXGS5
s8ims5vFbAjfsukzuI8d51f0Tc7nczWfJoKn+vNuZy2GpV1vvaf9LVFGSEW2svvMcHykWVMF95oc
KYMocOEoE9PoKFWK9BxR1KRQ05hYIsX0H7dRkpq2KM00UW1KNa33Yw+QZWmyAcu9O5CDiwC0UpOi
5EAJiEynhLEupZqW+2uLmlNu889dclyzBjVNTTKnp9T66eXm2yb6Cpp+Z90BMte7ZP1ltIWwWljn
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
SwMECgAAAAAAw3l6SQAAAAAAAAAAAAAAABQAHABjb21wb3NpdGluZy9yZWdpb25zL1VUCQADPhc6
WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAw3l6SeFF/p6/AAAA8gYAAEUAHABjb21wb3Np
dGluZy9yZWdpb25zL3dlYmtpdC1mbG93LXJlbmRlcmVyLWxheWVyLWNvbXBvc2l0aW5nLXN0ZGVy
ci50eHRVVAkAAz4XOlg+FzpYdXgLAAEE9QEAAAQUAAAA7c8xC8IwFATg3V+RUYc2bWy1Cg5aFBxE
oaNIeaYPjcamvEYh/17FQQdXByHb3XT3beN0HCfjaBAmWbpjyuIFWlfLskC7IdMgWcdadahBa6wY
Ek2CWAyzlHXPC3WYQYvr/QmlnRMZKpf1DbSqwGLVY1312cAyXpgrScxBHpHnhnCFlYJ3CuJ0IEKR
RPwxbY11DbZ8o8Eh8cfYK5XT579QMq1qZEKM+p2tR3jEbxDDT0RuGvcXiijLvMIrvOKL4g5QSwME
FAACAAgAyHl6SRnXnbnCAAAA8gYAADwAHABjb21wb3NpdGluZy9zaG93LWNvbXBvc2l0ZWQtaWZy
YW1lLW9uLWJhY2stYnV0dG9uLXN0ZGVyci50eHRVVAkAA0gXOlhIFzpYdXgLAAEE9QEAAAQUAAAA
7c8xb8IwFATgnV/hMQzEscGQIjFABFIH1EiMURW9Ok9gMHH0Yir535OKAYauHSp5u5vuvkqopZgt
xTxVKvtkxuMV+tDq+oC+JNch+cB6c2zBWmwYEq0mQi5yxZLLzhw30OPH1xm13xI5qt/bb7CmAY/N
mCXmtYFn/OBupLEAfUJeOMI9NgaeaSLUXKZylvFh2jsfOux5aSEg8WHsker1z79UM2taZFK+TUdV
RETE3yDEK6JwXfgXiizPoyIqouIXxR1QSwMECgAAAAAAw3l6SQAAAAAAAAAAAAAAABIAHABjb21w
b3NpdGluZy92aWRlby9VVAkAAz0XOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMF5ekk6
bDm6pgABAIAgAQAjABwAY29tcG9zaXRpbmcvdmlkZW8vcG9zdGVyLWFjdHVhbC5wbmdVVAkAAzoX
Olg6FzpYdXgLAAEE9QEAAAQUAAAA7LxVWJzdsz2IBQkenKCNe3B3adwtuAZ3dw2uwd3dCe6uwd09
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
m7zpaau9CHda9t4eaTd6+5xMw0wF2Dprpk88ErIuO3tUhmZuumnEc0/DkPoHIohgIOD6RD1PGVHQ
fVqAGHTObArioH62lLrmHOeo5NhE2Zm5ybjt4B2zHghkhu8+cUw9S4RM0r5nblkhzhsza6jTiSrS
jm623HfxQq52imJFRsZmVoplI3PmN9RAGOdTOkX/wH3ZCtczyiKRrolnWDh362K4cP6ZAPtX58ri
3EaFjPPJ9PfnSo/nunMKr+uZ0Ce9lXGVodOW+QrDhcu6mvINhlbH09K0N3zOionmTKt7XiU/Vw42
XYZuJG/SM7+f+bc1WwdbphdPJWjjlMjk49e8hw3XO5Xn3VrWSq91G9ytHVhFayutlR+s3Exnojgb
LjctvH2sa9mN/6wfPpS1d/+yVVfIY+0zRODNZXiWrgYHIG36GQvLApco7mXWjX6CwcL7sNb4SyxC
Q7Cxt3dRcyb9ilN6XHpiGtAcNEzjVZ35AWia6QohgoNK8D2viHrAN1PGUOCgfPFCWXcm+Dn/qUDn
qKDNivyYxpo849sMecZ+NxpMaD3LZhfh2yPa4bxXKl+mcm1lMIUHD+ugxGq8O7dpOsorSiUFLKWF
7KKA/gwreW7d6w32fqjI2lfFOKfXi8zC6IP+r2crMyfrRgtmG6FuaTNn+80nbpacp+6/bsevTV4I
Lp7A0h+X4m0dQ5Orf0vOGGGWNyb/uWBdnUfCAmn76mj7qnL78T3iVLvM+fOiM+H59By+deugze+n
JS52/AmHitYXTy0THKnGd1ePV8mAa26gVeeNa+3d1okXKfToPkg6b4qM29ZTsZ/IDQkDdnvni54y
pID9x8xfyplDmbcetrmxsv+Ly+3HGhde+8GddtfH3BNVK6nX75BciQnhwgJRCy/5avpTIPV7VqpU
y8M7RQcyCK3NFR67IsPJMe2HUoyhiKVjv16gfDOx4w7MHUa+ctjXX3/9dkU7aSiJFG7f+GLwHbvG
hysW5TXEsedymucajeGbUerHvvfK/kUnl3y5YxqI+Ry7TOCYyXpaa5YWdb0pkX88tvE81m768O22
fTitLRQOQFpRJG853T8LoShXkjzqi2i4d3jh4r3vMl7GQxbFWEOZReF5fWnXKaSe/OqQGLgzfCYo
jcwts/H1/L8XoKV17OvZfuKeK4GmbCuBQ3sG/8S9L1aj4A1Iwvn4gGRGVPw65OvCbSwlrJLQY8d4
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
Qxc6WHV4CwABBPUBAAAEFAAAAENvdWxkIG5vdCBnZW5lcmF0ZSBhIGtleSBwYWlyLCBzdGF0dXMg
LTQzMDQKUEsDBBQAAgAIAMZ5ekkwO7ixSwAAAGgAAAA8ABwAY3J5cHRvL3N1YnRsZS9yc2EtaW1w
b3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0VVQJAANDFzpYQxc6WHV4CwAB
BPUBAAAEFAAAAG3LsQ2AMAxE0Z4pbh8aVrBkS7GAOHIuRGwPDR31f39Lv4SG3e6O6SwxCFF1elQ5
oEKBpKEG0UdrkTRd1o/jjDeySAVnoKWf1n+GB1BLAwQKAAAAAADEeXpJAAAAAAAAAAAAAAAADwAc
AGNyeXB0by93b3JrZXJzL1VUCQADQBc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAxHl6
SQAAAAAAAAAAAAAAABYAHABjcnlwdG8vd29ya2Vycy9zdWJ0bGUvVVQJAANAFzpYnRs6WHV4CwAB
BPUBAAAEFAAAAFBLAwQKAAIAAADEeXpJJeDTCCwAAAAsAAAAMQAcAGNyeXB0by93b3JrZXJzL3N1
YnRsZS9yc2EtZ2VuZXJhdGUta2V5LXN0ZGVyci50eHRVVAkAA0AXOlhAFzpYdXgLAAEE9QEAAAQU
AAAAQ291bGQgbm90IGdlbmVyYXRlIGEga2V5IHBhaXIsIHN0YXR1cyAtNDMwNApQSwMECgAAAAAA
ynl6SQAAAAAAAAAAAAAAAAUAHABjc3MzL1VUCQADTBc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwME
CgAAAAAAxHl6SQAAAAAAAAAAAAAAABAAHABjc3MzL2JhY2tncm91bmQvVVQJAAM/FzpYnRs6WHV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACADEeXpJKEKvnL8AAADyBgAAOAAcAGNzczMvYmFja2dyb3Vu
ZC9iYWNrZ3JvdW5kLXJlcGVhdC1yb3VuZC1hdXRvMS1zdGRlcnIudHh0VVQJAAM/FzpYPxc6WHV4
CwABBPUBAAAEFAAAAO3PMQvCMBQE4N1fkVEHmya2WgUHLQoOouAoUp7pQ6OxKa9RyL9XcdDB1UHI
djfdfVuRjkQyigeRiIc7ph1eoPGVKjbo1mRrJOdZow8VGIMlQ6JxV8hBlrL2ea4PU2hwtT+hcjMi
S8WiuoHRJTgsO6ytPxs4xjf2SgpzUEfkuSVcYqnhnboi7ctIJjF/TDvrfI0NXxvwSPwx9krF5Pkv
UszoCpmUw15rGxAB8ROESD4Rua39XyjiLAuKoAiKL4o7UEsDBAoAAAAAAMl5ekkAAAAAAAAAAAAA
AAAQABwAY3NzMy9zZWxlY3RvcnMzL1VUCQADShc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAyHl6SQAAAAAAAAAAAAAAABUAHABjc3MzL3NlbGVjdG9yczMvaHRtbC9VVAkAA0gXOlidGzpY
dXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMh5ekkiBpUNaQAAAGsAAAAuABwAY3NzMy9zZWxlY3Rv
cnMzL2h0bWwvY3NzMy1tb2RzZWwtMjUtc3RkZXJyLnR4dFVUCQADSBc6WEgXOlh1eAsAAQT1AQAA
BBQAAAAzMjA00zU01DUyUzA0tTI0sTI00zMzMFZIzs/VSywoyEnVC09N8s4sAVHO+XklqXklei6p
Zak5+QW5QHa0iZGFuaWVkYWBiYVZrIJfsFNpSUl+nmNeZm5iSWZ+XrFrXmJSTmqKrZ8/FwBQSwME
CgAAAAAAyXl6SQAAAAAAAAAAAAAAABYAHABjc3MzL3NlbGVjdG9yczMveGh0bWwvVVQJAANKFzpY
nRs6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADJeXpJR+6J8mkAAABrAAAALwAcAGNzczMvc2Vs
ZWN0b3JzMy94aHRtbC9jc3MzLW1vZHNlbC0yNS1zdGRlcnIudHh0VVQJAANKFzpYShc6WHV4CwAB
BPUBAAAEFAAAADMyMDTTNTTUNTJTMDS1MjSxMrTQszQ0VkjOz9VLLCjISdULT03yziwBUc75eSWp
eSV6LqllqTn5BblAdrSJkYWZmZWRhYGRpXGsgl+wU2lJSX6eY15mbmJJZn5esWteYlJOaoqtnz8X
AFBLAwQKAAAAAADKeXpJAAAAAAAAAAAAAAAADAAcAGNzczMvc2hhcGVzL1VUCQADTBc6WJ0bOlh1
eAsAAQT1AQAABBQAAABQSwMECgAAAAAAynl6SQAAAAAAAAAAAAAAABoAHABjc3MzL3NoYXBlcy9z
aGFwZS1vdXRzaWRlL1VUCQADTBc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAynl6SQAA
AAAAAAAAAAAAACYAHABjc3MzL3NoYXBlcy9zaGFwZS1vdXRzaWRlL3NoYXBlLWltYWdlL1VUCQAD
TBc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAynl6SQAAAAAAAAAAAAAAADAAHABjc3Mz
L3NoYXBlcy9zaGFwZS1vdXRzaWRlL3NoYXBlLWltYWdlL2dyYWRpZW50cy9VVAkAA0wXOlidGzpY
dXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMp5ekmjNl6zwgAAAPIGAABcABwAY3NzMy9zaGFwZXMv
c2hhcGUtb3V0c2lkZS9zaGFwZS1pbWFnZS9ncmFkaWVudHMvc2hhcGUtb3V0c2lkZS1saW5lYXIt
Z3JhZGllbnQtMDAxLXN0ZGVyci50eHRVVAkAA0wXOlhMFzpYdXgLAAEE9QEAAAQUAAAA7c8xq8Iw
FAXg3V+RUQebJm21FRy0KLzhoeAoUq7pRaOxKbd5D/Lv7eMNOrg6CNnOmc759iKbiXQmiqhI4wPT
Dm/Q+UZVO3Rbsi2S86zTpwaMwZoh0Xws5DTP2PC61qcldLg5XlC5FZGl6qv5BaNrcFiP2FA/N3CM
7+wPKSxBnZGXlvAbaw2PNBbZREYyjXk/7azzLXZ8a8Aj8X7sP1WLv3+RYkY3yKQsksE+IALiLYgs
eUaUtvUfoYjzPCiCIiheKO5QSwMECgAAAAAAzXl6SQAAAAAAAAAAAAAAAA0AHABkaXNwbGF5bGlz
dHMvVVQJAANRFzpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADNeXpJo1f96FAAAACOAAAA
MgAcAGRpc3BsYXlsaXN0cy9leHRlbnQtaW5jbHVkZXMtdHJhbnNmb3Jtcy1zdGRlcnIudHh0VVQJ
AANRFzpYURc6WHV4CwABBPUBAAAEFAAAAHMvSizIyEwuds7PK0mtKLGySk8tcQ7x1dBUyCxWyMsv
UahMLVFIzs8tSCzJTMpJVSjPLMlQKEpNzi9KycxLB8qAtRXrcbmjG1SMZhAxhgAAUEsDBBQAAgAI
AM15eknylpXVRwAAAEkAAAApABwAZGlzcGxheWxpc3RzL2xheWVyLWRpc3BheS1saXN0LXN0ZGVy
ci50eHRVVAkAA1EXOlhRFzpYdXgLAAEE9QEAAAQUAAAAcy9KLMjITC52zs8rSa0osbJKTy1xDvHV
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
MAAcAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTItYWN0dWFsLnR4dFVUCQAD
DBg6WAwYOlh1eAsAAQT1AQAABBQAAAClkEFLw0AQhe/5FQM9JAFdrBQpuZVmK8HaBFP1vM1OdGEz
E3Y3hv57N/oP9DLzYODNe9++PrX1UcKzbNvdoyzAGkLYbgo4X0eUzrErYDakeRaGAjpS1guPIRj6
+BGN8n5mp2X3yeXkVDBMFbXYMWkPxgNxAAX9RN1yEpBVBOnfLbM7sc7Tm/9YpEusiTT2sazOk1VT
lfB6epFtE3FUbxJuoeNBqHG0KN7x8mTCsvYcf1EQJX6h5XGIGrLRaNjcb9cPeXLYVccIzgyogacA
szJLIOjZLRRMfy050g0MF4ROWYs6SVayPvyOb1BLAwQUAAIACAAwenpJcYyGMp8BAACpAwAALgAc
AGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTItZGlmZi50eHRVVAkAAwwYOlgM
GDpYdXgLAAEE9QEAAAQUAAAAxVJNaxsxEL3vrxjIwQ5rSXUIIRgKTrObsjSNTTZNzoo0GwtkaZFG
dfzvq127H4ecUmgvMxrEvHnz3jDGQDx6m7YYRSVJivqpFU/4/MXQMX1KxmpxjxZlRGHl3idihJFY
wJgsRYHakHEvwrg+kehljDsfNEO18WyonNd4xvC1R0WoOb1SUZblv5orFSVpx6nLJbD57ALKISyX
BXvIcBFMByMEqI0MEWRAiKhSQA3Kh5BZ2z0U5fXqrl3d1vC1bturz/UCrHEIl+cLeNj3WIfgwwJ2
xmm/48YRBidt5BFpIDk+1keKdWZYpSDJeNe4FpV3OtOI4DyBhC45NXxxmDYOJu+HnH7g89PJ7G8g
JgOt5DR2eVl9WpQn66aCb3f3dbvOejSPNbCs0pbLvrfID9YN6drnYY54hd/R+n6b3zDtjYbzs8v5
RQa6uWpus3Rmm2XO1sJOjm5C58Ogg+n2lc/6kodnBCWtRV1AwdqkFMa4+GVRMC+brFqXV+Pw88g+
dnlLnMHB/EP1Ru/YBRrzdf3RSyH9bh2K/zS1PKlXN8f4A1BLAwQUAAIACAAwenpJT84qdmoAAAAV
AQAAMgAcAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTItZXhwZWN0ZWQudHh0
VVQJAAMMGDpYDBg6WHV4CwABBPUBAAAEFAAAAMXN3QnCQBAE4PdUMQUECxCsQhtY9ubMwaFhf8B0
b1SIggXkcZj5mAs9HK2i3eYM6CTmECOcmsYCvZtRoy8YhnOq0v24ldauU0Bq0A7gY16HLKcq3TlC
NFL6J/3TN0Jhl+WHhuVXvsIun09QSwMEFAACAAgAMHp6SdbaPLakCAAApR8AADYAHABlZGl0aW5n
L2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUyLXByZXR0eS1kaWZmLmh0bWxVVAkAAwwYOlgM
GDpYdXgLAAEE9QEAAAQUAAAA3Vlpc9u4Gf7uX4Gxp+vsjkndrizH7iSW3HqaTTKrdPdjByRBCTFI
sARoSWn73/viokiKlJ12r+lmNuKB4z2f5wHzei0Tdnvyek1wBD8JkRiFa5wLIm/OCxl703N4LOSO
kduTGaPp4wWaPVFBJYnQP08Q/CfJVnoRCXmOJeXpDKU8Jdf6VcDziORewKXkyQwNsi2K4JpE1yf/
PjHL2UVCzng+Q2f90ZV+599TRuY0ju37AIePq5wXaeS5ofFU/aluZHYQnNEInUVRZN7FPJVejBPK
djOU8JSLDIfWwATnKwomD0iC+uZRxsE57UdOGHj0RLRB60HD0tFo1LK+wKnwBMlpXHkp6Bei96hu
6jESyxnq+xP3PKIiYxgWoSlExlq4oZFcw+R+/w/WPhxFNF2VM41tNjXqqp4day5N12CULIev+RPJ
Gx5NJpPrrmATYsLgq5y8g72EnRwzjsGNnK7Wsp45NeoO3Mfgi9uKQ+ipBBf7DZclDhjxQsJYzUtP
r1uL0mYN3nk6h6rUNjnO9pYtSahy11k0enK9ZJrlYmvWxR0Kqp9tzQ6LbQbphfXBNXKBfPXT9LDT
PEEjEuzU30ib+pbx8PEjzqUPrs5imgvphWvKos7Aqu2WMP/i2GI5SSC1F8/sZ/dw4TcF5wVqSK3s
Jq7qoFokDTHzMKMr6A3JW9zKiar0v+A0YsSFw66jQqju18QkdF/PYZELlRpldrMDcQDZKVzGYM+y
cEzzaPOOWVGr88NyWOVkd90oTH/yXL5MiJEv+bNh9uOcJ41gW3xUe6iovy+SgORQTaRaXeapM/wQ
Rm3VXl3VANC1SxsMuk4ej8etcFPNfokxaqGJaQHTBiXg2zqw5dlWIsbcWjmNLGBVHNcutgKOIYnO
sBwBqSxX3anMtAF0aGKrxjlS61WY5Jlu1a8gnvoW/MgJfvTUA2MQTfCK1DIzQ8My4AHDKopqYAjQ
ADaAKfYKNf3eZ2U6vurE3pjEewBQZQUrlvRY6eaWqVEc1adCskX38CtydX2M08uVLMpU7bBd0U3X
UXSwAIoI655Brp61pvcdWhZZxnMJTJvbSoagJglJpUDf9WA/XMg1N/E2bKzEDFS9hDoNXab0BD2m
g//LMcoYDCWhBzs4u3SFreAGM3bnLGgdPTRcluCt16D3BHSBfTTsl7zT3BrifnSfsrPLlq5t02an
zzNiaNPbkOCRSk/mqu1MJIzhyB+K64obY+v0mZBYFuJtEQCHl3zoq+5pNUdNkZyzAOf1927rmBHd
ofsXCf9SPi3BaWT62OoodenUgrruloRdyHFUyu3LIqZbYtaxeNyvu+RjrUFMmx2y+IYCFuSNUivX
/OLRNCJbAKkjru2JsGJCm18WjGr0NrUoliozbcO2UhPsF/Dts4Ze7g0dmCJ2JGTutLH2umQwe1sa
XCqz2tY0znFiLGz0SV1GVHrkrgNpD2OzA63JN5brCQPhCJr5BcR0eXW/Ly/LyR0vdSDq70oZGR3K
47o4tmuY8B3WcKckiBzOmm3eOFBwR51+9e0nx5GNM8nlHx2gHZp5pEkqpx2RYKPlq5ib8hweX3eg
jPVfSTDRtrnxw/V1v20IwwFhMxxDh10cTDfP9SKakFNw9RT9C51en5REXKHv5myGQaHz2JO7jLQu
ddppkR3YOOKuCdMAWYpRrMRoB0edJUQIJzw649yWlkp3LDVQv4QKgWJAED1RXoi78gmI2S8kvauQ
ZRvPO8nRpJgquSgsh6rVleCw3d7bSrQgMnIc+CJrbGmAxiFS9USNLqzs6xB9VZ4NCuiqtIo7jt8j
+jSLeWhjyAup8KLafgErNJPYV1AvMdgCDDZwjlTJUq8CGubTmpidepZpV2C/8kFyJOFdYEbbUhPo
iWKFyfJ7WxNgbJDzDSQclMAaw1wriqj0lQgq/RhPrIovpYi9d+ighKz6v18nUfdJp6nxExrBKcs4
phIk3OG7hVFAh3GBnyD2EAHS4JXqSe+A6ryBPzKSaf/xw7F/Sw7O5vN5paXPpvfz+8l9Kz6BuGyv
4sVi0Wb1jCQZIFQt+VamNUb6cAmW1jp/cTXtTy1uhYzg/O9aHrijgHqij01rNeR1z351ey3CnGaQ
0zy8OV1LmYlZr4c/462/4nwFkzIqVOnqZz1GA9H7/I+C5LvewB/7Q3vjg7T0P4vTW1hXr3eL6iuH
PCKeyiHZwLg/QaZVMm/G08oUMMp+KAx4tIMf6AewGwtxc+5OAup74Xpw2/sR8gmY1ZtjiXuLn5a9
n0jwVyrtz9uCsqj3A/AuFqQHlQLh9CQBhIXje8Gk6JEISiNd9WiaFbKXwR76TEbCNffUXQr2Dj0Q
MQVmvtxKMG1Qt6jyQej88I0+qHc9Vwd4ZM4ojSHq9ILqH3724wBVUjdQn/z3cuL8dgBhhPe3tVHQ
4NUx36SByK5bBwJTn99+gggJ0EVIR8V8qUWg+wEswiIHAQNnpBxcZjtkF4GUgfXup9tZaKznPbWD
jrp5xAX+gnhoN+8+vF9+eLdA3y+Wyzd/Xsz0PDQdz9AnIN9FnutveSBA+cbXcjrFTICKk6pi9MVH
Wy8LKJd5Yc6NDylUA08jCKAAXAKfUVykuj589OohRd+cATX/98u+6vuDb/UaF//rUnq6MhMwicTg
fPRtM5+/YqaG3Zk6+/gwR397/8Ni+RFy9vDjAnnq+O3jLGPEN72ufu4Mdflz8kQYzzTNvsoArMfD
6eDyt3Ru1O3c/ZuHd1ByNIHGAnxCG6whSX9qgPqh8W4O7KZIOgByBj4h0bNdV8H981v7+tDplwGU
gPYnz7fts7EaviBM4+4w/ao+/8ygPPoZQHlZhCEIsVkJwlrAIH1E8BHZZvpseRMDApALZBjL3H1d
2b/QpfEv4ZI570QEmLriksyLvUfq5hdxaPL/l6PL31GOfnfCYHKEbhYf7n9Drrj8Osu+BggbP1pf
g6TV/zr/H1BLAwQUAAIACAAwenpJ+un6XFwAAABeAAAAMAAcAGVkaXRpbmcvaW5wdXQvcGFzc3dv
cmQtZWNoby1wYXNzbm9kZTItc3RkZXJyLnR4dFVUCQADDBg6WAwYOlh1eAsAAQT1AQAABBQAAAAL
T8wsUcjPU8jLL8lMq3TJz0tVKMnMTU1RyC8t0VEoKMpPTi0uVkjOz9VLLCjISdULT03yziwBUc75
eSWpeSV6LqllqTn5BblAtkJBZoqCrYKJkYWhmbKrvxsXAFBLAwQUAAIACAB1enpJBFE0kukAAACM
AQAAMAAcAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtYWN0dWFsLnR4dFVU
CQADjRg6WI0YOlh1eAsAAQT1AQAABBQAAAClkM1OwzAQhO95ipV6SCKBRSEHlFvVuCiiNBHh5+zG
G7Dk7Ea2Q9S3x4E3gMvuSCvNznz75tQ1RwlPsut2D7IEawjhvijh5TKhdI5dCYshzYswFNCRsl54
DMHQx49olfcLOy37T65mp4JhqqnDnkl7MB6IAygYZurXk4CsJkj/bpndiG2eXv3HIl1jzaRxiGV1
nmzauoLX07Ps2oijfpNwDT2PQk2TRfGO50cT1rXn+IuCqPALLU9j1JBNRkNR3N1u8+Swq48RnBlR
A88BFmXWQDCwWymY4VJxpBsYzgi9shZ1kmxkc/gd31BLAwQUAAIACAB1enpJtE+OUJcBAAAxAwAA
LgAcAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtZGlmZi50eHRVVAkAA40Y
OliNGDpYdXgLAAEE9QEAAAQUAAAAvVJNaxsxEL3vrxjIwQ5rSXVjSjEUnGY3ZWkSm2w+zoo0Gwtk
aZFGdfzvo904PZUeWshFM4OYN2/eG8YYiAdv0w6jqCRJUT+24hGffho6hu/JWC1u0aKMKKw8+ESM
MBILGJOlKFAbMu5ZGNcnEr2Mce+DZqi2ng2V8xrPGL70qAg1pxcqyrL8qLlSUZJ2nLpaAZvPFlDO
Z19gtSrYXYaLYDoYIUBtZYggA0JElQJqUD6EzNoeoCgv1jft+qqG67ptz3/US7DGIXxdLOHu0GMd
gg9L2Bun/Z4bRxictJFHpIHkmGyOFOvMsEpBkvGucS0q73SmEcF5Agldcmr44jBtHEz+HXL6ic9P
J7P/gZgMtJLT2OVl9WlRnmyaCu5vbut2k/VoHmpgWaUdl31vkb9ZN4QLn4c54hX+Quv7Xc5h2hsN
i8XZ53kGujxvrrJ0ZpdlztbCXo5uQufDoIPpDpXP+pKHJwQlrUVdQMHapBTGuPxtUTDP26xal1fj
8H5k3ygknMGb92Pxh86xBzTm2/prZ3lSry+P7ytQSwMEFAACAAgAdXp6SRt1OPBhAAAAnwAAADIA
HABlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUzLWV4cGVjdGVkLnR4dFVUCQAD
jRg6WI0YOlh1eAsAAQT1AQAABBQAAAB9y0sKg0AQhOG9p6gDhBwg4CniBZqeUgcGM/QD4u0VF9kE
XBZ/fRM9HHVG3XoGdBVziBFOTWOBfsyo0XYMwztV6f76RavLGpA5aE/w288jyxiWfEA0Uto1/uFF
UNhkv4UHUEsDBBQAAgAIAHV6eknqUXNcowgAACseAAA2ABwAZWRpdGluZy9pbnB1dC9wYXNzd29y
ZC1lY2hvLXBhc3Nub2RlMy1wcmV0dHktZGlmZi5odG1sVVQJAAONGDpYjRg6WHV4CwABBPUBAAAE
FAAAAM1Za3PbNhb97l+Bsad12jEpyZJcW7a1k1jyrqdpkqmy7ccdkAQlxCDBJUBLyrb/vRcviqRI
2el2222mEYnHxX2ec8HcrGTCpkc3K4Ij+EmIxChc4VwQeXtayNi7PIVhIbeMTI8mjKaPZ2jyRAWV
JEL/OULwnyQb6UUk5DmWlKcTlPKUXOupgOcRyb2AS8mTCRpkGxTBM4muj349MuKskJAznk/QSX94
pef8e8rIjMaxnQ9w+LjMeZFGnlsaX6o/1YPMCYIzGqGTKIrMXMxT6cU4oWw7QQlPuchwaBVMcL6k
oPKAJKhvhjIOxmk7csLAoieiFVoNGpoOh8MW+QKnwhMkp3FlUtDPRJ9RPdRjJJYT1PfHbjyiImMY
hNAUPGM1XNNIrmBzv/+V1Q9HEU2X5U6jmw2NeqpHx6pL0xUoJcvlK/5E8oZF4/H4usvZhBg3+Com
b+EsYTfHjGMwI6fLlaxHTq26A/Mx2OKO4uB6KsHEfsNkiQNGvJAwVrPS03JrXlqvwDpPx1Cl2jrH
2U6zBQlV7DqTRm+up0wzXWzOOr9DQvWzjTlhvskgvCAfTCNnyFc/TQs71RM0IsFW/Y20qm8YDx8/
4Fz6YOokprmQXriiLOp0rDpuAfvPDgnLSQKhPXvmPHuGc79JOC9QS2ppN3ZZB9kiaYiZhxldQm1I
3mJWTlSm/wOnESPOHVaOcqF6XxET0F0+h0UuVGiU2s0KxAFEp3ARgzPLxDHFo9U7pEUtz/fTYZmT
7XUjMf3xc/EyLka+5M+62Y9znjScbfFRnaG8/q5IApJDNpFqdplRp/g+jNqsvbqqAaArlzYYdJU8
Go1a4aYa/RJjlKCxKQFTBiXg2zyw6dmWIkbdWjoNLWBVDNcmtgKOIYlOtxwAqSxX1anUtA50aGKz
xhlSq1XY5Jlq1VPgT/0KduQEP3pqwChEE7wktchM0Hnp8IBh5UW1MARoAB1AFfuEmnbvonI5uurE
3pjEOwBQaQUSS3qsVHPL1iiO6lsh2KJ7+RW5uj7E6aUkizJVPWxVdNN1FO0JQBFh3TvI1bPa9L5F
iyLLeC6BaXObyeDUJCGpFOjbHpyHC7nixt+GjVUzA1kvIU9DFym9Qa/p4P9yjVIGQ0roxQ7OLlxi
K7jBjN05DVpXnxsuS/DGa9B7An2BHTrvl7zTPBr8fvCcsrLLkq4d06anzzNiaNNbk+CRSk/mquyM
J4ziyD8X1xUzRtboEyGxLMSbIgAOL/nQV9XTqo7aIjlnAc7r8+7omBFdobuJhH8uR0twGpo6tn2U
enTdgnrubgm7kONgK7dLi5huiJFj8bhfN8nHugcxZbbP4msKWJA3Uq2U+dmjaUQ2AFIHTNsRYUWF
NrssGNXo7dKiWKrUtAXbSk1wXsA3zyp6sVN0YJLYkZB508ra55LB7GupcNmZ1Y6mcY4To2GjTupt
RKVG7jqQdt83W+g1+dpyPWHQOELP/AJiuri636WX5eSOSe2I+lzZRkb77XG9ObYyjPv2c7izJYgc
zppjXjtQcFedfnX2o+PIxp3k4jsHaPtqHiiSym1HJNj08lXMTXkOw9cdKGPtVy2YaDvc2OHqut+2
hOGAsAmOocLO9rabcS1EE3IKph6jX9Dx9VFJxBX6bu5mGDp0Hntym5FWUcedGtmFjSvuijANkGUz
ilUz2sFRJwkRwjUenX5uC0ulOhYaqF9ChUAx0BA9UV6Iu3IEmtnPJL2rkGUbz7uWo0kxVXJRWA5Z
qzPBYbt9t5loQWToOPBF2tjUgB6HSFUTNbqwbV9H01fl2aCAqkqruOP4PaJPk5iH1oe8kAovquUX
sEIziZ2CfIlBF2CwgTOkSpZaCvQwH1fEnNSzTLsE/ZUNkiMJc4FZbVNNoCeKFSbLH2xOgLJBztcQ
cOgEVhj22qaISl81QaUdo7Ht4stWxL47dFCNrPq/XydR90mn2eMnNIJbljFMBUi4y3cLo0AfxgV+
At+DB0iDV6o3vT2q8wb+0LRMu48fjv1bYnAym80qJX1yeT+7H9+34hM0l+1ZPJ/P27SekCQDhKoF
37ZpjZU+PIKmtcqfX132Ly1uhYzg/F+6PXBXATWir00rteSmZ7+63YgwpxnENA9vj1dSZmLS6+FP
eOMvOV/CpowKlbp6rMdoIHqf/l2QfNsb+CP/3L740Fr6n8TxFORqeVNUlxzyiHgqhmQN6/4GkVbB
vB1dVraAUvZDYcCjLfxAPYDeWIjbU3cTUN8LV4Np7yeIJ2BWb4Yl7s1/XvR+JsH3VNqfNwVlUe9H
4F0sSA8yBdzpSQIIC9f3gknRIxGkRrrs0TQrZC+DM/SdjIQr7qm3FPQdetDEFJj5ciNBtUFdo8oH
odP9GX1R7xpXF3hk7iiNJer2guoffnbrAFVSt1Df/HftxOl0AG6E+WltFRR4dc3XaSCy69aFwNSn
04/gIQF9EdJeMV9qEfT9ABZhkUMDA3ekHExmW2SFQMhAe/fTbSwU1vOW2kUHzTxgAn+BP7SZd+/f
Ld6/naMf5ovF67/PJ3ofuhxN0Ecg33me62950IDyta/b6RQzAV2cVBmjHz7YfJlDuswKc298SCEb
eBqBAwXgEtiM4iLV+eGjVw8p+voEqPn3i33V9wffaBln/60ovV2pCZhEYjA++qYZzz8xUufdkTr5
8DBD/3z343zxAWL28NMceer67eMsY8Q3ta5+7gx1+TPyRBjPNM2+ygCsR6Ph+eCvNG7Ybdz964e3
kHI0gcICfEJrrCFJf2qA/KHxdgbspkg6AHIGPiHRs1VXwf3TqZ3eN/plACWg/MnzZfusr85f4KZR
t5v+VJv/YFAe/gGgfBMRNl0UYQjd2KREYt3FIH1P8BHZZPqCeSvzgpwhw1r6BRwBu78s/19o2+h/
Zpu5/cAU3n65bf93RDQ+YD5cJaYn8/f3Nz319BfC1MXvVvJLyrHxo7s8aKz0vxH/BlBLAwQUAAIA
CAB1enpJA6ZnXlwAAABeAAAAMAAcAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9k
ZTMtc3RkZXJyLnR4dFVUCQADjRg6WI0YOlh1eAsAAQT1AQAABBQAAAALT8wsUcjPU8jLL8lMq3TJ
z0tVKMnMTU1RyC8t0VEoKMpPTi0uVkjOz9VLLCjISdULT03yziwBUc75eSWpeSV6LqllqTn5BblA
tkJBZoqCrYKJibGRobKrvxsXAFBLAwQUAAIACADqenpJn/MCJekAAACMAQAALwAcAGVkaXRpbmcv
aW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1hY3R1YWwudHh0VVQJAANoGTpYaBk6WHV4CwAB
BPUBAAAEFAAAAKWQ3UrEMBCF7/sUA3vRFjQodEV6t2yzUly3xfpznW2mGkhnSpJa9u1N9Q30ZubA
wJlzvn1z6pqjhCfZdbsHWYI1hHBflPBymVA6x66ExZDmRRgK6EhZLzyGYOjjR7TK+4Wdlv0nV7NT
wTDV1GHPpD0YD8QBFAwz9etJQFYTpH+3zG7EbZ5e/cciXWPNpHGIZXWebNq6gtfTs+zaiKN+k3AN
PY9CTZNF8Y7nRxPWtef4i4Ko8AstT2PUkE1GQ1Fst3d5ctjVxwjOjKiB5wCLMmsgGNitFMxwqTjS
DQxnhF5ZizpJNrI5/I5vUEsDBBQAAgAIAOp6eklIP7PqkQEAAKIDAAAtABwAZWRpdGluZy9pbnB1
dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWRpZmYudHh0VVQJAANoGTpYaBk6WHV4CwABBPUBAAAE
FAAAAL1STW8bIRC9768YKQc7WrM0khNVlio5zZJqlQ9b2TQ5E5hNkDCsYIjtfx927dx6aSvlMoBg
3nvzHowx4E/epg1GXkuSXDy3/Blfbgwdl5/JWM0f0KKMyK3c+0SMMBILGJOlyFEbMu6VG9cn4r2M
ceuDZqjefH64I+c1Mtz1qAh1RTsqyrL8IlqpKEk7ki6XwM5mF1AOZbks2GNGg+EljBBgIjh8xwAR
VQpZKhTl1eq+Xd0KuBNte/lLLMAah/B9voDHfY8iBB8WsDVO+21lHGFw0sYqIg3Sxs36KExkXXUK
kox3jWtReafjyOkJJHTJqeGqgmnjYPLvkNNv1dnpZPY/EJNBVnIauzysPi3Kk3VTw+/7B9Gusx/N
kwAGym8q2fcWq0Ngw3LlM5mjqs42Wt9v8h6mvdEwn5+fX2Sg68vmNltnNqghBwpbOWYInQ+DD6bb
1z77Sx5eEJS0FnUBBWuTUhjj4jMZCOb1LbvW5dEq+PxaP7o8Jc7gkPnh9IfesQs05j/1171fw1ue
iNX1sX4AUEsDBBQAAgAIAOp6ekldhJNcYAAAABABAAAxABwAZWRpdGluZy9pbnB1dC9wYXNzd29y
ZC1lY2hvLXRleHRub2RlLWV4cGVjdGVkLnR4dFVUCQADaBk6WGgZOlh1eAsAAQT1AQAABBQAAAC9
zcsJgEAQA9C7VaQAsQDBKrSBYTZ+YBHZmRXtXlE8efLiJZDAIx3N4dwc07zkMw0zVyYYNSeGCkXR
ZlWa1c+GNA2jQ3pnqsBtoTpD00s0lhD1LPFub3ohBEbZv9JfXg9QSwMEFAACAAgA6np6SfTeFNCW
CAAAnx8AADUAHABlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUtcHJldHR5LWRp
ZmYuaHRtbFVUCQADaBk6WGgZOlh1eAsAAQT1AQAABBQAAADdWWtz2zYW/e5fgbGnddoxKcmSvLYc
eyex5NazaZKp0vbjDkiCImKQYAnQktPuf9+LF0VSpOzsdpvONtOIDzzu49xzLpiXiUzZ9cHLhOAI
flIiMQoTXAgir45LGXvnx/BYyEdGrg9mjGb3J2j2QAWVJEK/HSD4T5KN9CIS8gJLyrMZynhGLvWr
gBcRKbyAS8nTGRrlGxTBNYkuD/51YJazi4Sc8WKGjobjC/3Ov6WMzGkc2/cBDu9XBS+zyHND43P1
p76R2UFwRiN0FEWReRfzTHoxTil7nKGUZ1zkOLQGprhYUTB5RFI0NI9yDs5pPwrCwKMHog1KRi1L
x+Nxx/oCZ8ITpKBx7aWgn4jeo76px0gsZ2joT93ziIqcYViEZhAZa+GaRjKBycPhV9Y+HEU0W1Uz
jW02NeqqmR1rLs0SMEpWwxP+QIqWR9Pp9LIv2ISYMPgqJ29gL2Enx4xjcKOgq0Q2M6dG3YD7GHxx
W3EIPZXg4rDlssQBI15IGGt46el1G1FaJ+Cdp3OooLYucL61bElClbte0OjJTci04WIx6+IOgBrm
G7PDYpNDemF9cI2cIF/9tD3sNU/QiASP6m+kTX3NeHj/HhfSB1dnMS2E9MKEsqg3sGq7Jcw/2bdY
QVJI7ckT+9k9XPgN4LxADWnAbupQB2iRNMTMw4yuoDYk73CrIArp3+MsYsSFw66jQqjuE2ISusVz
WBZCpUaZ3a5AHEB2Spcx2LMCjikebd4+Kxo434XDqiCPly1g+tOn8mVCjHzJnwyzHxc8bQXb8qPa
Q0X9bZkGpAA0kTq6zFNn+C6NWtReXDQI0JVLFw26Sp5MJp10U89+xTFqoakpAVMGFeFbHFh4dkHE
mNuA09gSVs1x7WIn4RiR6A3LHpLKC1WdykwbQMcmFjXOkUatwiTPVKt+BfHUt+BHQfC9px4Yg2iK
V6SRmRk6rQIeMKyiqAaGQA1gA5hir1Db721WzicXvdwbk3hLAApWsGIlj7Vq7pgaxVFzKiRb9A+/
IBeX+zS9WsmyTN0OWxX9ch1FOwugiLD+GeTiSWsG36Jlmee8kKC0hUUyBDVNSSYF+nYA++FSJtzE
26ixamYA9RJwGrpM6Ql6TI/+V2OUMRggoQc7OjtzwFZ0gxm7cRZ0jj41WpbijdeS9xT6AvvodFjp
TntriPvefarKrkq6sU2XnT7PiZFNb02Ceyo9WaiyM5EwhiP/VFzW3JhYp4+ExLIUr8sANLzSQ19V
T6c5aorknAW4aL53W8eM6Ardvkj5p+ppRU5jU8e2j1KXrltQ1/0tYR9z7G3ltrCI6YaYdSwfD5su
+Vj3IKbMdlV8TYELihbUqjU/eTSLyAZIao9rWyGsmdDllyWjhrydWxbLlJm2YDulCfYL+OZJQ8+2
ho4MiJ0ImTttrL2uFMzeVgZXnVljaxoXODUWtuqk2UbUauSmh2l3Y/MIvSZfW60nDBpH6JmfIUxn
F7dbeFlN7nmpA9F8V7WR0W573GyO7RomfLsY7m0JIsezZptXjhTcUWdYf/vBaWTrTHL2N0dou2bu
KZLaaUek2PTydc7NeAGPL3tYxvqvWjDRtbnxw9X1sGsIwwFhMxxDhZ3sTDfP9SJakDNw9RD9jg4v
Dyohrsl3ezbD0KHz2JOPOelc6rDXIjuwdcRNCNMEWTWjWDWjPRp1lBIhXOPRG+eutNSqY6mJ+jlS
CBIDDdED5aW4qZ5AM/uJZDc1sezSeddytCWmLi6KywG1GgmO2+29RaIlkbHTwGdZY6EBPQ6RqiYa
cmHbvp6mr66zQQlVldV5x+l7RB9mMQ9tDHkpFV/Uyy9gpVYS+wrwEoMtoGAj50hdLPUq0MN8SIjZ
aWCVdgX2Kx8kRxLeBWa0hZpADxQrTpY/WEyAsUHB15Bw6AQSDHNtU0Slr5qgyo/J1HbxVSti7x07
qEZW/T9siqj7pNPu8VMawSnLOKYSJNzhu0NRoA/jAj9A7CECpKUr9ZPejtR5I39sWqbtxw+n/h05
OJrP57WSPjq/nd9Obzv5CZrLbhQvFosuq2ckzYGhGsm3bVprpA+XYGmj8hcX58Nzy1shI7j4p24P
3FFAPdHHpkQNeTmwX91eirCgOeS0CK8OEylzMRsM8Ee88Vecr2BSToWCrn42YDQQg4+/lqR4HIz8
iX9qb3xoLf2P4vAa1tXrXaPmyiGPiKdySNYw7u+QaZXMq8l5bQoYZT8UBjx6hB+oB7AbC3F17E4C
6nthMroe/Az5BM4azLHEg8Uvy8EvJPgHlfbndUlZNPgRdBcLMgCkQDg9SYBh4fheMikGJAJoZKsB
zfJSDnLYQ5/JSJhwT0l8puyFHqbEzJcbCZaNmgbVvgcd777R5/S+5+r8jswRpTVEHV5Q87vPdhyQ
SuYG6oP/tps4vh5BFOH9dWMU1Hd9zNdZIPLLzoHg8fH1BwiQbvWRjgqiAmVEfeAQJCwLEvnIzoVE
gdHup99HKKenHbSD9nq3x3L+jDBo727evV2+e7NAPyyWy1ffLWZ6HjqfzNAHkNxFUegveNB28rWv
m+gMMwG9m1Q40RfvLUoWAJJ5aU6LdxmAgGeR0NHi4DOKy0zDwkcv7jL09REI8n++7IuhP/pGr3Hy
3y6lpyszgYlIDM5H37Tz+Sdm6rQ/U0fv7+bop7c/LpbvIWd3Py+Qpw7dPs5zRnxT4ernxgiWPweQ
Mp5rcX2RA0VPJtPp2Zd0btzv3O2ruzcAOZrCeQBYCa2xJiL9gQHwQ+PHOWiakuYAJBlUhERPVl2N
7Y+v7etdp5/HSyKBg/7TZftkrE6fEaZJf5j+VJ//YC4e/wFcvCzDENqvmeNe07YgfTDwEdnk+kR5
FQMDkBNkhMrcfR7sn+nS5H/hkjnlRAT0+Qu4NP3/y9LZXypLf7nmYLpHchbvbr+gXpx9nmWfQ4at
H91ZQzer/13+31BLAwQUAAIACADqenpJsqGqQFgAAABeAAAALwAcAGVkaXRpbmcvaW5wdXQvcGFz
c3dvcmQtZWNoby10ZXh0bm9kZS1zdGRlcnIudHh0VVQJAANoGTpYaBk6WHV4CwABBPUBAAAEFAAA
ABXGvQ5AUAwG0N1TfIlV7oTN5GcxGM1+Kmnitg0l8faYzhkndqhA1Hl7GhWCc6QVenkGO3Sh88Si
MUxmO4WR5p79p1ZxEg8N3bSrxe8wXlEhz4uiTNuhS15QSwMEFAACAAgAFXx6SQb+lJZTCwAAT0QA
AA0AHABlcnJvcl9sb2cudHh0VVQJAAOZGzpYKxo6WHV4CwABBPUBAAAEFAAAAO1be2/bOBL//z4F
EdxuE6CSqPcDKA49x9fmNpvm4mR7QFEEskTbbCVRS1J57OG++w0l27FdybGdZJvbDVrItkLN4zfD
meFQ/DSIJTphV8jykOlGph25lu6Foe85yMKm9xl9EiKLrmNewNeSpsix/ND8jN6+x2aIwwiZlq9j
+GdGjmNHGAnCrwhHCeGSjmgSS4JSRgQ6+XCOaJFkVUpQXKCjQ3Q9ockE5bFMJvB3OSGzZ4s4J3/5
1CZZYLvYCtdIZjWSBb4doaOCyggNiBCUFagXAxtEBSqYRAkrRnRccZKiTxNaqGGD4+nIeuDnTv6W
j+/n/z2Q8RxzbrO8zC9LTkaMf41AX5qQb2SEgYDR21Jpa1i6o5se2r8o6M0BOn1/ari6q9se+lCS
AqAxsB7qwW/jReA0DXEiqpwWY8CU53GGWEl4LAFD0S2kO4cvYZx0SodDJ0I9ludxkaKMFiRCr4xK
cEMMaWFMpCxBghEyfmFZlRNhHMYyNvofB8ZHMvyJyunH3yuapcYZyUgsiJHFt6ySmiRCakr0TIqG
kq7UQloPHbIEqBXyjIGT7HUSP64JnQOdhoChSIo9pCXo/LYkolejtA0BJYCR05zoUhGoSYEZjk6O
DinfllD9dK8SkuXHbJ0Ym4IUJwnMjcuMjXV5I/fAC/IcphRw6XPO+OMwIYrUHQ8FAE3/QTOCDJmX
M2qNvZSzwIC3GY0FMr6IOSVWcRB1Q8Dm4/cWiOUkpfHWpOqnlsiwlPBCa6iBUSRn2abEdN0Y1NzV
H3swS4yfWVpl8FQr1UW2c7lrl5xAcALD6YnYGpLV5+9n8uVhPL7cz4KTknH5QEZzIntqwl9AYEV7
Q+WcQybrW8dUSFIsRO8AotHCHz5Fkfl59ebi6KBtdNAxGlLDt6Prm4nKSb27ZNFMhe0iyjUZfqVS
m04akr/6Ji57EbZ10w4sc55Wo3omzkKyje1QBeuMQlxckNx1TQfqAJFwWkqIzdvFSgNcasE+KYGI
QNIe5UlG9HJSvqrT9IhVEP0ZR1URD0F7yZCQsXwNiWdEOOERUhQjw1g2Vk2cDb+QRGojUH9KXaP5
WBNXY30i86wFCBPrto2xM09QBRlDdqoT2gomjmO1Y2JZQZO/vMCP0MkCAZRSkTBI4pA6R2DKfXHQ
ZHiVPzn5tQJYIrQtjDkQXcAxTmhqG6IqlY9rsV4C7f0TVhAI2VWWoiFBM6VIeqDfC2RNvibaCZqp
Y8ux7srFVaQ8twMpx9/de5Y8h0iilYDiw/2miK/ouDaXoQhqsZScDitJjLhIJoxDyGVfKVmDhW1i
3wm6sAjMDiw8wALSPfoIMQoYRwgkh6Ln675xFXNjxDII+8LwC0N4VmKZE9cpXSfMkrJwr7Bp5QlI
j8eFcW5odzpoyzpoMx04E0JjnI5poY04y+vwIGql9BpHyL8H4LwAWgVlqHJWhWVKOUwoxm+hWN3a
TxeQ7bQdgpJCVXrIWTGUWLYURMcNLLVGyw7ThdixrJ3c+HuY7hnba5eJtapZu40c2wsC908Rapq7
RaqBC2XsGirSxqDa9YQUmiBFqgbUwnThBas634Q117P2aQFL2j+kS68q1m4h13Rt2/6DezQn8X2p
E5AITM/vnNtB0JU63e+MxHbZqYZiy9xk6R7UpabzZ/CSTfKA6lBi7Fp/Ajw2CSKurlqyYdf6zfQ7
po7ph08R5mkej4mWsRgWXBD04ceEpkSbQC7LCP9/jfEbaNVuG88JHdN6lrYBiurbH8oyLTq12cXX
bewHpjnvRY/pimk8x2k3je1Mm/wW0FINJMRGYBxaUFhWZ/Q3WN9fxVlF0F/7J7/8Z+/9+fnp5cXp
u7O3h/3Lo5NBv3dx1r886//roj84H+z9V4GZsEJ1eIpaIbSvHyi4BQQCWL6D6NtiLUhScSpvVQ8I
qMrB9Pcpy2hya1TlmMfgu7SoBxJt2n1YjHEESpgmK2kTAoO5XmaNbQI9ei4C3eslO/NdZKSJajiT
o8ufLKw7nu87frc/Ydvpahlt708fzo7eHZ08rfM0Wed9jcGCIUogLGcpCdR8BK/YkNPm5l4iOK2z
psYcQWU+JrLTkJZuYs8LrLadtCWDLm6kmdFsgw5ydjIBi/0c35w1zvQRnoRQDQOkBJO8VvYSkDpg
bEyFMpLa3+sc3yajq9u+b4drgpejGkptzub42zvbvy/PIVRdvu9DBDszn8TpbvJM/ZrOP9W21uKy
FAbGTr21c+dozg6Otgn1e51rDZFOZwJDQfK/a1i0ZBmvowCwVWXQVyXlaFaygmplJdFQOSNBjT+L
CDWbc7PdIG0YC5ooF9dGMc20ArK+oHmZkZ20bJxxqcO8Ibcvog2RUNVDC6V7i+uGC9sNUaSwcH1n
a6cd9M8vex8+/HTUfxKHbVazi8DAfO01N++c1TR38Nb7SD806zUbYMuL0IJN1+dC1WEthrNN3fc8
y+/qVLgmbvdj38K7r7lai0ahumGqyFPLpYbyoy7DluirQl+7pnKi1bfv2LVhZOmw+ncsb41zB843
zq0Wpd99om9MuyPU2Z7S3Qy6Fjqd1XSgRu/qHytK3PnIrFn6cMdYYbE0a+YtWWBcQlYnF2fHawEK
QvcFoDUAubbd2eV6ASjUMQ583Nks7gRI9U4fHaBpcnl0fFTkhecgQ5EroK+pLL8OEhNq4eAFkhkk
jtokg0DcBQlefHOhyUAhtncHY15s3MEw5oQUGh1ptZagpkbnLd37oOnQyIUyek1adU13VSnfChdq
xo+w4ELJJOZxImHlBfVgvbh80Pr4Roi3VUol46ttCqBMuIzHWkoSlhLN9IZUalCwql/zRorvPWTN
vDv3zevHBR6Ne2iKbF0NLRG11zija3th2Bmy/I5Xi0LsPEan3sFO3R3c0e0CP8Ae7mrdeh2yB/4D
You4Gi/IP+TsK5l2bXfUIbRd7PtdVbuNu/D3niYkwEJjFhUeoJDbtaWNfbtLIfdZxzhLx6Hpm/iZ
Re1RlWVaxbOddPJ07Hmm2ZWJwC87JlBoPoJmXYvfmb6wpiFqe+Ph2XqLmAzh929KzjetD8FXreRM
QkFYvy8Rc9Uf1KYNph/Vq/Kj20OQ+43541Wc0XTa1Hzj/Pjrmx/sXoPZD3Y/zoDb/qDubuhqg7kH
qa8HkXof37jBa7jY9eXgAJ4y5o/BjxI+jkY/WBjAhasgBK5yQgV8gBUEBCL4FhcpXAsGl3/GV/Gg
IQD3a74H9SOkaD7UFTSGj9O3g0H/UFcsFZsWl3E93ca2ta6N7gQdm7vhpm30p99vUWcAPpT1OYjF
vkWTQuv0ubKnYnqPsKmyBdfNXTqvXzxXYVsdTtDU4YT2ZO+rGGa7Aba7YpjntrY6PeziYHWvs2nd
ozy+nR3XkTHY7eTiGA1vQf1ddiA7y/aV3kdcv26VUXhmaVPS+xa1jCVxNmFCtpbtdxymqz1yA+Wn
NnvpF2Itj/O1cPqB2ZnqXuDcAs4gclzdd1z/roHZ1nlur4Y8Gy/2n3v1m9QKxzGRCGTjt9HjoVeC
+prKGbt08dRbgVCUp2QECKf124MFZPB1mHg4xNYLJg0mFo6wp5uWbVtr9myw075n43uWu4DJvmkf
nBKe0+b8YUoKStIIkRuSqNT0eG2HgvWaDHBMirGcKJBeIdW3Veyeksu2plj+2Ww61CS1rKapseKU
MyhEhVhvHifc2Twbddqfg67w39Gxb7m2td2pzjBCSVyNJxINjt6d989+fo3EpKo3k1HKrotvOHkR
dnUnDFyn82StA0X573+ytZEMgrYbmN2SqQj1NGd+5/x937qf//dAJvDCDbxjLuPve+Z3LqTv2GvO
/N5J93Lm9+XM78uZ35czvy9nfp/0zK9tNXsqZoD97ZLHvaXF/wBQSwMECgAAAAAA/Hl6SQAAAAAA
AAAAAAAAAAUAHABmYXN0L1VUCQADqxc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA23l6
SQAAAAAAAAAAAAAAAAsAHABmYXN0L2Jsb2NrL1VUCQADbhc6WJ0bOlh1eAsAAQT1AQAABBQAAABQ
SwMECgAAAAAA23l6SQAAAAAAAAAAAAAAABsAHABmYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS9V
VAkAA24XOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIANt5eklwxIcDaQAAAGsAAAApABwA
ZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMTAzLXN0ZGVyci50eHRVVAkAA24XOlhuFzpYdXgL
AAEE9QEAAAQUAAAAMzIwNNM1NNQ1MlMwNLUyNLEyNdEzNTZRSM7P1UssKMhJ1QtPTfLOLAFRzvl5
Jal5JXouqWWpOfkFuUB2tImRhZGplZG5pYWBSayCX7BTaUlJfp5jXmZuYklmfl6xa15iUk5qiq2f
PxcAUEsDBAoAAAAAAOV5ekkAAAAAAAAAAAAAAAAMABwAZmFzdC9jYW52YXMvVVQJAAN+FzpYnRs6
WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADleXpJ0C+5QZUAAABMAQAAJgAcAGZhc3QvY2FudmFz
L2NhbnZhcy1saW5lRGFzaC1zdGRlcnIudHh0VVQJAAN+FzpYfhc6WHV4CwABBPUBAAAEFAAAANVO
SwrCMBTce4q5gKGtVjGIm1ZcKN24cCEuXtsHBpK8ksb6Ob2ttxAG5sMwTCUDshXSXE9IwM8+TdbK
SkMWjThFXWdZXbg+mjhRIT6yj6rkga10btTXZbbJFzds9yFI2GkUh1/rFc8cT8ZzSf1dw/iBrGnR
jg4UAr01KMIy9RHiGWx5moN7jEHN8OLnHw6iZtVfvPwCUEsDBAoAAAAAAOZ5ekkAAAAAAAAAAAAA
AAAJABwAZmFzdC9jc3MvVVQJAAN/FzpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADleXpJ
W+CFr2cAAABrAAAAKwAcAGZhc3QvY3NzL2NoZWNrZWQtcHNldWRvLXNlbGVjdG9yLXN0ZGVyci50
eHRVVAkAA34XOlh+FzpYdXgLAAEE9QEAAAQUAAAAMzIwNNM1NNQ1MlMwNLUCIQM9A1MLheT8XL3E
goKcVL3w1CTvzBIQ5ZyfV5KaV6LnklqWmpNfkAtkR5sYWZibWBlZGBhbmsYq+AU7lZaU5Oc55mXm
JpZk5ucVu+YlJuWkptj6+XMBAFBLAwQUAAIACADmeXpJ2wjTQjsAAAA/AAAAKQAcAGZhc3QvY3Nz
L2NvbXBhcmUtY29udGVudC1zdHlsZS1zdGRlcnIudHh0VVQJAAN/FzpYfxc6WHV4CwABBPUBAAAE
FAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OL
i1NT9LgAUEsDBAoAAAAAAOd5ekkAAAAAAAAAAAAAAAANABwAZmFzdC9keW5hbWljL1VUCQADghc6
WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA53l6SSgWP7xnAAAAawAAADAAHABmYXN0L2R5
bmFtaWMvY2hlY2tib3gtc2VsZWN0aW9uLWNyYXNoLXN0ZGVyci50eHRVVAkAA4IXOliCFzpYdXgL
AAEE9QEAAAQUAAAAMzIwNNM1NNQ1MlMwNLUCIRM9EwNjheT8XL3EgoKcVL3w1CTvzBIQ5ZyfV5Ka
V6LnklqWmpNfkAtkR5sYWRpaWBlZGBpZmsQq+AU7lZaU5Oc55mXmJpZk5ucVu+YlJuWkptj6+XMB
AFBLAwQKAAAAAAD1eXpJAAAAAAAAAAAAAAAADAAcAGZhc3QvZXZlbnRzL1VUCQADnRc6WJ0bOlh1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgA7Xl6SVgqZ3U5AAAAQwAAADIAHABmYXN0L2V2ZW50cy9k
aXNwbGF5LW5vbmUtb24tZm9jdXMtY3Jhc2gtc3RkZXJyLnR4dFVUCQADjRc6WI0XOlh1eAsAAQT1
AQAABBQAAADLzS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNSFBIVShKL0lNLFMoyU8sVEksUDA0MDPQM
wEDHFM7kAgBQSwMEFAACAAgA7Xl6SWh8KKFnAAAAawAAAEkAHABmYXN0L2V2ZW50cy9kb21hY3Rp
dmF0ZS1zZXRzLXVuZGVybHlpbmctY2xpY2stZXZlbnQtYXMtaGFuZGxlZC1zdGRlcnIudHh0VVQJ
AAONFzpYjRc6WHV4CwABBPUBAAAEFAAAADMyMDTTNTTUNTJTMDS1AiIjUz0LAwOF5PxcvcSCgpxU
vfDUJO/MEhDlnJ9XkppXoueSWpaak1+QC2RHmxhZGAM1mVtaGhvGKvgFO5WWlOTnOeZl5iaWZObn
FbvmJSblpKbY+vlzAQBQSwMEFAACAAgA9Hl6STC1beM5AAAAQwAAACsAHABmYXN0L2V2ZW50cy9t
b3VzZS1mb2N1cy1pbWFnZW1hcC1zdGRlcnIudHh0VVQJAAOcFzpYnBc6WHV4CwABBPUBAAAEFAAA
AMvNLy1O9c0vSw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJTyxUSSxTMDQz0DMBAR9cQzuYC
AFBLAwQUAAIACAD1eXpJ5669XzsAAABDAAAALwAcAGZhc3QvZXZlbnRzL21vdXNldXAtb3V0c2lk
ZS1kb2N1bWVudC1zdGRlcnIudHh0VVQJAAOdFzpYnRc6WHV4CwABBPUBAAAEFAAAAMvNLy1O9c0v
Sw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJTyxUSSxRMDAwM9AzAQMfYwhTK5AIAUEsDBAoA
AAAAAO55ekkAAAAAAAAAAAAAAAALABwAZmFzdC9mb3Jtcy9VVAkAA5AXOlidGzpYdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAOl5ekmqTmQgZwAAAGsAAAA0ABwAZmFzdC9mb3Jtcy9WYWxpZGl0eVN0
YXRlLXZhbHVlTWlzc2luZy0wMDYtc3RkZXJyLnR4dFVUCQADhhc6WIYXOlh1eAsAAQT1AQAABBQA
AAAzMjA00zU01DUyUzA0tQIhCz1zUzOF5PxcvcSCgpxUvfDUJO/MEhDlnJ9XkppXoueSWpaak1+Q
C2RHmxhZmBtaGVkYGJuZxSr4BTuVlpTk5znmZeYmlmTm5xW75iUm5aSm2Pr5cwEAUEsDBAoAAAAA
AOh5ekkAAAAAAAAAAAAAAAAQABwAZmFzdC9mb3Jtcy9maWxlL1VUCQADhBc6WJ0bOlh1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgA6Hl6SbCbaVBnAAAAawAAADMAHABmYXN0L2Zvcm1zL2ZpbGUvZmls
ZS1pbnB1dC1wcmVzc2VkLXN0YXRlLXN0ZGVyci50eHRVVAkAA4QXOliEFzpYdXgLAAEE9QEAAAQU
AAAAMzIwNNM1NNQ1MlMwNLUCITM9czNLheT8XL3EgoKcVL3w1CTvzBIQ5ZyfV5KaV6LnklqWmpNf
kAtkR5sYWZgYWxlZGBiYmMYq+AU7lZaU5Oc55mXmJpZk5ucVu+YlJuWkptj6+XMBAFBLAwQUAAIA
CADueXpJ43a5TakAAADpAAAAMwAcAGZhc3QvZm9ybXMvZm9ybS1hc3NvY2lhdGVkLWVsZW1lbnQt
Y3Jhc2gtc3RkZXJyLnR4dFVUCQADkBc6WJAXOlh1eAsAAQT1AQAABBQAAAB9TbsKwkAQ7P2KrQM5
cheNYidqIVpZmCJYnMnGHCS78W5V/HtPsRYGZhjmYTJdpFqnpgA9W0aYhcpyDTUPyo5jj6rEy97J
h9ZMgiRqgw/seRyirqZmMdexlOVFcYYkSSCtVqdVCChHDHz3NR7YNo6uR7zdMQi0jlzofmbppNt6
z355hqcNEOImCIMlcBTEUo3ALfxflM7Kt217j7Z5/S6wUbC7EvsYVZM3UEsDBAoAAAAAAOh5ekkA
AAAAAAAAAAAAAAARABwAZmFzdC9mb3Jtcy9yYWRpby9VVAkAA4QXOlidGzpYdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIAOh5ekmRLxxoZQAAAGsAAABBABwAZmFzdC9mb3Jtcy9yYWRpby9pbnRlcmFj
dGl2ZS12YWxpZGF0aW9uLXJlcXVpcmVkLXJhZGlvLXN0ZGVyci50eHRVVAkAA4QXOliEFzpYdXgL
AAEE9QEAAAQUAAAAMzIwNNM1NNQ1MlMwNLUCITM9CxNLheT8XL3EgoKcVL3w1CTvzBIQ5ZyfV5Ka
V6LnklqWmpNfkAtkR5sYWRqaWRlZGALpWAW/YKfSkpL8PMe8zNzEksz8vGLXvMSknNQUWz9/LgBQ
SwMECgAAAAAA7Hl6SQAAAAAAAAAAAAAAAAwAHABmYXN0L2ZyYW1lcy9VVAkAA4wXOlidGzpYdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIAOx5eknbCNNCOwAAAD8AAAAvABwAZmFzdC9mcmFtZXMvZnJh
bWUtZGlzcGxheS1ub25lLWZvY3VzLXN0ZGVyci50eHRVVAkAA4wXOliMFzpYdXgLAAEE9QEAAAQU
AAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUKivKTU4uL
U1P0uABQSwMECgAAAAAA63l6SQAAAAAAAAAAAAAAAAoAHABmYXN0L2h0bWwvVVQJAAOJFzpYnRs6
WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADreXpJnyzDHGgAAABrAAAAKwAcAGZhc3QvaHRtbC9k
ZXRhaWxzLWNsaWNrLWNvbnRyb2xzLXN0ZGVyci50eHRVVAkAA4kXOliJFzpYdXgLAAEE9QEAAAQU
AAAAMzIwNNM1NNQ1MlMwNLUCIiNDPRMDc4Xk/Fy9xIKCnFS98NQk78wSEOWcn1eSmlei55JalpqT
X5ALZEebGFmamVkZWZgaGJvEKvgFO5WWlOTnOeZl5iaWZObnFbvmJSblpKbY+vlzAQBQSwMECgAA
AAAA9Hl6SQAAAAAAAAAAAAAAAAwAHABmYXN0L2ltYWdlcy9VVAkAA5wXOlidGzpYdXgLAAEE9QEA
AAQUAAAAUEsDBAoAAgAAAPN5eklRp4IYMQAAADEAAAAtABwAZmFzdC9pbWFnZXMvbGFyZ2Utc2l6
ZS1pbWFnZS1jcmFzaC1zdGRlcnIudHh0VVQJAAOaFzpYmhc6WHV4CwABBPUBAAAEFAAAAGluaXRJ
bWFnZUFwcGxlSlBFRzoxNDE2OiBmYWxsaW5nIGJhY2sgdG8gbGliSlBFRwpQSwMEFAACAAgA9Hl6
SSGPvTgyAAAAMwAAACwAHABmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJy
LnR4dFVUCQADnBc6WJwXOlh1eAsAAQT1AQAABBQAAABzy0ksSXVJTc5PSbVSSAHRmXnpCqlFRflF
VgqZecn5RUWpySUKKYkliQrJGanJ2XpcAFBLAwQKAAAAAADyeXpJAAAAAAAAAAAAAAAADAAcAGZh
c3QvbG9hZGVyL1VUCQADlxc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA7Hl6SdsI00I7
AAAAPwAAAFIAHABmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFn
ZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQJAAOLFzpYixc6WHV4CwABBPUB
AAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCory
k1OLi1NT9LgAUEsDBBQAAgAIAO15eknbCNNCOwAAAD8AAABTABwAZmFzdC9sb2FkZXIvaW1hZ2Vz
LWVuYWJsZWQtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLXN0
ZGVyci50eHRVVAkAA40XOliNFzpYdXgLAAEE9QEAAAQUAAAAcywpSc0tKFEoyVdIzSssTS1NVUhU
KM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwMEFAACAAgA8nl6SdsI00I7
AAAAPwAAAC0AHABmYXN0L2xvYWRlci9yZWxvYWQtcG9saWN5LWRlbGVnYXRlLXN0ZGVyci50eHRV
VAkAA5cXOliXFzpYdXgLAAEE9QEAAAQUAAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoo
lGdk5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwMECgAAAAAA8Xl6SQAAAAAAAAAAAAAAAAsA
HABmYXN0L21lZGlhL1VUCQADlRc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA73l6ScJB
YokdAAAAdgEAAEEAHABmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1saXZlLXVwZGF0ZS1p
bi1zdWJmcmFtZXMtc3RkZXJyLnR4dFVUCQADkhc6WJIXOlh1eAsAAQT1AQAABBQAAAArSk1OzSxL
TVHIyy/JTMtMTizJzM/jKhoVpakoAFBLAwQUAAIACADveXpJwkFiiR0AAAB2AQAANAAcAGZhc3Qv
bWVkaWEvbXEtaW52ZXJ0ZWQtY29sb3JzLWxpdmUtdXBkYXRlLXN0ZGVyci50eHRVVAkAA5IXOliS
FzpYdXgLAAEE9QEAAAQUAAAAK0pNTs0sS01RyMsvyUzLTE4syczP4yoaFaWpKABQSwMEFAACAAgA
8Hl6ScJBYokdAAAAdgEAAC8AHABmYXN0L21lZGlhL21xLW1vbm9jaHJvbWUtbGl2ZS11cGRhdGUt
c3RkZXJyLnR4dFVUCQADlBc6WJQXOlh1eAsAAQT1AQAABBQAAAArSk1OzSxLTVHIyy/JTMtMTizJ
zM/jKhoVpakoAFBLAwQUAAIACADxeXpJwkFiiR0AAAB2AQAAOwAcAGZhc3QvbWVkaWEvbXEtcHJl
ZmVycy1yZWR1Y2VkLW1vdGlvbi1saXZlLXVwZGF0ZS1zdGRlcnIudHh0VVQJAAOVFzpYlRc6WHV4
CwABBPUBAAAEFAAAACtKTU7NLEtNUcjLL8lMy0xOLMnMz+MqGhWlqSgAUEsDBAoAAAAAAPB5ekkA
AAAAAAAAAAAAAAARABwAZmFzdC9tZWRpYXN0cmVhbS9VVAkAA5QXOlidGzpYdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIAO15eknpPtPEnQAAALQAAABAABwAZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbS12aWRlby1lbGVtZW50LXRyYWNrLXN0b3Atc3RkZXJyLnR4dFVUCQADjhc6WI4XOlh1eAsA
AQT1AQAABBQAAAAVjcsKwjAURPd+xf2BhiZqWrpTuxHdKboQF7ftbQ3kUZJUiV9vhIEZDhxGlFwW
nBdCAt82OUIyXnLonWE4z5rYnbqTiv86OBvJRtbSm7SbTd6PjailbERdVev6CcfJOq/slHUbvdNX
ZajDQBAoQpeg1ypL0FGPS6a72wVN/tgv40i+VWHWmM6YyMMHA+Aw0ADRAUJItn95Z9WX/OoHUEsD
BBQAAgAIAO55ekmu32AMnQAAALQAAABLABwAZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12
aWRlby1lbGVtZW50LXZpZGVvLXRyYWNrcy1kaXNhYmxlZC1zdGRlcnIudHh0VVQJAAOPFzpYjxc6
WHV4CwABBPUBAAAEFAAAABWNywrCMBRE937F/YEGE2taulO7Ed0puhAXt+1tDeRFkir1640wMMOB
w4g1lwXnhZDAt02OkKzmG+idYei9Jnan7qTSvw7OJrKJtfQm7bzJ+1GKWspG1FVVyiccJ+uCslPW
bQpOX5WhDiNBpATdAr1WWYKOepwz3d0uaPLHfh5HCq2KXuNyxoUCfDACDgMNkBwgxMX2r+Cs+lJY
/QBQSwMEFAACAAgA7Xl6ScKz3WCdAAAAtAAAAFgAHABmYXN0L21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLXZpZGVvLWVsZW1lbnQtdmlkZW8tdHJhY2tzLWRpc2FibGVkLXRoZW4tZW5hYmxlZC1zdGRl
cnIudHh0VVQJAAOOFzpYjhc6WHV4CwABBPUBAAAEFAAAABWNywrCMBRE937F/YEGG9K0dKd2I7pT
dCEubtPbGsijJKlSv94IAzMcOAzflrIoy4JLKKs2h0smeAXKW4bzbIjdqT/p9K+Dd4lcYh29yfjZ
5v0QvJGy5U1dC/GE4+R80G7KukvBm6u21GMkiJSgX0EZnSXoSeGS6e52QZs/9ss4Uuh0nA2uZ1wp
wAcj4DDQAMkDQlydegXv9JfC5gdQSwMEFAACAAgA7nl6SWmQ91WcAAAAtAAAADIAHABmYXN0L21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtQ29uc3RydWN0b3Itc3RkZXJyLnR4dFVUCQADjxc6WI8XOlh1
eAsAAQT1AQAABBQAAAAVjcsKwjAURPd+xf0Bg4malu7UbkR3ii7ExW17WwN5kaRK/HojDMxw4DBi
xeWS86WQwLdNiaiYqAX0zjD0XhO7U3dS6V8HZxPZxFp6k3belP3YiFrKRtRVta6fcJysC8pORbcp
OH1VhjqMBJESdBl6rYoEHfU4F7q7XdCUj/08jhRaFb3GfMZMAT4YAYeBBkgOEGK2/Ss4q74UFj9Q
SwMEFAACAAgA8Hl6Sc1a8PueAAAAtAAAADMAHABmYXN0L21lZGlhc3RyZWFtL2FwcGx5LWNvbnN0
cmFpbnRzLWF1ZGlvLXN0ZGVyci50eHRVVAkAA5QXOliUFzpYdXgLAAEE9QEAAAQUAAAAFY3LCsIw
FET3fsX9gZY2tmnpTu1GdKfoQlzcpLc1kEdJUqV+vREGZjhwGFaUPCvLjHEo6y5ly/Ki4CCdyXGe
NeV3EicV/3VwNpKNeU9v0m42aT8q1nLesbZpqvoJx8k6r+yUdBu901dlSGAgCBRBrCC1ShIIkrgk
urtd0KSP/TKO5HsVZo3rGVfy8MEAOAw0QHSAEFYrX95Z9SW/+QFQSwMEFAACAAgA8Hl6SbM2aCKd
AAAAtAAAACoAHABmYXN0L21lZGlhc3RyZWFtL2FyZ3VtZW50LXR5cGVzLXN0ZGVyci50eHRVVAkA
A5QXOliUFzpYdXgLAAEE9QEAAAQUAAAAFY3LCsIwFET3fsX9gZYm9kV3ajeiO0UX4uImva2BNAlJ
qtSvN8LADAcOwwtWZ4xlvAZWdSlbnpdFBdLOOTqnKb+TOKn4r4M1kUzMe3qTtm5O+1Hytq473jZN
WT3hOBnrlZmSbqK3+qpmEhgIAkUQK0itkgSCJC6J7m4XnNPHfhlH8r0KTuN6xpU8fDAADgMNEC0g
hNXIl7dGfclvflBLAwQKAAAAAADweXpJAAAAAAAAAAAAAAAADAAcAGZhc3QvcGFyc2VyL1VUCQAD
kxc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA8Hl6SfuwlNpoAAAAawAAACQAHABmYXN0
L3BhcnNlci9iYWQteG1sLXNsYXNoLXN0ZGVyci50eHRVVAkAA5MXOliTFzpYdXgLAAEE9QEAAAQU
AAAAMzIwNNM1NNQ1MlMwNLUCImNDPSMDQ4Xk/Fy9xIKCnFS98NQk78wSEOWcn1eSmlei55JalpqT
X5ALZEebGFlYmFgZWRiYmpnEKvgFO5WWlOTnOeZl5iaWZObnFbvmJSblpKbY+vlzAQBQSwMECgAA
AAAA93l6SQAAAAAAAAAAAAAAAA0AHABmYXN0L3JlZ2lvbnMvVVQJAAOhFzpYnRs6WHV4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAAD3eXpJAAAAAAAAAAAAAAAAFwAcAGZhc3QvcmVnaW9ucy9zY3JvbGxp
bmcvVVQJAAOiFzpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAD3eXpJOQHL3UAAAAB6AAAA
NQAcAGZhc3QvcmVnaW9ucy9zY3JvbGxpbmcvd2hlZWwtc2Nyb2xsLWFic3Bvcy1zdGRlcnIudHh0
VVQJAAOhFzpYoRc6WHV4CwABBPUBAAAEFAAAAHMtS80rCU7NS0ktCijKr6i0skrOzyvJzCvNLy32
BeLU4OSi/Jwcp0qFzGKFvPwShczcgpzUXKCm1BQuV0o0AwBQSwMEFAACAAgA93l6STkBy91AAAAA
egAAAC4AHABmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1zdGRlcnIudHh0VVQJ
AAOhFzpYoRc6WHV4CwABBPUBAAAEFAAAAHMtS80rCU7NS0ktCijKr6i0skrOzyvJzCvNLy32BeLU
4OSi/Jwcp0qFzGKFvPwShczcgpzUXKCm1BQuV0o0AwBQSwMEFAACAAgA93l6SeSKx0M8AAAAPQAA
AEAAHABmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbGFibGUtc2luZ2xlLXJlZ2lv
bi1zdGRlcnIudHh0VVQJAAOiFzpYohc6WHV4CwABBPUBAAAEFAAAAHMtS80rCU7NS0ktCijKr6i0
skrOzyvJzCvNLy32BeLU4OSi/Jwcp0qFzGKFvPwShczcgpzUXKCm1BQuAFBLAwQKAAAAAAD8eXpJ
AAAAAAAAAAAAAAAACQAcAGZhc3QveHNsL1VUCQADrBc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwME
FAACAAgA/Hl6SXL9ZfKFAAAA6QAAACUAHABmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRl
cnIudHh0VVQJAAOrFzpYqxc6WHV4CwABBPUBAAAEFAAAAK1OMQ7CQAzb+4p8oGRguxkm2EB0TttU
nJS7VLmc1P6eg36BxbJsy/akaY1CHjUDm6kFWKLwDwIivlRq4oIXcsLr8MCBx1t0vNOu1Z9cvOBC
xXErgsZFq00tvr2tn3U6NRUkZoYzsHDi7BDTquZdc8JBIUDNNLZRVxCl+U/j/VHP8/dF9wFQSwME
FAACAAgA/Hl6Sc4JKAKNAAAA8AAAACcAHABmYXN0L3hzbC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0
ZGVyci50eHRVVAkAA6sXOlirFzpYdXgLAAEE9QEAAAQUAAAApY4xDsIwDEX3nsIXKB7YMsMEG4jO
TuuKSE5cOY4EtyfQI7B8+f9nW3/WvCUhT1qAzdQCrEn4JwERHyotc8UTOeF5uuHE8ZIcr/TW5neu
XnGl6viqgsZVm819vTsfIy1jypuaj83SoWcgqTAcgYUzF4edDp2EfYQArVDsBVxBlJZ/ixStbX5+
n/Q7keEDUEsDBBQAAgAIAPx5eknPj2YOUAAAAKAAAAAkABwAZmFzdC94c2wveHNsdC1jb250ZW50
VHlwZS1zdGRlcnIudHh0VVQJAAOrFzpYqxc6WHV4CwABBPUBAAAEFAAAAK3MsQ3AIAwF0Z4p/gZR
2myDwAhLNkaWiTJ+yA5prrtXTCdLDrYBcje/0FgIEB6EEySkNAK2Yq5IPO4sXLG7CM0cStGt7sss
lb+wp4fK8ZEvUEsDBBQAAgAIAPx5ekmBSnetSwAAAKwAAAA0ABwAZmFzdC94c2wveHNsdC10cmFu
c2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUCQADrBc6WKwXOlh1eAsAAQT1AQAA
BBQAAAC1zLENgDAMRNE+U9wKtGzjwAVZcmxkLOZHomAD6q/3t5inmpSGg5mRK4YaAVMnFtA46YVb
UqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQSwMEFAACAAgAFnx6SUsLXAXcAgAAmAgAABEAHABmdWxs
X3Jlc3VsdHMuanNvblVUCQADmxs6WJ0bOlh1eAsAAQT1AQAABBQAAAC9Ve9P2zAQ/Vcqf9qkmBbK
kOjEh050CPFTtIxN0xQ58aWxSGzLvpRmiP99ZxcKA8S0dfCptmvfe/fu3WW4u5uejcbnh5Pxu2uG
4NGzwTUDqVDpaVgqbRsMCyu8vzJOcshLw8NOGwlrJdZV+NuBNY4usrPRHkUc758cs4TB3EKOIOn8
dDge04nIsRH0gk32j0Yn5xM6KoVPPUpwjg3QNXCTPAJDmOObgd1l1n9TtI1XQbshvBLRhrjL4tZU
XREWZRX3MyXBcNk4gcpoLvIcvFeZqhS2T1l9PhwefPsDodHXSef28FlKMAON3jQuh+i2+y13gK7l
1kGuPLFZQRUiwX7HouC50ZpehGzJ31yLmZoKBJ474ctVwWJuS3XRifxyueBK80xoyT22FfybrIs6
v6hsbmpr/LJ5Y2lj8xqP4JawL6DsHw33RncYT+g9Bg1XiuCsFFtLxfzOdnbYj4SpWkwhlaooUgsk
vaYgvbXeeiSp6hA1oF+zq34efyDjthJYGFfzpVP3tYQ5yN1PYSMyehRkVJryExVv7NQJCRpAglzR
qJHXEo78p2bBFpkzV/5uEMqsoJfGtamxoLdfrYZZpXQ0jicwknExhSM1mYVNVpmMz0SlJM+AFCP7
mrpW+EqMAifysA62MjoWpgI9xdKrn8Dv/+FoeOFMzUWDZtV6JJQ9WM9R1aFRi0bn+Ow8+OuwpbDA
TYOeeuMBe/8/HOQvlbXhYn9j+0PCdFOnDqYuzNOo3FbCDJbg0jhvIGgZ+kFTb7rGRohCVB4WT2vl
F+brJawSLXFOY2tQX1F1WPeLqZoafHdXoOiOLsbdC8gOFHYP491J7KKEzcAFdDbYXEQNX5yAvNnv
bRJHq+ZQ3cYFLbLqAQlJPUBAvT7lc3rUMbpzbGZQZ+A6G1tJZ6O3vnVrGRrYiC3Fxry8mwyFmodw
JEZ/vbfALipx2bLBdsIa4pAuhI2fHZ8WKtyNnnv/8RdQSwMECgAAAAAAAXp6SQAAAAAAAAAAAAAA
AAUAHABodHRwL1VUCQADsRc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAB3p6SQAAAAAA
AAAAAAAAAAsAHABodHRwL3Rlc3RzL1VUCQADvhc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAA3p6SQAAAAAAAAAAAAAAABEAHABodHRwL3Rlc3RzL2NhY2hlL1VUCQADtRc6WJ0bOlh1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAA3p6SQzLmi5/AAAAEQEAADAAHABodHRwL3Rlc3RzL2NhY2hl
L21lbW9yeS1jYWNoZS1wcnVuaW5nLXN0ZGVyci50eHRVVAkAA7UXOli1FzpYdXgLAAEE9QEAAAQU
AAAA88svUzAyUzA0tTI0szIwVUgtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuPNjGyMLeMVbDxzEvL
t7NSyMlPTwcKKxSXJBaVFOvp6XH5kWyUS2pSaTrQrMy8zJLwzJKM4NTi4sz8PJANVgoRAc4Kefkl
Cql5JZklOakpOgqG9LACAFBLAwQKAAAAAAABenpJAAAAAAAAAAAAAAAAEgAcAGh0dHAvdGVzdHMv
Y2FudmFzL1VUCQADsRc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAAXp6SQAAAAAAAAAA
AAAAABgAHABodHRwL3Rlc3RzL2NhbnZhcy93ZWJnbC9VVAkAA7EXOlidGzpYdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIAAF6ekkKqhjLewAAAK4AAAA7ABwAaHR0cC90ZXN0cy9jYW52YXMvd2ViZ2wv
b3JpZ2luLWNsZWFuLWNvbmZvcm1hbmNlLXN0ZGVyci50eHRVVAkAA7EXOlixFzpYdXgLAAEE9QEA
AAQUAAAAlc2xCsJADIDhvU+RB5CjKVr1EBddXIrgoCAOtcYzcCRyifr61kdw/Yfv7/QNTQs4i9jG
GoE+hvU8ZB36DMWHQk8tzpLO02aJiwusdnLXdYSsKY0ZzPviFkKour+pLV1fabRY2I/sjwOZscrv
EOG034CoA4mzZ7pNAKsvUEsDBAoAAAAAAAJ6ekkAAAAAAAAAAAAAAAAXABwAaHR0cC90ZXN0cy9l
dmVudHNvdXJjZS9VVAkAA7QXOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAgAAAAJ6ekmTBtcy
AQAAAAEAAABNABwAaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3Qt
ZHVyaW5nLW5hdmlnYXRlLWNyYXNoLWFjdHVhbC50eHRVVAkAA7MXOlizFzpYdXgLAAEE9QEAAAQU
AAAAClBLAwQUAAIACAACenpJT6IdENAAAACeAQAASwAcAGh0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
ZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1kaWZmLnR4dFVUCQAD
sxc6WLQXOlh1eAsAAQT1AQAABBQAAADNzs1KxEAMB/B7nyL3mqbdi9JTXR08+LHggHuO07AtjDOl
k1nWt7ctIvoGkkNCEv78EBHoLfr8IYnuWZnM0dJR3h9H/W77PPqeXsULJyHPnzErqiTFWVL2mmhQ
nWjdJJKzBE0xz05+z8uriyGIU+zzPIYTBj6PJ1ZBN3MaUC7TcpS+0osWZVn+CxQ7zew3UtcBNlc7
KBvougLvDi/28GTg2Vh7+2BaMGus3WLBcQhRwUfuYVW0RM3uuqqXatqbuq7/gBbvNiT64VTTMFVQ
QPEFUEsDBBQAAgAIAAJ6ekmREwZeXAAAAGYAAABPABwAaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9l
dmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5nLW5hdmlnYXRlLWNyYXNoLWV4cGVjdGVkLnR4dFVU
CQADsxc6WLMXOlh1eAsAAQT1AQAABBQAAABz9vcL9vdxVfB1DQ52dHe1UnAtS80rCc4vLUpOVUhO
zMvLL1HIyU9MUcgoKSmw0tc3NDLXMwBCQysLAwMD/VSQ6mKwav2iVAijGMhKzs/LS00u0SvIKNBT
4OICAFBLAwQUAAIACAACenpJ/vdyqJAHAAB8FwAAUwAcAGh0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
ZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1wcmV0dHktZGlmZi5o
dG1sVVQJAAO0FzpYtBc6WHV4CwABBPUBAAAEFAAAAKVYaW/kNhL97l9B2NgYCKyjbfekj5kOMnZ7
F8iJ7WDzMaAkqsUxJSokZbcnu/89xUstqSV7FpnBTEtkkazjVb2i3heqZJuz9wXBGfyURGGUFlhI
oj5cNioPFpcwLNULI5uzFaPV4xVaPVFJFcnQn2cI/ihyUEFGUi6worxaoYpXZG2mEi4yIoKEK8XL
FZrVB5TBM8nWZ/87s9u5TVLOuFihi/hmaebCB8rIPc1zN5/g9HEveFNlgRfNF/pv9yB7guSMZugi
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
YWwudHh0VVQJAAO0FzpYtBc6WHV4CwABBPUBAAAEFAAAABWMUQqDMBAF//cU7wQewD+hCkKphfQE
jVsaiPtKsrZ4+8bfmWEeWh3jV80D9xIVRb0c8LQpPkVjqonWIby557WRZI77EAJezJk/XfE8cFlu
YycyDfO1b4NIM43enJOopMlZiPwBUEsDBBQAAgAIAAJ6eknIhjRj4QAAAK8BAAA7ABwAaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZXRyeS1wcmVjaXNpb24tZGlmZi50eHRVVAkA
A7QXOli0FzpYdXgLAAEE9QEAAAQUAAAAxZDBTsMwDIbveQrfQxpx2GWnDq1IiAkQQeycNZ4WyY2r
xoH17UkrBLwBF9v67f/TLxtjwL4zlQGz3Xvxtjs6e8TTY5TvdlciBfuKhD6jJT9zESOYxUyYC0m2
F5HRLkq2+IFJMpepx79zPZVpNuOEfcyRk8HriL1gaOQqSmv9LyF8L8XTGqFtwdzebEAvpW0VvFUS
dIvZrWZYzSBxQPghNOAuXChUJSaBl51zcGYi/sQApxn2z09do0CZZbOFEAMkFojDgCF6QZortueU
6i+Uvt89HLa/QkUIM2TmpFZSBX0BUEsDBBQAAgAIAAJ6ekmHADDIZwAAAHYAAAA/ABwAaHR0cC90
ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZXRyeS1wcmVjaXNpb24tZXhwZWN0ZWQudHh0
VVQJAAO0FzpYtBc6WHV4CwABBPUBAAAEFAAAABXMQQrCMBCF4f2c4p2gB3An2K0K8QKaPHEgmZF0
quT2bbcfP/+DS2D+0SL52jPRGX0gtBHfzqyLuk1IH19r2UUtcD+nhLfX6n8WvAYut+s8iRx+QtEC
84C2xqLPYB37NLsZc8iRimxQSwMEFAACAAgAAnp6SWaGDqLyBwAAqhoAAEMAHABodHRwL3Rlc3Rz
L2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1wcmV0dHktZGlmZi5odG1s
VVQJAAO0FzpYtBc6WHV4CwABBPUBAAAEFAAAAL1Za2/juBX9nl8hJGgDLCLJju1p7GRczOSBFrvd
DupB92NBiZTFCSW6JJXY0+1/7+VLlmTJNtBtd7Ajibwkz32eS89Drgq2vHjICcLwKIhCQZojIYn6
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
GxBSOvQelAdtc6FbqxOW/sVYZnYH3QS+ubqAex91rtuHS3CUO6ytC3CruDsYBLf3uG6KUQqKIZeK
ygXjKWuezMam8DrPDhrQkCKN8gqiXyPddqffYQAumKhiQQ5FNdfiEx2MuGBTb/z7WBM6Iwiflaes
FKZAmUJeWuuDqcCqWJr4GeMOaB49o7nsVgJL75RlilKJidKYCZ03mpXdLcdGZiXm20ww1RSFbxxK
WAsj90pSGVALDoGdALFT8MRnGRzthFPCUDDOCQR1Dj8a9ff5xtkKkh5/jwjIQhIPB8P+mcL/xJ01
zvEKT1KuOQbutL4AUEsDBBQAAgAIAAZ6ekkamcTWsQAAAJUBAAAsABwAaHR0cC90ZXN0cy9tZWRp
YS9obHMvaGxzLXByb2dyZXNzLXN0ZGVyci50eHRVVAkAA7wXOli8FzpYdXgLAAEE9QEAAAQUAAAA
tY/RDsFAEEXffcX9ABFbVc0SiSDigTRphKTxgA422p1md8rvoyLxA57n5pw5meprFWkVdIJeuMco
nS+SzSoZYyJCZSVrkge724qtEXYpSV1pWBZ4EjH2grqC/WxQfkZDHPLckfcwHgWfDkUr+7H0/2ZZ
8x1BhK8L9PCqO+g0Rzg5OarYvXFZGMTxu3ZGx/oy1jAv5NbINX3xDNulPbPGLpk2P5AVIwXlbajf
kLD3t5AnUEsDBBQAAgAIAAZ6ekmZnNuesAAAAJUBAAAwABwAaHR0cC90ZXN0cy9tZWRpYS9obHMv
aGxzLXZpZGVvLXJlc2l6ZS1zdGRlcnIudHh0VVQJAAO8FzpYvBc6WHV4CwABBPUBAAAEFAAAAL2P
0QoBQRiF7z3FeQBtZrNLQ0pILmhrE7W5WPbHZM2/zfzL61ukvADX5/R952Qq0irWKgx6UbjDMJ3N
k/UyGWEsQtdKViR3dpclWyPsUpK60rAs8CRi7Al1Bfvu4PouDZAXhSPvYTxKPuRlK/uLZcU3hDE+
LtDdq04veIVwcnBUsXvism7Y73ebHVPa16eRhmmQGyPntOEZtgt7ZI1tMnltICtGSiraUN9H4s7P
jjwAUEsDBBQAAgAIAAd6ekn6jBXzvgAAACoDAAA9ABwAaHR0cC90ZXN0cy9tZWRpYS9obHMvdmlk
ZW8tY29udHJvbGxlci1nZXRTdGFydERhdGUtc3RkZXJyLnR4dFVUCQADvRc6WL0XOlh1eAsAAQT1
AQAABBQAAADVj0uqwkAUROeuohYgwU40aiuCqIgDJRDkPQgO1Fy1MfYN3Te6fX8IbkDBcRV16mSq
pVWsVRh0W9EK/XQyTZbzZIChCJ1KWZBc2B3nbI2wS0mqUsOywJOIsXtUJeyzg9Oz1MM6zx15D+NR
8HZd1LKvU5o/TlnwGWGMFwt08arRDh4hnGwdlezuc1kz7HTuP8a0qfYDDXOb/DNySG97hu3M7ljj
Pxk9PpAVIwXldah3kTj8kkj0SZEoaESfE7kCUEsDBBQAAgAIAAd6ekl/Wape/AAAAIcDAAA6ABwA
aHR0cC90ZXN0cy9tZWRpYS9obHMvdmlkZW8tY29udHJvbHMtbGl2ZS1zdHJlYW0tc3RkZXJyLnR4
dFVUCQADvRc6WL0XOlh1eAsAAQT1AQAABBQAAADtj81Kw0AUhfc+xXkAKZmkPzFKQaxIFy0DVSwE
F2ly0w5N5oaZG/v6ji1CxZVgd67P4TvfydUoU+NMJYMkVW+4Wz0+6ZeFnuJehNpOliQHdvsFWyPs
ViR9l8GywJOIsVv0Heypg/ZUukVRVY68h/FouCyaq/xsJb7YypLfEY/xtQU6eBVNBscQTkpHHbtP
XD6M03QYPGa06bfTDCYgX43sVoFn2M5tzRnW+uHoQFaMNFRdQ307cnOxI21H27grnCcHTV47LkP+
7HWxz1CWIOfYBWno+QwqiuF33DcVNoRwO2Ai1KYhcF2HXSST8W+R6gw5+kkcpXH6b/mHlh9QSwME
FAACAAgACHp6ST7MEZgtAAAALgAAADwAHABodHRwL3Rlc3RzL21lZGlhL2hscy92aWRlby1kdXJh
dGlvbi1hY2Nlc3NpYmlsaXR5LWFjdHVhbC50eHRVVAkAA8AXOljAFzpYdXgLAAEE9QEAAAQUAAAA
43INc/UL0SguSczJSU3RVAhxDQ7RSEvMKU7VVHBz9PThcvVzUfB3A4tzcQEAUEsDBBQAAgAIAAh6
ekmmV9mXNAEAAMgDAAA6ABwAaHR0cC90ZXN0cy9tZWRpYS9obHMvdmlkZW8tZHVyYXRpb24tYWNj
ZXNzaWJpbGl0eS1kaWZmLnR4dFVUCQADwBc6WMEXOlh1eAsAAQT1AQAABBQAAADF0kFPwjAYBuD7
fsXniZHRNTMevJBMZUSCgpEFvJb1wzWWdmm/Gvj3bggHD95cPDV9mzzveyhjDPja6rBHzyeCBC82
K77B7VzR+bgPSkv+ihqFR67F0QZihJ6YQx80eV4TNbxLPN+jVILX2vNPJdEyGZwgZQ0TVYXeq63S
io4MDw1WhDKlA0VJkvzHBlFREPq0IM+BZaPsFpJsdAN5HkHEinWxKONKmKato9rZ8F4PL3GXdZe3
l+KhLCYQn5rSSxNcjWFmdsq0PTAew4BcwMEQlvML4BE/UP4gUIvGoyzVHl0q0VdONR2WKiPxsNzF
gwxWWFkjW+mqVVn2h/b12fZ94Bk8KxMI+xn+bfc0/NEG18/sTv51dHKmSWjd2lAWqzLeCe1xCNO7
2VMExWICy+npof2uX1BLAwQUAAIACAAIenpJkZ/NH64AAAB+AgAAPgAcAGh0dHAvdGVzdHMvbWVk
aWEvaGxzL3ZpZGVvLWR1cmF0aW9uLWFjY2Vzc2liaWxpdHktZXhwZWN0ZWQudHh0VVQJAAPAFzpY
wBc6WHV4CwABBPUBAAAEFAAAALXOvQ6CMBSG4b1XcZyAQRLcmaRGYwQTGuPa0IM0Ykv6Y+TuhcDg
4gbbyZecJy+hN5qzsOKqa3nvGqP9o4nItI7TcN+vdM9oBuFbCtSx8IY7qRVsUjipWirpekhTCJzx
GERQnOd3i/hE8QtgyzuLgskXmligrYzsRiqWSuCnqMMggRIrrcTgbAZzmywm72bZLk8ncJHKO1wj
epJXiT5qb9ZIHt3/wXkGxQEYLRkhX1BLAwQUAAIACAAJenpJhXRKYGgIAACeJAAAQgAcAGh0dHAv
dGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWR1cmF0aW9uLWFjY2Vzc2liaWxpdHktcHJldHR5LWRpZmYu
aHRtbFVUCQADwRc6WMEXOlh1eAsAAQT1AQAABBQAAADVWmtv20YW/e5fwdrYOilMUrIk15JjLxpb
Rou2SbE22v22GHKG4sRDjsoZ2nJ2+99750WRFCm5C6eGGzQi53nu+1wi71KZsYu9dylBGH4yIpEX
p6gQRJ4fljLxTw9hWMhHRi72Zozmd0fe7J4KKgn2/rvnwX+SrKSPScwLJCnPZ17Oc3KmpyJeYFL4
EZeSZzNvuFx5GJ4JPtv7Y88cZw+JOePFzDsYjKZ6LrimjFzRJLHzEYrvFgUvc+y7pcmp+lO/yNwg
OKPYO8AYm7mE59JPUEbZ48zLeM7FEsUWYIaKBQXIQ5J5AzO05CCclqMgDCS6JxpQOmwhHY1GHecL
lAtfkIImtUlBPxN9R/1Sn5FEzrxBMHHjmIolQ3AIzUEzFuEDxTKFzYPBPyw+hDHNF9VOg82aRj01
rWPh0jwFULJanvJ7UrQkmkwmZ33KJsSoIVA2+QnuEnZzwjgCMQq6SGXTcmrVJYiPQBZ3FQfVUwki
DloiSxQx4seEsYaUvj63oaWHFKTztQ2Vqz0UaLlGdkNiZbtep9Gbmy7Tdhfrs07v4FCD5crcMF8t
wbxwPohGjrxA/bQl7IUnKCbRo/rb01DfMx7f/YIKGYCos4QWQvpxShnuVay67gb2H207rCAZmPZo
x332Dqd+43B+pJY03G7ivA68RdIYMR8xuoDYkLxDrIIoT/8e5ZgRpw57jlKhek+JMejan+OyEMo0
CnY7AlEE1imdxeDOynFM8Gh421A0/HzTHRYFeTxrOWYw2WUvo2IvkHynmoOk4FlL2TY/qjuU1j+U
WUQK8CZS9y4z6oBvplHrtdNpIwG6cOlKgy6Sx+NxZ7qpW7/KMeqgiQkBEwZVwrd+YN2zy0UM3IY7
jWzCqgmuRexMOKZI9KplS5JaFio6FUyrQJdNrNc4QRqxCpt8E616CvSpX0GOgqA7Xw0YQDRDC9Kw
zMw7rhQeMaS0qBbGkBoAA0CxT15b7rVVTsfT3tybkGSdAJRbwYlVeaxFc8dWnODmVjC26F8+JdOz
bTW9OslmmToOGxX95RrjjQM8TFj/DjLdiSb8xrspl0teSKi0hfVkUGqWkVwK75sQ7kOlTLnRt6nG
isyA10vw09hZSm/Qa3rqf7VGgUHgEnqxS2cnzrFVukGMXToEnauPTS3L0MpvlfcMeIEdOh5Udad9
Neh96z1VZFch3bimC2fAl8SUTf+BRHdU+rJQYWc0YYB7wbE4q4kxtkIfCIlkKd6XEdTwqh4GKno6
4agtknMWoaI5765OGNERup7I+OdqtEpOIxPHlkepR8cW1HM/JezLHFup3NotEroi5hybjwdNkQKk
OYgJs80q/kAhFxQtV6vO/OzTHJMVJKktoq0LYQ1Cl1w2GTXK26nNYrmCaQO2szTBfRFf7QR6sgY6
NE7sipB502Dtc1XB7GsFuGJmjatpUqDMIGzFSZNG1GLksifTburmEbgmf7C1njAgjsCZn1CYTqbX
a/eyNblnUiuiOVfRSLxJj5vk2J5h1Lfpw72UALs8a675ziUF1+oM6rO3rka2epKTb11C24S5JUhq
3Y7IkOHy9Zyb8wKGz3qyjJVfUTDRdbmRw8X1oGsJQxFhM5RAhB1tbDfj+hBdkHMQdd/7n7d/tlcV
4lr5bu9mCBg6T3z5uCSdR+33IrILWy1uSphOkBUZRYqM9tSog4wI4YhHr567zFKLjhudqJ9SCqHE
ACG6p7wUl9UIkNnPJL+sFcuuOu8oR7vE1IuLyuXgtdoTXG6379YTbRIZuRr4JDTWNYDjEKliolEu
LO3rIX31OhuVEFV5Pe+4+o7p/SzhsdUhL6XKF/Xwi1ipK4mdAn9JAAtUsKETpF4s9SnAYW5TYm4K
baVdAH4lg+SehLnIrLauJrx7ilROlj9bnwCwUcEfwODABFIEey0pojJQJKiSYzyxLL6iIvbdZQdF
ZNX/g2YRdZ902hw/oxi6LCOYMpBwzXdHRQEexgW6B92DBkirrtQ7vY1S5w+DkaFM648frvp32ODg
6uqqFtIHp9dX15PrzvwE5LLbi+fzeRfqGcmWkKEaxrc0rbUygEdA2oj8+fR0cGrzVswIKv6j6YFr
BdSIbptSteRdaL+6vRNxQZdg0yI+30+lXIpZGKJPaBUsOF/ApiUVynX1WMhoJMJPv5ekeAyHwTg4
ti8BUMvgk9i/gHP1eRde8+SYY+IrG5IHWPdPsLQy5vn4tLYFQNkPhRHHj/AD8QC4kRDnh64TUN8L
0+FF+CvYE3JWeIUkCue/3YS/kehHKu3P+5IyHP4L6i4SJARPAXX6kkCGhfa9ZFKEStJQjYgwI5ii
MGUivIc+m/u4NI2Aj+IYIoBGlEHdgDdZIhbIlQSYwya62sehw80Z3bT3jatm3hMpsGvcWqI6Ga/x
EUh/LIXC6lbo9n/NKQ4vhqBLmL9orIIo370GKvXhhZ0BOwAM91OHVHMrtVpP27V/WWbTo+2UubZu
q+jHTxD96zwSy7N++ee/zj/cvolRrpKLTCFmF+nbtlKeBe3o2dAqqF8G4/g5MP77l/nl7fzKe6Nj
K3Cx5X117v2QJzRXjOz83Pv6AGiLLEqiH956H3/8IiJNnk3tgpA7gr+M4k+eVfGEoaUg+JZm0DVj
YnItmCDQHdbH5I1W+dCD/MVzbPX/FdjEH/6Nlvn2VVjm9AUsc2wtI17KNNNXYZrh4EWi5meaA698
KdMMh6/DNscvEjfGNi8WN8PR6zDO+EUC53teFi9mmdfBA4YnLxI2yjL/T9BsdAtNvg+99W6ybxdt
VcsWifkTWoK68SR06WA973Z+c/smQUyQt971dz/89Lc2Qs/W/D2FQ4226OTDlffxWuviL7nzbmBP
oU3jL9OWtn70hwXo3/U/S/oTUEsDBBQAAgAIAAh6ekkM2jqQOAEAAGoCAAA8ABwAaHR0cC90ZXN0
cy9tZWRpYS9obHMvdmlkZW8tZHVyYXRpb24tYWNjZXNzaWJpbGl0eS1zdGRlcnIudHh0VVQJAAPA
FzpYwBc6WHV4CwABBPUBAAAEFAAAALVRy27CMBC89yv2ByAJFRSlLyGg5QAVCnBCHEy8TSwc27XX
VP37LgpCrVRVvVT2wbOe8eyOt1k/zwa8u+nwegez9XpZ4FvEQPCqqhmRO8OJkgWWqI5YYHDWBBwL
rfeiPORgLJTWEBqCOZqKavAtVUIH0PuxlQgqQC9Nr7a/GzKcxMY9KSP0ppiPDLs2lnAkpccQchDt
AbLeTTfllbGMuRC9hprbzZPkcpUP0zRNGpRKJCyy0ZcYklqHpEKDXhB2jlZ2Xe0eZWSorLk/Sf7Q
5BmOPfIrU+8tD9k0nEAOaEobOQ3P4wtzmt/6HPYfhOCFqZCL8mtkuo2s0zK5/HNY/R3crabPy81i
+QAjImwcvSC9W39YWKPI+hVSdKffIAhIpEwF0YFpOdC0pNtLguyhbSn0N5fBv7l8AlBLAwQUAAIA
CAAFenpJAIZlFHwAAACuAAAAMgAcAGh0dHAvdGVzdHMvbWVkaWEvbWVkaWEtZG9jdW1lbnQtcmVm
ZXJlci1zdGRlcnIudHh0VVQJAAO5FzpYuRc6WHV4CwABBPUBAAAEFAAAAJXNPQrCQBCG4T6n+A4g
S9afSBax0cYmCBYKYhHjuA4sM7I76vWNR7B9i+ft9I1pA78Ivgl1C/oUXy9d0qFPyDZkemo2lnie
z2rfXrDayV3XAUljHDOK9dmKc67q/qa2dH3F0WJhO7I9DlQKq/wOAaf9BqIGEmNLdJvAV19QSwME
CgACAAAABXp6SWMgMEhjAAAAYwAAACoAHABodHRwL3Rlc3RzL21lZGlhL21lZGlhLWRvY3VtZW50
LXN0ZGVyci50eHRVVAkAA7oXOli6FzpYdXgLAAEE9QEAAAQUAAAATm92IDI2IDE1OjE2OjEwIGV3
czEwNy5sb2NhbCBydGNyZXBvcnRpbmdbNDMwMTldIDxEZWJ1Zz46IGluaXRXaXRoU2Vzc2lvbklu
Zm86IFhQQyBub3QgZW50aXRsZWQsIDEKUEsDBAoAAgAAAAZ6ekni/LFDYwAAAGMAAAA5ABwAaHR0
cC90ZXN0cy9tZWRpYS9tZWRpYS1wbGF5LXN0cmVhbS1jaHVua2VkLWljeS1zdGRlcnIudHh0VVQJ
AAO8FzpYvBc6WHV4CwABBPUBAAAEFAAAAE5vdiAyNiAxNToxNjoxMSBld3MxMDcubG9jYWwgcnRj
cmVwb3J0aW5nWzQzMDE5XSA8RGVidWc+OiBpbml0V2l0aFNlc3Npb25JbmZvOiBYUEMgbm90IGVu
dGl0bGVkLCAxClBLAwQKAAAAAAAGenpJAAAAAAAAAAAAAAAAJwAcAGh0dHAvdGVzdHMvbWVkaWEv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL1VUCQADuxc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAABnp6SQAAAAAAAAAAAAAAADYAHABodHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250
cm9scy9zdGF0dXMtc3VwcG9ydC9VVAkAA7sXOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
AAZ6ekk9RQv0DQEAANIDAABeABwAaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvc3RhdHVzLXN1cHBvcnQvc3RhdHVzLXN1cHBvcnQtbGl2ZS1icm9hZGNhc3Qtc3RkZXJyLnR4
dFVUCQADuxc6WLsXOlh1eAsAAQT1AQAABBQAAADtkMFKw0AQhu8+xf8AErJJ05YoBbEiPbQsVFEo
HtJkki5Nd8PsxL6+mxah4EnRm+eZ/b5vZ6OyXI1zpaI4VW+4XT886uelnuFOhA6drEiOjvdLZ404
XpP0XQ7rBJ5EjG3Qd7DnHRzOSzcoqorJexiP1pVFe7W5sCR/Zlm5dyRjfLpAR6/iSXQagqVk6hwP
uM0omaZZ6FjY2s3y8LxpBouXgsVHUfQD1Jy2fRNYJtS9GNmtQ5pxdjDkeNX3p++QFSMtVddQlzcZ
/d1NDh01SVewJ4Ymr9mVYf7kdbHPUZYgZschGnoxh4oT+J3r2wpbgkoHTIzatARX18GLdDL+LlJd
ILOvxGyaTP8rf7HyA1BLAwQUAAIACAAGenpJaopyh+0AAABfAQAALQAcAGh0dHAvdGVzdHMvbWVk
aWEvcGRmLXNlcnZlZC1hcy1wZGYtc3RkZXJyLnR4dFVUCQADvBc6WLwXOlh1eAsAAQT1AQAABBQA
AACFj09vwjAMxe98Cp+4tWmrASVShRAb2mGHqWIntENoTBsp/5Y4k/j2S7XBdfblPf2eLftcr3i9
5nVTttX6E15Pp/cevxJGgqsaZ/ucjD8qK/RH/7a3skfjCPdSBoyRg/gVUDebsspd57GchRQ0TESe
M/ZAvK2qihmUSrBvJdEVNAVHpFEW2glZDqPaWWGwyytdCgNGRvmS0svr8h7ttnMt6eaxE95rNQhS
zrKcWZz/febPHgIKwpcQXDg4Y9ASB7SDS5YwoARhAWfI4XIjhCDsiKDRjjSBUdEIGiYoIE4uaQmX
B2tAxbvebNunxQ9QSwMECgACAAAAB3p6SeBFslRjAAAAYwAAAC8AHABodHRwL3Rlc3RzL21lZGlh
L3JlbG9hZC1hZnRlci1kaWFsb2ctc3RkZXJyLnR4dFVUCQADvRc6WL0XOlh1eAsAAQT1AQAABBQA
AABOb3YgMjYgMTU6MTY6MTMgZXdzMTA3LmxvY2FsIHJ0Y3JlcG9ydGluZ1s0MzAxOV0gPERlYnVn
PjogaW5pdFdpdGhTZXNzaW9uSW5mbzogWFBDIG5vdCBlbnRpdGxlZCwgMQpQSwMEFAACAAgACHp6
SUSyK+jpAAAAWgEAAC8AHABodHRwL3Rlc3RzL21lZGlhL3RleHQtc2VydmVkLWFzLXRleHQtc3Rk
ZXJyLnR4dFVUCQADwBc6WMAXOlh1eAsAAQT1AQAABBQAAACFT8tOwzAQvPcr9tRb4qS0UCxFqCog
DhxQVE4VBzceEkt+BHuD2r/HFbRXdvcwo5lZ7e7rlaxv85T1av1BL7vdW4uvCYnp0/Rn+ji58dl4
Zd/b143XLVxgbLSOSEmS+gVUL+7KKnedY9lLU7Q0MI9SiKsk11VVCQdtlPg2GqHgIQZmC13YoHTZ
9ebBK4cmrwxT7JAE50tKPvL8Ym3uzzXn04iGcWQxWmX8bP/vH390G6EYTzGGuA3OwbMk+C5MnhGh
SXnCWZR0ODEoKt+DLHzPAzmTnOJuoILSECar6XDVFmTSBS+X1c3sB1BLAwQUAAIACAAJenpJoXTg
Ww8BAADyAwAAJgAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tYXV0aC1zdGRlcnIudHh0VVQJAAPC
FzpYwhc6WHV4CwABBPUBAAAEFAAAAN2RQUsDMRCF7/0Vc7Rgs5m0m22DCLJFEKEUe6ggPezGsY2m
mSVNW/HXu1KwHnrxIKineQMzzHzvKYm6h9hTGjA3qA0WAgcaLK9F1TSexJzqW5c+SskhUUhiTDvy
3Kxb/TDoSxwZNZJqqBdw6KC8nlDac3wB127EUHmgGDnCmXy1EiuTzXgbLZWVXVH2OX1UvUJJkYsi
m0Z+JpvutiG5NWUziq7y7q2qPV1Fu3I7ErZpTK5lt6P+BQrqfrcz4R18wQDab1AWwrNt78dkIzUc
kwvLw9MLuBhTvV1emvZLl+YurWa02TgON+GJDdxPSwicoKV0ydPjOeAJt4YCVf5tt/pa5b8u+L+I
ciL44U8E/w5QSwMECgACAAAACnp6SWvEPhRjAAAAYwAAAC0AHABodHRwL3Rlc3RzL21lZGlhL3Zp
ZGVvLWVycm9yLWFib3J0LXN0ZGVyci50eHRVVAkAA8MXOljDFzpYdXgLAAEE9QEAAAQUAAAATm92
IDI2IDE1OjE2OjE4IGV3czEwNy5sb2NhbCBydGNyZXBvcnRpbmdbNDMwMTldIDxEZWJ1Zz46IGlu
aXRXaXRoU2Vzc2lvbkluZm86IFhQQyBub3QgZW50aXRsZWQsIDEKUEsDBBQAAgAIAAp6ekmNu7Rh
tAAAACMBAAA2ABwAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1lcnJvci1kb2VzLW5vdC1leGlzdC1z
dGRlcnIudHh0VVQJAAPDFzpYwxc6WHV4CwABBPUBAAAEFAAAAJWOPwvCMBDFdz/FjTq0TbT+abai
iIODFJ3EoZprDbZJTFLx43tScRTklvd473G/I58KPhM8i9Pp7ASb/X5X4L1DH6BS9SYE+7ErJQu8
oHpggd4a7XFZNs25vNwEuD6QcKU+uT6HlKUwROeMg4iPs8liBBXpd0kkCR/PY0bHxYIxlkiDPtIm
RPhUPsStxXpw/A1HdtW1dq102RyKba6JsDUBcymJwQsoewHfVzSjLnSu+YPiBVBLAwQUAAIACAAK
enpJG6eB+WgAAADGAAAALAAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tbG9hZC10d2ljZS1zdGRl
cnIudHh0VVQJAAPDFzpYwxc6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUyNLMytFRILS82NDDX
y8lPTsxRKCpJLkotyC8qycxLjzYxNjC0jFWwcUlNKk23s1LIzMssCc8syQhOLS7OzM/zzEvLt1KI
CHBWyMsvUUjNK8ksyUlN0VEw5PKjvRUAUEsDBAoAAgAAAAp6ekmccJ08YwAAAGMAAAAvABwAaHR0
cC90ZXN0cy9tZWRpYS92aWRlby1wbGF5LXByb2dyZXNzLXN0ZGVyci50eHRVVAkAA8QXOljEFzpY
dXgLAAEE9QEAAAQUAAAATm92IDI2IDE1OjE2OjIwIGV3czEwNy5sb2NhbCBydGNyZXBvcnRpbmdb
NDMwMTldIDxEZWJ1Zz46IGluaXRXaXRoU2Vzc2lvbkluZm86IFhQQyBub3QgZW50aXRsZWQsIDEK
UEsDBBQAAgAIAA16ekn19C48bAAAAMYAAAAqABwAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1yZWRp
cmVjdC1zdGRlcnIudHh0VVQJAAPKFzpYyhc6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUyNLMy
MlVILS82NDDXy8lPTsxRKCpJLkotyC8qycxLjzYxNjC0jFWwcUlNKk23s1LIzMssCc8syQhOLS7O
zM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN0VEw5PJDscKMFlYAAFBLAwQKAAIAAAAOenpJlJSTYGMA
AABjAAAAKwAcAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdXNlcmFnZW50LXN0ZGVyci50eHRVVAkA
A8wXOljMFzpYdXgLAAEE9QEAAAQUAAAATm92IDI2IDE1OjE2OjI4IGV3czEwNy5sb2NhbCBydGNy
ZXBvcnRpbmdbNDMwMTldIDxEZWJ1Zz46IGluaXRXaXRoU2Vzc2lvbkluZm86IFhQQyBub3QgZW50
aXRsZWQsIDEKUEsDBAoAAAAAACp6ekkAAAAAAAAAAAAAAAAQABwAaHR0cC90ZXN0cy9taXNjL1VU
CQADABg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAABXp6SQAAAAAAAAAAAAAAACoAHABo
dHRwL3Rlc3RzL21pc2MvYXV0aGVudGljYXRpb24tcmVkaXJlY3QtMi9VVAkAA7kXOlidGzpYdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIAAV6eknzxghHngAAALQAAABgABwAaHR0cC90ZXN0cy9taXNj
L2F1dGhlbnRpY2F0aW9uLXJlZGlyZWN0LTIvYXV0aGVudGljYXRpb24tc2VudC10by1yZWRpcmVj
dC1zYW1lLW9yaWdpbi1zdGRlcnIudHh0VVQJAAO5FzpYuRc6WHV4CwABBPUBAAAEFAAAABWNsQ6C
MBRFd7/i/QCEVqzAprIY3TQ6GIcHPLBJaZu2aOrXW6d7cpKTywsmMsYyLoBtGiaaos7LbQW9mXO0
VlF+p+4kw38ORgfSIW/pTcrYOfGj5LUQDa+qdc2fcJy0cVJPKdfBGXWVM3XoCTwF6CL0SqYIOupx
SXZ3u+CcPvbLOJJrpbcK4xkjOfigBxwGGiAYQPBR9y9ntPySW/0AUEsDBBQAAgAIAAt6ekkWSmAy
1QAAABcBAAA/ABwAaHR0cC90ZXN0cy9taXNjL2RlbGV0ZS1mcmFtZS1kdXJpbmctcmVhZHlzdGF0
ZWNoYW5nZS1zdGRlcnIudHh0VVQJAAPFFzpYxRc6WHV4CwABBPUBAAAEFAAAAE2OQUvDQBCF7/0V
c7RgQ2ZNQ7uIl8ReDFIQ8VBK2SbTdnCzu2ymEf31bkChDx5vBh68T+VYLhAXqgRcaiy1wgwfCmh9
n5kQLGUfdHxhmaLyTshJVtNI1oc+3btCrXGl1QrVutjDNvpAUb7B8iDAbjSWOzj5OLk3ogHzHO7C
bW2A1jjnJU06Mezg9b1p5rPdDc5yD49JsKmr7aHhnoU6eEqCDZ///pqHz8q0F0oMI3cUD28k/zwa
nmNMFF+Rhd0Z/DXNTWU4saV7kHh1rREC8fBD0c9+AVBLAwQUAAIACAAKenpJ5q33ENUAAAAXAQAA
WwAcAGh0dHAvdGVzdHMvbWlzYy9kZWxldGUtZnJhbWUtZHVyaW5nLXJlYWR5c3RhdGVjaGFuZ2Ut
d2l0aC1nYy1hZnRlci12aWRlby1yZW1vdmFsLXN0ZGVyci50eHRVVAkAA8QXOljEFzpYdXgLAAEE
9QEAAAQUAAAATY5BS8NAFITv/RVztGBDdmljuoiXxF4MUhDxUErZJq/tw2Q3bF4j+uvdgEIHhnkP
BubTqcoWSi10BrUyKjM6TfJVhtp3ie37lpIPOr6wTFF4J+QkKWmk1vddvHdLvVa50bnS6+Ue2+B7
CvKNlgcBu9G23ODkw+TOioFKU9z1t7UBtXXOS5x0Ytnh9b2q5rPdDc7DHo9R2JTF9lBxx0INnqKw
4fPfX/LwWdj6QpFh5IbC4Y3kn8fgOYRI8RVY2J3hr3FuKuPELd1DwtXVVgji8UPBz34BUEsDBBQA
AgAIACp6ekkVNTWSegAAALwAAAAqABwAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1z
dGRlcnIudHh0VVQJAAMAGDpYABg6WHV4CwABBPUBAAAEFAAAAI2OQQ7DIAwE73mFP0Ag7aEVvyHE
VSwZjIyR+vwS5QPVXlY7h9kspREnI6mAqqIRPsQIp1mL3m+P1xpmtvgOIfhCPXvFLkMzdv/tbG5P
h6PSRM0NpXVuwFQRnoCMBavBTZdJ4l0hwqhpnxoTYEnHf7oqfeTzupcsMS8/UEsDBAoAAAAAAAd6
ekkAAAAAAAAAAAAAAAAWABwAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL1VUCQADvRc6WJ0bOlh1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAB3p6SdsI00I7AAAAPwAAADcAHABodHRwL3Rlc3RzL25hdmln
YXRpb24vZmFsbGJhY2stYW5jaG9yLXJlbG9hZC1zdGRlcnIudHh0VVQJAAO9FzpYvRc6WHV4CwAB
BPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IV
Coryk1OLi1NT9LgAUEsDBAoAAAAAACR6ekkAAAAAAAAAAAAAAAAUABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9VVAkAA/MXOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAl6ekkN9GQzfAAAAK4A
AABVABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtcmVtb3RlLXZpZGVv
LWJsb2NrZWQtbm8tY3Jvc3NvcmlnaW4tc3RkZXJyLnR4dFVUCQADwhc6WMIXOlh1eAsAAQT1AQAA
BBQAAACVzUEOAUEQRuH9nOI/gHQ0ZtARGzY2E4kFiViMUVolnSrpLlzfOILtW3yv1TcmDXwdfBP8
AvQpfjx3SfsuIVuf6anZWOJ5NllO6wtWO7nrOiBpjENGsS5bcc5V7d/Ulq6vOFgsbEe2x4FKYZXf
IeC030DUQGJsiW4j+OoLUEsDBAoAAgAAAAl6eknO4LuDYwAAAGMAAABIABwAaHR0cC90ZXN0cy9z
ZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtcmVtb3RlLXZpZGVvLWxvY2FsaG9zdC1zdGRlcnIu
dHh0VVQJAAPCFzpYwhc6WHV4CwABBPUBAAAEFAAAAE5vdiAyNiAxNToxNjoxOCBld3MxMDcubG9j
YWwgcnRjcmVwb3J0aW5nWzQyOTM1XSA8RGVidWc+OiBpbml0V2l0aFNlc3Npb25JbmZvOiBYUEMg
bm90IGVudGl0bGVkLCAxClBLAwQKAAIAAAAKenpJTzw6iGMAAABjAAAARwAcAGh0dHAvdGVzdHMv
c2VjdXJpdHkvY2FudmFzLXJlbW90ZS1yZWFkLXJlbW90ZS12aWRlby1yZWRpcmVjdC1zdGRlcnIu
dHh0VVQJAAPDFzpYwxc6WHV4CwABBPUBAAAEFAAAAE5vdiAyNiAxNToxNjoxOSBld3MxMDcubG9j
YWwgcnRjcmVwb3J0aW5nWzQyOTM1XSA8RGVidWc+OiBpbml0V2l0aFNlc3Npb25JbmZvOiBYUEMg
bm90IGVudGl0bGVkLCAxClBLAwQKAAAAAAAUenpJAAAAAAAAAAAAAAAAKgAcAGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L1VUCQAD2Bc6WJ0bOlh1eAsAAQT1AQAABBQA
AABQSwMECgACAAAACXp6STJBTzVjAAAAYwAAAEsAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9hdWRpby1yZWRpcmVjdC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAA8EX
OljBFzpYdXgLAAEE9QEAAAQUAAAATm92IDI2IDE1OjE2OjE3IGV3czEwNy5sb2NhbCBydGNyZXBv
cnRpbmdbNDI5NTNdIDxEZWJ1Zz46IGluaXRXaXRoU2Vzc2lvbkluZm86IFhQQyBub3QgZW50aXRs
ZWQsIDEKUEsDBBQAAgAIAAd6ekmT4KNRzwAAADwBAABMABwAaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvYXVkaW8tcmVkaXJlY3QtYWxsb3dlZDItc3RkZXJyLnR4dFVU
CQADvhc6WL4XOlh1eAsAAQT1AQAABBQAAACdjk1LAzEQhu/9Fe8PkGWz3Q8b1kWqCIKouAcL4iHd
nabBNFOSUfHfG3vSq3OYw8Mz77x93/e4cXb9JTRKJHPAkOcvGsVIumP7EOiJzKzxy85rBu+wxDbD
hEu0XVk2LYT5DWVxvlJ1VyHRVGSEiQ9HT0JnUKfThOEiW81JWNzzB6oWqtGq1aoGfSZVdoXnyXhE
mSIdOYoL9qWuVs3yFf1t2PGg4dnajJHERElF8Z+oa9q+25zlgpNnJ/uRUnIcfj5obB6vEFhAQZx4
mnP/xTdQSwMEFAACAAgACXp6SRQqZlumAAAAigEAAFgAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9ibG9iLXVybC1kb2VzLW5vdC1tYXRjaC1zb3VyY2Utc2VsZi1z
dGRlcnIudHh0VVQJAAPBFzpYwRc6WHV4CwABBPUBAAAEFAAAAN2PsQ6CMBRFd7+iow5QWwWUxEGJ
Jg5GEkZiyLO8YLVS8lpN+HsxDvoNbudO59xSRKmIU5GEQsgT0x7v4PpWVQX6nGyH5HvmdNOCMVgz
JFoFQiaLiI1vO91swOHxfEXlt0SWqn37BKNr8FhP2Fj/LvCMF/ZBCjNQF+SZJTxgreFLgYhiGcr5
lA9qb33foeO5gR6JD7IPVet3X6iY0S0yKZezUfkPJ15QSwMECgAAAAAACXp6SQAAAAAAAAAAAAAA
AEQAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91cGdyYWRlLWlu
c2VjdXJlLXJlcXVlc3RzL1VUCQADwhc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgACXp6
SXtQP8/pAAAAJgMAAHkAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS91cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzL3VwZ3JhZGUtaW5zZWN1cmUtYXVkaW8tdmlkZW8t
aW4tbWFpbi1mcmFtZS1zdGRlcnIudHh0VVQJAAPCFzpYwhc6WHV4CwABBPUBAAAEFAAAAM1RO0/D
MBDe+RU3wkASJyatvFUpiIEBRWWqGFznWizic/CDgV/PtVSIAYHEAMjLne97Sd9aXCjRKjEvalnf
w/VqddvjU8aYYGt3H9YuoE54GYIPnXcOKSlAMj5TwoADaALcHxVkCmj8juwLfz+kNEHAOHmKCLKq
TtZfOzL+uC7t0KNB+4z9kd/pcdxo86hY8XD4RB9ODzHgXNRtOzuDLc97kCpLUc+Kip9Qcymbklk+
B4OxTOxWuEl+l43XZXbTlSU93vU3C+KAzidcDAOLRQX6bYB3J6YxFnIYfxai+fVKmn9cSfNXlbwC
UEsDBAoAAAAAAAl6ekkAAAAAAAAAAAAAAAA9ABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvdXNlckFnZW50U2hhZG93RE9NL1VUCQADwhc6WJ0bOlh1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgACHp6SSS19vS7AAAA8QAAAFMAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS91c2VyQWdlbnRTaGFkb3dET00vYWxsb3ctYXVkaW8tc3RkZXJy
LnR4dFVUCQADwBc6WMAXOlh1eAsAAQT1AQAABBQAAABVjcGKwkAQRO9+RX2AhIlJJhLGsOyKIIgu
m4OCeIhJmx2M05Jplf17B09rU9Th8Yo2xhgsbPf5J1TJQPUFZbh3VEktfsXdxtEP1W2Bf3aoFnxC
gmOAHh/QuVKZhjCfoSKdpirN4amJAkLDl2tPQmPEr6lHOQtW9hJGa75johFnRaxDQA8fqzzqual7
DNIMdOVBrOv26WSaZAeYOR1vXVnAOitbK78VeW/ZLd2JC+y+v+BYQE6s9NSGp6MnUEsDBAoAAgAA
AAl6ekneU7ihYwAAAGMAAABTABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvdXNlckFnZW50U2hhZG93RE9NL2FsbG93LXZpZGVvLXN0ZGVyci50eHRVVAkAA8IXOljC
FzpYdXgLAAEE9QEAAAQUAAAATm92IDI2IDE1OjE2OjE4IGV3czEwNy5sb2NhbCBydGNyZXBvcnRp
bmdbNDI4MzVdIDxEZWJ1Zz46IGluaXRXaXRoU2Vzc2lvbkluZm86IFhQQyBub3QgZW50aXRsZWQs
IDEKUEsDBAoAAgAAABN6ekko0N21YwAAAGMAAABLABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvdmlkZW8tcmVkaXJlY3QtYWxsb3dlZC1zdGRlcnIudHh0VVQJAAPW
FzpY1hc6WHV4CwABBPUBAAAEFAAAAE5vdiAyNiAxNToxNjozOCBld3MxMDcubG9jYWwgcnRjcmVw
b3J0aW5nWzQyOTUzXSA8RGVidWc+OiBpbml0V2l0aFNlc3Npb25JbmZvOiBYUEMgbm90IGVudGl0
bGVkLCAxClBLAwQKAAIAAAATenpJKNDdtWMAAABjAAAATAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3ZpZGVvLXJlZGlyZWN0LWFsbG93ZWQyLXN0ZGVyci50eHRV
VAkAA9YXOljWFzpYdXgLAAEE9QEAAAQUAAAATm92IDI2IDE1OjE2OjM4IGV3czEwNy5sb2NhbCBy
dGNyZXBvcnRpbmdbNDI5NTNdIDxEZWJ1Zz46IGluaXRXaXRoU2Vzc2lvbkluZm86IFhQQyBub3Qg
ZW50aXRsZWQsIDEKUEsDBAoAAgAAABR6ekmpDFy+YwAAAGMAAABmABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdmlkZW8td2l0aC1odHRwLXVybC1hbGxvd2VkLWJ5
LWNzcC1tZWRpYS1zcmMtc3Rhci1zdGRlcnIudHh0VVQJAAPXFzpY1xc6WHV4CwABBPUBAAAEFAAA
AE5vdiAyNiAxNToxNjozOSBld3MxMDcubG9jYWwgcnRjcmVwb3J0aW5nWzQyOTUzXSA8RGVidWc+
OiBpbml0V2l0aFNlc3Npb25JbmZvOiBYUEMgbm90IGVudGl0bGVkLCAxClBLAwQUAAIACAAUenpJ
Y6qsbIIAAACoAAAAQAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAA9gXOljYFzpYdXgLAAEE9QEAAAQUAAAALY1BCsMw
DATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4x
xmDIlxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8x
RJuC7GpN1PGavlBLAwQUAAIACAAUenpJY6qsbIIAAACoAAAAUgAcAGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0
ZGVyci50eHRVVAkAA9gXOljYFzpYdXgLAAEE9QEAAAQUAAAALY1BCsMwDATveYVeEDu9pPgVhb4g
uBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O4
5B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQK
AAIAAAAbenpJLqJ0xGMAAABjAAAAPQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtdmlkZW8t
c291cmNlLWZyb20tcmVtb3RlLXN0ZGVyci50eHRVVAkAA+UXOljlFzpYdXgLAAEE9QEAAAQUAAAA
Tm92IDI2IDE1OjE2OjUzIGV3czEwNy5sb2NhbCBydGNyZXBvcnRpbmdbNDI5MzVdIDxEZWJ1Zz46
IGluaXRXaXRoU2Vzc2lvbkluZm86IFhQQyBub3QgZW50aXRsZWQsIDEKUEsDBAoAAAAAAAp6ekkA
AAAAAAAAAAAAAAAhABwAaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvVVQJAAPDFzpY
nRs6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAKenpJbz2Wjn4AAAARAQAATgAcAGh0dHAvdGVz
dHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWF1ZGlvLXZpZGVvLWluLW1haW4tZnJh
bWUtc3RkZXJyLnR4dFVUCQADwxc6WMMXOlh1eAsAAQT1AQAABBQAAAC9zTEKAjEQRuHeU/wHkGBE
IxvERhubRbBQEIt1HeNAmJFk1Ou7HsHG9hXfa/WFaYCfRx+ib0Dv6icLl7XvMor1hR5ajCWdZtMm
hDOWW7npKiJrSkNGta5Ydc6N2p+pDV2eabBY2A5s9z3VyirfQ8Rxt4aogcTYMl3H8P9YfABQSwME
FAACAAgAInp6SdwdSMpsAAAAxgAAADkAHABodHRwL3Rlc3RzL3NlY3VyaXR5L3ZpZGVvLWNyb3Nz
LW9yaWdpbi1jYWNoaW5nLXN0ZGVyci50eHRVVAkAA+8XOljvFzpYdXgLAAEE9QEAAAQUAAAA88sv
UzAyUzA0tTI0tzIwUkgtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuPNjGyNDaNVbBxSU0qTbezUsjM
yywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJSU3RUTDk8kOxwpgWVgAAUEsDBBQAAgAI
ACJ6ekny/k/ZtQAAACcBAAA+ABwAaHR0cC90ZXN0cy9zZWN1cml0eS92aWRlby1wb3N0ZXItY3Jv
c3Mtb3JpZ2luLWNyYXNoLXN0ZGVyci50eHRVVAkAA/AXOljwFzpYdXgLAAEE9QEAAAQUAAAAlY69
DoJAEIR7n2JLLYQ7QcXrjMZQWBiCFbHAY9GLcOD9mPj2rsFYmphtZjIz2a/gc8GXgkXBgscnSPP8
kOHdo3VQq0vqXP+xW1VlKFE9MEPbd9ripmyacylvAswQVHClPrkhh5jFMEZjOgNTPltFyQRq0u+S
CEM+WwaMjouEMRZalN4o9wx1p9F6eQ3aPh4Vv/HIbn3b75Qum2O2X2tibDuH66oiCiugHAR8n9GM
uuBN8xfHC1BLAwQUAAIACAAkenpJYEtmEJEAAAD7AQAARQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkv
eHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUCQAD8xc6
WPMXOlh1eAsAAQT1AQAABBQAAADtjjEOgzAMRXdO4QuEBJZWmWHo0p4BBVMimSSynQpuXzr0Bh2r
v76v90LeSqRJY06AzJk9LJEQVtXire36S+vOdf7qnLOCoXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHx
GVO7bwQUE0IPSPghQPQglBVRm/PpX8hyuj3kRAd0rYMFJ62MAhMjSC0ls+LchH/oj0PfUEsDBBQA
AgAIAEN7eklbBFgOogUAAE0QAAAKABwAaHR0cGQuY29uZlVUCQADDRo6WJkbOlh1eAsAAQT1AQAA
BBQAAACtV21v2zYQ/q5fQbgwsBWTnLhx5xVBANdxlixJnVlOAyxJDVqiJNYSqZFUYnvrfvuOlOUX
yVEDbA4QicfnuTsdj8ejS8QTESPOFWq0MikalnWdKTJHAY3Jh5ZK0tYdmV5SZd1Q/wxkANsIW5FS
qe+k1G9YrscF+cixeBEmNWKqEWBlTBPCM4XeHRxYl4SkvZg+ETRk1jWer8cj8mdGpJLocBtVUA87
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
il6aBkVQBMUXxR1QSwMECgAAAAAAJHp6SQAAAAAAAAAAAAAAAAkAHABpbXBvcnRlZC9VVAkAA/QX
OlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFV6ekkAAAAAAAAAAAAAAAAPABwAaW1wb3J0
ZWQvYmxpbmsvVVQJAANSGDpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAATenpJAAAAAAAA
AAAAAAAAFAAcAGltcG9ydGVkL2JsaW5rL2Zhc3QvVVQJAAPVFzpYnRs6WHV4CwABBPUBAAAEFAAA
AFBLAwQKAAAAAAATenpJAAAAAAAAAAAAAAAAGgAcAGltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMv
VVQJAAPVFzpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAATenpJAAAAAAAAAAAAAAAAIQAc
AGltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvYnV0dG9uL1VUCQAD1Rc6WJ0bOlh1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAE3p6Scch79s3AAAAQAAAAEcAHABpbXBvcnRlZC9ibGluay9mYXN0L2Zv
cm1zL2J1dHRvbi9idXR0b24tcmVzZXQtZm9jdXMtYnktbW91c2Utc3RkZXJyLnR4dFVUCQAD1Rc6
WNUXOlh1eAsAAQT1AQAABBQAAADLzS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNSFBIVShKL0lNLFMoy
U8sVEksULAwM9AzAQAfG4AIAUEsDBAoAAAAAABN6ekkAAAAAAAAAAAAAAAAgABwAaW1wb3J0ZWQv
YmxpbmsvZmFzdC9mb3Jtcy9yYW5nZS9VVAkAA9UXOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIABN6eknHIe/bNwAAAEAAAAA/ABwAaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9yYW5nZS9y
YW5nZS1mb2N1cy1ieS1tb3VzZS1zdGRlcnIudHh0VVQJAAPVFzpY1Rc6WHV4CwABBPUBAAAEFAAA
AMvNLy1O9c0vSw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJTyxUSSxQsDAz0DMBAB8bgAgBQ
SwMECgAAAAAAE3p6SQAAAAAAAAAAAAAAACEAHABpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL3N1
Ym1pdC9VVAkAA9UXOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIABN6eknHIe/bNwAAAEAA
AABBABwAaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9zdWJtaXQvc3VibWl0LWZvY3VzLWJ5LW1v
dXNlLXN0ZGVyci50eHRVVAkAA9UXOljVFzpYdXgLAAEE9QEAAAQUAAAAy80vLU71zS9LDclXSEvM
zElNUSgBsjLzUhQSFUoSi9JTSxTKMlPLFRJLFCwMDPQMwEAHxuACAFBLAwQKAAAAAABVenpJAAAA
AAAAAAAAAAAAFwAcAGltcG9ydGVkL2JsaW5rL3N0b3JhZ2UvVVQJAANSGDpYnRs6WHV4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAABVenpJAAAAAAAAAAAAAAAAIQAcAGltcG9ydGVkL2JsaW5rL3N0b3Jh
Z2UvaW5kZXhlZGRiL1VUCQADUhg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAVXp6Sbx5
BvF+AAAAhwAAAEQAHABpbXBvcnRlZC9ibGluay9zdG9yYWdlL2luZGV4ZWRkYi9ibG9iLXZhbGlk
LWJlZm9yZS1jb21taXQtYWN0dWFsLnR4dFVUCQADUhg6WFIYOlh1eAsAAQT1AQAABBQAAAAlxrsK
wkAQRuE+T/FDGi1M4QXETtwNBCUJxkudZCcysNlZZFR8exWb8520LgzO5dE2dVU2xcVihl7GrI3R
U3albs/6YydBKWhm6Ele4vh9TCI7LOfrxWqa5NvisMGJR3KQh+LVsnK4YZA7gigPbyOBoIKO0Lfe
k0uS1Fb5Px9QSwMEFAACAAgAVXp6STIFh4MPAgAASwQAAEIAHABpbXBvcnRlZC9ibGluay9zdG9y
YWdlL2luZGV4ZWRkYi9ibG9iLXZhbGlkLWJlZm9yZS1jb21taXQtZGlmZi50eHRVVAkAA1IYOlhS
GDpYdXgLAAEE9QEAAAQUAAAAxVJda9swFH33r7hkD0lJZC/dCmUwSNK4ENY2oc7aZ8m6TrXKkifJ
TfzvdxWnbH0Y9GUMgSSOjs79OJcxBtmD1W2NPlvywLP8scgeUXxT4XQsWqVldo8aucdM8862gQX0
gTn0rQ4+U3VjXUCZCa3Mc+aDdXyHmTISDyilINwK9sK1kkxgZR2y0ta1CgwPDZb0Mw2HkIzH4/+Z
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
AAAAAAAAAAAAKAAcAGltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9VVAkA
A1MYOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAFZ6ekkAyHgwfgAAAIcAAABDABwAaW1w
b3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmZhY3Rvcnlfb3BlbjktYWN0
dWFsLnR4dFVUCQADUxg6WFMYOlh1eAsAAQT1AQAABBQAAAAlxs0KgkAUhuG9V/GBm1okFEHULpoR
pFDJftbqHOPAOGeIU9HdV7R5nzetC4NzebRNXZVNcbGYoZcxa2P0lF2p27P+2ElQCpoZepKXOH4f
k8gOy8V6NZ8m+bY4bHDikRzkoXi1rBxuGOSOIMrD20ggqKAj9K335JIktVX+zwdQSwMEFAACAAgA
Vnp6SU8qB2GcAQAA+QYAAEEAHABpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Np
bmcvaWRiZmFjdG9yeV9vcGVuOS1kaWZmLnR4dFVUCQADUxg6WFMYOlh1eAsAAQT1AQAABBQAAADF
1E9vmzAYBvA7n+JVd0lEjSFLlLFT2kIltCmNSv8cJ4NfGk/GRrZJwref01baZZeplnrhxRL8eJDs
hxAC9EnLsUdLC+YYLZ9r+ozND+Hex/UoJKf3KJFZpJJNenTEoXXEoB2ls1T0gzYOOT1+bWmlOJ6Q
F9dkMOLAHJLG6KMV6oUK3nSsddpMv/SAKid4GrD1Lybu5KI4jj8xil+MTL4G2WyAZJeLFOLscgWb
TRR/2VUFPG7vy3p3t62rpxIItLpP2DBITN6ynceNVg6VSwo8oNRD7+9hNggOy0W+zuZRfHtV/fwO
D6JHDj47HJlwPg502oDSTnRToRWC09AgtExK5BFEZHdV13Djl+dnz3lnczgKt4cDGiu0AmZextev
kQzsXo+Sg9v7f4WHacDSGG2S/2PSZBUESsMoodIk34I4eZquszxfrJbrZepnEHTLtkGcSnVCCTeF
2QhBtYtO64sgkhqlDAJ1TFoMIunmty+zkNTMYqsVnwc13V6YQGT291j68nqzPnSQsg9yoy98v119
uf7L8T1e3t2+X/8AUEsDBBQAAgAIAFZ6ekmQ7ggrugAAADYFAABFABwAaW1wb3J0ZWQvdzNjL0lu
ZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmZhY3Rvcnlfb3BlbjktZXhwZWN0ZWQudHh0VVQJ
AANTGDpYUxg6WHV4CwABBPUBAAAEFAAAAK3TsQ6CQBAE0J6v2FBBITkMBCmNsbAhJvgDCAucOXfJ
cUj4e0ksbGwMW033MsWMdz2WJZwqYzR1wANSEMKsXQ8vtKNmgsp20xPJwS6GsefJNOB6yzPclgHP
1rKNwPtDUVEq4SgRRKhLdJBgcqWyOM/3aZIlak0Js6gKCeZCrSbtFpEFSGJ+y+xLQDQZI+G0lRlR
AuL7A2snKAUj1kxNKEm6XlsZMf5ekdh9qC3vibdpEzW4rhSbX4z3BlBLAwQUAAIACABWenpJOYVd
a8oIAABrKgAASQAcAGltcG9ydGVkL3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9pZGJm
YWN0b3J5X29wZW45LXByZXR0eS1kaWZmLmh0bWxVVAkAA1MYOlhTGDpYdXgLAAEE9QEAAAQUAAAA
xVprc5w4Fv3uX0HZteNkytBvux+OtxJ3u9Y1s57UODvzcUqAaBQLxEjC3Z2d/e97hQQNNLSdql0c
Vwzoec99Hql8HcqI3pxchxj58IiwRJYXIi6w/HCeysCenkOzkDuKb07mlMRPF9b8mQgisW/9+8SC
fxJvpe1jj3EkCYvnVsxivMi6XMZ9zG2XScmiuTVItpYP79hfnPznRC9nFvEYZXxunfVHs6zPuSMU
L0kQmH4XeU9rztLYt/OhwVT9lDfSOwhGiW+d+b6v+wIWSztAEaG7uRWxmIkEeUbACPE1AZEHOLL6
uilhAC7DwTEFRM84Eygc1CQdjUYN6wsUC1tgToJSpyDfcLZHeVOb4kDOrb4zydt9IhKKYBESg2aM
hBviyxAm9/t/M/Ih3yfxupipZTOmUW9V6xhxSRyCULIYHrJnzGuIJpPJok3ZGGs1OMomP8NewkwO
KEMAg5N1KKuWU6NuAT4CLPlWDFRPJEDs1yBL5FJse5jSCko7W7eipU0I6OzMhsrVNhwle8kesads
1+o02eSqy9TdxfhsrndwqH6y1TustgmYF9YHaPjCctSjjrBVPEF87O7UbysT9RNl3tNnxKUDUOcB
4ULaXkio36pYtd0jzL84thjHEZj24oX9zB65+rXD2a4aUnG7Se514C2SeIjaiJI1xIZkDbA4Vp7+
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
c3RkZXJyLnR4dFVUCQADUxg6WFMYOlh1eAsAAQT1AQAABBQAAAAVxj0KgDAMBtCrfAeQgiKIg5Pd
PEBnfyIE2iRoFLy9Or2XZnaoQNR5f6IKwbnQBr28gh260nli1RJms0wh0TKx/4wqTuIh0k1ZrXyH
8YYBbdN39QtQSwMECgAAAAAAJHp6SQAAAAAAAAAAAAAAABoAHABpbXBvcnRlZC93M2MvV2ViQ3J5
cHRvQVBJL1VUCQAD9Bc6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAALHp6SQAAAAAAAAAA
AAAAACYAHABpbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L1VUCQADBBg6WJ0b
Olh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAJHp6SeGChuhJAAAAYAwAAD4AHABpbXBvcnRlZC93
M2MvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXMtc3RkZXJyLnR4dFVUCQAD
9Bc6WPQXOlh1eAsAAQT1AQAABBQAAADtysEJgDAQRcG7VfwCFATTQSpZcBFREkk2B7u3Ayt4c55c
x72r1NDhxZuFy3T5q8fONquHxeha0ramKXO5XC6Xy+VyuVzuz/0AUEsDBBQAAgAIACl6ekmPNBpw
RAAAAKAJAABHABwAaW1wb3J0ZWQvdzNjL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS90ZXN0X2Zh
aWx1cmVzX1JTQS1PQUVQLXN0ZGVyci50eHRVVAkAA/4XOlj+FzpYdXgLAAEE9QEAAAQUAAAAc84v
zUlRyMsvUUhPzUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2MOFyHlU7qnZU7ajaUbWjakfV
jqodVUtztQBQSwMEFAACAAgALHp6SVQCybI2AAAAwAIAAFAAHABpbXBvcnRlZC93M2MvV2ViQ3J5
cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUtc3RkZXJy
LnR4dFVUCQADBBg6WAQYOlh1eAsAAQT1AQAABBQAAABzzi/NSVHIyy9RSE/NSy1KLElVSFTITq1U
KEjMLNJRKC5JLCktVtA1MTYw4XIeVTuqdpCpBQBQSwMECgAAAAAAUXp6SQAAAAAAAAAAAAAAACAA
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1VUCQADShg6WJ0bOlh1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAALXp6SQAAAAAAAAAAAAAAACoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9VVAkAAwYYOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
AC16ekl1/AZOawAAAHoAAABTABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvYWJvcnQtaW4taW5pdGlhbC11cGdyYWRlbmVlZGVkLWFjdHVhbC50eHRVVAkAAwYYOlgG
GDpYdXgLAAEE9QEAAAQUAAAADcgxDsIwDAXQ3af4I0gMXICxUhloJZQewG2sEhEcZLucn0xPejSy
qbhjMGuGU7o/hnlJ5ws+fXkX3KBHrUTTnJ7LhCQeiBcHWMFrs0DRHtIpUbji+O7GWVQkS4ZLOH5i
Xppi5e2NaLiC6A9QSwMEFAACAAgALXp6SU2tXR71AAAAEQIAAFEAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9hYm9ydC1pbi1pbml0aWFsLXVwZ3JhZGVuZWVkZWQt
ZGlmZi50eHRVVAkAAwYYOlgGGDpYdXgLAAEE9QEAAAQUAAAAzZDBasMwEETv/oo9tsiqGkKPBSfE
0FCalNhpzmtrm4rKkpFWjfv3FSaX3nsoDCwMw5thpZSg3rxNA0W1QUZVnxp1ou7Z8PWsk7FaHcgS
RlIWv31iyRRZBorJclRmGH1g0uqy7NWFOjla5HcfhjkW1dZpmkhv1gq7HJTGZRk2aGUazwE1OSJN
WtI0Up9BdzxxIYT4R9Ow54R2HlZVIBflEsSifICqKqCQr6umgTYTgT+QAR3MODAuGwRXJPxCQiSO
8EUhGu+gw/4T2MM9FOIJg6MYoQ7BB7hpty/1/tjelpA/EfFM8AguWZuLxW7fHo67v6sufgBQSwME
FAACAAgALXp6SeIGy1RJAAAATwAAAFUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9hYm9ydC1pbi1pbml0aWFsLXVwZ3JhZGVuZWVkZWQtZXhwZWN0ZWQudHh0VVQJ
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
RXZ1WCq1loskwZ/wJl5xvoJFayo1dE1fwmgqk0+/N0S8JNP4LD51jRhKy/iTPFzCvma/JerunPGc
RNqH5Bnm/QU8rZ15dXYeLAGh3IfClOcv8IB4ALmxlFfH/iagvxeW02Xyd/An5KzkBiuc3P52n/xG
0r9S5R4fGsry5BfgXSxJAkgBc0aKQIaF63vDlExopRFM8uR5liWQNiLAk4IivzLTZPKDLj9IfvMh
wYBSBeUI/AU0ATibNeTSnNRwhyR5BHVOg1msNgqkn3aFDr4ZHe+OmLv8WL++4yNZQtGd96boCw7q
fBsy31CBb/0M81VgW2ocL6dgYhhfdmZB8L8+Bwj8eOlGwD0ghn+EIgVo07PNsJv7H+tsr26v6hzM
26v66RtU/1OdyvXlHv3hHrn8+bv7e/QAasG76QCYBC2bGGElToNeQE44h9bdFeFuiAYtg7SgzVAH
dDp5S+RiyOQXnconyK14zV1dg0POe93abtJeU+8xI3+DT6ypgVyX32MBhtJvpgksFLTQrRBBk4cN
9PXDDz/e/vTrw59Pwl5b24Q7oisUNOsmaDDmGl8S9P+tQJ+9wfqz/5NA//K4OxvX/ONPD7/8+hE9
QFAHkWxqnNrUSC75vzUOu3b8gjrO/zfe7T0MPwPfmd/u/RtQSwMECgAAAAAAKHp6SQAAAAAAAAAA
AAAAACYAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL1VUCQAD+xc6WJ0b
Olh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAQnp6SQAAAAAAAAAAAAAAACoAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9VVAkAAysYOlidGzpYdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAAEJ6ekkAAAAAAAAAAAAAAAAwABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvVVQJAAMrGDpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQU
AAIACABCenpJPUjYa44AAACgAAAARwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2Jhc2ljL21vZGUtbm8tY29ycy1zdGRlcnIudHh0VVQJAAMrGDpYKxg6WHV4CwAB
BPUBAAAEFAAAAFXHuwrCMBQA0N2vuKOCjXnYEru2FsFSxCoO4hDbq4QmuSUE/X1nz3YkF0UmRCYL
EHkpdMkVE5rDQJ6ZeXbIbvg82sQ6TF+Kkw1vVuMHHc0eQ7pvpdaqlJoXKn9A11/PbUUh4JAshU3V
/B0Ol8sJHJkRXsY6HGE5VU2fIhq/j5FiTd7Y0PftGrKdFmq1+AFQSwMEFAACAAgAQnp6SXJWqMqO
AAAAoAAAAE4AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNp
Yy9tb2RlLW5vLWNvcnMtd29ya2VyLXN0ZGVyci50eHRVVAkAAysYOlgrGDpYdXgLAAEE9QEAAAQU
AAAAVce7CsIwFADQ3a/IqGBjHrbGrq1FsBQxFQdxiO1VQpPcEoL+vrNnO4LxIuM8EwXheclVySRl
akcG9NTMswN6g+fJJtpB+mKcbHjTGj7gcPYQ0n0rlJKlUKyQ+YN0+nppKwwBhmQxbKrm7+TY92fi
0IzkZayDkSynqtEpgvGHGDHW6I0NWrdrku0Vl6vFD1BLAwQKAAAAAAApenpJAAAAAAAAAAAAAAAA
LwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvVVQJAAP9
FzpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAoenpJYEzA7acAAADAAwAARAAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1iYXNpYy1zdGRl
cnIudHh0VVQJAAP7FzpY+xc6WHV4CwABBPUBAAAEFAAAAM3OwQqCMBgA4HtPsWNBLv+pc3rVJEgk
0ugQHZb+xVA3GaNev3PQA+z43T4WAg8AAsYJJDmkOSQ0EkB6M1O5LBPSKz6OytEG3cfYUekXLfGN
k1lm1O4WM5GKnImQA7+Tpr2c68Jojb1TRu+K6sfk0HUnMhk5kKdUEw5kPRZV6yzKeW+tsaWZpdJt
W29JkAmINiv275eFnv+E1784Sv3+xdzvXxJ58/sCUEsDBBQAAgAIACh6ekmJxqnMqAAAAMADAABL
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLWJh
c2ljLXdvcmtlci1zdGRlcnIudHh0VVQJAAP7FzpY+xc6WHV4CwABBPUBAAAEFAAAAM3RQQuCMBiA
4Xu/YseCXH4zt+lVkyCRyKJDdFj6FUPdZIz6+52DfsCO7+2Bl8XAI4CIcQJpDiKHlDLgpLMTVfM8
Ir3i46A9bdB/rBu0edES3zjaeULjb1smhcyZjDnwO2nay6kurDHYeW3Npqh+muzP5yMZrerJU+kR
e7Iciqr1DtW0c8660k5Km7at1yTKJCSrBfvnYyJsX5KG7ROB/5VJ2L4MgvF9AVBLAwQUAAIACAAo
enpJOhDWaJgAAABAAQAASwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvY29ycy1uby1wcmVmbGlnaHQtc3RkZXJyLnR4dFVUCQAD/Bc6WPwXOlh1eAsAAQT1
AQAABBQAAADNzrsKwjAUANDdr8ioYGNvWtPYtbUIliJGcRCH2F4lNI8Sgv6+s+AHOJ7tsBR4ApAw
TmBdQlECpyLNSO8tVdNkkF7wvteRdhjfPozaPWmNLzR+sujiNWeiECUTKQd+I508H9vKO4d91N6t
qubLZHc6HYjxaiAPpQ0OZD5WjYwBld2G4EPtrdJOynZJko2AbDFjv36Q/83vA1BLAwQUAAIACAAo
enpJ42/DCpgAAABAAQAAUgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvY29ycy1uby1wcmVmbGlnaHQtd29ya2VyLXN0ZGVyci50eHRVVAkAA/wXOlj8FzpY
dXgLAAEE9QEAAAQUAAAAzc4xCsIwFADQ3VNkVLCxiTWNXVuLYCliKg7iENuvhCb5JQS9vrPgARzf
9njKRMJYwgVhm4LlBRNU8Jz06KieJgv0AveDibSF+MYwGv+kFbzA4uTAx2vGZS4LLlPBxI206nxq
SvQe+mjQr8r6y2TfdUdiUQ/koY2FgczHslYxgHa7EDBU6LTxSjVLkmwlWy9m/Ncv43/z+wBQSwME
FAACAAgAKXp6ScWUeeygAAAAgAIAAEUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9jb3JzL2NvcnMtb3JpZ2luLXN0ZGVyci50eHRVVAkAA/0XOlj9FzpYdXgLAAEE
9QEAAAQUAAAAzc67CsIwGEDh3afIqGBjLrWNXVuLYCliFAdxiO2vhOZSQtDX11XwAQpnOdvHCM0S
ShOWIbouaP4NcyJQ5y1W42gAX+C+1xG3EN8+DNo9cQUvMH604OI1ZSIXBRMko9kNtfJ8bErvHHRR
e7cq659Hu9PpgIxXPXoobaBH86GsZQyg7DYEHypvlXZSNkuUbATlixn752Nk2j7Op+1L88n4PlBL
AwQUAAIACAApenpJ6iXDI6IAAACAAgAATAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1vcmlnaW4td29ya2VyLXN0ZGVyci50eHRVVAkAA/0XOlj9
FzpYdXgLAAEE9QEAAAQUAAAAzdC9CsIwGIXh3avIqGBjEmuadm0tgqWIURzEIbafEpqfEoLevq6C
F1A4y7s9HEYoTyhNGEd0U9DsO0xSgTpvsRpHA/gC972OuIX49mHQ7okreIHxowUXrykTmSiYIJzy
G2rl+diU3jnoovZuVdY/jXan0wEZr3r0UNpAj+ZDWcsYQNltCD5U3irtpGyWKMkFXS9m7J+Pp9P2
ZRP/LyeT8X0AUEsDBAoAAAAAAER6ekkAAAAAAAAAAAAAAAAlABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL1VUCQADLxg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA
QXp6SQAAAAAAAAAAAAAAACkAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
ZG9tL1VUCQADKRg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAQXp6Sf6FgMXBAAAATgIA
AEcAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3JlZmxlY3Rpb24t
ZW1iZWRkZWQtc3RkZXJyLnR4dFVUCQADKRg6WCkYOlh1eAsAAQT1AQAABBQAAADNkDEPgjAQhXd/
xY06aClowG5GYhhMNEQn41DpIcRCsS3+fs/g7OCiueW9vHe5L3fiC8FjsVjOeByeITsc9jnee3Qe
yvqaed+9bVqrHAusH5ij60zrcC21vsjiJsAOgYKK+uSGHObBHMZorbEw5eEySiZQkn6VBGPaFFJX
xnmRJEHAKt9opkzDPB2bPqTucVeOTp/xyKZ9023qVupjvl21xNgYjyuliMIJkIMAHsazgIbTGnWh
t/prjui/3xT98E1PUEsDBAoAAAAAAER6ekkAAAAAAAAAAAAAAAAvABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9VVAkAAy8YOlidGzpYdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAAEZ6ekkAAAAAAAAAAAAAAABAABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L1VUCQADNBg6WJ0bOlh1eAsA
AQT1AQAABBQAAABQSwMECgAAAAAAS3p6SQAAAAAAAAAAAAAAAE8AHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvVVQJAAM+GDpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABEenpJBS/vUGgAAADG
AAAAZwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1i
ZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9jYW5wbGF5LXN0ZGVyci50eHRVVAkA
Ay8YOlgvGDpYdXgLAAEE9QEAAAQUAAAA88svUzAyUzA0tTK0sDIwU0gtLzY0MNfLyU9OzFEoKkku
Si3ILyrJzEuPNjGysDCJVbBxSU0qTbezUsjMyywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0r
ySzJSU3RUTDk8qO9FQBQSwMEFAACAAgARHp6SQF/iq5oAAAAxgAAAHIAHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEt
ZWxlbWVudHMvZXZlbnRfY2FucGxheV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAkAAy8YOlgvGDpY
dXgLAAEE9QEAAAQUAAAA88svUzAyUzA0tTK0sDIwV0gtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuP
NjGysDCJVbBxSU0qTbezUsjMyywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJSU3RUTDk
8qO9FQBQSwMEFAACAAgARHp6SQF/iq5oAAAAxgAAAG4AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMv
ZXZlbnRfY2FucGxheXRocm91Z2gtc3RkZXJyLnR4dFVUCQADLxg6WC8YOlh1eAsAAQT1AQAABBQA
AADzyy9TMDJTMDS1MrSwMjBXSC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlVsHFJTSpN
t7NSyMzLLAnPLMkITi0uzszP88xLy7dSiAhwVsjLL1FIzSvJLMlJTdFRMOTyo70VAFBLAwQUAAIA
CABEenpJ+lzNpmgAAADGAAAAeQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9jYW5wbGF5
dGhyb3VnaF9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAkAAzAYOlgwGDpYdXgLAAEE9QEAAAQUAAAA
88svUzAyUzA0tTK0sDKwUEgtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuPNjGysDCJVbBxSU0qTbez
UsjMyywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJSU3RUTDk8qO9FQBQSwMEFAACAAgA
RHp6SfpczaZoAAAAxgAAAGoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZGVkZGF0
YS1zdGRlcnIudHh0VVQJAAMwGDpYMBg6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUytLAysFBI
LS82NDDXy8lPTsxRKCpJLkotyC8qycxLjzYxsrAwiVWwcUlNKk23s1LIzMssCc8syQhOLS7OzM/z
zEvLt1KICHBWyMsvUUjNK8ksyUlN0VEw5PKjvRUAUEsDBBQAAgAIAEV6ekn6XM2maAAAAMYAAAB1
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2xvYWRlZGRhdGFfbm9hdXRvcGxheS1zdGRl
cnIudHh0VVQJAAMxGDpYMRg6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUytLAysFBILS82NDDX
y8lPTsxRKCpJLkotyC8qycxLjzYxsrAwiVWwcUlNKk23s1LIzMssCc8syQhOLS7OzM/zzEvLt1KI
CHBWyMsvUUjNK8ksyUlN0VEw5PKjvRUAUEsDBBQAAgAIAEV6ekn+DKhYaAAAAMYAAABuABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2xvYWRlZG1ldGFkYXRhLXN0ZGVyci50eHRVVAkAAzEY
OlgxGDpYdXgLAAEE9QEAAAQUAAAA88svUzAyUzA0tTK0sDKwVEgtLzY0MNfLyU9OzFEoKkkuSi3I
LyrJzEuPNjGysDCJVbBxSU0qTbezUsjMyywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJ
SU3RUTDk8qO9FQBQSwMEFAACAAgARXp6Sf4MqFhoAAAAxgAAAHkAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvZXZlbnRfbG9hZGVkbWV0YWRhdGFfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAAMxGDpY
MRg6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUytLAysFRILS82NDDXy8lPTsxRKCpJLkotyC8q
ycxLjzYxsrAwiVWwcUlNKk23s1LIzMssCc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN
0VEw5PKjvRUAUEsDBBQAAgAIAEV6ekkdBpOVbQAAAMYAAABpABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL2V2ZW50X2xvYWRzdGFydC1zdGRlcnIudHh0VVQJAAMyGDpYMhg6WHV4CwABBPUBAAAEFAAA
APPLL1MwMlMwNLUytLAysFRILS82NDDXy8lPTsxRKCpJLkotyC8qycxLjzYxsrAwiVWwcUlNKk23
s1LIzMssCc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN0VEw5PJDtsLQgBZWAABQSwME
FAACAAgARXp6SZdksD9oAAAAxgAAAHQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9h
ZHN0YXJ0X25vYXV0b3BsYXktc3RkZXJyLnR4dFVUCQADMhg6WDIYOlh1eAsAAQT1AQAABBQAAADz
yy9TMDJTMDS1MrSwMjRQSC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlVsHFJTSpNt7NS
yMzLLAnPLMkITi0uzszP88xLy7dSiAhwVsjLL1FIzSvJLMlJTdFRMOTyo70VAFBLAwQUAAIACABF
enpJl2SwP2gAAADGAAAAfAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9vcmRlcl9jYW5w
bGF5X2NhbnBsYXl0aHJvdWdoLXN0ZGVyci50eHRVVAkAAzIYOlgyGDpYdXgLAAEE9QEAAAQUAAAA
88svUzAyUzA0tTK0sDI0UEgtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuPNjGysDCJVbBxSU0qTbez
UsjMyywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJSU3RUTDk8qO9FQBQSwMEFAACAAgA
Rnp6SZM01cFoAAAAxgAAAHUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfY2Fu
cGxheV9wbGF5aW5nLXN0ZGVyci50eHRVVAkAAzMYOlgzGDpYdXgLAAEE9QEAAAQUAAAA88svUzAy
UzA0tTK0sDI0VEgtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuPNjGysDCJVbBxSU0qTbezUsjMyywJ
zyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJSU3RUTDk8qO9FQBQSwMEFAACAAgARnp6SZM0
1cFoAAAAxgAAAH8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3JkZXJfbG9hZGVkbWV0
YWRhdGFfbG9hZGVkZGF0YS1zdGRlcnIudHh0VVQJAAMzGDpYMxg6WHV4CwABBPUBAAAEFAAAAPPL
L1MwMlMwNLUytLAyNFRILS82NDDXy8lPTsxRKCpJLkotyC8qycxLjzYxsrAwiVWwcUlNKk23s1LI
zMssCc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN0VEw5PKjvRUAUEsDBBQAAgAIAEZ6
eknewgsYaAAAAMYAAAB4ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X29yZGVyX2xvYWRz
dGFydF9wcm9ncmVzcy1zdGRlcnIudHh0VVQJAAM0GDpYNBg6WHV4CwABBPUBAAAEFAAAAPPLL1Mw
MlMwNLUytLAyNFJILS82NDDXy8lPTsxRKCpJLkotyC8qycxLjzYxsrAwiVWwcUlNKk23s1LIzMss
Cc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN0VEw5PKjvRUAUEsDBBQAAgAIAEZ6ekne
wgsYaAAAAMYAAABlABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BhdXNlLXN0ZGVyci50
eHRVVAkAAzQYOlg0GDpYdXgLAAEE9QEAAAQUAAAA88svUzAyUzA0tTK0sDI0UkgtLzY0MNfLyU9O
zFEoKkkuSi3ILyrJzEuPNjGysDCJVbBxSU0qTbezUsjMyywJzyzJCE4tLs7Mz/PMS8u3UogIcFbI
yy9RSM0rySzJSU3RUTDk8qO9FQBQSwMEFAACAAgARnp6Sd7CCxhoAAAAxgAAAHAAHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvZXZlbnRfcGF1c2Vfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAAM0GDpY
NBg6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUytLAyNFJILS82NDDXy8lPTsxRKCpJLkotyC8q
ycxLjzYxsrAwiVWwcUlNKk23s1LIzMssCc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN
0VEw5PKjvRUAUEsDBBQAAgAIAEd6eknakm7maAAAAMYAAABkABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL2V2ZW50X3BsYXktc3RkZXJyLnR4dFVUCQADNRg6WDUYOlh1eAsAAQT1AQAABBQAAADzyy9T
MDJTMDS1MrSwMjRWSC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlVsHFJTSpNt7NSyMzL
LAnPLMkITi0uzszP88xLy7dSiAhwVsjLL1FIzSvJLMlJTdFRMOTyo70VAFBLAwQUAAIACABHenpJ
2pJu5mgAAADGAAAAbwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5X25vYXV0b3Bs
YXktc3RkZXJyLnR4dFVUCQADNRg6WDUYOlh1eAsAAQT1AQAABBQAAADzyy9TMDJTMDS1MrSwMjRW
SC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlVsHFJTSpNt7NSyMzLLAnPLMkITi0uzszP
88xLy7dSiAhwVsjLL1FIzSvJLMlJTdFRMOTyo70VAFBLAwQUAAIACABHenpJBSjHcGgAAADGAAAA
ZwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRk
ZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5aW5nLXN0ZGVyci50eHRVVAkAAzYY
Olg2GDpYdXgLAAEE9QEAAAQUAAAA88svUzAyUzA0tTK0sDI0UUgtLzY0MNfLyU9OzFEoKkkuSi3I
LyrJzEuPNjGysDCJVbBxSU0qTbezUsjMyywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJ
SU3RUTDk8qO9FQBQSwMEFAACAAgAR3p6SQUox3BoAAAAxgAAAHIAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxl
bWVudHMvZXZlbnRfcGxheWluZ19ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAkAAzYYOlg2GDpYdXgL
AAEE9QEAAAQUAAAA88svUzAyUzA0tTK0sDI0UUgtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuPNjGy
sDCJVbBxSU0qTbezUsjMyywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJSU3RUTDk8qO9
FQBQSwMEFAACAAgASHp6SQF4oo5oAAAAxgAAAGgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZl
bnRfcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUCQADNxg6WDcYOlh1eAsAAQT1AQAABBQAAADzyy9TMDJT
MDS1MrSwMjRVSC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlVsHFJTSpNt7NSyMzLLAnP
LMkITi0uzszP88xLy7dSiAhwVsjLL1FIzSvJLMlJTdFRMOTyo70VAFBLAwQUAAIACABIenpJAXii
jmgAAADGAAAAcwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wcm9ncmVzc19ub2F1dG9w
bGF5LXN0ZGVyci50eHRVVAkAAzcYOlg3GDpYdXgLAAEE9QEAAAQUAAAA88svUzAyUzA0tTK0sDI0
VUgtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuPNjGysDCJVbBxSU0qTbezUsjMyywJzyzJCE4tLs7M
z/PMS8u3UogIcFbIyy9RSM0rySzJSU3RUTDk8qO9FQBQSwMEFAACAAgASHp6SUyOfFdoAAAAxgAA
AGoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfdGltZXVwZGF0ZS1zdGRlcnIudHh0VVQJ
AAM4GDpYOBg6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUytLAyNFNILS82NDDXy8lPTsxRKCpJ
LkotyC8qycxLjzYxsrAwiVWwcUlNKk23s1LIzMssCc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjN
K8ksyUlN0VEw5PKjvRUAUEsDBBQAAgAIAEl6eklMjnxXaAAAAMYAAAB1ABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL2V2ZW50X3RpbWV1cGRhdGVfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQJAAM5GDpY
ORg6WHV4CwABBPUBAAAEFAAAAPPLL1MwMlMwNLUytLAyNFNILS82NDDXy8lPTsxRKCpJLkotyC8q
ycxLjzYxsrAwiVWwcUlNKk23s1LIzMssCc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN
0VEw5PKjvRUAUEsDBAoAAAAAAEV6ekkAAAAAAAAAAAAAAABaABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL2ludGVyZmFjZXMvVVQJAAMxGDpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABFenpJ
AAAAAAAAAAAAAAAAZAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRUcmFj
ay9VVAkAAzEYOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAEV6ekkI9HakfAAAAK4AAAB5
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMvVGV4dFRyYWNrL2FjdGl2ZUN1ZXMt
c3RkZXJyLnR4dFVUCQADMRg6WDEYOlh1eAsAAQT1AQAABBQAAACVzTEKwkAQRuHeU/wHkCUb1MRF
bLSxCYKFgljEOK4Dy4zsjnp94xFsX/G9Tt+oF/Dz4NtQLUGf4qvGJR36hGxDpqdmY4nnWd02/oLV
Tu66Dkga45hRrM9WnHOT7m9qS9dXHC0WtiPb40ClsMrvEHDabyBqIDG2RLcp/OQLUEsDBBQAAgAI
AEl6eklI3hmpaAAAAMYAAAB3ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL25ldHdvcmtTdGF0ZV9k
dXJpbmdfbG9hZHN0YXJ0LXN0ZGVyci50eHRVVAkAAzkYOlg5GDpYdXgLAAEE9QEAAAQUAAAA88sv
UzAyUzA0tTK0sDI0V0gtLzY0MNfLyU9OzFEoKkkuSi3ILyrJzEuPNjGysDCJVbBxSU0qTbezUsjM
yywJzyzJCE4tLs7Mz/PMS8u3UogIcFbIyy9RSM0rySzJSU3RUTDk8qO9FQBQSwMEFAACAAgASXp6
SbP9XqFnAAAAxgAAAHIAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGF1c2VkX2ZhbHNlX2R1cmlu
Z19wbGF5LXN0ZGVyci50eHRVVAkAAzoYOlg6GDpYdXgLAAEE9QEAAAQUAAAA88svUzAyUzA0tTK0
ACKF1PJiQwNzvZz85MQchaKS5KLUgvyiksy89GgTIwsLk1gFG5fUpNJ0OyuFzLzMkvDMkozg1OLi
zPw8z7y0fCuFiABnhbz8EoXUvJLMkpzUFB0FQy4/2lsBAFBLAwQUAAIACABJenpJs/1eoWcAAADG
AAAAcgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1i
ZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wYXVzZWRfdHJ1ZV9kdXJpbmdfcGF1c2Utc3Rk
ZXJyLnR4dFVUCQADOhg6WDoYOlh1eAsAAQT1AQAABBQAAADzyy9TMDJTMDS1MrQAIoXU8mJDA3O9
nPzkxByFopLkotSC/KKSzLz0aBMjCwuTWAUbl9Sk0nQ7K4XMvMyS8MySjODU4uLM/DzPvLR8K4WI
AGeFvPwShdS8ksySnNQUHQVDLj/aWwEAUEsDBAoAAAAAAEZ6ekkAAAAAAAAAAAAAAABqABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250
ZW50L21lZGlhLWVsZW1lbnRzL3BsYXlpbmctdGhlLW1lZGlhLXJlc291cmNlL1VUCQADMxg6WJ0b
Olh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgARXp6SSMlorOtAAAAzAAAAJEAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGF1c2UtbW92ZS10by1vdGhl
ci1kb2N1bWVudC1zdGRlcnIudHh0VVQJAAMyGDpYMhg6WHV4CwABBPUBAAAEFAAAADXOzYrCMBTF
8b1PcR5glMSoLUEEPzZuROzCgeKi1lsbDDeS3DqDT282/veH36n13OrSajUpS3PBMoftab2psMqh
80Pqj8Q3x/cTeWoSVSQWtfovumthmoXRhtQFGx/aBxT6JoEDj98UAyJ1aMPAAjM6hBemC3w50F/S
qpjkWeMRpY30DFEyU8+mZaHzlR1dh/vKwrGTs5O+opRc4D13weL3uM2OgFiceLr9QI8+UEsDBBQA
AgAIAEZ6ekkS0bcssAAAAMwAAACPABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3BsYXlpbmctdGhl
LW1lZGlhLXJlc291cmNlL3BhdXNlLW1vdmUtd2l0aGluLWRvY3VtZW50LXN0ZGVyci50eHRVVAkA
AzMYOlgzGDpYdXgLAAEE9QEAAAQUAAAANc69bsIwFMXxnac4D9AiO3wkWChSgYUFITK0UpQhJDeJ
Veu6sm9axNPjpf/96HdqvTG6MFov1W7XYJ/C8fZxqFCmMLg5Tlfi3vJ4I0dtpIrEoFaPfLjnq16t
s75TDQ7Od99QmNoI9vz+pOARaEDnZxasFhf/i2yLfw70F7XKl2nWOgTpAv34IImp11mR63TlRPd5
LA0sW/m0MlUUo/V85sEbfF2PyREQixVH/Rv04gVQSwMEFAACAAgARnp6ScA6SPuvAAAAzAAAAI8A
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVk
LWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGF1c2Ut
cmVtb3ZlLWZyb20tZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQADMxg6WDMYOlh1eAsAAQT1AQAABBQA
AAA1zstuwjAQheE9T3EeoKAMDTVYCKnAppsKkUUrRSxymRALa4zsCVR9+nrTf3/0nZpWltaWaPFK
mwu2ORzO7/sKuxwGP6XxxNI7uZ7Zc5O4YrWoix8ztKYk2qxMW1yw96G7ocDYJEiQ+S/HgMgDujCJ
opx9hgeWb/jnwM9EhVnkWeMRtYt8D1EzU5fLtaF85cjtdN1ZOHH65XSsOCUX5EOGYPF9OmRHwaJO
PfcvoNkfUEsDBBQAAgAIAEp6ekm3rTtfaAAAAMYAAABzABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L3JlYWR5U3RhdGVfZHVyaW5nX2NhbnBsYXktc3RkZXJyLnR4dFVUCQADOxg6WDsYOlh1eAsAAQT1
AQAABBQAAADzyy9TMDJTMDS1MrSwMrRUSC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlV
sHFJTSpNt7NSyMzLLAnPLMkITi0uzszP88xLy7dSiAhwVsjLL1FIzSvJLMlJTdFRMOTyo70VAFBL
AwQUAAIACABKenpJt607X2gAAADGAAAAegAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0
YXRlX2R1cmluZ19jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQJAAM7GDpYOxg6WHV4CwABBPUB
AAAEFAAAAPPLL1MwMlMwNLUytLAytFRILS82NDDXy8lPTsxRKCpJLkotyC8qycxLjzYxsrAwiVWw
cUlNKk23s1LIzMssCc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN0VEw5PKjvRUAUEsD
BBQAAgAIAEp6eklMhwQ3aAAAAMYAAAB2ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3Rh
dGVfZHVyaW5nX2xvYWRlZGRhdGEtc3RkZXJyLnR4dFVUCQADPBg6WDwYOlh1eAsAAQT1AQAABBQA
AADzyy9TMDJTMDS1MrSwMjJQSC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlVsHFJTSpN
t7NSyMzLLAnPLMkITi0uzszP88xLy7dSiAhwVsjLL1FIzSvJLMlJTdFRMOTyo70VAFBLAwQUAAIA
CABKenpJTIcEN2gAAADGAAAAegAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1
cmluZ19sb2FkZWRtZXRhZGF0YS1zdGRlcnIudHh0VVQJAAM8GDpYPBg6WHV4CwABBPUBAAAEFAAA
APPLL1MwMlMwNLUytLAyMlBILS82NDDXy8lPTsxRKCpJLkotyC8qycxLjzYxsrAwiVWwcUlNKk23
s1LIzMssCc8syQhOLS7OzM/zzEvLt1KICHBWyMsvUUjNK8ksyUlN0VEw5PKjvRUAUEsDBBQAAgAI
AEt6eknNW4U8bAAAAMYAAABzABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVy
aW5nX3BsYXlpbmctc3RkZXJyLnR4dFVUCQADPRg6WD0YOlh1eAsAAQT1AQAABBQAAADzyy9TMDJT
MDS1MrSwMjJQSC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlVsHFJTSpNt7NSyMzLLAnP
LMkITi0uzszP88xLy7dSiAhwVsjLL1FIzSvJLMlJTdFRMOTyQ7HCkBZWAABQSwMEFAACAAgAS3p6
SVqdh8bVAAAAwgIAAIQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvc3JjX3JlZmxlY3RzX2F0dHJp
YnV0ZV9ub3Rfc291cmNlX2VsZW1lbnRzLXN0ZGVyci50eHRVVAkAAz4YOlg+GDpYdXgLAAEE9QEA
AAQUAAAA1ZC9TsQwEIR7nmJLKHK2Q4CcuxMndAUFio7qROGzN8TCP8He8PwsCjUdEmib+TSz0uye
1I1WvW7bjbyVL3A4Hp8GfF+wEoz+9UA0f+PeuwEt+g8csM45Vbw3IZyNfdNQVsPBxHmm1YdOdnCJ
peQCjWq31/0VjKy/QlqIkK0JU66k+15KMVEMomI0ibytAuMZnUPX2JwIE4mIzpsGA0amKsacL04/
d2fcL3F+8MmE5+Fxl/iAmAl3znHFqsGsAlR7t5E8itc4C0sJv1Oy+8cP7v7qgz8BUEsDBAoAAAAA
AEZ6ekkAAAAAAAAAAAAAAABVABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3RyYWNrL1VUCQADMxg6
WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAARnp6SQAAAAAAAAAAAAAAAGMAHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
bWVkaWEtZWxlbWVudHMvdHJhY2svdHJhY2stZWxlbWVudC9VVAkAAzMYOlidGzpYdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAEZ6ekmlkuycrgAAAMwAAACCABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L3RyYWNrL3RyYWNrLWVsZW1lbnQvdHJhY2stYXBpLXRleHR0cmFja3Mtc3RkZXJyLnR4dFVUCQAD
Mxg6WDMYOlh1eAsAAQT1AQAABBQAAAA1jkFuwjAQRfec4h+gRZmkxMiqkArdsEGILKgUsQhhQqxa
Y2RPaMXp8YZ3gPfeLtxR1qCFpaUlAv8lKszch77ziNpHvoWoTq7tR7k0dMLnN5+n68rCidOj07Hh
lFyQrQzB4me/gQQFizr1fHkDzdqXfF6bOgsy2By+1g1WGQx+SuOe5ZIjB/bcJW5YLdri3wxnU3WL
siIqTljnqV8UGLuUG/L+4BgQeUAfJlFUsydQSwMECgACAAAAS3p6SRylVBdjAAAAYwAAAGMAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvdmlkZW9fMDA4LXN0ZGVyci50eHRVVAkAAz4YOlg+GDpYdXgL
AAEE9QEAAAQUAAAATm92IDI2IDE1OjE4OjIyIGV3czEwNy5sb2NhbCBydGNyZXBvcnRpbmdbNDI4
ODRdIDxEZWJ1Zz46IGluaXRXaXRoU2Vzc2lvbkluZm86IFhQQyBub3QgZW50aXRsZWQsIDEKUEsD
BAoAAAAAAEZ6ekkAAAAAAAAAAAAAAABSABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1hdWRpby1lbGVtZW50L1VUCQAD
NBg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgARnp6SWQIjsHeAAAA0AIAAG4AHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvdGhlLWF1ZGlvLWVsZW1lbnQvYXVkaW9fY29uc3RydWN0b3Itc3RkZXJyLnR4dFVUCQADNBg6
WDQYOlh1eAsAAQT1AQAABBQAAADVkDFPAzEMhXd+hUc6XHM5euXIVlGhDgzoVKaKIU1cLqqTHImP
30/KMcOEBPLynv0sffZBtkp2SjbLdt2+wG6/f+rxbcLMcHKvO+bxy26d7dGge8ce8xhDxntNdNTm
rCDNAwtDyRc3z2FVr+AaU4oJKtnc3XQLOBV9CSkhKBpNQ8ysuq6uxcCeREavAzuTBfojWou2MjEw
BhY8YKUn62KFhP7SyclcHb7HL3Y7+fHBBU3P/eMmlBt8ZNxYWyizAj0LkM3tsi4ly1rJwpTo1zjX
/+vNYSL6if9P/PkT9ANQSwMECgAAAAAAW3p6SQAAAAAAAAAAAAAAAC0AHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9VVAkAA10YOlidGzpYdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIAFF6ekkKULg+rAAAAGgBAABXABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtYWN0aXZlc291cmNlYnVmZmVycy1zdGRl
cnIudHh0VVQJAANKGDpYShg6WHV4CwABBPUBAAAEFAAAAL2OsQ6CMBRFd7/i/QCNbRGRTWUxuml0
MA4PeGCT0pK2aPDrrbuLi9O9ucnJPWLOs4TzRGTAFwXPC5myXKRQ257hMGhiF6r2Knxia00gE1hJ
D9J26GO/piJfrgrJY6Q32HXGOmW6iJvgrD6pnir0BJ4CVBPUWkUIKqpxjOv6fMQ+fmzGtiVXKj9o
nA44kYMnesCmoQaCBQQ/mfrurFEvcjPxzVnKn50lz/m/nN9QSwMEFAACAAgAUnp6SdpiNMrBAAAA
hAMAAFgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRp
YXNvdXJjZS1hZGRzb3VyY2VidWZmZXItbW9kZS1zdGRlcnIudHh0VVQJAANLGDpYSxg6WHV4CwAB
BPUBAAAEFAAAAM2SzQ6CMBCE7z7FvoCElgrIzZ+L0ZtGD8bDAos2KS1piwaf3nr3ohc8zWaSyX6Z
DI9ZOmVsylNgs4LlRSKiXHCoTBth1ymKTlRupX/LymhP2kdrupMyXRvus+B5Ni8SlvA4vsDmqo2V
+hri2lujDrKlEh2BIw/lAJWSIQQlVdgHd3HcYxt+LPumIbuWrlM47HAgCw90gHVNNXgDCG7Q1c0a
LZ9kJ/wjc/I1cxAxLnP6fc8sZ6Mypz9tIxuXWfz1nl9QSwMEFAACAAgAUnp6ST//18+cAAAAtAAA
AGQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNv
dXJjZS1hdHRhY2gtc3RvcHMtZGVsYXlpbmctbG9hZC1ldmVudC1zdGRlcnIudHh0VVQJAANLGDpY
Sxg6WHV4CwABBPUBAAAEFAAAABWNvQ7CIBRGd5/ivkAb6Z+1m9rF6KbRwThc6G0loUCAavDpxemc
fMnJV6xZkzGWFQ2wumNtV9Z5WTMQZs7RWkX5nfhJhj8ORgfSIe/pTcrYOfmjKtrNtitZQvWE46SN
k3pKuQ7OqKuciaMn8BSARxBKpgg4CVzSurtdcE4f+2UcyfXSW4XxjJEcfNADDgMNEAwg+KjFyxkt
v+RWP1BLAwQUAAIACABSenpJ7yL2NSwBAADZAgAATAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWF2dHJhY2tzLXN0ZGVyci50eHRVVAkA
A0sYOlhLGDpYdXgLAAEE9QEAAAQUAAAAxZBPT8JAEMXvfIr5ArR0ofzpTYsIERICRQ/Gw3Z3gE3a
nbo7xdRPb2tMTIwXPejpvUzey/xmxCAa96OoL8YQxUk0TYZxEE8EKCoDWVUFBg+Y3xnuJCXLaDmY
4wULqsrWP47EdDJLhtFQDAZPsDpZcsae2rplR0VmSsylR/DIkDegCtOWIEcl63Z6db+XZbvjuj4e
0c2NrwrZrGWDDl6kB6k1amACCb6x6uzImld0PfEt8+jHzGIqZv/LHP/mz5O/Yg73VDuFqVRnDFNy
uEFt5KfrR/FYBGI0CLeOmLip0IcLc1pm2bbT9J1iKa0uUKe1ZyoPu3WbvRiNLlAfmF8DqUPJuENf
kfU4N4oX5G6Rd/hco+cEUqoLDZa4O/+CjuGQrTr+zWpzAx1GAr03UEsDBBQAAgAIAFJ6eknatdGH
ngAAALQAAABMABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2Uv
bWVkaWFzb3VyY2UtYnVmZmVyZWQtc3RkZXJyLnR4dFVUCQADSxg6WEsYOlh1eAsAAQT1AQAABBQA
AAAVjbEOgjAURXe/4v2ADS2CwKayGN00OhiHV3hgk9KStmjq11une3KSkysyXq45X4sSeNHwqskL
VtQZdHZiOM+a2J3kSYX/HKwJZAJr6U3azlPix0ZU27rJuahE/YTjaKxTZky5Cc7qq5pIoifwFEBG
6LRKEUjqcEl2d7vglD72yzCQa5WfNcYzRnLwQQ/Y99RDsIDgo+lezhr1Jbf6AVBLAwQUAAIACABS
enpJ3+WHrr8AAACEAwAASgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEt
c291cmNlL21lZGlhc291cmNlLWNsb3NlZC1zdGRlcnIudHh0VVQJAANLGDpYSxg6WHV4CwABBPUB
AAAEFAAAAOWSvQ7CMAyEd57CL0BVp5SWbvwsCDYQDIjBbV2IlCZVEkDl6Qk7CwwwMN3J0uk+WSdi
HA8Rh2IMmBaYF0kaZSKFyrQRdZ3iaM/lSvqnzI32rH204Csr07XBH0YizyZFggnm8RGWJ22s1KcQ
194atZUtl+QYHHsoe6iUDCEouaJLuE53G2pDx+zSNGwX0nWK+jX1bOFGDqiuuQZvgMD1ujpbo+Wd
7UC8ZM7/gjlI9lPmBD/5M/6WefQ+s4i/to0HUEsDBBQAAgAIAFN6ekkJyt0jKwEAAMgDAABfABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
Y29uZmlnLWNoYW5nZS1tcDQtYS1iaXRyYXRlLXN0ZGVyci50eHRVVAkAA04YOlhOGDpYdXgLAAEE
9QEAAAQUAAAA5dDBagIxEADQu18xN/Wgu3E1FKEXt0p7EATpSURiMqvBbGaZzbb175tFrEVKf8BT
JpOZYV42YjIVT9NMDkUqt1CwOiyVtwU5s1s19XF2DlhDbQ9eOYcGkPl5IGQ6ltA7LexP8ZyZePfu
8atCHdC8eRteVFB96K1RkzfQLcK56oIKVAJ6TY0PyGj6MQPJmhrWmCt9xCQnxiUaq27RQEzkaDga
p8mKKVAchHWyIC5VeFXeOOQ6WdKHxaRdqQ0WEVKiD9f9hhqc9QhCZmlnc0OPxCOiJw+IztIt5Mu1
KiuHs6YokPMIjaPncZdL+k4voBeP6NqoPXGw/gCOqAJU7M5gGoRAbSFx/M1o1bF1r/Rp+490F/+9
xE/iU/0X+tJzeWqFv9e9v1+hmZRZ5xtQSwMEFAACAAgAVHp6Sc9svXYuAQAAyAMAAGYAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25m
aWctY2hhbmdlLW1wNC1hdi1hdWRpby1iaXRyYXRlLXN0ZGVyci50eHRVVAkAA1AYOlhQGDpYdXgL
AAEE9QEAAAQUAAAA5dDBbsIwDADQO1/hG3CAtrR0DGkXOtB2qISEdkIIhcSFiDSu3HQbf79UiIHQ
tB/gFMexLb+so/E0mkzjyTBJxxsoWOxzYXVBRm2XTX2YnRzWUOu9FcagAmR+GURpmKTQOy70b/Gc
mXj7YfG7QulQvVvtXoUTfeitUJJV0C3cqeqCcFQCWkmNdcio+j4DwYoalpgJecAgI8YclRbXaBCN
09FwlITBksmRH4R1sCAuhXsTVhnkOsjpU2PQrtQGCw8p0brLfkMJRluEKI3DzvqKfkoeED2JHxD9
HG4gy1eirAzOmqJAzjzUj577Xc7pO30EPX9411rsiJ22ezBEFaBgcwLVIDhqC4n9b3qr9K07IY+b
f6Rb/+8lfhEf67/Q557zUyu8Xff+foHGaRp3fgBQSwMEFAACAAgAVnp6SeI7j1GhAQAAfAQAAGYA
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJj
ZS1jb25maWctY2hhbmdlLW1wNC1hdi12aWRlby1iaXRyYXRlLXN0ZGVyci50eHRVVAkAA1MYOlhT
GDpYdXgLAAEE9QEAAAQUAAAA5ZPPbtswDMbvfQremh7iv6mTBthhTRqs2AIUyNYdgiCgZSYRIosG
Jbdzn34ygnZBUewFeiJFidT3+wBmSVoM03SYFZBeT9PJdJRE43EGiusIm8ZQ9JvK79r3YcbWk/XR
nJ7IcFOHfD3KJuObaZ7mWZJs4H5vWbTdh3brhc1PXVOJjsCRh7IDZXRogpIUtqH69XGFdfjjtt3t
SObaNQa7H9iRwDM6wKqiCjwDguusOghb/UJysX5TOhnnG9gJ7pdo9Y5NtX1o3eG28+TA6b1FY8IE
EvkyTItkVMDguNBvj+9EWLa/LP1pSHmq7q32c/R4BYMVBYIKLne+ay4BPddAVnEbDBCqrkIF4hW3
omiG6kDxjIWWVGn8lw3T6yKLslESPwh7DoPIxQuWGv03tJUhcfGSnzTFvaQ+WQSQ3tRXfZECoy1B
WuTJOfQk+YzQk08IfVNsYLY8X5JZAA2j74KWU/kdfQqDEALXGksW3++iYW6AUEwHVUv9PlFvR3Az
sKrQWqI6bv5Dug2+1/TMcnQfQZ96Tlc94bnc9+dX0Lwo8ou/UEsDBBQAAgAIAFd6ekllRp/qSQEA
AJMDAABfABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVk
aWFzb3VyY2UtY29uZmlnLWNoYW5nZS1tcDQtdi1iaXRyYXRlLXN0ZGVyci50eHRVVAkAA1UYOlhV
GDpYdXgLAAEE9QEAAAQUAAAA5ZDPTsMwDMbvPIVvwGFt021lm8QBNiYQTEIafw4IIS9xt4g0rpwU
KE9PdgDEM3DyJ8uf/f1cFqoaKDUoK1DjmZrMRsNMKQWamwzb1lH2SJtrG/dlzj6Sj9mC3shx2yT9
NConJ9PZUA3VRD3D1dazWL9Ndh+F3Z1taIOBIFCETQ/a2WSCDWnsUvfsYY1NunHe1TXJwobWYX+D
PQm8YwA0hgxEBoTQe70T9vaT5ODpN+m0fIZacLtCb2t25uW2C7vzPlKAYLcenUsbSOR0oKpiVMHR
69L+DF+IsLzce/poSUcyV97GBUY8hqM1JQIDh3Xs20PAyA2Q19ylBwiZ49SBfM2daJqj3lE+Z6EV
GYu/aqDGVZmVoyK/FY6cFlHIlywNxkv0xpGEfMVvlvJ9pL1YJpD9U7/zZRqc9QSqGhZ/oKf/D7os
xv8F+gtQSwMEFAACAAgAWHp6SUiqhl9KAQAAkwMAAGEAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hhbmdlLW1wNC12LWZy
YW1lcmF0ZS1zdGRlcnIudHh0VVQJAANXGDpYVxg6WHV4CwABBPUBAAAEFAAAAOWQTU8CQQyG7/6K
3pQDu8wCK5B4EJBolMQEPw7GmDLThYmz001nVl1/vcPBj//gqW+avu37tBiosq9UvyhBjWdqMhuN
MzUuQHOdYdM4yh5pe23joSzYR/IxW9IbOW7qpJ9GxeR0OhuqoZqoZ7jaeRbrd8nuo7C7szVtMRAE
irDtQDubTLAljW3qnj9ssE435m1VkSxtaBx2N9iRwDsGQGPIQGRACJ3Xe2FvP0mOnn6SFpPyGSrB
3Rq9rdiZl9s27OddpADB7jw6lzaQyFlflYNRCSevK/szfCHC8nLv6aMhHclceRuXGLEHJxtKBAaO
q9g1x4CRayCvuU0PEDK91IF8w61oWqDeU75goTUZi7+qr8ZlkRWjQX4rHDktopCvWGqMl+iNIwn5
mt8s5YdIB7FKIIenfufLNDjrCVQ5HPyFng7/I/T0v0B/AVBLAwQUAAIACABZenpJSX9wiksBAACT
AwAAYQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlh
c291cmNlLWNvbmZpZy1jaGFuZ2UtbXA0LXYtZnJhbWVzaXplLXN0ZGVyci50eHRVVAkAA1kYOlhZ
GDpYdXgLAAEE9QEAAAQUAAAA5ZDPTttAEMbvfYq5JRxiex3HpJE4QEJU1EaKFKAHhNBkd5ysWO9Y
s2ta8/RsDtC+Q07zaTR/vt9XFqqeKDUpa1CzhZovqsusrOaguc2w6xxlv2n/08ZTWbKP5GO2ojdy
3LVJP1Xl/PL7YqpSqZ7h7uBZrD+kdR+F3b1taY+BIFCE/QDa2bQEe9LYp+714w7b9OOmbxqSlQ2d
w+EXDiTwBwOgMWQgMiCEweujsLfvJN+evpxOZ+lpI3jYoLcNO/Oy7cPxZogUINiDR+fSBRK5mqi6
qGoYv67t1/CtCMvLg6e/HelI5s7buMKIFzDeUSIwMGri0I0AI7dAXnOfAhAyF6kD+Y570bREfaR8
yUIbMhb/qYma1WXKssi3wpHTIQr5mqXF+AO9cSQh3/Cbpfxk6STWCeQU6qe/TIOznkDV0+J/6Lo4
R+jZuUB/AFBLAwQUAAIACABZenpJeW53IScBAADiAgAASgAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWRldGFjaC1zdGRlcnIudHh0VVQJ
AANZGDpYWRg6WHV4CwABBPUBAAAEFAAAAO2QT0/CQBDF73yK+QK0bCn/etMiQoSEQNGD8bDdHWCT
dqfuTjH109saEhPjwXj29F4m8zK/edFAjPtC9KMxiFEipkk8C4ZiBIrKQFZVgcET5g+GO0nJMloO
5njBgqqy9c9xNJ3MkqFoJX6B1cmSM/bUxi07KjJTYi49gkeGvAFVmDYEOSpZt9Obx70s2xu39fGI
bm58VchmLRt08CY9SK1RAxNI8I1VZ0fWvKPrhXuqncJUqjOGKTncoDbyy/XFaBwFUTwIt46YuKnQ
hwtzWmbZttP0k2IprS5Qp7VnKg+7dbt7MRpdoK6Y3xdSh5Jxh74i63FuFC/I3SPv8LVGzwmkVBca
LHH3/gUdwyFbdfyb1eYOOowEetEPhcez6V8Kn/wX/ovCPwBQSwMEFAACAAgAWnp6SUfIeccbAQAA
nQEAAEgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRp
YXNvdXJjZS1wbGF5LXN0ZGVyci50eHRVVAkAA1sYOlhbGDpYdXgLAAEE9QEAAAQUAAAAXU5NT8JA
EL37K+YIB0q3hQokHrRIYpQTRg+EmOl2WjZsd5rpIqm/3iUYJZ7ezJt5H0msspFSoyQDNV2o2WIa
R2o+B81NhG1rKXqn4tn4M+TsPDkfLemTLLdNmLeTZHY7X6QqVbN4B0+1YzGuDnLnhe2raajAjqAj
D0UP2poggoI0HgN7/7bBJmQ8HKuKZGm61mL/gj0JnLADLEsqwTMgdL3Te2Fnvkhutr9N0ziE5utr
lxytXbE8ot5faOhM7QIZrEjkTsEgwBAGWyxY/LmsZW6BUGwP5ZHOgeGDBSrhBnSQFqgPuyGgh/GG
j6IpD+40zlloTaXBj0qwoRPLofsjR2qaJVEyiX80l9N4Zerruv/3SIM1jiDNsvTmG1BLAwQUAAIA
CABaenpJM6XzEhwBAACoAwAASwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWEtc291cmNlL21lZGlhc291cmNlLXByZWxvYWQtc3RkZXJyLnR4dFVUCQADWxg6WFsYOlh1eAsA
AQT1AQAABBQAAADtj0FPwkAQhe/+ivkDtGyhgL3pIkKEhEDRg/Gw3R1gk3an7k4x9dfbGhMTj545
vZfJe5nvJUMxGQgxSCYg0kzMslREqZiCpipSdV1i9ILFk+VeJDlGx9EcL1hSXXX+dZzMprfZSIwS
MXyD1cmRt+7U1R17KnNbYaECQkCGogVd2q4EBWrVdNe7572quh/3zfGIfm5DXap2rVr08KECKGPQ
ABMoCK3TZ0/OfqK/iffUeI1S6TPGkjxu0Fj16wYinSRRMh7GW09M3NYY4oU9LfN826v8plgqZ0o0
sglM1WG37rIXa9BH+gfzb0B6VIw7DDW5gHOreUH+EXmH7w0GzkBSUxpwxP38C3qGQ77q+TerzQP0
GBlc4a/w/4H/AlBLAwQUAAIACABaenpJNGo15SABAACGAgAASgAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXJlbW92ZS1zdGRlcnIudHh0
VVQJAANcGDpYXBg6WHV4CwABBPUBAAAEFAAAAOVQwU7CQBC9+xVzhAOlW6AiiQctkhjlhNEDIWa6
nZYN251mupXUr3cJRom/4OnNvtn35s0ksUpHSo2SFNRsoeaLWRIlcQqa6wibxlL0RvmT8SfI2Hly
PlrSB1lu6lBvp8n8+mYxUQGmO3isHItxVZA7L2xfTE05tgQtech70NYEEeSksQvs3esG6zDjvitL
kqVpG4v9M/YkcMQWsCioAM+A0PZO74Wd+SS52v4kTVW8g2x96ZKhtSuWB9T7Mw2tqVwggxWJ3CoY
BBjCYIs5iz+FtcwNEIrtoejoNDD8YIFSuAYdpDnqw24I6GG84U40ZcGdxhkLrakw+F4K1nRkObS/
5EjN0nDLafytObfGK1Ndxv37jjRY4wgmaTr5P4t+AVBLAwQUAAIACABbenpJ+uSwi8kAAAA4BAAA
VAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLXNvdXJjZWJ1ZmZlcmxpc3Qtc3RkZXJyLnR4dFVUCQADXRg6WF0YOlh1eAsAAQT1AQAABBQA
AADVkruOwjAQRXu+Yn6AKOM4D9LxaNBut2i3QBSTZABLjh3ZZlH4erz9NtAEqjsa6eqe4ogUizni
XBSAeY1VnYukEBJa2yc0DJqTH24+VPiLtTWBTUg2/MvaDn2891JU5aLOMMMKD7A9GeuUOcW6Cc7q
neq5Ic/gOUAzQqtVLEHDLV3id/n9RX3cWF2OR3Yb5QdN4yeN7OBKHqjruINggcCPpj07a9SN3Uz8
y7x4mDmGnJQ5k88wl5Myy/RxNwSm0zKX7+dznr+0G3dQSwMECgAAAAAAW3p6SQAAAAAAAAAAAAAA
AAoAHABpbnNwZWN0b3IvVVQJAANeGDpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABbenpJ
AAAAAAAAAAAAAAAAEwAcAGluc3BlY3Rvci9kZWJ1Z2dlci9VVAkAA14YOlidGzpYdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAFt6eknNyjhJHgUAANQjAAA2ABwAaW5zcGVjdG9yL2RlYnVnZ2VyL2Nv
bnRpbnVlVW50aWxOZXh0UnVuTG9vcC1zdGRlcnIudHh0VVQJAANeGDpYXhg6WHV4CwABBPUBAAAE
FAAAAO1ZW0/jOBh951dEWY0EUqnSpE0v0jwgmBmxYllEGe3DMA9u8rX1yrGzdtKCUP/7fk5i6IXr
xGW6F4Eax7W/nHNsfz5O9yT8lYPKBs6dS2N34LcbbgLZVGDZvcx5RhNowoywnGTgNtyUSJIod3Dn
wk0qQSkqOLa8whAXZAJNEseXoHKW7eccVERS2L92r92DA+wrRn9ClH2RIk+xS4ZdsJLyiOUxHIsk
ITw+oxyOLk7dwZgwBYvF3sePDqLglE8c3cFROc1g4JzAKJ9MQDYjgRB5Dl/xws7hJsPWZ0Kke+u8
Olvg9SE40f++V0HEkgaJlwLmh+AIiy9CraHO4eGqOhFRy+J85SnJFcSvVyncgkqHh48ppKGuCfQi
3BpKrRPtLhF9cYTczf69ZaEgZeS2OYFsWEpyQjKyopYq609jwMhjCtIdtBAUzPBeh9yEoiJJUxRV
oh6roYovTnXjXqeLX+WSYRkLKiMy08TdgVfdHQuWJ7y4h1IUUzbfBH4hjkoF11PnzpXF+OknPZSy
2xQ7ujmPYYwxYnfRcOdEXU2lmHOjcaPKHxZo9WrTanm2eXUs8Opb4BVa5hWuhgMphdQxIhFjjMPA
9zxPz3WlcIFj0GPCHcHZrZOCHAuZOAILJMPZ7cynlIFTrWFkGOtlMPhmIdbiu4HbXexdHA2HA2c4
FTmLnVSKOI/AwUgFdIeOHS4y03Nj3fa3kOA0oDKVlaCwUMHCEuH4UUDDKx3jB8LTLUqANVLaa9Vb
1yDwtqDBccFTw9HcSkC6wkDCcgHKCvPH578yUEuarYarmeHCSjByq93zfPxrB54fNts6fyuYJLig
kem37wszv3qLvQ29WrtliWxv+oH/H9n0g+CHiGaSaqS/IUOaMrjQcNX+j2Kqu4mEXu1NpG97b+xb
oNWqTatnmVbgWaDl75xDC1oWaAW752RQp/q82rV5+YFlWsGztMrkuUIoIox9xhtQpfkytwXFu2tX
yJhywq418mtMVzqHQTysZMDqMFxgwHHOI71zn2NX7Fg8SC9SJqJiR1/Xrq1dO0M253kyKk44uG9G
hSqmpo2cVISe4HhKKC/QlSl0SZOqwiRXA/pRmBq+LrU03ogRpSqwvw7P4IYi8098RqXgep/XhhRK
wGVef7QRIqyAREyoXOp9gdtToBXiAyBJs1t3kMkcB9mSBP6mBF+YGBH2KiGebPogx+TpaNvgE6zz
+YPyWMw3sFfV6zjxxIA1U6pqwmi/DQYuQwkzCvPHHvtED5xmiqHZqJa9DqFdc0ar9VvNvspdVEHN
4sQa7V90lau1rxrHIsqrwVlHofJRVcX1qeyh/y/3nZYCnXLMTxRH9z4QL2fyQ7/7Jkvd7pfK6+DO
jRbrYE1jM8o4qGKGhwuGN+V801lSXRHKToABjqJJnthSAlGF1CZZDjP0eSVDc4q8hAjoDGLnM5Vo
pQtv53zS6Xbz2NTe6tHRIMFigQWvBRq8lnhq+OCVE/PIHAwdystSa5Nr532OyaOH86A+HXNz12pa
dP3hG1/11TYRndomotuxbCIsvJULw/q0upZpdZ4IZ74Pn6Wtmyf6AbtjsPw32YvOexmszvsZrJoK
bM1ghf8yg9XdDYPV+99g/fMNVmFUfud6G33OYw0Bd934eZPVfS+TVYJ5R5flb5Lt/VyX5dt0Wf3G
kzusDU9V/5fOru33TV0LtHq756l6L3iq/is9VSSSVGcMPV33D9bnS7vmj1Cr0X/Wu/j+zr0ubHuL
vb8BUEsDBAoAAAAAAFt6ekkAAAAAAAAAAAAAAAATABwAaW5zcGVjdG9yL3Byb3RvY29sL1VUCQAD
XRg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAW3p6SY4anvKnAAAAaAEAAEAAHABpbnNw
ZWN0b3IvcHJvdG9jb2wvYmFja2VuZC1kaXNwYXRjaGVyLWFyZ3VtZW50LWVycm9ycy1zdGRlcnIu
dHh0VVQJAANdGDpYXRg6WHV4CwABBPUBAAAEFAAAAM2OOw7CMBBEe06xF0iEHfIhHZAGQQeCAlFs
kk2w5NiW7YDM6TE9B6Ca0UhP8/iSFQljCS+A5TWr6jxLecah01OKxkhKr9QehP/GTitPyqcNPUlq
M8V+W/GqXNcZi1HeYT8qbYUaI6681fIsJmrRETjy0AbopIgQtNThHNfN5YRT/NjOw0C2Ec5IDEcM
ZOGFDrDvqQevAcEF1T2sVuJNdsF/Opd/7fwBUEsDBAoAAAAAAFx6ekkAAAAAAAAAAAAAAAAHABwA
anF1ZXJ5L1VUCQADYBg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAXHp6SYrp09lpAAAA
awAAABwAHABqcXVlcnkvYXR0cmlidXRlcy1zdGRlcnIudHh0VVQJAANgGDpYYBg6WHV4CwABBPUB
AAAEFAAAADMyMDTTNTTUNTJTMDS1MrSwMjXTMzQzUEjOz9VLLCjISdULT03yziwBUc75eSWpeSV6
LqllqTn5BblAdrSJsYWxiZWRpamZqXmsgl+wU2lJSX6eY15mbmJJZn5esWteYlJOaoqtnz8XAFBL
AwQKAAAAAAC8enpJAAAAAAAAAAAAAAAABgAcAG1lZGlhL1VUCQADFBk6WJ0bOlh1eAsAAQT1AQAA
BBQAAABQSwMECgACAAAAZXp6SfgEPyNjAAAAYwAAAB8AHABtZWRpYS9hdWRpby1kYXRhLXVybC1z
dGRlcnIudHh0VVQJAANuGDpYbhg6WHV4CwABBPUBAAAEFAAAAE5vdiAyNiAxNToxOToxMCBld3Mx
MDcubG9jYWwgcnRjcmVwb3J0aW5nWzQyODg0XSA8RGVidWc+OiBpbml0V2l0aFNlc3Npb25JbmZv
OiBYUEMgbm90IGVudGl0bGVkLCAxClBLAwQKAAAAAABsenpJAAAAAAAAAAAAAAAAEwAcAG1lZGlh
L21lZGlhLXNvdXJjZS9VVAkAA3sYOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAGh6ekl0
dBQQxQAAAPUAAAA+ABwAbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1hYm9ydC1yZXNl
dHMtcGFyc2VyLXN0ZGVyci50eHRVVAkAA3QYOlh0GDpYdXgLAAEE9QEAAAQUAAAARY9Ba8JAEIXv
/RVzUw9ms6kGIvRSbWgPAUF6KkWG3YkubmZkdlPqv288tL19PB6P733Y9cY2G1sXTdV8Qq946pBD
L9Ef92M6P98yJUjhxBgjeSDVp6Wty1UN80sb/sovqqLHd6bvK7lM/o1D3mHGBcwP5IQ9zPp8u84A
swxA7GTkTEp+MSVgDjKqoy26M5mtKHXkA/7T0q7rqqhWpdmrZJmGKJlWdMD8iuwjaTKdfAUyd6U7
tNORgTj/+hUOYmACWz+WDz9QSwMEFAACAAgAaXp6SRF0jKidAAAAtAAAADoAHABtZWRpYS9tZWRp
YS1zb3VyY2UvbWVkaWEtc291cmNlLWFkZHNvdXJjZWJ1ZmZlci1zdGRlcnIudHh0VVQJAAN1GDpY
dRg6WHV4CwABBPUBAAAEFAAAABWNQQ6CMBBF955iLgBhwJLATmVjdKfRhXExhQGblJa0RVNPb139
l5e8/LLAOkPMyhpQtNi0WOeNQOjtnNOyaM7vLE8q/OdgTWAT8o7frO0yJ35sy0ZUbYW1KMQTjpOx
Tpkp5SY4q69qZkmewXMAGaHXKkUguac12d3tQnP62K/jyK5TftEUzxTZwYc80DDwAMECgY+mfzlr
1Jfd5gdQSwMEFAACAAgAanp6SakkEsOcAAAAtAAAADcAHABtZWRpYS9tZWRpYS1zb3VyY2UvbWVk
aWEtc291cmNlLXJlbW92ZS1jcmFzaC1zdGRlcnIudHh0VVQJAAN3GDpYdxg6WHV4CwABBPUBAAAE
FAAAABWNywrCMBRE937F/YGGpjWFdqd2I7pTdCEubtvbGsiLJFXi1xthYIYDh6lK3hScF1UDXHS8
zWGVEDBazdA5RexOw0nGfx2siWQi6+lNyjqd92NbtaLuat6IUjzhuBjrpVmybqK36io1DRgIAkUY
EoxKZgkGGnHNdHe7oM4f+3WeyfcyOIXpjIk8fDAAThNNEC0ghGTGl7dGfslvflBLAwQUAAIACABq
enpJfbAN0J0AAAC0AAAAQAAcAG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utc2FtcGxl
LXdyb25nLXRyYWNrLWlkLXN0ZGVyci50eHRVVAkAA3cYOlh3GDpYdXgLAAEE9QEAAAQUAAAAFY1B
CsIwFET3nuJfwNK0ptLu1G5Ed4ouxMVP+lsDaRKSVImnN8LADA8eU5WsWTO2rhpgvGNtTsHZFqSd
C3ROU3EncVLxXwdrIplY9PQmbd2c92NTtbzuatbwkj/hOBnrlZmybqK3+qpmEhgIAkUQCaRWWQJB
EpdMd7cLzvljv4wj+V4FpzGdMZGHDwbAYaABogWEkIx8eWvUl/zqB1BLAwQUAAIACABqenpJByTZ
Wz0BAACpAQAAPAAcAG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utc2Vlay1kZXRhY2gt
Y3Jhc2gtc3RkZXJyLnR4dFVUCQADdxg6WHcYOlh1eAsAAQT1AQAABBQAAABFUE1PwzAMvfMrfIMd
1jbdVhgSB7YxMcEkpPFxQAh5ibtFpHHlpED59WQHhmTJ1pPf83t+VZNLNU2VVdOLN6gFd2v0tmZn
3h+6sJ/1kQIEu/PoHBkgkauhqopxBWcfS3tcvhFheX/y9N2SjmRW3sYFRhzA2YY0ewOndezbU8DI
DZDX3PlIQmaQEMg33ImmOeo95XMWWpOx+D8N1aQqs3Jc5A/CkZMQhXzJ0mC8RW8cScjX/GkpP1g6
DMsUpCEf//xlGpz1BKoaFSdloaqhUsOygmP886IEzU2Gbesoe6HtnY2HNufk08dsQZ/kuD1ovo7L
6WR0OVLVpBi/wWrnWazfJbqPwu7RNrTFQBAowrYH7WwiwZY0dgm9ft5gk27MuromWdjQOuzvsSeB
LwyAxqQ3RwaE0Hu9F/b2h+TkF1BLAwQUAAIACABsenpJcu+srJ4AAAC0AAAANQAcAG1lZGlhL21l
ZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utc3RwcC1jcmFzaC1zdGRlcnIudHh0VVQJAAN7GDpYexg6
WHV4CwABBPUBAAAEFAAAABWNsQ6CMBRFd7/i/QCEAiXCprIY3TQ6GIfX8sAmpW3aosGvt0735CQn
tyxYkzGWlQ0w3rG2K6ucb1uQds7ROU35ncRJxf8crIlkYt7Tm7R1c+JHXba86irW8KJ+wnEy1isz
pdxEb/VVzSQwEASKIFaQWqUIBElckt3dLjinj/0yjuR7FZzG9YwrefhgABwGGiBaQAirkS9vjfqS
3/wAUEsDBBQAAgAIAHd6ekmAysvOaAAAAMYAAAAoABwAbWVkaWEvc291cmNlcy1mYWxsYmFjay1j
b2RlY3Mtc3RkZXJyLnR4dFVUCQADkhg6WJIYOlh1eAsAAQT1AQAABBQAAADzyy9TMDJTMDS1MrS0
MjFTSC0vNjQw18vJT07MUSgqSS5KLcgvKsnMS482MbKwMIlVsHFJTSpNt7NSyMzLLAnPLMkITi0u
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
c4SfQDqRLcE82pCrTTErYdo/2BLUzUmoIOSeRFuC+X+rnYMNiaduqMIFtEuZuhJzRt2OYg5ONsps
cyKveJovJIluVTO4D/Cn5nXDjBF17DnwtTUl4xXzYP9oNDpE7uNgy9z3busG3wARHvjLFxdXKwb3
D5H6f9umbkSBb6bo4zW6m93ebQfkeAvlvHIE+7NfIQzXvEKYfbz+E8//o+9D9j2H28ZFv5Y675l/
1PY/UEsDBBQAAgAIALx6eklk6VCQXAAAAF4AAAAqABwAbWVkaWEvdHJhY2svdHJhY2staW4tYmFu
ZC1zdHlsZS1zdGRlcnIudHh0VVQJAAMUGTpYFBk6WHV4CwABBPUBAAAEFAAAAAtPzCxRyM9TyMsv
yUyrdMnPS1UoycxNTVHILy3RUSgoyk9OLS5WSM7P1UssKMhJ1QtPTfLOLAFRzvl5Jal5JXouqWWp
OfkFuUC2QkFmioKtgomRpaGZsqu/GxcAUEsDBBQAAgAIAHh6eknPTinSkAAAAL0AAAAhABwAbWVk
aWEvdW5zdXBwb3J0ZWQtcnRzcC1zdGRlcnIudHh0VVQJAAOTGDpYkxg6WHV4CwABBPUBAAAEFAAA
AG2OQQ6CMBQF957iX0BQoi7YVhESSQjCAZr2RZtgP7a/JN5eXblxNbOYxeRXTsFAaXNHrjighXX6
Z+vt/lBkxW6Td4GF5TUj5pW71cPQfakmBy+19naCVSkKP8b+8mkXZxEyQ+ZvoAK0oEec2UccnZGK
wxnS45kQpSTFabLkWciwXxCExqEhYWqb9kTfjZJWb1BLAwQUAAIACACMenpJb80oWoIAAADoAgAA
OwAcAG1lZGlhL3ZpZGVvLW11dGVkLWFmdGVyLXNldHRpbmctcGFnZS1tdXRlZC1zdGF0ZS1zdGRl
cnIudHh0VVQJAAO3GDpYtxg6WHV4CwABBPUBAAAEFAAAAIs2NLUyMrAyMtYzNrKMVbABAgWn/OJi
BTsgUEjLTA/ISaxMSkzOBgkGlyQWlQQUpRbl5+Q45qUEp5aAZIGiJalWClVAYYWSIqDSYh2F4nyF
gvziksy8dIVEhbTE7FSFAog2heT83IKc1JLM/Dyu6MFht7HBANptMYB2D2CYm9A7zAFQSwMEFAAC
AAgAkXp6SQSYyD/CAAAA8gYAACgAHABtZWRpYS92aWRlby1wb3N0ZXItYmFja2dyb3VuZC1zdGRl
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
+UvNZD5uh35NSaxm8TWXD3pIKaV+jW9jTomD2zydwJR1bWgO9U2WWYm2QBQ5HK8TvR1QiV8ArHy1
FWCgtBlfca9Pt6JOO0PR1IYuF8yMu6hVMwIuxpJRP2Lk4SE/90MAvijZYVh1EmaNhz2j/B7AirM9
eXQGIzQnAuwMqUaYhq39ZY7AGqSsDbg5PqHztJ2hOObiwBoQ4B7c0Q4ysszoY+kClAWYU/mUUS1M
YmaRmZfIhDpu/+xYZDXSAredgHXyyDeWgY8aFIXKYZ+GNBhD7xnxz2eKV0yVvDNUr/tU1/TZ/wdQ
SwMECgAAAAAAEnx6SQAAAAAAAAAAAAAAAAgAHAByZXRyaWVzL1VUCQADlBs6WJ0bOlh1eAsAAQT1
AQAABBQAAABQSwMECgAAAAAAdnt6SQAAAAAAAAAAAAAAABAAHAByZXRyaWVzL2VkaXRpbmcvVVQJ
AANwGjpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAASfHpJAAAAAAAAAAAAAAAAFgAcAHJl
dHJpZXMvZWRpdGluZy9pbnB1dC9VVAkAA5MbOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
ABJ8eknHAZcZ6QAAAIwBAAA3ABwAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8t
cGFzc25vZGUtYWN0dWFsLnR4dFVUCQADkxs6WJMbOlh1eAsAAQT1AQAABBQAAAClkEFLxDAQhe/9
FQN7aAsaFKpIb8s2K8V1W+yq52wz1UA6U5LUsv/eVP+BXmYeDLx579s1x645SHiWXbd9lCVYQwgP
RQmny4TSOXYlLIY0L8JQQEfKeuExBEMfP6JV3i/stOw/uZqdCoappg57Ju3BeCAOoGCYqV9PArKa
IP27ZXYjbvP06j8W6RprJo1DLKvzZNPWFbweX2TXRhz1m4Rr6HkUaposinc8P5mwrh3HXxREhV9o
eRqjhmwyGori/q7Ik/22PkRwZkQNPAdYlFkDwcBupWCGS8WRbmA4I/TKWtRJspHN/nd8A1BLAwQU
AAIACAASfHpJRLjx0KIBAAC3AwAANQAcAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1l
Y2hvLXBhc3Nub2RlLWRpZmYudHh0VVQJAAOTGzpYkxs6WHV4CwABBPUBAAAEFAAAAMVSy27bMBC8
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
f8VMnfZn6ujj3Rz97f0Pi/uPkLO7Hxco0KfwEBcFI6Ftef1zYxksnJNHwnhh2PZVAZg9mZxNJ7+l
c+N+527f3L2DkqMZNBbAFHrCBpHMFweoH5pu5kBymqsj4GigFZI823U1+D++dq93nX4ZQElof/J8
2z4bq9MXhGnSH6Zf1eefGZTHPwMo35dxDHpsVoGw0THInBRCRNaFOWJepYAA5ARZxrJ3X1f2L3Rp
8ku4ZI89CQHCrrmkRLn1SN/8Ig5N//9ydPY7ytHvThhM99DN4sPtb8gVZ19n2dcAYevHyGyQtOYf
6f8DUEsDBBQAAgAIABJ8eklaB+2DWwAAAF4AAAA3ABwAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bh
c3N3b3JkLWVjaG8tcGFzc25vZGUtc3RkZXJyLnR4dFVUCQADkxs6WJMbOlh1eAsAAQT1AQAABBQA
AAAVxjEOgzAMBdC9p/hSV5QpZWMidGHomBmIkSwltlVMJW7fdnovL+xQgajzfiUVgnOjAj29g711
o+PApi0sZpVCpnVm/zOqOImHRB+qau13GBcMiLF/xPv0et6+UEsDBBQAAgAIAN17ekmrDiIT6QAA
AIwBAAA4ABwAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUyLWFj
dHVhbC50eHRVVAkAAzIbOlgyGzpYdXgLAAEE9QEAAAQUAAAApZDdSsQwEIXv+xQDe9EWNCiWRXq3
bLNSXLfF+nOdbaYaSGdKklr27U31DfRm5sDAmXO+fXPqmqOEJ9l1uwdZgjWEcF+U8HKZUDrHroTF
kOZFGAroSFkvPIZg6ONHtMr7hZ2W/SdXs1PBMNXUYc+kPRgPxAEUDDP160lAVhOkf7fMbsRtnl79
xyJdY82kcYhldZ5s2rqC19Oz7NqIo36TcA09j0JNk0XxjudHE9a15/iLgqjwCy1PY9SQTUZDUWzv
tnly2NXHCM6MqIHnAIsyayAY2K0UzHCpONINDGeEXlmLOkk2sjn8jm9QSwMEFAACAAgA3Xt6SXWS
eeukAQAAuQMAADYAHAByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9k
ZTItZGlmZi50eHRVVAkAAzIbOlgyGzpYdXgLAAEE9QEAAAQUAAAAxVLLbtswELzrKxbIwQ5kSk1r
GIWBAk4jpRCaxkaUJmeGXMUEaFIgl3X891nJ7uPQUwu0Fy4XxMzOzlAIAeWDt2mHsawkybJ+bMtH
fPps6FQ+JmN1eYcWZcTSyoNPJAgjiYAxWYplQAqG8agNGfdcGtcnKnsZ494HLVBtvRg65zW+FfjS
oyLUBb1Qluf5v54vFSVpx+mrFYiL2QLy4VitMnHPtBFMByMFqK0MEWRAiKhSQA3Kh8Dq7QGy/Gp9
265vavhSt+3lp3oJ1jiE9/Ml3B96rEPwYQl747TfF8YRBidtLCLSIHK8bE4Sa1ZYpSDJeNe4FpV3
mmVEcJ5AQpecGp4KmDYOJn9OOX1TXJxPZn9DMRlkJaex42X1eZafbZoKvt7e1e2G/WgeahDs0q6Q
fW+xOEY4lCvPwxwVFX5D6/sd32HaGw3z+eLdgomuL5sbts7s2GaOGPZyTBM6HwYfTHeoPPtLHp4Q
lLQWdQaZaJNSGOPyR0TBPG/ZtY5XK+D7Z/vQ8ZY4g2P4x+432BEFGvmX/YKlkH5Ch+Y/Tc3P6vX1
6XwFUEsDBBQAAgAIAN17eklPzip2agAAABUBAAA6ABwAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bh
c3N3b3JkLWVjaG8tcGFzc25vZGUyLWV4cGVjdGVkLnR4dFVUCQADMhs6WDIbOlh1eAsAAQT1AQAA
BBQAAADFzd0JwkAQBOD3VDEFBAsQrEIbWPbmzMGhYX/AdG9UiIIF5HGY+ZgLPRytot3mDOgk5hAj
nJrGAr2bUaMvGIZzqtL9uJXWrlNAatAO4GNehyynKt05QjRS+if90zdCYZflh4blV77CLp9PUEsD
BBQAAgAIAN17eknIp3vjqwgAAK0fAAA+ABwAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3Jk
LWVjaG8tcGFzc25vZGUyLXByZXR0eS1kaWZmLmh0bWxVVAkAAzIbOlgyGzpYdXgLAAEE9QEAAAQU
AAAA3Vlbc9u4GX33r8DY03V2x6QkS3JtOXYnseTW02ySWae7jx2QBCXEIMECoCWn7X/vhxtFUqTs
tHubbmYjXnD5ruccMK9XKmPXB69XBCfwkxGFUbzCQhJ1dVyqNDg/hsdSPTFyfTBjNH84QbNHKqki
CfrnAYL/FNmoICExF1hRns9QznNyaV5FXCREBBFXimczNCo2KIFrklwe/PvALucWiTnjYoaOhuML
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
/kwdfbybo7+9/2Fx/xFydvfjAgX6GB7iomAktD2vf24shYVz8kgYLwzdvioAtCeTs/HZb+ncuN+5
2zd376DkaAaNBTiF1thAkvnkAPVD06c5sJwm6whIGniFJM92XQ3/j6/d612nXwZQEtqfPN+2z8bq
9AVhmvSH6Vf1+WcG5fHPAMr3ZRyDIJtVIGyEDDJHhRCRTWHOmFcpIAA5QZax7N3Xlf0LXZr8Ei7Z
c09CgLFrLilRbj3SN7+IQ9P/vxyd/Y5y9LsTBtM9dLP4cPsbcsXZ11n2NUDY+jE6GySt+Vf6/wBQ
SwMEFAACAAgA3Xt6SWuT9a1ZAAAAXgAAADgAHAByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dv
cmQtZWNoby1wYXNzbm9kZTItc3RkZXJyLnR4dFVUCQADMhs6WDIbOlh1eAsAAQT1AQAABBQAAAAV
xr0OQFAMBtDdU3yJVe5CbCY/i8Fo9lNJE7dtKIm3x3TOOLFDBaLO29OoEJwjrdDLM9ihC50nFo1h
MtspjDT37D+1ipN4aOimXS1+h/GKCkVR5mXaDl3yAlBLAwQUAAIACACre3pJ8AJn8ekAAACMAQAA
OAAcAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1hY3R1YWwu
dHh0VVQJAAPRGjpY0Ro6WHV4CwABBPUBAAAEFAAAAKWQ3UrEMBCF7/sUA3vRFjSsUkR6t2yzUly3
xfpznW2mGkhnSpJa9u1N9Q30ZubAwJlzvn1z6pqjhCfZdbsHWYI1hHBflPBymVA6x66ExZDmRRgK
6EhZLzyGYOjjR7TK+4Wdlv0nV7NTwTDV1GHPpD0YD8QBFAwz9etJQFYTpH+3zLbiJk+v/mORrrFm
0jjEsjpPNm1dwevpWXZtxFG/SbiGnkehpsmieMfzownr2nP8RUFU+IWWpzFqyCajoSjubrd5ctjV
xwjOjKiB5wCLMmsgGNitFMxwqTjSDQxnhF5ZizpJNrI5/I5vUEsDBBQAAgAIAKt7ekkPlT67nAEA
AEEDAAA2ABwAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUzLWRp
ZmYudHh0VVQJAAPRGjpY0Ro6WHV4CwABBPUBAAAEFAAAAL1SwWobMRC971cM5GCHtVZxa0IxFJxm
lbA0jU02Tc6KNBsLZGmRRnX899VunJxKDyn0oplBzJs37w1jDPiDt2mHkdeSJBePLX/Ep++GjuFb
MlbzO7QoI3IrDz4RI4zEAsZkKfKAFEzuR23IuGduXJ+I9zLGvQ+aodp6NlTOa/zM8KVHRagreqGi
LMv/PV8qStKO01crYPPZAsr57BxWq4LdZ9gIpoMRAtRWhggyIERUKaAG5UPI7O0BivJyfduubwT8
EG17cS2WYI1D+LJYwv2hRxGCD0vYG6f9vjKOMDhpYxWRBpJjsjlSFJlhnYIk413jWlTe6UwjgvME
Errk1PBVwbRxMPk45PSsmp9OZv8CMRloJaexy8vq06I82TQ1/Ly9E+0m69E8CGBZpV0l+95i9Wrh
EC59HuaoqvEXWt/vcg7T3mhYLM4/nWWgq4vmJktndlnmbDHs5egmdD4MOpjuUPusL3l4QlDSWtQF
FKxNSmGMy3eLgnneZtW6vFoFb8f2lULCGbx6PxZ/6Bx7QGO+sb92lidifXV8fwNQSwMEFAACAAgA
q3t6SRt1OPBhAAAAnwAAADoAHAByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1w
YXNzbm9kZTMtZXhwZWN0ZWQudHh0VVQJAAPRGjpY0Ro6WHV4CwABBPUBAAAEFAAAAH3LSwqDQBCE
4b2nqAOEHCDgKeIFmp5SBwYz9APi7RUX2QRcFn99Ez0cdUbdegZ0FXOIEU5NY4F+zKjRdgzDO1Xp
/vpFq8sakDloT/DbzyPLGJZ8QDRS2jX+4UVQ2GS/hQdQSwMEFAACAAgAq3t6SZhGBtyoCAAAMx4A
AD4AHAByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtcHJldHR5
LWRpZmYuaHRtbFVUCQAD0Ro6WNEaOlh1eAsAAQT1AQAABBQAAADNWWtz28YV/a5fsWNNIycjgKRI
qRIlsWOLVKupY3siN/nYWQALcq0FFt1dSKSb/PfefYEACFBymiaNJyawj7v3ec5d+GqlMjY7uFoR
nMBPRhRG8QoLSdT1UanS4PwIhqXaMDI7mDKaPxyj6SOVVJEE/fsAwX+KrFWQkJgLrCjPpyjnObk0
UxEXCRFBxJXi2RSNijVK4Jkklwe/HFhxTkjMGRdTdDgcX5i58JYyMqdp6uYjHD8sBS/zJPBL03P9
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
HuKiYCS0Na9/biyFhXPySBgvDN2+LgC0J5Ozk+Efady437jbN3fvIOVoBoUFOIWesIEk88kB8oem
mzmwnCbrCEgaeIUkz1ZdDf+PZm561+iXAZSE8ifPl+2zvjp5gZsm/W76XW3+jUF5/BuA8lVC2Oy+
jGPoyqYVEptuBpn7QojIujAXzWslSnKMLGuZF3AE7P66/H+hbZP/mW32FgRTePP1tv3fEdHpHvPh
SjE7XHy4vRropz8Qps5+tZJfU46tH9PtQWNl/q34P1BLAwQUAAIACACre3pJwnvb3VwAAABeAAAA
OAAcAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMy1zdGRlcnIu
dHh0VVQJAAPRGjpY0Ro6WHV4CwABBPUBAAAEFAAAAAtPzCxRyM9TyMsvyUyrdMnPS1UoycxNTVHI
Ly3RUSgoyk9OLS5WSM7P1UssKMhJ1QtPTfLOLAFRzvl5Jal5JXouqWWpOfkFuUC2QkFmioKtgomJ
mZGBsqu/GxcAUEsDBBQAAgAIAHZ7ekk/lkaj6QAAAIwBAAA3ABwAcmV0cmllcy9lZGl0aW5nL2lu
cHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUtYWN0dWFsLnR4dFVUCQADcBo6WHAaOlh1eAsAAQT1
AQAABBQAAAClkN1KxDAQhe/7FAN70RY0rFJEerdss1Jct8X6c51tphpIZ0qSWvbtTfUN9GbmwMCZ
c759c+qao4Qn2XW7B1mCNYRwX5TwcplQOseuhMWQ5kUYCuhIWS88hmDo40e0yvuFnZb9J1ezU8Ew
1dRhz6Q9GA/EARQMM/XrSUBWE6R/t8y24iZPr/5jka6xZtI4xLI6TzZtXcHr6Vl2bcRRv0m4hp5H
oabJonjH86MJ69pz/EVBVPiFlqcxasgmo6Eo7ra3eXLY1ccIzoyogecAizJrIBjYrRTMcKk40g0M
Z4ReWYs6STayOfyOb1BLAwQUAAIACAB2e3pJtJ53q5QBAACyAwAANQAcAHJldHJpZXMvZWRpdGlu
Zy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWRpZmYudHh0VVQJAANwGjpYcRo6WHV4CwAB
BPUBAAAEFAAAAL1Sy07jMBTd5yuuxKJFqR0YVQhVQioQM4qGoRVhYG3sG7Dk2pF9PW3/fpy07GYz
jMTGDyXncc8xYwyqZ2/TBmNVS5KVeGmrF3z9Yei43SRjdfWIFmXEysq9T8QII7GAMVmKVUAKJuNR
GzLurTKuT1T1MsatD5qhevcZsCPnNTLc9agINacdFWVZfrG8VJSkHcWXS2Dnswsoh2W5LNhTZoXh
TxgpwERw+BsDRFQpZMtQlLerh3Z1L+CnaNvr72IB1jiEy/kCnvY9ihB8WMDWOO233DjC4KSNPCIN
1sbD+mhMZF91CpKMd41rUXmn46jpCSR0yanhE4dp42DyecrpGT8/ncz+h2Iy2EpOY5eH1adFebJu
avj18Cjadc6jeRbAQPkNl31vkR+KG7Zbn8Uc8TrHaH2/yWeY9kbDfH5x9i0T3V039zk6s0ENuVjY
yrFD6HwYcjDdvvY5X/LwiqCktagLKFiblMIYFx/NQDBv7zm1Lo/G4eOJXXV5SpzBofPD7S/YEQUa
89v6Z+zX6JYnYnV3XP8AUEsDBBQAAgAIAHZ7ekldhJNcYAAAABABAAA5ABwAcmV0cmllcy9lZGl0
aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tdGV4dG5vZGUtZXhwZWN0ZWQudHh0VVQJAANwGjpYcBo6
WHV4CwABBPUBAAAEFAAAAL3NywmAQBAD0LtVpACxAMEqtIFhNn5gEdmZFe1eUTx58uIlkMAjHc3h
3BzTvOQzDTNXJhg1J4YKRdFmVZrVz4Y0DaNDemeqwG2hOkPTSzSWEPUs8W5veiEERtm/0l9eD1BL
AwQUAAIACAB3e3pJwZe4LJwIAACnHwAAPQAcAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29y
ZC1lY2hvLXRleHRub2RlLXByZXR0eS1kaWZmLmh0bWxVVAkAA3EaOlhxGjpYdXgLAAEE9QEAAAQU
AAAA3Vlrc9s2Fv3uX4Gxp3XaMSnJkry2HHsnseTWs2mSqdL24w5IgiJikmAB0JLT7n/fixdFUqTs
7HabzjbTiA887uPccy6Yl4nM0uuDlwnBEfxkRGIUJpgLIq+OSxl758fwWMjHlFwfzFKa35+g2QMV
VJII/XaA4D9JNtKLSMg4lpTlM5SznFzqVwHjEeFewKRk2QyNig2K4JpElwf/OjDL2UVCljI+Q0fD
8YV+59/SlMxpHNv3AQ7vV5yVeeS5ofG5+lPfyOwgWEojdBRFkXkXs1x6Mc5o+jhDGcuZKHBoDcww
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
zgXATmiNNRHpDw2AHxo/zkHblEQHIM2gJiR6supqrH98bV/vOv08XhIJHPifLtsnY3X6jDBN+sP0
p/r8B3Px+A/g4mUZhtCGzRz3mvYF6QOCj8im0CfLqxgYgJwgI1Tm7vNg/0yXJv8Ll8xpJyKg01/A
pen/X5bO/lJZ+ss1B9M9krN4d/sF9eLs8yz7HDJs/egOG7pZ/e/z/wZQSwMEFAACAAgAdnt6SeDL
jAdcAAAAXgAAADcAHAByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9k
ZS1zdGRlcnIudHh0VVQJAANwGjpYcBo6WHV4CwABBPUBAAAEFAAAAAtPzCxRyM9TyMsvyUyrdMnP
S1UoycxNTVHILy3RUSgoyk9OLS5WSM7P1UssKMhJ1QtPTfLOLAFRzvl5Jal5JXouqWWpOfkFuUC2
QkFmioKtgomJmYGRsqu/GxcAUEsDBAoAAAAAABJ8ekkAAAAAAAAAAAAAAAANABwAcmV0cmllcy9o
dHRwL1VUCQADlBs6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAFHx6SQAAAAAAAAAAAAAA
ABMAHAByZXRyaWVzL2h0dHAvdGVzdHMvVVQJAAOXGzpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQK
AAAAAAATfHpJAAAAAAAAAAAAAAAAHwAcAHJldHJpZXMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9V
VAkAA5UbOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAgAAABN8ekmTBtcyAQAAAAEAAABVABwA
cmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJp
bmctbmF2aWdhdGUtY3Jhc2gtYWN0dWFsLnR4dFVUCQADlRs6WJUbOlh1eAsAAQT1AQAABBQAAAAK
UEsDBBQAAgAIABN8eknTV0tS1QAAAK4BAABTABwAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291
cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtZGlmZi50eHRV
VAkAA5UbOliVGzpYdXgLAAEE9QEAAAQUAAAAzc7PSsRADAbwe58i95qm3YvSU10dPPhnwYJ7jtOw
LYwzZSazrG9vW/agbyA55IOQjx8iAn0El78k0SMrkzn2dJTP50mva58nN9C7OOEk5Pg7ZEWVpBgl
ZaeJomiclv9Rdab1kkjO4jWFHK38zsuLDd6LVRxynPwJPZ+nE6ugjZxGlMu8HGWo9KJFWZb/CsdW
M7uN1nWAzc0Oyga6rsCHw1t/eDHwavr+/sm0YNbafqsFy94HBRd4gFXREjW726pepmnv6rr+A1rc
W1jlV041j3MFBRQ/UEsDBBQAAgAIABN8ekmREwZeXAAAAGYAAABXABwAcmV0cmllcy9odHRwL3Rl
c3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jh
c2gtZXhwZWN0ZWQudHh0VVQJAAOVGzpYlRs6WHV4CwABBPUBAAAEFAAAAHP29wv293FV8HUNDnZ0
d7VScC1LzSsJzi8tSk5VSE7My8svUcjJT0xRyCgpKbDS1zc0MtczAEJDKwsDAwP9VJDqYrBq/aJU
CKMYyErOz8tLTS7RK8go0FPg4gIAUEsDBBQAAgAIABN8ekmt0M4TlQcAAIQXAABbABwAcmV0cmll
cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2
aWdhdGUtY3Jhc2gtcHJldHR5LWRpZmYuaHRtbFVUCQADlRs6WJUbOlh1eAsAAQT1AQAABBQAAACl
WGlv5DYS/e5fQdjYGAiso233pI+ZDjJ2exfIie1g8zGgJKrFMSUqJGW3J7v/PcVLLaklexaZwUxL
ZJGs41W9ot4XqmSbs/cFwRn8lERhlBZYSKI+XDYqDxaXMCzVCyObsxWj1eMVWj1RSRXJ0J9nCP4o
clBBRlIusKK8WqGKV2RtphIuMiKChCvFyxWa1QeUwTPJ1mf/O7PbuU1SzrhYoYv4ZmnmwgfKyD3N
czef4PRxL3hTZYEXzRf6b/cge4LkjGboIssyO5fzSgU5Lil7WaGSV1zWOHUKlljsKag8IyWK7VDN
wThjhyAMLHoiRqFiNtD05uZmZH+JKxlIImjemZT0MzFndA8NGMnVCsXh3I9nVNYMwya0As84DZ9p
pgpYHMf/cPrhLKPVvl1pdXOh0U/96Dh1aVWAUqoVL/gTEQOL5vP5esrZhFg3hDomP8BZ0i3OGcdg
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
/AFQSwMEFAACAAgAEnx6STkRI07lAAAAvwEAAEMAHAByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWRpZmYudHh0VVQJAAOUGzpYlBs6WHV4
CwABBPUBAAAEFAAAAMWQwU7DMAyG73kK30sacdhlpw6tSIgJEEHsnCWeFimNq8SB9e1JKgS8ARfb
+u3/0y9LKUG9UygTZrU3bNR41OqIp0fP3+2u+ODUKwY0GVUwCxWWjJllwlwCZ5WQk6/+C/Os2iYr
/MDImUqy+HeW7XSRc0Lrs6co8TqjZXQ9X1l0XfevYYzlYsIaZRhA3t5soGtlGAS8VRKMzaxXM6xm
YD8h/BB60BcqwVXFR4aXndZwphDoEx2cFtg/P429ACHbZgvOO4jE4KcJnTeMYalYSzHWn4jufvdw
2P4KFcFEkImiWEkV9AVQSwMEFAACAAgAEnx6SYcAMMhnAAAAdgAAAEcAHAByZXRyaWVzL2h0dHAv
dGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWV4cGVjdGVkLnR4
dFVUCQADlBs6WJQbOlh1eAsAAQT1AQAABBQAAAAVzEEKwjAQheH9nOKdoAdwJ9itCvECmjxxIJmR
dKrk9m23Hz//g0tg/tEi+doz0Rl9ILQR386si7pNSB9fa9lFLXA/p4S31+p/FrwGLrfrPIkcfkLR
AvOAtsaiz2Ad+zS7GXPIkYpsUEsDBBQAAgAIABJ8eklHIVmr9gcAALIaAABLABwAcmV0cmllcy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1wcmV0dHkt
ZGlmZi5odG1sVVQJAAOUGzpYlBs6WHV4CwABBPUBAAAEFAAAAL1Za2/juBX9nl8hJGgDLCLJju1p
7GRczOSBFrvdDupB92NBiZTFCSW6JJXY0+1/7+VLlmTJNtBtd7Bjibwkz32eS81Drgq2vHjICcLw
UxCFgjRHQhL18bpSWXh3DcNS7RhZXiwYLV9vgsUblVQRHPzrIoD/FNmqEJOUC6QoLxdByUtyb6YS
LjARYcKV4sUiGG+2AYZngu8v/n1ht3ObpJxxsQiuRpO5mYteKCNPNMvcfILS17XgVYlDL5rd6T/N
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
Z2UvVVQJAAOuGDpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACHenpJ2wjTQjsAAAA/AAAA
PwAcAHN2Zy9hcy1pbWFnZS9zdmctaW1hZ2Utd2l0aC1kYXRhLXVyaS1pbWFnZXMtZGlzYWJsZWQt
c3RkZXJyLnR4dFVUCQADrhg6WK4YOlh1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1V
SFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQKAAAAAACdenpJAAAA
AAAAAAAAAAAACwAcAHN2Zy9jdXN0b20vVVQJAAPZGDpYnRs6WHV4CwABBPUBAAAEFAAAAFBLAwQU
AAIACACdenpJIfT28DoAAABCAAAAMAAcAHN2Zy9jdXN0b20vdXNlLWludmFsaWRhdGUtY2xpY2st
Y3Jhc2gtc3RkZXJyLnR4dFVUCQAD2Rg6WNkYOlh1eAsAAQT1AQAABBQAAADLzS8tTvXNL0sNyVdI
S8zMSU1RKAGyMvNSFBIVShKL0lNLFMoyU8sVEksUdA3N9AzAQMfMwAjK5AIAUEsDBAoAAAAAAJB6
ekkAAAAAAAAAAAAAAAAHABwAdGFibGVzL1VUCQADwBg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwME
CgAAAAAAkHp6SQAAAAAAAAAAAAAAAA8AHAB0YWJsZXMvbW96aWxsYS9VVAkAA8AYOlidGzpYdXgL
AAEE9QEAAAQUAAAAUEsDBAoAAAAAAJB6ekkAAAAAAAAAAAAAAAAUABwAdGFibGVzL21vemlsbGEv
YnVncy9VVAkAA8AYOlidGzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAJB6ekl+KoKsaAAAAGsA
AAAmABwAdGFibGVzL21vemlsbGEvYnVncy9idWc0NTI3LXN0ZGVyci50eHRVVAkAA8AYOljAGDpY
dXgLAAEE9QEAAAQUAAAAMzIwNNM1NNQ1MlMwNLUyMrAyNtIzNDVQSM7P1UssKMhJ1QtPTfLOLAFR
zvl5Jal5JXouqWWpOfkFuUB2tImJiTlQk6GFsaVBrIJfsFNpSUl+nmNeZm5iSWZ+XrFrXmJSTmqK
rZ8/FwBQSwMECgAAAAAAlXp6SQAAAAAAAAAAAAAAAAwAHAB0cmFuc2l0aW9ucy9VVAkAA8kYOlid
GzpYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAJR6eknK7NIQwAAAAB8CAAA5ABwAdHJhbnNpdGlv
bnMvbGVuZ3Roc2l6ZS10cmFuc2l0aW9uLXRvLWZyb20tYXV0by1hY3R1YWwudHh0VVQJAAPHGDpY
xxg6WHV4CwABBPUBAAAEFAAAALXPuwrCQBAF0D5fcUmzjUIepDBdkChCfMB+wZqMcTHuht0JPr7e
aGFhpYUwzRT3cO98u5HbqsS6lLJYljk6bQjJLM2xULqjBmzRq8ETxF7Vp9bZwTRTr+8kwE4Zr1lb
g/GoozMZhmDyHItg/ic6+R+dimBRrCpMEX7EQvTO9uT4hoN1CF8bw3daMWIPuvZUMzU5smwSR9gP
DK8uOeIoGv9gV0j5pZ182qMDb8/ER21a1J0dt7F90r+w6ffss3DwAFBLAwQUAAIACACUenpJuEDh
CS4BAACRAwAANwAcAHRyYW5zaXRpb25zL2xlbmd0aHNpemUtdHJhbnNpdGlvbi10by1mcm9tLWF1
dG8tZGlmZi50eHRVVAkAA8cYOljHGDpYdXgLAAEE9QEAAAQUAAAAvZJRa8IwFIXf+ysufelDzWJ1
Mtanuq2OMTfHCvM5tlcNS5OS3DDdr18rirAnHTgIJITkOyfnhDEG/MMoX6PjD4IEz+cFn+PiWdJ+
uvNSVfwdFQqHXImt8cQIHTGLzitynKzQTpI02nGFekVrJ7+RHbcZGba0pmbCtyvcNFgSVle0oSCO
4383IEryQu3kswxY0ruGOOndQJYF7G1cFMAgXIjyc2WN1xXrWCE01jRoaQtLYyHs5JMQWk81agJB
kDhw4gucqZHWUq+gVMYhkElhNOol/SC+n70Ws2kOL3lRjB/zFJTUCIPbYQoTIRVW7WFohG9vRb/k
Izi+Bdpx0I12PqLLsQcXZA9b9mT8NP1r3Id/tA8YFp66ClJI+v0ucDijy8GpXZ7JHZ7O3VkOfgBQ
SwMEFAACAAgAlHp6Se+gpZdqAAAADAEAADsAHAB0cmFuc2l0aW9ucy9sZW5ndGhzaXplLXRyYW5z
aXRpb24tdG8tZnJvbS1hdXRvLWV4cGVjdGVkLnR4dFVUCQADxxg6WMcYOlh1eAsAAQT1AQAABBQA
AACVzkEKgzAQBdB9TvHJ2kBTcdNdbyB4gtSOUWoykpki9vTSG8QLPF7/HAY42FcYP7HwN7+dLD+y
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
xq+NQsbi9YKlrTioRxWNCq+fzs3wNmaHERCImZP9HLQX6sEBKE+6UV49yfh7pRkeIM35i0kzOkCa
90+Q5ikOYR5e/m3z1rdym1H/EI4av5ypDvHj0cs58ugQTx6dP5PzPNkt9CfX/RXNZt5u7Q+JnB0k
rxC4Ckg8/xVUgodqf7y/12/IQe/+KJjo4Gw1BNc3lsGNZK0+/uo+U8HocUvjUGPLjwpIHcHxEi4K
SeVQUmmLSFbtfsx4dQLkEf06Q/qA787lr0RgX3mhQmP48f3TUuShKI/fJMq2QHo+mM0J3w3kr59G
LwT25E2Crauw54Na7a+BHg6fDdvzN4mtre2eD11zgsYXXPcMvVetM6QoZDyRXX31/H5vPnjtC+po
Ryl0BX40v7vqyYdqf/zxs357Hi6XO5NVRvzKkaLSJoF+2UXZSjqvgJoJL8t5w+q8iWYbtesr3gQv
XhL3Pex+OPD7SLwOv509tBPemhGmL2mEnax/uAm2yL2OuR5WiA/HbwHkcf8lQd5D/4fD/CSWr5ug
XNq3SydlqwyFM1QpfdpM9H/xIaIjfTQ8YMdX0G9w27YP9QX7qqf//+v/AFBLAwQUAAIACACVenpJ
HnKP/uYAAACvAgAALAAcAHRyYW5zaXRpb25zL3N0ZXBzLXRpbWluZy1mdW5jdGlvbi1hY3R1YWwu
dHh0VVQJAAPJGDpYyRg6WHV4CwABBPUBAAAEFAAAANWOzUrDQBSF93mKQzZRaEJ+tGJ2paQiVLuI
LzBprmToZCadubGpT++QhVDcCNKFcBYfZ3G+s9691rtthZeqrldPVQklNSF/LEpshFTUgg0GMTpC
FJ+oOUiO2Qrt3o3tI8woWRoNH1LUk2ZEjZmiYP0vp986gge4zoyqRW8+CJ2x8tNoFkqdkafpMMHX
FplbQGoUoOMolMe9nadcEgSb1fMWMcIf+uQuxGDNQJbP8AVCrwu/XwhGmuT3DjQNtGdqS6RoRoYT
pxK9YCunm2yBdI4H/8fj7d+EF77l8vrChwtjVhS/UgZfUEsDBBQAAgAIAJV6ekneebgLcgEAAMQE
AAAqABwAdHJhbnNpdGlvbnMvc3RlcHMtdGltaW5nLWZ1bmN0aW9uLWRpZmYudHh0VVQJAAPJGDpY
yRg6WHV4CwABBPUBAAAEFAAAANWTT0sjQRDF7/MpHrlEmXRmJllHklOiRhF1lZ1lPXcmpWnsmR67
q3Xip7cT/ENYkIWAsFDQjzq8X9UrWgiB5I/RviKXnEiWyey2SG5pfqH47TnySi+SX6RJOkq0XBnP
gsmxsOS8ZpewlbVTrEztEsfUOMGqUvW9uPN1uW4LahsqmRZ9bjmK4/g7mLJkL/WGOJlAZL0ccdYb
YTKJ4uPrn8X15QxXs6KYns3G0KomDEbDMU6l0rQAGzTSO0JXPNP8QQX8mnhnbNXFJxyhwpQV1Yzu
3LTd/9Ybv5eEoOCWxusFKvNEWBqrXkzNUusVBmnatAhti8z1oGoMQY8h4yBLu/Fy/QiRuJkWBQQ6
f03Q/9FBY01DllcIDXQCsPMxiGSk/cGBg5PPcKYiXoaLotQm7MNmjHRH7y+s83xH78MvzLPhMIpP
p+eXO6Xy/olCDph7XtPGqCRb1e5lPaSbCiLcKcj9HYlbwDz/BuLhFjJk9k9MRK9QSwMEFAACAAgA
lXp6SVlJwuqaAAAAXAEAAC4AHAB0cmFuc2l0aW9ucy9zdGVwcy10aW1pbmctZnVuY3Rpb24tZXhw
ZWN0ZWQudHh0VVQJAAPJGDpYyRg6WHV4CwABBPUBAAAEFAAAAKXNTQ6CMBQE4D2nmHQthB9/Enfe
wAQvUPApjaUP24eAp7fxAGzYTSaZb24doeEZoePR3tHzh9CxN192oq1dUOb5MCPWHkXYwThUoPeo
bYytp56chCxJrpe6RgqVTtS8jKTitQsP9n22Vxg8D+RlQSyg4p0C2f8UWpBn5SEg6AmBe5LOuCda
y4EgfEa+jV6Rj8dt9GnFLqoqSX5QSwMEFAACAAgAlXp6SQSo9abKCAAAjCMAADIAHAB0cmFuc2l0
aW9ucy9zdGVwcy10aW1pbmctZnVuY3Rpb24tcHJldHR5LWRpZmYuaHRtbFVUCQADyRg6WMkYOlh1
eAsAAQT1AQAABBQAAADlWmtz27gV/e5fgbGn8XbHpCRLcizZUSfxo+00+5hqp/txByRBETFIMARo
S273v+/FiyIpUnJmH9lM4yQE8bz33NcBx9eJTNni6DohOIJHSiRGYYILQeSb01LG3uUpdAu5YWRx
NGc0ezhD80cqqCQR+u8Rgj+SrKUXkZAXWFKezVHGM3KlhwJeRKTwAi4lT+dolK9RBG0SXR39fGS2
s5uEnPFijk6G45ke8+8pI7c0ju14gMOHVcHLLPLc1PhS/dQPMicIzmiETqIoMmMxz6QX45SyzRyl
POMix6EVMMXFioLII5KioenKOSin9SgIA40eiRYoGbUkHY/HHfsLnAlPkILGtUFBn4k+o36ox0gs
52joT11/REXOMGxCM0DGSvhEI5nA4uHwL1Y+HEU0W1UrjWzWNKrVtI4Vl2YJCCWr6Ql/JEVLo+l0
etUHNiEGBl/Z5D2cJezimHEMahR0lcim5dSsG1Afgy7uKA7QUwkqDlsqSxww4oWEsYaWnt63gdJT
Atp52obK1Z4KnG8lW5JQ2a7XafTipsu03cX6rMMdHGqYr80Jd+sczAv7g2rkDPnq0dawVzxBIxJs
1P9Ii/qO8fDhe1xIH1Sdx7QQ0gsTyqJeYNVxS1h/tm+zgqRg2rMD59kzHPzG4bxATWm43dR5HXiL
pCFmHmZ0BbEheYdaBVGe/g+cRYw4OOw+CkL1nhBj0K0/h2UhlGmU2O0IxAFYp3QWgzMrxzHBo8Xb
J0XDz3fdYVWQzVXLMf3pIXsZiJEv+UGY/bjgaQtsmx/VGQr1b8s0IAV4E6l7l+l1gu+mUeu1s1kj
Abpw6UqDLpInk0lnuqlbv8oxaqOpCQETBlXCt35g3bPLRYy4DXca24RVU1yr2JlwTJHohWVPksoL
FZ1KTAugyybWa5wijViFRZ6JVj0EeOpX0KMg+MFTHUYgmuIVaVhmjs4rwAOGFYpqYgipAWQAUWwL
tfXeWuVyMuvNvTGJtwlAuRXsWJXHWjR3LI3iqLkUjC36p8/I7GpfTa92slmmLoeNiv5yHUU7G6CI
sP4VZHZQmsHXaFnmOS8kVNrCejKAmqYkkwJ9PYDzcCkTbvA21ViRGfB6CX4aOkvpBXpOT/2v5ihh
MLiEnuzS2YVzbJVuMGM3ToLO2eemlqV47bXKewq8wHadD6u60z4acN97ThXZVUg3jumS0+c5MWXT
eyLBA5WeLFTYGSSM4Mg/F1c1NSZW6RMhsSzFuzKAGl7VQ19FT6c4aonknAW4aI67o2NGdIRuB1L+
XPVWyWls4tjyKNV0bEG1+ylhX+bYS+W2bhHTNTH72Hw8bKrkY81BTJjtVvEnCrmgaLlateezR7OI
rCFJ7VFtWwhrInTpZZNRo7xd2iyWKTFtwHaWJjgv4OuDgl5sBR0ZJ3ZFyLxpYW27qmD2tRK4YmaN
o2lc4NRI2IqTJo2oxchNT6bdxWYDXJM/2VpPGBBH4MwvKEwXs/ute9ma3DOogWiOVTQy2qXHTXJs
9zDw7fpwLyWIXJ41x7x1ScFddYb10R9cjWzdSS5eu4S2K+aeIKnddkSKDZev59yMF9B91ZNlrP6K
gomuw40eLq6HXVMYDgib4xgi7GxnuenXm+iCnIGqx+h/6PjqqCrEtfLdXs0wMHQee3KTk86tjnsl
shNbV9yEMJ0gKzKKFRntqVEnKRHCEY9enLvMUouOpU7ULymFUGKAED1SXoqbqgfI7DPJbmrFsqvO
O8rRLjH14qJyOXit9gSX2+279USbRMauBr5IGusawHGIVDHRKBeW9vWQvnqdDUqIqqyed1x9j+jj
POahxZCXUuWLevgFrNSVxA6Bv8QgC1SwkVOkXiz1LsBhfkiIOWlgK+0K5Fc6SI4kjAVmtnU1gR4p
VjlZfmN9AoQNCv4EBgcmkGBYa0kRlb4iQZUek6ll8RUVse8uOygiq/4Nm0XUfdJpc/yURnDLMoop
Awl3+e6oKMDDuMCPgD0gQFp1pX7T2yl13sgfG8q0/fjhqn+HDU5ub29rIX1yeX97P73vzE9ALru9
+O7urkvqOUlzyFAN41ua1prpQxMkbUT+3exyeGnzVsgILn7S9MBdBVSPvjYlasr1wH51uxZhQXOw
aRG+OU6kzMV8MMAf8Npfcb6CRTkVynV134DRQAw+fCxJsRmM/Il/bl98oJb+B3G8gH31fgvU3Dnk
EfGUDckTzPsbWFoZ883ksrYEhLIfCgMebeAB8QByYyHenLqbgPpemIwWg/+APSFnDW6xxIO7H5eD
H0nwLyrt411JWTT4N9RdLMgAPAXg9CSBDAvX95JJMdhWBgFIkFx4kqbqEheXmSZYHhCYEjNfriWI
NWpKU/sYdLo7oi/pff3q8o7Az1rj6tqCml987CTIJZmbpe/7WxJxuniVBSK/AgRh0qIxFWK7PnHU
OQfq8+ni5rtvl9+9v0Pf3C2Xb/9+N9fr0PlsPEf3GGCPVJ7IcSkIenUC1aVRXOFelOpetEVUJQyA
Xic7PQZsSz+tDGBn0PyP1f/8/1z/8Z9Rf/2oo1BLW6cLO7yL1ctiTCRwYz0cZgchHr0A3Uk/uqr4
qtuGSHjJIv0dEiW8oM9KAMY25iaO9IfEkTgDdoHGiHyE1APNsNAoCv+TPOegSucvUGnar9Ifakbz
KedwttzO26v6+AWq7wkqo39E2OJ70Ageuv12uTRvyEOvPpZc7saIPzEDwAl5DjRno78omT4VHmbQ
RQ1U7aF/PhXAtJ/0CcA9UiITVfJDxiESJa+dP0e1l6Ftf1KueSF6ky8HPQBP7w4IKvBq55Faewtp
fUKFLlDzi98FyOmXA+Tr3wjJ0Xh8MHF8bpZ0sQdtuPYt7q8H6qHbb//53rz95kGvtyfrXH80UpcR
uDEic5bKB+oJdyMsC7r+anSGajINzxD8hT4oKtD8qx36fLTj9WcHtIFn7TRZa5PIvOhw1xIoxAHr
Osx/OmwvPzu2rz8NXJUBfh26XwRhvHiB7Wa/D7tqPfQ1Gm6v+pdwfgFQSwMECgAAAAAAk3p6SQAA
AAAAAAAAAAAAAAsAHAB3ZWJhcmNoaXZlL1VUCQADxRg6WJ0bOlh1eAsAAQT1AQAABBQAAABQSwME
FAACAAgAk3p6SdsI00I7AAAAPwAAADoAHAB3ZWJhcmNoaXZlL3Rlc3QtbGluay1yZWwtc3VicmVz
b3VyY2UtYmVmb3JlbG9hZC1zdGRlcnIudHh0VVQJAAPFGDpYxRg6WHV4CwABBPUBAAAEFAAAAHMs
KUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgA
UEsDBBQAAgAIABV8ekkMvIGwoAIAAJsSAAAZABwAd3B0d2tfcHJvY2Vzc19sb2cub3V0LnR4dFVU
CQADmhs6WCsaOlh1eAsAAQT1AQAABBQAAADVV21v2jAQ/s6v8IdJhW0k4XUQ7UVlFFZp66bRah/G
Wpn4KF6DHdnOWv79LqEtZVugToF2EkhWlOfuuefOd7nuQeek71/CqByF1IylmpYNaKP9vuTinBhJ
Yg0kksqQRttrtgpdO0A7GyCk2R8bUG+6EJBqk1RrfqXmN/DgVZqk/+m4UDg86n3+F/REJ77gimuT
HCZSGxKAMhmAckhjEUxA+RNjopcpO7/V8jw8cubX6432K0toZQFtrYVean2NTCVZQJv3gF4j623v
rtPGvfjegNv1em2Bbc+xU8nOohla0DK4AONoQwWjoRTgfIPRIH04APULbb1XQA2Q+YtECp8Uayge
8tnbu/mXsjP9VcaIjqjBbCP21C06z0vPNsGi+hcJW6MdLlhmRPmNPZzY4IJHZDQjY8rDWIFPQCmp
ivUWmttnTIHWhIYoCZsRLpJbZ5uCoRPNcqThI946EBvTbAu1NXSo5hpDs61IWy9iNnQupboANXR+
ansDqf55nE7MNMwBnauylXu3ZalvVM4Z+I4TpRPhEtR/kN2dNUCLcN59ea0jCN5+P3V/vCi5RspQ
5xwau2ijfxTnhhvqDmv9rtBPt9qHZ8m3nj3PVWW1q3Y096liIUC5ccSwsQ7PplTwMb5vq+EO07XE
29bj4ybsCUj+KOptIe6lCLKWs4Ghar6W4QZC0mpT2NxIKAMaJqtauno9DF55ADxZhlassQfHxD0U
DK6AdTsuHeH+VOYCf9xwGpbj6FxRBgKAAUvvf7atnoxxHE6w8YdIosdD+DA/Z0OqnkfsKZDiEQ6W
EvHuHZeOo2QzxAGxBoIDUsYqAO0mDydUCZyYK2E5os72pGAtzRz+NpOYhYakmFSb77rLNW6XxJXp
u3WflY/HpnCbqI0R+Q1QSwECHgMUAAIACAAwenpJ+nW7HGc+AAB00wAAIQAYAAAAAAABAAAApIEA
AAAAV2ViS2l0VGVzdFJ1bm5lci00MjgxMC1zYW1wbGUudHh0VVQFAAMMGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAVnp6SfS5ioQ7PgAAetIAACEAGAAAAAAAAQAAAKSBwj4AAFdlYktpdFRl
c3RSdW5uZXItNDI4MTItc2FtcGxlLnR4dFVUBQADUxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALx6eknMlbt8cj4AACXUAAAhABgAAAAAAAEAAACkgVh9AABXZWJLaXRUZXN0UnVubmVyLTQy
ODE0LXNhbXBsZS50eHRVVAUAAxQZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABVenpJ5ViF
XIs+AABG0wAAIQAYAAAAAAABAAAApIElvAAAV2ViS2l0VGVzdFJ1bm5lci00MjgzMC1zYW1wbGUu
dHh0VVQFAANSGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdXp6Sbp5xRwvPgAA5dMAACEA
GAAAAAAAAQAAAKSBC/sAAFdlYktpdFRlc3RSdW5uZXItNDQzMTktc2FtcGxlLnR4dFVUBQADjRg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALh6eknKuevr3j0AAMvQAAAhABgAAAAAAAEAAACk
gZU5AQBXZWJLaXRUZXN0UnVubmVyLTQ0NDg3LXNhbXBsZS50eHRVVAUAAwwZOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADqenpJbwQou949AADL0AAAIQAYAAAAAAABAAAApIHOdwEAV2ViS2l0
VGVzdFJ1bm5lci00NDU1NC1zYW1wbGUudHh0VVQFAANoGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAdnt6SY6pr/4+PgAAetIAACEAGAAAAAAAAQAAAKSBB7YBAFdlYktpdFRlc3RSdW5uZXIt
NDQ2MDAtc2FtcGxlLnR4dFVUBQADcBo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKt7eknt
FghC1T0AAMvQAAAhABgAAAAAAAEAAACkgaD0AQBXZWJLaXRUZXN0UnVubmVyLTQ0NjE4LXNhbXBs
ZS50eHRVVAUAA9EaOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADde3pJmjl6BwU+AADQ0AAA
IQAYAAAAAAABAAAApIHQMgIAV2ViS2l0VGVzdFJ1bm5lci00NDYzNC1zYW1wbGUudHh0VVQFAAMy
GzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEnx6SbdMiFX7PQAA0NAAACEAGAAAAAAAAQAA
AKSBMHECAFdlYktpdFRlc3RSdW5uZXItNDQ2NTItc2FtcGxlLnR4dFVUBQADkxs6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAEN7ekkAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQYavAgBfd3B0
X2NlcnRzL1VUBQADDho6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALx5ekmPtJhRGwkAADoR
AAAVABgAAAAAAAEAAACkgcuvAgBfd3B0X2NlcnRzLzA5MUM2NS5wZW1VVAUAAzQXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC8eXpJWGxFL+EJAAA7EgAAFQAYAAAAAAABAAAApIE1uQIAX3dw
dF9jZXJ0cy8wOTFDNjYucGVtVVQFAAM0FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvHl6
SY+0mFEbCQAAOhEAABUAGAAAAAAAAQAAAKSBZcMCAF93cHRfY2VydHMvY2FjZXJ0LnBlbVVUBQAD
NBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALx5eklHKMPlRgUAANcGAAAUABgAAAAAAAEA
AACkgc/MAgBfd3B0X2NlcnRzL2Nha2V5LnBlbVVUBQADNBc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAEN7ekkAAAAAAAAAAAAAAAAUABgAAAAAAAAAAACkgWPSAgBfd3B0X2NlcnRzL2luZGV4
LnR4dFVUBQADDho6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAALx5ekmYXHl/FQAAABUAAAAZ
ABgAAAAAAAEAAACkgbHSAgBfd3B0X2NlcnRzL2luZGV4LnR4dC5hdHRyVVQFAAM0FzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgACAAAAvHl6SZhceX8VAAAAFQAAAB0AGAAAAAAAAQAAAKSBGdMCAF93
cHRfY2VydHMvaW5kZXgudHh0LmF0dHIub2xkVVQFAAM0FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgACAAAAvHl6SV0MAmc3AAAANwAAABgAGAAAAAAAAQAAAKSBhdMCAF93cHRfY2VydHMvaW5kZXgu
dHh0Lm9sZFVUBQADNBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALx5ekkVFyM3DQUAAI8G
AAAYABgAAAAAAAEAAACkgQ7UAgBfd3B0X2NlcnRzL2xvY2FsaG9zdC5rZXlVVAUAAzQXOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC8eXpJWGxFL+EJAAA7EgAAGAAYAAAAAAABAAAApIFt2QIA
X3dwdF9jZXJ0cy9sb2NhbGhvc3QucGVtVVQFAAM0FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAC
AAAAQ3t6SQ7j4xkGAAAABgAAABEAGAAAAAAAAQAAAKSBoOMCAF93cHRfY2VydHMvc2VyaWFsVVQF
AAMOGjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAvHl6SeWrtUoHAAAABwAAABUAGAAAAAAA
AQAAAKSB8eMCAF93cHRfY2VydHMvc2VyaWFsLm9sZFVUBQADNBc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIABV8eknMv6tH/4gBAPvyDgAOABgAAAAAAAEAAACkgUfkAgBhY2Nlc3NfbG9nLnR4
dFVUBQADmRs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMJ5ekkAAAAAAAAAAAAAAAAOABgA
AAAAAAAAEADtQY5tBABhY2Nlc3NpYmlsaXR5L1VUBQADOxc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAMB5eknh0+0uaQAAAGsAAAAuABgAAAAAAAEAAACkgdZtBABhY2Nlc3NpYmlsaXR5L2Fy
aWEtY2hlY2tib3gtY2hlY2tlZC1zdGRlcnIudHh0VVQFAAM3FzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAwnl6SQAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1Bp24EAGFjY2Vzc2liaWxpdHkv
bWFjL1VUBQADOxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMJ5ekkDmfIeaQAAAGsAAABh
ABgAAAAAAAEAAACkgfNuBABhY2Nlc3NpYmlsaXR5L21hYy9jaGVja2JveC1wb3N0cy12YWx1ZS1j
aGFuZ2Utbm90aWZpY2F0aW9uLWFmdGVyLWFjdGl2YXRpb24td2l0aC1zcGFjZS1zdGRlcnIudHh0
VVQFAAM7FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFXp6SaYJGP7/PQAAdeAAADgAGAAA
AAAAAQAAAKSB928EAGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudC00Mjgx
Ni1zYW1wbGUudHh0VVQFAAPaFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAPXp6Sf2aSn4v
SwAAZTgBADgAGAAAAAAAAQAAAKSBaK4EAGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZl
bG9wbWVudC00MjgzNS1zYW1wbGUudHh0VVQFAAMmGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAq3p6SSZUom85QgAAp/IAADgAGAAAAAAAAQAAAKSBCfoEAGNvbS5hcHBsZS5XZWJLaXQuV2Vi
Q29udGVudC5EZXZlbG9wbWVudC00MjkxNi1zYW1wbGUudHh0VVQFAAPxGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAQHp6SU1znO/UQgAAJhgBADgAGAAAAAAAAQAAAKSBtDwFAGNvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudC00Mjk3MS1zYW1wbGUudHh0VVQFAAMnGDpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAW3p6SQV/t+9rNgAAzcIAADgAGAAAAAAAAQAAAKSB
+n8FAGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudC00NDMyMS1zYW1wbGUu
dHh0VVQFAANdGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApnp6SXq5Ih87NwAAgsUAADgA
GAAAAAAAAQAAAKSB17YFAGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudC00
NDQ4OS1zYW1wbGUudHh0VVQFAAPoGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA13p6SaE+
HltVNgAAHcMAADgAGAAAAAAAAQAAAKSBhO4FAGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5E
ZXZlbG9wbWVudC00NDU1Ni1zYW1wbGUudHh0VVQFAANGGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAZnt6SeCBk5isNwAAsskAADgAGAAAAAAAAQAAAKSBSyUGAGNvbS5hcHBsZS5XZWJLaXQu
V2ViQ29udGVudC5EZXZlbG9wbWVudC00NDYwMi1zYW1wbGUudHh0VVQFAANPGjpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAmHt6SaJwDYFYNgAAvsEAADgAGAAAAAAAAQAAAKSBaV0GAGNvbS5h
cHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudC00NDYyMC1zYW1wbGUudHh0VVQFAAOw
GjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAzXt6SWyPIIVwNgAAccMAADgAGAAAAAAAAQAA
AKSBM5QGAGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudC00NDYzNi1zYW1w
bGUudHh0VVQFAAMRGzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAXx6Sfe+9gGDNgAAD8MA
ADgAGAAAAAAAAQAAAKSBFcsGAGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVu
dC00NDY1NC1zYW1wbGUudHh0VVQFAANyGzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAyHl6
SQAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BCgIHAGNvbXBvc2l0aW5nL1VUBQADSBc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAMR5ekkAAAAAAAAAAAAAAAAVABgAAAAAAAAAEADtQVACBwBj
b21wb3NpdGluZy9vdmVyZmxvdy9VVAUAA0AXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADE
eXpJ43bxlmkAAABrAAAAPQAYAAAAAAABAAAApIGfAgcAY29tcG9zaXRpbmcvb3ZlcmZsb3cvdGhl
bWUtYWZmZWN0cy12aXN1YWwtb3ZlcmZsb3ctc3RkZXJyLnR4dFVUBQADQBc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAMN5ekkAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQX8DBwBjb21wb3Np
dGluZy9yZWdpb25zL1VUBQADPhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMN5eknhRf6e
vwAAAPIGAABFABgAAAAAAAEAAACkgc0DBwBjb21wb3NpdGluZy9yZWdpb25zL3dlYmtpdC1mbG93
LXJlbmRlcmVyLWxheWVyLWNvbXBvc2l0aW5nLXN0ZGVyci50eHRVVAUAAz4XOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADIeXpJGdeducIAAADyBgAAPAAYAAAAAAABAAAApIELBQcAY29tcG9z
aXRpbmcvc2hvdy1jb21wb3NpdGVkLWlmcmFtZS1vbi1iYWNrLWJ1dHRvbi1zdGRlcnIudHh0VVQF
AANIFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAw3l6SQAAAAAAAAAAAAAAABIAGAAAAAAA
AAAQAO1BQwYHAGNvbXBvc2l0aW5nL3ZpZGVvL1VUBQADPRc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAMF5ekk6bDm6pgABAIAgAQAjABgAAAAAAAAAAACkgY8GBwBjb21wb3NpdGluZy92aWRl
by9wb3N0ZXItYWN0dWFsLnBuZ1VUBQADOhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMF5
eknqGHrEeQAAAIcIAAAhABgAAAAAAAAAAACkgZIHCABjb21wb3NpdGluZy92aWRlby9wb3N0ZXIt
ZGlmZi5wbmdVVAUAAzoXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBeXpJZ8QkCIkFAAAO
EgAAIwAYAAAAAAABAAAApIFmCAgAY29tcG9zaXRpbmcvdmlkZW8vcG9zdGVyLWRpZmZzLmh0bWxV
VAUAAzoXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBeXpJrMJPXAwBAAD9AQAAJgAYAAAA
AAABAAAApIFMDggAY29tcG9zaXRpbmcvdmlkZW8vcG9zdGVyLWV4cGVjdGVkLmh0bWxVVAUAAzoX
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBeXpJeAgUJ40AAQBgIAEAJQAYAAAAAAAAAAAA
pIG4DwgAY29tcG9zaXRpbmcvdmlkZW8vcG9zdGVyLWV4cGVjdGVkLnBuZ1VUBQADOhc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAMN5ekn36ll5wgAAAPIGAAAyABgAAAAAAAEAAACkgaQQCQBj
b21wb3NpdGluZy92aWRlby92aWRlby1jbGlwLWNoYW5nZS1zcmMtc3RkZXJyLnR4dFVUBQADPRc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMZ5ekkAAAAAAAAAAAAAAAAHABgAAAAAAAAAEADt
QdIRCQBjcnlwdG8vVVQFAANDFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAxnl6SQAAAAAA
AAAAAAAAAA4AGAAAAAAAAAAQAO1BExIJAGNyeXB0by9zdWJ0bGUvVVQFAANDFzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgACAAAAxnl6SSXg0wgsAAAALAAAAD4AGAAAAAAAAQAAAKSBWxIJAGNyeXB0
by9zdWJ0bGUvcnNhLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0
VVQFAANDFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxnl6STA7uLFLAAAAaAAAADwAGAAA
AAAAAQAAAKSB/xIJAGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFt
ZXRlcnMtc3RkZXJyLnR4dFVUBQADQxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMR5ekkA
AAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQcATCQBjcnlwdG8vd29ya2Vycy9VVAUAA0AXOlh1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAADEeXpJAAAAAAAAAAAAAAAAFgAYAAAAAAAAABAA7UEJFAkA
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL1VUBQADQBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAA
AMR5ekkl4NMILAAAACwAAAAxABgAAAAAAAEAAACkgVkUCQBjcnlwdG8vd29ya2Vycy9zdWJ0bGUv
cnNhLWdlbmVyYXRlLWtleS1zdGRlcnIudHh0VVQFAANAFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAynl6SQAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1B8BQJAGNzczMvVVQFAANMFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAxHl6SQAAAAAAAAAAAAAAABAAGAAAAAAAAAAQAO1BLxUJ
AGNzczMvYmFja2dyb3VuZC9VVAUAAz8XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADEeXpJ
KEKvnL8AAADyBgAAOAAYAAAAAAABAAAApIF5FQkAY3NzMy9iYWNrZ3JvdW5kL2JhY2tncm91bmQt
cmVwZWF0LXJvdW5kLWF1dG8xLXN0ZGVyci50eHRVVAUAAz8XOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAADJeXpJAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UGqFgkAY3NzMy9zZWxlY3RvcnMz
L1VUBQADShc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMh5ekkAAAAAAAAAAAAAAAAVABgA
AAAAAAAAEADtQfQWCQBjc3MzL3NlbGVjdG9yczMvaHRtbC9VVAUAA0gXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADIeXpJIgaVDWkAAABrAAAALgAYAAAAAAABAAAApIFDFwkAY3NzMy9zZWxl
Y3RvcnMzL2h0bWwvY3NzMy1tb2RzZWwtMjUtc3RkZXJyLnR4dFVUBQADSBc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAMl5ekkAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQRQYCQBjc3MzL3Nl
bGVjdG9yczMveGh0bWwvVVQFAANKFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyXl6SUfu
ifJpAAAAawAAAC8AGAAAAAAAAQAAAKSBZBgJAGNzczMvc2VsZWN0b3JzMy94aHRtbC9jc3MzLW1v
ZHNlbC0yNS1zdGRlcnIudHh0VVQFAANKFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAynl6
SQAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BNhkJAGNzczMvc2hhcGVzL1VUBQADTBc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAMp5ekkAAAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQXwZCQBj
c3MzL3NoYXBlcy9zaGFwZS1vdXRzaWRlL1VUBQADTBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAMp5ekkAAAAAAAAAAAAAAAAmABgAAAAAAAAAEADtQdAZCQBjc3MzL3NoYXBlcy9zaGFwZS1v
dXRzaWRlL3NoYXBlLWltYWdlL1VUBQADTBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMp5
ekkAAAAAAAAAAAAAAAAwABgAAAAAAAAAEADtQTAaCQBjc3MzL3NoYXBlcy9zaGFwZS1vdXRzaWRl
L3NoYXBlLWltYWdlL2dyYWRpZW50cy9VVAUAA0wXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADKeXpJozZes8IAAADyBgAAXAAYAAAAAAABAAAApIGaGgkAY3NzMy9zaGFwZXMvc2hhcGUtb3V0
c2lkZS9zaGFwZS1pbWFnZS9ncmFkaWVudHMvc2hhcGUtb3V0c2lkZS1saW5lYXItZ3JhZGllbnQt
MDAxLXN0ZGVyci50eHRVVAUAA0wXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADNeXpJAAAA
AAAAAAAAAAAADQAYAAAAAAAAABAA7UHyGwkAZGlzcGxheWxpc3RzL1VUBQADURc6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAM15ekmjV/3oUAAAAI4AAAAyABgAAAAAAAEAAACkgTkcCQBkaXNw
bGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9ybXMtc3RkZXJyLnR4dFVUBQADURc6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAM15eknylpXVRwAAAEkAAAApABgAAAAAAAEAAACkgfUc
CQBkaXNwbGF5bGlzdHMvbGF5ZXItZGlzcGF5LWxpc3Qtc3RkZXJyLnR4dFVUBQADURc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAANd5ekkAAAAAAAAAAAAAAAAEABgAAAAAAAAAEADtQZ8dCQBk
b20vVVQFAANlFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA13l6SQAAAAAAAAAAAAAAAAkA
GAAAAAAAAAAQAO1B3R0JAGRvbS9odG1sL1VUBQADZRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAANd5ekkAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQSAeCQBkb20vaHRtbC9sZXZlbDIvVVQF
AANlFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA13l6SQAAAAAAAAAAAAAAABUAGAAAAAAA
AAAQAO1Bah4JAGRvbS9odG1sL2xldmVsMi9odG1sL1VUBQADZRc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIANd5eklQUKnLaAAAAGsAAAAyABgAAAAAAAEAAACkgbkeCQBkb20vaHRtbC9sZXZl
bDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MjAtc3RkZXJyLnR4dFVUBQADZRc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAADB6ekkAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQY0fCQBlZGl0aW5n
L1VUBQADDBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANJ5ekkAAAAAAAAAAAAAAAAUABgA
AAAAAAAAEADtQc8fCQBlZGl0aW5nL2V4ZWNDb21tYW5kL1VUBQADXBc6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIANJ5ekndIcPtQgAAAIYAAABBABgAAAAAAAEAAACkgR0gCQBlZGl0aW5nL2V4
ZWNDb21tYW5kL2NsaXBib2FyZC1hY2Nlc3Mtd2l0aC11c2VyLWdlc3R1cmUtc3RkZXJyLnR4dFVU
BQADXBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOp6ekkAAAAAAAAAAAAAAAAOABgAAAAA
AAAAEADtQdogCQBlZGl0aW5nL2lucHV0L1VUBQADaBk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALh6ekknBPAg6QAAAIwBAAAvABgAAAAAAAEAAACkgSIhCQBlZGl0aW5nL2lucHV0L3Bhc3N3
b3JkLWVjaG8tcGFzc25vZGUtYWN0dWFsLnR4dFVUBQADDBk6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIALh6eknfp/rMngEAAKcDAAAtABgAAAAAAAEAAACkgXQiCQBlZGl0aW5nL2lucHV0L3Bh
c3N3b3JkLWVjaG8tcGFzc25vZGUtZGlmZi50eHRVVAUAAwwZOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAC4enpJT84qdmoAAAAVAQAAMQAYAAAAAAABAAAApIF5JAkAZWRpdGluZy9pbnB1dC9w
YXNzd29yZC1lY2hvLXBhc3Nub2RlLWV4cGVjdGVkLnR4dFVUBQADDBk6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALh6eklnPAr5pAgAAKQfAAA1ABgAAAAAAAEAAACkgU4lCQBlZGl0aW5nL2lu
cHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtcHJldHR5LWRpZmYuaHRtbFVUBQADDBk6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIALh6ekk5coEcXAAAAF4AAAAvABgAAAAAAAEAAACkgWEuCQBl
ZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtc3RkZXJyLnR4dFVUBQADDBk6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADB6ekmOWK5b6QAAAIwBAAAwABgAAAAAAAEAAACkgSYv
CQBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUyLWFjdHVhbC50eHRVVAUAAwwY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAwenpJcYyGMp8BAACpAwAALgAYAAAAAAABAAAA
pIF5MAkAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlMi1kaWZmLnR4dFVUBQAD
DBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADB6eklPzip2agAAABUBAAAyABgAAAAAAAEA
AACkgYAyCQBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUyLWV4cGVjdGVkLnR4
dFVUBQADDBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADB6eknW2jy2pAgAAKUfAAA2ABgA
AAAAAAEAAACkgVYzCQBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUyLXByZXR0
eS1kaWZmLmh0bWxVVAUAAwwYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAwenpJ+un6XFwA
AABeAAAAMAAYAAAAAAABAAAApIFqPAkAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nu
b2RlMi1zdGRlcnIudHh0VVQFAAMMGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdXp6SQRR
NJLpAAAAjAEAADAAGAAAAAAAAQAAAKSBMD0JAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1w
YXNzbm9kZTMtYWN0dWFsLnR4dFVUBQADjRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHV6
ekm0T45QlwEAADEDAAAuABgAAAAAAAEAAACkgYM+CQBlZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVj
aG8tcGFzc25vZGUzLWRpZmYudHh0VVQFAAONGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
dXp6SRt1OPBhAAAAnwAAADIAGAAAAAAAAQAAAKSBgkAJAGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQt
ZWNoby1wYXNzbm9kZTMtZXhwZWN0ZWQudHh0VVQFAAONGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAdXp6SepRc1yjCAAAKx4AADYAGAAAAAAAAQAAAKSBT0EJAGVkaXRpbmcvaW5wdXQvcGFz
c3dvcmQtZWNoby1wYXNzbm9kZTMtcHJldHR5LWRpZmYuaHRtbFVUBQADjRg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAHV6ekkDpmdeXAAAAF4AAAAwABgAAAAAAAEAAACkgWJKCQBlZGl0aW5n
L2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUzLXN0ZGVyci50eHRVVAUAA40YOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADqenpJn/MCJekAAACMAQAALwAYAAAAAAABAAAApIEoSwkAZWRp
dGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWFjdHVhbC50eHRVVAUAA2gZOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADqenpJSD+z6pEBAACiAwAALQAYAAAAAAABAAAApIF6TAkA
ZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWRpZmYudHh0VVQFAANoGTpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6np6SV2Ek1xgAAAAEAEAADEAGAAAAAAAAQAAAKSBck4J
AGVkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1leHBlY3RlZC50eHRVVAUAA2gZ
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADqenpJ9N4U0JYIAACfHwAANQAYAAAAAAABAAAA
pIE9TwkAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLXByZXR0eS1kaWZmLmh0
bWxVVAUAA2gZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADqenpJsqGqQFgAAABeAAAALwAY
AAAAAAABAAAApIFCWAkAZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLXN0ZGVy
ci50eHRVVAUAA2gZOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAVfHpJBv6UllMLAABPRAAA
DQAYAAAAAAABAAAApIEDWQkAZXJyb3JfbG9nLnR4dFVUBQADmRs6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAPx5ekkAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQZ1kCQBmYXN0L1VUBQADqxc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANt5ekkAAAAAAAAAAAAAAAALABgAAAAAAAAAEADt
QdxkCQBmYXN0L2Jsb2NrL1VUBQADbhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANt5ekkA
AAAAAAAAAAAAAAAbABgAAAAAAAAAEADtQSFlCQBmYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS9V
VAUAA24XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADbeXpJcMSHA2kAAABrAAAAKQAYAAAA
AAABAAAApIF2ZQkAZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMTAzLXN0ZGVyci50eHRVVAUA
A24XOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADleXpJAAAAAAAAAAAAAAAADAAYAAAAAAAA
ABAA7UFCZgkAZmFzdC9jYW52YXMvVVQFAAN+FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
5Xl6SdAvuUGVAAAATAEAACYAGAAAAAAAAQAAAKSBiGYJAGZhc3QvY2FudmFzL2NhbnZhcy1saW5l
RGFzaC1zdGRlcnIudHh0VVQFAAN+FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA5nl6SQAA
AAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BfWcJAGZhc3QvY3NzL1VUBQADfxc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAOV5eklb4IWvZwAAAGsAAAArABgAAAAAAAEAAACkgcBnCQBmYXN0L2Nz
cy9jaGVja2VkLXBzZXVkby1zZWxlY3Rvci1zdGRlcnIudHh0VVQFAAN+FzpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA5nl6SdsI00I7AAAAPwAAACkAGAAAAAAAAQAAAKSBjGgJAGZhc3QvY3Nz
L2NvbXBhcmUtY29udGVudC1zdHlsZS1zdGRlcnIudHh0VVQFAAN/FzpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAA53l6SQAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BKmkJAGZhc3QvZHluYW1p
Yy9VVAUAA4IXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADneXpJKBY/vGcAAABrAAAAMAAY
AAAAAAABAAAApIFxaQkAZmFzdC9keW5hbWljL2NoZWNrYm94LXNlbGVjdGlvbi1jcmFzaC1zdGRl
cnIudHh0VVQFAAOCFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9Xl6SQAAAAAAAAAAAAAA
AAwAGAAAAAAAAAAQAO1BQmoJAGZhc3QvZXZlbnRzL1VUBQADnRc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAO15eklYKmd1OQAAAEMAAAAyABgAAAAAAAEAAACkgYhqCQBmYXN0L2V2ZW50cy9k
aXNwbGF5LW5vbmUtb24tZm9jdXMtY3Jhc2gtc3RkZXJyLnR4dFVUBQADjRc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAO15eklofCihZwAAAGsAAABJABgAAAAAAAEAAACkgS1rCQBmYXN0L2V2
ZW50cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVybHlpbmctY2xpY2stZXZlbnQtYXMtaGFuZGxlZC1z
dGRlcnIudHh0VVQFAAONFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9Hl6STC1beM5AAAA
QwAAACsAGAAAAAAAAQAAAKSBF2wJAGZhc3QvZXZlbnRzL21vdXNlLWZvY3VzLWltYWdlbWFwLXN0
ZGVyci50eHRVVAUAA5wXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD1eXpJ5669XzsAAABD
AAAALwAYAAAAAAABAAAApIG1bAkAZmFzdC9ldmVudHMvbW91c2V1cC1vdXRzaWRlLWRvY3VtZW50
LXN0ZGVyci50eHRVVAUAA50XOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADueXpJAAAAAAAA
AAAAAAAACwAYAAAAAAAAABAA7UFZbQkAZmFzdC9mb3Jtcy9VVAUAA5AXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADpeXpJqk5kIGcAAABrAAAANAAYAAAAAAABAAAApIGebQkAZmFzdC9mb3Jt
cy9WYWxpZGl0eVN0YXRlLXZhbHVlTWlzc2luZy0wMDYtc3RkZXJyLnR4dFVUBQADhhc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAOh5ekkAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQXNuCQBm
YXN0L2Zvcm1zL2ZpbGUvVVQFAAOEFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6Hl6SbCb
aVBnAAAAawAAADMAGAAAAAAAAQAAAKSBvW4JAGZhc3QvZm9ybXMvZmlsZS9maWxlLWlucHV0LXBy
ZXNzZWQtc3RhdGUtc3RkZXJyLnR4dFVUBQADhBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AO55eknjdrlNqQAAAOkAAAAzABgAAAAAAAEAAACkgZFvCQBmYXN0L2Zvcm1zL2Zvcm0tYXNzb2Np
YXRlZC1lbGVtZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAA5AXOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAADoeXpJAAAAAAAAAAAAAAAAEQAYAAAAAAAAABAA7UGncAkAZmFzdC9mb3Jtcy9yYWRp
by9VVAUAA4QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADoeXpJkS8caGUAAABrAAAAQQAY
AAAAAAABAAAApIHycAkAZmFzdC9mb3Jtcy9yYWRpby9pbnRlcmFjdGl2ZS12YWxpZGF0aW9uLXJl
cXVpcmVkLXJhZGlvLXN0ZGVyci50eHRVVAUAA4QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AADseXpJAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UHScQkAZmFzdC9mcmFtZXMvVVQFAAOMFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7Hl6SdsI00I7AAAAPwAAAC8AGAAAAAAAAQAAAKSB
GHIJAGZhc3QvZnJhbWVzL2ZyYW1lLWRpc3BsYXktbm9uZS1mb2N1cy1zdGRlcnIudHh0VVQFAAOM
FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA63l6SQAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQ
AO1BvHIJAGZhc3QvaHRtbC9VVAUAA4kXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADreXpJ
nyzDHGgAAABrAAAAKwAYAAAAAAABAAAApIEAcwkAZmFzdC9odG1sL2RldGFpbHMtY2xpY2stY29u
dHJvbHMtc3RkZXJyLnR4dFVUBQADiRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPR5ekkA
AAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQc1zCQBmYXN0L2ltYWdlcy9VVAUAA5wXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAIAAADzeXpJUaeCGDEAAAAxAAAALQAYAAAAAAABAAAApIETdAkAZmFz
dC9pbWFnZXMvbGFyZ2Utc2l6ZS1pbWFnZS1jcmFzaC1zdGRlcnIudHh0VVQFAAOaFzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA9Hl6SSGPvTgyAAAAMwAAACwAGAAAAAAAAQAAAKSBq3QJAGZh
c3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS1jcm9wLWJveC1zdGRlcnIudHh0VVQFAAOcFzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAA8nl6SQAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BQ3UJAGZh
c3QvbG9hZGVyL1VUBQADlxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOx5eknbCNNCOwAA
AD8AAABSABgAAAAAAAEAAACkgYl1CQBmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNh
bi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAAOLFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7Xl6SdsI00I7AAAAPwAAAFMAGAAAAAAAAQAAAKSB
UHYJAGZhc3QvbG9hZGVyL2ltYWdlcy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQt
Y2FuLXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAAONFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA8nl6SdsI00I7AAAAPwAAAC0AGAAAAAAAAQAAAKSBGHcJAGZhc3QvbG9hZGVyL3Jl
bG9hZC1wb2xpY3ktZGVsZWdhdGUtc3RkZXJyLnR4dFVUBQADlxc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAPF5ekkAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQbp3CQBmYXN0L21lZGlhL1VU
BQADlRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO95eknCQWKJHQAAAHYBAABBABgAAAAA
AAEAAACkgf93CQBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1saXZlLXVwZGF0ZS1pbi1z
dWJmcmFtZXMtc3RkZXJyLnR4dFVUBQADkhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO95
eknCQWKJHQAAAHYBAAA0ABgAAAAAAAEAAACkgZd4CQBmYXN0L21lZGlhL21xLWludmVydGVkLWNv
bG9ycy1saXZlLXVwZGF0ZS1zdGRlcnIudHh0VVQFAAOSFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA8Hl6ScJBYokdAAAAdgEAAC8AGAAAAAAAAQAAAKSBInkJAGZhc3QvbWVkaWEvbXEtbW9u
b2Nocm9tZS1saXZlLXVwZGF0ZS1zdGRlcnIudHh0VVQFAAOUFzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA8Xl6ScJBYokdAAAAdgEAADsAGAAAAAAAAQAAAKSBqHkJAGZhc3QvbWVkaWEvbXEt
cHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1saXZlLXVwZGF0ZS1zdGRlcnIudHh0VVQFAAOVFzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA8Hl6SQAAAAAAAAAAAAAAABEAGAAAAAAAAAAQAO1BOnoJ
AGZhc3QvbWVkaWFzdHJlYW0vVVQFAAOUFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7Xl6
Sek+08SdAAAAtAAAAEAAGAAAAAAAAQAAAKSBhXoJAGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW0tdmlkZW8tZWxlbWVudC10cmFjay1zdG9wLXN0ZGVyci50eHRVVAUAA44XOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADueXpJrt9gDJ0AAAC0AAAASwAYAAAAAAABAAAApIGcewkAZmFzdC9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1lbGVtZW50LXZpZGVvLXRyYWNrcy1kaXNhYmxl
ZC1zdGRlcnIudHh0VVQFAAOPFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7Xl6ScKz3WCd
AAAAtAAAAFgAGAAAAAAAAQAAAKSBvnwJAGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tdmlk
ZW8tZWxlbWVudC12aWRlby10cmFja3MtZGlzYWJsZWQtdGhlbi1lbmFibGVkLXN0ZGVyci50eHRV
VAUAA44XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADueXpJaZD3VZwAAAC0AAAAMgAYAAAA
AAABAAAApIHtfQkAZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNvbnN0cnVjdG9yLXN0ZGVy
ci50eHRVVAUAA48XOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADweXpJzVrw+54AAAC0AAAA
MwAYAAAAAAABAAAApIH1fgkAZmFzdC9tZWRpYXN0cmVhbS9hcHBseS1jb25zdHJhaW50cy1hdWRp
by1zdGRlcnIudHh0VVQFAAOUFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8Hl6SbM2aCKd
AAAAtAAAACoAGAAAAAAAAQAAAKSBAIAJAGZhc3QvbWVkaWFzdHJlYW0vYXJndW1lbnQtdHlwZXMt
c3RkZXJyLnR4dFVUBQADlBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPB5ekkAAAAAAAAA
AAAAAAAMABgAAAAAAAAAEADtQQGBCQBmYXN0L3BhcnNlci9VVAUAA5MXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADweXpJ+7CU2mgAAABrAAAAJAAYAAAAAAABAAAApIFHgQkAZmFzdC9wYXJz
ZXIvYmFkLXhtbC1zbGFzaC1zdGRlcnIudHh0VVQFAAOTFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAA93l6SQAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BDYIJAGZhc3QvcmVnaW9ucy9VVAUA
A6EXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD3eXpJAAAAAAAAAAAAAAAAFwAYAAAAAAAA
ABAA7UFUggkAZmFzdC9yZWdpb25zL3Njcm9sbGluZy9VVAUAA6IXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAD3eXpJOQHL3UAAAAB6AAAANQAYAAAAAAABAAAApIGlggkAZmFzdC9yZWdpb25z
L3Njcm9sbGluZy93aGVlbC1zY3JvbGwtYWJzcG9zLXN0ZGVyci50eHRVVAUAA6EXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAD3eXpJOQHL3UAAAAB6AAAALgAYAAAAAAABAAAApIFUgwkAZmFz
dC9yZWdpb25zL3Njcm9sbGluZy93aGVlbC1zY3JvbGwtc3RkZXJyLnR4dFVUBQADoRc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAPd5eknkisdDPAAAAD0AAABAABgAAAAAAAEAAACkgfyDCQBm
YXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbGFibGUtc2luZ2xlLXJlZ2lvbi1zdGRl
cnIudHh0VVQFAAOiFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA/Hl6SQAAAAAAAAAAAAAA
AAkAGAAAAAAAAAAQAO1BsoQJAGZhc3QveHNsL1VUBQADrBc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAPx5ekly/WXyhQAAAOkAAAAlABgAAAAAAAEAAACkgfWECQBmYXN0L3hzbC90cmFuc2Zv
cm0teGhyLWRvYy1zdGRlcnIudHh0VVQFAAOrFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
/Hl6Sc4JKAKNAAAA8AAAACcAGAAAAAAAAQAAAKSB2YUJAGZhc3QveHNsL3hzbHQtYmFkLWltcG9y
dC11cmktc3RkZXJyLnR4dFVUBQADqxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPx5eknP
j2YOUAAAAKAAAAAkABgAAAAAAAEAAACkgceGCQBmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0
ZGVyci50eHRVVAUAA6sXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD8eXpJgUp3rUsAAACs
AAAANAAYAAAAAAABAAAApIF1hwkAZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQt
Y3Jhc2gtc3RkZXJyLnR4dFVUBQADrBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABZ8eklL
C1wF3AIAAJgIAAARABgAAAAAAAEAAACkgS6ICQBmdWxsX3Jlc3VsdHMuanNvblVUBQADmxs6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAF6ekkAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQVWL
CQBodHRwL1VUBQADsRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAd6ekkAAAAAAAAAAAAA
AAALABgAAAAAAAAAEADtQZSLCQBodHRwL3Rlc3RzL1VUBQADvhc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAAN6ekkAAAAAAAAAAAAAAAARABgAAAAAAAAAEADtQdmLCQBodHRwL3Rlc3RzL2Nh
Y2hlL1VUBQADtRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAN6ekkMy5oufwAAABEBAAAw
ABgAAAAAAAEAAACkgSSMCQBodHRwL3Rlc3RzL2NhY2hlL21lbW9yeS1jYWNoZS1wcnVuaW5nLXN0
ZGVyci50eHRVVAUAA7UXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAABenpJAAAAAAAAAAAA
AAAAEgAYAAAAAAAAABAA7UENjQkAaHR0cC90ZXN0cy9jYW52YXMvVVQFAAOxFzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAAXp6SQAAAAAAAAAAAAAAABgAGAAAAAAAAAAQAO1BWY0JAGh0dHAv
dGVzdHMvY2FudmFzL3dlYmdsL1VUBQADsRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAF6
ekkKqhjLewAAAK4AAAA7ABgAAAAAAAEAAACkgauNCQBodHRwL3Rlc3RzL2NhbnZhcy93ZWJnbC9v
cmlnaW4tY2xlYW4tY29uZm9ybWFuY2Utc3RkZXJyLnR4dFVUBQADsRc6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAAJ6ekkAAAAAAAAAAAAAAAAXABgAAAAAAAAAEADtQZuOCQBodHRwL3Rlc3Rz
L2V2ZW50c291cmNlL1VUBQADtBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAAJ6ekmTBtcy
AQAAAAEAAABNABgAAAAAAAEAAACkgeyOCQBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291
cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtYWN0dWFsLnR4dFVUBQADsxc6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAJ6eklPoh0Q0AAAAJ4BAABLABgAAAAAAAEAAACkgXSP
CQBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2
aWdhdGUtY3Jhc2gtZGlmZi50eHRVVAUAA7MXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAC
enpJkRMGXlwAAABmAAAATwAYAAAAAAABAAAApIHJkAkAaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9l
dmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5nLW5hdmlnYXRlLWNyYXNoLWV4cGVjdGVkLnR4dFVU
BQADsxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAJ6ekn+93KokAcAAHwXAABTABgAAAAA
AAEAAACkga6RCQBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1k
dXJpbmctbmF2aWdhdGUtY3Jhc2gtcHJldHR5LWRpZmYuaHRtbFVUBQADtBc6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAAJ6eklWkbNHZQAAAG0AAAA9ABgAAAAAAAEAAACkgcuZCQBodHRwL3Rl
c3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1hY3R1YWwudHh0VVQF
AAO0FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAnp6SciGNGPhAAAArwEAADsAGAAAAAAA
AQAAAKSBp5oJAGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lz
aW9uLWRpZmYudHh0VVQFAAO0FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAnp6SYcAMMhn
AAAAdgAAAD8AGAAAAAAAAQAAAKSB/ZsJAGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcmV0cnktcHJlY2lzaW9uLWV4cGVjdGVkLnR4dFVUBQADtBc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAJ6eklmhg6i8gcAAKoaAABDABgAAAAAAAEAAACkgd2cCQBodHRwL3Rlc3RzL2V2
ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5LXByZWNpc2lvbi1wcmV0dHktZGlmZi5odG1sVVQF
AAO0FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAABHp6SQAAAAAAAAAAAAAAABUAGAAAAAAA
AAAQAO1BTKUJAGh0dHAvdGVzdHMvaW5zcGVjdG9yL1VUBQADtxc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAAR6ekkAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQZulCQBodHRwL3Rlc3RzL2lu
c3BlY3Rvci9uZXR3b3JrL1VUBQADtxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAR6eknr
1YXl2QcAAHYrAAA3ABgAAAAAAAEAAACkgfKlCQBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3Jr
L3Jlc291cmNlLXRpbWluZy1zdGRlcnIudHh0VVQFAAO3FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAADnp6SQAAAAAAAAAAAAAAABEAGAAAAAAAAAAQAO1BPK4JAGh0dHAvdGVzdHMvbWVkaWEv
VVQFAAPMFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAABHp6SQAAAAAAAAAAAAAAABoAGAAA
AAAAAAAQAO1Bh64JAGh0dHAvdGVzdHMvbWVkaWEvY2xlYXJrZXkvVVQFAAO4FzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgABHp6Sc2BAau4AAAAlQEAADkAGAAAAAAAAQAAAKSB264JAGh0dHAv
dGVzdHMvbWVkaWEvY2xlYXJrZXkvY2xlYXIta2V5LWhscy1hZXMxMjgtc3RkZXJyLnR4dFVUBQAD
uBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAl6ekkAAAAAAAAAAAAAAAAVABgAAAAAAAAA
EADtQQawCQBodHRwL3Rlc3RzL21lZGlhL2hscy9VVAUAA8EXOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAFenpJ4PEP72YBAABHAwAAQAAYAAAAAAABAAAApIFVsAkAaHR0cC90ZXN0cy9tZWRp
YS9obHMvaGxzLWFjY2Vzc2libGl0eS1kZXNjcmliZXMtdmlkZW8tc3RkZXJyLnR4dFVUBQADuhc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAZ6eknCG3EQVwEAAPwCAAA6ABgAAAAAAAEAAACk
gTWyCQBodHRwL3Rlc3RzL21lZGlhL2hscy9obHMtYXVkaW8tdHJhY2tzLWhhcy1hdWRpby1zdGRl
cnIudHh0VVQFAAO7FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABnp6SSoG6AdSAQAA/AIA
AEEAGAAAAAAAAQAAAKSBALQJAGh0dHAvdGVzdHMvbWVkaWEvaGxzL2hscy1hdWRpby10cmFja3Mt
bG9jYWxlLXNlbGVjdGlvbi1zdGRlcnIudHh0VVQFAAO7FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgABnp6SdwHRM1ZAQAA/AIAADAAGAAAAAAAAQAAAKSBzbUJAGh0dHAvdGVzdHMvbWVkaWEv
aGxzL2hscy1hdWRpby10cmFja3Mtc3RkZXJyLnR4dFVUBQADvBc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAZ6ekkamcTWsQAAAJUBAAAsABgAAAAAAAEAAACkgZC3CQBodHRwL3Rlc3RzL21l
ZGlhL2hscy9obHMtcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUBQADvBc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAZ6ekmZnNuesAAAAJUBAAAwABgAAAAAAAEAAACkgae4CQBodHRwL3Rlc3RzL21l
ZGlhL2hscy9obHMtdmlkZW8tcmVzaXplLXN0ZGVyci50eHRVVAUAA7wXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAHenpJ+owV874AAAAqAwAAPQAYAAAAAAABAAAApIHBuQkAaHR0cC90ZXN0
cy9tZWRpYS9obHMvdmlkZW8tY29udHJvbGxlci1nZXRTdGFydERhdGUtc3RkZXJyLnR4dFVUBQAD
vRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAd6ekl/Wape/AAAAIcDAAA6ABgAAAAAAAEA
AACkgfa6CQBodHRwL3Rlc3RzL21lZGlhL2hscy92aWRlby1jb250cm9scy1saXZlLXN0cmVhbS1z
dGRlcnIudHh0VVQFAAO9FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACHp6ST7MEZgtAAAA
LgAAADwAGAAAAAAAAQAAAKSBZrwJAGh0dHAvdGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWR1cmF0aW9u
LWFjY2Vzc2liaWxpdHktYWN0dWFsLnR4dFVUBQADwBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAh6ekmmV9mXNAEAAMgDAAA6ABgAAAAAAAEAAACkgQm9CQBodHRwL3Rlc3RzL21lZGlhL2hs
cy92aWRlby1kdXJhdGlvbi1hY2Nlc3NpYmlsaXR5LWRpZmYudHh0VVQFAAPAFzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgACHp6SZGfzR+uAAAAfgIAAD4AGAAAAAAAAQAAAKSBsb4JAGh0dHAv
dGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWR1cmF0aW9uLWFjY2Vzc2liaWxpdHktZXhwZWN0ZWQudHh0
VVQFAAPAFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACXp6SYV0SmBoCAAAniQAAEIAGAAA
AAAAAQAAAKSB178JAGh0dHAvdGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWR1cmF0aW9uLWFjY2Vzc2li
aWxpdHktcHJldHR5LWRpZmYuaHRtbFVUBQADwRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AAh6ekkM2jqQOAEAAGoCAAA8ABgAAAAAAAEAAACkgbvICQBodHRwL3Rlc3RzL21lZGlhL2hscy92
aWRlby1kdXJhdGlvbi1hY2Nlc3NpYmlsaXR5LXN0ZGVyci50eHRVVAUAA8AXOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAFenpJAIZlFHwAAACuAAAAMgAYAAAAAAABAAAApIFpygkAaHR0cC90
ZXN0cy9tZWRpYS9tZWRpYS1kb2N1bWVudC1yZWZlcmVyLXN0ZGVyci50eHRVVAUAA7kXOlh1eAsA
AQT1AQAABBQAAABQSwECHgMKAAIAAAAFenpJYyAwSGMAAABjAAAAKgAYAAAAAAABAAAApIFRywkA
aHR0cC90ZXN0cy9tZWRpYS9tZWRpYS1kb2N1bWVudC1zdGRlcnIudHh0VVQFAAO6FzpYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgACAAAABnp6SeL8sUNjAAAAYwAAADkAGAAAAAAAAQAAAKSBGMwJAGh0
dHAvdGVzdHMvbWVkaWEvbWVkaWEtcGxheS1zdHJlYW0tY2h1bmtlZC1pY3ktc3RkZXJyLnR4dFVU
BQADvBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAZ6ekkAAAAAAAAAAAAAAAAnABgAAAAA
AAAAEADtQe7MCQBodHRwL3Rlc3RzL21lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9VVAUAA7sX
Olh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAGenpJAAAAAAAAAAAAAAAANgAYAAAAAAAAABAA
7UFPzQkAaHR0cC90ZXN0cy9tZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvc3RhdHVzLXN1cHBv
cnQvVVQFAAO7FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABnp6ST1FC/QNAQAA0gMAAF4A
GAAAAAAAAQAAAKSBv80JAGh0dHAvdGVzdHMvbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3N0
YXR1cy1zdXBwb3J0L3N0YXR1cy1zdXBwb3J0LWxpdmUtYnJvYWRjYXN0LXN0ZGVyci50eHRVVAUA
A7sXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAGenpJaopyh+0AAABfAQAALQAYAAAAAAAB
AAAApIFkzwkAaHR0cC90ZXN0cy9tZWRpYS9wZGYtc2VydmVkLWFzLXBkZi1zdGRlcnIudHh0VVQF
AAO8FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAB3p6SeBFslRjAAAAYwAAAC8AGAAAAAAA
AQAAAKSBuNAJAGh0dHAvdGVzdHMvbWVkaWEvcmVsb2FkLWFmdGVyLWRpYWxvZy1zdGRlcnIudHh0
VVQFAAO9FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACHp6SUSyK+jpAAAAWgEAAC8AGAAA
AAAAAQAAAKSBhNEJAGh0dHAvdGVzdHMvbWVkaWEvdGV4dC1zZXJ2ZWQtYXMtdGV4dC1zdGRlcnIu
dHh0VVQFAAPAFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACXp6SaF04FsPAQAA8gMAACYA
GAAAAAAAAQAAAKSB1tIJAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tYXV0aC1zdGRlcnIudHh0VVQF
AAPCFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAACnp6SWvEPhRjAAAAYwAAAC0AGAAAAAAA
AQAAAKSBRdQJAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tZXJyb3ItYWJvcnQtc3RkZXJyLnR4dFVU
BQADwxc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAp6ekmNu7RhtAAAACMBAAA2ABgAAAAA
AAEAAACkgQ/VCQBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWVycm9yLWRvZXMtbm90LWV4aXN0LXN0
ZGVyci50eHRVVAUAA8MXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKenpJG6eB+WgAAADG
AAAALAAYAAAAAAABAAAApIEz1gkAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1sb2FkLXR3aWNlLXN0
ZGVyci50eHRVVAUAA8MXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAAKenpJnHCdPGMAAABj
AAAALwAYAAAAAAABAAAApIEB1wkAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1wbGF5LXByb2dyZXNz
LXN0ZGVyci50eHRVVAUAA8QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANenpJ9fQuPGwA
AADGAAAAKgAYAAAAAAABAAAApIHN1wkAaHR0cC90ZXN0cy9tZWRpYS92aWRlby1yZWRpcmVjdC1z
dGRlcnIudHh0VVQFAAPKFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAADnp6SZSUk2BjAAAA
YwAAACsAGAAAAAAAAQAAAKSBndgJAGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tdXNlcmFnZW50LXN0
ZGVyci50eHRVVAUAA8wXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAqenpJAAAAAAAAAAAA
AAAAEAAYAAAAAAAAABAA7UFl2QkAaHR0cC90ZXN0cy9taXNjL1VUBQADABg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAAV6ekkAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQa/ZCQBodHRwL3Rl
c3RzL21pc2MvYXV0aGVudGljYXRpb24tcmVkaXJlY3QtMi9VVAUAA7kXOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAFenpJ88YIR54AAAC0AAAAYAAYAAAAAAABAAAApIET2gkAaHR0cC90ZXN0
cy9taXNjL2F1dGhlbnRpY2F0aW9uLXJlZGlyZWN0LTIvYXV0aGVudGljYXRpb24tc2VudC10by1y
ZWRpcmVjdC1zYW1lLW9yaWdpbi1zdGRlcnIudHh0VVQFAAO5FzpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAC3p6SRZKYDLVAAAAFwEAAD8AGAAAAAAAAQAAAKSBS9sJAGh0dHAvdGVzdHMvbWlz
Yy9kZWxldGUtZnJhbWUtZHVyaW5nLXJlYWR5c3RhdGVjaGFuZ2Utc3RkZXJyLnR4dFVUBQADxRc6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAp6eknmrfcQ1QAAABcBAABbABgAAAAAAAEAAACk
gZncCQBodHRwL3Rlc3RzL21pc2MvZGVsZXRlLWZyYW1lLWR1cmluZy1yZWFkeXN0YXRlY2hhbmdl
LXdpdGgtZ2MtYWZ0ZXItdmlkZW8tcmVtb3ZhbC1zdGRlcnIudHh0VVQFAAPEFzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAKnp6SRU1NZJ6AAAAvAAAACoAGAAAAAAAAQAAAKSBA94JAGh0dHAv
dGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUBQADABg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAAd6ekkAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQeHeCQBodHRwL3Rl
c3RzL25hdmlnYXRpb24vVVQFAAO9FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAB3p6SdsI
00I7AAAAPwAAADcAGAAAAAAAAQAAAKSBMd8JAGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9mYWxsYmFj
ay1hbmNob3ItcmVsb2FkLXN0ZGVyci50eHRVVAUAA70XOlh1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAkenpJAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UHd3wkAaHR0cC90ZXN0cy9zZWN1cml0
eS9VVAUAA/MXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJenpJDfRkM3wAAACuAAAAVQAY
AAAAAAABAAAApIEr4AkAaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVtb3RlLXJlYWQtcmVt
b3RlLXZpZGVvLWJsb2NrZWQtbm8tY3Jvc3NvcmlnaW4tc3RkZXJyLnR4dFVUBQADwhc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAgAAAAl6eknO4LuDYwAAAGMAAABIABgAAAAAAAEAAACkgTbhCQBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NhbnZhcy1yZW1vdGUtcmVhZC1yZW1vdGUtdmlkZW8tbG9jYWxo
b3N0LXN0ZGVyci50eHRVVAUAA8IXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAAKenpJTzw6
iGMAAABjAAAARwAYAAAAAAABAAAApIEb4gkAaHR0cC90ZXN0cy9zZWN1cml0eS9jYW52YXMtcmVt
b3RlLXJlYWQtcmVtb3RlLXZpZGVvLXJlZGlyZWN0LXN0ZGVyci50eHRVVAUAA8MXOlh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAAUenpJAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UH/4gkAaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAPYFzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgACAAAACXp6STJBTzVjAAAAYwAAAEsAGAAAAAAAAQAAAKSBY+MJAGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2F1ZGlvLXJlZGlyZWN0LWFsbG93
ZWQtc3RkZXJyLnR4dFVUBQADwRc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAd6ekmT4KNR
zwAAADwBAABMABgAAAAAAAEAAACkgUvkCQBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9hdWRpby1yZWRpcmVjdC1hbGxvd2VkMi1zdGRlcnIudHh0VVQFAAO+FzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACXp6SRQqZlumAAAAigEAAFgAGAAAAAAAAQAAAKSBoOUJ
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Jsb2ItdXJsLWRvZXMt
bm90LW1hdGNoLXNvdXJjZS1zZWxmLXN0ZGVyci50eHRVVAUAA8EXOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAAAJenpJAAAAAAAAAAAAAAAARAAYAAAAAAAAABAA7UHY5gkAaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy9V
VAUAA8IXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJenpJe1A/z+kAAAAmAwAAeQAYAAAA
AAABAAAApIFW5wkAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBn
cmFkZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLWluc2VjdXJlLWF1ZGlvLXZpZGVvLWluLW1h
aW4tZnJhbWUtc3RkZXJyLnR4dFVUBQADwhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAl6
ekkAAAAAAAAAAAAAAAA9ABgAAAAAAAAAEADtQfLoCQBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS91c2VyQWdlbnRTaGFkb3dET00vVVQFAAPCFzpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgACHp6SSS19vS7AAAA8QAAAFMAGAAAAAAAAQAAAKSBaekJAGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9hbGxv
dy1hdWRpby1zdGRlcnIudHh0VVQFAAPAFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAACXp6
Sd5TuKFjAAAAYwAAAFMAGAAAAAAAAQAAAKSBseoJAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9hbGxvdy12aWRlby1zdGRlcnIudHh0
VVQFAAPCFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAE3p6SSjQ3bVjAAAAYwAAAEsAGAAA
AAAAAQAAAKSBoesJAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Zp
ZGVvLXJlZGlyZWN0LWFsbG93ZWQtc3RkZXJyLnR4dFVUBQAD1hc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAgAAABN6ekko0N21YwAAAGMAAABMABgAAAAAAAEAAACkgYnsCQBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS92aWRlby1yZWRpcmVjdC1hbGxvd2VkMi1zdGRl
cnIudHh0VVQFAAPWFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAFHp6SakMXL5jAAAAYwAA
AGYAGAAAAAAAAQAAAKSBcu0JAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3ZpZGVvLXdpdGgtaHR0cC11cmwtYWxsb3dlZC1ieS1jc3AtbWVkaWEtc3JjLXN0YXItc3Rk
ZXJyLnR4dFVUBQAD1xc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABR6ekljqqxsggAAAKgA
AABAABgAAAAAAAEAAACkgXXuCQBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAPYFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAFHp6SWOqrGyCAAAAqAAAAFIAGAAAAAAAAQAAAKSBce8JAGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0
ZGVyci50eHRVVAUAA9gXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAAbenpJLqJ0xGMAAABj
AAAAPQAYAAAAAAABAAAApIF/8AkAaHR0cC90ZXN0cy9zZWN1cml0eS9sb2NhbC12aWRlby1zb3Vy
Y2UtZnJvbS1yZW1vdGUtc3RkZXJyLnR4dFVUBQAD5Rc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAAp6ekkAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQVnxCQBodHRwL3Rlc3RzL3NlY3VyaXR5
L21peGVkQ29udGVudC9VVAUAA8MXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKenpJbz2W
jn4AAAARAQAATgAYAAAAAAABAAAApIG08QkAaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRl
bnQvaW5zZWN1cmUtYXVkaW8tdmlkZW8taW4tbWFpbi1mcmFtZS1zdGRlcnIudHh0VVQFAAPDFzpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAInp6SdwdSMpsAAAAxgAAADkAGAAAAAAAAQAAAKSB
uvIJAGh0dHAvdGVzdHMvc2VjdXJpdHkvdmlkZW8tY3Jvc3Mtb3JpZ2luLWNhY2hpbmctc3RkZXJy
LnR4dFVUBQAD7xc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACJ6ekny/k/ZtQAAACcBAAA+
ABgAAAAAAAEAAACkgZnzCQBodHRwL3Rlc3RzL3NlY3VyaXR5L3ZpZGVvLXBvc3Rlci1jcm9zcy1v
cmlnaW4tY3Jhc2gtc3RkZXJyLnR4dFVUBQAD8Bc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ACR6eklgS2YQkQAAAPsBAABFABgAAAAAAAEAAACkgcb0CQBodHRwL3Rlc3RzL3NlY3VyaXR5L3hz
cy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAUAA/MXOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABDe3pJWwRYDqIFAABNEAAACgAYAAAAAAABAAAApIHW
9QkAaHR0cGQuY29uZlVUBQADDRo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAA56ekkAAAAA
AAAAAAAAAAANABgAAAAAAAAAEADtQbz7CQBpZXRlc3RjZW50ZXIvVVQFAAPMFzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAADnp6SQAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BA/wJAGlldGVz
dGNlbnRlci9jc3MzL1VUBQADzBc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAA56ekkAAAAA
AAAAAAAAAAAeABgAAAAAAAAAEADtQU/8CQBpZXRlc3RjZW50ZXIvY3NzMy9tdWx0aWNvbHVtbi9V
VAUAA8wXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAOenpJaUB22b4AAADyBgAATAAYAAAA
AAABAAAApIGn/AkAaWV0ZXN0Y2VudGVyL2NzczMvbXVsdGljb2x1bW4vY29sdW1uLWJsb2NrLWZv
cm1hdHRpbmctY29udGV4dC0wMDEtc3RkZXJyLnR4dFVUBQADzBc6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAACR6ekkAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQev9CQBpbXBvcnRlZC9VVAUA
A/QXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABVenpJAAAAAAAAAAAAAAAADwAYAAAAAAAA
ABAA7UEu/gkAaW1wb3J0ZWQvYmxpbmsvVVQFAANSGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAE3p6SQAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1Bd/4JAGltcG9ydGVkL2JsaW5rL2Zhc3Qv
VVQFAAPVFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAE3p6SQAAAAAAAAAAAAAAABoAGAAA
AAAAAAAQAO1Bxf4JAGltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvVVQFAAPVFzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAE3p6SQAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1BGf8JAGltcG9y
dGVkL2JsaW5rL2Zhc3QvZm9ybXMvYnV0dG9uL1VUBQAD1Rc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIABN6eknHIe/bNwAAAEAAAABHABgAAAAAAAEAAACkgXT/CQBpbXBvcnRlZC9ibGluay9m
YXN0L2Zvcm1zL2J1dHRvbi9idXR0b24tcmVzZXQtZm9jdXMtYnktbW91c2Utc3RkZXJyLnR4dFVU
BQAD1Rc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABN6ekkAAAAAAAAAAAAAAAAgABgAAAAA
AAAAEADtQSwACgBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL3JhbmdlL1VUBQAD1Rc6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIABN6eknHIe/bNwAAAEAAAAA/ABgAAAAAAAEAAACkgYYACgBp
bXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL3JhbmdlL3JhbmdlLWZvY3VzLWJ5LW1vdXNlLXN0ZGVy
ci50eHRVVAUAA9UXOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAATenpJAAAAAAAAAAAAAAAA
IQAYAAAAAAAAABAA7UE2AQoAaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9zdWJtaXQvVVQFAAPV
FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAE3p6Scch79s3AAAAQAAAAEEAGAAAAAAAAQAA
AKSBkQEKAGltcG9ydGVkL2JsaW5rL2Zhc3QvZm9ybXMvc3VibWl0L3N1Ym1pdC1mb2N1cy1ieS1t
b3VzZS1zdGRlcnIudHh0VVQFAAPVFzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAVXp6SQAA
AAAAAAAAAAAAABcAGAAAAAAAAAAQAO1BQwIKAGltcG9ydGVkL2JsaW5rL3N0b3JhZ2UvVVQFAANS
GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAVXp6SQAAAAAAAAAAAAAAACEAGAAAAAAAAAAQ
AO1BlAIKAGltcG9ydGVkL2JsaW5rL3N0b3JhZ2UvaW5kZXhlZGRiL1VUBQADUhg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAFV6ekm8eQbxfgAAAIcAAABEABgAAAAAAAEAAACkge8CCgBpbXBv
cnRlZC9ibGluay9zdG9yYWdlL2luZGV4ZWRkYi9ibG9iLXZhbGlkLWJlZm9yZS1jb21taXQtYWN0
dWFsLnR4dFVUBQADUhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFV6ekkyBYeDDwIAAEsE
AABCABgAAAAAAAEAAACkgesDCgBpbXBvcnRlZC9ibGluay9zdG9yYWdlL2luZGV4ZWRkYi9ibG9i
LXZhbGlkLWJlZm9yZS1jb21taXQtZGlmZi50eHRVVAUAA1IYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABVenpJoI1ZsUIBAACIAgAARgAYAAAAAAABAAAApIF2BgoAaW1wb3J0ZWQvYmxpbmsv
c3RvcmFnZS9pbmRleGVkZGIvYmxvYi12YWxpZC1iZWZvcmUtY29tbWl0LWV4cGVjdGVkLnR4dFVU
BQADUhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFV6ekm+X5HYUgkAAOkmAABKABgAAAAA
AAEAAACkgTgICgBpbXBvcnRlZC9ibGluay9zdG9yYWdlL2luZGV4ZWRkYi9ibG9iLXZhbGlkLWJl
Zm9yZS1jb21taXQtcHJldHR5LWRpZmYuaHRtbFVUBQADUhg6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAFV6ekl9ivFNXAAAAF4AAABEABgAAAAAAAEAAACkgQ4SCgBpbXBvcnRlZC9ibGluay9z
dG9yYWdlL2luZGV4ZWRkYi9ibG9iLXZhbGlkLWJlZm9yZS1jb21taXQtc3RkZXJyLnR4dFVUBQAD
Uhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFZ6ekkAAAAAAAAAAAAAAAANABgAAAAAAAAA
EADtQegSCgBpbXBvcnRlZC93M2MvVVQFAANTGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
Vnp6SQAAAAAAAAAAAAAAACgAGAAAAAAAAAAQAO1BLxMKAGltcG9ydGVkL3czYy9JbmRleGVkREIt
cHJpdmF0ZS1icm93c2luZy9VVAUAA1MYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABWenpJ
AMh4MH4AAACHAAAAQwAYAAAAAAABAAAApIGREwoAaW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2
YXRlLWJyb3dzaW5nL2lkYmZhY3Rvcnlfb3BlbjktYWN0dWFsLnR4dFVUBQADUxg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAFZ6eklPKgdhnAEAAPkGAABBABgAAAAAAAEAAACkgYwUCgBpbXBv
cnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcvaWRiZmFjdG9yeV9vcGVuOS1kaWZm
LnR4dFVUBQADUxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFZ6ekmQ7ggrugAAADYFAABF
ABgAAAAAAAEAAACkgaMWCgBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Npbmcv
aWRiZmFjdG9yeV9vcGVuOS1leHBlY3RlZC50eHRVVAUAA1MYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABWenpJOYVda8oIAABrKgAASQAYAAAAAAABAAAApIHcFwoAaW1wb3J0ZWQvdzNjL0lu
ZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmZhY3Rvcnlfb3BlbjktcHJldHR5LWRpZmYuaHRt
bFVUBQADUxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFZ6eknyU6xzVAAAAFkAAABDABgA
AAAAAAEAAACkgSkhCgBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcvaWRi
ZmFjdG9yeV9vcGVuOS1zdGRlcnIudHh0VVQFAANTGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAJHp6SQAAAAAAAAAAAAAAABoAGAAAAAAAAAAQAO1B+iEKAGltcG9ydGVkL3czYy9XZWJDcnlw
dG9BUEkvVVQFAAP0FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAALHp6SQAAAAAAAAAAAAAA
ACYAGAAAAAAAAAAQAO1BTiIKAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkv
VVQFAAMEGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJHp6SeGChuhJAAAAYAwAAD4AGAAA
AAAAAQAAAKSBriIKAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9m
YWlsdXJlcy1zdGRlcnIudHh0VVQFAAP0FzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKXp6
SY80GnBEAAAAoAkAAEcAGAAAAAAAAQAAAKSBbyMKAGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkv
Z2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0EtT0FFUC1zdGRlcnIudHh0VVQFAAP+FzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALHp6SVQCybI2AAAAwAIAAFAAGAAAAAAAAQAAAKSBNCQK
AGltcG9ydGVkL3czYy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0FT
U0EtUEtDUzEtdjFfNS1zdGRlcnIudHh0VVQFAAMEGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAUXp6SQAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1B9CQKAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvVVQFAANKGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAALXp6SQAAAAAA
AAAAAAAAACoAGAAAAAAAAAAQAO1BTiUKAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL1VUBQADBhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC16ekl1/AZOawAA
AHoAAABTABgAAAAAAAEAAACkgbIlCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9hYm9ydC1pbi1pbml0aWFsLXVwZ3JhZGVuZWVkZWQtYWN0dWFsLnR4dFVUBQADBhg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC16eklNrV0e9QAAABECAABRABgAAAAAAAEAAACk
gaomCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9hYm9ydC1pbi1p
bml0aWFsLXVwZ3JhZGVuZWVkZWQtZGlmZi50eHRVVAUAAwYYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAtenpJ4gbLVEkAAABPAAAAVQAYAAAAAAABAAAApIEqKAoAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvYWJvcnQtaW4taW5pdGlhbC11cGdyYWRlbmVlZGVk
LWV4cGVjdGVkLnR4dFVUBQADBhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC16ekmyn0hK
FggAAOUbAABZABgAAAAAAAEAAACkgQIpCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9hYm9ydC1pbi1pbml0aWFsLXVwZ3JhZGVuZWVkZWQtcHJldHR5LWRpZmYuaHRt
bFVUBQADBhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACh6ekkAAAAAAAAAAAAAAAAmABgA
AAAAAAAAEADtQasxCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL1VUBQAD
+xc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEJ6ekkAAAAAAAAAAAAAAAAqABgAAAAAAAAA
EADtQQsyCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9VVAUAAysY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABCenpJAAAAAAAAAAAAAAAAMAAYAAAAAAAAABAA
7UFvMgoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvVVQF
AAMrGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAQnp6ST1I2GuOAAAAoAAAAEcAGAAAAAAA
AQAAAKSB2TIKAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2lj
L21vZGUtbm8tY29ycy1zdGRlcnIudHh0VVQFAAMrGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAQnp6SXJWqMqOAAAAoAAAAE4AGAAAAAAAAQAAAKSB6DMKAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL21vZGUtbm8tY29ycy13b3JrZXItc3RkZXJyLnR4
dFVUBQADKxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACl6ekkAAAAAAAAAAAAAAAAvABgA
AAAAAAAAEADtQf40CgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9j
b3JzL1VUBQAD/Rc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACh6eklgTMDtpwAAAMADAABE
ABgAAAAAAAEAAACkgWc1CgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9jb3JzL2NvcnMtYmFzaWMtc3RkZXJyLnR4dFVUBQAD+xc6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIACh6ekmJxqnMqAAAAMADAABLABgAAAAAAAEAAACkgYw2CgBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtYmFzaWMtd29ya2VyLXN0ZGVyci50
eHRVVAUAA/sXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAoenpJOhDWaJgAAABAAQAASwAY
AAAAAAABAAAApIG5NwoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
Y29ycy9jb3JzLW5vLXByZWZsaWdodC1zdGRlcnIudHh0VVQFAAP8FzpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAKHp6SeNvwwqYAAAAQAEAAFIAGAAAAAAAAQAAAKSB1jgKAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1uby1wcmVmbGlnaHQtd29y
a2VyLXN0ZGVyci50eHRVVAUAA/wXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAApenpJxZR5
7KAAAACAAgAARQAYAAAAAAABAAAApIH6OQoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycy9jb3JzLW9yaWdpbi1zdGRlcnIudHh0VVQFAAP9FzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAKXp6SeolwyOiAAAAgAIAAEwAGAAAAAAAAQAAAKSBGTsKAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1vcmlnaW4td29y
a2VyLXN0ZGVyci50eHRVVAUAA/0XOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABEenpJAAAA
AAAAAAAAAAAAJQAYAAAAAAAAABAA7UFBPAoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL1VUBQADLxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEF6ekkAAAAAAAAAAAAA
AAApABgAAAAAAAAAEADtQaA8CgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
ZG9tL1VUBQADKRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEF6ekn+hYDFwQAAAE4CAABH
ABgAAAAAAAEAAACkgQM9CgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9t
L3JlZmxlY3Rpb24tZW1iZWRkZWQtc3RkZXJyLnR4dFVUBQADKRg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAER6ekkAAAAAAAAAAAAAAAAvABgAAAAAAAAAEADtQUU+CgBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL1VUBQADLxg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAEZ6ekkAAAAAAAAAAAAAAABAABgAAAAAAAAAEADtQa4+CgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvVVQF
AAM0GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAS3p6SQAAAAAAAAAAAAAAAE8AGAAAAAAA
AAAQAO1BKD8KAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9VVAUAAz4YOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABEenpJBS/vUGgAAADGAAAAZwAYAAAAAAABAAAApIGxPwoAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlh
LWVsZW1lbnRzL2V2ZW50X2NhbnBsYXktc3RkZXJyLnR4dFVUBQADLxg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAER6ekkBf4quaAAAAMYAAAByABgAAAAAAAEAAACkgbpACgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVk
aWEtZWxlbWVudHMvZXZlbnRfY2FucGxheV9ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAUAAy8YOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABEenpJAX+KrmgAAADGAAAAbgAYAAAAAAABAAAApIHO
QQoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2NhbnBsYXl0aHJvdWdoLXN0ZGVyci50eHRV
VAUAAy8YOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABEenpJ+lzNpmgAAADGAAAAeQAYAAAA
AAABAAAApIHeQgoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X2NhbnBsYXl0aHJvdWdoX25v
YXV0b3BsYXktc3RkZXJyLnR4dFVUBQADMBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAER6
ekn6XM2maAAAAMYAAABqABgAAAAAAAEAAACkgflDCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZl
bnRfbG9hZGVkZGF0YS1zdGRlcnIudHh0VVQFAAMwGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgARXp6SfpczaZoAAAAxgAAAHUAGAAAAAAAAQAAAKSBBUUKAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50
cy9ldmVudF9sb2FkZWRkYXRhX25vYXV0b3BsYXktc3RkZXJyLnR4dFVUBQADMRg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAEV6ekn+DKhYaAAAAMYAAABuABgAAAAAAAEAAACkgRxGCgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRl
bnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZGVkbWV0YWRhdGEtc3RkZXJyLnR4dFVUBQADMRg6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEV6ekn+DKhYaAAAAMYAAAB5ABgAAAAAAAEAAACk
gSxHCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVk
ZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfbG9hZGVkbWV0YWRhdGFfbm9hdXRvcGxh
eS1zdGRlcnIudHh0VVQFAAMxGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgARXp6SR0Gk5Vt
AAAAxgAAAGkAGAAAAAAAAQAAAKSBR0gKAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9sb2Fk
c3RhcnQtc3RkZXJyLnR4dFVUBQADMhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEV6ekmX
ZLA/aAAAAMYAAAB0ABgAAAAAAAEAAACkgVdJCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRf
bG9hZHN0YXJ0X25vYXV0b3BsYXktc3RkZXJyLnR4dFVUBQADMhg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAEV6ekmXZLA/aAAAAMYAAAB8ABgAAAAAAAEAAACkgW1KCgBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEt
ZWxlbWVudHMvZXZlbnRfb3JkZXJfY2FucGxheV9jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQF
AAMyGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgARnp6SZM01cFoAAAAxgAAAHUAGAAAAAAA
AQAAAKSBi0sKAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9vcmRlcl9jYW5wbGF5X3BsYXlp
bmctc3RkZXJyLnR4dFVUBQADMxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEZ6ekmTNNXB
aAAAAMYAAAB/ABgAAAAAAAEAAACkgaJMCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfb3Jk
ZXJfbG9hZGVkbWV0YWRhdGFfbG9hZGVkZGF0YS1zdGRlcnIudHh0VVQFAAMzGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgARnp6Sd7CCxhoAAAAxgAAAHgAGAAAAAAAAQAAAKSBw00KAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVu
dC9tZWRpYS1lbGVtZW50cy9ldmVudF9vcmRlcl9sb2Fkc3RhcnRfcHJvZ3Jlc3Mtc3RkZXJyLnR4
dFVUBQADNBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEZ6eknewgsYaAAAAMYAAABlABgA
AAAAAAEAAACkgd1OCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfcGF1c2Utc3RkZXJyLnR4
dFVUBQADNBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEZ6eknewgsYaAAAAMYAAABwABgA
AAAAAAEAAACkgeRPCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfcGF1c2Vfbm9hdXRvcGxh
eS1zdGRlcnIudHh0VVQFAAM0GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAR3p6SdqSbuZo
AAAAxgAAAGQAGAAAAAAAAQAAAKSB9lAKAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9ldmVudF9wbGF5
LXN0ZGVyci50eHRVVAUAAzUYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABHenpJ2pJu5mgA
AADGAAAAbwAYAAAAAAABAAAApIH8UQoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3BsYXlf
bm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAAM1GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
R3p6SQUox3BoAAAAxgAAAGcAGAAAAAAAAQAAAKSBDVMKAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9l
dmVudF9wbGF5aW5nLXN0ZGVyci50eHRVVAUAAzYYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABHenpJBSjHcGgAAADGAAAAcgAYAAAAAAABAAAApIEWVAoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRz
L2V2ZW50X3BsYXlpbmdfbm9hdXRvcGxheS1zdGRlcnIudHh0VVQFAAM2GDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgASHp6SQF4oo5oAAAAxgAAAGgAGAAAAAAAAQAAAKSBKlUKAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9t
ZWRpYS1lbGVtZW50cy9ldmVudF9wcm9ncmVzcy1zdGRlcnIudHh0VVQFAAM3GDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgASHp6SQF4oo5oAAAAxgAAAHMAGAAAAAAAAQAAAKSBNFYKAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVu
dC9tZWRpYS1lbGVtZW50cy9ldmVudF9wcm9ncmVzc19ub2F1dG9wbGF5LXN0ZGVyci50eHRVVAUA
AzcYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABIenpJTI58V2gAAADGAAAAagAYAAAAAAAB
AAAApIFJVwoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9l
bWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2V2ZW50X3RpbWV1cGRhdGUtc3RkZXJyLnR4
dFVUBQADOBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEl6eklMjnxXaAAAAMYAAAB1ABgA
AAAAAAEAAACkgVVYCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvZXZlbnRfdGltZXVwZGF0ZV9ub2F1
dG9wbGF5LXN0ZGVyci50eHRVVAUAAzkYOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABFenpJ
AAAAAAAAAAAAAAAAWgAYAAAAAAAAABAA7UFsWQoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVy
ZmFjZXMvVVQFAAMxGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAARXp6SQAAAAAAAAAAAAAA
AGQAGAAAAAAAAAAQAO1BAFoKAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9pbnRlcmZhY2VzL1RleHRU
cmFjay9VVAUAAzEYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABFenpJCPR2pHwAAACuAAAA
eQAYAAAAAAABAAAApIGeWgoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL2ludGVyZmFjZXMvVGV4dFRy
YWNrL2FjdGl2ZUN1ZXMtc3RkZXJyLnR4dFVUBQADMRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAEl6eklI3hmpaAAAAMYAAAB3ABgAAAAAAAEAAACkgc1bCgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVu
dHMvbmV0d29ya1N0YXRlX2R1cmluZ19sb2Fkc3RhcnQtc3RkZXJyLnR4dFVUBQADORg6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAEl6ekmz/V6hZwAAAMYAAAByABgAAAAAAAEAAACkgeZcCgBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNv
bnRlbnQvbWVkaWEtZWxlbWVudHMvcGF1c2VkX2ZhbHNlX2R1cmluZ19wbGF5LXN0ZGVyci50eHRV
VAUAAzoYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABJenpJs/1eoWcAAADGAAAAcgAYAAAA
AAABAAAApIH5XQoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3BhdXNlZF90cnVlX2R1cmluZ19wYXVz
ZS1zdGRlcnIudHh0VVQFAAM6GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAARnp6SQAAAAAA
AAAAAAAAAGoAGAAAAAAAAAAQAO1BDF8KAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9wbGF5aW5nLXRo
ZS1tZWRpYS1yZXNvdXJjZS9VVAUAAzMYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABFenpJ
IyWis60AAADMAAAAkQAYAAAAAAABAAAApIGwXwoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3BsYXlp
bmctdGhlLW1lZGlhLXJlc291cmNlL3BhdXNlLW1vdmUtdG8tb3RoZXItZG9jdW1lbnQtc3RkZXJy
LnR4dFVUBQADMhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEZ6ekkS0bcssAAAAMwAAACP
ABgAAAAAAAEAAACkgShhCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEt
cmVzb3VyY2UvcGF1c2UtbW92ZS13aXRoaW4tZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADMxg6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEZ6eknAOkj7rwAAAMwAAACPABgAAAAAAAEAAACkgaFi
CgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVk
LWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvcGxheWluZy10aGUtbWVkaWEtcmVzb3VyY2UvcGF1c2Ut
cmVtb3ZlLWZyb20tZG9jdW1lbnQtc3RkZXJyLnR4dFVUBQADMxg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAEp6ekm3rTtfaAAAAMYAAABzABgAAAAAAAEAAACkgRlkCgBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEt
ZWxlbWVudHMvcmVhZHlTdGF0ZV9kdXJpbmdfY2FucGxheS1zdGRlcnIudHh0VVQFAAM7GDpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgASnp6SbetO19oAAAAxgAAAHoAGAAAAAAAAQAAAKSBLmUK
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1cmluZ19jYW5wbGF5dGhyb3VnaC1z
dGRlcnIudHh0VVQFAAM7GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgASnp6SUyHBDdoAAAA
xgAAAHYAGAAAAAAAAQAAAKSBSmYKAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC9tZWRpYS1lbGVtZW50cy9yZWFkeVN0YXRlX2R1
cmluZ19sb2FkZWRkYXRhLXN0ZGVyci50eHRVVAUAAzwYOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABKenpJTIcEN2gAAADGAAAAegAYAAAAAAABAAAApIFiZwoAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1l
bnRzL3JlYWR5U3RhdGVfZHVyaW5nX2xvYWRlZG1ldGFkYXRhLXN0ZGVyci50eHRVVAUAAzwYOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABLenpJzVuFPGwAAADGAAAAcwAYAAAAAAABAAAApIF+
aAoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3JlYWR5U3RhdGVfZHVyaW5nX3BsYXlpbmctc3RkZXJy
LnR4dFVUBQADPRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEt6eklanYfG1QAAAMICAACE
ABgAAAAAAAEAAACkgZdpCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvc3JjX3JlZmxlY3RzX2F0dHJp
YnV0ZV9ub3Rfc291cmNlX2VsZW1lbnRzLXN0ZGVyci50eHRVVAUAAz4YOlh1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAABGenpJAAAAAAAAAAAAAAAAVQAYAAAAAAAAABAA7UEqawoAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21l
ZGlhLWVsZW1lbnRzL3RyYWNrL1VUBQADMxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEZ6
ekkAAAAAAAAAAAAAAABjABgAAAAAAAAAEADtQblrCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdHJh
Y2svdHJhY2stZWxlbWVudC9VVAUAAzMYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABGenpJ
pZLsnK4AAADMAAAAggAYAAAAAAABAAAApIFWbAoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L21lZGlhLWVsZW1lbnRzL3RyYWNr
L3RyYWNrLWVsZW1lbnQvdHJhY2stYXBpLXRleHR0cmFja3Mtc3RkZXJyLnR4dFVUBQADMxg6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAEt6ekkcpVQXYwAAAGMAAABjABgAAAAAAAEAAACkgcBt
CgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVk
LWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdmlkZW9fMDA4LXN0ZGVyci50eHRVVAUAAz4YOlh1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAABGenpJAAAAAAAAAAAAAAAAUgAYAAAAAAAAABAA7UHAbgoA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250ZW50L3RoZS1hdWRpby1lbGVtZW50L1VUBQADNBg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAEZ6eklkCI7B3gAAANACAABuABgAAAAAAAEAAACkgUxvCgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWF1ZGlvLWVs
ZW1lbnQvYXVkaW9fY29uc3RydWN0b3Itc3RkZXJyLnR4dFVUBQADNBg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAFt6ekkAAAAAAAAAAAAAAAAtABgAAAAAAAAAEADtQdJwCgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9VVAUAA10YOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACABRenpJClC4PqwAAABoAQAAVwAYAAAAAAABAAAApIE5cQoAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtYWN0aXZlc291
cmNlYnVmZmVycy1zdGRlcnIudHh0VVQFAANKGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
Unp6SdpiNMrBAAAAhAMAAFgAGAAAAAAAAQAAAKSBdnIKAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWFkZHNvdXJjZWJ1ZmZlci1tb2RlLXN0
ZGVyci50eHRVVAUAA0sYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABSenpJP//Xz5wAAAC0
AAAAZAAYAAAAAAABAAAApIHJcwoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRp
YS1zb3VyY2UvbWVkaWFzb3VyY2UtYXR0YWNoLXN0b3BzLWRlbGF5aW5nLWxvYWQtZXZlbnQtc3Rk
ZXJyLnR4dFVUBQADSxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFJ6eknvIvY1LAEAANkC
AABMABgAAAAAAAEAAACkgQN1CgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
LXNvdXJjZS9tZWRpYXNvdXJjZS1hdnRyYWNrcy1zdGRlcnIudHh0VVQFAANLGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAUnp6Sdq10YeeAAAAtAAAAEwAGAAAAAAAAQAAAKSBtXYKAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWJ1ZmZl
cmVkLXN0ZGVyci50eHRVVAUAA0sYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABSenpJ3+WH
rr8AAACEAwAASgAYAAAAAAABAAAApIHZdwoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY2xvc2VkLXN0ZGVyci50eHRVVAUAA0sYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABTenpJCcrdIysBAADIAwAAXwAYAAAAAAABAAAApIEceQoA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Ut
Y29uZmlnLWNoYW5nZS1tcDQtYS1iaXRyYXRlLXN0ZGVyci50eHRVVAUAA04YOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABUenpJz2y9di4BAADIAwAAZgAYAAAAAAABAAAApIHgegoAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY29uZmln
LWNoYW5nZS1tcDQtYXYtYXVkaW8tYml0cmF0ZS1zdGRlcnIudHh0VVQFAANQGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAVnp6SeI7j1GhAQAAfAQAAGYAGAAAAAAAAQAAAKSBrnwKAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZp
Zy1jaGFuZ2UtbXA0LWF2LXZpZGVvLWJpdHJhdGUtc3RkZXJyLnR4dFVUBQADUxg6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAFd6ekllRp/qSQEAAJMDAABfABgAAAAAAAEAAACkge9+CgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25m
aWctY2hhbmdlLW1wNC12LWJpdHJhdGUtc3RkZXJyLnR4dFVUBQADVRg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAFh6eklIqoZfSgEAAJMDAABhABgAAAAAAAEAAACkgdGACgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb25maWctY2hh
bmdlLW1wNC12LWZyYW1lcmF0ZS1zdGRlcnIudHh0VVQFAANXGDpYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAWXp6SUl/cIpLAQAAkwMAAGEAGAAAAAAAAQAAAKSBtoIKAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvbmZpZy1jaGFuZ2Ut
bXA0LXYtZnJhbWVzaXplLXN0ZGVyci50eHRVVAUAA1kYOlh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABZenpJeW53IScBAADiAgAASgAYAAAAAAABAAAApIGchAoAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtZGV0YWNoLXN0ZGVyci50eHRV
VAUAA1kYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABaenpJR8h5xxsBAACdAQAASAAYAAAA
AAABAAAApIFHhgoAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2Uv
bWVkaWFzb3VyY2UtcGxheS1zdGRlcnIudHh0VVQFAANbGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAWnp6STOl8xIcAQAAqAMAAEsAGAAAAAAAAQAAAKSB5IcKAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXByZWxvYWQtc3RkZXJyLnR4
dFVUBQADWxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFp6ekk0ajXlIAEAAIYCAABKABgA
AAAAAAEAAACkgYWJCgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJj
ZS9tZWRpYXNvdXJjZS1yZW1vdmUtc3RkZXJyLnR4dFVUBQADXBg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAFt6ekn65LCLyQAAADgEAABUABgAAAAAAAEAAACkgSmLCgBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1zb3VyY2VidWZmZXJs
aXN0LXN0ZGVyci50eHRVVAUAA10YOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABbenpJAAAA
AAAAAAAAAAAACgAYAAAAAAAAABAA7UGAjAoAaW5zcGVjdG9yL1VUBQADXhg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAFt6ekkAAAAAAAAAAAAAAAATABgAAAAAAAAAEADtQcSMCgBpbnNwZWN0
b3IvZGVidWdnZXIvVVQFAANeGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAW3p6Sc3KOEke
BQAA1CMAADYAGAAAAAAAAQAAAKSBEY0KAGluc3BlY3Rvci9kZWJ1Z2dlci9jb250aW51ZVVudGls
TmV4dFJ1bkxvb3Atc3RkZXJyLnR4dFVUBQADXhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AFt6ekkAAAAAAAAAAAAAAAATABgAAAAAAAAAEADtQZ+SCgBpbnNwZWN0b3IvcHJvdG9jb2wvVVQF
AANdGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAW3p6SY4anvKnAAAAaAEAAEAAGAAAAAAA
AQAAAKSB7JIKAGluc3BlY3Rvci9wcm90b2NvbC9iYWNrZW5kLWRpc3BhdGNoZXItYXJndW1lbnQt
ZXJyb3JzLXN0ZGVyci50eHRVVAUAA10YOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABcenpJ
AAAAAAAAAAAAAAAABwAYAAAAAAAAABAA7UENlAoAanF1ZXJ5L1VUBQADYBg6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAFx6ekmK6dPZaQAAAGsAAAAcABgAAAAAAAEAAACkgU6UCgBqcXVlcnkv
YXR0cmlidXRlcy1zdGRlcnIudHh0VVQFAANgGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
vHp6SQAAAAAAAAAAAAAAAAYAGAAAAAAAAAAQAO1BDZUKAG1lZGlhL1VUBQADFBk6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAgAAAGV6ekn4BD8jYwAAAGMAAAAfABgAAAAAAAEAAACkgU2VCgBtZWRp
YS9hdWRpby1kYXRhLXVybC1zdGRlcnIudHh0VVQFAANuGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAbHp6SQAAAAAAAAAAAAAAABMAGAAAAAAAAAAQAO1BCZYKAG1lZGlhL21lZGlhLXNvdXJj
ZS9VVAUAA3sYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABoenpJdHQUEMUAAAD1AAAAPgAY
AAAAAAABAAAApIFWlgoAbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1hYm9ydC1yZXNl
dHMtcGFyc2VyLXN0ZGVyci50eHRVVAUAA3QYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABp
enpJEXSMqJ0AAAC0AAAAOgAYAAAAAAABAAAApIGTlwoAbWVkaWEvbWVkaWEtc291cmNlL21lZGlh
LXNvdXJjZS1hZGRzb3VyY2VidWZmZXItc3RkZXJyLnR4dFVUBQADdRg6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAGp6ekmpJBLDnAAAALQAAAA3ABgAAAAAAAEAAACkgaSYCgBtZWRpYS9tZWRp
YS1zb3VyY2UvbWVkaWEtc291cmNlLXJlbW92ZS1jcmFzaC1zdGRlcnIudHh0VVQFAAN3GDpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAanp6SX2wDdCdAAAAtAAAAEAAGAAAAAAAAQAAAKSBsZkK
AG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utc2FtcGxlLXdyb25nLXRyYWNrLWlkLXN0
ZGVyci50eHRVVAUAA3cYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABqenpJByTZWz0BAACp
AQAAPAAYAAAAAAABAAAApIHImgoAbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1zZWVr
LWRldGFjaC1jcmFzaC1zdGRlcnIudHh0VVQFAAN3GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAbHp6SXLvrKyeAAAAtAAAADUAGAAAAAAAAQAAAKSBe5wKAG1lZGlhL21lZGlhLXNvdXJjZS9t
ZWRpYS1zb3VyY2Utc3RwcC1jcmFzaC1zdGRlcnIudHh0VVQFAAN7GDpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAd3p6SYDKy85oAAAAxgAAACgAGAAAAAAAAQAAAKSBiJ0KAG1lZGlhL3NvdXJj
ZXMtZmFsbGJhY2stY29kZWNzLXN0ZGVyci50eHRVVAUAA5IYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAC8enpJAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UFSngoAbWVkaWEvdHJhY2svVVQF
AAMUGTpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvHp6SU7Y849+AAAAhwAAACoAGAAAAAAA
AQAAAKSBmJ4KAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtYWN0dWFsLnR4dFVUBQAD
FBk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALx6ekmVeJF9AAIAAMMDAAAoABgAAAAAAAEA
AACkgXqfCgBtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLWRpZmYudHh0VVQFAAMUGTpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvHp6SQz65Oo2AQAAMwIAACwAGAAAAAAAAQAAAKSB
3KEKAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtZXhwZWN0ZWQudHh0VVQFAAMUGTpY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvHp6SUYDpWI8CQAA3CYAADAAGAAAAAAAAQAAAKSB
eKMKAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtcHJldHR5LWRpZmYuaHRtbFVUBQAD
FBk6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALx6eklk6VCQXAAAAF4AAAAqABgAAAAAAAEA
AACkgR6tCgBtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLXN0ZGVyci50eHRVVAUAAxQZ
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4enpJz04p0pAAAAC9AAAAIQAYAAAAAAABAAAA
pIHerQoAbWVkaWEvdW5zdXBwb3J0ZWQtcnRzcC1zdGRlcnIudHh0VVQFAAOTGDpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAjHp6SW/NKFqCAAAA6AIAADsAGAAAAAAAAQAAAKSBya4KAG1lZGlh
L3ZpZGVvLW11dGVkLWFmdGVyLXNldHRpbmctcGFnZS1tdXRlZC1zdGF0ZS1zdGRlcnIudHh0VVQF
AAO3GDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkXp6SQSYyD/CAAAA8gYAACgAGAAAAAAA
AQAAAKSBwK8KAG1lZGlhL3ZpZGVvLXBvc3Rlci1iYWNrZ3JvdW5kLXN0ZGVyci50eHRVVAUAA8EY
Olh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABuenpJAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA
7UHksAoAcGx1Z2lucy9VVAUAA4AYOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABuenpJ7l1y
RYYAAAD2AAAAOwAYAAAAAAABAAAApIEmsQoAcGx1Z2lucy9ucHAtc2V0LXdpbmRvdy1jYWxsZWQt
ZHVyaW5nLWRlc3RydWN0aW9uLXN0ZGVyci50eHRVVAUAA4AYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAjenpJRn/A8qACAADYJAAAGgAYAAAAAAABAAAApIEhsgoAcHl3ZWJzb2NrZXQud3Mu
bG9nLWVyci50eHRVVAUAA/EXOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASenpJxZAGQwkB
AACPAgAAGgAYAAAAAAABAAAApIEVtQoAcHl3ZWJzb2NrZXQud3MubG9nLW91dC50eHRVVAUAA9MX
Olh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAC7eXpJAAAAAAAAAAAAAAAAGwAYAAAAAAAAAAAA
pIFytgoAcHl3ZWJzb2NrZXQud3NzLmxvZy1lcnIudHh0VVQFAAMyFzpYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAu3l6SQAAAAAAAAAAAAAAABsAGAAAAAAAAAAAAKSBx7YKAHB5d2Vic29ja2V0
Lndzcy5sb2ctb3V0LnR4dFVUBQADMhc6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABZ8eklF
Jh050ScAAMuqAAAMABgAAAAAAAEAAACkgRy3CgByZXN1bHRzLmh0bWxVVAUAA5sbOlh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAASfHpJAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA7UEz3woAcmV0
cmllcy9VVAUAA5QbOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB2e3pJAAAAAAAAAAAAAAAA
EAAYAAAAAAAAABAA7UF13woAcmV0cmllcy9lZGl0aW5nL1VUBQADcBo6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAABJ8ekkAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQb/fCgByZXRyaWVzL2Vk
aXRpbmcvaW5wdXQvVVQFAAOTGzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEnx6SccBlxnp
AAAAjAEAADcAGAAAAAAAAQAAAKSBD+AKAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1l
Y2hvLXBhc3Nub2RlLWFjdHVhbC50eHRVVAUAA5MbOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAASfHpJRLjx0KIBAAC3AwAANQAYAAAAAAABAAAApIFp4QoAcmV0cmllcy9lZGl0aW5nL2lucHV0
L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtZGlmZi50eHRVVAUAA5MbOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAASfHpJT84qdmoAAAAVAQAAOQAYAAAAAAABAAAApIF64woAcmV0cmllcy9lZGl0
aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUtZXhwZWN0ZWQudHh0VVQFAAOTGzpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEnx6SQiHM1ypCAAArB8AAD0AGAAAAAAAAQAAAKSBV+QK
AHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXBhc3Nub2RlLXByZXR0eS1kaWZm
Lmh0bWxVVAUAA5MbOlh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASfHpJWgftg1sAAABeAAAA
NwAYAAAAAAABAAAApIF37QoAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFz
c25vZGUtc3RkZXJyLnR4dFVUBQADkxs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN17ekmr
DiIT6QAAAIwBAAA4ABgAAAAAAAEAAACkgUPuCgByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dv
cmQtZWNoby1wYXNzbm9kZTItYWN0dWFsLnR4dFVUBQADMhs6WHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAN17ekl1knnrpAEAALkDAAA2ABgAAAAAAAEAAACkgZ7vCgByZXRyaWVzL2VkaXRpbmcv
aW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTItZGlmZi50eHRVVAUAAzIbOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADde3pJT84qdmoAAAAVAQAAOgAYAAAAAAABAAAApIGy8QoAcmV0cmll
cy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUyLWV4cGVjdGVkLnR4dFVUBQAD
Mhs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN17eknIp3vjqwgAAK0fAAA+ABgAAAAAAAEA
AACkgZDyCgByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTItcHJl
dHR5LWRpZmYuaHRtbFVUBQADMhs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN17eklrk/Wt
WQAAAF4AAAA4ABgAAAAAAAEAAACkgbP7CgByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQt
ZWNoby1wYXNzbm9kZTItc3RkZXJyLnR4dFVUBQADMhs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAKt7eknwAmfx6QAAAIwBAAA4ABgAAAAAAAEAAACkgX78CgByZXRyaWVzL2VkaXRpbmcvaW5w
dXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtYWN0dWFsLnR4dFVUBQAD0Ro6WHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAKt7ekkPlT67nAEAAEEDAAA2ABgAAAAAAAEAAACkgdn9CgByZXRyaWVz
L2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtZGlmZi50eHRVVAUAA9EaOlh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACre3pJG3U48GEAAACfAAAAOgAYAAAAAAABAAAApIHl
/woAcmV0cmllcy9lZGl0aW5nL2lucHV0L3Bhc3N3b3JkLWVjaG8tcGFzc25vZGUzLWV4cGVjdGVk
LnR4dFVUBQAD0Ro6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKt7ekmYRgbcqAgAADMeAAA+
ABgAAAAAAAEAAACkgboACwByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby1wYXNz
bm9kZTMtcHJldHR5LWRpZmYuaHRtbFVUBQAD0Ro6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AKt7eknCe9vdXAAAAF4AAAA4ABgAAAAAAAEAAACkgdoJCwByZXRyaWVzL2VkaXRpbmcvaW5wdXQv
cGFzc3dvcmQtZWNoby1wYXNzbm9kZTMtc3RkZXJyLnR4dFVUBQAD0Ro6WHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAHZ7ekk/lkaj6QAAAIwBAAA3ABgAAAAAAAEAAACkgagKCwByZXRyaWVzL2Vk
aXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNoby10ZXh0bm9kZS1hY3R1YWwudHh0VVQFAANwGjpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdnt6SbSed6uUAQAAsgMAADUAGAAAAAAAAQAAAKSBAgwL
AHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWRpZmYudHh0VVQF
AANwGjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdnt6SV2Ek1xgAAAAEAEAADkAGAAAAAAA
AQAAAKSBBQ4LAHJldHJpZXMvZWRpdGluZy9pbnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLWV4
cGVjdGVkLnR4dFVUBQADcBo6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHd7eknBl7gsnAgA
AKcfAAA9ABgAAAAAAAEAAACkgdgOCwByZXRyaWVzL2VkaXRpbmcvaW5wdXQvcGFzc3dvcmQtZWNo
by10ZXh0bm9kZS1wcmV0dHktZGlmZi5odG1sVVQFAANxGjpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAdnt6SeDLjAdcAAAAXgAAADcAGAAAAAAAAQAAAKSB6xcLAHJldHJpZXMvZWRpdGluZy9p
bnB1dC9wYXNzd29yZC1lY2hvLXRleHRub2RlLXN0ZGVyci50eHRVVAUAA3AaOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAASfHpJAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UG4GAsAcmV0cmll
cy9odHRwL1VUBQADlBs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABR8ekkAAAAAAAAAAAAA
AAATABgAAAAAAAAAEADtQf8YCwByZXRyaWVzL2h0dHAvdGVzdHMvVVQFAAOXGzpYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAE3x6SQAAAAAAAAAAAAAAAB8AGAAAAAAAAAAQAO1BTBkLAHJldHJp
ZXMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9VVAUAA5UbOlh1eAsAAQT1AQAABBQAAABQSwECHgMK
AAIAAAATfHpJkwbXMgEAAAABAAAAVQAYAAAAAAABAAAApIGlGQsAcmV0cmllcy9odHRwL3Rlc3Rz
L2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gt
YWN0dWFsLnR4dFVUBQADlRs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABN8eknTV0tS1QAA
AK4BAABTABgAAAAAAAEAAACkgTUaCwByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZl
bnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1kaWZmLnR4dFVUBQADlRs6
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABN8ekmREwZeXAAAAGYAAABXABgAAAAAAAEAAACk
gZcbCwByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0
LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1leHBlY3RlZC50eHRVVAUAA5UbOlh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAATfHpJrdDOE5UHAACEFwAAWwAYAAAAAAABAAAApIGEHAsAcmV0cmllcy9o
dHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdh
dGUtY3Jhc2gtcHJldHR5LWRpZmYuaHRtbFVUBQADlRs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABJ8eklWkbNHZQAAAG0AAABFABgAAAAAAAEAAACkga4kCwByZXRyaWVzL2h0dHAvdGVzdHMv
ZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWFjdHVhbC50eHRVVAUAA5Qb
Olh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASfHpJOREjTuUAAAC/AQAAQwAYAAAAAAABAAAA
pIGSJQsAcmV0cmllcy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJldHJ5LXBy
ZWNpc2lvbi1kaWZmLnR4dFVUBQADlBs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABJ8ekmH
ADDIZwAAAHYAAABHABgAAAAAAAEAAACkgfQmCwByZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3Vy
Y2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9uLWV4cGVjdGVkLnR4dFVUBQADlBs6WHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIABJ8eklHIVmr9gcAALIaAABLABgAAAAAAAEAAACkgdwnCwBy
ZXRyaWVzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmV0cnktcHJlY2lzaW9u
LXByZXR0eS1kaWZmLmh0bWxVVAUAA5QbOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAUfHpJ
AAAAAAAAAAAAAAAAGQAYAAAAAAAAABAA7UFXMAsAcmV0cmllcy9odHRwL3Rlc3RzL21lZGlhL1VU
BQADlxs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABR8ekkAAAAAAAAAAAAAAAAdABgAAAAA
AAAAEADtQaowCwByZXRyaWVzL2h0dHAvdGVzdHMvbWVkaWEvaGxzL1VUBQADlxs6WHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIABR8eklz55EmFwIAAFgsAABEABgAAAAAAAEAAACkgQExCwByZXRy
aWVzL2h0dHAvdGVzdHMvbWVkaWEvaGxzL3ZpZGVvLWR1cmF0aW9uLWFjY2Vzc2liaWxpdHktc3Rk
ZXJyLnR4dFVUBQADlxs6WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAHB6ekkAAAAAAAAAAAAA
AAALABgAAAAAAAAAEADtQZYzCwBzY3JvbGxiYXJzL1VUBQADgxg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAHB6ekluvSNhOQAAAEIAAAA7ABgAAAAAAAEAAACkgdszCwBzY3JvbGxiYXJzL3Nj
cm9sbGV2ZW50LWlmcmFtZS1uby1zY3JvbGxpbmctd2hlZWwtc3RkZXJyLnR4dFVUBQADgxg6WHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABZ8ekk80fjOfd8IAEULLwAKABgAAAAAAAEAAACkgYk0
CwBzdGF0cy5qc29uVVQFAAObGzpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAnXp6SQAAAAAA
AAAAAAAAAAQAGAAAAAAAAAAQAO1BShQUAHN2Zy9VVAUAA9kYOlh1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAACHenpJAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UGIFBQAc3ZnL2FzLWltYWdlL1VU
BQADrhg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAId6eknbCNNCOwAAAD8AAAA/ABgAAAAA
AAEAAACkgc8UFABzdmcvYXMtaW1hZ2Uvc3ZnLWltYWdlLXdpdGgtZGF0YS11cmktaW1hZ2VzLWRp
c2FibGVkLXN0ZGVyci50eHRVVAUAA64YOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACdenpJ
AAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UGDFRQAc3ZnL2N1c3RvbS9VVAUAA9kYOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACdenpJIfT28DoAAABCAAAAMAAYAAAAAAABAAAApIHIFRQAc3Zn
L2N1c3RvbS91c2UtaW52YWxpZGF0ZS1jbGljay1jcmFzaC1zdGRlcnIudHh0VVQFAAPZGDpYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAkHp6SQAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQAO1BbBYU
AHRhYmxlcy9VVAUAA8AYOlh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACQenpJAAAAAAAAAAAA
AAAADwAYAAAAAAAAABAA7UGtFhQAdGFibGVzL21vemlsbGEvVVQFAAPAGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAkHp6SQAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1B9hYUAHRhYmxlcy9t
b3ppbGxhL2J1Z3MvVVQFAAPAGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAkHp6SX4qgqxo
AAAAawAAACYAGAAAAAAAAQAAAKSBRBcUAHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNDUyNy1zdGRl
cnIudHh0VVQFAAPAGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlXp6SQAAAAAAAAAAAAAA
AAwAGAAAAAAAAAAQAO1BDBgUAHRyYW5zaXRpb25zL1VUBQADyRg6WHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAJR6eknK7NIQwAAAAB8CAAA5ABgAAAAAAAEAAACkgVIYFAB0cmFuc2l0aW9ucy9s
ZW5ndGhzaXplLXRyYW5zaXRpb24tdG8tZnJvbS1hdXRvLWFjdHVhbC50eHRVVAUAA8cYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACUenpJuEDhCS4BAACRAwAANwAYAAAAAAABAAAApIGFGRQA
dHJhbnNpdGlvbnMvbGVuZ3Roc2l6ZS10cmFuc2l0aW9uLXRvLWZyb20tYXV0by1kaWZmLnR4dFVU
BQADxxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJR6eknvoKWXagAAAAwBAAA7ABgAAAAA
AAEAAACkgSQbFAB0cmFuc2l0aW9ucy9sZW5ndGhzaXplLXRyYW5zaXRpb24tdG8tZnJvbS1hdXRv
LWV4cGVjdGVkLnR4dFVUBQADxxg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJR6ekkD2X2Q
HAgAAI0dAAA/ABgAAAAAAAEAAACkgQMcFAB0cmFuc2l0aW9ucy9sZW5ndGhzaXplLXRyYW5zaXRp
b24tdG8tZnJvbS1hdXRvLXByZXR0eS1kaWZmLmh0bWxVVAUAA8cYOlh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACUenpJqnNjihcBAAAfBAAAMAAYAAAAAAABAAAApIGYJBQAdHJhbnNpdGlvbnMv
c2hhcGUtb3V0c2lkZS10cmFuc2l0aW9ucy1hY3R1YWwudHh0VVQFAAPIGDpYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAlHp6SZqKTr21AQAA+wYAAC4AGAAAAAAAAQAAAKSBGSYUAHRyYW5zaXRp
b25zL3NoYXBlLW91dHNpZGUtdHJhbnNpdGlvbnMtZGlmZi50eHRVVAUAA8gYOlh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACUenpJqBqzLq0AAAAuAgAAMgAYAAAAAAABAAAApIE2KBQAdHJhbnNp
dGlvbnMvc2hhcGUtb3V0c2lkZS10cmFuc2l0aW9ucy1leHBlY3RlZC50eHRVVAUAA8gYOlh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACUenpJ8Va76CsJAAAHKwAANgAYAAAAAAABAAAApIFPKRQA
dHJhbnNpdGlvbnMvc2hhcGUtb3V0c2lkZS10cmFuc2l0aW9ucy1wcmV0dHktZGlmZi5odG1sVVQF
AAPIGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlXp6SR5yj/7mAAAArwIAACwAGAAAAAAA
AQAAAKSB6jIUAHRyYW5zaXRpb25zL3N0ZXBzLXRpbWluZy1mdW5jdGlvbi1hY3R1YWwudHh0VVQF
AAPJGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlXp6Sd55uAtyAQAAxAQAACoAGAAAAAAA
AQAAAKSBNjQUAHRyYW5zaXRpb25zL3N0ZXBzLXRpbWluZy1mdW5jdGlvbi1kaWZmLnR4dFVUBQAD
yRg6WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJV6eklZScLqmgAAAFwBAAAuABgAAAAAAAEA
AACkgQw2FAB0cmFuc2l0aW9ucy9zdGVwcy10aW1pbmctZnVuY3Rpb24tZXhwZWN0ZWQudHh0VVQF
AAPJGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlXp6SQSo9abKCAAAjCMAADIAGAAAAAAA
AQAAAKSBDjcUAHRyYW5zaXRpb25zL3N0ZXBzLXRpbWluZy1mdW5jdGlvbi1wcmV0dHktZGlmZi5o
dG1sVVQFAAPJGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk3p6SQAAAAAAAAAAAAAAAAsA
GAAAAAAAAAAQAO1BREAUAHdlYmFyY2hpdmUvVVQFAAPFGDpYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAk3p6SdsI00I7AAAAPwAAADoAGAAAAAAAAQAAAKSBiUAUAHdlYmFyY2hpdmUvdGVzdC1s
aW5rLXJlbC1zdWJyZXNvdXJjZS1iZWZvcmVsb2FkLXN0ZGVyci50eHRVVAUAA8UYOlh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAVfHpJDLyBsKACAACbEgAAGQAYAAAAAAABAAAApIE4QRQAd3B0
d2tfcHJvY2Vzc19sb2cub3V0LnR4dFVUBQADmhs6WHV4CwABBPUBAAAEFAAAAFBLBQYAAAAA1QHV
AXThAAArRBQAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295449</attachid>
            <date>2016-11-26 16:33:07 -0800</date>
            <delta_ts>2016-11-27 09:33:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161126163246.patch</filename>
            <type>text/plain</type>
            <size>380427</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OWI0MjljMjk4ZDljZDEyMzEyOWIwNjE0OGQwZmU0ZmM5MjA5ODc5Li5lMjYyZGE0Njk0ZjBkZTYw
MjA1YzQzYjQ4MDIwOWYyZDZiYmViNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0xMS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6U2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6YWRkR2FyYmFnZUNv
bGxlY3Rpb24pOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpzcGVjaWVzQ29uc3RydWN0QXJyYXkpOgorCiAyMDE2LTExLTIzICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFX0FTU0VN
QkxFUl9XWF9FWENMVVNJVkUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA5ZjNmOGYyOTFjMzNkZmM2NWRhNzUzNWRmYWI1
NThiMzk3NzdjZDZlLi4wYWYyNjRmNGExZDY5NDY0NDZkNDQ0MzQ5NzI2NjM5ZTgxN2E0NzU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25k
cywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3Ag
VGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3
CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRz
LgorCisgICAgICAgICogd3RmL1J1bkxvb3AuaDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKiB3dGYvUnVuTG9vcFRpbWVyLmg6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lckNGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcFRpbWVyQmFz
ZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi9jZi9SdW5Mb29wQ0YuY3BwOgorICAgICAgICAoV1RG
OjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKwogMjAxNi0xMS0yMiAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgT25lIG1vcmUgdGlueSBiaXQgb2YgZm9sbG93
LXVwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGJiZGY5ZDQ5NWIxMzg1NzhkZGU5ZWVkOWYyOTczMmNjNGQxZWEz
ZmUuLmQyY2UyMmI3ZmM4MDY4NGJiM2M5ZGE0ZDk2MjEwY2JmYmYzMzNkNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0NzkgQEAKKzIwMTYtMTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBU
aW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcK
KyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMu
CisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpn
ZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAq
IE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxl
T3BlcmF0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGlt
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJhbmdlUmVtb3ZhbCk6CisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtOjpzY2hlZHVsZUFjdGl2ZVN0YXRlQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRFRN
RlNlbmRlcjo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RhdGFDaGFu
bmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2Vu
dGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
U29ja2V0Q2hhbm5lbDo6cmVzdW1lKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAg
ICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFN0YXR1cyk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29uKToKKyAg
ICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9N
YXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1
cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpy
ZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVz
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJr
aXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20v
RXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRj
aEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01pY3JvdGFza3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAg
ICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0
UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAq
IGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAg
ICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6
CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNs
ZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFs
dGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAg
ICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6CisgICAgICAgICogZWRpdGluZy9TcGVsbENo
ZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1s
L0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5pbmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAg
ICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVn
SW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAg
ICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAg
ICAgIChNZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6c2NoZWR1bGVFdmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxl
VGltZXVwZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGh0bWwvTWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURv
Y3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVu
dFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAg
ICAgKiBodG1sL1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJ
bnB1dFR5cGU6OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6
OnJlcXVlc3RUb0hpZGVNZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVD
b250ZXh0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5r
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hl
ZHVsZUZvclJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNw
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVy
RWxlbWVudDo6dXBkYXRlU2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0
VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxl
TG9hZCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRh
c2s6OnNjaGVkdWxlRm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2No
ZWR1bGVGb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6
OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRh
c2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c3RhcnREYXRhTG9hZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpk
ZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVj
a0NvbXBsZXRlVGltZXIpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAg
ICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHA6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBs
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
Q2FsbGJhY2spOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3Vy
Y2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2Rl
ZERhdGFJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJh
Y2s6OkNhbGxiYWNrKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25l
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVtb3J5Q2FjaGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVy
ZW5jZUNoYW5nZXMpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAg
IChXZWJDb3JlOjpET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6
CisgICAgICAgICogcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBh
Z2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRy
YWNrZXI6Ok1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11
bUR1cmF0aW9uVHJhY2tlcjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVs
ZUhvdmVyU3RhdGVVcGRhdGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAg
ICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6cGFyc2VFdmVudFN0cmVhbUxpbmUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoK
KyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KToKKyAgICAgICAg
KiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2NoZWR1bGVSZWxheW91dE9mU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRJ
bWFnZXNFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRNaW5pbXVtRE9N
VGltZXJJbnRlcnZhbCk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6Om1pbmltdW1ET01UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46Cisg
ICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1
c3BlbmRhYmxlVGltZXI6OlN1c3BlbmRhYmxlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3Vz
cGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxl
VGltZXI6OnJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVU
aW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxl
VGltZXIuaDoKKyAgICAgICAgKiBwYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0
YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVB
bmltYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFu
aW1hdGlvblVwZGF0ZSk6CisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xh
dGNoZWRTdGF0ZUlmTmVlZGVkKToKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVj
dGlvblJlY3RzRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNo
b3VsZEJlU2hvd24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQpOgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJ
bmRpY2F0b3JXaW5kb3cubW06CisgICAgICAgIChXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93
OjpzZXRUZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVl
U3RhdGVDb21taXQpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBv
c3RUYXNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6SHlzdGVyZXNpc0FjdGl2aXR5KToKKyAg
ICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eTo6c3RvcCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Nj
cm9sbFByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6c3RhcnRUaW1l
cklmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL1Ro
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkVGltZXJzOjpUaHJlYWRUaW1lcnMpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJz
OjpzZXRTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnVwZGF0
ZVNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6c2hhcmVkVGlt
ZXJGaXJlZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6ZmlyZVRp
bWVyc0luTmVzdGVkRXZlbnRMb29wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6VGltZXJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJh
c2U6OmNoZWNrQ29uc2lzdGVuY3kpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFw
RGVjcmVhc2VLZXkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbik6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OmhlYXBQb3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjp1cGRhdGVI
ZWFwSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzZXROZXh0RmlyZVRp
bWUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVy
dmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6VGlt
ZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0T25lU2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnJlcGVhdEludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OmlzQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmFibGVP
bmVTaG90VGltZXI6OkRlZmVycmFibGVPbmVTaG90VGltZXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L1ZOb2RlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjptX2xhc3RXYXJuaW5nVGltZSk6
CisgICAgICAgIChXZWJDb3JlOjpWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5n
SW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1ZOb2RlVHJhY2tlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpC
aXRtYXBJbWFnZTo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
aW50ZXJuYWxTdGFydEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6
YWR2YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JhdGNoQnVmZmVyOjpzY2hlZHVs
ZVNjcmF0Y2hCdWZmZXJQdXJnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnVwZGF0ZU9wdGlvbnMpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJh
bmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpU
aWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29u
dHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ292ZXJhZ2VN
YXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
R3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29ob3J0KToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OklP
U3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExhc3RVc2VUaW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJs
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNv
b24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50
YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNh
bmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRp
ZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0
ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9p
bnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0v
bW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0ZSk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWspOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9E
TlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGluZ1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGlt
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9yZUNhbGxiYWNrKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1
ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1
ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9u
T3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQ
cm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9u
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5p
bWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6Y2FyZXRCbGlua0ludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzRmFkZUluRHVy
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRl
T3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQpOgorICAgICAgICAq
IHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0
dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERp
c3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgorICAgICAgICAqIHJlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9u
U2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAgICAqIHJlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6ZXZl
bnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmg6
CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJs
ZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVy
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAgICAgKiB4bWwvWE1MSHR0
cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVv
dXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0Lmg6
CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpk
aXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIwMTYtMTEtMjMgIFNlcmdp
byBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlk
XSBDb252ZXJ0IGdyaWQgcmVwcmVzZW50YXRpb24gaW50byBhIGNsYXNzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVh
NmU5OGFhNzc4OTFjMjBiODczYzM3YTNhOTBhNWQ0NjdkNGM4ZjYuLjE4NmNmNzY4ZmI5ZDJkNGM2
NmQ1MTUyZjhlYjllNGFhYTllY2FkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTYt
MTEtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAg
Q2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3Rk
OjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMsIHJl
cGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5kIHJl
bW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgKiBTdG9yYWdlL1N0
b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVJdGVtRm9yU3luYyk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2No
ZWR1bGVDbGVhcik6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzeW5jVGlt
ZXJGaXJlZCk6CisgICAgICAgICogU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcik6CisgICAgICAgICogU3Rv
cmFnZS9TdG9yYWdlVHJhY2tlci5oOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6
c3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRy
YWNrZXI6OnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCk6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYlJlc291
cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cyk6CisKIDIwMTYt
MTEtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W0pTQ10gV1RGOjpUZW1wb3JhcnlDaGFuZ2Ugd2l0aCBXVEY6OlNldEZvclNjb3BlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKaW5kZXggMWQyZThiMmFmYjM1YWM4OGM4YTI4NjFjMDFkMTY5NWRhMjRmMTk4MS4uNmQ1
OWExZmZkZjE5MDM4NDllODM2YjE0ZTNkMWUxY2RiMzA5YTgzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI2IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywg
bm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGlt
ZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3Cisg
ICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgor
CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgIChQbHVn
aW5UaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFN0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW06
CisgICAgICAgICgrW1dlYlN0b3JhZ2VNYW5hZ2VyIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVN
b2RlbDpdKToKKwogMjAxNi0xMS0yMiAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtNYWNdIEluIExlZ2FjeSBXZWJLaXQsIHByZXNzaW5nIGFuIGFycm93IGtleSBp
biBlZGl0YWJsZSBjb250ZW50IGRvZXNu4oCZdCBoaWRlIHRoZSBtb3VzZSBjdXJzb3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBlMGU0ZTU2MDQyNTZhNmFkNmRiMWMwODE2NGEwNTI5MzdjMDU2NmRjLi43YTAyZTM3
ZjQwZmExMGExMWI5M2EyZmZmMzlmZGNkNjE4ZjA1NGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTM1IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVz
ZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRv
dWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWQ6OlRocm90
dGxlOjpUaHJvdHRsZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpkaWRSZWNlaXZl
UmVzcG9uc2VOZXR3b3JrU2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvYWRUaHJvdHRs
ZUxhdGVuY3kpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0TmV0d29ya0xvYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RhdGlzdGljcy5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6
ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpT
dG9yYWdlOjpzdG9yZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpy
ZXN1bWUpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHA6CisgICAg
ICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6CisgICAgICAgIChJ
UEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6OkNv
bm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246
OnRlcm1pbmF0ZVNvb24pOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0
cm95KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50
VGltZXIpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZSk6CisgICAgICAg
ICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NhY2hl
TW9kZWwuY3BwOgorICAgICAgICAoV2ViS2l0OjpjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKToK
KyAgICAgICAgKiBTaGFyZWQvQ2FjaGVNb2RlbC5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6
CisgICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3M6OnNldFRlcm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6Oldl
Yk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Omxhc3REaXNwbGF5VGltZSk6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0
b3JlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkp
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lmg6CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24ubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbToK
KyAgICAgICAgKEFQSTo6U2hhcmVkSlNDb250ZXh0OjplbnN1cmVDb250ZXh0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaGls
ZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6
OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0Fy
ZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR2FtZXBh
ZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxl
ci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hpZGRlblBhZ2VUaHJv
dHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Om1heGltdW1CdWZmZXJpbmdUaW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5WaWV3Ojpsb2FkVVJMKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnVwZGF0ZVByZWZlcmVuY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUGx1Z2lu
Vmlldyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5X
aW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2gp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjptX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
YWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNy
ZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisKIDIwMTYtMTEtMjQgIE1pY2hh
ZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE5v
dGlmaWNhdGlvbnMgQVBJIGRvZXMgbm90IGV4cG9zZSBvciByZXNwZWN0IHRoZSAidGFnIiBhdHRy
aWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDQwNDE2OWY3ZjU0ZmFmMGQ5Njgx
ZjJlZjAyMGZmNGE2ZDhjMWRjNGUuLmIxYWVlMzg2NjAyY2I0YmRlZTVkOGY2NjA2NGEwYjM0NGUz
ZmI5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2b2lk
IFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKEdh
cmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZl
bnRzVGFzazo6cmVzZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCmluZGV4IGFkNWRjZTI0NTg2YzRiMzFjZGU1OTViYTJiMWY3ZjZlMzBi
MzcxYTkuLmEzZTU5MWUwMDlmMTRkZThjMGUzZWI1NzU0ZDgyYzZmNTAzMWFkM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTIy
MywxMyArMjIzLDEzIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIHN0ZDo6cGFpcjxTcGVjaWVzQ29u
c3RydWN0UmVzdWx0LCBKU09iamVjdCo+IHNwZWNpZXNDb25zdHJ1CiAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc0NvbnN0cnVjdG9yKCkpIHsKICAgICAgICAgICAgIEpTT2JqZWN0KiBjb25zdHJ1
Y3Rvck9iamVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KGNvbnN0cnVjdG9yKTsKICAgICAgICAgICAg
IGlmIChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkgIT0gY29uc3RydWN0b3JPYmplY3QtPmds
b2JhbE9iamVjdCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVj
aWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwg
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGNvbnN0cnVjdG9yLmlzT2JqZWN0KCkp
IHsKICAgICAgICAgICAgIGNvbnN0cnVjdG9yID0gY29uc3RydWN0b3IuZ2V0KGV4ZWMsIGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5zcGVjaWVzU3ltYm9sKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKICAgICAgICAgICAgIGlmIChjb25z
dHJ1Y3Rvci5pc051bGwoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
U3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOzsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBh
dGgsIG51bGxwdHIpOwogICAgICAgICB9CiAgICAgfSBlbHNlCiAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGV4Y2VwdGlvblJlc3VsdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3AuaCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAppbmRleCA1NTVkNDQ3
MzFjZjMwOGJjYmQ5ZWViZGZiZTY1YjIxZmRhYTU4ZWRlLi42M2QwYzc5OTkxZWQ5MmQ2ODhlNWI5
OGI1MWNiZmM0NzQ3YzM4MzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgK
KysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCkBAIC04OCwxMCArODgsOCBAQCBwdWJsaWM6
CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBleHBsaWNpdCBUaW1lckJhc2UoUnVuTG9vcCYp
OwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAg
ICAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQo
cmVwZWF0SW50ZXJ2YWwsIHRydWUpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhy
ZXBlYXRJbnRlcnZhbC5jb3VudCgpICogMC4wMDEpOyB9Ci0gICAgICAgIHZvaWQgc3RhcnRPbmVT
aG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgZmFsc2UpOyB9Ci0gICAgICAg
IHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwuY291bnQoKSAqIDAuMDAxLCBmYWxzZSk7IH0KKyAgICAgICAgdm9pZCBz
dGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVy
dmFsLCB0cnVlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFs
KSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KIAogICAgICAgICBXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBzdG9wKCk7CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGlzQWN0aXZl
KCkgY29uc3Q7CkBAIC0xMDMsNyArMTAxLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBwcml2
YXRlOgotICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChkb3VibGUgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOworICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KTsKIAogICAgICAg
ICBSdW5Mb29wJiBtX3J1bkxvb3A7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxv
b3BUaW1lci5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKaW5kZXggMzc4MGU3NmMw
MzEzMTA0YWVjN2ZkNzk3MzIzZWI0MTA0ZjgzZTU5Ny4uZThjYTZjZjRjM2Q2YTBhMjhkYmM4MWVl
OTkxOGY2Mzg4YWE1OTc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVy
LmgKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmgKQEAgLTQ1LDEwICs0NSwxMCBA
QCBwdWJsaWM6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3QgU2No
ZWR1bGVQYWlyKik7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2NoZWR1bGUoY29uc3Qg
U2NoZWR1bGVQYWlySGFzaFNldCYpOwogCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3Rh
cnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7CisgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91Ymxl
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2
YWwsIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0
YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBTZWNvbmRzKDAp
KTsgfQogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNG
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMy
ZTIzYmE3YmY5NTczYzMxYjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5
Yzg4NTIwZWZlNWJlYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJD
Ri5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiAr
NTIsMTIgQEAgc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCog
Y29udGV4dCkKICAgICB0aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNl
OjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQor
dm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNl
Y29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVu
TG9vcFRpbWVySW52YWxpZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNv
bnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9w
dENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsg
bmV4dEZpcmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250
ZXh0KSk7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZB
YnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVh
dEludGVydmFsLnZhbHVlKCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZv
aWQgUnVuTG9vcFRpbWVyQmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVs
ZVBhaXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291
cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThh
OTg2ZGU5MjNlODcyOTI0NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5
OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxv
b3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0
KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZh
bCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAg
ICAKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwg
MCB9OwotICAgIENGVGltZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZp
cmVJbnRlcnZhbCA6IDA7Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0
RmlyZUludGVydmFsLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQp
KTsKKyAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJl
SW50ZXJ2YWwudmFsdWUoKSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGlt
ZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkg
KyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZp
cmVkLCAmY29udGV4dCkpOwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxv
b3AuZ2V0KCksIG1fdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYv
d3RmL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3
NGM2NzUwZGFlNTk2Li42MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1
bkxvb3A6OlRpbWVyQmFzZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1l
ci0+bV9pc1JlcGVhdGluZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tf
Q0FOQ0VMOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRG
aXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0
aXZlKCkpCiAgICAgICAgIHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAg
ICAgQVNTRVJUKCFtX3RpbWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRG
aXJlSW50ZXJ2YWwsIHJlaW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCks
IHRoaXMpOworICAgIG1fdGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52
YWx1ZSgpLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlz
KTsKIH0KIAogdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9n
ZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQx
NjdlYzdiNWZkYTI2NjM4Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEy
ICsyNjMsMTIgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7
CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJv
b2wgcmVwZWF0aW5nKQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50
ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRh
c2sgPSBTY2hlZHVsZWRUYXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAg
ICB9LCBTZWNvbmRzKGludGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVw
ZWF0aW5nKTsKICAgICBtX3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNr
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1
NjI3OGJhNmI3ZmYwMjFjMGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0
Njg3ODEzNjMzYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGli
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkg
KzE5MCw5IEBAIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAg
IGdfc291cmNlX3NldF9yZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0K
IAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6
OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2
YWxEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52
YWx1ZSgpKTsKICAgICBhdXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29u
ZHM6Om1heCgpOwogICAgIGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAg
ICAgICBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9u
bzo6bWljcm9zZWNvbmRzPihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2lu
LmNwcAppbmRleCA0YjQ1YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAy
MWY3ZGI0Y2EyYTI4YjE5ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxv
b3BXaW4uY3BwCkBAIC0xNTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1l
ckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0
KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewog
ICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJz
LnNldChtX0lELCB0aGlzKTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNz
YWdlV2luZG93LCBtX0lELCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRU
aW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpz
dG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBm
YWYyMTIwMmExMzBiOTJlNWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLmJjMGMwNWFjMGJhNDAxMzdm
MWFlZTYwOWQzZmM4Mjk0YTExNWU2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmNwcApAQCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlh
S2V5U2Vzc2lvbjo6c2Vzc2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9u
OjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJy
YXk+JiYgaW5pdERhdGEpCiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWlt
ZVR5cGUsIFdURk1vdmUoaW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiB9CiAKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJl
ZCgpCkBAIC0xNDIsNyArMTQyLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViS2l0TWVkaWFLZXlT
ZXNzaW9uOjp1cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYga2V5KQogCiAgICAgLy8gMi4gU2NoZWR1
bGUgYSB0YXNrIHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJvdmlkaW5nIGtleS4KICAgICBtX3BlbmRp
bmdLZXlzLmFwcGVuZChXVEZNb3ZlKGtleSkpOwotICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAg
ICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2Vv
bG9jYXRpb24vR2VvTm90aWZpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9Ob3RpZmllci5jcHAKaW5kZXggY2VjOTdjYzkwMmU0NTA2ODk3ZmVmYmQzZWFlMmY5
NzkwN2FhY2MxNi4uMjYxYjA3YzVkNzczMDI4NDA5NzQ4Yzk3ZjFiN2E3ODViMjFmODU2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5j
cHAKQEAgLTU5LDEzICs1OSwxMyBAQCB2b2lkIEdlb05vdGlmaWVyOjpzZXRGYXRhbEVycm9yKFJl
ZlB0cjxQb3NpdGlvbkVycm9yPiYmIGVycm9yKQogICAgIG1fZmF0YWxFcnJvciA9IFdURk1vdmUo
ZXJyb3IpOwogICAgIC8vIEFuIGV4aXN0aW5nIHRpbWVyIG1heSBub3QgaGF2ZSBhIHplcm8gdGlt
ZW91dC4KICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9Ob3Rp
Zmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAgIG1fdXNlQ2FjaGVkUG9zaXRpb24g
PSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29sIEdlb05vdGlmaWVyOjpoYXNaZXJvVGltZW91
dCgpIGNvbnN0CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2Fs
bGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiB2b2lkIEdlb05vdGlmaWVyOjpzdGFydFRpbWVy
SWZOZWVkZWQoKQogewogICAgIGlmIChtX29wdGlvbnMtPmhhc1RpbWVvdXQoKSkKLSAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QobV9vcHRpb25zLT50aW1lb3V0KCkgLyAxMDAwLjApOworICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fb3B0
aW9ucy0+dGltZW91dCgpKSk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnN0b3BUaW1lcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3Bw
CmluZGV4IDg1YWU0MGY2MzQxNzUzMjcxNjcyZjNhMzc3ZmU5OTNkZjRhMzE4YzAuLjUyZjE5Mjkz
NThmM2E5ZjA0MTUxMjNiZmQyZWM3ODU5NzczYzQzYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xOTgsNyArMTk4LDcg
QEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnJlc3Vt
ZSgpOwogCiAgICAgaWYgKCFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVz
dW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggMzhkZWNkNTNiOWFiMDgxMmViODA5ZjVmYmIzYjZiZGExZWM4YjAxYS4u
NWE1OTQ1MmFhZGJmZmM4YmM4Njc5YmIwYTBlM2Y5YzdjMTczMjUzMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzUw
LDcgKzM1MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0aW9uVGltZXIo
KQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFk
SUQoKSk7CiAKICAgICBpZiAoIW1fb3BlcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9vcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3BlcmF0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpv
cGVyYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCmluZGV4IGNiMDQ4
NjFjYzdjY2M1Y2YyZjdjZWJhZDczY2Q1OTdiZDJhMjcwYWEuLmM2NmZkMTFjNmI3NWZlYzg2NmQ2
YTIxMWI1NTA3ZjQyY2M5ZmQyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcApAQCAtMTQ5
NCw3ICsxNDk0LDcgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6aW52b2tlT3BlcmF0aW9uQW5k
VHJhbnNhY3Rpb25UaW1lcigpCiAgICAgQVNTRVJUKCFtX2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRl
KTsKIAogICAgIGlmICghbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5z
YWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2
OWYxMGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLmY1ZDY2MzYwMjY0ZGY2OTFjNmQ4
ZWNiNTdlNDM1MDU4YzU2MDZlNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0z
Niw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSB0YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0
YXNrRGVsYXlJbnRlcnZhbCA9IFNlY29uZHMoMS4wIC8gMTApOwogCiBzdHJ1Y3QgQ2xpZW50U3Rh
dGUgewogICAgIGV4cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQmIGNsaWVudCwgdWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVf
dCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGll
bnQqIGNsaWVudCwgdWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmln
dXJlV2F0Y2hkb2dUaW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1Rp
bWVySW50ZXJ2YWxBZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3Vi
bGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAg
c3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0g
U2Vjb25kcyg2MCAqIDYwKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVy
SW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA9IFNlY29uZHMoOCAqIDYwKTsKIAogICAgIGlmICgh
bV9wbGF5YmFja1RhcmdldCB8fCAhbV9wbGF5YmFja1RhcmdldC0+aGFzQWN0aXZlUm91dGUoKSkg
ewogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwpAQCAtNDQyLDE0ICs0NDIsMTQgQEAg
dm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKCkKICAg
ICB9CiAKICAgICBpZiAoc3RvcFRpbWVyKSB7Ci0gICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50
ZXJ2YWwgPSAwOworICAgICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gU2Vjb25kcygw
KTsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAgICAgICAgTE9HKE1lZGlhLCAi
V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHN0
b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSBkaWRQbGF5
VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA6IHdhdGNoZG9n
VGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IGRp
ZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kIDogd2F0
Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBpZiAoaW50ZXJ2YWwgIT0g
bV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkp
IHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwot
ICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJl
V2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIsIGludGVydmFsKTsKKyAg
ICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdh
dGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwgaW50ZXJ2YWwudmFsdWUo
KSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IGludGVy
dmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1N2Q1OGVmOTE0Y2IyM2Yx
OTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRjNmQ0NmExM2FkM2MxZjEx
YjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0xMDIsNyArMTAyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4gbV9wbGF5YmFja1Rhcmdl
dDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlvblRhc2tzIG1fdGFza0Zs
YWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgeyAw
IH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsOwogICAgIGJvb2wgbV9l
eHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Rhcmdl
dENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2VyRW5hYmxlZCB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBhYWZjMjFlMDU1Mjg0Yi4u
Mjg0OGZhYWZiY2NhZWU1ZGJlOWVkYzJjNDg0ZmVkYjEyZWUxMWU5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtMzQ4
LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwoY29uc3QgTWVkaWFU
aW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8gNS4gUmV0dXJuIGNvbnRy
b2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBzdGVwcyBhc3luY2hyb25v
dXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0OwogICAgIG1fcGVuZGluZ1Jl
bW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBTb3VyY2VC
dWZmZXI6OmFib3J0SWZVcGRhdGluZygpCkBAIC01MzMsNyArNTMzLDcgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25lZCBj
aGFyKiBkYXRhLAogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0RXZl
bnQpOwogCiAgICAgLy8gNi4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFs
Z29yaXRobS4KLSAgICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJlcG9y
dEV4dHJhTWVtb3J5QWxsb2NhdGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggMWQ1MmE0OGE1M2RhZTI4OGM4NDcx
OWZkYzFlMWVlYmQ0N2VlNmU1Ny4uZDU0NDBiZmY2N2M5MjhjZjcxZGRjYmI1NTVkZWU3NDZjNzhh
NTQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIE1lZGlhU3RyZWFtOjpzY2hlZHVs
ZUFjdGl2ZVN0YXRlQ2hhbmdlKCkKICAgICBtX3NjaGVkdWxlZEFjdGl2aXR5RXZlbnRzLmFwcGVu
ZChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiAKICAgICBpZiAoIW1f
YWN0aXZpdHlFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fYWN0aXZpdHlFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GU2VuZGVyLmNwcAppbmRleCA4MzMwYzg3OGMxN2MwOWU3ODI2OWJjNTVhZDc4ZmUx
N2IxNGI4MGRiLi4xNmU4MDA2ODc4MDRjZmM0OTQzYmY1ODRiNzJjZTY4NTEyZDAyNjQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlz
cGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBw
ZW5kKFdURk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5u
ZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bC5jcHAKaW5kZXggMDUxYzcwMTQ5YWUyZGExMmU2MDBhNDA1MGYwOWMxZWM4YmZkNTc1Ni4uNDNh
OTRiYTIzNzYzZGVlMjc3ZGNlYmI3MjU1MGE4M2RjYzFlMjZiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKQEAgLTIz
Nyw3ICsyMzcsNyBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UmVmPEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3Zl
KGV2ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRl
eCAxZTAyY2UxY2Y2N2Y2ZTRkOTEyODc1YWJmODBiMmRkZGU4MzdhN2U3Li4zYWI3NjY0MTUyNzNi
OTE5ZWMwZTY4M2RlMDk0MmZlN2NjZGQ3ZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBA
QCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0
cmluZyYgdGl0bGUpCiAgICAgLy8gRklYTUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50
ZXIgY2FuIGJlIG51bGwgc28gc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJl
Zi4KICAgICAvLyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0
cnlpbmcgdG8gaGFuZGxlIHRoYXQgY2FzZS4KICAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50
ZXItPmNsaWVudCgpKTsKLSAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1f
dGFza1RpbWVyLT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGVi
ZmUwLi5mMDczNDVkZDJlNzdlNzY1YzNmNmYwZTdmM2E1YjQwNmQxMzg4OWY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6
cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBj
YXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNEZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3Mu
aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICByZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVm
cyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGlt
ZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgIH0KICAgICAgICAg
bV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAgICAgICAgICBpZiAoY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApp
bmRleCA4NjA5MTQyMDljOGJiMzQyODA0MGFhMTRmYzlmY2QwM2QwZGQ1YzU5Li45ZGU2MjViMzli
NWEyMzgzNGZhNDEyZjU2ZGY2YzhhOTM5YWY1OGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgYm9vbCBWaWJy
YXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKIAogICAgIG1f
cGF0dGVybiA9IHNhbml0aXplZDsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6
V2FpdGluZzsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFZp
YnJhdGlvbjo6dGltZXJGaXJlZCgpCiAgICAgICAgIG1fdmlicmF0aW9uQ2xpZW50LT52aWJyYXRl
KG1fcGF0dGVyblswXSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChtX3BhdHRlcm5bMF0gLyAxMDAwLjApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9wYXR0ZXJuWzBdKSk7CiAgICAgbV9wYXR0ZXJu
LnJlbW92ZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAppbmRleCA2NDMyMTY1OWJiMWMyMjk0ZDIyMmFmZGViZjM0NDVjYTZiNzRj
MTVjLi5lZGNlMTE5MmQwMzU4NGI1ZmU1NjNhMzY3YTBlNWUzMzlkNmEwMGQ1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNTAzLDcg
KzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQogICAgICAgICBtX2NoYW5uZWwtPnJl
c3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVudHMuaXNFbXB0eSgpICYmICFtX3Jl
c3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gRmlyZSB0aGUgcGVuZGluZyBldmVu
dHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkg
SlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0K
IAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4
IDRlNGFhN2MzYTliYjI1MjU5NWE3MjkyMzA4NzA2MWJiN2IzNDIzOTkuLmJkYzY0MDI0ZDA4NDFk
YWE5ZWI2ZTVlM2Y3OWRkM2UxZmI5MTNiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYyLDcgKzYyLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4aW11bVNlZ21l
bnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVtU2VnbWVudExp
ZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRD
aGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYgY2xpZW50
LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZkb2N1bWVudCkK
QEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3NlKGludCBjb2Rl
LCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5lbD4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhhbmRzaGFrZSBt
YXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBkZXJlZmVyZW5j
ZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAgICAgaWYgKG1f
Y2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbG9zaW5n
VGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lKTsKKyAgICAg
ICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUg
KiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVh
c29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lKCkK
IHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVyLmlzRW1wdHko
KSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5u
ZWw6OmRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBkMWU4
MjA1YTExNjEyZjBkYWY4NDEwYjhlNjMxODk4YTFlMjZjMDc0Li5hZWIzNzMzODNhMzQzMDU4OWQx
ZTBkODNiZWEyNjYyMWFmOWUwY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTExMCw4ICsxMTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAvLyBQb3N0IHZhbHVlIGNoYW5nZSBu
b3RpZmljYXRpb25zIGZvciBwYXNzd29yZCBmaWVsZHMgb3IgZWxlbWVudHMgY29udGFpbmVkIGlu
IHBhc3N3b3JkIGZpZWxkcyBhdCBhIDQwaHogaW50ZXJ2YWwgdG8gdGh3YXJ0IGFuYWx5c2lzIG9m
IHR5cGluZyBjYWRlbmNlCi1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVl
Q2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyNTsKLXN0YXRpYyBkb3VibGUgQWNjZXNz
aWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyMDsKK3N0
YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9u
SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDI1KTsKK3N0YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlM
aXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAog
QWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2Fj
aGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lk
IEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0LCBEb2N1bWVudCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3Vz
bHkpIHsKICAgICAgICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFp
cihvYmplY3QsIG5vdGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9z
dFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHBvc3RQbGF0Zm9ybU5v
dGlmaWNhdGlvbihvYmplY3QsIG5vdGlmaWNhdGlvbik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAppbmRleCBiZmYzYjBjYWVlZjhkNGIwZDM2MWMyY2M0
YjI0OWZmMDgzNTgyZTI1Li5hMTQxNGIzYzRiYjBjNDdlMmYzM2JlNDg4MzkwMDE5ZjQ2NDEzNTA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKQEAgLTcx
LDcgKzcxLDcgQEAgdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0U29vbigpCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKCkKIHsKICAgICBpZiAo
IW1fR0NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lk
IEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3Bw
CmluZGV4IDVlYWI1NWI1NDMzMzNiZDE3ZjY3YjExZWJhZDY2MTc3MjgyNTAxZjEuLmJjMjRmMjI0
MTRlYjBhZGEwMzE4ZjBiZjUyYjEyZTNiMzgzZTcyMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHZvaWQgQ1NTRm9udEZhY2U6OnNldFN0YXR1cyhT
dGF0dXMgbmV3U3RhdHVzKQogICAgIH0KIAogICAgIGlmIChuZXdTdGF0dXMgPT0gU3RhdHVzOjpM
b2FkaW5nKQotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qod2ViRm9udHNTaG91
bGRBbHdheXNGYWxsQmFjaygpID8gMCA6IDMpOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFy
dE9uZVNob3Qod2ViRm9udHNTaG91bGRBbHdheXNGYWxsQmFjaygpID8gU2Vjb25kcygwKSA6IFNl
Y29uZHMoMykpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OlN1Y2Nlc3MgfHwg
bmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3Rv
cCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IGU4NDk4OGVi
ZTA2YjZmNTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIuLmMyZjlhMTYyNTM0ZGVjYTJhYjc5MGVm
MWQ2ZDRmMjQzNmZiZGIyZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3Bw
CkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0Zv
bnRTb29uKENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8gYWZ0ZXIgdGhpcyBmb250IGhhcyBiZWVu
IHJlcXVlc3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxvYWRpbmcuIEJhbGFuY2VkIGJ5CiAgICAg
Ly8gZGVjcmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVnaW5Mb2FkVGltZXJGaXJlZCgpIGFuZCBp
biBjbGVhckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0gICAgbV9iZWdpbkxvYWRpbmdUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAppbmRl
eCBhNzUyODNhMmIyN2MzZGVkOGQ5NDMxMmRlMDRhNDE1OGVlY2MyZjkzLi5kNGY3ZmE0NmU2MDFm
M2VmNzg0NGIzMTJiYjRkYjZmNTllZWIzMDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZElt
YWdlcyA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
dGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9IFNlY29uZHMoMyk7CiAKIENTU0ltYWdl
R2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNzVHlw
ZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAppbmRleCA5MTM2M2MxNDNiMjZjYTQxOWFmZTRlNGJlMjIxNzM3ZTE1MTFmMDRmLi4xOWE4
NTI5MzhkMjBkOGY2YzE1ZDc2ODZiM2U5NDllY2UyMzgwZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM5LDggKzEyMzksOCBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmFkZFRvTWF0Y2hlZFByb3BlcnRpZXNDYWNoZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNv
bnN0CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRk
aXRpb25zQmV0d2VlblN3ZWVwcyA9IDEwMDsKICAgICBpZiAoKyttX21hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGVBZGRpdGlvbnNTaW5jZUxhc3RTd2VlcCA+PSBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZUFk
ZGl0aW9uc0JldHdlZW5Td2VlcHMKICAgICAgICAgJiYgIW1fbWF0Y2hlZFByb3BlcnRpZXNDYWNo
ZVN3ZWVwVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMgPSA2MDsKLSAgICAgICAg
bV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3QobWF0Y2hlZERl
Y2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWVJblNlY29uZHMpOworICAgICAgICBzdGF0aWMgY29uc3Qg
U2Vjb25kcyBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSA9IFNlY29uZHMoNjApOwor
ICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdCht
YXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSk7CiAgICAgfQogCiAgICAgQVNTRVJUKGhh
c2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYzYxOGE5ZGQ2ZmNhY2I5N2ZlMzBiYmNm
MjE5OGY4YWY5ZTI3NDQ4NC4uY2M2NmIxN2UyMTA4YWMyZWM3ZjViYjlhY2ZlZWM4ZDJlMmQ3NzQ1
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjU3LDcgKzEyNTcsNyBAQCB2b2lkIERv
Y3VtZW50OjpzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZChib29sIHZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KQogICAgIGlmICh2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgbV92aXN1YWxVcGRhdGVz
U3VwcHJlc3Npb25UaW1lci5zdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3Zpc3VhbFVwZGF0
ZXNTdXBwcmVzc2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoKSk7CiAKICAgICBpZiAoIXZpc3VhbFVwZGF0
ZXNBbGxvd2VkKQogICAgICAgICByZXR1cm47CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCB2b2lkIERv
Y3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKCkKICAgICAvLyBGSVhNRTogV2h5IG9uIGVhcnRo
IGlzIHRoaXMgaGVyZT8gVGhpcyBpcyBjbGVhcmx5IG1pc3BsYWNlZC4KICAgICBpbnZhbGlkYXRl
QWNjZXNzS2V5TWFwKCk7CiAgICAgCi0gICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxh
dGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lkIERvY3VtZW50Ojp3cml0
ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9jdW1lbnQpCiAgICAgd3Jp
dGUoIlxuIiwgb3duZXJEb2N1bWVudCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKK1NlY29uZHMgRG9jdW1lbnQ6
Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKICAgICBhdXRvKiBwYWdlID0gdGhpcy0+
cGFnZSgpOwogICAgIGlmICghcGFnZSkKQEAgLTI4NDEsNyArMjg0MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBzaG91bGRUaHJvdHRsZSkKICAgICBk
aWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0CiB7CiAgICAgYXV0
byBhbGlnbm1lbnRJbnRlcnZhbCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCk7CiAKQEAgLTUwMjcsOCArNTAy
Nyw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBk
eW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5n
IG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRp
bWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBi
ZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3Vv
dXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAg
IHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJU
aW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFy
c2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgPSBTZWNvbmRzKDEw
KTsKKyAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9L
ZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQpOwogCiAgICAgLy8g
UGFyc2VyIHNob3VsZCBoYXZlIHBpY2tlZCB1cCBhbGwgcHJlbG9hZHMgYnkgbm93CiAgICAgbV9j
YWNoZWRSZXNvdXJjZUxvYWRlci0+Y2xlYXJQcmVsb2FkcygpOwpAQCAtNTI1NSw3ICs1MjU1LDcg
QEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25SZXN0
b3JhdGlvbk1vZGUgbW9kZSkKIHsKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3RvcmVz
U2VsZWN0aW9uID0gbW9kZTsKICAgICBpZiAoIW1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFu
Y2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9pZCBEb2N1bWVudDo6cmVzdW1lU2No
ZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikK
ICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6V2lsbERlZmVyTG9hZGluZyAmJiBt
X3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAgICAg
aWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVuZGluZ1Rhc2tzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICAgICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CiAgICAgcmVz
dW1lQWN0aXZlRE9NT2JqZWN0cyhyZWFzb24pOwogICAgIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlckNhbGxiYWNrcygpOwpAQCAtNTY4Nyw3ICs1Njg3LDcgQEAgdm9pZCBEb2N1bWVu
dDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVk
IHNob3J0IGZsYWcKICAgICB9IHdoaWxlICgwKTsKIAogICAgIG1fZnVsbFNjcmVlbkVycm9yRXZl
bnRUYXJnZXRRdWV1ZS5hcHBlbmQoZWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVudEVsZW1lbnQo
KSk7Ci0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndlYmtpdENhbmNlbEZ1bGxTY3JlZW4oKQpAQCAtNTg1NCw3
ICs1ODU0LDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxl
bWVudChFbGVtZW50KikKIAogICAgIG1fZnVsbFNjcmVlbkVsZW1lbnQtPmRpZEJlY29tZUZ1bGxz
Y3JlZW5FbGVtZW50KCk7CiAKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVlblJlbmRlcmVyKFJlbmRlckZ1bGxT
Y3JlZW4qIHJlbmRlcmVyKQpAQCAtNjA1Nyw3ICs2MDU3LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGVj
cmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpCiAgICAgLS1tX2xvYWRFdmVudERlbGF5Q291bnQ7
CiAKICAgICBpZiAoZnJhbWUoKSAmJiAhbV9sb2FkRXZlbnREZWxheUNvdW50ICYmICFtX2xvYWRF
dmVudERlbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1l
ckZpcmVkKCkKQEAgLTY3MDEsNyArNjcwMSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0
ZUZvcm1Db250cm9sKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2Fz
c29jaWF0ZWRGb3JtQ29udHJvbHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV9kaWRBc3NvY2lh
dGVGb3JtQ29udHJvbHNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2RpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaWRBc3NvY2lhdGVG
b3JtQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9j
dW1lbnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2
NzIxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcm
IGNvb2tpZXMpCiAgICAgQVNTRVJUKCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9j
YWNoZWRET01Db29raWVzID0gY29va2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZh
bGlkIGF0IG1vc3QgdW50aWwgd2UgZ28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nv
b2tpZUNhY2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVF
eHBpcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6
OmludmFsaWRhdGVET01Db29raWVDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDhmNWI0
M2UyMGZhZjZjNDFjMTY3NzFkZjY2Yjg0Y2U2ZjU4ZmMxNTMuLjZlNWRlMGE5NTMxNjFmZmJiODVm
ZWU2MGRhMDdiN2Q0ZjM4YjczODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzM3LDkgKzEz
MzcsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBSZWZQdHI8SW5z
cGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVu
c2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBmaW5hbDsKIAotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKKyAg
ICBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QgZmluYWw7CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFj
aGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsKKyAgICBTZWNvbmRzIHRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsK
IAogICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVFbGVtZW50KCk7CiAgICAgdm9pZCB1cGRh
dGVUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudEV2ZW50UXVldWUuY3BwCmluZGV4IDllMDc3ZjcyZjEzNjU5YTM4NjkxNWE5Y2JlNjAx
NDZmMjAyOTljMjcuLjNjZGUyM2E0Zjg0Nzg4OGJhZTVjYzEwOGNmMDFhOGY5NzdkNDc4NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCkBAIC03OSw3ICs3OSw3
IEBAIGJvb2wgRG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYmIGV2
ZW50KQogCiAgICAgbV9xdWV1ZWRFdmVudHMuYWRkKGV2ZW50LnB0cigpKTsKICAgICBpZiAoIW1f
cGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ0V2ZW50VGlt
ZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFNlbmRlci5oCmluZGV4IDg3MmQ4NWExYTQ1NTFhZDAxOTkwODA5ODBlNmY1ZjNhZDI4YTdiN2Yu
LmFmMGQxYzUxNDE4ZjkwMjJmZTdlNmEwMmFlNTRhNDQzYzQxMDkyZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFNlbmRlci5oCkBAIC02Niw3ICs2Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKFQmIHNlbmRlcikKIHsKICAgICBtX2Rp
c3BhdGNoU29vbkxpc3QuYXBwZW5kKCZzZW5kZXIpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQg
RXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rh
c2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5MTQ2ZmNlYjlmOGY3Li5l
M2U1M2U0ODQ2MTQxNmZmYjc4MDMzMDY5OGJiYjk1MzkwZmYwZGVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01p
Y3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90YXNrUXVldWU6OmFwcGVu
ZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAgZWxzZQogICAgICAgICBt
X21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAotICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIE1pY3JvdGFza1F1ZXVlOjpyZW1vdmUoY29uc3QgTWljcm90YXNrJiB0YXNrKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDkzN2Yx
YzIzYmQ3ZTk5NGNhZWViNmUyZDA0ODljMDBlZTE5Y2Y1NmIuLjdlOGRhOWM3M2RkOWRjNGE1OWRi
YWUwZTEzODkyYTFjODQ1Y2UyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKQEAgLTQ0NSw3ICs0NDUsNyBAQCBQdWJsaWNVUkxNYW5hZ2VyJiBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpwdWJsaWNVUkxNYW5hZ2VyKCkKICAgICByZXR1cm4gKm1f
cHVibGljVVJMTWFuYWdlcjsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1
c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmlt
dW1UaW1lckludGVydmFsKQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5p
bXVtVGltZXJJbnRlcnZhbChTZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKQogewogICAg
IGlmIChtaW5pbXVtVGltZXJJbnRlcnZhbCgpICE9IG9sZE1pbmltdW1UaW1lckludGVydmFsKSB7
CiAgICAgICAgIGZvciAoYXV0byYgdGltZXIgOiBtX3RpbWVvdXRzLnZhbHVlcygpKQpAQCAtNDUz
LDcgKzQ1Myw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRp
bWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kCiAgICAgfQogfQogCi1zdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lcklu
dGVydmFsKCkgY29uc3QKK1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRp
bWVySW50ZXJ2YWwoKSBjb25zdAogewogICAgIC8vIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9u
IHJldHVybnMgdGhlIERPTVRpbWVyJ3MgZGVmYXVsdAogICAgIC8vIG1pbmltdW0gdGltZXIgaW50
ZXJ2YWwuIEZJWE1FOiB0byBtYWtlIGl0IHdvcmsgd2l0aCBkZWRpY2F0ZWQKQEAgLTQ2OSw3ICs0
NjksNyBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKQogICAgICAgICB0aW1lci0+ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwo
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYzkyOThkMzJjYTQwMTZi
ZTA1ZmNmZjE4NGE5OTc2ODI2NTRhZTY4ZS4uN2ZkZTc4ZDVmYmY5YTgyMGU4YWY0ZDhiYzhkM2Ew
ZjM2NGQ3OGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCkBAIC0xOTIsMTEgKzE5MiwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSlND
OjpWTSYgdm0oKTsKIAogICAgIC8vIEludGVydmFsIGlzIGluIHNlY29uZHMuCi0gICAgdm9pZCBh
ZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1p
bmltdW1UaW1lckludGVydmFsKTsKLSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIGFkanVzdE1pbmltdW1U
aW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHZpcnR1
YWwgU2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRD
aGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7Ci0gICAgdmlydHVhbCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVz
dGluZ0xldmVsKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRl
cnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OwogCiAgICAgdmlydHVh
bCBFdmVudFF1ZXVlJiBldmVudFF1ZXVlKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRSdW5uZXIuY3BwCmluZGV4IDcwOTg5ZWI0MGMwNDVhZGU3NzRhZTU3ZDA5YTQwNDhiNTllMzg4
MDQuLjM2ODY4NzdjMGJmYTgxNTNmY2NlMDFmY2Y4ZWZmMzk3NzVmNTkyZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2NyaXB0UnVubmVy
OjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQ
ZW5kaW5nU2NyaXB0cygpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2NyaXB0UnVu
bmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2NyaXB0KQpAQCAtMTAw
LDcgKzEwMCw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2Ny
aXB0JiBwZW5kaW5nU2NyaXB0KQogICAgICAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVu
ZChtX3BlbmRpbmdBc3luY1NjcmlwdHMudGFrZShwZW5kaW5nU2NyaXB0KS0+cHRyKCkpOwogICAg
IH0KICAgICBwZW5kaW5nU2NyaXB0LmNsZWFyQ2xpZW50KCk7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZv
aWQgU2NyaXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRh
Njc0MDE5NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYx
ZjEwMjgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2No
ZWR1bGVEZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1
bWVudC0+ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVU
aW1lc3RhbXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVs
ZURlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVk
dWxlRGVsYXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1
bWVudC0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2
N2Y5Njg0MDNkMTQ3ZTgzZmJiMS4uNzQ2ZmFlYTUzMzhiOWY0NGY0N2M3ZjUxMDY5OTEwYzQ2MjU3
ZDE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBA
QCBzdGF0aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlKCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gU2Vjb25kcyg2MCk7CitzdGF0aWMg
Y29uc3QgaW50IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmlu
ZyA9IDEwMDsKKwogY2xhc3MgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTkxLDE2ICs5NCwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIG1faGl0Q291bnQrKzsKIAogICAgICAgICBpZiAoIW1fY2xlYW5UaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV9jbGVhblRpbWVyLnN0YXJ0T25lU2hvdChwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyk7CisgICAgICAgICAgICBt
X2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5U
aW1lKTsKICAgICAgfQogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyA9IDYwOwotICAgIHN0YXRp
YyBjb25zdCBpbnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFu
aW5nID0gMTAwOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9u
QXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcykgLyA2MDsKLQogICAgIHZvaWQgY2xlYW5DYWNo
ZSgpCiAgICAgeworICAgICAgICB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRl
Q2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUNsZWFuVGltZS52YWx1ZSgpKSAvIDYwOworCiAgICAgICAgIHVuc2lnbmVkIGhpdENvdW50ID0g
bV9oaXRDb3VudDsKICAgICAgICAgbV9oaXRDb3VudCA9IDA7CiAgICAgICAgIGlmIChoaXRDb3Vu
dCA+IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50UGVyTWludXRlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAKaW5kZXggZDVjZDFlYTY3ZGQ5MGI4OTNmNTM0N2E3YTE3ZWVjZTA5NGE0YWE2Yy4uNjgy
ZjRhZjEwZmMzZjcyOTg0MmVlYWI3MTFhOGRiMDU2ZWU5ZTMyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAs
NyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJu
YXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3Qg
ZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vj
b25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsKDAuMyk7CiAgICAgaWYgKCFpc0F1dG9t
YXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMjBlNmIwYzJiNzRjYWZjZWVhMjI4ZjgyY2NlMjIy
YmM1ZmMxN2EzNy4uMzE2Y2I5Yzc5ZjA4YTlmN2IwZDE0ODFhOTA4NjkwZjMxNDFhOWVlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMzI2Miw3ICszMjYyLDcgQEAgdm9pZCBFZGl0
b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZy
YW1lU2VsZWN0aW9uOjoKIAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JiYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVtYmVycygp
KQotICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAjZW5kaWYKIAogICAgIHNldFN0YXJ0TmV3S2lsbFJp
bmdTZXF1ZW5jZSh0cnVlKTsKQEAgLTMyNzQsNyArMzI3NCw3IEBAIHZvaWQgRWRpdG9yOjpyZXNw
b25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFtZVNlbGVj
dGlvbjo6CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyU2hvdWxkQ2hlY2tTcGVsbGluZ0FuZEdy
YW1tYXIgPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkNsb3NlVHlwaW5nCiAgICAgICAgICYm
ICEob3B0aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpTcGVsbENvcnJlY3Rpb25UcmlnZ2VyZWQpOwog
ICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lcldhc1RyaWdnZXJlZEJ5RGljdGF0aW9uID0gb3B0aW9u
cyAmIEZyYW1lU2VsZWN0aW9uOjpEaWN0YXRpb25UcmlnZ2VyZWQ7Ci0gICAgbV9lZGl0b3JVSVVw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmNwcAppbmRleCAzNTYxNzQ5MGJhODYwZjJiOWVhNDg1NjFkOTA1NjJmZThjNzJi
NDJhLi5jYTI5MjQ5NmU4YjBhMmNjZjFlMmEwYmU5NGI4NjU5NjFmNzQxMGIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMjA0NSw3ICsyMDQ1LDcgQEAg
dm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxp
bmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBCZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3Jl
CiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBpbiB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYg
KHNob3VsZEJsaW5rICYmICFtX2NhcmV0QmxpbmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAg
IGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJl
dEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAgaWYgKFNlY29uZHMgYmxpbmtJbnRlcnZhbCA9IG1f
ZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAg
IG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAg
ICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRmY2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uOTVi
ZDY2MDkzMTljYTgyNGMxYzUxNGJmMzhjYmIzMTg0OWM2NDNlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVj
a2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1
bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAo
IW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVl
ZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVk
UmVxdWVzdC5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2Vy
OjpkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5n
UmVzdWx0PiYgcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApp
bmRleCA0MTZhMmQxYTdiOTI1MTM0MTBlNDA2ZjQzNDVkYzgzY2Y1Y2ZhMTBjLi44M2E1MjYzZjQy
YmNkMjUzMDdiNTNjNDkxOGQ2YjdjNjMxOWY5OWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6
OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKIAog
ICAgIC8vIERpc3BhdGNoIGV2ZW50cyBsYXRlciBhcyB0aGlzIEFQSSBpcyBtZWFudCB0byB3b3Jr
IGFzeW5jaHJvbm91c2x5IGluIGFsbCBzaXR1YXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMuCiAg
ICAgaWYgKCFtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9p
ZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29tcGxldGVUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGExZjRmZTE4YzVkNWE2MDA0
OTRkYjRiMTY4Y2Q4NDRjNmRlNmRkZGIuLjJmMWY4YzZhMTFjOTNiNzg0ZGIxODM2NzBlZDYzNzU5
MTYzNjA0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAt
MTU2LDEyICsxNTYsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFNlZWtSZXBlYXREZWxheSA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNlZWtS
ZXBlYXREZWxheSA9IFNlY29uZHMoMC4xKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNjYW5SZXBl
YXREZWxheSA9IFNlY29uZHMoMS41KTsKIHN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1RpbWUgPSAw
LjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIFNjYW5SZXBlYXREZWxheSA9IDEuNTsKIHN0YXRpYyBj
b25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBI
aWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IFNlY29uZHMoNik7CiAKIHN0YXRp
YyB2b2lkIHNldEZsYWdzKHVuc2lnbmVkJiB2YWx1ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CkBAIC05
MjAsNyArOTIwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rp
b24oRGVsYXllZEFjdGlvblR5cGUgYWN0aW9uVHlwZSkKICAgICBpZiAoYWN0aW9uVHlwZSAmIFVw
ZGF0ZVBsYXlTdGF0ZSkKICAgICAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIFVw
ZGF0ZVBsYXlTdGF0ZSk7CiAKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAg
LTkyOCw3ICs5MjgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJj
ZUNoaWxkKCkKICAgICAvLyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3Vy
Y2U+IGVsZW1lbnQgV0lUSE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgog
ICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KCVwKSAtIHNldHRpbmcgJXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3Vy
Y2UpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBM
b2FkTWVkaWFSZXNvdXJjZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckFjdGl2ZVNvdXJjZUJ1ZmZl
cnNDaGFuZ2VkKGNvbnN0IE1lZGlhUGxheWVyKikKQEAgLTE5NjcsNyArMTk2Nyw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKQogCiAgICAgbV9wcmV2
aW91c1Byb2dyZXNzVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIC8v
IDM1MG1zIGlzIG5vdCBtYWdpYywgaXQgaXMgaW4gdGhlIHNwZWMhCi0gICAgbV9wcm9ncmVzc0V2
ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMC4zNTApOworICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMC4zNTApKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTMzNTQsNyArMzM1NCw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhTY2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAg
ICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2FuUmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3Nj
YW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBT
Y2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRpbWVyLnN0YXJ0KFNlY29uZHMoMCksIG1fc2Nh
blR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXREZWxheSk7CiB9CiAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5kU2Nhbm5pbmcoKQpAQCAtMzM5Myw3ICszMzkzLDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZCgpCiAKIC8vIFRoZSBzcGVj
IHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGls
ZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0
IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVu
Y3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5ID0gU2Vjb25kcygwLjI1KTsKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXli
YWNrUHJvZ3Jlc3NUaW1lcigpCiB7CkBAIC0zNDQwLDcgKzM0NDAsNyBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKICAg
ICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsK
IAogICAgIC8vIHRocm90dGxlIHRoZSBwZXJpb2RpYyBldmVudHMKLSAgICBpZiAocGVyaW9kaWNF
dmVudCAmJiB0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpCisgICAgaWYg
KHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5
LnZhbHVlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFNvbWUgbWVkaWEgZW5naW5lcyBt
YWtlIG11bHRpcGxlICJ0aW1lIGNoYW5nZWQiIGNhbGxiYWNrcyBhdCB0aGUgc2FtZSB0aW1lLCBi
dXQgd2Ugb25seSB3YW50IG9uZQpAQCAtNDM3MSw3ICs0MzcxLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbikKICAg
ICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUgZGV0YWls
cy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikpOwogICAg
IG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1fc2Vla1Rv
UGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgbV9zZWVr
VG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwLjUpKTsK
IAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJp
bmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYuLjE0MGYx
MTdjODc3YzE4YTNiZGQ2MjZlZmVmNTk0Y2IxOGMzMDViZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBIVE1MUGx1
Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAgICBtX2Rp
c3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxheWluZ1Nu
YXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2VtZW50KSAm
JiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBSZW5kZXJl
clRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRpZEFk
ZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hhZG93Um9vdCogcm9vdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCmluZGV4IGI5NmUzY2UzMTNkZjQ4ZDI5
MmUzNzI4MGYzZjk5OTY3ZmNiMGE5MDguLjBlMWQ1NmZkZTZkNzI0YTJjM2VhMjk2ZGY2ZTU1ZDll
NmZlYTczMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcApAQCAtNzIsMTAgKzcyLDEwIEBAIHN0YXRpYyBjb25zdCBmbG9hdCBzaXppbmdGdWxs
UGFnZUFyZWFSYXRpb1RocmVzaG9sZCA9IDAuOTY7CiBzdGF0aWMgY29uc3QgZmxvYXQgYXV0b3N0
YXJ0U29vbkFmdGVyVXNlckdlc3R1cmVUaHJlc2hvbGQgPSA1LjA7CiAKIC8vIFRoaXMgZGVsYXkg
c2hvdWxkIG5vdCBleGNlZWQgdGhlIHNuYXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCi1z
dGF0aWMgY29uc3QgYXV0byBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgeyA3NTAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNpbXVsYXRl
ZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gU2Vjb25kcygwLjc1KTsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQotc3RhdGljIGNvbnN0IGF1dG8gcmVtb3ZlU25hcHNob3RUaW1lckRlbGF5ID0gc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyB7IDE1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlbW92
ZVNuYXBzaG90VGltZXJEZWxheSA9IFNlY29uZHMoMS41KTsKICNlbmRpZgogCiBzdGF0aWMgY29u
c3QgU3RyaW5nIHRpdGxlVGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0
ODRmNTFjMGMzNjVhZjgxNWU3ZjYzOWYuLjJiYTVhMDhkMjU4NmEzY2JkMWRhNGZlMzEwNDg4ODY1
Y2RjN2ZiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBA
IC0xMjUsNyArMTI1LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2
ZW50KCkKICAgICBpZiAobV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJy
b3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBIVE1MU291
cmNlRWxlbWVudDo6Y2FuY2VsUGVuZGluZ0Vycm9yRXZlbnQoKQpAQCAtMTY2LDcgKzE2Niw3IEBA
IHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiB3aHkp
CiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpyZXN1bWUoKQogewogICAgIGlmIChtX3Nob3VsZFJl
c2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUpIHsKLSAgICAgICAgbV9lcnJvckV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJlc3Vt
ZSA9IGZhbHNlOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCmluZGV4IDA3ZjQyZDk5ZjhkN2I0OGE5YmEyNDFiNGM0NzFkNTc5ZjU1ZThiZDUuLjA2ZWRm
NzMwMzQyZGUyMTYyY2E4MzUzZWQ3YjA1NTk1MGExNWZhNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgSFRNTFRyYWNr
RWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4gUnVu
IHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFsbG93aW5nIHdo
YXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0gICAgbV9sb2Fk
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKaW5kZXggOTU0MDUyNTA5ZWI3ZTIy
YmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uZjY0YjU1ZWVhMjIwMzc2NDllYzY3NzFkYTNkYTQ5
MGRmNzNmODNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcApAQCAt
NTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9jayhDbG9jazo6Y3JlYXRlKCkpCiAg
ICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKICAgICAsIG1fdGltZXVwZGF0
ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCkK
LSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQogewogfQogCkBAIC0xNDgsNyArMTQ3
LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIGlm
IChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKSB7CiAgICAgICAgIC8v
IFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1
cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6bWF4PGRvdWJsZT4oMCwgc3RkOjpt
aW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUoKSkpOwotICAgICAgICBtX2NsZWFy
UG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY2xlYXJQb3NpdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9CiAKICAgICByZXR1cm4gbV9wb3Np
dGlvbjsKQEAgLTUzNyw3ICs1MzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkKIHsKICAgICBtX3BlbmRpbmdFdmVu
dHMuYXBwZW5kKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgdHJ1ZSkpOwogICAgIGlm
ICghbV9hc3luY0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hc3luY0V2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGlt
ZXJGaXJlZCgpCkBAIC02NjMsNyArNjYyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnJldHVy
blRvUmVhbHRpbWUoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMgdGltZXVw
ZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIxNSB0byAy
NTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IFNlY29uZHMoMC4yNSk7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1l
IG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93
IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2
M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0
ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVw
ZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9u
b3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3Vy
cmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RG9jdW1lbnQuY3BwCmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBm
ZmUuLjJhNDMzM2EyNTIxNjI0MzM3ZDQ4MGUzMzc1NGVlYTNhMGVmYzcxODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFE
b2N1bWVudDo6bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBs
ZXQgdGhlIHBsdWdpbiBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhp
cyAKICAgICAvLyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBl
bmdpbmUgY2FsbGJhY2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRo
ZSBlbGVtZW50LCBtZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNl
TWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxl
bWVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNZWRpYURvY3Vt
ZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA1Y2I3M2JiYzI1ZjMwNDAxMzcwNDQ3MzFm
YjU1ZTNmZjhlMmZjZGEzLi41YTRhOWU0YWM0MjdlY2I1YWVmMmQxOTRmZDA4MTc4YWQ3NGQwMWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTU3
LDcgKzU3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IGVsZW1lbnRNYWluQ29udGVudENoZWNrSW50ZXJ2YWwgPSAuMjUwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IFNlY29uZHMoMC4yNSk7CiAK
IHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVk
aWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250
ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBv
c2UpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJu
YWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBoYXNUYXJnZXRzCiAgICAgTE9H
KE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFi
bGVEaWRDaGFuZ2UoJXApIC0gaGFzVGFyZ2V0cyAlcyIsIHRoaXMsIGhhc1RhcmdldHMgPyAiVFJV
RSIgOiAiRkFMU0UiKTsKIAogICAgIG1faGFzUGxheWJhY2tUYXJnZXRzID0gaGFzVGFyZ2V0czsK
LSAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNhblBsYXlUb1dpcmVsZXNzUGxh
eWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFy
Y2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3Bw
CmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODli
ZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Nl
YXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAgIC8vIEFmdGVyIHR5cGluZyB0aGUgZmly
c3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAgIC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5
LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4yIGZyb20gdGhlbiBvbi4KLSAgICBtX3Nl
YXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVu
Z3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwogfQogCiB2b2lkIFNlYXJjaElucHV0VHlw
ZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25N
ZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBjYmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0
Li4zMWU2ODI5MjMyMTg3YTQ0MmZiZmRlOTczNGJlZDk1ZmFhYzczMmE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQg
VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAg
ICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9u
TWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBlbHNlCiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNz
YWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBWYWxpZGF0aW9u
TWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQpAQCAtMTQ0LDcgKzE0NCw3IEBA
IHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKCkKICAg
ICAgICAgbV90aW1lciA9IG51bGxwdHI7CiAgICAgZWxzZSB7CiAgICAgICAgIG1fdGltZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVC
dWJibGVUcmVlKTsKLSAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDUuMCwg
c3RhdGljX2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAv
IDEwMDApKTsKKyAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KFNlY29uZHMo
NSksIFNlY29uZHMobV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwLjAp
KTsKICAgICB9CiB9CiAKQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdl
OjpyZXF1ZXN0VG9IaWRlTWVzc2FnZSgpCiAKICAgICAvLyBXZSBtdXN0IG5vdCBtb2RpZnkgdGhl
IERPTSB0cmVlIGluIHRoaXMgY29udGV4dCBieSB0aGUgc2FtZSByZWFzb24gYXMgc2V0TWVzc2Fn
ZSgpLgogICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlk
YXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBib29s
IFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9kZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggM2U5ZGNjYWM1MWNmMjNkY2M4NGU4NGEzYWJmMTdh
Y2U3MGMyMTMwMy4uNzMwOTczOTAzNzkzNmFiY2QxMGI2ZDhhNGNmMWY2NzFiMGVmNjQxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citjb25z
dCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gU2Vjb25kcygxKTsKIGNvbnN0
IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0NvbnNvbGUgPSAyNTY7CiAKIG5hbWVzcGFjZSB7CkBA
IC00NjY2LDcgKzQ2NjYsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VD
b250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpMb3N0QwogCiAgICAgLy8gQWx3
YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0aGUgY29udGV4dCBsb3N0IGV2ZW50LCB0byBpbXBs
ZW1lbnQKICAgICAvLyB0aGUgc3BlYyBiZWhhdmlvciBvZiBxdWV1ZWluZyBhIHRhc2suCi0gICAg
bV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9k
aXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgp
CkBAIC00NjgzLDcgKzQ2ODMsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZv
cmNlUmVzdG9yZUNvbnRleHQoKQogICAgIH0KIAogICAgIGlmICghbV9yZXN0b3JlVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIFBsYXRmb3Jt
TGF5ZXIqIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApA
QCAtNTYxNCw3ICs1NjE0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNw
YXRjaENvbnRleHRMb3N0RXZlbnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQp
OwogICAgIG1fcmVzdG9yZUFsbG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAg
IGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxs
b3dlZCkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCkBAIC01Njc5LDcgKzU2
NzksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRl
eHQoKQogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dChHcmFwaGljc0NvbnRl
eHQzRDo6Y3JlYXRlKG1fYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOwogICAgIGlmICghY29udGV4
dCkgewogICAgICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RDb250ZXh0KQot
ICAgICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHNlY29uZHNCZXR3ZWVuUmVz
dG9yZUF0dGVtcHRzKTsKKyAgICAgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCh0
aW1lQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIC8v
IFRoaXMgbGlrZWx5IHNob3VsZG4ndCBoYXBwZW4gYnV0IGlzIHRoZSBiZXN0IHdheSB0byByZXBv
cnQgaXQgdG8gdGhlIFdlYkdMIGFwcC4KICAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdy
YXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgIiIsICJlcnJvciByZXN0b3Jpbmcg
Y29udGV4dCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2Vy
U2NoZWR1bGVyLmNwcAppbmRleCAyODMzN2Q4NmQ1M2Y4OWRlYTUzOThiZjYzYzZmYjhjMTEzNWQz
NjFkLi4yN2NhZGVjNDIyNWY1NmVhODE5MTFlZjEwODcwOWY4MTQwNDIwOTJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1
bmtUaW1lckZpcmVkKCkKICAgICAvLyBGSVhNRTogVGhlIHRpbWVyIGNsYXNzIHNob3VsZCBoYW5k
bGUgdGltZXIgcHJpb3JpdGllcyBpbnN0ZWFkIG9mIHRoaXMgY29kZS4KICAgICAvLyBJZiBhIGxh
eW91dCBpcyBzY2hlZHVsZWQsIHdhaXQgYWdhaW4gdG8gbGV0IHRoZSBsYXlvdXQgdGltZXIgcnVu
IGZpcnN0LgogICAgIGlmIChtX3BhcnNlci5kb2N1bWVudCgpLT5pc0xheW91dFRpbWVyQWN0aXZl
KCkpIHsKLSAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3BhcnNlci5yZXN1bWVQYXJzaW5nQWZ0
ZXJZaWVsZCgpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c2hvdWxkWWllbGRCZWZvcmVFeGVjdXRpbmdTY3JpcHQoUHVtcFNlc3Npb24mIHNlc3Npb24pCiB2
b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1lKCkKIHsKICAgICBBU1NF
UlQoIW1fc3VzcGVuZGVkKTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6c3VzcGVuZCgpCkBAIC0xNDgs
NyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUoKQogICAgIGlmICgh
bV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAgcmV0dXJuOwogICAgIG1faXNT
dXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCAxNWVhMWYwOGMzMDYzYzYx
MzQyMGRiZTE1NjY2NWE4MTgzYmVjNTQ1Li42YWM4ZTExMDNmNDNiNjYzMmIzYzdkMTlkOGVkMGE2
YmNkNGJjM2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xQ
YW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIoKQogICAgIC8vIFRoZSB0aW1lciBpcyByZXF1aXJlZCB0
byBzZXQgdGhlIHByb3BlcnR5IGRpc3BsYXk6J25vbmUnIG9uIHRoZSBwYW5lbCwKICAgICAvLyBz
dWNoIHRoYXQgY2FwdGlvbnMgYXJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgYXQgdGhlIGJvdHRvbSBv
ZiB0aGUgdmlkZW8KICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBmYWRlb3V0IHRyYW5zaXRpb24u
Ci0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBh
Z2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAgIFNl
Y29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50
aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IFNlY29uZHMoMCk7CiAgICAg
bV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApAQCAtMTg4LDEw
ICsxODgsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUoKQog
ICAgIGlmIChtX29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9u
ID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNv
bnRyb2xzRmFkZUluRHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3Vt
ZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0Zh
ZGVJbkR1cmF0aW9uKCkgOiBTZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0
eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBk
dXJhdGlvbiwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlPcGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAog
ICAgIG1fb3BhcXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250
cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgp
ID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlv
bigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1
bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiBT
ZWNvbmRzKDApOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5z
aXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxpbmVTdHlsZVBy
b3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5
VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlPcGFjaXR5LCAw
LjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3BhcXVlID0gZmFs
c2U7CkBAIC0xMzM2LDcgKzEzMzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRh
aW5lckVsZW1lbnQ6OnVwZGF0ZVNpemVzKGJvb2wgZm9yY2VVcGRhdGUpCiAgICAgbV91cGRhdGVU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvblN0eWxlID0gdHJ1ZTsKIAogICAgIC8vIEZJWE1FICgxMjEx
NzApOiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgbGF5b3V0LCBhbmQgc2hvdWxkIGxh
eSBvdXQgdGhlIHRleHQgdHJhY2tzIGltbWVkaWF0ZWx5LgotICAgIG1fdXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiBSZWZQdHI8SW1hZ2U+IE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1l
bnQ6OmNyZWF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uSW1hZ2UoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAyMTBmNmE5ZGY1YWM3
NzE3NWE5ODEyYWMwNTEwNDIyMzJhMzQwZjMzLi5mNjI1NGJiODEzODRiM2E3ZWQxNDA4ZmE0M2Vk
ODUxNTM0NTU1ZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRh
YmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxl
VGV4dFRyYWNrLmNwcApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpz
Y2hlZHVsZUxvYWQoY29uc3QgVVJMJiB1cmwpCiAgICAgLy8gMy4gQXN5bmNocm9ub3VzbHkgcnVu
IHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxlIGNvbnRpbnVpbmcgd2l0aCB3aGF0ZXZlciB0YXNr
IAogICAgIC8vIHdhcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHRleHQgdHJhY2sgb3Ig
Y2hhbmdpbmcgdGhlIHRleHQgdHJhY2sgbW9kZS4KICAgICBpZiAoIW1fbG9hZFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9s
b2FkVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBFbGVtZW50KiBMb2FkYWJs
ZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Ry
YWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5j
cHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdlMjIzZGQ0MzZjMDdkNTFiNi4uZTg0YjI4
YzBlMmVhN2FjZTQzNzI4NGE4NzJlOWMyNmNlNjYwYjM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Ny
b2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocykuCi1zdGF0aWMgY29uc3QgZmxvYXQgc2Ny
b2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsVGltZSA9IFNlY29u
ZHMoMC40MzMpOwogCiBWVFRSZWdpb246OlZUVFJlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0KQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCkBA
IC00MDMsNyArNDAzLDcgQEAgdm9pZCBWVFRSZWdpb246OnN0YXJ0VGltZXIoKQogICAgIGlmICht
X3Njcm9sbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBk
dXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxUaW1lIDogMDsKKyAgICBTZWNv
bmRzIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiBTZWNvbmRz
KDApOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggM2Q1
NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uMTJlMjJlMTZkMDk2OTRhYmM2
ZGYyZWFjMDg5MDYxZGVlMThjNTFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFuZ2VSZWdp
b25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3csIGlu
dCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnROb2RlSWQp
OwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0K
IAogdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6dW5zY2hlZHVsZShXZWJLaXROYW1lZEZs
b3cqIG5hbWVkRmxvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuY3BwCmluZGV4IDgzYTAyNGJjZGRkMjEzMDk3ODc1OTg3MjI0MTI3MWUwYThmYjNmMGYu
LjFiZGQ0YzYwNjIxN2ZhYzQyNjg2YTA5MDkxN2RjM2YzYTIyZmU0MzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTg1LDcgKzE4NSw3
IEBAIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IoRWxlbWVu
dCogZWxlbWVudCkKIHsKICAgICBtX2VsZW1lbnRzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1f
dGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFJldmFsaWRh
dGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4
IDhhMzVhMTc5ZWI4YmY1OWI0YmMwOThkYzZlZGM5MGNkZTBkYTA1OTMuLjhkZWE4ZmM2NWY5YjA1
MWViY2M2ZmQxODZkNDg4MmU5NTEwZDBkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgwLDcg
KzgwLDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpOwog
ICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfQogCiAgICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdl
RnJvbUZyb250ZW5kKG1fbWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9t
ZXNzYWdlcy5pc0VtcHR5KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmY2EzMTBkMDBhYzIxZGM3YjYx
YmUwYTlmZTA1NWM4YjdmN2FhZDguLmJkZTJkNDIxYjljZGI1MDUyZGJmNzhiYzJjYjUzNzY3YjVm
ZTk0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVy
bGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5j
cHAKQEAgLTUwOSw4ICs1MDksOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJl
Y3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJl
Y3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBk
YXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1Vw
ZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRp
bWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAg
ICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMC4w
MzIpOworICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50
UmVjdHNVcGRhdGVJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgZHJhd1BhaW50UmVjdHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCmlu
ZGV4IDNhYWE1MmE2YjhhYTYyZjNkYzc4ZDEyNGFkY2UxOGFlZDA3OTdmOTcuLjc5MGRhMTczYTNl
NTBiNjQ1MmFhMTBjNWM1ODk0ZTI4MDIxMzU4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHN0
YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudD4gYnVp
bGRJbnNwZWN0b3JPYmplY3RGb3JTCiAKICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKICAgICAgICAgLnNldElkKHNlZ21lbnQt
PmlkZW50aWZpZXIoKSkKLSAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAo
KSkKKyAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAoKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCkpCiAgICAgICAgIC5zZXRRdWV1ZXMoV1RGTW92ZShxdWV1ZXNPYmpl
Y3QpKQogICAgICAgICAucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKaW5kZXggZGI0Nzk5ODQxNTJlMzU2MmYzMTk0NjhiZTk1OTVlZWJiZTkwODc1
MC4uYTViOGRiYmFmM2IzMGI4YzJkOWMwN2FiM2E3Yzg1NTgzYmU5Y2IxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00ODksNyArNDg5LDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9pZCBEb2N1
bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2FkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cygwKSk7CiAKICNpZiBIQVZFKFJVTkxPT1BfVElNRVIpCiAgICAgaWYgKFNjaGVkdWxlUGFpckhh
c2hTZXQqIHNjaGVkdWxlZFBhaXJzID0gbV9mcmFtZS0+cGFnZSgpLT5zY2hlZHVsZWRSdW5Mb29w
UGFpcnMoKSkKQEAgLTEyMjUsNyArMTIyNSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2
ZXJTdWJzdGl0dXRlUmVzb3VyY2VzQWZ0ZXJEZWxheSgpCiAgICAgaWYgKG1fZnJhbWUtPnBhZ2Uo
KS0+ZGVmZXJzTG9hZGluZygpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKCFtX3N1YnN0aXR1
dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zdWJzdGl0dXRl
UmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zdWJzdGl0
dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
dm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGM3ODgzYWNiMWIxZmJl
NTBjMjk4MThiNmY0NjY2ZDljZTk2ZTQzOWYuLmQyYjY0NDA5MmFmZDZiNDEwYmRjZWY3MTg5OGY4
NjM3YTgyYjI4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtODMx
LDcgKzgzMSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0ZVRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jaGVj
a1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6
c2NoZWR1bGVDaGVja0NvbXBsZXRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cAppbmRleCBhNTNhZjExYmI5ZjkzYmEyYTgxMjNkYjFhODEwZjM4ODc5OTZmZGM1Li5lYWZjZTFi
OTY4YTRiZjExNmQ4NzFhODQ2MzM1ODExZTFjNzNmYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRh
dGVkSGFzUGVuZGluZ0V2ZW50KCkKICAgICAgICAgICAgIG1fcHJvdGVjdGVkRWxlbWVudCA9ICZl
bGVtZW50KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUKCFtX2RlcmVmRWxlbWVudFRp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygw
KSk7CiAgICAgfSAgIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAKaW5kZXggN2VmZmFkN2ZhMWM1YWEzNDQ2ZWFjMDAyOTYxOGYxMmJiNTc1YjRl
NS4uMmJkOWQ5MzVhN2Q0MmVkZWVlYjJhZjNmZjMyMjI3MzYwZmNjNDhjNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3
IEBAIHByb3RlY3RlZDoKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKICAgICAg
ICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9y
d2FyZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3VybCwg
ZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9ja0Jh
Y2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3Rl
ZChtX3VybCwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwo
KS52YWx1ZSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlk
U3RvcFRpbWVyKEZyYW1lJiBmcmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVzcykgb3ZlcnJpZGUK
QEAgLTI3NSw3ICsyNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0
cnVlOwogCiAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNl
ckdlc3R1cmVUb0ZvcndhcmQoKSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGly
ZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkg
KyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CisgICAg
ICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0
VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCku
dmFsdWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0
b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBA
IC01MzksNyArNTM5LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIGRlbGF5ID0gbV9yZWRpcmVjdC0+ZGVsYXko
KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcyhkZWxheSkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJh
bWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJhbWUsIGRlbGF5KTsKICAgICBtX3JlZGlyZWN0LT5k
aWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGltZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBiZSBudWxs
IG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50IGNhbmNlbGVkIHRoZSBsb2FkKQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIyOWU2ZWFiNjVm
NTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi43ZTgzZTFjMjViNzc5OWEwNDAxMDhiODBlYjgwZWJj
NWE1NTgyZDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApA
QCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9
IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25zdCBpbnQgcHJv
Z3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAogLy8gQ2hlY2sg
aWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7CiAKIC8vIEhvdyBtYW55
IGhlYXJ0YmVhdHMgbXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRo
ZSBsb2FkIGlzIGN1cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRT
dGFsbGVkSGVhcnRiZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcAppbmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4
Li5mMGUzOGFkZmVlZmUyMGU2MzQzYzZhYzFkMTM1NDcwOWZmNDgwOThjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQg
VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Up
CiAgICAgICAgIG1fY3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIGNh
bmNlbExvYWQoKTsKIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6
bmV3Q3Vlc1BhcnNlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbmV3Q3Vlc0F2YWlsYWJs
ZSA9IHRydWU7Ci0gICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tM
b2FkZXI6Om5ld1JlZ2lvbnNQYXJzZWQoKQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgVGV4dFRy
YWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSgpCiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIAog
ICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAKICAgICBjYW5jZWxMb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4
IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYxN2NmOTJlMTAuLjJjYmE5YzYyMGE3MWZj
MGE2MWVmNjhmYWU0MGI2ZjIwNDFhZmI0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcg
KzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4
QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGltZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2Fs
bGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVy
LT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgLy8gVGhlIHRpbWVyIHdpbGwgZGVsZXRl
IGl0c2VsZiBvbmNlIGl0IGZpcmVzLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBlMDc5MzhjOWY3NTAxNzk1Mjc5MTBhNDk2Y2U2
ZjRjYWRkMmU2MDA0Li4xMDRiNDBlNjI4MzM4OWU2N2ZiOWY5ZTFkZGMyOTc1MWZhMTAwMjhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAg
LTEwMywxMCArMTAzLDEwIEBAIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291cmNlOjpk
ZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQogICAgIHJldHVybiBSZXNv
dXJjZUxvYWRQcmlvcml0eTo6TG93OwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hl
ZFJlc291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7
CiAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCkKLSAgICAgICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBTZWNvbmRz
KDApOwogCiAgICAgcmV0dXJuIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCk7CiB9CkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWVkZWQoKQogewogICAgIGlmICghbV9kZWNv
ZGVkU2l6ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICghTWVtb3J5Q2FjaGU6OnNpbmdsZXRv
bigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKS5jb3VudCgpKQorICAgIGlmICgh
TWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fZGVjb2RlZERhdGFEZWxldGlvblRpbWVyLnJlc3Rh
cnQoKTsKIH0KQEAgLTgxNSw3ICs4MTUsNyBAQCBpbmxpbmUgQ2FjaGVkUmVzb3VyY2U6OkNhbGxi
YWNrOjpDYWxsYmFjayhDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UsIENhY2hlZFJlc291cgogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aW1lcigqdGhpcywgJkNhbGxiYWNrOjp0aW1l
ckZpcmVkKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJjZTo6
Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJmM2Rm
MzYxMWZiNzU5MzM1NGFhLi44MjAxOTQyMzYxOWY5OTYzMzk2ZDRhNGY5ZDY4NWE0ODdhOGM2ZGEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJmb3Jt
CiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJiYWdl
Q29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcygwKSk7CiB9CiAKIC8vIEdhcmJhZ2UgY29sbGVjdGluZyBtX2RvY3VtZW50UmVzb3VyY2Vz
IGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmNwcAppbmRleCBkOGQzMGRmYzRlZTkxMDNiMzRkZjhhMTdiYmQ0NzVkZDhhOWU4
Mjc5Li4zYTk2MDBiZmY2YTIzNjFiZTMyMDRiNjRjNmYwNjBmYzc0ODIwNzYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNp
dHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBjb25zdCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2
ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29uZHMuCiBzdGF0aWMgY29uc3QgZmxvYXQgY1Rhcmdl
dFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8vIFBlcmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJk
IHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBpbW1lZGlhdGVseSBwcnVuaW5nIGFnYWluLgotc3Rh
dGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHsgMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IFNlY29uZHMoMCk7CiAKIE1lbW9yeUNhY2hlJiBNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkKIHsKQEAgLTc2NywxMSArNzY3LDEzIEBAIHZvaWQgTWVtb3J5
Q2FjaGU6OnBydW5lKCkKIAogdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmVTb29uKCkKIHsKLSAgICAg
aWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQorICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQotICAgICAg
ICAgcmV0dXJuOwotICAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDApOworCisgICAgaWYg
KCFuZWVkc1BydW5pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wcnVuZVRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5
NjMwNTM4ZjI4MmJlNThkMTcwZC4uNzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTky
NmIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEy
NSw4ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25l
ZCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAg
IHZvaWQgc2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsKSB7IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9
IGludGVydmFsOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsOyB9CisgICAgdm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
ID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwoKSBjb25zdCB7IHJldHVybiBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0K
IAogICAgIC8vIENhbGxzIHRvIHB1dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBv
ZiBMUlUgbGlzdHMuCiAgICAgdm9pZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsK
QEAgLTE5OSw3ICsxOTksNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAg
ICAgdW5zaWduZWQgbV9taW5EZWFkQ2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2Fw
YWNpdHk7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVz
IGN1cnJlbnRseSBjb25zdW1lZCBieSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAg
ICB1bnNpZ25lZCBtX2RlYWRTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBj
b25zdW1lZCBieSAiZGVhZCIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3
Y2M3NzAzMGY1ZjY5NGUzMGJiMmQuLmNhMGMxZDk0MDIwNDU5ZThiODBlMmI2YjM3YTY2YWM1ZTU4
MDEwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApA
QCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24g
PSA2OwogLy8gSWNvbnMgZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50
IGljb25FeHBpcmF0aW9uVGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVw
ZGF0ZVRpbWVyRGVsYXkgPSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVs
YXkgPSBTZWNvbmRzKDUpOwogCiBzdGF0aWMgYm9vbCBjaGVja0ludGVncml0eU9uT3BlbiA9IGZh
bHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmlu
ZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLmNjMWI2N2Y2MGM0
YmUzZmE0YWE2NDI0YzgxNTU4OTgxN2Y2NDk5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
QXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9sbERlbGF5ID0gMC4yOwogCiAvLyBX
aGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8g
dGhlIHNjcm9sbCBldmVyeSAwLjA1cyB0byBtYWtlIGl0IHNtb290aAotc3RhdGljIGNvbnN0IGRv
dWJsZSBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0
b3Njcm9sbEludGVydmFsID0gU2Vjb25kcygwLjA1KTsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xM
SU5HKQogc3RhdGljIEZyYW1lKiBnZXRNYWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKaW5kZXggY2ZlYTEwYzRk
OWNlZWEzNGNiZGZkMjEwYjUzZjcxYWE3ZjgxYmU0NC4uYjZhN2FjYWZiOTI3ODU1MGE1Y2YzODlh
OGZhOGVkN2U2YjgwNGVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2Vy
UHJlZmVyZW5jZXMuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJl
bmNlczo6bm90aWZ5KCkKIAogICAgIG1faGF2ZVByZWZlcmVuY2VzID0gdHJ1ZTsKICAgICBpZiAo
IW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBDYXB0aW9uVXNl
clByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6
Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXggOThiMjJiYWZlMmNmYmJk
NmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNGNhNWVjY2Y3OWRmMzA2MGZmZDgwY2EyMWM4NzYw
NzAyMGE1Njc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclBy
ZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBAQCB2b2lkIENhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVyZW5jZUNo
YW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJpbmcgdGhlIGNhcHRpb24g
c3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgaW5k
aXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBvcgogICAgIC8vIHZpZGVv
IGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0gICAgbV91cGRhdGVTdHls
ZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlU3R5bGVTaGVldFRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRjo6Y2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGlt
ZXIuY3BwCmluZGV4IGQwM2MxYjAyZmU2MDIzYjYyMzE3YzMxMWQzNmMzZGE1ZmFkYzRmZDUuLmFl
NjQ1NGIzOGFkYjJjYzVmOWY3ODIwMDdmY2M4NWJjYzg4NTA0NTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
VGltZXIuY3BwCkBAIC01MSw4ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGF1dG8gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxMDAw
bXM7IC8vIE9uZSBzZWNvbmQgbWF0Y2hlcyBHZWNrby4KLXN0YXRpYyBjb25zdCBhdXRvIG1pbklu
dGVydmFsRm9yTm9uVXNlck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSAxMDAwbXM7IC8vIEVtcGly
aWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1pemUgYmF0dGVyeSBsaWZlLgorc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSBTZWNvbmRzKDEp
OyAvLyBPbmUgc2Vjb25kIG1hdGNoZXMgR2Vja28uCitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5J
bnRlcnZhbEZvck5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlVGltZXJzID0gU2Vjb25kcygxKTsgLy8g
RW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMg
Y29uc3QgaW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJl
U3RhdGUgewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1l
cnNNYXA6OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBi
b29sIHNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGlu
dGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndh
cmRVc2VyR2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAg
IHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAg
ICAgICAgJiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcK
ICAgICAgICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3
YXJkZWQgdG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8
VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVy
dmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0
dXJlKGludGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAg
LTE3NSwxMiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+
IHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6
OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRl
cnZhbCwgYm9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlv
biwgU2Vjb25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVU
aW1lcihjb250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdM
ZXZlbCgpKQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5h
bEludGVydmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkK
ICAgICAsIG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkp
CiAgICAgLCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9y
d2FyZChpbnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERP
TVRpbWVyOjp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xl
U2hvdCkKK2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBh
c3NlcyBvd25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNv
bnN0cnVjdG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21h
dGljYWxseSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAg
LTIxMCw3ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElP
UykKICAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVm
ZXJUaW1lb3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAg
ICAgIGlmICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2lu
Z2xlU2hvdCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoMTAwKSAmJiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAg
ICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShXS0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdl
KTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9ic2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVy
KTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlmIG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hh
bmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVv
dXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9u
bzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6
ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVlKCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAv
LyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBpbnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGlt
ZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRUaW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4
dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIxIEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRp
bWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChyZXBl
YXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VSVChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJl
dmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERP
TVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0
ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgp
LCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0
SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFsKTsKKyAgICAgICAgTE9HKERPTVRpbWVycywg
IiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBlYXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRv
ICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxs
aXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAg
ICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlv
dXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0g
VXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8g
JSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZh
bC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBMT0co
RE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01UaW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAl
LjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMo
KSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAt
IHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9N
VGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgQVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1h
eFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMs
IG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0byBpbnRlcnZhbCA9IHN0ZDo6bWF4KFNlY29u
ZHM6OmZyb21NaWxsaXNlY29uZHMoMSksIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAvLyBP
bmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9uZXN0
aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBAIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1PcHRpb25hbDxzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzPiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgZmlyZVRpbWUpIGNvbnN0CitPcHRpb25hbDxNb25vdG9uaWNUaW1lPiBET01U
aW1lcjo6YWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1RpbWUgZmlyZVRpbWUpIGNvbnN0CiB7Ci0g
ICAgYXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7Ci0gICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBtcykKKyAgICBTZWNvbmRzIGFsaWdu
bWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT50aW1lckFsaWdubWVudElu
dGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKKyAgICBpZiAo
IWFsaWdubWVudEludGVydmFsKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAKKyAgICAv
LyBEbyB3ZSByZWFsbHkgd2FudCB0byBpbml0aWFsaXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1
c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0g
cmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3JjZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFs
aWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJldHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBl
LmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rp
b24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVudEludGVydmFscywgZS5nLgogICAgIC8vIGlm
IGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCByYW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0
aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAuLi4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZz
ZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFk
anVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJu
IGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRGaXJlVGltZSAlIGFsaWdubWVudEludGVydmFs
KSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9taXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJh
bmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9u
OworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRGaXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9t
aXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChh
ZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50
ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0Owog
fQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggOTZjOGIzYmI2NWE3ZmNmMjY3ZThlMGFkZTZjZmNlMGZi
OWFkYTdkNC4uNDQ1YjVmMThhZDA5YjUwZWQ3N2I3ZTI5NDU2MzNkNTU3YjQ1OTlhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGltZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7
IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50
SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0K
KyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWluaW11bUludGVydmFsKCkgeyByZXR1cm4gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyg0KTsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1bHRB
bGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIFNlY29uZHMoMCk7IH0KKyAgICBzdGF0aWMgU2Vj
b25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiBTZWNvbmRzKDEpOyB9
CiAKICAgICAvLyBDcmVhdGVzIGEgbmV3IHRpbWVyIG93bmVkIGJ5IHNwZWNpZmllZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBzdGFydHMgaXQKICAgICAvLyBhbmQgcmV0dXJucyBpdHMgSWQuCi0g
ICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lb3V0
LCBib29sIHNpbmdsZVNob3QpOworICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVCeUlkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBpbnQgdGltZW91dElkKTsKIAogICAgIC8vIE5vdGlmeSB0aGF0
IHRoZSBpbnRlcnZhbCBtYXkgbmVlZCB1cGRhdGluZyAoZS5nLiBiZWNhdXNlIHRoZSBtaW5pbXVt
IGludGVydmFsCkBAIC02MCwxMCArNjAsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNj
cmlwdERpZEludGVyYWN0V2l0aFBsdWdpbihIVE1MUGx1Z0luRWxlbWVudCYpOwogCiBwcml2YXRl
OgotICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgYm9v
bCBzaW5nbGVTaG90KTsKKyAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3Rk
Ojp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2lu
Z2xlU2hvdCk7CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CisgICAgU2Vj
b25kcyBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsKIAogICAgIGJvb2wgaXNET01U
aW1lcnNUaHJvdHRsaW5nRW5hYmxlZChEb2N1bWVudCYpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
VGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoY29uc3QgRE9NVGltZXJGaXJlU3RhdGUmKTsKQEAg
LTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBTdXNwZW5kYWJsZVRpbWVyCiAgICAgdm9p
ZCBmaXJlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkU3RvcCgpIG92ZXJyaWRlOwotICAgIE9w
dGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBPcHRpb25hbDxNb25vdG9u
aWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9i
amVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTg1LDEwICs4NSwxMCBAQCBwcml2YXRlOgog
ICAgIGludCBtX3RpbWVvdXRJZDsKICAgICBpbnQgbV9uZXN0aW5nTGV2ZWw7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247Ci0gICAgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7Ci0gICAgVGltZXJUaHJvdHRsZVN0YXRlIG1f
dGhyb3R0bGVTdGF0ZTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fY3VycmVudFRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7CisgICAgU2Vjb25k
cyBtX2N1cnJlbnRUaW1lckludGVydmFsOwogICAgIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiBt
X3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQ7CisgICAgVGltZXJUaHJvdHRsZVN0YXRlIG1fdGhy
b3R0bGVTdGF0ZSB7IFVuZGV0ZXJtaW5lZCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDJhOTM5M2FmOGI2OGJmZWJhYTFkNmYw
YWM0YjZjYWY4ZGU2OTI5N2IuLjA1NzAxNTMyZTFmZjQ4ZDgzMWJhNjYwMjQ1YTNkOWY4Njc0ODg1
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTk1OCw3ICs5NTgsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFJlZjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+JiYgbWVzc2FnZSwgVgogCiAgICAgLy8gU2NoZWR1bGUgdGhlIG1lc3NhZ2UuCiAgICAg
YXV0byogdGltZXIgPSBuZXcgUG9zdE1lc3NhZ2VUaW1lcigqdGhpcywgV1RGTW92ZShtZXNzYWdl
KSwgc291cmNlT3JpZ2luLCBzb3VyY2UsIGNoYW5uZWxzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBX
VEZNb3ZlKHRhcmdldCksIFdURk1vdmUoc3RhY2tUcmFjZSkpOwotICAgIHRpbWVyLT5zdGFydE9u
ZVNob3QoMCk7CisgICAgdGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIHJl
dHVybiB7IH07CiB9CkBAIC0xNjQ4LDcgKzE2NDgsNyBAQCBFeGNlcHRpb25PcjxpbnQ+IERPTVdp
bmRvdzo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24s
CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAo
IWNvbnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIg
fTsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJu
IERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6Y2xl
YXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCkBAIC0xNjgwLDcgKzE2ODAsNyBAQCBFeGNlcHRpb25P
cjxpbnQ+IERPTVdpbmRvdzo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJ
RF9BQ0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBX
VEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNl
KTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9u
KSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lk
IERPTVdpbmRvdzo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGV2aWNlQ29udHJvbGxlci5jcHAKaW5kZXggM2MzODQzMDk1NjM0OTYyMmFlMmUxOWZkNWI3
NjAzODVjOTU5MDRjYy4uNzA0OWI2MmQ1ODNjNWExNDM2NTIyOWQ4ODk1MjNiM2I4OTlkYTE5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCkBAIC00OCw3ICs0OCw3
IEBAIHZvaWQgRGV2aWNlQ29udHJvbGxlcjo6YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcihET01XaW5k
b3cqIHdpbmRvdykKICAgICBpZiAoaGFzTGFzdERhdGEoKSkgewogICAgICAgICBtX2xhc3RFdmVu
dExpc3RlbmVycy5hZGQod2luZG93KTsKICAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0eSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlOTRhOTI1NTJjOTk2YTUzOGU0
NjY4MmNlYjMxZTM1MTkxYTMzMzdhLi43M2M3MTdkMDFjNDUyZGJiYzlhYjc5Mjg0OGVlNWI3OTEy
YWE0MjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUgKzE1
NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRpbWUg
dG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAogLy8g
ZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29udGVu
dCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVyYXRp
b25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVzZWQu
Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsKLWNv
bnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRvdWJs
ZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFrZU1v
dXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gU2Vjb25kcygwLjAxKTsKK2NvbnN0IFNlY29uZHMg
ZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMSk7Citjb25zdCBTZWNvbmRz
IGZha2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMjUpOwogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBm
b3IgYSBjdXJzb3IgdXBkYXRlIG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRv
IDUwSHosIG5vIG5lZWQgdG8gYmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJh
dGUKLWNvbnN0IGRvdWJsZSBjdXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNv
bmRzIGN1cnNvclVwZGF0ZUludGVydmFsID0gU2Vjb25kcygwLjAyKTsKIAogY29uc3QgaW50IG1h
eGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCkBAIC0xOTMsMjAgKzE5MywyMCBAQCBwcml2
YXRlOgogCiBjbGFzcyBNYXhpbXVtRHVyYXRpb25UcmFja2VyIHsKIHB1YmxpYzoKLSAgICBleHBs
aWNpdCBNYXhpbXVtRHVyYXRpb25UcmFja2VyKGRvdWJsZSAqbWF4RHVyYXRpb24pCisgICAgZXhw
bGljaXQgTWF4aW11bUR1cmF0aW9uVHJhY2tlcihTZWNvbmRzJiBtYXhEdXJhdGlvbikKICAgICAg
ICAgOiBtX21heER1cmF0aW9uKG1heER1cmF0aW9uKQotICAgICAgICAsIG1fc3RhcnQobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkpCisgICAgICAgICwgbV9zdGFydChNb25vdG9uaWNUaW1l
Ojpub3coKSkKICAgICB7CiAgICAgfQogCiAgICAgfk1heGltdW1EdXJhdGlvblRyYWNrZXIoKQog
ICAgIHsKLSAgICAgICAgKm1fbWF4RHVyYXRpb24gPSBzdGQ6Om1heCgqbV9tYXhEdXJhdGlvbiwg
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3N0YXJ0KTsKKyAgICAgICAgbV9tYXhE
dXJhdGlvbiA9IHN0ZDo6bWF4KG1fbWF4RHVyYXRpb24sIE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9zdGFydCk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIGRvdWJsZSogbV9tYXhEdXJhdGlvbjsK
LSAgICBkb3VibGUgbV9zdGFydDsKKyAgICBTZWNvbmRzJiBtX21heER1cmF0aW9uOworICAgIE1v
bm90b25pY1RpbWUgbV9zdGFydDsKIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAh
RU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBFdmVudEhh
bmRsZXI6OmNsZWFyKCkKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludERvY3VtZW50ID0gbnVs
bHB0cjsKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRhcmdldEtleSA9IDA7CiAjZW5kaWYK
LSAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDA7CisgICAgbV9tYXhNb3VzZU1vdmVkRHVy
YXRpb24gPSBTZWNvbmRzKDApOwogICAgIG1fYmFzZUV2ZW50VHlwZSA9IFBsYXRmb3JtRXZlbnQ6
Ok5vVHlwZTsKICAgICBtX2RpZFN0YXJ0RHJhZyA9IGZhbHNlOwogfQpAQCAtMTgyMCw3ICsxODIw
LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2
ZW50JiBldmVudCkKIHsKICAgICBSZWY8RnJhbWU+IHByb3RlY3RlZEZyYW1lKG1fZnJhbWUpOwog
ICAgIFJlZlB0cjxGcmFtZVZpZXc+IHByb3RlY3RvcihtX2ZyYW1lLnZpZXcoKSk7Ci0gICAgTWF4
aW11bUR1cmF0aW9uVHJhY2tlciBtYXhEdXJhdGlvblRyYWNrZXIoJm1fbWF4TW91c2VNb3ZlZER1
cmF0aW9uKTsKKyAgICBNYXhpbXVtRHVyYXRpb25UcmFja2VyIG1heER1cmF0aW9uVHJhY2tlciht
X21heE1vdXNlTW92ZWREdXJhdGlvbik7CiAKICAgICBpZiAobV9mcmFtZS5tYWluRnJhbWUoKS5w
YWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5oYW5kbGVNb3VzZUV2ZW50KGV2ZW50KSkKICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC0yODk4LDcgKzI4OTgsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2Vu
ZENvbnRleHRNZW51RXZlbnRGb3JLZXkoKQogdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92
ZXJTdGF0ZVVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX2hvdmVyVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9ob3ZlclRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9S
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDliY2FjNzJjN2UyMTYzMjEwOTE1
ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUzYjM2ODliNmEyZDUyYTY5NDg4
ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNTcwLDcgKzU3MCw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAot
ICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAgfTsKKyAgICBTZWNvbmRzIG1f
bWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZlbnQ6OlR5cGUgbV9iYXNlRXZl
bnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAgYm9vbCBtX2RpZFN0YXJ0RHJh
ZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVlbEV2ZW50IHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggNDc0MjI4ODA3MmNlNWE1YTFlYjdh
OTA0ZjUyMTUzM2Y1ZTUyNDVjNy4uZWFkMjkwOTdlMzc1MTkyZWI2YmZlZjI3NjFmZDJiYzczYTFl
ZmU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRfdCBFdmVudFNvdXJjZTo6ZGVm
YXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29uZHMgRXZlbnRTb3VyY2U6OmRl
ZmF1bHRSZWNvbm5lY3REZWxheSA9IFNlY29uZHMoMyk7CiAKIGlubGluZSBFdmVudFNvdXJjZTo6
RXZlbnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1
cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5pdCkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgm
Y29udGV4dCkKQEAgLTEzMiwxMyArMTMyLDEzIEBAIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxl
SW5pdGlhbENvbm5lY3QoKQogICAgIEFTU0VSVChtX3N0YXRlID09IENPTk5FQ1RJTkcpOwogICAg
IEFTU0VSVCghbV9yZXF1ZXN0SW5GbGlnaHQpOwogCi0gICAgbV9jb25uZWN0VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNvbm5lY3QoKQogewogICAgIG1fc3Rh
dGUgPSBDT05ORUNUSU5HOwotICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdChtX3JlY29u
bmVjdERlbGF5IC8gMTAwMC4wKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9y
ZWNvbm5lY3REZWxheSk7CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIApAQCAtMzU1LDkgKzM1NSw5IEBA
IHZvaWQgRXZlbnRTb3VyY2U6OnBhcnNlRXZlbnRTdHJlYW1MaW5lKHVuc2lnbmVkIHBvc2l0aW9u
LCBPcHRpb25hbDx1bnNpZ25lZD4gZmllCiAgICAgICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVh
bGx5IHdhbnQgdG8gaWdub3JlIHRyYWlsaW5nIGdhcmJhZ2UgaGVyZT8gU2hvdWxkIHdlIGJlIHVz
aW5nIHRoZSBzdHJpY3QgdmVyc2lvbiBpbnN0ZWFkPwogICAgICAgICAgICAgLy8gRklYTUU6IElm
IHdlIGNhbid0IHBhcnNlIHRoZSB2YWx1ZSwgc2hvdWxkIHdlIGxlYXZlIG1fcmVjb25uZWN0RGVs
YXkgYWxvbmUgb3Igc2V0IGl0IHRvIGRlZmF1bHRSZWNvbm5lY3REZWxheT8KICAgICAgICAgICAg
IGJvb2wgb2s7Ci0gICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5ID0gY2hhcmFjdGVyc1Rv
VUludDY0KCZtX3JlY2VpdmVCdWZmZXJbcG9zaXRpb25dLCB2YWx1ZUxlbmd0aCwgJm9rKTsKKyAg
ICAgICAgICAgIGF1dG8gcmVjb25uZWN0RGVsYXlNUyA9IGNoYXJhY3RlcnNUb1VJbnQ2NCgmbV9y
ZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7CiAgICAgICAgICAgICBp
ZiAob2spCi0gICAgICAgICAgICAgICAgbV9yZWNvbm5lY3REZWxheSA9IHJlY29ubmVjdERlbGF5
OworICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSBTZWNvbmRzOjpmcm9tTWlsbGlz
ZWNvbmRzKHJlY29ubmVjdERlbGF5TVMpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5oCmluZGV4IDAzYWVjMmJiMzFiOGFhZTUyOTRiNmY3OTk4NDY4ZGRiOTE2
YTk4ZGQuLmM5NDYxNTc5MjAyNDgwM2NiYWIyOTk3OTQyZDdjODU0OWEwZDFiNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTk4LDcgKzk4LDcgQEAgcHJpdmF0ZToKIAogICAgIGJv
b2wgcmVzcG9uc2VJc1ZhbGlkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBjb25zdDsKIAotICAg
IHN0YXRpYyBjb25zdCB1aW50NjRfdCBkZWZhdWx0UmVjb25uZWN0RGVsYXk7CisgICAgc3RhdGlj
IGNvbnN0IFNlY29uZHMgZGVmYXVsdFJlY29ubmVjdERlbGF5OwogCiAgICAgVVJMIG1fdXJsOwog
ICAgIGJvb2wgbV93aXRoQ3JlZGVudGlhbHM7CkBAIC0xMTUsNyArMTE1LDcgQEAgcHJpdmF0ZToK
ICAgICBWZWN0b3I8VUNoYXI+IG1fZGF0YTsKICAgICBTdHJpbmcgbV9jdXJyZW50bHlQYXJzZWRF
dmVudElkOwogICAgIFN0cmluZyBtX2xhc3RFdmVudElkOwotICAgIHVpbnQ2NF90IG1fcmVjb25u
ZWN0RGVsYXkgeyBkZWZhdWx0UmVjb25uZWN0RGVsYXkgfTsKKyAgICBTZWNvbmRzIG1fcmVjb25u
ZWN0RGVsYXkgeyBkZWZhdWx0UmVjb25uZWN0RGVsYXkgfTsKICAgICBTdHJpbmcgbV9ldmVudFN0
cmVhbU9yaWdpbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcApp
bmRleCBhN2IyNTU3ZTY5NDZkYjllNTYxMTU3YWRmNzJjYzI4MjZlZmU4NzQ3Li45MzhiZTA2NGIx
YTQ3MTg0ZmRmNDc5YzhiMWMzNmM5NzEzMjExMjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwCkBAIC0xMDg4LDcgKzEwODgsNyBAQCBib29sIEZvY3VzQ29udHJvbGxl
cjo6YWR2YW5jZUZvY3VzRGlyZWN0aW9uYWxseShGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24sIEtl
eWJvYQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFp
bnQoKQogewotICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAuMDMzKTsKKyAg
ICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNv
bmRzKDMzKSk7CiB9CiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggMzdmYjdkYWYxZmQ5ZTI5NTZiYWY1MGYxY2E1
YzhhYTkzYmQwYzI0Mi4uNTVjZjQzNmU2ODkzYWE5ZjVjY2JhMGVjNjMyYjc2MzViMTczYTAyYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29u
c3QgdW5zaWduZWQgc2Nyb2xsRnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc2Nyb2xsRnJlcXVlbmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVG
SU5FX0RFQlVHX09OTFlfR0xPQkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNv
dW50ZXIsICgiRnJhbWUiKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYTYxOWEw
YjI2NWE3Njc1NDAwZmQyZTI4OWQ2MzBmYmVkOTU0ZjYyMS4uOTE1NjU2NGRiYTQ1ZjBmM2FiNjIx
NTJjNjU3YjRmNWY4Mjk0YTQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2
MCw3ICsxNTYwLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkK
ICAgICAgICAgICAgIC8vIGRlZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1
bnRpbCBhZnRlciB3ZSByZXR1cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBj
YW4gbWFrZSB1cyBuZWVkIHRvIHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4g
YSBuYXN0eSBjeWNsZSB1bmxlc3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0
aGUgdGltZXIgaGVyZS4KLSAgICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiAgICAgICAgICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAg
ICAgICAgICBsYXlvdXQoKTsKICAgICAgICAgfQpAQCAtMjQ0Myw3ICsyNDQzLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBTY3JvbGxQb3NpdGlvbiYgb2xk
UG9zaXRpb24sIGNvbnN0IFMKICAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdG9w
KCk7CiAgICAgICAgIHNlbmRTY3JvbGxFdmVudCgpOwogICAgIH0gZWxzZSBpZiAoIW1fZGVsYXll
ZFNjcm9sbEV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZl
bnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5LnZhbHVlKCkpOworICAgICAgICBt
X2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5nRGVsYXkpOwog
CiAgICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkKICAgICAg
ICAgZG9jdW1lbnQtPnNlbmRXaWxsUmV2ZWFsRWRnZUV2ZW50c0lmTmVlZGVkKG9sZFBvc2l0aW9u
LCBuZXdQb3NpdGlvbiwgdmlzaWJsZUNvbnRlbnRSZWN0KCksIGNvbnRlbnRzU2l6ZSgpKTsKQEAg
LTI4NDEsNyArMjg0MSw3IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGlu
Z0lmTmVlZGVkKCkKICAgICBpZiAobV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyLmlzQWN0
aXZlKCkpCiAgICAgICAgIHJldHVybjsKICAgICAvLyBEZWxheSBlbmFibGluZyBhIGJpdCBhcyBs
b2FkIGNvbXBsZXRpb24gbWF5IHRyaWdnZXIgZnVydGhlciBsb2FkaW5nIGZyb20gc2NyaXB0cy4K
LSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgPSAw
LjU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxh
eSA9IFNlY29uZHMoMC41KTsKICAgICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3Rh
cnRPbmVTaG90KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkpOwogfQogCkBAIC0yOTE0LDcg
KzI5MTQsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2NoZWR1bGVSZWxheW91dCgpCiAgICAgICAgIHBy
aW50ZigiU2NoZWR1bGluZyBsYXlvdXQgZm9yICVkXG4iLCBkZWxheSk7CiAjZW5kaWYKIAotICAg
IG1fbGF5b3V0VGltZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsKKyAgICBtX2xheW91dFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGRlbGF5LmNvdW50KCkpKTsKIH0K
IAogc3RhdGljIGJvb2wgaXNPYmplY3RBbmNlc3RvckNvbnRhaW5lck9mKFJlbmRlck9iamVjdCog
YW5jZXN0b3IsIFJlbmRlck9iamVjdCogZGVzY2VuZGFudCkKQEAgLTI5NDksNyArMjk0OSw3IEBA
IHZvaWQgRnJhbWVWaWV3OjpzY2hlZHVsZVJlbGF5b3V0T2ZTdWJ0cmVlKFJlbmRlckVsZW1lbnQm
IG5ld1JlbGF5b3V0Um9vdCkKICAgICAgICAgbV9sYXlvdXRSb290ID0gJm5ld1JlbGF5b3V0Um9v
dDsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlkYXRlTGF5b3V0
KGZyYW1lKCkpOwogICAgICAgICBtX2RlbGF5ZWRMYXlvdXQgPSBkZWxheS5jb3VudCgpOwotICAg
ICAgICBtX2xheW91dFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgICAgIG1fbGF5b3V0
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoZGVsYXkuY291bnQo
KSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zNDI5LDcgKzM0MjksNyBAQCB2b2lk
IEZyYW1lVmlldzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcygpCiAgICAgLy8gaXMgY2FsbGVkIHRo
cm91Z2ggdGhlIHBvc3QgbGF5b3V0IHRpbWVyLgogICAgIFJlZjxGcmFtZVZpZXc+IHByb3RlY3Rl
ZFRoaXMoKnRoaXMpOwogCi0gICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiAKICAgICBpZiAoYXV0byogcGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7CiAg
ICAgICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBhZTk2NjA4MTFiNDM5MGVjN2RkYmI1
NjhiZmM2NWRmNDFjNWU5YzFkLi42NTg3MTVlOTUzM2UxZDZkMGNjNTdiNzgyZjEzNjFmYzdkZWVi
ODNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTEyNDMsNyArMTI0Myw3IEBAIHZvaWQgUGFnZTo6
c2V0VGltZXJUaHJvdHRsaW5nU3RhdGUoVGltZXJUaHJvdHRsaW5nU3RhdGUgc3RhdGUpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIG1fdGltZXJUaHJvdHRsaW5nU3RhdGUgPSBzdGF0ZTsKLSAgICBt
X3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6bm93KCk7CisgICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgdXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJ
bnRlcnZhbCgpOwogCkBAIC0xMjU2LDcgKzEyNTYsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhy
b3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0bGluZ1N0YXRlIHN0YXRlKQogICAgIH0KIH0KIAotdm9p
ZCBQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGxpbWl0KQordm9pZCBQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVy
dmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogewogICAgIG1fdGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQgPSBsaW1pdDsKIApAQCAtMTI4NCw4ICsxMjg0LDggQEAgdm9p
ZCBQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKCkKICAgICAgICAgaWYgKG1f
aXNQcmVyZW5kZXIpCiAgICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgIEFTU0VSVChtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lLnRpbWVf
c2luY2VfZXBvY2goKSAhPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbjo6emVy
bygpKTsKLSAgICAgICAgICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IHN0ZDo6Y2hyb25v
OjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6Om5vdygpIC0gbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSk7CisgICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2Vk
VGltZSk7CisgICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBNb25vdG9uaWNU
aW1lOjpub3coKSAtIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CiAgICAg
ICAgICAgICAvLyBJZiB3ZSdyZSBiZWxvdyB0aGUgbGltaXQsIHNldCB0aGUgdGltZXIuIElmIGFi
b3ZlLCBjbGFtcCB0byBsaW1pdC4KICAgICAgICAgICAgIGlmIChtX3RpbWVyQWxpZ25tZW50SW50
ZXJ2YWwgPCBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KQogICAgICAgICAg
ICAgICAgIG5lZWRzSW5jcmVhc2VUaW1lciA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDIwMGFi
Mzk2ZTM3Zjc5Njg2NGQwZTQ2MDI0YWMxZTg1ZmJmOTgwZjYuLjcyYTBiZjA0NTIzY2Y5MzUyZGI5
NTgxNmEwZjMyOWUxYTI1MTEyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yMjUsNyArMjI1LDcgQEAg
cHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlciYgcHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiAq
bV9wcm9ncmVzczsgfQogICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlciYgYmFja0ZvcndhcmQoKSBj
b25zdCB7IHJldHVybiAqbV9iYWNrRm9yd2FyZENvbnRyb2xsZXI7IH0KIAotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0
dXJuIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsgfQorICAgIFNlY29uZHMgZG9tVGltZXJBbGln
bm1lbnRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsg
fQogCiAjaWYgRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAgICAgZW51bSBWaWV3TW9kZSB7
CkBAIC01MjgsNyArNTI4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hvd0FsbFBsdWdpbnMo
Ym9vbCBzaG93QWxsKSB7IG1fc2hvd0FsbFBsdWdpbnMgPSBzaG93QWxsOyB9CiAgICAgYm9vbCBz
aG93QWxsUGx1Z2lucygpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNy
ZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgYm9vbCBpc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24o
KSBjb25zdCB7IHJldHVybiBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb247IH0KICAgICB2b2lkIHNl
dENvbnRyb2xsZWRCeUF1dG9tYXRpb24oYm9vbCBjb250cm9sbGVkKSB7IG1fY29udHJvbGxlZEJ5
QXV0b21hdGlvbiA9IGNvbnRyb2xsZWQ7IH0KQEAgLTY2NywxMCArNjY3LDEwIEBAIHByaXZhdGU6
CiAjZW5kaWYgLy8gRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAKICAgICBUaW1lclRocm90
dGxpbmdTdGF0ZSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlIHsgVGltZXJUaHJvdHRsaW5nU3RhdGU6
OkRpc2FibGVkIH07Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBt
X3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lIHsgc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSB9OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbV90aW1lckFsaWdubWVudEludGVydmFsOworICAgIE1vbm90b25pY1RpbWUgbV90aW1lclRo
cm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZTsKKyAgICBTZWNvbmRzIG1fdGltZXJBbGlnbm1l
bnRJbnRlcnZhbDsKICAgICBUaW1lciBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZVRp
bWVyOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVy
dmFsSW5jcmVhc2VMaW1pdCB7IDAgfTsKKyAgICBTZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRl
cnZhbEluY3JlYXNlTGltaXQ7CiAKICAgICBib29sIG1faXNFZGl0YWJsZTsKICAgICBib29sIG1f
aXNQcmVyZW5kZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IGU3MGJjYTA1
MjNmMGUzOTVmODc3ZmY2M2MxMmFhMzk1NTdhZGVkN2MuLmU5MDJiMDI1OGQxZTE4OWE2MDAzMjI0
ZmNkYTI0NjhkOWE0YmU3MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92
ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC0z
OCw3ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUg
ZmFkZUFuaW1hdGlvbkR1cmF0aW9uID0gMC4yOwotc3RhdGljIGNvbnN0IGRvdWJsZSBmYWRlQW5p
bWF0aW9uRnJhbWVSYXRlID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBmYWRlQW5pbWF0aW9u
SW50ZXJ2YWwgPSBTZWNvbmRzKDEuMCAvIDMwKTsKIAogc3RhdGljIFBhZ2VPdmVybGF5OjpQYWdl
T3ZlcmxheUlEIGdlbmVyYXRlUGFnZU92ZXJsYXlJRCgpCiB7CkBAIC0yNTAsNyArMjUwLDcgQEAg
dm9pZCBQYWdlT3ZlcmxheTo6c3RvcEZhZGVPdXRBbmltYXRpb24oKQogdm9pZCBQYWdlT3Zlcmxh
eTo6c3RhcnRGYWRlQW5pbWF0aW9uKCkKIHsKICAgICBtX2ZhZGVBbmltYXRpb25TdGFydFRpbWUg
PSBjdXJyZW50VGltZSgpOwotICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5n
KDEgLyBmYWRlQW5pbWF0aW9uRnJhbWVSYXRlKTsKKyAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5z
dGFydFJlcGVhdGluZyhmYWRlQW5pbWF0aW9uSW50ZXJ2YWwpOwogfQogCiB2b2lkIFBhZ2VPdmVy
bGF5OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmlu
ZGV4IDZlYzMwNmRhMTcxZTk3YzUzOGY0NzM1MWQwZGIxMjc5ZWJkNTFiOTkuLjVmNjRmYWRkYzQz
NmY1OGE5NWEwNTc0MTg2MGFlODNmZmRjNzk2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
CkBAIC0xNzIsNyArMTcyLDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFJlcXVpcmVzVXNl
ckdlc3R1cmVUb0xvYWRWaWRlbyA9IHRydWU7CiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRB
bGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IHRydWU7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5T
ZWNvbmRzID0gNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRl
cmluZ1N1cHByZXNzaW9uVGltZW91dCA9IFNlY29uZHMoNSk7CiAjaWYgVVNFKFVOSUZJRURfVEVY
VF9DSEVDS0lORykKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJF
bmFibGVkID0gdHJ1ZTsKICNlbHNlCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5nczo6
c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5
KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGltcG9y
dGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRoZSBQ
YWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8gcmVh
bGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBtb3Jl
IGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNldHRpbmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyRmlyZWQoKQpAQCAtNDA3LDcgKzQwNyw3IEBAIHZvaWQgU2V0dGluZ3M6OnNldEltYWdlc0Vu
YWJsZWQoYm9vbCBhcmVJbWFnZXNFbmFibGVkKQogICAgIG1fYXJlSW1hZ2VzRW5hYmxlZCA9IGFy
ZUltYWdlc0VuYWJsZWQ7CiAKICAgICAvLyBTZWUgY29tbWVudCBpbiBzZXRMb2Fkc0ltYWdlc0F1
dG9tYXRpY2FsbHkuCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRQcmVmZXJNSU1FVHlwZUZvcklt
YWdlcyhib29sIHByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKQpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIHZv
aWQgU2V0dGluZ3M6OnNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wgc2hvdWxk
Tm90UmVsb2FkSUZyYW1lc0ZvclVuCiAgICAgbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWly
ayA9IHNob3VsZE5vdFJlbG9hZElGcmFtZXNGb3JVbmNoYW5nZWRTUkM7CiB9CiAKLXZvaWQgU2V0
dGluZ3M6OnNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgaW50ZXJ2YWwpCit2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChT
ZWNvbmRzIGludGVydmFsKQogewogICAgIGF1dG8gb2xkVGltZXJJbnRlcnZhbCA9IG1fbWluaW11
bURPTVRpbWVySW50ZXJ2YWw7CiAgICAgbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbCA9IGludGVy
dmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGQwNjk1N2RhZWY2Njc3ZjcxOTM1ZjdmNWIx
M2U1MjkxM2RiZGRlYzUuLmZiMDIyZjkwZWNhYjkwMTZlOTg4NWU4YzMzZWE1MmQxODRiMWRkYjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTE2OSw4ICsxNjksOCBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29s
KTsKICAgICBib29sIG5lZWRzQWNyb2JhdEZyYW1lUmVsb2FkaW5nUXVpcmsoKSBjb25zdCB7IHJl
dHVybiBtX25lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrOyB9CiAKLSAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMpOyAvLyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZh
bCgpLgotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW11bURPTVRpbWVySW50ZXJ2
YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1lckludGVydmFsOyB9CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKTsgLy8g
SW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKS4KKyAgICBT
ZWNvbmRzIG1pbmltdW1ET01UaW1lckludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVt
RE9NVGltZXJJbnRlcnZhbDsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRMYXlvdXRJ
bnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsKICAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGxheW91dEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRJbnRlcnZh
bDsgfQpAQCAtMjQ0LDggKzI0NCw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoYm9v
bCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVT
ZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Ci0gICAgZG91YmxlIHRpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQorICAgIHZvaWQgc2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoU2Vjb25kcyB0aW1lKSB7IG1f
dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9Cisg
ICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygp
IGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVu
YWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEhpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsKQEAgLTMyNiw3ICszMjYsNyBAQCBwcml2YXRlOgog
ICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxGb250R2VuZXJpY0ZhbWlsaWVzPiBtX2ZvbnRHZW5l
cmljRmFtaWxpZXM7CiAgICAgU2VjdXJpdHlPcmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvbGljeSBt
X3N0b3JhZ2VCbG9ja2luZ1BvbGljeTsKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1f
bGF5b3V0SW50ZXJ2YWw7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX21pbmltdW1E
T01UaW1lckludGVydmFsOworICAgIFNlY29uZHMgbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsK
IAogICAgIFNFVFRJTkdTX01FTUJFUl9WQVJJQUJMRVMKIApAQCAtMzQ5LDcgKzM0OSw3IEBAIHBy
aXZhdGU6CiAjZW5kaWYKICAgICBib29sIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5h
YmxlZCA6IDE7CiAKLSAgICBkb3VibGUgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKKyAgICBTZWNvbmRzIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHM7CiAKICAgICBUaW1lciBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdz
VGltZXI7CiAgICAgdm9pZCBpbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmluCmluZGV4IDg5MWZlNzRlNzJiYzRiMjJiNGZhMGFiNWViMmU0NzBiZTc0
NDIzMjAuLjY0NmRlMWUxNDlhMzUxNzM2NGQzODljNTVmYjA4ZmU5ZTUxOTU1N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5pbgpAQCAtNyw3ICs3LDcgQEAgbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRo
IHR5cGU9U3RyaW5nCiBlZGl0YWJsZUxpbmtCZWhhdmlvciB0eXBlPUVkaXRhYmxlTGlua0JlaGF2
aW9yLCBpbml0aWFsPUVkaXRhYmxlTGlua0RlZmF1bHRCZWhhdmlvcgogdGV4dERpcmVjdGlvblN1
Ym1lbnVJbmNsdXNpb25CZWhhdmlvciB0eXBlPVRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9u
QmVoYXZpb3IsIGluaXRpYWw9VGV4dERpcmVjdGlvblN1Ym1lbnVBdXRvbWF0aWNhbGx5SW5jbHVk
ZWQKIHBkZkltYWdlQ2FjaGluZ1BvbGljeSB0eXBlPVBERkltYWdlQ2FjaGluZ1BvbGljeSwgaW5p
dGlhbCA9IFBERkltYWdlQ2FjaGluZ0RlZmF1bHQKLXBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNv
bmRzIHR5cGU9ZG91YmxlLCBpbml0aWFsPTEKK3Bhc3N3b3JkRWNob0R1cmF0aW9uIHR5cGU9U2Vj
b25kcywgaW5pdGlhbD0xCiAKICMgU2V0cyB0aGUgbWFnbmlmaWNhdGlvbiB2YWx1ZSBmb3IgdmFs
aWRhdGlvbiBtZXNzYWdlIHRpbWVyLiAgSWYgdGhlCiAjIG1hZ25pZmljYXRpb24gdmFsdWUgaXMg
TiwgYSB2YWxpZGF0aW9uIG1lc3NhZ2UgZGlzYXBwZWFycyBhdXRvbWF0aWNhbGx5IGFmdGVyCkBA
IC0xNDAsNyArMTQwLDcgQEAgbWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29tIGluaXRpYWw9
ZGVmYXVsdE1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbQogaW52aXNpYmxlQXV0b3BsYXlO
b3RQZXJtaXR0ZWQgaW5pdGlhbD1mYWxzZQogcGFzc3dvcmRFY2hvRW5hYmxlZCBpbml0aWFsPWZh
bHNlCiBzdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcgaW5pdGlhbD1mYWxzZQotaW5jcmVt
ZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMgdHlwZT1kb3VibGUsIGlu
aXRpYWw9ZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNv
bmRzCitpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCB0eXBlPVNlY29uZHMs
IGluaXRpYWw9ZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0CiBi
YWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZCBpbml0aWFsPXRydWUKIHNob3VsZERpc3BsYXlT
dWJ0aXRsZXMgaW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKIHNob3VsZERp
c3BsYXlDYXB0aW9ucyBpbml0aWFsPWZhbHNlLCBjb25kaXRpb25hbD1WSURFT19UUkFDSwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFh
YWE2YWU0YmM1ZGZkZDQ2YjI0YzU3NjQzNS4uZjNjZWI3MzU4MTQ3NDYyMjZlMjY5NzQ4NmZhZjk2
MGFiNjU3MTljYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBA
IC0zMywxMCArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6
OlN1c3BlbmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6
IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAg
ICwgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZh
bCgwKQotICAgICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcs
NyBAQCB2b2lkIFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVk
ID0gZmFsc2U7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91
YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGlu
ZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAg
ICAgIFRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3
ICsxMDgsMjcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUg
cmVwZWF0SW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0
T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25l
U2hvdChTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAg
IFRpbWVyQmFzZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAg
bV9zYXZlZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwg
PSBpbnRlcnZhbDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAg
bV9zYXZlZFJlcGVhdEludGVydmFsID0gU2Vjb25kcygwKTsKICAgICB9CiB9CiAKLWRvdWJsZSBT
dXNwZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFN1c3BlbmRh
YmxlVGltZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVk
KQogICAgICAgICByZXR1cm4gVGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbCgpOwogICAgIGlmICht
X3NhdmVkSXNBY3RpdmUpCiAgICAgICAgIHJldHVybiBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0g
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIFNlY29uZHMoMCk7CiB9CiAKLXZvaWQgU3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpCit2b2lkIFN1c3BlbmRh
YmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAo
IW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1lckJhc2U6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVs
dGEpOwpAQCAtMTQxLDExICsxMzcsMTEgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50
RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSkKICAgICB9IGVsc2UgewogICAgICAgICBtX3NhdmVk
SXNBY3RpdmUgPSB0cnVlOwogICAgICAgICBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCA9IGRlbHRh
OwotICAgICAgICBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSAwOworICAgICAgICBtX3NhdmVkUmVw
ZWF0SW50ZXJ2YWwgPSBTZWNvbmRzKDApOwogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRp
bWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJs
ZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAo
IW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1lckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChk
ZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcw
OTM3ODUwYTNhNjkwMWY3MjBjNWRlMWY2MDk5MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4
NTU1MTc4MWEwMzY1ZDE5MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5o
CkBAIC00MywxNyArNDMsMTIgQEAgcHVibGljOgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7
IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZlKCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJ
c0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNw
ZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFs
KTsKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSBy
ZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3Vi
bGUgZGVsdGEpOwotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7
CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2
b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdElu
dGVydmFsKCkgY29uc3Q7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMo
cmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFs
KSk7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBj
b25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhyZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQg
YXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1
Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVu
dFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRG
aXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSk7CiAKICAgICB1c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdu
bWVudEludGVydmFsOwogICAgIHVzaW5nIFRpbWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEs
MTEgKzY2LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNp
b24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1lKCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVu
ZGVkOworICAgIFNlY29uZHMgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBt
X3NhdmVkUmVwZWF0SW50ZXJ2YWw7CiAKLSAgICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2
YWw7Ci0gICAgZG91YmxlIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJ
c0FjdGl2ZTsKKyAgICBib29sIG1fc3VzcGVuZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2
ZWRJc0FjdGl2ZSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdm
MTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNlMzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2Jm
ZTViODNlMmY1ZjljMDJiY2E0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVl
bEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVu
dFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyArNjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJp
Z2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0
aQogICAgIH0KICAgICAKICAgICBpZiAoIW1fdGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7Cisg
ICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYw
KSk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29u
KFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBpZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVh
c29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggOWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgx
ZGFkMmY3NWNlZC4uODk2NGNlYzcwYmE0NmYyMzE2Y2U0YzU3NTIyY2RhZGE0MmU3OTM0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTQ4LDggKzQ4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0
aWMgY29uc3QgZG91YmxlIGNBbmltYXRpb25UaW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMg
Y29uc3QgZG91YmxlIGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGFuaW1hdGlvblRpbWVyRGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsK
K3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7
CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRhdGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3
ICs3MSw3IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZShGcmFtZSYgZnJhbWUpCiAgICAgOiBtX2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1hdGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Vw
ZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1l
KGZyYW1lKQotICAgICwgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKKyAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2lu
QW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVD
b3VudCgwKQogICAgICwgbV93YWl0aW5nRm9yQXN5bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkK
ICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCkBAIC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBj
YWxsU2V0Q2hhbmdlZC8qCiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0
ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0g
ICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0gMDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRT
ZXJ2aWNlOwogCiAgICAgY29uc3QgQ29tcG9zaXRlQW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRp
b24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21w
b3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkgJiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNB
bmltYXRpb25zKCkpCi0gICAgICAgIHRpbWVUb05leHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0
aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOworICAgICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNl
Y29uZHMoY29tcG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlm
IChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0
SW50ZXJ2YWwoKSB8fCBtX2FuaW1hdGlvblRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1l
VG9OZXh0U2VydmljZSkpCiAgICAgICAgIHJldHVybjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVu
ZGVyZXIoUmVuZGVyRWxlbWVudCYKIAogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6
dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RD
YWxsU2V0Q2hhbmdlZCovKQogewotICAgIGRvdWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0
ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpOworICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZl
cnQgcmVzdCBvZiBhbmltYXRpb25zIGNvZGUgdG8gU2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4K
KyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25z
KGNhbGxTZXRDaGFuZ2VkKSk7CiAKLSAgICBMT0coQW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlv
blRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAlLjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOwor
ICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5pbWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2
aWNlIGlzICUuMmZtcyIsIHRpbWVUb05leHRTZXJ2aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAg
IC8vIElmIHdlIHdhbnQgc2VydmljZSBpbW1lZGlhdGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcg
dGltZXIgdG8gcmVkdWNlIHRoZSBvdmVyaGVhZCBvZiBzdGFydGluZwogICAgIGlmICghdGltZVRv
TmV4dFNlcnZpY2UpIHsKLSAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkg
fHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRlcnZhbCgpID09IDApCi0gICAgICAgICAgICBt
X2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAg
ICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGlt
ZXIucmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRS
ZXBlYXRpbmcoYW5pbWF0aW9uVGltZXJEZWxheSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHNlcnZpY2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRo
ZSB0aW1lciBpcyBubyBsb25nZXIgcnVubmluZwotICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8
IDApIHsKKyAgICBpZiAodGltZVRvTmV4dFNlcnZpY2UgPCBTZWNvbmRzKDApKSB7CiAgICAgICAg
IGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBtX2FuaW1hdGlv
blRpbWVyLnN0b3AoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjIyLDcgKzIyMyw3IEBAIHZvaWQg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmZpcmVFdmVudHNBbmRVcGRhdGVTdHlsZSgpCiB2
b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVkZWRE
aXNwYXRjaGVyKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlOjphZGRFdmVudFRvRGlzcGF0Y2goUGFzc1JlZlB0cjxFbGVtZW50PiBlbGVtZW50LCBjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgZWxh
cHNlZFRpbWUpCkBAIC0zODQsNyArMzg1LDcgQEAgYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6cGF1c2VUcmFuc2l0aW9uQXRUaW1lKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLAogZG91
YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUo
KQogewogICAgIEFTU0VSVChtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQpOwotICAgIGlmICht
X2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSA9PSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90
U2V0KQorICAgIGlmIChtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSA9PSBiZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWVOb3RTZXQpCiAgICAgICAgIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAKICAgICByZXR1cm4gbV9iZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWU7CkBAIC0zOTMsNyArMzk0LDcgQEAgZG91YmxlIEFuaW1hdGlvbkNvbnRy
b2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKQogdm9pZCBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGUoKQogewogICAgIGlmICghbV9i
ZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50KQotICAgICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0
ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCk7CisgICAgICAgIHNldEJlZ2lu
QW5pbWF0aW9uVXBkYXRlVGltZShiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOwogICAg
ICsrbV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0KaW5kZXggYjAzNTI3MDg5MWQwYzI2ODk5MDM2M2M0ZmQw
ZjZkMTZhMjcxZTM2OS4uMGZjYmE0ZWE2MWI3MjMyM2VhOTcyMTI2ZGMyMjJlZWQ4YTNjOGRjYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzgsNyAr
NzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjb25zdCBkb3VibGUgRXZlbnRIYW5kbGVyOjpU
ZXh0RHJhZ0RlbGF5ID0gMC4xNTsKICNlbmRpZgogCi1jb25zdCBkb3VibGUgcmVzZXRMYXRjaGVk
U3RhdGVUaW1lb3V0ID0gMC4xOworY29uc3QgU2Vjb25kcyByZXNldExhdGNoZWRTdGF0ZURlbGF5
ID0gU2Vjb25kcygwLjEpOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJyZW50TlNF
dmVudFNsb3QoKQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVh
ck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRmb3JtV2hl
CiAgICAgLy8gcmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3AgdGhlIHRp
bWVyLCBsZWF2aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAoIW1fcGVu
ZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIGlmIChl
dmVudC5pc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVuZGluZ01v
bWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVUaW1l
b3V0KTsKKyAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFy
dE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
Ly8gSWYgYW5vdGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRoZSB0aW1l
ciBtYW51YWxseSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5LgogICAg
ICAgICBpZiAoZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggNTVl
NGQ2NTk1ZWViNjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZhZTdhMWU3
MjdjOTQ0ZGVkZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9t
YWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAgICBib29s
IG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVyQnV0dG9u
KSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vjb25kcyBy
ZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCopIGNvbnN0
OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwogCiAgICAg
c3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0KiBhLCBj
b25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAKICAgICBI
aWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAgc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1l
OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0QWN0aXZl
SGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1l
X3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0U2VsZWN0
aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENo
YW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAogICAgIFJl
ZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0OwogICAg
IEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1OTY0OTli
ZGY2MTZlZDQyMTFiOWE1MjM4MTVlNjIuLjVhZmY5MjdlYmJjNjRlYjM5ZGM5NGQzOGI0ZDY0OGYw
MGMwZjBiMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNP
dmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9yPExheW91
dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBtX2lzVGV4
dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlvbkNoYW5n
ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dpdGhHYXBS
ZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEsNyArMzkx
LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGlnaGxpZ2h0
c09mVHlwZShIaWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9k
aXJ0eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6YnVpbGRQ
b3RlbnRpYWxIaWdobGlnaHRzSWZOZWVkZWQoKQpAQCAtNDMzLDE1ICs0MzMsMTUgQEAgYm9vbCBT
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQm
IGhpZ2hsaWdodCwgYm9vbCYKICAgICByZXR1cm4gaG92ZXJlZDsKIH0KIAotc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAorU2Vj
b25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGln
aHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAogewogICAgIGlmICgh
aGlnaGxpZ2h0KQotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gU2Vjb25kcygw
KTsKIAotICAgIGF1dG8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAy
MDBtczsKKyAgICBTZWNvbmRzIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3du
ID0gU2Vjb25kcygwLjIpOwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAg
ICAgaWYgKHBhZ2UgJiYgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1l
KCkuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAg
bWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAg
IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gU2Vjb25kcygxKTsKIAog
ICAgIGJvb2wgbW91c2VQcmVzc2VkID0gbV9tYWluRnJhbWUuZXZlbnRIYW5kbGVyKCkubW91c2VQ
cmVzc2VkKCk7CiAKQEAgLTQ0OSwxNSArNDQ5LDE0IEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
CiAgICAgLy8gYnkgdmlydHVlIG9mIGJlaW5nIGV4cGFuZGVkIHRvIGluY2x1ZGUgdGhlIGVudGly
ZSB0ZWxlcGhvbmUgbnVtYmVyLiBIb3dldmVyLCB3ZSB3aWxsIHN0aWxsIGF2b2lkIGhpZ2hsaWdo
dGluZwogICAgIC8vIHRlbGVwaG9uZSBudW1iZXJzIHdoaWxlIHRoZSBtb3VzZSBpcyBkb3duLgog
ICAgIGlmIChoaWdobGlnaHQtPnR5cGUoKSA9PSBIaWdobGlnaHQ6OlRlbGVwaG9uZU51bWJlclR5
cGUpCi0gICAgICAgIHJldHVybiBtb3VzZVByZXNzZWQgPyBtaW5pbXVtVGltZVVudGlsSGlnaGxp
Z2h0U2hvdWxkQmVTaG93biA6IDBtczsKKyAgICAgICAgcmV0dXJuIG1vdXNlUHJlc3NlZCA/IG1p
bmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogU2Vjb25kcygwKTsKIAotICAg
IGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBu
b3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBhdXRvIHRpbWVTaW5jZUxhc3RTZWxlY3Rp
b25DaGFuZ2UgPSBub3cgLSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lOwogICAgIGF1dG8gdGlt
ZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlID0gbm93IC0gbV9uZXh0QWN0aXZlSGlnaGxpZ2h0
Q2hhbmdlVGltZTsKLSAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91c2VQcmVzc2Vk
ID8gMG1zIDogbm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CisgICAgYXV0byB0aW1lU2luY2VMYXN0
TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IFNlY29uZHMoMCkgOiBub3cgLSBtX2xhc3RNb3VzZVVw
VGltZTsKIAotICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBtaW5pbXVtVGltZVVudGlsSGlnaGxp
Z2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rp
b25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RN
b3VzZVVwKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOworICAgIHJldHVybiBtaW5pbXVtVGlt
ZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWluKHRpbWVTaW5j
ZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSksIHRp
bWVTaW5jZUxhc3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
OjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKCkKQEAgLTcyMyw3ICs3MjIsNyBA
QCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRldGVybWluZUFjdGl2ZUhpZ2hsaWdo
dChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAvLyBoaWdobGlnaHQsIGFuZCBvbmx5
IHJlc2V0IHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVzaXMgd2hlbiB0aGF0IGNoYW5nZXMu
CiAgICAgICAgIGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQgIT0gbmV3QWN0aXZlSGlnaGxpZ2h0
KSB7CiAgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGlnaHQgPSBuZXdBY3RpdmVIaWdobGln
aHQ7Ci0gICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdo
bGlnaHRDaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIH0KIAogICAg
ICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxwdHI7CkBAIC03
MzQsNyArNzMzLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVB
Y3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3RpdmUKICAgICAgICAgfQogCiAgICAg
ICAgIGF1dG8gcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IHRoaXMt
PnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24obmV3QWN0aXZlSGlnaGxp
Z2h0LmdldCgpKTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24gPiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbjo6emVybygpKSB7
CisgICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID4g
U2Vjb25kcygwKSkgewogICAgICAgICAgICAgbV9kZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1l
ci5zdGFydE9uZVNob3QocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTc2Niw3ICs3NjUsNyBAQCBib29s
IFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQoUGFnZU92ZXJsYXkmLCBjb25z
dCBQbGF0Zm9ybU1vdXNlRXZlbgogICAgICAgICBSZWZQdHI8SGlnaGxpZ2h0PiBtb3VzZURvd25I
aWdobGlnaHQgPSBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsKICAgICAgICAg
bV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwogCi0gICAgICAg
IG1fbGFzdE1vdXNlVXBUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Cisg
ICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICAg
ICAgaWYgKG1vdXNlSXNPdmVyQWN0aXZlSGlnaGxpZ2h0QnV0dG9uICYmIG1vdXNlRG93bkhpZ2hs
aWdodCkgewogICAgICAgICAgICAgaGFuZGxlQ2xpY2sobV9tb3VzZVBvc2l0aW9uLCAqbW91c2VE
b3duSGlnaGxpZ2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJ
bmRpY2F0b3JXaW5kb3cubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9y
V2luZG93Lm1tCmluZGV4IGU0ZTIwZDIyNzY4Yzg4MmU5MDBiMTJiNDFmZTAyZWNkZmI0OGY2Mjgu
LjUwNDRlYWY2MjA0YTNiYzJiOGRkZTZhZTRhODU5OWFiNTExNmIxYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbQpAQCAtNDc1LDcgKzQ3NSw3
IEBAIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6c2V0VGV4dEluZGljYXRvcihSZWY8VGV4dElu
ZGljYXRvcj4gdGV4dEluZGljYXRvciwgQ0dSCiAgICAgICAgIFttX3RleHRJbmRpY2F0b3JWaWV3
IHByZXNlbnRdOwogCiAgICAgaWYgKGxpZmV0aW1lID09IFRleHRJbmRpY2F0b3JXaW5kb3dMaWZl
dGltZTo6VGVtcG9yYXJ5KQotICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5z
dGFydE9uZVNob3QodGltZUJlZm9yZUZhZGVTdGFydHMpOworICAgICAgICBtX3RlbXBvcmFyeVRl
eHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyh0aW1lQmVmb3JlRmFkZVN0YXJ0
cykpOwogfQogCiB2b2lkIFRleHRJbmRpY2F0b3JXaW5kb3c6OmNsb3NlV2luZG93KCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5jcHAKaW5kZXggODVhNjQ3MmVjZTIxMWZmMjAwODBkMzdhNTJlYWUxOTBhOTEw
OTc0MC4uYmViODViZWRlYTcyZGRmMzQ3ZTNkOTg2NWU3MWVkYmE1ZjE5M2Y0MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5jcHAKQEAgLTI1Nyw3ICsyNTcsNyBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKFNj
cgogICAgIH0KIAogICAgIG1fc2NoZWR1bGVkU2Nyb2xsVXBkYXRlID0gc2Nyb2xsVXBkYXRlOwot
ICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZVNjcm9sbFBvc2l0
aW9uQWZ0ZXJBc3luY1Njcm9sbFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCmlu
ZGV4IDRjY2Y0NDQyOWY5OWUxMDlmODc1NWI5NDYwMTI2YmJjYTdlNWI5ZWEuLjZlZmJlZjcwMzBj
ZGNmZTAzNTYzNDg1ODRhYTBhYzM5MjBlYjg1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0K
QEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVU
cmVlU3RhdGVDb21taXQoKQogICAgIGlmIChtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fc2Nyb2xsaW5nU3RhdGVU
cmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Nyb2xsaW5nU3RhdGVU
cmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUw
YzQxYjI1MTM3ZmQyOTU0ZThjYzFlMTFkZmUyZjUxNjAwNDA2NjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9
CiAKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwCmluZGV4IDFhYTdlMWI4
NzYzZmYxYjQ3ZGZiOGUyMTM5NDA3NjQ1ZWI3NTVlYjIuLmJkYTRiMjI4MDc5NTFiOGRmYWJjN2M2
MTA2M2JjZWE0MmE2NmU2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dl
bmVyaWNUYXNrUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNU
YXNrUXVldWUuY3BwCkBAIC00MSw3ICs0MSw3IEBAIHZvaWQgVGFza0Rpc3BhdGNoZXI8VGltZXI+
Ojpwb3N0VGFzayhGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pCiAgICAgbV9wZW5kaW5nVGFz
a3MuYXBwZW5kKFdURk1vdmUoZnVuY3Rpb24pKTsKICAgICBwZW5kaW5nRGlzcGF0Y2hlcnMoKS5h
cHBlbmQobV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOwogICAgIGlmICghc2hhcmVk
VGltZXIoKS5pc0FjdGl2ZSgpKQotICAgICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgc2hhcmVkVGltZXIoKS5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAK
IFRpbWVyJiBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnNoYXJlZFRpbWVyKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKaW5kZXggMTI4ZWY4MjA5ZTJhNzQ4
MzA5ZTA2MjgyMGVkYzgyMzk4MGMwYjJlMS4uYjI1ZWRkZmE0NGE3YjU4OTE1NjFmNDU0YjZhY2Y3
MjczMGFlMjZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNp
c0FjdGl2aXR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2
aXR5LmgKQEAgLTMwLDcgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMg
Y29uc3QgZG91YmxlIERlZmF1bHRIeXN0ZXJlc2lzU2Vjb25kcyA9IDUuMDsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIERlZmF1bHRIeXN0ZXJlc2lzSW50ZXJ2YWwgPSBTZWNvbmRzKDUuMCk7CiAKIGVu
dW0gY2xhc3MgSHlzdGVyZXNpc1N0YXRlIHsKICAgICBTdGFydGVkLApAQCAtMzksOSArMzksOSBA
QCBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0ZSB7CiAKIGNsYXNzIEh5c3RlcmVzaXNBY3Rpdml0
eSB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5KHN0ZDo6ZnVuY3Rp
b248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNTdGF0ZSkg
eyB9LCBkb3VibGUgaHlzdGVyZXNpc1NlY29uZHMgPSBEZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMp
CisgICAgZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5KHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0
ZXJlc2lzU3RhdGUpPiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNTdGF0ZSkgeyB9LCBTZWNvbmRz
IGh5c3RlcmVzaXNJbnRlcnZhbCA9IERlZmF1bHRIeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAg
IDogbV9jYWxsYmFjayhjYWxsYmFjaykKLSAgICAgICAgLCBtX2h5c3RlcmVzaXNTZWNvbmRzKGh5
c3RlcmVzaXNTZWNvbmRzKQorICAgICAgICAsIG1faHlzdGVyZXNpc0ludGVydmFsKGh5c3RlcmVz
aXNJbnRlcnZhbCkKICAgICAgICAgLCBtX2FjdGl2ZShmYWxzZSkKICAgICAgICAgLCBtX3RpbWVy
KCp0aGlzLCAmSHlzdGVyZXNpc0FjdGl2aXR5OjpoeXN0ZXJlc2lzVGltZXJGaXJlZCkKICAgICB7
CkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
bV9hY3RpdmUgPSBmYWxzZTsKIAotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX2h5c3Rl
cmVzaXNTZWNvbmRzKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lz
SW50ZXJ2YWwpOwogICAgIH0KIAogICAgIHZvaWQgaW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBA
IHByaXZhdGU6CiAgICAgfQogCiAgICAgc3RkOjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0
ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7CisgICAgU2Vj
b25kcyBtX2h5c3RlcmVzaXNJbnRlcnZhbDsKICAgICBib29sIG1fYWN0aXZlOwogICAgIFRpbWVy
IG1fdGltZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggODgx
ODFkMzA1N2Y0Njg5NGRmZWI5YTk3N2E1NjcwNjYxNjQ1MzU3Yy4uZjA5ZTk0YjA5ZjA2MTUzNWU3
OThhMGQwZTgwMGUzOGJmNmQ5NDI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
Y3BwCkBAIC0xODMsNyArMTgzLDcgQEAgc3RhdGljIGJvb2wgdGh1bWJVbmRlck1vdXNlKFNjcm9s
bGJhciogc2Nyb2xsYmFyKQogICAgIHJldHVybiBzY3JvbGxiYXItPnByZXNzZWRQb3MoKSA+PSB0
aHVtYlBvcyAmJiBzY3JvbGxiYXItPnByZXNzZWRQb3MoKSA8IHRodW1iUG9zICsgdGh1bWJMZW5n
dGg7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRl
bGF5KQordm9pZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5
KQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGZvciB0aGUgdGh1bWIgb3IgaWYgbm90aGlu
ZyB3YXMgcHJlc3NlZC4KICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBUaHVtYlBhcnQgfHwgbV9w
cmVzc2VkUGFydCA9PSBOb1BhcnQpCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBTY3JvbGxiYXI6
OmF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCiAgICAgICAgIHN0YXJ0VGltZXJJ
Zk5lZWRlZChkZWxheSk7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQo
ZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRz
IGRlbGF5KQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGZvciB0aGUgdGh1bWIuCiAgICAg
aWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0KQpAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQg
U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KQogICAgICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsK
KyAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5KSk7CiB9CiAKIHZv
aWQgU2Nyb2xsYmFyOjpzdG9wVGltZXJJZk5lZWRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGJhci5oCmluZGV4IGY4NmE5NjJhZmUwMmI1MjYwMzhiZDdkNWVkZGVhOTY0YmJhNmY3MWEuLmEy
MzZjN2U4ZWIxMjdhZWEzNzU2NTIzZWJlYzQxZjk5M2E5YTVjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhci5oCkBAIC0xNDQsOSArMTQ0LDkgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVUaHVtYlByb3BvcnRpb24oKTsKIAogICAgIHZvaWQgYXV0b3Njcm9sbFRp
bWVyRmlyZWQoKTsKLSAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVsYXkpOwor
ICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpOwogICAgIHZvaWQgc3Rv
cFRpbWVySWZOZWVkZWQoKTsKLSAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUg
ZGVsYXkpOworICAgIHZvaWQgYXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpOwog
ICAgIFNjcm9sbERpcmVjdGlvbiBwcmVzc2VkUGFydFNjcm9sbERpcmVjdGlvbigpOwogICAgIFNj
cm9sbEdyYW51bGFyaXR5IHByZXNzZWRQYXJ0U2Nyb2xsR3JhbnVsYXJpdHkoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggNzI1Mjk0MmIwY2FjYmE0YTBl
M2EwZGZiNDc2MWRkNGE2NTc1ZWRiYy4uMjY5MDQyN2QwNzdiMGMzZDY4YzdjYTc1ODNmZDg3YzZm
MzdmOWM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0x
MDUsOCArMTA1LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQgbWF4T3ZlcmxhcEJldHdl
ZW5QYWdlcygpIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7IH0KIAot
ICAgIHZpcnR1YWwgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJu
IDAuMjU7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0
dXJuIDAuMDU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRl
bGF5KCkgeyByZXR1cm4gU2Vjb25kcygwLjI1KTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRv
c2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIFNlY29uZHMoMC4wNSk7IH0KIAogICAgIHZpcnR1
YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXImKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXImKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVt
ZS5oCmluZGV4IDM1ODYzYmM4MjAxNGMzOTc3YzNjNjk0ZmE0Mjc2YzA1NDExZWYxYjEuLjZmZDU1
MzE5ZmRlZjdmYzQxMDc5NmUzMjViM2UxMjhlMmViYTQyMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWUuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBGb250Q2FzY2FkZSBz
eXN0ZW1Gb250KFRoZW1lRm9udCwgRm9udERlc2NyaXB0aW9uJikgY29uc3QgeyByZXR1cm4gRm9u
dENhc2NhZGUoKTsgfQogICAgIAogICAgIC8vIEhvdyBmYXN0IHRoZSBjYXJldCBibGlua3MgaW4g
dGV4dCBmaWVsZHMuCi0gICAgdmlydHVhbCBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29u
c3QgeyByZXR1cm4gMC41OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZh
bCgpIGNvbnN0IHsgcmV0dXJuIFNlY29uZHMoMC41KTsgfQogCiAgICAgLy8gTm90aWZpY2F0aW9u
IHdoZW4gdGhlIHRoZW1lIGhhcyBjaGFuZ2VkCiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdl
ZCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKaW5kZXggZTNk
NjVlYWJiZTQ1OWQzYjdhZWZkMTZkMjMxYWExMGZjZmRiY2E0NC4uNTQyNWM0OWE0Y2I2ZTRlNzAy
M2U5MDA3M2FkMDIwNGY3MDk2MTMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRU
aW1lcnMuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRl
IDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1
ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVkZSAi
V2ViQ29yZVRocmVhZC5oIgpAQCAtNDMsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAv
LyBGaXJlIHRpbWVycyBmb3IgdGhpcyBsZW5ndGggb2YgdGltZSwgYW5kIHRoZW4gcXVpdCB0byBs
ZXQgdGhlIHJ1biBsb29wIHByb2Nlc3MgdXNlciBpbnB1dCBldmVudHMuCiAvLyAxMDBtcyBpcyBh
Ym91dCBhIHBlcmNlcHRhYmxlIGRlbGF5IGluIFVJLCBzbyB1c2UgYSBoYWxmIG9mIHRoYXQgYXMg
YSB0aHJlc2hvbGQuCiAvLyBUaGlzIGlzIHRvIHByZXZlbnQgVUkgZnJlZXplIHdoZW4gdGhlcmUg
YXJlIHRvbyBtYW55IHRpbWVycyBvciBtYWNoaW5lIHBlcmZvcm1hbmNlIGlzIGxvdy4KLXN0YXRp
YyBjb25zdCBkb3VibGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IFNlY29uZHM6OmZyb21N
aWxsaXNlY29uZHMoNTApOwogCiAvLyBUaW1lcnMgYXJlIGNyZWF0ZWQsIHN0YXJ0ZWQgYW5kIGZp
cmVkIG9uIHRoZSBzYW1lIHRocmVhZCwgYW5kIGVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIFRocmVh
ZFRpbWVycwogLy8gY29weSB0byBrZWVwIHRoZSBoZWFwIGFuZCBhIHNldCBvZiBjdXJyZW50bHkg
ZmlyaW5nIHRpbWVycy4KQEAgLTUxLDcgKzUyLDYgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhE
dXJhdGlvbk9mRmlyaW5nVGltZXJzID0gMC4wNTA7CiBUaHJlYWRUaW1lcnM6OlRocmVhZFRpbWVy
cygpCiAgICAgOiBtX3NoYXJlZFRpbWVyKDApCiAgICAgLCBtX2ZpcmluZ1RpbWVycyhmYWxzZSkK
LSAgICAsIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUoMCkKIHsKICAgICBpZiAoaXNVSVRo
cmVhZCgpKQogICAgICAgICBzZXRTaGFyZWRUaW1lcigmTWFpblRocmVhZFNoYXJlZFRpbWVyOjpz
aW5nbGV0b24oKSk7CkBAIC02NCw3ICs2NCw3IEBAIHZvaWQgVGhyZWFkVGltZXJzOjpzZXRTaGFy
ZWRUaW1lcihTaGFyZWRUaW1lciogc2hhcmVkVGltZXIpCiAgICAgaWYgKG1fc2hhcmVkVGltZXIp
IHsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c2V0RmlyZWRGdW5jdGlvbihudWxscHRyKTsKICAg
ICAgICAgbV9zaGFyZWRUaW1lci0+c3RvcCgpOwotICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1l
ckZpcmVUaW1lID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1v
bm90b25pY1RpbWUoKTsKICAgICB9CiAgICAgCiAgICAgbV9zaGFyZWRUaW1lciA9IHNoYXJlZFRp
bWVyOwpAQCAtODEsMTggKzgxLDE4IEBAIHZvaWQgVGhyZWFkVGltZXJzOjp1cGRhdGVTaGFyZWRU
aW1lcigpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgaWYgKG1fZmlyaW5nVGltZXJz
IHx8IG1fdGltZXJIZWFwLmlzRW1wdHkoKSkgewotICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1l
ckZpcmVUaW1lID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1v
bm90b25pY1RpbWUoKTsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c3RvcCgpOwogICAgIH0gZWxz
ZSB7Ci0gICAgICAgIGRvdWJsZSBuZXh0RmlyZVRpbWUgPSBtX3RpbWVySGVhcC5maXJzdCgpLT5t
X25leHRGaXJlVGltZTsKLSAgICAgICAgZG91YmxlIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIE1vbm90b25pY1RpbWUgbmV4dEZp
cmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7CisgICAgICAgIE1v
bm90b25pY1RpbWUgY3VycmVudE1vbm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsK
ICAgICAgICAgaWYgKG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUpIHsKICAgICAgICAgICAg
IC8vIE5vIG5lZWQgdG8gcmVzdGFydCB0aGUgdGltZXIgaWYgYm90aCB0aGUgcGVuZGluZyBmaXJl
IHRpbWUgYW5kIHRoZSBuZXcgZmlyZSB0aW1lIGFyZSBpbiB0aGUgcGFzdC4KICAgICAgICAgICAg
IGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lIDw9IGN1cnJlbnRNb25vdG9uaWNUaW1l
ICYmIG5leHRGaXJlVGltZSA8PSBjdXJyZW50TW9ub3RvbmljVGltZSkKICAgICAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0gCiAgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSBuZXh0RmlyZVRpbWU7Ci0gICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZh
bChTZWNvbmRzKHN0ZDo6bWF4KG5leHRGaXJlVGltZSAtIGN1cnJlbnRNb25vdG9uaWNUaW1lLCAw
LjApKSk7CisgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZhbChzdGQ6Om1heDxT
ZWNvbmRzPihuZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGltZSwgU2Vjb25kcygwKSkp
OwogICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OnNo
YXJlZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5nVGltZXJzKQogICAgICAg
ICByZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAgIG1fcGVuZGluZ1NoYXJl
ZFRpbWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSBN
b25vdG9uaWNUaW1lKCk7CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4RHVy
YXRpb25PZkZpcmluZ1RpbWVyczsKKyAgICBNb25vdG9uaWNUaW1lIGZpcmVUaW1lID0gTW9ub3Rv
bmljVGltZTo6bm93KCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lVG9RdWl0ID0gZmlyZVRpbWUg
KyBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzOwogCiAgICAgd2hpbGUgKCFtX3RpbWVySGVhcC5p
c0VtcHR5KCkgJiYgbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRp
bWUpIHsKICAgICAgICAgVGltZXJCYXNlKiB0aW1lciA9IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0g
ICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IDA7Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxp
Z25lZE5leHRGaXJlVGltZSA9IDA7CisgICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IE1v
bm90b25pY1RpbWUoKTsKKyAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0g
TW9ub3RvbmljVGltZSgpOwogICAgICAgICB0aW1lci0+aGVhcERlbGV0ZU1pbigpOwogCi0gICAg
ICAgIGRvdWJsZSBpbnRlcnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwotICAgICAgICB0
aW1lci0+c2V0TmV4dEZpcmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDAp
OworICAgICAgICBTZWNvbmRzIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7Cisg
ICAgICAgIHRpbWVyLT5zZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVy
dmFsIDogTW9ub3RvbmljVGltZSgpKTsKIAogICAgICAgICAvLyBPbmNlIHRoZSB0aW1lciBoYXMg
YmVlbiBmaXJlZCwgaXQgbWF5IGJlIGRlbGV0ZWQsIHNvIGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0
IGFmdGVyIHRoaXMgcG9pbnQuCiAgICAgICAgIHRpbWVyLT5maXJlZCgpOwogCiAgICAgICAgIC8v
IENhdGNoIHRoZSBjYXNlIHdoZXJlIHRoZSB0aW1lciBhc2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBh
IG5lc3RlZCBldmVudCBsb29wLCBvciB3ZSBhcmUgb3ZlciB0aW1lIGxpbWl0LgotICAgICAgICBp
ZiAoIW1fZmlyaW5nVGltZXJzIHx8IHRpbWVUb1F1aXQgPCBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKSkKKyAgICAgICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgTW9u
b3RvbmljVGltZTo6bm93KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTEzNyw3
ICsxMzcsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29w
KCkKIAogICAgIGlmIChtX3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPmlu
dmFsaWRhdGUoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7Cisg
ICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CiAg
ICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIxZTgyNjY2MmU5YWJiMzA0ZTM4M2YxN2IxZTcyOWE5
Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2ZWM2OTE3MzlhODkwM2EwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgVGhy
ZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAorI2luY2x1ZGUgPHd0Zi9Nb25v
dG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGltZXJIZWFwOwogICAgICAgICBTaGFyZWRUaW1lciog
bV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwgb2JqZWN0LCBjYW4gYmUgYSBydW4gbG9vcCBvbiBh
IHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNldC9yZXNldCBieSB3b3JrZXIgdGhyZWFkLgogICAg
ICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAvLyBSZWVudHJhbmN5IGd1YXJkLgotICAgICAgICBk
b3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGlt
ZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZlN2NjNTU4OTEyOTQ3NDYzOTc2ZDhkMTg1ZjkxMTE0
YmJhLi5mYmM4NzY5MDg4Y2QxYzNmOWYzYzgwYjFlZTMxZDQwNjQ2NmQ3ZjBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIsOCArMTcyLDggQEAgaW5saW5lIGJvb2wgVGltZXJI
ZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0b3IoKShjb25zdCBUaW1lckJhc2UqIGEsIGNvbnN0
IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFyaXNvbnMgYmVsb3cgYXJlICJiYWNrd2FyZHMiIGJl
Y2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFyZ2VzdCAKICAgICAvLyBlbGVtZW50IGZpcnN0IGFu
ZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0byBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBoZWFw
LgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKLSAgICBkb3VibGUg
YkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBhRmlyZVRp
bWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIGJGaXJlVGltZSA9IGIt
Pm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChiRmlyZVRpbWUgIT0gYUZpcmVUaW1lKQogICAgICAg
ICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVUaW1lOwogICAgIApAQCAtMTg2LDExICsxODYsOCBA
QCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0
IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQogLy8gLS0tLS0tLS0tLS0tLS0tLQogCiBUaW1lckJh
c2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25leHRGaXJlVGltZSgwKQotICAgICwgbV91bmFsaWdu
ZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1fcmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1faGVh
cEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAoMCkKKyAgICA6
IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAobnVs
bHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAgLCBtX3RocmVhZChjdXJyZW50VGhyZWFkKCkpCiAg
ICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBAIC0yMDcsMzIgKzIwNCwzMiBAQCBUaW1lckJhc2U6
On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzdGFydChkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBUaW1lckJhc2U6
OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkK
IHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFk
KSk7CiAKICAgICBtX3JlcGVhdEludGVydmFsID0gcmVwZWF0SW50ZXJ2YWw7Ci0gICAgc2V0TmV4
dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgbmV4dEZpcmVJbnRlcnZh
bCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWU6Om5vdygpICsgbmV4dEZpcmVJ
bnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJCYXNlOjpzdG9wKCkKIHsKICAgICBBU1NFUlQoY2Fu
QWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKLSAgICBtX3JlcGVh
dEludGVydmFsID0gMDsKLSAgICBzZXROZXh0RmlyZVRpbWUoMCk7CisgICAgbV9yZXBlYXRJbnRl
cnZhbCA9IFNlY29uZHMoMCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUoKSk7
CiAKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7Ci0gICAgQVNTRVJUKG1fcmVwZWF0
SW50ZXJ2YWwgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7CisgICAgQVNTRVJU
KCFtX3JlcGVhdEludGVydmFsKTsKICAgICBBU1NFUlQoIWluSGVhcCgpKTsKIH0KIAotZG91Ymxl
IFRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFRpbWVyQmFzZTo6
bmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzQWN0aXZlKCkpOwotICAg
IGRvdWJsZSBjdXJyZW50ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgTW9u
b3RvbmljVGltZSBjdXJyZW50ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgaWYgKG1fbmV4
dEZpcmVUaW1lIDwgY3VycmVudCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBT
ZWNvbmRzKDApOwogICAgIHJldHVybiBtX25leHRGaXJlVGltZSAtIGN1cnJlbnQ7CiB9CiAKQEAg
LTI0OCwxNCArMjQ1LDE0IEBAIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tIZWFwSW5kZXgo
KSBjb25zdAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpjaGVja0NvbnNpc3RlbmN5KCkgY29uc3QK
IHsKICAgICAvLyBUaW1lcnMgc2hvdWxkIGJlIGluIHRoZSBoZWFwIGlmIGFuZCBvbmx5IGlmIHRo
ZXkgaGF2ZSBhIG5vbi16ZXJvIG5leHQgZmlyZSB0aW1lLgotICAgIEFTU0VSVChpbkhlYXAoKSA9
PSAobV9uZXh0RmlyZVRpbWUgIT0gMCkpOworICAgIEFTU0VSVChpbkhlYXAoKSA9PSAhIW1fbmV4
dEZpcmVUaW1lKTsKICAgICBpZiAoaW5IZWFwKCkpCiAgICAgICAgIGNoZWNrSGVhcEluZGV4KCk7
CiB9CiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVjcmVhc2VLZXkoKQogewotICAgIEFTU0VSVCht
X25leHRGaXJlVGltZSAhPSAwKTsKKyAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGNo
ZWNrSGVhcEluZGV4KCk7CiAgICAgVGltZXJCYXNlKiogaGVhcERhdGEgPSB0aW1lckhlYXAoKS5k
YXRhKCk7CiAgICAgcHVzaF9oZWFwKFRpbWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhKSwgVGltZXJI
ZWFwSXRlcmF0b3IoaGVhcERhdGEgKyBtX2hlYXBJbmRleCArIDEpLCBUaW1lckhlYXBMZXNzVGhh
bkZ1bmN0aW9uKCkpOwpAQCAtMjY0LDcgKzI2MSw3IEBAIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVj
cmVhc2VLZXkoKQogCiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGUoKQogewotICAg
IEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1l
KTsKICAgICBoZWFwUG9wKCk7CiAgICAgdGltZXJIZWFwKCkucmVtb3ZlTGFzdCgpOwogICAgIG1f
aGVhcEluZGV4ID0gLTE7CkBAIC0yNzIsNyArMjY5LDcgQEAgaW5saW5lIHZvaWQgVGltZXJCYXNl
OjpoZWFwRGVsZXRlKCkKIAogdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGVNaW4oKQogewotICAg
IEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1l
KTsKICAgICBoZWFwUG9wTWluKCk7CiAgICAgdGltZXJIZWFwKCkucmVtb3ZlTGFzdCgpOwogICAg
IG1faGVhcEluZGV4ID0gLTE7CkBAIC0yODAsNyArMjc3LDcgQEAgdm9pZCBUaW1lckJhc2U6Omhl
YXBEZWxldGVNaW4oKQogCiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSgp
CiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lICE9IDApOworICAgIEFTU0VSVChtX25leHRG
aXJlVGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogfQpAQCAt
Mjk2LDggKzI5Myw4IEBAIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcEluc2VydCgpCiBpbmxp
bmUgdm9pZCBUaW1lckJhc2U6OmhlYXBQb3AoKQogewogICAgIC8vIFRlbXBvcmFyaWx5IGZvcmNl
IHRoaXMgdGltZXIgdG8gaGF2ZSB0aGUgbWluaW11bSBrZXkgc28gd2UgY2FuIHBvcCBpdC4KLSAg
ICBkb3VibGUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKLSAgICBtX25leHRGaXJlVGltZSA9
IC1zdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCk7CisgICAgTW9ub3Rvbmlj
VGltZSBmaXJlVGltZSA9IG1fbmV4dEZpcmVUaW1lOworICAgIG1fbmV4dEZpcmVUaW1lID0gLU1v
bm90b25pY1RpbWU6OmluZmluaXR5KCk7CiAgICAgaGVhcERlY3JlYXNlS2V5KCk7CiAgICAgaGVh
cFBvcE1pbigpOwogICAgIG1fbmV4dEZpcmVUaW1lID0gZmlyZVRpbWU7CkBAIC0zNDcsNyArMzQ0
LDcgQEAgYm9vbCBUaW1lckJhc2U6Omhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkgY29uc3QKICAgICBy
ZXR1cm4gY2hpbGRIZWFwUHJvcGVydHlIb2xkcyh0aGlzLCBoZWFwLCBjaGlsZEluZGV4MSkgJiYg
Y2hpbGRIZWFwUHJvcGVydHlIb2xkcyh0aGlzLCBoZWFwLCBjaGlsZEluZGV4Mik7CiB9CiAKLXZv
aWQgVGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpCit2b2lkIFRp
bWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKE1vbm90b25pY1RpbWUgb2xkVGltZSkKIHsKICAg
ICBpZiAobV9uZXh0RmlyZVRpbWUgJiYgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtMzY2LDcgKzM2Myw3IEBAIHZvaWQgVGltZXJCYXNlOjp1cGRhdGVIZWFwSWZO
ZWVkZWQoZG91YmxlIG9sZFRpbWUpCiAgICAgQVNTRVJUKCFpbkhlYXAoKSB8fCBoYXNWYWxpZEhl
YXBQb3NpdGlvbigpKTsKIH0KIAotdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3Vi
bGUgbmV3VGltZSkKK3ZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGlt
ZSBuZXdUaW1lKQogewogICAgIEFTU0VSVChjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJl
YWQobV90aHJlYWQpKTsKICAgICBBU1NFUlQoIW1fd2FzRGVsZXRlZCk7CkBAIC0zNzksMTEgKzM3
NiwxMSBAQCB2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKGRvdWJsZSBuZXdUaW1lKQog
ICAgICAgICBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcCA9ICZ0aHJlYWRHbG9iYWxUaW1l
ckhlYXAoKTsKIAogICAgIC8vIEtlZXAgaGVhcCB2YWxpZCB3aGlsZSBjaGFuZ2luZyB0aGUgbmV4
dC1maXJlIHRpbWUuCi0gICAgZG91YmxlIG9sZFRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBN
b25vdG9uaWNUaW1lIG9sZFRpbWUgPSBtX25leHRGaXJlVGltZTsKICAgICAvLyBEb24ndCByZWFs
aWduIHplcm8tZGVsYXkgdGltZXJzLgogICAgIGlmIChuZXdUaW1lKSB7Ci0gICAgICAgIGlmIChh
dXRvIG5ld0FsaWduZWRUaW1lID0gYWxpZ25lZEZpcmVUaW1lKHNlY29uZHNUb01TKG5ld1RpbWUp
KSkKLSAgICAgICAgICAgIG5ld1RpbWUgPSBtc1RvU2Vjb25kcyhuZXdBbGlnbmVkVGltZS52YWx1
ZSgpKTsKKyAgICAgICAgaWYgKGF1dG8gbmV3QWxpZ25lZFRpbWUgPSBhbGlnbmVkRmlyZVRpbWUo
bmV3VGltZSkpCisgICAgICAgICAgICBuZXdUaW1lID0gbmV3QWxpZ25lZFRpbWUudmFsdWUoKTsK
ICAgICB9CiAKICAgICBpZiAob2xkVGltZSAhPSBuZXdUaW1lKSB7CkBAIC00MTYsMTAgKzQxMywx
MCBAQCB2b2lkIFRpbWVyQmFzZTo6ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKQogICAgIHNl
dE5leHRGaXJlVGltZShtX3VuYWxpZ25lZE5leHRGaXJlVGltZSk7CiB9CiAKLWRvdWJsZSBUaW1l
ckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJh
c2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdAogewogICAgIEFTU0VSVChpc0Fj
dGl2ZSgpKTsKLSAgICByZXR1cm4gc3RkOjptYXgobV91bmFsaWduZWROZXh0RmlyZVRpbWUgLSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSwgMC4wKTsKKyAgICByZXR1cm4gc3RkOjptYXgo
bV91bmFsaWduZWROZXh0RmlyZVRpbWUgLSBNb25vdG9uaWNUaW1lOjpub3coKSwgU2Vjb25kcygw
KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmlu
ZGV4IGEzNWM4YzY3ZWUyMmI2ZWQ1ZGM4NTNiZGUyZTE5ZjNjZWRjZThmMWUuLjdjNTFiYTg3YmVk
YjJmMTk1YzEwMDRiN2MzYzQ4NWZkZDdkN2I1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPGZ1bmN0aW9u
YWw+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvU2Vjb25k
cy5oPgpAQCAtNDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiBjbGFzcyBU
aW1lckJhc2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlubGluZSBkb3Vi
bGUgbXNUb1NlY29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlvbikgeyByZXR1
cm4gZHVyYXRpb24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGluZSBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4g
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVw
KShkdXJhdGlvbiAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVGlt
ZXJCYXNlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3Vi
bGUgcmVwZWF0SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQot
ICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJ
bnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRlcnZhbCkpOyB9
Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0
UmVwZWF0aW5nKHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2
YWwpOwogCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLCAwKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0K
LSAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFs
LnZhbHVlKCksIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdElu
dGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2
b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBTZWNv
bmRzKDApKTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdG9wKCk7CiAgICAgYm9vbCBp
c0FjdGl2ZSgpIGNvbnN0OwogCi0gICAgZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdDsK
LSAgICBkb3VibGUgbmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0OwotICAgIGRvdWJs
ZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwZWF0SW50ZXJ2YWw7IH0KLSAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJl
dHVybiBzZWNvbmRzVG9NUyhyZXBlYXRJbnRlcnZhbCgpKTsgfQotCi0gICAgdm9pZCBhdWdtZW50
RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSkgeyBzZXROZXh0RmlyZVRpbWUobV9uZXh0RmlyZVRp
bWUgKyBkZWx0YSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRl
bHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBh
dWdtZW50RmlyZUludGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgU2Vjb25kcyBuZXh0Rmly
ZUludGVydmFsKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFs
KCkgY29uc3Q7CisgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVwZWF0SW50ZXJ2YWw7IH0KIAotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJs
ZSBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCAr
PSBkZWx0YTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRzKGRl
bHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YS52YWx1ZSgpKTsgfQorICAgIHZvaWQgYXVnbWVu
dEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJl
VGltZSArIGRlbHRhKTsgfQorICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMg
ZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7IG1fcmVwZWF0SW50ZXJ2YWwgKz0g
ZGVsdGE7IH0KIAogICAgIHZvaWQgZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAt
ODgsMTcgKzc0LDE3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZpcmVk
KCkgPSAwOwogCi0gICAgdmlydHVhbCBPcHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PiBhbGlnbmVkRmlyZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcykgY29uc3QgeyByZXR1
cm4gTnVsbG9wdDsgfQorICAgIHZpcnR1YWwgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4gYWxpZ25l
ZEZpcmVUaW1lKE1vbm90b25pY1RpbWUpIGNvbnN0IHsgcmV0dXJuIE51bGxvcHQ7IH0KIAogICAg
IHZvaWQgY2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0OwogICAgIHZvaWQgY2hlY2tIZWFwSW5kZXgo
KSBjb25zdDsKIAotICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKGRvdWJsZSk7CisgICAgdm9pZCBz
ZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGltZSk7CiAKICAgICBib29sIGluSGVhcCgpIGNvbnN0
IHsgcmV0dXJuIG1faGVhcEluZGV4ICE9IC0xOyB9CiAKICAgICBib29sIGhhc1ZhbGlkSGVhcFBv
c2l0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCB1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRp
bWUpOworICAgIHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKE1vbm90b25pY1RpbWUgb2xkVGltZSk7
CiAKICAgICB2b2lkIGhlYXBEZWNyZWFzZUtleSgpOwogICAgIHZvaWQgaGVhcERlbGV0ZSgpOwpA
QCAtMTEwLDkgKzk2LDkgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxUaW1lckJhc2UqPiYgdGlt
ZXJIZWFwKCkgY29uc3QgeyBBU1NFUlQobV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXApOyBy
ZXR1cm4gKm1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwOyB9CiAKLSAgICBkb3VibGUgbV9u
ZXh0RmlyZVRpbWU7IC8vIDAgaWYgaW5hY3RpdmUKLSAgICBkb3VibGUgbV91bmFsaWduZWROZXh0
RmlyZVRpbWU7IC8vIG1fbmV4dEZpcmVUaW1lIG5vdCBjb25zaWRlcmluZyBhbGlnbm1lbnQgaW50
ZXJ2YWwKLSAgICBkb3VibGUgbV9yZXBlYXRJbnRlcnZhbDsgLy8gMCBpZiBub3QgcmVwZWF0aW5n
CisgICAgTW9ub3RvbmljVGltZSBtX25leHRGaXJlVGltZTsgLy8gMCBpZiBpbmFjdGl2ZQorICAg
IE1vbm90b25pY1RpbWUgbV91bmFsaWduZWROZXh0RmlyZVRpbWU7IC8vIG1fbmV4dEZpcmVUaW1l
IG5vdCBjb25zaWRlcmluZyBhbGlnbm1lbnQgaW50ZXJ2YWwKKyAgICBTZWNvbmRzIG1fcmVwZWF0
SW50ZXJ2YWw7IC8vIDAgaWYgbm90IHJlcGVhdGluZwogICAgIGludCBtX2hlYXBJbmRleDsgLy8g
LTEgaWYgbm90IGluIGhlYXAKICAgICB1bnNpZ25lZCBtX2hlYXBJbnNlcnRpb25PcmRlcjsgLy8g
VXNlZCB0byBrZWVwIG9yZGVyIGFtb25nIGVxdWFsLWZpcmUtdGltZSB0aW1lcnMKICAgICBWZWN0
b3I8VGltZXJCYXNlKj4qIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwOwpAQCAtMTU5LDE4
ICsxNDUsMTggQEAgaW5saW5lIGJvb2wgVGltZXJCYXNlOjppc0FjdGl2ZSgpIGNvbnN0CiAjZWxz
ZQogICAgIEFTU0VSVChXZWJUaHJlYWRJc0N1cnJlbnQoKSB8fCBwdGhyZWFkX21haW5fbnAoKSB8
fCBtX3RocmVhZCA9PSBjdXJyZW50VGhyZWFkKCkpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykK
LSAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWU7CisgICAgcmV0dXJuICEhbV9uZXh0RmlyZVRpbWU7
CiB9CiAKIGNsYXNzIERlZmVycmFibGVPbmVTaG90VGltZXIgOiBwcm90ZWN0ZWQgVGltZXJCYXNl
IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+Ci0gICAg
RGVmZXJyYWJsZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwgdm9pZCAoVGlt
ZXJGaXJlZENsYXNzOjoqZnVuY3Rpb24pKCksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVs
YXkpCisgICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwg
dm9pZCAoVGltZXJGaXJlZENsYXNzOjoqZnVuY3Rpb24pKCksIFNlY29uZHMgZGVsYXkpCiAgICAg
ICAgIDogRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6OmJpbmQoZnVuY3Rpb24sICZvYmplY3Qp
LCBkZWxheSkKICAgICB7CiAgICAgfQogCi0gICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6
OmZ1bmN0aW9uPHZvaWQgKCk+IGZ1bmN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRl
bGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBm
dW5jdGlvbiwgU2Vjb25kcyBkZWxheSkKICAgICAgICAgOiBtX2Z1bmN0aW9uKFdURk1vdmUoZnVu
Y3Rpb24pKQogICAgICAgICAsIG1fZGVsYXkoZGVsYXkpCiAgICAgICAgICwgbV9zaG91bGRSZXN0
YXJ0V2hlblRpbWVyRmlyZXMoZmFsc2UpCkBAIC0yMTIsNyArMTk4LDcgQEAgcHJpdmF0ZToKIAog
ICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gbV9mdW5jdGlvbjsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgbV9kZWxheTsKKyAgICBTZWNvbmRzIG1fZGVsYXk7CiAgICAgYm9vbCBt
X3Nob3VsZFJlc3RhcnRXaGVuVGltZXJGaXJlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9WTm9kZVRyYWNrZXIuY3BwCmluZGV4IGQ0ZmNmOTYxZTAxOTE0NGEyMWZmNGQzZGMwZTE4Zjlm
YzkyOGUxYTcuLjdhOWU2YTA5ZDcwYjc5OWJiNjAwZjdlZTdjMGE5MWVmYTAxOGUwOWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcApAQCAtNDAsNyArNDAsNyBAQCBW
Tm9kZVRyYWNrZXImIFZOb2RlVHJhY2tlcjo6c2luZ2xldG9uKCkKIFZOb2RlVHJhY2tlcjo6Vk5v
ZGVUcmFja2VyKCkKICAgICA6IG1fdm5vZGVDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQg
ZXZlbnQpIHsgaWYgKGV2ZW50ID09IFJlZkNvdW50ZXJFdmVudDo6SW5jcmVtZW50KSBjaGVja1By
ZXNzdXJlU3RhdGUoKTsgfSkKICAgICAsIG1fcHJlc3N1cmVXYXJuaW5nVGltZXIoKnRoaXMsICZW
Tm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQpCi0gICAgLCBtX2xhc3RXYXJu
aW5nVGltZShzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkKKyAgICAsIG1fbGFzdFdh
cm5pbmdUaW1lKE1vbm90b25pY1RpbWU6Om5vdygpKQogewogICAgIHBsYXRmb3JtSW5pdGlhbGl6
ZSgpOwogCkBAIC02MywyMSArNjMsMjIgQEAgdm9pZCBWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2Fy
bmluZ1RpbWVyRmlyZWQoKQogICAgIGlmIChtX3Zub2RlQ291bnRlci52YWx1ZSgpIDw9IG1fc29m
dFZOb2RlTGltaXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGFzdFdhcm5pbmdUaW1lID0g
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgbV9sYXN0V2FybmluZ1RpbWUg
PSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICB1bnNpZ25lZCB2bm9kZUNvdW50ID0gbV92bm9k
ZUNvdW50ZXIudmFsdWUoKTsKICAgICBhdXRvIGNyaXRpY2FsID0gdm5vZGVDb3VudCA+IG1faGFy
ZFZOb2RlTGltaXQgPyBDcml0aWNhbDo6WWVzIDogQ3JpdGljYWw6Ok5vOwogICAgIG1fcHJlc3N1
cmVIYW5kbGVyKGNyaXRpY2FsKTsKICAgICBMT0coTWVtb3J5UHJlc3N1cmUsICJ2bm9kZSBwcmVz
c3VyZSBoYW5kbGVyIGZyZWVkICVsdSB2bm9kZXMgb3V0IG9mICV1IChjcml0aWNhbCBwcmVzc3Vy
ZTogJXMpIiwgdm5vZGVDb3VudCAtIG1fdm5vZGVDb3VudGVyLnZhbHVlKCksIHZub2RlQ291bnQs
IGNyaXRpY2FsID09IENyaXRpY2FsOjpZZXMgPyAiWWVzIiA6ICJObyIpOwogfQogCi1zdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVy
dmFsKCkgY29uc3QKK1NlY29uZHMgVk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5nSW50
ZXJ2YWwoKSBjb25zdAogewogICAgIC8vIFdlIHJ1biB0aGUgdm5vZGUgcHJlc3N1cmUgaGFuZGxl
ciBldmVyeSAzMCBzZWNvbmRzIGF0IG1vc3QuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gbWluaW11
bVdhcm5pbmdJbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMzAgfTsKLSAgICBhdXRv
IHRpbWVTaW5jZUxhc3RXYXJuaW5nID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkg
LSBtX2xhc3RXYXJuaW5nVGltZTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtV2Fy
bmluZ0ludGVydmFsID0gU2Vjb25kcygzMCk7CisgICAgYXV0byB0aW1lU2luY2VMYXN0V2Fybmlu
ZyA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CiAgICAgaWYgKHRp
bWVTaW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZhbCkKLSAgICAgICAgcmV0
dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+
KG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2FybmluZyk7Ci0gICAgcmV0
dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBtaW5p
bXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7CisKKyAgICByZXR1cm4g
U2Vjb25kcygwKTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVk5vZGVUcmFja2VyLmgKaW5kZXggMWIwMTEwZTgzZTdhMTZkYTk2NDgwMTMwODVhYmZlMTgy
NjBmNGEyNC4uMDRmYjM3OTVkNjVjNzg3NTI5M2I5YzdiZGRmMzg3MDE1M2VhMWYxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgY2hlY2tQcmVzc3VyZVN0YXRlKCk7CiAgICAgdm9pZCBwcmVzc3VyZVdh
cm5pbmdUaW1lckZpcmVkKCk7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBuZXh0UHJl
c3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRQcmVzc3VyZVdh
cm5pbmdJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsK
IApAQCAtNjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIFByZXNzdXJlSGFuZGxlciBtX3ByZXNz
dXJlSGFuZGxlcjsKICAgICBWTm9kZUNvdW50ZXIgbV92bm9kZUNvdW50ZXI7CiAgICAgVGltZXIg
bV9wcmVzc3VyZVdhcm5pbmdUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0
aW1lX3BvaW50IG1fbGFzdFdhcm5pbmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0V2Fy
bmluZ1RpbWU7CiB9OwogCiBpbmxpbmUgdm9pZCBWTm9kZVRyYWNrZXI6OnNldFByZXNzdXJlSGFu
ZGxlcihQcmVzc3VyZUhhbmRsZXIgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCAxNjc2NjlhMjA2
MDg0OGNjNjgxMmNmNDZlNDc3ODY1OThlMTE0M2U4Li4wNzk1MTBmMWE5MjJjMDY1ZjYzYTBjN2Ex
Y2U4NDJjYmU1MWZhYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJU
aHJvdHRsZURlbGF5ID0gMC4xOworY29uc3QgU2Vjb25kcyBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1Rp
bWVyVGhyb3R0bGVEZWxheSA9IFNlY29uZHMoMC4xKTsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0
YXRpYyBjb25zdCBjaGFyKiBzdGF0ZU5hbWUoUGxhdGZvcm1NZWRpYVNlc3Npb246OlN0YXRlIHN0
YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29u
dHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xs
ZXIubW0KaW5kZXggY2Q2ZmRiZTIwOTdiYmE1NzQ0ZDgxZmE4OGU0NzA5NGFjYTI2MjcwYy4uODA5
OGNmODlhY2QwMjEwZGZhOTA0MTZiYmFlZjFlMDhlNThmMjIyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCkBAIC03Niw3ICs3Niw3
IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBydWJiZXJiYW5kTWluaW11bVJlcXVpcmVkRGVsdGFCZWZv
cmVTdHJldGNoID0gMTA7CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9S
TShNQUMpCiBzdGF0aWMgY29uc3QgZmxvYXQgaW5lcnRpYWxTY3JvbGxQcmVkaWN0aW9uRmFjdG9y
ID0gMTYuNzsKLXN0YXRpYyBjb25zdCBkb3VibGUgc3RhdGVsZXNzU2Nyb2xsU25hcERlbGF5ID0g
MC41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RhdGVsZXNzU2Nyb2xsU25hcERlbGF5ID0gU2Vj
b25kcygwLjUpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkBAIC00MjEsNyArNDIxLDcg
QEAgYm9vbCBTY3JvbGxDb250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QK
IHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCkKIHsKICAg
ICBtX2NsaWVudC5zdGFydFNuYXBSdWJiZXJiYW5kVGltZXIoKTsKLSAgICBtX3NuYXBSdWJiZXJi
YW5kVGltZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgbV9zbmFwUnViYmVyYmFu
ZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIAogICAgIG1fY2xpZW50
LmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdn
ZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dl
cjo6UnViYmVyYmFuZEluUHJvZ3Jlc3MpOwogfQpAQCAtNjM0LDcgKzYzNCw3IEBAIHZvaWQgU2Ny
b2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIoKQogewogICAgIGlmICghbV9zY3Jv
bGxTbmFwVGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNu
YXBUaW1lcigpOwotICAgICAgICBtX3Njcm9sbFNuYXBUaW1lci5zdGFydFJlcGVhdGluZygxLjAg
LyA2MC4wKTsKKyAgICAgICAgbV9zY3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25k
cygxLjAgLyA2MCkpOwogICAgIH0KIAogICAgIGlmICghbV9zY3JvbGxTbmFwVGltZXIuaXNBY3Rp
dmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2Ev
R2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IDZh
NTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlkOTAuLjgzYTA3MTMwMTNjN2M2NDBi
ZDQ2ZWZjM2NkNjMyYTUxMTU4NzljMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVw
YWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZB
SUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERpc2Nvbm5lY3ROb3RpZmljYXRpbwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1zOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoMTYp
OwogCiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFk
UHJvdmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlh
MDUwZDE4YWE4NzA4OWU5NThlODEyMTRlMWNkZmIxNGViLi4zOTdmNDY3ODllNTMyYmFlZDhkY2Y0
Yzc0ZDkzNTJhZGQ2N2RhNGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
YW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rp
b25EZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNh
dGlvbkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUlu
dGVydmFsID0gU2Vjb25kcygwLjUpOworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmlj
YXRpb25EZWxheSA9IFNlY29uZHMoMC4wNSk7CiAKIHN0YXRpYyBSZXRhaW5QdHI8Q0ZEaWN0aW9u
YXJ5UmVmPiBkZXZpY2VNYXRjaGluZ0RpY3Rpb25hcnkodWludDMyX3QgdXNhZ2VQYWdlLCB1aW50
MzJfdCB1c2FnZSkKIHsKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIEhJREdhbWVwYWRQcm92aWRl
cjo6ZGV2aWNlQWRkZWQoSU9ISUREZXZpY2VSZWYgZGV2aWNlKQogICAgICAgICAvLyBhbmQgd2Ug
ZG9uJ3Qgd2FudCB0byB0ZWxsIHRoZSBjbGllbnQgYWJvdXQgYW55IG9mIHRoZW0uCiAgICAgICAg
IC8vIFRoZSBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyIGZpcmVzIGluIGEgc3Vic2VxdWVudCBzcGlu
IG9mIHRoZSBydW5sb29wIGFmdGVyIHdoaWNoCiAgICAgICAgIC8vIGFueSBjb25uZWN0aW9uIGV2
ZW50cyBhcmUgYWN0dWFsIG5ldyBkZXZpY2VzLgotICAgICAgICBtX2Nvbm5lY3Rpb25EZWxheVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAKICAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAg
d2FzIGFkZGVkIHdoaWxlIHN1cHByZXNzaW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUg
YW4gJ2FscmVhZHkgY29ubmVjdGVkJyBldmVudCIsIGRldmljZSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCAzZGJhNTYyM2Jh
ZGZiYmNkYzg4MjJlMzdiZmQyZGRkZTc2NDFkNTdjLi44NGZlNTY0M2M3MDBjMjc5N2FjNTYxYmZi
ZTQ4M2MwZjVlNWE1NDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuY3BwCkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6
Y2xlYXJUaW1lcigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9pZCBCaXRt
YXBJbWFnZTo6c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdlOjpzdGFy
dFRpbWVyKFNlY29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwogICAg
IG1fZnJhbWVUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0bWFwSW1h
Z2U6OmFkdmFuY2VBbmltYXRpb24pOwpAQCAtMjg1LDcgKzI4NSw3IEBAIEJpdG1hcEltYWdlOjpT
dGFydEFuaW1hdGlvblJlc3VsdCBCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1hdGlvbigp
CiAgICAgfQogCiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwotICAgIHN0YXJ0VGltZXIobV9k
ZXNpcmVkRnJhbWVTdGFydFRpbWUgLSB0aW1lKTsKKyAgICBzdGFydFRpbWVyKFNlY29uZHMobV9k
ZXNpcmVkRnJhbWVTdGFydFRpbWUgLSB0aW1lKSk7CiAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0aW9u
UmVzdWx0OjpTdGFydGVkOwogfQogCkBAIC0yOTksNyArMjk5LDcgQEAgdm9pZCBCaXRtYXBJbWFn
ZTo6YWR2YW5jZUFuaW1hdGlvbigpCiAgICAgICAgIGRvdWJsZSB0aW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIC8vIFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVt
YWluaW5nIHRpbWUgZnJvbSBub3cgdGlsbCB0aGUgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgog
ICAgICAgICBpZiAobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4
KHRpbWUsIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lKSkgewotICAgICAgICAgICAgc3RhcnRUaW1l
cihtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JUZXN0aW5nIC0gdGltZSk7CisgICAgICAgICAg
ICBzdGFydFRpbWVyKFNlY29uZHMobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAt
IHRpbWUpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IDg5MDMyZGNh
NGIxYjUyNDhkNGQ3OTRjOWVkMzU0N2M1ODA2MDUyYzMuLmU1YzkyYzQ2MDg4M2QyNjYzNzhmZDE1
OWJlMmU0NzBjN2EzOGI3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaApAQCAtMTg1LDcgKzE4NSw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0
ZToKICAgICB2b2lkIGNsZWFyVGltZXIoKTsKLSAgICB2b2lkIHN0YXJ0VGltZXIoZG91YmxlIGRl
bGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAgICAgYm9vbCBpc0Jp
dG1hcEltYWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZHVt
cChUZXh0U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDAzYTc4ZTdhZmE4ZTQxZTVlZTQ1OWNm
MTVkYzdmYWUwNmM2MWI2MGMuLjU3MWQ0ODEyYTIzZGU5MGI0MWUzMTgwMTdhMWJlNGRiNzNhOGY1
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cApAQCAtMzI5LDcgKzMyOSw3IEBAIGNvbnN0IHVuc2lnbmVkIGNUYXJnZXRVbmRlck1lbW9yeVBy
ZXNzdXJlSW5hY3RpdmVGb250RGF0YSA9IDMwOwogUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6Zm9u
dEZvckZhbWlseShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNl
RmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRp
bmdzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKIHsKICAgICBpZiAoIW1fcHVyZ2VUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBtcyk7Cisg
ICAgICAgIG1fcHVyZ2VUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAKICAgICBGb250
UGxhdGZvcm1EYXRhKiBwbGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZv
bnREZXNjcmlwdGlvbiwgZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRT
ZXR0aW5ncywgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJh
Y2tUYXJnZXRQaWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4
YjcxNWUyODFhMjc1OTIwNi4uZDZjMTNlZTA4MjM2MzFkYjgyMGY5MTVmOTk2YjQ3YWM3ZDQ3MjM2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRl
cnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50
ZXJ2YWwgPSBTZWNvbmRzKDEuMCAvIDEwKTsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50
KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRkMTRhM2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4u
ODEwMWJhYjQ4NDAwNWZmNmM1YWY3OWMzYWFmYzRiZWUxMzQ2ZmEyZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsx
MDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYg
KG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkgPj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5y
ZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEpIHsKICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5
ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAgICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5l
cygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVudE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVz
dE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlhRW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVs
b2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dC
bHVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3Bw
CmluZGV4IDUyM2IzYWY1ZDdiZTc3ZmExZGU3NjllOGRjMTMwNzZkNWYzYzIxM2YuLjVmZDc2NDdi
ZDdmYjE1NWIwZWIzMTAwNTBlNTkwYWYzOWEwOTkwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVi
bGljOgogICAgICAgICBpZiAobV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBt
X3B1cmdlVGltZXIuc3RvcCgpOwogCi0gICAgICAgIGNvbnN0IGRvdWJsZSBzY3JhdGNoQnVmZmVy
UHVyZ2VJbnRlcnZhbCA9IDI7CisgICAgICAgIGNvbnN0IFNlY29uZHMgc2NyYXRjaEJ1ZmZlclB1
cmdlSW50ZXJ2YWwgPSBTZWNvbmRzKDIpOwogICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVT
aG90KHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsKTsKICAgICB9CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxl
Y3Rpb25Hcm91cEFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KaW5kZXggNmVlOGJjNGVm
YjMxN2FiZjE2NjM0YTRjMjkzNTRlYjg1YzQ5YWU2ZC4uZTJlNTM4MDQ4ZTU5NDgxNDRmNmZhZDBj
M2YyYzZiNjJjMTNhMjBkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlv
bkdyb3VwQVZGT2JqQy5tbQpAQCAtMTY2LDcgKzE2Niw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25H
cm91cEFWRk9iakM6OnVwZGF0ZU9wdGlvbnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGNoYXJhY3Rl
cmlzCiAKICAgICBBU1NFUlQobV9vcHRpb25zLmNvbnRhaW5zKHByZWZlcnJlZE9wdGlvbikpOwog
ICAgIG1fc2VsZWN0ZWRPcHRpb24gPSBtX29wdGlvbnMuZ2V0KHByZWZlcnJlZE9wdGlvbik7Ci0g
ICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZWxlY3Rpb25UaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyog
b3B0aW9uKQpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9i
akM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoKICAgICBt
X3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVyLmlzQWN0
aXZlKCkpCiAgICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2VsZWN0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZWxl
Y3Rpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCBmZjI5OTRm
YmE2NGE3OTg2MzYzZDI4M2VkNGY1MjhkZDhlMTM2NTYxLi42ODljNmZlMzY0MWE0ZmRiNDgyNGI3
NmMwZTMwOTVlYjE3NmYxNjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0yMjgs
NyArMjI4LDcgQEAgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZShjb24KICAgICAgICAgb3V0cHV0Q29kZWNz
ID0gW2dldEFWU3RyZWFtRGF0YVBhcnNlckNsYXNzKCkgb3V0cHV0TUlNRUNvZGVjUGFyYW1ldGVy
Rm9ySW5wdXRNSU1FQ29kZWNQYXJhbWV0ZXI6b3V0cHV0Q29kZWNzXTsKIAogICAgIE5TU3RyaW5n
ICp0eXBlU3RyaW5nID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQDsgY29kZWNzPVwi
JUBcIiIsIChOU1N0cmluZyAqKXBhcmFtZXRlcnMudHlwZSwgKE5TU3RyaW5nICopb3V0cHV0Q29k
ZWNzXTsKLSAgICByZXR1cm4gW2dldEFWVVJMQXNzZXRDbGFzcygpIGlzUGxheWFibGVFeHRlbmRl
ZE1JTUVUeXBlOnR5cGVTdHJpbmddID8gTWVkaWFQbGF5ZXI6OklzU3VwcG9ydGVkIDogTWVkaWFQ
bGF5ZXI6Ok1heUJlU3VwcG9ydGVkOzsKKyAgICByZXR1cm4gW2dldEFWVVJMQXNzZXRDbGFzcygp
IGlzUGxheWFibGVFeHRlbmRlZE1JTUVUeXBlOnR5cGVTdHJpbmddID8gTWVkaWFQbGF5ZXI6Oklz
U3VwcG9ydGVkIDogTWVkaWFQbGF5ZXI6Ok1heUJlU3VwcG9ydGVkOwogfQogCiAjcHJhZ21hIG1h
cmsgLQpAQCAtMzk2LDcgKzM5Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzZWVrV2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmIHRpCiAKICAgICBp
ZiAobV9zZWVrVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9zZWVrVGltZXIuc3RvcCgpOwot
ICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlZWtUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKaW5kZXggMGNmN2Y3N2U2MTFhZDJiZDRlYjA3MjM1
MDAxOGFkYzRiY2RiODQ1Zi4uMTk1NmY2ODVhOTZlYTgzMDM4ODRlOWY0YzU0YjIwNDA3NWFiNGU0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQ
b29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBv
b2wuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUo
KQogewogICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwot
ICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV9wcnVuZVRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKDEpKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
Q29udHJvbGxlci5jcHAKaW5kZXggNDEzMmIwNDg2YTNhODdkMmVmM2EzNzg4YTI3OTliNjE0YjNh
MWUyYy4uZmFlYmM2NjU1MjliNThmNGI2Yzk3NjM2MDkwODc0MjA0OTA3MDEwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVy
LmNwcApAQCAtNDksNyArNDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBj
b25zdCBhdXRvIHRpbGVTaXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IHsgNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gU2Vj
b25kcygwLjUpOwogCiBTdHJpbmcgVGlsZUNvbnRyb2xsZXI6OnRpbGVHcmlkQ29udGFpbmVyTGF5
ZXJOYW1lKCkKIHsKQEAgLTI2Niw3ICsyNjYsNyBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRJ
c0luV2luZG93KGJvb2wgaXNJbldpbmRvdykKICAgICBpZiAobV9pc0luV2luZG93KQogICAgICAg
ICBzZXROZWVkc1JldmFsaWRhdGVUaWxlcygpOwogICAgIGVsc2UgewotICAgICAgICBjb25zdCBk
b3VibGUgdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgPSA0OworICAgICAgICBjb25zdCBTZWNvbmRz
IHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0ID0gU2Vjb25kcyg0KTsKICAgICAgICAgc2NoZWR1bGVU
aWxlUmV2YWxpZGF0aW9uKHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0KTsKICAgICB9CiB9CkBAIC00
NTYsNyArNDU2LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6YWRqdXN0VGlsZUNvdmVyYWdlUmVj
dChGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXQKICNlbmRpZgogfQogCi12b2lk
IFRpbGVDb250cm9sbGVyOjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24oZG91YmxlIGludGVydmFs
KQordm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMg
aW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLmlzQWN0aXZlKCkg
JiYgbV90aWxlUmV2YWxpZGF0aW9uVGltZXIubmV4dEZpcmVJbnRlcnZhbCgpIDwgaW50ZXJ2YWwp
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ29udHJvbGxlci5oCmluZGV4IGMzZWU0MWUwNmJkODgyMDAzMWVkMjkyMTI4
NjE1ZmU3OWQ5MzNhYzguLjZkOGMyMGM0NWEzNGY0ZTcyMGJjN2NlYTA5MjU5NThiZTAxNGFiNGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNv
bnRyb2xsZXIuaApAQCAtMTM0LDcgKzEzNCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgVGls
ZUdyaWQmIHRpbGVHcmlkKCkgeyByZXR1cm4gKm1fdGlsZUdyaWQ7IH0KIAotICAgIHZvaWQgc2No
ZWR1bGVUaWxlUmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCk7CisgICAgdm9pZCBzY2hlZHVs
ZVRpbGVSZXZhbGlkYXRpb24oU2Vjb25kcyBpbnRlcnZhbCk7CiAKICAgICBib29sIGlzSW5XaW5k
b3coKSBjb25zdCB7IHJldHVybiBtX2lzSW5XaW5kb3c7IH0KICAgICBmbG9hdCB0b3BDb250ZW50
SW5zZXQoKSBjb25zdCB7IHJldHVybiBtX3RvcENvbnRlbnRJbnNldDsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAK
aW5kZXggNzkyMzk2N2VmNTc1ZmFkMWJiMzJmMWFmMDNjOTg5OGZmYmIxNzE1Yy4uODhkYjcxMGIy
ZjliY2MyNzk3MGVhYzBhN2Q5M2VmZGI2NWI3MDQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCkBAIC03OSw3
ICs3OSw3IEBAIFRpbGVDb3ZlcmFnZU1hcDo6flRpbGVDb3ZlcmFnZU1hcCgpCiB2b2lkIFRpbGVD
b3ZlcmFnZU1hcDo6c2V0TmVlZHNVcGRhdGUoKQogewogICAgIGlmICghbV91cGRhdGVUaW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgVGls
ZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCAyOGYyOWNiZGU4ZTIxZjcxODAx
Yjg4NjIyNzk1NjFlZjkyMmZhMWMxLi4zMmIwZWFkMjgyZjQ1NjJiNGQxYmRiYWNlMDBkZDFhNTRl
MTJhOGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRp
bGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgVGlsZUNvaG9y
dCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAgICB1bnNpZ25lZCB0aWxlc0luQ29o
b3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9
IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CisgICAgU2Vjb25kcyBtaW5pbXVt
UmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgYm9v
bCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAgICAKICAgICBhdXRvIHRpbGVTaXpl
ID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEsOCArMzgxLDggQEAgdm9pZCBUaWxl
R3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Qb2xp
Y3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hvcnQgOiBtX2NvaG9ydExpc3QpIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hvcnQgIT0gdGlsZUluZm8uY29ob3J0
KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAg
IGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29ob3J0LnRpbWVVbnRpbEV4cGlyYXRp
b24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVVbnRpbENvaG9ydEV4cGlyZXMgPiAw
KSB7CisgICAgICAgICAgICAgICAgICAgIFNlY29uZHMgdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9
IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0
aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gU2Vjb25kcygwKSkgewogICAgICAgICAgICAgICAgICAg
ICAgICAgbWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBzdGQ6Om1pbihtaW5pbXVt
UmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiwgdGltZVVudGlsQ29ob3J0RXhwaXJlcyk7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSB0cnVlOwogICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UKQEAgLTQ3OCw3ICs0NzgsNyBAQCBUaWxlR3JpZDo6VGlsZUNv
aG9ydCBUaWxlR3JpZDo6bmV4dFRpbGVDb2hvcnQoKSBjb25zdAogCiB2b2lkIFRpbGVHcmlkOjpz
dGFydGVkTmV3Q29ob3J0KFRpbGVDb2hvcnQgY29ob3J0KQogewotICAgIG1fY29ob3J0TGlzdC5h
cHBlbmQoVGlsZUNvaG9ydEluZm8oY29ob3J0LCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KSkpOworICAgIG1fY29ob3J0TGlzdC5hcHBlbmQoVGlsZUNvaG9ydEluZm8oY29ob3J0LCBNb25v
dG9uaWNUaW1lOjpub3coKSkpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAoIW1fY29udHJv
bGxlci5pc0luV2luZG93KCkpCiAgICAgICAgIHRpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcigp
LnRpbGVDb250cm9sbGVyR2FpbmVkVW5wYXJlbnRlZFRpbGVzKCZtX2NvbnRyb2xsZXIpOwpAQCAt
NDk3LDE3ICs0OTcsMTcgQEAgVGlsZUdyaWQ6OlRpbGVDb2hvcnQgVGlsZUdyaWQ6Om9sZGVzdFRp
bGVDb2hvcnQoKSBjb25zdAogCiB2b2lkIFRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwo
KQogewotICAgIGNvbnN0IGRvdWJsZSBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzID0gMTsKKyAg
ICBjb25zdCBTZWNvbmRzIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgPSBTZWNvbmRzKDEpOwog
CiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5v
dyBpZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIu
aXNBY3RpdmUoKSkKICAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmco
Y29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyk7CiB9CiAKLWRvdWJsZSBUaWxlR3JpZDo6VGlsZUNv
aG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3JpZDo6VGlsZUNv
aG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBjb2hvcnRMaWZl
VGltZVNlY29uZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAgY29uc3QgU2Vj
b25kcyBjb2hvcnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3RvbmljVGltZSB0aW1l
VGhyZXNob2xkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGltZTsKICAgICBy
ZXR1cm4gY3JlYXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4LDcgKzUxOCw3
IEBAIHZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2Nv
aG9ydExpc3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7CisgICAgd2hpbGUg
KCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgpLnRpbWVVbnRp
bEV4cGlyYXRpb24oKSA8IFNlY29uZHMoMCkpIHsKICAgICAgICAgVGlsZUNvaG9ydEluZm8gZmly
c3RDb2hvcnQgPSBtX2NvaG9ydExpc3QudGFrZUZpcnN0KCk7CiAgICAgICAgIHJlbW92ZVRpbGVz
SW5Db2hvcnQoZmlyc3RDb2hvcnQuY29ob3J0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaAppbmRleCAzMjUzMzZmODE5MWU0NTgyM2M3
NTVkODc4MmM0MmFhMGRlNTc2NTFkLi40MjY5Mzc3NGJhNGYxYzVhYjRjZDM0ZTI4YTMyN2ZlZTk4
YWUwYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVH
cmlkLmgKQEAgLTEyMSwxMyArMTIxLDEzIEBAIHByaXZhdGU6CiAKICAgICBzdHJ1Y3QgVGlsZUNv
aG9ydEluZm8gewogICAgICAgICBUaWxlQ29ob3J0IGNvaG9ydDsKLSAgICAgICAgZG91YmxlIGNy
ZWF0aW9uVGltZTsgLy8gaW4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkuCi0gICAgICAg
IFRpbGVDb2hvcnRJbmZvKFRpbGVDb2hvcnQgaW5Db2hvcnQsIGRvdWJsZSBpblRpbWUpCisgICAg
ICAgIE1vbm90b25pY1RpbWUgY3JlYXRpb25UaW1lOworICAgICAgICBUaWxlQ29ob3J0SW5mbyhU
aWxlQ29ob3J0IGluQ29ob3J0LCBNb25vdG9uaWNUaW1lIGluVGltZSkKICAgICAgICAgICAgIDog
Y29ob3J0KGluQ29ob3J0KQogICAgICAgICAgICAgLCBjcmVhdGlvblRpbWUoaW5UaW1lKQogICAg
ICAgICB7IH0KIAotICAgICAgICBkb3VibGUgdGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAg
ICBTZWNvbmRzIHRpbWVVbnRpbEV4cGlyYXRpb24oKTsKICAgICB9OwogCiAgICAgdm9pZCByZW1v
dmVBbGxUaWxlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmNwcAppbmRleCBiODFkNThlNjNkMThiMjZhZjRkYjE0ZmE1YzNh
OGEwZmUwYmZmMTQ4Li4zMmYyMjU3NTI1YWFjMjRlOTU2YWI4ZmQzYjQxODVhNjA5ZWU3ZjgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQ
b29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZh
Y2VQb29sLmNwcApAQCAtMzMsOCArMzMsOCBAQAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRl
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSA1MDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRz
IHN1cmZhY2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxlID0gMnM7Citjb25zdCBTZWNvbmRzIGNv
bGxlY3Rpb25JbnRlcnZhbCA9IFNlY29uZHMoMC41KTsKK2NvbnN0IFNlY29uZHMgc3VyZmFjZUFn
ZUJlZm9yZU1hcmtpbmdQdXJnZWFibGUgPSBTZWNvbmRzKDIpOwogY29uc3Qgc2l6ZV90IGRlZmF1
bHRNYXhpbXVtQnl0ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZl
ciBhbGxvdyBtb3JlIHRoYW4gMS8yIG9mIHRoZSBjYWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11
c2Ugc3VyZmFjZXMsIGJlY2F1c2UKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBv
b2w6OmNvbGxlY3RJblVzZVN1cmZhY2VzKCkKIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVy
U3VyZmFjZXNQdXJnZWFibGUoKQogewogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVl
OwotICAgIGF1dG8gbWFya1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsK
KyAgICBhdXRvIG1hcmtUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1
dG8mIHN1cmZhY2VBbmREZXRhaWxzIDogbV9zdXJmYWNlRGV0YWlscykgewogICAgICAgICBpZiAo
c3VyZmFjZUFuZERldGFpbHMudmFsdWUuaGFzTWFya2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0
OWEzYmMzZDI3YzU0Njk2ZDdiNWI1NjM5NWYzZjNlMmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1
ZTFiZjNjNDgyMDA2ZWJjOTRmZTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgIDogaGFzTWFya2VkUHVyZ2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0K
IAotICAgICAgICB2b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7IH0KKyAgICAgICAgdm9pZCByZXNldExhc3RVc2VU
aW1lKCkgeyBsYXN0VXNlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAg
ICAgTW9ub3RvbmljVGltZSBsYXN0VXNlVGltZTsKICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJn
ZWFibGU7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdl
MjU0ZTJhYWM0MDhiNGU4MzYzZjQ4ZTNlZDIzMGZmZDc2Li5jMTI3NjA4OTM3M2E3ZTQzODEwZTQ0
OGNiYzUxODVlZTY5MTY5ZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQs
NyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1
YmltYWdlQ2FjaGVDbGVhckRlbGF5ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IFNlY29uZHMoMSk7CiBz
dGF0aWMgY29uc3QgaW50IG1heFN1YmltYWdlQ2FjaGVTaXplID0gMzAwOwogCiBzdHJ1Y3QgU3Vi
aW1hZ2VSZXF1ZXN0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lci5jcHAKaW5kZXggZmVhZGRkZGE4ZGM0NjQ5NTZkNTQwNTJlMDVhZGE3NzA2ZDQ4M2Y5MS4u
ZjY0NDQwYjE0MjNmMGFmMjVhZjVkYTdhMjYyYmMyZTUxNzkxM2Q3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTM2Nyw3ICszNjcsNyBA
QCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZShH
c3RTdGF0ZSBuZXdTdGF0ZSkKICAgICBpZiAobmV3U3RhdGUgPT0gR1NUX1NUQVRFX1JFQURZICYm
ICFtX3JlYWR5VGltZXJIYW5kbGVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gTWF4IGludGVy
dmFsIGluIHNlY29uZHMgdG8gc3RheSBpbiB0aGUgUkVBRFkgc3RhdGUgb24gbWFudWFsCiAgICAg
ICAgIC8vIHN0YXRlIGNoYW5nZSByZXF1ZXN0cy4KLSAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJs
ZSByZWFkeVN0YXRlVGltZXJEZWxheSA9IDYwOworICAgICAgICBzdGF0aWMgY29uc3QgU2Vjb25k
cyByZWFkeVN0YXRlVGltZXJEZWxheSA9IFNlY29uZHMoNjApOwogICAgICAgICBtX3JlYWR5VGlt
ZXJIYW5kbGVyLnN0YXJ0T25lU2hvdChyZWFkeVN0YXRlVGltZXJEZWxheSk7CiAgICAgfSBlbHNl
IGlmIChuZXdTdGF0ZSAhPSBHU1RfU1RBVEVfUkVBRFkpCiAgICAgICAgIG1fcmVhZHlUaW1lckhh
bmRsZXIuc3RvcCgpOwpAQCAtMTg1OCw3ICsxODU4LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKCkKICAgICBpZiAoc2hvdWxkRG93bmxv
YWQpIHsKICAgICAgICAgR1NUX0RFQlVHKCJFbmFibGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwog
ICAgICAgICBnX29iamVjdF9zZXQobV9waXBlbGluZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgfCBm
bGFnRG93bmxvYWQsIG51bGxwdHIpOwotICAgICAgICBtX2ZpbGxUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjIpOworICAgICAgICBtX2ZpbGxUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDAuMikp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygiRGlzYWJsaW5nIG9uLWRpc2sgYnVm
ZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVsaW5lLmdldCgpLCAiZmxhZ3Mi
LCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IDk2OTM2OWEzNWU3OTcx
NTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLjc1ZDJhNmNjOGE1ZjMxN2JjOGNiZDIwZmMxNzEx
OGNlMGJiNDc4MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBsZSogc2FtcGxlKQogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKICAgICBpZiAoIW1fcGxheWVyLT5j
bGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkpIHsKICAg
ICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKDApKTsKICAgICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQobV9kcmF3TXV0ZXgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtNjc1LDcgKzY3NSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2FtcGxlKiBzYW1wbGUpCiAg
ICAgICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwogCiAgICAgICAgIExvY2tIb2xkZXIgbG9j
a2VyKG1fZHJhd011dGV4KTsKLSAgICAgICAgbV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgIG1f
ZHJhd0NvbmRpdGlvbi53YWl0KG1fZHJhd011dGV4KTsKICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
VmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCBkMTgxZWNmMDE3OGNlMmE1N2RmMjFiMTUyMWMw
NDFmNmI3Mjc5OTI4Li43NjA5NjhiY2ZmZTdmNjFhNWM2NTZmNDVmMWIyYjQzNmFlNzc3ZTNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlk
ZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHB1
YmxpYzoKICAgICAgICAgbV9zYW1wbGUgPSBudWxscHRyOwogI2Vsc2UKICAgICAgICAgbV9zaW5r
ID0gc2luazsKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2Fp
dChtX3NhbXBsZU11dGV4KTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYw
YzFlZjJmYjRmLi5kZTY0NDAyOTg5ZTc4MGQ4NTBjZmUwMzg5MWQwOTRmNTcyMDBiNjI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBp
ZiAobWF4TWVkaWFUaW1lU2Vla2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7
CiAgICAgZWxzZSAKLSAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAg
IG1fc2Vla1RpbWVyLnN0YXJ0KFNlY29uZHMoMCksIFNlY29uZHMoMC41KSk7CiB9CiAKIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmRvU2VlaygpIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5j
cHAKaW5kZXggMWI0NmYzNzUyNDk4OTA3ZTAwYmMyODJkMmQ5ZDZmMWFmNzNiNDU5ZS4uODU0YWVi
YzE5MjdlOTcxMGI3MjM4MmRmMGIwYzgwZGUyZGJlMmIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBv
b2wuY3BwCkBAIC0zNCw3ICszNCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBj
b25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDM7Ci1zdGF0aWMg
Y29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbCA9IDAuNTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZh
bCA9IFNlY29uZHMoMC41KTsKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRl
eHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYg
Y29udGV4dDNEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJv
eHkuY3BwCmluZGV4IDVlM2M4MmYxZjMzYWQ1MjkyNTA2Njg5NmM5YzIxNGEzM2JmOGIzMDUuLjRk
Y2ZlZTgzYWZiMjg4NTViZWU0YzNhOTU2NmU0YjkwODhkZGM3MmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAK
ICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlci5oIgogCiBjb25zdCBk
b3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUg
c19yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRz
IHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsID0gU2Vjb25kcygwLjUpOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE2Myw3ICsxNjMsNyBAQCBib29sIFRleHR1cmVNYXBw
ZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlVXBkYXRlT25Db21wb3NpdG9yVGhyZWFkKHN0
ZDo6ZnVuYwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBtX2NvbXBvc2l0b3JUaHJlYWRV
cGRhdGVGdW5jdGlvbiA9IFdURk1vdmUodXBkYXRlRnVuY3Rpb24pOwotICAgIG1fY29tcG9zaXRv
clRocmVhZFVwZGF0ZVRpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb21wb3NpdG9yVGhy
ZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmNwcAppbmRleCA1ZDc0NGQyNTI5YzIwMDdiZGUwZTg5OTE0MDAwZjA1N2I3MWQz
N2ZjLi4zYTE4MTliMzJkYzE2YjA3ZDJmNmY0Mjk3ZjlhYmUyYTM3NTY3MjhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcApA
QCAtMTIwMCw3ICsxMjAwLDcgQEAgYm9vbCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFkZEFu
aW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVMaXN0LAogCiAgICAgbV9sYXN0
QW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBkZWxh
eUFzTmVnYXRpdmVUaW1lT2Zmc2V0OwogICAgIG1fYW5pbWF0aW9ucy5hZGQoVGV4dHVyZU1hcHBl
ckFuaW1hdGlvbihrZXlmcmFtZXNOYW1lLCB2YWx1ZUxpc3QsIGJveFNpemUsICphbmltLCBsaXN0
c01hdGNoLCBtX2xhc3RBbmltYXRpb25TdGFydFRpbWUsIDAsIFRleHR1cmVNYXBwZXJBbmltYXRp
b246OkFuaW1hdGlvblN0YXRlOjpQbGF5aW5nKSk7Ci0gICAgbV9hbmltYXRpb25TdGFydGVkVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKDApKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25zKCk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1h
Z2VCYWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5ZWZjM2ZhYWVjNDMyMzM2
YTYxLi42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRlOGQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKQEAg
LTE0NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjpyZWxlYXNlU3Vy
ZmFjZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwogfQogCi1zdGF0aWMgY29u
c3QgZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25kcygzKTsKIAogdm9pZCBD
b29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlmTmVlZGVkKGJvb2wmIGNo
YW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Nj
cm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRkODdmOWZjMDlkZmNmMTIy
YWMxOTdjZDVlLi44MTkyNmQyYzJiZjhlNWU5MjY5ODc3Yjg3MmRjY2VkMmVjZTE2ZTZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAK
QEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgdGlj
a1RpbWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1pbmlt
dW1UaW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRlbHRhVG9OZXh0RnJhbWUg
PSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGN1
cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAgICBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05leHRGcmFtZSk7CisgICAg
ICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92ZXJsYXlTY3Jv
bGxiYXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6
c2hvd092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQpIHsKICAgICAg
ICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRp
bWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9s
bGJhcnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmlt
YXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBlbHNlCiAgICAgICAg
IGhpZGVPdmVybGF5U2Nyb2xsYmFycygpOwogfQpAQCAtMjMzLDcgKzIzMyw3IEBAIHZvaWQgU2Ny
b2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycygpCiAgICAgICAgIHJldHVybjsK
ICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsK
ICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRp
b24gKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7Ci0gICAgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG92ZXJmbG93U2Nyb2xsYmFyc0Fu
aW1hdGlvbkhpZGVEZWxheSk7CisgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5
KSk7CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Om1vdXNlRW50ZXJlZENvbnRlbnRBcmVh
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2Fj
aGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCmlu
ZGV4IGIwYjdiZmRhMmRiODFlZWY3NDFjZjY2NDNjMTBmODBlZjdkMjllZjMuLjk3MjI4Mjg3YmQ2
MWE0YjU5MjE4MmYzZjVjN2RkN2IxZDk0YzM3NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAtNDIwLDcgKzQyMCw3IEBAIHZvaWQgTGVn
YWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMoYm9vbCBkaWRDcmVhdGVUaWxlcywg
Ym9vbCBjcmVhdGVNb3JlCiAKICAgICAvLyBLZWVwIGNyZWF0aW5nIHRpbGVzIHVudGlsIHRoZSB3
aG9sZSBjb3ZlclJlY3QgaXMgY292ZXJlZC4KICAgICBpZiAoY3JlYXRlTW9yZSkKLSAgICAgICAg
bV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGlsZUNyZWF0
aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIExlZ2FjeVRpbGVD
YWNoZTo6dGlsZUNyZWF0aW9uVGltZXJGaXJlZCgpCkBAIC03ODIsNyArNzgyLDcgQEAgdm9pZCBM
ZWdhY3lUaWxlQ2FjaGU6OnNldFNwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxlZChib29sIGVu
YWJsZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25F
bmFibGVkID0gZW5hYmxlZDsKICAgICBpZiAobV9pc1NwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5h
YmxlZCkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiBi
b29sIExlZ2FjeVRpbGVDYWNoZTo6aGFzUGVuZGluZ0RyYXcoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaAppbmRleCA3NTZkNDA2MDdm
NTYzYTZjZTU5OGUyOWJiMjdiNDBlOTU1ZWJhNjFmLi5hY2NkMjljMTA2MDM2N2UwZmMwZmZmNjhk
NTNkNDM0N2EwNzRiMWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
U2Nyb2xsYmFyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Ny
b2xsYmFyVGhlbWVJT1MuaApAQCAtNDEsOCArNDEsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9v
bCBzdXBwb3J0c0NvbnRyb2xUaW50cygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
IAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAg
ICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1l
bnQgYnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KaW5kZXggNmU1MjBiZWY1NDhm
NTQwMjAzYTlhNmEzYzc3N2Q4MTZkYWE1MDk5MC4uNWIwMDVjNTAxMTM2M2FjYjliZThlYWE3ZmJl
MmVmYzhhMjMwYzM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Nj
cm9sbGJhclRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3Jv
bGxiYXJUaGVtZUlPUy5tbQpAQCAtNjYsMTQgKzY2LDE0IEBAIGludCBTY3JvbGxiYXJUaGVtZUlP
Uzo6c2Nyb2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplKQogICAgIHJldHVybiAw
OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJE
ZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiBTZWNvbmRzKDApOwogfQogCi1k
b3VibGUgU2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMg
U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKLSAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gU2Vjb25kcygwKTsKIH0KICAgICAKIFNjcm9sbGJhckJ1dHRvbnNQbGFj
ZW1lbnQgU2Nyb2xsYmFyVGhlbWVJT1M6OmJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IGNjNjJlM2E4ODRhZWYyOTUxOTdlMmJiNzZiYjBm
YTdlYzMwNzBiYTEuLjQ2Y2MwMTBlYTYzODQ5MjIyZGMwOWExM2I5MWNiY2E1ZjFmZDQzYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNv
bnN0IGNoYXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0
IGRvdWJsZSBEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDEpOwogCiBAY2xh
c3MgV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbjsKIApAQCAtOTg2LDcgKzk4Niw3IEBAIGJvb2wg
V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2NyZWVuV2l0
aFJlYXNvbihXZWJWaWRlb0Z1CiAgICAgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlbC0+cmVxdWVzdEZ1
bGxzY3JlZW5Nb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5v
bmUpOwogCiAgICAgaWYgKCFtX3dhdGNoZG9nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV93
YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsK
KyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkZWZhdWx0V2F0Y2hkb2dUaW1l
ckludGVydmFsKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNw
cAppbmRleCA5YTAzODMyNjYwYWEyY2JhOTc4OTFjNjgwZTRiNmQyYWRjMTE5NGIxLi5kZmUyOGJl
YjRmMTgzZDU2MjA0NWVhZmI1YjY2YjI4ZTMxY2JiMmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXgu
Y3BwCkBAIC0yNjksNyArMjY5LDcgQEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmhvbGRP
ZmZUaW1lckZpcmVkKCkKIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmhvbGRPZmYodW5z
aWduZWQgc2Vjb25kcykKIHsKLSAgICBtX2hvbGRPZmZUaW1lci5zdGFydE9uZVNob3Qoc2Vjb25k
cyk7CisgICAgbV9ob2xkT2ZmVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2Vjb25kcykpOwog
fQogCiBzdGF0aWMgc2l6ZV90IHByb2Nlc3NNZW1vcnlVc2FnZSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggYWM3ZjRmZDRhOTg0
ZGMzMWRkZDRmYzgwYjE2OTM0MTUxOTAyNTA5NS4uNGYyOTFhODdjYmVmZWZiZWExYzdlZDhkNGRk
MTFkN2MzMjI4N2ZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxBbmltYXRvck1hYy5tbQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRv
ck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnN0
YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcigpCiB7Ci0gICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRU
aW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDAuMSkpOwogfQogCiBib29sIFNjcm9sbEFuaW1hdG9yTWFj
OjpzY3JvbGxiYXJQYWludFRpbWVySXNBY3RpdmUoKSBjb25zdApAQCAtMTM2NCw3ICsxMzY0LDcg
QEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKGNv
bnN0IEZsb2F0U2l6ZSYgZGVsdGEpCiAgICAgbV9jb250ZW50QXJlYVNjcm9sbGVkVGltZXJTY3Jv
bGxEZWx0YSA9IGRlbHRhOwogCiAgICAgaWYgKCFtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIAogICAgIGlmIChtX3doZWVsRXZlbnRUZXN0VHJpZ2dl
cikKICAgICAgICAgbV93aGVlbEV2ZW50VGVzdFRyaWdnZXItPmRlZmVyVGVzdHNGb3JSZWFzb24o
cmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRl
bnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6Q29udGVudFNjcm9sbEluUHJv
Z3Jlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVN
YWMuaAppbmRleCBhNzI4Mjk4YzhlYmI1YzU1NTQ3ZDZkM2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFh
OTExYmI5MmIwOGYwMWI3ZDk5MjY2ZDAxM2E0NzZjN2RkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaApAQCAtNDgsOCArNDgsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1c2VzT3ZlcmxheVNjcm9sbGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxiYXJPdmVybGF5U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJy
aWRlOwogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRl
OwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29u
ZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBh
dXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1Bs
YWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQppbmRleCBiMmUxNjE4
YzAzMmZiN2M2NWYxZmUxOTE3ZjIwNGUyOTY3NGMzODlmLi5mOWNkMDU3OGFhZGI5N2E4MTQwMWJi
ZjkxNzQwY2E2YjM0MmVjMzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC0xMzAsOCArMTMwLDggQEAgc3RhdGljIGNvbnN0IGlu
dCBjQnV0dG9uTGVuZ3RoW10gPSB7IDE0LCAxMCB9Owogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJC
dXR0b25MZW5ndGhbXSA9IHsgMTYsIDE0IH07IC8vIFRoZSBvdXRlciBidXR0b24gaW4gYSBkb3Vi
bGUgYnV0dG9uIHBhaXIgaXMgYSBiaXQgYmlnZ2VyLgogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJC
dXR0b25PdmVybGFwID0gMjsKIAotc3RhdGljIGZsb2F0IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAw
LjVmOwotc3RhdGljIGZsb2F0IGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRp
YyBTZWNvbmRzIGdJbml0aWFsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKDAuNSk7CitzdGF0aWMgU2Vj
b25kcyBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcygwLjA1KTsKIHN0YXRpYyBib29s
IGdKdW1wT25UcmFja0NsaWNrID0gZmFsc2U7CiBzdGF0aWMgYm9vbCBnVXNlc092ZXJsYXlTY3Jv
bGxiYXJzID0gZmFsc2U7CiAKQEAgLTIzNCw4ICsyMzQsOCBAQCB2b2lkIFNjcm9sbGJhclRoZW1l
TWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQoKQogewogICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0
cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CiAgICAgW2RlZmF1bHRz
IHN5bmNocm9uaXplXTsKLSAgICBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gW2RlZmF1bHRzIGZsb2F0
Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il07Ci0gICAgZ0F1dG9zY3JvbGxCdXR0b25E
ZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25QZXJpb2QiXTsK
KyAgICBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcyhbZGVmYXVsdHMgZmxvYXRGb3JLZXk6
QCJOU1Njcm9sbGVyQnV0dG9uRGVsYXkiXSk7CisgICAgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9
IFNlY29uZHMoW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlvZCJd
KTsKICAgICBnSnVtcE9uVHJhY2tDbGljayA9IFtkZWZhdWx0cyBib29sRm9yS2V5OkAiQXBwbGVT
Y3JvbGxlclBhZ2luZ0JlaGF2aW9yIl07CiAgICAgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdl
ZCgpOwogfQpAQCAtMjc3LDEyICsyNzcsMTIgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6dXBk
YXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYgc2Nyb2xsYmFyKQogICAgIEVORF9C
TE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZU1hYzo6aW5p
dGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6Omlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7CiAgICAgcmV0dXJuIGdJbml0aWFsQnV0dG9u
RGVsYXk7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVs
YXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQog
ewogICAgIHJldHVybiBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKaW5k
ZXggOTIyYWQ0Mzk3YTA0YzA1NTYxYzdjMWQ2MDY3YWRlYzUxNTlmMjM1NC4uMTZkMjk2MmI0NjRm
NzBmMDI0YThmMjI1MWNiM2Q5YTU4YjYyMzBkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCkBAIC01OSw3ICs1
OSw3IEBAIHZvaWQgRGV2aWNlTW90aW9uQ2xpZW50TW9jazo6c2V0TW90aW9uKFBhc3NSZWZQdHI8
RGV2aWNlTW90aW9uRGF0YT4gbW90aW9uKQogewogICAgIG1fbW90aW9uID0gbW90aW9uOwogICAg
IGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOwogfQogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNlMWZhNDMwZWUxZTI2NzJk
OGQ2MTAxYzIuLjQyZjAzY2Q1MDQ2OGJiYjljZjFjNGEzZjdmNGRmMTk4M2NjMmNkZDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGll
bnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50YXRp
b25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiAgICAgaWYgKG1faXNV
cGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAK
IHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNw
cAppbmRleCBiN2NmYjliZTA2ZGNiZmZjN2MxNmIzY2ZlNzQ2NTAxMzBmYTcwMGU1Li4xZTExZDU2
ODk4MzdmYTg2ZjQ5YzE0M2ExZDkzNTM5ODIwMzliMTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCkBAIC0xMDYs
NyArMTA2LDcgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlUGVybWlz
c2lvbigpCiB7CiAgICAgQVNTRVJUKG1fcGVybWlzc2lvblN0YXRlICE9IFBlcm1pc3Npb25TdGF0
ZVVuc2V0KTsKICAgICBpZiAoIW1fcGVybWlzc2lvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fcGVybWlzc2lvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZXJtaXNzaW9u
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uQ2xp
ZW50TW9jazo6cGVybWlzc2lvblRpbWVyRmlyZWQoKQpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQg
R2VvbG9jYXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIoKQogewogICAgIEFT
U0VSVChtX2NvbnRyb2xsZXIpOwogICAgIGlmIChtX2lzQWN0aXZlICYmICFtX2NvbnRyb2xsZXJU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fY29udHJvbGxlclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEw
NjYwNDk1MTJmZTJmMjU1Yi4uOWYzZTFlODY3NWEzNDViMzg4YjQ0MDE2MWQ1NzIwZmRjZDBlYjBm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9N
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0
IGRvdWJsZSB0aW1lckludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHRpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDEuMCAvIDEwKTsKIAogTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01l
ZGlhRW5kcG9pbnQuY3BwCmluZGV4IDYwYmIwMTgxYWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJl
MGRlNTkuLjI3ODZkNDZlZWVlNmFiODg5OTVhZmRjZjZhYzFhZTk3MDRkMTQ2YjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBA
IC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNl
Q2FuZGlkYXRlcygpCiAgICAgLy8gUmV2ZXJzZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGls
ZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgogICAgIG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJz
ZSgpOwogCi0gICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9p
Y2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTW9j
a01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQpAQCAtMjU1LDcgKzI1NSw3
IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQogCiAg
ICAgaWYgKCFtX2Zha2VJY2VDYW5kaWRhdGVzLmlzRW1wdHkoKSkgewogICAgICAgICBtX2NsaWVu
dC5nb3RJY2VDYW5kaWRhdGUobV9taWRzWzBdLCBtX2Zha2VJY2VDYW5kaWRhdGVzLnRha2VMYXN0
KCkpOwotICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfSBl
bHNlCiAgICAgICAgIG1fY2xpZW50LmRvbmVHYXRoZXJpbmdDYW5kaWRhdGVzKG1fbWlkc1swXSk7
CiB9CkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6c3RlcEljZVRy
YW5zcG9ydFN0YXRlcygpCiAgICAgLy8gUmV2ZXJzZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3
aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgogICAgIG1faWNlVHJhbnNwb3J0U3RhdGVDaGFu
Z2VzLnJldmVyc2UoKTsKIAotICAgIG1faWNlVHJhbnNwb3J0VGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1faWNlVHJhbnNwb3J0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQog
CiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVkKCkKQEAgLTMw
NSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZp
cmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZXMu
dGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQoc3RhdGVD
aGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3Rl
U291cmNlc0J5TWlkKCkKQEAgLTMyMCw3ICszMjAsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50
Ojp1bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQoKQogICAgIGZvciAoaW50IGkgPSBtX21pZHMuc2l6
ZSgpIC0gMTsgaSA+PSAwOyAtLWkpCiAgICAgICAgIG1fbWlkc09mU291cmNlc1RvVW5tdXRlLmFw
cGVuZChtX21pZHNbaV0pOwogCi0gICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTW9j
a01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQoKQpAQCAtMzMwLDcgKzMzMCw3IEBAIHZv
aWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQoKQogICAgICAgICBzb3VyY2Ut
PnNldE11dGVkKGZhbHNlKTsKIAogICAgIGlmICghbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUuaXNF
bXB0eSgpKQotICAgICAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9j
a1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9N
b2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKaW5kZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0
ZTM2MTcxNDQxYjRjZGM2ZS4uNjRhMzVhNmQyN2JjZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVW
aWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVh
bHRpbWVWaWRlb1NvdXJjZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVW
aWRlb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBl
YXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgp
KSkpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25k
cygobHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1l
VmlkZW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lk
IE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMo
UmVhbHRpbWVNZWRpYVNvdXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlG
cmFtZVJhdGUoZG91YmxlIHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxy
b3VuZCgxMDAwIC8gcmF0ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNv
bmRzOjpmcm9tTWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0
ZVNhbXBsZUJ1ZmZlcigpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2Nr
LmNwcAppbmRleCBmM2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi4yN2Jk
YWUyYjVjY2UyYzg0NGJiMTNkZTcwYzk5NGEzNTBjODM2ZWE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNb2NrLmNwcApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNb2NrOjpzcGVhayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAg
IGNsaWVudCgpLT5ib3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50
ZW5jZUJvdW5kYXJ5LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdp
dmUgdGhlIGZha2Ugc3BlZWNoIGpvYiBzb21lIHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIg
ZnVuY3Rpb25zIGhhdmUgdGltZSB0byBiZSBjYWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVk
VGltZXIuc3RhcnRPbmVTaG90KC4xKTsKKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwLjEpKTsKIH0KIAogdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNp
emVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9U
aW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXggZGUwZThhOWZkNjU5NmIyZTJhYjczNzAzMDQ3ZGU1
ZWQzN2ZmZWNhYy4uMDY2ZDZlMzM1MjNkZDQyMmJlOWE0M2FkYTEwOTRlOWJjNmExOTBiZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2Nr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2Nr
LmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgICAgICAsIG1fdGltZXIoKnRoaXMsICZU
aW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAgICAgICAsIG1fbm90aWZpZXIobm90aWZpZXIpCiAg
ICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjUpOworICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDAuNSkpOwogICAgIH0KIAogICAgIHZpcnR1YWwgflRpbWVy
RXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNS
ZXNvbHZlUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNv
bHZlUXVldWUuY3BwCmluZGV4IDU4NzczYWEzMzI5MWNhN2E2ODk1NzU4NmVlODIwM2M2YmFjMmNm
ZjMuLjk2MjMwZmUxNzQ0OTIxM2Y2MjQwYTE4ZWFlODczYzY2NjU5YWM1ODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKQEAg
LTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBnTmFt
ZXNUb1Jlc29sdmVJbW1lZGlhdGVseSA9IDQ7CiAKIC8vIENvYWxlc2NlIHByZWZldGNoIHJlcXVl
c3RzIGZvciB0aGlzIGxvbmcgYmVmb3JlIHNlbmRpbmcgdGhlbSBvdXQuCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzID0gMS4wOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgY29hbGVzY2VEZWxheSA9IFNlY29uZHMoMSk7CiAKIC8vIFNlbmRpbmcgbWFueSBETlMgcmVx
dWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNvbWUgZ2F0ZXdheXMuIFNlZSA8cmRhcjovLzgx
MDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1ZXMgd2l0aCBDRkhvc3QgdGhyb3R0bGluZy4K
IHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcg
KzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4U2ltdWx0YW5lb3VzUmVxdWVzdHMgPSA4Owog
c3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNUb1F1ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJl
IHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRuJ3QgYmUgc2VudCBzaW11bHRhbmVvdXNseSwg
Y2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBhZnRlciB0aGlzIGRlbGF5Lgotc3RhdGljIGNv
bnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNlY29uZHMgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyByZXRyeVJlc29sdmluZ0RlbGF5ID0gU2Vjb25kcygwLjEpOwogCiBETlNSZXNvbHZl
UXVldWUmIEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEwMSw3ICsxMDEsNyBA
QCB2b2lkIEROU1Jlc29sdmVRdWV1ZTo6YWRkKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAg
aWYgKG1fbmFtZXMuc2l6ZSgpIDwgZ01heFJlcXVlc3RzVG9RdWV1ZSkgewogICAgICAgICBtX25h
bWVzLmFkZChob3N0bmFtZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMpOwor
ICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoY29hbGVzY2VEZWxheSk7CiAgICAgfQog
fQogCkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQo
KQogICAgIH0KIAogICAgIGlmICghbV9uYW1lcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KGdSZXRyeVJlc29sdmluZ0luU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KHJldHJ5UmVzb2x2aW5nRGVsYXkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERl
Y29kZXIuY3BwCmluZGV4IGFiZmI0NmNlY2Y4MjE0M2I5ZmZhY2QwMWJlNTc4NmE1M2EwMDhlYzAu
LjMzMGM2ZGI0ZWZiYjM3YTJmYzFmODQ3OThjNDNmZThhOWQ1OWNiYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCkBAIC03OSw3
ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJlZigpOwogCiAgICAgICAgIGF1dG8gc2NoZWR1
bGVkUGFpcnMgPSBtX2RlY29kZVRhc2stPnNjaGVkdWxlQ29udGV4dC5zY2hlZHVsZWRQYWlyczsK
LSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoMCkpOwogICAgICAgICBtX3RpbWVyLnNjaGVkdWxlKHNjaGVkdWxlZFBh
aXJzKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFu
ZGxlLmgKaW5kZXggY2Q5ZjJiZjk2MDA2M2U3MDNmOGMzZjBiOGQwMTFmMmJiOWNiMWJkMS4uM2Zm
MDBmMmIxMmYwNjcyMDJlYjJjMzM1NThhOGNiMTA5ZmViNTE1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGlj
OgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0
IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91
cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25l
U2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDYwMDAwKSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAppbmRleCA0NzczZGVkN2Y0ZTFlNzg0MTlm
ODRmZjQ2MThhNWQ5ZjViNWZhNmU5Li5hMDE0MzdjYjQ4OThjMDA1Nzc2ZmEzNzJhYWE3M2ZlOTRl
NDE2YTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4g
UmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QK
IHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQog
ewogICAgIGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgPSB0eXBlOwotICAgIGQtPm1fZmFpbHVy
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZp
cmVkKCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNM
b2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RvcCgp
OwogICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUp
IHsKICAgICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAg
ICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBkLT5tX2ZhaWx1
cmVUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgfQogCiAgICAgcGxhdGZvcm1T
ZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKaW5k
ZXggNTVhZGUyMThjMTM4ODhjMGNjMjZlYmVjYjc5MjYzZGNhNzAwOTE2ZC4uMmI0MTFlYTZjODRk
ZGM3ZWM5M2M1MGI2OThlMzYwZWQ1NjI4MmEzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFj
LmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBj
b25zdCBkb3VibGUgU3RhdGVDaGFuZ2VUaW1lckludGVydmFsID0gMi4wOworc3RhdGljIGNvbnN0
IFNlY29uZHMgc3RhdGVDaGFuZ2VUaW1lckludGVydmFsID0gU2Vjb25kcygyKTsKIAogdm9pZCBO
ZXR3b3JrU3RhdGVOb3RpZmllcjo6dXBkYXRlU3RhdGUoKQogewpAQCAtNzgsNyArNzgsNyBAQCB2
b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpkeW5hbWljU3RvcmVDYWxsYmFjayhTQ0R5bmFtaWNT
dG9yZVJlZiwgQ0ZBcnJheVJlZiwgdgogICAgIAogICAgIC8vIENhbGxpbmcgdXBkYXRlU3RhdGUo
KSBjb3VsZCBiZSBleHBlbnNpdmUgc28gd2Ugc2NoZWR1bGUgYSB0aW1lciB0aGF0IHdpbGwgZG8g
aXQgCiAgICAgLy8gd2hlbiB0aGluZ3MgaGF2ZSBjb29sZWQgZG93bi4KLSAgICBub3RpZmllci0+
bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoU3RhdGVDaGFuZ2VUaW1lcklu
dGVydmFsKTsKKyAgICBub3RpZmllci0+bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9u
ZVNob3Qoc3RhdGVDaGFuZ2VUaW1lckludGVydmFsKTsKIH0KIAogdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCmlu
ZGV4IGZjODdiNzAzMjkyMzg3MTZkMWM2MzU4NzhjZTA3OTJkYmI3ZGZkMzIuLjNlZmJlNmVlZTgw
OTM0Y2JjYTYxZDVhZTkxYTM1NjE5YzAyNWJlMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCkBAIC0xMDEs
NyArMTAxLDcgQEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omluc3RhbGwoKQogewogICAg
IG1faW5zdGFsbGVkID0gdHJ1ZTsKICAgICBtZW1DaGVja1RpbWVyKCkgPSBzdGQ6Om1ha2VfdW5p
cXVlPENoZWNrTWVtb3J5VGltZXI+KCp0aGlzKTsKLSAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0
UmVwZWF0aW5nKDYwLjApOworICAgIG1lbUNoZWNrVGltZXIoKS0+c3RhcnRSZXBlYXRpbmcoU2Vj
b25kcyg2MCkpOwogfQogCiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6dW5pbnN0YWxsKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVy
LmNwcAppbmRleCA0ZWNkODVhNjExZDM0MmE3OTNiYzIyYmJkY2RjZjcxMDRmZjJhOWJhLi5jOGVl
MDFhYmRhYzk4NmQ1OGI4ZjAzMjBmN2YyNmY4NTc2YmY4YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC0zNSw3ICsz
NSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUgY0ludGVy
cG9sYXRpb25DdXRvZmYgPSA4MDAuICogODAwLjsKLXN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1
YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcworc3RhdGljIGNvbnN0IFNlY29u
ZHMgbG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSBTZWNvbmRzKDAuNTAwKTsKIAogSW1hZ2VRdWFs
aXR5Q29udHJvbGxlcjo6SW1hZ2VRdWFsaXR5Q29udHJvbGxlcihjb25zdCBSZW5kZXJWaWV3JiBy
ZW5kZXJWaWV3KQogICAgIDogbV9yZW5kZXJWaWV3KHJlbmRlclZpZXcpCkBAIC05NCw3ICs5NCw3
IEBAIHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJG
aXJlZCgpCiAKIHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKCkKIHsK
LSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOworICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KGxvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKIH0KIAogT3B0
aW9uYWw8SW50ZXJwb2xhdGlvblF1YWxpdHk+IEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmludGVy
cG9sYXRpb25RdWFsaXR5RnJvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5k
ZXggNjNhNWE2OTBhYzEwYWIxZjVjOWI0ZGVjNDdlY2VhYzVhMDA1ZjYzZS4uOWZjYWJlZTlkNTMw
ZWJiMmM1ZDVkMTdjZjlhODk4ZjhhNTk2ODIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDExICs5MiwxMSBAQCBz
dGF0aWMgY29uc3QgaW50IGNhbnZhc0FyZWFUaHJlc2hvbGRSZXF1aXJpbmdDb21wb3NpdGluZyA9
IDUwICogMTAwOwogI2VuZGlmCiAvLyBEdXJpbmcgcGFnZSBsb2FkaW5nIGRlbGF5IGxheWVyIGZs
dXNoZXMgdXAgdG8gdGhpcyBtYW55IHNlY29uZHMgdG8gYWxsb3cgdGhlbSBjb2FsZXNjZSwgcmVk
dWNpbmcgd29ya2xvYWQuCiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0IGRvdWJsZSB0
aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91Ymxl
IHRocm90dGxlZExheWVyRmx1c2hEZWxheSA9IDEuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRo
cm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSBTZWNvbmRzKDAuNSk7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSBTZWNvbmRzKDEuNSk7CiAjZWxz
ZQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0g
LjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hEZWxheSA9IC41Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IFNl
Y29uZHMoMC41KTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hEZWxh
eSA9IFNlY29uZHMoMC41KTsKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpA
QCAtNjM0LDcgKzYzNCw3IEBAIFJlbmRlckxheWVyQ29tcG9zaXRvciogUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjplbmNsb3NpbmdDb21wb3NpdG9yRmx1c2hpbmdMYXllcnMoCiB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKCkKIHsKICAgICBp
ZiAoIW1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
fQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
YXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApp
bmRleCA2MDU5ZDI2ZDFkZmNmYjM2MTViYmJiZTE2Y2ZkMjNlMjVkZGZjMTU3Li5iNzQwOTdjZjIx
ZTFhODIyNWE2YWVkOGZkOWEzYjJhOWE1MmU5YTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0xNjgsNyArMTY4LDcgQEAgdm9pZCBSZW5kZXJNYXJx
dWVlOjpzdGFydCgpCiAgICAgICAgIG1fc3RvcHBlZCA9IGZhbHNlOwogICAgIH0KIAotICAgIG1f
dGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAuMDAxKTsKKyAgICBtX3RpbWVyLnN0YXJ0
UmVwZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoc3BlZWQoKSkpOwogfQogCiB2b2lk
IFJlbmRlck1hcnF1ZWU6OnN1c3BlbmQoKQpAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgUmVuZGVy
TWFycXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKCkKICAgICBpZiAoc3BlZWQoKSAhPSBtYXJxdWVl
U3BlZWQoKSkgewogICAgICAgICBtX3NwZWVkID0gbWFycXVlZVNwZWVkKCk7CiAgICAgICAgIGlm
IChtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5n
KHNwZWVkKCkgKiAwLjAwMSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoc3BlZWQoKSkpOwogICAgIH0KICAgICAKICAgICAvLyBD
aGVjayB0aGUgbG9vcCBjb3VudCB0byBzZWUgaWYgd2Ugc2hvdWxkIG5vdyBzdG9wLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAppbmRl
eCA0NzUwNmFjZDMzYjcwNzQzNWU1OWUxNjVjYzYwNzAzZmU2NGU0NmU2Li5kZWUyYjJmMTBhY2Yy
NzJkNmNiNjVmMWJiZWI5OWY2OGE1ZWFkMmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcApAQCAtNTMwLDcgKzUzMCw3IEBAIHZv
aWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRjaFJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVu
dElmTmVlZGVkKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENoYW5nZVJlZ2lv
bk92ZXJzZXQoZG9jdW1lbnQoKSwgbmFtZWRGbG93KCkpOwogICAgIAogICAgIGlmICghbV9yZWdp
b25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5pc0FjdGl2ZSgpICYmIG5hbWVkRmxvdygpLmhhc0V2
ZW50TGlzdGVuZXJzKCkpCi0gICAgICAgIG1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OnJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5kZXggOWExZjI0MGZhNWY5YWZmODcwMWMx
MzQ4Y2NjNTdkMzZhYjNlMGI4NC4uNTFhMzA4ZmJhMzcwYzQ3OTg5YzhjNWNlYWUwYjA4Nzc0MmM5
YzdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBA
IC04NSw3ICs4NSw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQo
KQogewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUo
KSAmJiBtX2FuaW1hdGluZykKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
bV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogfQogCiB2b2lk
IFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCkBAIC0xMDAsNyArMTAwLDcg
QEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQogICAgIG1fYW5p
bWF0aW5nID0gYW5pbWF0aW5nOwogICAgIGlmIChtX2FuaW1hdGluZykgewogICAgICAgICBtX2Fu
aW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFs
KTsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhtX2FuaW1h
dGlvblJlcGVhdEludGVydmFsKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fYW5pbWF0aW9uVGlt
ZXIuc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaAppbmRleCBlZDQ5YmVkY2JkYjYxNWQwYTczMjcxN2Q3Y2FhMzhkYmNjOGRkYjc3
Li40MWJkODIzYWFhMDE0NjU2YjExYWI2ZDI2MTlkZDE2ZmEwZWI3ODY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAtNDcsOCArNDcs
OCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRlIHsgcmV0dXJuIFNj
cm9sbGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChzY3JvbGxiYXIsIGV2
ZW50LCBwcmVzc2VkUGFydCk7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxU
aW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92
ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KIAogICAgIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJiBzY3JvbGxi
YXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnJlZ2lzdGVyU2Ny
b2xsYmFyKHNjcm9sbGJhcik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xs
YmFyJiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgp
LnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCmluZGV4IGNlMTU2ZWM4Zjk4ZjkwYzY4MWU3MDZiNTg4ODI1YzRjYmJk
YmY0ODUuLjkyMThkNWNiNWE3ODFmYjg1N2M3ZjQ4YTkyNTI5ZGRlYmIxYjUzZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBpbmxp
bmUgU2VjdXJlVGV4dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVuZGVyVGV4dCYgcmVuZGVyZXIp
CiBpbmxpbmUgdm9pZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQodW5zaWduZWQgb2Zmc2V0QWZ0
ZXJMYXN0VHlwZWRDaGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlciA9IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwotICAgIHN0YXJ0T25lU2hvdCht
X3JlbmRlcmVyLmZyYW1lKCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25k
cygpKTsKKyAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFz
c3dvcmRFY2hvRHVyYXRpb24oKSk7CiB9CiAKIGlubGluZSB1bnNpZ25lZCBTZWN1cmVUZXh0VGlt
ZXI6OnRha2VPZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDM1NDk5YmJlNjkxMWY1ZmE4YzNkMDEzOGNlZjQwZWM4
MjhmOWMyYmUuLmIxM2VhNTU4MmI3NjAwODE2ZDZhNjVmNDk0NmViYWQ3ZWY5NjdkYmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5j
bHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTE3NSw3ICsxNzYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0dWFs
IHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAgIHZpcnR1YWwgZG91YmxlIGNh
cmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vj
b25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBTZWNvbmRzKDAuNSk7IH0K
IAogICAgIC8vIFN5c3RlbSBmb250cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0
ZW1Gb250KENTU1ZhbHVlSUQsIEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKQEAgLTIw
NCw4ICsyMDUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xT
dGF0dXNEaXNwbGF5KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc01l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0
dWFsIGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQotICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0
dXJuIDAuMTsgfQotICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRp
b24oKSB7IHJldHVybiAwLjM7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0Zh
ZGVJbkR1cmF0aW9uKCkgeyByZXR1cm4gU2Vjb25kcygwLjEpOyB9CisgICAgdmlydHVhbCBTZWNv
bmRzIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiBTZWNvbmRzKDAuMyk7
IH0KICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1l
KSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRp
bWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKICAgICB2aXJ0dWFs
IFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGlt
ZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCmluZGV4IDgxMzBkMmU4MjA2YjBjMDQxNmRkZDlhZjFiZTQxZDQyNjQxNWIzYzEuLmY5
ODQ3MDZkMWU2NTY5MzIyOGViNmYwNDFjY2M3YWI1OTE2MDExNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIFJlbmRlclZp
ZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiByZW5kZXJlcikKICAgICByZW5kZXJl
ci5zZXRSZW5kZXJCb3hOZWVkc0xhenlSZXBhaW50KHRydWUpOwogICAgIG1fcmVuZGVyZXJzTmVl
ZGluZ0xhenlSZXBhaW50LmFkZCgmcmVuZGVyZXIpOwogICAgIGlmICghbV9sYXp5UmVwYWludFRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6dW5zY2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYg
cmVuZGVyZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5w
dXRDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29y
LmNwcAppbmRleCA5OTY0OWJmZTI5MDM2Njc2YWQ0OTY4YTM2ZGYxZjVjM2M2MmUwZWQ5Li41YjQz
NDlmYTkzNGYzMmI0MTA5NWQ1YTBmODQ0OTY5MTRmODdmNTI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKQEAgLTU4LDExICs1OCw4IEBAIHZv
aWQgQ2FwdHVyaW5nSW5wdXRDdXJzb3I6OnN0b3JlSW5wdXQoc3RkOjp1bmlxdWVfcHRyPE5vbmRl
dGVybWluaXN0aWNJbnB1dEJhc2U+CiB7CiAgICAgQVNTRVJUX0FSRyhpbnB1dCwgaW5wdXQpOwog
Ci0gICAgaWYgKGlucHV0LT5xdWV1ZSgpID09IElucHV0UXVldWU6OkV2ZW50TG9vcElucHV0KSB7
Ci0gICAgICAgIC8vIEZJWE1FOiByZXdyaXRlIHRoaXMgKGFuZCByZWxhdGVkIGRpc3BhdGNoIGNv
ZGUpIHRvIHVzZSBzdGQ6OmNocm9uby4KLSAgICAgICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAgICBtX3NlZ21lbnQtPmV2ZW50TG9vcFRpbWluZ3Mo
KS5hcHBlbmQobm93KTsKLSAgICB9CisgICAgaWYgKGlucHV0LT5xdWV1ZSgpID09IElucHV0UXVl
dWU6OkV2ZW50TG9vcElucHV0KQorICAgICAgICBtX3NlZ21lbnQtPmV2ZW50TG9vcFRpbWluZ3Mo
KS5hcHBlbmQoTW9ub3RvbmljVGltZTo6bm93KCkpOwogCiAgICAgbV9zZWdtZW50LT5zdG9yYWdl
KCkuc3RvcmUoV1RGTW92ZShpbnB1dCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAppbmRleCA1MTAyOTNmYzE2YzY0YWM5YjVm
YjUxZTdiOThkMDkwZDhiNTEzNjY3Li42MmRmNTFkZDRhYjI5MDBmZDVhODU0OGY4YmEzMTRkYmUw
YWE4MGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmNwcApAQCAtNTEsOCArNTEsNiBAQCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6
OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcihQYWdlJiBwYWdlLCBSZXBsYXlpbmdJbnB1dEN1cgog
ICAgICwgbV90aW1lcigqdGhpcywgJkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6dGltZXJGaXJl
ZCkKICAgICAsIG1fc3BlZWQoRGlzcGF0Y2hTcGVlZDo6RmFzdEZvcndhcmQpCiB7Ci0gICAgbV9j
dXJyZW50V29yay5pbnB1dCA9IG51bGxwdHI7Ci0gICAgbV9jdXJyZW50V29yay50aW1lc3RhbXAg
PSAwLjA7CiB9CiAKIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpydW4oKQpAQCAtOTEs
NyArODksNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNv
b24oKQogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fdGltZXIuc3RvcCgp
OwogCi0gICAgZG91YmxlIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgU2Vjb25kcyB3YWl0SW50ZXJ2
YWw7CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpSZWFsVGltZSkgewogICAg
ICAgICAvLyBUaGUgZ29hbCBpcyB0byByZXByb2R1Y2UgdGhlIGRpc3BhdGNoIGRlbGF5IGJldHdl
ZW4gaW5wdXRzIGFzIGl0IHdhcwpAQCAtMTAyLDIyICsxMDAsMjIgQEAgdm9pZCBFdmVudExvb3BJ
bnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICAgICAgaWYgKCFtX3ByZXZp
b3VzSW5wdXRUaW1lc3RhbXApCiAgICAgICAgICAgICBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAg
PSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsKIAotICAgICAgICBkb3VibGUgdGFyZ2V0SW50ZXJ2
YWwgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsK
LSAgICAgICAgZG91YmxlIGVsYXBzZWQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAt
IG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKKyAgICAgICAgU2Vjb25kcyB0YXJnZXRJbnRl
cnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0VGltZXN0YW1w
OworICAgICAgICBTZWNvbmRzIGVsYXBzZWQgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fcHJl
dmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAgICAgICAgd2FpdEludGVydmFsID0gdGFyZ2V0SW50
ZXJ2YWwgLSBlbGFwc2VkOwogICAgIH0KIAogICAgIC8vIEEgbmVnYXRpdmUgd2FpdCB0aW1lIG1l
YW5zIHRoYXQgZGlzcGF0Y2ggdG9vayBsb25nZXIgb24gcmVwbGF5IHRoYW4gb24KICAgICAvLyBj
YXB0dXJlLiBJbiB0aGlzIGNhc2UsIHByb2NlZWQgd2l0aG91dCB3YWl0aW5nIGF0IGFsbC4KLSAg
ICBpZiAod2FpdEludGVydmFsIDwgMCkKLSAgICAgICAgd2FpdEludGVydmFsID0gMDsKKyAgICBp
ZiAod2FpdEludGVydmFsIDwgU2Vjb25kcygwKSkKKyAgICAgICAgd2FpdEludGVydmFsID0gU2Vj
b25kcygwKTsKIAotICAgIGlmICh3YWl0SW50ZXJ2YWwgPiAxMDAwLjApIHsKKyAgICBpZiAod2Fp
dEludGVydmFsID4gU2Vjb25kcygxMDAwKSkgewogICAgICAgICBMT0dfRVJST1IoIiUtMjBzIFRy
aWVkIHRvIHdhaXQgZm9yIG92ZXIgMTAwMCBzZWNvbmRzIGJlZm9yZSBkaXNwYXRjaGluZyBuZXh0
IGV2ZW50IGxvb3AgaW5wdXQ7IHRoaXMgaXMgcHJvYmFibHkgYSBidWcuIiwgIlJlcGxheUV2ZW50
cyIpOwotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOworICAgICAgICB3YWl0SW50ZXJ2YWwgPSBT
ZWNvbmRzKDApOwogICAgIH0KIAotICAgIExPRyhXZWJSZXBsYXksICIlLTIwcyAoV0FJVDogJS4z
ZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwgd2FpdEludGVydmFsICogMTAwMC4wKTsKKyAgICBMT0co
V2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIsIFNlY29u
ZHMod2FpdEludGVydmFsICogMTAwMC4wKS5taWxsaXNlY29uZHMoKSk7CiAgICAgbV90aW1lci5z
dGFydE9uZVNob3Qod2FpdEludGVydmFsKTsKIH0KIApAQCAtMTI3LDcgKzEyNSw3IEBAIHZvaWQg
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0KCkKICAgICBBU1NFUlQoIW1f
ZGlzcGF0Y2hpbmcpOwogCiAgICAgaWYgKG1fc3BlZWQgPT0gRGlzcGF0Y2hTcGVlZDo6UmVhbFRp
bWUpIHsKLSAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSA9
IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAg
PSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaAppbmRleCAyMDY3ZTc4ZDQzZjI1YTVk
MjVlNGMzZjlhNTIzMjM1YjBjNzk1ZjM0Li41OTMyYjQyYjZkNDJjMzgyMDk0ZTU0ODE0MzYwZjBk
YWI2YjQ0MGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5w
dXREaXNwYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0
RGlzcGF0Y2hlci5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRXZlbnRMb29wSW5wdXQu
aCIKICNpbmNsdWRlICJSZXBsYXlpbmdJbnB1dEN1cnNvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgi
CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtODYsOSArODcsOSBA
QCBwcml2YXRlOgogCiAgICAgRGlzcGF0Y2hTcGVlZCBtX3NwZWVkOwogICAgIC8vIFRoZSB0aW1l
IGF0IHdoaWNoIHRoZSBsYXN0IGlucHV0IGRpc3BhdGNoKCkgbWV0aG9kIHdhcyBjYWxsZWQuCi0g
ICAgZG91YmxlIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSB7MC4wfTsKKyAgICBNb25vdG9u
aWNUaW1lIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAgICAvLyBUaGUgdGltZXN0YW1w
IHNwZWNpZmllZCBieSB0aGUgbGFzdCBkaXNwYXRjaGVkIGlucHV0LgotICAgIGRvdWJsZSBtX3By
ZXZpb3VzSW5wdXRUaW1lc3RhbXAgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3Vz
SW5wdXRUaW1lc3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAppbmRleCBmMThkZGY0MWZj
ZGMwNDQ2ZWU0MDA4YjgxYjM5YmY2YzRhNjUxNjJhLi4yODExZTc0YmYwM2Y3ODRjMzE2Y2NkOTFm
YmUwMDg0ODllMzFmMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5
U2Vzc2lvblNlZ21lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNz
aW9uU2VnbWVudC5jcHAKQEAgLTQ3LDggKzQ3LDggQEAgUmVmPFJlcGxheVNlc3Npb25TZWdtZW50
PiBSZXBsYXlTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKIAogUmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OlJlcGxheVNlc3Npb25TZWdtZW50KCkKICAgICA6IG1fc3RvcmFnZShzdGQ6Om1ha2VfdW5pcXVl
PFNlZ21lbnRlZElucHV0U3RvcmFnZT4oKSkKKyAgICAsIG1fdGltZXN0YW1wKE1vbm90b25pY1Rp
bWU6Om5vdygpKQogICAgICwgbV9pZGVudGlmaWVyKHNfbmV4dFNlZ21lbnRJZGVudGlmaWVyKysp
Ci0gICAgLCBtX3RpbWVzdGFtcChjdXJyZW50VGltZU1TKCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmgKaW5kZXggZDU2MmI1M2MwNDQ4NDEz
ZjQ2MzI5OTdjYTE5Zjk0OGRlMjNhMmQ5Yy4uZjc2NzQyYzY1OGVkYzAxMjMyY2UzM2JmZWY3OTRm
MzUzMzY0NTdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Np
b25TZWdtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdt
ZW50LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpZiBFTkFCTEUoV0VCX1JFUExBWSkKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNTEs
MjAgKzUyLDIxIEBAIHB1YmxpYzoKICAgICB+UmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKIAogICAg
IHVuc2lnbmVkIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KLSAg
ICBkb3VibGUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KKyAgICBN
b25vdG9uaWNUaW1lIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisK
IHByb3RlY3RlZDoKICAgICBTZWdtZW50ZWRJbnB1dFN0b3JhZ2UmIHN0b3JhZ2UoKSB7IHJldHVy
biAqbV9zdG9yYWdlOyB9Ci0gICAgVmVjdG9yPGRvdWJsZSwgMD4mIGV2ZW50TG9vcFRpbWluZ3Mo
KSB7IHJldHVybiBtX2V2ZW50TG9vcFRpbWluZ3M7IH0KKyAgICBWZWN0b3I8TW9ub3RvbmljVGlt
ZSwgMD4mIGV2ZW50TG9vcFRpbWluZ3MoKSB7IHJldHVybiBtX2V2ZW50TG9vcFRpbWluZ3M7IH0K
IAogcHJpdmF0ZToKICAgICBSZXBsYXlTZXNzaW9uU2VnbWVudCgpOwogCiAgICAgc3RkOjp1bmlx
dWVfcHRyPFNlZ21lbnRlZElucHV0U3RvcmFnZT4gbV9zdG9yYWdlOwotICAgIFZlY3Rvcjxkb3Vi
bGUsIDA+IG1fZXZlbnRMb29wVGltaW5nczsKKyAgICBWZWN0b3I8TW9ub3RvbmljVGltZSwgMD4g
bV9ldmVudExvb3BUaW1pbmdzOwogCisgICAgTW9ub3RvbmljVGltZSBtX3RpbWVzdGFtcDsKICAg
ICB1bnNpZ25lZCBtX2lkZW50aWZpZXI7CiAgICAgYm9vbCBtX2NhbkNhcHR1cmUge3RydWV9Owot
ICAgIGRvdWJsZSBtX3RpbWVzdGFtcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oIGIv
U291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmgKaW5kZXggNzdjM2I5
NDIwYzhmYWQ0NGRlNTNiYzAxNTJkYmU5NzZiZGQ2YjY5Mi4uMGZlZDEwOTI4MTA3YjNlODRiYWU5
NWVjMjM3N2UwZGM3Nzk1MWJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1Jl
cGxheWluZ0lucHV0Q3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWlu
Z0lucHV0Q3Vyc29yLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpZiBFTkFCTEUoV0VCX1JFUExBWSkK
IAogI2luY2x1ZGUgPHJlcGxheS9JbnB1dEN1cnNvci5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00MSw4ICs0Miw4IEBAIGNsYXNzIFBhZ2U7CiBjbGFzcyBSZXBsYXlTZXNzaW9uU2VnbWVu
dDsKIAogc3RydWN0IEV2ZW50TG9vcElucHV0RGF0YSB7Ci0gICAgRXZlbnRMb29wSW5wdXRCYXNl
KiBpbnB1dDsKLSAgICBkb3VibGUgdGltZXN0YW1wOworICAgIEV2ZW50TG9vcElucHV0QmFzZSog
aW5wdXQgeyBudWxscHRyIH07CisgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXA7CiB9OwogCiBj
bGFzcyBSZXBsYXlpbmdJbnB1dEN1cnNvciBmaW5hbCA6IHB1YmxpYyBJbnB1dEN1cnNvciB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCmluZGV4IGIwYmJhNGVlMmM2NmY5Njc4YjFjOTAw
NTA3ZjUxOGEwNzMwZTY5ZDQuLjFhODhkODljYTQ3ZTk4MzEyMDIyNDJhMzU3YzEwMDJlY2RjM2My
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCkBAIC01MTMsNyArNTEzLDcgQEAg
dm9pZCBTY29wZTo6c2NoZWR1bGVVcGRhdGUoVXBkYXRlVHlwZSB1cGRhdGUpCiAKICAgICBpZiAo
bV9wZW5kaW5nVXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1f
cGVuZGluZ1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVcGRhdGVU
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU2NvcGU6OmRpZENoYW5n
ZUFjdGl2ZVN0eWxlU2hlZXRDYW5kaWRhdGVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApp
bmRleCBiMmNiM2IzM2NhYzFiNzJiNmFkZDI0MjRjM2FiNGEyMGFhMjA1NmM3Li4xNzRkNjFlYzQw
YTMzMjllY2QxMWEwY2Q1NmE1OTU4YzczNzIzOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
Y3BwCkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50
SWZQb3NzaWJsZShib29sIHNlbmRQYXJlbnRMb2FkRXZlbnRzKQogCiB2b2lkIFNWR0VsZW1lbnQ6
OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5bmNocm9ub3VzbHkoKQogewotICAgIHN2Z0xv
YWRFdmVudFRpbWVyKCktPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBzdmdMb2FkRXZlbnRUaW1lcigp
LT5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6c3ZnTG9h
ZEV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24v
U01JTFRpbWVDb250YWluZXIuY3BwCmluZGV4IGNiZjNiN2JhNTg0ODUwNzczN2U5NzVjZGQwYTgx
OTJkMzM1ZmJmNTAuLjc1M2U0MDE0YmNjMjEyY2IzMDhkOGQ2NjdjZmZlYmZkMTNjNDQ1YTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIu
Y3BwCkBAIC0yMDUsNyArMjA1LDcgQEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1l
cihTTUlMVGltZSBlbGFwc2VkLCBTTUlMVGltZSBmaXJlVGltZSwgU01JTFRpbWUKICAgICAgICAg
cmV0dXJuOwogCiAgICAgU01JTFRpbWUgZGVsYXkgPSBzdGQ6Om1heChmaXJlVGltZSAtIGVsYXBz
ZWQsIG1pbmltdW1EZWxheSk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUo
KSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheS52YWx1ZSgpKSk7CiB9
CiAKIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggNjExYzkyYjhmYjM0NTFjZmM2Y2Y5
NmM4ZWQzN2U3ODVhMzJkOTdmOC4uNTQzYzNmNGRhZGU4OTUzOGQ4Yjc2MjUwYzhhZTU4ZDUyZWY2
YmY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBA
IC01MzYsNyArNTM2LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0
TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFsSW5TZWMKIHsKICAgICBpZiAoIW1f
cGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9Owot
ICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbEluU2Vj
b25kcyAqIDEwMDApKSk7CisgICAgc2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZh
bChTZWNvbmRzKGludGVydmFsSW5TZWNvbmRzKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAt
NTYwLDcgKzU2MCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAgICAgaWYgKCFtX3Bh
Z2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAg
ICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKHRpbWUpOworICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHMoU2Vjb25kcyh0aW1lKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA1YTRmNmU0ZGFk
NDg1Y2I1YWYzMTI3ZGVmODA3OGRjNzc2MWMxOTQwLi44NDU5OGEyYTViMDRkMjY5MTI0MjZhOTBl
NTMzY2I5MWMxNzgxZWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuaApAQCAtMTQzLDcgKzE0Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0
cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ltYWdlc0Vu
YWJsZWQ7CiAgICAgICAgIGJvb2wgbV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKLSAgICAgICAg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOworICAgICAg
ICBTZWNvbmRzIG1fbWluaW11bVRpbWVySW50ZXJ2YWw7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNL
KQogICAgICAgICBib29sIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlczsKICAgICAgICAgYm9vbCBt
X3Nob3VsZERpc3BsYXlDYXB0aW9uczsKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogI2Vu
ZGlmCiAgICAgICAgIFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9v
bCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25k
cyBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7
CiAgICAgICAgIGJvb2wgbV91c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9y
OwogICAgICAgICBib29sIG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZDsKICAgICAg
ICAgYm9vbCBtX3F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggZWQyZmVkYTJkZGM0MzA2
NDdjYjI4M2EwZDlmZjE5ODc1YzRhYTIzZi4uYzcxOTRlZGVhYjNhNzg3ZmNlZjQ2NTE2YTdhYWNi
NTFiMDQ4ZTJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAKQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0VGFz
ayhUYXNrJiYgdGFzaykKIAogaW50IFdvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1lb3V0KHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAg
cmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOworICAgIHJldHVybiBET01UaW1lcjo6
aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJUaW1l
b3V0KGludCB0aW1lb3V0SWQpCkBAIC0xOTcsNyArMTk3LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxT
Y29wZTo6Y2xlYXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCiAKIGludCBXb3JrZXJHbG9iYWxTY29w
ZTo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBp
bnQgdGltZW91dCkKIHsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1v
dmUoYWN0aW9uKSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwor
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBTZWNv
bmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBmYWxzZSk7CiB9CiAKIHZvaWQgV29ya2Vy
R2xvYmFsU2NvcGU6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDUwOWE5YTljZDcxMGI0NWJmYzBjYjllZTkxYTIyZjEz
N2NmNjhiN2EuLjE0OTI0MDYwYWNmYTI2NWNlZjJmYzc1ZjExMjY2Y2M2ZDk2OGEyYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtMjQ1LDggKzI0NSw4IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpzZXRUaW1lb3V0KHVuc2lnbmVkIHRpbWVvdXQp
CiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICAvLyBJZiB0aW1lb3V0IGlzIHplcm8sIHdlIHNo
b3VsZCB1c2UgdGhlIGRlZmF1bHQgbmV0d29yayB0aW1lb3V0LiBCdXQgd2UgZGlzYWJsZWQgaXQg
c28gbGV0J3MgbWltaWMgaXQgd2l0aCBhIDYwIHNlY29uZHMgdGltZW91dCB2YWx1ZS4KLSAgICBz
dGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPiBpbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMg
OiA2MDAwMCB9IC0gKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9zZW5kaW5n
VGltZSk7Ci0gICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMCwgaW50
ZXJ2YWwuY291bnQoKSkpOworICAgIFNlY29uZHMgaW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcyA/IG1fdGltZW91dE1pbGxpc2Vjb25kcyA6
IDYwMDAwKSAtIChNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOworICAgIG1f
dGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heChTZWNvbmRzKDApLCBpbnRlcnZhbCkp
OwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTQ5Niw3ICs0OTYsNyBAQCBPcHRpb25hbDxFeGNl
cHRpb25Pcjx2b2lkPj4gWE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQoKQogICAgICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+IHsgRXhjZXB0aW9uIHsgTkVUV09SS19FUlIgfSB9
OwogICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRp
bWVyLnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9pZD4geyB9OwogICAgIH0KIApAQCAtNjc1LDgg
KzY3NSw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0
KCkKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKG1fdGltZW91dE1pbGxp
c2Vjb25kcyAvIDEwMDAuMCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcmVxdWVzdC5z
ZXRUaW1lb3V0SW50ZXJ2YWwoc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
KTsKLSAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojpub3coKTsKLSAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlzZWNvbmRzIH0pOworICAgICAgICAg
ICAgbV9zZW5kaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgICAgICAgICAgbV90
aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV90aW1l
b3V0TWlsbGlzZWNvbmRzKSk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTk2MCw3ICs5NjAsNyBA
QCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRGYWlsKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9y
KQogICAgICAgICBtX3NlbmRGbGFnID0gZmFsc2U7CiAgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0
eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25ldHdv
cmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9leGNlcHRpb25Db2RlID0gTkVUV09SS19FUlI7CkBAIC0xMTgzLDcgKzExODMsNyBAQCB2b2lk
IFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUoKQogICAgIC8vIFdlIGFyZSBub3QgYWxsb3dlZCB0byBl
eGVjdXRlIGFyYml0cmFyeSBKUyBpbiByZXN1bWUoKSBzbyBkaXNwYXRjaAogICAgIC8vIHRoZSBl
cnJvciBldmVudCBpbiBhIHRpbWVyLgogICAgIGlmIChtX2Rpc3BhdGNoRXJyb3JPblJlc3VtaW5n
ICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVzdW1lVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDApKTsKIH0KIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVzdW1lVGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IGFmNjUwZmU3OTNkOWM4ZGI1ODA4NTk5Mjgx
YmRmODAwYmU1M2I3NDkuLjQ1MjIxNzliYjBmYTUxMDVmNGM5NDViMzVhMjczZmNjNzJjZDdlZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBAIC0yMzAsNyArMjMwLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIG5ldHdvcmtFcnJvclRpbWVyRmlyZWQoKTsKIAogICAgIHVuc2lnbmVk
IG1fdGltZW91dE1pbGxpc2Vjb25kcyB7IDAgfTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjp0aW1lX3BvaW50IG1fc2VuZGluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX3NlbmRp
bmdUaW1lOwogICAgIFRpbWVyIG1fdGltZW91dFRpbWVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5j
cHAKaW5kZXggMzY2NjI2NTZiNTFiZjhjOWU5ZjIyNWJjYjA2NzZlNjBmNDYzMDg3My4uOGE3MWVj
MDBhYzg5NjlkYjFjNWU5NGMwZDEwZWJiZTFjYzk0MTcxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3Bw
CkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91Ymxl
IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVu
dERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgPSAuMDU7IC8vIDUwIG1zIHBlciBzcGVjaWZp
Y2F0aW9uLgorY29uc3QgU2Vjb25kcyBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsID0gU2Vjb25kcygwLjA1
KTsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVudFRh
cmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEyIEBA
IHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0
bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJvdHRsZWRQ
cm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhDb21w
dXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIHN0YXJ0
UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAgICAg
ICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3QgZnJl
cXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVlbnQg
ZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApAQCAt
MjA4LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6
OnJlc3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2YgYWN0aXZlIERPTSBvYmplY3RzIHRvIHJlc3Vt
ZSB0aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBldmVudC1oYW5kbGVyCiAgICAgLy8gY291bGQg
aW5zZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMgdG8gdGhlIGxpc3QuCiAgICAgLy8gbV9kZWZl
ckV2ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxsIGRlZmVycmVkIGV2ZW50cyBoYXZlIGJlZW4g
ZGlzcGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoMCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCmlu
ZGV4IDk3MWJkMjM0MmMwNTZiMTE1OGI0MDE5ZmIyYjNhYTI1MDM0ODRhOGQuLjM0MGZiNWMwMGQx
NzNmYjYxNjFhNzRlNDE1YTAxMmJhZWZiNGY3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCkBAIC01NSw3
ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgotICAgIHN0
YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFs
SW5TZWNvbmRzOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1Qcm9ncmVzc0V2ZW50
RGlzcGF0Y2hpbmdJbnRlcnZhbDsKIAogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpOwogICAgIHZv
aWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
dG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFn
ZUFyZWFTeW5jLmNwcAppbmRleCBhYzBkY2MxMjU2OTRkYWQ0YzRiOTIyODdhMDMxZWZhMDkzNTRl
YTE5Li5hZmY5NWJiYTM1ZWRjMzk2OTdjYjBlOTlkZTA3ZjI1YjQ3OGYwOTIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcApAQCAtNDEsNyArNDEsNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogLy8gSWYgdGhlIFN0b3JhZ2VBcmVhIHVuZGVyZ29lcyByYXBpZCBj
aGFuZ2VzLCBkb24ndCBzeW5jIGVhY2ggY2hhbmdlIHRvIGRpc2suCiAvLyBJbnN0ZWFkLCBxdWV1
ZSB1cCBhIGJhdGNoIG9mIGl0ZW1zIHRvIHN5bmMgYW5kIGFjdHVhbGx5IGRvIHRoZSBzeW5jIGF0
IHRoZSBmb2xsb3dpbmcgaW50ZXJ2YWwuCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0b3JhZ2VTeW5j
SW50ZXJ2YWwgPSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzdG9yYWdlU3luY0ludGVydmFs
ID0gU2Vjb25kcygxKTsKIAogLy8gQSBzYW5lIGxpbWl0IG9uIGhvdyBtYW55IGl0ZW1zIHdlJ2xs
IHNjaGVkdWxlIHRvIHN5bmMgYWxsIGF0IG9uY2UuICBUaGlzIG1ha2VzIGl0CiAvLyBtdWNoIGhh
cmRlciB0byBzdGFydmUgdGhlIHJlc3Qgb2YgTG9jYWxTdG9yYWdlIGFuZCB0aGUgT1MncyBJTyBz
dWJzeXN0ZW0gaW4gZ2VuZXJhbC4KQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lkIFN0b3JhZ2VBcmVh
U3luYzo6c2NoZWR1bGVJdGVtRm9yU3luYyhjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5n
JiB2YWx1ZQogCiAgICAgbV9jaGFuZ2VkSXRlbXMuc2V0KGtleSwgdmFsdWUpOwogICAgIGlmICgh
bV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNo
b3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hv
dChzdG9yYWdlU3luY0ludGVydmFsKTsKIAogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJh
bGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAg
ICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTEzMyw3ICsxMzMsNyBAQCB2b2lk
IFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbGVhcigpCiAgICAgbV9jaGFuZ2VkSXRlbXMuY2xl
YXIoKTsKICAgICBtX2l0ZW1zQ2xlYXJlZCA9IHRydWU7CiAgICAgaWYgKCFtX3N5bmNUaW1lci5p
c0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChTdG9yYWdlU3lu
Y0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5j
SW50ZXJ2YWwpOwogCiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5jZWQgYnkgdGhl
IGNhbGwgdG8gZW5hYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAgIC8vIHN5bmNU
aW1lckZpcmVkIGZ1bmN0aW9uLgpAQCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgU3RvcmFnZUFyZWFT
eW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UoKQogICAgIG1fc3luY0Nsb3NlRGF0YWJhc2UgPSB0
cnVlOwogICAgIAogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBt
X3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1f
c3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKICAgICAgICAgCiAg
ICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5jZWQgYnkgdGhlIGNhbGwgdG8gZW5hYmxl
U3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAgIC8vIHN5bmNUaW1lckZpcmVkIGZ1bmN0
aW9uLgpAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJG
aXJlZCgpCiAgICAgICAgIC8vIHByZXZpb3VzIG9uZS4gQnV0LCBpZiB3ZSdyZSBzaHV0dGluZyBk
b3duLCBzY2hlZHVsZSBpdCBhbnl3YXkuCiAgICAgICAgIGlmIChtX3N5bmNJblByb2dyZXNzICYm
ICFtX2ZpbmFsU3luY1NjaGVkdWxlZCkgewogICAgICAgICAgICAgQVNTRVJUKCFtX3N5bmNUaW1l
ci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChTdG9y
YWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChz
dG9yYWdlU3luY0ludGVydmFsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBA
IC0yMTksNyArMjE5LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKCkK
ICAgICBpZiAocGFydGlhbFN5bmMpIHsKICAgICAgICAgLy8gSWYgd2UgZGlkbid0IGZpbmlzaCBz
eW5jaW5nLCB0aGVuIHdlIG5lZWQgdG8gZmluaXNoIHRoZSBqb2IgbGF0ZXIuCiAgICAgICAgIEFT
U0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0
T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRP
bmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFRo
ZSBmb2xsb3dpbmcgaXMgYmFsYW5jZWQgYnkgdGhlIGNhbGxzIHRvIGRpc2FibGVTdWRkZW5UZXJt
aW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc2NoZWR1bGVJdGVtRm9yU3luYywgc2NoZWR1bGVD
bGVhciwgYW5kIHNjaGVkdWxlRmluYWxTeW5jIGZ1bmN0aW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZVRyYWNrZXIuY3BwCmluZGV4IDU5YTAwZmUzMGE5NjNmNTgxM2Q4YjBkZGEwNGRi
NjA4MWE2NjIzYmQuLjk1YTk2YTAzZGMxNWI4ZjEyZTc2ZjU4MjZiNWE0ODk4MGZlMTM5ZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcApAQCAtNTIsNyArNTIsNyBA
QCBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsKIAogLy8g
SWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFiYXNlLCBj
bG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQogLy8gYWZ0ZXIgaXQgaGFzIGJlZW4gaWRsZSBm
b3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBjb25zdCBk
b3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMDsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBTZWNvbmRz
KDMwMCk7CiAgICAgCiB2b2lkIFN0b3JhZ2VUcmFja2VyOjppbml0aWFsaXplVHJhY2tlcihjb25z
dCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdlVHJhY2tlckNsaWVudCogY2xpZW50KQogewpA
QCAtOTcsNyArOTcsNyBAQCBTdG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIoY29uc3QgU3Ry
aW5nJiBzdG9yYWdlUGF0aCkKICAgICAsIG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlxdWU8U3RvcmFn
ZVRocmVhZD4oKSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX25lZWRzSW5pdGlh
bGl6YXRpb24oZmFsc2UpCi0gICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChEZWZh
dWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQorICAgICwgbV9zdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmggYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBkMjJlOWEzOWY5
YjhjMDg5MzdmNTk0ZThmYTNiZGFjYTg4Li43MjZmMzI1MWIxZDFlZWY2YzFhYWYxMTI2MWMwZDI5
OTdiNTkxNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaApAQCAtNTks
OCArNTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpc0FjdGl2ZSgpOwogCi0gICAgZG91
YmxlIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsOyB9Ci0gICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwoZG91YmxlIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gaW50
ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0
dXJuIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9CisgICAgdm9pZCBzZXRTdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkgeyBtX3N0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CiAKICAgICB2b2lkIHN5bmNGaWxlU3lzdGVtQW5k
VHJhY2tlckRhdGFiYXNlKCk7CiAKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIAog
ICAgIGJvb2wgbV9pc0FjdGl2ZTsKICAgICBib29sIG1fbmVlZHNJbml0aWFsaXphdGlvbjsKLSAg
ICBkb3VibGUgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3N0
b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNl
TG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291
cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggMTFiY2UzYmVlMGUwYmExZDcwMmY3MmM2NjQ1M2Nj
MmEyYmRlYjdmNi4uNTM3MjFlNDg5MWQzNGEyMmU2NjFjZDNmOTM0MTZiYTJjNTI0MjE4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hl
ZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VM
b2FkU2NoZWR1bGVyLmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyOjpyZXN1bWVQZW5kaW5nUmVxdWVzdHMoKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKQogewogICAgIGlmICghbV9y
ZXF1ZXN0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7
CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9O
ZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KaW5kZXggMzZkYmJlYzYyNGVlYjA1NGYwNjJh
MDI4NDEwMDI5YmYwOGU0MjlkOS4uZTBkNzg5NGYzNDQ1M2FkZjNhYzkzNzMwZmQ0OGMzZWU1ZDZk
NzZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
SG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtNzQ0LDcgKzc0NCw3IEBA
IHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAg
ICAgbV9wbHVnaW5SZXF1ZXN0cy5yZW1vdmVGaXJzdCgpOwogICAgIAogICAgIGlmICghbV9wbHVn
aW5SZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
ICAgIAogICAgIHBlcmZvcm1SZXF1ZXN0KHJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtODAwLDcgKzgw
MCw3IEBAIE5QRXJyb3IgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Ojpsb2FkUmVxdWVzdChO
U1VSTFJlcXVlc3QgKnJlcXVlc3QsIGNvbnN0IGNoCiAKICAgICAgICAgYXV0byBwbHVnaW5SZXF1
ZXN0ID0gUGx1Z2luUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3RJRCwgcmVxdWVzdCwgdGFyZ2V0LCBh
bGxvd1BvcHVwcyk7CiAgICAgICAgIG1fcGx1Z2luUmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocGx1
Z2luUmVxdWVzdCkpOwotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICB9IGVs
c2UgewogICAgICAgICBSZWZQdHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0+IHN0cmVhbSA9
IEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtOjpjcmVhdGUodGhpcywgcmVxdWVzdElELCByZXF1
ZXN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2Fw
ZVBsdWdpblN0cmVhbS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQ
bHVnaW5TdHJlYW0ubW0KaW5kZXggMDVjYzRkNDcyZGE4NjEwYTM0YmE1YmRiZWM4YTE2M2U0YWQz
OGI5NC4uYzFkOWFjODM0MjExYTYyYmJmMGIzMjYwN2IzZGE4MmM2ZDZiNTlmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
CkBAIC01MjksNyArNTI5LDcgQEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZl
ckRhdGEoKQogICAgICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7CiAgICAgICAgICAgICAv
LyBQbHVnLWluIGNhbid0IHJlY2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0IG5vdy4gU2VuZCBpdCBs
YXRlci4KICAgICAgICAgICAgIGlmICghbV9kZWxpdmVyRGF0YVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgICAgICAgICBtX2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWxpdmVy
eUJ5dGVzID0gc3RkOjptaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNE
ZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRz
Y2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbQppbmRleCBlZWFhYmE4MjQ4MWU3MzkwZDM2MmU4YjNhMTQyYWU1MjIwMzIy
NGFiLi5iYmMxOGNiY2RlMmJiMTMzMGVmYzhiMTJjMDhiNTYzM2IzYzA3OWIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAt
MTExLDcgKzExMSw3IEBAIHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdpblZpZXcgKmN1cnJlbnRQbHVn
aW5WaWV3ID0gbmlsOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQb3J0U3RhdGUqIFBvcnRTdGF0
ZTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1lckludGVydmFsID0gMC4yNTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDAu
MjUpOwogCiBjbGFzcyBQbHVnaW5UaW1lciA6IHB1YmxpYyBUaW1lckJhc2UgewogcHVibGljOgpA
QCAtMTMwLDcgKzEzMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNBY3Rp
dmUoKSk7CiAKLSAgICAgICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAw
LjA7CisgICAgICAgIFNlY29uZHMgdGltZUludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyhtX2ludGVydmFsKTsKICAgICAgICAgCiAgICAgICAgIGlmICh0aHJvdHRsZSkKICAgICAg
ICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRlcnZhbCwgVGhyb3R0bGVkVGlt
ZXJJbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0
b3JhZ2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFu
YWdlci5tbQppbmRleCAxZjllYWU1NWVmZGNhNWU2ZmFkNWQ2MGU0YmUwZjFiOTg3NDM2ODRkLi4x
MThhMTEzNDU2YWRjNWViNWFjZTk0YTk5NTBiM2E3YjA1YTI3MzllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KQEAgLTExNiw3ICsxMTYsNyBA
QCArIChOU1N0cmluZyAqKV9zdG9yYWdlRGlyZWN0b3J5UGF0aAogCiArICh2b2lkKXNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVydmFsCiB7Ci0gICAgV2ViS2l0OjpT
dG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChp
bnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKICsgKHZvaWQp
Y2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KaW5kZXggOGU0NzFiMTZiMzJhNjI4ZmE0ZTU4NGRjOGRjNWM4Yzk5MDliN2E0My4uZjc1
MDlkOTFiZGEzOTQ4NDQzMDFkMWYzZGJmNzQ5MDgxZjg3YjgwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtMjc0OSw3ICsyNzQ5LDcgQEAgLSAodm9pZClfcHJlZmVyZW5j
ZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzCiAgICAgc2V0dGluZ3Muc2V0
U2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cyhzaG91bGREaXNwYXRj
aEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzKCkpOwogCiAgICAgc2V0dGluZ3Muc2V0UGFz
c3dvcmRFY2hvRW5hYmxlZChbcHJlZmVyZW5jZXMgX2FsbG93UGFzc3dvcmRFY2hvXSk7Ci0gICAg
c2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoW3ByZWZlcmVuY2VzIF9w
YXNzd29yZEVjaG9EdXJhdGlvbl0pOworICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0
aW9uKFNlY29uZHMoW3ByZWZlcmVuY2VzIF9wYXNzd29yZEVjaG9EdXJhdGlvbl0pKTsKIAogICAg
IEFTU0VSVF9XSVRIX01FU1NBR0Uoc2V0dGluZ3MucGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zKCks
ICJQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMgc2hvdWxkIGJlIGVuYWJsZWQgb24gaU9TLiIpOwog
ICAgIHNldHRpbmdzLnNldERlbGVnYXRlc1BhZ2VTY2FsaW5nKHRydWUpOwpAQCAtMjg2NCw3ICsy
ODY0LDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXBy
ZWZlcmVuY2VzCiAKICAgICBOU1RpbWVJbnRlcnZhbCB0aW1lb3V0ID0gW3ByZWZlcmVuY2VzIGlu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzXTsKICAgICBpZiAo
dGltZW91dCA+IDApCi0gICAgICAgIHNldHRpbmdzLnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3Vw
cHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKHRpbWVvdXQpOworICAgICAgICBzZXR0aW5ncy5zZXRJ
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dChTZWNvbmRzKHRpbWVvdXQpKTsK
IAogICAgIC8vIEFwcGxpY2F0aW9uIENhY2hlIFByZWZlcmVuY2VzIGFyZSBzdG9yZWQgb24gdGhl
IGdsb2JhbCBjYWNoZSBzdG9yYWdlIG1hbmFnZXIsIG5vdCBpbiBTZXR0aW5ncy4KICAgICBbV2Vi
QXBwbGljYXRpb25DYWNoZSBzZXREZWZhdWx0T3JpZ2luUXVvdGE6W3ByZWZlcmVuY2VzIGFwcGxp
Y2F0aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVvdGFdXTsKQEAgLTgyOTgsNyArODI5OCw3IEBAICsg
KHZvaWQpX3NldENhY2hlTW9kZWw6KFdlYkNhY2hlTW9kZWwpY2FjaGVNb2RlbAogICAgIHVuc2ln
bmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2Fw
YWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBh
dXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25k
cyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBT
ZWNvbmRzKDApOwogCiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAKQEAgLTg0MjUs
NyArODQyNSw3IEBAICsgKHZvaWQpX3NldENhY2hlTW9kZWw6KFdlYkNhY2hlTW9kZWwpY2FjaGVN
b2RlbAogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3
b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0
eSA9IHN0ZDo6bWF4PHVuc2lnbmVkPigyNCwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkpOwogCi0gICAg
ICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25k
cyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBTZWNv
bmRzKDYwKTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgaWYgKG1lbVNpemUgPj0gMTAy
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAK
aW5kZXggYmMxOGRlYjc1Y2NkNzA4MjdhZmZhZTllMDc2MjFmMjM1MDFmNTRlYS4uZjUzMDNkZjFj
MmJlMTQyZmIyMjU1NTBhZjM0OGVjMzc2MTE1OWZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC93
aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAKIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0
IGZsb2F0IHRpbWVySW50ZXJ2YWwgPSAwLjAzMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVy
SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDMzKTsKIAogLy8gSFVEIFNpemUKIHN0YXRpYyBjb25zdCBp
bnQgd2luZG93SGVpZ2h0ID0gNTk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1
Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAppbmRleCBhNTNjMzE1YzIwMTg0Mzk0
ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li4xNzI5ZmZmNjNjMGZmYTQ2NzVkMzc4MTNhYzZhYzcw
ZDc2NDlkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1l
c3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1
Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3MgRmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25kLCB3
aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRlbwogLy8gcGxheWJhY2ssIGFuZCBhbHNvIGdl
dHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tpbmcgaW50byBoaWdoLXJlc29sdXRpb24KIC8v
IHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldpbi5jcHApLgotc3RhdGljIGNvbnN0IGRvdWJs
ZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgPSAwLjAxNjsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCA9IFNlY29uZHMoMC4wMTYpOwogCiAvLyBE
dXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBtZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZlcnkg
NW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVydmFs
ID0gMC4wMDU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBh
Y2thZ2UuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcApp
bmRleCBiNjdmYTUzZmU4MGIxZWY4YzAxYWZmYzg2ZGE1ZDcxNjMxNTVkZDI0Li5iY2MzNTNjNzRh
Y2Q4NTViZjM2MGY3Y2E5MDE2ODI5MjJiYTEwNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1Bs
dWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBQbHVnaW5QYWNr
YWdlOjpmcmVlTGlicmFyeVNvb24oKQogICAgIEFTU0VSVChtX21vZHVsZSk7CiAgICAgQVNTRVJU
KCFtX2xvYWRDb3VudCk7CiAKLSAgICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fZnJlZUxpYnJhcnlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAK
IHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAppbmRleCAyZWYzOTU1YmU2MWE4ZDA1NDI0
YWQxMzk5NjJkZDBkN2ZhNmFlNDQ0Li44YjMwMmI3NjMzYzE0YTA2ZmQ0YWI3YzFhOTdmNTg0MWI0
YTE1M2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVh
bS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCkBA
IC0zNDksNyArMzQ5LDcgQEAgdm9pZCBQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAg
ICAgaW50MzJfdCBkZWxpdmVyeUJ5dGVzID0gbV9wbHVnaW5GdW5jcy0+d3JpdGVyZWFkeShtX2lu
c3RhbmNlLCAmbV9zdHJlYW0pOwogCiAgICAgICAgIGlmIChkZWxpdmVyeUJ5dGVzIDw9IDApIHsK
LSAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZGVsaXZlcnlC
eXRlcyA9IG1pbihkZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxCeXRlc0RlbGl2ZXJl
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBkYWRkM2I3
NDVmN2Y0ZmI3MWY1ZDNhYTZmOWVkMDc4YzliODI2MDI4Li4yOGJlMjMwN2MxZTFhNDE2YjYwZDM1
NWI1YmI3NTJkMzcyM2ZjN2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmll
dy5jcHAKQEAgLTQ3Myw3ICs0NzMsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnJlcXVlc3RUaW1lckZp
cmVkKCkKICAgICAvLyBTY2hlZHVsZSBhIG5ldyByZXF1ZXN0IGJlZm9yZSBjYWxsaW5nIHBlcmZv
cm1SZXF1ZXN0IHNpbmNlIHRoZSBjYWxsIHRvCiAgICAgLy8gcGVyZm9ybVJlcXVlc3QgY2FuIGNh
dXNlIHRoZSBwbHVnaW4gdmlldyB0byBiZSBkZWxldGVkLgogICAgIGlmICghbV9yZXF1ZXN0cy5p
c0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAgcGVyZm9y
bVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC00ODMsNyArNDgzLDcgQEAgdm9pZCBQbHVn
aW5WaWV3OjpzY2hlZHVsZVJlcXVlc3Qoc3RkOjp1bmlxdWVfcHRyPFBsdWdpblJlcXVlc3Q+IHJl
cXVlc3QpCiAgICAgbV9yZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAKICAgICBp
ZiAoIW1faXNKYXZhU2NyaXB0UGF1c2VkKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKIH0KIAogTlBFcnJvciBQbHVnaW5WaWV3Ojpsb2FkKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3Qm
IGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0
YSkKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnNldEphdmFTY3JpcHRQYXVz
ZWQoYm9vbCBwYXVzZWQpCiAgICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQogICAgICAgICBt
X3JlcXVlc3RUaW1lci5zdG9wKCk7CiAgICAgZWxzZSBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgp
KQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVx
dWVzdFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQpAQCAtMTE3Myw3ICsxMTczLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpr
ZWVwQWxpdmUoKQogICAgICAgICByZXR1cm47CiAKICAgICByZWYoKTsKLSAgICBtX2xpZmVTdXBw
b3J0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbGlmZVN1cHBvcnRUaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCmluZGV4IDJmY2E5
ZjNjOTVkNzNkYmEzYWMzMjYyNTllYTg2ZGRjZGRhMjA3MGYuLjBmZWNjZjY3NDJiNzUxZTIxM2Uy
M2YyYmFlNTdiZWE3MWEyNjEyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdp
bnMvUGx1Z2luVmlld1dpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5WaWV3V2luLmNwcApAQCAtMzM0LDcgKzMzNCw3IEBAIFBsdWdpblZpZXc6OnduZFByb2MoSFdO
RCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiAKICAg
ICAgICAgcHVzaFBvcHVwc0VuYWJsZWRTdGF0ZSh0cnVlKTsKIAotICAgICAgICBtX3BvcFBvcHVw
c1N0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgIH0KIAogICAgIGlmIChtZXNzYWdlID09
IFdNX1BSSU5UQ0xJRU5UKSB7CkBAIC04MzgsNyArODM4LDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpp
bnZhbGlkYXRlUmVjdChOUFJlY3QqIHJlY3QpCiAgICAgICAgIGlmIChtX3BsdWdpbi0+cXVpcmtz
KCkuY29udGFpbnMoUGx1Z2luUXVpcmtUaHJvdHRsZUludmFsaWRhdGUpKSB7CiAgICAgICAgICAg
ICBtX2ludmFsaWRSZWN0cy5hcHBlbmQocik7CiAgICAgICAgICAgICBpZiAoIW1faW52YWxpZGF0
ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDAuMDAxKTsKKyAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcygwLjAwMSkpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGlu
dmFsaWRhdGVSZWN0KHIpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNw
cAppbmRleCBmYzBkMTU1NzBmZWFlYzlkYjM4Njk3MDhiNWFiN2M3YTRhZDIyMjgyLi42ODc4YzQy
NGRmNGU4ZTBjODMyMjEzNDFhOTc2ZmY1NDY5ZWZjYWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBBY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKCkKICAgICBpZiAobV9sYXllckZsdXNo
VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9sYXllckZsdXNoVGlt
ZXIuc3RhcnRPbmVTaG90KDAuMDUpOworICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDAuMDUpKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4
dDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggZDU3
MDA0OGRhN2EyNjQwNmJjYWQwNmMyNWRlODY4ZmU1YWNiMmIwMy4uYTM5NmMxMWYyOGJiNDcxN2Ji
NDU1ZjBmMWE2ZTE3ZTEyMjhhODRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTE1MTYsNyAr
MTUxNiw3IEBAIHZvaWQgV2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKCkKICAgICBtX2Nsb3NlV2lu
ZG93VGltZXIgPSBXaW5kb3dDbG9zZVRpbWVyOjpjcmVhdGUodGhpcyk7CiAgICAgaWYgKCFtX2Ns
b3NlV2luZG93VGltZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nsb3NlV2luZG93VGltZXIt
PnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25lU2hvdChT
ZWNvbmRzKDApKTsKIAogICAgIEFkZFJlZigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKaW5kZXggMzEyNTg4ODMzNTUwZWExZjgy
NDdjMzdjOWZkMzk3ZTg1YThjMWQ0NC4uZTVjNGJkMTY3Mzc3ODY5OWEzOGQ2NmFlNjhiNzk2MmE5
Y2E3NjllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0RhdGFUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
RGF0YVRhc2suY3BwCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrOjpzY2hl
ZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSAhPSBOb0Zh
aWx1cmUpOwogICAgIG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgPSB0eXBlOwotICAgIG1fZmFpbHVy
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrOjpkaWRSZWNlaXZlUmVzcG9u
c2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVy
JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrTG9hZC5jcHAKaW5kZXggNTE3Zjg0NWFhYmU1MjNmMmVmYTk2MTg0ZWVmNzI1M2FlMmNh
NGQ5Zi4uZWYyM2Y3MDAwNWNlZjdlMDg4Y2YyYmMwYTEyYzBlMGExODRmNDc1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcApAQCAtNTAsNyArNTAs
NyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICNpZiBVU0UoTkVUV09SS19TRVNTSU9OKQog
CiBzdHJ1Y3QgTmV0d29ya0xvYWQ6OlRocm90dGxlIHsKLSAgICBUaHJvdHRsZShOZXR3b3JrTG9h
ZCYgbG9hZCwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSwgUmVzb3VyY2VSZXNwb25z
ZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKKyAgICBU
aHJvdHRsZShOZXR3b3JrTG9hZCYgbG9hZCwgU2Vjb25kcyBkZWxheSwgUmVzb3VyY2VSZXNwb25z
ZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKICAgICAg
ICAgOiB0aW1lcihsb2FkLCAmTmV0d29ya0xvYWQ6OnRocm90dGxlRGVsYXlDb21wbGV0ZWQpCiAg
ICAgICAgICwgcmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZSkpCiAgICAgICAgICwgcmVzcG9uc2VD
b21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKQpAQCAtMzExLDggKzMxMSw4IEBAIHZv
aWQgTmV0d29ya0xvYWQ6OmRpZFJlY2VpdmVSZXNwb25zZU5ldHdvcmtTZXNzaW9uKFJlc291cmNl
UmVzcG9uc2UmJiByZXNwb25zZSwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8g
ZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9hZFRocm90dGxlTGF0ZW5jeSgp
OwotICAgIGlmIChkZWxheSA+IDBtcykgeworICAgIFNlY29uZHMgZGVsYXkgPSBOZXR3b3JrUHJv
Y2Vzczo6c2luZ2xldG9uKCkubG9hZFRocm90dGxlTGF0ZW5jeSgpOworICAgIGlmIChkZWxheSA+
IFNlY29uZHMoMCkpIHsKICAgICAgICAgbV90aHJvdHRsZSA9IHN0ZDo6bWFrZV91bmlxdWU8VGhy
b3R0bGU+KCp0aGlzLCBkZWxheSwgV1RGTW92ZShyZXNwb25zZSksIFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGM5NmQwODI5ZTE1YjZkODhiYWUx
NWNmMGMxMmNjNGNkMjM4ZjExM2IuLjhjNWI3YTQ4ODVmYzQ0OWVlYWRlMDc0NGNkOWZjNjAyNWFj
ZTYxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaApAQCAtMTE1LDcgKzExNSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ3JhbnRTYW5kYm94
RXh0ZW5zaW9uc1RvRGF0YWJhc2VQcm9jZXNzRm9yQmxvYnMoY29uc3QgVmVjdG9yPFN0cmluZz4m
IGZpbGVuYW1lcywgRnVuY3Rpb248dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAKLSAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7
IHJldHVybiBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KKyAgICBTZWNvbmRzIGxvYWRUaHJvdHRs
ZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KIAogcHJp
dmF0ZToKICAgICBOZXR3b3JrUHJvY2VzcygpOwpAQCAtMjA3LDcgKzIwNyw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX3N1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAg
ICBib29sIG1fZGlza0NhY2hlSXNEaXNhYmxlZEZvclRlc3Rpbmc7CiAgICAgYm9vbCBtX2Nhbkhh
bmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbV9sb2FkVGhyb3R0bGVMYXRlbmN5OworICAgIFNlY29uZHMgbV9sb2FkVGhyb3R0bGVM
YXRlbmN5OwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBzdGQ6OnVuaXF1ZV9w
dHI8TmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50PiwgUHRySGFzaDxjb25zdCBjaGFyKj4+IE5ldHdv
cmtQcm9jZXNzU3VwcGxlbWVudE1hcDsKICAgICBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXAg
bV9zdXBwbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGY0NTY5
Yzk0NjlhNTc3MmU2MGIxYzliZmY1NjA4NWQzYWNiNDNjM2QuLjcwOTUxNTMwZTMyOWZhMWM1ZjNm
ZjhlNjcyYjkzNDMwOGM1OGY4YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApA
QCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJDYWNo
ZU1vZGVsLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9T
ZWNvbmRzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCkBAIC03Myw3ICs3NCw3IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFu
ZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBzaG91bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb247
CiAgICAgYm9vbCB1cmxQYXJzZXJFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3kgeyAwbXMgfTsKKyAgICBTZWNvbmRzIGxv
YWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0
ZXJlZEZvckN1c3RvbVByb3RvY29sczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKaW5kZXgg
NDI1NWFkZTQxMTUwZGE5NjlmMjExMTc1MTJkN2RmNmY3ZjdjOWM0YS4uNWIyOWUwZWJkNDNhMzhi
ZTUyYWU2NmRjNTIxMDMyZWMyMDY3MGFkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBA
IC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWRJZGVudGlmaWVyIGlkZW50
aWZpZXIgeyAwIH07CiAgICAgVmVjdG9yPFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVz
dEJvZHlTYW5kYm94RXh0ZW5zaW9uczsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUg
c2VuZGVyLgogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRl
bnNpb247IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lIHsgMG1zIH07CisgICAg
U2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggOTAxMDU5OTY4YTM5MTMwMWRhMmFjOTIzNzRiN2Y5MjQ1ZDY5
NGRkNi4uNmMxN2NlNWNmNTRlODZiNmE5YjZhOWU2NzgwYzMxOTRkOTA1YTg1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0yMDksNyArMjA5LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0TmV0d29ya0xvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogCiAgICAgY29u
c3VtZVNhbmRib3hFeHRlbnNpb25zKCk7CiAKLSAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1f
cGFyYW1ldGVycy5tYXhpbXVtQnVmZmVyaW5nVGltZSA+IDBtcykKKyAgICBpZiAoaXNTeW5jaHJv
bm91cygpIHx8IG1fcGFyYW1ldGVycy5tYXhpbXVtQnVmZmVyaW5nVGltZSA+IFNlY29uZHMoMCkp
CiAgICAgICAgIG1fYnVmZmVyZWREYXRhID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoKTsKIAogI2lm
IEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvUGluZ0xvYWQuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdM
b2FkLmgKaW5kZXggMzAwYzMwODEyNGYzNGNhNjdhOWRhNWJiNzQwNTRlNjAyZWMyOWQxMi4uODE2
MjY1M2JkM2ZiNWZmMjYzNmEzZTA5MWZiN2RhN2U3NDhlZTZlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAg
ICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhh
bmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91
dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAw
MDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyg2MDAwMCkp
OwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGYyNjIyOWQwZTBhOWE3N2ExNzZhZWY0MTE5ZGM0ZTdk
ODQ4OWI0MTguLmNjODMwNjMyNzQwMDFjZDQxNDRkYjBmZWJiMWQ1Y2JhMzRjZDcwMjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC00Niw3
ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVkRW50cnlMaWZldGltZSA9IDEwczsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSBTZWNvbmRzKDEw
KTsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBIYXNoQ291bnRlZFNldDxTdHJpbmc+JiBh
bGxTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0
aXN0aWNzLmNwcAppbmRleCBlOGRjNjQzYzdmMjQ1MmJhOWRjNTMzZjUxOGUxZmZiYTk5ODhkNTFi
Li5jMGVlMjBhNjRlMmFkMmViZWY5MmM3MjA0ZmFjNjc5NjgwODc1MTJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVTdGF0aXN0aWNzLmNwcApAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5h
bWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiBzdGF0aWMgY29uc3QgY2hhciogU3RhdGlzdGljc0Rh
dGFiYXNlTmFtZSA9ICJXZWJLaXRDYWNoZVN0YXRpc3RpY3MuZGIiOwotc3RhdGljIGNvbnN0IHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW51bVdyaXRlSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKDEwMDAwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmludW1Xcml0
ZUludGVydmFsID0gU2Vjb25kcygxMCk7CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTUUxDb21tYW5k
KFdlYkNvcmU6OlNRTGl0ZURhdGFiYXNlJiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBzcWwpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVN0b3JhZ2UuY3BwCmluZGV4IDA1YTNkMWM2MWY2MzBjNjFhNDVlNDc0MjhhZWJj
ZThhMmYyMzJlNmMuLmJkODFjM2I3MmE4NmNjOTQ3OWE2ZWI2NDVhYTU2YjhiYzBjMWRjNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVN0b3JhZ2UuY3BwCkBAIC01NzQsNyArNTc0LDcgQEAgdm9pZCBTdG9yYWdlOjpk
aXNwYXRjaFJlYWRPcGVyYXRpb24oc3RkOjp1bmlxdWVfcHRyPFJlYWRPcGVyYXRpb24+IHJlYWRP
cGVyYXRpb24KICAgICBtX2FjdGl2ZVJlYWRPcGVyYXRpb25zLmFkZChXVEZNb3ZlKHJlYWRPcGVy
YXRpb25QdHIpKTsKIAogICAgIC8vIEkvTyBwcmVzc3VyZSBtYXkgbWFrZSBkaXNrIG9wZXJhdGlv
bnMgc2xvdy4gSWYgdGhleSBzdGFydCB0YWtpbmcgdmVyeSBsb25nIHRpbWUgd2UgcmF0aGVyIGdv
IHRvIG5ldHdvcmsuCi0gICAgY29uc3QgYXV0byByZWFkVGltZW91dCA9IDE1MDBtczsKKyAgICBj
b25zdCBTZWNvbmRzIHJlYWRUaW1lb3V0ID0gU2Vjb25kcygxLjUpOwogICAgIG1fcmVhZE9wZXJh
dGlvblRpbWVvdXRUaW1lci5zdGFydE9uZVNob3QocmVhZFRpbWVvdXQpOwogCiAgICAgYm9vbCBz
aG91bGRHZXRCb2R5QmxvYiA9IG1heUNvbnRhaW5CbG9iKHJlYWRPcGVyYXRpb24ua2V5KTsKQEAg
LTc5Niw3ICs3OTYsNyBAQCB2b2lkIFN0b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3Jk
LCBNYXBwZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJvZHlIYW5kbGVyKQogCiAgICAgLy8gRGVsYXkg
dGhlIHN0YXJ0IG9mIHdyaXRlcyBhIGJpdCB0byBhdm9pZCBhZmZlY3RpbmcgZWFybHkgcGFnZSBs
b2FkLgogICAgIC8vIENvbXBsZXRpbmcgd3JpdGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3cml0ZXMg
d2l0aG91dCBkZWxheS4KLSAgICBzdGF0aWMgY29uc3QgYXV0byBpbml0aWFsV3JpdGVEZWxheSA9
IDFzOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxXcml0ZURlbGF5ID0gU2Vjb25k
cygxKTsKICAgICBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lci5zdGFydE9uZVNob3QoaW5p
dGlhbFdyaXRlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDRjZWZhOGVi
MzU3YWU0NGJkMjVhNTc0NmI0NWZmOWEwOGI0ZTIwZGYuLmYwODc1MmU1NGM5YzcxNTU1ZGQwYTcx
NGYxMDM3MTQyMjllMWUzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC0zMzMsNyArMzMz
LDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6Y2FuY2VsKCkKIHZvaWQgTmV0d29ya0Rh
dGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUg
IT0gTm9GYWlsdXJlKQotICAgICAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICAgICBbbV90
YXNrIHJlc3VtZV07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9Bcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1l
bnRDb2RlcnMuY3BwCmluZGV4IDlhYzc2YzZkMzk0N2RlMjY4NzFlYjY4OTIwNjViZGE2Yjc3OGNm
ZTEuLmQwNDZhZjVkZTIwNzM2MzI3YjEwNzY4MzBlY2I5YjhhOWVmZWQ1ODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcApAQCAtMzIsNiArMzIs
MzYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNU
aW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25pY1RpbWUmIHRpbWUp
Cit7CisgICAgZW5jb2RlciA8PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKTsKK30K
KworYm9vbCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUoRGVjb2RlciYgZGVj
b2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHRp
bWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZW5jb2RlciA8PCBzZWNvbmRz
LnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZG91YmxlIHZhbHVlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQg
QXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Pjo6ZW5j
b2RlKElQQzo6RW5jb2RlciYgZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9j
azo6dGltZV9wb2ludCYgdGltZVBvaW50KQogewogICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8
aW50NjRfdD4odGltZVBvaW50LnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKaW5kZXggMDU2OGFjZWE5ZjQ3
OTcxNDViMDBkOWRiNTc2YzNjMThjNzc1M2UxYy4uNzc0MDQ5YWYyMjY3MTcyYjEyMTJhYWZmZmMy
YzVhZDMyZTMxNTE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Fy
Z3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50
Q29kZXJzLmgKQEAgLTE2Myw3ICsxNjMsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBFbGVtZW50
cz4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjp0dXBsZTxFbGVtZW50cy4uLj4+IHsKICAgICB9
CiB9OwogCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFJlcCwgdHlwZW5hbWUgUGVyaW9kPiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQZXJpb2Q+PiB7CiAgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0ZDo6Y2hyb25vOjpk
dXJhdGlvbjxSZXAsIFBlcmlvZD4mIGR1cmF0aW9uKQogICAgIHsKQEAgLTM3OSw2ICszNzgsMTYg
QEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBL
ZXlUcmFpdHNBcmc+IHN0cnVjdCBBcmd1bWUKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVj
dCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3RvbmljVGltZT4geworICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpNb25vdG9uaWNUaW1lJik7CisgICAgc3RhdGljIGJv
b2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKK307CisKK3RlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpTZWNvbmRzPiB7CisgICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6OlNlY29uZHMmKTsKKyAgICBzdGF0aWMgYm9vbCBk
ZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25kcyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50PiB7CiAg
ICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBzdGQ6OmNocm9ubzo6c3lzdGVt
X2Nsb2NrOjp0aW1lX3BvaW50Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBz
dGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCA1MDNjZjVmM2JiMjI2MjYxYzIyNDBkZWM4MmQ2
ZTA3ZWFhZGZlMWUyLi4xOGJmMzFjNjY0YzBjMmRmYjg1MTRhZTgzMjc3ZGYwMTBjMjEyMWJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAgLTE4Niw3ICsxODYs
NyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGtpbGwoKTsKLSAg
ICB2b2lkIHRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICB2b2lk
IHRlcm1pbmF0ZVNvb24oU2Vjb25kcyk7CiAjZW5kaWYKIAogICAgIGJvb2wgaXNWYWxpZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmluZGV4IDI4OTk1MTI5NDYzZTgzMTkxMDcwYmVlODVm
ZGJlODcwNTQ4ZTU1YjEuLjcwNDQ2OTE1NmFmODFiZDQxNThmMTcxZTA4MTdkODhlZGJmYjE3YTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMu
bW0KQEAgLTgwLDIwICs4MCwyMCBAQCBlbnVtIHsKIC8vICAgIHRvIGVuc3VyZSBpdCBoYXMgYSBj
aGFuY2UgdG8gdGVybWluYXRlIGNsZWFubHkuCiBjbGFzcyBDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rp
b24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBzdGF0aWMgdm9pZCBjcmVhdGVDb25u
ZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYg
eHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICB7Ci0gICAgICAgIG5ldyBDb25u
ZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbEluU2Vjb25k
cyk7CisgICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0
aW9uLCBpbnRlcnZhbCk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBDb25uZWN0aW9uVGVy
bWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVj
dGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIENvbm5lY3Rpb25UZXJtaW5hdGlv
bldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBT
ZWNvbmRzIGludGVydmFsKQogICAgICAgICA6IG1feHBjQ29ubmVjdGlvbih4cGNDb25uZWN0aW9u
KQogICAgICAgICAsIG1fd2F0Y2hkb2dUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZDb25u
ZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6d2F0Y2hkb2dUaW1lckZpcmVkKQogI2lmIFBMQVRG
T1JNKElPUykKICAgICAgICAgLCBtX2Fzc2VydGlvbihzdGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6
UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNfY29ubmVjdGlvbl9nZXRfcGlkKG1feHBjQ29ubmVj
dGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91bmQpKQogI2VuZGlm
CiAgICAgewotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsSW5T
ZWNvbmRzKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7
CiAgICAgfQogICAgIAogICAgIHZvaWQgd2F0Y2hkb2dUaW1lckZpcmVkKCkKQEAgLTE1MSwxMCAr
MTUxLDEwIEBAIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1JbnZhbGlkYXRlKCkKICNlbmRpZgog
fQogICAgIAotdm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKGRvdWJsZSBpbnRlcnZhbElu
U2Vjb25kcykKK3ZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihTZWNvbmRzIGludGVydmFs
KQogewogICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCi0gICAgICAgIENvbm5lY3Rpb25UZXJtaW5h
dGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nv
bm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29u
bmVjdGlvbiwgaW50ZXJ2YWwpOwogfQogICAgIAogdm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUlu
aXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCmluZGV4IGRhOWRiMjI0
ZWRjMGVhMGNiZDAwMmRjMTcxMmEwYzE4NmQxOTM1ZTQuLjExY2JhYTMxZGM1YjM3ZTc5YmU0NTVl
MGM4M2FhMTE1YWU3MTBlNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTE0Nyw3ICsxNDcsNyBAQCB2b2lk
IFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSgpCiAgICAgaWYgKG1fcGx1Z2luRGVzdHJ1
Y3Rpb25Qcm90ZWN0Q291bnQgfHwgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCktPmluU2VuZFN5
bmMoKSkgewogICAgICAgICAvLyBXZSBoYXZlIHBsdWctaW4gY29kZSBvbiB0aGUgc3RhY2sgc28g
d2UgY2FuJ3QgZGVzdHJveSBpdCByaWdodCBub3cuCiAgICAgICAgIC8vIERlc3Ryb3kgaXQgbGF0
ZXIuCi0gICAgICAgIG1fcGx1Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC0yMTUsNyArMjE1LDcgQEAgdm9pZCBQbHVnaW5Db250cm9s
bGVyUHJveHk6OnN0YXJ0UGFpbnRUaW1lcigpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFN0
YXJ0IHRoZSB0aW1lci4KLSAgICBtX3BhaW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
cGFpbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAKICAgICBtX3dhaXRpbmdGb3JE
aWRVcGRhdGUgPSB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5jcHAKaW5kZXggYTcyNGViMDhmOTBkNTlkYjEyOTgyMzQ0MWU3N2UwOGZlZWM3
YjI1Yi4uY2EyMTQ2YzM3ZjZmMWZmODc2NDBkZDI2ZjMwNDcwMmY3NTY4MjE5NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCkBAIC0yMjAsOSAr
MjIwLDkgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1l
cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWUKICAgICBwYXJlbnRQcm9jZXNzQ29ubmVj
dGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpQbHVnaW5Qcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNp
dGVEYXRhRm9ySG9zdE5hbWVzKGNhbGxiYWNrSUQpLCAwKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm9j
ZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoZG91YmxlIGxpZmV0aW1lKQordm9pZCBQbHVnaW5Qcm9j
ZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoU2Vjb25kcyBsaWZldGltZSkKIHsKLSAgICBpZiAobGlm
ZXRpbWUgPD0gMC4wKQorICAgIGlmIChsaWZldGltZSA8PSBTZWNvbmRzKDApKQogICAgICAgICBy
ZXR1cm47CiAgICAgCiAgICAgZGlzYWJsZVRlcm1pbmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDlhOTBlNGMyNTM5M2E3ZWQ0NmM5
ODdiNWVlNDQ0OWE3NGFiOTIzM2IuLjIwYWMwNjdiMDQ5NWU2YWM3NjIyYzAwNjIwMDM4YzAxZjVm
MzAyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5o
CkBAIC0xMDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFs
aXplUGx1Z2luUHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAg
IAotICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXRNaW5p
bXVtTGlmZXRpbWUoU2Vjb25kcyk7CiAgICAgdm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVk
KCk7CiAgICAgLy8gT3VyIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb25zLgogICAgIFZlY3RvcjxSZWZQ
dHI8V2ViUHJvY2Vzc0Nvbm5lY3Rpb24+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcAppbmRleCA0MDNmMzRkZmNkNGI3YWRjNDliYTA0NjJi
OWZkZWZhNmRlZjNmZDQ1Li4xMmJhN2IxMzFhMWQ4OWY5YTlkZWQ4YzA1NWJhYjU4N2E4MzQ4YTVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2Fj
aGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25l
ZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwg
c3RkOjpjaHJvbm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVu
c2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXpl
cyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVu
c2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFj
aXR5LCBTZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYg
cGFnZUNhY2hlQ2FwYWNpdHkpCiB7CiAgICAgdWludDY0X3QgbWVtb3J5U2l6ZSA9IHJhbVNpemUo
KSAvIE1COwogCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNp
emVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2kKICAg
ICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVz
dGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6
Om1heCgyNHUsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAg
ICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gU2Vjb25kcyg2MCk7CiAKICAgICAg
ICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hl
TW9kZWwuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKaW5kZXggY2Y0NzM0
NTRmZTJhYzMzZDNjYTQzYTcyZmE1OTNlNGM0ZTUxZDNkNS4uMWUwNzc2ODhlYTc4ZGM4NDI5ODhm
NGY1ZjAzYWNhYmI5MzEyNGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nh
Y2hlTW9kZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCkBAIC0y
Niw4ICsyNiw4IEBACiAjaWZuZGVmIENhY2hlTW9kZWxfaAogI2RlZmluZSBDYWNoZU1vZGVsX2gK
IAotI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx3dGYv
U2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzcsNyArMzcsNyBAQCBlbnVt
IENhY2hlTW9kZWwgewogICAgIENhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlcgogfTsKIAotdm9p
ZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRv
dGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNh
Y2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKK3ZvaWQgY2Fs
Y3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENh
cGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1h
eERlYWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwg
dW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKIHZvaWQgY2FsY3VsYXRlVVJMQ2FjaGVTaXpl
cyhDYWNoZU1vZGVsLCB1aW50NjRfdCBkaXNrRnJlZVNpemUsIHVuc2lnbmVkJiB1cmxDYWNoZU1l
bW9yeUNhcGFjaXR5LCB1aW50NjRfdCYgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXgg
MTc1Nzg5ZmI5YWU3MTNmMTZlZWVkYmZhYmUwMGQ2ZjMzZTYzY2YyMy4uNDliNzk0NjVkZjZlMWIy
YTEyMWMzZmE1MmQwMDNmYjE5NTFiYzI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJv
Y2Vzcy5jcHAKQEAgLTMzLDggKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFBy
b2Nlc3M6OkNoaWxkUHJvY2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAg
ICwgbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKKyAgICA6IG1fdGVybWluYXRpb25Db3VudGVyKDAp
CiAgICAgLCBtX3Rlcm1pbmF0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQ
cm9jZXNzOjp0ZXJtaW5hdGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lv
bkRpc2FibGVkKCJQcm9jZXNzIFN1cHByZXNzaW9uIERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggYTA2ZTM0OWEzOGMyODFmNWFj
ZThkMzYyMmEwNTQ2MWY5NDA0ZGE1Yy4uOTg1YWQ2YTYxYjJhODJhYjc4NTAyOWZlNDJkZWM0NzUy
ZWZjNDZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVh
bCB+Q2hpbGRQcm9jZXNzKCk7CiAKLSAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChkb3Vi
bGUgc2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lk
IHNldFRlcm1pbmF0aW9uVGltZW91dChTZWNvbmRzIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRp
bWVvdXQgPSBzZWNvbmRzOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3Mo
Y29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVh
bCB2b2lkIGluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXph
dGlvblBhcmFtZXRlcnMmKTsKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogCiAgICAgLy8g
VGhlIHRpbWVvdXQsIGluIHNlY29uZHMsIGJlZm9yZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJt
aW5hdGVkIGlmIHRlcm1pbmF0aW9uCiAgICAgLy8gaGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRp
bWVvdXQgaXMgMCBzZWNvbmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRp
YXRlbHkuCi0gICAgZG91YmxlIG1fdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbV90
ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4g
dGhlIGNvdW50ZXIgcmVhY2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQK
ICAgICAvLyBhZnRlciBhIGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCmluZGV4IGExMmE0NDQ1YmIxNmNhYWY2OTI3M2I2NGE4NjMyMTA4ZTdkNTQ5ZjQu
LmIxYTM0YTRkZjFkMmQ4MjU5OGFjYTZjZjg0NTRlYjRmYTFjZGU2ZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkF0dGFjaG1l
bnQuaCIKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgPHd0
Zi9TZWNvbmRzLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlIDxXZWJDb3JlL01h
Y2hTZW5kUmlnaHQuaD4KQEAgLTUxLDggKzUyLDggQEAgc3RydWN0IFBsdWdpblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgewogICAgIFBsdWdpblByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlOwogICAg
IGJvb2wgc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbjsKIAotICAgIGRv
dWJsZSBtaW5pbXVtTGlmZXRpbWU7Ci0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAg
ICBTZWNvbmRzIG1pbmltdW1MaWZldGltZTsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91
dDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQgYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ1BvcnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGYwZmZiNzcyNmE1M2VlNGY4NDIzZDQ2Yjc5YmIw
ZmRhZjA1ZGU3YzQuLjM4MGUwMWU1ZTc0NjE3MzdlNTc1M2U5NjY1YWMyZTM0NjA1NTI2MWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBA
IC0xMDYsMzYgKzEwNiw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBJ
UEMgewogCi12b2lkIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZShFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAgIGVuY29kZXIgPDwg
dGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2Rl
cjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1vbm90b25pY1RpbWUm
IHRpbWUpCi17Ci0gICAgZG91YmxlIHZhbHVlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFs
dWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB0aW1lID0gTW9ub3RvbmljVGltZTo6
ZnJvbVJhd1NlY29uZHModmFsdWUpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIEFyZ3Vt
ZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTZWNvbmRz
JiBzZWNvbmRzKQotewotICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgpOwotfQotCi1ib29s
IEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZWNvbmRz
JiBzZWNvbmRzKQotewotICAgIGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgc2Vjb25kcyA9IFNlY29uZHMo
dmFsdWUpOwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8QWZmaW5l
VHJhbnNmb3JtPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYgYWZmaW5lVHJhbnNmb3JtKQogewogICAgIFNpbXBsZUFyZ3VtZW50Q29kZXI8QWZmaW5lVHJh
bnNmb3JtPjo6ZW5jb2RlKGVuY29kZXIsIGFmZmluZVRyYW5zZm9ybSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNDgxOWZjYmMwNGFjNzE2
MjU2NzNhODQ0NjdmNzQ1NDJjY2I5Mjk5NS4uMzE1NDA2MmQ5ZGMzNTJhOTFmNGIzM2JiNjU0Mzk5
NTZlNTg4MDliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaApAQCAtMzEsMTEgKzMxLDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0luZGV4ZWREQi5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGF5bWVudEhlYWRlcnMuaD4KIAotbmFtZXNwYWNlIFdURiB7
Ci1jbGFzcyBNb25vdG9uaWNUaW1lOwotY2xhc3MgU2Vjb25kczsKLX0KLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2U7CkBAIC0xNTIsMTYgKzE0Nyw2IEBAIHVzaW5nIElEQktleVBhdGggPSBWYXJpYW50PFN0
cmluZywgVmVjdG9yPFN0cmluZz4+OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdGVtcGxhdGU8PiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKLSAgICBzdGF0aWMgdm9p
ZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYpOwotICAgIHN0YXRp
YyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Ci19OwotCi10ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6U2Vjb25kcz4gewotICAgIHN0YXRpYyB2
b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpTZWNvbmRzJik7Ci0gICAgc3RhdGljIGJv
b2wgZGVjb2RlKERlY29kZXImLCBXVEY6OlNlY29uZHMmKTsKLX07Ci0KIHRlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtPiB7CiAgICAgc3RhdGlj
IHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsK
ICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OkFmZmluZVRyYW5zZm9y
bSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA1
M2ZhNmVhMjk3M2NlN2IxZGIzY2ZmMzkyNzUxZWFiZjRlMThkMTAuLjQ0NjNhMDc4MmRhZDZmZGU3
MDAwNjc3YThmYzU2YjQ0MDQ5ZTI3MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5jcHAKQEAgLTU3LDcgKzU3LDYgQEAgV2ViTWVtb3J5U2FtcGxlcjo6V2ViTWVt
b3J5U2FtcGxlcigpCiAgICAgOiBtX3NhbXBsZVRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxl
cjo6c2FtcGxlVGltZXJGaXJlZCkKICAgICAsIG1fc3RvcFRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5
U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQpCiAgICAgLCBtX2lzUnVubmluZyhmYWxzZSkKLSAgICAs
IG1fcnVubmluZ1RpbWUoMCkKIHsKIH0KIApAQCAtNjcsNyArNjYsNyBAQCB2b2lkIFdlYk1lbW9y
eVNhbXBsZXI6OnN0YXJ0KGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkKICAgICAgICAgcmV0dXJuOwog
ICAgIAogICAgIGluaXRpYWxpemVUZW1wTG9nRmlsZSgpOwotICAgIGluaXRpYWxpemVUaW1lcnMo
aW50ZXJ2YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQog
CiB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZSwgY29uc3QgU3RyaW5nJiBzYW1wbGVMb2dGaWxlUGF0
aCwgY29uc3QgZG91YmxlIGludGVydmFsKSAKQEAgLTgyLDE3ICs4MSwxNyBAQCB2b2lkIFdlYk1l
bW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxl
TG9nRmlsZUhhbmRsZQogICAgIH0KICAgICAgICAgCiAgICAgaW5pdGlhbGl6ZVNhbmRib3hlZExv
Z0ZpbGUoc2FtcGxlTG9nRmlsZUhhbmRsZSwgc2FtcGxlTG9nRmlsZVBhdGgpOwotICAgIGluaXRp
YWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRl
cnZhbCkpOwogICAgCiB9CiAKLXZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVy
cyhkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1l
cnMoU2Vjb25kcyBpbnRlcnZhbCkKIHsKLSAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5n
KDEpOworICAgIG1fc2FtcGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxKSk7CiAgICAg
cHJpbnRmKCJTdGFydGVkIG1lbW9yeSBzYW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJvY2Vz
c05hbWUoKS51dGY4KCkuZGF0YSgpLCBnZXRwaWQoKSk7Ci0gICAgaWYgKGludGVydmFsID4gMCkg
eworICAgIGlmIChpbnRlcnZhbCA+IFNlY29uZHMoMCkpIHsKICAgICAgICAgbV9zdG9wVGltZXIu
c3RhcnRPbmVTaG90KGludGVydmFsKTsKLSAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwg
b2YgJWcgc2Vjb25kcyIsIGludGVydmFsKTsKKyAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2
YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsLnZhbHVlKCkpOwogICAgIH0KICAgICBwcmludGYo
IjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQgYXQ6ICVzXG4iLCBtX3NhbXBsZUxvZ0ZpbGVQYXRo
LnV0ZjgoKS5kYXRhKCkpOwogICAgIG1fcnVubmluZ1RpbWUgPSBpbnRlcnZhbDsKQEAgLTE1OSw3
ICsxNTgsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZpcmVkKCkKIHsKICAg
ICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAgICByZXR1cm47Ci0gICAgcHJpbnRmKCIlZyBzZWNv
bmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9yeSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5pbmdUaW1l
KTsKKyAgICBwcmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5IHNhbXBs
ZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUudmFsdWUoKSk7CiAgICAgc3RvcCgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAppbmRleCAyNzg3YjUxNWRhYmM1MWVi
ZWM1YmMwNjQ2ZjEzYmVmZTUxMjk4NjIyLi5kYTQyODhiNTg0MDlmZmJhYWY4ZDI3M2NiMzg1ODQ1
YjBkMWQ4ODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKQEAg
LTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemVUZW1wTG9nRmlsZSgp
OwogICAgIHZvaWQgaW5pdGlhbGl6ZVNhbmRib3hlZExvZ0ZpbGUoY29uc3QgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlJiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCB3cml0ZUhlYWRlcnMoKTsK
LSAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMoZG91YmxlKTsKKyAgICB2b2lkIGluaXRpYWxpemVU
aW1lcnMoU2Vjb25kcyk7CiAgICAgdm9pZCBzYW1wbGVUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBz
dG9wVGltZXJGaXJlZCgpOwogICAgIHZvaWQgYXBwZW5kQ3VycmVudE1lbW9yeVVzYWdlVG9GaWxl
KFdlYkNvcmU6OlBsYXRmb3JtRmlsZUhhbmRsZSYpOwpAQCAtMTAwLDcgKzEwMCw3IEBAIHByaXZh
dGU6CiAgICAgV2ViQ29yZTo6VGltZXIgbV9zYW1wbGVUaW1lcjsKICAgICBXZWJDb3JlOjpUaW1l
ciBtX3N0b3BUaW1lcjsKICAgICBib29sIG1faXNSdW5uaW5nOwotICAgIGRvdWJsZSBtX3J1bm5p
bmdUaW1lOworICAgIFNlY29uZHMgbV9ydW5uaW5nVGltZTsKICAgICBSZWZQdHI8U2FuZGJveEV4
dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94RXh0ZW5zaW9uOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXgg
ZWM4NmUxZTIxZmZjY2Q2ZDg3MmFhYTFmMmQ0MTllNDY2NmEzMjdkYi4uMGQzN2I5YTNlZDdlMzY0
YzFjNGI2OTkzZjkwNjc5MmE1ZmVhZWVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xMTMsNyArMTEzLDcgQEAg
c3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogCiAgICAgYm9vbCBpY29uRGF0
YWJhc2VFbmFibGVkOwogCi0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNv
bmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogICAgIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlczsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdT
dG9yZS5oCmluZGV4IDZhZjc5MDJkYTNmOWZhOWMyZWFiZGFhYTBlNWQ3ODVmNjUzMmU2ZTcuLjQz
NjhjYzJjYzFiM2Y1YzZkNWE4ZWIzYjM4MGIyZThiZGIzYTRhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAgLTMwLDcg
KzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSU9TdXJmYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdpb24uaD4KLSNpbmNsdWRlIDxj
aHJvbm8+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KIAogT0JKQ19DTEFTUyBDQUxh
eWVyOwogCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2V0QnVmZmVyVm9s
YXRpbGl0eShCdWZmZXJUeXBlIHR5cGUsIGJvb2wgaXNWb2xhdGlsZSk7CiAKLSAgICBzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IGxhc3REaXNwbGF5VGltZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9CisgICAgTW9ub3RvbmljVGltZSBsYXN0RGlzcGxh
eVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5VGltZTsgfQogCiBwcml2YXRlOgog
ICAgIHZvaWQgZHJhd0luQ29udGV4dChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBDR0ltYWdl
UmVmIGJhY2tJbWFnZSk7CkBAIC0xMDMsOCArMTAzLDEwIEBAIHByaXZhdGU6CiAgICAgUGxhdGZv
cm1DQUxheWVyUmVtb3RlKiBtX2xheWVyOwogCiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fc2l6
ZTsKLSAgICBmbG9hdCBtX3NjYWxlOwotICAgIGJvb2wgbV9pc09wYXF1ZTsKKyAgICBmbG9hdCBt
X3NjYWxlIHsgMSB9OworCisgICAgYm9vbCBtX2lzT3BhcXVlIHsgZmFsc2UgfTsKKyAgICBib29s
IG1fYWNjZWxlcmF0ZXNEcmF3aW5nIHsgZmFsc2UgfTsKIAogICAgIFdlYkNvcmU6OlJlZ2lvbiBt
X2RpcnR5UmVnaW9uOwogCkBAIC0xMTIsNyArMTE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVm
UHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwOwogI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IHN1cmZhY2U7Ci0gICAgICAgIGJv
b2wgaXNWb2xhdGlsZSA9IGZhbHNlOworICAgICAgICBib29sIGlzVm9sYXRpbGUgeyBmYWxzZSB9
OwogI2VuZGlmCiAKICAgICAgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0CkBAIC0x
MzgsMTEgKzE0MCw5IEBAIHByaXZhdGU6CiAKICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBt
X2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaDsKIAotICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdp
bmc7Ci0KICAgICBXZWJDb3JlOjpSZXBhaW50UmVjdExpc3QgbV9wYWludGluZ1JlY3RzOwogCi0g
ICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3REaXNwbGF5VGlt
ZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdERpc3BsYXlUaW1lOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZS5tbQppbmRleCBkNTcxOWRkYTEyYmVhYjgyMmRmMzJiNzIxNThlYmE2
YTVlOTk0MjA1Li5jYmNmNzFjNWY3NTRlZWMzZTg2MGZmMTJmYzczZmZhODVjNjdkZDEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUubW0KQEAgLTYyLDggKzYyLDYgQEAgc3RhdGljIFdlYkNvcmU6OklPU3VyZmFjZTo6Rm9ybWF0
IGJ1ZmZlckZvcm1hdChib29sIGlzT3BhcXVlKQogCiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBsYXllcikKICAg
ICA6IG1fbGF5ZXIobGF5ZXIpCi0gICAgLCBtX2lzT3BhcXVlKGZhbHNlKQotICAgICwgbV9sYXN0
RGlzcGxheVRpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludDo6bWluKCkp
CiB7CiAgICAgaWYgKCFtX2xheWVyKQogICAgICAgICByZXR1cm47CkBAIC0yMzEsNyArMjI5LDcg
QEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheSgpCiB7CiAgICAgQVNTRVJU
KCFtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaCk7CiAKLSAgICBtX2xhc3REaXNwbGF5VGltZSA9
IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdERpc3BsYXlUaW1l
ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBib29sIG5lZWRUb0VuY29kZUJhY2tpbmdT
dG9yZSA9IGZhbHNlOwogICAgIGlmIChSZW1vdGVMYXllclRyZWVDb250ZXh0KiBjb250ZXh0ID0g
bV9sYXllci0+Y29udGV4dCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKaW5kZXggZmU0OTcx
ZWU3MzkyNDE0YWJjMTE5NDBhYzc5ZjhmNzkxNGNhNDg2Mi4uY2Q4M2EzOGQ5ODQ1NWRiNWQ1NGVk
M2Y0NjUzOTg2ZWVkOTc0NTMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCkBAIC02NCw3
ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICB0eXBlZGVmIHVuc2lnbmVkIFZvbGF0aWxp
dHlNYXJraW5nRmxhZ3M7CiAgICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlh
dGVseShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3Mgdm9s
YXRpbGl0eU1hcmtpbmdGbGFncyA9IDApOwotICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0
aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCBub3cpOworICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlJiwgTW9ub3RvbmljVGltZSBub3cpOwogCiAgICAgSGFzaFNldDxS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fbGl2ZUJhY2tpbmdTdG9yZTsKICAgICBIYXNoU2V0
PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV91bnBhcmVudGVkQmFja2luZ1N0b3JlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRleCAyNjgzNmU3YmYzODY0N2U0ODAwYTY0YjBjNzVj
ZTZmZmIwY2ExNGJlLi5iZGM4N2E3MDgwNzM2NGU2NjM5OWM5ZDY3YzI1NmUzMWVmZmM4YWZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQpAQCAtMzAsOSArMzAsOSBAQAogI2ltcG9ydCAi
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUNvbnRl
eHQuaCIKIAotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVB
Z2VUaHJlc2hvbGQgPSAxczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRp
bGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAyMDBtczsKLWNvbnN0IHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAyMDBtczsKK2Nv
bnN0IFNlY29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSBTZWNvbmRzKDEp
OworY29uc3QgU2Vjb25kcyB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9s
ZCA9IFNlY29uZHMoMC4yKTsKK2NvbnN0IFNlY29uZHMgdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwg
PSBTZWNvbmRzKDAuMik7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0xMjAsNyArMTIwLDcg
QEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW8KICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJh
Y2tpbmdTdG9yZVZvbGF0aWxlOwogfQogCi1ib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
JiBiYWNraW5nU3RvcmUsIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93
KQorYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBNb25vdG9u
aWNUaW1lIG5vdykKIHsKICAgICBpZiAobm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGlt
ZSgpIDwgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQpIHsKICAgICAgICAgaWYgKG5v
dyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA+PSB2b2xhdGlsZVNlY29uZGFyeUJh
Y2tpbmdTdG9yZUFnZVRocmVzaG9sZCkKQEAgLTE2NCw3ICsxNjQsNyBAQCB2b2lkIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewogICAg
IGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIAotICAg
IGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBu
b3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGJhY2tpbmdT
dG9yZSA6IG1fbGl2ZUJhY2tpbmdTdG9yZSkKICAgICAgICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tp
bmdTdG9yZVZvbGF0aWxlICY9IG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZSgqYmFja2luZ1N0b3Jl
LCBub3cpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0
NWRmZWQzMWM1OTE4MzU4YmU3ZjY3MTZiMWJmZTcwMTg4YjU5Li5kYzU2MTk5ZTY5OTJjNjdhMmUy
MGU3ZmVlN2U5ZTk3MTM3ZTljNmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29j
b2EubW0KQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKCFtX2Nv
bnRleHQpIHsKICAgICAgICAgICAgIG1fY29udGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxs
b2NdIGluaXRdKTsKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygxKSk7CiAgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IGNhZjBkNzIzZjA2NTk2OWUwYzA4YzQ2ZTAy
YzI0YTZlNDdjMTE5ZDguLmViMTAwMzRjMTMxY2Q4YjkxMDk1ZWIxM2U5ZDk0YzUzODM4YmM5MzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC01
OTAsNyArNTkwLDcgQEAgdm9pZCBFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3BsYXkoKQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fZGlzcGxheVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaXNwbGF5VGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIEV3a1ZpZXc6OnNldFZpZXdw
b3J0UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgY29udGVudHNQb3NpdGlvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNw
cAppbmRleCAwNGM3ZTk1NDcyOTk1N2NlNDI4MmViNDBlMWM4NzEwM2MxNDQ1ZjVmLi45NTY1ZTIy
YzkxYzM2OTU1NjBjMjU5MTA3MTUyN2FiMGQzNmJkYmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yMTks
NyArMjE5LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTY2hlZHVsZVVwZGF0ZUFj
dGl2aXR5U3RhdGUoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlYKICAgICBpZiAocHJpdi0+dXBkYXRl
QWN0aXZpdHlTdGF0ZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBy
aXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgcHJpdi0+
dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAog
c3RhdGljIGdib29sZWFuIHRvcGxldmVsV2luZG93Rm9jdXNJbkV2ZW50KEd0a1dpZGdldCogd2lk
Z2V0LCBHZGtFdmVudEZvY3VzKiwgV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZmQ4
YmM1YWM5YTk3YzgzMDU1ZDQ4Yjc1YmE4MDA5MzM5OTY1MTdiMC4uOWVlY2EyMDZkZDJlZTZmYmZh
ZjBjM2VhMTdhM2Q0ZjQ3NDcyODkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q2hpbGRQcm9jZXNzUHJveHkuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBDaGlsZFByb2Nl
c3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKCkKICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdh
dGNoZG9nIGluIHRoZSBVSSBwcm9jZXNzLCBzaW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUg
c3VzcGVuZGVkLgogICAgICAgICAvLyBJZiAzMHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0
c3RhbmRpbmcgYWN0aXZpdHkgdG8gY29tcGxldGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtp
bGxlZC4KICAgICAgICAgQVNTRVJUKG1fY29ubmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlv
bi0+dGVybWluYXRlU29vbigzMCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29v
bihTZWNvbmRzKDMwKSk7CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdGF0ZTo6
VGVybWluYXRlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdh
dGlvblN0YXRlLm1tCmluZGV4IDQ1Mjk5MjJiNGZiZjZiZjUzMWM3YzA1YTdjMjIzYjYzNTE0MzI1
NjAuLmY3MmY0YmM2NzExZWFhNjg1ZmE0YzliYTg0NTJjNTI3ZWIxYTUwMzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpAQCAtODUy
LDcgKzg1Miw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpkaWRDaGFuZ2VJc0xvYWRpbmcoKQog
ICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIERlbGF5IHJlbGVhc2luZyB0aGUgYmFja2dyb3VuZCBh
Y3Rpdml0eSBmb3IgMyBzZWNvbmRzIHRvIGdpdmUgdGhlIGFwcGxpY2F0aW9uIGEgY2hhbmNlIHRv
IHN0YXJ0IGFub3RoZXIgbmF2aWdhdGlvbgogICAgICAgICAvLyBiZWZvcmUgc3VzcGVuZGluZyB0
aGUgV2ViQ29udGVudCBwcm9jZXNzIDxyZGFyOi8vcHJvYmxlbS8yNzkxMDk2ND4uCi0gICAgICAg
IG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNzKTsKKyAgICAgICAgbV9yZWxl
YXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygzKSk7CiAgICAgfQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHAKaW5kZXggNDlmMThlMzc4YTUyOWQwNTY1YjBkN2VlOWU2MTg4MjEy
Y2ZkZDJiOC4uMjg2ZjJhYmFlYjQwNTg0Yzk0MDUxOTFkZjlhMDk3NTQ5ZDQ0NzU2NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlci5jcHAKQEAgLTQwLDEzICs0MCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25k
cyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlM
YXlvdXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUw
bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0
ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IFNlY29uZHMoMyk7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5n
SW50ZXJ2YWwgPSBTZWNvbmRzKDAuMjUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQotc3RhdGljIGNv
bnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJh
dGlvbiA9IDVzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRj
aGRvZ0R1cmF0aW9uID0gU2Vjb25kcyg1KTsKICNlbHNlCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJv
bm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24g
PSBTZWNvbmRzKDMpOwogI2VuZGlmCiAKIHN0YXRpYyBIYXNoTWFwPHVpbnQ2NF90LCBWaWV3R2Vz
dHVyZUNvbnRyb2xsZXIqPiYgdmlld0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkKQEAg
LTI5NywxMCArMjk3LDEwIEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJl
bW92YWxUcmFja2VyOjp3YXRjaGRvZ1RpbWVyRmlyZWQoKQogICAgIGZpcmVSZW1vdmFsQ2FsbGJh
Y2tJbW1lZGlhdGVseSgpOwogfQogCi12b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNo
b3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyBkdXJh
dGlvbikKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2Vy
OjpzdGFydFdhdGNoZG9nKFNlY29uZHMgZHVyYXRpb24pCiB7Ci0gICAgbG9nKFN0cmluZzo6Zm9y
bWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJWxsZCBzZWNvbmRzIiwgZHVyYXRp
b24uY291bnQoKSkpOwotICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24u
Y291bnQoKSk7CisgICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0
aW1lciBmb3IgJS4zZiBzZWNvbmRzIiwgZHVyYXRpb24udmFsdWUoKSkpOworICAgIG1fd2F0Y2hk
b2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXIuaAppbmRleCA3NThkNzM1MGRiZDg0NzU3NDY2Y2NkYmE4NDM2YjZlNDlkNjJi
YzJkLi5lMTRkNzM5NzE5MmFkMGMwN2YxMjI4MDlmYzg3YjE0NDQ3NmQ0ZGMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5oCkBAIC0xNTcsNyArMTU3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBldmVudE9jY3Vy
cmVkKEV2ZW50cyk7CiAgICAgICAgIGJvb2wgY2FuY2VsT3V0c3RhbmRpbmdFdmVudChFdmVudHMp
OwogCi0gICAgICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyk7Cisg
ICAgICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhTZWNvbmRzKTsKIAogICAgIHByaXZhdGU6CiAgICAg
ICAgIHN0YXRpYyBTdHJpbmcgZXZlbnRzRGVzY3JpcHRpb24oRXZlbnRzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5k
ZXggNDlkNGQ1YmQ1YTk5ZDRkOTgxMTE2YTA4YTEzMjdkNTAxY2JhYjk1MS4uYjBjMzFjYjFlZGQw
MjUyYTIyYmI5YTdhOTgxMzYyY2FkNDI0YmFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTI1Myw3ICsyNTMs
NyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vz
cyhOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYQogI2VuZGlmCiAKICAgICBwYXJhbWV0ZXJzLnNo
b3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6
V2ViS2l0U3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJEZWZhdWx0c0tleV07Ci0gICAgcGFy
YW1ldGVycy5sb2FkVGhyb3R0bGVMYXRlbmN5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhb
ZGVmYXVsdHMgaW50ZWdlckZvcktleTpXZWJLaXROZXR3b3JrTG9hZFRocm90dGxlTGF0ZW5jeU1p
bGxpc2Vjb25kc0RlZmF1bHRzS2V5XSk7CisgICAgcGFyYW1ldGVycy5sb2FkVGhyb3R0bGVMYXRl
bmN5ID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhbZGVmYXVsdHMgaW50ZWdlckZvcktleTpX
ZWJLaXROZXR3b3JrTG9hZFRocm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25kc0RlZmF1bHRzS2V5XSk7
CiAKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMTAwCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gY29va2llU3RvcmFnZURhdGEgPSBh
ZG9wdENGKENGSFRUUENvb2tpZVN0b3JhZ2VDcmVhdGVJZGVudGlmeWluZ0RhdGEoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwgW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdl
XSBfY29va2llU3RvcmFnZV0pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmNwcAppbmRleCA2OWU4YzViMzIyMzIyZGIwMzcxYmJjYjFmMzY0MGZlNGM5NmQ4
NTY1Li43ZWM3OTkzMjhhY2Q2YjRiMTQxYWYyNjQ0MWZiMWQ3ODExN2ZmMzFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC04Myw3ICs4Myw3
IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KE9wdGlvbmFsPFdl
YkNvcmU6OkZsb2F0UmVjdD4gdmlld0V4cG9zCiAgICAgbV92aWV3RXhwb3NlZFJlY3QgPSB2aWV3
RXhwb3NlZFJlY3Q7CiAKICAgICBpZiAoIW1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnZpZXdFeHBvc2Vk
UmVjdENoYW5nZWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDQ0MGRmOWEzM2VlNjk4NjdiNjQyNThkMDMy
ZTA1ZTgxOWYxM2E4MTQuLmVlOTg1ODZlN2U4MDVhMTU5YmQ3ZWEwNWFjMDI4MGEwN2ExOTQ0MGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBs
LmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2Nh
cmRCYWNraW5nU3RvcmVTb29uKCkKIAogICAgIC8vIFdlJ2xsIHdhaXQgdGhpcyBtYW55IHNlY29u
ZHMgYWZ0ZXIgdGhlIGxhc3QgcGFpbnQgYmVmb3JlIHRocm93aW5nIGF3YXkgb3VyIGJhY2tpbmcg
c3RvcmUgdG8gc2F2ZSBtZW1vcnkuCiAgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIHNtYXJ0ZXIg
dG8gbWFrZSB0aGlzIGRlbGF5IGJhc2VkIG9uIGhvdyBleHBlbnNpdmUgcGFpbnRpbmcgaXMuIFNl
ZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTczMz4uCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBk
aXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGRp
c2NhcmRCYWNraW5nU3RvcmVEZWxheSA9IFNlY29uZHMoMik7CiAKICAgICBtX2Rpc2NhcmRCYWNr
aW5nU3RvcmVUaW1lci5zdGFydE9uZVNob3QoZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5KTsKIH0K
QEAgLTIxMSwxMyArMjExLDEzIEBAIGludCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01v
bml0b3I6OndlYlZpZXdEcmF3Q2FsbGJhY2soRHJhd2luZ0FyZWFQcm94eUltCiAKIHZvaWQgRHJh
d2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydChzdGQ6OmZ1bmN0aW9uPHZv
aWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFjaykKIHsKLSAgICBtX3N0YXJ0VGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCk7CisgICAgbV9zdGFydFRpbWUgPSBNb25v
dG9uaWNUaW1lOjpub3coKTsKICAgICBtX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAjaWYgUExBVEZP
Uk0oR1RLKQogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3dlYlBhZ2Uudmlld1dpZGdl
dCgpLCAiZHJhdyIsIHJlaW50ZXJwcmV0X2Nhc3Q8R0NhbGxiYWNrPih3ZWJWaWV3RHJhd0NhbGxi
YWNrKSwgdGhpcyk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygxKSk7CiAjZWxzZQotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogI2VuZGlmCiB9CiAK
QEAgLTIyNyw3ICsyMjcsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9u
aXRvcjo6c3RvcCgpCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rp
c2Nvbm5lY3RfYnlfZnVuYyhtX3dlYlBhZ2Uudmlld1dpZGdldCgpLCByZWludGVycHJldF9jYXN0
PGdwb2ludGVyPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7CiAjZW5kaWYKLSAgICBtX3N0
YXJ0VGltZSA9IDA7CisgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CiAgICAgaWYg
KG1fY2FsbGJhY2spIHsKICAgICAgICAgbV9jYWxsYmFjayhDYWxsYmFja0Jhc2U6OkVycm9yOjpO
b25lKTsKICAgICAgICAgbV9jYWxsYmFjayA9IG51bGxwdHI7CkBAIC0yMzksMTAgKzIzOSwxMCBA
QCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdygpCiAg
ICAgLy8gV2Ugd2FpdCB1cCB0byAxIHNlY29uZCBmb3IgZHJhdyBldmVudHMuIElmIHRoZXJlIGFy
ZSBzZXZlcmFsIGRyYXcgZXZlbnRzIHF1ZXVlZCBxdWlja2x5LAogICAgIC8vIHdlIHdhbnQgdG8g
d2FpdCB1bnRpbCBhbGwgb2YgdGhlbSBoYXZlIGJlZW4gcHJvY2Vzc2VkLCBzbyBhZnRlciByZWNl
aXZpbmcgYSBkcmF3LCB3ZSB3YWl0CiAgICAgLy8gdXAgdG8gMTAwbXMgZm9yIHRoZSBuZXh0IG9u
ZSBvciBzdG9wLgotICAgIGlmIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpIC0gbV9z
dGFydFRpbWUgPiAxMDAwKQorICAgIGlmIChNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fc3RhcnRU
aW1lID4gU2Vjb25kcygxKSkKICAgICAgICAgc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMC4xMDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzKDAuMSkpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNwYXRjaEFm
dGVyRW5zdXJpbmdEcmF3aW5nKHN0ZDo6ZnVuY3Rpb248dm9pZChDYWxsYmFja0Jhc2U6OkVycm9y
KT4gY2FsbGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmgKaW5kZXggODljNzEzZmM4N2E3MzU0OTMwMzhhZDEwZDkwZGMxY2Y2
MDYxZDQ1Ny4uNWFhNjZjNmQwNDhiZDBmN2QyNmY4YzdjNjRlZDBkMWEyODJmN2Y2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTc3
LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBkaWREcmF3KCk7CiAKICAgICAgICAg
V2ViUGFnZVByb3h5JiBtX3dlYlBhZ2U7Ci0gICAgICAgIGRvdWJsZSBtX3N0YXJ0VGltZSB7IDAg
fTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICAgICAgc3RkOjpmdW5j
dGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4gbV9jYWxsYmFjazsKICAgICAgICAgUnVu
TG9vcDo6VGltZXI8RHJhd2luZ01vbml0b3I+IG1fdGltZXI7CiAgICAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApp
bmRleCA2NzdjZDY3MzkxYWY1NjlmNDJhZmZiZGY0NDBhYWUyMTU1MTVmNDNlLi5jZWE5ODJmNmUy
MmM2MDQ5OGVhYjgyOTY5NDNmNTA1MzJiOGI0MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICsz
OSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gMSAvIDEy
MC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9
IFNlY29uZHMoMSAvIDEyMC4wKTsKIAogVUlHYW1lcGFkUHJvdmlkZXImIFVJR2FtZXBhZFByb3Zp
ZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXggNTRkZmIzYjA1OGQ0ZmU5MDM3
NDYxNTc5MmVmYTU2YjA4ZmRkMGI2OC4uNDViYmQwMzhkNzAxNTJiNTU0NTI5YTQ5NjJiMjM0MjQ2
ZTVhNzRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00NiwxMSArNDYsMTEgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IG1pbmltdW1MaWZldGltZSA9IDIgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0
aW5nTWluaW11bUxpZmV0aW1lID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtTGlm
ZXRpbWUgPSBTZWNvbmRzKDIgKiA2MCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRp
bmdNaW5pbXVtTGlmZXRpbWUgPSBTZWNvbmRzKDMwKTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBz
aHV0ZG93blRpbWVvdXQgPSAxICogNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGlu
Z1NodXRkb3duVGltZW91dCA9IDE1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2h1dGRvd25UaW1l
b3V0ID0gU2Vjb25kcygxICogNjApOworc3RhdGljIGNvbnN0IFNlY29uZHMgc25hcHNob3R0aW5n
U2h1dGRvd25UaW1lb3V0ID0gU2Vjb25kcygxNSk7CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0
ZUNhbGxiYWNrSUQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAppbmRleCAzZTFjMmVmNWFmNjY3N2E5Mjk5
ZGU4NTQ5NDVmOTE0NTgwMzM0OWUzLi5kNTVlN2Q1YjViMDlmY2E0ZDMwMjQ0YmZmNzBkZjk0YmFj
MmZhZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsv
UGx1Z2luSW5mb0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcApAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgUGx1Z2lu
SW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgY29u
c3QgUGx1Z2luTW9kCiAgICAgICAgIGlmIChtX3NhdmVUb0ZpbGVJZGxlLmlzQWN0aXZlKCkpCiAg
ICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9zYXZlVG9GaWxlSWRsZS5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nl
c3NUaHJvdHRsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRs
ZXIuY3BwCmluZGV4IDIyNzViYjNiMjI2YjdkYmQ0OGQzM2NmMGYzNmQyMzQ5ZDg1MGJlYzYuLjc0
NGNjOWRjNzEwZmI4NDQxY2YwYzIyZGExNjMxMDJjMzNmOGM3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAgICAgCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1
c3BlbnNpb25UaW1lb3V0ID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVu
c2lvblRpbWVvdXQgPSBTZWNvbmRzKDMwKTsKICAgICAKIFByb2Nlc3NUaHJvdHRsZXI6OlByb2Nl
c3NUaHJvdHRsZXIoUHJvY2Vzc1Rocm90dGxlckNsaWVudCYgcHJvY2VzcykKICAgICA6IG1fcHJv
Y2Vzcyhwcm9jZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3Bv
bnNpdmVuZXNzVGltZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVu
ZXNzVGltZXIuY3BwCmluZGV4IGZlYjQ2OWYwODQyYjVhZTY5YjM2ZjBmY2ZkNjg2MWM0MDY3ZWVm
MmIuLmE0MGE5OTg2YzM0ZWQzYWMyZWVjZTc4MzRjNmE1MDRmNjNmOGZjMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKQEAgLTI4LDcg
KzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcmVz
cG9uc2l2ZW5lc3NUaW1lb3V0ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJlc3BvbnNpdmVu
ZXNzVGltZW91dCA9IFNlY29uZHMoMyk7CiAKIFJlc3BvbnNpdmVuZXNzVGltZXI6OlJlc3BvbnNp
dmVuZXNzVGltZXIoUmVzcG9uc2l2ZW5lc3NUaW1lcjo6Q2xpZW50JiBjbGllbnQpCiAgICAgOiBt
X2NsaWVudChjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlz
aXRlZExpbmtTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtT
dG9yZS5jcHAKaW5kZXggYTNmYjc3MGY1Y2RiY2RjYjVmYTc3YWI0ZDJmMGI1NDc0NDg5MGY2Zi4u
ZTM0Mjg3MDZiMWNkMTNmZTUyMDg5NWU1ZDQ4YmY5ZGY3YjJmOGFmZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcApAQCAtOTgsNyArOTgsNyBAQCB2
b2lkIFZpc2l0ZWRMaW5rU3RvcmU6OmFkZFZpc2l0ZWRMaW5rSGFzaChMaW5rSGFzaCBsaW5rSGFz
aCkKICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3MuYWRkKGxpbmtIYXNoKTsKIAogICAgIGlmICgh
bV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5n
VmlzaXRlZExpbmtzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdWaXNp
dGVkTGlua3NUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQgVmlzaXRl
ZExpbmtTdG9yZTo6cmVtb3ZlQWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCmluZGV4IGY3Y2U2OWY0Y2U5NzY4MmM0YzUwNmYyM2ZiZjI0ODZiMGMwODgy
NzcuLmYxNjQ4ZWFlOGFlODZmNDAyMDA2YjRkZjQ0NTY2YWQ3ODgxMmQ0ODEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTczLDcgKzE3Myw3IEBA
IFdlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJh
dGlvbiYgY29uZmlndXJhdGlvbikKICAgICAsIG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9y
aXR5KG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkpCiAg
ICAgLCBtX3VzZXJPYnNlcnZhYmxlUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkg
eyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwgbV9wcm9jZXNzU3Vw
cHJlc3Npb25EaXNhYmxlZEZvclBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsg
dXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKLSAgICAsIG1faGlkZGVuUGFnZVRo
cm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1f
aGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7IH0pCisgICAgLCBtX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJF
dmVudCkgeyBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
MCkpOyB9KQogICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyKFJ1bkxvb3A6Om1haW4o
KSwgdGhpcywgJldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9J
bmNyZWFzZUxpbWl0KQogewogICAgIGZvciAoYXV0byYgc2NoZW1lIDogbV9jb25maWd1cmF0aW9u
LT5hbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMoKSkKQEAgLTU5OCw3ICs1OTgsNyBAQCBXZWJQ
cm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkKICAgICAv
LyBpY29uRGF0YWJhc2VQYXRoIGlzIG5vbi1lbXB0eSBieSBkZWZhdWx0LCBidXQgbV9pY29uRGF0
YWJhc2UgaXNuJ3QgZW5hYmxlZCBpbiBVSSBwcm9jZXNzIHVubGVzcyBzZXREYXRhYmFzZVBhdGgg
aXMgY2FsbGVkIGV4cGxpY2l0bHkuCiAgICAgcGFyYW1ldGVycy5pY29uRGF0YWJhc2VFbmFibGVk
ID0gIWljb25EYXRhYmFzZVBhdGgoKS5pc0VtcHR5KCk7CiAKLSAgICBwYXJhbWV0ZXJzLnRlcm1p
bmF0aW9uVGltZW91dCA9IDA7CisgICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQgPSBT
ZWNvbmRzKDApOwogCiAgICAgcGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0YXRlID0gVGV4dENoZWNr
ZXI6OnN0YXRlKCk7CiAKQEAgLTE0MTksMTAgKzE0MTksMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9v
bDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCgpCiAgICAgLy8g
V2UncmUgZXN0aW1hdGluZyBhbiB1cHBlciBib3VuZCBmb3IgYSBzZXQgb2YgYmFja2dyb3VuZCB0
aW1lciBmaXJlcyBmb3IgYSBwYWdlIHRvIGJlIDIwMG1zCiAgICAgLy8gKGluY2x1ZGluZyBhbGwg
dGltZXIgZmlyZXMsIGFsbCBwYWdpbmctaW4sIGFuZCBhbnkgcmVzdWx0aW5nIEdDKS4gVG8gZW5z
dXJlIHRoaXMgZG9lcyBub3QKICAgICAvLyByZXN1bHQgaW4gbW9yZSB0aGFuIDElIENQVSBsb2Fk
IGFsbG93IGZvciBvbmUgdGltZXIgZmlyZSBwZXIgMTAweCB0aGlzIGR1cmF0aW9uLgotICAgIHN0
YXRpYyBpbnQgbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlSW5NUyA9IDIwMCAqIDEwMDsKKyAg
ICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2UgPSBTZWNv
bmRzOjpmcm9tTWlsbGlzZWNvbmRzKDIwMCkgKiAxMDA7CiAKLSAgICBpbnQgbGltaXRJbk1pbGxp
c2Vjb25kcyA9IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgKiBtX2hpZGRlblBhZ2VU
aHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIudmFsdWUoKTsKLSAgICBzZW5kVG9BbGxQcm9j
ZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJ
bmNyZWFzZUxpbWl0KGxpbWl0SW5NaWxsaXNlY29uZHMpKTsKKyAgICBTZWNvbmRzIGxpbWl0ID0g
bWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9J
bmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7CisgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChs
aW1pdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAKaW5kZXggODU3NDVh
YzMwYWM3YjgzZTE0ODI0YmZmZWViYTY5MDkxM2U5YjQ0YS4uMDQ0NDlhMmQ0MjY2NzQ2YmI3MmFj
N2JiYzAxNTM1NWNiYjljZDZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lk
IFRleHRDaGVja2VyQ2xpZW50RWZsOjplbnN1cmVTcGVsbENoZWNraW5nTGFuZ3VhZ2UoKQogdm9p
ZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6dXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25z
dCBWZWN0b3I8U3RyaW5nPiYgZGVmYXVsdExhbmd1YWdlcykKIHsKICAgICBtX3NwZWxsQ2hlY2tp
bmdMYW5ndWFnZXMgPSBkZWZhdWx0TGFuZ3VhZ2VzOwotICAgIG1fbGFuZ3VhZ2VzVXBkYXRlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbGFuZ3VhZ2VzVXBkYXRlVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpsYW5ndWFn
ZXNVcGRhdGVUaW1lckZpcmVkKCkKQEAgLTEyOCw3ICsxMjgsNyBAQCBWZWN0b3I8U3RyaW5nPiBU
ZXh0Q2hlY2tlckNsaWVudEVmbDo6bG9hZGVkU3BlbGxDaGVja2luZ0xhbmd1YWdlcygpIGNvbnN0
CiAKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OmNhbGxDb250aW51b3VzU3BlbGxDaGVja2lu
Z0NoYW5nZUNhbGxiYWNrQXN5bmMoKQogewotICAgIG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFu
Z2VUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5n
ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogYm9vbCBUZXh0Q2hlY2tlckNs
aWVudEVmbDo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRDYWxsYmFjayhjb25zdCB2
b2lkKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJv
bGxlci5jcHAKaW5kZXggN2UxNTc3Y2JhOGIxNTcwNTI2NGU1YmE1NDc1ZmZjNTk2MmRhYjg4OS4u
MjE1MTI2MDM5Yzg3M2EyMTVlMDBjYjIxMzhkYmJhNTY5M2IyZGU4NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTEyNyw3
ICsxMjcsNyBAQCB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4oRHJh
Z0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZAogICAgIEd0a1dpZGdldCogd2lkZ2V0
ID0gZ3RrX2V2ZW50X2NvbnRyb2xsZXJfZ2V0X3dpZGdldChHVEtfRVZFTlRfQ09OVFJPTExFUihn
ZXN0dXJlKSk7CiAgICAgdW5zaWduZWQgZGVsYXk7CiAgICAgZ19vYmplY3RfZ2V0KGd0a193aWRn
ZXRfZ2V0X3NldHRpbmdzKHdpZGdldCksICJndGstbG9uZy1wcmVzcy10aW1lIiwgJmRlbGF5LCBu
dWxscHRyKTsKLSAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hv
dChkZWxheSAvIDEwMDAuMCk7CisgICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5z
dGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lk
IEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6dXBkYXRlKERyYWdHZXN0dXJlKiBkcmFn
R2VzdHVyZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBHdGtHZXN0dXJlKiBnZXN0dXJlKQpAQCAtMjA2
LDcgKzIwNiw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpzY2FsZUNo
YW5nZWQoWm9vbUdlc3R1cmUqIHpvb21HZXN0dXJlLCBkb3ViCiAgICAgaWYgKHpvb21HZXN0dXJl
LT5tX2lkbGUuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgem9vbUdlc3R1cmUt
Pm1faWRsZS5zdGFydE9uZVNob3QoMCk7CisgICAgem9vbUdlc3R1cmUtPm1faWRsZS5zdGFydE9u
ZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIEdlc3R1cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6
Wm9vbUdlc3R1cmUoV2ViUGFnZVByb3h5JiBwYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcAppbmRleCBkYzE5OGQ4NThm
MTNhM2MxMjM2ZTUxMWQzOGRiNjg1MjYxMzc4NGE0Li4xZjk1NjVlNGI1MWRmMTMzMWQ1NDFhZTE3
YWE3ZjAyMDczMjMzYjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3Rr
L1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Z3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcApAQCAtMjYxLDcgKzI2MSw3IEBAIHZvaWQgV2Vi
UG9wdXBNZW51UHJveHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKEd0a1dpZGdldCosIFdlYlBv
cHVwTWVudVByb3h5R3RrCiAgICAgLy8gV2hlbiBhbiBpdGVtIGlzIGFjdGl2YXRlZCwgdGhlIG1l
bnUgaXMgZmlyc3QgaGlkZGVuIGFuZCB0aGVuIGFjdGl2YXRlIHNpZ25hbCBpcyBlbWl0dGVkLCBz
byBhdCB0aGlzIHBvaW50IHdlIGRvbid0IGtub3cKICAgICAvLyBpZiB0aGUgbWVudSBoYXMgYmVl
biBoaWRkZW4gYmVjYXVzZSBhbiBpdGVtIGhhcyBiZWVuIHNlbGVjdGVkIG9yIGJlY2F1c2UgdGhl
IG1lbnUgaGFzIGJlZW4gZGlzbWlzc2VkLiBXYWl0IHVudGlsIHRoZSBuZXh0CiAgICAgLy8gbWFp
biBsb29wIGl0ZXJhdGlvbiB0byBkaXNtaXNzIHRoZSBtZW51LCBpZiBhbiBpdGVtIGlzIGFjdGl2
YXRlZCB0aGUgdGltZXIgd2lsbCBiZSBjYW5jZWxsZWQuCi0gICAgcG9wdXBNZW51LT5tX2Rpc21p
c3NNZW51VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHBvcHVwTWVudS0+bV9kaXNtaXNzTWVu
dVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBXZWJQb3B1cE1lbnVQ
cm94eUd0azo6c2VsZWN0SXRlbUNhbGxiYWNrKEd0a1dpZGdldCogaXRlbSwgV2ViUG9wdXBNZW51
UHJveHlHdGsqIHBvcHVwTWVudSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDgxOGJkMzkwZDQ4M2QwODIyYmFlNzkz
NGUxMDZmZGJiMGNkZmY4NTQuLjcyNWE5ZmQ4OTlkNWZkOTNlYjM3NjRiMGFlZTdkN2JiNTcxOTUw
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9y
UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0
b3JQcm94eU1hYy5tbQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgTlNVSW50ZWdlciB3
aW5kb3dTdHlsZU1hc2sgPSBOU1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8IE5TV2luZG93U3R5bAog
CiAvLyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9zaW5nIGl0
IGFuZCBpdHMgcHJvY2Vzcy4KIC8vIFJldXNpbmcgdGhlIFdlYlZpZXcgaW1wcm92ZXMgc3RhcnQg
dXAgdGltZSBmb3IgcGVvcGxlIHRoYXQganVtcCBpbiBhbmQgb3V0IG9mIHRoZSBJbnNwZWN0b3Iu
Ci1zdGF0aWMgY29uc3QgdW5zaWduZWQgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgd2ViVmlld0Nsb3NlVGltZW91dCA9IFNlY29uZHMoNjApOwogCiAvLyBX
S1dlYkluc3BlY3RvclByb3h5T2JqQ0FkYXB0ZXIgaXMgYSBoZWxwZXIgT2JqQyBvYmplY3QgdXNl
ZCBhcyBhIGRlbGVnYXRlIG9yIG5vdGlmaWNhdGlvbiBvYnNlcnZlcgogLy8gZm9yIHRoZSBzb2xl
IHB1cnBvc2Ugb2YgZ2V0dGluZyBiYWNrIGludG8gdGhlIEMrKyBjb2RlIGZyb20gYW4gT2JqQyBj
YWxsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
TG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCBlODkxY2QwMzJiMmY0MzY2NGI2N2UwNmRiZWNjYzhl
ZTAzNThkZDhmLi5kOWI4MjhhMWM4NzlkYmExYjhmZmZmOTMxZDFmMGU2NWQzYjgxZWIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRl
Z3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJT
dHJhdGVneS5jcHAKQEAgLTkxLDE0ICs5MSwxNCBAQCBSZWZQdHI8TmV0c2NhcGVQbHVnSW5TdHJl
YW1Mb2FkZXI+IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZVBsdWdpblN0cmVhbUxvYWQoRgog
ICAgIHJldHVybiBsb2FkZXI7CiB9CiAKLXN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK3N0YXRpYyBT
ZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsK
ICNpZiAhRU5BQkxFKE5FVFdPUktfQ0FDSEUpCi0gICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4g
U2Vjb25kcygwKTsKICNlbmRpZgogCiAgICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAgcmV0dXJu
IDBtczsKKyAgICAgICAgcmV0dXJuIFNlY29uZHMoMCk7CiAKICAgICBzd2l0Y2ggKHJlc291cmNl
LT50eXBlKCkpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgpAQCAt
MTA3LDkgKzEwNyw5IEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1C
dWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpTVkdGb250UmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpGb250UmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
OjptYXgoKTsKKyAgICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIDUwMG1zOworICAg
ICAgICByZXR1cm4gU2Vjb25kcygwLjUpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1lZGlh
UmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWFpblJlc291cmNlOgogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlJhd1Jlc291cmNlOgpAQCAtMTI0LDExICsxMjQsMTEgQEAgc3Rh
dGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVk
UmVzb3VyY2UqIHJlc291cmNlKQogI2lmIEVOQUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlhTTFN0eWxlU2hlZXQ6CiAjZW5kaWYKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAg
ICAgcmV0dXJuIFNlY29uZHMoMCk7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4gU2Vjb25kcygwKTsKIH0KIAogdm9pZCBXZWJM
b2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRl
ciwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhU
VFBTVG9IVFRQUmVkaXJlY3QpCkBAIC0yMzEsNyArMjMxLDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJh
dGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVk
UmVzb3UKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExv
YWQoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyKQogewogICAgIG1faW50
ZXJuYWxseUZhaWxlZFJlc291cmNlTG9hZGVycy5hZGQoJnJlc291cmNlTG9hZGVyKTsKLSAgICBt
X2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faW50ZXJu
YWxseUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKIHZvaWQg
V2ViTG9hZGVyU3RyYXRlZ3k6OmludGVybmFsbHlGYWlsZWRMb2FkVGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50
aW1lT2JqZWN0TWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCmluZGV4IDQ5OTIwZjJjYWE4NGY3NjliNjJkMjQ2
MmE5Yzk4MDdmNTIwY2YzZWQuLmE1ZTY2YWNhNzNlMTljYTVmOTQzZTEyNWFhNGI2NGNmODg5YTA5
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCkBAIC0yOTMsNyArMjkzLDcg
QEAgdm9pZCBOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUoTlBPYmpl
Y3QqIG5wT2JqZWN0KQogICAgIGlmICh0cnlTYWZlUmVsZWFzZU5QT2JqZWN0KG5wT2JqZWN0KSkK
ICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX25wT2JqZWN0c1RvRmluYWxpemUuaXNFbXB0eSgp
KQotICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiAgICAgQVNTRVJU
KG1fZmluYWxpemF0aW9uVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgbV9ucE9iamVjdHNUb0ZpbmFs
aXplLmFwcGVuZChucE9iamVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAppbmRleCA1
YzlhOTE4MjQ1NjZhNDYzMDEwYzBlNzM5NjgwMzQ1N2UzMzM0NzdkLi41NDE3MWMyMjU0NzhmNzY2
ZGMyYzZhYWI1NzA5MDRjNTFjMGNiMGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAg
LTMyNiw3ICszMjYsNyBAQCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6On5UaW1lcigpCiAKIHZvaWQg
TmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCgpCiB7Ci0gICAgZG91YmxlIHRpbWVJbnRlcnZh
bCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7CisgICAgU2Vjb25kcyB0aW1lSW50ZXJ2YWwgPSBTZWNv
bmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1faW50ZXJ2YWwpOwogCiAgICAgaWYgKG1fcmVwZWF0KQog
ICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHRpbWVJbnRlcnZhbCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVn
aW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBl
L05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcAppbmRleCA3ZDU0ZDg4YzdlODk4YzVjZTBiYWRmMWQ3
NjliMmU1ZDM1ZDlhMjU0Li5hNzVhNjYyMzE5NDUwMTBmZDZiZTBkMjA1OWNjMjU0YmMzNmEyOTI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKQEAgLTIyMiw3ICsyMjIs
NyBAQCB2b2lkIE5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKCkKIAog
ICAgICAgICBpZiAobnVtQnl0ZXNQbHVnaW5DYW5IYW5kbGUgPD0gMCkgewogICAgICAgICAgICAg
Ly8gVGhlIHBsdWctaW4gY2FuJ3QgaGFuZGxlIG1vcmUgZGF0YSwgd2UnbGwgc2VuZCB0aGUgcmVz
dCBsYXRlcgotICAgICAgICAgICAgbV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDAp
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNj
YXBlUGx1Z2luTWFjLm1tCmluZGV4IGI5MjZkYjA5MDJmNWI4Zjc1MDQ3ZmVhZGMyYzU0M2M2YWNj
MmU1ZTAuLjVhOTY0MTE4YjNmNDk3ZDcyNTYzZTQzNmVmYTU0YWQwYzFiY2RhNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQpAQCAtNDUsNyArNDUsNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWZuZGVmIE5QX05PX0NB
UkJPTgotc3RhdGljIGNvbnN0IGRvdWJsZSBudWxsRXZlbnRJbnRlcnZhbEFjdGl2ZSA9IDAuMDI7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBudWxsRXZlbnRJbnRlcnZhbEFjdGl2ZSA9IFNlY29uZHMo
MC4wMik7CiAKIHN0YXRpYyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21MYXN0TW91c2VFdmVudDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3Bw
CmluZGV4IGEwZDhhYjg2NmZjMGJhZDEwMjBiZDE2NWJmZDU0ZjU1ZTIxY2Y2OTQuLjIxZTZmMGZh
NzM0OWZhYmMzN2RkZjAyNjk5NDE5ZDQzNDRlNDUwMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gVGhpcyBzaW11
bGF0ZWQgbW91c2UgY2xpY2sgZGVsYXkgaW4gSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgc2hv
dWxkIGdlbmVyYWxseSBiZSB0aGUgc2FtZSBvciBzaG9ydGVyIHRoYW4gdGhpcyBkZWxheS4KLXN0
YXRpYyBjb25zdCBhdXRvIHBsdWdpblNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxMTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwbHVnaW5TbmFwc2hv
dFRpbWVyRGVsYXkgPSBTZWNvbmRzKDEuMSk7CiAKIGNsYXNzIFBsdWdpblZpZXc6OlVSTFJlcXVl
c3QgOiBwdWJsaWMgUmVmQ291bnRlZDxVUkxSZXF1ZXN0PiB7CiBwdWJsaWM6CkBAIC0xMTY0LDcg
KzExNjQsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQo
KQogCiAgICAgLy8gSWYgdGhlcmUgYXJlIG1vcmUgcmVxdWVzdHMgdG8gcGVyZm9ybSwgcmVzY2hl
ZHVsZSB0aGUgdGltZXIuCiAgICAgaWYgKCFtX3BlbmRpbmdVUkxSZXF1ZXN0cy5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
ICAgICAKICAgICBwZXJmb3JtVVJMUmVxdWVzdCh1cmxSZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTE0
MjMsNyArMTQyMyw3IEBAIHZvaWQgUGx1Z2luVmlldzo6bG9hZFVSTCh1aW50NjRfdCByZXF1ZXN0
SUQsIGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmCiAgICAgICAgIGZyYW1lTG9h
ZFJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKIAog
ICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzLmFwcGVuZChVUkxSZXF1ZXN0OjpjcmVhdGUocmVxdWVz
dElELCBmcmFtZUxvYWRSZXF1ZXN0LCBhbGxvd1BvcHVwcykpOwotICAgIG1fcGVuZGluZ1VSTFJl
cXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGlt
ZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIFBsdWdpblZpZXc6OmNhbmNl
bFN0cmVhbUxvYWQodWludDY0X3Qgc3RyZWFtSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5k
ZXggYjg3OGZiYzk4NDJlM2ViYWQ2N2Y2ZmY5OGQ3OTkwYzljYTYzMDVlNS4uNjdmZmQyODRhMmQx
ODc2MWQ5NWU2ODJiODQwOWM1NDg4YTExZWVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcApA
QCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgQWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdNb2RlU29vbigpCiAgICAgaWYgKGV4aXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nTW9kZVBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9leGl0Q29tcG9z
aXRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcygwKSk7CiB9CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1NfTVVMVElQUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmM2RhZWZjNzg3NmQ5ODNiZTE1YzliYmMyZGFh
YzE4MjVlOGFiYzI3Li4zYjRiMWQ4NjU4NmQyNDFmYjljNmIyZTU5ZmRjYTA1YTM4NmVkNGMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5h
dG9yLmNwcApAQCAtMTU1LDExICsxNTUsMTEgQEAgdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9y
OjpzeW5jRGlzcGxheVN0YXRlKCkKIH0KIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkKLWRvdWJsZSBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2Vydmlj
ZVRpbWUoKSBjb25zdAorU2Vjb25kcyBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpuZXh0QW5pbWF0
aW9uU2VydmljZVRpbWUoKSBjb25zdAogewogICAgIC8vIEFjY29yZGluZyB0byB0aGUgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lIHNwZWMsIHJBRiBjYWxsYmFja3Mgc2hvdWxkIG5vdCBiZSBmYXN0ZXIg
dGhhbiA2MEZQUy4KLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIE1pbmltYWxUaW1lb3V0Rm9yQW5p
bWF0aW9ucyA9IDEuIC8gNjAuOwotICAgIHJldHVybiBzdGQ6Om1heDxkb3VibGU+KDAuLCBNaW5p
bWFsVGltZW91dEZvckFuaW1hdGlvbnMgLSB0aW1lc3RhbXAoKSArIG1fbGFzdEFuaW1hdGlvblNl
cnZpY2VUaW1lKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBNaW5pbWFsVGltZW91dEZvckFu
aW1hdGlvbnMgPSBTZWNvbmRzKDEuIC8gNjApOworICAgIHJldHVybiBzdGQ6Om1heDxTZWNvbmRz
PihTZWNvbmRzKDApLCBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgLSBTZWNvbmRzKHRpbWVz
dGFtcCgpICsgbV9sYXN0QW5pbWF0aW9uU2VydmljZVRpbWUpKTsKIH0KICNlbmRpZgogCkBAIC0z
OTgsNyArMzk4LDcgQEAgYm9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpwYWludFRvU3VyZmFj
ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb29yZGluYXRlZFN1cmYKICAgICByZXR1cm4gbV91cGRh
dGVBdGxhc2VzLmxhc3QoKS0+cGFpbnRPbkF2YWlsYWJsZUJ1ZmZlcihzaXplLCBhdGxhc0lELCBv
ZmZzZXQsIGNsaWVudCk7CiB9CiAKLWNvbnN0IGRvdWJsZSBSZWxlYXNlSW5hY3RpdmVBdGxhc2Vz
VGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgUmVsZWFzZUluYWN0aXZlQXRsYXNl
c1RpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDAuNSk7CiAKIHZvaWQgQ29tcG9zaXRpbmdDb29yZGlu
YXRvcjo6c2NoZWR1bGVSZWxlYXNlSW5hY3RpdmVBdGxhc2VzKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBv
c2l0aW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaAppbmRleCBmOThhMzZi
YzI3YTdmMmJjZTE3N2QxMjdjZjk3ZjY5ZGJlMWM3NTFhLi5lYmY2NWJiN2Y5Y2RiN2VjZTI3YmNm
MDEwMzM3NWQ0Y2ZkOGUyMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29tcG9zaXRpbmdDb29yZGluYXRvci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHN5bmNEaXNwbGF5U3RhdGUoKTsKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkKLSAgICBkb3VibGUgbmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CisgICAg
U2Vjb25kcyBuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdDsKICNlbmRpZgogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5jcHAKaW5kZXggOWY2YTgzMjFlM2YyNTFhYTVlMzZlNTM3MThkOGNhYTk3Nzgw
OTU2YS4uMDJjZDcxNGNiNjViYzUzODAyYzBlOWFmZWQxYTcwZTQ4NzI4ZGRkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3Qu
Y3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hl
ZHVsZUxheWVyRmx1c2goKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fbGF5ZXJGbHVz
aFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkp
OwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y2FuY2VsUGVuZGluZ0xheWVy
Rmx1c2goKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWFJbXBsLmNwcAppbmRleCA1NGI0ZWFkOTgzZjc1NmJkMTQ4ZTFhZjRjYmVkNjQ3Mzk4
MDc5NDJkLi4yZDRjNGQwODcxZThlZjNlNzJlZTkyYTQ2ZDI3ZjI3ZmU1MjFiMjY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBs
LmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzY2hlZHVsZURp
c3BsYXkoKQogICAgIGlmIChtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kaXNwbGF5
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhSW1w
bDo6ZGlzcGxheVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGQ5NTAxODNmNTFjMjU3MjkxM2ZjYWI3MmQ2NDAxNTlmMTc5
MjEyMzYuLmM4ZGNiNGVhMjQ2ZjNkMDU2NDY1N2QwOTMyMGEzNjEzMzJmMjI2YTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI1Myw5ICsy
NTMsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
LXN0YXRpYyBjb25zdCBkb3VibGUgcGFnZVNjcm9sbEh5c3RlcmVzaXNTZWNvbmRzID0gMC4zOwot
c3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW5pdGlhbExheWVyVm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwgeyAyMCB9Owotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMiB9Oworc3RhdGljIGNv
bnN0IFNlY29uZHMgcGFnZVNjcm9sbEh5c3RlcmVzaXMgPSBTZWNvbmRzKDAuMyk7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IFNlY29u
ZHM6OmZyb21NaWxsaXNlY29uZHMoMjApOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUxh
eWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDIpOwogCiAjZGVmaW5lIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0Fs
bG93ZWQoKSwgTGF5ZXJzLCBfX1ZBX0FSR1NfXykKICNkZWZpbmUgUkVMRUFTRV9MT0dfRVJST1Jf
SUZfQUxMT1dFRCguLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxs
b3dlZCgpLCBMYXllcnMsIF9fVkFfQVJHU19fKQpAQCAtMzE0LDcgKzMxNCw3IEBAIFdlYlBhZ2U6
OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzKQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLCBtX3VzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigqdGhpcykKICNlbmRpZgotICAgICwgbV9wYWdlU2Ny
b2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRl
ID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgcGFnZVN0b3BwZWRTY3JvbGxpbmcoKTsgfSwg
cGFnZVNjcm9sbEh5c3RlcmVzaXNTZWNvbmRzKQorICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJl
c2lzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVz
aXNTdGF0ZTo6U3RvcHBlZCkgcGFnZVN0b3BwZWRTY3JvbGxpbmcoKTsgfSwgcGFnZVNjcm9sbEh5
c3RlcmVzaXMpCiAgICAgLCBtX2NhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChwYXJhbWV0
ZXJzLmNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkKICAgICAsIG1fY2FuUnVuTW9kYWwo
cGFyYW1ldGVycy5jYW5SdW5Nb2RhbCkKICNpZiBQTEFURk9STShJT1MpCkBAIC0yMDUxLDcgKzIw
NTEsNyBAQCB2b2lkIFdlYlBhZ2U6OmNhbGxWb2xhdGlsaXR5Q29tcGxldGlvbkhhbmRsZXJzKCkK
IAogdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKCkKIHsKLSAgICBhdXRv
IG5ld0ludGVydmFsID0gMiAqIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIucmVwZWF0SW50ZXJ2YWxN
UygpOworICAgIFNlY29uZHMgbmV3SW50ZXJ2YWwgPSBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJl
cGVhdEludGVydmFsKCkgKiAyOwogICAgIGJvb2wgZGlkU3VjY2VlZCA9IG1hcmtMYXllcnNWb2xh
dGlsZUltbWVkaWF0ZWx5SWZQb3NzaWJsZSgpOwogICAgIGlmIChkaWRTdWNjZWVkIHx8IG5ld0lu
dGVydmFsID4gbWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwpIHsKICAgICAgICAg
bV9sYXllclZvbGF0aWxpdHlUaW1lci5zdG9wKCk7CkBAIC0yMDYwLDcgKzIwNjAsNyBAQCB2b2lk
IFdlYlBhZ2U6OmxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRCgiJXAgLSBXZWJQYWdlIC0g
RmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlbGxk
IG1zIiwgdGhpcywgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihuZXdJbnRlcnZhbC5jb3VudCgpKSk7
CisgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRCgiJXAgLSBXZWJQYWdlIC0gRmFpbGVk
IHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0
aGlzLCBuZXdJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0
YXJ0UmVwZWF0aW5nKG5ld0ludGVydmFsKTsKIH0KIApAQCAtMjA5MSw3ICsyMDkxLDcgQEAgdm9p
ZCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9sYXRpbGUoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21w
bGV0aW9uSGFuZGxlcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwg
d2lsbCByZXRyeSBpbiAlbGxkIG1zIiwgdGhpcywgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVy
SW50ZXJ2YWwuY291bnQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiJXAgLSBGYWls
ZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICUuM2YgcyIs
IHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsLnZhbHVlKCkpOwogICAg
IG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRpbmcoaW5pdGlhbExheWVyVm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwpOwogfQogCkBAIC0yNTMwLDcgKzI1MzAsNyBAQCB2b2lkIFdlYlBh
Z2U6OnVwZGF0ZUlzSW5XaW5kb3coYm9vbCBpc0luaXRpYWxTdGF0ZSkKICAgICAgICAgLy8gaW4g
b3JkZXIgdG8gZ2V0IHBsdWctaW4gY29ubmVjdGlvbnMsIGFuZCB0aGUgVUkgcHJvY2VzcyB3aWxs
IGJlIHdhaXRpbmcgZm9yIHRoZSBXZWIgcHJvY2VzcyB0byB1cGRhdGUgdGhlIGJhY2tpbmcKICAg
ICAgICAgLy8gc3RvcmUgYWZ0ZXIgbW92aW5nIHRoZSB2aWV3IGludG8gYSB3aW5kb3csIHVudGls
IGl0IHRpbWVzIG91dCBhbmQgcGFpbnRzIHdoaXRlLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzkyNDI3
NzE+LgogICAgICAgICBpZiAobV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93KQotICAgICAgICAg
ICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAg
bV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMCkpOwogCiAgICAg
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhZ2VEaWRFbnRlcldpbmRvdyhtX3BhZ2VJRCk7
CiAgICAgfQpAQCAtMzAzNyw3ICszMDM3LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJl
bmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICNlbmRpZgogCiAgICAgc2V0
dGluZ3Muc2V0U3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5n
S2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9u
VGltZW91dEluU2Vjb25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRLZXkoKSkpOworICAg
IHNldHRpbmdzLnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFNlY29u
ZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmluY3JlbWVu
dGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0S2V5KCkpKSk7CiAgICAgc2V0dGluZ3Muc2V0
QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjpiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZEtleSgpKSk7CiAg
ICAgc2V0dGluZ3Muc2V0V2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvcihzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OndhbnRzQmFsYW5jZWRTZXRE
ZWZlcnNMb2FkaW5nQmVoYXZpb3JLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldENhcmV0QnJvd3Np
bmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y2Fy
ZXRCcm93c2luZ0VuYWJsZWRLZXkoKSkpOwpAQCAtMzExMCw3ICszMTEwLDcgQEAgdm9pZCBXZWJQ
YWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkK
ICAgICBzZXR0aW5ncy5zZXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsKHN0b3Jl
LmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWx3YXlzVXNlQWNjZWxlcmF0
ZWRPdmVyZmxvd1Njcm9sbEtleSgpKSk7CiAKICAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9F
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFzc3dv
cmRFY2hvRW5hYmxlZEtleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRp
b25JblNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6
OnBhc3N3b3JkRWNob0R1cmF0aW9uS2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVj
aG9EdXJhdGlvbihTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpwYXNzd29yZEVjaG9EdXJhdGlvbktleSgpKSkpOwogICAgIAogICAgIHNldHRpbmdz
LnNldExheW91dEludGVydmFsKHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHM+KHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KHN0b3JlLmdldERv
dWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpsYXlvdXRJbnRlcnZhbEtleSgpKSkp
KTsKICAgICBzZXR0aW5ncy5zZXRNYXhQYXJzZUR1cmF0aW9uKHN0b3JlLmdldERvdWJsZVZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjptYXhQYXJzZUR1cmF0aW9uS2V5KCkpKTsKQEAgLTM4
NDQsNyArMzg0NCw3IEBAIHZvaWQgV2ViUGFnZTo6YWRkUGx1Z2luVmlldyhQbHVnaW5WaWV3KiBw
bHVnaW5WaWV3KQogICAgIG1faGFzU2VlblBsdWdpbiA9IHRydWU7CiAjaWYgRU5BQkxFKFBSSU1B
UllfU05BUFNIT1RURURfUExVR0lOX0hFVVJJU1RJQykKICAgICBMT0coUGx1Z2lucywgIlByaW1h
cnkgUGx1Zy1JbiBEZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0ZWN0aW9uIGZyb20gYWRkUGx1Z2lu
VmlldyglcCkiLCBwbHVnaW5WaWV3KTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRl
ZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFw
c2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICNlbmRpZgogfQog
CkBAIC00MzgxLDcgKzQzODEsNyBAQCB2b2lkIFdlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVu
SW5XaW5kb3coYm9vbCBtYXlTdGFydE1lZGlhKQogCiAgICAgbV9tYXlTdGFydE1lZGlhV2hlbklu
V2luZG93ID0gbWF5U3RhcnRNZWRpYTsKICAgICBpZiAobV9tYXlTdGFydE1lZGlhV2hlbkluV2lu
ZG93ICYmIG1fcGFnZS0+aXNJbldpbmRvdygpKQotICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpydW5Nb2RhbCgpCkBA
IC01MTU5LDcgKzUxNTksNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUq
IGZyYW1lKQogCiAgICAgbV9yZWFkeVRvRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbiA9IHRy
dWU7CiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB0cmlnZ2Vy
aW5nIGRldGVjdGlvbiBmcm9tIGRpZEZpbmlzaExvYWQgKG1hcmtpbmcgYXMgcmVhZHkgdG8gZGV0
ZWN0KS4iKTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGZy
YW1lKTsKICNlbmRpZgpAQCAtNTE3MSw3ICs1MTcxLDcgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHBy
aW1hcnlTbmFwc2hvdHRlZFBsdWdJblNlYXJjaEJ1Y2tldFNpemUgPSAxLjE7CiBzdGF0aWMgY29u
c3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1pbmltdW1XaWR0aCA9IDQwMDsKIHN0YXRp
YyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bUhlaWdodCA9IDMwMDsK
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rp
b25BdHRlbXB0cyA9IDI7Ci1zdGF0aWMgY29uc3QgaW50IGRlZmVycmVkUHJpbWFyeVNuYXBzaG90
dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAzOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmZXJy
ZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IFNlY29uZHMoMyk7CiBz
dGF0aWMgY29uc3QgZmxvYXQgb3ZlcmxhcHBpbmdJbWFnZUJvdW5kc1NjYWxlID0gMS4xOwogc3Rh
dGljIGNvbnN0IGZsb2F0IG1pbmltdW1PdmVybGFwcGluZ0ltYWdlVG9QbHVnaW5EaW1lbnNpb25T
Y2FsZSA9IC45OwogCkBAIC01Mjc5LDcgKzUyNzksNyBAQCB2b2lkIFdlYlBhZ2U6OmRldGVybWlu
ZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbigpCiAgICAgaWYgKCFjYW5kaWRhdGVQbHVnSW4pIHsK
ICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiBmYWlsIC0g
ZGlkIG5vdCBmaW5kIGEgY2FuZGlkYXRlIHBsdWctaW4uIik7CiAgICAgICAgIGlmIChtX251bWJl
ck9mUHJpbWFyeVNuYXBzaG90RGV0ZWN0aW9uQXR0ZW1wdHMgPCBtYXhQcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cykgewotICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQ
cmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJWRzLiIsIGRl
ZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkpOworICAgICAgICAg
ICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQg
YWdhaW4gaW4gJS4zZnMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rp
b25EZWxheS52YWx1ZSgpKTsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90
dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luRGV0ZWN0aW9uRGVsYXkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDY5MzA1M2Y3ZDgyYmE0
ZjllODllY2QxNjk3YzhhMTZkYjhhYmMyNDEuLmNlNjg5ZGZiNTBlNTkwNjA4MmJhNzZmNTU3OWI0
ZmJiMjg1Y2ZjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaApAQCAtMzAwLDcgKzMwMCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWx3YXlzT25Mb2dn
aW5nQWxsb3dlZCgpIGNvbnN0OwogICAgIHZvaWQgc2V0QWN0aXZlUG9wdXBNZW51KFdlYlBvcHVw
TWVudSopOwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VM
aW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxpbWl0KQorICAgIHZvaWQgc2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICB7CiAg
ICAgICAgIG1fcGFnZS0+c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQobGlt
aXQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDU5
NGQ5MDBlZmYwMjIwZjgzY2RhZjBjM2ZkOThiOWViZjcxOTJiY2QuLjM5MjYwZDc2MjlkZWVhNzVi
MDUyNDY1MzJlNGFhN2Q0NzExZTNkYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYS5tbQpAQCAtMjg1LDcgKzI4NSw3IEBAIFRpbGVkQmFja2luZyogUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE6Om1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0CiAKIHZvaWQgUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoSW1tZWRp
YXRlbHkoKQogewotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAg
IG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsKIH0KIAogdm9pZCBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2go
KQpAQCAtMzA0LDkgKzMwNCw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNj
aGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKICAgICBpZiAobV9sYXllckZsdXNoVGltZXIu
aXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgYXV0byBpbml0aWFsRmx1
c2hEZWxheSA9IDUwMG1zOwotICAgIGNvbnN0IGF1dG8gZmx1c2hEZWxheSA9IDE1MDBtczsKLSAg
ICBhdXRvIHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lz
SW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVs
YXkpIDogMG1zOworICAgIGNvbnN0IFNlY29uZHMgaW5pdGlhbEZsdXNoRGVsYXkgPSBTZWNvbmRz
KDAuNSk7CisgICAgY29uc3QgU2Vjb25kcyBmbHVzaERlbGF5ID0gU2Vjb25kcygxLjUpOworICAg
IFNlY29uZHMgdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzID8gKG1f
aXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxGbHVzaERlbGF5IDogZmx1c2hE
ZWxheSkgOiBTZWNvbmRzKDApOwogICAgIG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA9
IGZhbHNlOwogCiAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxlRGVs
YXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9U
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggNThk
OGE5YWNiMGMzZDhhNmU2NDA5NGZlZmJlOTYyMDJiODRlNjFlOS4uNDNhZGUzNmY5NmMxMjUxMzQy
NGRlNGJkZTRkOGEzZDY1YjA0OTJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tCkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYTo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShBY3Rpdml0eVN0YXRlOjpGbGFncwog
ICAgIH0KIAogICAgIGlmIChtX3dhbnRzRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZSB8fCAhbV9uZXh0
QWN0aXZpdHlTdGF0ZUNoYW5nZUNhbGxiYWNrSURzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZW5k
RGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9z
ZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDApKTsK
IH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6ZGlkVXBkYXRlQWN0aXZp
dHlTdGF0ZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggZGQwMGExOGQ5YjYyMTY1ZDkzNjJhOTgyZTRmZTc2NTg4NzFlNTE5YS4uNTY0MDEz
MDM2OTAwMzc0MWZiODBmMTMyOGU1NDdlYmU2MjFkNTVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNDIsNyArMTQyLDcgQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiBzdGF0aWMgY29uc3QgZG91YmxlIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25U
aW1lVXBkYXRlVGhyZXNob2xkID0gMjkgKiAyNCAqIDYwICogNjA7CiAKIC8vIFRoaXMgc2hvdWxk
IGJlIGdyZWF0ZXIgdGhhbiB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCBpbiBUaWxlQ29udHJvbGxl
ci4KLXN0YXRpYyBjb25zdCBkb3VibGUgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAx
MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0g
U2Vjb25kcygxMCk7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0yMTEsNyArMjExLDcgQEAg
V2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAgICAgICAgIGlmIChtX3N0YXRpc3RpY3NDaGFuZ2Vk
VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0gICAgICAg
IG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86OnNlY29u
ZHMoNSkpOworICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoNSkpOwogICAgIH0pOwogfQogCkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBXZWJQcm9j
ZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxD
YXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAg
IHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAgICAgdW5zaWduZWQgcGFn
ZUNhY2hlU2l6ZSA9IDA7CiAgICAgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhjYWNoZU1vZGVs
LCBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRD
YXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgcGFnZUNhY2hlU2l6ZSk7
CiAKQEAgLTEyNDQsMTAgKzEyNDQsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpkZWxldGVXZWJzaXRl
RGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW8KICAgICB9
CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKK3ZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFn
ZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBmb3Ig
KGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpCi0gICAgICAgIHBhZ2UtPnNldEhpZGRl
blBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMobWlsbGlzZWNvbmRzKSk7CisgICAgICAgIHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggMmE5NjQxYmZkNTRlODM0Nzgy
ODRkNjVhNWVhMzU3MWExZjI3YjViOS4uMzMzZmRiNmMxNjU1OWI5ODNjNzc1NjZkYjM4MzRlZjdj
NGY5MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTE4OCw3
ICsxODgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAKLSAg
ICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxs
aXNlY29uZHMpOworICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQoU2Vjb25kcyk7CiAKICAgICB2b2lkIHByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHko
Ym9vbCYgaGFuZGxlZCk7CiAgICAgdm9pZCBwcmVwYXJlVG9TdXNwZW5kKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNmQ3NmU1
ODMyNmVkMzUyNGFhYzVhOTg2YzQ5OTA2NzhhNTI0MTY2Yi4uMjU5MDQ0OThhNmU0YTk3MDZiMWZj
MWQ2NjliMWUxYzZiNzgyMDI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtODAsNyArODAsNyBAQCBtZXNzYWdlcyAtPiBXZWJQ
cm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEZWxldGVXZWJzaXRlRGF0YShXZWJDb3JlOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdl
YnNpdGVEYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9k
aWZpZWRTaW5jZSkgLT4gKCkKICAgICBEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29y
ZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBl
PiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBv
cmlnaW5zKSAtPiAoKQogCi0gICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQoaW50IG1pbGxpc2Vjb25kcykKKyAgICBTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5n
SW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVu
YWJsZWQoYm9vbCBmbGFnKQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNldFFPUyhpbnQgbGF0
ZW5jeVFPUywgaW50IHRocm91Z2hwdXRRT1MpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODc2MzAzMDRkZDk1YzQ3ZWQ3ZDFjZTAxM2ZiZmU0ZmI2
YzM0MzJlZC4uZDYwNGQ5OWE1YTA1YWZmMDc4ZjJlZGU5YjcxYWJiMmE3M2JlNDA4YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE2LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBT
ZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJs
ZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKwogMjAxNi0xMS0yNCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJv
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gTm90aWZpY2F0aW9ucyBBUEkgZG9lcyBub3Qg
ZXhwb3NlIG9yIHJlc3BlY3QgdGhlICJ0YWciIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9SdW5Mb29wLmNwcAppbmRleCAxZGM3ZTkzOGE3NmU5OTRiZTk3Njk4ZWU4MDVj
YzZmZmVkNmZlM2RiLi43OTRiMzlhOWM4ZTFhZDNhYzlhNmM1Mzc5ODk0NGUyODk5YjRiNzYxIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApAQCAtOTUsNyArOTUs
NyBAQCBURVNUKFdURl9SdW5Mb29wLCBPbmVTaG90VGltZXIpCiAKICAgICB7CiAgICAgICAgIERl
cml2ZWRUaW1lciB0aW1lcih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydE9uZVNo
b3QoMC4xKTsKKyAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMC4xKSk7CiAgICAg
ICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CkBAIC0xMjksNyArMTI5LDcg
QEAgVEVTVChXVEZfUnVuTG9vcCwgUmVwZWF0aW5nVGltZXIpCiAKICAgICB7CiAgICAgICAgIERl
cml2ZWRUaW1lciB0aW1lcih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydFJlcGVh
dGluZygwLjAxKTsKKyAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygwLjAxKSk7
CiAgICAgICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3Jlc291cmNlcy9wYXNzd29yZC1lY2hvLmpzIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXNvdXJjZXMvcGFzc3dvcmQtZWNoby5qcwppbmRl
eCBmNzgyMDJkN2M1MDNhMWM1N2IxMmE3ZWY0NjQ1MmI3MmYyMDAwNDBlLi4xZTM2ODM0ODFlYmRk
OWFhMzVmNzc4NTFkZmQ0MWFmM2MzODcwMjIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2lucHV0L3Jlc291cmNlcy9wYXNzd29yZC1lY2hvLmpzCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvaW5wdXQvcmVzb3VyY2VzL3Bhc3N3b3JkLWVjaG8uanMKQEAgLTgxLDcgKzgxLDcgQEAg
ZnVuY3Rpb24gaW5pdCh0ZXN0cykKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CiAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldFBhc3N3b3JkRWNob0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNv
bmRzKDAuMSk7CisgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFBhc3N3
b3JkRWNob0R1cmF0aW9uKDAuMSk7CiAgICAgICAgICAgICB0ZXN0bm9kZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0bm9kZScpOwogICAgICAgICAgICAgcnVuKHRlc3RzLCAtMSk7CiAg
ICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295454</attachid>
            <date>2016-11-27 09:33:15 -0800</date>
            <delta_ts>2016-11-27 09:55:38 -0800</delta_ts>
            <desc>Almost complete other than some Settings-related bindings issues</desc>
            <filename>bug-165079-20161127093249.patch</filename>
            <type>text/plain</type>
            <size>384374</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
OWI0MjljMjk4ZDljZDEyMzEyOWIwNjE0OGQwZmU0ZmM5MjA5ODc5Li5mNjNkY2RmMWY4OWI2NWMz
N2Y0OGY4N2Y0Y2VmNjM1NWM4ZWQ1YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25p
Y1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHA6CisgICAgICAg
IChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VD
b2xsZWN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6c3BlY2llc0NvbnN0cnVjdEFycmF5KToKKwogMjAxNi0xMS0yMyAgWmFuIERvYmVy
c2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9BU1NF
TUJMRVJfV1hfRVhDTFVTSVZFIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYzM5NmIzMzQwMGVlNjk2MDg4OGViYjVlYjk1
NTllOTQwYjI4ZGFmYy4uNWQ5ZjAzYWE1YmRhYjEwMGU2NDVmMjQ5N2JkZTJjNzE0MzI1MTEzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzNCBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29u
ZHMsIG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29w
IFRpbWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJh
dworICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fk
cy4KKworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRz
L01vbm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFj
ZXMuCisKKyAgICAgICAgKiB3dGYvUnVuTG9vcC5oOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpU
aW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJC
YXNlOjpzdGFydE9uZVNob3QpOgorICAgICAgICAqIHd0Zi9SdW5Mb29wVGltZXIuaDoKKyAgICAg
ICAgKiB3dGYvUnVuTG9vcFRpbWVyQ0YuY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wVGltZXJC
YXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2NmL1J1bkxvb3BDRi5jcHA6CisgICAgICAgIChX
VEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi9lZmwvUnVuTG9v
cEVmbC5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAg
ICAgICAqIHd0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcDoKKyAgICAgICAgKFdURjo6UnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2dsaWIvUnVuTG9vcEdMaWIu
Y3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAg
KiB3dGYvd2luL1J1bkxvb3BXaW4uY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0KToKKwogMjAxNi0xMS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBNaWdyYXRlIHNvbWUgbGF5b3V0IHRpbWVyLXJlbGF0ZWQgY29k
ZSBmcm9tIHN0ZDo6Y2hyb25vIHRvIFNlY29uZHMgYW5kIE1vbm90b25pY1RpbWUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA3OTBiYmNkYTRmNjczYWVlNmIzOWM1ZGY5NjQxZDk2NGJmMmRiYWJhLi44YTUwMzlkMDM0
ZmMyOTI1NTE1ZjBmY2FhNGNmNjk0MmFjODdmYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTI2
IEBACisyMDE2LTExLTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBT
ZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJs
ZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENv
bnZlcnQgc29tZSBlbnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4K
KworICAgICAgICBVc2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAq
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlS2V5UmVx
dWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZSk6
CisgICAgICAgICogTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcik6CisgICAgICAgIChXZWJDb3Jl
OjpHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
R2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCk6CisgICAgICAgICogTW9kdWxlcy9nZW9s
b2NhdGlvbi9HZW9sb2NhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbjo6
cmVzdW1lKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6c2NoZWR1bGVPcGVyYXRpb25UaW1l
cik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6Omlu
dm9rZU9wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lcik6CisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNvdXJjZUJ1ZmZlcjo6cmFuZ2VSZW1vdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJj
ZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OnNj
aGVkdWxlQWN0aXZlU3RhdGVDaGFuZ2UpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRFRNRlNlbmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GU2VuZGVyOjpzY2hl
ZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0
YUNoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxl
RGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5jcHA6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNl
bnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQ
ZXJtaXNzaW9uKToKKyAgICAgICAgKiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VmlicmF0aW9uOjp2aWJyYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlZpYnJhdGlvbjo6dGltZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
U29ja2V0Q2hhbm5lbDo6cmVzdW1lKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAg
ICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZh
Y2U6OnNldFN0YXR1cyk6CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29uKToKKyAg
ICAgICAgKiBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICgpOiBEZWxl
dGVkLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OmFkZFRvTWF0Y2hlZFByb3BlcnRpZXNDYWNoZSk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRWaXN1YWxV
cGRhdGVzQWxsb3dlZCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2NoZWR1bGVTdHls
ZVJlY2FsYyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2
YWwpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbik6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OnJlcXVlc3RGdWxsU2NyZWVuRm9yRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkZWNyZW1lbnRMb2FkRXZlbnREZWxh
eUNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29u
dHJvbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyk6
CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0RvY3VtZW50RXZlbnRR
dWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudEV2ZW50UXVldWU6OmVucXVldWVF
dmVudCk6CisgICAgICAgICogZG9tL0V2ZW50U2VuZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudFNlbmRlcjxUPjo6ZGlzcGF0Y2hFdmVudFNvb24pOgorICAgICAgICAqIGRvbS9NaWNyb3Rh
c2tzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1pY3JvdGFza1F1ZXVlOjphcHBlbmQpOgorICAg
ICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lckludGVy
dmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6
CisgICAgICAgICogZG9tL1NjcmlwdFJ1bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRSdW5uZXI6OnJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRSdW5uZXI6Om5vdGlm
eUZpbmlzaGVkKToKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2NoZWR1
bGVBbmltYXRpb24pOgorICAgICAgICAqIGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcjo6ZGlkSGl0UHJlc2Vu
dGF0aW9uQXR0cmlidXRlQ2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0
cmlidXRlQ2FjaGVDbGVhbmVyOjpjbGVhbkNhY2hlKToKKyAgICAgICAgKiBlZGl0aW5nL0FsdGVy
bmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWx0ZXJuYXRpdmVU
ZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRpbWVyKToKKyAgICAgICAgKiBl
ZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24pOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFwcGVhcmFuY2UpOgorICAg
ICAgICAqIGVkaXRpbmcvU3BlbGxDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwZWxs
Q2hlY2tlcjo6ZGlkQ2hlY2spOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21w
bGV0ZSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlRGVsYXllZEFjdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1l
cik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpiZWdpblNjYW5uaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1Bs
YXliYWNrUG9zaXRpb24pOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQ6OnNldERpc3BsYXlTdGF0ZSk6Cisg
ICAgICAgICogaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpyZXN1bWUpOgorICAgICAgICAqIGh0bWwvSFRN
TFRyYWNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50Ojpz
Y2hlZHVsZUxvYWQpOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKE1lZGlhQ29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKE1lZGlhQ29u
dHJvbGxlcjo6Y3VycmVudFRpbWUpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVs
ZUV2ZW50KToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBkYXRlRXZl
bnQpOgorICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmg6CisgICAgICAgICogaHRtbC9N
ZWRpYURvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRG9jdW1lbnQ6Om1lZGlh
RWxlbWVudFNhd1Vuc3VwcG9ydGVkVHJhY2tzKToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0
ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UpOgorICAgICAgICAqIGh0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaElucHV0VHlwZTo6c3Rh
cnRTZWFyY2hFdmVudFRpbWVyKToKKyAgICAgICAgKiBodG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRU
aW1lcik6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlk
ZU1lc3NhZ2UpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9z
ZUNvbnRleHRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2U6OmZvcmNlUmVzdG9yZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6ZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQpOgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1bmtUaW1lckZpcmVkKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OnJlc3VtZSk6CisgICAg
ICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZU9wYXF1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRh
dGVTaXplcyk6CisgICAgICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKToKKyAgICAg
ICAgKiBodG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRSZWdp
b246OnN0YXJ0VGltZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVG
b3IpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcik6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6ZGlzcGF0Y2gpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxk
SW5zcGVjdG9yT2JqZWN0Rm9yU2VnbWVudCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2Fk
VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmRlbGl2ZXJTdWJzdGl0
dXRlUmVzb3VyY2VzQWZ0ZXJEZWxheSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdGFydENoZWNrQ29tcGxldGVUaW1l
cik6CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlTG9hZGVyOjp1cGRhdGVkSGFzUGVuZGluZ0V2ZW50KToKKyAgICAgICAgKiBsb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2No
ZWR1bGVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cDoKKyAgICAgICAgKiBsb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja0xvYWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRU
cmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFyc2UpOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRp
b25DYWNoZUdyb3VwOjpzY2hlZHVsZVJlYWNoZWRNYXhBcHBDYWNoZVNpemVDYWxsYmFjayk6Cisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2sp
OgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZERvbmUpOgorICAgICAgICAq
IGxvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlD
YWNoZTo6cHJ1bmVTb29uKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpzZXREZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2Uu
Y3BwOgorICAgICAgICAqIHBhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwOgorICAgICAgICAq
IHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0
aW9uVXNlclByZWZlcmVuY2VzOjpub3RpZnkpOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlc01lZGlhQUYuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01lZGlhQUY6OnNldEludGVyZXN0ZWRJbkNhcHRpb25QcmVmZXJlbmNlQ2hhbmdlcyk6
CisgICAgICAgICogcGFnZS9ET01UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRG
b3J3YXJkVXNlckdlc3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6dXNlckdlc3R1cmVUb2tlblRv
Rm9yd2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6RE9NVGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6Omluc3RhbGwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGlt
ZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TVRpbWVyOjphbGlnbmVkRmlyZVRpbWUpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OnBvc3RNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0VGltZW91dCk6
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldEludGVydmFsKToKKyAgICAgICAgKiBw
YWdlL0RldmljZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQ29udHJv
bGxlcjo6YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11bUR1cmF0aW9uVHJhY2tlcjo6TWF4aW11
bUR1cmF0aW9uVHJhY2tlcik6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFj
a2VyOjp+TWF4aW11bUR1cmF0aW9uVHJhY2tlcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhh
bmRsZXI6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6bW91c2VNb3Zl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92ZXJTdGF0ZVVw
ZGF0ZSk6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2
ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hlZHVsZUlu
aXRpYWxDb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hlZHVsZVJl
Y29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6cGFyc2VFdmVudFN0cmVh
bUxpbmUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoKKyAgICAgICAgKiBwYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNl
dEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFBvc2l0aW9u
Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZl
VGlsaW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwZXJmb3JtUG9z
dExheW91dFRhc2tzKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQpOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICog
cGFnZS9QYWdlLmg6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpkb21UaW1lckFsaWdubWVudElu
dGVydmFsKToKKyAgICAgICAgKiBwYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmltYXRpb24pOgorICAgICAgICAqIHBhZ2UvU2V0
dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0
b21hdGljYWxseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2
YWwpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRp
bmdzOjptaW5pbXVtRE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6c2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOgorICAgICAgICAqIHBh
Z2UvU3VzcGVuZGFibGVUaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRp
bWVyOjpTdXNwZW5kYWJsZVRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6
OnN0YXJ0T25lU2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpyZXBl
YXRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50
RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OmF1Z21l
bnRSZXBlYXRJbnRlcnZhbCk6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2
YWxNUyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdt
ZW50RmlyZUludGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxl
VGltZXI6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9X
aGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudFRl
c3RUcmlnZ2VyOjpzZXRUZXN0Q2FsbGJhY2tBbmRTdGFydE5vdGlmaWNhdGlvblRpbWVyKToKKyAg
ICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6
dXBkYXRlQW5pbWF0aW9uVGltZXJGb3JSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpBbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0VXBkYXRlU3R5bGVJZk5l
ZWRlZERpc3BhdGNoZXIpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpBbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGUpOgorICAgICAgICAq
IHBhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6Y2xlYXJPclNjaGVkdWxlQ2xlYXJpbmdMYXRjaGVkU3RhdGVJZk5lZWRlZCk6CisgICAg
ICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oOgorICAgICAgICAqIHBh
Z2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpT
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpzZWxlY3Rpb25SZWN0c0RpZENoYW5nZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGlnaGxp
Z2h0c09mVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
OjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRldGVybWluZUFjdGl2ZUhpZ2hsaWdo
dCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUV2
ZW50KToKKyAgICAgICAgKiBwYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dEluZGljYXRvcldpbmRvdzo6c2V0VGV4dEluZGljYXRvcik6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNj
cm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9sbCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
aW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nQ29vcmRpbmF0b3JJT1M6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQp
OgorICAgICAgICAqIHBsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGFza0Rpc3BhdGNoZXI8VGltZXI+Ojpwb3N0VGFzayk6CisgICAgICAgICogcGxhdGZv
cm0vSHlzdGVyZXNpc0FjdGl2aXR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0
aXZpdHk6Okh5c3RlcmVzaXNBY3Rpdml0eSk6CisgICAgICAgIChXZWJDb3JlOjpIeXN0ZXJlc2lz
QWN0aXZpdHk6OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZCk6CisgICAgICAgICogcGxh
dGZvcm0vU2Nyb2xsYmFyLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjppbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6OmF1dG9zY3JvbGxUaW1l
ckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6
VGhlbWU6OmNhcmV0QmxpbmtJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0vVGhyZWFkVGlt
ZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6VGhyZWFkVGltZXJzKToK
KyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6c2V0U2hhcmVkVGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjp1cGRhdGVTaGFyZWRUaW1lcik6CisgICAgICAgIChX
ZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbCk6CisgICAgICAg
IChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OmZpcmVUaW1lcnNJbk5lc3RlZEV2ZW50TG9vcCk6Cisg
ICAgICAgICogcGxhdGZvcm0vVGhyZWFkVGltZXJzLmg6CisgICAgICAgICogcGxhdGZvcm0vVGlt
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3Bl
cmF0b3IoKSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OlRpbWVyQmFzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRGaXJlSW50ZXJ2
YWwpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpjaGVja0NvbnNpc3RlbmN5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6aGVhcERlbGV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJh
c2U6OmhlYXBEZWxldGVNaW4pOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwSW5j
cmVhc2VLZXkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwUG9wKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6bmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0v
VGltZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2Vi
Q29yZTo6VGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckJhc2U6OmF1Z21lbnRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjph
bGlnbmVkRmlyZVRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjppc0FjdGl2ZSk6
CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVyOjpEZWZlcnJhYmxlT25l
U2hvdFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6bXNUb1NlY29uZHMpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzZWNvbmRzVG9NUyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnJlcGVhdEludGVydmFsTVMpOiBEZWxl
dGVkLgorICAgICAgICAqIHBsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjptX2xhc3RXYXJuaW5nVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpWTm9kZVRyYWNrZXI6
OnByZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFj
a2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1ZO
b2RlVHJhY2tlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTbmFwUnViYmVyYmFuZFRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25h
cFRpbWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVy
R2FtZXBhZFByb3ZpZGVyLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdh
bWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJvdmlkZXI6
OmRldmljZUFkZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcik6CisgICAgICAg
IChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1hdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250Rm9yRmFt
aWx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JhdGNoQnVmZmVyOjpzY2hlZHVsZVNjcmF0Y2hCdWZmZXJQdXJnZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpD
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnVwZGF0
ZU9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6
OnNldFNlbGVjdGVkT3B0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBv
cnRzVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpzY2hlZHVs
ZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRvdyk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9u
KToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292
ZXJhZ2VNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNvdmVyYWdlTWFwOjpzZXROZWVk
c1VwZGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnJldmFsaWRhdGVUaWxlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpUaWxlR3JpZDo6c3RhcnRlZE5ld0NvaG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpU
aWxlR3JpZDo6c2NoZWR1bGVDb2hvcnRSZW1vdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVH
cmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpUaWxlR3JpZDo6Y29ob3J0UmVtb3ZhbFRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmg6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6
VGlsZUNvaG9ydEluZm86OlRpbGVDb2hvcnRJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklPU3VyZmFjZVBv
b2w6Om1hcmtPbGRlclN1cmZhY2VzUHVyZ2VhYmxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmg6CisgICAgICAgIChXZWJDb3JlOjpJT1N1cmZhY2VQb29s
OjpDYWNoZWRTdXJmYWNlRGV0YWlsczo6cmVzZXRMYXN0VXNlVGltZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHA6CisgICAgICAgICgp
OiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZmZXJpbmcpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFZpZGVvUmVuZGVyUmVx
dWVzdFNjaGVkdWxlcjo6cmVxdWVzdFJlbmRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWspOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRhdGVP
bkNvbXBvc2l0b3JUaHJlYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2lu
Zy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0azo6c2hv
d092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3Rr
OjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9MZWdhY3lU
aWxlQ2FjaGUubW06CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lUaWxlQ2FjaGU6OmZpbmlzaGVk
Q3JlYXRpbmdUaWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lUaWxlQ2FjaGU6OnNldFNw
ZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxlZCk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Nj
cm9sbGJhclRoZW1lSU9TLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1l
SU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRv
c2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUlPUzo6
YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNvb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjpzZXRNb3Rpb24pOgorICAgICAgICAqIHBs
YXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50YXRpb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVQZXJtaXNzaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250
cm9sbGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXJNb2NrLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50OjpkaXNwYXRjaEZha2VJY2VD
YW5kaWRhdGVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50OjppY2VDYW5k
aWRhdGVUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojpz
dGVwSWNlVHJhbnNwb3J0U3RhdGVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBv
aW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFtZVJhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
RE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6
YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJlZCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEYXRhVVJMRGVjb2Rlcjo6RGVjb2RpbmdSZXN1bHREaXNwYXRjaGVyOjpzdGFydFRp
bWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VIYW5kbGU6OnNldERlZmVyc0xvYWRpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5l
dHdvcmtTdGF0ZU5vdGlmaWVyOjpkeW5hbWljU3RvcmVDYWxsYmFjayk6CisgICAgICAgICogcGxh
dGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omluc3RhbGwpOgorICAgICAgICAqIHJlbmRlcmluZy9J
bWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUXVhbGl0
eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck1hcnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6c3Rh
cnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6dXBkYXRlTWFycXVlZVN0eWxl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZp
cmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25T
dGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJl
VGV4dFRpbWVyOjpyZXN0YXJ0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJh
dGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVmlldzo6c2NoZWR1bGVMYXp5UmVwYWludCk6CisgICAgICAgICogcmVwbGF5
L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHR1cmluZ0lu
cHV0Q3Vyc29yOjpzdG9yZUlucHV0KToKKyAgICAgICAgKiByZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hl
cjo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9v
cElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24pOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0KToKKyAgICAgICAgKiByZXBs
YXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNl
c3Npb25TZWdtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50
OjpSZXBsYXlTZXNzaW9uU2VnbWVudCk6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNlc3Npb25T
ZWdtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6dGltZXN0
YW1wKToKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50OjpldmVudExvb3BU
aW1pbmdzKToKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaDoKKyAgICAg
ICAgKiBzdHlsZS9TdHlsZVNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpTY29w
ZTo6c2NoZWR1bGVVcGRhdGUpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5bmNo
cm9ub3VzbHkpOgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbFNldHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dCk6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJHbG9iYWxTY29wZTo6c2V0SW50ZXJ2YWwpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVz
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2V0VGltZW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6cHJlcGFyZVRvU2VuZCk6CisgICAgICAg
IChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJD
b3JlOjpYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRw
UmVxdWVzdDo6cmVzdW1lKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNo
VGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6cmVzdW1lKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaDoKKwogMjAxNi0xMS0yNiAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBNaWdyYXRlIHNvbWUgbGF5b3V0
IHRpbWVyLXJlbGF0ZWQgY29kZSBmcm9tIHN0ZDo6Y2hyb25vIHRvIFNlY29uZHMgYW5kIE1vbm90
b25pY1RpbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggZWE2ZTk4YWE3Nzg5MWMyMGI4NzNjMzdhM2E5MGE1ZDQ2N2Q0
YzhmNi4uZmM2ZjdlZWY2YzZkMjRkM2Q4MzU2MDViNWE4YTIzYTI2MmNiNzcwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzMCBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRp
bWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdwor
ICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4K
KworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01v
bm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMu
CisKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVJdGVtRm9yU3luYyk6CisgICAgICAgIChXZWJL
aXQ6OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbGVhcik6CisgICAgICAgIChXZWJLaXQ6OlN0
b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbG9zZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktpdDo6
U3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCk6CisgICAgICAgICogU3RvcmFnZS9TdG9y
YWdlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpTdG9yYWdl
VHJhY2tlcik6CisgICAgICAgICogU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oOgorICAgICAgICAo
V2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBl
bmRpbmdSZXF1ZXN0cyk6CisKIDIwMTYtMTEtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRl
YUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gV1RGOjpUZW1wb3JhcnlDaGFuZ2Ugd2l0aCBX
VEY6OlNldEZvclNjb3BlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMWQyZThiMmFmYjM1YWM4OGM4YTI4
NjFjMDFkMTY5NWRhMjRmMTk4MS4uNTNiNDlhMzBhODQ1YzJkMjZkYjY4MGE5YWI4NmYxZjg5ZTYw
MmQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTExLTI3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1l
cnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90
aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhl
IGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUg
c3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBlbnRyYWluZWQg
Y29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBVc2UgdGltZSBs
aXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIFBsdWdpbnMvSG9zdGVkL05ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5OjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QpOgorICAgICAgICAqIFBsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW06CisgICAgICAgIChXZWJOZXRzY2FwZVBsdWdp
blN0cmVhbTo6ZGVsaXZlckRhdGEpOgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVn
aW5WaWV3Lm1tOgorICAgICAgICAoUGx1Z2luVGltZXI6OnN0YXJ0KToKKyAgICAgICAgKiBTdG9y
YWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tOgorICAgICAgICAoK1tXZWJTdG9yYWdlTWFuYWdlciBz
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisgICAg
ICAgICgrW1dlYlZpZXcgX3NldENhY2hlTW9kZWw6XSk6CisKIDIwMTYtMTEtMjIgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBJbiBMZWdhY3kgV2ViS2l0
LCBwcmVzc2luZyBhbiBhcnJvdyBrZXkgaW4gZWRpdGFibGUgY29udGVudCBkb2VzbuKAmXQgaGlk
ZSB0aGUgbW91c2UgY3Vyc29yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggM2JiOGE2NGIyZTk3NjAyZWIy
MTNlYjczMTU0M2VlMDU0YzIwY2Y2OS4uMTM1OTJkYzkyNmMzZTYwYzgwMWU3ODA0ZTBiMDRkMDNk
OGM0NWRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE2LTExLTI3ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBU
aW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25v
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2Ug
Ym90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcg
dGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0
aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBlbnRyYWlu
ZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBVc2UgdGlt
ZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuY3BwOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldp
bi5jcHA6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBsdWdpblBhY2thZ2U6OmZyZWVMaWJyYXJ5U29vbik6CisgICAgICAgICogUGx1Z2lu
cy9QbHVnaW5TdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luU3RyZWFtOjpkZWxp
dmVyRGF0YSk6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBsdWdpblZpZXc6OnJlcXVlc3RUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlBsdWdpblZpZXc6OnNjaGVkdWxlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5W
aWV3OjpzZXRKYXZhU2NyaXB0UGF1c2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6
OmtlZXBBbGl2ZSk6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnduZFByb2MpOgorICAgICAgICAoV2ViQ29yZTo6UGx1
Z2luVmlldzo6aW52YWxpZGF0ZVJlY3QpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0FjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0OjpzY2hlZHVsZUxheWVyRmx1c2gpOgorICAgICAgICAqIFdlYlZpZXcuY3Bw
OgorICAgICAgICAoV2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKToKKyAgICAgICAgKFdlYlZpZXc6
OnNldE1pbmltdW1UaW1lckludGVydmFsKToKKwogMjAxNi0xMS0xOSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TIFdLMl0gV2hlbiB6b29tZWQg
aW4gYW5kIHBhbm5pbmcgb24gcGFnZXMgd2l0aCBmaXhlZCBiYXJzLCBwYXJ0cyBvZiB0aGUgYmFy
cyBhcmUgc29tZXRpbWVzIG1pc3NpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyMDZkYWE1YjJhZGM4MDcwMzU5
YTMyYWE3Yzg1YzEzZGFhOTA5YjkzLi4yNmY3MWJmNGQwNDk3OGY2OWI0YzE5MTcwZjIzZTE3MGVh
Yzk3NDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTc1IEBACisyMDE2LTExLTI3ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMg
dG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBU
aW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1
bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3Rk
OjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBlbnRyYWluZWQgY29k
ZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBVc2UgdGltZSBsaXRl
cmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVG
YWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+
OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNz
OjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9k
ZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRUZXJtaW5hdGlvblRp
bWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVy
Ojppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgorICAgICAgICAqIFNo
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06CisgICAgICAgIChBUEk6
OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKToKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJv
Y2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVy
Ojpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxs
eUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6
OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNv
b24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVBy
ZWZlcmVuY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YWRkUGx1Z2luVmlldyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRGaW5pc2hMb2FkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKToKKyAgICAgICAg
KCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5KToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRp
bmdMYXllckZsdXNoKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYTo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNldENhY2hl
TW9kZWwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRIaWRkZW5QYWdlVGltZXJU
aHJvdHRsaW5nSW5jcmVhc2VMaW1pdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorCiAyMDE2
LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IE1pZ3JhdGUgc29tZSBsYXlvdXQgdGltZXItcmVsYXRlZCBjb2RlIGZyb20gc3RkOjpjaHJvbm8g
dG8gU2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKaW5k
ZXggNDA0MTY5ZjdmNTRmYWYwZDk2ODFmMmVmMDIwZmY0YTZkOGMxZGM0ZS4uMmQxMjYyZGZkNTQ2
NDA5NDVjMDIxZjM2ZmUwNjdlZGRkN2EzMzRlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3Bw
CkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgU2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6
YWRkR2FyYmFnZUNvbGxlY3Rpb24oR2FyYmFnZUNvbGxlY3Rpb25EYXRhCiAgICAgfQogCiAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNlbmRHYXJi
YWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OnJlc2V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCBhZDVkY2UyNDU4NmM0YjMxY2Rl
NTk1YmEyYjFmN2Y2ZTMwYjM3MWE5Li5hM2U1OTFlMDA5ZjE0ZGU4YzBlM2ViNTc1NGQ4MmM2ZjUw
MzFhZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90
b3R5cGUuY3BwCkBAIC0yMjMsMTMgKzIyMywxMyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBzdGQ6
OnBhaXI8U3BlY2llc0NvbnN0cnVjdFJlc3VsdCwgSlNPYmplY3QqPiBzcGVjaWVzQ29uc3RydQog
ICAgICAgICBpZiAoY29uc3RydWN0b3IuaXNDb25zdHJ1Y3RvcigpKSB7CiAgICAgICAgICAgICBK
U09iamVjdCogY29uc3RydWN0b3JPYmplY3QgPSBqc0Nhc3Q8SlNPYmplY3QqPihjb25zdHJ1Y3Rv
cik7CiAgICAgICAgICAgICBpZiAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpICE9IGNvbnN0
cnVjdG9yT2JqZWN0LT5nbG9iYWxPYmplY3QoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3Rk
OjptYWtlX3BhaXIoU3BlY2llc0NvbnN0cnVjdFJlc3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOzsK
KyAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoU3BlY2llc0NvbnN0cnVjdFJl
c3VsdDo6RmFzdFBhdGgsIG51bGxwdHIpOwogICAgICAgICB9CiAgICAgICAgIGlmIChjb25zdHJ1
Y3Rvci5pc09iamVjdCgpKSB7CiAgICAgICAgICAgICBjb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9y
LmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuc3BlY2llc1N5bWJvbCk7CiAgICAgICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBleGNlcHRpb25SZXN1bHQoKSk7CiAgICAg
ICAgICAgICBpZiAoY29uc3RydWN0b3IuaXNOdWxsKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRy
KTs7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25zdHJ1
Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTsKICAgICAgICAgfQogICAgIH0gZWxzZQogICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBleGNlcHRpb25SZXN1bHQoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29w
LmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhiY2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4uNjNkMGM3
OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZjNDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtODgsMTAg
Kzg4LDggQEAgcHVibGljOgogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGljaXQgVGlt
ZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgflRp
bWVyQmFzZSgpOwogCi0gICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdElu
dGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2b2lkIHN0
YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsg
c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQotICAgICAg
ICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZh
bHNlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFsc2UpOyB9
CisgICAgICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9uZVNob3Qo
U2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAgICAgICAg
V1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZB
VEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNl
bmRpZgogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3Rh
cnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAgV1RGX0VY
UE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJl
cGVhdCk7CiAKICAgICAgICAgUnVuTG9vcCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5o
CmluZGV4IDM3ODBlNzZjMDMxMzEwNGFlYzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLjZjNGZkNmVj
MWE4MDVjNDEzNDA2MGY0N2U3NjQ2NDhkNDdhZDc4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1J1bkxvb3BUaW1lci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCkBA
IC00NSwxMCArNDUsMTAgQEAgcHVibGljOgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNj
aGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lk
IHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9FWFBPUlRf
UFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpOworICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4
dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0
UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwg
cmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFs
KSB7IHN0YXJ0KGludGVydmFsLCAwKTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25k
cyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwp
OyB9CisgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRl
cnZhbCwgMF9zKTsgfQogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAg
IGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxv
b3BUaW1lckNGLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBl
YTY1Y2JiNTMyZTIzYmE3YmY5NTczYzMxYjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUw
ZWFkZmUxOTc5Yzg4NTIwZWZlNWJlYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5M
b29wVGltZXJDRi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBA
IC01MiwxMiArNTIsMTIgQEAgc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJl
Ziwgdm9pZCogY29udGV4dCkKICAgICB0aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29w
VGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdElu
dGVydmFsKQordm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50
ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAg
ICAgIENGUnVuTG9vcFRpbWVySW52YWxpZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxv
b3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGlt
ZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3Vy
cmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmly
ZWQsICZjb250ZXh0KSk7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVh
dGUoMCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVl
KCksIHJlcGVhdEludGVydmFsLnZhbHVlKCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7
CiB9CiAKIHZvaWQgUnVuTG9vcFRpbWVyQmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWly
KiBzY2hlZHVsZVBhaXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0Yu
Y3BwIGIvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhj
ZjYwNGFmMThhOTg2ZGU5MjNlODcyOTI0NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFi
Zjk1ZTVmNTQ5OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0
IEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0
b3AoKTsKICAgICAKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhp
cywgMCwgMCwgMCB9OwotICAgIENGVGltZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0
ID8gbmV4dEZpcmVJbnRlcnZhbCA6IDA7Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29w
VGltZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50
KCkgKyBuZXh0RmlyZUludGVydmFsLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwg
JmNvbnRleHQpKTsKKyAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/
IG5leHRGaXJlSW50ZXJ2YWwudmFsdWUoKSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZS
dW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAw
LCB0aW1lckZpcmVkLCAmY29udGV4dCkpOwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9v
cC5tX3J1bkxvb3AuZ2V0KCksIG1fdGltZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1Nv
dXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNi
NTI5ZjRjMGM3NGM2NzUwZGFlNTk2Li42MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjVi
ZmIyNTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBA
QCBib29sIFJ1bkxvb3A6OlRpbWVyQmFzZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJl
dHVybiB0aW1lci0+bV9pc1JlcGVhdGluZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVf
Q0FMTEJBQ0tfQ0FOQ0VMOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAg
aWYgKGlzQWN0aXZlKCkpCiAgICAgICAgIHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSBy
ZXBlYXQ7CiAgICAgQVNTRVJUKCFtX3RpbWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJf
YWRkKG5leHRGaXJlSW50ZXJ2YWwsIHJlaW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGlt
ZXJGaXJlZCksIHRoaXMpOworICAgIG1fdGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJ
bnRlcnZhbC52YWx1ZSgpLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmly
ZWQpLCB0aGlzKTsKIH0KIAogdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAy
ZTEyYTVlOTQxNjdlYzdiNWZkYTI2NjM4Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1
ZDQ2NzcwZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5l
cmljLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApA
QCAtMjYzLDEyICsyNjMsMTIgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAg
ICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50
ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNl
Y29uZHMgaW50ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3Nj
aGVkdWxlZFRhc2sgPSBTY2hlZHVsZWRUYXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmly
ZWQoKTsKLSAgICB9LCBTZWNvbmRzKGludGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRl
cnZhbCwgcmVwZWF0aW5nKTsKICAgICBtX3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hl
ZHVsZWRUYXNrKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29w
R0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5Mjdj
ZTMyNTRmOGI1NjI3OGJhNmI3ZmYwMjFjMGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0
YTc1OTczNGQ0Njg3ODEzNjMzYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1
bkxvb3BHTGliLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApA
QCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRp
bWUoKQogICAgIGdfc291cmNlX3NldF9yZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRU
aW1lKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50
ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29u
ZHMgZmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRp
b24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1
dG8gaW50ZXJ2YWxEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJ
bnRlcnZhbC52YWx1ZSgpKTsKICAgICBhdXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjpt
aWNyb3NlY29uZHM6Om1heCgpOwogICAgIGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0
aW9uKQogICAgICAgICBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxz
dGQ6OmNocm9ubzo6bWljcm9zZWNvbmRzPihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9S
dW5Mb29wV2luLmNwcAppbmRleCA0YjQ1YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMw
MDE3Li5lYTAyMWY3ZGI0Y2EyYTI4YjE5ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYv
d2luL1J1bkxvb3BXaW4uY3BwCkBAIC0xNTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJh
c2U6On5UaW1lckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0KQogewogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0
aXZlVGltZXJzLnNldChtX0lELCB0aGlzKTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1
bkxvb3BNZXNzYWdlV2luZG93LCBtX0lELCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7Cisg
ICAgOjpTZXRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4
dEZpcmVJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGlt
ZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3Bw
CmluZGV4IDBmYWYyMTIwMmExMzBiOTJlNWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLjYwYTk3Nzhm
YTY2OTdhZjViMWMxNWE3NDI3YzgyY2M3MTEyZDZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2Vi
S2l0TWVkaWFLZXlTZXNzaW9uLmNwcApAQCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdl
YktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vzc2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVm
PFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEpCiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBw
ZW5kKHsgbWltZVR5cGUsIFdURk1vdmUoaW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBXZWJLaXRNZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZp
cmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtl
eVNlc3Npb246OnVwZGF0ZShSZWY8VWludDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hl
ZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRoZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVu
ZGluZ0tleXMuYXBwZW5kKFdURk1vdmUoa2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJl
dHVybiB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb05vdGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24v
R2VvTm90aWZpZXIuY3BwCmluZGV4IGNlYzk3Y2M5MDJlNDUwNjg5N2ZlZmJkM2VhZTJmOTc5MDdh
YWNjMTYuLjU4NmM1OTY4NjFkYWI3MGRkYzJiNjg2MWMyYzcxNjgxNzU5YTM2YjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBA
IC01OSwxMyArNTksMTMgQEAgdm9pZCBHZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8
UG9zaXRpb25FcnJvcj4mJiBlcnJvcikKICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9y
KTsKICAgICAvLyBBbiBleGlzdGluZyB0aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQu
CiAgICAgbV90aW1lci5zdG9wKCk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNl
Q2FjaGVkUG9zaXRpb24oKQogewogICAgIG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKQEAgLTkyLDcg
KzkyLDcgQEAgdm9pZCBHZW9Ob3RpZmllcjo6cnVuRXJyb3JDYWxsYmFjayhQb3NpdGlvbkVycm9y
KiBlcnJvcikKIHZvaWQgR2VvTm90aWZpZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7CiAgICAg
aWYgKG1fb3B0aW9ucy0+aGFzVGltZW91dCgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChtX29wdGlvbnMtPnRpbWVvdXQoKSAvIDEwMDAuMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9vcHRpb25zLT50aW1lb3V0KCkpKTsK
IH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c3RvcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKaW5kZXggODVhZTQwZjYzNDE3
NTMyNzE2NzJmM2EzNzdmZTk5M2RmNGEzMThjMC4uYzA5YzM3OWIwMjk2NDNkYTkwY2Q4YzU2NDc0
M2E3MTU1MDZmMGZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9sb2NhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAgLTE5OCw3ICsxOTgsNyBAQCB2b2lkIEdlb2xvY2F0aW9u
OjpyZXN1bWUoKQogICAgIEFjdGl2ZURPTU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1f
cmVzdW1lVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgR2VvbG9jYXRpb246OnJlc3VtZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IDM4ZGVjZDUzYjlh
YjA4MTJlYjgwOWY1ZmJiM2I2YmRhMWVjOGIwMWEuLjNlOTY1YzM0NDZjZjk5YzUxMDJlZTEwMzky
NmJiZGQyMDYyN2Q3NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKQEAgLTM1MCw3ICszNTAsNyBAQCB2b2lkIElEQlRyYW5z
YWN0aW9uOjpzY2hlZHVsZU9wZXJhdGlvblRpbWVyKCkKICAgICBBU1NFUlQoY3VycmVudFRocmVh
ZCgpID09IG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgaWYgKCFtX29wZXJh
dGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fb3BlcmF0aW9uVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX29wZXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIElEQlRyYW5zYWN0aW9uOjpvcGVyYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURC
RGF0YWJhc2UuY3BwCmluZGV4IGNiMDQ4NjFjYzdjY2M1Y2YyZjdjZWJhZDczY2Q1OTdiZDJhMjcw
YWEuLjcyNWNiZjRjN2VhNmFiYjgzYTEyNGI5NzJlZGVkM2JmYjIzMDZlMWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1
ZUlEQkRhdGFiYXNlLmNwcApAQCAtMTQ5NCw3ICsxNDk0LDcgQEAgdm9pZCBVbmlxdWVJREJEYXRh
YmFzZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcigpCiAgICAgQVNTRVJUKCFt
X2hhcmRDbG9zZWRGb3JVc2VyRGVsZXRlKTsKIAogICAgIGlmICghbV9vcGVyYXRpb25BbmRUcmFu
c2FjdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rp
b25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rp
b25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6
b3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdl
ci5jcHAKaW5kZXggN2EzMzY5ZjEwZTUzMGU0ZGM4N2U3MTdkNTY3NWY3MDkxMTNiODBlOS4uM2Ey
ZGE0MWQxZTE3MGMxZWRmYjNlNDVmYzY3ZjA4Mzg4MzRlOWQ1NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9u
TWFuYWdlci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIHRhc2tEZWxheUludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHRhc2tEZWxheUludGVydmFsID0gU2Vjb25kcygxLjAgLyAxMCk7CiAK
IHN0cnVjdCBDbGllbnRTdGF0ZSB7CiAgICAgZXhwbGljaXQgQ2xpZW50U3RhdGUoV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlckNsaWVudCYgY2xpZW50LCB1aW50NjRfdCBjb250ZXh0SWQpCkBAIC00MjMs
OCArNDIzLDggQEAgc2l6ZV90IFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmZpbmQoV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlckNsaWVudCogY2xpZW50LCB1aW50NjQKIAogdm9pZCBXZWJNZWRpYVNlc3Np
b25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKCkKIHsKLSAgICBzdGF0aWMgY29uc3Qg
ZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IDYwICogNjA7Ci0gICAg
c3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0Vu
ZCA9IDggKiA2MDsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVySW50ZXJ2
YWxBZnRlclBhdXNpbmcgPSBTZWNvbmRzKDYwICogNjApOworICAgIHN0YXRpYyBjb25zdCBTZWNv
bmRzIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kID0gU2Vjb25kcyg4ICog
NjApOwogCiAgICAgaWYgKCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNrVGFyZ2V0LT5o
YXNBY3RpdmVSb3V0ZSgpKSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CkBAIC00
NDIsMTQgKzQ0MiwxNCBAQCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdh
dGNoZG9nVGltZXIoKQogICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAgICAgICAgbV9j
dXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50
ZXJ2YWwgPSAwX3M7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAgICAgICAgIExP
RyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIg
LSB0aW1lciBzdG9wcGVkIik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91YmxlIGludGVydmFs
ID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQg
OiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIFNlY29uZHMgaW50
ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdU
b0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAgICAgaWYgKGlu
dGVydmFsICE9IG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hkb2dUaW1lci5p
c0FjdGl2ZSgpKSB7CiAgICAgICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGlu
dGVydmFsKTsKLSAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6
OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuMGYiLCBpbnRl
cnZhbCk7CisgICAgICAgICAgICBMT0coTWVkaWEsICJXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpj
b25maWd1cmVXYXRjaGRvZ1RpbWVyIC0gdGltZXIgc2NoZWR1bGVkIGZvciAlLjNmcyIsIGludGVy
dmFsLnZhbHVlKCkpOwogICAgICAgICB9CiAgICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2
YWwgPSBpbnRlcnZhbDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThl
ZjkxNGNiMjNmMTk0MDFjY2NmZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZh
MTNhZDNjMWYxMWIxNmMxYTM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcg
KzEwMiw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxh
eWJhY2tUYXJnZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXJNb2NrPiBtX3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNr
cyBtX3Rhc2tGbGFncyB7IE5vVGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0lu
dGVydmFsIHsgMCB9OworICAgIFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAg
ICBib29sIG1fZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV90YXJnZXRDaGFuZ2VkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJs
ZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IGY1NTk4MTE4YTg4ZjI4MDAzMTVkOTQxNzMwYWFmYzIx
ZTA1NTI4NGIuLmQ2NGVjNjNlMzUxNDgxNGZhYzM1MTMwZmMxMTM5MjcyNGE2MzYwYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5j
cHAKQEAgLTM0OCw3ICszNDgsNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmFuZ2VSZW1vdmFsKGNv
bnN0IE1lZGlhVGltZSYgc3RhcnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kKQogICAgIC8vIDUuIFJl
dHVybiBjb250cm9sIHRvIHRoZSBjYWxsZXIgYW5kIHJ1biB0aGUgcmVzdCBvZiB0aGUgc3RlcHMg
YXN5bmNocm9ub3VzbHkuCiAgICAgbV9wZW5kaW5nUmVtb3ZlU3RhcnQgPSBzdGFydDsKICAgICBt
X3BlbmRpbmdSZW1vdmVFbmQgPSBlbmQ7Ci0gICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTb3Vy
Y2VCdWZmZXI6OmFib3J0SWZVcGRhdGluZygpCkBAIC01MzMsNyArNTMzLDcgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25l
ZCBjaGFyKiBkYXRhLAogICAgIHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0
RXZlbnQpOwogCiAgICAgLy8gNi4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5k
IGFsZ29yaXRobS4KLSAgICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcmVwb3J0RXh0
cmFNZW1vcnlBbGxvY2F0ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcAppbmRleCAxZDUyYTQ4YTUzZGFlMjg4Yzg0NzE5ZmRj
MWUxZWViZDQ3ZWU2ZTU3Li4xZjlmNzEwM2RlMmVjOWVmMTU5Njk4MjI4ZjI1MDMyMmU5OTg0MDY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLmNwcApAQCAtMzY0LDcgKzM2NCw3IEBAIHZvaWQgTWVkaWFTdHJlYW06OnNjaGVkdWxlQWN0
aXZlU3RhdGVDaGFuZ2UoKQogICAgIG1fc2NoZWR1bGVkQWN0aXZpdHlFdmVudHMuYXBwZW5kKEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgZmFsc2UpKTsKIAogICAgIGlmICghbV9hY3Rp
dml0eUV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2FjdGl2aXR5RXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBNZWRpYVN0cmVhbTo6YWN0aXZpdHlFdmVudFRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1G
U2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNl
bmRlci5jcHAKaW5kZXggODMzMGM4NzhjMTdjMDllNzgyNjliYzU1YWQ3OGZlMTdiMTRiODBkYi4u
ZWYyOThjZDBjNjk2ZjY2YWFjYWIwMWFkYTNjNmEyY2QzNTlkMWI0MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0x
MzIsNyArMTMyLDcgQEAgdm9pZCBSVENEVE1GU2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQo
UmVmPEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3Zl
KGV2ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUlRDRFRN
RlNlbmRlcjo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKaW5kZXggMDUxYzcw
MTQ5YWUyZGExMmU2MDBhNDA1MGYwOWMxZWM4YmZkNTc1Ni4uMmRiY2FmMWYyMWJmZDQ5ODgwMDcw
YTNkODNkYjhhZWE4MmUyZWIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKQEAgLTIzNyw3ICsyMzcsNyBAQCB2b2lk
IFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50
KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2ZW50KSk7CiAKICAgICBp
ZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NjaGVkdWxl
ZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxl
ZEV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCmluZGV4IDFlMDJjZTFjZjY3ZjZlNGQ5MTI4NzVh
YmY4MGIyZGRkZTgzN2E3ZTcuLmJiODcxOWQ4MmY1MjA4NmEwZTQzYjdkMGU4NDhiMTgyMjhkYWQ2
NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uY3BwCkBAIC03NCw3ICs3NCw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0
aW9uKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICAvLyBGSVhN
RTogU2VlbXMgdGhhdCBtX25vdGlmaWNhdGlvbkNlbnRlciBjYW4gYmUgbnVsbCBzbyBzaG91bGQg
bm90IGJlIGNoYW5nZWQgZnJvbSBSZWZQdHIgdG8gUmVmLgogICAgIC8vIEJ1dCB0aGUgcmVzdCBv
ZiB0aGUgY29kZSBpbiB0aGlzIGNsYXNzIGlzbid0IHRyeWluZyB0byBoYW5kbGUgdGhhdCBjYXNl
LgogICAgIEFTU0VSVChtX25vdGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCkpOwotICAgIG1fdGFz
a1RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggYTkyOThmNzUyNWNl
N2E4ODRhMDVhZTJlNDczZGUxY2FiMTBlYmZlMC4uOTI1ZWI5NmEzMWMzODhlNjY1ODdjOTljNTQ2
ZGU4OTM3ZWY2NDY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAg
dm9pZCBOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFJlZlB0cjxWb2lkQ2Fs
bGJhY2s+JiYgY2FsbGJhY2spCiAgICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToK
ICAgICAgICAgaWYgKG1fY2FsbGJhY2tzLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgcmVmKCk7
IC8vIEJhbGFuY2VkIGJ5IHRoZSBkZXJlZnMgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wIGFu
ZCBOb3RpZmljYXRpb25DZW50ZXI6OnRpbWVyRmlyZWQuCi0gICAgICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgICAgIH0KICAgICAgICAgbV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAg
ICAgICAgICBpZiAoY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRp
b24vVmlicmF0aW9uLmNwcAppbmRleCA4NjA5MTQyMDljOGJiMzQyODA0MGFhMTRmYzlmY2QwM2Qw
ZGQ1YzU5Li4zM2IwMjIwZTk0N2Y4NDM3MDYyN2IxNjIxMWU2ZWMyNDkwOWVkMWIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTc2LDcg
Kzc2LDcgQEAgYm9vbCBWaWJyYXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYg
cGF0dGVybikKIAogICAgIG1fcGF0dGVybiA9IHNhbml0aXplZDsKIAotICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgbV9zdGF0
ZSA9IFN0YXRlOjpXYWl0aW5nOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTEwLDcgKzExMCw3
IEBAIHZvaWQgVmlicmF0aW9uOjp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25DbGll
bnQtPnZpYnJhdGUobV9wYXR0ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3BhdHRlcm5bMF0pKTsKICAg
ICBtX3BhdHRlcm4ucmVtb3ZlKDApOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCmluZGV4IDY0MzIxNjU5YmIxYzIyOTRkMjIyYWZkZWJm
MzQ0NWNhNmI3NGMxNWMuLjdlMTJkNzNmN2JjMDRmY2Q3MmM5NTIxYjBmZDNlNzU5N2I5MDM5NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3Bw
CkBAIC01MDMsNyArNTAzLDcgQEAgdm9pZCBXZWJTb2NrZXQ6OnJlc3VtZSgpCiAgICAgICAgIG1f
Y2hhbm5lbC0+cmVzdW1lKCk7CiAgICAgZWxzZSBpZiAoIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5
KCkgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICAvLyBGaXJlIHRoZSBw
ZW5kaW5nIGV2ZW50cyBpbiBhIHRpbWVyIGFzIHdlIGFyZSBub3QgYWxsb3dlZCB0byBleGVjdXRl
IGFyYml0cmFyeSBKUyBmcm9tIHJlc3VtZSgpLgotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICB9CiAKICAgICBtX3Nob3VsZERlbGF5RXZlbnRGaXJpbmcgPSBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApp
bmRleCA0ZTRhYTdjM2E5YmIyNTI1OTVhNzI5MjMwODcwNjFiYjdiMzQyMzk5Li4xNzdiOGI1YTI3
YTFhNzY1NWE2NzdiNDM1MGNkYTk0MTkwNmEzMGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC02Miw3ICs2
Miw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIFRDUE1heGltdW1T
ZWdtZW50TGlmZXRpbWUgPSAyICogNjAuMDsKK2NvbnN0IFNlY29uZHMgVENQTWF4aW11bVNlZ21l
bnRMaWZldGltZSA9IFNlY29uZHMoMiAqIDYwKTsKIAogV2ViU29ja2V0Q2hhbm5lbDo6V2ViU29j
a2V0Q2hhbm5lbChEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQmIGNs
aWVudCwgU29ja2V0UHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogbV9kb2N1bWVudCgmZG9jdW1l
bnQpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpjbG9zZShpbnQg
Y29kZSwgY29uc3QgU3RyaW5nJiByZWFzb24pCiAgICAgUmVmPFdlYlNvY2tldENoYW5uZWw+IHBy
b3RlY3RlZFRoaXMoKnRoaXMpOyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQgY2xvc2luZyBoYW5kc2hh
a2UgbWF5IGZhaWwsIHdoaWNoIHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNsb3NlZCBhbmQgZGVyZWZl
cmVuY2VkLgogICAgIHN0YXJ0Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCByZWFzb24pOwogICAgIGlm
IChtX2Nsb3NpbmcgJiYgIW1fY2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY2xv
c2luZ1RpbWVyLnN0YXJ0T25lU2hvdCgyICogVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSk7Cisg
ICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhpbXVtU2VnbWVudExpZmV0
aW1lICogMik7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChjb25zdCBTdHJpbmcm
IHJlYXNvbikKQEAgLTI2Niw3ICsyNjYsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OnJlc3Vt
ZSgpCiB7CiAgICAgbV9zdXNwZW5kZWQgPSBmYWxzZTsKICAgICBpZiAoKCFtX2J1ZmZlci5pc0Vt
cHR5KCkgfHwgbV9jbG9zZWQpICYmIG1fY2xpZW50ICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jl
c3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5uZWw6
OmRpZE9wZW5Tb2NrZXRTdHJlYW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBkMWU4MjA1
YTExNjEyZjBkYWY4NDEwYjhlNjMxODk4YTFlMjZjMDc0Li4wZjRlMTFjNWZiNGIyYjExOTJkNjZl
N2ViMWFmYjIzMWZlOTkxMjdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhPYmplY3RDYWNoZS5jcHAKQEAgLTExMCw4ICsxMTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiAvLyBQb3N0IHZhbHVlIGNoYW5nZSBub3Rp
ZmljYXRpb25zIGZvciBwYXNzd29yZCBmaWVsZHMgb3IgZWxlbWVudHMgY29udGFpbmVkIGluIHBh
c3N3b3JkIGZpZWxkcyBhdCBhIDQwaHogaW50ZXJ2YWwgdG8gdGh3YXJ0IGFuYWx5c2lzIG9mIHR5
cGluZyBjYWRlbmNlCi1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hh
bmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyNTsKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJp
bGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyMDsKK3N0YXRp
YyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50
ZXJ2YWwgPSAwLjAyNV9zOworc3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25D
aGFuZ2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyX3M7CiAKIEFjY2Vzc2liaWxpdHlPYmpl
Y3RJbmNsdXNpb24gQVhDb21wdXRlZE9iamVjdEF0dHJpYnV0ZUNhY2hlOjpnZXRJZ25vcmVkKEFY
SUQgaWQpIGNvbnN0CiB7CkBAIC05OTMsNyArOTkzLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpw
b3N0Tm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCwgRG9jdW1lbnQqIGRv
Y3UKICAgICBpZiAocG9zdFR5cGUgPT0gUG9zdEFzeW5jaHJvbm91c2x5KSB7CiAgICAgICAgIG1f
bm90aWZpY2F0aW9uc1RvUG9zdC5hcHBlbmQoc3RkOjptYWtlX3BhaXIob2JqZWN0LCBub3RpZmlj
YXRpb24pKTsKICAgICAgICAgaWYgKCFtX25vdGlmaWNhdGlvblBvc3RUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICAgICAgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICAgICAgbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgfSBlbHNlCiAgICAgICAgIHBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbihvYmplY3QsIG5vdGlm
aWNhdGlvbik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cAppbmRleCBiZmYzYjBjYWVlZjhkNGIwZDM2MWMyY2M0YjI0OWZmMDgzNTgyZTI1Li5lNmU2NTY5
MGQzYjJkMWJlNGQxM2Q5MGRkYzQwNTcxZjkyM2MxNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgdm9pZCBHQ0NvbnRy
b2xsZXI6OmdhcmJhZ2VDb2xsZWN0U29vbigpCiB2b2lkIEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNv
bGxlY3RPbk5leHRSdW5Mb29wKCkKIHsKICAgICBpZiAoIW1fR0NUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX0dDVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR0NDb250cm9sbGVyOjpnY1RpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKaW5kZXggNWVhYjU1YjU0MzMzM2JkMTdmNjdiMTFl
YmFkNjYxNzcyODI1MDFmMS4uMDNiZTRmZGY2ZDZhMjQwYzhjNjVkNDNmNjIwMmMyNmRjZWQyMDEw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC00OTcsNyArNDk3LDcgQEAgdm9p
ZCBDU1NGb250RmFjZTo6c2V0U3RhdHVzKFN0YXR1cyBuZXdTdGF0dXMpCiAgICAgfQogCiAgICAg
aWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OkxvYWRpbmcpCi0gICAgICAgIG1fdGltZW91dFRpbWVy
LnN0YXJ0T25lU2hvdCh3ZWJGb250c1Nob3VsZEFsd2F5c0ZhbGxCYWNrKCkgPyAwIDogMyk7Cisg
ICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCh3ZWJGb250c1Nob3VsZEFsd2F5c0Zh
bGxCYWNrKCkgPyAwX3MgOiAzX3MpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6
OlN1Y2Nlc3MgfHwgbmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1l
b3V0VGltZXIuc3RvcCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmlu
ZGV4IGU4NDk4OGViZTA2YjZmNTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIuLjQ0MDQxZDYzYTcw
YmQ2OWVhMjIzNjQwYmQ1MGM1YTMzMmYxNTc4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
U2VsZWN0b3IuY3BwCkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJl
Z2luTG9hZGluZ0ZvbnRTb29uKENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8gYWZ0ZXIgdGhpcyBm
b250IGhhcyBiZWVuIHJlcXVlc3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxvYWRpbmcuIEJhbGFu
Y2VkIGJ5CiAgICAgLy8gZGVjcmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVnaW5Mb2FkVGltZXJG
aXJlZCgpIGFuZCBpbiBjbGVhckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVz
b3VyY2VMb2FkZXIoKS5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0gICAgbV9iZWdpbkxv
YWRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZFRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9y
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3Bw
CmluZGV4IGE3NTI4M2EyYjI3YzNkZWQ4ZDk0MzEyZGUwNGE0MTU4ZWVjYzJmOTMuLjRkNDA2MTcy
NjM5YzQ5ZWZkNzc1MmFkZmVhM2Y5M2RlNWE2ZjlmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0byB0aW1lVG9LZWVwQ2FjaGVkR2VuZXJh
dGVkSW1hZ2VzID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAzIH07CitzdGF0aWMgY29uc3QgU2Vj
b25kcyB0aW1lVG9LZWVwQ2FjaGVkR2VuZXJhdGVkSW1hZ2VzID0gM19zOwogCiBDU1NJbWFnZUdl
bmVyYXRvclZhbHVlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlKENsYXNzVHlwZSBjbGFzc1R5cGUp
CiAgICAgOiBDU1NWYWx1ZShjbGFzc1R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKaW5kZXggOTEzNjNjMTQzYjI2Y2E0MTlhZmU0ZTRiZTIyMTczN2UxNTExZjA0Zi4uYjU4ODZh
NTQ5ZDZiOTU0MjUzYzUyZmIxZmM4OGU5MDc0ZjEwNGQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcApAQCAtMTIzOSw4ICsxMjM5LDggQEAgdm9pZCBTdHlsZVJlc29sdmVyOjph
ZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25z
dAogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZUFkZGl0
aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVkUHJvcGVydGllc0Nh
Y2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVBZGRp
dGlvbnNCZXR3ZWVuU3dlZXBzCiAgICAgICAgICYmICFtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVT
d2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1h
dGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgICAgIG1f
bWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1hdGNoZWREZWNs
YXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgc3RhdGljIGNvbnN0IFNl
Y29uZHMgbWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUgPSA2MF9zOworICAgICAgICBt
X21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRjaGVkRGVj
bGFyYXRpb25DYWNoZVN3ZWVwVGltZSk7CiAgICAgfQogCiAgICAgQVNTRVJUKGhhc2gpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZGQ5NDRmMmRlOWYyMzc5YmUyODM2NjIyMDQxZmM3M2Rh
ZDI3Mjg2OC4uZGMzYTcwMmE0YzBiYmE0ZjVlMDE2ZGYzNjNkZmNjODg5MDhhOThlNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjU3LDcgKzEyNTcsNyBAQCB2b2lkIERvY3VtZW50Ojpz
ZXRWaXN1YWxVcGRhdGVzQWxsb3dlZChib29sIHZpc3VhbFVwZGF0ZXNBbGxvd2VkKQogICAgIGlm
ICh2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgbV92aXN1YWxVcGRhdGVzU3VwcHJlc3Np
b25UaW1lci5zdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3Zpc3VhbFVwZGF0ZXNTdXBwcmVz
c2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRhbFJlbmRlcmluZ1N1
cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1YWxVcGRhdGVzU3Vw
cHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXQoKSk7CiAKICAgICBpZiAoIXZpc3VhbFVwZGF0ZXNBbGxvd2Vk
KQogICAgICAgICByZXR1cm47CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCB2b2lkIERvY3VtZW50Ojpz
Y2hlZHVsZVN0eWxlUmVjYWxjKCkKICAgICAvLyBGSVhNRTogV2h5IG9uIGVhcnRoIGlzIHRoaXMg
aGVyZT8gVGhpcyBpcyBjbGVhcmx5IG1pc3BsYWNlZC4KICAgICBpbnZhbGlkYXRlQWNjZXNzS2V5
TWFwKCk7CiAgICAgCi0gICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uKCp0aGlzKTsKIH0K
QEAgLTI4MjIsNyArMjgyMiw3IEBAIHZvaWQgRG9jdW1lbnQ6OndyaXRlbG4oY29uc3QgU3RyaW5n
JiB0ZXh0LCBEb2N1bWVudCogb3duZXJEb2N1bWVudCkKICAgICB3cml0ZSgiXG4iLCBvd25lckRv
Y3VtZW50KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVySW50
ZXJ2YWwoKSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYg
KCFwYWdlKQpAQCAtMjgzOSw3ICsyODM5LDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJUaHJv
dHRsaW5nRW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVu
dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwp
IGNvbnN0CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFz
UmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudEludGVy
dmFsID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChoYXNS
ZWFjaGVkTWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNSw4ICs1MDI1LDggQEAgdm9pZCBEb2N1
bWVudDo6ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGluc2Vy
dGVkIGNvbnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9ucy4K
ICAgICAvLyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBhY2Nl
c3Mgc2luY2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAgICAv
LyBhbGl2ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNldHRp
bmcgLmlubmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0IGlu
dCB0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNl
Y29uZHMgPSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hv
dCh0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNl
Y29uZHMpOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQ
b29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9zaGFyZWRPYmplY3RQ
b29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2
ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91bGQgaGF2ZSBwaWNr
ZWQgdXAgYWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNs
ZWFyUHJlbG9hZHMoKTsKQEAgLTUyNTMsNyArNTI1Myw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0
ZUZvY3VzQXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCiB7CiAg
ICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7CiAgICAg
aWYgKCFtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
dXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Vw
ZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERv
Y3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQzOCw3ICs1NDM4LDcg
QEAgdm9pZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpS
ZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9i
amVjdDo6V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJl
c3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNjcmlwdFJ1bm5lcigp
LT5yZXN1bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNvbik7CiAgICAgcmVz
dW1lU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBAIC01Njg1LDcgKzU2
ODUsNyBAQCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVu
dCogZWxlbWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUgKDApOwogCiAgICAg
bV9mdWxsU2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxlbWVu
dCA6IGRvY3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVu
KCkKQEAgLTU4NTIsNyArNTg1Miw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVs
bFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5k
aWRCZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVs
YXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRG
dWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4ODksNyArNTg4OSw3IEBAIHZvaWQg
RG9jdW1lbnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAg
ICBib29sIGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRh
cmdldFF1ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUu
aXNFbXB0eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1
ZXVlc0VtcHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50
Lm1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRp
bmdEb2N1bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNj
cmVlbiogcmVuZGVyZXIpCkBAIC02MDU1LDcgKzYwNTUsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNy
ZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsK
IAogICAgIGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2
ZW50RGVsYXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCgp
CkBAIC02Njk5LDcgKzY2OTksNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29u
dHJvbChFbGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NvY2lhdGVk
Rm9ybUNvbnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNzb2NpYXRlRm9ybUNv
bnRyb2xzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJv
bHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRy
b2xzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29j
aWF0ZUZvcm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcxOSw3ICs2NzE5LDcgQEAgdm9pZCBE
b2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNvb2tpZXMpCiAgICAg
QVNTRVJUKCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNoZWRET01Db29raWVz
ID0gY29va2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlkIGF0IG1vc3QgdW50
aWwgd2UgZ28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNvb2tpZUNh
Y2hlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYTQyNTU4MzdkN2RlYTRhYTgzZWFkZGJlMTdh
Y2NkNTA5MTM3YTNlNS4uNDRjMDU3YTMyZTE4NDZhMmUxOTc3MTExYjdkMzA1Y2Q0ZTA5ODdjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVy
LCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFj
az4mJiwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5p
bXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNv
bnN0IGZpbmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1Jl
YWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVUaXRs
ZUZyb21UaXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dp
dGhEaXJlY3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2
ZW50UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAK
aW5kZXggOWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4uYmQ5M2JhNjJj
ZTZlMjIxZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1bWVudEV2ZW50
UXVldWU6OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBtX3F1ZXVlZEV2
ZW50cy5hZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4NzJkODVhMWE0NTUx
YWQwMTk5MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYzNjkyYmZlZTFlNzBj
OWFiMDJjNmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNjYsNyArNjYsNyBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50
U29vbihUJiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFwcGVuZCgmc2VuZGVy
KTsKICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRl
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0
YzdhODU5MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3ODAyNTUyMTY5ODk2
MDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQg
TWljcm90YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2sp
CiAgICAgZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2sp
KTsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rh
c2smIHRhc2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5j
cHAKaW5kZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5
YzczZGQ5ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1Ymxp
Y1VSTE1hbmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQog
ICAgIHJldHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpCiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRp
bWVySW50ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFs
dWVzKCkpCkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojph
ZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9
CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
bWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQg
aW1wbGVtZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWlu
aW11bSB0aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRl
ZApAQCAtNDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hh
bmdlVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGln
bm1lbnRJbnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29u
ZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBj
b25zdAogewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBj
OTI5OGQzMmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIw
ZThhZjRkOGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25k
cy4KLSAgICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQg
YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZh
bCk7CisgICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAK
ICAgICB2b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFs
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhh
c1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1l
ckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7
CiAKICAgICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdk
MDlhNDA0OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5M2Q5ODEwZGJkM2Zh
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9p
ZCBTY3JpcHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7
CiAgICAgaWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkK
QEAgLTEwMCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVu
ZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29v
bi5hcHBlbmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1NjcmlwdCktPnB0cigp
KTsKICAgICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwotICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgU2NyaXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRh
Njc0MDE5NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYx
ZjEwMjgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2No
ZWR1bGVEZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1
bWVudC0+ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVU
aW1lc3RhbXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVs
ZURlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVk
dWxlRGVsYXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1
bWVudC0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2
N2Y5Njg0MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzljN2RmNWRiZjJkMGI5
YjJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBA
QCBzdGF0aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlKCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0YXRpYyBjb25zdCBp
bnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAw
OworCiBjbGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoK
ICAgICAgICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlv
bkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5U
aW1lci5zdGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwog
ICAgICB9CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlv
bkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0
IGludCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAx
MDA7Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1
dGVDYWNoZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNh
Y2hlQ2xlYW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAg
ICB7CisgICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhp
dENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5U
aW1lLnZhbHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENv
dW50OwogICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcApp
bmRleCBkNWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42ZjJmNDk3OTI5
NjdlYzc1ZmY4ODgzY2UyZDc2ZWEwNDBjY2NkMGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAs
NyBAQCBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
cigpCiAKIHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRl
eHRVSVRpbWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUg
Y29ycmVjdGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBTZWNvbmRzIGNv
cnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAoIWlzQXV0b21hdGlj
U3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVm
YzE3YTM3Li4zYmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZhMjJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6
cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVT
ZWxlY3Rpb246OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAh
UExBVEZPUk0oSU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0g
ICAgICAgIG1fdGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2Uo
dHJ1ZSk7CkBAIC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdl
ZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogICAg
IG1fZWRpdG9yVUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRHcmFtbWFyID0gb3B0
aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAmJiAhKG9wdGlvbnMg
JiBGcmFtZVNlbGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsKICAgICBtX2VkaXRv
clVJVXBkYXRlVGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlvbnMgJiBGcmFtZVNl
bGVjdGlvbjo6RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExB
VEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRl
eCAzNTYxNzQ5MGJhODYwZjJiOWVhNDg1NjFkOTA1NjJmZThjNzJiNDJhLi5jYTI5MjQ5NmU4YjBh
MmNjZjFlMmEwYmU5NGI4NjU5NjFmNzQxMGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcApAQCAtMjA0NSw3ICsyMDQ1LDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlv
bjo6dXBkYXRlQXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcgd2l0aCBhIGJsYWNr
IGNhcmV0LiBCZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAgLy8gYWxyZWFkeSBi
bGlua2luZyBpbiB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3VsZEJsaW5rICYmICFt
X2NhcmV0QmxpbmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChkb3VibGUgYmxpbmtJ
bnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkK
KyAgICAgICAgaWYgKFNlY29uZHMgYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhl
bWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2FyZXRCbGlua1RpbWVy
LnN0YXJ0UmVwZWF0aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlmICghbV9jYXJldFBh
aW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKaW5kZXggOWQwZjg3
MzZlMDgxYzNkZjRmY2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2NlMGM5YzdiYWM1MTli
ZmI1ODQ1Y2IzYmU3M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9T
cGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2Vy
LmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQg
c2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAKICAgICBt
X3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlz
RW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3VjY2VlZChpbnQgc2Vx
dWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFhN2I5MjUxMzQxMGU0
MDZmNDM0NWRjODNjZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBhZGNiYTkzYTZiZDVk
MGZhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQ0MSw3
ICs0NDEsNyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0
ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0Y2ggZXZlbnRzIGxh
dGVyIGFzIHRoaXMgQVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3VzbHkgaW4gYWxsIHNp
dHVhdGlvbnMgYW5kIGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVxdWVzdEF1dG9jb21w
bGV0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2Nv
bXBsZXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAppbmRleCBhMWY0ZmUxOGM1ZDVhNjAwNDk0ZGI0YjE2OGNkODQ0YzZkZTZkZGRiLi5lYWYxMzY0
NmJiNDhlNjRjNWYyYWI0YTUxNjhkMDJhZjExNzgxZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVsYXkgPSAwLjE7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIFNjYW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNvbnN0IGRvdWJsZSBT
ZWVrVGltZSA9IDAuMjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41
Owogc3RhdGljIGNvbnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29u
c3QgZG91YmxlIEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gU2Vjb25kcyg2
KTsKIAogc3RhdGljIHZvaWQgc2V0RmxhZ3ModW5zaWduZWQmIHZhbHVlLCB1bnNpZ25lZCBmbGFn
cykKIHsKQEAgLTkyMCw3ICs5MjAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxl
RGVsYXllZEFjdGlvbihEZWxheWVkQWN0aW9uVHlwZSBhY3Rpb25UeXBlKQogICAgIGlmIChhY3Rp
b25UeXBlICYgVXBkYXRlUGxheVN0YXRlKQogICAgICAgICBzZXRGbGFncyhtX3BlbmRpbmdBY3Rp
b25GbGFncywgVXBkYXRlUGxheVN0YXRlKTsKIAotICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCgp
CkBAIC05MjgsNyArOTI4LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRT
b3VyY2VDaGlsZCgpCiAgICAgLy8gU2NoZWR1bGUgdGhlIHRpbWVyIHRvIHRyeSB0aGUgbmV4dCA8
c291cmNlPiBlbGVtZW50IFdJVEhPVVQgcmVzZXR0aW5nIHN0YXRlIGFsYSBwcmVwYXJlRm9yTG9h
ZC4KICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRTb3VyY2VD
aGlsZCglcCkgLSBzZXR0aW5nICVzIGZsYWciLCB0aGlzLCBhY3Rpb25OYW1lKExvYWRNZWRpYVJl
c291cmNlKS51dGY4KCkuZGF0YSgpKTsKICAgICBzZXRGbGFncyhtX3BlbmRpbmdBY3Rpb25GbGFn
cywgTG9hZE1lZGlhUmVzb3VyY2UpOwotICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckFjdGl2ZVNvdXJjZUJ1ZmZlcnND
aGFuZ2VkKGNvbnN0IE1lZGlhUGxheWVyKikKQEAgLTE5NjcsNyArMTk2Nyw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKQogCiAgICAgbV9wcmV2aW91
c1Byb2dyZXNzVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgIC8vIDM1
MG1zIGlzIG5vdCBtYWdpYywgaXQgaXMgaW4gdGhlIHNwZWMhCi0gICAgbV9wcm9ncmVzc0V2ZW50
VGltZXIuc3RhcnRSZXBlYXRpbmcoMC4zNTApOworICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKDAuMzUwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndhaXRG
b3JTb3VyY2VDaGFuZ2UoKQpAQCAtMzM1NCw3ICszMzU0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjpiZWdpblNjYW5uaW5nKFNjYW5EaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgICAgICBzZXRQ
bGF5YmFja1JhdGUobmV4dFNjYW5SYXRlKCkpOwogICAgIH0KIAotICAgIG1fc2NhblRpbWVyLnN0
YXJ0KDAsIG1fc2NhblR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXRE
ZWxheSk7CisgICAgbV9zY2FuVGltZXIuc3RhcnQoMF9zLCBtX3NjYW5UeXBlID09IFNlZWsgPyBT
ZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OmVuZFNjYW5uaW5nKCkKQEAgLTMzOTMsNyArMzM5Myw3IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVy
aW9kaWMgdGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkK
IC8vICIxNSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRp
YyBjb25zdCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjVfczsKIAog
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXliYWNrUHJvZ3Jlc3NUaW1lcigpCiB7CkBA
IC0zNDQwLDcgKzM0NDAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVw
ZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKICAgICBkb3VibGUgdGltZWRlbHRhID0gbm93
IC0gbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIHRocm90dGxlIHRoZSBw
ZXJpb2RpYyBldmVudHMKLSAgICBpZiAocGVyaW9kaWNFdmVudCAmJiB0aW1lZGVsdGEgPCBtYXhU
aW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpCisgICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRl
bHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5LnZhbHVlKCkpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIC8vIFNvbWUgbWVkaWEgZW5naW5lcyBtYWtlIG11bHRpcGxlICJ0aW1lIGNoYW5n
ZWQiIGNhbGxiYWNrcyBhdCB0aGUgc2FtZSB0aW1lLCBidXQgd2Ugb25seSB3YW50IG9uZQpAQCAt
NDM3MSw3ICs0MzcxLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5
YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8v
cHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUgZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6
Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikpOwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlv
bkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGlt
ZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgbV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRU
aW1lci5zdGFydE9uZVNob3QoMC41X3MpOwogCiAgICAgaWYgKCFtX2lzU2NydWJiaW5nUmVtb3Rl
bHkpIHsKICAgICAgICAgbV9pc1NjcnViYmluZ1JlbW90ZWx5ID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggYTg2NGU4N2VhZmQ0MjgzZTU0ZjFl
NDBiZmVjZjkyMjVhNWNiNWRkNi4uMTUxMGM1ODlmZGVkMmIxZTM5MTg2NTZhYTdjNzI3NjUwYzdm
ZTVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTI4
OSw3ICsyODksNyBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNwbGF5U3RhdGUoRGlz
cGxheVN0YXRlIHN0YXRlKQogICAgIG1fZGlzcGxheVN0YXRlID0gc3RhdGU7CiAgICAgCiAgICAg
aWYgKChzdGF0ZSA9PSBEaXNwbGF5aW5nU25hcHNob3QgfHwgZGlzcGxheVN0YXRlKCkgPT0gUHJl
cGFyaW5nUGx1Z2luUmVwbGFjZW1lbnQpICYmICFtX3N3YXBSZW5kZXJlclRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fc3dhcFJlbmRlcmVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3N3YXBSZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxQ
bHVnSW5FbGVtZW50OjpkaWRBZGRVc2VyQWdlbnRTaGFkb3dSb290KFNoYWRvd1Jvb3QqIHJvb3Qp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAppbmRl
eCBiOTZlM2NlMzEzZGY0OGQyOTJlMzcyODBmM2Y5OTk2N2ZjYjBhOTA4Li41MDQxYjViNmM5NWRk
NWNmODRlNjViNDMzN2RkZDMwZjliMjM2NzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKQEAgLTcyLDEwICs3MiwxMCBAQCBzdGF0aWMgY29u
c3QgZmxvYXQgc2l6aW5nRnVsbFBhZ2VBcmVhUmF0aW9UaHJlc2hvbGQgPSAwLjk2Owogc3RhdGlj
IGNvbnN0IGZsb2F0IGF1dG9zdGFydFNvb25BZnRlclVzZXJHZXN0dXJlVGhyZXNob2xkID0gNS4w
OwogCiAvLyBUaGlzIGRlbGF5IHNob3VsZCBub3QgZXhjZWVkIHRoZSBzbmFwc2hvdCBkZWxheSBp
biBQbHVnaW5WaWV3LmNwcAotc3RhdGljIGNvbnN0IGF1dG8gc2ltdWxhdGVkTW91c2VDbGlja1Rp
bWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNzUwIH07CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IDAuNzVfczsKIAogI2lm
IFBMQVRGT1JNKENPQ09BKQotc3RhdGljIGNvbnN0IGF1dG8gcmVtb3ZlU25hcHNob3RUaW1lckRl
bGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDE1MDAgfTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IDEuNV9zOwogI2VuZGlmCiAKIHN0YXRp
YyBjb25zdCBTdHJpbmcgdGl0bGVUZXh0KFBhZ2UqIHBhZ2UsIFN0cmluZyBtaW1lVHlwZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXggNDUwMThiNzFjMWM4
YzI2ZTQ4NGY1MWMwYzM2NWFmODE1ZTdmNjM5Zi4uZWRhZTBjNGNiOGNhZWZhZjU4MDdiNjQyMzM4
ZDZhMTI1MGQ5NDY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5j
cHAKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVy
cm9yRXZlbnQoKQogICAgIGlmIChtX2Vycm9yRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFNvdXJj
ZUVsZW1lbnQ6OmNhbmNlbFBlbmRpbmdFcnJvckV2ZW50KCkKQEAgLTE2Niw3ICsxNjYsNyBAQCB2
b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24gd2h5KQog
dm9pZCBIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9zaG91bGRSZXNj
aGVkdWxlRXJyb3JFdmVudE9uUmVzdW1lKSB7Ci0gICAgICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJlc3VtZSA9IGZhbHNl
OwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCmluZGV4
IDA3ZjQyZDk5ZjhkN2I0OGE5YmEyNDFiNGM0NzFkNTc5ZjU1ZThiZDUuLmZhMDI2MmNjNjhjYTNk
YmY4YTQ1NzcyNGIyYTU2MmY2YzY0NWViMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJh
Y2tFbGVtZW50LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgSFRNTFRyYWNrRWxlbWVudDo6
c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4gUnVuIHRoZSByZW1h
aW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFsbG93aW5nIHdoYXRldmVyIGNh
dXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0gICAgbV9sb2FkVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2
b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFDb250cm9sbGVyLmNwcAppbmRleCA5NTQwNTI1MDllYjdlMjJiYTI5NzJlZWFiNzY5MWJj
NTc0NDNmMzhiLi4wNmQ2NDU4ZWY2ZmViZjMzNDUzZDA4NGQyYzg3YmE1YTlkZWQzZDUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01Nyw3ICs1Nyw2IEBAIE1l
ZGlhQ29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQpCiAgICAgLCBtX2Nsb2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dChjb250ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZN
ZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91
c1RpbWV1cGRhdGVUaW1lKDApCiB7CiB9CiAKQEAgLTE0OCw3ICsxNDcsNyBAQCBkb3VibGUgTWVk
aWFDb250cm9sbGVyOjpjdXJyZW50VGltZSgpIGNvbnN0CiAgICAgaWYgKG1fcG9zaXRpb24gPT0g
TWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCkpIHsKICAgICAgICAgLy8gU29tZSBjbG9ja3MgbWF5
IHJldHVybiB0aW1lcyBvdXRzaWRlIHRoZSByYW5nZSBvZiBbMC4uZHVyYXRpb25dLgogICAgICAg
ICBtX3Bvc2l0aW9uID0gc3RkOjptYXg8ZG91YmxlPigwLCBzdGQ6Om1pbihkdXJhdGlvbigpLCBt
X2Nsb2NrLT5jdXJyZW50VGltZSgpKSk7Ci0gICAgICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jbGVhclBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1fcG9zaXRpb247CkBAIC01MzcsNyArNTM2LDcg
QEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudE5hbWUpCiB7CiAgICAgbV9wZW5kaW5nRXZlbnRzLmFwcGVuZChFdmVudDo6Y3JlYXRl
KGV2ZW50TmFtZSwgZmFsc2UsIHRydWUpKTsKICAgICBpZiAoIW1fYXN5bmNFdmVudFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9hc3luY0V2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVk
aWFDb250cm9sbGVyOjphc3luY0V2ZW50VGltZXJGaXJlZCgpCkBAIC02NjMsNyArNjYyLDcgQEAg
dm9pZCBNZWRpYUNvbnRyb2xsZXI6OnJldHVyblRvUmVhbHRpbWUoKQogCiAvLyBUaGUgc3BlYyBz
YXlzIHRvIGZpcmUgcGVyaW9kaWMgdGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUg
cGxheWluZykgZXZlcnkKIC8vICIxNSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBm
cmVxdWVuY3kKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5
ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5j
eSA9IDI1MF9tczsKIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVy
KCkKIHsKQEAgLTY3NSw4ICs2NzQsOCBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c3RhcnRUaW1l
dXBkYXRlVGltZXIoKQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBkYXRl
RXZlbnQoKQogewotICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKLSAgICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1l
OworICAgIE1vbm90b25pY1RpbWUgbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgU2Vj
b25kcyB0aW1lZGVsdGEgPSBub3cgLSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAKICAgICBp
ZiAodGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5KQogICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAppbmRleCAxNzhmYTc0MmRmODNh
M2YyMzIwNjM1ZTM4Mzg0MDMxNzYzYjViM2QyLi5hOTE5MjQ4MTdjNTE0ZWJjODAwZmNjODBjYTVk
MDNlYzdhOGE2MGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJv
bGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKQEAgLTE0
NSw3ICsxNDUsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDbG9jaz4gbV9jbG9j
azsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAgICAgVGltZXIgbV90aW1ldXBkYXRlVGltZXI7Ci0gICAgZG91YmxlIG1fcHJldmlvdXNUaW1l
dXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsK
ICAgICBib29sIG1fcmVzZXRDdXJyZW50VGltZUluTmV4dFBsYXkgeyBmYWxzZSB9OwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKaW5kZXggNzg1Mzg2MzJjYWE1YjMzMDRh
ZWUzMjFjNzhhYzUxZjFiN2Y2MGZmZS4uY2Q2NmQyODQwNTgyZmI0MjQ1MTQ4ZTJmYzllNTYyNjg1
NWIwZmVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCkBAIC0yMjksNyAr
MjI5LDcgQEAgdm9pZCBNZWRpYURvY3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRy
YWNrcygpCiAgICAgLy8gYW5kIGxldCB0aGUgcGx1Z2luIGhhbmRsZSB0aGlzLiBEb24ndCBkbyBp
dCBpbW1lZGlhdGVseSBhcyB0aGlzIAogICAgIC8vIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgZGly
ZWN0bHkgZnJvbSBhIG1lZGlhIGVuZ2luZSBjYWxsYmFjaywgYW5kIAogICAgIC8vIHJlcGxhY2VD
aGlsZCB3aWxsIGRlc3Ryb3kgdGhlIGVsZW1lbnQsIG1lZGlhIHBsYXllciwgYW5kIG1lZGlhIGVu
Z2luZS4KLSAgICBtX3JlcGxhY2VNZWRpYUVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgTWVkaWFEb2N1bWVudDo6cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggNWNiNzNiYmMyNWYz
MDQwMTM3MDQ0NzMxZmI1NWUzZmY4ZTJmY2RhMy4uNjliMDVjZjAxMGEwZjM0M2VhOThmYWYzODg2
NWIxNjlhMWYzN2YyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCkBAIC01Nyw3ICs1Nyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGlj
IGNvbnN0IGRvdWJsZSBlbGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsID0gLjI1MDsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIGVsZW1lbnRNYWluQ29udGVudENoZWNrSW50ZXJ2YWwgPSAwLjI1
X3M7CiAKIHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBI
VE1MTWVkaWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1h
aW5Db250ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVu
dFB1cnBvc2UpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6
ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBoYXNUYXJnZXRzCiAg
ICAgTE9HKE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VB
dmFpbGFibGVEaWRDaGFuZ2UoJXApIC0gaGFzVGFyZ2V0cyAlcyIsIHRoaXMsIGhhc1RhcmdldHMg
PyAiVFJVRSIgOiAiRkFMU0UiKTsKIAogICAgIG1faGFzUGxheWJhY2tUYXJnZXRzID0gaGFzVGFy
Z2V0czsKLSAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuUGxheVRvV2lyZWxlc3NQbGF5
YmFja1RhcmdldCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJj
aElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAK
aW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uODlkOTU4OWJm
YjQxNmY5MGM3N2I4NzllNWZkNzk5OGRlMjJiYmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJz
dCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXks
IDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2Vh
cmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5n
dGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc3RkOjpt
YXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5ndGgpKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBl
OjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCmluZGV4IDlkNWRjYWNmYmVjMWUzMGNiZjg3MDExMWM0ZTQyNTIxMWY5Y2FhZTQu
LmI3YmY1ZTFiYWIyYTZkNWQ3YWYzMDkyMDhjYjRiN2I4Mjc3YTIwMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBW
YWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAg
ICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25N
ZXNzYWdlOjpidWlsZEJ1YmJsZVRyZWUpOwogICAgIGVsc2UKICAgICAgICAgbV90aW1lciA9IHN0
ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3Nh
Z2VET01BbmRTdGFydFRpbWVyKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAg
bV90aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6
OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKCkKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIFZh
bGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCiAgICAgICAgIG1f
dGltZXIgPSBudWxscHRyOwogICAgIGVsc2UgewogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtl
X3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJl
ZSk7Ci0gICAgICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdChzdGQ6Om1heCg1LjAsIHN0YXRpY19j
YXN0PGRvdWJsZT4obV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwKSk7
CisgICAgICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdChzdGQ6Om1heCg1X3MsIFNlY29uZHMobV9t
ZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwLjApKTsKICAgICB9CiB9CiAK
QEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0VG9IaWRl
TWVzc2FnZSgpCiAKICAgICAvLyBXZSBtdXN0IG5vdCBtb2RpZnkgdGhlIERPTSB0cmVlIGluIHRo
aXMgY29udGV4dCBieSB0aGUgc2FtZSByZWFzb24gYXMgc2V0TWVzc2FnZSgpLgogICAgIG1fdGlt
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpk
ZWxldGVCdWJibGVUcmVlKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV90
aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgVmFsaWRhdGlvbk1lc3NhZ2U6OnNo
YWRvd1RyZWVDb250YWlucyhjb25zdCBOb2RlJiBub2RlKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApp
bmRleCAzZTlkY2NhYzUxY2YyM2RjYzg0ZTg0YTNhYmYxN2FjZTcwYzIxMzAzLi41NWQzNWViMTEz
ODYzMzU3NzI0YjUwNWI4ZDQwMTU4Y2NhZjVmMDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtOTgs
NyArOTgsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBzZWNvbmRz
QmV0d2VlblJlc3RvcmVBdHRlbXB0cyA9IDEuMDsKK2NvbnN0IFNlY29uZHMgdGltZUJldHdlZW5S
ZXN0b3JlQXR0ZW1wdHMgPSAxX3M7CiBjb25zdCBpbnQgbWF4R0xFcnJvcnNBbGxvd2VkVG9Db25z
b2xlID0gMjU2OwogCiBuYW1lc3BhY2UgewpAQCAtNDY2Niw3ICs0NjY2LDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpsb3NlQ29udGV4dEltcGwoV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6TG9zdEMKIAogICAgIC8vIEFsd2F5cyBkZWZlciB0aGUgZGlzcGF0Y2ggb2YgdGhl
IGNvbnRleHQgbG9zdCBldmVudCwgdG8gaW1wbGVtZW50CiAgICAgLy8gdGhlIHNwZWMgYmVoYXZp
b3Igb2YgcXVldWVpbmcgYSB0YXNrLgotICAgIG1fZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
Zm9yY2VSZXN0b3JlQ29udGV4dCgpCkBAIC00NjgzLDcgKzQ2ODMsNyBAQCB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQogICAgIH0KIAogICAgIGlm
ICghbV9yZXN0b3JlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogUGxhdGZvcm1MYXllciogV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6cGxhdGZvcm1M
YXllcigpIGNvbnN0CkBAIC01NjE0LDcgKzU2MTQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCgpCiAgICAgY2FudmFzKCkuZGlzcGF0
Y2hFdmVudChldmVudCk7CiAgICAgbV9yZXN0b3JlQWxsb3dlZCA9IGV2ZW50LT5kZWZhdWx0UHJl
dmVudGVkKCk7CiAgICAgaWYgKG1fY29udGV4dExvc3RNb2RlID09IFJlYWxMb3N0Q29udGV4dCAm
JiBtX3Jlc3RvcmVBbGxvd2VkKQotICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQoKQpAQCAtNTY3
OSw3ICs1Njc5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3Rv
cmVDb250ZXh0KCkKICAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQoR3JhcGhp
Y3NDb250ZXh0M0Q6OmNyZWF0ZShtX2F0dHJpYnV0ZXMsIGhvc3RXaW5kb3cpKTsKICAgICBpZiAo
IWNvbnRleHQpIHsKICAgICAgICAgaWYgKG1fY29udGV4dExvc3RNb2RlID09IFJlYWxMb3N0Q29u
dGV4dCkKLSAgICAgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzQmV0
d2VlblJlc3RvcmVBdHRlbXB0cyk7CisgICAgICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9u
ZVNob3QodGltZUJldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAvLyBUaGlzIGxpa2VseSBzaG91bGRuJ3QgaGFwcGVuIGJ1dCBpcyB0aGUgYmVzdCB3YXkg
dG8gcmVwb3J0IGl0IHRvIHRoZSBXZWJHTCBhcHAuCiAgICAgICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICIiLCAiZXJyb3IgcmVz
dG9yaW5nIGNvbnRleHQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFBhcnNlclNjaGVkdWxlci5jcHAKaW5kZXggMjgzMzdkODZkNTNmODlkZWE1Mzk4YmY2M2M2ZmI4
YzExMzVkMzYxZC4uZTZjMzgyZjQ0NTg1MmVhMDI3YTkxMjZmNjM5MzE2OTliM2EyYjJhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5j
cHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVl
TmV4dENodW5rVGltZXJGaXJlZCgpCiAgICAgLy8gRklYTUU6IFRoZSB0aW1lciBjbGFzcyBzaG91
bGQgaGFuZGxlIHRpbWVyIHByaW9yaXRpZXMgaW5zdGVhZCBvZiB0aGlzIGNvZGUuCiAgICAgLy8g
SWYgYSBsYXlvdXQgaXMgc2NoZWR1bGVkLCB3YWl0IGFnYWluIHRvIGxldCB0aGUgbGF5b3V0IHRp
bWVyIHJ1biBmaXJzdC4KICAgICBpZiAobV9wYXJzZXIuZG9jdW1lbnQoKS0+aXNMYXlvdXRUaW1l
ckFjdGl2ZSgpKSB7Ci0gICAgICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3BhcnNlci5yZXN1bWVQYXJzaW5nQWZ0
ZXJZaWVsZCgpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c2hvdWxkWWllbGRCZWZvcmVFeGVjdXRpbmdTY3JpcHQoUHVtcFNlc3Npb24mIHNlc3Npb24pCiB2
b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1lKCkKIHsKICAgICBBU1NF
UlQoIW1fc3VzcGVuZGVkKTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzdXNwZW5kKCkKQEAgLTE0OCw3ICsxNDgs
NyBAQCB2b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnJlc3VtZSgpCiAgICAgaWYgKCFtX2lzU3Vz
cGVuZGVkV2l0aEFjdGl2ZVRpbWVyKQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1N1c3BlbmRl
ZFdpdGhBY3RpdmVUaW1lciA9IGZhbHNlOwotICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRp
YUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggMTVlYTFmMDhjMzA2M2M2MTM0MjBkYmUxNTY2NjVh
ODE4M2JlYzU0NS4uNzY5NjMxYWY2ODBjYjE1NzM1OGFmODkzNmVmMWRiMjE0NTU3ODExZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcApAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50Ojpz
dGFydFRpbWVyKCkKICAgICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9w
ZXJ0eSBkaXNwbGF5Oidub25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRp
b25zIGFyZSBjb3JyZWN0bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAg
ICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBk
dXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCku
bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9u
ID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNv
bnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApAQCAtMTg4LDEwICsxODgsMTAgQEAgdm9pZCBNZWRp
YUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUoKQogICAgIGlmIChtX29wYXF1ZSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkg
PyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24o
KSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwX3M7
CiAKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3Bl
cnR5LCBDU1NQcm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NT
UHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1MpOworICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9u
RHVyYXRpb24sIGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAg
ICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDEuMCwgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSB0cnVlOwpAQCAtMjA1
LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VUcmFuc3Bh
cmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91Ymxl
IGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUo
KS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAgIFNlY29uZHMgZHVyYXRp
b24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlh
Q29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAogICAgIHNldElubGluZVN0eWxlUHJv
cGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHksIENTU1Byb3BlcnR5T3BhY2l0eSk7
Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlv
biwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CisgICAgc2V0SW5saW5lU3R5
bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24udmFsdWUo
KSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5
KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7
CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpAQCAtMTMzNiw3ICsxMzM2LDcgQEAgdm9pZCBNZWRp
YUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVTaXplcyhib29sIGZvcmNl
VXBkYXRlKQogICAgIG1fdXBkYXRlVGV4dFRyYWNrUmVwcmVzZW50YXRpb25TdHlsZSA9IHRydWU7
CiAKICAgICAvLyBGSVhNRSAoMTIxMTcwKTogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZHVyaW5n
IGxheW91dCwgYW5kIHNob3VsZCBsYXkgb3V0IHRoZSB0ZXh0IHRyYWNrcyBpbW1lZGlhdGVseS4K
LSAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiBSZWZQdHI8SW1hZ2U+IE1lZGlhQ29udHJvbFRleHRUcmFj
a0NvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uSW1hZ2UoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRl
eCAyMTBmNmE5ZGY1YWM3NzE3NWE5ODEyYWMwNTEwNDIyMzJhMzQwZjMzLi44MGZiYjM1YjAxZWU3
ODI1NzU1OWFhNzFlYjczNmE1YjFiOWU4NTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIExvYWRh
YmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQoY29uc3QgVVJMJiB1cmwpCiAgICAgLy8gMy4gQXN5
bmNocm9ub3VzbHkgcnVuIHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxlIGNvbnRpbnVpbmcgd2l0
aCB3aGF0ZXZlciB0YXNrIAogICAgIC8vIHdhcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhl
IHRleHQgdHJhY2sgb3IgY2hhbmdpbmcgdGhlIHRleHQgdHJhY2sgbW9kZS4KICAgICBpZiAoIW1f
bG9hZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIEVsZW1lbnQq
IExvYWRhYmxlVGV4dFRyYWNrOjplbGVtZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRU
UmVnaW9uLmNwcAppbmRleCAwNTc4YmY5MTI2N2NiNTUwYWYwMmRiN2UyMjNkZDQzNmMwN2Q1MWI2
Li5kMWIyNTE3MzUyNWE3M2UxZDY2ZDFlYjc5YmFhNTUyZjk0MDIzOTNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCkBAIC01Niw3ICs1Niw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBmbG9hdCBsaW5lSGVpZ2h0ID0gNS4zMzsKIAogLy8gRGVm
YXVsdCBzY3JvbGxpbmcgYW5pbWF0aW9uIHRpbWUgcGVyaW9kIChzKS4KLXN0YXRpYyBjb25zdCBm
bG9hdCBzY3JvbGxUaW1lID0gMC40MzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxUaW1l
ID0gU2Vjb25kcygwLjQzMyk7CiAKIFZUVFJlZ2lvbjo6VlRUUmVnaW9uKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29u
dGV4dCkKQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIFZUVFJlZ2lvbjo6c3RhcnRUaW1lcigpCiAg
ICAgaWYgKG1fc2Nyb2xsVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
ZG91YmxlIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiAwOwor
ICAgIFNlY29uZHMgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGltZSA6
IDBfczsKICAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCmluZGV4IDNk
NTQyMjFjNWRjODkzY2RkOTU3MWRjM2YzYjFmZTY4N2JiMDg2MzMuLjZiNTZjMThmMmFkZWYyNzcx
ZWNkZTA5ZjdmNDcwN2U3ZDEwYzkzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMTI4LDcgKzEyOCw3IEBAIHZvaWQgQ2hhbmdlUmVn
aW9uT3ZlcnNldFRhc2s6OnNjaGVkdWxlRm9yKFdlYktpdE5hbWVkRmxvdyogbmFtZWRGbG93LCBp
bnQgZG9jdW1lCiAgICAgbV9uYW1lZEZsb3dzLmFkZChuYW1lZEZsb3csIGRvY3VtZW50Tm9kZUlk
KTsKIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6dW5zY2hlZHVsZShXZWJLaXROYW1lZEZsb3cqIG5h
bWVkRmxvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCmluZGV4IDgzYTAyNGJjZGRkMjEzMDk3ODc1OTg3MjI0MTI3MWUwYThmYjNmMGYuLjkxMjcy
NjJhZTg4YWNjYmI0ZTRlZTFmODYxN2Q5ZDMyZjQxZThjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTg1LDcgKzE4NSw3IEBAIHZv
aWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IoRWxlbWVudCogZWxl
bWVudCkKIHsKICAgICBtX2VsZW1lbnRzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fdGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmli
dXRlVGFzazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggOGEzNWExNzllYjhi
ZjU5YjRiYzA5OGRjNmVkYzkwY2RlMGRhMDU5My4uNTE4YWFkZjdkMTIyNjhhNDdmOGYyYjUzMDlm
YzNmNTQxYWU4NTMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtODAsNyArODAsNyBAQCBwdWJs
aWM6CiAKICAgICAgICAgbV9tZXNzYWdlcy5hcHBlbmQobWVzc2FnZSk7CiAgICAgICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIHZv
aWQgcmVzZXQoKQpAQCAtMTAyLDcgKzEwMiw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1faW5z
cGVjdGVkUGFnZUNvbnRyb2xsZXItPmRpc3BhdGNoTWVzc2FnZUZyb21Gcm9udGVuZChtX21lc3Nh
Z2VzLnRha2VGaXJzdCgpKTsKIAogICAgICAgICBpZiAoIW1fbWVzc2FnZXMuaXNFbXB0eSgpICYm
IG1faW5zcGVjdGVkUGFnZUNvbnRyb2xsZXIpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXku
Y3BwCmluZGV4IDVmY2EzMTBkMDBhYzIxZGM3YjYxYmUwYTlmZTA1NWM4YjdmN2FhZDguLjhkMTA1
YmEzMGNmMTEyNjE1YzNlY2E1YjUzOWExODhjYjcxYmQ2NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTUwOSw4ICs1MDksOCBAQCB2b2lk
IEluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQog
ICAgIG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0
KSk7CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAg
ICAgICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMy
OwotICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVj
dHNVcGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAgICAgICBjb25zdCBTZWNvbmRzIHBhaW50UmVj
dHNVcGRhdGVJbnRlcnZhbCA9IDAuMDMyX3M7CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGlt
ZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAg
ICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2RjNzhkMTI0YWRjZTE4
YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgwMjEzNTg2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3Bw
CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBs
YXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMKIAogICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQog
ICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQt
PnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAgICAgICAgLnNldFF1
ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCBkYjQ3OTk4NDE1MmUzNTYy
ZjMxOTQ2OGJlOTU5NWVlYmJlOTA4NzUwLi5jMWIzY2U4OGUxZjkwZDBlYzdiY2ExM2I0Nzk5YjJk
MDNhYTU5ZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0
YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQog
ewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kYXRhTG9hZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJTUVSKQogICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJhbWUtPnBhZ2UoKS0+
c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkoKQogICAgIGlm
IChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGM3ODgz
YWNiMWIxZmJlNTBjMjk4MThiNmY0NjY2ZDljZTk2ZTQzOWYuLjNmMDI1MWE5MGI3YjkyMmEwZjNi
NzQzNjNkN2FiMjQ3Y2MyN2RkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtODMxLDcgKzgzMSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
OjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLjc3OWJm
NzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0g
JmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50
VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJiYjU3NWI0ZTUuLjJi
ZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwogCiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb0ZvcndhcmQo
KSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91cmwsIGRlbGF5
KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9y
d2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91
cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCkudmFs
dWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0b3BU
aW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBAIC0y
NzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsK
IAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0
dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVk
KG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVl
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGlt
ZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtNTM5
LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjllNmVhYjY1ZjU2ZTI0
ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNlNjI5ODU0ODJmZDg1
NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7
IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNz
SXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8vIENoZWNrIGlmIHRo
ZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55IGhlYXJ0YmVhdHMg
bXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRoZSBsb2FkIGlzIGN1
cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRTdGFsbGVkSGVhcnRi
ZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApp
bmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4Li5iMjY2YzMzMTNi
MmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIG1f
Y3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpAQCAt
MTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdpb25zUGFyc2VkKCkK
QEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFy
c2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYx
N2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMwOTAxYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGlt
ZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUg
dGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGUwNzkzOGM5Zjc1
MDE3OTUyNzkxMGE0OTZjZTZmNGNhZGQyZTYwMDQuLjNjZWVhNTE2OTRmNDA1MTZlNGI2YjExMmYz
NjA4ODNiMDZmODFiMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUp
CiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JS
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0
KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTM4LDcgKzUzOCw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBp
ZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hl
OjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkK
KyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTUsNyArODE1LDcgQEAgaW5saW5lIENhY2hlZFJlc291
cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBDYWNoZWRS
ZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIoKnRoaXMsICZDYWxs
YmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJm
M2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNjNjEyYWE5ODZjZTQz
ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJm
b3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMg
YSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzku
LmY3MmI0NDIxZTBjNGUwN2QzMzE1ZGNiNjgwMDFjN2MzOGJkZTE0MzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9
IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVj
b2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1
bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hp
Y2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMg
Y29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJv
bm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0RGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNp
bmdsZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVu
ZSgpCiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAgIGlmIChtX3BydW5l
VGltZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAgICAgIHJldHVybjsK
LSAgICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlmICghbmVlZHNQcnVu
aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4ZjI4MmJlNThkMTcw
ZC4uNzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KSB7IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
KCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9Cisg
ICAgdm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2
YWwpIHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAg
ICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRv
IHB1dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAg
dm9pZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5OSw3ICsxOTksNyBA
QCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5E
ZWFkQ2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7Cisg
ICAgU2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNp
Z25lZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1l
ZCBieSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRT
aXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIg
cmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAzMGY1ZjY5NGUzMGJi
MmQuLjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBz
dGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMgZXhw
aXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9uVGlt
ZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1
OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1X3M7CiAKIHN0YXRp
YyBib29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3ZDMxNWVkZmJmOWM1
MGUwYTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFkZmI5NzcyMzQ0NGRl
YmQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAK
QEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGRvdWJs
ZSBhdXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhl
IHBhblNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRv
IG1ha2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9
IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1X3M7
CiAKICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1l
KEZyYW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVy
ZW5jZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQu
LjAwMDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVm
ZXJlbmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlv
blVzZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5k
ZXggOThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNWQ2Y2Q0OTM4NDVj
ZGJlODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYs
NyBAQCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5D
YXB0aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0
ZXJpbmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1l
dGhvZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRp
byBvcgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2Uu
Ci0gICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBk
YXRlU3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKaW5kZXggZDAzYzFiMDJmZTYwMjNiNjIzMTdjMzExZDM2YzNkYTVm
YWRjNGZkNS4uMGNjZjQwY2Y4ODEwZDU2NzE0YzVlZTdhMzU1MjY2NGIyYTVmNDk0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2Fy
ZGluZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0
IGF1dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBt
czsgLy8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitz
dGF0aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9
IDFfczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNvbnN0IFNlY29uZHMg
bWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDFfczsgLy8gRW1w
aXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMgY29u
c3QgaW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJlU3Rh
dGUgewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1lcnNN
YXA6OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBib29s
IHNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVy
dmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRV
c2VyR2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJl
dHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICAg
ICAgJiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcKICAg
ICAgICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJk
ZWQgdG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1
cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8VXNl
ckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVydmFs
LCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJl
KGludGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE3
NSwxMiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVz
ZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6OkRP
TVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxT
Y2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZh
bCwgYm9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwg
U2Vjb25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1l
cihjb250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZl
bCgpKQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5hbElu
dGVydmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkKICAg
ICAsIG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkpCiAg
ICAgLCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9yd2Fy
ZChpbnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERPTVRp
bWVyOjp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4g
YWN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hv
dCkKK2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91
dCwgYm9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBhc3Nl
cyBvd25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNvbnN0
cnVjdG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21hdGlj
YWxseSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAgLTIx
MCw3ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElPUykK
ICAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVmZXJU
aW1lb3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAgICAg
IGlmICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2luZ2xl
U2hvdCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IDEwMF9t
cyAmJiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5n
ZShXS0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAgIFdlYlRocmVhZEFk
ZE9ic2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0
IGlmIG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9CkBAIC0yMTgsNyAr
MjE3LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1
c3BlbmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFs
bFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7
CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwg
dGltZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZh
bHVlKCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1l
ciBpbnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0
ZWRUaW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4
LDIxIEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFT
U0VSVChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExP
RyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZy
b20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwg
dGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNv
dW50KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVy
dmFsKTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBy
ZXBlYXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcu
IiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJ
bnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbCht
X2N1cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGlu
dGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90
dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lcklu
dGVydmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBE
T01UaW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRo
cm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJy
ZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50
ZXJ2YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0K
IH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVk
VG9NaW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAg
ICAgQVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAg
IGF1dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAg
YXV0byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAg
ICAvLyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAo
bV9uZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIw
IEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRv
TWluaW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1PcHRpb25hbDxzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzPiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgZmlyZVRpbWUpIGNvbnN0CitPcHRpb25hbDxNb25vdG9uaWNUaW1l
PiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1RpbWUgZmlyZVRpbWUpIGNvbnN0
CiB7Ci0gICAgYXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KS0+dGltZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3Rp
bmdMZXZlbCk7Ci0gICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBtcykKKyAgICBTZWNvbmRz
IGFsaWdubWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT50aW1lckFsaWdu
bWVudEludGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKKyAg
ICBpZiAoIWFsaWdubWVudEludGVydmFsKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKICAgICAK
KyAgICAvLyBEbyB3ZSByZWFsbHkgd2FudCB0byBpbml0aWFsaXplIHJhbmRvbWl6ZWRQcm9wb3J0
aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJhbmRvbWl6ZWRQcm9wb3J0
aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3JjZSBhbGlnbm1lbnQgdG8gcmFuZG9t
aXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJldHdlZW4gYWxpZ25lbW50SW50ZXJ2
YWxzLCBlLmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQg
ZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVudEludGVydmFscywgZS5nLgogICAg
IC8vIGlmIGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCByYW5kb21pemVkQWxpZ25tZW50IGlz
IDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAuLi4KLSAgICBhdXRvIHJhbmRvbWl6
ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uKTsKLSAgICBh
dXRvIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7Ci0gICAg
cmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRGaXJlVGltZSAlIGFsaWdubWVudElu
dGVydmFsKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9taXplZE9mZnNldDsKKyAgICBTZWNv
bmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9w
b3J0aW9uOworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRGaXJlVGltZSA9IGZpcmVUaW1lIC0g
cmFuZG9taXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0ZWRGaXJlVGltZSAtIFNlY29uZHMo
Zm1vZChhZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSwgYWxpZ25t
ZW50SW50ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50ZXJ2YWwgKyByYW5kb21pemVkT2Zm
c2V0OwogfQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggOTZjOGIzYmI2NWE3ZmNmMjY3ZThlMGFkZTZj
ZmNlMGZiOWFkYTdkNC4uNmY0ZmFmMDBlMzcwYWVkZjUxMzU0MzZjZDJmMGRjMDcwZmUwOTVhZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIGNsYXNzIERPTVRpbWVy
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+LCBwdWJsaWMgU3VzcGVuZGFibGVU
aW1lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGltZXIoKTsKIAotICAgIHN0YXRpYyBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVy
biA0bXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0QWxp
Z25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAxMDAw
bXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWluaW11bUludGVydmFsKCkgeyByZXR1
cm4gNF9tczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgp
IHsgcmV0dXJuIDBfczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGhpZGRlblBhZ2VBbGlnbm1lbnRJ
bnRlcnZhbCgpIHsgcmV0dXJuIDFfczsgfQogCiAgICAgLy8gQ3JlYXRlcyBhIG5ldyB0aW1lciBv
d25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgc3RhcnRzIGl0CiAgICAg
Ly8gYW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVj
dXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICBzdGF0aWMg
aW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CiAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgaW50IHRpbWVvdXRJ
ZCk7CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2YWwgbWF5IG5lZWQgdXBkYXRpbmcg
KGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApAQCAtNjAsMTAgKzYwLDEwIEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRlcmFjdFdpdGhQbHVnaW4oSFRNTFBs
dWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCk7CisgICAgRE9NVGltZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBT
ZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwogICAgIGZyaWVuZCBjbGFzcyBJbnRl
cm5hbHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsQ2xhbXBlZFRv
TWluaW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkg
Y29uc3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0bGluZ0VuYWJsZWQoRG9jdW1lbnQm
KSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdTdGF0ZUlmTmVjZXNzYXJ5KGNvbnN0
IERPTVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgLy8g
U3VzcGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIGRp
ZFN0b3AoKSBvdmVycmlkZTsKLSAgICBPcHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PiBhbGlnbmVkRmlyZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcykgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgT3B0aW9uYWw8TW9ub3RvbmljVGltZT4gYWxpZ25lZEZpcmVUaW1lKE1vbm90b25p
Y1RpbWUpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAg
ICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC04
NSwxMCArODUsMTAgQEAgcHJpdmF0ZToKICAgICBpbnQgbV90aW1lb3V0SWQ7CiAgICAgaW50IG1f
bmVzdGluZ0xldmVsOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IG1fYWN0
aW9uOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9vcmlnaW5hbEludGVydmFsOwot
ICAgIFRpbWVyVGhyb3R0bGVTdGF0ZSBtX3Rocm90dGxlU3RhdGU7Ci0gICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBtX2N1cnJlbnRUaW1lckludGVydmFsOworICAgIFNlY29uZHMgbV9vcmln
aW5hbEludGVydmFsOworICAgIFNlY29uZHMgbV9jdXJyZW50VGltZXJJbnRlcnZhbDsKICAgICBS
ZWZQdHI8VXNlckdlc3R1cmVUb2tlbj4gbV91c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkOworICAg
IFRpbWVyVGhyb3R0bGVTdGF0ZSBtX3Rocm90dGxlU3RhdGUgeyBVbmRldGVybWluZWQgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRl
eCAyYTkzOTNhZjhiNjhiZmViYWExZDZmMGFjNGI2Y2FmOGRlNjkyOTdiLi45MTEwNjAyMGQ2MDg3
YzZkZjJiMjc1NDlmZjZhNmMyMjZlOTlhZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CkBAIC05NTgsNyArOTU4LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gRE9NV2luZG93Ojpwb3N0TWVz
c2FnZShSZWY8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFYKIAogICAgIC8vIFNj
aGVkdWxlIHRoZSBtZXNzYWdlLgogICAgIGF1dG8qIHRpbWVyID0gbmV3IFBvc3RNZXNzYWdlVGlt
ZXIoKnRoaXMsIFdURk1vdmUobWVzc2FnZSksIHNvdXJjZU9yaWdpbiwgc291cmNlLCBjaGFubmVs
cy5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgV1RGTW92ZSh0YXJnZXQpLCBXVEZNb3ZlKHN0YWNrVHJh
Y2UpKTsKLSAgICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNo
b3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CkBAIC0xNjQ4LDcgKzE2NDgsNyBAQCBFeGNl
cHRpb25PcjxpbnQ+IERPTVdpbmRvdzo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1
bGVkQWN0aW9uPiBhY3Rpb24sCiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
TlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRl
eHQsIFdURk1vdmUoYWN0aW9uKSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwg
dHJ1ZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFj
dGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwogfQogCiB2
b2lkIERPTVdpbmRvdzo6Y2xlYXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCkBAIC0xNjgwLDcgKzE2
ODAsNyBAQCBFeGNlcHRpb25PcjxpbnQ+IERPTVdpbmRvdzo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlx
dWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjpp
bnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRl
eHQsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwg
ZmFsc2UpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAKaW5kZXggM2MzODQzMDk1
NjM0OTYyMmFlMmUxOWZkNWI3NjAzODVjOTU5MDRjYy4uZWZlZjM2YmEwZjc5MjE5OTk2Mjc4NTU0
YTJhOTU4YjU4YzYxZTU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIu
Y3BwCkBAIC00OCw3ICs0OCw3IEBAIHZvaWQgRGV2aWNlQ29udHJvbGxlcjo6YWRkRGV2aWNlRXZl
bnRMaXN0ZW5lcihET01XaW5kb3cqIHdpbmRvdykKICAgICBpZiAoaGFzTGFzdERhdGEoKSkgewog
ICAgICAgICBtX2xhc3RFdmVudExpc3RlbmVycy5hZGQod2luZG93KTsKICAgICAgICAgaWYgKCFt
X3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAgaWYg
KHdhc0VtcHR5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGU5NGE5MjU1
MmM5OTZhNTM4ZTQ2NjgyY2ViMzFlMzUxOTFhMzMzN2EuLmJjNjcxZDMwMDQ3YjhiZThmNTMwNDk0
NDliOWJiNzQzMGMxNTg2ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAg
LTE1NiwxNSArMTU2LDE1IEBAIHVzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIFRoZSBhbW91
bnQgb2YgdGltZSB0byB3YWl0IGJlZm9yZSBzZW5kaW5nIGEgZmFrZSBtb3VzZSBldmVudCwgdHJp
Z2dlcmVkCiAvLyBkdXJpbmcgYSBzY3JvbGwuIFRoZSBzaG9ydCBpbnRlcnZhbCBpcyB1c2VkIGlm
IHRoZSBjb250ZW50IHJlc3BvbmRzIHRvIHRoZSBtb3VzZSBldmVudHMKIC8vIGluIGZha2VNb3Vz
ZU1vdmVEdXJhdGlvblRocmVzaG9sZCBvciBsZXNzLCBvdGhlcndpc2UgdGhlIGxvbmcgaW50ZXJ2
YWwgaXMgdXNlZC4KLWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlRHVyYXRpb25UaHJlc2hvbGQg
PSAwLjAxOwotY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0gMC4xOwot
Y29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSAwLjI1OworY29uc3QgU2Vj
b25kcyBmYWtlTW91c2VNb3ZlRHVyYXRpb25UaHJlc2hvbGQgPSAwLjAxX3M7Citjb25zdCBTZWNv
bmRzIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0gMC4xX3M7Citjb25zdCBTZWNvbmRzIGZh
a2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSAwLjI1X3M7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShD
VVJTT1JfU1VQUE9SVCkKIC8vIFRoZSBhbW91bnQgb2YgdGltZSB0byB3YWl0IGZvciBhIGN1cnNv
ciB1cGRhdGUgb24gc3R5bGUgYW5kIGxheW91dCBjaGFuZ2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8g
bmVlZCB0byBiZSBmYXN0ZXIgdGhhbiBjb21tb24gc2NyZWVuIHJlZnJlc2ggcmF0ZQotY29uc3Qg
ZG91YmxlIGN1cnNvclVwZGF0ZUludGVydmFsID0gMC4wMjsKK2NvbnN0IFNlY29uZHMgY3Vyc29y
VXBkYXRlSW50ZXJ2YWwgPSAwLjAyX3M7CiAKIGNvbnN0IGludCBtYXhpbXVtQ3Vyc29yU2l6ZSA9
IDEyODsKICNlbmRpZgpAQCAtMTkzLDIwICsxOTMsMjAgQEAgcHJpdmF0ZToKIAogY2xhc3MgTWF4
aW11bUR1cmF0aW9uVHJhY2tlciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgTWF4aW11bUR1cmF0
aW9uVHJhY2tlcihkb3VibGUgKm1heER1cmF0aW9uKQorICAgIGV4cGxpY2l0IE1heGltdW1EdXJh
dGlvblRyYWNrZXIoU2Vjb25kcyYgbWF4RHVyYXRpb24pCiAgICAgICAgIDogbV9tYXhEdXJhdGlv
bihtYXhEdXJhdGlvbikKLSAgICAgICAgLCBtX3N0YXJ0KG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpKQorICAgICAgICAsIG1fc3RhcnQoTW9ub3RvbmljVGltZTo6bm93KCkpCiAgICAgewog
ICAgIH0KIAogICAgIH5NYXhpbXVtRHVyYXRpb25UcmFja2VyKCkKICAgICB7Ci0gICAgICAgICpt
X21heER1cmF0aW9uID0gc3RkOjptYXgoKm1fbWF4RHVyYXRpb24sIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpIC0gbV9zdGFydCk7CisgICAgICAgIG1fbWF4RHVyYXRpb24gPSBzdGQ6Om1h
eChtX21heER1cmF0aW9uLCBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fc3RhcnQpOwogICAgIH0K
IAogcHJpdmF0ZToKLSAgICBkb3VibGUqIG1fbWF4RHVyYXRpb247Ci0gICAgZG91YmxlIG1fc3Rh
cnQ7CisgICAgU2Vjb25kcyYgbV9tYXhEdXJhdGlvbjsKKyAgICBNb25vdG9uaWNUaW1lIG1fc3Rh
cnQ7CiB9OwogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgIUVOQUJMRShJT1NfVE9VQ0hf
RVZFTlRTKQpAQCAtNDYyLDcgKzQ2Miw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVhcigpCiAg
ICAgbV9vcmlnaW5hdGluZ1RvdWNoUG9pbnREb2N1bWVudCA9IG51bGxwdHI7CiAgICAgbV9vcmln
aW5hdGluZ1RvdWNoUG9pbnRUYXJnZXRLZXkgPSAwOwogI2VuZGlmCi0gICAgbV9tYXhNb3VzZU1v
dmVkRHVyYXRpb24gPSAwOworICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uID0gMF9zOwogICAg
IG1fYmFzZUV2ZW50VHlwZSA9IFBsYXRmb3JtRXZlbnQ6Ok5vVHlwZTsKICAgICBtX2RpZFN0YXJ0
RHJhZyA9IGZhbHNlOwogfQpAQCAtMTgyMCw3ICsxODIwLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6
Om1vdXNlTW92ZWQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKIHsKICAgICBSZWY8
RnJhbWU+IHByb3RlY3RlZEZyYW1lKG1fZnJhbWUpOwogICAgIFJlZlB0cjxGcmFtZVZpZXc+IHBy
b3RlY3RvcihtX2ZyYW1lLnZpZXcoKSk7Ci0gICAgTWF4aW11bUR1cmF0aW9uVHJhY2tlciBtYXhE
dXJhdGlvblRyYWNrZXIoJm1fbWF4TW91c2VNb3ZlZER1cmF0aW9uKTsKKyAgICBNYXhpbXVtRHVy
YXRpb25UcmFja2VyIG1heER1cmF0aW9uVHJhY2tlcihtX21heE1vdXNlTW92ZWREdXJhdGlvbik7
CiAKICAgICBpZiAobV9mcmFtZS5tYWluRnJhbWUoKS5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5o
YW5kbGVNb3VzZUV2ZW50KGV2ZW50KSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0yODk4LDcg
KzI4OTgsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2VuZENvbnRleHRNZW51RXZlbnRGb3JLZXko
KQogdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSgpCiB7CiAgICAg
aWYgKCFtX2hvdmVyVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9ob3ZlclRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgRU5BQkxFKENVUlNPUl9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgK
aW5kZXggOWJjYWM3MmM3ZTIxNjMyMTA5MTVmNzJjMWY4M2VkOTVhMGRlYzkzMy4uYTdhOTFmNjY3
ZjI2ZjkxNTNiMzY4OWI2YTJkNTJhNjk0ODhmNjE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC01NzAsNyArNTcwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdG91Y2hQcmVz
c2VkIHsgZmFsc2UgfTsKICNlbmRpZgogCi0gICAgZG91YmxlIG1fbWF4TW91c2VNb3ZlZER1cmF0
aW9uIHsgMCB9OworICAgIFNlY29uZHMgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb247CiAgICAgUGxh
dGZvcm1FdmVudDo6VHlwZSBtX2Jhc2VFdmVudFR5cGUgeyBQbGF0Zm9ybUV2ZW50OjpOb1R5cGUg
fTsKICAgICBib29sIG1fZGlkU3RhcnREcmFnIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNIYW5k
bGluZ1doZWVsRXZlbnQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApp
bmRleCA0NzQyMjg4MDcyY2U1YTVhMWViN2E5MDRmNTIxNTMzZjVlNTI0NWM3Li5iYTc1MTZjNmIw
Yjc4M2ZiN2Y2MzM2OTZiNThjYjQ4M2I5MzQ3ZjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmNwcApAQCAtNDcsNyArNDcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0
IHVpbnQ2NF90IEV2ZW50U291cmNlOjpkZWZhdWx0UmVjb25uZWN0RGVsYXkgPSAzMDAwOworY29u
c3QgU2Vjb25kcyBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gM19zOwogCiBp
bmxpbmUgRXZlbnRTb3VyY2U6OkV2ZW50U291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBJbml0JiBldmVudFNvdXJjZUluaXQpCiAgICAg
OiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCkBAIC0xMzIsMTMgKzEzMiwxMyBAQCB2b2lkIEV2
ZW50U291cmNlOjpzY2hlZHVsZUluaXRpYWxDb25uZWN0KCkKICAgICBBU1NFUlQobV9zdGF0ZSA9
PSBDT05ORUNUSU5HKTsKICAgICBBU1NFUlQoIW1fcmVxdWVzdEluRmxpZ2h0KTsKIAotICAgIG1f
Y29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNvbm5lY3QoKQog
ewogICAgIG1fc3RhdGUgPSBDT05ORUNUSU5HOwotICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25l
U2hvdChtX3JlY29ubmVjdERlbGF5IC8gMTAwMC4wKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFy
dE9uZVNob3QobV9yZWNvbm5lY3REZWxheSk7CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIApAQCAtMzU1
LDkgKzM1NSw5IEBAIHZvaWQgRXZlbnRTb3VyY2U6OnBhcnNlRXZlbnRTdHJlYW1MaW5lKHVuc2ln
bmVkIHBvc2l0aW9uLCBPcHRpb25hbDx1bnNpZ25lZD4gZmllCiAgICAgICAgICAgICAvLyBGSVhN
RTogRG8gd2UgcmVhbGx5IHdhbnQgdG8gaWdub3JlIHRyYWlsaW5nIGdhcmJhZ2UgaGVyZT8gU2hv
dWxkIHdlIGJlIHVzaW5nIHRoZSBzdHJpY3QgdmVyc2lvbiBpbnN0ZWFkPwogICAgICAgICAgICAg
Ly8gRklYTUU6IElmIHdlIGNhbid0IHBhcnNlIHRoZSB2YWx1ZSwgc2hvdWxkIHdlIGxlYXZlIG1f
cmVjb25uZWN0RGVsYXkgYWxvbmUgb3Igc2V0IGl0IHRvIGRlZmF1bHRSZWNvbm5lY3REZWxheT8K
ICAgICAgICAgICAgIGJvb2wgb2s7Ci0gICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5ID0g
Y2hhcmFjdGVyc1RvVUludDY0KCZtX3JlY2VpdmVCdWZmZXJbcG9zaXRpb25dLCB2YWx1ZUxlbmd0
aCwgJm9rKTsKKyAgICAgICAgICAgIGF1dG8gcmVjb25uZWN0RGVsYXlNUyA9IGNoYXJhY3RlcnNU
b1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7CiAg
ICAgICAgICAgICBpZiAob2spCi0gICAgICAgICAgICAgICAgbV9yZWNvbm5lY3REZWxheSA9IHJl
Y29ubmVjdERlbGF5OworICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSBTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKHJlY29ubmVjdERlbGF5TVMpOwogICAgICAgICB9CiAgICAgfQog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IDAzYWVjMmJiMzFiOGFhZTUyOTRiNmY3
OTk4NDY4ZGRiOTE2YTk4ZGQuLmM5NDYxNTc5MjAyNDgwM2NiYWIyOTk3OTQyZDdjODU0OWEwZDFi
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTk4LDcgKzk4LDcgQEAgcHJpdmF0
ZToKIAogICAgIGJvb2wgcmVzcG9uc2VJc1ZhbGlkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBj
b25zdDsKIAotICAgIHN0YXRpYyBjb25zdCB1aW50NjRfdCBkZWZhdWx0UmVjb25uZWN0RGVsYXk7
CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFJlY29ubmVjdERlbGF5OwogCiAgICAg
VVJMIG1fdXJsOwogICAgIGJvb2wgbV93aXRoQ3JlZGVudGlhbHM7CkBAIC0xMTUsNyArMTE1LDcg
QEAgcHJpdmF0ZToKICAgICBWZWN0b3I8VUNoYXI+IG1fZGF0YTsKICAgICBTdHJpbmcgbV9jdXJy
ZW50bHlQYXJzZWRFdmVudElkOwogICAgIFN0cmluZyBtX2xhc3RFdmVudElkOwotICAgIHVpbnQ2
NF90IG1fcmVjb25uZWN0RGVsYXkgeyBkZWZhdWx0UmVjb25uZWN0RGVsYXkgfTsKKyAgICBTZWNv
bmRzIG1fcmVjb25uZWN0RGVsYXkgeyBkZWZhdWx0UmVjb25uZWN0RGVsYXkgfTsKICAgICBTdHJp
bmcgbV9ldmVudFN0cmVhbU9yaWdpbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmNwcAppbmRleCBhN2IyNTU3ZTY5NDZkYjllNTYxMTU3YWRmNzJjYzI4MjZlZmU4NzQ3
Li43MmMzMzkxN2Y3ZmJiMmIzY2Y4YzgxYTBkYTA4ZGIwZTQ3NTA0MjMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCkBAIC0xMDg4LDcgKzEwODgsNyBAQCBib29sIEZv
Y3VzQ29udHJvbGxlcjo6YWR2YW5jZUZvY3VzRGlyZWN0aW9uYWxseShGb2N1c0RpcmVjdGlvbiBk
aXJlY3Rpb24sIEtleWJvYQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6c2V0Rm9jdXNlZEVsZW1l
bnROZWVkc1JlcGFpbnQoKQogewotICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90
KDAuMDMzKTsKKyAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzM19zKTsK
IH0KIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcAppbmRleCAzN2ZiN2RhZjFmZDllMjk1NmJhZjUwZjFjYTVjOGFhOTNiZDBj
MjQyLi41NWNmNDM2ZTY4OTNhYTlmNWNjYmEwZWM2MzJiNzYzNWIxNzNhMDJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcApAQCAtMTIyLDcgKzEyMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25l
ZCBzY3JvbGxGcmVxdWVuY3kgPSAxMDAwIC8gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3Jv
bGxGcmVxdWVuY3kgPSBTZWNvbmRzKDEuMCAvIDYwKTsKICNlbmRpZgogCiBERUZJTkVfREVCVUdf
T05MWV9HTE9CQUwoV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIGZyYW1lQ291bnRlciwgKCJG
cmFtZSIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBjYmI1Mjg5MDRhZjkwZDcw
ODkzZTk4YTQ0ZWU2NDNjNWFiZDEwYjcxLi40NmZkNDgzMDZhMzE5NjBmYjM1M2IwZDYyNDk0MzVi
Njg0ZWI5YmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xNTYwLDcgKzE1NjAs
NyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogICAgICAgICAg
ICAgLy8gZGVmZXIgd2lkZ2V0IHVwZGF0ZXMgYW5kIGV2ZW50IGRpc3BhdGNoIHVudGlsIGFmdGVy
IHdlIHJldHVybi4gcG9zdExheW91dFRhc2tzKCkKICAgICAgICAgICAgIC8vIGNhbiBtYWtlIHVz
IG5lZWQgdG8gdXBkYXRlIGFnYWluLCBhbmQgd2UgY2FuIGdldCBzdHVjayBpbiBhIG5hc3R5IGN5
Y2xlIHVubGVzcwogICAgICAgICAgICAgLy8gd2UgY2FsbCBpdCB0aHJvdWdoIHRoZSB0aW1lciBo
ZXJlLgotICAgICAgICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgICAgICAgICAgaWYgKG5lZWRzTGF5b3V0KCkpCiAgICAgICAgICAgICAgICAgbGF5b3V0KCk7
CiAgICAgICAgIH0KQEAgLTI0NDMsNyArMjQ0Myw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQ
b3NpdGlvbkNoYW5nZWQoY29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBT
CiAgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBzZW5k
U2Nyb2xsRXZlbnQoKTsKICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVT
aG90KHRocm90dGxpbmdEZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZl
bnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1bWVu
dCogZG9jdW1lbnQgPSBmcmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5zZW5k
V2lsbFJldmVhbEVkZ2VFdmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZp
c2libGVDb250ZW50UmVjdCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yODQxLDcgKzI4NDEsNyBA
QCB2b2lkIEZyYW1lVmlldzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAgICAg
aWYgKG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgLy8gRGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9uIG1h
eSB0cmlnZ2VyIGZ1cnRoZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgPSAwLjVfczsKICAgICBt
X3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZlVGls
aW5nRW5hYmxlRGVsYXkpOwogfQogCkBAIC0zNDMwLDcgKzM0MzAsNyBAQCB2b2lkIEZyYW1lVmll
dzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcygpCiAgICAgLy8gaXMgY2FsbGVkIHRocm91Z2ggdGhl
IHBvc3QgbGF5b3V0IHRpbWVyLgogICAgIFJlZjxGcmFtZVZpZXc+IHByb3RlY3RlZFRoaXMoKnRo
aXMpOwogCi0gICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAog
ICAgIGlmIChhdXRvKiBwYWdlID0gZnJhbWUoKS5wYWdlKCkpIHsKICAgICAgICAgaWYgKGF1dG8q
IHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCmluZGV4IGFlOTY2MDgxMWI0MzkwZWM3ZGRiYjU2OGJmYzY1ZGY0MWM1ZTlj
MWQuLjY1ODcxNWU5NTMzZTFkNmQwY2M1N2I3ODJmMTM2MWZjN2RlZWI4M2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcApAQCAtMTI0Myw3ICsxMjQzLDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxp
bmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBzdGF0ZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV90aW1lclRocm90dGxpbmdTdGF0ZSA9IHN0YXRlOwotICAgIG1fdGltZXJUaHJvdHRsaW5n
U3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsK
KyAgICBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CiAKICAgICB1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKCk7CiAKQEAg
LTEyNTYsNyArMTI1Niw3IEBAIHZvaWQgUGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nU3RhdGUoVGlt
ZXJUaHJvdHRsaW5nU3RhdGUgc3RhdGUpCiAgICAgfQogfQogCi12b2lkIFBhZ2U6OnNldFRpbWVy
QWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bGltaXQpCit2b2lkIFBhZ2U6OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0
KFNlY29uZHMgbGltaXQpCiB7CiAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VM
aW1pdCA9IGxpbWl0OwogCkBAIC0xMjg0LDggKzEyODQsOCBAQCB2b2lkIFBhZ2U6OnVwZGF0ZURP
TVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKQogICAgICAgICBpZiAobV9pc1ByZXJlbmRlcikKICAg
ICAgICAgICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IG1fdGltZXJBbGlnbm1lbnRJbnRl
cnZhbEluY3JlYXNlTGltaXQ7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKG1f
dGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUudGltZV9zaW5jZV9lcG9jaCgpICE9
IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkpOwotICAgICAgICAg
ICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93
KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lKTsKKyAgICAgICAgICAg
IEFTU0VSVChtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lKTsKKyAgICAgICAg
ICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV90
aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZTsKICAgICAgICAgICAgIC8vIElmIHdl
J3JlIGJlbG93IHRoZSBsaW1pdCwgc2V0IHRoZSB0aW1lci4gSWYgYWJvdmUsIGNsYW1wIHRvIGxp
bWl0LgogICAgICAgICAgICAgaWYgKG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA8IG1fdGltZXJB
bGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQpCiAgICAgICAgICAgICAgICAgbmVlZHNJbmNy
ZWFzZVRpbWVyID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggMjAwYWIzOTZlMzdmNzk2ODY0ZDBl
NDYwMjRhYzFlODVmYmY5ODBmNi4uNzJhMGJmMDQ1MjNjZjkzNTJkYjk1ODE2YTBmMzI5ZTFhMjUx
MTJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTIyNSw3ICsyMjUsNyBAQCBwdWJsaWM6CiAgICAgUHJv
Z3Jlc3NUcmFja2VyJiBwcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuICptX3Byb2dyZXNzOyB9CiAg
ICAgQmFja0ZvcndhcmRDb250cm9sbGVyJiBiYWNrRm9yd2FyZCgpIGNvbnN0IHsgcmV0dXJuICpt
X2JhY2tGb3J3YXJkQ29udHJvbGxlcjsgfQogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBkb21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV90aW1lckFsaWdu
bWVudEludGVydmFsOyB9CisgICAgU2Vjb25kcyBkb21UaW1lckFsaWdubWVudEludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV90aW1lckFsaWdubWVudEludGVydmFsOyB9CiAKICNpZiBFTkFCTEUo
VklFV19NT0RFX0NTU19NRURJQSkKICAgICBlbnVtIFZpZXdNb2RlIHsKQEAgLTUyOCw3ICs1Mjgs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaG93QWxsUGx1Z2lucyhib29sIHNob3dBbGwpIHsg
bV9zaG93QWxsUGx1Z2lucyA9IHNob3dBbGw7IH0KICAgICBib29sIHNob3dBbGxQbHVnaW5zKCkg
Y29uc3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVyQWxpZ25tZW50SW50ZXJ2
YWxJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25k
cyk7CiAKICAgICBib29sIGlzQ29udHJvbGxlZEJ5QXV0b21hdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fY29udHJvbGxlZEJ5QXV0b21hdGlvbjsgfQogICAgIHZvaWQgc2V0Q29udHJvbGxlZEJ5QXV0
b21hdGlvbihib29sIGNvbnRyb2xsZWQpIHsgbV9jb250cm9sbGVkQnlBdXRvbWF0aW9uID0gY29u
dHJvbGxlZDsgfQpAQCAtNjY3LDEwICs2NjcsMTAgQEAgcHJpdmF0ZToKICNlbmRpZiAvLyBFTkFC
TEUoVklFV19NT0RFX0NTU19NRURJQSkKIAogICAgIFRpbWVyVGhyb3R0bGluZ1N0YXRlIG1fdGlt
ZXJUaHJvdHRsaW5nU3RhdGUgeyBUaW1lclRocm90dGxpbmdTdGF0ZTo6RGlzYWJsZWQgfTsKLSAg
ICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fdGltZXJUaHJvdHRsaW5n
U3RhdGVMYXN0Q2hhbmdlZFRpbWUgeyBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlv
bjo6emVybygpIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX3RpbWVyQWxpZ25t
ZW50SW50ZXJ2YWw7CisgICAgTW9ub3RvbmljVGltZSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFz
dENoYW5nZWRUaW1lOworICAgIFNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsOwogICAg
IFRpbWVyIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlVGltZXI7Ci0gICAgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0
IHsgMCB9OworICAgIFNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1p
dDsKIAogICAgIGJvb2wgbV9pc0VkaXRhYmxlOwogICAgIGJvb2wgbV9pc1ByZXJlbmRlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggZTcwYmNhMDUyM2YwZTM5NWY4NzdmZjYz
YzEyYWEzOTU1N2FkZWQ3Yy4uZTkwMmIwMjU4ZDFlMTg5YTYwMDMyMjRmY2RhMjQ2OGQ5YTRiZTcy
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBmYWRlQW5pbWF0aW9uRHVy
YXRpb24gPSAwLjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25GcmFtZVJhdGUg
PSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGZhZGVBbmltYXRpb25JbnRlcnZhbCA9IFNlY29u
ZHMoMS4wIC8gMzApOwogCiBzdGF0aWMgUGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQgZ2VuZXJh
dGVQYWdlT3ZlcmxheUlEKCkKIHsKQEAgLTI1MCw3ICsyNTAsNyBAQCB2b2lkIFBhZ2VPdmVybGF5
OjpzdG9wRmFkZU91dEFuaW1hdGlvbigpCiB2b2lkIFBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmlt
YXRpb24oKQogewogICAgIG1fZmFkZUFuaW1hdGlvblN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7
Ci0gICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoMSAvIGZhZGVBbmltYXRp
b25GcmFtZVJhdGUpOworICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGZh
ZGVBbmltYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgUGFnZU92ZXJsYXk6OmZhZGVBbmltYXRp
b25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggNDkxNzVmYjA4ZDIz
MWQxNzhhMmQ1YTFmYmNkYWM3ZmExYjdkZWM1ZC4uNGE2M2VjNGUyZjAzYTliYWMxNzRlZmIwZDc4
YWJhMmFjZTcwN2ViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTE3Miw3ICsxNzIs
NyBAQCBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZFZp
ZGVvID0gdHJ1ZTsKIAogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdEFsbG93c1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrID0gdHJ1ZTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZhdWx0
SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMgPSA1Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25U
aW1lb3V0ID0gNV9zOwogI2lmIFVTRShVTklGSUVEX1RFWFRfQ0hFQ0tJTkcpCiBzdGF0aWMgY29u
c3QgYm9vbCBkZWZhdWx0VW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCA9IHRydWU7CiAjZWxzZQpA
QCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGlj
YWxseShib29sIGxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSkKICAgICAvLyBTdGFydGluZyB0aGVz
ZSBsb2FkcyBzeW5jaHJvbm91c2x5IGlzIG5vdCBpbXBvcnRhbnQuICBCeSBwdXR0aW5nIGl0IG9u
IGEgMC1kZWxheSwgcHJvcGVybHkgY2xvc2luZyB0aGUgUGFnZSBjYW5jZWxzIHRoZW0KICAgICAv
LyBiZWZvcmUgdGhleSBoYXZlIGEgY2hhbmNlIHRvIHJlYWxseSBzdGFydC4KICAgICAvLyBTZWUg
aHR0cDovL3dlYmtpdC5vcmcvYi82MDU3MiBmb3IgbW9yZSBkaXNjdXNzaW9uLgotICAgIG1fc2V0
SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFn
ZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNldHRp
bmdzOjppbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoKQpAQCAtNDA3LDcgKzQwNyw3IEBA
IHZvaWQgU2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQoYm9vbCBhcmVJbWFnZXNFbmFibGVkKQog
ICAgIG1fYXJlSW1hZ2VzRW5hYmxlZCA9IGFyZUltYWdlc0VuYWJsZWQ7CiAKICAgICAvLyBTZWUg
Y29tbWVudCBpbiBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkuCi0gICAgbV9zZXRJbWFnZUxv
YWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGlu
Z1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNl
dFByZWZlck1JTUVUeXBlRm9ySW1hZ2VzKGJvb2wgcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMpCkBA
IC00NDcsNyArNDQ3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0TmVlZHNBZG9iZUZyYW1lUmVsb2Fk
aW5nUXVpcmsoYm9vbCBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW4KICAgICBtX25lZWRzQWRv
YmVGcmFtZVJlbG9hZGluZ1F1aXJrID0gc2hvdWxkTm90UmVsb2FkSUZyYW1lc0ZvclVuY2hhbmdl
ZFNSQzsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkKK3ZvaWQgU2V0dGluZ3M6OnNldE1pbmlt
dW1ET01UaW1lckludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgYXV0byBvbGRUaW1l
ckludGVydmFsID0gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsKICAgICBtX21pbmltdW1ET01U
aW1lckludGVydmFsID0gaW50ZXJ2YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdl
ZmUwZWVkOTFhMDQwMDlhZTE1N2Q1NDM2Nzg5YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNk
MmE0NzA0NjNkNTNmZmYwYmYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2
OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFt
ZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAgIGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRp
bmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7
IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpk
ZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBt
aW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVy
SW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lcklu
dGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmlt
dW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMgbWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25z
dCB7IHJldHVybiBtX21pbmltdW1ET01UaW1lckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldExheW91dEludGVydmFsKFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCAr
MjQ0LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3Vs
ZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMg
Ym9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAg
IHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91
YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyA9IHRpbWU7IH0KLSAgICBkb3VibGUgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlk
aW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJl
Zm9yZUhpZGluZ0NvbnRyb2xzOyB9CisgICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1l
bnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNvbmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4g
bV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAg
Ym9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFi
bGVkKGJvb2wpOwpAQCAtMzI2LDcgKzMyNiw3IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxpZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAg
ICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5n
UG9saWN5OwogICAgIFNlY29uZHMgbV9sYXlvdXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21p
bmltdW1ET01UaW1lckludGVydmFsOwogCiAgICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwog
CkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxp
bmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkIDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1f
c2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRp
bmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggODkxZmU3NGU3MmJj
NGIyMmI0ZmEwYWI1ZWIyZTQ3MGJlNzQ0MjMyMC4uNjQ2ZGUxZTE0OWEzNTE3MzY0ZDM4OWM1NWZi
MDhmZTllNTE5NTU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC03LDcgKzcsNyBAQCBs
b2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGggdHlwZT1TdHJpbmcKIGVkaXRhYmxlTGlua0JlaGF2aW9y
IHR5cGU9RWRpdGFibGVMaW5rQmVoYXZpb3IsIGluaXRpYWw9RWRpdGFibGVMaW5rRGVmYXVsdEJl
aGF2aW9yCiB0ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yIHR5cGU9VGV4dERp
cmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvciwgaW5pdGlhbD1UZXh0RGlyZWN0aW9uU3Vi
bWVudUF1dG9tYXRpY2FsbHlJbmNsdWRlZAogcGRmSW1hZ2VDYWNoaW5nUG9saWN5IHR5cGU9UERG
SW1hZ2VDYWNoaW5nUG9saWN5LCBpbml0aWFsID0gUERGSW1hZ2VDYWNoaW5nRGVmYXVsdAotcGFz
c3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMgdHlwZT1kb3VibGUsIGluaXRpYWw9MQorcGFzc3dv
cmRFY2hvRHVyYXRpb24gdHlwZT1TZWNvbmRzLCBpbml0aWFsPTEKIAogIyBTZXRzIHRoZSBtYWdu
aWZpY2F0aW9uIHZhbHVlIGZvciB2YWxpZGF0aW9uIG1lc3NhZ2UgdGltZXIuICBJZiB0aGUKICMg
bWFnbmlmaWNhdGlvbiB2YWx1ZSBpcyBOLCBhIHZhbGlkYXRpb24gbWVzc2FnZSBkaXNhcHBlYXJz
IGF1dG9tYXRpY2FsbHkgYWZ0ZXIKQEAgLTE0MCw3ICsxNDAsNyBAQCBtZWRpYUNvbnRyb2xzU2Nh
bGVXaXRoUGFnZVpvb20gaW5pdGlhbD1kZWZhdWx0TWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Va
b29tCiBpbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCBpbml0aWFsPWZhbHNlCiBwYXNzd29y
ZEVjaG9FbmFibGVkIGluaXRpYWw9ZmFsc2UKIHN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmlu
ZyBpbml0aWFsPWZhbHNlCi1pbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dElu
U2Vjb25kcyB0eXBlPWRvdWJsZSwgaW5pdGlhbD1kZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJpbmdT
dXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMKK2luY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Np
b25UaW1lb3V0IHR5cGU9U2Vjb25kcywgaW5pdGlhbD1kZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXQKIGJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkIGluaXRp
YWw9dHJ1ZQogc2hvdWxkRGlzcGxheVN1YnRpdGxlcyBpbml0aWFsPWZhbHNlLCBjb25kaXRpb25h
bD1WSURFT19UUkFDSwogc2hvdWxkRGlzcGxheUNhcHRpb25zIGluaXRpYWw9ZmFsc2UsIGNvbmRp
dGlvbmFsPVZJREVPX1RSQUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3Bl
bmRhYmxlVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cAppbmRleCA3NjU4M2MxMmJhODI5MWFhYTZhZTRiYzVkZmRkNDZiMjRjNTc2NDM1Li4yODc2Mjg2
YzhjMDcxOGY4MzYyZGFiYzE1ZjJiZjNkNDExZDBmMjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3VzcGVuZGFibGVUaW1lci5jcHAKQEAgLTMzLDEwICszMyw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogU3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0KQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQotICAgICwg
bV9zdXNwZW5kZWQoZmFsc2UpCi0gICAgLCBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCgwKQotICAg
ICwgbV9zYXZlZFJlcGVhdEludGVydmFsKDApCi0gICAgLCBtX3NhdmVkSXNBY3RpdmUoZmFsc2Up
CiB7CiB9CiAKQEAgLTEwMSw3ICs5Nyw3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6Y2FuY2Vs
KCkKICAgICAgICAgbV9zdXNwZW5kZWQgPSBmYWxzZTsKIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRp
bWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRh
YmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjpzdGFydFJlcGVhdGluZyhyZXBl
YXRJbnRlcnZhbCk7CkBAIC0xMTIsMjcgKzEwOCwyNyBAQCB2b2lkIFN1c3BlbmRhYmxlVGltZXI6
OnN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKICAgICB9CiB9CiAKLXZvaWQg
U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgU3Vz
cGVuZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgaWYg
KCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjpzdGFydE9uZVNob3QoaW50ZXJ2YWwp
OwogICAgIGVsc2UgewogICAgICAgICBtX3NhdmVkSXNBY3RpdmUgPSB0cnVlOwogICAgICAgICBt
X3NhdmVkTmV4dEZpcmVJbnRlcnZhbCA9IGludGVydmFsOwotICAgICAgICBtX3NhdmVkUmVwZWF0
SW50ZXJ2YWwgPSAwOworICAgICAgICBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSAwX3M7CiAgICAg
fQogfQogCi1kb3VibGUgU3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwoKSBjb25zdAor
U2Vjb25kcyBTdXNwZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAg
aWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgcmV0dXJuIFRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2
YWwoKTsKICAgICBpZiAobV9zYXZlZElzQWN0aXZlKQogICAgICAgICByZXR1cm4gbV9zYXZlZFJl
cGVhdEludGVydmFsOwotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9CiAKLXZvaWQg
U3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpCit2b2lk
IFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkKIHsK
ICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1lckJhc2U6OmF1Z21lbnRGaXJlSW50
ZXJ2YWwoZGVsdGEpOwpAQCAtMTQxLDExICsxMzcsMTEgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVy
OjphdWdtZW50RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSkKICAgICB9IGVsc2UgewogICAgICAg
ICBtX3NhdmVkSXNBY3RpdmUgPSB0cnVlOwogICAgICAgICBtX3NhdmVkTmV4dEZpcmVJbnRlcnZh
bCA9IGRlbHRhOwotICAgICAgICBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSAwOworICAgICAgICBt
X3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSAwX3M7CiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxl
VGltZXI6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpCit2b2lkIFN1c3BlbmRh
YmxlVGltZXI6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKQogewogICAgIGlm
ICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFs
KGRlbHRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKaW5kZXggZTE1ZjBh
NzA5Mzc4NTBhM2E2OTAxZjcyMGM1ZGUxZjYwOTkxMzg2NC4uMTM0NTc1MTg1MjRkZDIxMmE5MmI3
Zjg1NTUxNzgxYTAzNjVkMTkzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNw
ZW5kYWJsZVRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVy
LmgKQEAgLTQzLDE3ICs0MywxMiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
IHsgcmV0dXJuIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSB8fCAobV9zdXNwZW5kZWQgJiYgbV9zYXZl
ZElzQWN0aXZlKTsgfQogICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3N1
c3BlbmRlZDsgfQogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2
YWwpOwotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCk7Ci0gICAgZG91Ymxl
IHJlcGVhdEludGVydmFsKCkgY29uc3Q7Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKGRv
dWJsZSBkZWx0YSk7Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRh
KTsKKyAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOworICAg
IHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpOworICAgIFNlY29uZHMgcmVwZWF0
SW50ZXJ2YWwoKSBjb25zdDsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25k
cyhyZXBlYXRJbnRlcnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3QobXNUb1NlY29uZHMoaW50ZXJ2
YWwpKTsgfQotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygp
IGNvbnN0IHsgcmV0dXJuIHNlY29uZHNUb01TKHJlcGVhdEludGVydmFsKCkpOyB9Ci0gICAgdm9p
ZCBhdWdtZW50RmlyZUludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsg
YXVnbWVudEZpcmVJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdt
ZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdt
ZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQorICAgIHZvaWQgYXVnbWVu
dEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKTsKKyAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRl
cnZhbChTZWNvbmRzIGRlbHRhKTsKIAogICAgIHVzaW5nIFRpbWVyQmFzZTo6ZGlkQ2hhbmdlQWxp
Z25tZW50SW50ZXJ2YWw7CiAgICAgdXNpbmcgVGltZXJCYXNlOjpvcGVyYXRvciBuZXc7CkBAIC03
MSwxMSArNjYsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVu
c2lvbikgZmluYWw7CiAgICAgdm9pZCByZXN1bWUoKSBmaW5hbDsKIAotICAgIGJvb2wgbV9zdXNw
ZW5kZWQ7CisgICAgU2Vjb25kcyBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKIAotICAgIGRvdWJsZSBtX3NhdmVkTmV4dEZpcmVJbnRl
cnZhbDsKLSAgICBkb3VibGUgbV9zYXZlZFJlcGVhdEludGVydmFsOwotICAgIGJvb2wgbV9zYXZl
ZElzQWN0aXZlOworICAgIGJvb2wgbV9zdXNwZW5kZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9z
YXZlZElzQWN0aXZlIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAppbmRleCAzOTg4
N2YxMzUyMjk0MTJlM2YwMzUyM2RmNGI1OTdiY2UzNzYwYzc1Li5lZmJiMzZkZWE5NjkwZTEyYjhj
YmZlNWI4M2UyZjVmOWMwMmJjYTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1do
ZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2
ZW50VGVzdFRyaWdnZXIuY3BwCkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgV2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpzZXRUZXN0Q2FsbGJhY2tBbmRTdGFydE5vdGlmaWNhdGlvblRpbWVyKHN0ZDo6ZnVu
Y3RpCiAgICAgfQogICAgIAogICAgIGlmICghbV90ZXN0VHJpZ2dlclRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsK
KyAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8g
NjApKTsKIH0KIAogdm9pZCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OmRlZmVyVGVzdHNGb3JSZWFz
b24oU2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyIGlkZW50aWZpZXIsIERlZmVyVGVzdFRyaWdnZXJS
ZWFzb24gcmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCA5YTQ2ZGViNDExYWZjOWFjYWIxNGQ5ZTZjZDdh
ODFkYWQyZjc1Y2VkLi45MzEzZTgwZTU3NGI0NTQzMDQxMTIyNTk5OTA3NTg2MmExZjMyYzU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250
cm9sbGVyLmNwcApAQCAtNDgsOCArNDgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0
YXRpYyBjb25zdCBkb3VibGUgY0FuaW1hdGlvblRpbWVyRGVsYXkgPSAxLjAgLyA2MDsKLXN0YXRp
YyBjb25zdCBkb3VibGUgY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCA9IC0xOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJEZWxheSA9IFNlY29uZHMoMS4wIC8gNjAp
Oworc3RhdGljIGNvbnN0IGRvdWJsZSBiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQgPSAt
MTsKIAogY2xhc3MgQW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKQEAgLTcx
LDcgKzcxLDcgQEAgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlKEZyYW1lJiBmcmFtZSkKICAgICA6IG1fYW5pbWF0aW9uVGltZXIoKnRoaXMsICZB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YW5pbWF0aW9uVGltZXJGaXJlZCkKICAgICAsIG1f
dXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKnRoaXMsICZBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZTo6dXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXJGaXJlZCkKICAgICAsIG1fZnJh
bWUoZnJhbWUpCi0gICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShjQmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lTm90U2V0KQorICAgICwgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICwgbV9iZWdpbkFuaW1hdGlvblVwZGF0
ZUNvdW50KDApCiAgICAgLCBtX3dhaXRpbmdGb3JBc3luY1N0YXJ0Tm90aWZpY2F0aW9uKGZhbHNl
KQogICAgICwgbV9pc1N1c3BlbmRlZChmYWxzZSkKQEAgLTE1MiwxMSArMTUyLDExIEBAIGRvdWJs
ZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9ucyhTZXRDaGFuZ2Vk
IGNhbGxTZXRDaGFuZ2VkLyoKIAogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBk
YXRlQW5pbWF0aW9uVGltZXJGb3JSZW5kZXJlcihSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKIHsK
LSAgICBkb3VibGUgdGltZVRvTmV4dFNlcnZpY2UgPSAwOworICAgIFNlY29uZHMgdGltZVRvTmV4
dFNlcnZpY2U7CiAKICAgICBjb25zdCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBvc2l0ZUFuaW1h
dGlvbiA9IG1fY29tcG9zaXRlQW5pbWF0aW9ucy5nZXQoJnJlbmRlcmVyKTsKICAgICBpZiAoIWNv
bXBvc2l0ZUFuaW1hdGlvbi0+aXNTdXNwZW5kZWQoKSAmJiBjb21wb3NpdGVBbmltYXRpb24tPmhh
c0FuaW1hdGlvbnMoKSkKLSAgICAgICAgdGltZVRvTmV4dFNlcnZpY2UgPSBjb21wb3NpdGVBbmlt
YXRpb24tPnRpbWVUb05leHRTZXJ2aWNlKCk7CisgICAgICAgIHRpbWVUb05leHRTZXJ2aWNlID0g
U2Vjb25kcyhjb21wb3NpdGVBbmltYXRpb24tPnRpbWVUb05leHRTZXJ2aWNlKCkpOwogCiAgICAg
aWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSAmJiAobV9hbmltYXRpb25UaW1lci5yZXBl
YXRJbnRlcnZhbCgpIHx8IG1fYW5pbWF0aW9uVGltZXIubmV4dEZpcmVJbnRlcnZhbCgpIDw9IHRp
bWVUb05leHRTZXJ2aWNlKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTY2LDE5ICsxNjYsMjAgQEAg
dm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXJGb3JS
ZW5kZXJlcihSZW5kZXJFbGVtZW50JgogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
Ojp1cGRhdGVBbmltYXRpb25UaW1lcihTZXRDaGFuZ2VkIGNhbGxTZXRDaGFuZ2VkLyogPSBEb05v
dENhbGxTZXRDaGFuZ2VkKi8pCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0gdXBk
YXRlQW5pbWF0aW9ucyhjYWxsU2V0Q2hhbmdlZCk7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gY29u
dmVydCByZXN0IG9mIGFuaW1hdGlvbnMgY29kZSB0byBTZWNvbmRzIGFuZCBNb25vdG9uaWNUaW1l
LgorICAgIFNlY29uZHMgdGltZVRvTmV4dFNlcnZpY2UgPSBTZWNvbmRzKHVwZGF0ZUFuaW1hdGlv
bnMoY2FsbFNldENoYW5nZWQpKTsKIAotICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5pbWF0
aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUuMmYiLCB0aW1lVG9OZXh0U2VydmljZSk7
CisgICAgTE9HKEFuaW1hdGlvbnMsICJ1cGRhdGVBbmltYXRpb25UaW1lcjogdGltZVRvTmV4dFNl
cnZpY2UgaXMgJS4yZm1zIiwgdGltZVRvTmV4dFNlcnZpY2UubWlsbGlzZWNvbmRzKCkpOwogCiAg
ICAgLy8gSWYgd2Ugd2FudCBzZXJ2aWNlIGltbWVkaWF0ZWx5LCB3ZSBzdGFydCBhIHJlcGVhdGlu
ZyB0aW1lciB0byByZWR1Y2UgdGhlIG92ZXJoZWFkIG9mIHN0YXJ0aW5nCiAgICAgaWYgKCF0aW1l
VG9OZXh0U2VydmljZSkgewotICAgICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUo
KSB8fCBtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkgPT0gMCkKLSAgICAgICAgICAg
IG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoY0FuaW1hdGlvblRpbWVyRGVsYXkpOwor
ICAgICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSB8fCAhbV9hbmltYXRpb25U
aW1lci5yZXBlYXRJbnRlcnZhbCgpKQorICAgICAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFy
dFJlcGVhdGluZyhhbmltYXRpb25UaW1lckRlbGF5KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAogICAgIC8vIElmIHdlIGRvbid0IG5lZWQgc2VydmljZSwgd2Ugd2FudCB0byBtYWtlIHN1cmUg
dGhlIHRpbWVyIGlzIG5vIGxvbmdlciBydW5uaW5nCi0gICAgaWYgKHRpbWVUb05leHRTZXJ2aWNl
IDwgMCkgeworICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDBfcykgewogICAgICAgICBpZiAo
bV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgbV9hbmltYXRpb25UaW1l
ci5zdG9wKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTIyMiw3ICsyMjMsNyBAQCB2b2lkIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKQogdm9pZCBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0
Y2hlcigpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphZGRFdmVu
dFRvRGlzcGF0Y2goUGFzc1JlZlB0cjxFbGVtZW50PiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgZWxhcHNlZFRpbWUpCkBA
IC0zODQsNyArMzg1LDcgQEAgYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6cGF1c2VU
cmFuc2l0aW9uQXRUaW1lKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLAogZG91YmxlIEFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKQogewogICAgIEFT
U0VSVChtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQpOwotICAgIGlmIChtX2JlZ2luQW5pbWF0
aW9uVXBkYXRlVGltZSA9PSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQorICAgIGlm
IChtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSA9PSBiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVO
b3RTZXQpCiAgICAgICAgIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7CiAKICAgICByZXR1cm4gbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRp
bWU7CkBAIC0zOTMsNyArMzk0LDcgQEAgZG91YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
OjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKQogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGUoKQogewogICAgIGlmICghbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZUNvdW50KQotICAgICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoY0JlZ2lu
QW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCk7CisgICAgICAgIHNldEJlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZShiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOwogICAgICsrbV9iZWdpbkFu
aW1hdGlvblVwZGF0ZUNvdW50OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0KaW5kZXggYjAzNTI3MDg5MWQwYzI2ODk5MDM2M2M0ZmQwZjZkMTZhMjcxZTM2
OS4uMzc4ZGViMGIxN2ZhYWVkY2I1ODM4YjY4YmY3Y2U3MjllMGYzYTVmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzgsNyArNzgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjb25zdCBkb3VibGUgRXZlbnRIYW5kbGVyOjpUZXh0RHJhZ0RlbGF5
ID0gMC4xNTsKICNlbmRpZgogCi1jb25zdCBkb3VibGUgcmVzZXRMYXRjaGVkU3RhdGVUaW1lb3V0
ID0gMC4xOworY29uc3QgU2Vjb25kcyByZXNldExhdGNoZWRTdGF0ZURlbGF5ID0gMC4xX3M7CiAK
IHN0YXRpYyBSZXRhaW5QdHI8TlNFdmVudD4mIGN1cnJlbnROU0V2ZW50U2xvdCgpCiB7CkBAIC05
MjQsNyArOTI0LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5n
TGF0Y2hlZFN0YXRlSWZOZWVkZWQoY29uc3QgUGxhdGZvcm1XaGUKICAgICAvLyByZXNldCB0aGUg
bGF0Y2hlZCBzdGF0ZS4gSWYgaXQgZG9lcywgc3RvcCB0aGUgdGltZXIsIGxlYXZpbmcgdGhlIGxh
dGNoZWQgc3RhdGUgdW50b3VjaGVkLgogICAgIGlmICghbV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2
ZW50c1RpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgaWYgKGV2ZW50LmlzRW5kT2ZOb25Nb21l
bnR1bVNjcm9sbCgpKQotICAgICAgICAgICAgbV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2ZW50c1Rp
bWVyLnN0YXJ0T25lU2hvdChyZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQpOworICAgICAgICAgICAg
bV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdChyZXNldExhdGNo
ZWRTdGF0ZURlbGF5KTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBJZiBhbm90aGVyIHdoZWVs
IGV2ZW50IHNjcm9sbGluZyBzdGFydHMsIHN0b3AgdGhlIHRpbWVyIG1hbnVhbGx5LCBhbmQgcmVz
ZXQgdGhlIGxhdGNoZWQgc3RhdGUgaW1tZWRpYXRlbHkuCiAgICAgICAgIGlmIChldmVudC5zaG91
bGRDb25zaWRlckxhdGNoaW5nKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAppbmRleCA1NWU0ZDY1OTVlZWI2MDUzZjZhNmE5
NDUwYjlkYWViODEyOGM1MjcwLi4wYmIwOTgwMGY4ZmFlN2ExZTcyN2M5NDRkZWRkYjFmNmE1NjZk
MjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5oCkBAIC0xMjIsNyArMTIyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1Jl
bGV2YW50U2VsZWN0aW9uU2VydmljZXMoKTsKIAogICAgIGJvb2wgbW91c2VJc092ZXJIaWdobGln
aHQoSGlnaGxpZ2h0JiwgYm9vbCYgbW91c2VJc092ZXJCdXR0b24pIGNvbnN0OwotICAgIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVT
aG93bihIaWdobGlnaHQqKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlbWFpbmluZ1RpbWVVbnRpbEhp
Z2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CiAgICAgdm9pZCBkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVkKCk7CiAKICAgICBzdGF0aWMgYm9vbCBoaWdobGln
aHRzQXJlRXF1aXZhbGVudChjb25zdCBIaWdobGlnaHQqIGEsIGNvbnN0IEhpZ2hsaWdodCogYik7
CkBAIC0xNTEsOSArMTUxLDkgQEAgcHJpdmF0ZToKIAogICAgIEhpZ2hsaWdodDo6VHlwZSBtX2Rp
cnR5SGlnaGxpZ2h0VHlwZXMgeyAwIH07CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1l
OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0TW91c2VV
cFRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lOworICAg
IE1vbm90b25pY1RpbWUgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKKyAgICBNb25v
dG9uaWNUaW1lIG1fbGFzdE1vdXNlVXBUaW1lOwogCiAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbV9j
dXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAgSW50UG9pbnQgbV9tb3VzZVBv
c2l0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3Zlcmxh
eUNvbnRyb2xsZXIubW0KaW5kZXggOWE4MTViNWFlNTU5NjQ5OWJkZjYxNmVkNDIxMWI5YTUyMzgx
NWU2Mi4uZTg4NDkyOTQ2YTViYWVlMTY5NGUwNGM1MjY3Njk3NDRlYjk0ZWViMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
CkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpzZWxl
Y3Rpb25SZWN0c0RpZENoYW5nZShjb25zdCBWZWN0b3I8TGF5b3V0UmVjdD4KICAgICBtX2N1cnJl
bnRTZWxlY3Rpb25SZWN0cyA9IHJlY3RzOwogICAgIG1faXNUZXh0T25seSA9IGlzVGV4dE9ubHk7
CiAKLSAgICBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9j
bG9jazo6bm93KCk7CisgICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZSA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOwogCiAgICAgY29tcGFjdFJlY3RzV2l0aEdhcFJlY3RzKG1fY3VycmVudFNlbGVj
dGlvblJlY3RzLCBnYXBSZWN0cyk7CiAKQEAgLTM5MSw3ICszOTEsNyBAQCB2b2lkIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKEhpZ2hsaWdodDo6
VHlwZSB0eXBlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2RpcnR5SGlnaGxpZ2h0VHlwZXMg
fD0gdHlwZTsKLSAgICBtX2J1aWxkSGlnaGxpZ2h0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2J1aWxkSGlnaGxpZ2h0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmJ1aWxkUG90ZW50aWFsSGlnaGxpZ2h0c0lmTmVlZGVk
KCkKQEAgLTQzMywxNSArNDMzLDE1IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
bW91c2VJc092ZXJIaWdobGlnaHQoSGlnaGxpZ2h0JiBoaWdobGlnaHQsIGJvb2wmCiAgICAgcmV0
dXJuIGhvdmVyZWQ7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihI
aWdobGlnaHQqIGhpZ2hsaWdodCkgY29uc3QKK1NlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQq
IGhpZ2hsaWdodCkgY29uc3QKIHsKICAgICBpZiAoIWhpZ2hsaWdodCkKLSAgICAgICAgcmV0dXJu
IDBtczsKKyAgICAgICAgcmV0dXJuIDBfczsKIAotICAgIGF1dG8gbWluaW11bVRpbWVVbnRpbEhp
Z2hsaWdodFNob3VsZEJlU2hvd24gPSAyMDBtczsKKyAgICBTZWNvbmRzIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMC4yX3M7CiAgICAgUGFnZSogcGFnZSA9IG1fbWFp
bkZyYW1lLnBhZ2UoKTsKICAgICBpZiAocGFnZSAmJiBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5m
b2N1c2VkT3JNYWluRnJhbWUoKS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5pc0NvbnRlbnRFZGl0
YWJsZSgpKQotICAgICAgICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9
IDEwMDBtczsKKyAgICAgICAgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24g
PSAxX3M7CiAKICAgICBib29sIG1vdXNlUHJlc3NlZCA9IG1fbWFpbkZyYW1lLmV2ZW50SGFuZGxl
cigpLm1vdXNlUHJlc3NlZCgpOwogCkBAIC00NDksMTUgKzQ0OSwxNCBAQCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodAogICAgIC8vIGJ5IHZpcnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0byBpbmNsdWRl
IHRoZSBlbnRpcmUgdGVsZXBob25lIG51bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBzdGlsbCBhdm9p
ZCBoaWdobGlnaHRpbmcKICAgICAvLyB0ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0aGUgbW91c2Ug
aXMgZG93bi4KICAgICBpZiAoaGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUZWxlcGhv
bmVOdW1iZXJUeXBlKQotICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVV
bnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gOiAwbXM7CisgICAgICAgIHJldHVybiBtb3VzZVBy
ZXNzZWQgPyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6IDBfczsKIAot
ICAgIGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0
byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBhdXRvIHRpbWVTaW5jZUxhc3RTZWxl
Y3Rpb25DaGFuZ2UgPSBub3cgLSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lOwogICAgIGF1dG8g
dGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlID0gbm93IC0gbV9uZXh0QWN0aXZlSGlnaGxp
Z2h0Q2hhbmdlVGltZTsKLSAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91c2VQcmVz
c2VkID8gMG1zIDogbm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CisgICAgYXV0byB0aW1lU2luY2VM
YXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBfcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBUaW1l
OwogCi0gICAgYXV0byByZW1haW5pbmdEZWxheSA9IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duIC0gc3RkOjptaW4oc3RkOjptaW4odGltZVNpbmNlTGFzdFNlbGVjdGlvbkNo
YW5nZSwgdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlKSwgdGltZVNpbmNlTGFzdE1vdXNl
VXApOwotICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihyZW1haW5pbmdEZWxheSk7CisgICAgcmV0dXJuIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duIC0gc3RkOjptaW4oc3RkOjptaW4odGltZVNpbmNlTGFz
dFNlbGVjdGlvbkNoYW5nZSwgdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlKSwgdGltZVNp
bmNlTGFzdE1vdXNlVXApOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoKQpAQCAtNzIzLDcgKzcyMiw3IEBAIHZv
aWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KGJv
b2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAgICAgICAgIC8vIGhpZ2hsaWdodCwgYW5kIG9ubHkgcmVz
ZXQgdGhlIGFjdGl2ZSBoaWdobGlnaHQgaHlzdGVyZXNpcyB3aGVuIHRoYXQgY2hhbmdlcy4KICAg
ICAgICAgaWYgKG1fbmV4dEFjdGl2ZUhpZ2hsaWdodCAhPSBuZXdBY3RpdmVIaWdobGlnaHQpIHsK
ICAgICAgICAgICAgIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodCA9IG5ld0FjdGl2ZUhpZ2hsaWdodDsK
LSAgICAgICAgICAgIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWUgPSBzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICAgICAgICAgIG1fbmV4dEFjdGl2ZUhpZ2hsaWdo
dENoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgfQogCiAgICAgICAg
IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0ID0gbnVsbHB0cjsKQEAgLTczNCw3
ICs3MzMsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRldGVybWluZUFjdGl2
ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICB9CiAKICAgICAgICAg
YXV0byByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gdGhpcy0+cmVt
YWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihuZXdBY3RpdmVIaWdobGlnaHQu
Z2V0KCkpOwotICAgICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVT
aG93biA+IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkpIHsKKyAg
ICAgICAgaWYgKHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiAwX3Mp
IHsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXIuc3RhcnRPbmVT
aG90KHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24pOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CkBAIC03NjYsNyArNzY1LDcgQEAgYm9vbCBTZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyOjptb3VzZUV2ZW50KFBhZ2VPdmVybGF5JiwgY29uc3QgUGxhdGZvcm1N
b3VzZUV2ZW4KICAgICAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbW91c2VEb3duSGlnaGxpZ2h0ID0g
bV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAgICAgIG1fY3VycmVudE1v
dXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0ID0gbnVsbHB0cjsKIAotICAgICAgICBtX2xhc3RNb3Vz
ZVVwVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICBtX2xh
c3RNb3VzZVVwVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgICAgIGlmIChtb3Vz
ZUlzT3ZlckFjdGl2ZUhpZ2hsaWdodEJ1dHRvbiAmJiBtb3VzZURvd25IaWdobGlnaHQpIHsKICAg
ICAgICAgICAgIGhhbmRsZUNsaWNrKG1fbW91c2VQb3NpdGlvbiwgKm1vdXNlRG93bkhpZ2hsaWdo
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2lu
ZG93Lm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbQpp
bmRleCBlNGUyMGQyMjc2OGM4ODJlOTAwYjEyYjQxZmUwMmVjZGZiNDhmNjI4Li41MDQ0ZWFmNjIw
NGEzYmMyYjhkZGU2YWU0YTg1OTlhYjUxMTZiMWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KQEAgLTQ3NSw3ICs0NzUsNyBAQCB2b2lkIFRl
eHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJbmRpY2F0b3IoUmVmPFRleHRJbmRpY2F0b3I+IHRl
eHRJbmRpY2F0b3IsIENHUgogICAgICAgICBbbV90ZXh0SW5kaWNhdG9yVmlldyBwcmVzZW50XTsK
IAogICAgIGlmIChsaWZldGltZSA9PSBUZXh0SW5kaWNhdG9yV2luZG93TGlmZXRpbWU6OlRlbXBv
cmFyeSkKLSAgICAgICAgbV90ZW1wb3JhcnlUZXh0SW5kaWNhdG9yVGltZXIuc3RhcnRPbmVTaG90
KHRpbWVCZWZvcmVGYWRlU3RhcnRzKTsKKyAgICAgICAgbV90ZW1wb3JhcnlUZXh0SW5kaWNhdG9y
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHModGltZUJlZm9yZUZhZGVTdGFydHMpKTsKIH0KIAog
dm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpjbG9zZVdpbmRvdygpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwCmluZGV4IDg1YTY0NzJlY2UyMTFmZjIwMDgwZDM3YTUyZWFlMTkwYTkxMDk3NDAuLmM2ZmQ1
MzQ4ZmFhYWEzYzY5Mjg1NzA0ZTRlZDQ3ZDg2MjdmOGQzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpz
Y2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9sbChTY3IKICAgICB9CiAK
ICAgICBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZSA9IHNjcm9sbFVwZGF0ZTsKLSAgICBtX3VwZGF0
ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZU5v
ZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEFzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9s
bFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
aW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCmluZGV4IDRjY2Y0NDQyOWY5OWUx
MDlmODc1NWI5NDYwMTI2YmJjYTdlNWI5ZWEuLmVkMWQ3ZDYxMzlmMjA1MmI0YmQ4YTE2ODU3NTA3
ZDYxMjhmMDQyYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lv
cy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KQEAgLTg2LDcgKzg2LDcgQEAg
dm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKQog
ICAgIGlmIChtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OmNv
bW1pdFRyZWVTdGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggZDQzZDk0YjI0N2E2
ZTRmOTM5NzQxNTgyNjE5N2MyYjBhZGYwNzE0OC4uNTNmNDBkNjAxNDRkMDk0ZjY4NTM1ZjQxMzQ4
OGZjNGY5MzA4ZjY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTAzLDcgKzEwMyw3
IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0
KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Ojpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
R2VuZXJpY1Rhc2tRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFz
a1F1ZXVlLmNwcAppbmRleCAxYWE3ZTFiODc2M2ZmMWI0N2RmYjhlMjEzOTQwNzY0NWViNzU1ZWIy
Li4zNzk0ZjFlZjFkMDFjZjVhZTYyMTFkYmU0NTg3MTk1M2E2MzRmMmFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcApAQCAtNDEsNyArNDEsNyBAQCB2
b2lkIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2soRnVuY3Rpb248dm9pZCgpPiYmIGZ1
bmN0aW9uKQogICAgIG1fcGVuZGluZ1Rhc2tzLmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CiAg
ICAgcGVuZGluZ0Rpc3BhdGNoZXJzKCkuYXBwZW5kKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vh
a1B0cigpKTsKICAgICBpZiAoIXNoYXJlZFRpbWVyKCkuaXNBY3RpdmUoKSkKLSAgICAgICAgc2hh
cmVkVGltZXIoKS5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIFRpbWVyJiBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnNoYXJlZFRp
bWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rp
dml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKaW5k
ZXggMTI4ZWY4MjA5ZTJhNzQ4MzA5ZTA2MjgyMGVkYzgyMzk4MGMwYjJlMS4uYWQ0ZWI3N2FlNTdi
ZTMyYjM5Mzc4ZjM4MzA5OWI5M2Q0NThhZjc4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKQEAgLTMwLDcgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRIeXN0ZXJlc2lzU2Vjb25kcyA9
IDUuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIERlZmF1bHRIeXN0ZXJlc2lzSW50ZXJ2YWwgPSA1
X3M7CiAKIGVudW0gY2xhc3MgSHlzdGVyZXNpc1N0YXRlIHsKICAgICBTdGFydGVkLApAQCAtMzks
OSArMzksOSBAQCBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0ZSB7CiAKIGNsYXNzIEh5c3RlcmVz
aXNBY3Rpdml0eSB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5KHN0
ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBjYWxsYmFjayA9IFtdKEh5c3RlcmVz
aXNTdGF0ZSkgeyB9LCBkb3VibGUgaHlzdGVyZXNpc1NlY29uZHMgPSBEZWZhdWx0SHlzdGVyZXNp
c1NlY29uZHMpCisgICAgZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5KHN0ZDo6ZnVuY3Rpb248
dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNTdGF0ZSkgeyB9
LCBTZWNvbmRzIGh5c3RlcmVzaXNJbnRlcnZhbCA9IERlZmF1bHRIeXN0ZXJlc2lzSW50ZXJ2YWwp
CiAgICAgICAgIDogbV9jYWxsYmFjayhjYWxsYmFjaykKLSAgICAgICAgLCBtX2h5c3RlcmVzaXNT
ZWNvbmRzKGh5c3RlcmVzaXNTZWNvbmRzKQorICAgICAgICAsIG1faHlzdGVyZXNpc0ludGVydmFs
KGh5c3RlcmVzaXNJbnRlcnZhbCkKICAgICAgICAgLCBtX2FjdGl2ZShmYWxzZSkKICAgICAgICAg
LCBtX3RpbWVyKCp0aGlzLCAmSHlzdGVyZXNpc0FjdGl2aXR5OjpoeXN0ZXJlc2lzVGltZXJGaXJl
ZCkKICAgICB7CkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgbV9hY3RpdmUgPSBmYWxzZTsKIAotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChtX2h5c3RlcmVzaXNTZWNvbmRzKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9o
eXN0ZXJlc2lzSW50ZXJ2YWwpOwogICAgIH0KIAogICAgIHZvaWQgaW1wdWxzZSgpCkBAIC04OSw3
ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3RkOjpmdW5jdGlvbjx2b2lkKEh5c3Rl
cmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29uZHM7
CisgICAgU2Vjb25kcyBtX2h5c3RlcmVzaXNJbnRlcnZhbDsKICAgICBib29sIG1fYWN0aXZlOwog
ICAgIFRpbWVyIG1fdGltZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAK
aW5kZXggODgxODFkMzA1N2Y0Njg5NGRmZWI5YTk3N2E1NjcwNjYxNjQ1MzU3Yy4uZjA5ZTk0YjA5
ZjA2MTUzNWU3OThhMGQwZTgwMGUzOGJmNmQ5NDI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuY3BwCkBAIC0xODMsNyArMTgzLDcgQEAgc3RhdGljIGJvb2wgdGh1bWJVbmRlck1v
dXNlKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogICAgIHJldHVybiBzY3JvbGxiYXItPnByZXNzZWRQ
b3MoKSA+PSB0aHVtYlBvcyAmJiBzY3JvbGxiYXItPnByZXNzZWRQb3MoKSA8IHRodW1iUG9zICsg
dGh1bWJMZW5ndGg7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQo
ZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNv
bmRzIGRlbGF5KQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGZvciB0aGUgdGh1bWIgb3Ig
aWYgbm90aGluZyB3YXMgcHJlc3NlZC4KICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBUaHVtYlBh
cnQgfHwgbV9wcmVzc2VkUGFydCA9PSBOb1BhcnQpCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBT
Y3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCiAgICAgICAgIHN0
YXJ0VGltZXJJZk5lZWRlZChkZWxheSk7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVy
SWZOZWVkZWQoZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRl
ZChTZWNvbmRzIGRlbGF5KQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGZvciB0aGUgdGh1
bWIuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0KQpAQCAtMjI1LDcgKzIyNSw3
IEBAIHZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90
KGRlbGF5KTsKKyAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5KSk7
CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjpzdG9wVGltZXJJZk5lZWRlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhci5oCmluZGV4IGY4NmE5NjJhZmUwMmI1MjYwMzhiZDdkNWVkZGVhOTY0YmJh
NmY3MWEuLmEyMzZjN2U4ZWIxMjdhZWEzNzU2NTIzZWJlYzQxZjk5M2E5YTVjOTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCkBAIC0xNDQsOSArMTQ0LDkgQEAgcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUaHVtYlByb3BvcnRpb24oKTsKIAogICAgIHZvaWQgYXV0
b3Njcm9sbFRpbWVyRmlyZWQoKTsKLSAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUg
ZGVsYXkpOworICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpOwogICAg
IHZvaWQgc3RvcFRpbWVySWZOZWVkZWQoKTsKLSAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFy
dChkb3VibGUgZGVsYXkpOworICAgIHZvaWQgYXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29uZHMg
ZGVsYXkpOwogICAgIFNjcm9sbERpcmVjdGlvbiBwcmVzc2VkUGFydFNjcm9sbERpcmVjdGlvbigp
OwogICAgIFNjcm9sbEdyYW51bGFyaXR5IHByZXNzZWRQYXJ0U2Nyb2xsR3JhbnVsYXJpdHkoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggNzI1Mjk0MmIw
Y2FjYmE0YTBlM2EwZGZiNDc2MWRkNGE2NTc1ZWRiYy4uZmRjNWY4ZDVkNjQ1ZGYzMmY2MDI5MWY1
NDYwYmU1OTMyZGRjNDg3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVt
ZS5oCkBAIC0xMDUsOCArMTA1LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQgbWF4T3Zl
cmxhcEJldHdlZW5QYWdlcygpIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4
KCk7IH0KIAotICAgIHZpcnR1YWwgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IHsgcmV0dXJuIDAuMjU7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIHsgcmV0dXJuIDAuMDU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgaW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4yNV9zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGF1
dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4wNV9zOyB9CiAKICAgICB2aXJ0dWFsIHZv
aWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaApp
bmRleCAzNTg2M2JjODIwMTRjMzk3N2MzYzY5NGZhNDI3NmMwNTQxMWVmMWIxLi44ZDJlNmMwNTVi
OWZmZTEzMjdmM2ZmODg4YTVhZmE1MWQ1ZjdhNzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgK
QEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9udENhc2NhZGUgc3lzdGVt
Rm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0IHsgcmV0dXJuIEZvbnRDYXNj
YWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUgY2FyZXQgYmxpbmtzIGluIHRleHQg
ZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsg
cmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBj
b25zdCB7IHJldHVybiAwLjVfczsgfQogCiAgICAgLy8gTm90aWZpY2F0aW9uIHdoZW4gdGhlIHRo
ZW1lIGhhcyBjaGFuZ2VkCiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdlZCgpIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKaW5kZXggZTNkNjVlYWJiZTQ1OWQz
YjdhZWZkMTZkMjMxYWExMGZjZmRiY2E0NC4uOTY3ZTU4ZjBlOGJmNTZlMGNkOWU2MDNlYjM4ZDc2
YmRhYWRkZThkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGlt
ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCkBA
IC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi9Nb25v
dG9uaWNUaW1lLmg+CiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVkZSAiV2ViQ29yZVRocmVh
ZC5oIgpAQCAtNDMsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBGaXJlIHRpbWVy
cyBmb3IgdGhpcyBsZW5ndGggb2YgdGltZSwgYW5kIHRoZW4gcXVpdCB0byBsZXQgdGhlIHJ1biBs
b29wIHByb2Nlc3MgdXNlciBpbnB1dCBldmVudHMuCiAvLyAxMDBtcyBpcyBhYm91dCBhIHBlcmNl
cHRhYmxlIGRlbGF5IGluIFVJLCBzbyB1c2UgYSBoYWxmIG9mIHRoYXQgYXMgYSB0aHJlc2hvbGQu
CiAvLyBUaGlzIGlzIHRvIHByZXZlbnQgVUkgZnJlZXplIHdoZW4gdGhlcmUgYXJlIHRvbyBtYW55
IHRpbWVycyBvciBtYWNoaW5lIHBlcmZvcm1hbmNlIGlzIGxvdy4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMo
NTApOwogCiAvLyBUaW1lcnMgYXJlIGNyZWF0ZWQsIHN0YXJ0ZWQgYW5kIGZpcmVkIG9uIHRoZSBz
YW1lIHRocmVhZCwgYW5kIGVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIFRocmVhZFRpbWVycwogLy8g
Y29weSB0byBrZWVwIHRoZSBoZWFwIGFuZCBhIHNldCBvZiBjdXJyZW50bHkgZmlyaW5nIHRpbWVy
cy4KQEAgLTUxLDcgKzUyLDYgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhEdXJhdGlvbk9mRmly
aW5nVGltZXJzID0gMC4wNTA7CiBUaHJlYWRUaW1lcnM6OlRocmVhZFRpbWVycygpCiAgICAgOiBt
X3NoYXJlZFRpbWVyKDApCiAgICAgLCBtX2ZpcmluZ1RpbWVycyhmYWxzZSkKLSAgICAsIG1fcGVu
ZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUoMCkKIHsKICAgICBpZiAoaXNVSVRocmVhZCgpKQogICAg
ICAgICBzZXRTaGFyZWRUaW1lcigmTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzaW5nbGV0b24oKSk7
CkBAIC02NCw3ICs2NCw3IEBAIHZvaWQgVGhyZWFkVGltZXJzOjpzZXRTaGFyZWRUaW1lcihTaGFy
ZWRUaW1lciogc2hhcmVkVGltZXIpCiAgICAgaWYgKG1fc2hhcmVkVGltZXIpIHsKICAgICAgICAg
bV9zaGFyZWRUaW1lci0+c2V0RmlyZWRGdW5jdGlvbihudWxscHRyKTsKICAgICAgICAgbV9zaGFy
ZWRUaW1lci0+c3RvcCgpOwotICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0g
MDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1vbm90b25pY1RpbWUo
KTsKICAgICB9CiAgICAgCiAgICAgbV9zaGFyZWRUaW1lciA9IHNoYXJlZFRpbWVyOwpAQCAtODEs
MTggKzgxLDE4IEBAIHZvaWQgVGhyZWFkVGltZXJzOjp1cGRhdGVTaGFyZWRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKICAgICAgICAgCiAgICAgaWYgKG1fZmlyaW5nVGltZXJzIHx8IG1fdGltZXJI
ZWFwLmlzRW1wdHkoKSkgewotICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0g
MDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1vbm90b25pY1RpbWUo
KTsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c3RvcCgpOwogICAgIH0gZWxzZSB7Ci0gICAgICAg
IGRvdWJsZSBuZXh0RmlyZVRpbWUgPSBtX3RpbWVySGVhcC5maXJzdCgpLT5tX25leHRGaXJlVGlt
ZTsKLSAgICAgICAgZG91YmxlIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7CisgICAgICAgIE1vbm90b25pY1RpbWUgbmV4dEZpcmVUaW1lID0gbV90
aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7CisgICAgICAgIE1vbm90b25pY1RpbWUg
Y3VycmVudE1vbm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgaWYg
KG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUpIHsKICAgICAgICAgICAgIC8vIE5vIG5lZWQg
dG8gcmVzdGFydCB0aGUgdGltZXIgaWYgYm90aCB0aGUgcGVuZGluZyBmaXJlIHRpbWUgYW5kIHRo
ZSBuZXcgZmlyZSB0aW1lIGFyZSBpbiB0aGUgcGFzdC4KICAgICAgICAgICAgIGlmIChtX3BlbmRp
bmdTaGFyZWRUaW1lckZpcmVUaW1lIDw9IGN1cnJlbnRNb25vdG9uaWNUaW1lICYmIG5leHRGaXJl
VGltZSA8PSBjdXJyZW50TW9ub3RvbmljVGltZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0gCiAgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSBuZXh0Rmly
ZVRpbWU7Ci0gICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZhbChTZWNvbmRzKHN0
ZDo6bWF4KG5leHRGaXJlVGltZSAtIGN1cnJlbnRNb25vdG9uaWNUaW1lLCAwLjApKSk7CisgICAg
ICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZhbChzdGQ6Om1heDxTZWNvbmRzPihuZXh0
RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGltZSwgMF9zKSk7CiAgICAgfQogfQogCkBAIC0x
MDMsMjUgKzEwMywyNSBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2hhcmVkVGltZXJGaXJlZEludGVy
bmFsKCkKICAgICBpZiAobV9maXJpbmdUaW1lcnMpCiAgICAgICAgIHJldHVybjsKICAgICBtX2Zp
cmluZ1RpbWVycyA9IHRydWU7Ci0gICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7
CisgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsKIAot
ICAgIGRvdWJsZSBmaXJlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAg
IGRvdWJsZSB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJz
OworICAgIE1vbm90b25pY1RpbWUgZmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAg
ICBNb25vdG9uaWNUaW1lIHRpbWVUb1F1aXQgPSBmaXJlVGltZSArIG1heER1cmF0aW9uT2ZGaXJp
bmdUaW1lcnM7CiAKICAgICB3aGlsZSAoIW1fdGltZXJIZWFwLmlzRW1wdHkoKSAmJiBtX3RpbWVy
SGVhcC5maXJzdCgpLT5tX25leHRGaXJlVGltZSA8PSBmaXJlVGltZSkgewogICAgICAgICBUaW1l
ckJhc2UqIHRpbWVyID0gbV90aW1lckhlYXAuZmlyc3QoKTsKLSAgICAgICAgdGltZXItPm1fbmV4
dEZpcmVUaW1lID0gMDsKLSAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0g
MDsKKyAgICAgICAgdGltZXItPm1fbmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgpOworICAg
ICAgICB0aW1lci0+bV91bmFsaWduZWROZXh0RmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CiAg
ICAgICAgIHRpbWVyLT5oZWFwRGVsZXRlTWluKCk7CiAKLSAgICAgICAgZG91YmxlIGludGVydmFs
ID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7Ci0gICAgICAgIHRpbWVyLT5zZXROZXh0RmlyZVRp
bWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogMCk7CisgICAgICAgIFNlY29uZHMg
aW50ZXJ2YWwgPSB0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsKKyAgICAgICAgdGltZXItPnNldE5l
eHRGaXJlVGltZShpbnRlcnZhbCA/IGZpcmVUaW1lICsgaW50ZXJ2YWwgOiBNb25vdG9uaWNUaW1l
KCkpOwogCiAgICAgICAgIC8vIE9uY2UgdGhlIHRpbWVyIGhhcyBiZWVuIGZpcmVkLCBpdCBtYXkg
YmUgZGVsZXRlZCwgc28gZG8gbm90aGluZyBlbHNlIHdpdGggaXQgYWZ0ZXIgdGhpcyBwb2ludC4K
ICAgICAgICAgdGltZXItPmZpcmVkKCk7CiAKICAgICAgICAgLy8gQ2F0Y2ggdGhlIGNhc2Ugd2hl
cmUgdGhlIHRpbWVyIGFza2VkIHRpbWVycyB0byBmaXJlIGluIGEgbmVzdGVkIGV2ZW50IGxvb3As
IG9yIHdlIGFyZSBvdmVyIHRpbWUgbGltaXQuCi0gICAgICAgIGlmICghbV9maXJpbmdUaW1lcnMg
fHwgdGltZVRvUXVpdCA8IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKQorICAgICAgICBp
ZiAoIW1fZmlyaW5nVGltZXJzIHx8IHRpbWVUb1F1aXQgPCBNb25vdG9uaWNUaW1lOjpub3coKSkK
ICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgVGhy
ZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3AoKQogCiAgICAgaWYgKG1fc2hh
cmVkVGltZXIpIHsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+aW52YWxpZGF0ZSgpOwotICAgICAg
ICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hh
cmVkVGltZXJGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICB9CiAKICAgICB1cGRhdGVT
aGFyZWRUaW1lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
VGltZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBl
YWJjNGQxMjFlODI2NjYyZTlhYmIzMDRlMzgzZjE3YjFlNzI5YTk3Li5jZjU4YzkxN2E5NWNlMzY3
MmMxNmI3ZTZlYzY5MTczOWE4OTAzYTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRU
aW1lcnMuaApAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBUaHJlYWRUaW1lcnNfaAogI2RlZmlu
ZSBUaHJlYWRUaW1lcnNfaAogCisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU2
LDcgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBWZWN0b3I8VGltZXJCYXNl
Kj4gbV90aW1lckhlYXA7CiAgICAgICAgIFNoYXJlZFRpbWVyKiBtX3NoYXJlZFRpbWVyOyAvLyBF
eHRlcm5hbCBvYmplY3QsIGNhbiBiZSBhIHJ1biBsb29wIG9uIGEgd29ya2VyIHRocmVhZC4gTm9y
bWFsbHkgc2V0L3Jlc2V0IGJ5IHdvcmtlciB0aHJlYWQuCiAgICAgICAgIGJvb2wgbV9maXJpbmdU
aW1lcnM7IC8vIFJlZW50cmFuY3kgZ3VhcmQuCi0gICAgICAgIGRvdWJsZSBtX3BlbmRpbmdTaGFy
ZWRUaW1lckZpcmVUaW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIG1fcGVuZGluZ1NoYXJlZFRp
bWVyRmlyZVRpbWU7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCmluZGV4
IGNkNTk0ZmU3Y2M1NTg5MTI5NDc0NjM5NzZkOGQxODVmOTExMTRiYmEuLjg4ODRhMTQ2NWY0ZDZm
MjgzZGE5YjdlOTIxNTcxODc4NWRkOWY2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAK
QEAgLTE3Miw4ICsxNzIsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9u
OjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQogewogICAgIC8vIFRo
ZSBjb21wYXJpc29ucyBiZWxvdyBhcmUgImJhY2t3YXJkcyIgYmVjYXVzZSB0aGUgaGVhcCBwdXRz
IHRoZSBsYXJnZXN0IAogICAgIC8vIGVsZW1lbnQgZmlyc3QgYW5kIHdlIHdhbnQgdGhlIGxvd2Vz
dCB0aW1lIHRvIGJlIHRoZSBmaXJzdCBvbmUgaW4gdGhlIGhlYXAuCi0gICAgZG91YmxlIGFGaXJl
VGltZSA9IGEtPm1fbmV4dEZpcmVUaW1lOwotICAgIGRvdWJsZSBiRmlyZVRpbWUgPSBiLT5tX25l
eHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIGFGaXJlVGltZSA9IGEtPm1fbmV4dEZpcmVU
aW1lOworICAgIE1vbm90b25pY1RpbWUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRpbWU7CiAg
ICAgaWYgKGJGaXJlVGltZSAhPSBhRmlyZVRpbWUpCiAgICAgICAgIHJldHVybiBiRmlyZVRpbWUg
PCBhRmlyZVRpbWU7CiAgICAgCkBAIC0xODYsMTEgKzE4Niw4IEBAIGlubGluZSBib29sIFRpbWVy
SGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkoY29uc3QgVGltZXJCYXNlKiBhLCBjb25z
dCBUaW1lCiAvLyAtLS0tLS0tLS0tLS0tLS0tCiAKIFRpbWVyQmFzZTo6VGltZXJCYXNlKCkKLSAg
ICA6IG1fbmV4dEZpcmVUaW1lKDApCi0gICAgLCBtX3VuYWxpZ25lZE5leHRGaXJlVGltZSgwKQot
ICAgICwgbV9yZXBlYXRJbnRlcnZhbCgwKQotICAgICwgbV9oZWFwSW5kZXgoLTEpCi0gICAgLCBt
X2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcCgwKQorICAgIDogbV9oZWFwSW5kZXgoLTEpCisg
ICAgLCBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcChudWxscHRyKQogI2lmbmRlZiBOREVC
VUcKICAgICAsIG1fdGhyZWFkKGN1cnJlbnRUaHJlYWQoKSkKICAgICAsIG1fd2FzRGVsZXRlZChm
YWxzZSkKQEAgLTIwNywzMiArMjA0LDMyIEBAIFRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAjZW5k
aWYKIH0KIAotdm9pZCBUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpCit2b2lkIFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0
RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKQogewogICAgIEFTU0VSVChjYW5B
Y2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKIAogICAgIG1fcmVwZWF0
SW50ZXJ2YWwgPSByZXBlYXRJbnRlcnZhbDsKLSAgICBzZXROZXh0RmlyZVRpbWUobW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkgKyBuZXh0RmlyZUludGVydmFsKTsKKyAgICBzZXROZXh0Rmly
ZVRpbWUoTW9ub3RvbmljVGltZTo6bm93KCkgKyBuZXh0RmlyZUludGVydmFsKTsKIH0KIAogdm9p
ZCBUaW1lckJhc2U6OnN0b3AoKQogewogICAgIEFTU0VSVChjYW5BY2Nlc3NUaHJlYWRMb2NhbERh
dGFGb3JUaHJlYWQobV90aHJlYWQpKTsKIAotICAgIG1fcmVwZWF0SW50ZXJ2YWwgPSAwOwotICAg
IHNldE5leHRGaXJlVGltZSgwKTsKKyAgICBtX3JlcGVhdEludGVydmFsID0gMF9zOworICAgIHNl
dE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lKCkpOwogCi0gICAgQVNTRVJUKG1fbmV4dEZpcmVU
aW1lID09IDApOwotICAgIEFTU0VSVChtX3JlcGVhdEludGVydmFsID09IDApOworICAgIEFTU0VS
VCghbV9uZXh0RmlyZVRpbWUpOworICAgIEFTU0VSVCghbV9yZXBlYXRJbnRlcnZhbCk7CiAgICAg
QVNTRVJUKCFpbkhlYXAoKSk7CiB9CiAKLWRvdWJsZSBUaW1lckJhc2U6Om5leHRGaXJlSW50ZXJ2
YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJhc2U6Om5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdAog
ewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsKLSAgICBkb3VibGUgY3VycmVudCA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIE1vbm90b25pY1RpbWUgY3VycmVudCA9IE1vbm90
b25pY1RpbWU6Om5vdygpOwogICAgIGlmIChtX25leHRGaXJlVGltZSA8IGN1cnJlbnQpCi0gICAg
ICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gMF9zOwogICAgIHJldHVybiBtX25leHRGaXJl
VGltZSAtIGN1cnJlbnQ7CiB9CiAKQEAgLTI0OCwxNCArMjQ1LDE0IEBAIGlubGluZSB2b2lkIFRp
bWVyQmFzZTo6Y2hlY2tIZWFwSW5kZXgoKSBjb25zdAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpj
aGVja0NvbnNpc3RlbmN5KCkgY29uc3QKIHsKICAgICAvLyBUaW1lcnMgc2hvdWxkIGJlIGluIHRo
ZSBoZWFwIGlmIGFuZCBvbmx5IGlmIHRoZXkgaGF2ZSBhIG5vbi16ZXJvIG5leHQgZmlyZSB0aW1l
LgotICAgIEFTU0VSVChpbkhlYXAoKSA9PSAobV9uZXh0RmlyZVRpbWUgIT0gMCkpOworICAgIEFT
U0VSVChpbkhlYXAoKSA9PSAhIW1fbmV4dEZpcmVUaW1lKTsKICAgICBpZiAoaW5IZWFwKCkpCiAg
ICAgICAgIGNoZWNrSGVhcEluZGV4KCk7CiB9CiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVjcmVh
c2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAgICBBU1NFUlQo
bV9uZXh0RmlyZVRpbWUpOwogICAgIGNoZWNrSGVhcEluZGV4KCk7CiAgICAgVGltZXJCYXNlKiog
aGVhcERhdGEgPSB0aW1lckhlYXAoKS5kYXRhKCk7CiAgICAgcHVzaF9oZWFwKFRpbWVySGVhcEl0
ZXJhdG9yKGhlYXBEYXRhKSwgVGltZXJIZWFwSXRlcmF0b3IoaGVhcERhdGEgKyBtX2hlYXBJbmRl
eCArIDEpLCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uKCkpOwpAQCAtMjY0LDcgKzI2MSw3IEBA
IHZvaWQgVGltZXJCYXNlOjpoZWFwRGVjcmVhc2VLZXkoKQogCiBpbmxpbmUgdm9pZCBUaW1lckJh
c2U6OmhlYXBEZWxldGUoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAwKTsKKyAg
ICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKICAgICBoZWFwUG9wKCk7CiAgICAgdGltZXJIZWFw
KCkucmVtb3ZlTGFzdCgpOwogICAgIG1faGVhcEluZGV4ID0gLTE7CkBAIC0yNzIsNyArMjY5LDcg
QEAgaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkKIAogdm9pZCBUaW1lckJhc2U6
OmhlYXBEZWxldGVNaW4oKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAwKTsKKyAg
ICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKICAgICBoZWFwUG9wTWluKCk7CiAgICAgdGltZXJI
ZWFwKCkucmVtb3ZlTGFzdCgpOwogICAgIG1faGVhcEluZGV4ID0gLTE7CkBAIC0yODAsNyArMjc3
LDcgQEAgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGVNaW4oKQogCiBpbmxpbmUgdm9pZCBUaW1l
ckJhc2U6OmhlYXBJbmNyZWFzZUtleSgpCiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lICE9
IDApOworICAgIEFTU0VSVChtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIGhl
YXBEZWNyZWFzZUtleSgpOwogfQpAQCAtMjk2LDggKzI5Myw4IEBAIGlubGluZSB2b2lkIFRpbWVy
QmFzZTo6aGVhcEluc2VydCgpCiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBQb3AoKQogewog
ICAgIC8vIFRlbXBvcmFyaWx5IGZvcmNlIHRoaXMgdGltZXIgdG8gaGF2ZSB0aGUgbWluaW11bSBr
ZXkgc28gd2UgY2FuIHBvcCBpdC4KLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGlt
ZTsKLSAgICBtX25leHRGaXJlVGltZSA9IC1zdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Omlu
ZmluaXR5KCk7CisgICAgTW9ub3RvbmljVGltZSBmaXJlVGltZSA9IG1fbmV4dEZpcmVUaW1lOwor
ICAgIG1fbmV4dEZpcmVUaW1lID0gLU1vbm90b25pY1RpbWU6OmluZmluaXR5KCk7CiAgICAgaGVh
cERlY3JlYXNlS2V5KCk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIG1fbmV4dEZpcmVUaW1lID0g
ZmlyZVRpbWU7CkBAIC0zNDcsNyArMzQ0LDcgQEAgYm9vbCBUaW1lckJhc2U6Omhhc1ZhbGlkSGVh
cFBvc2l0aW9uKCkgY29uc3QKICAgICByZXR1cm4gY2hpbGRIZWFwUHJvcGVydHlIb2xkcyh0aGlz
LCBoZWFwLCBjaGlsZEluZGV4MSkgJiYgY2hpbGRIZWFwUHJvcGVydHlIb2xkcyh0aGlzLCBoZWFw
LCBjaGlsZEluZGV4Mik7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQo
ZG91YmxlIG9sZFRpbWUpCit2b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKE1vbm90
b25pY1RpbWUgb2xkVGltZSkKIHsKICAgICBpZiAobV9uZXh0RmlyZVRpbWUgJiYgaGFzVmFsaWRI
ZWFwUG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzY2LDcgKzM2Myw3IEBAIHZvaWQg
VGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpCiAgICAgQVNTRVJU
KCFpbkhlYXAoKSB8fCBoYXNWYWxpZEhlYXBQb3NpdGlvbigpKTsKIH0KIAotdm9pZCBUaW1lckJh
c2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGltZSkKK3ZvaWQgVGltZXJCYXNlOjpzZXRO
ZXh0RmlyZVRpbWUoTW9ub3RvbmljVGltZSBuZXdUaW1lKQogewogICAgIEFTU0VSVChjYW5BY2Nl
c3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKICAgICBBU1NFUlQoIW1fd2Fz
RGVsZXRlZCk7CkBAIC0zNzksMTEgKzM3NiwxMSBAQCB2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZp
cmVUaW1lKGRvdWJsZSBuZXdUaW1lKQogICAgICAgICBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVy
SGVhcCA9ICZ0aHJlYWRHbG9iYWxUaW1lckhlYXAoKTsKIAogICAgIC8vIEtlZXAgaGVhcCB2YWxp
ZCB3aGlsZSBjaGFuZ2luZyB0aGUgbmV4dC1maXJlIHRpbWUuCi0gICAgZG91YmxlIG9sZFRpbWUg
PSBtX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG9sZFRpbWUgPSBtX25leHRGaXJl
VGltZTsKICAgICAvLyBEb24ndCByZWFsaWduIHplcm8tZGVsYXkgdGltZXJzLgogICAgIGlmIChu
ZXdUaW1lKSB7Ci0gICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0gYWxpZ25lZEZpcmVU
aW1lKHNlY29uZHNUb01TKG5ld1RpbWUpKSkKLSAgICAgICAgICAgIG5ld1RpbWUgPSBtc1RvU2Vj
b25kcyhuZXdBbGlnbmVkVGltZS52YWx1ZSgpKTsKKyAgICAgICAgaWYgKGF1dG8gbmV3QWxpZ25l
ZFRpbWUgPSBhbGlnbmVkRmlyZVRpbWUobmV3VGltZSkpCisgICAgICAgICAgICBuZXdUaW1lID0g
bmV3QWxpZ25lZFRpbWUudmFsdWUoKTsKICAgICB9CiAKICAgICBpZiAob2xkVGltZSAhPSBuZXdU
aW1lKSB7CkBAIC00MTYsMTAgKzQxMywxMCBAQCB2b2lkIFRpbWVyQmFzZTo6ZGlkQ2hhbmdlQWxp
Z25tZW50SW50ZXJ2YWwoKQogICAgIHNldE5leHRGaXJlVGltZShtX3VuYWxpZ25lZE5leHRGaXJl
VGltZSk7CiB9CiAKLWRvdWJsZSBUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwo
KSBjb25zdAorU2Vjb25kcyBUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBj
b25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsKLSAgICByZXR1cm4gc3RkOjptYXgobV91
bmFsaWduZWROZXh0RmlyZVRpbWUgLSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSwgMC4w
KTsKKyAgICByZXR1cm4gc3RkOjptYXgobV91bmFsaWduZWROZXh0RmlyZVRpbWUgLSBNb25vdG9u
aWNUaW1lOjpub3coKSwgMF9zKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RpbWVyLmgKaW5kZXggYTM1YzhjNjdlZTIyYjZlZDVkYzg1M2JkZTJlMTlmM2NlZGNl
OGYxZS4uMzViNDYyMDQ0Mzk1Njg0YmEyZjViYzgzODAxN2M3OTU3ZGQ3NjAyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxjaHJvbm8+CiAj
aW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2lu
Y2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CkBAIC00NywzOSArNDgsMjQgQEAgY2xhc3MgVGltZXJIZWFw
RWxlbWVudDsKIGNsYXNzIFRpbWVyQmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlt
ZXJCYXNlKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXByb3RlY3RlZDoKLSAgICBz
dGF0aWMgaW5saW5lIGRvdWJsZSBtc1RvU2Vjb25kcyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGR1cmF0aW9uKSB7IHJldHVybiBkdXJhdGlvbi5jb3VudCgpICogMC4wMDE7IH0KLSAgICBzdGF0
aWMgaW5saW5lIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2Vjb25kc1RvTVMoZG91YmxlIGR1
cmF0aW9uKSB7IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKChzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzOjpyZXApKGR1cmF0aW9uICogMTAwMCkpOyB9Ci0KIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBUaW1lckJhc2UoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5U
aW1lckJhc2UoKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnQoZG91YmxlIG5leHRG
aXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7Ci0KLSAgICB2b2lkIHN0YXJ0UmVw
ZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVw
ZWF0SW50ZXJ2YWwpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9TZWNvbmRzKHJl
cGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0
SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwudmFsdWUoKSk7IH0KKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vj
b25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3VibGUgaW50
ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDApOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3Qoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3QobXNUb1NlY29u
ZHMoaW50ZXJ2YWwpKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwp
IHsgc3RhcnQoaW50ZXJ2YWwudmFsdWUoKSwgMCk7IH0KKyAgICB2b2lkIHN0YXJ0UmVwZWF0aW5n
KFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdElu
dGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsgc3Rh
cnQoaW50ZXJ2YWwsIDBfcyk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RvcCgpOwog
ICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKIAotICAgIGRvdWJsZSBuZXh0RmlyZUludGVydmFs
KCkgY29uc3Q7Ci0gICAgZG91YmxlIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdDsK
LSAgICBkb3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3JlcGVhdEludGVy
dmFsOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1TKCkg
Y29uc3QgeyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLQotICAgIHZv
aWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1f
bmV4dEZpcmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChtc1Rv
U2Vjb25kcyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMg
ZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YS52YWx1ZSgpKTsgfQorICAgIFNlY29u
ZHMgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFVuYWxpZ25lZEZp
cmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX3JlcGVhdEludGVydmFsOyB9CiAKLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRl
cnZhbChkb3VibGUgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7IG1fcmVwZWF0
SW50ZXJ2YWwgKz0gZGVsdGE7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtc1Rv
U2Vjb25kcyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25k
cyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICB2
b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBzZXROZXh0RmlyZVRpbWUo
bV9uZXh0RmlyZVRpbWUgKyBkZWx0YSk7IH0KKyAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZh
bChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdElu
dGVydmFsICs9IGRlbHRhOyB9CiAKICAgICB2b2lkIGRpZENoYW5nZUFsaWdubWVudEludGVydmFs
KCk7CiAKQEAgLTg4LDE3ICs3NCwxNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCBmaXJlZCgpID0gMDsKIAotICAgIHZpcnR1YWwgT3B0aW9uYWw8c3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNv
bnN0IHsgcmV0dXJuIE51bGxvcHQ7IH0KKyAgICB2aXJ0dWFsIE9wdGlvbmFsPE1vbm90b25pY1Rp
bWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCB7IHJldHVybiBOdWxsb3B0
OyB9CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAgICB2b2lkIGNoZWNr
SGVhcEluZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGltZShkb3VibGUpOwor
ICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAgICAgYm9vbCBpbkhl
YXAoKSBjb25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAgICAgYm9vbCBoYXNW
YWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKGRv
dWJsZSBvbGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1l
IG9sZFRpbWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAgICB2b2lkIGhlYXBE
ZWxldGUoKTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8VGltZXJC
YXNlKj4mIHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhyZWFkR2xvYmFsVGlt
ZXJIZWFwKTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsgfQogCi0gICAg
ZG91YmxlIG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAgZG91YmxlIG1fdW5h
bGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxp
Z25tZW50IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7IC8vIDAgaWYgbm90
IHJlcGVhdGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7IC8vIDAgaWYgaW5h
Y3RpdmUKKyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25l
eHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCisgICAgU2Vjb25k
cyBtX3JlcGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAgICBpbnQgbV9oZWFw
SW5kZXg7IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9oZWFwSW5zZXJ0aW9u
T3JkZXI7IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJlLXRpbWUgdGltZXJz
CiAgICAgVmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsK
QEAgLTE1OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSBj
b25zdAogI2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkgfHwgcHRocmVhZF9t
YWluX25wKCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZiAvLyBQTEFU
Rk9STShJT1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJldHVybiAhIW1fbmV4
dEZpcmVUaW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIDogcHJvdGVjdGVk
IFRpbWVyQmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGltZXJGaXJlZENs
YXNzPgotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmplY3Qs
IHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNz
JiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBTZWNvbmRzIGRl
bGF5KQogICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpiaW5kKGZ1bmN0aW9u
LCAmb2JqZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVycmFibGVPbmVTaG90
VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248
dm9pZCAoKT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogbV9mdW5jdGlvbihX
VEZNb3ZlKGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQogICAgICAgICAsIG1f
c2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcgKzE5OCw3IEBAIHBy
aXZhdGU6CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rpb247CiAKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25kcyBtX2RlbGF5Owog
ICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUwMTkxNDRhMjFmZjRk
M2RjMGUxOGY5ZmM5MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlmMWU1ODNmNWM5MGM4
ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKQEAgLTQwLDcg
KzQwLDcgQEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRvbigpCiBWTm9kZVRy
YWNrZXI6OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihbdGhpc10oUmVmQ291
bnRlckV2ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZlbnQ6OkluY3JlbWVu
dCkgY2hlY2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJlV2FybmluZ1RpbWVy
KCp0aGlzLCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKQotICAgICwg
bV9sYXN0V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCisgICAg
LCBtX2xhc3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsKICAgICBwbGF0Zm9y
bUluaXRpYWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5vZGVUcmFja2VyOjpw
cmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNvdW50ZXIudmFsdWUo
KSA8PSBtX3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xhc3RXYXJu
aW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFdh
cm5pbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWduZWQgdm5vZGVDb3Vu
dCA9IG1fdm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNhbCA9IHZub2RlQ291
bnQgPiBtX2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRpY2FsOjpObzsKICAg
ICBtX3ByZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9yeVByZXNzdXJlLCAi
dm5vZGUgcHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBvZiAldSAoY3JpdGlj
YWwgcHJlc3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRlci52YWx1ZSgpLCB2
bm9kZUNvdW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIgOiAiTm8iKTsKIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5leHRQcmVzc3VyZVdh
cm5pbmdJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJl
V2FybmluZ0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhlIHZub2RlIHByZXNz
dXJlIGhhbmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0YXRpYyBjb25zdCBh
dXRvIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMwIH07
Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xv
Y2s6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMg
bWluaW11bVdhcm5pbmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1lU2luY2VMYXN0V2Fy
bmluZyA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CiAgICAgaWYg
KHRpbWVTaW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZhbCkKLSAgICAgICAg
cmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHM+KG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2FybmluZyk7Ci0gICAg
cmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBt
aW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7CisKKyAgICByZXR1
cm4gMF9zOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9W
Tm9kZVRyYWNrZXIuaAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4NWFiZmUxODI2MGY0
YTI0Li4wNGZiMzc5NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHByZXNzdXJlV2Fybmlu
Z1RpbWVyRmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG5leHRQcmVzc3Vy
ZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFByZXNzdXJlV2Fybmlu
Z0ludGVydmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCkBA
IC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVyIG1fcHJlc3N1cmVI
YW5kbGVyOwogICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAgICBUaW1lciBtX3By
ZXNzdXJlV2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVf
cG9pbnQgbV9sYXN0V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RXYXJuaW5n
VGltZTsKIH07CiAKIGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJlc3N1cmVIYW5kbGVy
KFByZXNzdXJlSGFuZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2NzY2OWEyMDYwODQ4
Y2M2ODEyY2Y0NmU0Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4ZDRjNDBjNzkzNjgx
NjE1ZWI4OTk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90
dGxlRGVsYXkgPSAwLjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJU
aHJvdHRsZURlbGF5ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBzdGF0aWMgY29uc3Qg
Y2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBzdGF0ZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmluZGV4
IGNkNmZkYmUyMDk3YmJhNTc0NGQ4MWZhODhlNDcwOTRhY2EyNjI3MGMuLjgwOThjZjg5YWNkMDIx
MGRmYTkwNDE2YmJhZWYxZTA4ZTU4ZjIyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNzYsNyArNzYsNyBAQCBzdGF0aWMg
Y29uc3QgZmxvYXQgcnViYmVyYmFuZE1pbmltdW1SZXF1aXJlZERlbHRhQmVmb3JlU3RyZXRjaCA9
IDEwOwogCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkgJiYgUExBVEZPUk0oTUFDKQogc3Rh
dGljIGNvbnN0IGZsb2F0IGluZXJ0aWFsU2Nyb2xsUHJlZGljdGlvbkZhY3RvciA9IDE2Ljc7Ci1z
dGF0aWMgY29uc3QgZG91YmxlIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDAuNTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IFNlY29uZHMoMC41KTsK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNDIxLDcgKzQyMSw3IEBAIGJvb2wgU2Ny
b2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lkIFNjcm9s
bENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9jbGllbnQu
c3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFy
dFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2NsaWVudC5kZWZlclRlc3Rz
Rm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxh
YmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlJ1YmJlcmJh
bmRJblByb2dyZXNzKTsKIH0KQEAgLTYzNCw3ICs2MzQsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xs
ZXI6OnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCkKIHsKICAgICBpZiAoIW1fc2Nyb2xsU25hcFRpbWVy
LmlzQWN0aXZlKCkpIHsKICAgICAgICAgbV9jbGllbnQuc3RhcnRTY3JvbGxTbmFwVGltZXIoKTsK
LSAgICAgICAgbV9zY3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7Cisg
ICAgICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjAp
KTsKICAgICB9CiAKICAgICBpZiAoIW1fc2Nyb2xsU25hcFRpbWVyLmlzQWN0aXZlKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9j
b2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQppbmRleCA2YTUzZjEyMjkyMTlm
NDhjZWM5NzIyODRkMmI1OWM3ZDhhMmE5ZDkwLi5lNGM0MjIxNjIzZTFjODAwODU3YjBlYTZjNjUw
ZWRlZmRjZmE0NDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFk
L2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIu
bW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMKEdhbWVDb250
cm9sbGVyLCBHQ0NvbnRyb2xsZXJEaWREaXNjb25uZWN0Tm90aWZpY2F0aW8KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBJbnB1
dE5vdGlmaWNhdGlvbkRlbGF5ID0gMTZtczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIElucHV0Tm90
aWZpY2F0aW9uRGVsYXkgPSAxNl9tczsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIm
IEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92
aWRlci5jcHAKaW5kZXggMGQ4YTc5YTA1MGQxOGFhODcwODllOTU4ZTgxMjE0ZTFjZGZiMTRlYi4u
MWM2YjVkODNhOGE5MDM0ODM1MDk0MjUxMzEzMjZlOWNmOWE3MzI0YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlk
ZXIuY3BwCkBAIC0zNCw4ICszNCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGlj
IGNvbnN0IGRvdWJsZSBDb25uZWN0aW9uRGVsYXlJbnRlcnZhbCA9IDAuNTsKLXN0YXRpYyBjb25z
dCBkb3VibGUgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBDb25uZWN0aW9uRGVsYXlJbnRlcnZhbCA9IDAuNV9zOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDAuMDVfczsKIAogc3RhdGljIFJldGFpblB0cjxD
RkRpY3Rpb25hcnlSZWY+IGRldmljZU1hdGNoaW5nRGljdGlvbmFyeSh1aW50MzJfdCB1c2FnZVBh
Z2UsIHVpbnQzMl90IHVzYWdlKQogewpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgSElER2FtZXBh
ZFByb3ZpZGVyOjpkZXZpY2VBZGRlZChJT0hJRERldmljZVJlZiBkZXZpY2UpCiAgICAgICAgIC8v
IGFuZCB3ZSBkb24ndCB3YW50IHRvIHRlbGwgdGhlIGNsaWVudCBhYm91dCBhbnkgb2YgdGhlbS4K
ICAgICAgICAgLy8gVGhlIG1fY29ubmVjdGlvbkRlbGF5VGltZXIgZmlyZXMgaW4gYSBzdWJzZXF1
ZW50IHNwaW4gb2YgdGhlIHJ1bmxvb3AgYWZ0ZXIgd2hpY2gKICAgICAgICAgLy8gYW55IGNvbm5l
Y3Rpb24gZXZlbnRzIGFyZSBhY3R1YWwgbmV3IGRldmljZXMuCi0gICAgICAgIG1fY29ubmVjdGlv
bkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Nvbm5lY3Rpb25EZWxheVRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgICAgIExPRyhHYW1lcGFkLCAiRGV2aWNlICVw
IHdhcyBhZGRlZCB3aGlsZSBzdXBwcmVzc2luZyBjYWxsYmFja3MsIHNvIHRoaXMgc2hvdWxkIGJl
IGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZlbnQiLCBkZXZpY2UpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggM2RiYTU2MjNi
YWRmYmJjZGM4ODIyZTM3YmZkMmRkZGU3NjQxZDU3Yy4uODRmZTU2NDNjNzAwYzI3OTdhYzU2MWJm
YmU0ODNjMGY1ZTVhNTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6
OmNsZWFyVGltZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0
bWFwSW1hZ2U6OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3Rh
cnRUaW1lcihTZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAg
ICBtX2ZyYW1lVGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcElt
YWdlOjphZHZhbmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6
U3RhcnRBbmltYXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24o
KQogICAgIH0KIAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1f
ZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1f
ZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlv
blJlc3VsdDo6U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1h
Z2U6OmFkdmFuY2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJl
bWFpbmluZyB0aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4K
ICAgICAgICAgaWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1h
eCh0aW1lLCBtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGlt
ZXIobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAg
ICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3Rpbmcg
LSB0aW1lKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA4OTAzMmRj
YTRiMWI1MjQ4ZDRkNzk0YzllZDM1NDdjNTgwNjA1MmMzLi5lNWM5MmM0NjA4ODNkMjY2Mzc4ZmQx
NTliZTJlNDcwYzdhMzhiNzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpdG1hcEltYWdlLmgKQEAgLTE4NSw3ICsxODUsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZh
dGU6CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBk
ZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNC
aXRtYXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1
bXAoVGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTlj
ZjE1ZGM3ZmFlMDZjNjFiNjBjLi5mNTYyOWQ4YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0Mzdk
NDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fj
aGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5j
cHAKQEAgLTMyOSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQ
cmVzc3VyZUluYWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZv
bnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0
IEF0b21pY1N0cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFj
ZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0
aW5ncywgYm9vbCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOwor
ICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZv
cm1EYXRhKiBwbGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNj
cmlwdGlvbiwgZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5n
cywgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUy
ODFhMjc1OTIwNi4uNWUwN2M1Zjc3ZjMwYjE5NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9
IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwg
PSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlcihDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRj
ODhjN2Q5MzRkMTRhM2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAx
ODg0NTZhNWI1NThhY2ZiYWU5NTg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRp
YVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29y
a1N0YXRlKCkgPj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZl
TWV0YWRhdGEpIHsKICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xv
YWQoKTsKICAgICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYg
KG1fY29udGVudE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3Vy
cmVudE1lZGlhRW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggNTIzYjNhZjVkN2JlNzdmYTFk
ZTc2OWU4ZGMxMzA3NmQ1ZjNjMjEzZi4uNjc0YjkyZDhmYjM4YWU2NmE2OTczMzZhMjcxZTRmZjVl
ZGFkYjIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hh
ZG93Qmx1ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93
Qmx1ci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdl
VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAg
ICAgICAgY29uc3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAg
ICAgY29uc3QgU2Vjb25kcyBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAg
ICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7
CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDLm1tCmluZGV4IDZlZThiYzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQu
LjhkZWUwOWNlMDg2YWRhZjViZTI3YzIwMDhhY2IyNWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlv
bkdyb3VwQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYs
NyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBjaGFyYWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250
YWlucyhwcmVmZXJyZWRPcHRpb24pKTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25z
LmdldChwcmVmZXJyZWRPcHRpb24pOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0
aW9uT3B0aW9uQVZGT2JqQyogb3B0aW9uKQpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFT
ZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0
aW9uQVZGT2JqQyoKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3Nl
bGVjdGlvblRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgp
OwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFW
Rk9iakM6OnNlbGVjdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmlu
ZGV4IGZmMjk5NGZiYTY0YTc5ODYzNjNkMjgzZWQ0ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFm
NGMzZTU3OTBiNjY3ZGQ2ZmI2YjYyYjY4MDI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0KQEAgLTIyOCw3ICsyMjgsNyBAQCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBv
dXRwdXRDb2RlY3MgPSBbZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29k
ZWNQYXJhbWV0ZXJGb3JJbnB1dE1JTUVDb2RlY1BhcmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAg
ICAgTlNTdHJpbmcgKnR5cGVTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVA
OyBjb2RlY3M9XCIlQFwiIiwgKE5TU3RyaW5nICopcGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcg
KilvdXRwdXRDb2RlY3NdOwotICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5
YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0
ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxB
c3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRp
YVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAK
ICNwcmFnbWEgbWFyayAtCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYg
dGkKIAogICAgIGlmIChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1l
ci5zdG9wKCk7Ci0gICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Vla1Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIw
NzIzNTAwMThhZGM0YmNkYjg0NWYuLjBjYzRmYWM1OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBh
Zjk3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xh
eWVyUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5
ZXJQb29sLmNwcApAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBy
dW5lKCkKIHsKICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5z
dGFydE9uZVNob3QoMV9zKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29u
dHJvbGxlci5jcHAKaW5kZXggNDEzMmIwNDg2YTNhODdkMmVmM2EzNzg4YTI3OTliNjE0YjNhMWUy
Yy4uZjg4YzhjOTZlNTEwYTFmNjM4MTVjZWI0ZDRiMjg4ZmY5NjA5MjcxYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNw
cApAQCAtNDksNyArNDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBhdXRvIHRpbGVTaXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsg
NTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7
CiAKIFN0cmluZyBUaWxlQ29udHJvbGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQog
ewpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3co
Ym9vbCBpc0luV2luZG93KQogICAgIGlmIChtX2lzSW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRz
UmV2YWxpZGF0ZVRpbGVzKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxl
UmV2YWxpZGF0aW9uVGltZW91dCA9IDQ7CisgICAgICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFs
aWRhdGlvblRpbWVvdXQgPSA0X3M7CiAgICAgICAgIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0
aWxlUmV2YWxpZGF0aW9uVGltZW91dCk7CiAgICAgfQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZv
aWQgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3Zl
cmFnZVJlY3QsIGNvbnN0IEZsb2F0CiAjZW5kaWYKIH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6
c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRy
b2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFsKQogewogICAg
IGlmIChtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRh
dGlvblRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSA8IGludGVydmFsKQogICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRy
b2xsZXIuaAppbmRleCBjM2VlNDFlMDZiZDg4MjAwMzFlZDI5MjEyODYxNWZlNzlkOTMzYWM4Li42
ZDhjMjBjNDVhMzRmNGU3MjBiYzdjZWEwOTI1OTU4YmUwMTRhYjRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEz
NCw3ICsxMzQsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgp
IHsgcmV0dXJuICptX3RpbGVHcmlkOyB9CiAKLSAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRh
dGlvbihkb3VibGUgaW50ZXJ2YWwpOworICAgIHZvaWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9u
KFNlY29uZHMgaW50ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1
cm4gbV9pc0luV2luZG93OyB9CiAgICAgZmxvYXQgdG9wQ29udGVudEluc2V0KCkgY29uc3QgeyBy
ZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3
NWZhZDFiYjMyZjFhZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5
NDU5ZGQ4NDYwYjliMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292
ZXJhZ2VNYXA6On5UaWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5l
ZWRzVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVH
cmlkLmNwcAppbmRleCAyOGYyOWNiZGU4ZTIxZjcxODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi5m
NWFjMGI0MGMzNTJhNzE3OTcxMmMzZjY3MTZlNTgwYWM5ZGM5OWE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQy
LDcgQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5
IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgVGlsZUNvaG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVD
b2hvcnQoKTsKICAgICB1bnNpZ25lZCB0aWxlc0luQ29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBt
aW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91
YmxlPjo6bWF4KCk7CisgICAgU2Vjb25kcyBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlv
biA9IFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgYm9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24g
PSBmYWxzZTsKICAgICAKICAgICBhdXRvIHRpbGVTaXplID0gbV9jb250cm9sbGVyLnRpbGVTaXpl
KCk7CkBAIC0zODEsOCArMzgxLDggQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRp
bGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgICAgICAgICAgICAgZm9y
IChhdXRvJiBjb2hvcnQgOiBtX2NvaG9ydExpc3QpIHsKICAgICAgICAgICAgICAgICAgICAgaWYg
KGNvaG9ydC5jb2hvcnQgIT0gdGlsZUluZm8uY29ob3J0KQogICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRF
eHBpcmVzID0gY29ob3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKHRpbWVVbnRpbENvaG9ydEV4cGlyZXMgPiAwKSB7CisgICAgICAgICAgICAgICAgICAg
IFNlY29uZHMgdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0
aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVzID4g
MF9zKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJE
dXJhdGlvbiA9IHN0ZDo6bWluKG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uLCB0aW1l
VW50aWxDb2hvcnRFeHBpcmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzVGlsZVJl
dmFsaWRhdGlvbiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDc4LDcg
KzQ3OCw3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgp
IGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hv
cnQpCiB7Ci0gICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKSk7CisgICAgbV9jb2hvcnRMaXN0LmFwcGVuZChU
aWxlQ29ob3J0SW5mbyhjb2hvcnQsIE1vbm90b25pY1RpbWU6Om5vdygpKSk7CiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIGlmICghbV9jb250cm9sbGVyLmlzSW5XaW5kb3coKSkKICAgICAgICAgdGls
ZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVyKCkudGlsZUNvbnRyb2xsZXJHYWluZWRVbnBhcmVudGVk
VGlsZXMoJm1fY29udHJvbGxlcik7CkBAIC00OTcsMTcgKzQ5NywxNyBAQCBUaWxlR3JpZDo6VGls
ZUNvaG9ydCBUaWxlR3JpZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdy
aWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJl
bW92YWxUaW1lclNlY29uZHMgPSAxOworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0UmVtb3ZhbFRp
bWVyU2Vjb25kcyA9IDFfczsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciwgb3IgcmVzY2hlZHVs
ZSB0aGUgdGltZXIgZnJvbSBub3cgaWYgaXQncyBhbHJlYWR5IGFjdGl2ZS4KICAgICBpZiAoIW1f
Y29ob3J0UmVtb3ZhbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMpOwogfQogCi1kb3Vi
bGUgVGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKK1NlY29u
ZHMgVGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKIHsKLSAg
ICBkb3VibGUgY29ob3J0TGlmZVRpbWVTZWNvbmRzID0gMjsKLSAgICBkb3VibGUgdGltZVRocmVz
aG9sZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gY29ob3J0TGlmZVRpbWVTZWNv
bmRzOworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0TGlmZVRpbWUgPSBTZWNvbmRzKDIpOworICAg
IE1vbm90b25pY1RpbWUgdGltZVRocmVzaG9sZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gY29o
b3J0TGlmZVRpbWU7CiAgICAgcmV0dXJuIGNyZWF0aW9uVGltZSAtIHRpbWVUaHJlc2hvbGQ7CiB9
CiAKQEAgLTUxOCw3ICs1MTgsNyBAQCB2b2lkIFRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJG
aXJlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB3aGlsZSAoIW1fY29ob3J0TGlz
dC5pc0VtcHR5KCkgJiYgbV9jb2hvcnRMaXN0LmZpcnN0KCkudGltZVVudGlsRXhwaXJhdGlvbigp
IDwgMCkgeworICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2NvaG9ydExp
c3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwX3MpIHsKICAgICAgICAgVGlsZUNv
aG9ydEluZm8gZmlyc3RDb2hvcnQgPSBtX2NvaG9ydExpc3QudGFrZUZpcnN0KCk7CiAgICAgICAg
IHJlbW92ZVRpbGVzSW5Db2hvcnQoZmlyc3RDb2hvcnQuY29ob3J0KTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaAppbmRleCAzMjUzMzZm
ODE5MWU0NTgyM2M3NTVkODc4MmM0MmFhMGRlNTc2NTFkLi40MjY5Mzc3NGJhNGYxYzVhYjRjZDM0
ZTI4YTMyN2ZlZTk4YWUwYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVHcmlkLmgKQEAgLTEyMSwxMyArMTIxLDEzIEBAIHByaXZhdGU6CiAKICAgICBz
dHJ1Y3QgVGlsZUNvaG9ydEluZm8gewogICAgICAgICBUaWxlQ29ob3J0IGNvaG9ydDsKLSAgICAg
ICAgZG91YmxlIGNyZWF0aW9uVGltZTsgLy8gaW4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCkuCi0gICAgICAgIFRpbGVDb2hvcnRJbmZvKFRpbGVDb2hvcnQgaW5Db2hvcnQsIGRvdWJsZSBp
blRpbWUpCisgICAgICAgIE1vbm90b25pY1RpbWUgY3JlYXRpb25UaW1lOworICAgICAgICBUaWxl
Q29ob3J0SW5mbyhUaWxlQ29ob3J0IGluQ29ob3J0LCBNb25vdG9uaWNUaW1lIGluVGltZSkKICAg
ICAgICAgICAgIDogY29ob3J0KGluQ29ob3J0KQogICAgICAgICAgICAgLCBjcmVhdGlvblRpbWUo
aW5UaW1lKQogICAgICAgICB7IH0KIAotICAgICAgICBkb3VibGUgdGltZVVudGlsRXhwaXJhdGlv
bigpOworICAgICAgICBTZWNvbmRzIHRpbWVVbnRpbEV4cGlyYXRpb24oKTsKICAgICB9OwogCiAg
ICAgdm9pZCByZW1vdmVBbGxUaWxlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcAppbmRleCBiODFkNThlNjNkMThiMjZh
ZjRkYjE0ZmE1YzNhOGEwZmUwYmZmMTQ4Li5mOTRmNGExNDcwNDc3MmU4ODIxZGFiZjYxM2UzODc0
MDNlOTMyYWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JT1N1cmZhY2VQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmNwcApAQCAtMzMsOCArMzMsOCBAQAogI2luY2x1ZGUgPGNocm9u
bz4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAotY29uc3Qgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSA1MDBtczsKLWNvbnN0IHN0ZDo6Y2hy
b25vOjpzZWNvbmRzIHN1cmZhY2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxlID0gMnM7Citjb25z
dCBTZWNvbmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9IDAuNV9zOworY29uc3QgU2Vjb25kcyBzdXJm
YWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJfczsKIGNvbnN0IHNpemVfdCBkZWZhdWx0
TWF4aW11bUJ5dGVzQ2FjaGVkID0gMTAyNCAqIDEwMjQgKiA2NDsKIAogLy8gV2UnbGwgbmV2ZXIg
YWxsb3cgbW9yZSB0aGFuIDEvMiBvZiB0aGUgY2FjaGUgdG8gYmUgZmlsbGVkIHdpdGggaW4tdXNl
IHN1cmZhY2VzLCBiZWNhdXNlCkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBJT1N1cmZhY2VQb29s
Ojpjb2xsZWN0SW5Vc2VTdXJmYWNlcygpCiBib29sIElPU3VyZmFjZVBvb2w6Om1hcmtPbGRlclN1
cmZhY2VzUHVyZ2VhYmxlKCkKIHsKICAgICBib29sIG1hcmtlZEFsbFN1cmZhY2VzID0gdHJ1ZTsK
LSAgICBhdXRvIG1hcmtUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Cisg
ICAgYXV0byBtYXJrVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgZm9yIChhdXRv
JiBzdXJmYWNlQW5kRGV0YWlscyA6IG1fc3VyZmFjZURldGFpbHMpIHsKICAgICAgICAgaWYgKHN1
cmZhY2VBbmREZXRhaWxzLnZhbHVlLmhhc01hcmtlZFB1cmdlYWJsZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaAppbmRleCAzNDlh
M2JjM2QyN2M1NDY5NmQ3YjViNTYzOTVmM2YzZTJmMjdmM2M0Li45ODIxYTRmZjA5NzEwMGY1NWUx
YmYzYzQ4MjAwNmViYzk0ZmUxMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCkBAIC02Myw5ICs2Myw5IEBAIHByaXZhdGU6
CiAgICAgICAgICAgICA6IGhhc01hcmtlZFB1cmdlYWJsZShmYWxzZSkKICAgICAgICAgeyB9CiAK
LSAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0VXNlVGltZSA9IHN0ZDo6Y2hy
b25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOyB9CisgICAgICAgIHZvaWQgcmVzZXRMYXN0VXNlVGlt
ZSgpIHsgbGFzdFVzZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsgfQogCi0gICAgICAgIHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbGFzdFVzZVRpbWU7CisgICAgICAg
IE1vbm90b25pY1RpbWUgbGFzdFVzZVRpbWU7CiAgICAgICAgIGJvb2wgaGFzTWFya2VkUHVyZ2Vh
YmxlOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKaW5kZXggNGZhZjc3ZTI1
NGUyYWFjNDA4YjRlODM2M2Y0OGUzZWQyMzBmZmQ3Ni4uYWJmY2VhYTQ2ZjI2ZDQwOTAxMjdiNzBj
YzU4NzQwNTc3OGJkMDUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKQEAgLTM0LDcg
KzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0byBzdWJp
bWFnZUNhY2hlQ2xlYXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMSB9Oworc3RhdGlj
IGNvbnN0IFNlY29uZHMgc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgPSAxX3M7CiBzdGF0aWMgY29u
c3QgaW50IG1heFN1YmltYWdlQ2FjaGVTaXplID0gMzAwOwogCiBzdHJ1Y3QgU3ViaW1hZ2VSZXF1
ZXN0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAK
aW5kZXggZmVhZGRkZGE4ZGM0NjQ5NTZkNTQwNTJlMDVhZGE3NzA2ZDQ4M2Y5MS4uOTkzYmU1OTg2
NmY3Njk2YTZhOTUxZjczZjdkZDkyNGQ3MGYxYTdkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTM2Nyw3ICszNjcsNyBAQCBib29sIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZShHc3RTdGF0ZSBu
ZXdTdGF0ZSkKICAgICBpZiAobmV3U3RhdGUgPT0gR1NUX1NUQVRFX1JFQURZICYmICFtX3JlYWR5
VGltZXJIYW5kbGVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gTWF4IGludGVydmFsIGluIHNl
Y29uZHMgdG8gc3RheSBpbiB0aGUgUkVBRFkgc3RhdGUgb24gbWFudWFsCiAgICAgICAgIC8vIHN0
YXRlIGNoYW5nZSByZXF1ZXN0cy4KLSAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSByZWFkeVN0
YXRlVGltZXJEZWxheSA9IDYwOworICAgICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyByZWFkeVN0
YXRlVGltZXJEZWxheSA9IDYwX3M7CiAgICAgICAgIG1fcmVhZHlUaW1lckhhbmRsZXIuc3RhcnRP
bmVTaG90KHJlYWR5U3RhdGVUaW1lckRlbGF5KTsKICAgICB9IGVsc2UgaWYgKG5ld1N0YXRlICE9
IEdTVF9TVEFURV9SRUFEWSkKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdG9wKCk7CkBA
IC0xODU4LDcgKzE4NTgsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0
RG93bmxvYWRCdWZmZXJpbmcoKQogICAgIGlmIChzaG91bGREb3dubG9hZCkgewogICAgICAgICBH
U1RfREVCVUcoIkVuYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0
X3NldChtX3BpcGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyB8IGZsYWdEb3dubG9hZCwgbnVs
bHB0cik7Ci0gICAgICAgIG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMik7CisgICAgICAg
IG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMl9zKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBHU1RfREVCVUcoIkRpc2FibGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29i
amVjdF9zZXQobV9waXBlbGluZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgJiB+ZmxhZ0Rvd25sb2Fk
LCBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlLmNwcAppbmRleCA5NjkzNjlhMzVlNzk3MTU5OGVjZjE4ZWY5ZjI0ODA5MWZiNWNk
NTY4Li5iZWNlZjIxM2ZlZjQ3MTlmM2VmMDkzY2EyYzg5OWUxNDY5MzgxNzViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC02
NTMsNyArNjUzLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmln
Z2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1NfVEhSRUFERUQpCiAgICAgaWYgKCFtX3BsYXllci0+Y2xpZW50KCkubWVkaWFQbGF5ZXJBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpKSB7CiAgICAgICAgIExvY2tIb2xkZXIgbG9ja2Vy
KG1fZHJhd011dGV4KTsKLSAgICAgICAgbV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV9kcmF3Q29uZGl0
aW9uLndhaXQobV9kcmF3TXV0ZXgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjc1LDcg
KzY3NSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJl
cGFpbnQoR3N0U2FtcGxlKiBzYW1wbGUpCiAgICAgICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkp
OwogCiAgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fZHJhd011dGV4KTsKLSAgICAgICAgbV9k
cmF3VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKICAgICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQobV9kcmF3TXV0ZXgpOwogICAg
IH0KICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCmluZGV4IGQxODFlY2Yw
MTc4Y2UyYTU3ZGYyMWIxNTIxYzA0MWY2YjcyNzk5MjguLmNjYzY5NDE5OWQxNWFkODUxNzA5ZWE3
ZThmYjUyZjQzNGM2NDA1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCkBA
IC0xMTksNyArMTE5LDcgQEAgcHVibGljOgogICAgICAgICBtX3NhbXBsZSA9IG51bGxwdHI7CiAj
ZWxzZQogICAgICAgICBtX3NpbmsgPSBzaW5rOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV9kYXRh
Q29uZGl0aW9uLndhaXQobV9zYW1wbGVNdXRleCk7CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIHRy
dWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXggOTY4YTJkODhiNjUxYmNiYjIz
MDYyMjcxMzNkZjU2MGMxZWYyZmI0Zi4uMTk4MjM1MTkyZmEyYjgxM2VkYzRmNWY3ZThjZmY3YjJk
NjFmYzQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQpAQCAtNjQ3LDcgKzY0Nyw3
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWsoY29uc3QgTWVkaWFUaW1lJiBp
blRpbWUpCiAgICAgaWYgKG1heE1lZGlhVGltZVNlZWthYmxlKCkgPj0gbV9zZWVrVG8pCiAgICAg
ICAgIGRvU2VlaygpOwogICAgIGVsc2UgCi0gICAgICAgIG1fc2Vla1RpbWVyLnN0YXJ0KDAsIDAu
NWYpOworICAgICAgICBtX3NlZWtUaW1lci5zdGFydCgwX3MsIDAuNV9zKTsKIH0KIAogdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVRVEtpdDo6ZG9TZWVrKCkgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNw
cAppbmRleCAxYjQ2ZjM3NTI0OTg5MDdlMDBiYzI4MmQyZDlkNmYxYWY3M2I0NTllLi45MWMwMzI0
MDg2N2I0NmVjOWI5NzVkZDM0ODliZjdlYzFhYWQzMGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9v
bC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNv
bnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMzsKLXN0YXRpYyBj
b25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsID0gMC41Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgc19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFs
ID0gMC41X3M7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiBCaXRtYXBUZXh0dXJlUG9v
bDo6Qml0bWFwVGV4dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiYmIGNvbnRleHQz
RCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcApp
bmRleCA1ZTNjODJmMWYzM2FkNTI5MjUwNjY4OTZjOWMyMTRhMzNiZjhiMzA1Li45YzJiMTFiM2Y4
YTFhNmM3YmVkYWY4ZjVjNTFlNjA1MzgzY2MyMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVk
ZSAiVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXIuaCIKIAogY29uc3QgZG91YmxlIHNf
cmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAxOwotY29uc3QgZG91YmxlIHNfcmVsZWFz
ZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsID0gMC41OworY29uc3QgU2Vjb25kcyBzX3JlbGVh
c2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCA9IDAuNV9zOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTE2Myw3ICsxNjMsNyBAQCBib29sIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVy
UHJveHk6OnNjaGVkdWxlVXBkYXRlT25Db21wb3NpdG9yVGhyZWFkKHN0ZDo6ZnVuYwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVGdW5jdGlvbiA9
IFdURk1vdmUodXBkYXRlRnVuY3Rpb24pOwotICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZVRp
bWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXIt
PnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDVk
NzQ0ZDI1MjljMjAwN2JkZTBlODk5MTQwMDBmMDU3YjcxZDM3ZmMuLjRhNTQwMzE2Mzc4ZDJhMDRk
MjA4MTM0MDQ3NzczY2E0MTIyYjRmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGlu
YXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMjAwLDcgKzEyMDAsNyBAQCBi
b29sIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1l
VmFsdWVMaXN0JiB2YWx1ZUxpc3QsCiAKICAgICBtX2xhc3RBbmltYXRpb25TdGFydFRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGRlbGF5QXNOZWdhdGl2ZVRpbWVPZmZzZXQ7
CiAgICAgbV9hbmltYXRpb25zLmFkZChUZXh0dXJlTWFwcGVyQW5pbWF0aW9uKGtleWZyYW1lc05h
bWUsIHZhbHVlTGlzdCwgYm94U2l6ZSwgKmFuaW0sIGxpc3RzTWF0Y2gsIG1fbGFzdEFuaW1hdGlv
blN0YXJ0VGltZSwgMCwgVGV4dHVyZU1hcHBlckFuaW1hdGlvbjo6QW5pbWF0aW9uU3RhdGU6OlBs
YXlpbmcpKTsKLSAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9hbmltYXRpb25TdGFydGVkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgZGlkQ2hh
bmdlQW5pbWF0aW9ucygpOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
SW1hZ2VCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKaW5kZXggM2Y1NjczZThm
ZDUzNjVmMDhjZmQ2OWVmYzNmYWFlYzQzMjMzNmE2MS4uNmI4NGI2MzQ5YTAwZmQ2Y2E1YTE5NjBm
ZmM4MzBiNzg3MmI0ZThkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBDb29yZGlu
YXRlZEltYWdlQmFja2luZzo6cmVsZWFzZVN1cmZhY2VJZk5lZWRlZCgpCiAgICAgbV9zdXJmYWNl
ID0gbnVsbHB0cjsKIH0KIAotc3RhdGljIGNvbnN0IGRvdWJsZSBjbGVhckNvbnRlbnRzVGltZXJJ
bnRlcnZhbCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjbGVhckNvbnRlbnRzVGltZXJJbnRl
cnZhbCA9IFNlY29uZHMoMyk7CiAKIHZvaWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6OnVwZGF0
ZVZpc2liaWxpdHlJZk5lZWRlZChib29sJiBjaGFuZ2VkVG9WaXNpYmxlKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKaW5kZXggMTNl
NjM1NGIwOTI2MTM0ZDg3ZjlmYzA5ZGZjZjEyMmFjMTk3Y2Q1ZS4uYjI0Y2ZhNmExZjU4NzY0NzFh
NjUwZjA2ZGU2Y2IxOTZkNDg1Nzg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyRmlyZWQoKQogICAg
ICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHRpY2tUaW1lID0gMSAvIGZyYW1lUmF0ZTsKICAgICAg
ICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtVGltZXJJbnRlcnZhbCA9IC4wMDE7CiAgICAg
ICAgIGRvdWJsZSBkZWx0YVRvTmV4dEZyYW1lID0gc3RkOjptYXgodGlja1RpbWUgLSAobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjdXJyZW50VGltZSksIG1pbmltdW1UaW1lckludGVy
dmFsKTsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVT
aG90KGRlbHRhVG9OZXh0RnJhbWUpOworICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWx0YVRvTmV4dEZyYW1lKSk7CiAgICAgfSBl
bHNlCiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFycygpOwogfQpAQCAtMjEzLDcgKzIxMyw3
IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVybGF5U2Nyb2xsYmFycygpCiAgICAg
aWYgKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRhcmdldCAhPSBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25DdXJyZW50KSB7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
blN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBtX292
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb247Ci0gICAg
ICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiAgICAgfSBlbHNlCiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFycygpOwogfQpAQCAtMjMz
LDcgKzIzMyw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFy
cygpCiAgICAgICAgIHJldHVybjsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFy
dFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIG92ZXJmbG93U2Nyb2xsYmFy
c0FuaW1hdGlvbkhpZGVEZWxheTsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRU
aW1lID0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3Jv
bGxiYXJzQW5pbWF0aW9uRHVyYXRpb24gKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRl
RGVsYXk7Ci0gICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSk7CisgICAgbV9vdmVybGF5U2Ny
b2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMob3ZlcmZsb3dTY3JvbGxi
YXJzQW5pbWF0aW9uSGlkZURlbGF5KSk7CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Om1v
dXNlRW50ZXJlZENvbnRlbnRBcmVhKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUNhY2hlLm1tCmluZGV4IGIwYjdiZmRhMmRiODFlZWY3NDFjZjY2NDNjMTBmODBl
ZjdkMjllZjMuLjYzN2VjMWRjMGM5MjQzN2VkM2U0ZjQxYTA0NjlmNTgyNWYyYTM0Y2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAtNDIw
LDcgKzQyMCw3IEBAIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMo
Ym9vbCBkaWRDcmVhdGVUaWxlcywgYm9vbCBjcmVhdGVNb3JlCiAKICAgICAvLyBLZWVwIGNyZWF0
aW5nIHRpbGVzIHVudGlsIHRoZSB3aG9sZSBjb3ZlclJlY3QgaXMgY292ZXJlZC4KICAgICBpZiAo
Y3JlYXRlTW9yZSkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgTGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3JlYXRpb25UaW1lckZpcmVkKCkKQEAgLTc4Miw3ICs3
ODIsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25F
bmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwogICAgIG1faXNTcGVjdWxhdGl2
ZVRpbGVDcmVhdGlvbkVuYWJsZWQgPSBlbmFibGVkOwogICAgIGlmIChtX2lzU3BlY3VsYXRpdmVU
aWxlQ3JlYXRpb25FbmFibGVkKQotICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogYm9vbCBMZWdhY3lUaWxlQ2FjaGU6Omhhc1BlbmRpbmdEcmF3KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmgKaW5kZXggNzU2
ZDQwNjA3ZjU2M2E2Y2U1OThlMjliYjI3YjQwZTk1NWViYTYxZi4uYWNjZDI5YzEwNjAzNjdlMGZj
MGZmZjY4ZDUzZDQzNDdhMDc0YjFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLmgKQEAgLTQxLDggKzQxLDggQEAgcHVibGljOgogICAgIAog
ICAgIGJvb2wgc3VwcG9ydHNDb250cm9sVGludHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0
cnVlOyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJp
ZGU7Ci0gICAgZG91YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vj
b25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRz
IGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CiAKICAgICBTY3JvbGxiYXJCdXR0b25z
UGxhY2VtZW50IGJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCmluZGV4IDZlNTIw
YmVmNTQ4ZjU0MDIwM2E5YTZhM2M3NzdkODE2ZGFhNTA5OTAuLmZlMjkwNzc1YmRlMzg5M2NhNjkx
NjBmMzIzMjdiM2M1ZmYyMDczZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KQEAgLTY2LDE0ICs2NiwxNCBAQCBpbnQgU2Nyb2xsYmFy
VGhlbWVJT1M6OnNjcm9sbGJhclRoaWNrbmVzcyhTY3JvbGxiYXJDb250cm9sU2l6ZSkKICAgICBy
ZXR1cm4gMDsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9s
bFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogCi1k
b3VibGUgU2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMg
U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKLSAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gMF9zOwogfQogICAgIAogU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBT
Y3JvbGxiYXJUaGVtZUlPUzo6YnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0KaW5kZXggY2M2MmUzYTg4NGFlZjI5NTE5N2UyYmI3NmJiMGZhN2VjMzA3
MGJhMS4uNDZjYzAxMGVhNjM4NDkyMjJkYzA5YTEzYjkxY2JjYTVmMWZkNDNiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29uc3QgY2hh
ciogYm9vbFN0cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3RhdGljIGNvbnN0IFNlY29uZHMg
ZGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMSk7CiAKIEBjbGFzcyBXZWJB
Vk1lZGlhU2VsZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29u
KFdlYlZpZGVvRnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVl
bk1vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAK
ICAgICBpZiAoIW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9n
VGltZXIuc3RhcnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAg
ICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2
YWwpOwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCmluZGV4
IDlhMDM4MzI2NjBhYTJjYmE5Nzg5MWM2ODBlNGI2ZDJhZGMxMTk0YjEuLmRmZTI4YmViNGYxODNk
NTYyMDQ1ZWFmYjViNjZiMjhlMzFjYmIyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKQEAg
LTI2OSw3ICsyNjksNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZlRpbWVy
RmlyZWQoKQogCiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZih1bnNpZ25lZCBz
ZWNvbmRzKQogewotICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzKTsKKyAg
ICBtX2hvbGRPZmZUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzZWNvbmRzKSk7CiB9CiAKIHN0
YXRpYyBzaXplX3QgcHJvY2Vzc01lbW9yeVVzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBhYzdmNGZkNGE5ODRkYzMxZGRk
NGZjODBiMTY5MzQxNTE5MDI1MDk1Li5mNzNkNzk2ODhlMmI4MDI1NDZmMjQzNTlmY2NiY2E1ODJk
MjZjZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1h
dG9yTWFjLm1tCkBAIC0xMzM4LDcgKzEzMzgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1
cGRhdGVTY3JvbGxlclN0eWxlKCkKIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3Jv
bGxiYXJQYWludFRpbWVyKCkKIHsKLSAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0
YXJ0T25lU2hvdCgwLjEpOworICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRP
bmVTaG90KDAuMV9zKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFp
bnRUaW1lcklzQWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xs
QW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUm
IGRlbHRhKQogICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0
YTsKIAogICAgIGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIAogICAgIGlmIChtX3doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAgICAgbV93aGVlbEV2
ZW50VGVzdFRyaWdnZXItPmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVl
bEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVs
RXZlbnRUZXN0VHJpZ2dlcjo6Q29udGVudFNjcm9sbEluUHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhNzI4Mjk4Yzhl
YmI1YzU1NTQ3ZDZkM2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFhOTExYmI5MmIwOGYwMWI3ZDk5MjY2
ZDAxM2E0NzZjN2RkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsYmFyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsYmFyVGhlbWVNYWMuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2Vz
T3ZlcmxheVNjcm9sbGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVTY3Jv
bGxiYXJPdmVybGF5U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Ny
b2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgp
IG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2Vt
ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxiYXJUaGVtZU1hYy5tbQppbmRleCBiMmUxNjE4YzAzMmZiN2M2NWYxZmUxOTE3ZjIw
NGUyOTY3NGMzODlmLi40MzU0OWNiNTYxOTgzZDUzMDc0MzljMzYyOTM2MDQzYjE2MGI1YWRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
CkBAIC0xMzAsOCArMTMwLDggQEAgc3RhdGljIGNvbnN0IGludCBjQnV0dG9uTGVuZ3RoW10gPSB7
IDE0LCAxMCB9Owogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25MZW5ndGhbXSA9IHsgMTYs
IDE0IH07IC8vIFRoZSBvdXRlciBidXR0b24gaW4gYSBkb3VibGUgYnV0dG9uIHBhaXIgaXMgYSBi
aXQgYmlnZ2VyLgogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25PdmVybGFwID0gMjsKIAot
c3RhdGljIGZsb2F0IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAwLjVmOwotc3RhdGljIGZsb2F0IGdB
dXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRpYyBTZWNvbmRzIGdJbml0aWFsQnV0
dG9uRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBTZWNvbmRzIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkg
PSAwLjA1X3M7CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGlj
IGJvb2wgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDgg
QEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBO
U1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdOwogICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25E
ZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwot
ICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Nj
cm9sbGVyQnV0dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMo
W2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il0pOworICAgIGdB
dXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5T
U2Nyb2xsZXJCdXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVs
dHMgYm9vbEZvcktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNP
dmVybGF5U2Nyb2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQg
U2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXIm
IHNjcm9sbGJhcikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUg
U2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRz
IFNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAg
IHJldHVybiBnSW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVN
YWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1
dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxh
eTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90
aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1v
dGlvbkNsaWVudE1vY2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMwNTU2MWM3YzFkNjA2N2FkZWM1
MTU5ZjIzNTQuLmJmMjczYmVmOTRhODRhYzcwZDBiNDRlMWEwMjY5NmYxNDAwMjM5YWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9j
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGll
bnRNb2NrLmNwcApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbihQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1vdGlvbikKIHsKICAgICBt
X21vdGlvbiA9IG1vdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZp
Y2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNl
MWZhNDMwZWUxZTI2NzJkOGQ2MTAxYzIuLjIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIx
YzIxMGJiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9p
ZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8
RGV2aWNlT3JpZW50YXRpb25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247
CiAgICAgaWYgKG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVu
dE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVu
dE1vY2suY3BwCmluZGV4IGI3Y2ZiOWJlMDZkY2JmZmM3YzE2YjNjZmU3NDY1MDEzMGZhNzAwZTUu
Ljc1NGE4MjVjYWU1NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAK
QEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRh
dGVQZXJtaXNzaW9uKCkKIHsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVybWlz
c2lvblN0YXRlVW5zZXQpOwogICAgIGlmICghbV9wZXJtaXNzaW9uVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Bl
cm1pc3Npb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNs
aWVudE1vY2s6OnBlcm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lk
IEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBB
U1NFUlQobV9jb250cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVy
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1
MTJmZTJmMjU1Yi4uYTc2YmMyNmZhNjA0ZDAzMzgxYTUzNTNmYWJlZmRhODVmZTk4YjA0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSB0aW1lckludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVy
SW50ZXJ2YWwgPSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVu
dCYgY2xpZW50KQogICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmlu
ZGV4IDYwYmIwMTgxYWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJlMGRlNTkuLmM4MzEwZGYxNTQx
ZTVhMTU3MTYwMmYzMDUzODA1NWQxNGYyNjFhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAg
dm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAg
Ly8gUmV2ZXJzZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92
ZSBvcmRlcgogICAgIG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VD
YW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlk
YXRlVGltZXJGaXJlZCgpCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2lu
dDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJlZCgpCiAKICAgICBpZiAoIW1fZmFrZUljZUNhbmRpZGF0
ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fY2xpZW50LmdvdEljZUNhbmRpZGF0ZShtX21pZHNb
MF0sIG1fZmFrZUljZUNhbmRpZGF0ZXMudGFrZUxhc3QoKSk7Ci0gICAgICAgIG1faWNlQ2FuZGlk
YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVy
aW5nQ2FuZGlkYXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9j
a01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ug
b3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAg
ICBtX2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5z
cG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRU
aW1lckZpcmVkKCkKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojpp
Y2VUcmFuc3BvcnRUaW1lckZpcmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFu
c3BvcnRTdGF0ZUNoYW5nZXMudGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRT
dGF0ZUNoYW5nZWQoc3RhdGVDaGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAg
ICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9y
dFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1
bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQoKQpAQCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgTW9ja01l
ZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCiAgICAgZm9yIChpbnQgaSA9
IG1fbWlkcy5zaXplKCkgLSAxOyBpID49IDA7IC0taSkKICAgICAgICAgbV9taWRzT2ZTb3VyY2Vz
VG9Vbm11dGUuYXBwZW5kKG1fbWlkc1tpXSk7CiAKLSAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBA
QCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291
cmNlLT5zZXRNdXRlZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRl
LmlzRW1wdHkoKSkKLSAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKaW5kZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0ZTM2
MTcxNDQxYjRjZGM2ZS4uNjRhMzVhNmQyN2JjZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRp
bWVWaWRlb1NvdXJjZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRp
bmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkp
OworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygo
bHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIE1v
Y2tSZWFsdGltZVZpZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVh
bHRpbWVNZWRpYVNvdXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFt
ZVJhdGUoZG91YmxlIHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3Vu
ZCgxMDAwIC8gcmF0ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0ZVNh
bXBsZUJ1ZmZlcigpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNw
cAppbmRleCBmM2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi5kOGE3YzA4
OTdmOTg1ZGZjOGM1ZjdlYTQxZDgwYzg2NTkzZjEwZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJN
b2NrLmNwcApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJN
b2NrOjpzcGVhayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNs
aWVudCgpLT5ib3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5j
ZUJvdW5kYXJ5LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUg
dGhlIGZha2Ugc3BlZWNoIGpvYiBzb21lIHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVu
Y3Rpb25zIGhhdmUgdGltZSB0byBiZSBjYWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGlt
ZXIuc3RhcnRPbmVTaG90KC4xKTsKKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9u
ZVNob3QoMC4xX3MpOwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpj
YW5jZWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2
ZW50QmFzZWRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRC
YXNlZE1vY2suaAppbmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2Fj
Li44NjNmOWQ2NWI3NjkwMTZkMGQ5N2NkMjY4OWIyZDRmZjU3NjYyYWJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMs
NyArNjMsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6
OnRpbWVyRmlyZWQpCiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDAuNV9zKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRl
eCA1ODc3M2FhMzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi5lMWM0MTBlZDE1MjU4
YWNhZjNmMGMzOTE5ZDg1YTA4MmEwOTI3ZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRp
YXRlbHkgPSA0OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25n
IGJlZm9yZSBzZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkg
PSAxX3M7CiAKIC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3Zlcndo
ZWxtIHNvbWUgZ2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5F
VCBpc3N1ZXMgd2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNp
bXVsdGFuZW91c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGlu
dCBnTWF4U2ltdWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVx
dWVzdHNUb1F1ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQg
Y291bGRuJ3QgYmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29s
dmVycyBhZnRlciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZp
bmdJblNlY29uZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXRyeVJlc29sdmluZ0Rl
bGF5ID0gMC4xX3M7CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0
b24oKQogewpAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29u
c3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVz
dHNUb1F1ZXVlKSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYg
KCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChn
Q29hbGVzY2VEZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChjb2FsZXNjZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIERO
U1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlz
RW1wdHkoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5T
ZWNvbmRzKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmV0cnlSZXNvbHZpbmdEZWxh
eSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXggYWJmYjQ2Y2VjZjgyMTQz
YjlmZmFjZDAxYmU1Nzg2YTUzYTAwOGVjMC4uNDVjYTFjNWMzNjJiNTQ1ZTg3ZWRjOGNkYjM1ZjIy
MDI4YmMyNmRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9E
YXRhVVJMRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9E
YXRhVVJMRGVjb2Rlci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmVm
KCk7CiAKICAgICAgICAgYXV0byBzY2hlZHVsZWRQYWlycyA9IG1fZGVjb2RlVGFzay0+c2NoZWR1
bGVDb250ZXh0LnNjaGVkdWxlZFBhaXJzOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV90aW1lci5z
Y2hlZHVsZShzY2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2YwYjhk
MDExZjJiYjljYjFiZDEuLjFhMGQ1Y2U2MjNhZGY4YTM0MDUzZDZmYWU4ZDBmNzYzOTAyYmQxN2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01
Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJl
c3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8v
IFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dGFydE9uZVNob3QoMTAwMF9taW4pOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggNDc3M2Rl
ZDdmNGUxZTc4NDE5Zjg0ZmY0NjE4YTVkOWY1YjVmYTZlOS4uYTk0MmY2NjY3NmZhYmZhYmU4ZWQ4
MDY0YWJkMGE4NGViNDRhNGMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVz
b3VyY2VIYW5kbGU+IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0CiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVy
ZVR5cGUgdHlwZSkKIHsKICAgICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAg
ICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVU
aW1lckZpcmVkKCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXRE
ZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIu
c3RvcCgpOwogICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0Zh
aWx1cmUpIHsKICAgICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsK
LSAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBkLT5t
X2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBwbGF0Zm9ybVNl
dERlZmVyc0xvYWRpbmcoZGVmZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAppbmRl
eCA1NWFkZTIxOGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi5kNGQ5OGRhMzFmNjU3
NjEzYjVlZDhkNmRiMjJmZjliNzViMDFlNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKIHZvaWQgTmV0d29ya1N0
YXRlTm90aWZpZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3
b3JrU3RhdGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYs
IENGQXJyYXlSZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQg
YmUgZXhwZW5zaXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAg
IC8vIHdoZW4gdGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29y
a1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7
CisgICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0
YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6
Om5ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBmYzg3
YjcwMzI5MjM4NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi45ZWE0MTdkZDAzMGExY2Y0OWFl
ZjU1ZGM2NGJlYWFhNGFkYzRhZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEwMSw3
IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2luc3Rh
bGxlZCA9IHRydWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxDaGVj
a01lbW9yeVRpbWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVhdGlu
Zyg2MC4wKTsKKyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKDFfbWluKTsKIH0K
IAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggNGVj
ZDg1YTYxMWQzNDJhNzkzYmMyMmJiZGNkY2Y3MTA0ZmYyYTliYS4uMTY5NDdiNmZiNDMxNjFiN2Rl
MDUwZTRmODE3N2YxYjRhMDUxMjg4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0aW9uQ3V0b2Zm
ID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRocmVz
aG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvd1F1YWxpdHlU
aW1lVGhyZXNob2xkID0gMC41X3M7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OkltYWdlUXVh
bGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6IG1fcmVu
ZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVhbGl0eUNv
bnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2b2lkIEltYWdlUXVh
bGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFydE9uZVNo
b3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChs
b3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIE9wdGlvbmFsPEludGVycG9sYXRpb25RdWFs
aXR5PiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHls
ZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDYzYTVhNjkwYWMxMGFiMWY1Yzli
NGRlYzQ3ZWNlYWM1YTAwNWY2M2UuLjcwNDMzMjk3MjYyZDc3NDQyZjdiYTFmZTg3NTc4MGM4ZmQ5
ZGI1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwCkBAIC05MiwxMSArOTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBjYW52YXNB
cmVhVGhyZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRpZgogLy8g
RHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxheSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFueSBz
ZWNvbmRzIHRvIGFsbG93IHRoZW0gY29hbGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgogI2lmIFBM
QVRGT1JNKElPUykKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRp
YWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVs
YXkgPSAxLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlh
bERlbGF5ID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNo
RGVsYXkgPSAxLjVfczsKICNlbHNlCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVy
Rmx1c2hJbml0aWFsRGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5
ZXJGbHVzaERlbGF5ID0gLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZs
dXNoSW5pdGlhbERlbGF5ID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRM
YXllckZsdXNoRGVsYXkgPSAwLjVfczsKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwpAQCAtNjM0LDcgKzYzNCw3IEBAIFJlbmRlckxheWVyQ29tcG9zaXRvciogUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjplbmNsb3NpbmdDb21wb3NpdG9yRmx1c2hpbmdMYXllcnMoCiB2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKCkKIHsK
ICAgICBpZiAoIW1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1Rp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1h
cnF1ZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmlu
ZGV4IDYwNTlkMjZkMWRmY2ZiMzYxNWJiYmJlMTZjZmQyM2UyNWRkZmMxNTcuLmI3NDA5N2NmMjFl
MWE4MjI1YTZhZWQ4ZmQ5YTNiMmE5YTUyZTlhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFJlbmRlck1hcnF1
ZWU6OnN0YXJ0KCkKICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7CiAgICAgfQogCi0gICAgbV90
aW1lci5zdGFydFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgIG1fdGltZXIuc3RhcnRS
ZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhzcGVlZCgpKSk7CiB9CiAKIHZvaWQg
UmVuZGVyTWFycXVlZTo6c3VzcGVuZCgpCkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBSZW5kZXJN
YXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAgIGlmIChzcGVlZCgpICE9IG1hcnF1ZWVT
cGVlZCgpKSB7CiAgICAgICAgIG1fc3BlZWQgPSBtYXJxdWVlU3BlZWQoKTsKICAgICAgICAgaWYg
KG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmco
c3BlZWQoKSAqIDAuMDAxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyhzcGVlZCgpKSk7CiAgICAgfQogICAgIAogICAgIC8vIENo
ZWNrIHRoZSBsb29wIGNvdW50IHRvIHNlZSBpZiB3ZSBzaG91bGQgbm93IHN0b3AuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4
IDQ3NTA2YWNkMzNiNzA3NDM1ZTU5ZTE2NWNjNjA3MDNmZTY0ZTQ2ZTYuLjg2OWFmNDJhMDk5ODI2
NmViMGY2NWMzZjEwZjk3Mzg4MWE2MTU1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgdm9p
ZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50
SWZOZWVkZWQoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2hhbmdlUmVnaW9u
T3ZlcnNldChkb2N1bWVudCgpLCBuYW1lZEZsb3coKSk7CiAgICAgCiAgICAgaWYgKCFtX3JlZ2lv
bk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLmlzQWN0aXZlKCkgJiYgbmFtZWRGbG93KCkuaGFzRXZl
bnRMaXN0ZW5lcnMoKSkKLSAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdp
b25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IDlhMWYyNDBmYTVmOWFmZjg3MDFjMTM0OGNjYzU3
ZDM2YWIzZTBiODQuLjUxYTMwOGZiYTM3MGM0Nzk4OWM4YzVjZWFlMGIwODc3NDJjOWM3Y2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODUsNyAr
ODUsNyBAQCB2b2lkIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKICAg
ICByZXBhaW50KCk7CiAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV9h
bmltYXRpbmcpCi0gICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBSZW5kZXJQ
cm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQg
UmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKICAgICBtX2FuaW1hdGluZyA9
IGFuaW1hdGluZzsKICAgICBpZiAobV9hbmltYXRpbmcpIHsKICAgICAgICAgbV9hbmltYXRpb25T
dGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9hbmlt
YXRpb25UaW1lci5zdGFydE9uZVNob3QobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAg
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBl
YXRJbnRlcnZhbCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3Ao
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxi
YXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1l
LmgKaW5kZXggZWQ0OWJlZGNiZGI2MTVkMGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFiZDgy
M2FhYTAxNDY1NmIxMWFiNmQyNjE5ZGQxNmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAgcHVi
bGljOgogCiAgICAgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2
ZW50KFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50
LCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJU
aGVtZTo6dGhlbWUoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwgcHJl
c3NlZFBhcnQpOyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkg
b3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCk7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVy
cmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxh
eSgpOyB9CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlk
ZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKTsgfQorICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7
IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9
CiAKICAgICB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVy
cmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJhcihz
Y3JvbGxiYXIpOyB9CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Ny
b2xsYmFyKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJlZ2lz
dGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0LmNwcAppbmRleCBjZTE1NmVjOGY5OGY5MGM2ODFlNzA2YjU4ODgyNWM0Y2JiZGJmNDg1Li45
MjE4ZDVjYjVhNzgxZmI4NTdjN2Y0OGE5MjUyOWRkZWJiMWI1M2RjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3Vy
ZVRleHRUaW1lcjo6U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5l
IHZvaWQgU2VjdXJlVGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5
cGVkQ2hhcmFjdGVyKQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBv
ZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJl
ci5mcmFtZSgpLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7Cisg
ICAgc3RhcnRPbmVTaG90KG1fcmVuZGVyZXIuZnJhbWUoKS5zZXR0aW5ncygpLnBhc3N3b3JkRWNo
b0R1cmF0aW9uKCkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4dFRpbWVyOjp0YWtl
T2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaAppbmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAxMzhjZWY0MGVjODI4ZjljMmJl
Li44OWY0YjljOWU0OTRmZmRlZDU5M2QwY2UyNDA0YjBhZjIwMWJhNDE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNj
cm9sbFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC0xNzUsNyArMTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHBs
YXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5r
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgY2Fy
ZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41X3M7IH0KIAogICAgIC8vIFN5c3Rl
bSBmb250cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0ZW1Gb250KENTU1ZhbHVl
SUQsIEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKQEAgLTIwNCw4ICsyMDUsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xTdGF0dXNEaXNwbGF5KCkg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlhQ29udHJvbFZvbHVt
ZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc1Zl
cnRpY2FsVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwg
ZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQotICAg
IHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAw
LjM7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkg
eyByZXR1cm4gMC4xX3M7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVP
dXREdXJhdGlvbigpIHsgcmV0dXJuIDAuM19zOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0
TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcg
Zm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBk
dXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1Jl
bWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCA4MTMwZDJlODIwNmIwYzA0
MTZkZGQ5YWYxYmU0MWQ0MjY0MTViM2MxLi5kMzNiYzA2NWQyMTU3Zjc2ZDFhNmIxM2I4NjM2NmI0
YThjMGRlYjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC0x
NTEsNyArMTUxLDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlSZXBhaW50KFJlbmRl
ckJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2V0UmVuZGVyQm94TmVlZHNMYXp5UmVwYWlu
dCh0cnVlKTsKICAgICBtX3JlbmRlcmVyc05lZWRpbmdMYXp5UmVwYWludC5hZGQoJnJlbmRlcmVy
KTsKICAgICBpZiAoIW1fbGF6eVJlcGFpbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xh
enlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xhenlSZXBhaW50VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6dW5zY2hlZHVsZUxh
enlSZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5
L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcAppbmRleCA5OTY0OWJmZTI5MDM2Njc2YWQ0OTY4YTM2
ZGYxZjVjM2M2MmUwZWQ5Li41YjQzNDlmYTkzNGYzMmI0MTA5NWQ1YTBmODQ0OTY5MTRmODdmNTI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAK
QEAgLTU4LDExICs1OCw4IEBAIHZvaWQgQ2FwdHVyaW5nSW5wdXRDdXJzb3I6OnN0b3JlSW5wdXQo
c3RkOjp1bmlxdWVfcHRyPE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+CiB7CiAgICAgQVNTRVJU
X0FSRyhpbnB1dCwgaW5wdXQpOwogCi0gICAgaWYgKGlucHV0LT5xdWV1ZSgpID09IElucHV0UXVl
dWU6OkV2ZW50TG9vcElucHV0KSB7Ci0gICAgICAgIC8vIEZJWE1FOiByZXdyaXRlIHRoaXMgKGFu
ZCByZWxhdGVkIGRpc3BhdGNoIGNvZGUpIHRvIHVzZSBzdGQ6OmNocm9uby4KLSAgICAgICAgZG91
YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAgICBtX3NlZ21l
bnQtPmV2ZW50TG9vcFRpbWluZ3MoKS5hcHBlbmQobm93KTsKLSAgICB9CisgICAgaWYgKGlucHV0
LT5xdWV1ZSgpID09IElucHV0UXVldWU6OkV2ZW50TG9vcElucHV0KQorICAgICAgICBtX3NlZ21l
bnQtPmV2ZW50TG9vcFRpbWluZ3MoKS5hcHBlbmQoTW9ub3RvbmljVGltZTo6bm93KCkpOwogCiAg
ICAgbV9zZWdtZW50LT5zdG9yYWdlKCkuc3RvcmUoV1RGTW92ZShpbnB1dCkpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAppbmRl
eCA1MTAyOTNmYzE2YzY0YWM5YjVmYjUxZTdiOThkMDkwZDhiNTEzNjY3Li5iMDdkMjZmZjg0ZjM4
NzExZDM0NDM1YjQ2YmViMGJiMWVmMzI1YmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcApAQCAtNTEsOCArNTEsNiBAQCBFdmVu
dExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcihQYWdlJiBwYWdl
LCBSZXBsYXlpbmdJbnB1dEN1cgogICAgICwgbV90aW1lcigqdGhpcywgJkV2ZW50TG9vcElucHV0
RGlzcGF0Y2hlcjo6dGltZXJGaXJlZCkKICAgICAsIG1fc3BlZWQoRGlzcGF0Y2hTcGVlZDo6RmFz
dEZvcndhcmQpCiB7Ci0gICAgbV9jdXJyZW50V29yay5pbnB1dCA9IG51bGxwdHI7Ci0gICAgbV9j
dXJyZW50V29yay50aW1lc3RhbXAgPSAwLjA7CiB9CiAKIHZvaWQgRXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyOjpydW4oKQpAQCAtOTEsNyArODksNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIG1fdGltZXIuc3RvcCgpOwogCi0gICAgZG91YmxlIHdhaXRJbnRlcnZhbCA9IDA7Cisg
ICAgU2Vjb25kcyB3YWl0SW50ZXJ2YWw7CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNw
ZWVkOjpSZWFsVGltZSkgewogICAgICAgICAvLyBUaGUgZ29hbCBpcyB0byByZXByb2R1Y2UgdGhl
IGRpc3BhdGNoIGRlbGF5IGJldHdlZW4gaW5wdXRzIGFzIGl0IHdhcwpAQCAtMTAyLDIyICsxMDAs
MjIgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkK
ICAgICAgICAgaWYgKCFtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXApCiAgICAgICAgICAgICBtX3By
ZXZpb3VzSW5wdXRUaW1lc3RhbXAgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsKIAotICAgICAg
ICBkb3VibGUgdGFyZ2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJl
dmlvdXNJbnB1dFRpbWVzdGFtcDsKLSAgICAgICAgZG91YmxlIGVsYXBzZWQgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKKyAgICAg
ICAgU2Vjb25kcyB0YXJnZXRJbnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9w
cmV2aW91c0lucHV0VGltZXN0YW1wOworICAgICAgICBTZWNvbmRzIGVsYXBzZWQgPSBNb25vdG9u
aWNUaW1lOjpub3coKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAgICAgICAgd2Fp
dEludGVydmFsID0gdGFyZ2V0SW50ZXJ2YWwgLSBlbGFwc2VkOwogICAgIH0KIAogICAgIC8vIEEg
bmVnYXRpdmUgd2FpdCB0aW1lIG1lYW5zIHRoYXQgZGlzcGF0Y2ggdG9vayBsb25nZXIgb24gcmVw
bGF5IHRoYW4gb24KICAgICAvLyBjYXB0dXJlLiBJbiB0aGlzIGNhc2UsIHByb2NlZWQgd2l0aG91
dCB3YWl0aW5nIGF0IGFsbC4KLSAgICBpZiAod2FpdEludGVydmFsIDwgMCkKLSAgICAgICAgd2Fp
dEludGVydmFsID0gMDsKKyAgICBpZiAod2FpdEludGVydmFsIDwgMF9zKQorICAgICAgICB3YWl0
SW50ZXJ2YWwgPSAwX3M7CiAKLSAgICBpZiAod2FpdEludGVydmFsID4gMTAwMC4wKSB7CisgICAg
aWYgKHdhaXRJbnRlcnZhbCA+IDEwMDBfcykgewogICAgICAgICBMT0dfRVJST1IoIiUtMjBzIFRy
aWVkIHRvIHdhaXQgZm9yIG92ZXIgMTAwMCBzZWNvbmRzIGJlZm9yZSBkaXNwYXRjaGluZyBuZXh0
IGV2ZW50IGxvb3AgaW5wdXQ7IHRoaXMgaXMgcHJvYmFibHkgYSBidWcuIiwgIlJlcGxheUV2ZW50
cyIpOwotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOworICAgICAgICB3YWl0SW50ZXJ2YWwgPSAw
X3M7CiAgICAgfQogCi0gICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlUOiAlLjNmIG1zKSIs
ICJSZXBsYXlFdmVudHMiLCB3YWl0SW50ZXJ2YWwgKiAxMDAwLjApOworICAgIExPRyhXZWJSZXBs
YXksICIlLTIwcyAoV0FJVDogJS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwgU2Vjb25kcyh3YWl0
SW50ZXJ2YWwgKiAxMDAwLjApLm1pbGxpc2Vjb25kcygpKTsKICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCh3YWl0SW50ZXJ2YWwpOwogfQogCkBAIC0xMjcsNyArMTI1LDcgQEAgdm9pZCBFdmVudExv
b3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXQoKQogICAgIEFTU0VSVCghbV9kaXNwYXRj
aGluZyk7CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpSZWFsVGltZSkgewot
ICAgICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKTsKKyAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lID0gTW9ub3Rv
bmljVGltZTo6bm93KCk7CiAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCA9IG1fY3Vy
cmVudFdvcmsudGltZXN0YW1wOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5
L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCmluZGV4IDIwNjdlNzhkNDNmMjVhNWQyNWU0YzNm
OWE1MjMyMzViMGM3OTVmMzQuLjU5MzJiNDJiNmQ0MmMzODIwOTRlNTQ4MTQzNjBmMGRhYjZiNDQw
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3Bh
dGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFdmVudExvb3BJbnB1dC5oIgogI2lu
Y2x1ZGUgIlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNs
dWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC04Niw5ICs4Nyw5IEBAIHByaXZh
dGU6CiAKICAgICBEaXNwYXRjaFNwZWVkIG1fc3BlZWQ7CiAgICAgLy8gVGhlIHRpbWUgYXQgd2hp
Y2ggdGhlIGxhc3QgaW5wdXQgZGlzcGF0Y2goKSBtZXRob2Qgd2FzIGNhbGxlZC4KLSAgICBkb3Vi
bGUgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lIHswLjB9OworICAgIE1vbm90b25pY1RpbWUg
bV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgIC8vIFRoZSB0aW1lc3RhbXAgc3BlY2lm
aWVkIGJ5IHRoZSBsYXN0IGRpc3BhdGNoZWQgaW5wdXQuCi0gICAgZG91YmxlIG1fcHJldmlvdXNJ
bnB1dFRpbWVzdGFtcCB7MC4wfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJldmlvdXNJbnB1dFRp
bWVzdGFtcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCmluZGV4IGYxOGRkZjQxZmNkYzA0NDZl
ZTQwMDhiODFiMzliZjZjNGE2NTE2MmEuLjI4MTFlNzRiZjAzZjc4NGMzMTZjY2Q5MWZiZTAwODQ4
OWUzMWYzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9u
U2VnbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdt
ZW50LmNwcApAQCAtNDcsOCArNDcsOCBAQCBSZWY8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IFJlcGxh
eVNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQogCiBSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5
U2Vzc2lvblNlZ21lbnQoKQogICAgIDogbV9zdG9yYWdlKHN0ZDo6bWFrZV91bmlxdWU8U2VnbWVu
dGVkSW5wdXRTdG9yYWdlPigpKQorICAgICwgbV90aW1lc3RhbXAoTW9ub3RvbmljVGltZTo6bm93
KCkpCiAgICAgLCBtX2lkZW50aWZpZXIoc19uZXh0U2VnbWVudElkZW50aWZpZXIrKykKLSAgICAs
IG1fdGltZXN0YW1wKGN1cnJlbnRUaW1lTVMoKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaAppbmRleCBkNTYyYjUzYzA0NDg0MTNmNDYzMjk5
N2NhMTlmOTQ4ZGUyM2EyZDljLi5mNzY3NDJjNjU4ZWRjMDEyMzJjZTMzYmZlZjc5NGYzNTMzNjQ1
N2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaApA
QCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01MSwyMCArNTIs
MjEgQEAgcHVibGljOgogICAgIH5SZXBsYXlTZXNzaW9uU2VnbWVudCgpOwogCiAgICAgdW5zaWdu
ZWQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQotICAgIGRvdWJs
ZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorICAgIE1vbm90b25p
Y1RpbWUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KKwogcHJvdGVj
dGVkOgogICAgIFNlZ21lbnRlZElucHV0U3RvcmFnZSYgc3RvcmFnZSgpIHsgcmV0dXJuICptX3N0
b3JhZ2U7IH0KLSAgICBWZWN0b3I8ZG91YmxlLCAwPiYgZXZlbnRMb29wVGltaW5ncygpIHsgcmV0
dXJuIG1fZXZlbnRMb29wVGltaW5nczsgfQorICAgIFZlY3RvcjxNb25vdG9uaWNUaW1lLCAwPiYg
ZXZlbnRMb29wVGltaW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29wVGltaW5nczsgfQogCiBwcml2
YXRlOgogICAgIFJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
U2VnbWVudGVkSW5wdXRTdG9yYWdlPiBtX3N0b3JhZ2U7Ci0gICAgVmVjdG9yPGRvdWJsZSwgMD4g
bV9ldmVudExvb3BUaW1pbmdzOworICAgIFZlY3RvcjxNb25vdG9uaWNUaW1lLCAwPiBtX2V2ZW50
TG9vcFRpbWluZ3M7CiAKKyAgICBNb25vdG9uaWNUaW1lIG1fdGltZXN0YW1wOwogICAgIHVuc2ln
bmVkIG1faWRlbnRpZmllcjsKICAgICBib29sIG1fY2FuQ2FwdHVyZSB7dHJ1ZX07Ci0gICAgZG91
YmxlIG1fdGltZXN0YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAppbmRleCA3N2MzYjk0MjBjOGZh
ZDQ0ZGU1M2JjMDE1MmRiZTk3NmJkZDZiNjkyLi4wZmVkMTA5MjgxMDdiM2U4NGJhZTk1ZWMyMzc3
ZTBkYzc3OTUxYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5n
SW5wdXRDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRD
dXJzb3IuaApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5j
bHVkZSA8cmVwbGF5L0lucHV0Q3Vyc29yLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQx
LDggKzQyLDggQEAgY2xhc3MgUGFnZTsKIGNsYXNzIFJlcGxheVNlc3Npb25TZWdtZW50OwogCiBz
dHJ1Y3QgRXZlbnRMb29wSW5wdXREYXRhIHsKLSAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0
OwotICAgIGRvdWJsZSB0aW1lc3RhbXA7CisgICAgRXZlbnRMb29wSW5wdXRCYXNlKiBpbnB1dCB7
IG51bGxwdHIgfTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcDsKIH07CiAKIGNsYXNzIFJl
cGxheWluZ0lucHV0Q3Vyc29yIGZpbmFsIDogcHVibGljIElucHV0Q3Vyc29yIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVTY29wZS5jcHAKaW5kZXggODIyNzBhZGQwZjJmMGNmM2VjZGQ3NjU0OGUwNWMx
NDE4MjBiODVlNi4uMzA4MGQ2YThiMTZiZjg3MTQxOGE3Zjg4N2I3MWVhODE4MjE5NGY1ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKQEAgLTUwNyw3ICs1MDcsNyBAQCB2b2lkIFNj
b3BlOjpzY2hlZHVsZVVwZGF0ZShVcGRhdGVUeXBlIHVwZGF0ZSkKIAogICAgIGlmIChtX3BlbmRp
bmdVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wZW5kaW5n
VXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VwZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VBY3RpdmVTdHlsZVNo
ZWV0Q2FuZGlkYXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5kZXggYjJjYjNiMzNj
YWMxYjcyYjZhZGQyNDI0YzNhYjRhMjBhYTIwNTZjNy4uZjNlMWM0ZDcxZjQyMTkyM2ExOTc2ZmMw
NTM5NTY3ZGY3NDMwMzkzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNjIxLDcg
KzYyMSw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9v
bCBzZW5kUGFyZW50TG9hZEV2ZW50cykKIAogdm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2
ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KCkKIHsKLSAgICBzdmdMb2FkRXZlbnRUaW1lcigp
LT5zdGFydE9uZVNob3QoMCk7CisgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3Bw
CmluZGV4IGNiZjNiN2JhNTg0ODUwNzczN2U5NzVjZGQwYTgxOTJkMzM1ZmJmNTAuLjc1M2U0MDE0
YmNjMjEyY2IzMDhkOGQ2NjdjZmZlYmZkMTNjNDQ1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCkBAIC0yMDUsNyArMjA1LDcg
QEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcihTTUlMVGltZSBlbGFwc2VkLCBT
TUlMVGltZSBmaXJlVGltZSwgU01JTFRpbWUKICAgICAgICAgcmV0dXJuOwogCiAgICAgU01JTFRp
bWUgZGVsYXkgPSBzdGQ6Om1heChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmltdW1EZWxheSk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcyhkZWxheS52YWx1ZSgpKSk7CiB9CiAKIHZvaWQgU01JTFRpbWVDb250
YWluZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5jcHAKaW5kZXggNjExYzkyYjhmYjM0NTFjZmM2Y2Y5NmM4ZWQzN2U3ODVhMzJkOTdmOC4u
NTQzYzNmNGRhZGU4OTUzOGQ4Yjc2MjUwYzhhZTU4ZDUyZWY2YmY3YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC01MzYsNyArNTM2LDcgQEAgRXhj
ZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwo
ZG91YmxlIGludGVydmFsSW5TZWMKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdzKCkuc2V0TWlu
aW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbEluU2Vjb25kcyAqIDEwMDApKSk7CisgICAg
c2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGludGVydmFsSW5T
ZWNvbmRzKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNTYwLDcgKzU2MCw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNldFRpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOworICAgIHNldHRp
bmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoU2Vj
b25kcyh0aW1lKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA1YTRmNmU0ZGFkNDg1Y2I1YWYzMTI3ZGVmODA3OGRj
Nzc2MWMxOTQwLi44NDU5OGEyYTViMDRkMjY5MTI0MjZhOTBlNTMzY2I5MWMxNzgxZWE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTQzLDcgKzE0Myw3
IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJv
bFVJRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ltYWdlc0VuYWJsZWQ7CiAgICAgICAgIGJvb2wg
bV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKLSAgICAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBtX21pbmltdW1UaW1lckludGVydmFsOworICAgICAgICBTZWNvbmRzIG1fbWluaW11bVRp
bWVySW50ZXJ2YWw7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBib29sIG1fc2hv
dWxkRGlzcGxheVN1YnRpdGxlczsKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlDYXB0aW9u
czsKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAgIFN0cmluZyBt
X2RlZmF1bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVuZGluZ1dlYkdM
UG9saWN5OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX29yaWdpbmFsVGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CiAgICAgICAgIGJvb2wgbV91c2VM
ZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yOwogICAgICAgICBib29sIG1fYXV0
b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3F1aWNrVGltZVBs
dWdpblJlcGxhY2VtZW50RW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZS5jcHAKaW5kZXggZWQyZmVkYTJkZGM0MzA2NDdjYjI4M2EwZDlmZjE5ODc1YzRh
YTIzZi4uYzcxOTRlZGVhYjNhNzg3ZmNlZjQ2NTE2YTdhYWNiNTFiMDQ4ZTJlZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE4Nyw3ICsxODcs
NyBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0VGFzayhUYXNrJiYgdGFzaykKIAogaW50
IFdvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1lb3V0KHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRB
Y3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0
YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGlt
ZW91dCksIHRydWUpOworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92
ZShhY3Rpb24pLCBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0K
IAogdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCkBA
IC0xOTcsNyArMTk3LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJUaW1lb3V0KGlu
dCB0aW1lb3V0SWQpCiAKIGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0SW50ZXJ2YWwoc3RkOjp1
bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKIHsKLSAgICBy
ZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOworICAgIHJldHVybiBET01UaW1lcjo6
aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KHRpbWVvdXQpLCBmYWxzZSk7CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFySW50
ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmlu
ZGV4IDUwOWE5YTljZDcxMGI0NWJmYzBjYjllZTkxYTIyZjEzN2NmNjhiN2EuLmMwZDQzY2UwMzBl
NTdiYWI5ODJlMDVmMTI3NjYwMGY3NjJlNzIyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcApAQCAtMjQ1LDggKzI0NSw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBS
ZXF1ZXN0OjpzZXRUaW1lb3V0KHVuc2lnbmVkIHRpbWVvdXQpCiAgICAgICAgIHJldHVybiB7IH07
CiAKICAgICAvLyBJZiB0aW1lb3V0IGlzIHplcm8sIHdlIHNob3VsZCB1c2UgdGhlIGRlZmF1bHQg
bmV0d29yayB0aW1lb3V0LiBCdXQgd2UgZGlzYWJsZWQgaXQgc28gbGV0J3MgbWltaWMgaXQgd2l0
aCBhIDYwIHNlY29uZHMgdGltZW91dCB2YWx1ZS4KLSAgICBzdGQ6OmNocm9ubzo6ZHVyYXRpb248
ZG91YmxlPiBpbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyBtX3RpbWVvdXRN
aWxsaXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCB9IC0gKHN0ZDo6Y2hy
b25vOjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9zZW5kaW5nVGltZSk7Ci0gICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMCwgaW50ZXJ2YWwuY291bnQoKSkpOworICAg
IFNlY29uZHMgaW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1p
bGxpc2Vjb25kcyA/IG1fdGltZW91dE1pbGxpc2Vjb25kcyA6IDYwMDAwKSAtIChNb25vdG9uaWNU
aW1lOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOworICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25l
U2hvdChzdGQ6Om1heCgwX3MsIGludGVydmFsKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAt
NDk2LDcgKzQ5Niw3IEBAIE9wdGlvbmFsPEV4Y2VwdGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVxdWVz
dDo6cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9pZD4g
eyBFeGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07CiAgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0
eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25ldHdv
cmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+IHsg
fTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRw
UmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJ
bnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNlIHsK
ICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19saW1p
dHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gc3Rk
OjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRUaW1l
ci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1pbGxp
c2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpm
cm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykpOwogICAgICAgICB9CiAgICAg
fQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChjb25z
dCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwogICAg
ICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0
b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAgICAgbV9leGNlcHRpb25Db2RlID0gTkVUV09SS19FUlI7CkBAIC0xMTgzLDcg
KzExODMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUoKQogICAgIC8vIFdlIGFyZSBu
b3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBpbiByZXN1bWUoKSBzbyBkaXNwYXRj
aAogICAgIC8vIHRoZSBlcnJvciBldmVudCBpbiBhIHRpbWVyLgogICAgIGlmIChtX2Rpc3BhdGNo
RXJyb3JPblJlc3VtaW5nICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggYWY2NTBmZTc5M2Q5YzhkYjU4
MDg1OTkyODFiZGY4MDBiZTUzYjc0OS4uNDUyMjE3OWJiMGZhNTEwNWY0Yzk0NWIzNWEyNzNmY2M3
MmNkN2VlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsyMzAs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya0Vycm9yVGltZXJGaXJlZCgpOwogCiAgICAg
dW5zaWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRzIHsgMCB9OwotICAgIHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5kaW5nVGltZTsKKyAgICBNb25vdG9uaWNUaW1l
IG1fc2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90aW1lb3V0VGltZXI7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMwODcz
Li5lNGM5OTU1MTA0MDYxMzI3M2FkZmUxNzU4M2I4YTA3ZjJmZDdkMjE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJv
dHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25z
dCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9n
cmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMgcGVy
IHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgPSA1MF9t
czsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVudFRh
cmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEyIEBA
IHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0
bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJvdHRsZWRQ
cm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhDb21w
dXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIHN0YXJ0
UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAgICAg
ICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3QgZnJl
cXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVlbnQg
ZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApAQCAt
MjA4LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6
OnJlc3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2YgYWN0aXZlIERPTSBvYmplY3RzIHRvIHJlc3Vt
ZSB0aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBldmVudC1oYW5kbGVyCiAgICAgLy8gY291bGQg
aW5zZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMgdG8gdGhlIGxpc3QuCiAgICAgLy8gbV9kZWZl
ckV2ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxsIGRlZmVycmVkIGV2ZW50cyBoYXZlIGJlZW4g
ZGlzcGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXggOTcx
YmQyMzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUwMzQ4NGE4ZC4uMzQwZmI1YzAwZDE3M2ZiNjE2
MWE3NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAgLTU1LDcgKzU1LDcg
QEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNv
bnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29u
ZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRj
aGluZ0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAgICAgdm9pZCBkaXNw
YXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
U3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5
bmMuY3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTkuLmFm
Zjk1YmJhMzVlZGMzOTY5N2NiMGU5OWRlMDdmMjViNDc4ZjA5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5nZXMs
IGRvbid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVwIGEg
YmF0Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhlIGZv
bGxvd2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRlcnZh
bCA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSBTZWNv
bmRzKDEpOwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93IG1hbnkgaXRlbXMgd2UnbGwgc2NoZWR1
bGUgdG8gc3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFrZXMgaXQKIC8vIG11Y2ggaGFyZGVyIHRv
IHN0YXJ2ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2UgYW5kIHRoZSBPUydzIElPIHN1YnN5c3Rl
bSBpbiBnZW5lcmFsLgpAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpz
Y2hlZHVsZUl0ZW1Gb3JTeW5jKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVl
CiAKICAgICBtX2NoYW5nZWRJdGVtcy5zZXQoa2V5LCB2YWx1ZSk7CiAgICAgaWYgKCFtX3N5bmNU
aW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChTdG9y
YWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3Jh
Z2VTeW5jSW50ZXJ2YWwpOwogCiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5jZWQg
YnkgdGhlIGNhbGwgdG8gZW5hYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAgIC8v
IHN5bmNUaW1lckZpcmVkIGZ1bmN0aW9uLgpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgU3RvcmFn
ZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKCkKICAgICBtX2NoYW5nZWRJdGVtcy5jbGVhcigpOwog
ICAgIG1faXRlbXNDbGVhcmVkID0gdHJ1ZTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZl
KCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2
YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZh
bCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0
byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmly
ZWQgZnVuY3Rpb24uCkBAIC0xNTIsNyArMTUyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNj
aGVkdWxlQ2xvc2VEYXRhYmFzZSgpCiAgICAgbV9zeW5jQ2xvc2VEYXRhYmFzZSA9IHRydWU7CiAg
ICAgCiAgICAgaWYgKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1Rp
bWVyLnN0YXJ0T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGlt
ZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAKICAgICAgICAg
Ly8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0byBlbmFibGVTdWRkZW5U
ZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmlyZWQgZnVuY3Rpb24uCkBA
IC0xNzIsNyArMTcyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKCkK
ICAgICAgICAgLy8gcHJldmlvdXMgb25lLiBCdXQsIGlmIHdlJ3JlIHNodXR0aW5nIGRvd24sIHNj
aGVkdWxlIGl0IGFueXdheS4KICAgICAgICAgaWYgKG1fc3luY0luUHJvZ3Jlc3MgJiYgIW1fZmlu
YWxTeW5jU2NoZWR1bGVkKSB7CiAgICAgICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVyLmlzQWN0
aXZlKCkpOwotICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5j
SW50ZXJ2YWwpOworICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VT
eW5jSW50ZXJ2YWwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTIxOSw3
ICsyMTksNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgIGlm
IChwYXJ0aWFsU3luYykgewogICAgICAgICAvLyBJZiB3ZSBkaWRuJ3QgZmluaXNoIHN5bmNpbmcs
IHRoZW4gd2UgbmVlZCB0byBmaW5pc2ggdGhlIGpvYiBsYXRlci4KICAgICAgICAgQVNTRVJUKCFt
X3N5bmNUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90
KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qo
c3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVGhlIGZvbGxv
d2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbHMgdG8gZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9u
IGluIHRoZQogICAgICAgICAvLyBzY2hlZHVsZUl0ZW1Gb3JTeW5jLCBzY2hlZHVsZUNsZWFyLCBh
bmQgc2NoZWR1bGVGaW5hbFN5bmMgZnVuY3Rpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9y
YWdlVHJhY2tlci5jcHAKaW5kZXggNTlhMDBmZTMwYTk2M2Y1ODEzZDhiMGRkYTA0ZGI2MDgxYTY2
MjNiZC4uOGJmZmI0NGRlNjQ2OGU3M2I4YTc4OTAyYjQyZGFhZjlmY2E0N2MwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRp
YyBTdG9yYWdlVHJhY2tlciogc3RvcmFnZVRyYWNrZXIgPSBudWxscHRyOwogCiAvLyBJZiB0aGVy
ZSBpcyBubyBkb2N1bWVudCByZWZlcmVuY2luZyBhIHN0b3JhZ2UgZGF0YWJhc2UsIGNsb3NlIHRo
ZSB1bmRlcmx5aW5nIGRhdGFiYXNlCiAvLyBhZnRlciBpdCBoYXMgYmVlbiBpZGxlIGZvciBtX1N0
b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCBzZWNvbmRzLgotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gMzAwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMF9zOwogICAgIAog
dm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9y
YWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNsaWVudCkKIHsKQEAgLTk3LDcgKzk3LDcg
QEAgU3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBh
dGgpCiAgICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+KCkpCiAg
ICAgLCBtX2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9uZWVkc0luaXRpYWxpemF0aW9uKGZhbHNl
KQotICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRl
ZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9TdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3ZjU5NGU4
ZmEzYmRhY2E4OC4uNzI2ZjMyNTFiMWQxZWVmNmMxYWFmMTEyNjFjMGQyOTk3YjU5MTRkMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291
cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKQEAgLTU5LDggKzU5LDggQEAgcHVi
bGljOgogICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAotICAgIGRvdWJsZSBzdG9yYWdlRGF0
YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bDsgfQotICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBpbnRl
cnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAg
U2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX3N0b3JhZ2VE
YXRhYmFzZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwg
PSBpbnRlcnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJEYXRhYmFz
ZSgpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIG1faXNB
Y3RpdmU7CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6YXRpb247Ci0gICAgZG91YmxlIG1fU3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsOworICAgIFNlY29uZHMgbV9zdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVs
ZXIuY3BwCmluZGV4IDExYmNlM2JlZTBlMGJhMWQ3MDJmNzJjNjY0NTNjYzJhMmJkZWI3ZjYuLmE2
Y2Y4NGZjMTk1MjU5NjNkNDZkMmJhYzk1N2FmYTJiM2ZhOGExYWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5j
cHAKQEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVz
dW1lUGVuZGluZ1JlcXVlc3RzKCkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hl
ZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCkKIHsKICAgICBpZiAoIW1fcmVxdWVzdFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHkubW0KaW5kZXggMzZkYmJlYzYyNGVlYjA1NGYwNjJhMDI4NDEwMDI5YmYwOGU0MjlkOS4u
N2QwNmU0MTM2NzRkYjkwZDc1NGJjYWFkNmNkNGUxNTBlMDZhMjgwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eS5tbQpAQCAtNzQ0LDcgKzc0NCw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgbV9wbHVnaW5SZXF1ZXN0cy5y
ZW1vdmVGaXJzdCgpOwogICAgIAogICAgIGlmICghbV9wbHVnaW5SZXF1ZXN0cy5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgCiAgICAgcGVyZm9ybVJlcXVlc3QocmVx
dWVzdC5nZXQoKSk7CiB9CkBAIC04MDAsNyArODAwLDcgQEAgTlBFcnJvciBOZXRzY2FwZVBsdWdp
bkluc3RhbmNlUHJveHk6OmxvYWRSZXF1ZXN0KE5TVVJMUmVxdWVzdCAqcmVxdWVzdCwgY29uc3Qg
Y2gKIAogICAgICAgICBhdXRvIHBsdWdpblJlcXVlc3QgPSBQbHVnaW5SZXF1ZXN0OjpjcmVhdGUo
cmVxdWVzdElELCByZXF1ZXN0LCB0YXJnZXQsIGFsbG93UG9wdXBzKTsKICAgICAgICAgbV9wbHVn
aW5SZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShwbHVnaW5SZXF1ZXN0KSk7Ci0gICAgICAgIG1fcmVx
dWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgUmVmUHRyPEhvc3RlZE5ldHNjYXBl
UGx1Z2luU3RyZWFtPiBzdHJlYW0gPSBIb3N0ZWROZXRzY2FwZVBsdWdpblN0cmVhbTo6Y3JlYXRl
KHRoaXMsIHJlcXVlc3RJRCwgcmVxdWVzdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0gYi9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCmluZGV4IDA1Y2M0ZDQ3MmRhODYx
MGEzNGJhNWJkYmVjOGExNjNlNGFkMzhiOTQuLmRiMGMwMGZlN2FjNWRjN2RmNzBlOTkwYmY2MDFj
ZTE5ZmVmZjVmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0
c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblN0cmVhbS5tbQpAQCAtNTI5LDcgKzUyOSw3IEBAIHZvaWQgV2ViTmV0c2Nh
cGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMg
PD0gMCkgewogICAgICAgICAgICAgLy8gUGx1Zy1pbiBjYW4ndCByZWNlaXZlIGFueW1vcmUgZGF0
YSByaWdodCBub3cuIFNlbmQgaXQgbGF0ZXIuCiAgICAgICAgICAgICBpZiAoIW1fZGVsaXZlckRh
dGFUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgICAgIG1fZGVsaXZlckRhdGFUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICBkZWxpdmVyeUJ5dGVzID0gc3RkOjptaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRl
cyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBlZWFhYmE4MjQ4MWU3MzkwZDM2MmU4
YjNhMTQyYWU1MjIwMzIyNGFiLi5iYmMxOGNiY2RlMmJiMTMzMGVmYzhiMTJjMDhiNTYzM2IzYzA3
OWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luVmlldy5tbQpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdpblZp
ZXcgKmN1cnJlbnRQbHVnaW5WaWV3ID0gbmlsOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQb3J0
U3RhdGUqIFBvcnRTdGF0ZTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1lcklu
dGVydmFsID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFRocm90dGxlZFRpbWVySW50ZXJ2
YWwgPSBTZWNvbmRzKDAuMjUpOwogCiBjbGFzcyBQbHVnaW5UaW1lciA6IHB1YmxpYyBUaW1lckJh
c2UgewogcHVibGljOgpAQCAtMTMwLDcgKzEzMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IEFTU0VSVCghaXNBY3RpdmUoKSk7CiAKLSAgICAgICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1f
aW50ZXJ2YWwgLyAxMDAwLjA7CisgICAgICAgIFNlY29uZHMgdGltZUludGVydmFsID0gU2Vjb25k
czo6ZnJvbU1pbGxpc2Vjb25kcyhtX2ludGVydmFsKTsKICAgICAgICAgCiAgICAgICAgIGlmICh0
aHJvdHRsZSkKICAgICAgICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRlcnZh
bCwgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFn
ZS9XZWJTdG9yYWdlTWFuYWdlci5tbQppbmRleCAxZjllYWU1NWVmZGNhNWU2ZmFkNWQ2MGU0YmUw
ZjFiOTg3NDM2ODRkLi4xMThhMTEzNDU2YWRjNWViNWFjZTk0YTk5NTBiM2E3YjA1YTI3MzllIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KQEAg
LTExNiw3ICsxMTYsNyBAQCBzdGF0aWMgcHRocmVhZF9vbmNlX3QgcmVnaXN0ZXJMb2NhbFN0b3Jh
Z2VQYXRoID0gUFRIUkVBRF9PTkNFX0lOSVQ7CiAKICsgKHZvaWQpc2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsOihkb3VibGUpaW50ZXJ2YWwKIHsKLSAgICBXZWJLaXQ6OlN0b3JhZ2VUcmFj
a2VyOjp0cmFja2VyKCkuc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGludGVydmFsKTsK
KyAgICBXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjp0cmFja2VyKCkuc2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0KIAogKyAodm9pZCljbG9zZUlkbGVM
b2NhbFN0b3JhZ2VEYXRhYmFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRl
eCA4ODk0ZDg2MmI1Y2ZiMTY2NGQxNDhkOGQyMTcyOTJjMjFkMWYxMGI2Li5iZDAzZmU3NzUxMjVj
NzIwODFkODRiYmFjOWM5ZDczYWFiYWVkNDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCkBAIC0yNzQ5LDcgKzI3NDksNyBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5X
aGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGF0Y2hKYXZhU2Ny
aXB0V2luZG93T25FcnJvckV2ZW50cyhzaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVy
cm9yRXZlbnRzKCkpOwogCiAgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRW5hYmxlZChbcHJl
ZmVyZW5jZXMgX2FsbG93UGFzc3dvcmRFY2hvXSk7Ci0gICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRF
Y2hvRHVyYXRpb25JblNlY29uZHMoW3ByZWZlcmVuY2VzIF9wYXNzd29yZEVjaG9EdXJhdGlvbl0p
OworICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uKFNlY29uZHMoW3ByZWZlcmVu
Y2VzIF9wYXNzd29yZEVjaG9EdXJhdGlvbl0pKTsKIAogICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uo
c2V0dGluZ3MucGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zKCksICJQYWdlQ2FjaGVTdXBwb3J0c1Bs
dWdpbnMgc2hvdWxkIGJlIGVuYWJsZWQgb24gaU9TLiIpOwogICAgIHNldHRpbmdzLnNldERlbGVn
YXRlc1BhZ2VTY2FsaW5nKHRydWUpOwpAQCAtMjg2NCw3ICsyODY0LDcgQEAgc3RhdGljIGJvb2wg
bmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogCiAgICAgTlNUaW1lSW50ZXJ2YWwg
dGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGlt
ZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVvdXQgPiAwKQotICAgICAgICBzZXR0aW5ncy5z
ZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyh0aW1lb3V0
KTsKKyAgICAgICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRp
bWVvdXQoU2Vjb25kcyh0aW1lb3V0KSk7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBQcmVm
ZXJlbmNlcyBhcmUgc3RvcmVkIG9uIHRoZSBnbG9iYWwgY2FjaGUgc3RvcmFnZSBtYW5hZ2VyLCBu
b3QgaW4gU2V0dGluZ3MuCiAgICAgW1dlYkFwcGxpY2F0aW9uQ2FjaGUgc2V0RGVmYXVsdE9yaWdp
blF1b3RhOltwcmVmZXJlbmNlcyBhcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhXV07
CkBAIC04Mjk4LDcgKzgyOTgsNyBAQCBzdGF0aWMgV2ViRnJhbWVWaWV3ICpjb250YWluaW5nRnJh
bWVWaWV3KE5TVmlldyAqdmlldykKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAw
OwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBj
YWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6
ZSA9IDA7CiAKQEAgLTg0MjUsNyArODQyNSw3IEBAIHN0YXRpYyBXZWJGcmFtZVZpZXcgKmNvbnRh
aW5pbmdGcmFtZVZpZXcoTlNWaWV3ICp2aWV3KQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0
aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAg
ICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IHN0ZDo6bWF4PHVuc2lnbmVkPigyNCwgY2FjaGVN
YXhEZWFkQ2FwYWNpdHkpOwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0
YURlbGV0aW9uSW50ZXJ2YWwgPSA2MF9zOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICBp
ZiAobWVtU2l6ZSA+PSAxMDI0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyLmNwcAppbmRleCBiYzE4ZGViNzVjY2Q3MDgyN2FmZmFlOWUwNzYyMWYyMzUw
MWY1NGVhLi43ZGIyNzZlMDc4NGZhZTBjMjcxODYwM2I4ZjA0MmM2ODE4Y2Q1NWUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcApAQCAtNTIs
NyArNTIsNyBAQAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCi1zdGF0aWMgY29uc3QgZmxvYXQgdGltZXJJbnRlcnZhbCA9IDAuMDMzOworc3RhdGljIGNv
bnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCA9IDAuMDMzX3M7CiAKIC8vIEhVRCBTaXplCiBzdGF0
aWMgY29uc3QgaW50IHdpbmRvd0hlaWdodCA9IDU5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKaW5kZXggYTUzYzMx
NWMyMDE4NDM5NGYzYjQwNjRhM2Y1NDQ3NTczZWQyY2YwOS4uMTcyOWZmZjYzYzBmZmE0Njc1ZDM3
ODEzYWM2YWM3MGQ3NjQ5ZDk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lu
cy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9Q
bHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRoaXMgdmFsdWUgYWxsb3dzIEZsYXNoIDYwIG1lc3NhZ2Vz
L3NlY29uZCwgd2hpY2ggc2hvdWxkIGJlIGVub3VnaCBmb3IgdmlkZW8KIC8vIHBsYXliYWNrLCBh
bmQgYWxzbyBnZXRzIHVzIG92ZXIgdGhlIGxpbWl0IGZvciBraWNraW5nIGludG8gaGlnaC1yZXNv
bHV0aW9uCiAvLyB0aW1lciBtb2RlIChzZWUgU2hhcmVkVGltZXJXaW4uY3BwKS4KLXN0YXRpYyBj
b25zdCBkb3VibGUgTWVzc2FnZVRocm90dGxlVGltZUludGVydmFsID0gMC4wMTY7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDE2
KTsKIAogLy8gRHVyaW5nIGEgY29udGludW91cyBzdHJlYW0gb2YgbWVzc2FnZXMsIHByb2Nlc3Mg
b25lIGV2ZXJ5IDVtcy4KIHN0YXRpYyBjb25zdCBkb3VibGUgTWVzc2FnZURpcmVjdFByb2Nlc3Np
bmdJbnRlcnZhbCA9IDAuMDA1OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lu
cy9QbHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFj
a2FnZS5jcHAKaW5kZXggYjY3ZmE1M2ZlODBiMWVmOGMwMWFmZmM4NmRhNWQ3MTYzMTU1ZGQyNC4u
MTc1NGJkZDU0ZjA3MzllMmRmNmNhY2I3OWUxNTE1YTQ5MjE3Y2YxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQg
UGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKCkKICAgICBBU1NFUlQobV9tb2R1bGUpOwog
ICAgIEFTU0VSVCghbV9sb2FkQ291bnQpOwogCi0gICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlUaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAppbmRleCAyZWYzOTU1YmU2MWE4ZDA1
NDI0YWQxMzk5NjJkZDBkN2ZhNmFlNDQ0Li5kYTgzM2FhZjRmOGJhZTQ0YjQ4MDRiMzUyMWZjZDE3
N2I4Y2FkZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0
cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3Bw
CkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAg
ICAgICAgaW50MzJfdCBkZWxpdmVyeUJ5dGVzID0gbV9wbHVnaW5GdW5jcy0+d3JpdGVyZWFkeSht
X2luc3RhbmNlLCAmbV9zdHJlYW0pOwogCiAgICAgICAgIGlmIChkZWxpdmVyeUJ5dGVzIDw9IDAp
IHsKLSAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWxpdmVyeUJ5dGVz
ID0gbWluKGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVkKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGRhZGQzYjc0NWY3
ZjRmYjcxZjVkM2FhNmY5ZWQwNzhjOWI4MjYwMjguLjUzMTI0MTU4YzU0NjZhM2UxN2I0NGEyM2I3
MDg2NjFkZmE3MTRjZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNw
cApAQCAtNDczLDcgKzQ3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6cmVxdWVzdFRpbWVyRmlyZWQo
KQogICAgIC8vIFNjaGVkdWxlIGEgbmV3IHJlcXVlc3QgYmVmb3JlIGNhbGxpbmcgcGVyZm9ybVJl
cXVlc3Qgc2luY2UgdGhlIGNhbGwgdG8KICAgICAvLyBwZXJmb3JtUmVxdWVzdCBjYW4gY2F1c2Ug
dGhlIHBsdWdpbiB2aWV3IHRvIGJlIGRlbGV0ZWQuCiAgICAgaWYgKCFtX3JlcXVlc3RzLmlzRW1w
dHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHBlcmZvcm1SZXF1ZXN0KHJl
cXVlc3QuZ2V0KCkpOwogfQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2No
ZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5SZXF1ZXN0PiByZXF1ZXN0KQogICAg
IG1fcmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwogCiAgICAgaWYgKCFtX2lzSmF2
YVNjcmlwdFBhdXNlZCkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogTlBFcnJvciBQ
bHVnaW5WaWV3Ojpsb2FkKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3Qs
IGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSkKQEAgLTY0Niw3ICs2NDYs
NyBAQCB2b2lkIFBsdWdpblZpZXc6OnNldEphdmFTY3JpcHRQYXVzZWQoYm9vbCBwYXVzZWQpCiAg
ICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQogICAgICAgICBtX3JlcXVlc3RUaW1lci5zdG9w
KCk7CiAgICAgZWxzZSBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVl
c3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCkBAIC0xMTcz
LDcgKzExNzMsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmtlZXBBbGl2ZSgpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIHJlZigpOwotICAgIG1fbGlmZVN1cHBvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9Q
bHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5WaWV3V2luLmNwcAppbmRleCAyZmNhOWYzYzk1ZDczZGJhM2FjMzI2MjU5ZWE4NmRkY2RkYTIw
NzBmLi5lNWMzYzU0YWY5NzFjNmVkOTM4MTIyNmM2YmY0ZDA2Njg5YjJmZWYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKQEAgLTMzNCw3ICszMzQsNyBA
QCBQbHVnaW5WaWV3Ojp3bmRQcm9jKEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1Bh
cmFtLCBMUEFSQU0gbFBhcmFtKQogCiAgICAgICAgIHB1c2hQb3B1cHNFbmFibGVkU3RhdGUodHJ1
ZSk7CiAKLSAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAog
ICAgIGlmIChtZXNzYWdlID09IFdNX1BSSU5UQ0xJRU5UKSB7CkBAIC04MzgsNyArODM4LDcgQEAg
dm9pZCBQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdChOUFJlY3QqIHJlY3QpCiAgICAgICAgIGlm
IChtX3BsdWdpbi0+cXVpcmtzKCkuY29udGFpbnMoUGx1Z2luUXVpcmtUaHJvdHRsZUludmFsaWRh
dGUpKSB7CiAgICAgICAgICAgICBtX2ludmFsaWRSZWN0cy5hcHBlbmQocik7CiAgICAgICAgICAg
ICBpZiAoIW1faW52YWxpZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9p
bnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAuMDAxKTsKKyAgICAgICAgICAgICAgICBtX2lu
dmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMV9tcyk7CiAgICAgICAgIH0gZWxzZQogICAgICAg
ICAgICAgaW52YWxpZGF0ZVJlY3Qocik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHQuY3BwCmluZGV4IGZjMGQxNTU3MGZlYWVjOWRiMzg2OTcwOGI1YWI3YzdhNGFkMjIyODIu
LmExMGEwMjA2NGJlOTMwMWUwODQ0YjVlMGI0YzAwOThlNjAwZjRlOTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAgIGlmIChtX2xh
eWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xheWVy
Rmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNSk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3Rh
cnRPbmVTaG90KDAuMDVfcyk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRl
eHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGQ1
NzAwNDhkYTdhMjY0MDZiY2FkMDZjMjVkZTg2OGZlNWFjYjJiMDMuLmE2MmZhMTJmNmRhOWIwNTNl
Y2VhNjE4ZWFiNzIyNmNkNTk5ZmRkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC0xNTE2LDcg
KzE1MTYsNyBAQCB2b2lkIFdlYlZpZXc6OmNsb3NlV2luZG93U29vbigpCiAgICAgbV9jbG9zZVdp
bmRvd1RpbWVyID0gV2luZG93Q2xvc2VUaW1lcjo6Y3JlYXRlKHRoaXMpOwogICAgIGlmICghbV9j
bG9zZVdpbmRvd1RpbWVyKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jbG9zZVdpbmRvd1RpbWVy
LT5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3Qo
MF9zKTsKIAogICAgIEFkZFJlZigpOwogfQpAQCAtNzQ2MSw4ICs3NDYxLDcgQEAgSFJFU1VMVCBX
ZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCiAgICAgaWYg
KCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFX0ZBSUw7CiAKLSAgICBhdXRvIGludGVydmFsTVMg
PSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpy
ZXApKGludGVydmFsICogMTAwMCkpOwotICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVt
RE9NVGltZXJJbnRlcnZhbChpbnRlcnZhbE1TKTsKKyAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0
TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgIHJldHVybiBT
X09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrRGF0YVRhc2suY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Rh
dGFUYXNrLmNwcAppbmRleCAzMTI1ODg4MzM1NTBlYTFmODI0N2MzN2M5ZmQzOTdlODVhOGMxZDQ0
Li5iMzU2ZjUyODc5ZjhiMjNkMTE2Y2FiNzE4ZGNhZDUxNjEyMmExMmZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKQEAgLTkxLDcg
KzkxLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlw
ZSB0eXBlKQogewogICAgIEFTU0VSVCh0eXBlICE9IE5vRmFpbHVyZSk7CiAgICAgbV9zY2hlZHVs
ZWRGYWlsdXJlVHlwZSA9IHR5cGU7Ci0gICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE5ldHdv
cmtEYXRhVGFzazo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25z
ZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCmluZGV4IDUxN2Y4NDVh
YWJlNTIzZjJlZmE5NjE4NGVlZjcyNTNhZTJjYTRkOWYuLjhjZjk5Y2NiODQ2MzVkMmEzYzYyYjVk
Mzg4ODFmMDA3MzA0Mzg0MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtMb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrTG9hZC5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAjaWYgVVNFKE5FVFdPUktfU0VTU0lPTikKIAogc3RydWN0IE5ldHdvcmtMb2FkOjpUaHJvdHRs
ZSB7Ci0gICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgZGVsYXksIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0
aW9uSGFuZGxlciYmIGhhbmRsZXIpCisgICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIFNl
Y29uZHMgZGVsYXksIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0
aW9uSGFuZGxlciYmIGhhbmRsZXIpCiAgICAgICAgIDogdGltZXIobG9hZCwgJk5ldHdvcmtMb2Fk
Ojp0aHJvdHRsZURlbGF5Q29tcGxldGVkKQogICAgICAgICAsIHJlc3BvbnNlKFdURk1vdmUocmVz
cG9uc2UpKQogICAgICAgICAsIHJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5k
bGVyKSkKQEAgLTMxMSw4ICszMTEsOCBAQCB2b2lkIE5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVz
cG9uc2VOZXR3b3JrU2Vzc2lvbihSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIGRlbGF5ID0gTmV0d29ya1Byb2Nlc3M6OnNpbmds
ZXRvbigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsKLSAgICBpZiAoZGVsYXkgPiAwbXMpIHsKKyAg
ICBTZWNvbmRzIGRlbGF5ID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRs
ZUxhdGVuY3koKTsKKyAgICBpZiAoZGVsYXkgPiAwX3MpIHsKICAgICAgICAgbV90aHJvdHRsZSA9
IHN0ZDo6bWFrZV91bmlxdWU8VGhyb3R0bGU+KCp0aGlzLCBkZWxheSwgV1RGTW92ZShyZXNwb25z
ZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4
IGM5NmQwODI5ZTE1YjZkODhiYWUxNWNmMGMxMmNjNGNkMjM4ZjExM2IuLjhjNWI3YTQ4ODVmYzQ0
OWVlYWRlMDc0NGNkOWZjNjAyNWFjZTYxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMTE1LDcgKzExNSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgZ3JhbnRTYW5kYm94RXh0ZW5zaW9uc1RvRGF0YWJhc2VQcm9jZXNzRm9yQmxvYnMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgRnVuY3Rpb248dm9pZCAoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcik7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxvYWRUaHJv
dHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KKyAg
ICBTZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBtX2xvYWRUaHJv
dHRsZUxhdGVuY3k7IH0KIAogcHJpdmF0ZToKICAgICBOZXR3b3JrUHJvY2VzcygpOwpAQCAtMjA3
LDcgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3N1cHByZXNzTWVtb3J5UHJlc3N1cmVI
YW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIG1fZGlza0NhY2hlSXNEaXNhYmxlZEZvclRlc3Rp
bmc7CiAgICAgYm9vbCBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFsdWF0aW9uOwotICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9sb2FkVGhyb3R0bGVMYXRlbmN5OworICAgIFNl
Y29uZHMgbV9sb2FkVGhyb3R0bGVMYXRlbmN5OwogCiAgICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50PiwgUHRySGFz
aDxjb25zdCBjaGFyKj4+IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcDsKICAgICBOZXR3b3Jr
UHJvY2Vzc1N1cHBsZW1lbnRNYXAgbV9zdXBwbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCmluZGV4IGY0NTY5Yzk0NjlhNTc3MmU2MGIxYzliZmY1NjA4NWQzYWNiNDNjM2Qu
LjcwOTUxNTMwZTMyOWZhMWM1ZjNmZjhlNjcyYjkzNDMwOGM1OGY4YWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkF0dGFjaG1l
bnQuaCIKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lv
bi5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC03Myw3ICs3NCw3IEBAIHN0cnVj
dCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBzaG91bGRTdXBw
cmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBzaG91bGRVc2VU
ZXN0aW5nTmV0d29ya1Nlc3Npb247CiAgICAgYm9vbCB1cmxQYXJzZXJFbmFibGVkIHsgZmFsc2Ug
fTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3kgeyAw
bXMgfTsKKyAgICBTZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICBWZWN0b3I8U3Ry
aW5nPiB1cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29sczsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzLmgKaW5kZXggNDI1NWFkZTQxMTUwZGE5NjlmMjExMTc1MTJkN2RmNmY3Zjdj
OWM0YS4uNWIyOWUwZWJkNDNhMzhiZTUyYWU2NmRjNTIxMDMyZWMyMDY3MGFkNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkUGFyYW1ldGVycy5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBSZXNvdXJj
ZUxvYWRJZGVudGlmaWVyIGlkZW50aWZpZXIgeyAwIH07CiAgICAgVmVjdG9yPFJlZlB0cjxTYW5k
Ym94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5kYm94RXh0ZW5zaW9uczsgLy8gQ3JlYXRlZCBh
dXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9u
PiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3Ig
dGhlIHNlbmRlci4KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJp
bmdUaW1lIHsgMG1zIH07CisgICAgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOTAxMDU5OTY4YTM5MTMw
MWRhMmFjOTIzNzRiN2Y5MjQ1ZDY5NGRkNi4uMmM3YWUzYWE3NmI3Mjk3NTY0ODAzMDM1NmJkOWYw
NzQyMGVjMmY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yMDksNyArMjA5LDcgQEAgdm9pZCBOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0KQogCiAgICAgY29uc3VtZVNhbmRib3hFeHRlbnNpb25zKCk7CiAKLSAgICBpZiAo
aXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVycy5tYXhpbXVtQnVmZmVyaW5nVGltZSA+IDBt
cykKKyAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVycy5tYXhpbXVtQnVmZmVy
aW5nVGltZSA+IDBfcykKICAgICAgICAgbV9idWZmZXJlZERhdGEgPSBTaGFyZWRCdWZmZXI6OmNy
ZWF0ZSgpOwogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvUGluZ0xvYWQuaAppbmRleCAzMDBjMzA4MTI0ZjM0Y2E2N2E5ZGE1YmI3NDA1NGU2
MDJlYzI5ZDEyLi5hMmU0MzNhMzAzYjBlOTJkNGVjNjNjNWQ2OTNkNDUwYWVmYTZlY2MxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKQEAgLTQ2LDcgKzQ2LDcgQEAg
cHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMsIHRoaXMg
b2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEgdmVyeSBn
ZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0
YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2
MDAwMF9zKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCBmMjYyMjlkMGUwYTlhNzdhMTc2YWVmNDEx
OWRjNGU3ZDg0ODliNDE4Li42YmJlMzc0OTQ0MDFlODAwNzEwMzBkNjI1M2JmMjczODcxNWE1OWE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApA
QCAtNDYsNyArNDYsNyBAQCBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUg
PSAxMHM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcmVsb2FkZWRFbnRyeUxpZmV0aW1lID0gMTBf
czsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBIYXNoQ291bnRlZFNldDxTdHJpbmc+JiBh
bGxTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0
aXN0aWNzLmNwcAppbmRleCBlOGRjNjQzYzdmMjQ1MmJhOWRjNTMzZjUxOGUxZmZiYTk5ODhkNTFi
Li45MmE2NTdhYmUxNWRkZWQ3MGE5NDAzZDMwODhhYTBmZTBjYjllNzI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVTdGF0aXN0aWNzLmNwcApAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5h
bWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiBzdGF0aWMgY29uc3QgY2hhciogU3RhdGlzdGljc0Rh
dGFiYXNlTmFtZSA9ICJXZWJLaXRDYWNoZVN0YXRpc3RpY3MuZGIiOwotc3RhdGljIGNvbnN0IHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW51bVdyaXRlSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKDEwMDAwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmludW1Xcml0
ZUludGVydmFsID0gMTBfczsKIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNRTENvbW1hbmQoV2ViQ29y
ZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIHNxbCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0
b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5jcHAKaW5kZXggMDVhM2QxYzYxZjYzMGM2MWE0NWU0NzQyOGFlYmNlOGEyZjIz
MmU2Yy4uZjhhMDliOTNjMTg2NmJjMWFhYjlhNTE1YmJhNjQ3YjcwMjcwNGY1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5jcHAKQEAgLTU3NCw3ICs1NzQsNyBAQCB2b2lkIFN0b3JhZ2U6OmRpc3BhdGNo
UmVhZE9wZXJhdGlvbihzdGQ6OnVuaXF1ZV9wdHI8UmVhZE9wZXJhdGlvbj4gcmVhZE9wZXJhdGlv
bgogICAgIG1fYWN0aXZlUmVhZE9wZXJhdGlvbnMuYWRkKFdURk1vdmUocmVhZE9wZXJhdGlvblB0
cikpOwogCiAgICAgLy8gSS9PIHByZXNzdXJlIG1heSBtYWtlIGRpc2sgb3BlcmF0aW9ucyBzbG93
LiBJZiB0aGV5IHN0YXJ0IHRha2luZyB2ZXJ5IGxvbmcgdGltZSB3ZSByYXRoZXIgZ28gdG8gbmV0
d29yay4KLSAgICBjb25zdCBhdXRvIHJlYWRUaW1lb3V0ID0gMTUwMG1zOworICAgIGNvbnN0IFNl
Y29uZHMgcmVhZFRpbWVvdXQgPSAxLjVfczsKICAgICBtX3JlYWRPcGVyYXRpb25UaW1lb3V0VGlt
ZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKIAogICAgIGJvb2wgc2hvdWxkR2V0Qm9keUJs
b2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtleSk7CkBAIC03OTYsNyArNzk2LDcg
QEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJlY29yZCwgTWFwcGVkQm9keUhh
bmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8vIERlbGF5IHRoZSBzdGFydCBvZiB3
cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5IHBhZ2UgbG9hZC4KICAgICAvLyBD
b21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUgd3JpdGVzIHdpdGhvdXQgZGVsYXku
Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRlRGVsYXkgPSAxczsKKyAgICBzdGF0
aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsV3JpdGVEZWxheSA9IDFfczsKICAgICBtX3dyaXRlT3Bl
cmF0aW9uRGlzcGF0Y2hUaW1lci5zdGFydE9uZVNob3QoaW5pdGlhbFdyaXRlRGVsYXkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
RGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDRjZWZhOGViMzU3YWU0NGJkMjVhNTc0NmI0NWZm
OWEwOGI0ZTIwZGYuLjE4ZjBjY2Q4ZjcxNDEyM2M5OGE5NTE1NDkyZDc1ODYzNmU2ZWM0MzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRh
VGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBOZXR3b3JrRGF0
YVRhc2tDb2NvYTo6Y2FuY2VsKCkKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSgp
CiB7CiAgICAgaWYgKG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKQotICAgICAg
ICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZmFpbHVyZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIFttX3Rhc2sgcmVzdW1lXTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKaW5kZXggOWFjNzZjNmQz
OTQ3ZGUyNjg3MWViNjg5MjA2NWJkYTZiNzc4Y2ZlMS4uZDA0NmFmNWRlMjA3MzYzMjdiMTA3Njgz
MGVjYjliOGE5ZWZlZDU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0FyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJn
dW1lbnRDb2RlcnMuY3BwCkBAIC0zMiw2ICszMiwzNiBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIAor
dm9pZCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBlbmNvZGVyIDw8IHRpbWUuc2Vj
b25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8TW9ub3Rv
bmljVGltZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQor
eworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdGltZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdT
ZWNvbmRzKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBBcmd1bWVudENvZGVy
PFNlY29uZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25k
cykKK3sKKyAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVu
dENvZGVyPFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25k
cykKK3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpz
eXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50JiB0aW1lUG9pbnQpCiB7
CiAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxpbnQ2NF90Pih0aW1lUG9pbnQudGltZV9zaW5j
ZV9lcG9jaCgpLmNvdW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL0FyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1l
bnRDb2RlcnMuaAppbmRleCAwNTY4YWNlYTlmNDc5NzE0NWIwMGQ5ZGI1NzZjM2MxOGM3NzUzZTFj
Li43NzQwNDlhZjIyNjcxNzJiMTIxMmFhZmZmYzJjNWFkMzJlMzE1MTUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaApAQCAtMTYzLDcgKzE2Myw2IEBA
IHRlbXBsYXRlPHR5cGVuYW1lLi4uIEVsZW1lbnRzPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6
OnR1cGxlPEVsZW1lbnRzLi4uPj4gewogICAgIH0KIH07CiAKLQogdGVtcGxhdGU8dHlwZW5hbWUg
UmVwLCB0eXBlbmFtZSBQZXJpb2Q+IHN0cnVjdCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpk
dXJhdGlvbjxSZXAsIFBlcmlvZD4+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYg
ZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86OmR1cmF0aW9uPFJlcCwgUGVyaW9kPiYgZHVyYXRp
b24pCiAgICAgewpAQCAtMzc5LDYgKzM3OCwxNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcs
IHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZz4gc3RydWN0IEFyZ3VtZQog
ICAgIH0KIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpNb25vdG9u
aWNUaW1lPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6Ok1v
bm90b25pY1RpbWUmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6TW9u
b3RvbmljVGltZSYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6
OlNlY29uZHM+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6
U2Vjb25kcyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpTZWNvbmRz
Jik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpz
eXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2Rl
ciYsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQmKTsKICAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRp
bWVfcG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25u
ZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4
IDUwM2NmNWYzYmIyMjYyNjFjMjI0MGRlYzgyZDZlMDdlYWFkZmUxZTIuLjE4YmYzMWM2NjRjMGMy
ZGZiODUxNGFlODMyNzdkZjAxMGMyMTIxYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaApAQCAtMTg2LDcgKzE4Niw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIGJvb2wga2lsbCgpOwotICAgIHZvaWQgdGVybWluYXRlU29vbihkb3VibGUg
aW50ZXJ2YWxJblNlY29uZHMpOworICAgIHZvaWQgdGVybWluYXRlU29vbihTZWNvbmRzKTsKICNl
bmRpZgogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5k
ZXggMjg5OTUxMjk0NjNlODMxOTEwNzBiZWU4NWZkYmU4NzA1NDhlNTViMS4uNzA0NDY5MTU2YWY4
MWJkNDE1OGYxNzFlMDgxN2Q4OGVkYmZiMTdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQpAQCAtODAsMjAgKzgwLDIwIEBAIGVudW0g
ewogLy8gICAgdG8gZW5zdXJlIGl0IGhhcyBhIGNoYW5jZSB0byB0ZXJtaW5hdGUgY2xlYW5seS4K
IGNsYXNzIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4
cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRz
KQorICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9T
T2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVy
dmFsKQogICAgIHsKLSAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhw
Y0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbmV3IENvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsKTsKICAgICB9CiAgICAg
CiBwcml2YXRlOgotICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRy
PHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29u
ZHMpCisgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nv
bm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgICAgIDog
bV94cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24pCiAgICAgICAgICwgbV93YXRjaGRvZ1RpbWVy
KFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjp3
YXRjaGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICAsIG1fYXNzZXJ0
aW9uKHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQcm9jZXNzQW5kVUlBc3NlcnRpb24+KHhwY19j
b25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgpKSwgV2ViS2l0OjpBc3NlcnRp
b25TdGF0ZTo6QmFja2dyb3VuZCkpCiAjZW5kaWYKICAgICB7Ci0gICAgICAgIG1fd2F0Y2hkb2dU
aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBtX3dhdGNoZG9n
VGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCB3YXRj
aGRvZ1RpbWVyRmlyZWQoKQpAQCAtMTUxLDEwICsxNTEsMTAgQEAgdm9pZCBDb25uZWN0aW9uOjpw
bGF0Zm9ybUludmFsaWRhdGUoKQogI2VuZGlmCiB9CiAgICAgCi12b2lkIENvbm5lY3Rpb246OnRl
cm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQordm9pZCBDb25uZWN0aW9uOjp0
ZXJtaW5hdGVTb29uKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1feHBjQ29ubmVjdGlv
bikKLSAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rp
b25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMp
OworICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlv
blRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiB9CiAgICAg
CiB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW5pdGlhbGl6ZShJZGVudGlmaWVyIGlkZW50aWZp
ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRy
b2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRy
b2xsZXJQcm94eS5jcHAKaW5kZXggZGE5ZGIyMjRlZGMwZWEwY2JkMDAyZGMxNzEyYTBjMTg2ZDE5
MzVlNC4uMTczOTUyNTA5NTcxZDhmNDkwYTczZTdmYTk2OTU5M2M3YjgzMjRkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5
LmNwcApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0
cm95KCkKICAgICBpZiAobV9wbHVnaW5EZXN0cnVjdGlvblByb3RlY3RDb3VudCB8fCBtX2Nvbm5l
Y3Rpb24tPmNvbm5lY3Rpb24oKS0+aW5TZW5kU3luYygpKSB7CiAgICAgICAgIC8vIFdlIGhhdmUg
cGx1Zy1pbiBjb2RlIG9uIHRoZSBzdGFjayBzbyB3ZSBjYW4ndCBkZXN0cm95IGl0IHJpZ2h0IG5v
dy4KICAgICAgICAgLy8gRGVzdHJveSBpdCBsYXRlci4KLSAgICAgICAgbV9wbHVnaW5EZXN0cm95
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjE1LDcgKzIxNSw3
IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50VGltZXIoKQogICAgICAg
ICByZXR1cm47CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIuCi0gICAgbV9wYWludFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BhaW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAg
ICBtX3dhaXRpbmdGb3JEaWRVcGRhdGUgPSB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKaW5kZXggYTcyNGViMDhmOTBkNTlkYjEyOTgy
MzQ0MWU3N2UwOGZlZWM3YjI1Yi4uMzk1ZDc2NGQ0NzFmNTFkZTk5ODBjNjEyMWU2MDMyY2ZhYzQ5
ODJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
Y3BwCkBAIC0yMjAsOSArMjIwLDkgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzOjpkZWxldGVXZWJzaXRl
RGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWUKICAgICBwYXJl
bnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpQbHVnaW5Qcm9jZXNzUHJveHk6
OkRpZERlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNhbGxiYWNrSUQpLCAwKTsKIH0KIAot
dm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoZG91YmxlIGxpZmV0aW1lKQor
dm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoU2Vjb25kcyBsaWZldGltZSkK
IHsKLSAgICBpZiAobGlmZXRpbWUgPD0gMC4wKQorICAgIGlmIChsaWZldGltZSA8PSAwX3MpCiAg
ICAgICAgIHJldHVybjsKICAgICAKICAgICBkaXNhYmxlVGVybWluYXRpb24oKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKaW5kZXggOWE5MGU0YzI1Mzkz
YTdlZDQ2Yzk4N2I1ZWU0NDQ5YTc0YWI5MjMzYi4uMjBhYzA2N2IwNDk1ZTZhYzc2MjJjMDA2MjAw
MzhjMDFmNWYzMDI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Q
cm9jZXNzLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwbGF0Zm9y
bUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
Jik7CiAgICAgCi0gICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRpbWUoZG91YmxlKTsKKyAgICB2b2lk
IHNldE1pbmltdW1MaWZldGltZShTZWNvbmRzKTsKICAgICB2b2lkIG1pbmltdW1MaWZldGltZVRp
bWVyRmlyZWQoKTsKICAgICAvLyBPdXIgd2ViIHByb2Nlc3MgY29ubmVjdGlvbnMuCiAgICAgVmVj
dG9yPFJlZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25z
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCmluZGV4IDQwM2YzNGRmY2Q0YjdhZGM0
OWJhMDQ2MmI5ZmRlZmE2ZGVmM2ZkNDUuLmRiMjE5NjU0ZDBlMjMxNzZiZWU5YWRiZGRlYzE3OTY0
YTI5MjBhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKQEAgLTMyLDcgKzMy
LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVT
aXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHks
IHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENh
cGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQordm9pZCBjYWxjdWxhdGVNZW1vcnlD
YWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBh
Y2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhE
ZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVu
c2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkKIHsKICAgICB1aW50NjRfdCBtZW1vcnlTaXplID0g
cmFtU2l6ZSgpIC8gTUI7CiAKQEAgLTEwOSw3ICsxMDksNyBAQCB2b2lkIGNhbGN1bGF0ZU1lbW9y
eUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENh
cGFjaQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3
b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0
eSA9IHN0ZDo6bWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkpOwogCi0gICAgICAgIGRlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDYwIH07
CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSA2MF9zOwogCiAgICAg
ICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNo
ZU1vZGVsLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCmluZGV4IGNmNDcz
NDU0ZmUyYWMzM2QzY2E0M2E3MmZhNTkzZTRjNGU1MWQzZDUuLjFlMDc3Njg4ZWE3OGRjODQyOTg4
ZjRmNWYwM2FjYWJiOTMxMjRhNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
YWNoZU1vZGVsLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaApAQCAt
MjYsOCArMjYsOCBAQAogI2lmbmRlZiBDYWNoZU1vZGVsX2gKICNkZWZpbmUgQ2FjaGVNb2RlbF9o
CiAKLSNpbmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8d3Rm
L1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTM3LDcgKzM3LDcgQEAgZW51
bSBDYWNoZU1vZGVsIHsKICAgICBDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dzZXIKIH07CiAKLXZv
aWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVU
b3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBj
YWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJvbm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0
YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSk7Cit2b2lkIGNh
bGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxD
YXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
YXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWws
IHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSk7CiB2b2lkIGNhbGN1bGF0ZVVSTENhY2hlU2l6
ZXMoQ2FjaGVNb2RlbCwgdWludDY0X3QgZGlza0ZyZWVTaXplLCB1bnNpZ25lZCYgdXJsQ2FjaGVN
ZW1vcnlDYXBhY2l0eSwgdWludDY0X3QmIHVybENhY2hlRGlza0NhcGFjaXR5KTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCmluZGV4
IDE3NTc4OWZiOWFlNzEzZjE2ZWVlZGJmYWJlMDBkNmYzM2U2M2NmMjMuLjQ5Yjc5NDY1ZGY2ZTFi
MmExMjFjM2ZhNTJkMDAzZmIxOTUxYmMyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuY3BwCkBAIC0zMyw4ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogQ2hpbGRQ
cm9jZXNzOjpDaGlsZFByb2Nlc3MoKQotICAgIDogbV90ZXJtaW5hdGlvblRpbWVvdXQoMCkKLSAg
ICAsIG1fdGVybWluYXRpb25Db3VudGVyKDApCisgICAgOiBtX3Rlcm1pbmF0aW9uQ291bnRlcigw
KQogICAgICwgbV90ZXJtaW5hdGlvblRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNoaWxk
UHJvY2Vzczo6dGVybWluYXRpb25UaW1lckZpcmVkKQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Np
b25EaXNhYmxlZCgiUHJvY2VzcyBTdXBwcmVzc2lvbiBEaXNhYmxlZCBieSBVSVByb2Nlc3MiKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IGEwNmUzNDlhMzhjMjgxZjVh
Y2U4ZDM2MjJhMDU0NjFmOTQwNGRhNWMuLjk4NWFkNmE2MWIyYTgyYWI3ODUwMjlmZTQyZGVjNDc1
MmVmYzQ2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTgxLDcgKzgx
LDcgQEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENoaWxkUHJvY2VzcygpOwogICAgIHZpcnR1
YWwgfkNoaWxkUHJvY2VzcygpOwogCi0gICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoZG91
YmxlIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CisgICAgdm9p
ZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoU2Vjb25kcyBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25U
aW1lb3V0ID0gc2Vjb25kczsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNz
KGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZpcnR1
YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6
YXRpb25QYXJhbWV0ZXJzJik7CkBAIC0xMTcsNyArMTE3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8v
IFRoZSB0aW1lb3V0LCBpbiBzZWNvbmRzLCBiZWZvcmUgdGhpcyBwcm9jZXNzIHdpbGwgYmUgdGVy
bWluYXRlZCBpZiB0ZXJtaW5hdGlvbgogICAgIC8vIGhhcyBiZWVuIGVuYWJsZWQuIElmIHRoZSB0
aW1lb3V0IGlzIDAgc2Vjb25kcywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGltbWVk
aWF0ZWx5LgotICAgIGRvdWJsZSBtX3Rlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1f
dGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgLy8gQSB0ZXJtaW5hdGlvbiBjb3VudGVyOyB3aGVu
IHRoZSBjb3VudGVyIHJlYWNoZXMgemVybywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVk
CiAgICAgLy8gYWZ0ZXIgYSBnaXZlbiBwZXJpb2Qgb2YgdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAppbmRleCBhMTJhNDQ0NWJiMTZjYWFmNjkyNzNiNjRhODYzMjEwOGU3ZDU0OWY0
Li5iMWEzNGE0ZGYxZDJkODI1OThhY2E2Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBdHRhY2ht
ZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8V2ViQ29yZS9N
YWNoU2VuZFJpZ2h0Lmg+CkBAIC01MSw4ICs1Miw4IEBAIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKICAgICBQbHVnaW5Qcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAg
ICBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CiAKLSAgICBk
b3VibGUgbWluaW11bUxpZmV0aW1lOwotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7Cisg
ICAgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWU7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVv
dXQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBXZWJDb3JlOjpNYWNoU2VuZFJpZ2h0IGFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBmMGZmYjc3MjZhNTNlZTRmODQyM2Q0NmI3OWJi
MGZkYWYwNWRlN2M0Li4zODBlMDFlNWU3NDYxNzM3ZTU3NTNlOTY2NWFjMmUzNDYwNTUyNjFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApA
QCAtMTA2LDM2ICsxMDYsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2Ug
SVBDIHsKIAotdm9pZCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBlbmNvZGVyIDw8
IHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29k
ZXI8TW9ub3RvbmljVGltZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1l
JiB0aW1lKQotewotICAgIGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZh
bHVlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgdGltZSA9IE1vbm90b25pY1RpbWU6
OmZyb21SYXdTZWNvbmRzKHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBBcmd1
bWVudENvZGVyPFNlY29uZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25k
cyYgc2Vjb25kcykKLXsKLSAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKLX0KLQotYm9v
bCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25k
cyYgc2Vjb25kcykKLXsKLSAgICBkb3VibGUgdmFsdWU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29k
ZSh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHNlY29uZHMgPSBTZWNvbmRz
KHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVyPEFmZmlu
ZVRyYW5zZm9ybT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIGFmZmluZVRyYW5zZm9ybSkKIHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPEFmZmluZVRy
YW5zZm9ybT46OmVuY29kZShlbmNvZGVyLCBhZmZpbmVUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDQ4MTlmY2JjMDRhYzcx
NjI1NjczYTg0NDY3Zjc0NTQyY2NiOTI5OTUuLjMxNTQwNjJkOWRjMzUyYTkxZjRiMzNiYjY1NDM5
OTU2ZTU4ODA5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKQEAgLTMxLDExICszMSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVkREIu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1BheW1lbnRIZWFkZXJzLmg+CiAKLW5hbWVzcGFjZSBXVEYg
ewotY2xhc3MgTW9ub3RvbmljVGltZTsKLWNsYXNzIFNlY29uZHM7Ci19Ci0KIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlOwpAQCAtMTUyLDE2ICsxNDcsNiBAQCB1c2luZyBJREJLZXlQYXRoID0gVmFyaWFudDxT
dHJpbmcsIFZlY3RvcjxTdHJpbmc+PjsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXRlbXBsYXRlPD4g
c3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1lPiB7Ci0gICAgc3RhdGljIHZv
aWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKLSAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6TW9ub3RvbmljVGltZSYpOwotfTsKLQotdGVt
cGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKLSAgICBzdGF0aWMg
dm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6U2Vjb25kcyYpOwotICAgIHN0YXRpYyBi
b29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpTZWNvbmRzJik7Ci19OwotCiB0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybT4gewogICAgIHN0YXRp
YyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7
CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zv
cm0mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAw
NTNmYTZlYTI5NzNjZTdiMWRiM2NmZjM5Mjc1MWVhYmY0ZTE4ZDEwLi5kZGVhMmFiZGM0NGU0ZWEw
MjI3ZTI5ZTc2ZTRiZTNhZWNlZTYwNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1l
bW9yeVNhbXBsZXIuY3BwCkBAIC01Nyw3ICs1Nyw2IEBAIFdlYk1lbW9yeVNhbXBsZXI6OldlYk1l
bW9yeVNhbXBsZXIoKQogICAgIDogbV9zYW1wbGVUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBs
ZXI6OnNhbXBsZVRpbWVyRmlyZWQpCiAgICAgLCBtX3N0b3BUaW1lcigqdGhpcywgJldlYk1lbW9y
eVNhbXBsZXI6OnN0b3BUaW1lckZpcmVkKQogICAgICwgbV9pc1J1bm5pbmcoZmFsc2UpCi0gICAg
LCBtX3J1bm5pbmdUaW1lKDApCiB7CiB9CiAKQEAgLTY3LDcgKzY2LDcgQEAgdm9pZCBXZWJNZW1v
cnlTYW1wbGVyOjpzdGFydChjb25zdCBkb3VibGUgaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybjsK
ICAgICAKICAgICBpbml0aWFsaXplVGVtcExvZ0ZpbGUoKTsKLSAgICBpbml0aWFsaXplVGltZXJz
KGludGVydmFsKTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0K
IAogdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIGNvbnN0IFN0cmluZyYgc2FtcGxlTG9nRmlsZVBh
dGgsIGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkgCkBAIC04MiwxNyArODEsMTcgQEAgdm9pZCBXZWJN
ZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBs
ZUxvZ0ZpbGVIYW5kbGUKICAgICB9CiAgICAgICAgIAogICAgIGluaXRpYWxpemVTYW5kYm94ZWRM
b2dGaWxlKHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIHNhbXBsZUxvZ0ZpbGVQYXRoKTsKLSAgICBpbml0
aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50
ZXJ2YWwpKTsKICAgIAogfQogCi12b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1l
cnMoZG91YmxlIGludGVydmFsKQordm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGlt
ZXJzKFNlY29uZHMgaW50ZXJ2YWwpCiB7Ci0gICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGlu
ZygxKTsKKyAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMSkpOwogICAg
IHByaW50ZigiU3RhcnRlZCBtZW1vcnkgc2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nl
c3NOYW1lKCkudXRmOCgpLmRhdGEoKSwgZ2V0cGlkKCkpOwotICAgIGlmIChpbnRlcnZhbCA+IDAp
IHsKKyAgICBpZiAoaW50ZXJ2YWwgPiAwX3MpIHsKICAgICAgICAgbV9zdG9wVGltZXIuc3RhcnRP
bmVTaG90KGludGVydmFsKTsKLSAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcg
c2Vjb25kcyIsIGludGVydmFsKTsKKyAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2Yg
JWcgc2Vjb25kcyIsIGludGVydmFsLnZhbHVlKCkpOwogICAgIH0KICAgICBwcmludGYoIjsgU2Ft
cGxlciBsb2cgZmlsZSBzdG9yZWQgYXQ6ICVzXG4iLCBtX3NhbXBsZUxvZ0ZpbGVQYXRoLnV0Zjgo
KS5kYXRhKCkpOwogICAgIG1fcnVubmluZ1RpbWUgPSBpbnRlcnZhbDsKQEAgLTE1OSw3ICsxNTgs
NyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZpcmVkKCkKIHsKICAgICBpZiAo
IW1faXNSdW5uaW5nKQogICAgICAgICByZXR1cm47Ci0gICAgcHJpbnRmKCIlZyBzZWNvbmRzIGVs
YXBzZWQuIFN0b3BwaW5nIG1lbW9yeSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5pbmdUaW1lKTsKKyAg
ICBwcmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5IHNhbXBsZXIuLi5c
biIsIG1fcnVubmluZ1RpbWUudmFsdWUoKSk7CiAgICAgc3RvcCgpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAppbmRleCAyNzg3YjUxNWRhYmM1MWViZWM1YmMw
NjQ2ZjEzYmVmZTUxMjk4NjIyLi5kYTQyODhiNTg0MDlmZmJhYWY4ZDI3M2NiMzg1ODQ1YjBkMWQ4
ODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKQEAgLTg0LDcg
Kzg0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemVUZW1wTG9nRmlsZSgpOwogICAg
IHZvaWQgaW5pdGlhbGl6ZVNhbmRib3hlZExvZ0ZpbGUoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlJiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCB3cml0ZUhlYWRlcnMoKTsKLSAgICB2
b2lkIGluaXRpYWxpemVUaW1lcnMoZG91YmxlKTsKKyAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMo
U2Vjb25kcyk7CiAgICAgdm9pZCBzYW1wbGVUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBzdG9wVGlt
ZXJGaXJlZCgpOwogICAgIHZvaWQgYXBwZW5kQ3VycmVudE1lbW9yeVVzYWdlVG9GaWxlKFdlYkNv
cmU6OlBsYXRmb3JtRmlsZUhhbmRsZSYpOwpAQCAtMTAwLDcgKzEwMCw3IEBAIHByaXZhdGU6CiAg
ICAgV2ViQ29yZTo6VGltZXIgbV9zYW1wbGVUaW1lcjsKICAgICBXZWJDb3JlOjpUaW1lciBtX3N0
b3BUaW1lcjsKICAgICBib29sIG1faXNSdW5uaW5nOwotICAgIGRvdWJsZSBtX3J1bm5pbmdUaW1l
OworICAgIFNlY29uZHMgbV9ydW5uaW5nVGltZTsKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lv
bj4gbV9zYW1wbGVMb2dTYW5kYm94RXh0ZW5zaW9uOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZWM4NmUx
ZTIxZmZjY2Q2ZDg3MmFhYTFmMmQ0MTllNDY2NmEzMjdkYi4uMGQzN2I5YTNlZDdlMzY0YzFjNGI2
OTkzZjkwNjc5MmE1ZmVhZWVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xMTMsNyArMTEzLDcgQEAgc3RydWN0
IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogCiAgICAgYm9vbCBpY29uRGF0YWJhc2VF
bmFibGVkOwogCi0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIHRl
cm1pbmF0aW9uVGltZW91dDsKIAogICAgIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlczsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5o
CmluZGV4IDZhZjc5MDJkYTNmOWZhOWMyZWFiZGFhYTBlNWQ3ODVmNjUzMmU2ZTcuLjQzNjhjYzJj
YzFiM2Y1YzZkNWE4ZWIzYjM4MGIyZThiZGIzYTRhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAgLTMwLDcgKzMwLDcg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSU9T
dXJmYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdpb24uaD4KLSNpbmNsdWRlIDxjaHJvbm8+
CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KIAogT0JKQ19DTEFTUyBDQUxheWVyOwog
CkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2V0QnVmZmVyVm9sYXRpbGl0
eShCdWZmZXJUeXBlIHR5cGUsIGJvb2wgaXNWb2xhdGlsZSk7CiAKLSAgICBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IGxhc3REaXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbGFzdERpc3BsYXlUaW1lOyB9CisgICAgTW9ub3RvbmljVGltZSBsYXN0RGlzcGxheVRpbWUo
KSBjb25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5VGltZTsgfQogCiBwcml2YXRlOgogICAgIHZv
aWQgZHJhd0luQ29udGV4dChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBDR0ltYWdlUmVmIGJh
Y2tJbWFnZSk7CkBAIC0xMDMsOCArMTAzLDEwIEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1DQUxh
eWVyUmVtb3RlKiBtX2xheWVyOwogCiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fc2l6ZTsKLSAg
ICBmbG9hdCBtX3NjYWxlOwotICAgIGJvb2wgbV9pc09wYXF1ZTsKKyAgICBmbG9hdCBtX3NjYWxl
IHsgMSB9OworCisgICAgYm9vbCBtX2lzT3BhcXVlIHsgZmFsc2UgfTsKKyAgICBib29sIG1fYWNj
ZWxlcmF0ZXNEcmF3aW5nIHsgZmFsc2UgfTsKIAogICAgIFdlYkNvcmU6OlJlZ2lvbiBtX2RpcnR5
UmVnaW9uOwogCkBAIC0xMTIsNyArMTE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNo
YXJlYWJsZUJpdG1hcD4gYml0bWFwOwogI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IHN1cmZhY2U7Ci0gICAgICAgIGJvb2wgaXNW
b2xhdGlsZSA9IGZhbHNlOworICAgICAgICBib29sIGlzVm9sYXRpbGUgeyBmYWxzZSB9OwogI2Vu
ZGlmCiAKICAgICAgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0CkBAIC0xMzgsMTEg
KzE0MCw5IEBAIHByaXZhdGU6CiAKICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBtX2Zyb250
Q29udGV4dFBlbmRpbmdGbHVzaDsKIAotICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmc7Ci0K
ICAgICBXZWJDb3JlOjpSZXBhaW50UmVjdExpc3QgbV9wYWludGluZ1JlY3RzOwogCi0gICAgc3Rk
OjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3REaXNwbGF5VGltZTsKKyAg
ICBNb25vdG9uaWNUaW1lIG1fbGFzdERpc3BsYXlUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5tbQppbmRleCBkNTcxOWRkYTEyYmVhYjgyMmRmMzJiNzIxNThlYmE2YTVlOTk0
MjA1Li5jYmNmNzFjNWY3NTRlZWMzZTg2MGZmMTJmYzczZmZhODVjNjdkZDEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0K
QEAgLTYyLDggKzYyLDYgQEAgc3RhdGljIFdlYkNvcmU6OklPU3VyZmFjZTo6Rm9ybWF0IGJ1ZmZl
ckZvcm1hdChib29sIGlzT3BhcXVlKQogCiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUoUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBsYXllcikKICAgICA6IG1f
bGF5ZXIobGF5ZXIpCi0gICAgLCBtX2lzT3BhcXVlKGZhbHNlKQotICAgICwgbV9sYXN0RGlzcGxh
eVRpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludDo6bWluKCkpCiB7CiAg
ICAgaWYgKCFtX2xheWVyKQogICAgICAgICByZXR1cm47CkBAIC0yMzEsNyArMjI5LDcgQEAgYm9v
bCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheSgpCiB7CiAgICAgQVNTRVJUKCFtX2Zy
b250Q29udGV4dFBlbmRpbmdGbHVzaCk7CiAKLSAgICBtX2xhc3REaXNwbGF5VGltZSA9IHN0ZDo6
Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdERpc3BsYXlUaW1lID0gTW9u
b3RvbmljVGltZTo6bm93KCk7CiAKICAgICBib29sIG5lZWRUb0VuY29kZUJhY2tpbmdTdG9yZSA9
IGZhbHNlOwogICAgIGlmIChSZW1vdGVMYXllclRyZWVDb250ZXh0KiBjb250ZXh0ID0gbV9sYXll
ci0+Y29udGV4dCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKaW5kZXggZmU0OTcxZWU3Mzky
NDE0YWJjMTE5NDBhYzc5ZjhmNzkxNGNhNDg2Mi4uY2Q4M2EzOGQ5ODQ1NWRiNWQ1NGVkM2Y0NjUz
OTg2ZWVkOTc0NTMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCkBAIC02NCw3ICs2NCw3
IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICB0eXBlZGVmIHVuc2lnbmVkIFZvbGF0aWxpdHlNYXJr
aW5nRmxhZ3M7CiAgICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3Mgdm9sYXRpbGl0
eU1hcmtpbmdGbGFncyA9IDApOwotICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlJiwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9w
b2ludCBub3cpOworICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlJiwgTW9ub3RvbmljVGltZSBub3cpOwogCiAgICAgSGFzaFNldDxSZW1vdGVM
YXllckJhY2tpbmdTdG9yZSo+IG1fbGl2ZUJhY2tpbmdTdG9yZTsKICAgICBIYXNoU2V0PFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlKj4gbV91bnBhcmVudGVkQmFja2luZ1N0b3JlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxl
Y3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5tbQppbmRleCAyNjgzNmU3YmYzODY0N2U0ODAwYTY0YjBjNzVjZTZmZmIw
Y2ExNGJlLi5iZGM4N2E3MDgwNzM2NGU2NjM5OWM5ZDY3YzI1NmUzMWVmZmM4YWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5tbQpAQCAtMzAsOSArMzAsOSBAQAogI2ltcG9ydCAiUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUNvbnRleHQuaCIK
IAotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJl
c2hvbGQgPSAxczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGVTZWNv
bmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAyMDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAyMDBtczsKK2NvbnN0IFNl
Y29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSBTZWNvbmRzKDEpOworY29u
c3QgU2Vjb25kcyB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IFNl
Y29uZHMoMC4yKTsKK2NvbnN0IFNlY29uZHMgdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSBTZWNv
bmRzKDAuMik7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0xMjAsNyArMTIwLDcgQEAgYm9v
bCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xh
dGlsZUltbWVkaWF0ZWx5KFJlbW8KICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdT
dG9yZVZvbGF0aWxlOwogfQogCi1ib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNr
aW5nU3RvcmUsIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93KQorYm9v
bCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xh
dGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBNb25vdG9uaWNUaW1l
IG5vdykKIHsKICAgICBpZiAobm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGltZSgpIDwg
dm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQpIHsKICAgICAgICAgaWYgKG5vdyAtIGJh
Y2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA+PSB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdT
dG9yZUFnZVRocmVzaG9sZCkKQEAgLTE2NCw3ICsxNjQsNyBAQCB2b2lkIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewogICAgIGJvb2wg
c3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIAotICAgIGF1dG8g
bm93ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBub3cgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGJhY2tpbmdTdG9yZSA6
IG1fbGl2ZUJhY2tpbmdTdG9yZSkKICAgICAgICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9y
ZVZvbGF0aWxlICY9IG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZSgqYmFja2luZ1N0b3JlLCBub3cp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0NWRmZWQz
MWM1OTE4MzU4YmU3ZjY3MTZiMWJmZTcwMTg4YjU5Li4xYjVkZDAzNjM5MWYyMmI5ZWJjNWI3MjNk
OTIyM2Y4MDI5MGU5YTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0K
QEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKCFtX2NvbnRleHQp
IHsKICAgICAgICAgICAgIG1fY29udGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxsb2NdIGlu
aXRdKTsKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMV9zKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9j
b250ZXh0LmdldCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXdrVmlldy5jcHAKaW5kZXggY2FmMGQ3MjNmMDY1OTY5ZTBjMDhjNDZlMDJjMjRhNmU0N2MxMTlk
OC4uYzQ5NDcxZDE5ZmJmMzg1MzU3NGMzOGNlNDE2Y2FhYWFmNjYyMjU4NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTU5MCw3ICs1OTAsNyBA
QCB2b2lkIEV3a1ZpZXc6OnNjaGVkdWxlVXBkYXRlRGlzcGxheSgpCiAgICAgICAgIHJldHVybjsK
IAogICAgIGlmICghbV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaXNwbGF5
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpzZXRWaWV3cG9ydFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmIGNvbnRlbnRzUG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggMDRjN2U5NTQ3Mjk5
NTdjZTQyODJlYjQwZTFjODcxMDNjMTQ0NWY1Zi4uYzJiZTM2NWY3MWU5OGYzNGY5ZTg1ZTRkNmFk
MTg5M2NlYzY5ZjNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKFdlYktpdFdl
YlZpZXdCYXNlKiB3ZWJWCiAgICAgaWYgKHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5p
c0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcml2LT51cGRhdGVBY3Rpdml0eVN0
YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogc3RhdGljIGdib29sZWFuIHRvcGxldmVsV2lu
ZG93Rm9jdXNJbkV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEZvY3VzKiwgV2ViS2l0
V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
aGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZmQ4YmM1YWM5YTk3YzgzMDU1ZDQ4Yjc1YmE4MDA5
MzM5OTY1MTdiMC4uMmQ2ZmViOTQ3ZjFjODY4MWUzMGJmMTRiMGRjNzY1YzgxNDMyZjYzYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCkBAIC0x
OTMsNyArMTkzLDcgQEAgdm9pZCBDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKCkK
ICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdhdGNoZG9nIGluIHRoZSBVSSBwcm9jZXNzLCBz
aW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUgc3VzcGVuZGVkLgogICAgICAgICAvLyBJZiAz
MHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgdG8gY29tcGxl
dGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtpbGxlZC4KICAgICAgICAgQVNTRVJUKG1fY29u
bmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMCk7CisgICAg
ICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMF9zKTsKICNlbmRpZgogICAgICAgICBi
cmVhazsKICAgICBjYXNlIFN0YXRlOjpUZXJtaW5hdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNDUyOTkyMmI0ZmJmNmJm
NTMxYzdjMDVhN2MyMjNiNjM1MTQzMjU2MC4uZjgxNmU3ZjBjMzIxYWYyYTlkODYyMWE3YjRjNWYx
YThhNzgwMzk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05h
dmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2
aWdhdGlvblN0YXRlLm1tCkBAIC04NTIsNyArODUyLDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6
OmRpZENoYW5nZUlzTG9hZGluZygpCiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gRGVsYXkgcmVs
ZWFzaW5nIHRoZSBiYWNrZ3JvdW5kIGFjdGl2aXR5IGZvciAzIHNlY29uZHMgdG8gZ2l2ZSB0aGUg
YXBwbGljYXRpb24gYSBjaGFuY2UgdG8gc3RhcnQgYW5vdGhlciBuYXZpZ2F0aW9uCiAgICAgICAg
IC8vIGJlZm9yZSBzdXNwZW5kaW5nIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgPHJkYXI6Ly9wcm9i
bGVtLzI3OTEwOTY0Pi4KLSAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNo
b3QoM3MpOworICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzX3Mp
OwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQ5ZjE4ZTM3OGE1MjlkMDU2
NWIwZDdlZTllNjE4ODIxMmNmZGQyYjguLjZiNTRjNmRkZThkOTY4NmFiMzU4MmZhYTE4MDJkMjlh
NjFkNmVhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MCwxMyArNDAsMTMgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3Qgc3Rk
OjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3Jp
bmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJl
bW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSBT
ZWNvbmRzKDMpOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3Rp
dmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gU2Vjb25kcygwLjI1KTsKIAogI2lmIFBMQVRGT1JN
KE1BQykKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVt
b3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1czsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25h
cHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVfczsKICNlbHNlCi1zdGF0aWMgY29uc3Qg
c3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9u
ID0gM3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9n
RHVyYXRpb24gPSAzX3M7CiAjZW5kaWYKIAogc3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFZpZXdH
ZXN0dXJlQ29udHJvbGxlcio+JiB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKQpA
QCAtMjk3LDEwICsyOTcsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90
UmVtb3ZhbFRyYWNrZXI6OndhdGNoZG9nVGltZXJGaXJlZCgpCiAgICAgZmlyZVJlbW92YWxDYWxs
YmFja0ltbWVkaWF0ZWx5KCk7CiB9CiAKLXZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFw
c2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGR1
cmF0aW9uKQordm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNr
ZXI6OnN0YXJ0V2F0Y2hkb2coU2Vjb25kcyBkdXJhdGlvbikKIHsKLSAgICBsb2coU3RyaW5nOjpm
b3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlbGxkIHNlY29uZHMiLCBkdXJh
dGlvbi5jb3VudCgpKSk7Ci0gICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlv
bi5jb3VudCgpKTsKKyAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9n
IHRpbWVyIGZvciAlLjNmIHNlY29uZHMiLCBkdXJhdGlvbi52YWx1ZSgpKSk7CisgICAgbV93YXRj
aGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0
dXJlQ29udHJvbGxlci5oCmluZGV4IDc1OGQ3MzUwZGJkODQ3NTc0NjZjY2RiYTg0MzZiNmU0OWQ2
MmJjMmQuLmUxNGQ3Mzk3MTkyYWQwYzA3ZjEyMjgwOWZjODdiMTQ0NDc2ZDRkYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9s
bGVyLmgKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZW50T2Nj
dXJyZWQoRXZlbnRzKTsKICAgICAgICAgYm9vbCBjYW5jZWxPdXRzdGFuZGluZ0V2ZW50KEV2ZW50
cyk7CiAKLSAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKTsK
KyAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKFNlY29uZHMpOwogCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgc3RhdGljIFN0cmluZyBldmVudHNEZXNjcmlwdGlvbihFdmVudHMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpp
bmRleCA0OWQ0ZDViZDVhOTlkNGQ5ODExMTZhMDhhMTMyN2Q1MDFjYmFiOTUxLi5iMGMzMWNiMWVk
ZDAyNTJhMjJiYjlhN2E5ODEzNjJjYWQ0MjRiYWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMjUzLDcgKzI1
Myw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9j
ZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhCiAjZW5kaWYKIAogICAgIHBhcmFtZXRlcnMu
c2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBbZGVmYXVsdHMgYm9vbEZvcktl
eTpXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5XTsKLSAgICBw
YXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
KFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5
TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldKTsKKyAgICBwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxh
dGVuY3kgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5
OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXld
KTsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDExMDAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBjb29raWVTdG9yYWdlRGF0YSA9
IGFkb3B0Q0YoQ0ZIVFRQQ29va2llU3RvcmFnZUNyZWF0ZUlkZW50aWZ5aW5nRGF0YShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3Jh
Z2VdIF9jb29raWVTdG9yYWdlXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuY3BwCmluZGV4IDY5ZThjNWIzMjIzMjJkYjAzNzFiYmNiMWYzNjQwZmU0Yzk2
ZDg1NjUuLmE4YjY1OTc2Y2M5Mzc1Zjc5MDc2Y2ZlMmEwMmMyN2I3MGNlN2YxMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKQEAgLTgzLDcgKzgz
LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhwb3NlZFJlY3QoT3B0aW9uYWw8
V2ViQ29yZTo6RmxvYXRSZWN0PiB2aWV3RXhwb3MKICAgICBtX3ZpZXdFeHBvc2VkUmVjdCA9IHZp
ZXdFeHBvc2VkUmVjdDsKIAogICAgIGlmICghbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojp2aWV3RXhwb3NlZFJlY3RD
aGFuZ2VkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA0NDBkZjlhMzNlZTY5ODY3YjY0MjU4ZDAzMmUwNWU4
MTlmMTNhODE0Li4wMDk5YTVmNjcxMDNjN2UzYzFiYjY5YWNiMWY4ODZkZDMzMTEwM2E4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAK
QEAgLTE4MCw3ICsxODAsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFj
a2luZ1N0b3JlU29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRoaXMgbWFueSBzZWNvbmRzIGFm
dGVyIHRoZSBsYXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5IG91ciBiYWNraW5nIHN0b3Jl
IHRvIHNhdmUgbWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBzbWFydGVyIHRvIG1h
a2UgdGhpcyBkZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBhaW50aW5nIGlzLiBTZWUgPGh0
dHA6Ly93ZWJraXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGlzY2Fy
ZEJhY2tpbmdTdG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkaXNjYXJk
QmFja2luZ1N0b3JlRGVsYXkgPSAyX3M7CiAKICAgICBtX2Rpc2NhcmRCYWNraW5nU3RvcmVUaW1l
ci5zdGFydE9uZVNob3QoZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5KTsKIH0KQEAgLTIxMSwxMyAr
MjExLDEzIEBAIGludCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OndlYlZp
ZXdEcmF3Q2FsbGJhY2soRHJhd2luZ0FyZWFQcm94eUltCiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94
eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydChzdGQ6OmZ1bmN0aW9uPHZvaWQgKENhbGxiYWNr
QmFzZTo6RXJyb3IpPiBjYWxsYmFjaykKIHsKLSAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZU1TKCk7CisgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKICAgICBtX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAjaWYgUExBVEZPUk0oR1RLKQogICAg
IGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3dlYlBhZ2Uudmlld1dpZGdldCgpLCAiZHJhdyIs
IHJlaW50ZXJwcmV0X2Nhc3Q8R0NhbGxiYWNrPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7
Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcygxKSk7CiAjZWxzZQotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtMjI3LDcgKzIyNyw3IEBA
IHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKCkKICNpZiBQ
TEFURk9STShHVEspCiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKG1f
d2ViUGFnZS52aWV3V2lkZ2V0KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KHdlYlZpZXdE
cmF3Q2FsbGJhY2spLCB0aGlzKTsKICNlbmRpZgotICAgIG1fc3RhcnRUaW1lID0gMDsKKyAgICBt
X3N0YXJ0VGltZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICBpZiAobV9jYWxsYmFjaykgewogICAg
ICAgICBtX2NhbGxiYWNrKENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpOwogICAgICAgICBtX2Nh
bGxiYWNrID0gbnVsbHB0cjsKQEAgLTIzOSwxMCArMjM5LDEwIEBAIHZvaWQgRHJhd2luZ0FyZWFQ
cm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3KCkKICAgICAvLyBXZSB3YWl0IHVwIHRv
IDEgc2Vjb25kIGZvciBkcmF3IGV2ZW50cy4gSWYgdGhlcmUgYXJlIHNldmVyYWwgZHJhdyBldmVu
dHMgcXVldWVkIHF1aWNrbHksCiAgICAgLy8gd2Ugd2FudCB0byB3YWl0IHVudGlsIGFsbCBvZiB0
aGVtIGhhdmUgYmVlbiBwcm9jZXNzZWQsIHNvIGFmdGVyIHJlY2VpdmluZyBhIGRyYXcsIHdlIHdh
aXQKICAgICAvLyB1cCB0byAxMDBtcyBmb3IgdGhlIG5leHQgb25lIG9yIHN0b3AuCi0gICAgaWYg
KG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCkgLSBtX3N0YXJ0VGltZSA+IDEwMDApCisg
ICAgaWYgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9zdGFydFRpbWUgPiAxX3MpCiAgICAgICAg
IHN0b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuMTAwKTsK
KyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC4xX3MpOwogfQogCiB2b2lkIERyYXdpbmdB
cmVhUHJveHlJbXBsOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKHN0ZDo6ZnVuY3Rpb248
dm9pZChDYWxsYmFja0Jhc2U6OkVycm9yKT4gY2FsbGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggODljNzEzZmM4
N2E3MzU0OTMwMzhhZDEwZDkwZGMxY2Y2MDYxZDQ1Ny4uNWFhNjZjNmQwNDhiZDBmN2QyNmY4Yzdj
NjRlZDBkMWEyODJmN2Y2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdm9p
ZCBkaWREcmF3KCk7CiAKICAgICAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2U7Ci0gICAgICAg
IGRvdWJsZSBtX3N0YXJ0VGltZSB7IDAgfTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0
VGltZTsKICAgICAgICAgc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4g
bV9jYWxsYmFjazsKICAgICAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2luZ01vbml0b3I+IG1fdGlt
ZXI7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFk
L1VJR2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFk
L1VJR2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCA2NzdjZDY3MzkxYWY1NjlmNDJhZmZiZGY0NDBh
YWUyMTU1MTVmNDNlLi5jZWE5ODJmNmUyMmM2MDQ5OGVhYjgyOTY5NDNmNTA1MzJiOGI0MzZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFk
UHJvdmlkZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhpbXVtR2FtZXBh
ZFVwZGF0ZUludGVydmFsID0gMSAvIDEyMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11
bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMSAvIDEyMC4wKTsKIAogVUlHYW1lcGFk
UHJvdmlkZXImIFVJR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAK
aW5kZXggNTRkZmIzYjA1OGQ0ZmU5MDM3NDYxNTc5MmVmYTU2YjA4ZmRkMGI2OC4uYjY3NjE1MTRi
MTI3NTkzZDgzZGQ5ZDJjZDhhMTFjNDdlMzk5Yjc5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00Niwx
MSArNDYsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1MaWZldGltZSA9IDIgKiA2MDsKLXN0YXRp
YyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0gMzA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWUgPSBTZWNvbmRzKDIgKiA2MCk7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgPSAzMF9zOwogCi1zdGF0
aWMgY29uc3QgZG91YmxlIHNodXRkb3duVGltZW91dCA9IDEgKiA2MDsKLXN0YXRpYyBjb25zdCBk
b3VibGUgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0ID0gMTU7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBzaHV0ZG93blRpbWVvdXQgPSBTZWNvbmRzKDEgKiA2MCk7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgPSAxNV9zOwogCiBzdGF0aWMgdWludDY0
X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVh
ZjY2NzdhOTI5OWRlODU0OTQ1ZjkxNDU4MDMzNDllMy4uZDVmYjFiMjMxYjQzNzBmMDZlZGMzMTM0
ZjM0NWM1YzNjY2VjZDA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2
b2lkIFBsdWdpbkluZm9DYWNoZTo6dXBkYXRlUGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdp
blBhdGgsIGNvbnN0IFBsdWdpbk1vZAogICAgICAgICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0Fj
dGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1By
b2Nlc3NUaHJvdHRsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJv
dHRsZXIuY3BwCmluZGV4IDIyNzViYjNiMjI2YjdkYmQ0OGQzM2NmMGYzNmQyMzQ5ZDg1MGJlYzYu
LmNkODI1ZTFlZTBhMDljNTdmM2UyZDYzMTJiNzllN2Q0ZjE3MGUzY2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vz
c1N1c3BlbnNpb25UaW1lb3V0ID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3Vz
cGVuc2lvblRpbWVvdXQgPSAzMF9zOwogICAgIAogUHJvY2Vzc1Rocm90dGxlcjo6UHJvY2Vzc1Ro
cm90dGxlcihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50JiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNz
KHByb2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2
ZW5lc3NUaW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NU
aW1lci5jcHAKaW5kZXggZmViNDY5ZjA4NDJiNWFlNjliMzZmMGZjZmQ2ODYxYzQwNjdlZWYyYi4u
YTQwYTk5ODZjMzRlZDNhYzJlZWNlNzgzNGM2YTUwNGY2M2Y4ZmMyZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcApAQCAtMjgsNyArMjgs
NyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSByZXNwb25z
aXZlbmVzc1RpbWVvdXQgPSAzOworc3RhdGljIGNvbnN0IFNlY29uZHMgcmVzcG9uc2l2ZW5lc3NU
aW1lb3V0ID0gU2Vjb25kcygzKTsKIAogUmVzcG9uc2l2ZW5lc3NUaW1lcjo6UmVzcG9uc2l2ZW5l
c3NUaW1lcihSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xp
ZW50KGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVk
TGlua1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3Jl
LmNwcAppbmRleCBhM2ZiNzcwZjVjZGJjZGNiNWZhNzdhYjRkMmYwYjU0NzQ0ODkwZjZmLi4zZWQ1
NTc1MzE2YmZkZDAzNjUwMzdhZDZhOGJkN2Q0YWE4NDdiNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQg
VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKExpbmtIYXNoIGxpbmtIYXNoKQog
ICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rcy5hZGQobGlua0hhc2gpOwogCiAgICAgaWYgKCFtX3Bl
bmRpbmdWaXNpdGVkTGlua3NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRpbmdWaXNp
dGVkTGlua3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRM
aW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFZpc2l0ZWRMaW5rU3RvcmU6
OnJlbW92ZUFsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cAppbmRleCBmN2NlNjlmNGNlOTc2ODJjNGM1MDZmMjNmYmYyNDg2YjBjMDg4Mjc3Li5iODJiNGRj
YTI3OTYwNWRkM2ZhZjE1ZTJlZmY5M2VjYzZkZWNkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBXZWJQcm9jZXNz
UG9vbDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZp
Z3VyYXRpb24pCiAgICAgLCBtX2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eShtX2NvbmZp
Z3VyYXRpb24tPmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSgpKQogICAgICwgbV91c2Vy
T2JzZXJ2YWJsZVBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJv
Y2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlz
YWJsZWRGb3JQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nl
c3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCi0gICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0
b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VU
aHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDApOyB9KQorICAgICwgbV9oaWRkZW5QYWdlVGhy
b3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9o
aWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOyB9KQogICAgICwgbV9o
aWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJldlYlByb2Nl
c3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KQogewog
ICAgIGZvciAoYXV0byYgc2NoZW1lIDogbV9jb25maWd1cmF0aW9uLT5hbHdheXNSZXZhbGlkYXRl
ZFVSTFNjaGVtZXMoKSkKQEAgLTU5OCw3ICs1OTgsNyBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlBy
b2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkKICAgICAvLyBpY29uRGF0YWJhc2VQYXRo
IGlzIG5vbi1lbXB0eSBieSBkZWZhdWx0LCBidXQgbV9pY29uRGF0YWJhc2UgaXNuJ3QgZW5hYmxl
ZCBpbiBVSSBwcm9jZXNzIHVubGVzcyBzZXREYXRhYmFzZVBhdGggaXMgY2FsbGVkIGV4cGxpY2l0
bHkuCiAgICAgcGFyYW1ldGVycy5pY29uRGF0YWJhc2VFbmFibGVkID0gIWljb25EYXRhYmFzZVBh
dGgoKS5pc0VtcHR5KCk7CiAKLSAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDA7
CisgICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQgPSAwX3M7CiAKICAgICBwYXJhbWV0
ZXJzLnRleHRDaGVja2VyU3RhdGUgPSBUZXh0Q2hlY2tlcjo6c3RhdGUoKTsKIApAQCAtMTQxOSwx
MCArMTQxOSwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0
bGluZ0F1dG9JbmNyZWFzZUxpbWl0KCkKICAgICAvLyBXZSdyZSBlc3RpbWF0aW5nIGFuIHVwcGVy
IGJvdW5kIGZvciBhIHNldCBvZiBiYWNrZ3JvdW5kIHRpbWVyIGZpcmVzIGZvciBhIHBhZ2UgdG8g
YmUgMjAwbXMKICAgICAvLyAoaW5jbHVkaW5nIGFsbCB0aW1lciBmaXJlcywgYWxsIHBhZ2luZy1p
biwgYW5kIGFueSByZXN1bHRpbmcgR0MpLiBUbyBlbnN1cmUgdGhpcyBkb2VzIG5vdAogICAgIC8v
IHJlc3VsdCBpbiBtb3JlIHRoYW4gMSUgQ1BVIGxvYWQgYWxsb3cgZm9yIG9uZSB0aW1lciBmaXJl
IHBlciAxMDB4IHRoaXMgZHVyYXRpb24uCi0gICAgc3RhdGljIGludCBtYXhpbXVtVGltZXJUaHJv
dHRsZVBlclBhZ2VJbk1TID0gMjAwICogMTAwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1h
eGltdW1UaW1lclRocm90dGxlUGVyUGFnZSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoMjAw
KSAqIDEwMDsKIAotICAgIGludCBsaW1pdEluTWlsbGlzZWNvbmRzID0gbWF4aW11bVRpbWVyVGhy
b3R0bGVQZXJQYWdlSW5NUyAqIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291
bnRlci52YWx1ZSgpOwotICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vz
czo6U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXRJbk1pbGxp
c2Vjb25kcykpOworICAgIFNlY29uZHMgbGltaXQgPSBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBh
Z2UgKiBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIudmFsdWUoKTsK
KyAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEhpZGRlblBh
Z2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0
Q2hlY2tlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRD
aGVja2VyQ2xpZW50RWZsLmNwcAppbmRleCA4NTc0NWFjMzBhYzdiODNlMTQ4MjRiZmZlZWJhNjkw
OTEzZTliNDRhLi4zYjIyMzc3YzgzOTFkM2I4MzZjOGFkNzAwYzM4NGQwMDNlZmU2ZDE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50
RWZsLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OmVu
c3VyZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZSgpCiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjp1
cGRhdGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkZWZhdWx0
TGFuZ3VhZ2VzKQogewogICAgIG1fc3BlbGxDaGVja2luZ0xhbmd1YWdlcyA9IGRlZmF1bHRMYW5n
dWFnZXM7Ci0gICAgbV9sYW5ndWFnZXNVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9sYW5ndWFnZXNVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUZXh0
Q2hlY2tlckNsaWVudEVmbDo6bGFuZ3VhZ2VzVXBkYXRlVGltZXJGaXJlZCgpCkBAIC0xMjgsNyAr
MTI4LDcgQEAgVmVjdG9yPFN0cmluZz4gVGV4dENoZWNrZXJDbGllbnRFZmw6OmxvYWRlZFNwZWxs
Q2hlY2tpbmdMYW5ndWFnZXMoKSBjb25zdAogCiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpj
YWxsQ29udGludW91c1NwZWxsQ2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKCkKIHsKLSAgICBt
X3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
Ym9vbCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJs
ZWRDYWxsYmFjayhjb25zdCB2b2lkKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggN2UxNTc3Y2JhOGIxNTcwNTI2NGU1YmE1
NDc1ZmZjNTk2MmRhYjg4OS4uOTNkZGQ3NjhkYmE0Y2JlMDMwZDQzMWU0YjRkODU3YTY4OGQwZjkx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJv
bGxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFn
R2VzdHVyZTo6YmVnaW4oRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZAogICAg
IEd0a1dpZGdldCogd2lkZ2V0ID0gZ3RrX2V2ZW50X2NvbnRyb2xsZXJfZ2V0X3dpZGdldChHVEtf
RVZFTlRfQ09OVFJPTExFUihnZXN0dXJlKSk7CiAgICAgdW5zaWduZWQgZGVsYXk7CiAgICAgZ19v
YmplY3RfZ2V0KGd0a193aWRnZXRfZ2V0X3NldHRpbmdzKHdpZGdldCksICJndGstbG9uZy1wcmVz
cy10aW1lIiwgJmRlbGF5LCBudWxscHRyKTsKLSAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NU
aW1lb3V0LnN0YXJ0T25lU2hvdChkZWxheSAvIDEwMDAuMCk7CisgICAgZHJhZ0dlc3R1cmUtPm1f
bG9uZ1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhk
ZWxheSkpOwogfQogCiB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6dXBkYXRl
KERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBHdGtHZXN0dXJl
KiBnZXN0dXJlKQpAQCAtMjA2LDcgKzIwNiw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6Olpv
b21HZXN0dXJlOjpzY2FsZUNoYW5nZWQoWm9vbUdlc3R1cmUqIHpvb21HZXN0dXJlLCBkb3ViCiAg
ICAgaWYgKHpvb21HZXN0dXJlLT5tX2lkbGUuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgem9vbUdlc3R1cmUtPm1faWRsZS5zdGFydE9uZVNob3QoMCk7CisgICAgem9vbUdlc3R1
cmUtPm1faWRsZS5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogR2VzdHVyZUNvbnRyb2xsZXI6Olpv
b21HZXN0dXJlOjpab29tR2VzdHVyZShXZWJQYWdlUHJveHkmIHBhZ2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCmluZGV4
IGRjMTk4ZDg1OGYxM2EzYzEyMzZlNTExZDM4ZGI2ODUyNjEzNzg0YTQuLjUzMTdmZWQ5ZDg5Mjkz
YWJkNDIxMmMyMDg1ZDY0YzJiOTQzN2ExNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCkBAIC0yNjEsNyArMjYxLDcg
QEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6bWVudVVubWFwcGVkQ2FsbGJhY2soR3RrV2lk
Z2V0KiwgV2ViUG9wdXBNZW51UHJveHlHdGsKICAgICAvLyBXaGVuIGFuIGl0ZW0gaXMgYWN0aXZh
dGVkLCB0aGUgbWVudSBpcyBmaXJzdCBoaWRkZW4gYW5kIHRoZW4gYWN0aXZhdGUgc2lnbmFsIGlz
IGVtaXR0ZWQsIHNvIGF0IHRoaXMgcG9pbnQgd2UgZG9uJ3Qga25vdwogICAgIC8vIGlmIHRoZSBt
ZW51IGhhcyBiZWVuIGhpZGRlbiBiZWNhdXNlIGFuIGl0ZW0gaGFzIGJlZW4gc2VsZWN0ZWQgb3Ig
YmVjYXVzZSB0aGUgbWVudSBoYXMgYmVlbiBkaXNtaXNzZWQuIFdhaXQgdW50aWwgdGhlIG5leHQK
ICAgICAvLyBtYWluIGxvb3AgaXRlcmF0aW9uIHRvIGRpc21pc3MgdGhlIG1lbnUsIGlmIGFuIGl0
ZW0gaXMgYWN0aXZhdGVkIHRoZSB0aW1lciB3aWxsIGJlIGNhbmNlbGxlZC4KLSAgICBwb3B1cE1l
bnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgcG9wdXBNZW51LT5t
X2Rpc21pc3NNZW51VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUG9wdXBN
ZW51UHJveHlHdGs6OnNlbGVjdEl0ZW1DYWxsYmFjayhHdGtXaWRnZXQqIGl0ZW0sIFdlYlBvcHVw
TWVudVByb3h5R3RrKiBwb3B1cE1lbnUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQppbmRleCA4MThiZDM5MGQ0ODNkMDgyMmJh
ZTc5MzRlMTA2ZmRiYjBjZGZmODU0Li5kZmFkMzJlY2VmOGM0MDhhMTBiMjU5MWY4YjAzNzc4NjIx
NTMzNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3Bl
Y3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5z
cGVjdG9yUHJveHlNYWMubW0KQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IE5TVUludGVn
ZXIgd2luZG93U3R5bGVNYXNrID0gTlNXaW5kb3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0
eWwKIAogLy8gVGhlIHRpbWUgd2Uga2VlcCBvdXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xvc2lu
ZyBpdCBhbmQgaXRzIHByb2Nlc3MuCiAvLyBSZXVzaW5nIHRoZSBXZWJWaWV3IGltcHJvdmVzIHN0
YXJ0IHVwIHRpbWUgZm9yIHBlb3BsZSB0aGF0IGp1bXAgaW4gYW5kIG91dCBvZiB0aGUgSW5zcGVj
dG9yLgotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MDsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MF9zOwogCiAvLyBXS1dl
Ykluc3BlY3RvclByb3h5T2JqQ0FkYXB0ZXIgaXMgYSBoZWxwZXIgT2JqQyBvYmplY3QgdXNlZCBh
cyBhIGRlbGVnYXRlIG9yIG5vdGlmaWNhdGlvbiBvYnNlcnZlcgogLy8gZm9yIHRoZSBzb2xlIHB1
cnBvc2Ugb2YgZ2V0dGluZyBiYWNrIGludG8gdGhlIEMrKyBjb2RlIGZyb20gYW4gT2JqQyBjYWxs
ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxv
YWRlclN0cmF0ZWd5LmNwcAppbmRleCBlODkxY2QwMzJiMmY0MzY2NGI2N2UwNmRiZWNjYzhlZTAz
NThkZDhmLi5jNWZjZGU5NzdhOTgxYTM2MGQ1MDI2NjRlOGI1NjAwOWJmYzUyYTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3ku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHAKQEAgLTkxLDE0ICs5MSwxNCBAQCBSZWZQdHI8TmV0c2NhcGVQbHVnSW5TdHJlYW1M
b2FkZXI+IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZVBsdWdpblN0cmVhbUxvYWQoRgogICAg
IHJldHVybiBsb2FkZXI7CiB9CiAKLXN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1h
eGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK3N0YXRpYyBTZWNv
bmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICNp
ZiAhRU5BQkxFKE5FVFdPUktfQ0FDSEUpCi0gICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4gMF9z
OwogI2VuZGlmCiAKICAgICBpZiAoIXJlc291cmNlKQotICAgICAgICByZXR1cm4gMG1zOworICAg
ICAgICByZXR1cm4gMF9zOwogCiAgICAgc3dpdGNoIChyZXNvdXJjZS0+dHlwZSgpKSB7CiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDoKQEAgLTEwNyw5ICsxMDcsOSBAQCBz
dGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNo
ZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJl
c291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgot
ICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCk7CisgICAgICAg
IHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Oklt
YWdlUmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiA1MDBtczsKKyAgICAgICAgcmV0dXJuIDUwMF9t
czsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNZWRpYVJlc291cmNlOgogICAgIGNhc2UgQ2Fj
aGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpSYXdS
ZXNvdXJjZToKQEAgLTEyNCwxMSArMTI0LDExIEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICNp
ZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0Ogog
I2VuZGlmCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAgICAgfQog
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4g
MF9zOwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VM
b2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hv
dWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKQEAgLTIzMSw3ICsyMzEsNyBA
QCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJl
c291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdQogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1
bGVJbnRlcm5hbGx5RmFpbGVkTG9hZChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VM
b2FkZXIpCiB7CiAgICAgbV9pbnRlcm5hbGx5RmFpbGVkUmVzb3VyY2VMb2FkZXJzLmFkZCgmcmVz
b3VyY2VMb2FkZXIpOwotICAgIG1faW50ZXJuYWxseUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjppbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcAppbmRleCA0OTkyMGYyY2Fh
ODRmNzY5YjYyZDI0NjJhOWM5ODA3ZjUyMGNmM2VkLi4xYzFlZTYyMWQyNGI3MGFmM2FhZGExMzMx
MDYyNDI3YTMwMmM2MGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcApAQCAt
MjkzLDcgKzI5Myw3IEBAIHZvaWQgTlBSdW50aW1lT2JqZWN0TWFwOjphZGRUb0ludmFsaWRhdGlv
blF1ZXVlKE5QT2JqZWN0KiBucE9iamVjdCkKICAgICBpZiAodHJ5U2FmZVJlbGVhc2VOUE9iamVj
dChucE9iamVjdCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAobV9ucE9iamVjdHNUb0ZpbmFs
aXplLmlzRW1wdHkoKSkKLSAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fZmluYWxpemF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAg
QVNTRVJUKG1fZmluYWxpemF0aW9uVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgbV9ucE9iamVjdHNU
b0ZpbmFsaXplLmFwcGVuZChucE9iamVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcApp
bmRleCA1YzlhOTE4MjQ1NjZhNDYzMDEwYzBlNzM5NjgwMzQ1N2UzMzM0NzdkLi41NDE3MWMyMjU0
NzhmNzY2ZGMyYzZhYWI1NzA5MDRjNTFjMGNiMGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5j
cHAKQEAgLTMyNiw3ICszMjYsNyBAQCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6On5UaW1lcigpCiAK
IHZvaWQgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCgpCiB7Ci0gICAgZG91YmxlIHRpbWVJ
bnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7CisgICAgU2Vjb25kcyB0aW1lSW50ZXJ2YWwg
PSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1faW50ZXJ2YWwpOwogCiAgICAgaWYgKG1fcmVw
ZWF0KQogICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHRpbWVJbnRlcnZhbCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2Nh
cGVQbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcAppbmRleCA3ZDU0ZDg4YzdlODk4YzVjZTBi
YWRmMWQ3NjliMmU1ZDM1ZDlhMjU0Li4yMzQ5OTEzMGNjNTk2NWJjYTYxYjdiODI4MmU5NWQzYTdm
ZjdiN2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKQEAgLTIyMiw3
ICsyMjIsNyBAQCB2b2lkIE5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2lu
KCkKIAogICAgICAgICBpZiAobnVtQnl0ZXNQbHVnaW5DYW5IYW5kbGUgPD0gMCkgewogICAgICAg
ICAgICAgLy8gVGhlIHBsdWctaW4gY2FuJ3QgaGFuZGxlIG1vcmUgZGF0YSwgd2UnbGwgc2VuZCB0
aGUgcmVzdCBsYXRlcgotICAgICAgICAgICAgbV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2Nh
cGVQbHVnaW5NYWMubW0KaW5kZXggYjkyNmRiMDkwMmY1YjhmNzUwNDdmZWFkYzJjNTQzYzZhY2My
ZTVlMC4uNTA0NDJhN2U2ODcyZTA5MTEzZmMzZDRjNjI2NWQ5MjE2ZWNjMzM1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2Fw
ZVBsdWdpbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCkBAIC00NSw3ICs0NSw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZm5kZWYgTlBfTk9fQ0FS
Qk9OCi1zdGF0aWMgY29uc3QgZG91YmxlIG51bGxFdmVudEludGVydmFsQWN0aXZlID0gMC4wMjsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIG51bGxFdmVudEludGVydmFsQWN0aXZlID0gMC4wMl9zOwog
CiBzdGF0aWMgdW5zaWduZWQgYnV0dG9uU3RhdGVGcm9tTGFzdE1vdXNlRXZlbnQ7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBh
MGQ4YWI4NjZmYzBiYWQxMDIwYmQxNjViZmQ1NGY1NWUyMWNmNjk0Li5kYjY2Y2IxOWRhMDhmMmM5
ZDI4M2ExZTY3ZDVmNjQ4ZGEzODNkNTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIFRoaXMgc2ltdWxhdGVkIG1v
dXNlIGNsaWNrIGRlbGF5IGluIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIHNob3VsZCBnZW5l
cmFsbHkgYmUgdGhlIHNhbWUgb3Igc2hvcnRlciB0aGFuIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29u
c3QgYXV0byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIHsgMTEwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGx1Z2luU25hcHNob3RUaW1lckRl
bGF5ID0gU2Vjb25kcygxLjEpOwogCiBjbGFzcyBQbHVnaW5WaWV3OjpVUkxSZXF1ZXN0IDogcHVi
bGljIFJlZkNvdW50ZWQ8VVJMUmVxdWVzdD4gewogcHVibGljOgpAQCAtMTE2NCw3ICsxMTY0LDcg
QEAgdm9pZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1lckZpcmVkKCkKIAogICAg
IC8vIElmIHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIHRvIHBlcmZvcm0sIHJlc2NoZWR1bGUgdGhl
IHRpbWVyLgogICAgIGlmICghbV9wZW5kaW5nVVJMUmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAg
ICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9w
ZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAKICAgICBwZXJm
b3JtVVJMUmVxdWVzdCh1cmxSZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTE0MjMsNyArMTQyMyw3IEBA
IHZvaWQgUGx1Z2luVmlldzo6bG9hZFVSTCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmlu
ZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmCiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3QucmVzb3Vy
Y2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKIAogICAgIG1fcGVuZGluZ1VS
TFJlcXVlc3RzLmFwcGVuZChVUkxSZXF1ZXN0OjpjcmVhdGUocmVxdWVzdElELCBmcmFtZUxvYWRS
ZXF1ZXN0LCBhbGxvd1BvcHVwcykpOwotICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6Y2FuY2VsU3RyZWFtTG9hZCh1aW50NjRfdCBz
dHJlYW1JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9B
Y2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAppbmRleCBiODc4ZmJjOTg0MmUzZWJhZDY3
ZjZmZjk4ZDc5OTBjOWNhNjMwNWU1Li43NGUyYzIzMzc0Y2E5ZjNjNDVlYTMwODk3MjYzZjNmNWEx
YjExZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNj
ZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9p
ZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVT
b29uKCkKICAgICBpZiAoZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlUGVuZGluZygpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2V4aXRDb21wb3NpdGluZ1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX2V4aXRDb21wb3NpdGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKaW5kZXgg
ZjNkYWVmYzc4NzZkOTgzYmUxNWM5YmJjMmRhYWMxODI1ZThhYmMyNy4uOGVlN2RkZjE5ODJkOTE3
ZmFmNzE1NWQxOTgzODRkNDMxZDg3OTRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTE1NSwxMSArMTU1LDExIEBA
IHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c3luY0Rpc3BsYXlTdGF0ZSgpCiB9CiAKICNp
ZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi1kb3VibGUgQ29tcG9zaXRpbmdDb29y
ZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QKK1NlY29uZHMgQ29tcG9z
aXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QKIHsKICAg
ICAvLyBBY2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBzcGVjLCByQUYgY2Fs
bGJhY2tzIHNob3VsZCBub3QgYmUgZmFzdGVyIHRoYW4gNjBGUFMuCi0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgPSAxLiAvIDYwLjsKLSAgICByZXR1
cm4gc3RkOjptYXg8ZG91YmxlPigwLiwgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gdGlt
ZXN0YW1wKCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGltZSk7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zID0gU2Vjb25kcygxLjAgLyA2MCk7
CisgICAgcmV0dXJuIHN0ZDo6bWF4PFNlY29uZHM+KDBfcywgTWluaW1hbFRpbWVvdXRGb3JBbmlt
YXRpb25zIC0gU2Vjb25kcyh0aW1lc3RhbXAoKSArIG1fbGFzdEFuaW1hdGlvblNlcnZpY2VUaW1l
KSk7CiB9CiAjZW5kaWYKIApAQCAtMzk4LDcgKzM5OCw3IEBAIGJvb2wgQ29tcG9zaXRpbmdDb29y
ZGluYXRvcjo6cGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRT
dXJmCiAgICAgcmV0dXJuIG1fdXBkYXRlQXRsYXNlcy5sYXN0KCktPnBhaW50T25BdmFpbGFibGVC
dWZmZXIoc2l6ZSwgYXRsYXNJRCwgb2Zmc2V0LCBjbGllbnQpOwogfQogCi1jb25zdCBkb3VibGUg
UmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRz
IFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsID0gMC41X3M7CiAKIHZvaWQgQ29t
cG9zaXRpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVSZWxlYXNlSW5hY3RpdmVBdGxhc2VzKCkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3Iu
aAppbmRleCBmOThhMzZiYzI3YTdmMmJjZTE3N2QxMjdjZjk3ZjY5ZGJlMWM3NTFhLi5lYmY2NWJi
N2Y5Y2RiN2VjZTI3YmNmMDEwMzM3NWQ0Y2ZkOGUyMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCkBAIC04Nyw3ICs4Nyw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHN5bmNEaXNwbGF5U3RhdGUoKTsKIAogI2lmIEVOQUJMRShSRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkKLSAgICBkb3VibGUgbmV4dEFuaW1hdGlvblNlcnZpY2VUaW1l
KCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdDsK
ICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggOWY2YTgzMjFlM2YyNTFhYTVlMzZl
NTM3MThkOGNhYTk3NzgwOTU2YS4uYzQ3YmIwN2NkNWQ1ZjI2MDdlODM3NWVhMGQ1YmU0NzJjNjQ0
YTU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZExheWVyVHJlZUhvc3QuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0OjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAoIW1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF5ZXJGbHVzaFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjYW5jZWxQZW5k
aW5nTGF5ZXJGbHVzaCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDU0YjRlYWQ5ODNmNzU2YmQxNDhlMWFmNGNi
ZWQ2NDczOTgwNzk0MmQuLjBkMWI1MTAxMDY4NTE4NWY4MDMxOWU5MDhiZWNmNzQ4Y2E1NThiMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNj
aGVkdWxlRGlzcGxheSgpCiAgICAgaWYgKG1fZGlzcGxheVRpbWVyLmlzQWN0aXZlKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYUlt
cGw6OmRpc3BsYXlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCBjOTUwMTVmOWExNDdjNzJmNGMyOWYyNjNmNjVlZjZmOWFi
ZmFlNDEwLi42ZDBhMmJiNjQxNmY5MDQ2ZThiNDg2M2NmMTI3YWZiNzU4MTJjMjMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNTMsOSAr
MjUzLDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Ci1zdGF0aWMgY29uc3QgZG91YmxlIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzU2Vjb25kcyA9IDAuMzsK
LXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGluaXRpYWxMYXllclZvbGF0
aWxpdHlUaW1lckludGVydmFsIHsgMjAgfTsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vj
b25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCB7IDIgfTsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzID0gMC4zX3M7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDIwX21zOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAy
X3M7CiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCguLi4pIFJFTEVBU0VfTE9HX0lG
KGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBMYXllcnMsIF9fVkFfQVJHU19fKQogI2RlZmlu
ZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKC4uLikgUkVMRUFTRV9MT0dfRVJST1JfSUYo
aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVycywgX19WQV9BUkdTX18pCkBAIC0zMTQs
NyArMzE0LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKICAgICAsIG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCp0aGlzKQogI2Vu
ZGlmCi0gICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0
ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBwYWdlU3Rv
cHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpc1NlY29uZHMpCisgICAgLCBt
X3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBp
ZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGlu
ZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpcykKICAgICAsIG1fY2FuUnVuQmVmb3JlVW5sb2Fk
Q29uZmlybVBhbmVsKHBhcmFtZXRlcnMuY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKQog
ICAgICwgbV9jYW5SdW5Nb2RhbChwYXJhbWV0ZXJzLmNhblJ1bk1vZGFsKQogI2lmIFBMQVRGT1JN
KElPUykKQEAgLTIwNTEsNyArMjA1MSw3IEBAIHZvaWQgV2ViUGFnZTo6Y2FsbFZvbGF0aWxpdHlD
b21wbGV0aW9uSGFuZGxlcnMoKQogCiB2b2lkIFdlYlBhZ2U6OmxheWVyVm9sYXRpbGl0eVRpbWVy
RmlyZWQoKQogewotICAgIGF1dG8gbmV3SW50ZXJ2YWwgPSAyICogbV9sYXllclZvbGF0aWxpdHlU
aW1lci5yZXBlYXRJbnRlcnZhbE1TKCk7CisgICAgU2Vjb25kcyBuZXdJbnRlcnZhbCA9IG1fbGF5
ZXJWb2xhdGlsaXR5VGltZXIucmVwZWF0SW50ZXJ2YWwoKSAqIDI7CiAgICAgYm9vbCBkaWRTdWNj
ZWVkID0gbWFya0xheWVyc1ZvbGF0aWxlSW1tZWRpYXRlbHlJZlBvc3NpYmxlKCk7CiAgICAgaWYg
KGRpZFN1Y2NlZWQgfHwgbmV3SW50ZXJ2YWwgPiBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJ
bnRlcnZhbCkgewogICAgICAgICBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0b3AoKTsKQEAgLTIw
NjAsNyArMjA2MCw3IEBAIHZvaWQgV2ViUGFnZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgp
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExP
V0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxl
LCB3aWxsIHJldHJ5IGluICVsbGQgbXMiLCB0aGlzLCBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KG5l
d0ludGVydmFsLmNvdW50KCkpKTsKKyAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCIl
cCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxs
IHJldHJ5IGluICUuM2YgcyIsIHRoaXMsIG5ld0ludGVydmFsLnZhbHVlKCkpOwogICAgIG1fbGF5
ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRpbmcobmV3SW50ZXJ2YWwpOwogfQogCkBAIC0y
MDkxLDcgKzIwOTEsNyBAQCB2b2lkIFdlYlBhZ2U6Om1hcmtMYXllcnNWb2xhdGlsZShzdGQ6OmZ1
bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKQogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiJXAgLSBGYWlsZWQgdG8gbWFyayBhbGwg
bGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQgbXMiLCB0aGlzLCBpbml0aWFs
TGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5jb3VudCgpKTsKKyAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdp
bGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50
ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGlu
Zyhpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCk7CiB9CiAKQEAgLTI1MzAsNyAr
MjUzMCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlSXNJbldpbmRvdyhib29sIGlzSW5pdGlhbFN0
YXRlKQogICAgICAgICAvLyBpbiBvcmRlciB0byBnZXQgcGx1Zy1pbiBjb25uZWN0aW9ucywgYW5k
IHRoZSBVSSBwcm9jZXNzIHdpbGwgYmUgd2FpdGluZyBmb3IgdGhlIFdlYiBwcm9jZXNzIHRvIHVw
ZGF0ZSB0aGUgYmFja2luZwogICAgICAgICAvLyBzdG9yZSBhZnRlciBtb3ZpbmcgdGhlIHZpZXcg
aW50byBhIHdpbmRvdywgdW50aWwgaXQgdGltZXMgb3V0IGFuZCBwYWludHMgd2hpdGUuIFNlZSA8
cmRhcjovL3Byb2JsZW0vOTI0Mjc3MT4uCiAgICAgICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVu
SW5XaW5kb3cpCi0gICAgICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIAogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYWdlRGlkRW50ZXJXaW5k
b3cobV9wYWdlSUQpOwogICAgIH0KQEAgLTMwMzcsNyArMzAzNyw3IEBAIHZvaWQgV2ViUGFnZTo6
dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjZW5k
aWYKIAogICAgIHNldHRpbmdzLnNldFN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyhzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN1cHByZXNzZXNJbmNyZW1l
bnRhbFJlbmRlcmluZ0tleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6OmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0
S2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9u
VGltZW91dChTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjppbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEtleSgpKSkpOwogICAg
IHNldHRpbmdzLnNldEJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJs
ZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldFdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5n
QmVoYXZpb3Ioc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3YW50
c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2aW9yS2V5KCkpKTsKICAgICBzZXR0aW5ncy5z
ZXRDYXJldEJyb3dzaW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OmNhcmV0QnJvd3NpbmdFbmFibGVkS2V5KCkpKTsKQEAgLTMxMTAsNyArMzExMCw3
IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNT
dG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3Muc2V0QWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxv
d1Njcm9sbChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsd2F5
c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGxLZXkoKSkpOwogCiAgICAgc2V0dGluZ3Muc2V0
UGFzc3dvcmRFY2hvRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OnBhc3N3b3JkRWNob0VuYWJsZWRLZXkoKSkpOwotICAgIHNldHRpbmdzLnNldFBhc3N3
b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpwYXNzd29yZEVjaG9EdXJhdGlvbktleSgpKSk7CisgICAgc2V0dGluZ3Mu
c2V0UGFzc3dvcmRFY2hvRHVyYXRpb24oU2Vjb25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6cGFzc3dvcmRFY2hvRHVyYXRpb25LZXkoKSkpKTsKICAgICAK
ICAgICBzZXR0aW5ncy5zZXRMYXlvdXRJbnRlcnZhbChTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpsYXlvdXRJbnRlcnZhbEtleSgpKSkpOwogICAg
IHNldHRpbmdzLnNldE1heFBhcnNlRHVyYXRpb24oc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXko
V2ViUHJlZmVyZW5jZXNLZXk6Om1heFBhcnNlRHVyYXRpb25LZXkoKSkpOwpAQCAtMzg0NCw3ICsz
ODQ0LDcgQEAgdm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZp
ZXcpCiAgICAgbV9oYXNTZWVuUGx1Z2luID0gdHJ1ZTsKICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQ
U0hPVFRFRF9QTFVHSU5fSEVVUklTVElDKQogICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVn
LUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBhZGRQbHVnaW5WaWV3KCVw
KSIsIHBsdWdpblZpZXcpOwotICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVk
UGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtNDM4MSw3ICs0
MzgxLDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wg
bWF5U3RhcnRNZWRpYSkKIAogICAgIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9IG1heVN0
YXJ0TWVkaWE7CiAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyAmJiBtX3BhZ2Ut
PmlzSW5XaW5kb3coKSkKLSAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBXZWJQYWdlOjpydW5Nb2RhbCgpCkBAIC01MTU5LDcgKzUxNTksNyBAQCB2
b2lkIFdlYlBhZ2U6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUqIGZyYW1lKQogCiAgICAgbV9yZWFk
eVRvRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbiA9IHRydWU7CiAgICAgTE9HKFBsdWdpbnMs
ICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGRp
ZEZpbmlzaExvYWQgKG1hcmtpbmcgYXMgcmVhZHkgdG8gZGV0ZWN0KS4iKTsKLSAgICBtX2RldGVy
bWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlmCkBAIC01MTcxLDcgKzUx
NzEsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luU2VhcmNo
QnVja2V0U2l6ZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luTWluaW11bVdpZHRoID0gNDAwOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5NaW5pbXVtSGVpZ2h0ID0gMzAwOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFBy
aW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzID0gMjsKLXN0YXRpYyBjb25z
dCBpbnQgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDM7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRl
dGVjdGlvbkRlbGF5ID0gM19zOwogc3RhdGljIGNvbnN0IGZsb2F0IG92ZXJsYXBwaW5nSW1hZ2VC
b3VuZHNTY2FsZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtT3ZlcmxhcHBpbmdJ
bWFnZVRvUGx1Z2luRGltZW5zaW9uU2NhbGUgPSAuOTsKIApAQCAtNTI3OSw3ICs1Mjc5LDcgQEAg
dm9pZCBXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgIGlm
ICghY2FuZGlkYXRlUGx1Z0luKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVn
LUluIERldGVjdGlvbjogZmFpbCAtIGRpZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBwbHVnLWluLiIp
OwogICAgICAgICBpZiAobV9udW1iZXJPZlByaW1hcnlTbmFwc2hvdERldGVjdGlvbkF0dGVtcHRz
IDwgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMpIHsKLSAgICAg
ICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRl
bXB0IGFnYWluIGluICVkcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVj
dGlvbkRlbGF5KTsKKyAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERl
dGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICUuM2ZzLiIsIGRlZmVycmVkUHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAgICAgICBtX2Rl
dGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChkZWZlcnJl
ZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAppbmRleCA2OTMwNTNmN2Q4MmJhNGY5ZTg5ZWNkMTY5N2M4YTE2ZGI4YWJjMjQxLi5jZTY4OWRm
YjUwZTU5MDYwODJiYTc2ZjU1NzliNGZiYjI4NWNmYzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTMwMCw3ICszMDAsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEFj
dGl2ZVBvcHVwTWVudShXZWJQb3B1cE1lbnUqKTsKIAotICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1p
dCkKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNl
Y29uZHMgbGltaXQpCiAgICAgewogICAgICAgICBtX3BhZ2UtPnNldFRpbWVyQWxpZ25tZW50SW50
ZXJ2YWxJbmNyZWFzZUxpbWl0KGxpbWl0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1t
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYS5tbQppbmRleCA1OTRkOTAwZWZmMDIyMGY4M2NkYWYwYzNmZDk4YjllYmY3MTky
YmNkLi5iYzA5ZmU0OTZjYWJjMmFlODFlMDNhZjg5N2ZlMGU2MDczYWJhZDJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTI4NSw3ICsyODUsNyBAQCBUaWxlZEJh
Y2tpbmcqIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjptYWluRnJhbWVUaWxlZEJhY2tpbmco
KSBjb25zdAogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBv
c2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5KCkKIHsKLSAgICBtX2xheWVyRmx1c2hUaW1lci5z
dGFydE9uZVNob3QoMG1zKTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3Np
dGluZ0xheWVyRmx1c2goKQpAQCAtMzA0LDkgKzMwNCw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKICAgICBpZiAobV9s
YXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3Qg
YXV0byBpbml0aWFsRmx1c2hEZWxheSA9IDUwMG1zOwotICAgIGNvbnN0IGF1dG8gZmx1c2hEZWxh
eSA9IDE1MDBtczsKLSAgICBhdXRvIHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVy
Rmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hE
ZWxheSA6IGZsdXNoRGVsYXkpIDogMG1zOworICAgIGNvbnN0IFNlY29uZHMgaW5pdGlhbEZsdXNo
RGVsYXkgPSAwLjVfczsKKyAgICBjb25zdCBTZWNvbmRzIGZsdXNoRGVsYXkgPSAxLjVfczsKKyAg
ICBTZWNvbmRzIHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/ICht
X2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNo
RGVsYXkpIDogMF9zOwogICAgIG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA9IGZhbHNl
OwogCiAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxlRGVsYXkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggNThkOGE5YWNi
MGMzZDhhNmU2NDA5NGZlZmJlOTYyMDJiODRlNjFlOS4uNmQ4NTRiNDg1NTZjNjU0YmM3NDNlNmQx
MWRhZDkyNGQwMjVkYzM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhLm1tCkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYTo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShBY3Rpdml0eVN0YXRlOjpGbGFncwogICAgIH0K
IAogICAgIGlmIChtX3dhbnRzRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZSB8fCAhbV9uZXh0QWN0aXZp
dHlTdGF0ZUNoYW5nZUNhbGxiYWNrSURzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZW5kRGlkVXBk
YXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kRGlk
VXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBkZDAw
YTE4ZDliNjIxNjVkOTM2MmE5ODJlNGZlNzY1ODg3MWU1MTlhLi4xMzhjMjE2MjFiNDYyYzMxMjkw
MDFkMjU0ZTlhY2FlY2QyZGFjNjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKQEAgLTE0Miw3ICsxNDIsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHN0
YXRpYyBjb25zdCBkb3VibGUgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJl
c2hvbGQgPSAyOSAqIDI0ICogNjAgKiA2MDsKIAogLy8gVGhpcyBzaG91bGQgYmUgZ3JlYXRlciB0
aGFuIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0IGluIFRpbGVDb250cm9sbGVyLgotc3RhdGljIGNv
bnN0IGRvdWJsZSBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IDEwOworc3RhdGljIGNv
bnN0IFNlY29uZHMgbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSBTZWNvbmRzKDEwKTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTIxMSw3ICsyMTEsNyBAQCBXZWJQcm9jZXNzOjpX
ZWJQcm9jZXNzKCkKICAgICAgICAgaWYgKG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAKLSAgICAgICAgbV9zdGF0aXN0aWNz
Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6c2Vjb25kcyg1KSk7CisgICAg
ICAgIG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoNV9zKTsKICAgICB9KTsK
IH0KIApAQCAtNTM4LDcgKzUzOCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1
aW50MzJfdCBjbSkKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVu
c2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERl
YWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsOwogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogICAg
IGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoY2FjaGVNb2RlbCwgY2FjaGVUb3RhbENhcGFjaXR5
LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBhZ2VDYWNoZVNpemUpOwogCkBAIC0xMjQ0LDEwICsxMjQ0
LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNv
cmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvCiAgICAgfQogfQogCi12b2lkIFdlYlByb2Nl
c3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNl
Y29uZHMpCit2b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNy
ZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiB7CiAgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdl
TWFwLnZhbHVlcygpKQotICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5n
SW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kcykpOwor
ICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChs
aW1pdCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0MWJmZDU0ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFhMWYyN2I1
YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3NTY2ZGIzODM0ZWY3YzRmOTA3YzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0xODgsNyArMTg4LDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygpOwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdl
VGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChpbnQgbWlsbGlzZWNvbmRzKTsKKyAgICB2b2lk
IHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAg
ICAgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmRJbW1pbmVudGx5KGJvb2wmIGhhbmRsZWQpOwogICAg
IHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDZkNzZlNTgzMjZlZDM1MjRhYWM1YTk4NmM0
OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4YTZlNGE5NzA2YjFmYzFkNjY5YjFlMWM2Yjc4MjAyODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZl
ciB7CiAgICAgRGVsZXRlV2Vic2l0ZURhdGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwg
T3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBzdGQ6
OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50IG1vZGlmaWVkU2luY2UpIC0+ICgpCiAg
ICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywg
VmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2lucykgLT4gKCkKIAotICAg
IFNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29u
ZHMpCisgICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25k
cyBsaW1pdCkKICAgICBTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBTZXRRT1MoaW50IGxhdGVuY3lRT1MsIGludCB0aHJvdWdo
cHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGZmNTA2ZDYxNjk0MzQ1MWQ1YTMzY2MwNzBjZmI1Njk4MWU1ZjY0YTMuLmY2ZTViMmYwOTY1
Yjk3MGMxMGRkNGZkYWQwYmM3NDliZWZhZWM0MDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNi0xMS0yNyAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGlt
ZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJv
dGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRo
ZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhl
IHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVk
IGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUg
bGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9SdW5Mb29wLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE2
LTExLTI2ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IE1pZ3JhdGUgc29tZSBsYXlvdXQgdGltZXItcmVsYXRlZCBjb2RlIGZyb20gc3RkOjpjaHJvbm8g
dG8gU2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9SdW5Mb29wLmNwcAppbmRleCAxZGM3ZTkzOGE3NmU5OTRiZTk3Njk4ZWU4MDVjYzZmZmVkNmZl
M2RiLi41YTQ4OTI4ZmNiNWYwODIxNjE4YThkMmE0N2FhNTE4ZmJkZDNiNTYzIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApAQCAtOTUsNyArOTUsNyBAQCBURVNU
KFdURl9SdW5Mb29wLCBPbmVTaG90VGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1l
ciB0aW1lcih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMC4xKTsK
KyAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0
ZXN0RmluaXNoZWQpOwogICAgIH0KIH0KQEAgLTEyOSw3ICsxMjksNyBAQCBURVNUKFdURl9SdW5M
b29wLCBSZXBlYXRpbmdUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVyIHRpbWVy
KHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDEpOworICAg
ICAgICB0aW1lci5zdGFydFJlcGVhdGluZygwLjAxX3MpOwogICAgICAgICBVdGlsOjpydW4oJnRl
c3RGaW5pc2hlZCk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295455</attachid>
            <date>2016-11-27 09:55:46 -0800</date>
            <delta_ts>2016-11-27 14:21:55 -0800</delta_ts>
            <desc>Almost complete other than some Settings-related bindings issues</desc>
            <filename>bug-165079-20161127095520.patch</filename>
            <type>text/plain</type>
            <size>384291</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZDI0Njk5NmQxMTQxM2JkOGRiZjJmMTg1YzEwMTM3NGM2NGQ4NjhmLi5hMjdhZDAzOGFiZDI5N2Nh
YTQ0NzUwZGE0NTkwNDFjNmVmMjZlNTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25p
Y1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHA6CisgICAgICAg
IChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VD
b2xsZWN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6c3BlY2llc0NvbnN0cnVjdEFycmF5KToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1
enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3Rk
OjpvcHRpb25hbCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRl
eCBmYTJlNjFjZjc5NjRlMzUxYjgzMThlZGQ0NzhhNTUwZTkwODBiZGUyLi4zZTQ0OTVjYmQ5OWMx
M2RhM2NlNDc4NTUzNzZhODEwMGFlNDg0NmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTEx
LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENo
YW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6
Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBs
YWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1v
dmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBl
bnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBV
c2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIHd0Zi9SdW5Mb29w
Lmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgor
ICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAgICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6
CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYv
Y2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFy
dCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdl
bmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAg
ICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6
OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6Cisg
ICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorCiAyMDE2LTExLTI2ICBZ
dXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtXVEZdIElt
cG9ydCBzdGQ6Om9wdGlvbmFsIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBhcyBXVEY6Ok9wdGlv
bmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNjRhYTQxZTExOWYyZTBmY2FjZmM3NTM0NGM3ZmEwY2NhYTNhMzRi
MC4uOWYxMDJkM2M2YmVhNjQ4NTJkZjY5YzczNGM4ZWRkMmU1MzQ0NmI0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDUyNiBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRp
bWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdwor
ICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4K
KworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01v
bm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMu
CisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpn
ZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAg
ICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAq
IE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxl
T3BlcmF0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGlt
ZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXI6OnJhbmdlUmVtb3ZhbCk6CisgICAgICAgIChX
ZWJDb3JlOjpTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtOjpzY2hlZHVsZUFjdGl2ZVN0YXRlQ2hhbmdlKToKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRFRN
RlNlbmRlcjo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RhdGFDaGFu
bmVsOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uY3BwOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uQ2Vu
dGVyOjpyZXF1ZXN0UGVybWlzc2lvbik6CisgICAgICAgICogTW9kdWxlcy92aWJyYXRpb24vVmli
cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dmlicmF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnRpbWVyRmlyZWQpOgorICAgICAgICAqIE1vZHVsZXMv
d2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Ojpy
ZXN1bWUpOgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OmNsb3NlKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYlNvY2tldENoYW5uZWw6OnJlc3VtZSk6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6
OnBvc3ROb3RpZmljYXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25OZXh0
UnVuTG9vcCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRGYWNlOjpzZXRTdGF0dXMpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRpbmdG
b250U29vbik6CisgICAgICAgICogY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgorICAg
ICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OnNjaGVkdWxlU3R5bGVSZWNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1pbmlt
dW1UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0aW1lckFsaWdu
bWVudEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpmaW5pc2hlZFBhcnNp
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNv
b24pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZVNjaGVkdWxlZFRhc2tzKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndlYmtpdERpZEV4aXRGdWxs
U2NyZWVuRm9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGVjcmVtZW50
TG9hZEV2ZW50RGVsYXlDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQXNz
b2NpYXRlRm9ybUNvbnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldENhY2hl
ZERPTUNvb2tpZXMpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9E
b2N1bWVudEV2ZW50UXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRFdmVudFF1
ZXVlOjplbnF1ZXVlRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudFNlbmRlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKToKKyAgICAgICAg
KiBkb20vTWljcm90YXNrcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNaWNyb3Rhc2tRdWV1ZTo6
YXBwZW5kKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJ
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjptaW5p
bXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRSdW5uZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0UnVubmVyOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
UnVubmVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXI6OnNjaGVkdWxlQW5pbWF0aW9uKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6
OmRpZEhpdFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OlBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcjo6Y2xlYW5DYWNoZSk6CisgICAgICAgICog
ZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6
CisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBl
YXJhbmNlKToKKyAgICAgICAgKiBlZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTcGVsbENoZWNrZXI6OmRpZENoZWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3Jt
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OmZpbmlzaFJl
cXVlc3RBdXRvY29tcGxldGUpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rp
b24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291
cmNlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9n
cmVzc0V2ZW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YmVn
aW5TY2FubmluZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVs
ZVRpbWV1cGRhdGVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpo
YW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5F
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNw
bGF5U3RhdGUpOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6Cisg
ICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAg
ICAgKiBodG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRy
YWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAg
ICAgIChNZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6c2NoZWR1bGVFdmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxl
VGltZXVwZGF0ZUV2ZW50KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAg
ICAgICAqIGh0bWwvTWVkaWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURv
Y3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVu
dFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAg
ICAgKiBodG1sL1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJ
bnB1dFR5cGU6OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0
TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2Fn
ZURPTUFuZFN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6
OnJlcXVlc3RUb0hpZGVNZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVD
b250ZXh0KToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5r
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hl
ZHVsZUZvclJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUpOgorICAgICAgICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNw
YXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVy
RWxlbWVudDo6dXBkYXRlU2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0
VHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxl
TG9hZCk6CisgICAgICAgICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VlRUUmVnaW9uOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRh
c2s6OnNjaGVkdWxlRm9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2No
ZWR1bGVGb3IpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6
OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRh
c2s6OnRpbWVyRmlyZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpidWlsZEluc3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c3RhcnREYXRhTG9hZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpk
ZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVj
a0NvbXBsZXRlVGltZXIpOgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAg
ICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHA6CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBs
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
Q2FsbGJhY2spOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3Vy
Y2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2Rl
ZERhdGFJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJh
Y2s6OkNhbGxiYWNrKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25l
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVtb3J5Q2FjaGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdl
L0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVy
ZW5jZUNoYW5nZXMpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAg
IChXZWJDb3JlOjpET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RP
TVRpbWVyLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93Ojpwb3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6
OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6
CisgICAgICAgICogcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBh
Z2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRy
YWNrZXI6Ok1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11
bUR1cmF0aW9uVHJhY2tlcjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6Om1vdXNlTW92ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVs
ZUhvdmVyU3RhdGVVcGRhdGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAg
ICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJj
ZTo6c2NoZWR1bGVSZWNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnBh
cnNlRXZlbnRTdHJlYW1MaW5lKToKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmg6CisgICAg
ICAgICogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXND
b250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCk6CisgICAgICAgICogcGFn
ZS9GcmFtZS5jcHA6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpz
Y3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjplbmFi
bGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcyk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9tVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKToKKyAgICAg
ICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRM
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dEltYWdlc0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldE1pbmltdW1E
T01UaW1lckludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTZXR0aW5nczo6bWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92
ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoK
KyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpT
dXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdXNw
ZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVU
aW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJs
ZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVuZGFi
bGVUaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBl
YXRpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3Rh
cnRPbmVTaG90KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6
OnJlcGVhdEludGVydmFsTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgorICAg
ICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmljYXRp
b25UaW1lcik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAgICAo
V2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVw
ZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAgICAo
V2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRl
KToKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRlSWZO
ZWVkZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRD
aGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52
YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVy
bGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik6
CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVB
Y3RpdmVIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6bW91c2VFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRv
dy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJbmRp
Y2F0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2No
ZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJl
ZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgorICAg
ICAgICAqIHBsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29yZTo6
SHlzdGVyZXNpc0FjdGl2aXR5OjpIeXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2ViQ29y
ZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxi
YXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBh
cnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQpOgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlhbEF1
dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjph
dXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRm
b3JtL1RocmVhZFRpbWVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OlRo
cmVhZFRpbWVycyk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJlZFRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0ZWRF
dmVudExvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAgICAq
IHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NUaGFu
RnVuY3Rpb246Om9wZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpUaW1l
ckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpu
ZXh0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tDb25z
aXN0ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtleSk6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6aGVhcEluY3JlYXNlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVh
cFBvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAgICAg
ICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0YXJ0
UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90KToK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVyQmFzZTo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFz
ZTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcjo6
RGVmZXJyYWJsZU9uZVNob3RUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om1z
VG9TZWNvbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vjb25k
c1RvTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJbnRl
cnZhbE1TKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bV9sYXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29yZTo6
Vk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29u
dHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25h
cFJ1YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpz
dGFydFNjcm9sbFNuYXBUaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9H
YW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SElER2Ft
ZXBhZFByb3ZpZGVyOjpkZXZpY2VBZGRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OnN0YXJ0VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNo
ZTo6Zm9udEZvckZhbWlseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6Om5ldHdvcmtTdGF0ZUNo
YW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2NyYXRjaEJ1ZmZlcjo6c2NoZWR1bGVTY3JhdGNoQnVmZmVyUHVyZ2Up
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlv
bkdyb3VwQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDOjp1cGRhdGVPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjpzdXBwb3J0c1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrV2l0aFRvbGVyYW5jZSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVy
UG9vbDo6c2NoZWR1bGVQcnVuZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNldElz
SW5XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGls
ZVJldmFsaWRhdGlvbik6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb3ZlcmFn
ZU1hcDo6c2V0TmVlZHNVcGRhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVHcmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3ZhbCk6CisgICAgICAgIChX
ZWJDb3JlOjpUaWxlR3JpZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oOgorICAgICAgICAoV2ViQ29y
ZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjpUaWxlQ29ob3J0SW5mbyk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJT1N1cmZhY2VQb29sOjptYXJrT2xkZXJTdXJmYWNlc1B1cmdlYWJsZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAoV2ViQ29yZTo6
SU9TdXJmYWNlUG9vbDo6Q2FjaGVkU3VyZmFjZURldGFpbHM6OnJlc2V0TGFzdFVzZVRpbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3Bw
OgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldERvd25sb2FkQnVm
ZmVyaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHA6CisgICAgICAgIChW
aWRlb1JlbmRlclJlcXVlc3RTY2hlZHVsZXI6OnJlcXVlc3RSZW5kZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzZWVrKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNj
aGVkdWxlVXBkYXRlT25Db21wb3NpdG9yVGhyZWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRJbWFnZUJhY2tpbmcuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRv
ckd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JHdGs6OnNob3dPdmVybGF5U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNh
Y2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGls
ZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9T
Y3JvbGxiYXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSU9T
Ojppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgIChXZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29u
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcik6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Ny
b2xsZWRTb29uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRl
bGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50TW9jazo6c2V0TW90aW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVu
dGF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRl
UGVybWlzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFz
eW5jVXBkYXRlQ29udHJvbGxlcik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYVBsYXli
YWNrVGFyZ2V0UGlja2VyTW9jay5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrTWVk
aWFFbmRwb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6ZGlz
cGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRw
b2ludDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVk
aWFFbmRwb2ludDo6c3RlcEljZVRyYW5zcG9ydFN0YXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpz
cGVhayk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpUaW1lckV2ZW50OjpUaW1lckV2ZW50KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpETlNS
ZXNvbHZlUXVldWU6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OnRp
bWVyRmlyZWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGF0YVVSTERlY29kZXI6OkRlY29kaW5nUmVzdWx0RGlzcGF0
Y2hlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2NoZWR1bGVGYWlsdXJlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2FkaW5nKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpOZXR3b3JrU3RhdGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2spOgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKToKKyAgICAgICAg
KiByZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck1hcnF1ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hcnF1ZWU6OnVwZGF0
ZU1hcnF1ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNo
UmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6YW5p
bWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQcm9ncmVzczo6dXBk
YXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJU
aGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6Y2FyZXRCbGlua0lu
dGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzRmFk
ZUluRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJv
bHNGYWRlT3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQpOgorICAg
ICAgICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2
ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJ
bnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCk6Cisg
ICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgorICAgICAgICAqIHJl
cGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAgICAqIHJlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNl
Z21lbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVu
dDo6ZXZlbnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vy
c29yLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQ
b3NzaWJsZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9uL1NNSUxUaW1l
Q29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29udGFpbmVyOjpzdGFy
dFRpbWVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwpOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNl
dFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1Nl
bmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAgICAgICAoV2Vi
Q29yZTo6WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1
ZXN0Lmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6CisgICAgICAgICog
eG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIwMTYtMTEtMjYg
IFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW1dURl0g
SW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdURjo6T3B0
aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggZWE2ZTk4YWE3Nzg5MWMyMGI4NzNjMzdhM2E5MGE1ZDQ2N2Q0Yzhm
Ni4uZmM2ZjdlZWY2YzZkMjRkM2Q4MzU2MDViNWE4YTIzYTI2MmNiNzcwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMCBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5v
dCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVy
cyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAg
ICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKwor
ICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90
b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisK
KyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVJdGVtRm9yU3luYyk6CisgICAgICAgIChXZWJLaXQ6
OlN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbGVhcik6CisgICAgICAgIChXZWJLaXQ6OlN0b3Jh
Z2VBcmVhU3luYzo6c2NoZWR1bGVDbG9zZURhdGFiYXNlKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCk6CisgICAgICAgICogU3RvcmFnZS9TdG9yYWdl
VHJhY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJh
Y2tlcik6CisgICAgICAgICogU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oOgorICAgICAgICAoV2Vi
S2l0OjpTdG9yYWdlVHJhY2tlcjo6c3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAg
ICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNw
cDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6c2NoZWR1bGVTZXJ2ZVBlbmRp
bmdSZXF1ZXN0cyk6CisKIDIwMTYtMTEtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBn
bWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gV1RGOjpUZW1wb3JhcnlDaGFuZ2Ugd2l0aCBXVEY6
OlNldEZvclNjb3BlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNjZlNGUyN2EzYTgwYjhhYjEzOGZmMDYx
OTIwY2ZiZTFlMjc5ZjUwNi4uODI4OWM0NjM1YTJmYWZjMWI4ZmJkNWYyODZkMjgzNmFhOWRjZWY1
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTExLTI3ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMg
dG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBU
aW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1
bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3Rk
OjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBlbnRyYWluZWQgY29k
ZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBVc2UgdGltZSBsaXRl
cmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIFBsdWdpbnMvSG9zdGVkL05ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5OjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QpOgorICAgICAgICAqIFBsdWdpbnMv
V2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW06CisgICAgICAgIChXZWJOZXRzY2FwZVBsdWdpblN0
cmVhbTo6ZGVsaXZlckRhdGEpOgorICAgICAgICAqIFBsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5W
aWV3Lm1tOgorICAgICAgICAoUGx1Z2luVGltZXI6OnN0YXJ0KToKKyAgICAgICAgKiBTdG9yYWdl
L1dlYlN0b3JhZ2VNYW5hZ2VyLm1tOgorICAgICAgICAoK1tXZWJTdG9yYWdlTWFuYWdlciBzZXRT
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisgICAgICAg
ICgrW1dlYlZpZXcgX3NldENhY2hlTW9kZWw6XSk6CisKIDIwMTYtMTEtMjYgIFl1c3VrZSBTdXp1
a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW1dURl0gSW1wb3J0IHN0ZDo6
b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdURjo6T3B0aW9uYWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2ZTFkN2FiZTJlLi45
YTExYzIyODM2ZGExYWJiMzRhYzBkMzg2ZDJiMmQ2NThhMTI5MzYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzcgQEAKKzIwMTYtMTEtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBU
aW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcK
KyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMu
CisKKyAgICAgICAgQ29udmVydCBzb21lIGVudHJhaW5lZCBjb2RlIGNvZGUgdG8gU2Vjb25kcy9N
b25vdG9uaWNUaW1lLgorCisgICAgICAgIFVzZSB0aW1lIGxpdGVyYWxzIGluIG1vcmUgcGxhY2Vz
LgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6CisgICAgICAgICog
UGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAgICAgKiBQbHVnaW5z
L1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luUGFja2FnZTo6ZnJl
ZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblN0cmVhbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAgICAgICAgKiBQbHVn
aW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6cmVxdWVz
dFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6c2NoZWR1bGVSZXF1
ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldEphdmFTY3JpcHRQYXVzZWQp
OgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6a2VlcEFsaXZlKToKKyAgICAgICAgKiBQ
bHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5
ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3OjpjbG9z
ZVdpbmRvd1Nvb24pOgorICAgICAgICAoV2ViVmlldzo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwp
OgorCiAyMDE2LTExLTI2ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgog
CiAgICAgICAgIFtXVEZdIEltcG9ydCBzdGQ6Om9wdGlvbmFsIHJlZmVyZW5jZSBpbXBsZW1lbnRh
dGlvbiBhcyBXVEY6Ok9wdGlvbmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWExMmQ3NzllMmE2OThlMjQ0YzM0
NjJkOWM4MjY5MWI0MDI4ZGM4Zi4uYjI5MDJhYjIxZTM0ODQwM2FiNTIzZmZmMmZhNTIyNDk2YjZm
YTViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3NSBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRv
IHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGlt
ZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5j
dGlvbnMgdGFraW5nIHJhdworICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6
Y2hyb25vIG92ZXJsb2Fkcy4KKworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUg
Y29kZSB0byBTZWNvbmRzL01vbm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJh
bHMgaW4gbW9yZSBwbGFjZXMuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0
YVRhc2suY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFp
bHVyZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrTG9hZDo6VGhyb3R0bGU6OlRocm90dGxlKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0xvYWQ6OmRpZFJlY2VpdmVSZXNwb25zZU5ldHdvcmtTZXNzaW9uKToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzczo6bG9hZFRocm90dGxlTGF0ZW5jeSk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9hZCk6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpkaXNwYXRjaFJlYWRPcGVyYXRpb24pOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OnN0b3JlKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSk6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL0FyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25v
dG9uaWNUaW1lPjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9u
aWNUaW1lPjo6ZGVjb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6
ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2RlKToK
KyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBQbGF0
Zm9ybS9JUEMvQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9tYWMvQ29ubmVj
dGlvbk1hYy5tbToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6
OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKToKKyAgICAgICAgKElQQzo6Q29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9n
KToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6dGVybWluYXRlU29vbik6CisgICAgICAgICog
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5Db250cm9sbGVyUHJveHk6OmRlc3Ryb3kpOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Db250cm9sbGVyUHJveHk6OnN0YXJ0UGFpbnRUaW1lcik6CisgICAgICAgICogUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6
c2V0TWluaW11bUxpZmV0aW1lKToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2FjaGVNb2RlbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMpOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVs
Lmg6CisgICAgICAgICogU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkNoaWxkUHJvY2Vzczo6Q2hpbGRQcm9jZXNzKToKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9j
ZXNzLmg6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzczo6c2V0VGVybWluYXRpb25UaW1l
b3V0KToKKyAgICAgICAgKiBTaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmg6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6Cisg
ICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6IERlbGV0
ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6
IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZSk6
IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZSk6
IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oOgorICAg
ICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6V2ViTWVtb3J5U2FtcGxlcik6CisgICAgICAgIChXZWJLaXQ6OldlYk1l
bW9yeVNhbXBsZXI6OnN0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
aW5pdGlhbGl6ZVRpbWVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OnN0
b3BUaW1lckZpcmVkKToKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oOgorICAg
ICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICog
U2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6bGFzdERpc3BsYXlUaW1lKToKKyAgICAgICAgKiBTaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheSk6CisgICAgICAgICogU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaDoKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0
b3JlVm9sYXRpbGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOgorICAgICAgICAoQVBJOjpT
aGFyZWRKU0NvbnRleHQ6OmVuc3VyZUNvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHA6Cisg
ICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZVNjaGVkdWxlVXBkYXRlQWN0aXZpdHlTdGF0ZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzUHJveHk6OnNodXREb3duUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlv
blN0YXRlOjpkaWRDaGFuZ2VJc0xvYWRpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9W
aWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNv
bnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2cpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRy
YXdpbmdBcmVhUHJveHk6OnNldFZpZXdFeHBvc2VkUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQ
cm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3RvcmVTb29uKToKKyAgICAgICAgKFdlYktpdDo6RHJh
d2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydCk6CisgICAgICAgIChXZWJL
aXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RvcCk6CisgICAgICAg
IChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdyk6
CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNz
L1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
bkluZm9DYWNoZTo6dXBkYXRlUGx1Z2luSW5mbyk6CisgICAgICAgICogVUlQcm9jZXNzL1Byb2Nl
c3NUaHJvdHRsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVy
LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlZpc2l0ZWRMaW5rU3RvcmU6OmFkZFZpc2l0ZWRMaW5rSGFzaCk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV9oaWRk
ZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1p
dCk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHA6Cisg
ICAgICAgIChUZXh0Q2hlY2tlckNsaWVudEVmbDo6dXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdl
cyk6CisgICAgICAgIChUZXh0Q2hlY2tlckNsaWVudEVmbDo6Y2FsbENvbnRpbnVvdXNTcGVsbENo
ZWNraW5nQ2hhbmdlQ2FsbGJhY2tBc3luYyk6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9HZXN0
dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVyOjpE
cmFnR2VzdHVyZTo6YmVnaW4pOgorICAgICAgICAoV2ViS2l0OjpHZXN0dXJlQ29udHJvbGxlcjo6
Wm9vbUdlc3R1cmU6OnNjYWxlQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJQ
b3B1cE1lbnVQcm94eUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudVByb3h5
R3RrOjptZW51VW5tYXBwZWRDYWxsYmFjayk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViS2l0OjptYXhpbXVtQnVmZmVyaW5nVGltZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUludGVybmFsbHlG
YWlsZWRMb2FkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50
aW1lT2JqZWN0TWFwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TlBSdW50aW1lT2JqZWN0TWFwOjph
ZGRUb0ludmFsaWRhdGlvblF1ZXVlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdp
bjo6VGltZXI6OnN0YXJ0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdp
blN0cmVhbTo6ZGVsaXZlckRhdGFUb1BsdWdpbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6
OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5W
aWV3Ojpsb2FkVVJMKToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpB
Y2NlbGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVTb29u
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdDb29y
ZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0OjpzY2hlZHVsZUxheWVyRmx1c2gpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6
OnNjaGVkdWxlRGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6Om1hcmtMYXllcnNWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnVwZGF0ZUlzSW5XaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVm
ZXJlbmNlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdpblZpZXcpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6CisgICAgICAgICgp
OiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFz
ZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVseSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5n
TGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRDYWNoZU1v
ZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhy
b3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAxNi0x
MS0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXggdGhlIGlPUyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdlNmViNTBh
YzRiMDY0NWNjOWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFjOTU3NTNl
MTk5MTE3MmE0NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyAr
NzMsNyBAQCB2b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VD
b2xsZWN0aW9uKEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNvbGxlY3Rp
b25FdmVudHNUYXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAKaW5kZXggYWQ1ZGNlMjQ1ODZjNGIzMWNkZTU5NWJhMmIxZjdm
NmUzMGIzNzFhOS4uYTNlNTkxZTAwOWYxNGRlOGMwZTNlYjU3NTRkODJjNmY1MDMxYWQzYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApA
QCAtMjIzLDEzICsyMjMsMTMgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgc3RkOjpwYWlyPFNwZWNp
ZXNDb25zdHJ1Y3RSZXN1bHQsIEpTT2JqZWN0Kj4gc3BlY2llc0NvbnN0cnUKICAgICAgICAgaWYg
KGNvbnN0cnVjdG9yLmlzQ29uc3RydWN0b3IoKSkgewogICAgICAgICAgICAgSlNPYmplY3QqIGNv
bnN0cnVjdG9yT2JqZWN0ID0ganNDYXN0PEpTT2JqZWN0Kj4oY29uc3RydWN0b3IpOwogICAgICAg
ICAgICAgaWYgKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSAhPSBjb25zdHJ1Y3Rvck9iamVj
dC0+Z2xvYmFsT2JqZWN0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWly
KFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTs7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQ6OkZhc3RQ
YXRoLCBudWxscHRyKTsKICAgICAgICAgfQogICAgICAgICBpZiAoY29uc3RydWN0b3IuaXNPYmpl
Y3QoKSkgewogICAgICAgICAgICAgY29uc3RydWN0b3IgPSBjb25zdHJ1Y3Rvci5nZXQoZXhlYywg
ZXhlYy0+cHJvcGVydHlOYW1lcygpLnNwZWNpZXNTeW1ib2wpOwogICAgICAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgZXhjZXB0aW9uUmVzdWx0KCkpOwogICAgICAgICAgICAgaWYg
KGNvbnN0cnVjdG9yLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2Vf
cGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpG
YXN0UGF0aCwgbnVsbHB0cik7CiAgICAgICAgIH0KICAgICB9IGVsc2UKICAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgZXhjZXB0aW9uUmVzdWx0KCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvUnVuTG9vcC5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCmluZGV4IDU1
NWQ0NDczMWNmMzA4YmNiZDllZWJkZmJlNjViMjFmZGFhNThlZGUuLjYzZDBjNzk5OTFlZDkyZDY4
OGU1Yjk4YjUxY2JmYzQ3NDdjMzgzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxv
b3AuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKQEAgLTg4LDEwICs4OCw4IEBAIHB1
YmxpYzoKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGV4cGxpY2l0IFRpbWVyQmFzZShSdW5M
b29wJik7CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2aXJ0dWFsIH5UaW1lckJhc2UoKTsK
IAotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBz
dGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1ZSk7IH0KLSAgICAgICAgdm9pZCBzdGFydFJlcGVhdGlu
ZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0
aW5nKHJlcGVhdEludGVydmFsLmNvdW50KCkgKiAwLjAwMSk7IH0KLSAgICAgICAgdm9pZCBzdGFy
dE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KLSAg
ICAgICAgdm9pZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZh
bCkgeyBzdGFydChpbnRlcnZhbC5jb3VudCgpICogMC4wMDEsIGZhbHNlKTsgfQorICAgICAgICB2
b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0
SW50ZXJ2YWwsIHRydWUpOyB9CisgICAgICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50
ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQogCiAgICAgICAgIFdURl9FWFBPUlRf
UFJJVkFURSB2b2lkIHN0b3AoKTsKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdDsKQEAgLTEwMyw3ICsxMDEsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAg
IHByaXZhdGU6Ci0gICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJsZSBu
ZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CisgICAgICAgIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOwogCiAg
ICAgICAgIFJ1bkxvb3AmIG1fcnVuTG9vcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UnVuTG9vcFRpbWVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaAppbmRleCAzNzgw
ZTc2YzAzMTMxMDRhZWM3ZmQ3OTczMjNlYjQxMDRmODNlNTk3Li42YzRmZDZlYzFhODA1YzQxMzQw
NjBmNDdlNzY0NjQ4ZDQ3YWQ3OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29w
VGltZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaApAQCAtNDUsMTAgKzQ1
LDEwIEBAIHB1YmxpYzoKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzY2hlZHVsZShjb25z
dCBTY2hlZHVsZVBhaXIqKTsKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzY2hlZHVsZShj
b25zdCBTY2hlZHVsZVBhaXJIYXNoU2V0Jik7CiAKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKTsK
KyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2
YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVy
dmFsKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChp
bnRlcnZhbCwgMCk7IH0KKyAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQorICAgIHZv
aWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDBfcyk7
IH0KIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0b3AoKTsKICAgICBib29sIGlzQWN0
aXZlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5j
cHAgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKaW5kZXggZWE2NWNiYjUzMmUy
M2JhN2JmOTU3M2MzMWI3Y2FiYjNiODlhOThjYi4uMDg1Y2JhNjNjY2Q0NmVlMGVhZGZlMTk3OWM4
ODUyMGVmZTViZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0Yu
Y3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcApAQCAtNTIsMTIgKzUy
LDEyIEBAIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYsIHZvaWQqIGNv
bnRleHQpCiAgICAgdGltZXItPmZpcmVkKCk7CiB9CiAKLXZvaWQgUnVuTG9vcFRpbWVyQmFzZTo6
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3Zv
aWQgUnVuTG9vcFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNv
bmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmIChtX3RpbWVyKQogICAgICAgICBDRlJ1bkxv
b3BUaW1lckludmFsaWRhdGUobV90aW1lci5nZXQoKSk7CiAgICAgQ0ZSdW5Mb29wVGltZXJDb250
ZXh0IGNvbnRleHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBtX3RpbWVyID0gYWRvcHRD
RihDRlJ1bkxvb3BUaW1lckNyZWF0ZSgwLCBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIG5l
eHRGaXJlSW50ZXJ2YWwsIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4
dCkpOworICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJz
b2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJ
bnRlcnZhbC52YWx1ZSgpLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkpOwogfQogCiB2b2lk
IFJ1bkxvb3BUaW1lckJhc2U6OnNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpciogc2NoZWR1bGVQ
YWlyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcCBiL1NvdXJj
ZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKaW5kZXggN2U4NDBkZDUyZGY4Y2Y2MDRhZjE4YTk4
NmRlOTIzZTg3MjkyNDQ2Mi4uOTZlNzhkYjM2NTEwMzBjMzI1NDMxMzEwZmZhYmY5NWU1ZjU0OThm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCkBAIC0xMDEsMTQgKzEwMSwxNCBAQCBSdW5Mb29w
OjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkK
K3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWws
IGJvb2wgcmVwZWF0KQogewogICAgIGlmIChtX3RpbWVyKQogICAgICAgICBzdG9wKCk7CiAgICAg
CiAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAg
fTsKLSAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJl
SW50ZXJ2YWwgOiAwOwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRl
KGtDRkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZp
cmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7
CisgICAgQ0ZUaW1lSW50ZXJ2YWwgcmVwZWF0SW50ZXJ2YWwgPSByZXBlYXQgPyBuZXh0RmlyZUlu
dGVydmFsLnZhbHVlKCkgOiAwOworICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVy
Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsg
bmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJl
ZCwgJmNvbnRleHQpKTsKICAgICBDRlJ1bkxvb3BBZGRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29w
LmdldCgpLCBtX3RpbWVyLmdldCgpLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9lZmwvUnVuTG9vcEVmbC5jcHAKaW5kZXggNWRmYzI5MDNlOGI0ZDEwNzQzYjUyOWY0YzBjNzRj
Njc1MGRhZTU5Ni4uNjBmYzJiMjkwMTk3ZDllOWZkYWE5MGI5ZTI2NWFiMGI1YmZiMjU5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCisrKyBiL1NvdXJjZS9X
VEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcApAQCAtMTA1LDE0ICsxMDUsMTQgQEAgYm9vbCBSdW5M
b29wOjpUaW1lckJhc2U6OnRpbWVyRmlyZWQodm9pZCogZGF0YSkKICAgICByZXR1cm4gdGltZXIt
Pm1faXNSZXBlYXRpbmcgPyBFQ09SRV9DQUxMQkFDS19SRU5FVyA6IEVDT1JFX0NBTExCQUNLX0NB
TkNFTDsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIGlmIChpc0FjdGl2
ZSgpKQogICAgICAgICBzdG9wKCk7CiAKICAgICBtX2lzUmVwZWF0aW5nID0gcmVwZWF0OwogICAg
IEFTU0VSVCghbV90aW1lcik7Ci0gICAgbV90aW1lciA9IGVjb3JlX3RpbWVyX2FkZChuZXh0Rmly
ZUludGVydmFsLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0
aGlzKTsKKyAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwudmFs
dWUoKSwgcmVpbnRlcnByZXRfY2FzdDxFY29yZV9UYXNrX0NiPih0aW1lckZpcmVkKSwgdGhpcyk7
CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwIGIvU291cmNlL1dURi93dGYvZ2Vu
ZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKaW5kZXggOWEzYzA5YTg1MTA3MTMwMmUxMmE1ZTk0MTY3
ZWM3YjVmZGEyNjYzOC4uZmQyNzVjNTMwMDI2M2ViOTg5NWFhYTYyNzQzZTJiNWQ0Njc3MGVhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKQEAgLTI2MywxMiAr
MjYzLDEyIEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwog
fQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIGludGVydmFsLCBib29s
IHJlcGVhdGluZykKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIGludGVy
dmFsLCBib29sIHJlcGVhdGluZykKIHsKICAgICBzdG9wKCk7CiAgICAgbV9zY2hlZHVsZWRUYXNr
ID0gU2NoZWR1bGVkVGFzazo6Y3JlYXRlKFt0aGlzXSB7CiAgICAgICAgIGZpcmVkKCk7Ci0gICAg
fSwgU2Vjb25kcyhpbnRlcnZhbCksIHJlcGVhdGluZyk7CisgICAgfSwgaW50ZXJ2YWwsIHJlcGVh
dGluZyk7CiAgICAgbV9ydW5Mb29wLnNjaGVkdWxlQW5kV2FrZVVwKG1fc2NoZWR1bGVkVGFzayk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwIGIv
U291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKaW5kZXggOTI3Y2UzMjU0ZjhiNTYy
NzhiYTZiN2ZmMDIxYzBkZjBhYTVmMzIxNi4uZDYwNWM1MmI4YzdjYzQwZTBlNGE3NTk3MzRkNDY4
NzgxMzYzM2EzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKQEAgLTE5MCw5ICsx
OTAsOSBAQCB2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6dXBkYXRlUmVhZHlUaW1lKCkKICAgICBn
X3NvdXJjZV9zZXRfcmVhZHlfdGltZShtX3NvdXJjZS5nZXQoKSwgdGFyZ2V0VGltZSk7CiB9CiAK
LXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgZmlyZUludGVydmFsLCBib29s
IHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIGZpcmVJbnRl
cnZhbCwgYm9vbCByZXBlYXQpCiB7Ci0gICAgYXV0byBpbnRlcnZhbER1cmF0aW9uID0gc3RkOjpj
aHJvbm86OmR1cmF0aW9uPGRvdWJsZT4oZmlyZUludGVydmFsKTsKKyAgICBhdXRvIGludGVydmFs
RHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwudmFs
dWUoKSk7CiAgICAgYXV0byBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRz
OjptYXgoKTsKICAgICBpZiAoaW50ZXJ2YWxEdXJhdGlvbiA8IHNhZmVEdXJhdGlvbikKICAgICAg
ICAgc2FmZUR1cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86
Om1pY3Jvc2Vjb25kcz4oaW50ZXJ2YWxEdXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5j
cHAKaW5kZXggNGI0NWFkNDU4OWY3OGQ1YzNjYTBiZWVmOGNlMWYxNDhiZWVjMDAxNy4uZWEwMjFm
N2RiNGNhMmEyOGIxOWRmMzRlMzU5ZTEyMTc2ZTRjYjcxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvd2luL1J1bkxvb3BXaW4uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29w
V2luLmNwcApAQCAtMTUxLDExICsxNTEsMTEgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJC
YXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChk
b3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCit2b2lkIFJ1bkxvb3A6OlRpbWVy
QmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKIHsKICAg
ICBtX2lzUmVwZWF0aW5nID0gcmVwZWF0OwogICAgIG1fcnVuTG9vcC5tX2FjdGl2ZVRpbWVycy5z
ZXQobV9JRCwgdGhpcyk7Ci0gICAgOjpTZXRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2Fn
ZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbCAqIDEwMDAsIDApOworICAgIDo6U2V0VGlt
ZXIobV9ydW5Mb29wLm1fcnVuTG9vcE1lc3NhZ2VXaW5kb3csIG1fSUQsIG5leHRGaXJlSW50ZXJ2
YWwubWlsbGlzZWNvbmRzKCksIDApOwogfQogCiB2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3Rv
cCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xl
Z2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCAwZmFm
MjEyMDJhMTMwYjkyZTVkMTI3MDIzNjJjNDQ3YmQ4ZTcyM2RhLi42MGE5Nzc4ZmE2Njk3YWY1YjFj
MTVhNzQyN2M4MmNjNzExMmQ2Zjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5
U2Vzc2lvbi5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgY29uc3QgU3RyaW5nJiBXZWJLaXRNZWRpYUtl
eVNlc3Npb246OnNlc3Npb25JZCgpIGNvbnN0CiB2b2lkIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6
Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIFJlZjxVaW50OEFycmF5
PiYmIGluaXREYXRhKQogewogICAgIG1fcGVuZGluZ0tleVJlcXVlc3RzLmFwcGVuZCh7IG1pbWVU
eXBlLCBXVEZNb3ZlKGluaXREYXRhKSB9KTsKLSAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9rZXlSZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZCgpCkBAIC0x
NDIsNyArMTQyLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1
cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYga2V5KQogCiAgICAgLy8gMi4gU2NoZWR1bGUgYSB0YXNr
IHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJvdmlkaW5nIGtleS4KICAgICBtX3BlbmRpbmdLZXlzLmFw
cGVuZChXVEZNb3ZlKGtleSkpOwotICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICByZXR1cm4geyB9Owog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3Rp
Zmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVy
LmNwcAppbmRleCBjZWM5N2NjOTAyZTQ1MDY4OTdmZWZiZDNlYWUyZjk3OTA3YWFjYzE2Li41ODZj
NTk2ODYxZGFiNzBkZGMyYjY4NjFjMmM3MTY4MTc1OWEzNmIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcApAQCAtNTksMTMgKzU5
LDEzIEBAIHZvaWQgR2VvTm90aWZpZXI6OnNldEZhdGFsRXJyb3IoUmVmUHRyPFBvc2l0aW9uRXJy
b3I+JiYgZXJyb3IpCiAgICAgbV9mYXRhbEVycm9yID0gV1RGTW92ZShlcnJvcik7CiAgICAgLy8g
QW4gZXhpc3RpbmcgdGltZXIgbWF5IG5vdCBoYXZlIGEgemVybyB0aW1lb3V0LgogICAgIG1fdGlt
ZXIuc3RvcCgpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0
aW9uKCkKIHsKICAgICBtX3VzZUNhY2hlZFBvc2l0aW9uID0gdHJ1ZTsKLSAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29s
IEdlb05vdGlmaWVyOjpoYXNaZXJvVGltZW91dCgpIGNvbnN0CkBAIC05Miw3ICs5Miw3IEBAIHZv
aWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiB2
b2lkIEdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQoKQogewogICAgIGlmIChtX29wdGlv
bnMtPmhhc1RpbWVvdXQoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9vcHRpb25z
LT50aW1lb3V0KCkgLyAxMDAwLjApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fb3B0aW9ucy0+dGltZW91dCgpKSk7CiB9CiAKIHZvaWQg
R2VvTm90aWZpZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Z2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCmluZGV4IDg1YWU0MGY2MzQxNzUzMjcxNjcyZjNh
Mzc3ZmU5OTNkZjRhMzE4YzAuLmMwOWMzNzliMDI5NjQzZGE5MGNkOGM1NjQ3NDNhNzE1NTA2ZjBm
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwCkBAIC0xOTgsNyArMTk4LDcgQEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkK
ICAgICBBY3RpdmVET01PYmplY3Q6OnJlc3VtZSgpOwogCiAgICAgaWYgKCFtX3Jlc3VtZVRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEdlb2xvY2F0
aW9uOjpyZXN1bWVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAppbmRleCBiODMyNmFmZDMyMzA0NjEyNmE0MzUz
ZTU0NDk3YWIwYmUxOTU3NzQzLi42OTk2NzAwYzcwY2VmNjQ0NmRlNGQ5NGEzNWRmZGRmMzk0ODA1
MGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwCkBAIC0zNTAsNyArMzUwLDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6c2No
ZWR1bGVPcGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2Rh
dGFiYXNlLT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9vcGVyYXRpb25UaW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICBtX29wZXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9vcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBJREJU
cmFuc2FjdGlvbjo6b3BlcmF0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNw
cAppbmRleCBjYjA0ODYxY2M3Y2NjNWNmMmY3Y2ViYWQ3M2NkNTk3YmQyYTI3MGFhLi43MjVjYmY0
YzdlYTZhYmI4M2ExMjRiOTcyZWRlZDNiZmIyMzA2ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZS5jcHAKQEAgLTE0OTQsNyArMTQ5NCw3IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Omludm9r
ZU9wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIoKQogICAgIEFTU0VSVCghbV9oYXJkQ2xvc2Vk
Rm9yVXNlckRlbGV0ZSk7CiAKICAgICBpZiAoIW1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFu
ZFRyYW5zYWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4
IDdhMzM2OWYxMGU1MzBlNGRjODdlNzE3ZDU2NzVmNzA5MTEzYjgwZTkuLjNhMmRhNDFkMWUxNzBj
MWVkZmIzZTQ1ZmM2N2YwODM4ODM0ZTlkNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3Bw
CkBAIC0zNiw3ICszNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0
IGRvdWJsZSB0YXNrRGVsYXlJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyB0YXNrRGVsYXlJbnRlcnZhbCA9IFNlY29uZHMoMS4wIC8gMTApOwogCiBzdHJ1Y3QgQ2xp
ZW50U3RhdGUgewogICAgIGV4cGxpY2l0IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXJDbGllbnQmIGNsaWVudCwgdWludDY0X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBA
IHNpemVfdCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXJDbGllbnQqIGNsaWVudCwgdWludDY0CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6
Y29uZmlndXJlV2F0Y2hkb2dUaW1lcigpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRj
aGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25z
dCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7
CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVz
aW5nID0gU2Vjb25kcyg2MCAqIDYwKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRv
Z1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA9IFNlY29uZHMoOCAqIDYwKTsKIAogICAg
IGlmICghbV9wbGF5YmFja1RhcmdldCB8fCAhbV9wbGF5YmFja1RhcmdldC0+aGFzQWN0aXZlUm91
dGUoKSkgewogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwpAQCAtNDQyLDE0ICs0NDIs
MTQgQEAgdm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVy
KCkKICAgICB9CiAKICAgICBpZiAoc3RvcFRpbWVyKSB7Ci0gICAgICAgIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWwgPSAwOworICAgICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMF9z
OwogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwogICAgICAgICBMT0coTWVkaWEsICJX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyIC0gdGltZXIgc3Rv
cHBlZCIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGRvdWJsZSBpbnRlcnZhbCA9IGRpZFBsYXlU
b0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kIDogd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOworICAgICAgICBTZWNvbmRzIGludGVydmFsID0gZGlk
UGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgOiB3YXRj
aGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CiAgICAgICAgIGlmIChpbnRlcnZhbCAhPSBt
X2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsIHx8ICFtX3dhdGNoZG9nVGltZXIuaXNBY3RpdmUoKSkg
ewogICAgICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7Ci0g
ICAgICAgICAgICBMT0coTWVkaWEsICJXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVX
YXRjaGRvZ1RpbWVyIC0gdGltZXIgc2NoZWR1bGVkIGZvciAlLjBmIiwgaW50ZXJ2YWwpOworICAg
ICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0
Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4zZnMiLCBpbnRlcnZhbC52YWx1ZSgp
KTsKICAgICAgICAgfQogICAgICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gaW50ZXJ2
YWw7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Np
b24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCmluZGV4IDU3ZDU4ZWY5MTRjYjIzZjE5
NDAxY2NjZmVjMzhlY2UzOGVhZWE2MDkuLjI5NTA5ZTI4YzRhZmE1NGM2ZDQ2YTEzYWQzYzFmMTFi
MTZjMWEzNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9u
L1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxNZWRpYVBsYXliYWNrVGFyZ2V0PiBtX3BsYXliYWNrVGFyZ2V0
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
TW9jaz4gbV9waWNrZXJPdmVycmlkZTsKICAgICBDb25maWd1cmF0aW9uVGFza3MgbV90YXNrRmxh
Z3MgeyBOb1Rhc2sgfTsKLSAgICBkb3VibGUgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB7IDAg
fTsKKyAgICBTZWNvbmRzIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWw7CiAgICAgYm9vbCBtX2V4
dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlIHsgZmFsc2UgfTsKICAgICBib29sIG1fdGFyZ2V0
Q2hhbmdlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX21vY2tQaWNrZXJFbmFibGVkIHsgZmFsc2Ug
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNl
QnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcAppbmRleCBmNTU5ODExOGE4OGYyODAwMzE1ZDk0MTczMGFhZmMyMWUwNTUyODRiLi5k
NjRlYzYzZTM1MTQ4MTRmYWMzNTEzMGZjMTEzOTI3MjRhNjM2MGMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC0zNDgs
NyArMzQ4LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnJhbmdlUmVtb3ZhbChjb25zdCBNZWRpYVRp
bWUmIHN0YXJ0LCBjb25zdCBNZWRpYVRpbWUmIGVuZCkKICAgICAvLyA1LiBSZXR1cm4gY29udHJv
bCB0byB0aGUgY2FsbGVyIGFuZCBydW4gdGhlIHJlc3Qgb2YgdGhlIHN0ZXBzIGFzeW5jaHJvbm91
c2x5LgogICAgIG1fcGVuZGluZ1JlbW92ZVN0YXJ0ID0gc3RhcnQ7CiAgICAgbV9wZW5kaW5nUmVt
b3ZlRW5kID0gZW5kOwotICAgIG1fcmVtb3ZlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
cmVtb3ZlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyOjph
Ym9ydElmVXBkYXRpbmcoKQpAQCAtNTMzLDcgKzUzMyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNv
dXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwoY29uc3QgdW5zaWduZWQgY2hhciogZGF0
YSwKICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS51cGRhdGVzdGFydEV2ZW50KTsKIAog
ICAgIC8vIDYuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgYnVmZmVyIGFwcGVuZCBhbGdvcml0aG0u
Ci0gICAgbV9hcHBlbmRCdWZmZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hcHBlbmRC
dWZmZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJlcG9ydEV4dHJhTWVtb3J5QWxs
b2NhdGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbS5jcHAKaW5kZXggMWQ1MmE0OGE1M2RhZTI4OGM4NDcxOWZkYzFlMWVlYmQ0N2Vl
NmU1Ny4uMWY5ZjcxMDNkZTJlYzllZjE1OTY5ODIyOGYyNTAzMjJlOTk4NDA2OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKQEAg
LTM2NCw3ICszNjQsNyBAQCB2b2lkIE1lZGlhU3RyZWFtOjpzY2hlZHVsZUFjdGl2ZVN0YXRlQ2hh
bmdlKCkKICAgICBtX3NjaGVkdWxlZEFjdGl2aXR5RXZlbnRzLmFwcGVuZChFdmVudDo6Y3JlYXRl
KGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiAKICAgICBpZiAoIW1fYWN0aXZpdHlFdmVudFRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgTWVkaWFTdHJlYW06OmFjdGl2aXR5RXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCmlu
ZGV4IDVkZDJmMWU0MWNmNTEyMjk2ZDc0ZDIwYzFiZDdjNDhiYjJiMjJkNzkuLmEyYmVmYzU0NDYz
ZWJmNDM1MDFiYjYxMzhkZGVkNzUzMGRiNDRhNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcApAQCAtMTMyLDcgKzEzMiw3
IEBAIHZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KFJlZjxFdmVudD4m
JiBldmVudCkKICAgICBtX3NjaGVkdWxlZEV2ZW50cy5hcHBlbmQoV1RGTW92ZShldmVudCkpOwog
CiAgICAgaWYgKCFtX3NjaGVkdWxlZEV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9z
Y2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zY2hlZHVsZWRF
dmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNj
aGVkdWxlZEV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCmluZGV4IDA1MWM3MDE0OWFlMmRhMTJl
NjAwYTQwNTBmMDljMWVjOGJmZDU3NTYuLjJkYmNhZjFmMjFiZmQ0OTg4MDA3MGEzZDgzZGI4YWVh
ODJlMmViMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRGF0YUNoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDRGF0YUNoYW5uZWwuY3BwCkBAIC0yMzcsNyArMjM3LDcgQEAgdm9pZCBSVENEYXRhQ2hh
bm5lbDo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkKICAgICBtX3Nj
aGVkdWxlZEV2ZW50cy5hcHBlbmQoV1RGTW92ZShldmVudCkpOwogCiAgICAgaWYgKCFtX3NjaGVk
dWxlZEV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcAppbmRleCAxZTAyY2UxY2Y2N2Y2ZTRkOTEyODc1YWJmODBiMmRkZGU4
MzdhN2U3Li5iYjg3MTlkODJmNTIwODZhMGU0M2I3ZDBlODQ4YjE4MjI4ZGFkNjQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmNwcApAQCAtNzQsNyArNzQsNyBAQCBOb3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVu
dCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAgLy8gRklYTUU6IFNlZW1zIHRo
YXQgbV9ub3RpZmljYXRpb25DZW50ZXIgY2FuIGJlIG51bGwgc28gc2hvdWxkIG5vdCBiZSBjaGFu
Z2VkIGZyb20gUmVmUHRyIHRvIFJlZi4KICAgICAvLyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUg
aW4gdGhpcyBjbGFzcyBpc24ndCB0cnlpbmcgdG8gaGFuZGxlIHRoYXQgY2FzZS4KICAgICBBU1NF
UlQobV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgpKTsKLSAgICBtX3Rhc2tUaW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIG1fdGFza1RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGE5Mjk4Zjc1MjVjZTdhODg0YTA1YWUy
ZTQ3M2RlMWNhYjEwZWJmZTAuLjkyNWViOTZhMzFjMzg4ZTY2NTg3Yzk5YzU0NmRlODkzN2VmNjQ2
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgTm90aWZp
Y2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihSZWZQdHI8Vm9pZENhbGxiYWNrPiYmIGNh
bGxiYWNrKQogICAgIGNhc2UgU2VjdXJpdHlPcmlnaW46OkFsd2F5c0Rlbnk6CiAgICAgICAgIGlm
IChtX2NhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIHJlZigpOyAvLyBCYWxhbmNl
ZCBieSB0aGUgZGVyZWZzIGluIE5vdGlmaWNhdGlvbkNlbnRlcjo6c3RvcCBhbmQgTm90aWZpY2F0
aW9uQ2VudGVyOjp0aW1lckZpcmVkLgotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICB9CiAg
ICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChbY2FsbGJhY2tdKCkgewogICAgICAgICAgICAgaWYg
KGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24v
VmlicmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlv
bi5jcHAKaW5kZXggODYwOTE0MjA5YzhiYjM0MjgwNDBhYTE0ZmM5ZmNkMDNkMGRkNWM1OS4uMzNi
MDIyMGU5NDdmODQzNzA2MjdiMTYyMTFlNmVjMjQ5MDllZDFiMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCkBAIC03Niw3ICs3Niw3IEBAIGJv
b2wgVmlicmF0aW9uOjp2aWJyYXRlKGNvbnN0IFZpYnJhdGlvblBhdHRlcm4mIHBhdHRlcm4pCiAK
ICAgICBtX3BhdHRlcm4gPSBzYW5pdGl6ZWQ7CiAKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6
V2FpdGluZzsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFZp
YnJhdGlvbjo6dGltZXJGaXJlZCgpCiAgICAgICAgIG1fdmlicmF0aW9uQ2xpZW50LT52aWJyYXRl
KG1fcGF0dGVyblswXSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChtX3BhdHRlcm5bMF0gLyAxMDAwLjApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9wYXR0ZXJuWzBdKSk7CiAgICAgbV9wYXR0ZXJu
LnJlbW92ZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAppbmRleCBiZWQ5MzYyNjdkNTY4NGZjNzg4MTcwOTFmMTFmMDdjNDVlYWIz
Yjc5Li4wOGUxMmExNjAxYzhhMjRlNmFiNmMyMjQ0NjI3ZDEwYWRjNGYyOTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNTAzLDcg
KzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQogICAgICAgICBtX2NoYW5uZWwtPnJl
c3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVudHMuaXNFbXB0eSgpICYmICFtX3Jl
c3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gRmlyZSB0aGUgcGVuZGluZyBldmVu
dHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkg
SlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAg
bV9zaG91bGREZWxheUV2ZW50RmlyaW5nID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggODBkYmI0
YmEwZWUzYjJjNDczM2M4MWQyZTFiODU5N2Q4YmJlNzhjNC4uNjhjYzJjMDZiNThiM2ViMjI1ZDgw
MmRjZWZmNGM5MmYyOTE3NzlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtNjIsNyArNjIsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBUQ1BNYXhpbXVtU2VnbWVudExpZmV0
aW1lID0gMiAqIDYwLjA7Citjb25zdCBTZWNvbmRzIFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUg
PSBTZWNvbmRzKDIgKiA2MCk7CiAKIFdlYlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwo
RG9jdW1lbnQmIGRvY3VtZW50LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50JiBjbGllbnQsIFNvY2tl
dFByb3ZpZGVyJiBwcm92aWRlcikKICAgICA6IG1fZG9jdW1lbnQoJmRvY3VtZW50KQpAQCAtMjA3
LDcgKzIwNyw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6Y2xvc2UoaW50IGNvZGUsIGNvbnN0
IFN0cmluZyYgcmVhc29uKQogICAgIFJlZjxXZWJTb2NrZXRDaGFubmVsPiBwcm90ZWN0ZWRUaGlz
KCp0aGlzKTsgLy8gQW4gYXR0ZW1wdCB0byBzZW5kIGNsb3NpbmcgaGFuZHNoYWtlIG1heSBmYWls
LCB3aGljaCB3aWxsIGdldCB0aGUgY2hhbm5lbCBjbG9zZWQgYW5kIGRlcmVmZXJlbmNlZC4KICAg
ICBzdGFydENsb3NpbmdIYW5kc2hha2UoY29kZSwgcmVhc29uKTsKICAgICBpZiAobV9jbG9zaW5n
ICYmICFtX2Nsb3NpbmdUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Nsb3NpbmdUaW1lci5z
dGFydE9uZVNob3QoMiAqIFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUpOworICAgICAgICBtX2Ns
b3NpbmdUaW1lci5zdGFydE9uZVNob3QoVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSAqIDIpOwog
fQogCiB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCkBA
IC0yNjYsNyArMjY2LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUoKQogewogICAg
IG1fc3VzcGVuZGVkID0gZmFsc2U7CiAgICAgaWYgKCghbV9idWZmZXIuaXNFbXB0eSgpIHx8IG1f
Y2xvc2VkKSAmJiBtX2NsaWVudCAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuU29j
a2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSYgaGFuZGxlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggZDFlODIwNWExMTYxMmYwZGFm
ODQxMGI4ZTYzMTg5OGExZTI2YzA3NC4uMGY0ZTExYzVmYjRiMmIxMTkyZDY2ZTdlYjFhZmIyMzFm
ZTk5MTI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwCkBAIC0xMTAsOCArMTEwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKIAogLy8gUG9zdCB2YWx1ZSBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBm
b3IgcGFzc3dvcmQgZmllbGRzIG9yIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiBwYXNzd29yZCBmaWVs
ZHMgYXQgYSA0MGh6IGludGVydmFsIHRvIHRod2FydCBhbmFseXNpcyBvZiB0eXBpbmcgY2FkZW5j
ZQotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5UGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNh
dGlvbkludGVydmFsID0gMC4wMjU7Ci1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlMaXZlUmVn
aW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gMC4wMjA7CitzdGF0aWMgU2Vjb25kcyBB
Y2Nlc3NpYmlsaXR5UGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbkludGVydmFsID0gMC4w
MjVfczsKK3N0YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlm
aWNhdGlvbkludGVydmFsID0gMC4wMl9zOwogCiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9u
IEFYQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZTo6Z2V0SWdub3JlZChBWElEIGlkKSBjb25z
dAogewpAQCAtOTkzLDcgKzk5Myw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNh
dGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERvY3VtZW50KiBkb2N1CiAgICAgaWYg
KHBvc3RUeXBlID09IFBvc3RBc3luY2hyb25vdXNseSkgewogICAgICAgICBtX25vdGlmaWNhdGlv
bnNUb1Bvc3QuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKG9iamVjdCwgbm90aWZpY2F0aW9uKSk7CiAg
ICAgICAgIGlmICghbV9ub3RpZmljYXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
ICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAg
IG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxzZQog
ICAgICAgICBwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24ob2JqZWN0LCBub3RpZmljYXRpb24pOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXggYmZm
M2IwY2FlZWY4ZDRiMGQzNjFjMmNjNGIyNDlmZjA4MzU4MmUyNS4uZTZlNjU2OTBkM2IyZDFiZTRk
MTNkOTBkZGM0MDU3MWY5MjNjMTViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9H
Q0NvbnRyb2xsZXIuY3BwCkBAIC03MSw3ICs3MSw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdFNvb24oKQogdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25OZXh0
UnVuTG9vcCgpCiB7CiAgICAgaWYgKCFtX0dDVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9H
Q1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9HQ1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIEdDQ29udHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCmluZGV4IDI1NjcxYzFkZTA5YjU1MGJkNzE5YzljZjViOTU4ZTVmYjIy
NTU2NGQuLmRkYjhmOGIzYzQxODIwMTg5MGY4MGNjMGY2Y2VmM2NiZDFiYmRiMzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlLmNwcApAQCAtNDk3LDcgKzQ5Nyw3IEBAIHZvaWQgQ1NTRm9udEZh
Y2U6OnNldFN0YXR1cyhTdGF0dXMgbmV3U3RhdHVzKQogICAgIH0KIAogICAgIGlmIChuZXdTdGF0
dXMgPT0gU3RhdHVzOjpMb2FkaW5nKQotICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3Qod2ViRm9udHNTaG91bGRBbHdheXNGYWxsQmFjaygpID8gMCA6IDMpOworICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3Qod2ViRm9udHNTaG91bGRBbHdheXNGYWxsQmFjaygpID8g
MF9zIDogM19zKTsKICAgICBlbHNlIGlmIChuZXdTdGF0dXMgPT0gU3RhdHVzOjpTdWNjZXNzIHx8
IG5ld1N0YXR1cyA9PSBTdGF0dXM6OkZhaWx1cmUpCiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0
b3AoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAppbmRleCBlODQ5ODhl
YmUwNmI2ZjU2ZTIyYzdmZTI0NmM2ZGE0YmViZmI2YTJiLi40NDA0MWQ2M2E3MGJkNjllYTIyMzY0
MGJkNTBjNWEzMzJmMTU3OGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNw
cApAQCAtMzQwLDcgKzM0MCw3IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRpbmdG
b250U29vbihDYWNoZWRGb250JiBmb250KQogICAgIC8vIGFmdGVyIHRoaXMgZm9udCBoYXMgYmVl
biByZXF1ZXN0ZWQgYnV0IGJlZm9yZSBpdCBiZWdhbiBsb2FkaW5nLiBCYWxhbmNlZCBieQogICAg
IC8vIGRlY3JlbWVudFJlcXVlc3RDb3VudCgpIGluIGJlZ2luTG9hZFRpbWVyRmlyZWQoKSBhbmQg
aW4gY2xlYXJEb2N1bWVudCgpLgogICAgIG1fZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVy
KCkuaW5jcmVtZW50UmVxdWVzdENvdW50KGZvbnQpOwotICAgIG1fYmVnaW5Mb2FkaW5nVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fYmVnaW5Mb2FkaW5nVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAppbmRleCBhNzUy
ODNhMmIyN2MzZGVkOGQ5NDMxMmRlMDRhNDE1OGVlY2MyZjkzLi40ZDQwNjE3MjYzOWM0OWVmZDc3
NTJhZGZlYTNmOTNkZTVhNmY5Zjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdl
R2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMyB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZVRv
S2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9IDNfczsKIAogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZShDbGFzc1R5cGUgY2xhc3NUeXBlKQogICAgIDogQ1NT
VmFsdWUoY2xhc3NUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDkx
MzYzYzE0M2IyNmNhNDE5YWZlNGU0YmUyMjE3MzdlMTUxMWYwNGYuLmI1ODg2YTU0OWQ2Yjk1NDI1
M2M1MmZiMWZjODhlOTA3NGYxMDRkMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKQEAgLTEyMzksOCArMTIzOSw4IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVk
UHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QKICAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVBZGRpdGlvbnNCZXR3ZWVu
U3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZUFkZGl0aW9u
c1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRkaXRpb25zQmV0d2Vl
blN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5p
c0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFy
YXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAgICAgICBtX21hdGNoZWRQcm9w
ZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRjaGVkRGVjbGFyYXRpb25DYWNo
ZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1hdGNo
ZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lID0gNjBfczsKKyAgICAgICAgbV9tYXRjaGVkUHJv
cGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFydE9uZVNob3QobWF0Y2hlZERlY2xhcmF0aW9uQ2Fj
aGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAgIEFTU0VSVChoYXNoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IGI4ODA1YmU0YmRmM2JhZmQxOWRhNmVmYzYxZjI4ZWU0MzEzNjk1ZjMuLmNk
OWYzYzVlYTY5YjdkMzZhNjE5MDQ1MzUyYzY3MmZjY2VkMjFiN2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtMTI1Nyw3ICsxMjU3LDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBk
YXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICBpZiAodmlzdWFsVXBk
YXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3Rv
cCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lci5z
dGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRp
bWVvdXRJblNlY29uZHMoKSk7CisgICAgICAgIG1fdmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGlt
ZXIuc3RhcnRPbmVTaG90KHNldHRpbmdzKCktPmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Np
b25UaW1lb3V0KCkpOwogCiAgICAgaWYgKCF2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAg
cmV0dXJuOwpAQCAtMTc0NCw3ICsxNzQ0LDcgQEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHls
ZVJlY2FsYygpCiAgICAgLy8gRklYTUU6IFdoeSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMg
aXMgY2xlYXJseSBtaXNwbGFjZWQuCiAgICAgaW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAg
IAotICAgIG1fc3R5bGVSZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJl
Y2FsY1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODIyLDcg
KzI4MjIsNyBAQCB2b2lkIERvY3VtZW50Ojp3cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9j
dW1lbnQqIG93bmVyRG9jdW1lbnQpCiAgICAgd3JpdGUoIlxuIiwgb3duZXJEb2N1bWVudCk7CiB9
CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVy
dmFsKCkgY29uc3QKK1NlY29uZHMgRG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29u
c3QKIHsKICAgICBhdXRvKiBwYWdlID0gdGhpcy0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKQEAg
LTI4MzksNyArMjgzOSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJs
ZWQoYm9vbCBzaG91bGRUaHJvdHRsZSkKICAgICBkaWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVy
dmFsKCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdAorU2Vj
b25kcyBEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhO
ZXN0aW5nTGV2ZWwpIGNvbnN0CiB7CiAgICAgYXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoaGFzUmVhY2hlZE1heE5l
c3RpbmdMZXZlbCk7CiAKQEAgLTUwMjUsOCArNTAyNSw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlz
aGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhhdCBkeW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50
IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFyaW5nIG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90
ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhlIHRpbWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRo
YXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hlcyBiZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5k
ZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5vY3VvdXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhU
TUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgotICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2Vl
cFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7
Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2Vl
cFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAg
ICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0
ZXJQYXJzaW5nRmluaXNoZWQgPSAxMF9zOworICAgIG1fc2hhcmVkT2JqZWN0UG9vbENsZWFyVGlt
ZXIuc3RhcnRPbmVTaG90KHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxpdmVBZnRlclBhcnNp
bmdGaW5pc2hlZCk7CiAKICAgICAvLyBQYXJzZXIgc2hvdWxkIGhhdmUgcGlja2VkIHVwIGFsbCBw
cmVsb2FkcyBieSBub3cKICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhclByZWxvYWRz
KCk7CkBAIC01MjUzLDcgKzUyNTMsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVh
cmFuY2VTb29uKFNlbGVjdGlvblJlc3RvcmF0aW9uTW9kZSBtb2RlKQogewogICAgIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlUmVzdG9yZXNTZWxlY3Rpb24gPSBtb2RlOwogICAgIGlmICghbV91cGRh
dGVGb2N1c0FwcGVhcmFuY2VUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVGb2N1c0Fw
cGVhcmFuY2VUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6Y2Fu
Y2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCkKQEAgLTU0MzgsNyArNTQzOCw3IEBAIHZvaWQgRG9j
dW1lbnQ6OnJlc3VtZVNjaGVkdWxlZFRhc2tzKEFjdGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3Vz
cGVuc2lvbiByZWFzb24pCiAgICAgaWYgKHJlYXNvbiA9PSBBY3RpdmVET01PYmplY3Q6OldpbGxE
ZWZlckxvYWRpbmcgJiYgbV9wYXJzZXIpCiAgICAgICAgIG1fcGFyc2VyLT5yZXN1bWVTY2hlZHVs
ZWRUYXNrcygpOwogICAgIGlmICghbV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKQotICAgICAgICBt
X3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVGFz
a3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7
CiAgICAgcmVzdW1lQWN0aXZlRE9NT2JqZWN0cyhyZWFzb24pOwogICAgIHJlc3VtZVNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlckNhbGxiYWNrcygpOwpAQCAtNTY4NSw3ICs1Njg1LDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQs
IHVuc2lnbmVkIHNob3J0IGZsYWcKICAgICB9IHdoaWxlICgwKTsKIAogICAgIG1fZnVsbFNjcmVl
bkVycm9yRXZlbnRUYXJnZXRRdWV1ZS5hcHBlbmQoZWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVu
dEVsZW1lbnQoKSk7Ci0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0Q2FuY2VsRnVsbFNjcmVlbigpCkBAIC01ODUy
LDcgKzU4NTIsNyBAQCB2b2lkIERvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JF
bGVtZW50KEVsZW1lbnQqKQogCiAgICAgbV9mdWxsU2NyZWVuRWxlbWVudC0+ZGlkQmVjb21lRnVs
bHNjcmVlbkVsZW1lbnQoKTsKIAotICAgIG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndlYmtpdFdpbGxFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQoRWxlbWVudCopCkBAIC01ODg5LDcgKzU4ODksNyBAQCB2b2lkIERvY3VtZW50Ojp3
ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCopCiAgICAgYm9vbCBldmVu
dFRhcmdldFF1ZXVlc0VtcHR5ID0gbV9mdWxsU2NyZWVuQ2hhbmdlRXZlbnRUYXJnZXRRdWV1ZS5p
c0VtcHR5KCkgJiYgbV9mdWxsU2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmlzRW1wdHkoKTsK
ICAgICBEb2N1bWVudCYgZXhpdGluZ0RvY3VtZW50ID0gZXZlbnRUYXJnZXRRdWV1ZXNFbXB0eSA/
IHRvcERvY3VtZW50KCkgOiAqdGhpczsKIAotICAgIGV4aXRpbmdEb2N1bWVudC5tX2Z1bGxTY3Jl
ZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBleGl0aW5nRG9jdW1lbnQu
bV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVlblJlbmRlcmVyKFJlbmRlckZ1bGxTY3JlZW4qIHJlbmRl
cmVyKQpAQCAtNjA1NSw3ICs2MDU1LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGVjcmVtZW50TG9hZEV2
ZW50RGVsYXlDb3VudCgpCiAgICAgLS1tX2xvYWRFdmVudERlbGF5Q291bnQ7CiAKICAgICBpZiAo
ZnJhbWUoKSAmJiAhbV9sb2FkRXZlbnREZWxheUNvdW50ICYmICFtX2xvYWRFdmVudERlbGF5VGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIERvY3VtZW50Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoKQpAQCAtNjY5OSw3
ICs2Njk5LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2woRWxlbWVu
dCogZWxlbWVudCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fYXNzb2NpYXRlZEZvcm1Db250cm9s
cy5hZGQoZWxlbWVudCk7CiAgICAgaWYgKCFtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29u
dHJvbHNUaW1lckZpcmVkKCkKQEAgLTY3MTksNyArNjcxOSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNl
dENhY2hlZERPTUNvb2tpZXMoY29uc3QgU3RyaW5nJiBjb29raWVzKQogICAgIEFTU0VSVCghaXNE
T01Db29raWVDYWNoZVZhbGlkKCkpOwogICAgIG1fY2FjaGVkRE9NQ29va2llcyA9IGNvb2tpZXM7
CiAgICAgLy8gVGhlIGNvb2tpZSBjYWNoZSBpcyB2YWxpZCBhdCBtb3N0IHVudGlsIHdlIGdvIGJh
Y2sgdG8gdGhlIGV2ZW50IGxvb3AuCi0gICAgbV9jb29raWVDYWNoZUV4cGlyeVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmludmFsaWRhdGVET01Db29raWVDYWNoZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IGE0MjU1ODM3ZDdkZWE0YWE4M2VhZGRiZTE3YWNjZDUwOTEzN2Ez
ZTUuLjQ0YzA1N2EzMmUxODQ2YTJlMTk3NzExMWI3ZDMwNWNkNGUwOTg3YzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCkBAIC0xMzM3LDkgKzEzMzcsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhZGRN
ZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQg
Y29sdW1uTnVtYmVyLCBSZWZQdHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6
RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAw
KSBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50
ZXJ2YWwoKSBjb25zdCBmaW5hbDsKKyAgICBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkg
Y29uc3QgZmluYWw7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsK
KyAgICBTZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVz
dGluZ0xldmVsKSBjb25zdCBmaW5hbDsKIAogICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVF
bGVtZW50KCk7CiAgICAgdm9pZCB1cGRhdGVUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9u
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCmluZGV4IDllMDc3
ZjcyZjEzNjU5YTM4NjkxNWE5Y2JlNjAxNDZmMjAyOTljMjcuLmJkOTNiYTYyY2U2ZTIyMWQ5NDBl
MGU4MDY5NzgxNWVhZTU2MjRlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudEV2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50
UXVldWUuY3BwCkBAIC03OSw3ICs3OSw3IEBAIGJvb2wgRG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1
ZXVlRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50KQogCiAgICAgbV9xdWV1ZWRFdmVudHMuYWRkKGV2
ZW50LnB0cigpKTsKICAgICBpZiAoIW1fcGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcGVuZGluZ0V2ZW50VGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9w
ZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmgKaW5kZXggODcyZDg1YTFhNDU1MWFkMDE5OTA4MDk4
MGU2ZjVmM2FkMjhhN2I3Zi4uMTVjZGIxNzc5YjIwMGFmMzY5MmJmZWUxZTcwYzlhYjAyYzZiMzRl
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmgKQEAgLTY2LDcgKzY2LDcgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gdm9pZCBFdmVudFNlbmRlcjxUPjo6ZGlzcGF0Y2hFdmVudFNvb24oVCYgc2Vu
ZGVyKQogewogICAgIG1fZGlzcGF0Y2hTb29uTGlzdC5hcHBlbmQoJnNlbmRlcik7CiAgICAgaWYg
KCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpjYW5jZWxFdmVudChUJiBzZW5kZXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTWljcm90YXNrcy5jcHAKaW5kZXggMTk2ZGZlZDEwMjA2NDM1ZjZmZWNlNGM3YTg1OTE0NmZj
ZWI5ZjhmNy4uMGUxNjM4ZWZlNWU0NDZmNzY0Njg1OTkxNzgwMjU1MjE2OTg5NjAyMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NaWNyb3Rhc2tzLmNwcApAQCAtNTUsNyArNTUsNyBAQCB2b2lkIE1pY3JvdGFza1F1
ZXVlOjphcHBlbmQoc3RkOjp1bmlxdWVfcHRyPE1pY3JvdGFzaz4mJiB0YXNrKQogICAgIGVsc2UK
ICAgICAgICAgbV9taWNyb3Rhc2tRdWV1ZS5hcHBlbmQoV1RGTW92ZSh0YXNrKSk7CiAKLSAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIE1pY3JvdGFza1F1ZXVlOjpyZW1vdmUoY29uc3QgTWljcm90YXNrJiB0YXNrKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDkz
N2YxYzIzYmQ3ZTk5NGNhZWViNmUyZDA0ODljMDBlZTE5Y2Y1NmIuLjdlOGRhOWM3M2RkOWRjNGE1
OWRiYWUwZTEzODkyYTFjODQ1Y2UyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTQ0NSw3ICs0NDUsNyBAQCBQdWJsaWNVUkxNYW5hZ2Vy
JiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpwdWJsaWNVUkxNYW5hZ2VyKCkKICAgICByZXR1cm4g
Km1fcHVibGljVVJMTWFuYWdlcjsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojph
ZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1p
bmltdW1UaW1lckludGVydmFsKQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RN
aW5pbXVtVGltZXJJbnRlcnZhbChTZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKQogewog
ICAgIGlmIChtaW5pbXVtVGltZXJJbnRlcnZhbCgpICE9IG9sZE1pbmltdW1UaW1lckludGVydmFs
KSB7CiAgICAgICAgIGZvciAoYXV0byYgdGltZXIgOiBtX3RpbWVvdXRzLnZhbHVlcygpKQpAQCAt
NDUzLDcgKzQ1Myw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11
bVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kCiAgICAgfQogfQogCi1zdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1l
ckludGVydmFsKCkgY29uc3QKK1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAogewogICAgIC8vIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0
aW9uIHJldHVybnMgdGhlIERPTVRpbWVyJ3MgZGVmYXVsdAogICAgIC8vIG1pbmltdW0gdGltZXIg
aW50ZXJ2YWwuIEZJWE1FOiB0byBtYWtlIGl0IHdvcmsgd2l0aCBkZWRpY2F0ZWQKQEAgLTQ2OSw3
ICs0NjksNyBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoKQogICAgICAgICB0aW1lci0+ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2
YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKIHsKICAg
ICByZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYzkyOThkMzJjYTQw
MTZiZTA1ZmNmZjE4NGE5OTc2ODI2NTRhZTY4ZS4uN2ZkZTc4ZDVmYmY5YTgyMGU4YWY0ZDhiYzhk
M2EwZjM2NGQ3OGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oCkBAIC0xOTIsMTEgKzE5MiwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
SlNDOjpWTSYgdm0oKTsKIAogICAgIC8vIEludGVydmFsIGlzIGluIHNlY29uZHMuCi0gICAgdm9p
ZCBhZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9s
ZE1pbmltdW1UaW1lckludGVydmFsKTsKLSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIGFkanVzdE1pbmlt
dW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHZp
cnR1YWwgU2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBk
aWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7Ci0gICAgdmlydHVhbCBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4
TmVzdGluZ0xldmVsKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OwogCiAgICAgdmly
dHVhbCBFdmVudFF1ZXVlJiBldmVudFF1ZXVlKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRSdW5uZXIuY3BwCmluZGV4IDcwOTg5ZWI0MGMwNDVhZGU3NzRhZTU3ZDA5YTQwNDhiNTll
Mzg4MDQuLjQ2ODRlMGRkOTdjZmUyOGM1YjE3OWVhNzczOTNkOTgxMGRiZDNmYTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2NyaXB0UnVu
bmVyOjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmICho
YXNQZW5kaW5nU2NyaXB0cygpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5uZXI6
Om5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3JpcHQmIHBlbmRpbmdTY3JpcHQpCkBAIC0xMDAsNyAr
MTAwLDcgQEAgdm9pZCBTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3JpcHQm
IHBlbmRpbmdTY3JpcHQpCiAgICAgICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1f
cGVuZGluZ0FzeW5jU2NyaXB0cy50YWtlKHBlbmRpbmdTY3JpcHQpLT5wdHIoKSk7CiAgICAgfQog
ICAgIHBlbmRpbmdTY3JpcHQuY2xlYXJDbGllbnQoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1
bm5lcjo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDcxNzgyZjJmMTEwZTNmZGM0YTY3NDAxOTc2ZDlh
OWY2NGFhNjVmMjQuLjQzYzcwYzRhNjIxYmUyOWU5NDE5ODc4MmU5NTExOTg2MWYxMDI4MzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIu
Y3BwCkBAIC0yMTgsNyArMjE4LDcgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6
OnNjaGVkdWxlQW5pbWF0aW9uKCkKICNlbmRpZgogCiAgICAgZG91YmxlIHNjaGVkdWxlRGVsYXkg
PSBzdGQ6Om1heDxkb3VibGU+KGFuaW1hdGlvbkludGVydmFsIC0gKG1fZG9jdW1lbnQtPmRvbVdp
bmRvdygpLT5ub3dUaW1lc3RhbXAoKSAtIG1fbGFzdEFuaW1hdGlvbkZyYW1lVGltZXN0YW1wKSwg
MCk7Ci0gICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qoc2NoZWR1bGVEZWxheSk7Cisg
ICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzY2hlZHVsZURlbGF5KSk7
CiAjZWxzZQogICAgIGlmIChGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fZG9jdW1lbnQtPnZpZXco
KSkKICAgICAgICAgZnJhbWVWaWV3LT5zY2hlZHVsZUFuaW1hdGlvbigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IGI4MDhhZjI3ZDY5NjU5MjFiNDMzNjdmOTY4NDAzZDE0
N2U4M2ZiYjEuLmEzMWQyODg0NDhlMWE2MjAyZTE3MDM5YzdkZjVkYmYyZDBiOWIyZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTc0LDYgKzc0LDkgQEAgc3RhdGljIFBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlJiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSgpCiAg
ICAgcmV0dXJuIGNhY2hlOwogfQogCitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcmVzZW50YXRpb25B
dHRyaWJ1dGVDYWNoZUNsZWFuVGltZSA9IDYwX3M7CitzdGF0aWMgY29uc3QgaW50IG1pbmltdW1Q
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmluZyA9IDEwMDsKKwogY2xhc3Mg
UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKQEAgLTkxLDE2ICs5NCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIG1f
aGl0Q291bnQrKzsKIAogICAgICAgICBpZiAoIW1fY2xlYW5UaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICAgICAgbV9jbGVhblRpbWVyLnN0YXJ0T25lU2hvdChwcmVzZW50YXRpb25BdHRyaWJ1dGVD
YWNoZUNsZWFuVGltZUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRP
bmVTaG90KHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lKTsKICAgICAgfQogCiBw
cml2YXRlOgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcmVzZW50YXRpb25BdHRyaWJ1dGVD
YWNoZUNsZWFuVGltZUluU2Vjb25kcyA9IDYwOwotICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11
bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOwotICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVIaXRD
b3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGlt
ZUluU2Vjb25kcykgLyA2MDsKLQogICAgIHZvaWQgY2xlYW5DYWNoZSgpCiAgICAgeworICAgICAg
ICB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1p
bnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZS52YWx1ZSgp
KSAvIDYwOworCiAgICAgICAgIHVuc2lnbmVkIGhpdENvdW50ID0gbV9oaXRDb3VudDsKICAgICAg
ICAgbV9oaXRDb3VudCA9IDA7CiAgICAgICAgIGlmIChoaXRDb3VudCA+IG1pbmltdW1QcmVzZW50
YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50UGVyTWludXRlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKaW5kZXggZDVjZDFl
YTY3ZGQ5MGI4OTNmNTM0N2E3YTE3ZWVjZTA5NGE0YWE2Yy4uNmYyZjQ5NzkyOTY3ZWM3NWZmODg4
M2NlMmQ3NmVhMDQwY2NjZDBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9B
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCkBAIC0xNDAsNyArMTQwLDcgQEAgQWx0ZXJu
YXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIoKQogCiB2b2lk
IEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcihB
bHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvcnJlY3Rpb25Q
YW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7CisgICAgY29uc3QgU2Vjb25kcyBjb3JyZWN0aW9uUGFu
ZWxUaW1lckludGVydmFsID0gMC4zX3M7CiAgICAgaWYgKCFpc0F1dG9tYXRpY1NwZWxsaW5nQ29y
cmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ci5jcHAKaW5kZXggMjBlNmIwYzJiNzRjYWZjZWVhMjI4ZjgyY2NlMjIyYmM1ZmMxN2EzNy4uM2Jh
NWJkMTkxYzZjOWFmZWExYmY4MzNiMjI3YzBkN2JiYTRmYTIyZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcApAQCAtMzI2Miw3ICszMjYyLDcgQEAgdm9pZCBFZGl0b3I6OnJlc3BvbmRUb0No
YW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZyYW1lU2VsZWN0aW9uOjoK
IAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJiYgIVBMQVRGT1JNKElP
UykKICAgICBpZiAoc2hvdWxkRGV0ZWN0VGVsZXBob25lTnVtYmVycygpKQotICAgICAgICBtX3Rl
bGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICNlbmRpZgogCiAgICAgc2V0U3RhcnROZXdLaWxsUmluZ1NlcXVlbmNlKHRydWUpOwpAQCAt
MzI3NCw3ICszMjc0LDcgQEAgdm9pZCBFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24o
Y29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZyYW1lU2VsZWN0aW9uOjoKICAgICBtX2VkaXRvclVJ
VXBkYXRlVGltZXJTaG91bGRDaGVja1NwZWxsaW5nQW5kR3JhbW1hciA9IG9wdGlvbnMgJiBGcmFt
ZVNlbGVjdGlvbjo6Q2xvc2VUeXBpbmcKICAgICAgICAgJiYgIShvcHRpb25zICYgRnJhbWVTZWxl
Y3Rpb246OlNwZWxsQ29ycmVjdGlvblRyaWdnZXJlZCk7CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRp
bWVyV2FzVHJpZ2dlcmVkQnlEaWN0YXRpb24gPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkRp
Y3RhdGlvblRyaWdnZXJlZDsKLSAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
I2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJiYgIVBMQVRGT1JNKElPUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggMzU2MTc0OTBi
YTg2MGYyYjllYTQ4NTYxZDkwNTYyZmU4YzcyYjQyYS4uY2EyOTI0OTZlOGIwYTJjY2YxZTJhMGJl
OTRiODY1OTYxZjc0MTBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAKQEAgLTIwNDUsNyArMjA0NSw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFw
cGVhcmFuY2UoKQogICAgIC8vIFN0YXJ0IGJsaW5raW5nIHdpdGggYSBibGFjayBjYXJldC4gQmUg
c3VyZSBub3QgdG8gcmVzdGFydCBpZiB3ZSdyZQogICAgIC8vIGFscmVhZHkgYmxpbmtpbmcgaW4g
dGhlIHJpZ2h0IGxvY2F0aW9uLgogICAgIGlmIChzaG91bGRCbGluayAmJiAhbV9jYXJldEJsaW5r
VGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBpZiAoZG91YmxlIGJsaW5rSW50ZXJ2YWwgPSBt
X2ZyYW1lLT5wYWdlKCktPnRoZW1lKCkuY2FyZXRCbGlua0ludGVydmFsKCkpCisgICAgICAgIGlm
IChTZWNvbmRzIGJsaW5rSW50ZXJ2YWwgPSBtX2ZyYW1lLT5wYWdlKCktPnRoZW1lKCkuY2FyZXRC
bGlua0ludGVydmFsKCkpCiAgICAgICAgICAgICBtX2NhcmV0QmxpbmtUaW1lci5zdGFydFJlcGVh
dGluZyhibGlua0ludGVydmFsKTsKIAogICAgICAgICBpZiAoIW1fY2FyZXRQYWludCkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCmluZGV4IDlkMGY4NzM2ZTA4MWMzZGY0
ZmNhN2UyMWE3ZmY2NWMxODVjNDFmZDQuLjAyNDg4MTNjZTBjOWM3YmFjNTE5YmZiNTg0NWNiM2Jl
NzNlMzkwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKQEAgLTIx
Niw3ICsyMTYsNyBAQCB2b2lkIFNwZWxsQ2hlY2tlcjo6ZGlkQ2hlY2soaW50IHNlcXVlbmNlLCBj
b25zdCBWZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiYgcmVzdQogCiAgICAgbV9wcm9jZXNzaW5n
UmVxdWVzdCA9IG51bGxwdHI7CiAgICAgaWYgKCFtX3JlcXVlc3RRdWV1ZS5pc0VtcHR5KCkpCi0g
ICAgICAgIG1fdGltZXJUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0LnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25z
dCBWZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0PiYgcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCA0MTZhMmQxYTdiOTI1MTM0MTBlNDA2ZjQzNDVkYzgz
Y2Y1Y2ZhMTBjLi5kNzg0ZGI0MjBjYWNkZTk4Yjg1ZTMwYWRjYmE5M2E2YmQ1ZDBmYTIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAg
dm9pZCBIVE1MRm9ybUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBs
ZXRlUmVzdWx0IHJlc3VsdCkKIAogICAgIC8vIERpc3BhdGNoIGV2ZW50cyBsYXRlciBhcyB0aGlz
IEFQSSBpcyBtZWFudCB0byB3b3JrIGFzeW5jaHJvbm91c2x5IGluIGFsbCBzaXR1YXRpb25zIGFu
ZCBpbXBsZW1lbnRhdGlvbnMuCiAgICAgaWYgKCFtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICBtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIEhUTUxGb3JtRWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYTFm
NGZlMThjNWQ1YTYwMDQ5NGRiNGIxNjhjZDg0NGM2ZGU2ZGRkYi4uZWFmMTM2NDZiYjQ4ZTY0YzVm
MmFiNGE1MTY4ZDAyYWYxMTc4MWRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCkBAIC0xNTYsMTIgKzE1NiwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1JlcGVhdERlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0
IFNlY29uZHMgU2Vla1JlcGVhdERlbGF5ID0gMC4xX3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBT
Y2FuUmVwZWF0RGVsYXkgPSAxLjVfczsKIHN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1RpbWUgPSAw
LjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIFNjYW5SZXBlYXREZWxheSA9IDEuNTsKIHN0YXRpYyBj
b25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBI
aWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWREZWxheSA9IFNlY29uZHMoNik7CiAKIHN0YXRp
YyB2b2lkIHNldEZsYWdzKHVuc2lnbmVkJiB2YWx1ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CkBAIC05
MjAsNyArOTIwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rp
b24oRGVsYXllZEFjdGlvblR5cGUgYWN0aW9uVHlwZSkKICAgICBpZiAoYWN0aW9uVHlwZSAmIFVw
ZGF0ZVBsYXlTdGF0ZSkKICAgICAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIFVw
ZGF0ZVBsYXlTdGF0ZSk7CiAKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoKQpAQCAtOTI4LDcg
KzkyOCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQo
KQogICAgIC8vIFNjaGVkdWxlIHRoZSB0aW1lciB0byB0cnkgdGhlIG5leHQgPHNvdXJjZT4gZWxl
bWVudCBXSVRIT1VUIHJlc2V0dGluZyBzdGF0ZSBhbGEgcHJlcGFyZUZvckxvYWQuCiAgICAgTE9H
KE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoJXApIC0g
c2V0dGluZyAlcyBmbGFnIiwgdGhpcywgYWN0aW9uTmFtZShMb2FkTWVkaWFSZXNvdXJjZSkudXRm
OCgpLmRhdGEoKSk7CiAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIExvYWRNZWRp
YVJlc291cmNlKTsKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZChjb25z
dCBNZWRpYVBsYXllciopCkBAIC0xOTY3LDcgKzE5NjcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVyKCkKIAogICAgIG1fcHJldmlvdXNQcm9ncmVzc1Rp
bWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAvLyAzNTBtcyBpcyBub3Qg
bWFnaWMsIGl0IGlzIGluIHRoZSBzcGVjIQotICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVyLnN0YXJ0
UmVwZWF0aW5nKDAuMzUwKTsKKyAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjM1MF9zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hh
bmdlKCkKQEAgLTMzNTQsNyArMzM1NCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5T
Y2FubmluZyhTY2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRl
KG5leHRTY2FuUmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3Nj
YW5UeXBlID09IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAg
IG1fc2NhblRpbWVyLnN0YXJ0KDBfcywgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERl
bGF5IDogU2NhblJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRT
Y2FubmluZygpCkBAIC0zMzkzLDcgKzMzOTMsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNj
YW5UaW1lckZpcmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1
cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8g
MjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91
YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6c3RhcnRQbGF5YmFja1Byb2dyZXNzVGltZXIoKQogewpAQCAtMzQ0MCw3ICsz
NDQwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChi
b29sIHBlcmlvZGljRXZlbnQpCiAgICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tU
aW1lQXRMYXN0VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZl
bnRzCi0gICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2
ZW50RnJlcXVlbmN5KQorICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeS52YWx1ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAv
LyBTb21lIG1lZGlhIGVuZ2luZXMgbWFrZSBtdWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFj
a3MgYXQgdGhlIHNhbWUgdGltZSwgYnV0IHdlIG9ubHkgd2FudCBvbmUKQEAgLTQzNzEsNyArNDM3
MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlv
bihkb3VibGUgcG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0
NTcyMTk+IGZvciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhE
b3VibGUocG9zaXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVy
LnN0b3AoKTsKLSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25l
U2hvdCgwLjUpOworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRP
bmVTaG90KDAuNV9zKTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAg
ICAgIG1faXNTY3J1YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1
YTVjYjVkZDYuLjE1MTBjNTg5ZmRlZDJiMWUzOTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcg
QEAgdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBz
dGF0ZSkKICAgICBtX2Rpc3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUg
PT0gRGlzcGxheWluZ1NuYXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdp
blJlcGxhY2VtZW50KSAmJiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX3N3YXBSZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVu
ZGVyZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVu
dDo6ZGlkQWRkVXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMx
M2RmNDhkMjkyZTM3MjgwZjNmOTk5NjdmY2IwYTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQz
MzdkZGQzMGY5YjIzNjczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5J
bWFnZUVsZW1lbnQuY3BwCkBAIC03MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNp
emluZ0Z1bGxQYWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9h
dCBhdXRvc3RhcnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhp
cyBkZWxheSBzaG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmll
dy5jcHAKLXN0YXRpYyBjb25zdCBhdXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0g
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
c2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVsYXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShD
T0NPQSkKLXN0YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1v
dmVTbmFwc2hvdFRpbWVyRGVsYXkgPSAxLjVfczsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3Ry
aW5nIHRpdGxlVGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFj
MGMzNjVhZjgxNWU3ZjYzOWYuLmVkYWUwYzRjYjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2
OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUs
NyArMTI1LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkK
ICAgICBpZiAobV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVu
dFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50Ojpj
YW5jZWxQZW5kaW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291
cmNlRWxlbWVudDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNv
dXJjZUVsZW1lbnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9y
RXZlbnRPblJlc3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAg
ICBtX3Nob3VsZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4
ZDdiNDhhOWJhMjQxYjRjNDcxZDU3OWY1NWU4YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRi
MmE1NjJmNmM2NDVlYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFj
a0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5j
cHAKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9h
ZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRo
ZXNlIHN0ZXBzIGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ug
c3RlcHMgdG8gcnVuIHRvIGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJh
Y2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJv
bGxlci5jcHAKaW5kZXggOTU0MDUyNTA5ZWI3ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4u
MDZkNjQ1OGVmNmZlYmYzMzQ1M2QwODRkMmM4N2JhNWE5ZGVkM2Q1MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xs
ZXI6Ok1lZGlhQ29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAg
ICwgbV9jbG9jayhDbG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoY29udGV4dCkKICAgICAsIG1fdGltZXVwZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9s
bGVyOjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRl
VGltZSgwKQogewogfQogCkBAIC0xNDgsNyArMTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxl
cjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVy
OjppbnZhbGlkVGltZSgpKSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGlt
ZXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlv
biA9IHN0ZDo6bWF4PGRvdWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3Vy
cmVudFRpbWUoKSkpOwotICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
IH0KIAogICAgIHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVk
aWFDb250cm9sbGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1l
KQogewogICAgIG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUs
IGZhbHNlLCB0cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5
bmNFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxl
cjo6YXN5bmNFdmVudFRpbWVyRmlyZWQoKQpAQCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFD
b250cm9sbGVyOjpyZXR1cm5Ub1JlYWx0aW1lKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJl
IHBlcmlvZGljIHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2
ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1z
dGF0aWMgY29uc3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7
CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02
NzUsOCArNjc0LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVy
KCkKIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsK
LSAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91
YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25v
dG9uaWNUaW1lIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRl
bHRhID0gbm93IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0
YSA8IG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUz
ODM4NDAzMTc2M2I1YjNkMi4uYTkxOTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVy
IG1fdGltZXVwZGF0ZVRpbWVyOwotICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7
CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBt
X3Jlc2V0Q3VycmVudFRpbWVJbk5leHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRG9jdW1lbnQuY3BwCmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1
MWYxYjdmNjBmZmUuLmNkNjZkMjg0MDU4MmZiNDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZv
aWQgTWVkaWFEb2N1bWVudDo6bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAg
IC8vIGFuZCBsZXQgdGhlIHBsdWdpbiBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRl
bHkgYXMgdGhpcyAKICAgICAvLyBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20g
YSBtZWRpYSBlbmdpbmUgY2FsbGJhY2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBk
ZXN0cm95IHRoZSBlbGVtZW50LCBtZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAg
bV9yZXBsYWNlTWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFj
ZU1lZGlhRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9j
dW1lbnQ6OnJlcGxhY2VNZWRpYUVsZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDcz
MWZiNTVlM2ZmOGUyZmNkYTMuLjY5YjA1Y2YwMTBhMGYzNDNlYTk4ZmFmMzg4NjViMTY5YTFmMzdm
MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAt
NTcsNyArNTcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBlbGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFsID0gMC4yNV9zOwogCiBzdGF0
aWMgYm9vbCBpc0VsZW1lbnRSZWN0TW9zdGx5SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxl
bWVudCYpOwogc3RhdGljIGJvb2wgaXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChj
b25zdCBIVE1MTWVkaWFFbGVtZW50JiwgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsK
QEAgLTQ3Niw3ICs0NzYsNyBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0
cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRp
YSwgIk1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlk
Q2hhbmdlKCVwKSAtIGhhc1RhcmdldHMgJXMiLCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDog
IkZBTFNFIik7CiAKICAgICBtX2hhc1BsYXliYWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAg
bV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
dGFyZ2V0QXZhaWxhYmlsaXR5Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBi
b29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJi
Yjk1NTMyOTA3MTk4MjY2NmRiNzU4ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdi
ODc5ZTVmZDc5OThkZTIyYmJmNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlw
ZS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFy
Y2hFdmVudFRpbWVyKCkKIAogICAgIC8vIEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3
YWl0IDAuNSBzZWNvbmRzLgogICAgIC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25k
cywgdGhlbiAwLjMsIHRoZW4gMC4yIGZyb20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAg
bV9zZWFyY2hFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42
IC0gMC4xICogbGVuZ3RoKSkpOwogfQogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJj
aEV2ZW50VGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApp
bmRleCA5ZDVkY2FjZmJlYzFlMzBjYmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFi
MmE2ZDVkN2FmMzA5MjA4Y2I0YjdiODI3N2EyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Zh
bGlkYXRpb25NZXNzYWdlLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1l
c3NhZ2U6OnNldE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVp
bGRCdWJibGVUcmVlKTsKICAgICBlbHNlCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3Rh
cnRUaW1lcik7Ci0gICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdl
RE9NQW5kU3RhcnRUaW1lcigpCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVz
c2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVs
bHB0cjsKICAgICBlbHNlIHsKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGlt
ZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAg
ICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+
KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBt
X3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjptYXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5n
dGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAwMC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyAr
MjI4LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQog
CiAgICAgLy8gV2UgbXVzdCBub3QgbW9kaWZ5IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQg
YnkgdGhlIHNhbWUgcmVhc29uIGFzIHNldE1lc3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxl
VHJlZSk7Ci0gICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiBib29sIFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29u
dGFpbnMoY29uc3QgTm9kZSYgbm9kZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgw
NzU2MDU1ZTU5Njk3ZDg5MTZhZDM0OTRhNjI0YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZl
ODJiMmQzMTA5MjJhOGM5ZWE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0
b3JlQXR0ZW1wdHMgPSAxLjA7Citjb25zdCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVt
cHRzID0gMV9zOwogY29uc3QgaW50IG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsK
IAogbmFtZXNwYWNlIHsKQEAgLTQ2NjYsNyArNDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6bG9zZUNvbnRleHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxv
c3RDCiAKICAgICAvLyBBbHdheXMgZGVmZXIgdGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxv
c3QgZXZlbnQsIHRvIGltcGxlbWVudAogICAgIC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVl
aW5nIGEgdGFzay4KLSAgICBtX2Rpc3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2Rpc3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9y
ZUNvbnRleHQoKQpAQCAtNDY4Myw3ICs0NjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9y
ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRm
b3JtTGF5ZXIqIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25z
dApAQCAtNTYxNCw3ICs1NjE0LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpk
aXNwYXRjaENvbnRleHRMb3N0RXZlbnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZl
bnQpOwogICAgIG1fcmVzdG9yZUFsbG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwog
ICAgIGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3Jl
QWxsb3dlZCkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3
IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgp
CiAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNE
OjpjcmVhdGUobV9hdHRyaWJ1dGVzLCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7
CiAgICAgICAgIGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAg
ICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3Jl
QXR0ZW1wdHMpOworICAgICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVC
ZXR3ZWVuUmVzdG9yZUF0dGVtcHRzKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhp
cyBsaWtlbHkgc2hvdWxkbid0IGhhcHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBp
dCB0byB0aGUgV2ViR0wgYXBwLgogICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250
ZXh0Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2Vy
U2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hl
ZHVsZXIuY3BwCmluZGV4IDI4MzM3ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQu
LmU2YzM4MmY0NDU4NTJlYTAyN2E5MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEs
NyArMTAxLDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1Rp
bWVyRmlyZWQoKQogICAgIC8vIEZJWE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0
aW1lciBwcmlvcml0aWVzIGluc3RlYWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0
IGlzIHNjaGVkdWxlZCwgd2FpdCBhZ2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmly
c3QuCiAgICAgaWYgKG1fcGFyc2VyLmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkg
ewotICAgICAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgbV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsK
QEAgLTEyMCw3ICsxMjAsNyBAQCBib29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxk
QmVmb3JlRXhlY3V0aW5nU2NyaXB0KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFy
c2VyU2NoZWR1bGVyOjpzY2hlZHVsZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3Bl
bmRlZCk7Ci0gICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
SFRNTFBhcnNlclNjaGVkdWxlcjo6c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBI
VE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhB
Y3RpdmVUaW1lcikKICAgICAgICAgcmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZl
VGltZXIgPSBmYWxzZTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwCmluZGV4IDE1ZWExZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUu
Ljc2OTYzMWFmNjgwY2IxNTczNThhZjg5MzZlZjFkYjIxNDU1NzgxMWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEz
Nyw3ICsxMzcsNyBAQCB2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigp
CiAgICAgLy8gVGhlIHRpbWVyIGlzIHJlcXVpcmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxh
eTonbm9uZScgb24gdGhlIHBhbmVsLAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29y
cmVjdGx5IGRpc3BsYXllZCBhdCB0aGUgYm90dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRo
ZSBlbmQgb2YgdGhlIGZhZGVvdXQgdHJhbnNpdGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBk
b2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJv
bHNGYWRlT3V0RHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3VtZW50
KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVP
dXREdXJhdGlvbigpIDogMF9zOwogICAgIG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChk
dXJhdGlvbik7CiB9CiAKQEAgLTE4OCwxMCArMTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFu
ZWxFbGVtZW50OjptYWtlT3BhcXVlKCkKICAgICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQo
KS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAg
IFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgp
LT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0
SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJv
cGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJh
bnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBk
dXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGlu
ZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlPcGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3BhcXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEw
IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAg
IGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9
IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250
cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1l
bnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFk
ZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1By
b3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQcm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElu
bGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9u
LCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOworICAgIHNldElubGluZVN0eWxlUHJvcGVydHko
Q1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0
eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9v
cGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyArMTMzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4
dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRlU2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAg
ICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8g
RklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFu
ZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFja3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRh
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJF
bGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNlbnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRm
NWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0MGYzMy4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcx
ZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9M
b2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2Fk
YWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFj
azo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJsKQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5
IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGlsZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIg
dGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNr
IG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1vZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRl
eHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAK
aW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdlMjIzZGQ0MzZjMDdkNTFiNi4uZDFiMjUxNzM1
MjVhNzNlMWQ2NmQxZWI3OWJhYTU1MmY5NDAyMzkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBz
dGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xs
aW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocykuCi1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xs
VGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsVGltZSA9IFNlY29uZHMo
MC40MzMpOwogCiBWVFRSZWdpb246OlZUVFJlZ2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0KQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCkBAIC00
MDMsNyArNDAzLDcgQEAgdm9pZCBWVFRSZWdpb246OnN0YXJ0VGltZXIoKQogICAgIGlmIChtX3Nj
cm9sbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJh
dGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxUaW1lIDogMDsKKyAgICBTZWNvbmRz
IGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiAwX3M7CiAgICAg
bV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCAzZDU0MjIxYzVkYzg5
M2NkZDk1NzFkYzNmM2IxZmU2ODdiYjA4NjMzLi42YjU2YzE4ZjJhZGVmMjc3MWVjZGUwOWY3ZjQ3
MDdlN2QxMGM5MzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5jcHAKQEAgLTEyOCw3ICsxMjgsNyBAQCB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRU
YXNrOjpzY2hlZHVsZUZvcihXZWJLaXROYW1lZEZsb3cqIG5hbWVkRmxvdywgaW50IGRvY3VtZQog
ICAgIG1fbmFtZWRGbG93cy5hZGQobmFtZWRGbG93LCBkb2N1bWVudE5vZGVJZCk7CiAKICAgICBp
ZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ2hhbmdlUmVn
aW9uT3ZlcnNldFRhc2s6OnVuc2NoZWR1bGUoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCA4
M2EwMjRiY2RkZDIxMzA5Nzg3NTk4NzIyNDEyNzFlMGE4ZmIzZjBmLi45MTI3MjYyYWU4OGFjY2Ji
NGU0ZWUxZjg2MTdkOWQzMmY0MWU4Y2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIFJldmFsaWRh
dGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9yKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAg
ICAgbV9lbGVtZW50cy5hZGQoZWxlbWVudCk7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmluZGV4IDhhMzVhMTc5ZWI4YmY1OWI0YmMwOThk
YzZlZGM5MGNkZTBkYTA1OTMuLjUxOGFhZGY3ZDEyMjY4YTQ3ZjhmMmI1MzA5ZmMzZjU0MWFlODUz
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogCiAgICAg
ICAgIG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2UpOwogICAgICAgICBpZiAoIW1fdGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICB2b2lkIHJlc2V0KCkK
QEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2luc3BlY3RlZFBhZ2VD
b250cm9sbGVyLT5kaXNwYXRjaE1lc3NhZ2VGcm9tRnJvbnRlbmQobV9tZXNzYWdlcy50YWtlRmly
c3QoKSk7CiAKICAgICAgICAgaWYgKCFtX21lc3NhZ2VzLmlzRW1wdHkoKSAmJiBtX2luc3BlY3Rl
ZFBhZ2VDb250cm9sbGVyKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogcHJpdmF0ZToK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAppbmRleCA1
ZmNhMzEwZDAwYWMyMWRjN2I2MWJlMGE5ZmUwNTVjOGI3ZjdhYWQ4Li44ZDEwNWJhMzBjZjExMjYx
NWMzZWNhNWI1MzlhMTg4Y2I3MWJkNjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC01MDksOCArNTA5LDggQEAgdm9pZCBJbnNwZWN0b3JP
dmVybGF5OjpzaG93UGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKICAgICBtX3BhaW50
UmVjdHMuYXBwZW5kKFRpbWVSZWN0UGFpcihyZW1vdmVUaW1lLCByb290UmVjdCkpOwogCiAgICAg
aWYgKCFtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgY29uc3Qg
ZG91YmxlIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNlY29uZHMgPSAwLjAzMjsKLSAgICAgICAg
bV9wYWludFJlY3RVcGRhdGVUaW1lci5zdGFydFJlcGVhdGluZyhwYWludFJlY3RzVXBkYXRlSW50
ZXJ2YWxTZWNvbmRzKTsKKyAgICAgICAgY29uc3QgU2Vjb25kcyBwYWludFJlY3RzVXBkYXRlSW50
ZXJ2YWwgPSAwLjAzMl9zOworICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgZHJhd1BhaW50
UmVjdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JS
ZXBsYXlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5
QWdlbnQuY3BwCmluZGV4IDNhYWE1MmE2YjhhYTYyZjNkYzc4ZDEyNGFkY2UxOGFlZDA3OTdmOTcu
Ljc5MGRhMTczYTNlNTBiNjQ1MmFhMTBjNWM1ODk0ZTI4MDIxMzU4NjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcApAQCAtMTUxLDcg
KzE1MSw3IEBAIHN0YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9u
U2VnbWVudD4gYnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTCiAKICAgICByZXR1cm4gSW5zcGVjdG9y
OjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKICAgICAgICAgLnNl
dElkKHNlZ21lbnQtPmlkZW50aWZpZXIoKSkKLSAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50
LT50aW1lc3RhbXAoKSkKKyAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAo
KS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCkpCiAgICAgICAgIC5zZXRRdWV1ZXMoV1RGTW92
ZShxdWV1ZXNPYmplY3QpKQogICAgICAgICAucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggMmQzY2Q5NTBlMzE4NDM5MzdiOGI3MDVkMzE3
NTRiMzhhYTMzYjg1OS4uOTBjZWU2MjY2YWFhYzkxNmM2YjI5ZWM0NmE5ZjE0NmQxNmQ2NjRjNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00ODksNyArNDg5
LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkK
IAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2Rh
dGFMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIAogI2lmIEhBVkUoUlVOTE9PUF9USU1FUikKICAgICBpZiAoU2NoZWR1bGVQ
YWlySGFzaFNldCogc2NoZWR1bGVkUGFpcnMgPSBtX2ZyYW1lLT5wYWdlKCktPnNjaGVkdWxlZFJ1
bkxvb3BQYWlycygpKQpAQCAtMTIyNSw3ICsxMjI1LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6
ZGVsaXZlclN1YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KCkKICAgICBpZiAobV9mcmFtZS0+
cGFnZSgpLT5kZWZlcnNMb2FkaW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIW1fc3Vi
c3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N1YnN0
aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3N1
YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OnN1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAxMjJhMmJkMjdmYWQ1NzI3
MjZlMTcwZmVlZDU5MTMxYTU2MDM4YTk5Li42ZjI1ZjFkY2QwYWZjYTY4YWJkOTM1N2ViMzQ4Y2M5
MmMxY2YxZGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTgzMSw3
ICs4MzEsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdGFydENoZWNrQ29tcGxldGVUaW1lcigpCiAg
ICAgICAgIHJldHVybjsKICAgICBpZiAobV9jaGVja1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKLSAgICBtX2NoZWNrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY2hlY2tU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6c2NoZWR1bGVD
aGVja0NvbXBsZXRlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCBh
NTNhZjExYmI5ZjkzYmEyYTgxMjNkYjFhODEwZjM4ODc5OTZmZGM1Li43NzliZjc1MWI0MmVhYjk1
MTQ5OWU4MzI1ZmQwOWQ1M2QxOTk1MTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVkSGFzUGVu
ZGluZ0V2ZW50KCkKICAgICAgICAgICAgIG1fcHJvdGVjdGVkRWxlbWVudCA9ICZlbGVtZW50KCk7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNTRVJUKCFtX2RlcmVmRWxlbWVudFRpbWVyLmlzQWN0
aXZlKCkpOwotICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9ICAgCiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRl
eCA3ZWZmYWQ3ZmExYzVhYTM0NDZlYWMwMDI5NjE4ZjEyYmI1NzViNGU1Li4yYmQ5ZDkzNWE3ZDQy
ZWRlZWViMmFmM2ZmMzIyMjczNjBmY2M0OGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgcHJvdGVjdGVkOgog
ICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsKIAogICAgICAgICBVc2VyR2VzdHVyZUlu
ZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0dXJlVG9Gb3J3YXJkKCkpOwotICAgICAg
ICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fdXJsLCBkZWxheSgpLCBjdXJyZW50
VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkp
OworICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fdXJsLCBkZWxheSgp
LCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVlKCksIGxvY2tC
YWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGltZXIoRnJhbWUm
IGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtMjc1LDcgKzI3NSw3
IEBAIHB1YmxpYzoKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKICAgICAgICAg
VXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9yd2Fy
ZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3N1Ym1pc3Np
b24tPnJlcXVlc3RVUkwoKSwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJl
SW50ZXJ2YWwoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVy
KCkuY2xpZW50UmVkaXJlY3RlZChtX3N1Ym1pc3Npb24tPnJlcXVlc3RVUkwoKSwgZGVsYXkoKSwg
Y3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKS52YWx1ZSgpLCBsb2NrQmFj
a0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlkU3RvcFRpbWVyKEZyYW1lJiBm
cmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVzcykgb3ZlcnJpZGUKQEAgLTUzOSw3ICs1MzksNyBA
QCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnN0YXJ0VGltZXIoKQogICAgICAgICByZXR1cm47
CiAKICAgICBkb3VibGUgZGVsYXkgPSBtX3JlZGlyZWN0LT5kZWxheSgpOwotICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KGRlbGF5KTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRl
bGF5KSk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmln
YXRpb24obV9mcmFtZSwgZGVsYXkpOwogICAgIG1fcmVkaXJlY3QtPmRpZFN0YXJ0VGltZXIobV9m
cmFtZSwgbV90aW1lcik7IC8vIG1fcmVkaXJlY3QgbWF5IGJlIG51bGwgb24gcmV0dXJuIChlLmcu
IHRoZSBjbGllbnQgY2FuY2VsZWQgdGhlIGxvYWQpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGZlMGM3MjI5ZTZlYWI2NWY1NmUyNGRkYWMxYmJkNGQ1
OTA0N2IxNWUuLjdlYWZkMzA1NmM5NzRiMDM5Nzg2YWVjZTYyOTg1NDgyZmQ4NTRmYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBA
IHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBp
bml0aWFsUHJvZ3Jlc3NWYWx1ZQogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0
RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCiAvLyBDaGVjayBpZiB0aGUgbG9hZCBpcyBw
cm9ncmVzc2luZyB0aGlzIG9mdGVuLgotc3RhdGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc0hlYXJ0
YmVhdEludGVydmFsID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvZ3Jlc3NIZWFydGJl
YXRJbnRlcnZhbCA9IDAuMV9zOwogCiAvLyBIb3cgbWFueSBoZWFydGJlYXRzIG11c3QgcGFzcyB3
aXRob3V0IHByb2dyZXNzIGJlZm9yZSBkZWNpZGluZyB0aGUgbG9hZCBpcyBjdXJyZW50bHkgc3Rh
bGxlZC4KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsb2FkU3RhbGxlZEhlYXJ0YmVhdENvdW50ID0g
NDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggOTZlOTBi
NWZkMjJkNTE4YzE1M2I5ZjgzMDRhOWRlMGQzZTg5YmI4OC4uYjI2NmMzMzEzYjJhNDhiNjMxYjc4
M2UwNjE5MjExYjcxZjU1ZTZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Rl
eHRUcmFja0xvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xv
YWRlci5jcHAKQEAgLTEzOSw3ICsxMzksNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6bm90aWZ5
RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlKQogICAgICAgICBtX2N1ZVBhcnNlci0+
Zmx1c2goKTsKIAogICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIAogICAgIGNhbmNlbExvYWQoKTsKIH0KQEAgLTE3Miw3ICsxNzIs
NyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCgpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIG1fbmV3Q3Vlc0F2YWlsYWJsZSA9IHRydWU7Ci0gICAgbV9jdWVMb2FkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIFRleHRUcmFja0xvYWRlcjo6bmV3UmVnaW9uc1BhcnNlZCgpCkBAIC0xODcsNyAr
MTg3LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKCkKICAgICBt
X3N0YXRlID0gRmFpbGVkOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3VlTG9h
ZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdy
b3VwLmNwcAppbmRleCAzN2FjNzVkYmY1MDFjNDhiNjZkMDViZTQ1OTUzYTU2MTdjZjkyZTEwLi40
MWZlOTgzNmNhNjYyNjZlZmVhMzI1NmIyMzM0YmYxZGEzMDkwMWE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNw
cApAQCAtMTA3MCw3ICsxMDcwLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVk
dWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNhbGxiYWNrKCkKIHsKICAgICBBU1NFUlQoaXNNYWlu
VGhyZWFkKCkpOwogICAgIENocm9tZUNsaWVudENhbGxiYWNrVGltZXIqIHRpbWVyID0gbmV3IENo
cm9tZUNsaWVudENhbGxiYWNrVGltZXIodGhpcyk7Ci0gICAgdGltZXItPnN0YXJ0T25lU2hvdCgw
KTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgLy8gVGhlIHRpbWVyIHdpbGwg
ZGVsZXRlIGl0c2VsZiBvbmNlIGl0IGZpcmVzLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBhZmIwYjY1NDczMmQ2ZWJiNTZhNTY0
ZmE2ODA0Nzc5OWU1NjIyMDBjLi5hYzUyZDNmMzEzOTRjYzIxMmQ0NmRiMTIxZTUyMDAyMmQ0ZjUy
YTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAKQEAgLTEwMywxMCArMTAzLDEwIEBAIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291
cmNlOjpkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQogICAgIHJldHVy
biBSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93OwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBl
KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgU2Vjb25kcyBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUpCiB7CiAgICAgaWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCkKLSAgICAgICAg
cmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiAw
X3M7CiAKICAgICByZXR1cm4gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0
YURlbGV0aW9uSW50ZXJ2YWwoKTsKIH0KQEAgLTUzOCw3ICs1MzgsNyBAQCB2b2lkIENhY2hlZFJl
c291cmNlOjpkZXN0cm95RGVjb2RlZERhdGFJZk5lZWRlZCgpCiB7CiAgICAgaWYgKCFtX2RlY29k
ZWRTaXplKQogICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFNZW1vcnlDYWNoZTo6c2luZ2xldG9u
KCkuZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpLmNvdW50KCkpCisgICAgaWYgKCFN
ZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgp
KQogICAgICAgICByZXR1cm47CiAgICAgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIucmVzdGFy
dCgpOwogfQpAQCAtODE1LDcgKzgxNSw3IEBAIGlubGluZSBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJh
Y2s6OkNhbGxiYWNrKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgQ2FjaGVkUmVzb3VyCiAgICAg
LCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmQ2FsbGJhY2s6OnRpbWVy
RmlyZWQpCiB7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogaW5saW5lIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNr
OjpjYW5jZWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZTE2M2U4YmE3N2QxM2U3NzIyZTkyZjNkZjM2MTFmYjc1
OTMzNTRhYS4uYzUwZDZkNDYwZjViMjQ0MGY5YjM2NjkzYzYxMmFhOTg2Y2U0M2U0YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC0xMTYzLDcgKzExNjMsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2Fk
RG9uZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkUGVyZm9ybQogICAgICAg
ICBwZXJmb3JtUG9zdExvYWRBY3Rpb25zKCk7CiAKICAgICBpZiAoIW1fZ2FyYmFnZUNvbGxlY3RE
b2N1bWVudFJlc291cmNlc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZ2FyYmFnZUNvbGxl
Y3REb2N1bWVudFJlc291cmNlc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IC8vIEdhcmJhZ2UgY29sbGVjdGluZyBtX2RvY3VtZW50UmVzb3VyY2VzIGlzIGEgd29ya2Fyb3Vu
ZCBmb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApp
bmRleCBkOGQzMGRmYzRlZTkxMDNiMzRkZjhhMTdiYmQ0NzVkZDhhOWU4Mjc5Li5mNzJiNDQyMWUw
YzRlMDdkMzMxNWRjYjY4MDAxYzdjMzhiZGUxNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogc3RhdGljIGNvbnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNpdHkgPSA4MTkyICogMTAy
NDsKIHN0YXRpYyBjb25zdCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2ZURlY29kZWRQcnVuZSA9
IDE7IC8vIFNlY29uZHMuCiBzdGF0aWMgY29uc3QgZmxvYXQgY1RhcmdldFBydW5lUGVyY2VudGFn
ZSA9IC45NWY7IC8vIFBlcmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJkIHdoaWNoIHdlIHBydW5l
LCB0byBhdm9pZCBpbW1lZGlhdGVseSBwcnVuaW5nIGFnYWluLgotc3RhdGljIGNvbnN0IGF1dG8g
ZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRz
IHsgMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCA9IDBfczsKIAogTWVtb3J5Q2FjaGUmIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKQog
ewpAQCAtNzY3LDExICs3NjcsMTMgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmUoKQogCiB2b2lk
IE1lbW9yeUNhY2hlOjpwcnVuZVNvb24oKQogewotICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0
aXZlKCkpCisgICAgaWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
Ci0gICAgIGlmICghbmVlZHNQcnVuaW5nKCkpCi0gICAgICAgICByZXR1cm47Ci0gICAgIG1fcHJ1
bmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisKKyAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
ICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5o
CmluZGV4IDE4MzZjMmJmMTAwOWVlN2FlZDI0OTYzMDUzOGYyODJiZTU4ZDE3MGQuLjc5YzBhMjY5
ZDA1NmVmODk5Y2E2YWNjNDI1YmNmNzFhMTE5MjZiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oCkBAIC0xMjUsOCArMTI1LDggQEAgcHVibGljOgogICAgIHZv
aWQgcHJ1bmVTb29uKCk7CiAgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGl2
ZVNpemUgKyBtX2RlYWRTaXplOyB9CiAKLSAgICB2b2lkIHNldERlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBtX2RlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpIGNvbnN0IHsg
cmV0dXJuIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0
RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vjb25kcyBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CiAKICAgICAvLyBDYWxscyB0byBwdXQgdGhlIGNh
Y2hlZCByZXNvdXJjZSBpbnRvIGFuZCBvdXQgb2YgTFJVIGxpc3RzLgogICAgIHZvaWQgaW5zZXJ0
SW5MUlVMaXN0KENhY2hlZFJlc291cmNlJik7CkBAIC0xOTksNyArMTk5LDcgQEAgcHJpdmF0ZToK
ICAgICB1bnNpZ25lZCBtX2NhcGFjaXR5OwogICAgIHVuc2lnbmVkIG1fbWluRGVhZENhcGFjaXR5
OwogICAgIHVuc2lnbmVkIG1fbWF4RGVhZENhcGFjaXR5OwotICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOworICAgIFNlY29uZHMg
bV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQgbV9saXZl
U2l6ZTsgLy8gVGhlIG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImxpdmUi
IHJlc291cmNlcyBpbiB0aGUgY2FjaGUuCiAgICAgdW5zaWduZWQgbV9kZWFkU2l6ZTsgLy8gVGhl
IG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImRlYWQiIHJlc291cmNlcyBp
biB0aGUgY2FjaGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNw
cAppbmRleCBlZTQzN2U4NjI4ZWJmNGU4NjMyN2NjNzcwMzBmNWY2OTRlMzBiYjJkLi4xNWRjMzJj
YWYwOGJlZWE2ZmQ5Y2U2NzNmMTBmMWRhMTg3M2MyOWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIGNvbnN0
IGludCBjdXJyZW50RGF0YWJhc2VWZXJzaW9uID0gNjsKIC8vIEljb25zIGV4cGlyZSBvbmNlIGV2
ZXJ5IDQgZGF5cwogc3RhdGljIGNvbnN0IGludCBpY29uRXhwaXJhdGlvblRpbWUgPSA2MCo2MCoy
NCo0OyAKIAotc3RhdGljIGNvbnN0IGludCB1cGRhdGVUaW1lckRlbGF5ID0gNTsgCitzdGF0aWMg
Y29uc3QgU2Vjb25kcyB1cGRhdGVUaW1lckRlbGF5ID0gNV9zOwogCiBzdGF0aWMgYm9vbCBjaGVj
a0ludGVncml0eU9uT3BlbiA9IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Nj
cm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFjMjBj
YjcyZjRjYTIuLjI1ZWVhNWQwZDhjMjc5MWYyY2FkNWZhZGZiOTc3MjM0NDRkZWJkMGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NSw3ICs0
NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9s
bERlbGF5ID0gMC4yOwogCiAvLyBXaGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwg
aXMgdHJpZ2dlcmVkIHdoZW4gZG8gdGhlIHNjcm9sbCBldmVyeSAwLjA1cyB0byBtYWtlIGl0IHNt
b290aAotc3RhdGljIGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgYXV0b3Njcm9sbEludGVydmFsID0gMC4wNV9zOwogCiAjaWYgRU5B
QkxFKFBBTl9TQ1JPTExJTkcpCiBzdGF0aWMgRnJhbWUqIGdldE1haW5GcmFtZShGcmFtZSogZnJh
bWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApp
bmRleCBjZmVhMTBjNGQ5Y2VlYTM0Y2JkZmQyMTBiNTNmNzFhYTdmODFiZTQ0Li4wMDAxMmMwNTVk
NzU3ZTBkYTBhZTNjYWRlNzk0NjM4ZjQzZjA0MmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBDYXB0
aW9uVXNlclByZWZlcmVuY2VzOjpub3RpZnkoKQogCiAgICAgbV9oYXZlUHJlZmVyZW5jZXMgPSB0
cnVlOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIENhcHRpb25Vc2VyUHJlZmVy
ZW5jZXM6OmNhcHRpb25EaXNwbGF5TW9kZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCmluZGV4IDk4YjIyYmFm
ZTJjZmJiZDZhMGMyMTkxMTIzNTBlN2M5MDcwZmIyNTguLjVkNmNkNDkzODQ1Y2RiZTgyYjMxZDIw
ZjVlZWZkMTY2MTQ0NTg5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCkBAIC0yNDYsNyArMjQ2LDcgQEAgdm9pZCBD
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZl
cmVuY2VDaGFuZ2VzKCkKIAogICAgIC8vIEdlbmVyYXRpbmcgYW5kIHJlZ2lzdGVyaW5nIHRoZSBj
YXB0aW9uIHN0eWxlc2hlZXQgY2FuIGJlIGV4cGVuc2l2ZSBhbmQgdGhpcyBtZXRob2QgaXMgY2Fs
bGVkIGluZGlyZWN0bHkgd2hlbiB0aGUgcGFyc2VyIGNyZWF0ZXMgYW4gYXVkaW8gb3IKICAgICAv
LyB2aWRlbyBlbGVtZW50LCBzbyBkbyBpdCBhZnRlciBhIGJyaWVmIHBhdXNlLgotICAgIG1fdXBk
YXRlU3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZVN0eWxlU2hl
ZXRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzTWVkaWFBRjo6Y2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGlt
ZXIuY3BwCmluZGV4IGE5NjlkOTQ4ZTdlMzljMDI2OWM1YTMwZmY5Y2QwMTdjOTJkZDk1OGMuLjNh
MjNmMTM0NjZmYTU1ZGNlZmFhYTgyMTljMjRhZDY2ODdiNzgxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
VGltZXIuY3BwCkBAIC01MSw4ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGF1dG8gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxMDAw
bXM7IC8vIE9uZSBzZWNvbmQgbWF0Y2hlcyBHZWNrby4KLXN0YXRpYyBjb25zdCBhdXRvIG1pbklu
dGVydmFsRm9yTm9uVXNlck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSAxMDAwbXM7IC8vIEVtcGly
aWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1pemUgYmF0dGVyeSBsaWZlLgorc3RhdGljIGNvbnN0
IFNlY29uZHMgbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxX3M7IC8vIE9u
ZSBzZWNvbmQgbWF0Y2hlcyBHZWNrby4KK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbkludGVydmFs
Rm9yTm9uVXNlck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSAxX3M7IC8vIEVtcGlyaWNhbGx5IGRl
dGVybWluZWQgdG8gbWF4aW1pemUgYmF0dGVyeSBsaWZlLgogc3RhdGljIGNvbnN0IGludCBtYXhU
aW1lck5lc3RpbmdMZXZlbCA9IDU7CiAKIGNsYXNzIERPTVRpbWVyRmlyZVN0YXRlIHsKQEAgLTE2
MCwxNCArMTYwLDE0IEBAIHByaXZhdGU6CiAKIGJvb2wgTmVzdGVkVGltZXJzTWFwOjppc1RyYWNr
aW5nTmVzdGVkVGltZXJzID0gZmFsc2U7CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRGb3J3
YXJkVXNlckdlc3R1cmUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgaW50IG5l
c3RpbmdMZXZlbCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUo
U2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKIHsKICAgICByZXR1cm4gVXNlckdl
c3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpCiAgICAgICAgICYmIGludGVy
dmFsIDw9IG1heEludGVydmFsRm9yVXNlckdlc3R1cmVGb3J3YXJkaW5nCiAgICAgICAgICYmICFu
ZXN0aW5nTGV2ZWw7IC8vIEdlc3R1cmVzIHNob3VsZCBub3QgYmUgZm9yd2FyZGVkIHRvIG5lc3Rl
ZCB0aW1lcnMuCiB9CiAKLXN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVz
ZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZh
bCwgaW50IG5lc3RpbmdMZXZlbCkKK3N0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9r
ZW4+IHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoU2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3Rp
bmdMZXZlbCkKIHsKICAgICBpZiAoIXNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShpbnRlcnZhbCwg
bmVzdGluZ0xldmVsKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xNzUsMTIgKzE3NSwx
MSBAQCBzdGF0aWMgaW5saW5lIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRv
a2VuVG9Gb3J3YXJkKHN0ZDo6Y2hyb25vOjptaQogICAgIHJldHVybiBVc2VyR2VzdHVyZUluZGlj
YXRvcjo6Y3VycmVudFVzZXJHZXN0dXJlKCk7CiB9CiAKLURPTVRpbWVyOjpET01UaW1lcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0
aW9uPiBhY3Rpb24sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2lu
Z2xlU2hvdCkKK0RPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgaW50
ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKICAgICA6IFN1c3BlbmRhYmxlVGltZXIoY29udGV4dCkK
ICAgICAsIG1fbmVzdGluZ0xldmVsKGNvbnRleHQudGltZXJOZXN0aW5nTGV2ZWwoKSkKICAgICAs
IG1fYWN0aW9uKFdURk1vdmUoYWN0aW9uKSkKICAgICAsIG1fb3JpZ2luYWxJbnRlcnZhbChpbnRl
cnZhbCkKLSAgICAsIG1fdGhyb3R0bGVTdGF0ZShVbmRldGVybWluZWQpCiAgICAgLCBtX2N1cnJl
bnRUaW1lckludGVydmFsKGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpKQogICAgICwgbV91c2Vy
R2VzdHVyZVRva2VuVG9Gb3J3YXJkKHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoaW50ZXJ2YWws
IG1fbmVzdGluZ0xldmVsKSkKIHsKQEAgLTIwMSw3ICsyMDAsNyBAQCBET01UaW1lcjo6fkRPTVRp
bWVyKCkKIHsKIH0KIAotaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpCitpbnQgRE9N
VGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlx
dWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2lu
Z2xlU2hvdCkKIHsKICAgICAvLyBET01UaW1lciBjb25zdHJ1Y3RvciBwYXNzZXMgb3duZXJzaGlw
IG9mIHRoZSBpbml0aWFsIHJlZiBvbiB0aGUgb2JqZWN0IHRvIHRoZSBjb25zdHJ1Y3Rvci4KICAg
ICAvLyBUaGlzIHJlZmVyZW5jZSB3aWxsIGJlIHJlbGVhc2VkIGF1dG9tYXRpY2FsbHkgd2hlbiBh
IG9uZS1zaG90IHRpbWVyIGZpcmVzLCB3aGVuIHRoZSBjb250ZXh0CkBAIC0yMTAsNyArMjA5LDcg
QEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKGlz
PERvY3VtZW50Pihjb250ZXh0KSkgewogICAgICAgICBib29sIGRpZERlZmVyVGltZW91dCA9IGNv
bnRleHQuYWN0aXZlRE9NT2JqZWN0c0FyZVN1c3BlbmRlZCgpOwotICAgICAgICBpZiAoIWRpZERl
ZmVyVGltZW91dCAmJiB0aW1lb3V0LmNvdW50KCkgPD0gMTAwICYmIHNpbmdsZVNob3QpIHsKKyAg
ICAgICAgaWYgKCFkaWREZWZlclRpbWVvdXQgJiYgdGltZW91dCA8PSAxMDBfbXMgJiYgc2luZ2xl
U2hvdCkgewogICAgICAgICAgICAgV0tTZXRPYnNlcnZlZENvbnRlbnRDaGFuZ2UoV0tDb250ZW50
SW5kZXRlcm1pbmF0ZUNoYW5nZSk7CiAgICAgICAgICAgICBXZWJUaHJlYWRBZGRPYnNlcnZlZENv
bnRlbnRNb2RpZmllcih0aW1lcik7IC8vIFdpbGwgb25seSB0YWtlIGFmZmVjdCBpZiBub3QgYWxy
ZWFkeSB2aXNpYmlsaXR5IGNoYW5nZS4KICAgICAgICAgfQpAQCAtMjE4LDcgKzIxNyw3IEBAIGlu
dCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6
OnVuaXF1ZV9wdHI8U2NoZWR1bGVkCiAjZW5kaWYKIAogICAgIHRpbWVyLT5zdXNwZW5kSWZOZWVk
ZWQoKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc3RhbGxUaW1lcihjb250
ZXh0LCB0aW1lci0+bV90aW1lb3V0SWQsIHRpbWVvdXQsIHNpbmdsZVNob3QpOworICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3Rp
bWVvdXRJZCwgc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcz4oc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJsZT4odGltZW91dC52YWx1ZSgpKSksIHNp
bmdsZVNob3QpOwogCiAgICAgLy8gS2VlcCB0cmFjayBvZiBuZXN0ZWQgdGltZXIgaW5zdGFsbHMu
CiAgICAgaWYgKE5lc3RlZFRpbWVyc01hcCogbmVzdGVkVGltZXJzID0gTmVzdGVkVGltZXJzTWFw
OjppbnN0YW5jZUZvckNvbnRleHQoY29udGV4dCkpCkBAIC0zOTksMjEgKzM5OCwyMSBAQCB2b2lk
IERPTVRpbWVyOjp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkoKQogICAgICAgICByZXR1
cm47CiAKICAgICBpZiAocmVwZWF0SW50ZXJ2YWwoKSkgewotICAgICAgICBBU1NFUlQocmVwZWF0
SW50ZXJ2YWxNUygpID09IHByZXZpb3VzSW50ZXJ2YWwpOwotICAgICAgICBMT0coRE9NVGltZXJz
LCAiJXAgLSBVcGRhdGluZyBET01UaW1lcidzIHJlcGVhdCBpbnRlcnZhbCBmcm9tICUiIFBSSWQ2
NCAiIG1zIHRvICUiIFBSSWQ2NCAiIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZp
b3VzSW50ZXJ2YWwuY291bnQoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5jb3VudCgpKTsKKyAg
ICAgICAgQVNTRVJUKHJlcGVhdEludGVydmFsKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7CisgICAg
ICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVy
dmFsIGZyb20gJS4zZiBtcyB0byAlLjNmIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHBy
ZXZpb3VzSW50ZXJ2YWwubWlsbGlzZWNvbmRzKCksIG1fY3VycmVudFRpbWVySW50ZXJ2YWwubWls
bGlzZWNvbmRzKCkpOwogICAgICAgICBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobV9jdXJyZW50VGlt
ZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIExP
RyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgZmlyZSBpbnRlcnZhbCBmcm9t
ICUiIFBSSWQ2NCAiIG1zIHRvICUiIFBSSWQ2NCAiIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRo
aXMsIHByZXZpb3VzSW50ZXJ2YWwuY291bnQoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5jb3Vu
dCgpKTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBm
aXJlIGludGVydmFsIGZyb20gJS4zZiBtcyB0byAlLjNmIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIs
IHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwubWlsbGlzZWNvbmRzKCksIG1fY3VycmVudFRpbWVySW50
ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOwogICAgICAgICBhdWdtZW50RmlyZUludGVydmFsKG1fY3Vy
cmVudFRpbWVySW50ZXJ2YWwgLSBwcmV2aW91c0ludGVydmFsKTsKICAgICB9CiB9CiAKLXN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSgp
IGNvbnN0CitTZWNvbmRzIERPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25z
dAogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIEFTU0VSVCht
X25lc3RpbmdMZXZlbCA8PSBtYXhUaW1lck5lc3RpbmdMZXZlbCk7CiAKLSAgICBhdXRvIGludGVy
dmFsID0gc3RkOjptYXgoMW1zLCBtX29yaWdpbmFsSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2
YWwgPSBzdGQ6Om1heCgxX21zLCBtX29yaWdpbmFsSW50ZXJ2YWwpOwogCiAgICAgLy8gT25seSBh
cHBseSB0aHJvdHRsaW5nIHRvIHJlcGVhdGluZyB0aW1lcnMuCiAgICAgaWYgKG1fbmVzdGluZ0xl
dmVsIDwgbWF4VGltZXJOZXN0aW5nTGV2ZWwpCkBAIC00MjYsMTkgKzQyNSwyMCBAQCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIERPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBj
b25zdAogICAgIHJldHVybiBpbnRlcnZhbDsKIH0KIAotc3RkOjpvcHRpb25hbDxzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzPiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgZmlyZVRpbWUpIGNvbnN0CitzdGQ6Om9wdGlvbmFsPE1vbm90b25pY1RpbWU+
IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSBmaXJlVGltZSkgY29uc3QK
IHsKLSAgICBhdXRvIGFsaWdubWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LT50aW1lckFsaWdubWVudEludGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGlu
Z0xldmVsKTsKLSAgICBpZiAoYWxpZ25tZW50SW50ZXJ2YWwgPT0gMG1zKQorICAgIFNlY29uZHMg
YWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwgPj0gbWF4VGltZXJOZXN0aW5nTGV2ZWwpOworICAg
IGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAwX3MpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7CiAgICAgCisgICAgLy8gRG8gd2UgcmVhbGx5IHdhbnQgdG8gaW5pdGlhbGl6ZSByYW5kb21p
emVkUHJvcG9ydGlvbiBqdXN0IG9uY2U/CiAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSByYW5kb21p
emVkUHJvcG9ydGlvbiA9IHJhbmRvbU51bWJlcigpOwogCi0gICAgLy8gRm9yY2UgYWxpZ25tZW50
IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdu
ZW1udEludGVydmFscywgZS5nLgorICAgIC8vIEZvcmNlIGFsaWdubWVudCB0byByYW5kb21pemVk
QWxpZ25tZW50IGZyYWN0aW9uIG9mIHRoZSB3YXkgYmV0d2VlbiBhbGlnbm1lbnRJbnRlcnZhbHMs
IGUuZy4KICAgICAvLyBpZiBhbGlnbm1lbnRJbnRlcnZhbCBpcyAxMCBhbmQgcmFuZG9taXplZEFs
aWdubWVudCBpcyAwLjMgdGhpcyB3aWxsIGFsaWduIHRvIDMsIDEzLCAyMywgLi4uCi0gICAgYXV0
byByYW5kb21pemVkT2Zmc2V0ID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcz4oYWxpZ25tZW50SW50ZXJ2YWwgKiByYW5kb21pemVkUHJvcG9ydGlv
bik7Ci0gICAgYXV0byBhZGp1c3RlZEZpcmVUaW1lID0gZmlyZVRpbWUgLSByYW5kb21pemVkT2Zm
c2V0OwotICAgIHJldHVybiBhZGp1c3RlZEZpcmVUaW1lIC0gKGFkanVzdGVkRmlyZVRpbWUgJSBh
bGlnbm1lbnRJbnRlcnZhbCkgKyBhbGlnbm1lbnRJbnRlcnZhbCArIHJhbmRvbWl6ZWRPZmZzZXQ7
CisgICAgU2Vjb25kcyByYW5kb21pemVkT2Zmc2V0ID0gYWxpZ25tZW50SW50ZXJ2YWwgKiByYW5k
b21pemVkUHJvcG9ydGlvbjsKKyAgICBNb25vdG9uaWNUaW1lIGFkanVzdGVkRmlyZVRpbWUgPSBm
aXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7CisgICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUg
LSBTZWNvbmRzKGZtb2QoYWRqdXN0ZWRGaXJlVGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVl
KCksIGFsaWdubWVudEludGVydmFsLnZhbHVlKCkpKSArIGFsaWdubWVudEludGVydmFsICsgcmFu
ZG9taXplZE9mZnNldDsKIH0KIAogY29uc3QgY2hhciogRE9NVGltZXI6OmFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCmluZGV4IDM5YTA0NjFkYWVlZWUyNWVh
YmEzMzk5NmU3YTBkYzhkZDkxYTY3ODUuLjgyOGI2NGIwMDliYjIyMTkxNWVjN2FkYmE2YWE3NDhl
MWFmNjY1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKQEAgLTQ0LDEzICs0NCwxMyBAQCBjbGFz
cyBET01UaW1lciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTVRpbWVyPiwgcHVibGljIFN1
c3BlbmRhYmxlVGltZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVRpbWVyKCk7CiAKLSAg
ICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0TWluaW11bUludGVydmFs
KCkgeyByZXR1cm4gNG1zOyB9Ci0gICAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCkgeyByZXR1cm4gMG1zOyB9Ci0gICAgc3RhdGljIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaGlkZGVuUGFnZUFsaWdubWVudEludGVydmFsKCkgeyBy
ZXR1cm4gMTAwMG1zOyB9CisgICAgc3RhdGljIFNlY29uZHMgZGVmYXVsdE1pbmltdW1JbnRlcnZh
bCgpIHsgcmV0dXJuIDRfbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50
SW50ZXJ2YWwoKSB7IHJldHVybiAwX3M7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBoaWRkZW5QYWdl
QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAxX3M7IH0KIAogICAgIC8vIENyZWF0ZXMgYSBu
ZXcgdGltZXIgb3duZWQgYnkgc3BlY2lmaWVkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHN0YXJ0
cyBpdAogICAgIC8vIGFuZCByZXR1cm5zIGl0cyBJZC4KLSAgICBzdGF0aWMgaW50IGluc3RhbGwo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+
LCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7Cisg
ICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3Qp
OwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZUJ5SWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGlu
dCB0aW1lb3V0SWQpOwogCiAgICAgLy8gTm90aWZ5IHRoYXQgdGhlIGludGVydmFsIG1heSBuZWVk
IHVwZGF0aW5nIChlLmcuIGJlY2F1c2UgdGhlIG1pbmltdW0gaW50ZXJ2YWwKQEAgLTYwLDEwICs2
MCwxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2NyaXB0RGlkSW50ZXJhY3RXaXRoUGx1
Z2luKEhUTUxQbHVnSW5FbGVtZW50Jik7CiAKIHByaXZhdGU6Ci0gICAgRE9NVGltZXIoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOworICAgIERP
TVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVk
QWN0aW9uPiwgU2Vjb25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICBmcmllbmQg
Y2xhc3MgSW50ZXJuYWxzOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZh
bENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsKKyAgICBTZWNvbmRzIGludGVydmFsQ2xhbXBlZFRv
TWluaW11bSgpIGNvbnN0OwogCiAgICAgYm9vbCBpc0RPTVRpbWVyc1Rocm90dGxpbmdFbmFibGVk
KERvY3VtZW50JikgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vz
c2FyeShjb25zdCBET01UaW1lckZpcmVTdGF0ZSYpOwpAQCAtNzEsNyArNzEsNyBAQCBwcml2YXRl
OgogICAgIC8vIFN1c3BlbmRhYmxlVGltZXIKICAgICB2b2lkIGZpcmVkKCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBkaWRTdG9wKCkgb3ZlcnJpZGU7Ci0gICAgc3RkOjpvcHRpb25hbDxzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzPiBhbGlnbmVkRmlyZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cykgY29uc3Qgb3ZlcnJpZGU7CisgICAgc3RkOjpvcHRpb25hbDxNb25vdG9uaWNUaW1lPiBhbGln
bmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICAvLyBBY3Rp
dmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBj
b25zdCBvdmVycmlkZTsKQEAgLTg1LDEwICs4NSwxMCBAQCBwcml2YXRlOgogICAgIGludCBtX3Rp
bWVvdXRJZDsKICAgICBpbnQgbV9uZXN0aW5nTGV2ZWw7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNj
aGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBt
X29yaWdpbmFsSW50ZXJ2YWw7Ci0gICAgVGltZXJUaHJvdHRsZVN0YXRlIG1fdGhyb3R0bGVTdGF0
ZTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fY3VycmVudFRpbWVySW50ZXJ2YWw7
CisgICAgU2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2N1cnJlbnRU
aW1lckludGVydmFsOwogICAgIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiBtX3VzZXJHZXN0dXJl
VG9rZW5Ub0ZvcndhcmQ7CisgICAgVGltZXJUaHJvdHRsZVN0YXRlIG1fdGhyb3R0bGVTdGF0ZSB7
IFVuZGV0ZXJtaW5lZCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCmluZGV4IGU0NTcwZTE0ZmFmZDllZmIxOTMzNjkzZmEzZWJiZGMyYzc0
ZTQzNmYuLjgzZjM0MmIxOTllZGE0OGRlNTI2NDRhYTExODNlZWZhZjdkZjJlZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTk1OCw3ICs5NTgsNyBAQCBFeGNlcHRpb25Pcjx2b2lk
PiBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVz
c2FnZSwgVgogCiAgICAgLy8gU2NoZWR1bGUgdGhlIG1lc3NhZ2UuCiAgICAgYXV0byogdGltZXIg
PSBuZXcgUG9zdE1lc3NhZ2VUaW1lcigqdGhpcywgV1RGTW92ZShtZXNzYWdlKSwgc291cmNlT3Jp
Z2luLCBzb3VyY2UsIGNoYW5uZWxzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBXVEZNb3ZlKHRhcmdl
dCksIFdURk1vdmUoc3RhY2tUcmFjZSkpOwotICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMCk7Cisg
ICAgdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KQEAgLTE2
NDgsNyArMTY0OCw3IEBAIEV4Y2VwdGlvbk9yPGludD4gRE9NV2luZG93OjpzZXRUaW1lb3V0KHN0
ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0
ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01U
aW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwo
KmNvbnRleHQsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1l
b3V0KSwgdHJ1ZSk7CiB9CiAKIHZvaWQgRE9NV2luZG93OjpjbGVhclRpbWVvdXQoaW50IHRpbWVv
dXRJZCkKQEAgLTE2ODAsNyArMTY4MCw3IEBAIEV4Y2VwdGlvbk9yPGludD4gRE9NV2luZG93Ojpz
ZXRJbnRlcnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sCiAgICAg
YXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRl
eHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAg
ICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9uKSwgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOworICAgIHJldHVybiBET01U
aW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKHRpbWVvdXQpLCBmYWxzZSk7CiB9CiAKIHZvaWQgRE9NV2luZG93OjpjbGVhcklu
dGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Rl
dmljZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVy
LmNwcAppbmRleCAzYzM4NDMwOTU2MzQ5NjIyYWUyZTE5ZmQ1Yjc2MDM4NWM5NTkwNGNjLi5lZmVm
MzZiYTBmNzkyMTk5OTYyNzg1NTRhMmE5NThiNThjNjFlNTY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGV2aWNlQ29udHJvbGxlci5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdm9pZCBEZXZpY2VDb250
cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQogICAgIGlm
IChoYXNMYXN0RGF0YSgpKSB7CiAgICAgICAgIG1fbGFzdEV2ZW50TGlzdGVuZXJzLmFkZCh3aW5k
b3cpOwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9CiAKICAgICBpZiAod2FzRW1wdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKaW5kZXggZTk0YTkyNTUyYzk5NmE1MzhlNDY2ODJjZWIzMWUzNTE5MWEzMzM3YS4uYmM2
NzFkMzAwNDdiOGJlOGY1MzA0OTQ0OWI5YmI3NDMwYzE1ODY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcApAQCAtMTU2LDE1ICsxNTYsMTUgQEAgdXNpbmcgbmFtZXNwYWNlIFNW
R05hbWVzOwogLy8gVGhlIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYSBm
YWtlIG1vdXNlIGV2ZW50LCB0cmlnZ2VyZWQKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0
IGludGVydmFsIGlzIHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2
ZW50cwogLy8gaW4gZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVy
d2lzZSB0aGUgbG9uZyBpbnRlcnZhbCBpcyB1c2VkLgotY29uc3QgZG91YmxlIGZha2VNb3VzZU1v
dmVEdXJhdGlvblRocmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNo
b3J0SW50ZXJ2YWwgPSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZh
bCA9IDAuMjU7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVEdXJhdGlvblRocmVzaG9sZCA9
IDAuMDFfczsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSAwLjFf
czsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAuMjVfczsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKENVUlNPUl9TVVBQT1JUKQogLy8gVGhlIGFtb3VudCBvZiB0aW1l
IHRvIHdhaXQgZm9yIGEgY3Vyc29yIHVwZGF0ZSBvbiBzdHlsZSBhbmQgbGF5b3V0IGNoYW5nZXMK
IC8vIFNldCB0byA1MEh6LCBubyBuZWVkIHRvIGJlIGZhc3RlciB0aGFuIGNvbW1vbiBzY3JlZW4g
cmVmcmVzaCByYXRlCi1jb25zdCBkb3VibGUgY3Vyc29yVXBkYXRlSW50ZXJ2YWwgPSAwLjAyOwor
Y29uc3QgU2Vjb25kcyBjdXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDJfczsKIAogY29uc3QgaW50
IG1heGltdW1DdXJzb3JTaXplID0gMTI4OwogI2VuZGlmCkBAIC0xOTMsMjAgKzE5MywyMCBAQCBw
cml2YXRlOgogCiBjbGFzcyBNYXhpbXVtRHVyYXRpb25UcmFja2VyIHsKIHB1YmxpYzoKLSAgICBl
eHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFja2VyKGRvdWJsZSAqbWF4RHVyYXRpb24pCisgICAg
ZXhwbGljaXQgTWF4aW11bUR1cmF0aW9uVHJhY2tlcihTZWNvbmRzJiBtYXhEdXJhdGlvbikKICAg
ICAgICAgOiBtX21heER1cmF0aW9uKG1heER1cmF0aW9uKQotICAgICAgICAsIG1fc3RhcnQobW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpCisgICAgICAgICwgbV9zdGFydChNb25vdG9uaWNU
aW1lOjpub3coKSkKICAgICB7CiAgICAgfQogCiAgICAgfk1heGltdW1EdXJhdGlvblRyYWNrZXIo
KQogICAgIHsKLSAgICAgICAgKm1fbWF4RHVyYXRpb24gPSBzdGQ6Om1heCgqbV9tYXhEdXJhdGlv
biwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3N0YXJ0KTsKKyAgICAgICAgbV9t
YXhEdXJhdGlvbiA9IHN0ZDo6bWF4KG1fbWF4RHVyYXRpb24sIE1vbm90b25pY1RpbWU6Om5vdygp
IC0gbV9zdGFydCk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIGRvdWJsZSogbV9tYXhEdXJhdGlv
bjsKLSAgICBkb3VibGUgbV9zdGFydDsKKyAgICBTZWNvbmRzJiBtX21heER1cmF0aW9uOworICAg
IE1vbm90b25pY1RpbWUgbV9zdGFydDsKIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAm
JiAhRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBFdmVu
dEhhbmRsZXI6OmNsZWFyKCkKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludERvY3VtZW50ID0g
bnVsbHB0cjsKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRhcmdldEtleSA9IDA7CiAjZW5k
aWYKLSAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDA7CisgICAgbV9tYXhNb3VzZU1vdmVk
RHVyYXRpb24gPSAwX3M7CiAgICAgbV9iYXNlRXZlbnRUeXBlID0gUGxhdGZvcm1FdmVudDo6Tm9U
eXBlOwogICAgIG1fZGlkU3RhcnREcmFnID0gZmFsc2U7CiB9CkBAIC0xODIwLDcgKzE4MjAsNyBA
QCBib29sIEV2ZW50SGFuZGxlcjo6bW91c2VNb3ZlZChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQm
IGV2ZW50KQogewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAgICAg
UmVmUHRyPEZyYW1lVmlldz4gcHJvdGVjdG9yKG1fZnJhbWUudmlldygpKTsKLSAgICBNYXhpbXVt
RHVyYXRpb25UcmFja2VyIG1heER1cmF0aW9uVHJhY2tlcigmbV9tYXhNb3VzZU1vdmVkRHVyYXRp
b24pOworICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25UcmFja2VyKG1fbWF4
TW91c2VNb3ZlZER1cmF0aW9uKTsKIAogICAgIGlmIChtX2ZyYW1lLm1haW5GcmFtZSgpLnBhZ2VP
dmVybGF5Q29udHJvbGxlcigpLmhhbmRsZU1vdXNlRXZlbnQoZXZlbnQpKQogICAgICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTI4OTgsNyArMjg5OCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpzZW5kQ29u
dGV4dE1lbnVFdmVudEZvcktleSgpCiB2b2lkIEV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0
YXRlVXBkYXRlKCkKIHsKICAgICBpZiAoIW1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX2hvdmVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2hvdmVyVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA5YmNhYzcyYzdlMjE2MzIxMDkxNWY3MmMxZjgzZWQ5
NWEwZGVjOTMzLi5hN2E5MWY2NjdmMjZmOTE1M2IzNjg5YjZhMmQ1MmE2OTQ4OGY2MTQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTU3MCw3ICs1NzAsNyBAQCBwcml2YXRlOgog
ICAgIGJvb2wgbV90b3VjaFByZXNzZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBkb3VibGUg
bV9tYXhNb3VzZU1vdmVkRHVyYXRpb24geyAwIH07CisgICAgU2Vjb25kcyBtX21heE1vdXNlTW92
ZWREdXJhdGlvbjsKICAgICBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1fYmFzZUV2ZW50VHlwZSB7IFBs
YXRmb3JtRXZlbnQ6Ok5vVHlwZSB9OwogICAgIGJvb2wgbV9kaWRTdGFydERyYWcgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc0hhbmRsaW5nV2hlZWxFdmVudCB7IGZhbHNlIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGQ1NTU1ZWQyYzBmYjU3Yjk2M2I3YjYwMDIxOTg3MTcx
MjZmNjVmZDcuLmI3YTA0ZjQ4NWY4OWM4Yzg5ZGNkZmNmYWVkMWQxOTNhOWZkYzk5NWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC00Nyw3ICs0Nyw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY29uc3QgdWludDY0X3QgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5l
Y3REZWxheSA9IDMwMDA7Citjb25zdCBTZWNvbmRzIEV2ZW50U291cmNlOjpkZWZhdWx0UmVjb25u
ZWN0RGVsYXkgPSAzX3M7CiAKIGlubGluZSBFdmVudFNvdXJjZTo6RXZlbnRTb3VyY2UoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IEluaXQmIGV2
ZW50U291cmNlSW5pdCkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKQEAgLTEzMiwx
MyArMTMyLDEzIEBAIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlSW5pdGlhbENvbm5lY3QoKQog
ICAgIEFTU0VSVChtX3N0YXRlID09IENPTk5FQ1RJTkcpOwogICAgIEFTU0VSVCghbV9yZXF1ZXN0
SW5GbGlnaHQpOwogCi0gICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
Y29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpz
Y2hlZHVsZVJlY29ubmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9j
b25uZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAg
IG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdChtX3JlY29ubmVjdERlbGF5KTsKICAgICBkaXNw
YXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCBm
YWxzZSkpOwogfQogCkBAIC0zNTUsOSArMzU1LDkgQEAgdm9pZCBFdmVudFNvdXJjZTo6cGFyc2VF
dmVudFN0cmVhbUxpbmUodW5zaWduZWQgcG9zaXRpb24sIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQK
ICAgICAgICAgICAgIC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgd2FudCB0byBpZ25vcmUgdHJhaWxp
bmcgZ2FyYmFnZSBoZXJlPyBTaG91bGQgd2UgYmUgdXNpbmcgdGhlIHN0cmljdCB2ZXJzaW9uIGlu
c3RlYWQ/CiAgICAgICAgICAgICAvLyBGSVhNRTogSWYgd2UgY2FuJ3QgcGFyc2UgdGhlIHZhbHVl
LCBzaG91bGQgd2UgbGVhdmUgbV9yZWNvbm5lY3REZWxheSBhbG9uZSBvciBzZXQgaXQgdG8gZGVm
YXVsdFJlY29ubmVjdERlbGF5PwogICAgICAgICAgICAgYm9vbCBvazsKLSAgICAgICAgICAgIGF1
dG8gcmVjb25uZWN0RGVsYXkgPSBjaGFyYWN0ZXJzVG9VSW50NjQoJm1fcmVjZWl2ZUJ1ZmZlcltw
b3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOworICAgICAgICAgICAgYXV0byByZWNvbm5lY3RE
ZWxheU1TID0gY2hhcmFjdGVyc1RvVUludDY0KCZtX3JlY2VpdmVCdWZmZXJbcG9zaXRpb25dLCB2
YWx1ZUxlbmd0aCwgJm9rKTsKICAgICAgICAgICAgIGlmIChvaykKLSAgICAgICAgICAgICAgICBt
X3JlY29ubmVjdERlbGF5ID0gcmVjb25uZWN0RGVsYXk7CisgICAgICAgICAgICAgICAgbV9yZWNv
bm5lY3REZWxheSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMocmVjb25uZWN0RGVsYXlNUyk7
CiAgICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggMmJl
M2Y5ZjFiNzVkMzlkNTNiMmZlMzkxMjkzZjU4Y2MwZjE4Mjc4Mi4uYTRlN2RkOWFjNDc0MzMxYzhi
N2UzZmVhNzYzZjAxN2UyN2M2MzBhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAt
OTgsNyArOTgsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCByZXNwb25zZUlzVmFsaWQoY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYpIGNvbnN0OwogCi0gICAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IGRl
ZmF1bHRSZWNvbm5lY3REZWxheTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0UmVj
b25uZWN0RGVsYXk7CiAKICAgICBVUkwgbV91cmw7CiAgICAgYm9vbCBtX3dpdGhDcmVkZW50aWFs
czsKQEAgLTExNSw3ICsxMTUsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxVQ2hhcj4gbV9kYXRh
OwogICAgIFN0cmluZyBtX2N1cnJlbnRseVBhcnNlZEV2ZW50SWQ7CiAgICAgU3RyaW5nIG1fbGFz
dEV2ZW50SWQ7Ci0gICAgdWludDY0X3QgbV9yZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5l
Y3REZWxheSB9OworICAgIFNlY29uZHMgbV9yZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5l
Y3REZWxheSB9OwogICAgIFN0cmluZyBtX2V2ZW50U3RyZWFtT3JpZ2luOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4IGE3YjI1NTdlNjk0NmRiOWU1NjEx
NTdhZGY3MmNjMjgyNmVmZTg3NDcuLjcyYzMzOTE3ZjdmYmIyYjNjZjhjODFhMGRhMDhkYjBlNDc1
MDQyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKQEAgLTEwODgs
NyArMTA4OCw3IEBAIGJvb2wgRm9jdXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25h
bGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgS2V5Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9s
bGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFp
bnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMpOworICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3Rh
cnRPbmVTaG90KDAuMDMzX3MpOwogfQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6Zm9jdXNSZXBh
aW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDM3ZmI3ZGFmMWZkOWUyOTU2
YmFmNTBmMWNhNWM4YWE5M2JkMGMyNDIuLjU1Y2Y0MzZlNjg5M2FhOWY1Y2NiYTBlYzYzMmI3NjM1
YjE3M2EwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogI2lmIFBMQVRGT1JN
KElPUykKLWNvbnN0IHVuc2lnbmVkIHNjcm9sbEZyZXF1ZW5jeSA9IDEwMDAgLyA2MDsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1ZW5jeSA9IFNlY29uZHMoMS4wIC8gNjApOwogI2Vu
ZGlmCiAKIERFRklORV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRl
ciwgZnJhbWVDb3VudGVyLCAoIkZyYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmlu
ZGV4IDU5MDk2ZGRjY2RiODNhZDkzZDNmOGYxYzA1YWVlYzRkNjk5NzIyYzMuLjAxYTc0NDAwYzY4
NGQ5ZjYwY2FhMTJjNTE4YTcwMGY5YTQ4N2ViYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKQEAgLTE1NjAsNyArMTU2MCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxv
d1N1YnRyZWUpCiAgICAgICAgICAgICAvLyBkZWZlciB3aWRnZXQgdXBkYXRlcyBhbmQgZXZlbnQg
ZGlzcGF0Y2ggdW50aWwgYWZ0ZXIgd2UgcmV0dXJuLiBwb3N0TGF5b3V0VGFza3MoKQogICAgICAg
ICAgICAgLy8gY2FuIG1ha2UgdXMgbmVlZCB0byB1cGRhdGUgYWdhaW4sIGFuZCB3ZSBjYW4gZ2V0
IHN0dWNrIGluIGEgbmFzdHkgY3ljbGUgdW5sZXNzCiAgICAgICAgICAgICAvLyB3ZSBjYWxsIGl0
IHRocm91Z2ggdGhlIHRpbWVyIGhlcmUuCi0gICAgICAgICAgICBtX3Bvc3RMYXlvdXRUYXNrc1Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAg
ICAgICAgICAgICBsYXlvdXQoKTsKICAgICAgICAgfQpAQCAtMjQ0Myw3ICsyNDQzLDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBTY3JvbGxQb3NpdGlvbiYg
b2xkUG9zaXRpb24sIGNvbnN0IFMKICAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5z
dG9wKCk7CiAgICAgICAgIHNlbmRTY3JvbGxFdmVudCgpOwogICAgIH0gZWxzZSBpZiAoIW1fZGVs
YXllZFNjcm9sbEV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kZWxheWVkU2Nyb2xs
RXZlbnRUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5LnZhbHVlKCkpOworICAgICAg
ICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5nRGVsYXkp
OwogCiAgICAgaWYgKERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkKICAg
ICAgICAgZG9jdW1lbnQtPnNlbmRXaWxsUmV2ZWFsRWRnZUV2ZW50c0lmTmVlZGVkKG9sZFBvc2l0
aW9uLCBuZXdQb3NpdGlvbiwgdmlzaWJsZUNvbnRlbnRSZWN0KCksIGNvbnRlbnRzU2l6ZSgpKTsK
QEAgLTI4NDEsNyArMjg0MSw3IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRp
bGluZ0lmTmVlZGVkKCkKICAgICBpZiAobV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyLmlz
QWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKICAgICAvLyBEZWxheSBlbmFibGluZyBhIGJpdCBh
cyBsb2FkIGNvbXBsZXRpb24gbWF5IHRyaWdnZXIgZnVydGhlciBsb2FkaW5nIGZyb20gc2NyaXB0
cy4KLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkg
PSAwLjU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVE
ZWxheSA9IDAuNV9zOwogICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9u
ZVNob3Qoc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSk7CiB9CiAKQEAgLTM0MzAsNyArMzQz
MCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKCkKICAgICAvLyBp
cyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIuCiAgICAgUmVmPEZyYW1lVmll
dz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0ZUVtYmVkZGVkT2JqZWN0c1Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkg
ewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxp
bmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggNWZlMjFlNzJkNDRjYTYyMjgy
Zjc4NTJhYzE4ZjliN2Y2NDU3NmVjMC4uZDA1ZGU0MzM5MjVjODBmY2E1NDIxZDc4NGJjMjk2ZWIz
M2FhMTFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcgKzEyNDMsNyBAQCB2b2lkIFBh
Z2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0bGluZ1N0YXRlIHN0YXRlKQog
ICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlID0gc3RhdGU7Ci0g
ICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSA9IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVwZGF0ZURPTVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1l
clRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBzdGF0ZSkKICAgICB9CiB9CiAK
LXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBtX3RpbWVyQWxpZ25t
ZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAgLTEyODQsOCArMTI4NCw4IEBA
IHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIGlm
IChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0g
bV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsKICAgICAgICAgZWxzZSB7Ci0g
ICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZS50
aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246
Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBzdGQ6OmNo
cm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hh
bmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0gTW9ub3Rv
bmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lOwog
ICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0LCBzZXQgdGhlIHRpbWVyLiBJ
ZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBpZiAobV90aW1lckFsaWdubWVu
dEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCkKICAgICAg
ICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAy
MjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2ZWQ2ZGVlMTI0YjRiLi4zNWZhNTExMWEwYjI2MWJj
NGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjI1LDcgKzIyNSw3
IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dyZXNzKCkgY29uc3QgeyByZXR1
cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXImIGJhY2tGb3J3YXJk
KCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9sbGVyOyB9CiAKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRvbVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2
YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogICAgIGVudW0gVmlld01v
ZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNob3dBbGxQbHVn
aW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0gc2hvd0FsbDsgfQogICAgIGJv
b2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1lckFsaWdubWVudEludGVydmFs
SW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXNDb250cm9sbGVkQnlBdXRvbWF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRvbWF0aW9uOyB9CiAgICAgdm9p
ZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJvbGxlZCkgeyBtX2NvbnRyb2xs
ZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02NjcsMTAgKzY2NywxMCBAQCBwcml2
YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogCiAgICAgVGltZXJU
aHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7IFRpbWVyVGhyb3R0bGluZ1N0
YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9p
bnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSB7IHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBNb25vdG9uaWNUaW1lIG1fdGlt
ZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAgU2Vjb25kcyBtX3RpbWVyQWxp
Z25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVh
c2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJ
bnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lzRWRpdGFibGU7CiAgICAgYm9v
bCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3Zl
cmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCBlNzBi
Y2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5lOTAyYjAyNThkMWUxODlhNjAw
MzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApA
QCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91
YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRpYyBjb25zdCBkb3VibGUgZmFk
ZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgZmFkZUFuaW1h
dGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0YXRpYyBQYWdlT3ZlcmxheTo6
UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQogewpAQCAtMjUwLDcgKzI1MCw3
IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0aW9uKCkKIHZvaWQgUGFnZU92
ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9mYWRlQW5pbWF0aW9uU3RhcnRU
aW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVh
dGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAgbV9mYWRlQW5pbWF0aW9uVGlt
ZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFsKTsKIH0KIAogdm9pZCBQYWdl
T3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEyZDVhMWZiY2RhYzdmYTFiN2RlYzVkLi40YTYzZWM0
ZTJmMDNhOWJhYzE3NGVmYjBkNzhhYmEyYWNlNzA3ZWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcApAQCAtMTcyLDcgKzE3Miw3IEBAIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJl
c1VzZXJHZXN0dXJlVG9Mb2FkVmlkZW8gPSB0cnVlOwogCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZh
dWx0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwogCi1zdGF0aWMg
Y29uc3QgZG91YmxlIGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dEluU2Vjb25kcyA9IDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0SW5jcmVtZW50YWxS
ZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgPSA1X3M7CiAjaWYgVVNFKFVOSUZJRURfVEVYVF9D
SEVDS0lORykKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFi
bGVkID0gdHJ1ZTsKICNlbHNlCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0
TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KQog
ICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGltcG9ydGFu
dC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRoZSBQYWdl
IGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8gcmVhbGx5
IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBtb3JlIGRp
c2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgp
CkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZChib29s
IGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1hZ2VzRW5h
YmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxs
eS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBwcmVmZXJN
SU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRO
ZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElGcmFtZXNG
b3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGROb3RSZWxv
YWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVt
RE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKQordm9p
ZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkK
IHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lckludGVydmFs
OwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaAppbmRleCAwYTk1N2VmZTBlZWQ5MWEwNDAwOWFlMTU3ZDU0MzY3ODlhZjRkNGVmLi42
ODYyOTM4Y2E1Njg4ZWI1MmY0Y2QyYTQ3MDQ2M2Q1M2ZmZjBiZjBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC0xNjksOCArMTY5LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9vbCk7CiAgICAgYm9vbCBuZWVk
c0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0Fkb2Jl
RnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNaW5p
bXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsgLy8gSW5pdGlh
bGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKS4KLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIG1pbmltdW1ET01UaW1lckludGVydmFsKCkgY29uc3QgeyByZXR1
cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyk7IC8vIEluaXRpYWxpemVkIHRvIERP
TVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCisgICAgU2Vjb25kcyBtaW5pbXVtRE9N
VGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7
IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5b3V0SW50ZXJ2YWwoU2Vjb25kcyk7
CiAgICAgU2Vjb25kcyBsYXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0SW50
ZXJ2YWw7IH0KQEAgLTI0NCw4ICsyNDQsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgc2V0U2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJz
KGJvb2wpOwogICAgIHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycygpOwogCi0gICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyhkb3VibGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsgfQotICAgIGRvdWJsZSB0aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KKyAgICB2b2lkIHNldFRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHMgdGltZSkg
eyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsg
fQorICAgIFNlY29uZHMgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJv
bHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOyB9CiAKICAgICBib29sIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9u
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNp
b25FbmFibGVkOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoYm9vbCk7CkBAIC0zMjYsNyArMzI2LDcgQEAgcHJpdmF0
ZToKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEdlbmVyaWNGYW1pbGllcz4gbV9mb250
R2VuZXJpY0ZhbWlsaWVzOwogICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQb2xp
Y3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7CiAgICAgU2Vjb25kcyBtX2xheW91dEludGVydmFs
OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5pbXVtRE9NVGltZXJJbnRlcnZh
bDsKKyAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7CiAKICAgICBTRVRUSU5H
U19NRU1CRVJfVkFSSUFCTEVTCiAKQEAgLTM0OSw3ICszNDksNyBAQCBwcml2YXRlOgogI2VuZGlm
CiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQgOiAxOwogCi0g
ICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7
CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwogICAgIHZv
aWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5p
bgppbmRleCA1MTU3NmJhMzA2ODdiODY4NTQ0ZjQwMDgxOGUyZDM1YmE1YjIyMDIyLi4xNzc4YjJk
OGQwZjU2ODc2OWU3NTg1OGVjMDgwMDdiMWRlYjA2MzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aW4KQEAgLTcsNyArNyw3IEBAIGxvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCB0eXBlPVN0cmluZwog
ZWRpdGFibGVMaW5rQmVoYXZpb3IgdHlwZT1FZGl0YWJsZUxpbmtCZWhhdmlvciwgaW5pdGlhbD1F
ZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IKIHRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9u
QmVoYXZpb3IgdHlwZT1UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yLCBpbml0
aWFsPVRleHREaXJlY3Rpb25TdWJtZW51QXV0b21hdGljYWxseUluY2x1ZGVkCiBwZGZJbWFnZUNh
Y2hpbmdQb2xpY3kgdHlwZT1QREZJbWFnZUNhY2hpbmdQb2xpY3ksIGluaXRpYWwgPSBQREZJbWFn
ZUNhY2hpbmdEZWZhdWx0Ci1wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcyB0eXBlPWRvdWJs
ZSwgaW5pdGlhbD0xCitwYXNzd29yZEVjaG9EdXJhdGlvbiB0eXBlPVNlY29uZHMsIGluaXRpYWw9
MQogCiAjIFNldHMgdGhlIG1hZ25pZmljYXRpb24gdmFsdWUgZm9yIHZhbGlkYXRpb24gbWVzc2Fn
ZSB0aW1lci4gIElmIHRoZQogIyBtYWduaWZpY2F0aW9uIHZhbHVlIGlzIE4sIGEgdmFsaWRhdGlv
biBtZXNzYWdlIGRpc2FwcGVhcnMgYXV0b21hdGljYWxseSBhZnRlcgpAQCAtMTQwLDcgKzE0MCw3
IEBAIG1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbSBpbml0aWFsPWRlZmF1bHRNZWRpYUNv
bnRyb2xzU2NhbGVXaXRoUGFnZVpvb20KIGludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkIGlu
aXRpYWw9ZmFsc2UKIHBhc3N3b3JkRWNob0VuYWJsZWQgaW5pdGlhbD1mYWxzZQogc3VwcHJlc3Nl
c0luY3JlbWVudGFsUmVuZGVyaW5nIGluaXRpYWw9ZmFsc2UKLWluY3JlbWVudGFsUmVuZGVyaW5n
U3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzIHR5cGU9ZG91YmxlLCBpbml0aWFsPWRlZmF1bHRJ
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcworaW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgdHlwZT1TZWNvbmRzLCBpbml0aWFsPWRlZmF1
bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dAogYmFja3NwYWNlS2V5TmF2
aWdhdGlvbkVuYWJsZWQgaW5pdGlhbD10cnVlCiBzaG91bGREaXNwbGF5U3VidGl0bGVzIGluaXRp
YWw9ZmFsc2UsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCiBzaG91bGREaXNwbGF5Q2FwdGlvbnMg
aW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4IDc2NTgzYzEyYmE4MjkxYWFhNmFlNGJjNWRmZGQ0
NmIyNGM1NzY0MzUuLjI4NzYyODZjOGMwNzE4ZjgzNjJkYWJjMTVmMmJmM2Q0MTFkMGYyMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcApAQCAtMzMsMTAgKzMzLDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTdXNwZW5kYWJsZVRpbWVyOjpTdXNwZW5kYWJsZVRp
bWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgOiBBY3RpdmVET01PYmpl
Y3QoJmNvbnRleHQpCi0gICAgLCBtX3N1c3BlbmRlZChmYWxzZSkKLSAgICAsIG1fc2F2ZWROZXh0
RmlyZUludGVydmFsKDApCi0gICAgLCBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1f
c2F2ZWRJc0FjdGl2ZShmYWxzZSkKIHsKIH0KIApAQCAtMTAxLDcgKzk3LDcgQEAgdm9pZCBTdXNw
ZW5kYWJsZVRpbWVyOjpjYW5jZWwoKQogICAgICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogfQog
Ci12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRl
cnZhbCkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1lckJhc2U6
OnN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsKTsKQEAgLTExMiwyNyArMTA4LDI3IEBAIHZv
aWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFs
KQogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QoZG91Ymxl
IGludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QoU2Vjb25kcyBp
bnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1lckJhc2U6OnN0
YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgZWxzZSB7CiAgICAgICAgIG1fc2F2ZWRJc0FjdGl2
ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0RmlyZUludGVydmFsID0gaW50ZXJ2YWw7Ci0g
ICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fc2F2ZWRSZXBlYXRJ
bnRlcnZhbCA9IDBfczsKICAgICB9CiB9CiAKLWRvdWJsZSBTdXNwZW5kYWJsZVRpbWVyOjpyZXBl
YXRJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFN1c3BlbmRhYmxlVGltZXI6OnJlcGVhdEludGVy
dmFsKCkgY29uc3QKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICByZXR1cm4gVGlt
ZXJCYXNlOjpyZXBlYXRJbnRlcnZhbCgpOwogICAgIGlmIChtX3NhdmVkSXNBY3RpdmUpCiAgICAg
ICAgIHJldHVybiBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0
dXJuIDBfczsKIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50RmlyZUludGVydmFs
KGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZh
bChTZWNvbmRzIGRlbHRhKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7CkBAIC0xNDEsMTEgKzEzNywxMSBAQCB2
b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKQog
ICAgIH0gZWxzZSB7CiAgICAgICAgIG1fc2F2ZWRJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIG1f
c2F2ZWROZXh0RmlyZUludGVydmFsID0gZGVsdGE7Ci0gICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRl
cnZhbCA9IDA7CisgICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiB9
CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBk
ZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKFNlY29u
ZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJCYXNlOjph
dWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxl
VGltZXIuaAppbmRleCBlMTVmMGE3MDkzNzg1MGEzYTY5MDFmNzIwYzVkZTFmNjA5OTEzODY0Li4x
MzQ1NzUxODUyNGRkMjEyYTkyYjdmODU1NTE3ODFhMDM2NWQxOTMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDMsMTcgKzQzLDEyIEBAIHB1YmxpYzoKICAgICBi
b29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgpIHx8ICht
X3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3RpdmUpOyB9CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVkOyB9CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5n
KGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGlu
dGVydmFsKTsKLSAgICBkb3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKLSAgICB2b2lkIGF1
Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKTsKLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJ
bnRlcnZhbChkb3VibGUgZGVsdGEpOworICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCk7CisgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCk7
CisgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwogCi0gICAgdm9pZCBzdGFydFJl
cGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0
UmVwZWF0aW5nKG1zVG9TZWNvbmRzKHJlcGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0
T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hv
dChtc1RvU2Vjb25kcyhpbnRlcnZhbCkpOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyByZXBlYXRJbnRlcnZhbE1TKCkgY29uc3QgeyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50
ZXJ2YWwoKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRh
KSk7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkp
OyB9CisgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpOworICAgIHZv
aWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpOwogCiAgICAgdXNpbmcgVGlt
ZXJCYXNlOjpkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbDsKICAgICB1c2luZyBUaW1lckJhc2U6
Om9wZXJhdG9yIG5ldzsKQEAgLTcxLDExICs2NiwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgc3Vz
cGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBmaW5hbDsKICAgICB2b2lkIHJlc3VtZSgpIGZpbmFs
OwogCi0gICAgYm9vbCBtX3N1c3BlbmRlZDsKKyAgICBTZWNvbmRzIG1fc2F2ZWROZXh0RmlyZUlu
dGVydmFsOworICAgIFNlY29uZHMgbV9zYXZlZFJlcGVhdEludGVydmFsOwogCi0gICAgZG91Ymxl
IG1fc2F2ZWROZXh0RmlyZUludGVydmFsOwotICAgIGRvdWJsZSBtX3NhdmVkUmVwZWF0SW50ZXJ2
YWw7Ci0gICAgYm9vbCBtX3NhdmVkSXNBY3RpdmU7CisgICAgYm9vbCBtX3N1c3BlbmRlZCB7IGZh
bHNlIH07CisgICAgYm9vbCBtX3NhdmVkSXNBY3RpdmUgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2
ZW50VGVzdFRyaWdnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRy
aWdnZXIuY3BwCmluZGV4IDM5ODg3ZjEzNTIyOTQxMmUzZjAzNTIzZGY0YjU5N2JjZTM3NjBjNzUu
LmVmYmIzNmRlYTk2OTBlMTJiOGNiZmU1YjgzZTJmNWY5YzAyYmNhNDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKQEAgLTYwLDcgKzYwLDcgQEAg
dm9pZCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0YXJ0Tm90aWZp
Y2F0aW9uVGltZXIoc3RkOjpmdW5jdGkKICAgICB9CiAgICAgCiAgICAgaWYgKCFtX3Rlc3RUcmln
Z2VyVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKDEuMCAvIDYwLjApOworICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcygxLjAgLyA2MCkpOwogfQogCiB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dl
cjo6ZGVmZXJUZXN0c0ZvclJlYXNvbihTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXIgaWRlbnRpZmll
ciwgRGVmZXJUZXN0VHJpZ2dlclJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDlhNDZkZWI0
MTFhZmM5YWNhYjE0ZDllNmNkN2E4MWRhZDJmNzVjZWQuLjkzMTNlODBlNTc0YjQ1NDMwNDExMjI1
OTk5MDc1ODYyYTFmMzJjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC00OCw4ICs0OCw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBjQW5pbWF0aW9uVGltZXJEZWxh
eSA9IDEuMCAvIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBjQmVnaW5BbmltYXRpb25VcGRhdGVU
aW1lTm90U2V0ID0gLTE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhbmltYXRpb25UaW1lckRlbGF5
ID0gU2Vjb25kcygxLjAgLyA2MCk7CitzdGF0aWMgY29uc3QgZG91YmxlIGJlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCA9IC0xOwogCiBjbGFzcyBBbmltYXRpb25Qcml2YXRlVXBkYXRlQmxv
Y2sgewogcHVibGljOgpAQCAtNzEsNyArNzEsNyBAQCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUmIGZyYW1lKQogICAgIDogbV9hbmlt
YXRpb25UaW1lcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25U
aW1lckZpcmVkKQogICAgICwgbV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcigqdGhpcywg
JkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hl
ckZpcmVkKQogICAgICwgbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRh
dGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgLCBtX2JlZ2luQW5p
bWF0aW9uVXBkYXRlVGltZShiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCiAgICAgLCBt
X2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQoMCkKICAgICAsIG1fd2FpdGluZ0ZvckFzeW5jU3Rh
cnROb3RpZmljYXRpb24oZmFsc2UpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQpAQCAtMTUy
LDExICsxNTIsMTEgQEAgZG91YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVB
bmltYXRpb25zKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQvKgogCiB2b2lkIEFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyKQogewotICAgIGRvdWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IDA7Cisg
ICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZTsKIAogICAgIGNvbnN0IENvbXBvc2l0ZUFuaW1h
dGlvbiogY29tcG9zaXRlQW5pbWF0aW9uID0gbV9jb21wb3NpdGVBbmltYXRpb25zLmdldCgmcmVu
ZGVyZXIpOwogICAgIGlmICghY29tcG9zaXRlQW5pbWF0aW9uLT5pc1N1c3BlbmRlZCgpICYmIGNv
bXBvc2l0ZUFuaW1hdGlvbi0+aGFzQW5pbWF0aW9ucygpKQotICAgICAgICB0aW1lVG9OZXh0U2Vy
dmljZSA9IGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKTsKKyAgICAgICAg
dGltZVRvTmV4dFNlcnZpY2UgPSBTZWNvbmRzKGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRvTmV4
dFNlcnZpY2UoKSk7CiAKICAgICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmICht
X2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkgfHwgbV9hbmltYXRpb25UaW1lci5uZXh0
RmlyZUludGVydmFsKCkgPD0gdGltZVRvTmV4dFNlcnZpY2UpKQogICAgICAgICByZXR1cm47CkBA
IC0xNjYsMTkgKzE2NiwyMCBAQCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRh
dGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRlckVsZW1lbnQmCiAKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2Fs
bFNldENoYW5nZWQvKiA9IERvTm90Q2FsbFNldENoYW5nZWQqLykKIHsKLSAgICBkb3VibGUgdGlt
ZVRvTmV4dFNlcnZpY2UgPSB1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKTsKKyAgICAv
LyBGSVhNRTogTmVlZCB0byBjb252ZXJ0IHJlc3Qgb2YgYW5pbWF0aW9ucyBjb2RlIHRvIFNlY29u
ZHMgYW5kIE1vbm90b25pY1RpbWUuCisgICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZSA9IFNl
Y29uZHModXBkYXRlQW5pbWF0aW9ucyhjYWxsU2V0Q2hhbmdlZCkpOwogCi0gICAgTE9HKEFuaW1h
dGlvbnMsICJ1cGRhdGVBbmltYXRpb25UaW1lcjogdGltZVRvTmV4dFNlcnZpY2UgaXMgJS4yZiIs
IHRpbWVUb05leHRTZXJ2aWNlKTsKKyAgICBMT0coQW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlv
blRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAlLjJmbXMiLCB0aW1lVG9OZXh0U2VydmljZS5t
aWxsaXNlY29uZHMoKSk7CiAKICAgICAvLyBJZiB3ZSB3YW50IHNlcnZpY2UgaW1tZWRpYXRlbHks
IHdlIHN0YXJ0IGEgcmVwZWF0aW5nIHRpbWVyIHRvIHJlZHVjZSB0aGUgb3ZlcmhlYWQgb2Ygc3Rh
cnRpbmcKICAgICBpZiAoIXRpbWVUb05leHRTZXJ2aWNlKSB7Ci0gICAgICAgIGlmICghbV9hbmlt
YXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8IG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwo
KSA9PSAwKQotICAgICAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhjQW5p
bWF0aW9uVGltZXJEZWxheSk7CisgICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2
ZSgpIHx8ICFtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkpCisgICAgICAgICAgICBt
X2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGFuaW1hdGlvblRpbWVyRGVsYXkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCiAgICAgLy8gSWYgd2UgZG9uJ3QgbmVlZCBzZXJ2aWNlLCB3
ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgdGltZXIgaXMgbm8gbG9uZ2VyIHJ1bm5pbmcKLSAgICBp
ZiAodGltZVRvTmV4dFNlcnZpY2UgPCAwKSB7CisgICAgaWYgKHRpbWVUb05leHRTZXJ2aWNlIDwg
MF9zKSB7CiAgICAgICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
ICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjIyLDcg
KzIyMyw3IEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmZpcmVFdmVudHNBbmRV
cGRhdGVTdHlsZSgpCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0
ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlU3R5bGVJZk5l
ZWRlZERpc3BhdGNoZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVTdHlsZUlmTmVlZGVk
RGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRl
ZERpc3BhdGNoZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGU6OmFkZEV2ZW50VG9EaXNwYXRjaChQYXNzUmVmUHRyPEVsZW1lbnQ+IGVsZW1l
bnQsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJpbmcmIG5hbWUsIGRv
dWJsZSBlbGFwc2VkVGltZSkKQEAgLTM4NCw3ICszODUsNyBAQCBib29sIEFuaW1hdGlvbkNvbnRy
b2xsZXJQcml2YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUoUmVuZGVyRWxlbWVudCogcmVuZGVy
ZXIsCiBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZSgpCiB7CiAgICAgQVNTRVJUKG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCk7Ci0g
ICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGNCZWdpbkFuaW1hdGlvblVwZGF0
ZVRpbWVOb3RTZXQpCisgICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGJlZ2lu
QW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAgICAgICAgbV9iZWdpbkFuaW1hdGlvblVwZGF0
ZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIAogICAgIHJldHVybiBtX2Jl
Z2luQW5pbWF0aW9uVXBkYXRlVGltZTsKQEAgLTM5Myw3ICszOTQsNyBAQCBkb3VibGUgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpCiB2b2lkIEFu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZSgpCiB7CiAgICAg
aWYgKCFtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQpCi0gICAgICAgIHNldEJlZ2luQW5pbWF0
aW9uVXBkYXRlVGltZShjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KTsKKyAgICAgICAg
c2V0QmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNl
dCk7CiAgICAgKyttX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQ7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBiMDM1MjcwODkxZDBjMjY4OTkw
MzYzYzRmZDBmNmQxNmEyNzFlMzY5Li4zNzhkZWIwYjE3ZmFhZWRjYjU4MzhiNjhiZjdjZTcyOWUw
ZjNhNWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJN
YWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBA
IC03OCw3ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNvbnN0IGRvdWJsZSBFdmVudEhh
bmRsZXI6OlRleHREcmFnRGVsYXkgPSAwLjE1OwogI2VuZGlmCiAKLWNvbnN0IGRvdWJsZSByZXNl
dExhdGNoZWRTdGF0ZVRpbWVvdXQgPSAwLjE7Citjb25zdCBTZWNvbmRzIHJlc2V0TGF0Y2hlZFN0
YXRlRGVsYXkgPSAwLjFfczsKIAogc3RhdGljIFJldGFpblB0cjxOU0V2ZW50PiYgY3VycmVudE5T
RXZlbnRTbG90KCkKIHsKQEAgLTkyNCw3ICs5MjQsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xl
YXJPclNjaGVkdWxlQ2xlYXJpbmdMYXRjaGVkU3RhdGVJZk5lZWRlZChjb25zdCBQbGF0Zm9ybVdo
ZQogICAgIC8vIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlLiBJZiBpdCBkb2VzLCBzdG9wIHRoZSB0
aW1lciwgbGVhdmluZyB0aGUgbGF0Y2hlZCBzdGF0ZSB1bnRvdWNoZWQuCiAgICAgaWYgKCFtX3Bl
bmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICBpZiAo
ZXZlbnQuaXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkpCi0gICAgICAgICAgICBtX3BlbmRpbmdN
b21lbnR1bVdoZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRlVGlt
ZW91dCk7CisgICAgICAgICAgICBtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuc3Rh
cnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkpOwogICAgIH0gZWxzZSB7CiAgICAgICAg
IC8vIElmIGFub3RoZXIgd2hlZWwgZXZlbnQgc2Nyb2xsaW5nIHN0YXJ0cywgc3RvcCB0aGUgdGlt
ZXIgbWFudWFsbHksIGFuZCByZXNldCB0aGUgbGF0Y2hlZCBzdGF0ZSBpbW1lZGlhdGVseS4KICAg
ICAgICAgaWYgKGV2ZW50LnNob3VsZENvbnNpZGVyTGF0Y2hpbmcoKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCmluZGV4IDU1
ZTRkNjU5NWVlYjYwNTNmNmE2YTk0NTBiOWRhZWI4MTI4YzUyNzAuLjBiYjA5ODAwZjhmYWU3YTFl
NzI3Yzk0NGRlZGRiMWY2YTU2NmQyMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rpb25TZXJ2aWNlcygpOwogCiAgICAgYm9v
bCBtb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmLCBib29sJiBtb3VzZUlzT3ZlckJ1dHRv
bikgY29uc3Q7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZW1haW5pbmdUaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCopIGNvbnN0OworICAgIFNlY29uZHMg
cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqKSBjb25z
dDsKICAgICB2b2lkIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoKTsKIAogICAg
IHN0YXRpYyBib29sIGhpZ2hsaWdodHNBcmVFcXVpdmFsZW50KGNvbnN0IEhpZ2hsaWdodCogYSwg
Y29uc3QgSGlnaGxpZ2h0KiBiKTsKQEAgLTE1MSw5ICsxNTEsOSBAQCBwcml2YXRlOgogCiAgICAg
SGlnaGxpZ2h0OjpUeXBlIG1fZGlydHlIaWdobGlnaHRUeXBlcyB7IDAgfTsKIAotICAgIHN0ZDo6
Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGlt
ZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbmV4dEFjdGl2
ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGlt
ZV9wb2ludCBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFNlbGVj
dGlvbkNoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX25leHRBY3RpdmVIaWdobGlnaHRD
aGFuZ2VUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0TW91c2VVcFRpbWU7CiAKICAgICBS
ZWZQdHI8SGlnaGxpZ2h0PiBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsKICAg
ICBJbnRQb2ludCBtX21vdXNlUG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQppbmRleCA5YTgxNWI1YWU1NTk2NDk5
YmRmNjE2ZWQ0MjExYjlhNTIzODE1ZTYyLi5lODg0OTI5NDZhNWJhZWUxNjk0ZTA0YzUyNjc2OTc0
NGViOTRlZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIFNlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hhbmdlKGNvbnN0IFZlY3RvcjxMYXlv
dXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJlY3RzID0gcmVjdHM7CiAgICAgbV9pc1Rl
eHRPbmx5ID0gaXNUZXh0T25seTsKIAotICAgIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWUgPSBz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3RTZWxlY3Rpb25DaGFu
Z2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBjb21wYWN0UmVjdHNXaXRoR2Fw
UmVjdHMobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMsIGdhcFJlY3RzKTsKIApAQCAtMzkxLDcgKzM5
MSw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hsaWdo
dHNPZlR5cGUoSGlnaGxpZ2h0OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1f
ZGlydHlIaWdobGlnaHRUeXBlcyB8PSB0eXBlOwotICAgIG1fYnVpbGRIaWdobGlnaHRzVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fYnVpbGRIaWdobGlnaHRzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6YnVpbGRQb3RlbnRp
YWxIaWdobGlnaHRzSWZOZWVkZWQoKQpAQCAtNDMzLDE1ICs0MzMsMTUgQEAgYm9vbCBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyOjptb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmIGhpZ2hs
aWdodCwgYm9vbCYKICAgICByZXR1cm4gaG92ZXJlZDsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAorU2Vjb25kcyBT
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91
bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAogewogICAgIGlmICghaGlnaGxp
Z2h0KQotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gMF9zOwogCi0gICAgYXV0
byBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDIwMG1zOworICAgIFNl
Y29uZHMgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAwLjJfczsKICAg
ICBQYWdlKiBwYWdlID0gbV9tYWluRnJhbWUucGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBhZ2Ut
PmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVj
dGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCi0gICAgICAgIG1pbmltdW1UaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID0gMTAwMG1zOworICAgICAgICBtaW5pbXVtVGltZVVudGlsSGln
aGxpZ2h0U2hvdWxkQmVTaG93biA9IDFfczsKIAogICAgIGJvb2wgbW91c2VQcmVzc2VkID0gbV9t
YWluRnJhbWUuZXZlbnRIYW5kbGVyKCkubW91c2VQcmVzc2VkKCk7CiAKQEAgLTQ0OSwxNSArNDQ5
LDE0IEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0CiAgICAgLy8gYnkgdmlydHVlIG9mIGJlaW5n
IGV4cGFuZGVkIHRvIGluY2x1ZGUgdGhlIGVudGlyZSB0ZWxlcGhvbmUgbnVtYmVyLiBIb3dldmVy
LCB3ZSB3aWxsIHN0aWxsIGF2b2lkIGhpZ2hsaWdodGluZwogICAgIC8vIHRlbGVwaG9uZSBudW1i
ZXJzIHdoaWxlIHRoZSBtb3VzZSBpcyBkb3duLgogICAgIGlmIChoaWdobGlnaHQtPnR5cGUoKSA9
PSBIaWdobGlnaHQ6OlRlbGVwaG9uZU51bWJlclR5cGUpCi0gICAgICAgIHJldHVybiBtb3VzZVBy
ZXNzZWQgPyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6IDBtczsKKyAg
ICAgICAgcmV0dXJuIG1vdXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91
bGRCZVNob3duIDogMF9zOwogCi0gICAgYXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGF1
dG8gdGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSA9IG5vdyAtIG1fbGFzdFNlbGVjdGlvbkNo
YW5nZVRpbWU7CiAgICAgYXV0byB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUgPSBub3cg
LSBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOwotICAgIGF1dG8gdGltZVNpbmNlTGFz
dE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwbXMgOiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsK
KyAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91c2VQcmVzc2VkID8gMF9zIDogbm93
IC0gbV9sYXN0TW91c2VVcFRpbWU7CiAKLSAgICBhdXRvIHJlbWFpbmluZ0RlbGF5ID0gbWluaW11
bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1l
U2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUp
LCB0aW1lU2luY2VMYXN0TW91c2VVcCk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlv
bl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHJlbWFpbmluZ0RlbGF5KTsKKyAgICBy
ZXR1cm4gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihz
dGQ6Om1pbih0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRC
ZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VMYXN0TW91c2VVcCk7CiB9CiAKIHZvaWQgU2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpCkBA
IC03MjMsNyArNzIyLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3RpdmUKICAgICAgICAgLy8gaGln
aGxpZ2h0LCBhbmQgb25seSByZXNldCB0aGUgYWN0aXZlIGhpZ2hsaWdodCBoeXN0ZXJlc2lzIHdo
ZW4gdGhhdCBjaGFuZ2VzLgogICAgICAgICBpZiAobV9uZXh0QWN0aXZlSGlnaGxpZ2h0ICE9IG5l
d0FjdGl2ZUhpZ2hsaWdodCkgewogICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0ID0g
bmV3QWN0aXZlSGlnaGxpZ2h0OwotICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hh
bmdlVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICAgICAg
bV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwog
ICAgICAgICB9CiAKICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQg
PSBudWxscHRyOwpAQCAtNzM0LDcgKzczMyw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZlCiAg
ICAgICAgIH0KIAogICAgICAgICBhdXRvIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24gPSB0aGlzLT5yZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3du
KG5ld0FjdGl2ZUhpZ2hsaWdodC5nZXQoKSk7Ci0gICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID4gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVy
YXRpb246Onplcm8oKSkgeworICAgICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
U2hvdWxkQmVTaG93biA+IDBfcykgewogICAgICAgICAgICAgbV9kZXRlcm1pbmVBY3RpdmVIaWdo
bGlnaHRUaW1lci5zdGFydE9uZVNob3QocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxk
QmVTaG93bik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTc2Niw3ICs3NjUs
NyBAQCBib29sIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQoUGFnZU92ZXJs
YXkmLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbgogICAgICAgICBSZWZQdHI8SGlnaGxpZ2h0PiBt
b3VzZURvd25IaWdobGlnaHQgPSBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsK
ICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwog
Ci0gICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
bm93KCk7CisgICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7
CiAKICAgICAgICAgaWYgKG1vdXNlSXNPdmVyQWN0aXZlSGlnaGxpZ2h0QnV0dG9uICYmIG1vdXNl
RG93bkhpZ2hsaWdodCkgewogICAgICAgICAgICAgaGFuZGxlQ2xpY2sobV9tb3VzZVBvc2l0aW9u
LCAqbW91c2VEb3duSGlnaGxpZ2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0
SW5kaWNhdG9yV2luZG93Lm1tCmluZGV4IGU0ZTIwZDIyNzY4Yzg4MmU5MDBiMTJiNDFmZTAyZWNk
ZmI0OGY2MjguLjUwNDRlYWY2MjA0YTNiYzJiOGRkZTZhZTRhODU5OWFiNTExNmIxYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbQpAQCAtNDc1
LDcgKzQ3NSw3IEBAIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6c2V0VGV4dEluZGljYXRvcihS
ZWY8VGV4dEluZGljYXRvcj4gdGV4dEluZGljYXRvciwgQ0dSCiAgICAgICAgIFttX3RleHRJbmRp
Y2F0b3JWaWV3IHByZXNlbnRdOwogCiAgICAgaWYgKGxpZmV0aW1lID09IFRleHRJbmRpY2F0b3JX
aW5kb3dMaWZldGltZTo6VGVtcG9yYXJ5KQotICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRpY2F0
b3JUaW1lci5zdGFydE9uZVNob3QodGltZUJlZm9yZUZhZGVTdGFydHMpOworICAgICAgICBtX3Rl
bXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyh0aW1lQmVmb3Jl
RmFkZVN0YXJ0cykpOwogfQogCiB2b2lkIFRleHRJbmRpY2F0b3JXaW5kb3c6OmNsb3NlV2luZG93
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggMjJhYjBlYzc2NmEyYTZkZjM1Y2NjZDhkNzMy
Mzc0ZTA1N2JkMGZlZC4uNTA0YTg0NGE3YzMxNjY2YzQ0OTc0NzM3MzBkNWVmYjg5MzJiYzNlMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTI1Nyw3ICsyNTcsNyBAQCB2b2lkIEFzeW5jU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5j
U2Nyb2xsKFNjcgogICAgIH0KIAogICAgIG1fc2NoZWR1bGVkU2Nyb2xsVXBkYXRlID0gc2Nyb2xs
VXBkYXRlOwotICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBkYXRlU2Nyb2xsUG9z
aXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0K
aW5kZXggNGNjZjQ0NDI5Zjk5ZTEwOWY4NzU1Yjk0NjAxMjZiYmNhN2U1YjllYS4uZWQxZDdkNjEz
OWYyMDUyYjRiZDhhMTY4NTc1MDdkNjEyOGYwNDJhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5t
bQpAQCAtODYsNyArODYsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVs
ZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVy
VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3JvbGxpbmdTdGF0
ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3JvbGxpbmdTdGF0
ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTY3JvbGxp
bmdDb29yZGluYXRvcklPUzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5t
bQppbmRleCBkNDNkOTRiMjQ3YTZlNGY5Mzk3NDE1ODI2MTk3YzJiMGFkZjA3MTQ4Li41M2Y0MGQ2
MDE0NGQwOTRmNjg1MzVmNDEzNDg4ZmM0ZjkzMDhmNjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tCkBAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6c2No
ZWR1bGVUcmVlU3RhdGVDb21taXQoKQogICAgIGlmIChtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1p
dHRlclRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fc2Nyb2xsaW5n
U3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Nyb2xsaW5n
U3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwCmluZGV4IDFhYTdlMWI4NzYzZmYxYjQ3ZGZi
OGUyMTM5NDA3NjQ1ZWI3NTVlYjIuLjM3OTRmMWVmMWQwMWNmNWFlNjIxMWRiZTQ1ODcxOTUzYTYz
NGYyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVl
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3Bw
CkBAIC00MSw3ICs0MSw3IEBAIHZvaWQgVGFza0Rpc3BhdGNoZXI8VGltZXI+Ojpwb3N0VGFzayhG
dW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pCiAgICAgbV9wZW5kaW5nVGFza3MuYXBwZW5kKFdU
Rk1vdmUoZnVuY3Rpb24pKTsKICAgICBwZW5kaW5nRGlzcGF0Y2hlcnMoKS5hcHBlbmQobV93ZWFr
UHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOwogICAgIGlmICghc2hhcmVkVGltZXIoKS5pc0Fj
dGl2ZSgpKQotICAgICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
c2hhcmVkVGltZXIoKS5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogVGltZXImIFRhc2tEaXNwYXRj
aGVyPFRpbWVyPjo6c2hhcmVkVGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0
ZXJlc2lzQWN0aXZpdHkuaAppbmRleCAxMjhlZjgyMDllMmE3NDgzMDllMDYyODIwZWRjODIzOTgw
YzBiMmUxLi5hZDRlYjc3YWU1N2JlMzJiMzkzNzhmMzgzMDk5YjkzZDQ1OGFmNzgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaApAQCAtMzAsNyArMzAs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVs
dEh5c3RlcmVzaXNTZWNvbmRzID0gNS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgRGVmYXVsdEh5
c3RlcmVzaXNJbnRlcnZhbCA9IDVfczsKIAogZW51bSBjbGFzcyBIeXN0ZXJlc2lzU3RhdGUgewog
ICAgIFN0YXJ0ZWQsCkBAIC0zOSw5ICszOSw5IEBAIGVudW0gY2xhc3MgSHlzdGVyZXNpc1N0YXRl
IHsKIAogY2xhc3MgSHlzdGVyZXNpc0FjdGl2aXR5IHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBI
eXN0ZXJlc2lzQWN0aXZpdHkoc3RkOjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IGNh
bGxiYWNrID0gW10oSHlzdGVyZXNpc1N0YXRlKSB7IH0sIGRvdWJsZSBoeXN0ZXJlc2lzU2Vjb25k
cyA9IERlZmF1bHRIeXN0ZXJlc2lzU2Vjb25kcykKKyAgICBleHBsaWNpdCBIeXN0ZXJlc2lzQWN0
aXZpdHkoc3RkOjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IGNhbGxiYWNrID0gW10o
SHlzdGVyZXNpc1N0YXRlKSB7IH0sIFNlY29uZHMgaHlzdGVyZXNpc0ludGVydmFsID0gRGVmYXVs
dEh5c3RlcmVzaXNJbnRlcnZhbCkKICAgICAgICAgOiBtX2NhbGxiYWNrKGNhbGxiYWNrKQotICAg
ICAgICAsIG1faHlzdGVyZXNpc1NlY29uZHMoaHlzdGVyZXNpc1NlY29uZHMpCisgICAgICAgICwg
bV9oeXN0ZXJlc2lzSW50ZXJ2YWwoaHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICAsIG1fYWN0
aXZlKGZhbHNlKQogICAgICAgICAsIG1fdGltZXIoKnRoaXMsICZIeXN0ZXJlc2lzQWN0aXZpdHk6
Omh5c3RlcmVzaXNUaW1lckZpcmVkKQogICAgIHsKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBtX2FjdGl2ZSA9IGZhbHNlOwogCi0gICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc1NlY29uZHMpOworICAgICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChtX2h5c3RlcmVzaXNJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgdm9p
ZCBpbXB1bHNlKCkKQEAgLTg5LDcgKzg5LDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBzdGQ6
OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gbV9jYWxsYmFjazsKLSAgICBkb3VibGUg
bV9oeXN0ZXJlc2lzU2Vjb25kczsKKyAgICBTZWNvbmRzIG1faHlzdGVyZXNpc0ludGVydmFsOwog
ICAgIGJvb2wgbV9hY3RpdmU7CiAgICAgVGltZXIgbV90aW1lcjsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA4ODE4MWQzMDU3ZjQ2ODk0ZGZlYjlhOTc3YTU2NzA2
NjE2NDUzNTdjLi5mMDllOTRiMDlmMDYxNTM1ZTc5OGEwZDBlODAwZTM4YmY2ZDk0MjlhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKQEAgLTE4Myw3ICsxODMsNyBAQCBzdGF0
aWMgYm9vbCB0aHVtYlVuZGVyTW91c2UoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiAgICAgcmV0dXJu
IHNjcm9sbGJhci0+cHJlc3NlZFBvcygpID49IHRodW1iUG9zICYmIHNjcm9sbGJhci0+cHJlc3Nl
ZFBvcygpIDwgdGh1bWJQb3MgKyB0aHVtYkxlbmd0aDsKIH0KIAotdm9pZCBTY3JvbGxiYXI6OmF1
dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCit2b2lkIFNjcm9sbGJhcjo6YXV0b3Nj
cm9sbFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpCiB7CiAgICAgLy8gRG9uJ3QgZG8gYW55dGhp
bmcgZm9yIHRoZSB0aHVtYiBvciBpZiBub3RoaW5nIHdhcyBwcmVzc2VkLgogICAgIGlmIChtX3By
ZXNzZWRQYXJ0ID09IFRodW1iUGFydCB8fCBtX3ByZXNzZWRQYXJ0ID09IE5vUGFydCkKQEAgLTIw
MSw3ICsyMDEsNyBAQCB2b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJs
ZSBkZWxheSkKICAgICAgICAgc3RhcnRUaW1lcklmTmVlZGVkKGRlbGF5KTsKIH0KIAotdm9pZCBT
Y3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVsYXkpCit2b2lkIFNjcm9sbGJh
cjo6c3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpCiB7CiAgICAgLy8gRG9uJ3QgZG8g
YW55dGhpbmcgZm9yIHRoZSB0aHVtYi4KICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBUaHVtYlBh
cnQpCkBAIC0yMjUsNyArMjI1LDcgQEAgdm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRl
ZChkb3VibGUgZGVsYXkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbV9zY3Jv
bGxUaW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoZGVsYXkpKTsKIH0KIAogdm9pZCBTY3JvbGxiYXI6OnN0b3BUaW1lcklmTmVl
ZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKaW5kZXggZjg2YTk2MmFmZTAyYjUy
NjAzOGJkN2Q1ZWRkZWE5NjRiYmE2ZjcxYS4uYTIzNmM3ZThlYjEyN2FlYTM3NTY1MjNlYmVjNDFm
OTkzYTlhNWM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKQEAgLTE0NCw5ICsx
NDQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRodW1iUHJvcG9ydGlv
bigpOwogCiAgICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJlZCgpOwotICAgIHZvaWQgc3RhcnRU
aW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQo
U2Vjb25kcyBkZWxheSk7CiAgICAgdm9pZCBzdG9wVGltZXJJZk5lZWRlZCgpOwotICAgIHZvaWQg
YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBhdXRvc2Nyb2xs
UHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSk7CiAgICAgU2Nyb2xsRGlyZWN0aW9uIHByZXNzZWRQ
YXJ0U2Nyb2xsRGlyZWN0aW9uKCk7CiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkgcHJlc3NlZFBhcnRT
Y3JvbGxHcmFudWxhcml0eSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhl
bWUuaAppbmRleCA3MjUyOTQyYjBjYWNiYTRhMGUzYTBkZmI0NzYxZGQ0YTY1NzVlZGJjLi5mZGM1
ZjhkNWQ2NDVkZjMyZjYwMjkxZjU0NjBiZTU5MzJkZGM0ODcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTEwNSw4ICsxMDUsOCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIGludCBtYXhPdmVybGFwQmV0d2VlblBhZ2VzKCkgeyByZXR1cm4gc3RkOjpudW1l
cmljX2xpbWl0czxpbnQ+OjptYXgoKTsgfQogCi0gICAgdmlydHVhbCBkb3VibGUgaW5pdGlhbEF1
dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4yNTsgfQotICAgIHZpcnR1YWwgZG91Ymxl
IGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4wNTsgfQorICAgIHZpcnR1YWwgU2Vj
b25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1X3M7IH0KKyAg
ICB2aXJ0dWFsIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjA1X3M7
IH0KIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXImKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXImKSB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UaGVtZS5oCmluZGV4IDU5MTE5NzhhZWVjMThmMDgzZmRiZjg1ZjFhZjNlZDI0
MTc5MDExNjUuLjg3MzU5NDJmYjY5MDU5NjQ0YzRmYWVjYjk0NDQyNmFlMmZmMjE2YmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhlbWUuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBGb250Q2FzY2FkZSBzeXN0ZW1Gb250KFRoZW1lRm9udCwgRm9udERlc2NyaXB0aW9uJikgY29u
c3QgeyByZXR1cm4gRm9udENhc2NhZGUoKTsgfQogICAgIAogICAgIC8vIEhvdyBmYXN0IHRoZSBj
YXJldCBibGlua3MgaW4gdGV4dCBmaWVsZHMuCi0gICAgdmlydHVhbCBkb3VibGUgY2FyZXRCbGlu
a0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGNh
cmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNV9zOyB9CiAKICAgICAvLyBOb3Rp
ZmljYXRpb24gd2hlbiB0aGUgdGhlbWUgaGFzIGNoYW5nZWQKICAgICB2aXJ0dWFsIHZvaWQgdGhl
bWVDaGFuZ2VkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJl
YWRUaW1lcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcApp
bmRleCBlM2Q2NWVhYmJlNDU5ZDNiN2FlZmQxNmQyMzFhYTEwZmNmZGJjYTQ0Li45NjdlNThmMGU4
YmY1NmUwY2Q5ZTYwM2ViMzhkNzZiZGFhZGRlOGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZFRpbWVycy5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJUaW1lci5oIgog
I2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KIAogI2lmIFBMQVRGT1JNKElPUykKICNp
bmNsdWRlICJXZWJDb3JlVGhyZWFkLmgiCkBAIC00Myw3ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIC8vIEZpcmUgdGltZXJzIGZvciB0aGlzIGxlbmd0aCBvZiB0aW1lLCBhbmQgdGhlbiBx
dWl0IHRvIGxldCB0aGUgcnVuIGxvb3AgcHJvY2VzcyB1c2VyIGlucHV0IGV2ZW50cy4KIC8vIDEw
MG1zIGlzIGFib3V0IGEgcGVyY2VwdGFibGUgZGVsYXkgaW4gVUksIHNvIHVzZSBhIGhhbGYgb2Yg
dGhhdCBhcyBhIHRocmVzaG9sZC4KIC8vIFRoaXMgaXMgdG8gcHJldmVudCBVSSBmcmVlemUgd2hl
biB0aGVyZSBhcmUgdG9vIG1hbnkgdGltZXJzIG9yIG1hY2hpbmUgcGVyZm9ybWFuY2UgaXMgbG93
Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzID0gMC4wNTA7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzID0gU2Vjb25k
czo6ZnJvbU1pbGxpc2Vjb25kcyg1MCk7CiAKIC8vIFRpbWVycyBhcmUgY3JlYXRlZCwgc3RhcnRl
ZCBhbmQgZmlyZWQgb24gdGhlIHNhbWUgdGhyZWFkLCBhbmQgZWFjaCB0aHJlYWQgaGFzIGl0cyBv
d24gVGhyZWFkVGltZXJzCiAvLyBjb3B5IHRvIGtlZXAgdGhlIGhlYXAgYW5kIGEgc2V0IG9mIGN1
cnJlbnRseSBmaXJpbmcgdGltZXJzLgpAQCAtNTEsNyArNTIsNiBAQCBzdGF0aWMgY29uc3QgZG91
YmxlIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKIFRocmVhZFRpbWVyczo6VGhy
ZWFkVGltZXJzKCkKICAgICA6IG1fc2hhcmVkVGltZXIoMCkKICAgICAsIG1fZmlyaW5nVGltZXJz
KGZhbHNlKQotICAgICwgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSgwKQogewogICAgIGlm
IChpc1VJVGhyZWFkKCkpCiAgICAgICAgIHNldFNoYXJlZFRpbWVyKCZNYWluVGhyZWFkU2hhcmVk
VGltZXI6OnNpbmdsZXRvbigpKTsKQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBUaHJlYWRUaW1lcnM6
OnNldFNoYXJlZFRpbWVyKFNoYXJlZFRpbWVyKiBzaGFyZWRUaW1lcikKICAgICBpZiAobV9zaGFy
ZWRUaW1lcikgewogICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlZEZ1bmN0aW9uKG51bGxw
dHIpOwogICAgICAgICBtX3NoYXJlZFRpbWVyLT5zdG9wKCk7Ci0gICAgICAgIG1fcGVuZGluZ1No
YXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVU
aW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgIH0KICAgICAKICAgICBtX3NoYXJlZFRpbWVyID0g
c2hhcmVkVGltZXI7CkBAIC04MSwxOCArODEsMTggQEAgdm9pZCBUaHJlYWRUaW1lcnM6OnVwZGF0
ZVNoYXJlZFRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAgICBpZiAobV9maXJp
bmdUaW1lcnMgfHwgbV90aW1lckhlYXAuaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fcGVuZGluZ1No
YXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVU
aW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgICAgICBtX3NoYXJlZFRpbWVyLT5zdG9wKCk7CiAg
ICAgfSBlbHNlIHsKLSAgICAgICAgZG91YmxlIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZp
cnN0KCktPm1fbmV4dEZpcmVUaW1lOwotICAgICAgICBkb3VibGUgY3VycmVudE1vbm90b25pY1Rp
bWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAgICAgTW9ub3RvbmljVGlt
ZSBuZXh0RmlyZVRpbWUgPSBtX3RpbWVySGVhcC5maXJzdCgpLT5tX25leHRGaXJlVGltZTsKKyAg
ICAgICAgTW9ub3RvbmljVGltZSBjdXJyZW50TW9ub3RvbmljVGltZSA9IE1vbm90b25pY1RpbWU6
Om5vdygpOwogICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSkgewogICAg
ICAgICAgICAgLy8gTm8gbmVlZCB0byByZXN0YXJ0IHRoZSB0aW1lciBpZiBib3RoIHRoZSBwZW5k
aW5nIGZpcmUgdGltZSBhbmQgdGhlIG5ldyBmaXJlIHRpbWUgYXJlIGluIHRoZSBwYXN0LgogICAg
ICAgICAgICAgaWYgKG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPD0gY3VycmVudE1vbm90
b25pY1RpbWUgJiYgbmV4dEZpcmVUaW1lIDw9IGN1cnJlbnRNb25vdG9uaWNUaW1lKQogICAgICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfSAKICAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGlt
ZXJGaXJlVGltZSA9IG5leHRGaXJlVGltZTsKLSAgICAgICAgbV9zaGFyZWRUaW1lci0+c2V0Rmly
ZUludGVydmFsKFNlY29uZHMoc3RkOjptYXgobmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90b25p
Y1RpbWUsIDAuMCkpKTsKKyAgICAgICAgbV9zaGFyZWRUaW1lci0+c2V0RmlyZUludGVydmFsKHN0
ZDo6bWF4PFNlY29uZHM+KG5leHRGaXJlVGltZSAtIGN1cnJlbnRNb25vdG9uaWNUaW1lLCAwX3Mp
KTsKICAgICB9CiB9CiAKQEAgLTEwMywyNSArMTAzLDI1IEBAIHZvaWQgVGhyZWFkVGltZXJzOjpz
aGFyZWRUaW1lckZpcmVkSW50ZXJuYWwoKQogICAgIGlmIChtX2ZpcmluZ1RpbWVycykKICAgICAg
ICAgcmV0dXJuOwogICAgIG1fZmlyaW5nVGltZXJzID0gdHJ1ZTsKLSAgICBtX3BlbmRpbmdTaGFy
ZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0g
TW9ub3RvbmljVGltZSgpOwogCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVUb1F1aXQgPSBmaXJlVGltZSArIG1heER1
cmF0aW9uT2ZGaXJpbmdUaW1lcnM7CisgICAgTW9ub3RvbmljVGltZSBmaXJlVGltZSA9IE1vbm90
b25pY1RpbWU6Om5vdygpOworICAgIE1vbm90b25pY1RpbWUgdGltZVRvUXVpdCA9IGZpcmVUaW1l
ICsgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKIAogICAgIHdoaWxlICghbV90aW1lckhlYXAu
aXNFbXB0eSgpICYmIG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lIDw9IGZpcmVU
aW1lKSB7CiAgICAgICAgIFRpbWVyQmFzZSogdGltZXIgPSBtX3RpbWVySGVhcC5maXJzdCgpOwot
ICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUgPSAwOwotICAgICAgICB0aW1lci0+bV91bmFs
aWduZWROZXh0RmlyZVRpbWUgPSAwOworICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUgPSBN
b25vdG9uaWNUaW1lKCk7CisgICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGltZSA9
IE1vbm90b25pY1RpbWUoKTsKICAgICAgICAgdGltZXItPmhlYXBEZWxldGVNaW4oKTsKIAotICAg
ICAgICBkb3VibGUgaW50ZXJ2YWwgPSB0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsKLSAgICAgICAg
dGltZXItPnNldE5leHRGaXJlVGltZShpbnRlcnZhbCA/IGZpcmVUaW1lICsgaW50ZXJ2YWwgOiAw
KTsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwor
ICAgICAgICB0aW1lci0+c2V0TmV4dEZpcmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRl
cnZhbCA6IE1vbm90b25pY1RpbWUoKSk7CiAKICAgICAgICAgLy8gT25jZSB0aGUgdGltZXIgaGFz
IGJlZW4gZmlyZWQsIGl0IG1heSBiZSBkZWxldGVkLCBzbyBkbyBub3RoaW5nIGVsc2Ugd2l0aCBp
dCBhZnRlciB0aGlzIHBvaW50LgogICAgICAgICB0aW1lci0+ZmlyZWQoKTsKIAogICAgICAgICAv
LyBDYXRjaCB0aGUgY2FzZSB3aGVyZSB0aGUgdGltZXIgYXNrZWQgdGltZXJzIHRvIGZpcmUgaW4g
YSBuZXN0ZWQgZXZlbnQgbG9vcCwgb3Igd2UgYXJlIG92ZXIgdGltZSBsaW1pdC4KLSAgICAgICAg
aWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkpCisgICAgICAgIGlmICghbV9maXJpbmdUaW1lcnMgfHwgdGltZVRvUXVpdCA8IE1v
bm90b25pY1RpbWU6Om5vdygpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0xMzcs
NyArMTM3LDcgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OmZpcmVUaW1lcnNJbk5lc3RlZEV2ZW50TG9v
cCgpCiAKICAgICBpZiAobV9zaGFyZWRUaW1lcikgewogICAgICAgICBtX3NoYXJlZFRpbWVyLT5p
bnZhbGlkYXRlKCk7Ci0gICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOwor
ICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgpOwog
ICAgIH0KIAogICAgIHVwZGF0ZVNoYXJlZFRpbWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
cmVhZFRpbWVycy5oCmluZGV4IGVhYmM0ZDEyMWU4MjY2NjJlOWFiYjMwNGUzODNmMTdiMWU3Mjlh
OTcuLmNmNThjOTE3YTk1Y2UzNjcyYzE2YjdlNmVjNjkxNzM5YTg5MDNhMDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaWZuZGVmIFRo
cmVhZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRpbWVyc19oCiAKKyNpbmNsdWRlIDx3dGYvTW9u
b3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIApAQCAtNTYsNyArNTcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIFZlY3RvcjxUaW1lckJhc2UqPiBtX3RpbWVySGVhcDsKICAgICAgICAgU2hhcmVkVGltZXIq
IG1fc2hhcmVkVGltZXI7IC8vIEV4dGVybmFsIG9iamVjdCwgY2FuIGJlIGEgcnVuIGxvb3Agb24g
YSB3b3JrZXIgdGhyZWFkLiBOb3JtYWxseSBzZXQvcmVzZXQgYnkgd29ya2VyIHRocmVhZC4KICAg
ICAgICAgYm9vbCBtX2ZpcmluZ1RpbWVyczsgLy8gUmVlbnRyYW5jeSBndWFyZC4KLSAgICAgICAg
ZG91YmxlIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWU7CisgICAgICAgIE1vbm90b25pY1Rp
bWUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKICAgICB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5jcHAKaW5kZXggY2Q1OTRmZTdjYzU1ODkxMjk0NzQ2Mzk3NmQ4ZDE4NWY5MTEx
NGJiYS4uODg4NGExNDY1ZjRkNmYyODNkYTliN2U5MjE1NzE4Nzg1ZGQ5ZjYyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RpbWVyLmNwcApAQCAtMTcyLDggKzE3Miw4IEBAIGlubGluZSBib29sIFRpbWVy
SGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkoY29uc3QgVGltZXJCYXNlKiBhLCBjb25z
dCBUaW1lCiB7CiAgICAgLy8gVGhlIGNvbXBhcmlzb25zIGJlbG93IGFyZSAiYmFja3dhcmRzIiBi
ZWNhdXNlIHRoZSBoZWFwIHB1dHMgdGhlIGxhcmdlc3QgCiAgICAgLy8gZWxlbWVudCBmaXJzdCBh
bmQgd2Ugd2FudCB0aGUgbG93ZXN0IHRpbWUgdG8gYmUgdGhlIGZpcnN0IG9uZSBpbiB0aGUgaGVh
cC4KLSAgICBkb3VibGUgYUZpcmVUaW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgZG91Ymxl
IGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOworICAgIE1vbm90b25pY1RpbWUgYUZpcmVU
aW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBiRmlyZVRpbWUgPSBi
LT5tX25leHRGaXJlVGltZTsKICAgICBpZiAoYkZpcmVUaW1lICE9IGFGaXJlVGltZSkKICAgICAg
ICAgcmV0dXJuIGJGaXJlVGltZSA8IGFGaXJlVGltZTsKICAgICAKQEAgLTE4NiwxMSArMTg2LDgg
QEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0b3IoKShjb25z
dCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIC8vIC0tLS0tLS0tLS0tLS0tLS0KIAogVGltZXJC
YXNlOjpUaW1lckJhc2UoKQotICAgIDogbV9uZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1fdW5hbGln
bmVkTmV4dEZpcmVUaW1lKDApCi0gICAgLCBtX3JlcGVhdEludGVydmFsKDApCi0gICAgLCBtX2hl
YXBJbmRleCgtMSkKLSAgICAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwKDApCisgICAg
OiBtX2hlYXBJbmRleCgtMSkKKyAgICAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwKG51
bGxwdHIpCiAjaWZuZGVmIE5ERUJVRwogICAgICwgbV90aHJlYWQoY3VycmVudFRocmVhZCgpKQog
ICAgICwgbV93YXNEZWxldGVkKGZhbHNlKQpAQCAtMjA3LDMyICsyMDQsMzIgQEAgVGltZXJCYXNl
Ojp+VGltZXJCYXNlKCkKICNlbmRpZgogfQogCi12b2lkIFRpbWVyQmFzZTo6c3RhcnQoZG91Ymxl
IG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgVGltZXJCYXNl
OjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwp
CiB7CiAgICAgQVNTRVJUKGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3RocmVh
ZCkpOwogCiAgICAgbV9yZXBlYXRJbnRlcnZhbCA9IHJlcGVhdEludGVydmFsOwotICAgIHNldE5l
eHRGaXJlVGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIG5leHRGaXJlSW50ZXJ2
YWwpOworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lOjpub3coKSArIG5leHRGaXJl
SW50ZXJ2YWwpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6c3RvcCgpCiB7CiAgICAgQVNTRVJUKGNh
bkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3RocmVhZCkpOwogCi0gICAgbV9yZXBl
YXRJbnRlcnZhbCA9IDA7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKDApOworICAgIG1fcmVwZWF0SW50
ZXJ2YWwgPSAwX3M7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUoKSk7CiAKLSAg
ICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7Ci0gICAgQVNTRVJUKG1fcmVwZWF0SW50ZXJ2
YWwgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7CisgICAgQVNTRVJUKCFtX3Jl
cGVhdEludGVydmFsKTsKICAgICBBU1NFUlQoIWluSGVhcCgpKTsKIH0KIAotZG91YmxlIFRpbWVy
QmFzZTo6bmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFRpbWVyQmFzZTo6bmV4dEZp
cmVJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzQWN0aXZlKCkpOwotICAgIGRvdWJs
ZSBjdXJyZW50ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgTW9ub3Rvbmlj
VGltZSBjdXJyZW50ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgaWYgKG1fbmV4dEZpcmVU
aW1lIDwgY3VycmVudCkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiAwX3M7CiAg
ICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lIC0gY3VycmVudDsKIH0KIApAQCAtMjQ4LDE0ICsyNDUs
MTQgQEAgaW5saW5lIHZvaWQgVGltZXJCYXNlOjpjaGVja0hlYXBJbmRleCgpIGNvbnN0CiBpbmxp
bmUgdm9pZCBUaW1lckJhc2U6OmNoZWNrQ29uc2lzdGVuY3koKSBjb25zdAogewogICAgIC8vIFRp
bWVycyBzaG91bGQgYmUgaW4gdGhlIGhlYXAgaWYgYW5kIG9ubHkgaWYgdGhleSBoYXZlIGEgbm9u
LXplcm8gbmV4dCBmaXJlIHRpbWUuCi0gICAgQVNTRVJUKGluSGVhcCgpID09IChtX25leHRGaXJl
VGltZSAhPSAwKSk7CisgICAgQVNTRVJUKGluSGVhcCgpID09ICEhbV9uZXh0RmlyZVRpbWUpOwog
ICAgIGlmIChpbkhlYXAoKSkKICAgICAgICAgY2hlY2tIZWFwSW5kZXgoKTsKIH0KIAogdm9pZCBU
aW1lckJhc2U6OmhlYXBEZWNyZWFzZUtleSgpCiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1l
ICE9IDApOworICAgIEFTU0VSVChtX25leHRGaXJlVGltZSk7CiAgICAgY2hlY2tIZWFwSW5kZXgo
KTsKICAgICBUaW1lckJhc2UqKiBoZWFwRGF0YSA9IHRpbWVySGVhcCgpLmRhdGEoKTsKICAgICBw
dXNoX2hlYXAoVGltZXJIZWFwSXRlcmF0b3IoaGVhcERhdGEpLCBUaW1lckhlYXBJdGVyYXRvciho
ZWFwRGF0YSArIG1faGVhcEluZGV4ICsgMSksIFRpbWVySGVhcExlc3NUaGFuRnVuY3Rpb24oKSk7
CkBAIC0yNjQsNyArMjYxLDcgQEAgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtleSgpCiAK
IGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZSgpCiB7Ci0gICAgQVNTRVJUKG1fbmV4
dEZpcmVUaW1lID09IDApOworICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQ
b3AoKTsKICAgICB0aW1lckhlYXAoKS5yZW1vdmVMYXN0KCk7CiAgICAgbV9oZWFwSW5kZXggPSAt
MTsKQEAgLTI3Miw3ICsyNjksNyBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGUo
KQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbigpCiB7Ci0gICAgQVNTRVJUKG1fbmV4
dEZpcmVUaW1lID09IDApOworICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQ
b3BNaW4oKTsKICAgICB0aW1lckhlYXAoKS5yZW1vdmVMYXN0KCk7CiAgICAgbV9oZWFwSW5kZXgg
PSAtMTsKQEAgLTI4MCw3ICsyNzcsNyBAQCB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbigp
CiAKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NF
UlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAg
ICBoZWFwUG9wKCk7CiAgICAgaGVhcERlY3JlYXNlS2V5KCk7CiB9CkBAIC0yOTYsOCArMjkzLDgg
QEAgaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwSW5zZXJ0KCkKIGlubGluZSB2b2lkIFRpbWVy
QmFzZTo6aGVhcFBvcCgpCiB7CiAgICAgLy8gVGVtcG9yYXJpbHkgZm9yY2UgdGhpcyB0aW1lciB0
byBoYXZlIHRoZSBtaW5pbXVtIGtleSBzbyB3ZSBjYW4gcG9wIGl0LgotICAgIGRvdWJsZSBmaXJl
VGltZSA9IG1fbmV4dEZpcmVUaW1lOwotICAgIG1fbmV4dEZpcmVUaW1lID0gLXN0ZDo6bnVtZXJp
Y19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKTsKKyAgICBNb25vdG9uaWNUaW1lIGZpcmVUaW1l
ID0gbV9uZXh0RmlyZVRpbWU7CisgICAgbV9uZXh0RmlyZVRpbWUgPSAtTW9ub3RvbmljVGltZTo6
aW5maW5pdHkoKTsKICAgICBoZWFwRGVjcmVhc2VLZXkoKTsKICAgICBoZWFwUG9wTWluKCk7CiAg
ICAgbV9uZXh0RmlyZVRpbWUgPSBmaXJlVGltZTsKQEAgLTM0Nyw3ICszNDQsNyBAQCBib29sIFRp
bWVyQmFzZTo6aGFzVmFsaWRIZWFwUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBjaGlsZEhl
YXBQcm9wZXJ0eUhvbGRzKHRoaXMsIGhlYXAsIGNoaWxkSW5kZXgxKSAmJiBjaGlsZEhlYXBQcm9w
ZXJ0eUhvbGRzKHRoaXMsIGhlYXAsIGNoaWxkSW5kZXgyKTsKIH0KIAotdm9pZCBUaW1lckJhc2U6
OnVwZGF0ZUhlYXBJZk5lZWRlZChkb3VibGUgb2xkVGltZSkKK3ZvaWQgVGltZXJCYXNlOjp1cGRh
dGVIZWFwSWZOZWVkZWQoTW9ub3RvbmljVGltZSBvbGRUaW1lKQogewogICAgIGlmIChtX25leHRG
aXJlVGltZSAmJiBoYXNWYWxpZEhlYXBQb3NpdGlvbigpKQogICAgICAgICByZXR1cm47CkBAIC0z
NjYsNyArMzYzLDcgQEAgdm9pZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChkb3VibGUg
b2xkVGltZSkKICAgICBBU1NFUlQoIWluSGVhcCgpIHx8IGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkp
OwogfQogCi12b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKGRvdWJsZSBuZXdUaW1lKQor
dm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lIG5ld1RpbWUpCiB7
CiAgICAgQVNTRVJUKGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChtX3RocmVhZCkp
OwogICAgIEFTU0VSVCghbV93YXNEZWxldGVkKTsKQEAgLTM3OSwxMSArMzc2LDExIEBAIHZvaWQg
VGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUoZG91YmxlIG5ld1RpbWUpCiAgICAgICAgIG1fY2Fj
aGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwID0gJnRocmVhZEdsb2JhbFRpbWVySGVhcCgpOwogCiAg
ICAgLy8gS2VlcCBoZWFwIHZhbGlkIHdoaWxlIGNoYW5naW5nIHRoZSBuZXh0LWZpcmUgdGltZS4K
LSAgICBkb3VibGUgb2xkVGltZSA9IG1fbmV4dEZpcmVUaW1lOworICAgIE1vbm90b25pY1RpbWUg
b2xkVGltZSA9IG1fbmV4dEZpcmVUaW1lOwogICAgIC8vIERvbid0IHJlYWxpZ24gemVyby1kZWxh
eSB0aW1lcnMuCiAgICAgaWYgKG5ld1RpbWUpIHsKLSAgICAgICAgaWYgKGF1dG8gbmV3QWxpZ25l
ZFRpbWUgPSBhbGlnbmVkRmlyZVRpbWUoc2Vjb25kc1RvTVMobmV3VGltZSkpKQotICAgICAgICAg
ICAgbmV3VGltZSA9IG1zVG9TZWNvbmRzKG5ld0FsaWduZWRUaW1lLnZhbHVlKCkpOworICAgICAg
ICBpZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShuZXdUaW1lKSkKKyAg
ICAgICAgICAgIG5ld1RpbWUgPSBuZXdBbGlnbmVkVGltZS52YWx1ZSgpOwogICAgIH0KIAogICAg
IGlmIChvbGRUaW1lICE9IG5ld1RpbWUpIHsKQEAgLTQxNiwxMCArNDEzLDEwIEBAIHZvaWQgVGlt
ZXJCYXNlOjpkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgc2V0TmV4dEZpcmVUaW1l
KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lKTsKIH0KIAotZG91YmxlIFRpbWVyQmFzZTo6bmV4dFVu
YWxpZ25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFRpbWVyQmFzZTo6bmV4dFVuYWxp
Z25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzQWN0aXZlKCkpOwotICAg
IHJldHVybiBzdGQ6Om1heChtX3VuYWxpZ25lZE5leHRGaXJlVGltZSAtIG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpLCAwLjApOworICAgIHJldHVybiBzdGQ6Om1heChtX3VuYWxpZ25lZE5l
eHRGaXJlVGltZSAtIE1vbm90b25pY1RpbWU6Om5vdygpLCAwX3MpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCA1MmExNjZlYmEyZDIzMTlk
MTVhMWI3ZWQ5MDgyYjZiMTQzM2YzYjI0Li4zMGZkMjJkOThiMDJlZWQ1MTYzMGE3YjZmOGU1ZjU2
MmU5ODg3Y2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAog
I2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9N
b25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KQEAgLTQ3LDM5ICs0OCwy
NCBAQCBjbGFzcyBUaW1lckhlYXBFbGVtZW50OwogY2xhc3MgVGltZXJCYXNlIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwotcHJvdGVjdGVkOgotICAgIHN0YXRpYyBpbmxpbmUgZG91YmxlIG1zVG9TZWNvbmRzKHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgZHVyYXRpb24pIHsgcmV0dXJuIGR1cmF0aW9uLmNvdW50KCkg
KiAwLjAwMTsgfQotICAgIHN0YXRpYyBpbmxpbmUgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBz
ZWNvbmRzVG9NUyhkb3VibGUgZHVyYXRpb24pIHsgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoZHVyYXRpb24gKiAxMDAwKSk7
IH0KLQogcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFRpbWVyQmFzZSgpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZpcnR1YWwgflRpbWVyQmFzZSgpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKTsK
LQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0
KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0
aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBl
YXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZvaWQgc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhyZXBlYXRJbnRl
cnZhbC52YWx1ZSgpKTsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnQoU2Vjb25kcyBu
ZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKTsKIAotICAgIHZvaWQgc3Rh
cnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMCk7IH0KLSAgICB2
b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0
YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNo
b3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbC52YWx1ZSgpLCAwKTsgfQorICAg
IHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBl
YXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vj
b25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzdG9wKCk7CiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0OwogCi0gICAgZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKLSAgICBkb3VibGUgbmV4dFVuYWxpZ25lZEZp
cmVJbnRlcnZhbCgpIGNvbnN0OwotICAgIGRvdWJsZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVwZWF0SW50ZXJ2YWw7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhyZXBlYXRJbnRl
cnZhbCgpKTsgfQotCi0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSkg
eyBzZXROZXh0RmlyZVRpbWUobV9uZXh0RmlyZVRpbWUgKyBkZWx0YSk7IH0KLSAgICB2b2lkIGF1
Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdt
ZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRG
aXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhLnZh
bHVlKCkpOyB9CisgICAgU2Vjb25kcyBuZXh0RmlyZUludGVydmFsKCkgY29uc3Q7CisgICAgU2Vj
b25kcyBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7CisgICAgU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwZWF0SW50ZXJ2YWw7IH0KIAotICAgIHZv
aWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVy
dmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsgfQotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVu
dFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRS
ZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0
YS52YWx1ZSgpKTsgfQorICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRh
KSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJlVGltZSArIGRlbHRhKTsgfQorICAgIHZvaWQg
YXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZh
bChkZWx0YSk7IG1fcmVwZWF0SW50ZXJ2YWwgKz0gZGVsdGE7IH0KIAogICAgIHZvaWQgZGlkQ2hh
bmdlQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtODgsMTcgKzc0LDE3IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCkgPSAwOwogCi0gICAgdmlydHVhbCBzdGQ6
Om9wdGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KKyAg
ICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8TW9ub3RvbmljVGltZT4gYWxpZ25lZEZpcmVUaW1lKE1v
bm90b25pY1RpbWUpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQogCiAgICAgdm9pZCBj
aGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAgICAgdm9pZCBjaGVja0hlYXBJbmRleCgpIGNvbnN0
OwogCi0gICAgdm9pZCBzZXROZXh0RmlyZVRpbWUoZG91YmxlKTsKKyAgICB2b2lkIHNldE5leHRG
aXJlVGltZShNb25vdG9uaWNUaW1lKTsKIAogICAgIGJvb2wgaW5IZWFwKCkgY29uc3QgeyByZXR1
cm4gbV9oZWFwSW5kZXggIT0gLTE7IH0KIAogICAgIGJvb2wgaGFzVmFsaWRIZWFwUG9zaXRpb24o
KSBjb25zdDsKLSAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChkb3VibGUgb2xkVGltZSk7Cisg
ICAgdm9pZCB1cGRhdGVIZWFwSWZOZWVkZWQoTW9ub3RvbmljVGltZSBvbGRUaW1lKTsKIAogICAg
IHZvaWQgaGVhcERlY3JlYXNlS2V5KCk7CiAgICAgdm9pZCBoZWFwRGVsZXRlKCk7CkBAIC0xMTAs
OSArOTYsOSBAQCBwcml2YXRlOgogCiAgICAgVmVjdG9yPFRpbWVyQmFzZSo+JiB0aW1lckhlYXAo
KSBjb25zdCB7IEFTU0VSVChtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcCk7IHJldHVybiAq
bV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXA7IH0KIAotICAgIGRvdWJsZSBtX25leHRGaXJl
VGltZTsgLy8gMCBpZiBpbmFjdGl2ZQotICAgIGRvdWJsZSBtX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZTsgLy8gbV9uZXh0RmlyZVRpbWUgbm90IGNvbnNpZGVyaW5nIGFsaWdubWVudCBpbnRlcnZhbAot
ICAgIGRvdWJsZSBtX3JlcGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKKyAgICBN
b25vdG9uaWNUaW1lIG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCisgICAgTW9ub3Rv
bmljVGltZSBtX3VuYWxpZ25lZE5leHRGaXJlVGltZTsgLy8gbV9uZXh0RmlyZVRpbWUgbm90IGNv
bnNpZGVyaW5nIGFsaWdubWVudCBpbnRlcnZhbAorICAgIFNlY29uZHMgbV9yZXBlYXRJbnRlcnZh
bDsgLy8gMCBpZiBub3QgcmVwZWF0aW5nCiAgICAgaW50IG1faGVhcEluZGV4OyAvLyAtMSBpZiBu
b3QgaW4gaGVhcAogICAgIHVuc2lnbmVkIG1faGVhcEluc2VydGlvbk9yZGVyOyAvLyBVc2VkIHRv
IGtlZXAgb3JkZXIgYW1vbmcgZXF1YWwtZmlyZS10aW1lIHRpbWVycwogICAgIFZlY3RvcjxUaW1l
ckJhc2UqPiogbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXA7CkBAIC0xNTksMTggKzE0NSwx
OCBAQCBpbmxpbmUgYm9vbCBUaW1lckJhc2U6OmlzQWN0aXZlKCkgY29uc3QKICNlbHNlCiAgICAg
QVNTRVJUKFdlYlRocmVhZElzQ3VycmVudCgpIHx8IHB0aHJlYWRfbWFpbl9ucCgpIHx8IG1fdGhy
ZWFkID09IGN1cnJlbnRUaHJlYWQoKSk7CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQotICAgIHJl
dHVybiBtX25leHRGaXJlVGltZTsKKyAgICByZXR1cm4gISFtX25leHRGaXJlVGltZTsKIH0KIAog
Y2xhc3MgRGVmZXJyYWJsZU9uZVNob3RUaW1lciA6IHByb3RlY3RlZCBUaW1lckJhc2UgewogcHVi
bGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFRpbWVyRmlyZWRDbGFzcz4KLSAgICBEZWZlcnJh
YmxlT25lU2hvdFRpbWVyKFRpbWVyRmlyZWRDbGFzcyYgb2JqZWN0LCB2b2lkIChUaW1lckZpcmVk
Q2xhc3M6OipmdW5jdGlvbikoKSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSkKKyAg
ICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKFRpbWVyRmlyZWRDbGFzcyYgb2JqZWN0LCB2b2lkIChU
aW1lckZpcmVkQ2xhc3M6OipmdW5jdGlvbikoKSwgU2Vjb25kcyBkZWxheSkKICAgICAgICAgOiBE
ZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6YmluZChmdW5jdGlvbiwgJm9iamVjdCksIGRlbGF5
KQogICAgIHsKICAgICB9CiAKLSAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rp
b248dm9pZCAoKT4gZnVuY3Rpb24sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXkpCisg
ICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGZ1bmN0aW9u
LCBTZWNvbmRzIGRlbGF5KQogICAgICAgICA6IG1fZnVuY3Rpb24oV1RGTW92ZShmdW5jdGlvbikp
CiAgICAgICAgICwgbV9kZWxheShkZWxheSkKICAgICAgICAgLCBtX3Nob3VsZFJlc3RhcnRXaGVu
VGltZXJGaXJlcyhmYWxzZSkKQEAgLTIxMiw3ICsxOTgsNyBAQCBwcml2YXRlOgogCiAgICAgc3Rk
OjpmdW5jdGlvbjx2b2lkICgpPiBtX2Z1bmN0aW9uOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBtX2RlbGF5OworICAgIFNlY29uZHMgbV9kZWxheTsKICAgICBib29sIG1fc2hvdWxk
UmVzdGFydFdoZW5UaW1lckZpcmVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2Rl
VHJhY2tlci5jcHAKaW5kZXggZDRmY2Y5NjFlMDE5MTQ0YTIxZmY0ZDNkYzBlMThmOWZjOTI4ZTFh
Ny4uNTUzNTE0ZGYyMjQwYWFmYTRiMThlNzE5ZjFlNTgzZjVjOTBjOGQ3NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCkBAIC00MCw3ICs0MCw3IEBAIFZOb2RlVHJh
Y2tlciYgVk5vZGVUcmFja2VyOjpzaW5nbGV0b24oKQogVk5vZGVUcmFja2VyOjpWTm9kZVRyYWNr
ZXIoKQogICAgIDogbV92bm9kZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCBldmVudCkg
eyBpZiAoZXZlbnQgPT0gUmVmQ291bnRlckV2ZW50OjpJbmNyZW1lbnQpIGNoZWNrUHJlc3N1cmVT
dGF0ZSgpOyB9KQogICAgICwgbV9wcmVzc3VyZVdhcm5pbmdUaW1lcigqdGhpcywgJlZOb2RlVHJh
Y2tlcjo6cHJlc3N1cmVXYXJuaW5nVGltZXJGaXJlZCkKLSAgICAsIG1fbGFzdFdhcm5pbmdUaW1l
KHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpKQorICAgICwgbV9sYXN0V2FybmluZ1Rp
bWUoTW9ub3RvbmljVGltZTo6bm93KCkpCiB7CiAgICAgcGxhdGZvcm1Jbml0aWFsaXplKCk7CiAK
QEAgLTYzLDIxICs2MywyMiBAQCB2b2lkIFZOb2RlVHJhY2tlcjo6cHJlc3N1cmVXYXJuaW5nVGlt
ZXJGaXJlZCgpCiAgICAgaWYgKG1fdm5vZGVDb3VudGVyLnZhbHVlKCkgPD0gbV9zb2Z0Vk5vZGVM
aW1pdCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9sYXN0V2FybmluZ1RpbWUgPSBzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3RXYXJuaW5nVGltZSA9IE1vbm90
b25pY1RpbWU6Om5vdygpOwogICAgIHVuc2lnbmVkIHZub2RlQ291bnQgPSBtX3Zub2RlQ291bnRl
ci52YWx1ZSgpOwogICAgIGF1dG8gY3JpdGljYWwgPSB2bm9kZUNvdW50ID4gbV9oYXJkVk5vZGVM
aW1pdCA/IENyaXRpY2FsOjpZZXMgOiBDcml0aWNhbDo6Tm87CiAgICAgbV9wcmVzc3VyZUhhbmRs
ZXIoY3JpdGljYWwpOwogICAgIExPRyhNZW1vcnlQcmVzc3VyZSwgInZub2RlIHByZXNzdXJlIGhh
bmRsZXIgZnJlZWQgJWx1IHZub2RlcyBvdXQgb2YgJXUgKGNyaXRpY2FsIHByZXNzdXJlOiAlcyki
LCB2bm9kZUNvdW50IC0gbV92bm9kZUNvdW50ZXIudmFsdWUoKSwgdm5vZGVDb3VudCwgY3JpdGlj
YWwgPT0gQ3JpdGljYWw6OlllcyA/ICJZZXMiIDogIk5vIik7CiB9CiAKLXN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgVk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBj
b25zdAorU2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgp
IGNvbnN0CiB7CiAgICAgLy8gV2UgcnVuIHRoZSB2bm9kZSBwcmVzc3VyZSBoYW5kbGVyIGV2ZXJ5
IDMwIHNlY29uZHMgYXQgbW9zdC4KLSAgICBzdGF0aWMgY29uc3QgYXV0byBtaW5pbXVtV2Fybmlu
Z0ludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAzMCB9OwotICAgIGF1dG8gdGltZVNp
bmNlTGFzdFdhcm5pbmcgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fbGFz
dFdhcm5pbmdUaW1lOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1XYXJuaW5nSW50
ZXJ2YWwgPSAzMF9zOworICAgIGF1dG8gdGltZVNpbmNlTGFzdFdhcm5pbmcgPSBNb25vdG9uaWNU
aW1lOjpub3coKSAtIG1fbGFzdFdhcm5pbmdUaW1lOwogICAgIGlmICh0aW1lU2luY2VMYXN0V2Fy
bmluZyA8IG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwpCi0gICAgICAgIHJldHVybiBzdGQ6OmNocm9u
bzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihtaW5pbXVtV2Fybmlu
Z0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmcpOwotICAgIHJldHVybiBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIHsgMCB9OworICAgICAgICByZXR1cm4gbWluaW11bVdhcm5pbmdJbnRl
cnZhbCAtIHRpbWVTaW5jZUxhc3RXYXJuaW5nOworCisgICAgcmV0dXJuIDBfczsKIH0KIAogI2lm
ICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZO
b2RlVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKaW5k
ZXggMWIwMTEwZTgzZTdhMTZkYTk2NDgwMTMwODVhYmZlMTgyNjBmNGEyNC4uMDRmYjM3OTVkNjVj
Nzg3NTI5M2I5YzdiZGRmMzg3MDE1M2VhMWYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5v
ZGVUcmFja2VyLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY2hlY2tQ
cmVzc3VyZVN0YXRlKCk7CiAgICAgdm9pZCBwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKCk7Ci0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwo
KSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0
OwogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKIApAQCAtNjIsNyArNjIsNyBAQCBw
cml2YXRlOgogICAgIFByZXNzdXJlSGFuZGxlciBtX3ByZXNzdXJlSGFuZGxlcjsKICAgICBWTm9k
ZUNvdW50ZXIgbV92bm9kZUNvdW50ZXI7CiAgICAgVGltZXIgbV9wcmVzc3VyZVdhcm5pbmdUaW1l
cjsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbGFzdFdhcm5p
bmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0V2FybmluZ1RpbWU7CiB9OwogCiBpbmxp
bmUgdm9pZCBWTm9kZVRyYWNrZXI6OnNldFByZXNzdXJlSGFuZGxlcihQcmVzc3VyZUhhbmRsZXIg
aGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRm
b3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCAxNjc2NjlhMjA2MDg0OGNjNjgxMmNmNDZlNDc3ODY1
OThlMTE0M2U4Li4yZmJiNzM3MWI5ODVjNDM4OGQ0YzQwYzc5MzY4MTYxNWViODk5OTQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29u
c3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5ID0gMC4xOwor
Y29uc3QgU2Vjb25kcyBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSA9IDAu
MV9zOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U3RhdGUgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQppbmRleCBjZDZmZGJlMjA5N2JiYTU3
NDRkODFmYTg4ZTQ3MDk0YWNhMjYyNzBjLi44MDk4Y2Y4OWFjZDAyMTBkZmE5MDQxNmJiYWVmMWUw
OGU1OGYyMjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3Jv
bGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9s
bENvbnRyb2xsZXIubW0KQEAgLTc2LDcgKzc2LDcgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHJ1YmJl
cmJhbmRNaW5pbXVtUmVxdWlyZWREZWx0YUJlZm9yZVN0cmV0Y2ggPSAxMDsKIAogI2lmIEVOQUJM
RShDU1NfU0NST0xMX1NOQVApICYmIFBMQVRGT1JNKE1BQykKIHN0YXRpYyBjb25zdCBmbG9hdCBp
bmVydGlhbFNjcm9sbFByZWRpY3Rpb25GYWN0b3IgPSAxNi43Owotc3RhdGljIGNvbnN0IGRvdWJs
ZSBzdGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkgPSAwLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBz
dGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkgPSBTZWNvbmRzKDAuNSk7CiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKE1BQykKQEAgLTQyMSw3ICs0MjEsNyBAQCBib29sIFNjcm9sbENvbnRyb2xsZXI6Omlz
U2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSBjb25zdAogdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGFy
dFNuYXBSdWJiZXJiYW5kVGltZXIoKQogewogICAgIG1fY2xpZW50LnN0YXJ0U25hcFJ1YmJlcmJh
bmRUaW1lcigpOwotICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJlcGVhdGluZygxLjAg
LyA2MC4wKTsKKyAgICBtX3NuYXBSdWJiZXJiYW5kVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25k
cygxLjAgLyA2MCkpOwogCiAgICAgbV9jbGllbnQuZGVmZXJUZXN0c0ZvclJlYXNvbihyZWludGVy
cHJldF9jYXN0PFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVy
Pih0aGlzKSwgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpSdWJiZXJiYW5kSW5Qcm9ncmVzcyk7CiB9
CkBAIC02MzQsNyArNjM0LDcgQEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGFydFNjcm9sbFNu
YXBUaW1lcigpCiB7CiAgICAgaWYgKCFtX3Njcm9sbFNuYXBUaW1lci5pc0FjdGl2ZSgpKSB7CiAg
ICAgICAgIG1fY2xpZW50LnN0YXJ0U2Nyb2xsU25hcFRpbWVyKCk7Ci0gICAgICAgIG1fc2Nyb2xs
U25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgICAgICBtX3Njcm9sbFNu
YXBUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAgICAgfQogCiAgICAg
aWYgKCFtX3Njcm9sbFNuYXBUaW1lci5pc0FjdGl2ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRl
ci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xs
ZXJHYW1lcGFkUHJvdmlkZXIubW0KaW5kZXggNmE1M2YxMjI5MjE5ZjQ4Y2VjOTcyMjg0ZDJiNTlj
N2Q4YTJhOWQ5MC4uZTRjNDIyMTYyM2UxYzgwMDg1N2IwZWE2YzY1MGVkZWZkY2ZhNDQwYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJv
bGxlckdhbWVwYWRQcm92aWRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBAIC00MCw3ICs0MCw3
IEBAIFNPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxlciwgR0NDb250cm9s
bGVyRGlkRGlzY29ubmVjdE5vdGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxh
eSA9IDE2bXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0g
MTZfbXM7CiAKIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyJiBHYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDBk
OGE3OWEwNTBkMThhYTg3MDg5ZTk1OGU4MTIxNGUxY2RmYjE0ZWIuLjFjNmI1ZDgzYThhOTAzNDgz
NTA5NDI1MTMxMzI2ZTljZjlhNzMyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMzQsOCAr
MzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgQ29u
bmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIElucHV0Tm90
aWZpY2F0aW9uRGVsYXkgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgQ29ubmVjdGlvbkRl
bGF5SW50ZXJ2YWwgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIElucHV0Tm90aWZpY2F0
aW9uRGVsYXkgPSAwLjA1X3M7CiAKIHN0YXRpYyBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBk
ZXZpY2VNYXRjaGluZ0RpY3Rpb25hcnkodWludDMyX3QgdXNhZ2VQYWdlLCB1aW50MzJfdCB1c2Fn
ZSkKIHsKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNl
QWRkZWQoSU9ISUREZXZpY2VSZWYgZGV2aWNlKQogICAgICAgICAvLyBhbmQgd2UgZG9uJ3Qgd2Fu
dCB0byB0ZWxsIHRoZSBjbGllbnQgYWJvdXQgYW55IG9mIHRoZW0uCiAgICAgICAgIC8vIFRoZSBt
X2Nvbm5lY3Rpb25EZWxheVRpbWVyIGZpcmVzIGluIGEgc3Vic2VxdWVudCBzcGluIG9mIHRoZSBy
dW5sb29wIGFmdGVyIHdoaWNoCiAgICAgICAgIC8vIGFueSBjb25uZWN0aW9uIGV2ZW50cyBhcmUg
YWN0dWFsIG5ldyBkZXZpY2VzLgotICAgICAgICBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIAogICAgICAgICBMT0coR2FtZXBhZCwgIkRldmljZSAlcCB3YXMgYWRkZWQgd2hpbGUg
c3VwcHJlc3NpbmcgY2FsbGJhY2tzLCBzbyB0aGlzIHNob3VsZCBiZSBhbiAnYWxyZWFkeSBjb25u
ZWN0ZWQnIGV2ZW50IiwgZGV2aWNlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCmluZGV4IDNkYmE1NjIzYmFkZmJiY2RjODgyMmUzN2Jm
ZDJkZGRlNzY0MWQ1N2MuLjg0ZmU1NjQzYzcwMGMyNzk3YWM1NjFiZmJlNDgzYzBmNWU1YTU0OGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5j
cHAKQEAgLTIyMSw3ICsyMjEsNyBAQCB2b2lkIEJpdG1hcEltYWdlOjpjbGVhclRpbWVyKCkKICAg
ICBtX2ZyYW1lVGltZXIgPSBudWxscHRyOwogfQogCi12b2lkIEJpdG1hcEltYWdlOjpzdGFydFRp
bWVyKGRvdWJsZSBkZWxheSkKK3ZvaWQgQml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoU2Vjb25kcyBk
ZWxheSkKIHsKICAgICBBU1NFUlQoIW1fZnJhbWVUaW1lcik7CiAgICAgbV9mcmFtZVRpbWVyID0g
c3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1h
dGlvbik7CkBAIC0yODUsNyArMjg1LDcgQEAgQml0bWFwSW1hZ2U6OlN0YXJ0QW5pbWF0aW9uUmVz
dWx0IEJpdG1hcEltYWdlOjppbnRlcm5hbFN0YXJ0QW5pbWF0aW9uKCkKICAgICB9CiAKICAgICBB
U1NFUlQoIW1fZnJhbWVUaW1lcik7Ci0gICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZVN0YXJ0
VGltZSAtIHRpbWUpOworICAgIHN0YXJ0VGltZXIoU2Vjb25kcyhtX2Rlc2lyZWRGcmFtZVN0YXJ0
VGltZSAtIHRpbWUpKTsKICAgICByZXR1cm4gU3RhcnRBbmltYXRpb25SZXN1bHQ6OlN0YXJ0ZWQ7
CiB9CiAKQEAgLTI5OSw3ICsyOTksNyBAQCB2b2lkIEJpdG1hcEltYWdlOjphZHZhbmNlQW5pbWF0
aW9uKCkKICAgICAgICAgZG91YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKICAgICAgICAgLy8gU3RhcnQgYSB0aW1lciB3aXRoIHRoZSByZW1haW5pbmcgdGltZSBmcm9t
IG5vdyB0aWxsIHRoZSBtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWUuCiAgICAgICAgIGlmIChtX2Rl
c2lyZWRGcmFtZURlY29kZVRpbWVGb3JUZXN0aW5nID4gc3RkOjptYXgodGltZSwgbV9kZXNpcmVk
RnJhbWVTdGFydFRpbWUpKSB7Ci0gICAgICAgICAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZyYW1l
RGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKTsKKyAgICAgICAgICAgIHN0YXJ0VGltZXIoU2Vj
b25kcyhtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JUZXN0aW5nIC0gdGltZSkpOwogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggZTAyM2NiOGYxOGRlZDk4YmM5ZGQ5NGYy
ZmFhZjc4ZmI4YjYzYTY3NC4uODQwZTJiZDcxMjIzNmEzMzM4Yjk4OWFhMGQ5MTkzOWZhMzFmNTYz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
CkBAIC0xODUsNyArMTg1LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIHZvaWQgY2xl
YXJUaW1lcigpOwotICAgIHZvaWQgc3RhcnRUaW1lcihkb3VibGUgZGVsYXkpOworICAgIHZvaWQg
c3RhcnRUaW1lcihTZWNvbmRzIGRlbGF5KTsKICAgICBib29sIGlzQml0bWFwSW1hZ2UoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBj
b25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYWNoZS5jcHAKaW5kZXggMDNhNzhlN2FmYThlNDFlNWVlNDU5Y2YxNWRjN2ZhZTA2YzYxYjYw
Yy4uZjU2MjlkOGFmNjYzM2VjZTA0Y2E1OWNmODJiYzc0ZGRhNDM3ZDQ5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC0zMjksNyArMzI5
LDcgQEAgY29uc3QgdW5zaWduZWQgY1RhcmdldFVuZGVyTWVtb3J5UHJlc3N1cmVJbmFjdGl2ZUZv
bnREYXRhID0gMzA7CiBSZWZQdHI8Rm9udD4gRm9udENhY2hlOjpmb250Rm9yRmFtaWx5KGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9taWNTdHJpbmcmIGZh
bWlseSwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3Qg
Rm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGJvb2wgY2hlY2tp
bmdBbHRlcm5hdGVOYW1lKQogewogICAgIGlmICghbV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcHVyZ2VUaW1lci5zdGFydE9uZVNob3QoMG1zKTsKKyAgICAgICAgbV9wdXJnZVRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgRm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1E
YXRhID0gZ2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwg
Zm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGNoZWNraW5nQWx0ZXJu
YXRlTmFtZSk7CiAgICAgaWYgKCFwbGF0Zm9ybURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIu
Y3BwCmluZGV4IDQ5MzE2ODZiMzE1MTI3NzE2MjUwNDg4OGI3MTVlMjgxYTI3NTkyMDYuLjVlMDdj
NWY3N2YzMGIxOTY2YTJkMWZkY2U1MGEyMTkzZjAxMmVhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXIuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Rh
dGljIGNvbnN0IGRvdWJsZSBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAxLjAgLyAxMC4wOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgcGVuZGluZ0FjdGlvbkludGVydmFsID0gMC4xX3M7CiAKIE1lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXI6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoQ2xpZW50JiBj
bGllbnQpCiAgICAgOiBtX2NsaWVudCgmY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IDBkYzg4YzdkOTM0ZDE0YTNmNDRj
ZDgwNzRkMmY4YmJkZGYzNjM2NzMuLmUzYzk3OGFlM2JjZTViMTYwMTg4NDU2YTViNTU4YWNmYmFl
OTU4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKQEAgLTEwOTgsNyArMTA5OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXI6Om5ldHdvcmtT
dGF0ZUNoYW5nZWQoKQogICAgIGlmIChtX3ByaXZhdGUtPm5ldHdvcmtTdGF0ZSgpID49IEZvcm1h
dEVycm9yICYmIG1fcHJpdmF0ZS0+cmVhZHlTdGF0ZSgpIDwgSGF2ZU1ldGFkYXRhKSB7CiAgICAg
ICAgIG1fY2xpZW50Lm1lZGlhUGxheWVyRW5naW5lRmFpbGVkVG9Mb2FkKCk7CiAgICAgICAgIGlm
IChpbnN0YWxsZWRNZWRpYUVuZ2luZXMoKS5zaXplKCkgPiAxICYmIChtX2NvbnRlbnRNSU1FVHlw
ZS5pc0VtcHR5KCkgfHwgbmV4dEJlc3RNZWRpYUVuZ2luZShtX2N1cnJlbnRNZWRpYUVuZ2luZSkp
KSB7Ci0gICAgICAgICAgICBtX3JlbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
ICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaGFkb3dCbHVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1NoYWRvd0JsdXIuY3BwCmluZGV4IDMyOWNhMTAwOWJjYThkYTFhOGNlMTAxMTgyMDM1MGZmZTk5
NGEzZjkuLmViYmYzMDdhZGM1NzY5YzJlYTY3NmM5MTNlMDgwOTg0MjAxNjE1M2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCkBAIC0xMjQs
NyArMTI0LDcgQEAgcHVibGljOgogICAgICAgICBpZiAobV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkp
CiAgICAgICAgICAgICBtX3B1cmdlVGltZXIuc3RvcCgpOwogCi0gICAgICAgIGNvbnN0IGRvdWJs
ZSBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDI7CisgICAgICAgIGNvbnN0IFNlY29uZHMg
c2NyYXRjaEJ1ZmZlclB1cmdlSW50ZXJ2YWwgPSAyX3M7CiAgICAgICAgIG1fcHVyZ2VUaW1lci5z
dGFydE9uZVNob3Qoc2NyYXRjaEJ1ZmZlclB1cmdlSW50ZXJ2YWwpOwogICAgIH0KICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQppbmRleCA2
ZWU4YmM0ZWZiMzE3YWJmMTY2MzRhNGMyOTM1NGViODVjNDlhZTZkLi44ZGVlMDljZTA4NmFkYWY1
YmUyN2MyMDA4YWNiMjVkZDg5MmMzNWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
U2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYg
Y2hhcmFjdGVyaXMKIAogICAgIEFTU0VSVChtX29wdGlvbnMuY29udGFpbnMocHJlZmVycmVkT3B0
aW9uKSk7CiAgICAgbV9zZWxlY3RlZE9wdGlvbiA9IG1fb3B0aW9ucy5nZXQocHJlZmVycmVkT3B0
aW9uKTsKLSAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlbGVj
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9uR3Jv
dXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMq
IG9wdGlvbikKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZP
YmpDOjpzZXRTZWxlY3RlZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqCiAgICAg
bV9zZWxlY3RlZE9wdGlvbiA9IG9wdGlvbjsKICAgICBpZiAobV9zZWxlY3Rpb25UaW1lci5pc0Fj
dGl2ZSgpKQogICAgICAgICBtX3NlbGVjdGlvblRpbWVyLnN0b3AoKTsKLSAgICBtX3NlbGVjdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZWxlY3Rpb25U
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCBmZjI5OTRmYmE2NGE3
OTg2MzYzZDI4M2VkNGY1MjhkZDhlMTM2NTYxLi40ZmUwZjYwMTQxZjRjM2U1NzkwYjY2N2RkNmZi
NmI2MmI2ODAyNzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0yMjgsNyArMjI4
LDcgQEAgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakM6OnN1cHBvcnRzVHlwZShjb24KICAgICAgICAgb3V0cHV0Q29kZWNzID0gW2dl
dEFWU3RyZWFtRGF0YVBhcnNlckNsYXNzKCkgb3V0cHV0TUlNRUNvZGVjUGFyYW1ldGVyRm9ySW5w
dXRNSU1FQ29kZWNQYXJhbWV0ZXI6b3V0cHV0Q29kZWNzXTsKIAogICAgIE5TU3RyaW5nICp0eXBl
U3RyaW5nID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQDsgY29kZWNzPVwiJUBcIiIs
IChOU1N0cmluZyAqKXBhcmFtZXRlcnMudHlwZSwgKE5TU3RyaW5nICopb3V0cHV0Q29kZWNzXTsK
LSAgICByZXR1cm4gW2dldEFWVVJMQXNzZXRDbGFzcygpIGlzUGxheWFibGVFeHRlbmRlZE1JTUVU
eXBlOnR5cGVTdHJpbmddID8gTWVkaWFQbGF5ZXI6OklzU3VwcG9ydGVkIDogTWVkaWFQbGF5ZXI6
Ok1heUJlU3VwcG9ydGVkOzsKKyAgICByZXR1cm4gW2dldEFWVVJMQXNzZXRDbGFzcygpIGlzUGxh
eWFibGVFeHRlbmRlZE1JTUVUeXBlOnR5cGVTdHJpbmddID8gTWVkaWFQbGF5ZXI6OklzU3VwcG9y
dGVkIDogTWVkaWFQbGF5ZXI6Ok1heUJlU3VwcG9ydGVkOwogfQogCiAjcHJhZ21hIG1hcmsgLQpA
QCAtMzk2LDcgKzM5Niw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDOjpzZWVrV2l0aFRvbGVyYW5jZShjb25zdCBNZWRpYVRpbWUmIHRpCiAKICAgICBpZiAobV9z
ZWVrVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9zZWVrVGltZXIuc3RvcCgpOwotICAgIG1f
c2Vla1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlZWtUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNl
ZWtJbnRlcm5hbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
TGF5ZXJQb29sLmNwcAppbmRleCAwY2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4
NDVmLi4wY2M0ZmFjNThhMzA0MmFiNjY4NGNlMTZiZTcwZDRjMjUwYWY5N2E3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTEx
MCw3ICsxMTAsNyBAQCB2b2lkIExheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYg
KG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRp
bWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDFfcyk7
CiB9CiAKIHZvaWQgTGF5ZXJQb29sOjpwcnVuZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCmluZGV4
IDM4YTRkMjg1NTI2YzRmMmMyZGY3Njc4MzUxYWQzMTBhNzM3ODYxZjMuLjI2NTc3YzkzYmU4MDQ4
MzM1MzMyMWM4MWVhZDRhNjE2ZmFkMWQ4NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKQEAgLTQ5LDcgKzQ5LDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0byB0aWxlU2l6ZVVw
ZGF0ZURlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDUwMCB9Oworc3RhdGljIGNv
bnN0IFNlY29uZHMgdGlsZVNpemVVcGRhdGVEZWxheSA9IDAuNV9zOwogCiBTdHJpbmcgVGlsZUNv
bnRyb2xsZXI6OnRpbGVHcmlkQ29udGFpbmVyTGF5ZXJOYW1lKCkKIHsKQEAgLTI2Niw3ICsyNjYs
NyBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRJc0luV2luZG93KGJvb2wgaXNJbldpbmRvdykK
ICAgICBpZiAobV9pc0luV2luZG93KQogICAgICAgICBzZXROZWVkc1JldmFsaWRhdGVUaWxlcygp
OwogICAgIGVsc2UgewotICAgICAgICBjb25zdCBkb3VibGUgdGlsZVJldmFsaWRhdGlvblRpbWVv
dXQgPSA0OworICAgICAgICBjb25zdCBTZWNvbmRzIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0ID0g
NF9zOwogICAgICAgICBzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24odGlsZVJldmFsaWRhdGlvblRp
bWVvdXQpOwogICAgIH0KIH0KQEAgLTQ1Niw3ICs0NTYsNyBAQCB2b2lkIFRpbGVDb250cm9sbGVy
OjphZGp1c3RUaWxlQ292ZXJhZ2VSZWN0KEZsb2F0UmVjdCYgY292ZXJhZ2VSZWN0LCBjb25zdCBG
bG9hdAogI2VuZGlmCiB9CiAKLXZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFs
aWRhdGlvbihkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFRpbGVDb250cm9sbGVyOjpzY2hlZHVsZVRp
bGVSZXZhbGlkYXRpb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAobV90aWxlUmV2YWxp
ZGF0aW9uVGltZXIuaXNBY3RpdmUoKSAmJiBtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5uZXh0Rmly
ZUludGVydmFsKCkgPCBpbnRlcnZhbCkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKaW5kZXggOGM4
NGM3Y2M5Mjc2NmM0NmY5NzU5MTE3MTFmODk3YmRlYmIxOGRhOC4uOGNhZTQ0Nzc4M2ZiZDBkNDdk
ZTQ1ZmM4NWNhZGU3ZGI4MzE2Njk4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCkBAIC0xMzQsNyArMTM0LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBUaWxlR3JpZCYgdGlsZUdyaWQoKSB7IHJldHVybiAqbV90aWxl
R3JpZDsgfQogCi0gICAgdm9pZCBzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24oZG91YmxlIGludGVy
dmFsKTsKKyAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFs
KTsKIAogICAgIGJvb2wgaXNJbldpbmRvdygpIGNvbnN0IHsgcmV0dXJuIG1faXNJbldpbmRvdzsg
fQogICAgIGZsb2F0IHRvcENvbnRlbnRJbnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fdG9wQ29udGVu
dEluc2V0OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlQ292ZXJhZ2VNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvVGlsZUNvdmVyYWdlTWFwLmNwcAppbmRleCA3OTIzOTY3ZWY1NzVmYWQxYmIzMmYxYWYwM2M5
ODk4ZmZiYjE3MTVjLi4zMWQ2YTU4OGU4OTNlNzdmYmY0YzQzMDc5OTQ1OWRkODQ2MGI5YjE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJh
Z2VNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVD
b3ZlcmFnZU1hcC5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgVGlsZUNvdmVyYWdlTWFwOjp+VGlsZUNv
dmVyYWdlTWFwKCkKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjpzZXROZWVkc1VwZGF0ZSgpCiB7CiAg
ICAgaWYgKCFtX3VwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIFRpbGVDb3ZlcmFnZU1hcDo6dXBkYXRlVGltZXJGaXJlZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKaW5kZXggMjhm
MjljYmRlOGUyMWY3MTgwMWI4ODYyMjc5NTYxZWY5MjJmYTFjMS4uZjVhYzBiNDBjMzUyYTcxNzk3
MTJjM2Y2NzE2ZTU4MGFjOWRjOTlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgVGlsZUdy
aWQ6OnJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9uUG9saWN5
KQogICAgIFRpbGVDb2hvcnQgY3VyckNvaG9ydCA9IG5leHRUaWxlQ29ob3J0KCk7CiAgICAgdW5z
aWduZWQgdGlsZXNJbkNvaG9ydCA9IDA7CiAKLSAgICBkb3VibGUgbWluaW11bVJldmFsaWRhdGlv
blRpbWVyRHVyYXRpb24gPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpOworICAg
IFNlY29uZHMgbWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBTZWNvbmRzOjppbmZp
bml0eSgpOwogICAgIGJvb2wgbmVlZHNUaWxlUmV2YWxpZGF0aW9uID0gZmFsc2U7CiAgICAgCiAg
ICAgYXV0byB0aWxlU2l6ZSA9IG1fY29udHJvbGxlci50aWxlU2l6ZSgpOwpAQCAtMzgxLDggKzM4
MSw4IEBAIHZvaWQgVGlsZUdyaWQ6OnJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGlj
eSB2YWxpZGF0aW9uUG9saWN5KQogICAgICAgICAgICAgICAgIGZvciAoYXV0byYgY29ob3J0IDog
bV9jb2hvcnRMaXN0KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjb2hvcnQuY29ob3J0ICE9
IHRpbGVJbmZvLmNvaG9ydCkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgICAgICAgICBkb3VibGUgdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50
aW1lVW50aWxFeHBpcmF0aW9uKCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aW1lVW50aWxD
b2hvcnRFeHBpcmVzID4gMCkgeworICAgICAgICAgICAgICAgICAgICBTZWNvbmRzIHRpbWVVbnRp
bENvaG9ydEV4cGlyZXMgPSBjb2hvcnQudGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAgICAg
ICAgICAgICAgICBpZiAodGltZVVudGlsQ29ob3J0RXhwaXJlcyA+IDBfcykgewogICAgICAgICAg
ICAgICAgICAgICAgICAgbWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBzdGQ6Om1p
bihtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiwgdGltZVVudGlsQ29ob3J0RXhwaXJl
cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSB0cnVl
OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UKQEAgLTQ3OCw3ICs0NzgsNyBAQCBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydCBUaWxlR3JpZDo6bmV4dFRpbGVDb2hvcnQoKSBjb25zdAogCiB2b2lkIFRp
bGVHcmlkOjpzdGFydGVkTmV3Q29ob3J0KFRpbGVDb2hvcnQgY29ob3J0KQogewotICAgIG1fY29o
b3J0TGlzdC5hcHBlbmQoVGlsZUNvaG9ydEluZm8oY29ob3J0LCBtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSkpOworICAgIG1fY29ob3J0TGlzdC5hcHBlbmQoVGlsZUNvaG9ydEluZm8oY29o
b3J0LCBNb25vdG9uaWNUaW1lOjpub3coKSkpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAo
IW1fY29udHJvbGxlci5pc0luV2luZG93KCkpCiAgICAgICAgIHRpbGVDb250cm9sbGVyTWVtb3J5
SGFuZGxlcigpLnRpbGVDb250cm9sbGVyR2FpbmVkVW5wYXJlbnRlZFRpbGVzKCZtX2NvbnRyb2xs
ZXIpOwpAQCAtNDk3LDE3ICs0OTcsMTcgQEAgVGlsZUdyaWQ6OlRpbGVDb2hvcnQgVGlsZUdyaWQ6
Om9sZGVzdFRpbGVDb2hvcnQoKSBjb25zdAogCiB2b2lkIFRpbGVHcmlkOjpzY2hlZHVsZUNvaG9y
dFJlbW92YWwoKQogewotICAgIGNvbnN0IGRvdWJsZSBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRz
ID0gMTsKKyAgICBjb25zdCBTZWNvbmRzIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgPSAxX3M7
CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIsIG9yIHJlc2NoZWR1bGUgdGhlIHRpbWVyIGZyb20g
bm93IGlmIGl0J3MgYWxyZWFkeSBhY3RpdmUuCiAgICAgaWYgKCFtX2NvaG9ydFJlbW92YWxUaW1l
ci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2NvaG9ydFJlbW92YWxUaW1lci5zdGFydFJlcGVhdGlu
Zyhjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzKTsKIH0KIAotZG91YmxlIFRpbGVHcmlkOjpUaWxl
Q29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJhdGlvbigpCitTZWNvbmRzIFRpbGVHcmlkOjpUaWxl
Q29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJhdGlvbigpCiB7Ci0gICAgZG91YmxlIGNvaG9ydExp
ZmVUaW1lU2Vjb25kcyA9IDI7Ci0gICAgZG91YmxlIHRpbWVUaHJlc2hvbGQgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKSAtIGNvaG9ydExpZmVUaW1lU2Vjb25kczsKKyAgICBjb25zdCBT
ZWNvbmRzIGNvaG9ydExpZmVUaW1lID0gU2Vjb25kcygyKTsKKyAgICBNb25vdG9uaWNUaW1lIHRp
bWVUaHJlc2hvbGQgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIGNvaG9ydExpZmVUaW1lOwogICAg
IHJldHVybiBjcmVhdGlvblRpbWUgLSB0aW1lVGhyZXNob2xkOwogfQogCkBAIC01MTgsNyArNTE4
LDcgQEAgdm9pZCBUaWxlR3JpZDo6Y29ob3J0UmVtb3ZhbFRpbWVyRmlyZWQoKQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgd2hpbGUgKCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1f
Y29ob3J0TGlzdC5maXJzdCgpLnRpbWVVbnRpbEV4cGlyYXRpb24oKSA8IDApIHsKKyAgICB3aGls
ZSAoIW1fY29ob3J0TGlzdC5pc0VtcHR5KCkgJiYgbV9jb2hvcnRMaXN0LmZpcnN0KCkudGltZVVu
dGlsRXhwaXJhdGlvbigpIDwgMF9zKSB7CiAgICAgICAgIFRpbGVDb2hvcnRJbmZvIGZpcnN0Q29o
b3J0ID0gbV9jb2hvcnRMaXN0LnRha2VGaXJzdCgpOwogICAgICAgICByZW1vdmVUaWxlc0luQ29o
b3J0KGZpcnN0Q29ob3J0LmNvaG9ydCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKaW5kZXggMzI1MzM2ZjgxOTFlNDU4MjNjNzU1ZDg3
ODJjNDJhYTBkZTU3NjUxZC4uNDI2OTM3NzRiYTRmMWM1YWI0Y2QzNGUyOGEzMjdmZWU5OGFlMGM0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5o
CkBAIC0xMjEsMTMgKzEyMSwxMyBAQCBwcml2YXRlOgogCiAgICAgc3RydWN0IFRpbGVDb2hvcnRJ
bmZvIHsKICAgICAgICAgVGlsZUNvaG9ydCBjb2hvcnQ7Ci0gICAgICAgIGRvdWJsZSBjcmVhdGlv
blRpbWU7IC8vIGluIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLgotICAgICAgICBUaWxl
Q29ob3J0SW5mbyhUaWxlQ29ob3J0IGluQ29ob3J0LCBkb3VibGUgaW5UaW1lKQorICAgICAgICBN
b25vdG9uaWNUaW1lIGNyZWF0aW9uVGltZTsKKyAgICAgICAgVGlsZUNvaG9ydEluZm8oVGlsZUNv
aG9ydCBpbkNvaG9ydCwgTW9ub3RvbmljVGltZSBpblRpbWUpCiAgICAgICAgICAgICA6IGNvaG9y
dChpbkNvaG9ydCkKICAgICAgICAgICAgICwgY3JlYXRpb25UaW1lKGluVGltZSkKICAgICAgICAg
eyB9CiAKLSAgICAgICAgZG91YmxlIHRpbWVVbnRpbEV4cGlyYXRpb24oKTsKKyAgICAgICAgU2Vj
b25kcyB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CiAgICAgfTsKIAogICAgIHZvaWQgcmVtb3ZlQWxs
VGlsZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0lPU3VyZmFjZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SU9TdXJmYWNlUG9vbC5jcHAKaW5kZXggYjgxZDU4ZTYzZDE4YjI2YWY0ZGIxNGZhNWMzYThhMGZl
MGJmZjE0OC4uZjk0ZjRhMTQ3MDQ3NzJlODgyMWRhYmY2MTNlMzg3NDAzZTkzMmFjZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9v
bC5jcHAKQEAgLTMzLDggKzMzLDggQEAKICNpbmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgY29s
bGVjdGlvbkludGVydmFsID0gNTAwbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzdXJm
YWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJzOworY29uc3QgU2Vjb25kcyBjb2xsZWN0
aW9uSW50ZXJ2YWwgPSAwLjVfczsKK2NvbnN0IFNlY29uZHMgc3VyZmFjZUFnZUJlZm9yZU1hcmtp
bmdQdXJnZWFibGUgPSAyX3M7CiBjb25zdCBzaXplX3QgZGVmYXVsdE1heGltdW1CeXRlc0NhY2hl
ZCA9IDEwMjQgKiAxMDI0ICogNjQ7CiAKIC8vIFdlJ2xsIG5ldmVyIGFsbG93IG1vcmUgdGhhbiAx
LzIgb2YgdGhlIGNhY2hlIHRvIGJlIGZpbGxlZCB3aXRoIGluLXVzZSBzdXJmYWNlcywgYmVjYXVz
ZQpAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgSU9TdXJmYWNlUG9vbDo6Y29sbGVjdEluVXNlU3Vy
ZmFjZXMoKQogYm9vbCBJT1N1cmZhY2VQb29sOjptYXJrT2xkZXJTdXJmYWNlc1B1cmdlYWJsZSgp
CiB7CiAgICAgYm9vbCBtYXJrZWRBbGxTdXJmYWNlcyA9IHRydWU7Ci0gICAgYXV0byBtYXJrVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbWFya1RpbWUg
PSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGZvciAoYXV0byYgc3VyZmFjZUFuZERldGFp
bHMgOiBtX3N1cmZhY2VEZXRhaWxzKSB7CiAgICAgICAgIGlmIChzdXJmYWNlQW5kRGV0YWlscy52
YWx1ZS5oYXNNYXJrZWRQdXJnZWFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKaW5kZXggMzQ5YTNiYzNkMjdjNTQ2OTZkN2I1
YjU2Mzk1ZjNmM2UyZjI3ZjNjNC4uOTgyMWE0ZmYwOTcxMDBmNTVlMWJmM2M0ODIwMDZlYmM5NGZl
MTA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9T
dXJmYWNlUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lP
U3VyZmFjZVBvb2wuaApAQCAtNjMsOSArNjMsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgOiBo
YXNNYXJrZWRQdXJnZWFibGUoZmFsc2UpCiAgICAgICAgIHsgfQogCi0gICAgICAgIHZvaWQgcmVz
ZXRMYXN0VXNlVGltZSgpIHsgbGFzdFVzZVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojpub3coKTsgfQorICAgICAgICB2b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1l
ID0gTW9ub3RvbmljVGltZTo6bm93KCk7IH0KIAotICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5
X2Nsb2NrOjp0aW1lX3BvaW50IGxhc3RVc2VUaW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIGxh
c3RVc2VUaW1lOwogICAgICAgICBib29sIGhhc01hcmtlZFB1cmdlYWJsZTsKICAgICB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNh
Y2hlV2l0aFRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1
YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwCmluZGV4IDRmYWY3N2UyNTRlMmFhYzQwOGI0ZTgzNjNm
NDhlM2VkMjMwZmZkNzYuLmFiZmNlYWE0NmYyNmQ0MDkwMTI3YjcwY2M1ODc0MDU3NzhiZDA1MTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdl
Q2FjaGVXaXRoVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gc3ViaW1hZ2VDYWNoZUNsZWFyRGVs
YXkgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDEgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN1
YmltYWdlQ2FjaGVDbGVhckRlbGF5ID0gMV9zOwogc3RhdGljIGNvbnN0IGludCBtYXhTdWJpbWFn
ZUNhY2hlU2l6ZSA9IDMwMDsKIAogc3RydWN0IFN1YmltYWdlUmVxdWVzdCB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGZlYWRkZGRhOGRj
NDY0OTU2ZDU0MDUyZTA1YWRhNzcwNmQ0ODNmOTEuLjk5M2JlNTk4NjZmNzY5NmE2YTk1MWY3M2Y3
ZGQ5MjRkNzBmMWE3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCkBAIC0zNjcsNyArMzY3LDcgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5lU3RhdGUoR3N0U3RhdGUgbmV3U3RhdGUpCiAgICAgaWYg
KG5ld1N0YXRlID09IEdTVF9TVEFURV9SRUFEWSAmJiAhbV9yZWFkeVRpbWVySGFuZGxlci5pc0Fj
dGl2ZSgpKSB7CiAgICAgICAgIC8vIE1heCBpbnRlcnZhbCBpbiBzZWNvbmRzIHRvIHN0YXkgaW4g
dGhlIFJFQURZIHN0YXRlIG9uIG1hbnVhbAogICAgICAgICAvLyBzdGF0ZSBjaGFuZ2UgcmVxdWVz
dHMuCi0gICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgcmVhZHlTdGF0ZVRpbWVyRGVsYXkgPSA2
MDsKKyAgICAgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgcmVhZHlTdGF0ZVRpbWVyRGVsYXkgPSA2
MF9zOwogICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0YXJ0T25lU2hvdChyZWFkeVN0YXRl
VGltZXJEZWxheSk7CiAgICAgfSBlbHNlIGlmIChuZXdTdGF0ZSAhPSBHU1RfU1RBVEVfUkVBRFkp
CiAgICAgICAgIG1fcmVhZHlUaW1lckhhbmRsZXIuc3RvcCgpOwpAQCAtMTg1OCw3ICsxODU4LDcg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5n
KCkKICAgICBpZiAoc2hvdWxkRG93bmxvYWQpIHsKICAgICAgICAgR1NUX0RFQlVHKCJFbmFibGlu
ZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQobV9waXBlbGluZS5n
ZXQoKSwgImZsYWdzIiwgZmxhZ3MgfCBmbGFnRG93bmxvYWQsIG51bGxwdHIpOwotICAgICAgICBt
X2ZpbGxUaW1lci5zdGFydFJlcGVhdGluZygwLjIpOworICAgICAgICBtX2ZpbGxUaW1lci5zdGFy
dFJlcGVhdGluZygwLjJfcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgR1NUX0RFQlVHKCJEaXNh
Ymxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxp
bmUuZ2V0KCksICJmbGFncyIsIGZsYWdzICYgfmZsYWdEb3dubG9hZCwgbnVsbHB0cik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5k
ZXggOTY5MzY5YTM1ZTc5NzE1OThlY2YxOGVmOWYyNDgwOTFmYjVjZDU2OC4uYmVjZWYyMTNmZWY0
NzE5ZjNlZjA5M2NhMmM4OTllMTQ2OTM4MTc1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtNjUzLDcgKzY1Myw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2Ft
cGxlKiBzYW1wbGUpCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAg
IGlmICghbV9wbGF5ZXItPmNsaWVudCgpLm1lZGlhUGxheWVyQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQoKSkgewogICAgICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2RyYXdNdXRleCk7Ci0g
ICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kcmF3VGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1fZHJhd0NvbmRpdGlvbi53YWl0KG1fZHJhd011
dGV4KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTY3NSw3ICs2NzUsNyBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBsZSog
c2FtcGxlKQogICAgICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKIAogICAgICAgICBMb2Nr
SG9sZGVyIGxvY2tlcihtX2RyYXdNdXRleCk7Ci0gICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAg
IG1fZHJhd0NvbmRpdGlvbi53YWl0KG1fZHJhd011dGV4KTsKICAgICB9CiAjZWxzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lu
a0dTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCBkMTgxZWNmMDE3OGNlMmE1N2RmMjFiMTUy
MWMwNDFmNmI3Mjc5OTI4Li5jY2M2OTQxOTlkMTVhZDg1MTcwOWVhN2U4ZmI1MmY0MzRjNjQwNWE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
VmlkZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcApAQCAtMTE5LDcgKzExOSw3IEBA
IHB1YmxpYzoKICAgICAgICAgbV9zYW1wbGUgPSBudWxscHRyOwogI2Vsc2UKICAgICAgICAgbV9z
aW5rID0gc2luazsKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1fZGF0YUNvbmRpdGlvbi53YWl0KG1f
c2FtcGxlTXV0ZXgpOwogI2VuZGlmCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0Lm1tCmluZGV4IDk2OGEyZDg4YjY1MWJjYmIyMzA2MjI3MTMzZGY1NjBjMWVm
MmZiNGYuLjE5ODIzNTE5MmZhMmI4MTNlZGM0ZjVmN2U4Y2ZmN2IyZDYxZmM0OGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KQEAgLTY0Nyw3ICs2NDcsNyBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZVFUS2l0OjpzZWVrKGNvbnN0IE1lZGlhVGltZSYgaW5UaW1lKQogICAgIGlmICht
YXhNZWRpYVRpbWVTZWVrYWJsZSgpID49IG1fc2Vla1RvKQogICAgICAgICBkb1NlZWsoKTsKICAg
ICBlbHNlIAotICAgICAgICBtX3NlZWtUaW1lci5zdGFydCgwLCAwLjVmKTsKKyAgICAgICAgbV9z
ZWVrVGltZXIuc3RhcnQoMF9zLCAwLjVfcyk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
UVRLaXQ6OmRvU2VlaygpIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKaW5kZXggMWI0NmYzNzUy
NDk4OTA3ZTAwYmMyODJkMmQ5ZDZmMWFmNzNiNDU5ZS4uOTFjMDMyNDA4NjdiNDZlYzliOTc1ZGQz
NDg5YmY3ZWMxYWFkMzBmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCkBAIC0zNCw3ICsz
NCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUgc19yZWxl
YXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDM7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNfcmVs
ZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbCA9IDAuNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNfcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZhbCA9IDAuNV9zOwogCiAjaWYg
VVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogQml0bWFwVGV4dHVyZVBvb2w6OkJpdG1hcFRleHR1cmVQ
b29sKFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4mJiBjb250ZXh0M0QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAKaW5kZXggNWUzYzgyZjFmMzNh
ZDUyOTI1MDY2ODk2YzljMjE0YTMzYmY4YjMwNS4uOWMyYjExYjNmOGExYTZjN2JlZGFmOGY1YzUx
ZTYwNTM4M2NjMjJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5LmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyQnVmZmVyLmgiCiAKIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRTZWNv
bmRzVG9sZXJhbmNlID0gMTsKLWNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGlt
ZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgc19yZWxlYXNlVW51c2VkQnVmZmVyc1Rp
bWVySW50ZXJ2YWwgPSAwLjVfczsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNjMsNyAr
MTYzLDcgQEAgYm9vbCBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5OjpzY2hlZHVsZVVw
ZGF0ZU9uQ29tcG9zaXRvclRocmVhZChzdGQ6OmZ1bmMKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlRnVuY3Rpb24gPSBXVEZNb3ZlKHVwZGF0ZUZ1
bmN0aW9uKTsKLSAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90
KDApOworICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZVRpbWVyLT5zdGFydE9uZVNob3QoMF9z
KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAppbmRleCAwNTVlZjk5NTQ5ZTY5NDI2MjQx
MDNkODg4Y2JjNzU0ZDZmYjZkM2VjLi4wZGM2OTI1YTUxOTE5MTgxMzIyZDhiNmM1YzcwMDMxNTg0
MWM5OGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmNwcApAQCAtMTIwMCw3ICsxMjAwLDcgQEAgYm9vbCBDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXI6OmFkZEFuaW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVM
aXN0LAogCiAgICAgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkgLSBkZWxheUFzTmVnYXRpdmVUaW1lT2Zmc2V0OwogICAgIG1fYW5pbWF0aW9u
cy5hZGQoVGV4dHVyZU1hcHBlckFuaW1hdGlvbihrZXlmcmFtZXNOYW1lLCB2YWx1ZUxpc3QsIGJv
eFNpemUsICphbmltLCBsaXN0c01hdGNoLCBtX2xhc3RBbmltYXRpb25TdGFydFRpbWUsIDAsIFRl
eHR1cmVNYXBwZXJBbmltYXRpb246OkFuaW1hdGlvblN0YXRlOjpQbGF5aW5nKSk7Ci0gICAgbV9h
bmltYXRpb25TdGFydGVkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYW5pbWF0aW9uU3Rh
cnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIGRpZENoYW5nZUFuaW1hdGlvbnMoKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29v
cmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCmluZGV4IDNmNTY3M2U4ZmQ1MzY1ZjA4Y2ZkNjllZmMz
ZmFhZWM0MzIzMzZhNjEuLjZiODRiNjM0OWEwMGZkNmNhNWExOTYwZmZjODMwYjc4NzJiNGU4ZDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6
OnJlbGVhc2VTdXJmYWNlSWZOZWVkZWQoKQogICAgIG1fc3VyZmFjZSA9IG51bGxwdHI7CiB9CiAK
LXN0YXRpYyBjb25zdCBkb3VibGUgY2xlYXJDb250ZW50c1RpbWVySW50ZXJ2YWwgPSAzOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgY2xlYXJDb250ZW50c1RpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDMp
OwogCiB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjp1cGRhdGVWaXNpYmlsaXR5SWZOZWVk
ZWQoYm9vbCYgY2hhbmdlZFRvVmlzaWJsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCmluZGV4IDEzZTYzNTRiMDkyNjEzNGQ4N2Y5
ZmMwOWRmY2YxMjJhYzE5N2NkNWUuLmIyNGNmYTZhMWY1ODc2NDcxYTY1MGYwNmRlNmNiMTk2ZDQ4
NTc4OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmlt
YXRvckd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1h
dG9yR3RrLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Om92
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKCkKICAgICAgICAgc3RhdGljIGNvbnN0
IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFtZVJhdGU7CiAgICAgICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgbWluaW11bVRpbWVySW50ZXJ2YWwgPSAuMDAxOwogICAgICAgICBkb3VibGUgZGVsdGFU
b05leHRGcmFtZSA9IHN0ZDo6bWF4KHRpY2tUaW1lIC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpIC0gY3VycmVudFRpbWUpLCBtaW5pbXVtVGltZXJJbnRlcnZhbCk7Ci0gICAgICAgIG1f
b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkZWx0YVRvTmV4dEZy
YW1lKTsKKyAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVT
aG90KFNlY29uZHMoZGVsdGFUb05leHRGcmFtZSkpOwogICAgIH0gZWxzZQogICAgICAgICBoaWRl
T3ZlcmxheVNjcm9sbGJhcnMoKTsKIH0KQEAgLTIxMyw3ICsyMTMsNyBAQCB2b2lkIFNjcm9sbEFu
aW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMoKQogICAgIGlmIChtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25UYXJnZXQgIT0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVu
dCkgewogICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uRW5kVGltZSA9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSArIG92
ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkR1cmF0aW9uOwotICAgICAgICBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxzZQogICAg
ICAgICBoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKTsKIH0KQEAgLTIzMyw3ICsyMzMsNyBAQCB2b2lk
IFNjcm9sbEFuaW1hdG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKQogICAgICAgICByZXR1
cm47CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVs
YXk7CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSA9IG1fb3ZlcmxheVNj
cm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkR1
cmF0aW9uICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OwotICAgIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChvdmVyZmxvd1Njcm9sbGJh
cnNBbmltYXRpb25IaWRlRGVsYXkpOworICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVE
ZWxheSkpOwogfQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjptb3VzZUVudGVyZWRDb250ZW50
QXJlYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGls
ZUNhY2hlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5t
bQppbmRleCA2NmEyNmUxZTY4ZTNjNGQ1NzdhYjNlYjU2ODUxOGZhYzU4ZjU5NjllLi45YWMwNWZj
NTUxNGUxNjQ2MGNiYWM3YTQ0N2JiYTc4ZDIxYTcyOWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KQEAgLTQyMCw3ICs0MjAsNyBAQCB2b2lk
IExlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKGJvb2wgZGlkQ3JlYXRlVGls
ZXMsIGJvb2wgY3JlYXRlTW9yZQogCiAgICAgLy8gS2VlcCBjcmVhdGluZyB0aWxlcyB1bnRpbCB0
aGUgd2hvbGUgY292ZXJSZWN0IGlzIGNvdmVyZWQuCiAgICAgaWYgKGNyZWF0ZU1vcmUpCi0gICAg
ICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbGVD
cmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIExlZ2FjeVRpbGVDYWNo
ZTo6dGlsZUNyZWF0aW9uVGltZXJGaXJlZCgpCkBAIC03ODIsNyArNzgyLDcgQEAgdm9pZCBMZWdh
Y3lUaWxlQ2FjaGU6OnNldFNwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxlZChib29sIGVuYWJs
ZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFi
bGVkID0gZW5hYmxlZDsKICAgICBpZiAobV9pc1NwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxl
ZCkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgTGVnYWN5
VGlsZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1NmQ0MDYwN2Y1NjNhNmNlNTk4
ZTI5YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBmYzBmZmY2OGQ1M2Q0MzQ3YTA3
NGIxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJU
aGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVt
ZUlPUy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIHN1cHBvcnRz
Q29udHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgZG91
YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBh
dXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25z
UGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUyMGJlZjU0OGY1NDAyMDNhOWE2
YTNjNzc3ZDgxNmRhYTUwOTkwLi5mZTI5MDc3NWJkZTM4OTNjYTY5MTYwZjMyMzI3YjNjNWZmMjA3
M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhl
bWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1l
SU9TLm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJhclRoZW1lSU9TOjpzY3JvbGxi
YXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWRv
dWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1Nl
Y29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRo
ZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lSU9T
OjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBf
czsKIH0KICAgICAKIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgU2Nyb2xsYmFyVGhlbWVJT1M6
OmJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmlu
ZGV4IGNjNjJlM2E4ODRhZWYyOTUxOTdlMmJiNzZiYjBmYTdlYzMwNzBiYTEuLjQ2Y2MwMTBlYTYz
ODQ5MjIyZGMwOWExM2I5MWNiY2E1ZjFmZDQzYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW0KQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJvb2xTdHJpbmcoYm9v
bCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBEZWZhdWx0V2F0Y2hkb2dU
aW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRXYXRjaGRvZ1Rp
bWVySW50ZXJ2YWwgPSBTZWNvbmRzKDEpOwogCiBAY2xhc3MgV2ViQVZNZWRpYVNlbGVjdGlvbk9w
dGlvbjsKIApAQCAtOTg2LDcgKzk4Niw3IEBAIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2NyZWVuV2l0aFJlYXNvbihXZWJWaWRlb0Z1CiAgICAg
bV92aWRlb0Z1bGxzY3JlZW5Nb2RlbC0+cmVxdWVzdEZ1bGxzY3JlZW5Nb2RlKEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogCiAgICAgaWYgKCFtX3dhdGNo
ZG9nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hv
dChEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVy
LnN0YXJ0T25lU2hvdChkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsKIAogICAgIHJldHVy
biBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01l
bW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAppbmRleCA0MjFjNjE2MGY4ODkxMjQ2
NDc3M2Q0ZWEzZmNhZWQ0OTYzZDVhN2ZkLi5lOGRlYzVlNDVmYzNmOWRjMmVjYTI1ZTIxMmQ4MjMx
MjViM2UwYTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCkBAIC0yNjksNyArMjY5LDcgQEAg
dm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmhvbGRPZmZUaW1lckZpcmVkKCkKIAogdm9pZCBN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmhvbGRPZmYodW5zaWduZWQgc2Vjb25kcykKIHsKLSAgICBt
X2hvbGRPZmZUaW1lci5zdGFydE9uZVNob3Qoc2Vjb25kcyk7CisgICAgbV9ob2xkT2ZmVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoc2Vjb25kcykpOwogfQogCiBzdGF0aWMgc2l6ZV90IHByb2Nl
c3NNZW1vcnlVc2FnZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
QW5pbWF0b3JNYWMubW0KaW5kZXggYWM3ZjRmZDRhOTg0ZGMzMWRkZDRmYzgwYjE2OTM0MTUxOTAy
NTA5NS4uZjczZDc5Njg4ZTJiODAyNTQ2ZjI0MzU5ZmNjYmNhNTgyZDI2Y2ZlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTMz
OCw3ICsxMzM4LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHls
ZSgpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcigp
CiB7Ci0gICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4xKTsK
KyAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiB9
CiAKIGJvb2wgU2Nyb2xsQW5pbWF0b3JNYWM6OnNjcm9sbGJhclBhaW50VGltZXJJc0FjdGl2ZSgp
IGNvbnN0CkBAIC0xMzY0LDcgKzEzNjQsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzZW5k
Q29udGVudEFyZWFTY3JvbGxlZFNvb24oY29uc3QgRmxvYXRTaXplJiBkZWx0YSkKICAgICBtX2Nv
bnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhID0gZGVsdGE7CiAKICAgICBpZiAoIW1f
c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NlbmRD
b250ZW50QXJlYVNjcm9sbGVkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NlbmRD
b250ZW50QXJlYVNjcm9sbGVkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBpZiAobV93
aGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAgICAgICAgIG1fd2hlZWxFdmVudFRlc3RUcmlnZ2VyLT5k
ZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2Vy
OjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6
OkNvbnRlbnRTY3JvbGxJblByb2dyZXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKaW5kZXggYTcyODI5OGM4ZWJiNWM1NTU0N2Q2ZDNjYmQ4
ZDVlMTQ3NDBhNGU4Yy4uN2VhYTkxMWJiOTJiMDhmMDFiN2Q5OTI2NmQwMTNhNDc2YzdkZDViOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFj
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgK
QEAgLTQ4LDggKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQgdXNlc092ZXJsYXlTY3JvbGxiYXJz
Q2hhbmdlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgdXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxl
KFNjcm9sbGJhciYpICBvdmVycmlkZTsKIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBv
dmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJy
aWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKIAogICAg
IFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0IG92ZXJy
aWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFy
VGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVN
YWMubW0KaW5kZXggYjJlMTYxOGMwMzJmYjdjNjVmMWZlMTkxN2YyMDRlMjk2NzRjMzg5Zi4uNDM1
NDljYjU2MTk4M2Q1MzA3NDM5YzM2MjkzNjA0M2IxNjBiNWFkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQpAQCAtMTMwLDggKzEzMCw4
IEBAIHN0YXRpYyBjb25zdCBpbnQgY0J1dHRvbkxlbmd0aFtdID0geyAxNCwgMTAgfTsKIHN0YXRp
YyBjb25zdCBpbnQgY091dGVyQnV0dG9uTGVuZ3RoW10gPSB7IDE2LCAxNCB9OyAvLyBUaGUgb3V0
ZXIgYnV0dG9uIGluIGEgZG91YmxlIGJ1dHRvbiBwYWlyIGlzIGEgYml0IGJpZ2dlci4KIHN0YXRp
YyBjb25zdCBpbnQgY091dGVyQnV0dG9uT3ZlcmxhcCA9IDI7CiAKLXN0YXRpYyBmbG9hdCBnSW5p
dGlhbEJ1dHRvbkRlbGF5ID0gMC41ZjsKLXN0YXRpYyBmbG9hdCBnQXV0b3Njcm9sbEJ1dHRvbkRl
bGF5ID0gMC4wNWY7CitzdGF0aWMgU2Vjb25kcyBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41X3M7
CitzdGF0aWMgU2Vjb25kcyBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gMC4wNV9zOwogc3RhdGlj
IGJvb2wgZ0p1bXBPblRyYWNrQ2xpY2sgPSBmYWxzZTsKIHN0YXRpYyBib29sIGdVc2VzT3Zlcmxh
eVNjcm9sbGJhcnMgPSBmYWxzZTsKIApAQCAtMjM0LDggKzIzNCw4IEBAIHZvaWQgU2Nyb2xsYmFy
VGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmdlZCgpCiB7CiAgICAgTlNVc2VyRGVmYXVsdHMgKmRl
ZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKICAgICBbZGVm
YXVsdHMgc3luY2hyb25pemVdOwotICAgIGdJbml0aWFsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMg
ZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uRGVsYXkiXTsKLSAgICBnQXV0b3Njcm9sbEJ1
dHRvbkRlbGF5ID0gW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlv
ZCJdOworICAgIGdJbml0aWFsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZv
cktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdKTsKKyAgICBnQXV0b3Njcm9sbEJ1dHRvbkRl
bGF5ID0gU2Vjb25kcyhbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVy
aW9kIl0pOwogICAgIGdKdW1wT25UcmFja0NsaWNrID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6QCJB
cHBsZVNjcm9sbGVyUGFnaW5nQmVoYXZpb3IiXTsKICAgICB1c2VzT3ZlcmxheVNjcm9sbGJhcnND
aGFuZ2VkKCk7CiB9CkBAIC0yNzcsMTIgKzI3NywxMiBAQCB2b2lkIFNjcm9sbGJhclRoZW1lTWFj
Ojp1cGRhdGVTY3JvbGxiYXJPdmVybGF5U3R5bGUoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpCiAgICAg
RU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lTWFj
Ojppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZU1h
Yzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0luaXRpYWxC
dXR0b25EZWxheTsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lTWFjOjphdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lTWFjOjphdXRvc2Nyb2xsVGltZXJEZWxh
eSgpCiB7CiAgICAgcmV0dXJuIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNw
cAppbmRleCA5MjJhZDQzOTdhMDRjMDU1NjFjN2MxZDYwNjdhZGVjNTE1OWYyMzU0Li5iZjI3M2Jl
Zjk0YTg0YWM3MGQwYjQ0ZTFhMDI2OTZmMTQwMDIzOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5
LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjpzZXRNb3Rpb24oUGFzc1Jl
ZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBtb3Rpb24pCiB7CiAgICAgbV9tb3Rpb24gPSBtb3Rpb247
CiAgICAgaWYgKG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGll
bnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmNwcAppbmRleCBhZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhk
NjEwMWMyLi4yMWRmZWRkMzZhNTc1NDhkYTg2YTk1NTU2ZmRhYWIyMWMyMTBiYjg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50
TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2suY3BwCkBAIC01OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrOjpzZXRPcmllbnRhdGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9u
RGF0CiB7CiAgICAgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBk
YXRpbmcgJiYgIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRGV2
aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAppbmRleCBi
N2NmYjliZTA2ZGNiZmZjN2MxNmIzY2ZlNzQ2NTAxMzBmYTcwMGU1Li43NTRhODI1Y2FlNTQ0Nzll
MTRkZDFlMzAwYzQyY2QxMmUzZmM5ODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCkBAIC0xMDYsNyArMTA2LDcg
QEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlUGVybWlzc2lvbigpCiB7
CiAgICAgQVNTRVJUKG1fcGVybWlzc2lvblN0YXRlICE9IFBlcm1pc3Npb25TdGF0ZVVuc2V0KTsK
ICAgICBpZiAoIW1fcGVybWlzc2lvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVybWlz
c2lvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZXJtaXNzaW9uVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNz
aW9uVGltZXJGaXJlZCgpCkBAIC0xNjUsNyArMTY1LDcgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVu
dE1vY2s6OmFzeW5jVXBkYXRlQ29udHJvbGxlcigpCiB7CiAgICAgQVNTRVJUKG1fY29udHJvbGxl
cik7CiAgICAgaWYgKG1faXNBY3RpdmUgJiYgIW1fY29udHJvbGxlclRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fY29udHJvbGxlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9j
b250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25D
bGllbnRNb2NrOjpjb250cm9sbGVyVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2su
Y3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5NmI3YTk1ZTIxMDY2MDQ5NTEyZmUyZjI1NWIuLmE3NmJj
MjZmYTYwNGQwMzM4MWE1MzUzZmFiZWZkYTg1ZmU5OGIwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2suY3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGltZXJJbnRlcnZhbCA9
IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4xX3M7
CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyTW9jayhNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpDbGllbnQmIGNsaWVudCkKICAgICA6
IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcAppbmRleCA2MGJiMDE4MWFlOGNk
M2I3N2I4OWVkZjQ5YTM2NTM4NGYyZTBkZTU5Li5jODMxMGRmMTU0MWU1YTE1NzE2MDJmMzA1Mzgw
NTVkMTRmMjYxYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tNZWRpYUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tNZWRpYUVuZHBvaW50LmNwcApAQCAtMjQ1LDcgKzI0NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIg
dG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2Zh
a2VJY2VDYW5kaWRhdGVzLnJldmVyc2UoKTsKIAotICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQpA
QCAtMjU1LDcgKzI1NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRp
bWVyRmlyZWQoKQogCiAgICAgaWYgKCFtX2Zha2VJY2VDYW5kaWRhdGVzLmlzRW1wdHkoKSkgewog
ICAgICAgICBtX2NsaWVudC5nb3RJY2VDYW5kaWRhdGUobV9taWRzWzBdLCBtX2Zha2VJY2VDYW5k
aWRhdGVzLnRha2VMYXN0KCkpOwotICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
ICAgICB9IGVsc2UKICAgICAgICAgbV9jbGllbnQuZG9uZUdhdGhlcmluZ0NhbmRpZGF0ZXMobV9t
aWRzWzBdKTsKIH0KQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojpz
dGVwSWNlVHJhbnNwb3J0U3RhdGVzKCkKICAgICAvLyBSZXZlcnNlIG9yZGVyIHRvIHVzZSB0YWtl
TGFzdCgpIHdoaWxlIGtlZXBpbmcgdGhlIGFib3ZlIG9yZGVyCiAgICAgbV9pY2VUcmFuc3BvcnRT
dGF0ZUNoYW5nZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCkBAIC0z
MDUsNyArMzA1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJG
aXJlZCgpCiAgICAgYXV0byBzdGF0ZUNoYW5nZSA9IG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2Vz
LnRha2VMYXN0KCk7CiAgICAgbV9jbGllbnQuaWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKHN0YXRl
Q2hhbmdlLmZpcnN0LCBzdGF0ZUNoYW5nZS5zZWNvbmQpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNl
c0J5TWlkKCkKQEAgLTMyMCw3ICszMjAsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11
dGVSZW1vdGVTb3VyY2VzQnlNaWQoKQogICAgIGZvciAoaW50IGkgPSBtX21pZHMuc2l6ZSgpIC0g
MTsgaSA+PSAwOyAtLWkpCiAgICAgICAgIG1fbWlkc09mU291cmNlc1RvVW5tdXRlLmFwcGVuZCht
X21pZHNbaV0pOwogCi0gICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91
bm11dGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2lu
dDo6dW5tdXRlVGltZXJGaXJlZCgpCkBAIC0zMzAsNyArMzMwLDcgQEAgdm9pZCBNb2NrTWVkaWFF
bmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCgpCiAgICAgICAgIHNvdXJjZS0+c2V0TXV0ZWQoZmFs
c2UpOwogCiAgICAgaWYgKCFtX21pZHNPZlNvdXJjZXNUb1VubXV0ZS5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VubXV0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3Vy
Y2UuY3BwCmluZGV4IGVmOTcyNzZhNDQzNDJhYmM1Yzc1YWVhNGUzNjE3MTQ0MWI0Y2RjNmUuLjY0
YTM1YTZkMjdiY2U5NWM2NTliYzU5MWJlNTA5MDRiYTgxMzYwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3Bw
CkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0UHJv
ZHVjaW5nRGF0YSgpCiAgICAgfQogCiAgICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMobHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKTsKKyAgICBtX3RpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoKGxyb3VuZCgxMDAwIC8gZnJh
bWVSYXRlKCkpKSkpOwogfQogCiB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9wUHJv
ZHVjaW5nRGF0YSgpCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRlZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2UK
IGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSByYXRl
KQogewogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRS
ZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7
CisgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25k
cyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CiAKICAgICB1cGRhdGVTYW1wbGVCdWZmZXIoKTsKICAg
ICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKaW5kZXggZjNiYzcxYzBm
NzMzZDI4MzNlYzM0ODVlODk0OTQ0OGQzOGRkM2YxMS4uZDhhN2MwODk3Zjk4NWRmYzhjNWY3ZWE0
MWQ4MGM4NjU5M2YxMGYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKQEAgLTY4LDcg
KzY4LDcgQEAgdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWsoUmVmUHRy
PFBsYXRmb3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmMKICAgICBjbGllbnQoKS0+Ym91bmRhcnlF
dmVudE9jY3VycmVkKCptX3V0dGVyYW5jZSwgU3BlZWNoU2VudGVuY2VCb3VuZGFyeSwgbV91dHRl
cmFuY2UtPnRleHQoKS5sZW5ndGgoKSk7CiAKICAgICAvLyBHaXZlIHRoZSBmYWtlIHNwZWVjaCBq
b2Igc29tZSB0aW1lIHNvIHRoYXQgcGF1c2UgYW5kIG90aGVyIGZ1bmN0aW9ucyBoYXZlIHRpbWUg
dG8gYmUgY2FsbGVkLgotICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hvdCgu
MSk7CisgICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKIH0K
IAogdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXgg
ZGUwZThhOWZkNjU5NmIyZTJhYjczNzAzMDQ3ZGU1ZWQzN2ZmZWNhYy4uODYzZjlkNjViNzY5MDE2
ZDBkOTdjZDI2ODliMmQ0ZmY1NzY2MmFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGlj
OgogICAgICAgICAsIG1fdGltZXIoKnRoaXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAg
ICAgICAsIG1fbm90aWZpZXIobm90aWZpZXIpCiAgICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwLjUpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjVfcyk7CiAgICAg
fQogCiAgICAgdmlydHVhbCB+VGltZXJFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5kZXggNTg3NzNhYTMzMjkxY2E3
YTY4OTU3NTg2ZWU4MjAzYzZiYWMyY2ZmMy4uZTFjNDEwZWQxNTI1OGFjYWYzZjBjMzkxOWQ4NWEw
ODJhMDkyN2Q5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9E
TlNSZXNvbHZlUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
RE5TUmVzb2x2ZVF1ZXVlLmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBzdGF0aWMgY29uc3QgaW50IGdOYW1lc1RvUmVzb2x2ZUltbWVkaWF0ZWx5ID0gNDsKIAogLy8g
Q29hbGVzY2UgcHJlZmV0Y2ggcmVxdWVzdHMgZm9yIHRoaXMgbG9uZyBiZWZvcmUgc2VuZGluZyB0
aGVtIG91dC4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMgPSAx
LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjb2FsZXNjZURlbGF5ID0gMV9zOwogCiAvLyBTZW5k
aW5nIG1hbnkgRE5TIHJlcXVlc3RzIGF0IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlz
LiBTZWUgPHJkYXI6Ly84MTA1NTUwPiBmb3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZI
b3N0IHRocm90dGxpbmcuCiBzdGF0aWMgY29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0
cyA9IDg7CkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91
c1JlcXVlc3RzID0gODsKIHN0YXRpYyBjb25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0
OwogCiAvLyBJZiB0aGVyZSB3ZXJlIHF1ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJlIHNlbnQg
c2ltdWx0YW5lb3VzbHksIGNoZWNrIHRoZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBk
ZWxheS4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4x
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcmV0cnlSZXNvbHZpbmdEZWxheSA9IDAuMV9zOwogCiBE
TlNSZXNvbHZlUXVldWUmIEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEwMSw3
ICsxMDEsNyBAQCB2b2lkIEROU1Jlc29sdmVRdWV1ZTo6YWRkKGNvbnN0IFN0cmluZyYgaG9zdG5h
bWUpCiAgICAgaWYgKG1fbmFtZXMuc2l6ZSgpIDwgZ01heFJlcXVlc3RzVG9RdWV1ZSkgewogICAg
ICAgICBtX25hbWVzLmFkZChob3N0bmFtZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ0NvYWxlc2NlRGVsYXlJblNl
Y29uZHMpOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoY29hbGVzY2VEZWxheSk7
CiAgICAgfQogfQogCkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnRp
bWVyRmlyZWQoKQogICAgIH0KIAogICAgIGlmICghbV9uYW1lcy5pc0VtcHR5KCkpCi0gICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KGdSZXRyeVJlc29sdmluZ0luU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KHJldHJ5UmVzb2x2aW5nRGVsYXkpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0RhdGFVUkxEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
RGF0YVVSTERlY29kZXIuY3BwCmluZGV4IGFiZmI0NmNlY2Y4MjE0M2I5ZmZhY2QwMWJlNTc4NmE1
M2EwMDhlYzAuLjQ1Y2ExYzVjMzYyYjU0NWU4N2VkYzhjZGIzNWYyMjAyOGJjMjZkYjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3Bw
CkBAIC03OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJlZigpOwogCiAgICAgICAgIGF1
dG8gc2NoZWR1bGVkUGFpcnMgPSBtX2RlY29kZVRhc2stPnNjaGVkdWxlQ29udGV4dC5zY2hlZHVs
ZWRQYWlyczsKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1fdGltZXIuc2NoZWR1bGUoc2NoZWR1bGVk
UGFpcnMpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9QaW5nSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdI
YW5kbGUuaAppbmRleCBjZDlmMmJmOTYwMDYzZTcwM2Y4YzNmMGI4ZDAxMWYyYmI5Y2IxYmQxLi4x
YTBkNWNlNjIzYWRmOGEzNDA1M2Q2ZmFlOGQwZjc2MzkwMmJkMTdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJs
aWM6CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmpl
Y3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVy
b3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRP
bmVTaG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDEwMDBf
bWluKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDY0N2Y2MDQxOWJmY2QwZmVlNjM3NWQ5
ZDE4ODA3NjU5MmExZjkyMGMuLjAwYzBkMDI5Y2M2ZmMyYzFjY2E3OTdjOTkyODE0ZDA3MDQ3N2U3
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGUuY3BwCkBAIC0xMDUsNyArMTA1LDcgQEAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBSZXNv
dXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdAogdm9p
ZCBSZXNvdXJjZUhhbmRsZTo6c2NoZWR1bGVGYWlsdXJlKEZhaWx1cmVUeXBlIHR5cGUpCiB7CiAg
ICAgZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSA9IHR5cGU7Ci0gICAgZC0+bV9mYWlsdXJlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCgpCkBAIC0y
NTgsNyArMjU4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhib29s
IGRlZmVycykKICAgICAgICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0b3AoKTsKICAgICB9IGVs
c2UgaWYgKGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKSB7CiAgICAgICAg
IEFTU0VSVCghZC0+bV9mYWlsdXJlVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIGQtPm1fZmFp
bHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAgcGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGRl
ZmVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9O
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKaW5kZXggNTVhZGUyMThjMTM4ODhj
MGNjMjZlYmVjYjc5MjYzZGNhNzAwOTE2ZC4uZDRkOThkYTMxZjY1NzYxM2I1ZWQ4ZDZkYjIyZmY5
Yjc1YjAxZTQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9t
YWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcApAQCAtMzEsNyArMzEs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU3RhdGVD
aGFuZ2VUaW1lckludGVydmFsID0gMi4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RhdGVDaGFu
Z2VUaW1lckludGVydmFsID0gMl9zOwogCiB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjp1cGRh
dGVTdGF0ZSgpCiB7CkBAIC03OCw3ICs3OCw3IEBAIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6
OmR5bmFtaWNTdG9yZUNhbGxiYWNrKFNDRHluYW1pY1N0b3JlUmVmLCBDRkFycmF5UmVmLCB2CiAg
ICAgCiAgICAgLy8gQ2FsbGluZyB1cGRhdGVTdGF0ZSgpIGNvdWxkIGJlIGV4cGVuc2l2ZSBzbyB3
ZSBzY2hlZHVsZSBhIHRpbWVyIHRoYXQgd2lsbCBkbyBpdCAKICAgICAvLyB3aGVuIHRoaW5ncyBo
YXZlIGNvb2xlZCBkb3duLgotICAgIG5vdGlmaWVyLT5tX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVy
LnN0YXJ0T25lU2hvdChTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwpOworICAgIG5vdGlmaWVyLT5t
X25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdChzdGF0ZUNoYW5nZVRpbWVySW50
ZXJ2YWwpOwogfQogCiB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpuZXR3b3JrU3RhdGVDaGFu
Z2VUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9N
ZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAKaW5kZXggZmM4N2I3MDMyOTIzODcxNmQxYzYz
NTg3OGNlMDc5MmRiYjdkZmQzMi4uOWVhNDE3ZGQwMzBhMWNmNDlhZWY1NWRjNjRiZWFhYTRhZGM0
YWRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNz
dXJlSGFuZGxlcldpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9y
eVByZXNzdXJlSGFuZGxlcldpbi5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIE1lbW9yeVBy
ZXNzdXJlSGFuZGxlcjo6aW5zdGFsbCgpCiB7CiAgICAgbV9pbnN0YWxsZWQgPSB0cnVlOwogICAg
IG1lbUNoZWNrVGltZXIoKSA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hlY2tNZW1vcnlUaW1lcj4oKnRo
aXMpOwotICAgIG1lbUNoZWNrVGltZXIoKS0+c3RhcnRSZXBlYXRpbmcoNjAuMCk7CisgICAgbWVt
Q2hlY2tUaW1lcigpLT5zdGFydFJlcGVhdGluZygxX21pbik7CiB9CiAKIHZvaWQgTWVtb3J5UHJl
c3N1cmVIYW5kbGVyOjp1bmluc3RhbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IGExZmU4ZmNjMWM4OGYyNmUxNmE2
M2YxMmI2NDMyZDVhMGU4MWNlZDYuLjVmNWQwNzY1NzljMjEwNDA3YzBiY2ZjNmI1ODYyNzM5MGQ3
MjkyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5
Q29udHJvbGxlci5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIGNvbnN0IGRvdWJsZSBjSW50ZXJwb2xhdGlvbkN1dG9mZiA9IDgwMC4gKiA4MDAuOwot
c3RhdGljIGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8g
NTAwIG1zCitzdGF0aWMgY29uc3QgU2Vjb25kcyBsb3dRdWFsaXR5VGltZVRocmVzaG9sZCA9IDAu
NV9zOwogCiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyKGNv
bnN0IFJlbmRlclZpZXcmIHJlbmRlclZpZXcpCiAgICAgOiBtX3JlbmRlclZpZXcocmVuZGVyVmll
dykKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVh
bGl0eVJlcGFpbnRUaW1lckZpcmVkKCkKIAogdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpy
ZXN0YXJ0VGltZXIoKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNMb3dRdWFsaXR5VGlt
ZVRocmVzaG9sZCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QobG93UXVhbGl0eVRpbWVUaHJl
c2hvbGQpOwogfQogCiBzdGQ6Om9wdGlvbmFsPEludGVycG9sYXRpb25RdWFsaXR5PiBJbWFnZVF1
YWxpdHlDb250cm9sbGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHlsZShjb25zdCBSZW5k
ZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDYzYTVhNjkwYWMxMGFiMWY1YzliNGRlYzQ3ZWNlYWM1
YTAwNWY2M2UuLjcwNDMzMjk3MjYyZDc3NDQyZjdiYTFmZTg3NTc4MGM4ZmQ5ZGI1NWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
CkBAIC05MiwxMSArOTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBjYW52YXNBcmVhVGhyZXNob2xk
UmVxdWlyaW5nQ29tcG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRpZgogLy8gRHVyaW5nIHBhZ2Ug
bG9hZGluZyBkZWxheSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFueSBzZWNvbmRzIHRvIGFs
bG93IHRoZW0gY29hbGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgogI2lmIFBMQVRGT1JNKElPUykK
LXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41
Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjU7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gMC41
X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjVf
czsKICNlbHNlCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFs
RGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5
ID0gLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERl
bGF5ID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVs
YXkgPSAwLjVfczsKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtNjM0
LDcgKzYzNCw3IEBAIFJlbmRlckxheWVyQ29tcG9zaXRvciogUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjplbmNsb3NpbmdDb21wb3NpdG9yRmx1c2hpbmdMYXllcnMoCiB2b2lkIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKCkKIHsKICAgICBpZiAoIW1f
dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0
ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0
ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IDYwNTlkMjZk
MWRmY2ZiMzYxNWJiYmJlMTZjZmQyM2UyNWRkZmMxNTcuLmI3NDA5N2NmMjFlMWE4MjI1YTZhZWQ4
ZmQ5YTNiMmE5YTUyZTlhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNYXJxdWVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFy
cXVlZS5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnN0YXJ0KCkK
ICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7CiAgICAgfQogCi0gICAgbV90aW1lci5zdGFydFJl
cGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyhzcGVlZCgpKSk7CiB9CiAKIHZvaWQgUmVuZGVyTWFycXVl
ZTo6c3VzcGVuZCgpCkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRh
dGVNYXJxdWVlU3R5bGUoKQogICAgIGlmIChzcGVlZCgpICE9IG1hcnF1ZWVTcGVlZCgpKSB7CiAg
ICAgICAgIG1fc3BlZWQgPSBtYXJxdWVlU3BlZWQoKTsKICAgICAgICAgaWYgKG1fdGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAu
MDAxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhzcGVlZCgpKSk7CiAgICAgfQogICAgIAogICAgIC8vIENoZWNrIHRoZSBsb29w
IGNvdW50IHRvIHNlZSBpZiB3ZSBzaG91bGQgbm93IHN0b3AuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IDQ3NTA2YWNkMzNi
NzA3NDM1ZTU5ZTE2NWNjNjA3MDNmZTY0ZTQ2ZTYuLjg2OWFmNDJhMDk5ODI2NmViMGY2NWMzZjEw
Zjk3Mzg4MWE2MTU1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJOYW1lZEZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJOYW1lZEZsb3dUaHJlYWQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgdm9pZCBSZW5kZXJOYW1l
ZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQoKQog
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2hhbmdlUmVnaW9uT3ZlcnNldChkb2N1
bWVudCgpLCBuYW1lZEZsb3coKSk7CiAgICAgCiAgICAgaWYgKCFtX3JlZ2lvbk92ZXJzZXRDaGFu
Z2VFdmVudFRpbWVyLmlzQWN0aXZlKCkgJiYgbmFtZWRGbG93KCkuaGFzRXZlbnRMaXN0ZW5lcnMo
KSkKLSAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hh
bmdlRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJv
Z3Jlc3MuY3BwCmluZGV4IDlhMWYyNDBmYTVmOWFmZjg3MDFjMTM0OGNjYzU3ZDM2YWIzZTBiODQu
LjUxYTMwOGZiYTM3MGM0Nzk4OWM4YzVjZWFlMGIwODc3NDJjOWM3Y2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lk
IFJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKICAgICByZXBhaW50KCk7
CiAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV9hbmltYXRpbmcpCi0g
ICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0SW50
ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKG1f
YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBk
YXRlQW5pbWF0aW9uU3RhdGUoKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jl
c3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGluZzsK
ICAgICBpZiAobV9hbmltYXRpbmcpIHsKICAgICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUgPSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5z
dGFydE9uZVNob3QobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0
aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkp
OwogICAgIH0gZWxzZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKaW5kZXggZWQ0
OWJlZGNiZGI2MTVkMGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFiZDgyM2FhYTAxNDY1NmIx
MWFiNmQyNjE5ZGQxNmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAgcHVibGljOgogCiAgICAg
U2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9sbGJh
ciYgc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBTY3JvbGxiYXJQ
YXJ0IHByZXNzZWRQYXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUo
KS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwgcHJlc3NlZFBhcnQpOyB9
CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyBy
ZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KCk7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVy
biBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CisgICAg
U2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBT
Y3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQor
ICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3Jv
bGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAKICAgICB2b2lk
IHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJldHVy
biBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIpOyB9
CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVy
cmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJlZ2lzdGVyU2Nyb2xsYmFy
KHNjcm9sbGJhcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRl
eCAzN2IwNzQxODc4YTFiZDk4MzhlYzYyNTNkZWQwNzE5MTAwMWZjYzQ4Li5mMTk5MmFkY2Y0ZTdh
YmNiMjU0ZTdiYzlhYjNkZmM1MGM0N2ZlYTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1lcjo6
U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2VjdXJl
VGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVy
KQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRlckxh
c3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5mcmFtZSgpLnNl
dHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7CisgICAgc3RhcnRPbmVT
aG90KG1fcmVuZGVyZXIuZnJhbWUoKS5zZXR0aW5ncygpLnBhc3N3b3JkRWNob0R1cmF0aW9uKCkp
OwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4dFRpbWVyOjp0YWtlT2Zmc2V0QWZ0ZXJM
YXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApp
bmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAxMzhjZWY0MGVjODI4ZjljMmJlLi44OWY0YjljOWU0
OTRmZmRlZDU5M2QwY2UyNDA0YjBhZjIwMWJhNDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgi
CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5j
bHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNzUsNyAr
MTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ29sb3Jz
RGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBj
b25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVy
dmFsKCkgY29uc3QgeyByZXR1cm4gMC41X3M7IH0KIAogICAgIC8vIFN5c3RlbSBmb250cyBhbmQg
Y29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0ZW1Gb250KENTU1ZhbHVlSUQsIEZvbnRDYXNj
YWRlRGVzY3JpcHRpb24mKSBjb25zdDsKQEAgLTIwNCw4ICsyMDUsOCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xTdGF0dXNEaXNwbGF5KCkgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlhQ29udHJvbFZvbHVtZVNsaWRlcigpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1l
U2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgZG91YmxlIG1lZGlh
Q29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQotICAgIHZpcnR1YWwgZG91
YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0KKyAgICB2
aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgeyByZXR1cm4gMC4x
X3M7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigp
IHsgcmV0dXJuIDAuM19zOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9s
c1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFD
b250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29u
c3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmluZ1RpbWUo
ZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCA1NzRiYjE0NDkzNzMxOTc1ZDRjYjBjMjUyYjM5
ZWIyODcyMGQ5NDJkLi44YWNlMmZmMmUxMGQzYTA4NWRlMTdjZDM0ZWExMmQ3ZWZmNWMwN2JlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC0xNTEsNyArMTUxLDcg
QEAgdm9pZCBSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYgcmVuZGVy
ZXIpCiAgICAgcmVuZGVyZXIuc2V0UmVuZGVyQm94TmVlZHNMYXp5UmVwYWludCh0cnVlKTsKICAg
ICBtX3JlbmRlcmVyc05lZWRpbmdMYXp5UmVwYWludC5hZGQoJnJlbmRlcmVyKTsKICAgICBpZiAo
IW1fbGF6eVJlcGFpbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xhenlSZXBhaW50VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6dW5zY2hlZHVsZUxhenlSZXBhaW50KFJl
bmRlckJveCYgcmVuZGVyZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2Fw
dHVyaW5nSW5wdXRDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lu
cHV0Q3Vyc29yLmNwcAppbmRleCA5OTY0OWJmZTI5MDM2Njc2YWQ0OTY4YTM2ZGYxZjVjM2M2MmUw
ZWQ5Li41YjQzNDlmYTkzNGYzMmI0MTA5NWQ1YTBmODQ0OTY5MTRmODdmNTI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKQEAgLTU4LDExICs1
OCw4IEBAIHZvaWQgQ2FwdHVyaW5nSW5wdXRDdXJzb3I6OnN0b3JlSW5wdXQoc3RkOjp1bmlxdWVf
cHRyPE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+CiB7CiAgICAgQVNTRVJUX0FSRyhpbnB1dCwg
aW5wdXQpOwogCi0gICAgaWYgKGlucHV0LT5xdWV1ZSgpID09IElucHV0UXVldWU6OkV2ZW50TG9v
cElucHV0KSB7Ci0gICAgICAgIC8vIEZJWE1FOiByZXdyaXRlIHRoaXMgKGFuZCByZWxhdGVkIGRp
c3BhdGNoIGNvZGUpIHRvIHVzZSBzdGQ6OmNocm9uby4KLSAgICAgICAgZG91YmxlIG5vdyA9IG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAgICBtX3NlZ21lbnQtPmV2ZW50TG9v
cFRpbWluZ3MoKS5hcHBlbmQobm93KTsKLSAgICB9CisgICAgaWYgKGlucHV0LT5xdWV1ZSgpID09
IElucHV0UXVldWU6OkV2ZW50TG9vcElucHV0KQorICAgICAgICBtX3NlZ21lbnQtPmV2ZW50TG9v
cFRpbWluZ3MoKS5hcHBlbmQoTW9ub3RvbmljVGltZTo6bm93KCkpOwogCiAgICAgbV9zZWdtZW50
LT5zdG9yYWdlKCkuc3RvcmUoV1RGTW92ZShpbnB1dCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAppbmRleCA1MTAyOTNmYzE2
YzY0YWM5YjVmYjUxZTdiOThkMDkwZDhiNTEzNjY3Li5iMDdkMjZmZjg0ZjM4NzExZDM0NDM1YjQ2
YmViMGJiMWVmMzI1YmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmNwcApAQCAtNTEsOCArNTEsNiBAQCBFdmVudExvb3BJbnB1dERp
c3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcihQYWdlJiBwYWdlLCBSZXBsYXlpbmdJ
bnB1dEN1cgogICAgICwgbV90aW1lcigqdGhpcywgJkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6
dGltZXJGaXJlZCkKICAgICAsIG1fc3BlZWQoRGlzcGF0Y2hTcGVlZDo6RmFzdEZvcndhcmQpCiB7
Ci0gICAgbV9jdXJyZW50V29yay5pbnB1dCA9IG51bGxwdHI7Ci0gICAgbV9jdXJyZW50V29yay50
aW1lc3RhbXAgPSAwLjA7CiB9CiAKIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpydW4o
KQpAQCAtOTEsNyArODksNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dFNvb24oKQogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fdGlt
ZXIuc3RvcCgpOwogCi0gICAgZG91YmxlIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgU2Vjb25kcyB3
YWl0SW50ZXJ2YWw7CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpSZWFsVGlt
ZSkgewogICAgICAgICAvLyBUaGUgZ29hbCBpcyB0byByZXByb2R1Y2UgdGhlIGRpc3BhdGNoIGRl
bGF5IGJldHdlZW4gaW5wdXRzIGFzIGl0IHdhcwpAQCAtMTAyLDIyICsxMDAsMjIgQEAgdm9pZCBF
dmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICAgICAgaWYg
KCFtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXApCiAgICAgICAgICAgICBtX3ByZXZpb3VzSW5wdXRU
aW1lc3RhbXAgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsKIAotICAgICAgICBkb3VibGUgdGFy
Z2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJbnB1dFRp
bWVzdGFtcDsKLSAgICAgICAgZG91YmxlIGVsYXBzZWQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKKyAgICAgICAgU2Vjb25kcyB0
YXJnZXRJbnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0
VGltZXN0YW1wOworICAgICAgICBTZWNvbmRzIGVsYXBzZWQgPSBNb25vdG9uaWNUaW1lOjpub3co
KSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAgICAgICAgd2FpdEludGVydmFsID0g
dGFyZ2V0SW50ZXJ2YWwgLSBlbGFwc2VkOwogICAgIH0KIAogICAgIC8vIEEgbmVnYXRpdmUgd2Fp
dCB0aW1lIG1lYW5zIHRoYXQgZGlzcGF0Y2ggdG9vayBsb25nZXIgb24gcmVwbGF5IHRoYW4gb24K
ICAgICAvLyBjYXB0dXJlLiBJbiB0aGlzIGNhc2UsIHByb2NlZWQgd2l0aG91dCB3YWl0aW5nIGF0
IGFsbC4KLSAgICBpZiAod2FpdEludGVydmFsIDwgMCkKLSAgICAgICAgd2FpdEludGVydmFsID0g
MDsKKyAgICBpZiAod2FpdEludGVydmFsIDwgMF9zKQorICAgICAgICB3YWl0SW50ZXJ2YWwgPSAw
X3M7CiAKLSAgICBpZiAod2FpdEludGVydmFsID4gMTAwMC4wKSB7CisgICAgaWYgKHdhaXRJbnRl
cnZhbCA+IDEwMDBfcykgewogICAgICAgICBMT0dfRVJST1IoIiUtMjBzIFRyaWVkIHRvIHdhaXQg
Zm9yIG92ZXIgMTAwMCBzZWNvbmRzIGJlZm9yZSBkaXNwYXRjaGluZyBuZXh0IGV2ZW50IGxvb3Ag
aW5wdXQ7IHRoaXMgaXMgcHJvYmFibHkgYSBidWcuIiwgIlJlcGxheUV2ZW50cyIpOwotICAgICAg
ICB3YWl0SW50ZXJ2YWwgPSAwOworICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwX3M7CiAgICAgfQog
Ci0gICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlUOiAlLjNmIG1zKSIsICJSZXBsYXlFdmVu
dHMiLCB3YWl0SW50ZXJ2YWwgKiAxMDAwLjApOworICAgIExPRyhXZWJSZXBsYXksICIlLTIwcyAo
V0FJVDogJS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwgU2Vjb25kcyh3YWl0SW50ZXJ2YWwgKiAx
MDAwLjApLm1pbGxpc2Vjb25kcygpKTsKICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCh3YWl0SW50
ZXJ2YWwpOwogfQogCkBAIC0xMjcsNyArMTI1LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3Bh
dGNoZXI6OmRpc3BhdGNoSW5wdXQoKQogICAgIEFTU0VSVCghbV9kaXNwYXRjaGluZyk7CiAKICAg
ICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpSZWFsVGltZSkgewotICAgICAgICBtX3By
ZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
KyAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCA9IG1fY3VycmVudFdvcmsudGlt
ZXN0YW1wOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElu
cHV0RGlzcGF0Y2hlci5oCmluZGV4IDIwNjdlNzhkNDNmMjVhNWQyNWU0YzNmOWE1MjMyMzViMGM3
OTVmMzQuLjU5MzJiNDJiNmQ0MmMzODIwOTRlNTQ4MTQzNjBmMGRhYjZiNDQwZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKQEAgLTMy
LDYgKzMyLDcgQEAKICNpbmNsdWRlICJFdmVudExvb3BJbnB1dC5oIgogI2luY2x1ZGUgIlJlcGxh
eWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvTW9u
b3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC04Niw5ICs4Nyw5IEBAIHByaXZhdGU6CiAKICAgICBE
aXNwYXRjaFNwZWVkIG1fc3BlZWQ7CiAgICAgLy8gVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGxhc3Qg
aW5wdXQgZGlzcGF0Y2goKSBtZXRob2Qgd2FzIGNhbGxlZC4KLSAgICBkb3VibGUgbV9wcmV2aW91
c0Rpc3BhdGNoU3RhcnRUaW1lIHswLjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0Rp
c3BhdGNoU3RhcnRUaW1lOwogICAgIC8vIFRoZSB0aW1lc3RhbXAgc3BlY2lmaWVkIGJ5IHRoZSBs
YXN0IGRpc3BhdGNoZWQgaW5wdXQuCi0gICAgZG91YmxlIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFt
cCB7MC4wfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
cGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVw
bGF5U2Vzc2lvblNlZ21lbnQuY3BwCmluZGV4IGYxOGRkZjQxZmNkYzA0NDZlZTQwMDhiODFiMzli
ZjZjNGE2NTE2MmEuLjI4MTFlNzRiZjAzZjc4NGMzMTZjY2Q5MWZiZTAwODQ4OWUzMWYzOTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcApAQCAt
NDcsOCArNDcsOCBAQCBSZWY8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IFJlcGxheVNlc3Npb25TZWdt
ZW50OjpjcmVhdGUoKQogCiBSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21l
bnQoKQogICAgIDogbV9zdG9yYWdlKHN0ZDo6bWFrZV91bmlxdWU8U2VnbWVudGVkSW5wdXRTdG9y
YWdlPigpKQorICAgICwgbV90aW1lc3RhbXAoTW9ub3RvbmljVGltZTo6bm93KCkpCiAgICAgLCBt
X2lkZW50aWZpZXIoc19uZXh0U2VnbWVudElkZW50aWZpZXIrKykKLSAgICAsIG1fdGltZXN0YW1w
KGN1cnJlbnRUaW1lTVMoKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVw
bGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5
U2Vzc2lvblNlZ21lbnQuaAppbmRleCBkNTYyYjUzYzA0NDg0MTNmNDYzMjk5N2NhMTlmOTQ4ZGUy
M2EyZDljLi5mNzY3NDJjNjU4ZWRjMDEyMzJjZTMzYmZlZjc5NGYzNTMzNjQ1N2QzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaApAQCAtMzAsNiArMzAs
NyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01MSwyMCArNTIsMjEgQEAgcHVibGlj
OgogICAgIH5SZXBsYXlTZXNzaW9uU2VnbWVudCgpOwogCiAgICAgdW5zaWduZWQgaWRlbnRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQotICAgIGRvdWJsZSB0aW1lc3RhbXAo
KSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorICAgIE1vbm90b25pY1RpbWUgdGltZXN0
YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KKwogcHJvdGVjdGVkOgogICAgIFNl
Z21lbnRlZElucHV0U3RvcmFnZSYgc3RvcmFnZSgpIHsgcmV0dXJuICptX3N0b3JhZ2U7IH0KLSAg
ICBWZWN0b3I8ZG91YmxlLCAwPiYgZXZlbnRMb29wVGltaW5ncygpIHsgcmV0dXJuIG1fZXZlbnRM
b29wVGltaW5nczsgfQorICAgIFZlY3RvcjxNb25vdG9uaWNUaW1lLCAwPiYgZXZlbnRMb29wVGlt
aW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29wVGltaW5nczsgfQogCiBwcml2YXRlOgogICAgIFJl
cGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2VnbWVudGVkSW5w
dXRTdG9yYWdlPiBtX3N0b3JhZ2U7Ci0gICAgVmVjdG9yPGRvdWJsZSwgMD4gbV9ldmVudExvb3BU
aW1pbmdzOworICAgIFZlY3RvcjxNb25vdG9uaWNUaW1lLCAwPiBtX2V2ZW50TG9vcFRpbWluZ3M7
CiAKKyAgICBNb25vdG9uaWNUaW1lIG1fdGltZXN0YW1wOwogICAgIHVuc2lnbmVkIG1faWRlbnRp
ZmllcjsKICAgICBib29sIG1fY2FuQ2FwdHVyZSB7dHJ1ZX07Ci0gICAgZG91YmxlIG1fdGltZXN0
YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAppbmRleCA3N2MzYjk0MjBjOGZhZDQ0ZGU1M2JjMDE1
MmRiZTk3NmJkZDZiNjkyLi4wZmVkMTA5MjgxMDdiM2U4NGJhZTk1ZWMyMzc3ZTBkYzc3OTUxYmI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaApAQCAt
MzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSA8cmVwbGF5
L0lucHV0Q3Vyc29yLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDggKzQyLDggQEAg
Y2xhc3MgUGFnZTsKIGNsYXNzIFJlcGxheVNlc3Npb25TZWdtZW50OwogCiBzdHJ1Y3QgRXZlbnRM
b29wSW5wdXREYXRhIHsKLSAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0OwotICAgIGRvdWJs
ZSB0aW1lc3RhbXA7CisgICAgRXZlbnRMb29wSW5wdXRCYXNlKiBpbnB1dCB7IG51bGxwdHIgfTsK
KyAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcDsKIH07CiAKIGNsYXNzIFJlcGxheWluZ0lucHV0
Q3Vyc29yIGZpbmFsIDogcHVibGljIElucHV0Q3Vyc29yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVT
Y29wZS5jcHAKaW5kZXggODIyNzBhZGQwZjJmMGNmM2VjZGQ3NjU0OGUwNWMxNDE4MjBiODVlNi4u
MzA4MGQ2YThiMTZiZjg3MTQxOGE3Zjg4N2I3MWVhODE4MjE5NGY1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVTY29wZS5jcHAKQEAgLTUwNyw3ICs1MDcsNyBAQCB2b2lkIFNjb3BlOjpzY2hlZHVs
ZVVwZGF0ZShVcGRhdGVUeXBlIHVwZGF0ZSkKIAogICAgIGlmIChtX3BlbmRpbmdVcGRhdGVUaW1l
ci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wZW5kaW5nVXBkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VBY3RpdmVTdHlsZVNoZWV0Q2FuZGlkYXRl
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5kZXggZjA0MTVmY2EzMGY5Y2U0YzQxMDJm
YTU4ZDdiMzUyZmFmZjg1ZWMzYy4uNDE5NjJhYTczYjY1ZDliZTYyODE2OTg4MDI1MTkyMWU3OGE5
OThhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNjIxLDcgKzYyMSw3IEBAIHZv
aWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBzZW5kUGFyZW50
TG9hZEV2ZW50cykKIAogdm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJs
ZUFzeW5jaHJvbm91c2x5KCkKIHsKLSAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9uZVNo
b3QoMCk7CisgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgU1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCmluZGV4IGNiZjNi
N2JhNTg0ODUwNzczN2U5NzVjZGQwYTgxOTJkMzM1ZmJmNTAuLjc1M2U0MDE0YmNjMjEyY2IzMDhk
OGQ2NjdjZmZlYmZkMTNjNDQ1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmlt
YXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmlt
YXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCkBAIC0yMDUsNyArMjA1LDcgQEAgdm9pZCBTTUlM
VGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcihTTUlMVGltZSBlbGFwc2VkLCBTTUlMVGltZSBmaXJl
VGltZSwgU01JTFRpbWUKICAgICAgICAgcmV0dXJuOwogCiAgICAgU01JTFRpbWUgZGVsYXkgPSBz
dGQ6Om1heChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmltdW1EZWxheSk7Ci0gICAgbV90aW1lci5z
dGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vj
b25kcyhkZWxheS52YWx1ZSgpKSk7CiB9CiAKIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5k
ZXggNjExYzkyYjhmYjM0NTFjZmM2Y2Y5NmM4ZWQzN2U3ODVhMzJkOTdmOC4uNTQzYzNmNGRhZGU4
OTUzOGQ4Yjc2MjUwYzhhZTU4ZDUyZWY2YmY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC01MzYsNyArNTM2LDcgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVy
dmFsSW5TZWMKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVy
SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kczo6cmVwKShpbnRlcnZhbEluU2Vjb25kcyAqIDEwMDApKSk7CisgICAgc2V0dGluZ3MoKS5z
ZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGludGVydmFsSW5TZWNvbmRzKSk7CiAg
ICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNTYwLDcgKzU2MCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+
IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
TlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOworICAgIHNldHRpbmdzKCkuc2V0VGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoU2Vjb25kcyh0aW1lKSk7
CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuaAppbmRleCA1YTRmNmU0ZGFkNDg1Y2I1YWYzMTI3ZGVmODA3OGRjNzc2MWMxOTQwLi44
NDU5OGEyYTViMDRkMjY5MTI0MjZhOTBlNTMzY2I5MWMxNzgxZWE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTQzLDcgKzE0Myw3IEBAIHByaXZhdGU6
CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZDsK
ICAgICAgICAgYm9vbCBtX2ltYWdlc0VuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9wcmVmZXJNSU1F
VHlwZUZvckltYWdlczsKLSAgICAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX21pbmlt
dW1UaW1lckludGVydmFsOworICAgICAgICBTZWNvbmRzIG1fbWluaW11bVRpbWVySW50ZXJ2YWw7
CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBib29sIG1fc2hvdWxkRGlzcGxheVN1
YnRpdGxlczsKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlDYXB0aW9uczsKQEAgLTE1MSw3
ICsxNTEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAgIFN0cmluZyBtX2RlZmF1bHRWaWRl
b1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5OwotICAg
ICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVt
ZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CiAgICAgICAgIGJvb2wgbV91c2VMZWdhY3lCYWNrZ3Jv
dW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yOwogICAgICAgICBib29sIG1fYXV0b3Njcm9sbEZvckRy
YWdBbmREcm9wRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3F1aWNrVGltZVBsdWdpblJlcGxhY2Vt
ZW50RW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5j
cHAKaW5kZXggZWQyZmVkYTJkZGM0MzA2NDdjYjI4M2EwZDlmZjE5ODc1YzRhYTIzZi4uYzcxOTRl
ZGVhYjNhNzg3ZmNlZjQ2NTE2YTdhYWNiNTFiMDQ4ZTJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFdv
cmtlckdsb2JhbFNjb3BlOjpwb3N0VGFzayhUYXNrJiYgdGFzaykKIAogaW50IFdvcmtlckdsb2Jh
bFNjb3BlOjpzZXRUaW1lb3V0KHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlv
biwgaW50IHRpbWVvdXQpCiB7Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBX
VEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUp
OworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBXb3Jr
ZXJHbG9iYWxTY29wZTo6Y2xlYXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCkBAIC0xOTcsNyArMTk3
LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJUaW1lb3V0KGludCB0aW1lb3V0SWQp
CiAKIGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRyPFNj
aGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKIHsKLSAgICByZXR1cm4gRE9NVGlt
ZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyh0aW1lb3V0KSwgZmFsc2UpOworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhp
cywgV1RGTW92ZShhY3Rpb24pLCBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBm
YWxzZSk7CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFySW50ZXJ2YWwoaW50IHRp
bWVvdXRJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDBjYTczODll
YmEyN2Y5YzdiOWFhZGZlN2Q1ZTUyNDFiZTEwNzc3MmYuLmM2MTI5N2Y2Y2IxMDk1MTA0N2U5MDUw
ZWU4MTAyYmVmZDUxZmVmNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApA
QCAtMjQ1LDggKzI0NSw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpzZXRU
aW1lb3V0KHVuc2lnbmVkIHRpbWVvdXQpCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICAvLyBJ
ZiB0aW1lb3V0IGlzIHplcm8sIHdlIHNob3VsZCB1c2UgdGhlIGRlZmF1bHQgbmV0d29yayB0aW1l
b3V0LiBCdXQgd2UgZGlzYWJsZWQgaXQgc28gbGV0J3MgbWltaWMgaXQgd2l0aCBhIDYwIHNlY29u
ZHMgdGltZW91dCB2YWx1ZS4KLSAgICBzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPiBpbnRl
cnZhbCA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29uZHMg
PyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCB9IC0gKHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6Om5vdygpIC0gbV9zZW5kaW5nVGltZSk7Ci0gICAgbV90aW1lb3V0VGltZXIuc3RhcnRP
bmVTaG90KHN0ZDo6bWF4KDAuMCwgaW50ZXJ2YWwuY291bnQoKSkpOworICAgIFNlY29uZHMgaW50
ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcyA/
IG1fdGltZW91dE1pbGxpc2Vjb25kcyA6IDYwMDAwKSAtIChNb25vdG9uaWNUaW1lOjpub3coKSAt
IG1fc2VuZGluZ1RpbWUpOworICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1h
eCgwX3MsIGludGVydmFsKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNDk2LDcgKzQ5Niw3
IEBAIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uT3I8dm9pZD4+IFhNTEh0dHBSZXF1ZXN0OjpwcmVw
YXJlVG9TZW5kKCkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb25Pcjx2b2lkPiB7IEV4Y2Vw
dGlvbiB7IE5FVFdPUktfRVJSIH0gfTsKICAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMp
OwogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1fbmV0d29ya0Vycm9y
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9pZD4geyB9OwogICAg
IH0KIApAQCAtNjc1LDggKzY3NSw4IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0
OjpjcmVhdGVSZXF1ZXN0KCkKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFs
KG1fdGltZW91dE1pbGxpc2Vjb25kcyAvIDEwMDAuMCk7CiAgICAgICAgIGVsc2UgewogICAgICAg
ICAgICAgcmVxdWVzdC5zZXRUaW1lb3V0SW50ZXJ2YWwoc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjppbmZpbml0eSgpKTsKLSAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKLSAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0
T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlzZWNvbmRz
IH0pOworICAgICAgICAgICAgbV9zZW5kaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwor
ICAgICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHMobV90aW1lb3V0TWlsbGlzZWNvbmRzKSk7CiAgICAgICAgIH0KICAgICB9CiAKQEAg
LTk2MCw3ICs5NjAsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpkaWRGYWlsKGNvbnN0IFJlc291
cmNlRXJyb3ImIGVycm9yKQogICAgICAgICBtX3NlbmRGbGFnID0gZmFsc2U7CiAgICAgICAgIHNl
dFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwot
ICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9u
ZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBtX2V4Y2VwdGlvbkNvZGUgPSBORVRXT1JLX0VSUjsKQEAgLTExODMsNyArMTE4Myw3
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSgpCiAgICAgLy8gV2UgYXJlIG5vdCBhbGxv
d2VkIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IEpTIGluIHJlc3VtZSgpIHNvIGRpc3BhdGNoCiAgICAg
Ly8gdGhlIGVycm9yIGV2ZW50IGluIGEgdGltZXIuCiAgICAgaWYgKG1fZGlzcGF0Y2hFcnJvck9u
UmVzdW1pbmcgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnJlc3VtZVRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCAwNGFiYzA5ZGQ3ZjZiYjhiOGE5NWE1MjQx
MjdjMTQ2OGNmZGFjMjcxLi4yZjg4ZjU5NzQ3NjA0NjZkZTYwYmE5NjI0MGEyMmM5ZDBjYWY4YzU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMjMwLDcgKzIzMCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBuZXR3b3JrRXJyb3JUaW1lckZpcmVkKCk7CiAKICAgICB1bnNpZ25l
ZCBtX3RpbWVvdXRNaWxsaXNlY29uZHMgeyAwIH07Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9j
bG9jazo6dGltZV9wb2ludCBtX3NlbmRpbmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9zZW5k
aW5nVGltZTsKICAgICBUaW1lciBtX3RpbWVvdXRUaW1lcjsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwCmluZGV4IDM2NjYyNjU2YjUxYmY4YzllOWYyMjViY2IwNjc2ZTYwZjQ2MzA4NzMuLmU0Yzk5
NTUxMDQwNjEzMjczYWRmZTE3NTgzYjhhMDdmMmZkN2QyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNw
cApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJs
ZSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZl
bnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzID0gLjA1OyAvLyA1MCBtcyBwZXIgc3BlY2lm
aWNhdGlvbi4KK2NvbnN0IFNlY29uZHMgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGU6Om1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCA9IDUwX21zOyAvLyA1
MCBtcyBwZXIgc3BlY2lmaWNhdGlvbi4KIAogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlKEV2ZW50VGFyZ2V0KiB0
YXJnZXQpCiAgICAgOiBtX3RhcmdldCh0YXJnZXQpCkBAIC03MywxMiArNzMsMTIgQEAgdm9pZCBY
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0Y2hUaHJvdHRsZWRQcm9n
cmVzc0V2ZW50KGJvb2wgbGUKICAgICAgICAgQVNTRVJUKCFtX2hhc1Rocm90dGxlZFByb2dyZXNz
RXZlbnQpOwogCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnByb2dyZXNzRXZlbnQsIGxlbmd0aENvbXB1dGFibGUs
IGxvYWRlZCwgdG90YWwpKTsKLSAgICAgICAgc3RhcnRSZXBlYXRpbmcobWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgc3RhcnRSZXBlYXRp
bmcobWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsKTsKICAgICAgICAgbV9o
YXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gZmFsc2U7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUgc28gbWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzIGlzIHRoZSBsZWFzdCBmcmVxdWVudCBl
dmVudC4KKyAgICAvLyBUaGUgdGltZXIgaXMgYWxyZWFkeSBhY3RpdmUgc28gbWluaW11bVByb2dy
ZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsIGlzIHRoZSBsZWFzdCBmcmVxdWVudCBldmVudC4K
ICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSB0cnVlOwogfQogCkBAIC0yMDgsNyAr
MjA4LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6cmVzdW1l
KCkKICAgICAvLyB0aGUgbGlzdCBvZiBhY3RpdmUgRE9NIG9iamVjdHMgdG8gcmVzdW1lIHRoZW0s
IGFuZCBhbnkgYWN0aXZhdGVkIEpTIGV2ZW50LWhhbmRsZXIKICAgICAvLyBjb3VsZCBpbnNlcnQg
bmV3IGFjdGl2ZSBET00gb2JqZWN0cyB0byB0aGUgbGlzdC4KICAgICAvLyBtX2RlZmVyRXZlbnRz
IGlzIGtlcHQgdHJ1ZSB1bnRpbCBhbGwgZGVmZXJyZWQgZXZlbnRzIGhhdmUgYmVlbiBkaXNwYXRj
aGVkLgotICAgIG1fZGlzcGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmggYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAppbmRleCA5NzFiZDIzNDJj
MDU2YjExNThiNDAxOWZiMmIzYWEyNTAzNDg0YThkLi4zNDBmYjVjMDBkMTczZmI2MTYxYTc0ZTQx
NWEwMTJiYWVmYjRmNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXN1bWUoKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0aWMgY29uc3QgZG91
YmxlIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kczsKKyAg
ICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50
ZXJ2YWw7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKTsKICAgICB2b2lkIGRpc3BhdGNoRGVm
ZXJyZWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdl
QXJlYVN5bmMuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAK
aW5kZXggYWMwZGNjMTI1Njk0ZGFkNGM0YjkyMjg3YTAzMWVmYTA5MzU0ZWExOS4uYWZmOTViYmEz
NWVkYzM5Njk3Y2IwZTk5ZGUwN2YyNWI0NzhmMDkyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdl
L1N0b3JhZ2VBcmVhU3luYy5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAKIC8vIElmIHRoZSBTdG9yYWdlQXJlYSB1bmRlcmdvZXMgcmFwaWQgY2hhbmdlcywgZG9uJ3Qg
c3luYyBlYWNoIGNoYW5nZSB0byBkaXNrLgogLy8gSW5zdGVhZCwgcXVldWUgdXAgYSBiYXRjaCBv
ZiBpdGVtcyB0byBzeW5jIGFuZCBhY3R1YWxseSBkbyB0aGUgc3luYyBhdCB0aGUgZm9sbG93aW5n
IGludGVydmFsLgotc3RhdGljIGNvbnN0IGRvdWJsZSBTdG9yYWdlU3luY0ludGVydmFsID0gMS4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RvcmFnZVN5bmNJbnRlcnZhbCA9IFNlY29uZHMoMSk7
CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBz
eW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZl
IHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdl
bmVyYWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxl
SXRlbUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUKIAogICAg
IG1fY2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5j
SW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJ
bnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUg
Y2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1Rp
bWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5
bmM6OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9p
dGVtc0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewot
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7Cisg
ICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAog
ICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJs
ZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5j
dGlvbi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsKICAgICAKICAg
ICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3Rh
cnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFy
dE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICAvLyBUaGUg
Zm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0
aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3
ICsxNzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgICAg
ICAvLyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwgc2NoZWR1bGUg
aXQgYW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9maW5hbFN5bmNT
Y2hlZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7
Ci0gICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZh
bCk7CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3
IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRp
YWxTeW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2luZywgdGhlbiB3
ZSBuZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQoIW1fc3luY1Rp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFn
ZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdl
U3luY0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGJhbGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhl
CiAgICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hl
ZHVsZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFj
a2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi44
YmZmYjQ0ZGU2NDY4ZTczYjhhNzg5MDJiNDJkYWFmOWZjYTQ3YzBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIFN0b3Jh
Z2VUcmFja2VyKiBzdG9yYWdlVHJhY2tlciA9IG51bGxwdHI7CiAKIC8vIElmIHRoZXJlIGlzIG5v
IGRvY3VtZW50IHJlZmVyZW5jaW5nIGEgc3RvcmFnZSBkYXRhYmFzZSwgY2xvc2UgdGhlIHVuZGVy
bHlpbmcgZGF0YWJhc2UKIC8vIGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fU3RvcmFnZURh
dGFiYXNlSWRsZUludGVydmFsIHNlY29uZHMuCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRT
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBk
ZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gMzAwX3M7CiAgICAgCiB2b2lkIFN0
b3JhZ2VUcmFja2VyOjppbml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRo
LCBTdG9yYWdlVHJhY2tlckNsaWVudCogY2xpZW50KQogewpAQCAtOTcsNyArOTcsNyBAQCBTdG9y
YWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCkKICAg
ICAsIG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlxdWU8U3RvcmFnZVRocmVhZD4oKSkKICAgICAsIG1f
aXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX25lZWRzSW5pdGlhbGl6YXRpb24oZmFsc2UpCi0gICAg
LCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRs
ZUludGVydmFsKQorICAgICwgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoZGVmYXVsdFN0
b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBkMjJlOWEzOWY5YjhjMDg5MzdmNTk0ZThmYTNiZGFj
YTg4Li43MjZmMzI1MWIxZDFlZWY2YzFhYWYxMTI2MWMwZDI5OTdiNTkxNGQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgYm9vbCBpc0FjdGl2ZSgpOwogCi0gICAgZG91YmxlIHN0b3JhZ2VEYXRhYmFzZUlk
bGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9Ci0g
ICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKSB7
IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRz
IHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fc3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsOyB9CisgICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwo
U2Vjb25kcyBpbnRlcnZhbCkgeyBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVy
dmFsOyB9CiAKICAgICB2b2lkIHN5bmNGaWxlU3lzdGVtQW5kVHJhY2tlckRhdGFiYXNlKCk7CiAK
QEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIAogICAgIGJvb2wgbV9pc0FjdGl2ZTsK
ICAgICBib29sIG1fbmVlZHNJbml0aWFsaXphdGlvbjsKLSAgICBkb3VibGUgbV9TdG9yYWdlRGF0
YWJhc2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAK
aW5kZXggMTFiY2UzYmVlMGUwYmExZDcwMmY3MmM2NjQ1M2NjMmEyYmRlYjdmNi4uYTZjZjg0ZmMx
OTUyNTk2M2Q0NmQyYmFjOTU3YWZhMmIzZmE4YTFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAt
Mjg2LDcgKzI4Niw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXN1bWVQZW5k
aW5nUmVxdWVzdHMoKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2Vy
dmVQZW5kaW5nUmVxdWVzdHMoKQogewogICAgIGlmICghbV9yZXF1ZXN0VGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jl
cXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI6OnJlcXVlc3RUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5t
bQppbmRleCBiOWFiOGEwZGRkY2M3NjQ3ZGE3ODYzMzk4NDIzMjdjYTVjN2E5N2E5Li4wNmU5ZWQ2
YzU3ZGI1NDcyMjdhZjQyYzVhMmYwNWFmZGFjZGVlZTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5Lm1tCkBAIC03NDQsNyArNzQ0LDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKCkKICAgICBtX3BsdWdpblJlcXVlc3RzLnJlbW92ZUZp
cnN0KCk7CiAgICAgCiAgICAgaWYgKCFtX3BsdWdpblJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAg
ICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAKICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0Lmdl
dCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBAQCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFu
Y2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAg
ICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0
SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQb3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVl
c3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJlcXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKICAgICB9IGVsc2UgewogICAgICAgICBSZWZQdHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5T
dHJlYW0+IHN0cmVhbSA9IEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtOjpjcmVhdGUodGhpcywg
cmVxdWVzdElELCByZXF1ZXN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KaW5kZXggMDVjYzRkNDcyZGE4NjEwYTM0YmE1
YmRiZWM4YTE2M2U0YWQzOGI5NC4uZGIwYzAwZmU3YWM1ZGM3ZGY3MGU5OTBiZjYwMWNlMTlmZWZm
NWYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBs
dWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luU3RyZWFtLm1tCkBAIC01MjksNyArNTI5LDcgQEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdp
blN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7
CiAgICAgICAgICAgICAvLyBQbHVnLWluIGNhbid0IHJlY2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0
IG5vdy4gU2VuZCBpdCBsYXRlci4KICAgICAgICAgICAgIGlmICghbV9kZWxpdmVyRGF0YVRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgICAgICAgICBtX2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IGRlbGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihkZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90
YWxCeXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5z
L1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2Vi
TmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IGQ5ZTU4ZTMzNjk0ZDUwY2MxZjY3NmIwNGZjMWY5
OGUzZWZhNGJkM2UuLjRiMmE3YTBhZWZiMWNlMTc2NmM2YzZlM2YzY2M4NThhMjQzMDk5YmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3
Lm1tCkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIFdlYk5ldHNjYXBlUGx1Z2luVmlldyAqY3Vy
cmVudFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVBvcnRTdGF0ZSog
UG9ydFN0YXRlOwogCi1zdGF0aWMgY29uc3QgZG91YmxlIFRocm90dGxlZFRpbWVySW50ZXJ2YWwg
PSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IFNl
Y29uZHMoMC4yNSk7CiAKIGNsYXNzIFBsdWdpblRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CiBw
dWJsaWM6CkBAIC0xMzAsNyArMTMwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJU
KCFpc0FjdGl2ZSgpKTsKIAotICAgICAgICBkb3VibGUgdGltZUludGVydmFsID0gbV9pbnRlcnZh
bCAvIDEwMDAuMDsKKyAgICAgICAgU2Vjb25kcyB0aW1lSW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9t
TWlsbGlzZWNvbmRzKG1faW50ZXJ2YWwpOwogICAgICAgICAKICAgICAgICAgaWYgKHRocm90dGxl
KQogICAgICAgICAgICAgdGltZUludGVydmFsID0gc3RkOjptYXgodGltZUludGVydmFsLCBUaHJv
dHRsZWRUaW1lckludGVydmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3Jh
Z2UvV2ViU3RvcmFnZU1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0
b3JhZ2VNYW5hZ2VyLm1tCmluZGV4IDFmOWVhZTU1ZWZkY2E1ZTZmYWQ1ZDYwZTRiZTBmMWI5ODc0
MzY4NGQuLjExOGExMTM0NTZhZGM1ZWI1YWNlOTRhOTk1MGIzYTdiMDVhMjczOWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQpAQCAtMTE2LDcg
KzExNiw3IEBAIHN0YXRpYyBwdGhyZWFkX29uY2VfdCByZWdpc3RlckxvY2FsU3RvcmFnZVBhdGgg
PSBQVEhSRUFEX09OQ0VfSU5JVDsKIAogKyAodm9pZClzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbAogewotICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRy
YWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdl
YktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQogCiArICh2b2lkKWNsb3NlSWRsZUxvY2FsU3Rv
cmFnZURhdGFiYXNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGRhZGMy
NjIzODM1M2RiNzhmZDI1OTVkMmIzN2JkZDY0OWQxY2ViMGYuLjkyN2JmZWFkNTlhNDQyNjQxNjA4
ZmI0ZDk3MzVjZTMzYjBmZTFiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
QEAgLTI3NDksNyArMjc0OSw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9h
ZGluZ1F1aXJrKCkKICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5k
b3dPbkVycm9yRXZlbnRzKHNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVu
dHMoKSk7CiAKICAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9FbmFibGVkKFtwcmVmZXJlbmNl
cyBfYWxsb3dQYXNzd29yZEVjaG9dKTsKLSAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJh
dGlvbkluU2Vjb25kcyhbcHJlZmVyZW5jZXMgX3Bhc3N3b3JkRWNob0R1cmF0aW9uXSk7CisgICAg
c2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb24oU2Vjb25kcyhbcHJlZmVyZW5jZXMgX3Bh
c3N3b3JkRWNob0R1cmF0aW9uXSkpOwogCiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShzZXR0aW5n
cy5wYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMoKSwgIlBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucyBz
aG91bGQgYmUgZW5hYmxlZCBvbiBpT1MuIik7CiAgICAgc2V0dGluZ3Muc2V0RGVsZWdhdGVzUGFn
ZVNjYWxpbmcodHJ1ZSk7CkBAIC0yODY4LDcgKzI4NjgsNyBAQCBzdGF0aWMgYm9vbCBuZWVkc1Nl
bGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAKICAgICBOU1RpbWVJbnRlcnZhbCB0aW1lb3V0
ID0gW3ByZWZlcmVuY2VzIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5T
ZWNvbmRzXTsKICAgICBpZiAodGltZW91dCA+IDApCi0gICAgICAgIHNldHRpbmdzLnNldEluY3Jl
bWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKHRpbWVvdXQpOworICAg
ICAgICBzZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dChT
ZWNvbmRzKHRpbWVvdXQpKTsKIAogICAgIC8vIEFwcGxpY2F0aW9uIENhY2hlIFByZWZlcmVuY2Vz
IGFyZSBzdG9yZWQgb24gdGhlIGdsb2JhbCBjYWNoZSBzdG9yYWdlIG1hbmFnZXIsIG5vdCBpbiBT
ZXR0aW5ncy4KICAgICBbV2ViQXBwbGljYXRpb25DYWNoZSBzZXREZWZhdWx0T3JpZ2luUXVvdGE6
W3ByZWZlcmVuY2VzIGFwcGxpY2F0aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVvdGFdXTsKQEAgLTgz
MDIsNyArODMwMiw3IEBAIHN0YXRpYyBXZWJGcmFtZVZpZXcgKmNvbnRhaW5pbmdGcmFtZVZpZXco
TlNWaWV3ICp2aWV3KQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAg
dW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4
RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0gMDsK
IApAQCAtODQyOSw3ICs4NDI5LDcgQEAgc3RhdGljIFdlYkZyYW1lVmlldyAqY29udGFpbmluZ0Zy
YW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVy
YWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNh
Y2hlTWF4RGVhZENhcGFjaXR5ID0gc3RkOjptYXg8dW5zaWduZWQ+KDI0LCBjYWNoZU1heERlYWRD
YXBhY2l0eSk7CiAKLSAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0
ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRp
b25JbnRlcnZhbCA9IDYwX3M7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIGlmIChtZW1T
aXplID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCmluZGV4IGJjMThkZWI3NWNjZDcwODI3YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEu
LjdkYjI3NmUwNzg0ZmFlMGMyNzE4NjAzYjhmMDQyYzY4MThjZDU1ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3
IEBACiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0
YXRpYyBjb25zdCBmbG9hdCB0aW1lckludGVydmFsID0gMC4wMzM7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyB0aW1lckludGVydmFsID0gMC4wMzNfczsKIAogLy8gSFVEIFNpemUKIHN0YXRpYyBjb25z
dCBpbnQgd2luZG93SGVpZ2h0ID0gNTk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9Q
bHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4v
UGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAppbmRleCBhNTNjMzE1YzIwMTg0
Mzk0ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li4xNzI5ZmZmNjNjMGZmYTQ2NzVkMzc4MTNhYzZh
YzcwZDc2NDlkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
bk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMv
UGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3MgRmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25k
LCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRlbwogLy8gcGxheWJhY2ssIGFuZCBhbHNv
IGdldHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tpbmcgaW50byBoaWdoLXJlc29sdXRpb24K
IC8vIHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldpbi5jcHApLgotc3RhdGljIGNvbnN0IGRv
dWJsZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgPSAwLjAxNjsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCA9IFNlY29uZHMoMC4wMTYpOwogCiAv
LyBEdXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBtZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZl
cnkgNW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVy
dmFsID0gMC4wMDU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
blBhY2thZ2UuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNw
cAppbmRleCBiNjdmYTUzZmU4MGIxZWY4YzAxYWZmYzg2ZGE1ZDcxNjMxNTVkZDI0Li4xNzU0YmRk
NTRmMDczOWUyZGY2Y2FjYjc5ZTE1MTVhNDkyMTdjZjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBQbHVnaW5Q
YWNrYWdlOjpmcmVlTGlicmFyeVNvb24oKQogICAgIEFTU0VSVChtX21vZHVsZSk7CiAgICAgQVNT
RVJUKCFtX2xvYWRDb3VudCk7CiAKLSAgICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fZnJlZUxpYnJhcnlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdC93
aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCmluZGV4IDJlZjM5NTViZTYxYThkMDU0MjRhZDEz
OTk2MmRkMGQ3ZmE2YWU0NDQuLmRhODMzYWFmNGY4YmFlNDRiNDgwNGIzNTIxZmNkMTc3YjhjYWRk
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKQEAgLTM0
OSw3ICszNDksNyBAQCB2b2lkIFBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgICAgICBp
bnQzMl90IGRlbGl2ZXJ5Qnl0ZXMgPSBtX3BsdWdpbkZ1bmNzLT53cml0ZXJlYWR5KG1faW5zdGFu
Y2UsICZtX3N0cmVhbSk7CiAKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewotICAg
ICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAg
ICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBtaW4o
ZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggMjA3YTk2MTNjY2E4ZDljMTAz
N2NmYjRkMWIxZTQyYTY4NTE5NTY5Ni4uNGVkNmQ1YjBiNTU5NDVmMTcwMDNlY2MyNGYzOTZmYTg2
NDQ5NjAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC00
NzMsNyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAg
Ly8gU2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUgY2FsbGluZyBwZXJmb3JtUmVxdWVzdCBz
aW5jZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1SZXF1ZXN0IGNhbiBjYXVzZSB0aGUgcGx1
Z2luIHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKQot
ICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVz
dFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcGVyZm9ybVJlcXVlc3QocmVxdWVzdC5n
ZXQoKSk7CiB9CkBAIC00ODMsNyArNDgzLDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpzY2hlZHVsZVJl
cXVlc3Qoc3RkOjp1bmlxdWVfcHRyPFBsdWdpblJlcXVlc3Q+IHJlcXVlc3QpCiAgICAgbV9yZXF1
ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAKICAgICBpZiAoIW1faXNKYXZhU2NyaXB0
UGF1c2VkKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBOUEVycm9yIFBsdWdpblZp
ZXc6OmxvYWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBz
ZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhKQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZv
aWQgUGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNlZChib29sIHBhdXNlZCkKICAgICBpZiAo
bV9pc0phdmFTY3JpcHRQYXVzZWQpCiAgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0b3AoKTsKICAg
ICBlbHNlIGlmICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKQEAgLTExNzMsNyArMTE3
Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZlKCkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMv
UGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdX
aW4uY3BwCmluZGV4IDJmY2E5ZjNjOTVkNzNkYmEzYWMzMjYyNTllYTg2ZGRjZGRhMjA3MGYuLmU1
YzNjNTRhZjk3MWM2ZWQ5MzgxMjI2YzZiZjRkMDY2ODliMmZlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApAQCAtMzM0LDcgKzMzNCw3IEBAIFBsdWdp
blZpZXc6OnduZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQ
QVJBTSBsUGFyYW0pCiAKICAgICAgICAgcHVzaFBvcHVwc0VuYWJsZWRTdGF0ZSh0cnVlKTsKIAot
ICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAgaWYg
KG1lc3NhZ2UgPT0gV01fUFJJTlRDTElFTlQpIHsKQEAgLTgzOCw3ICs4MzgsNyBAQCB2b2lkIFBs
dWdpblZpZXc6OmludmFsaWRhdGVSZWN0KE5QUmVjdCogcmVjdCkKICAgICAgICAgaWYgKG1fcGx1
Z2luLT5xdWlya3MoKS5jb250YWlucyhQbHVnaW5RdWlya1Rocm90dGxlSW52YWxpZGF0ZSkpIHsK
ICAgICAgICAgICAgIG1faW52YWxpZFJlY3RzLmFwcGVuZChyKTsKICAgICAgICAgICAgIGlmICgh
bV9pbnZhbGlkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgICAgICBtX2ludmFsaWRh
dGVUaW1lci5zdGFydE9uZVNob3QoMC4wMDEpOworICAgICAgICAgICAgICAgIG1faW52YWxpZGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgxX21zKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBp
bnZhbGlkYXRlUmVjdChyKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5j
cHAKaW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIzODY5NzA4YjVhYjdjN2E0YWQyMjI4Mi4uYTEwYTAy
MDY0YmU5MzAxZTA4NDRiNWUwYjRjMDA5OGU2MDBmNGU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0LmNwcApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVz
aFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGF5ZXJGbHVzaFRp
bWVyLnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNo
b3QoMC4wNV9zKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1
c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggZDU3MDA0OGRh
N2EyNjQwNmJjYWQwNmMyNWRlODY4ZmU1YWNiMmIwMy4uYTYyZmExMmY2ZGE5YjA1M2VjZWE2MThl
YWI3MjI2Y2Q1OTlmZGQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTE1MTYsNyArMTUxNiw3
IEBAIHZvaWQgV2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKCkKICAgICBtX2Nsb3NlV2luZG93VGlt
ZXIgPSBXaW5kb3dDbG9zZVRpbWVyOjpjcmVhdGUodGhpcyk7CiAgICAgaWYgKCFtX2Nsb3NlV2lu
ZG93VGltZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwog
CiAgICAgQWRkUmVmKCk7CiB9CkBAIC03NDYxLDggKzc0NjEsNyBAQCBIUkVTVUxUIFdlYlZpZXc6
OnNldE1pbmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkKICAgICBpZiAoIW1fcGFn
ZSkKICAgICAgICAgcmV0dXJuIEVfRkFJTDsKIAotICAgIGF1dG8gaW50ZXJ2YWxNUyA9IHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50
ZXJ2YWwgKiAxMDAwKSk7Ci0gICAgcGFnZSgpLT5zZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1l
ckludGVydmFsKGludGVydmFsTVMpOworICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVt
RE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiAgICAgcmV0dXJuIFNfT0s7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRh
VGFzay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2su
Y3BwCmluZGV4IDliZmE0ZWM2NGM4NDcwYzdkYmViY2U0ZmZlM2JmYzA0Yzg1NjNiOTAuLjk0ZTE0
N2Y1MjhhNTgzZmQwZGVjYTcxMTUzMDM2MTkzMmUxMjY0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcApAQCAtOTEsNyArOTEsNyBA
QCB2b2lkIE5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVGYWlsdXJlKEZhaWx1cmVUeXBlIHR5cGUp
CiB7CiAgICAgQVNTRVJUKHR5cGUgIT0gTm9GYWlsdXJlKTsKICAgICBtX3NjaGVkdWxlZEZhaWx1
cmVUeXBlID0gdHlwZTsKLSAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFU
YXNrOjpkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNw
b25zZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKaW5kZXggNTE3Zjg0NWFhYmU1MjNm
MmVmYTk2MTg0ZWVmNzI1M2FlMmNhNGQ5Zi4uOGNmOTljY2I4NDYzNWQyYTNjNjJiNWQzODg4MWYw
MDczMDQzODQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkLmNwcApAQCAtNTAsNyArNTAsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICNpZiBV
U0UoTkVUV09SS19TRVNTSU9OKQogCiBzdHJ1Y3QgTmV0d29ya0xvYWQ6OlRocm90dGxlIHsKLSAg
ICBUaHJvdHRsZShOZXR3b3JrTG9hZCYgbG9hZCwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBk
ZWxheSwgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5k
bGVyJiYgaGFuZGxlcikKKyAgICBUaHJvdHRsZShOZXR3b3JrTG9hZCYgbG9hZCwgU2Vjb25kcyBk
ZWxheSwgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5k
bGVyJiYgaGFuZGxlcikKICAgICAgICAgOiB0aW1lcihsb2FkLCAmTmV0d29ya0xvYWQ6OnRocm90
dGxlRGVsYXlDb21wbGV0ZWQpCiAgICAgICAgICwgcmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZSkp
CiAgICAgICAgICwgcmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKQpA
QCAtMzExLDggKzMxMSw4IEBAIHZvaWQgTmV0d29ya0xvYWQ6OmRpZFJlY2VpdmVSZXNwb25zZU5l
dHdvcmtTZXNzaW9uKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIGF1dG8gZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCku
bG9hZFRocm90dGxlTGF0ZW5jeSgpOwotICAgIGlmIChkZWxheSA+IDBtcykgeworICAgIFNlY29u
ZHMgZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9hZFRocm90dGxlTGF0ZW5j
eSgpOworICAgIGlmIChkZWxheSA+IDBfcykgewogICAgICAgICBtX3Rocm90dGxlID0gc3RkOjpt
YWtlX3VuaXF1ZTxUaHJvdHRsZT4oKnRoaXMsIGRlbGF5LCBXVEZNb3ZlKHJlc3BvbnNlKSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggYzk2ZDA4
MjllMTViNmQ4OGJhZTE1Y2YwYzEyY2M0Y2QyMzhmMTEzYi4uOGM1YjdhNDg4NWZjNDQ5ZWVhZGUw
NzQ0Y2Q5ZmM2MDI1YWNlNjFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xMTUsNyArMTE1LDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBncmFudFNhbmRib3hFeHRlbnNpb25zVG9EYXRhYmFzZVByb2Nlc3NGb3JCbG9icyhjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGdW5jdGlvbjx2b2lkICgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKTsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0
ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsgfQorICAgIFNlY29u
ZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0
ZW5jeTsgfQogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBAIC0yMDcsNyArMjA3
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaXNrQ2FjaGVJc0Rpc2FibGVkRm9yVGVzdGluZzsKICAg
ICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247Ci0gICAgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CisgICAgU2Vjb25kcyBt
X2xvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhcios
IHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ+LCBQdHJIYXNoPGNvbnN0
IGNoYXIqPj4gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwOwogICAgIE5ldHdvcmtQcm9jZXNz
U3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKaW5kZXggZjQ1NjljOTQ2OWE1NzcyZTYwYjFjOWJmZjU2MDg1ZDNhY2I0M2MzZC4uNzA5NTE1
MzBlMzI5ZmExYzVmM2ZmOGU2NzJiOTM0MzA4YzU4ZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgog
I2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCisj
aW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTczLDcgKzc0LDcgQEAgc3RydWN0IE5ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIHNob3VsZFN1cHByZXNzTWVt
b3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIHNob3VsZFVzZVRlc3RpbmdO
ZXR3b3JrU2Vzc2lvbjsKICAgICBib29sIHVybFBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OwotICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSB7IDBtcyB9Owor
ICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVy
bFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xzOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMuaAppbmRleCA0MjU1YWRlNDExNTBkYTk2OWYyMTExNzUxMmQ3ZGY2ZjdmN2M5YzRhLi41
YjI5ZTBlYmQ0M2EzOGJlNTJhZTY2ZGM1MjEwMzJlYzIwNjcwYWQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZElk
ZW50aWZpZXIgaWRlbnRpZmllciB7IDAgfTsKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRl
bnNpb24+PiByZXF1ZXN0Qm9keVNhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1dG9tYXRp
Y2FsbHkgZm9yIHRoZSBzZW5kZXIuCiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IHJlc291
cmNlU2FuZGJveEV4dGVuc2lvbjsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2Vu
ZGVyLgotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUg
eyAwbXMgfTsKKyAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA5MDEwNTk5NjhhMzkxMzAxZGEyYWM5
MjM3NGI3ZjkyNDVkNjk0ZGQ2Li4yYzdhZTNhYTc2YjcyOTc1NjQ4MDMwMzU2YmQ5ZjA3NDIwZWMy
ZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCB2b2lkIE5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QpCiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIAotICAgIGlmIChpc1N5bmNo
cm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMG1zKQorICAg
IGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1l
ID4gMF9zKQogICAgICAgICBtX2J1ZmZlcmVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7
CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9QaW5nTG9hZC5oCmluZGV4IDMwMGMzMDgxMjRmMzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVjMjlk
MTIuLmEyZTQzM2EzMDNiMGU5MmQ0ZWM2M2M1ZDY5M2Q0NTBhZWZhNmVjYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6
CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qg
d2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3Vz
IHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVT
aG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwX3Mp
OwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGE0MzU5ZjNiMDE3YzQ0MTczMWFjODllYjg3N2ZlZTJm
MmM1N2IxOGIuLjA0MzA1NWI2ZWY2ZTIzZDc0NDNkMjNmZDgxYTllYzk1YzYxNGRiZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC00Niw3
ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVkRW50cnlMaWZldGltZSA9IDEwczsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAxMF9zOwogCiAj
aWYgIUxPR19ESVNBQkxFRAogc3RhdGljIEhhc2hDb3VudGVkU2V0PFN0cmluZz4mIGFsbFNwZWN1
bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3Mu
Y3BwCmluZGV4IDEwYTUyMDNlZmQ4MTgwZTBhY2EzNGJlNTRkZjUyNTgyZjU5Yzk1ZjcuLjgyMTJj
NzYzN2MzMTJkZmZmNzcxY2I3YmEwOTE5YmU5MTliNThlNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRp
c3RpY3MuY3BwCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogbmFtZXNwYWNl
IE5ldHdvcmtDYWNoZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBTdGF0aXN0aWNzRGF0YWJhc2VO
YW1lID0gIldlYktpdENhY2hlU3RhdGlzdGljcy5kYiI7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMoMTAwMDApOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW51bVdyaXRlSW50ZXJ2
YWwgPSAxMF9zOwogCiBzdGF0aWMgYm9vbCBleGVjdXRlU1FMQ29tbWFuZChXZWJDb3JlOjpTUUxp
dGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgc3FsKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcAppbmRleCBiMDZiMWNmODZhODVkNDQxZGFjMTdjODM1NTAzZjVmMDNjZGVjMWEyLi5l
Y2ExMDJmZGVlYjEyZGFhMDBhZjRhMWQ3ZTRjMWIyYmEzYjU1ZGYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcApAQCAtNTc0LDcgKzU3NCw3IEBAIHZvaWQgU3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3Bl
cmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9uPiByZWFkT3BlcmF0aW9uCiAgICAg
bV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92ZShyZWFkT3BlcmF0aW9uUHRyKSk7CiAK
ICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVyYXRpb25zIHNsb3cuIElmIHRo
ZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhlciBnbyB0byBuZXR3b3JrLgot
ICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7CisgICAgY29uc3QgU2Vjb25kcyBy
ZWFkVGltZW91dCA9IDEuNV9zOwogICAgIG1fcmVhZE9wZXJhdGlvblRpbWVvdXRUaW1lci5zdGFy
dE9uZVNob3QocmVhZFRpbWVvdXQpOwogCiAgICAgYm9vbCBzaG91bGRHZXRCb2R5QmxvYiA9IG1h
eUNvbnRhaW5CbG9iKHJlYWRPcGVyYXRpb24ua2V5KTsKQEAgLTc5Niw3ICs3OTYsNyBAQCB2b2lk
IFN0b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBNYXBwZWRCb2R5SGFuZGxlciYm
IG1hcHBlZEJvZHlIYW5kbGVyKQogCiAgICAgLy8gRGVsYXkgdGhlIHN0YXJ0IG9mIHdyaXRlcyBh
IGJpdCB0byBhdm9pZCBhZmZlY3RpbmcgZWFybHkgcGFnZSBsb2FkLgogICAgIC8vIENvbXBsZXRp
bmcgd3JpdGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3cml0ZXMgd2l0aG91dCBkZWxheS4KLSAgICBz
dGF0aWMgY29uc3QgYXV0byBpbml0aWFsV3JpdGVEZWxheSA9IDFzOworICAgIHN0YXRpYyBjb25z
dCBTZWNvbmRzIGluaXRpYWxXcml0ZURlbGF5ID0gMV9zOwogICAgIG1fd3JpdGVPcGVyYXRpb25E
aXNwYXRjaFRpbWVyLnN0YXJ0T25lU2hvdChpbml0aWFsV3JpdGVEZWxheSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW0KaW5kZXggNGNlZmE4ZWIzNTdhZTQ0YmQyNWE1NzQ2YjQ1ZmY5YTA4YjRl
MjBkZi4uMThmMGNjZDhmNzE0MTIzYzk4YTk1MTU0OTJkNzU4NjM2ZTZlYzQzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW0KQEAgLTMzMyw3ICszMzMsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0Nv
Y29hOjpjYW5jZWwoKQogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKCkKIHsKICAg
ICBpZiAobV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpCi0gICAgICAgIG1fZmFp
bHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAgICAgW21fdGFzayByZXN1bWVdOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcAppbmRleCA5YWM3NmM2ZDM5NDdkZTI2
ODcxZWI2ODkyMDY1YmRhNmI3NzhjZmUxLi5kMDQ2YWY1ZGUyMDczNjMyN2IxMDc2ODMwZWNiOWI4
YTllZmVkNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1l
bnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENv
ZGVycy5jcHAKQEAgLTMyLDYgKzMyLDM2IEBACiAKIG5hbWVzcGFjZSBJUEMgewogCit2b2lkIEFy
Z3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBNb25vdG9uaWNUaW1lJiB0aW1lKQoreworICAgIGVuY29kZXIgPDwgdGltZS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1l
Pjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1vbm90b25pY1RpbWUmIHRpbWUpCit7CisgICAg
ZG91YmxlIHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICB0aW1lID0gTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMo
dmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEFyZ3VtZW50Q29kZXI8U2Vjb25k
cz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTZWNvbmRzJiBzZWNvbmRzKQorewor
ICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8
U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZWNvbmRzJiBzZWNvbmRzKQorewor
ICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgc2Vjb25kcyA9IFNlY29uZHModmFsdWUpOworICAgIHJl
dHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8c3RkOjpjaHJvbm86OnN5c3RlbV9j
bG9jazo6dGltZV9wb2ludD46OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0
ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQmIHRpbWVQb2ludCkKIHsKICAgICBl
bmNvZGVyIDw8IHN0YXRpY19jYXN0PGludDY0X3Q+KHRpbWVQb2ludC50aW1lX3NpbmNlX2Vwb2No
KCkuY291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJn
dW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVy
cy5oCmluZGV4IGY2ZDg4YjdjZGJiN2RlNmZhNmEyZGNiNTRhZjg2ZmEzY2E3OTc2YjIuLjA3NWJm
ZjUzNTE5ZGY4OTdmNzUwMzY4MjViZDI2OWY4N2YyNjlhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCkBAIC0xNjMsNyArMTYzLDYgQEAgdGVtcGxh
dGU8dHlwZW5hbWUuLi4gRWxlbWVudHM+IHN0cnVjdCBBcmd1bWVudENvZGVyPHN0ZDo6dHVwbGU8
RWxlbWVudHMuLi4+PiB7CiAgICAgfQogfTsKIAotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBSZXAsIHR5
cGVuYW1lIFBlcmlvZD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjpjaHJvbm86OmR1cmF0aW9u
PFJlcCwgUGVyaW9kPj4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVy
LCBjb25zdCBzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQZXJpb2Q+JiBkdXJhdGlvbikKICAg
ICB7CkBAIC0zNzksNiArMzc4LDE2IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5h
bWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnPiBzdHJ1Y3QgQXJndW1lCiAgICAgfQog
fTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6Ok1vbm90b25pY1RpbWU+
IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6TW9ub3Rvbmlj
VGltZSYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpNb25vdG9uaWNU
aW1lJik7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6U2Vjb25k
cz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpTZWNvbmRz
Jik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6OlNlY29uZHMmKTsKK307
CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjpjaHJvbm86OnN5c3RlbV9j
bG9jazo6dGltZV9wb2ludD4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29u
c3Qgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYpOwogICAgIHN0YXRpYyBi
b29sIGRlY29kZShEZWNvZGVyJiwgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24u
aCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5kZXggZjAxMmEw
MWI1NGRlN2QxZmNlMjE3OTdlNmY0NTUwNTBjODNlNjg4NS4uOTAyYmU0ZDFhNzNmOGUwNDdkOTIw
OWYzMmQ0NWEyODZhOTcwMzBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5oCkBAIC0xODYsNyArMTg2LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgYm9vbCBraWxsKCk7Ci0gICAgdm9pZCB0ZXJtaW5hdGVTb29uKGRvdWJsZSBpbnRlcnZh
bEluU2Vjb25kcyk7CisgICAgdm9pZCB0ZXJtaW5hdGVTb29uKFNlY29uZHMpOwogI2VuZGlmCiAK
ICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2lzVmFsaWQ7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQppbmRleCAyODk5
NTEyOTQ2M2U4MzE5MTA3MGJlZTg1ZmRiZTg3MDU0OGU1NWIxLi43MDQ0NjkxNTZhZjgxYmQ0MTU4
ZjE3MWUwODE3ZDg4ZWRiZmIxN2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCkBAIC04MCwyMCArODAsMjAgQEAgZW51bSB7CiAvLyAg
ICB0byBlbnN1cmUgaXQgaGFzIGEgY2hhbmNlIHRvIHRlcm1pbmF0ZSBjbGVhbmx5LgogY2xhc3Mg
Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cgewogcHVibGljOgotICAgIHN0YXRpYyB2b2lk
IGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25u
ZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCisgICAg
c3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQ
dHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAg
ICAgewotICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVj
dGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogICAgIH0KICAgICAKIHByaXZh
dGU6Ci0gICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nv
bm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAg
ICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlv
bl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICAgICAgOiBtX3hwY0Nv
bm5lY3Rpb24oeHBjQ29ubmVjdGlvbikKICAgICAgICAgLCBtX3dhdGNoZG9nVGltZXIoUnVuTG9v
cDo6bWFpbigpLCB0aGlzLCAmQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OndhdGNoZG9n
VGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgICwgbV9hc3NlcnRpb24oc3Rk
OjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlByb2Nlc3NBbmRVSUFzc2VydGlvbj4oeHBjX2Nvbm5lY3Rp
b25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpLCBXZWJLaXQ6OkFzc2VydGlvblN0YXRl
OjpCYWNrZ3JvdW5kKSkKICNlbmRpZgogICAgIHsKLSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0
YXJ0T25lU2hvdChpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5z
dGFydE9uZVNob3QoaW50ZXJ2YWwpOwogICAgIH0KICAgICAKICAgICB2b2lkIHdhdGNoZG9nVGlt
ZXJGaXJlZCgpCkBAIC0xNTEsMTAgKzE1MSwxMCBAQCB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3Jt
SW52YWxpZGF0ZSgpCiAjZW5kaWYKIH0KICAgICAKLXZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRl
U29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCit2b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0
ZVNvb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAobV94cGNDb25uZWN0aW9uKQotICAg
ICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAg
ICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFsKTsKIH0KICAgICAKIHZvaWQg
Q29ubmVjdGlvbjo6cGxhdGZvcm1Jbml0aWFsaXplKElkZW50aWZpZXIgaWRlbnRpZmllcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclBy
b3h5LmNwcAppbmRleCBkYTlkYjIyNGVkYzBlYTBjYmQwMDJkYzE3MTJhMGMxODZkMTkzNWU0Li4x
NzM5NTI1MDk1NzFkOGY0OTBhNzNlN2ZhOTY5NTkzYzdiODMyNGQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCkBA
IC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OmRlc3Ryb3koKQog
ICAgIGlmIChtX3BsdWdpbkRlc3RydWN0aW9uUHJvdGVjdENvdW50IHx8IG1fY29ubmVjdGlvbi0+
Y29ubmVjdGlvbigpLT5pblNlbmRTeW5jKCkpIHsKICAgICAgICAgLy8gV2UgaGF2ZSBwbHVnLWlu
IGNvZGUgb24gdGhlIHN0YWNrIHNvIHdlIGNhbid0IGRlc3Ryb3kgaXQgcmlnaHQgbm93LgogICAg
ICAgICAvLyBEZXN0cm95IGl0IGxhdGVyLgotICAgICAgICBtX3BsdWdpbkRlc3Ryb3lUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGx1Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yMTUsNyArMjE1LDcgQEAgdm9p
ZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnN0YXJ0UGFpbnRUaW1lcigpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lci4KLSAgICBtX3BhaW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIG1fd2Fp
dGluZ0ZvckRpZFVwZGF0ZSA9IHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAppbmRleCBhNzI0ZWIwOGY5MGQ1OWRiMTI5ODIzNDQxZTc3
ZTA4ZmVlYzdiMjViLi4zOTVkNzY0ZDQ3MWY1MWRlOTk4MGM2MTIxZTYwMzJjZmFjNDk4MmQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKQEAg
LTIyMCw5ICsyMjAsOSBAQCB2b2lkIFBsdWdpblByb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9y
SG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0TmFtZQogICAgIHBhcmVudFByb2Nl
c3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OlBsdWdpblByb2Nlc3NQcm94eTo6RGlkRGVs
ZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY2FsbGJhY2tJRCksIDApOwogfQogCi12b2lkIFBs
dWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZShkb3VibGUgbGlmZXRpbWUpCit2b2lkIFBs
dWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZShTZWNvbmRzIGxpZmV0aW1lKQogewotICAg
IGlmIChsaWZldGltZSA8PSAwLjApCisgICAgaWYgKGxpZmV0aW1lIDw9IDBfcykKICAgICAgICAg
cmV0dXJuOwogICAgIAogICAgIGRpc2FibGVUZXJtaW5hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCA5YTkwZTRjMjUzOTNhN2VkNDZj
OTg3YjVlZTQ0NDlhNzRhYjkyMzNiLi4yMGFjMDY3YjA0OTVlNmFjNzYyMmMwMDYyMDAzOGMwMWY1
ZjMwMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aApAQCAtMTAyLDcgKzEwMiw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZVBsdWdpblByb2Nlc3MoUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKICAg
ICAKLSAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShkb3VibGUpOworICAgIHZvaWQgc2V0TWlu
aW11bUxpZmV0aW1lKFNlY29uZHMpOwogICAgIHZvaWQgbWluaW11bUxpZmV0aW1lVGltZXJGaXJl
ZCgpOwogICAgIC8vIE91ciB3ZWIgcHJvY2VzcyBjb25uZWN0aW9ucy4KICAgICBWZWN0b3I8UmVm
UHRyPFdlYlByb2Nlc3NDb25uZWN0aW9uPj4gbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKaW5kZXggNDAzZjM0ZGZjZDRiN2FkYzQ5YmEwNDYy
YjlmZGVmYTZkZWYzZmQ0NS4uZGIyMTk2NTRkMGUyMzE3NmJlZTlhZGJkZGVjMTc5NjRhMjkyMGFk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcApAQCAtMzIsNyArMzIsNyBAQAog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENh
Y2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWdu
ZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHks
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1
bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpCit2b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6
ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1
bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBh
Y2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQm
IHBhZ2VDYWNoZUNhcGFjaXR5KQogewogICAgIHVpbnQ2NF90IG1lbW9yeVNpemUgPSByYW1TaXpl
KCkgLyBNQjsKIApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVT
aXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpCiAg
ICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1
c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gc3Rk
OjptYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAgICAgICAgZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAgfTsKKyAgICAg
ICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDYwX3M7CiAKICAgICAgICAgYnJl
YWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKaW5kZXggY2Y0NzM0NTRmZTJh
YzMzZDNjYTQzYTcyZmE1OTNlNGM0ZTUxZDNkNS4uMWUwNzc2ODhlYTc4ZGM4NDI5ODhmNGY1ZjAz
YWNhYmI5MzEyNGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9k
ZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCkBAIC0yNiw4ICsy
Niw4IEBACiAjaWZuZGVmIENhY2hlTW9kZWxfaAogI2RlZmluZSBDYWNoZU1vZGVsX2gKIAotI2lu
Y2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25k
cy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzcsNyArMzcsNyBAQCBlbnVtIENhY2hl
TW9kZWwgewogICAgIENhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlcgogfTsKIAotdm9pZCBjYWxj
dWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2Fw
YWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4
RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRp
b25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKK3ZvaWQgY2FsY3VsYXRl
TWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5
LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRD
YXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWdu
ZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKIHZvaWQgY2FsY3VsYXRlVVJMQ2FjaGVTaXplcyhDYWNo
ZU1vZGVsLCB1aW50NjRfdCBkaXNrRnJlZVNpemUsIHVuc2lnbmVkJiB1cmxDYWNoZU1lbW9yeUNh
cGFjaXR5LCB1aW50NjRfdCYgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXggMTc1Nzg5
ZmI5YWU3MTNmMTZlZWVkYmZhYmUwMGQ2ZjMzZTYzY2YyMy4uNDliNzk0NjVkZjZlMWIyYTEyMWMz
ZmE1MmQwMDNmYjE5NTFiYzI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5j
cHAKQEAgLTMzLDggKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6
OkNoaWxkUHJvY2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAgICwgbV90
ZXJtaW5hdGlvbkNvdW50ZXIoMCkKKyAgICA6IG1fdGVybWluYXRpb25Db3VudGVyKDApCiAgICAg
LCBtX3Rlcm1pbmF0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNz
Ojp0ZXJtaW5hdGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2Fi
bGVkKCJQcm9jZXNzIFN1cHByZXNzaW9uIERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggYTA2ZTM0OWEzOGMyODFmNWFjZThkMzYy
MmEwNTQ2MWY5NDA0ZGE1Yy4uOTg1YWQ2YTYxYjJhODJhYjc4NTAyOWZlNDJkZWM0NzUyZWZjNDZj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hp
bGRQcm9jZXNzKCk7CiAKLSAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vj
b25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRl
cm1pbmF0aW9uVGltZW91dChTZWNvbmRzIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQg
PSBzZWNvbmRzOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3Qg
Q2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lk
IGluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMmKTsKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRp
bWVvdXQsIGluIHNlY29uZHMsIGJlZm9yZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVk
IGlmIHRlcm1pbmF0aW9uCiAgICAgLy8gaGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQg
aXMgMCBzZWNvbmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHku
Ci0gICAgZG91YmxlIG1fdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5h
dGlvblRpbWVvdXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNv
dW50ZXIgcmVhY2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAv
LyBhZnRlciBhIGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCmluZGV4IGExMmE0NDQ1YmIxNmNhYWY2OTI3M2I2NGE4NjMyMTA4ZTdkNTQ5ZjQuLmIxYTM0
YTRkZjFkMmQ4MjU5OGFjYTZjZjg0NTRlYjRmYTFjZGU2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIK
ICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgPHd0Zi9TZWNv
bmRzLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlIDxXZWJDb3JlL01hY2hTZW5k
UmlnaHQuaD4KQEAgLTUxLDggKzUyLDggQEAgc3RydWN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMgewogICAgIFBsdWdpblByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlOwogICAgIGJvb2wg
c3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbjsKIAotICAgIGRvdWJsZSBt
aW5pbXVtTGlmZXRpbWU7Ci0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNv
bmRzIG1pbmltdW1MaWZldGltZTsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAog
I2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQgYWNjZWxlcmF0
ZWRDb21wb3NpdGluZ1BvcnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuY3BwCmluZGV4IGYwZmZiNzcyNmE1M2VlNGY4NDIzZDQ2Yjc5YmIwZmRhZjA1
ZGU3YzQuLjM4MGUwMWU1ZTc0NjE3MzdlNTc1M2U5NjY1YWMyZTM0NjA1NTI2MWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0xMDYs
MzYgKzEwNiw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBJUEMgewog
Ci12b2lkIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAgIGVuY29kZXIgPDwgdGltZS5z
ZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxNb25v
dG9uaWNUaW1lPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1vbm90b25pY1RpbWUmIHRpbWUp
Ci17Ci0gICAgZG91YmxlIHZhbHVlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB0aW1lID0gTW9ub3RvbmljVGltZTo6ZnJvbVJh
d1NlY29uZHModmFsdWUpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIEFyZ3VtZW50Q29k
ZXI8U2Vjb25kcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTZWNvbmRzJiBzZWNv
bmRzKQotewotICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3Vt
ZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZWNvbmRzJiBzZWNv
bmRzKQotewotICAgIGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVl
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgc2Vjb25kcyA9IFNlY29uZHModmFsdWUp
OwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNm
b3JtPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWZm
aW5lVHJhbnNmb3JtKQogewogICAgIFNpbXBsZUFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3Jt
Pjo6ZW5jb2RlKGVuY29kZXIsIGFmZmluZVRyYW5zZm9ybSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNDgxOWZjYmMwNGFjNzE2MjU2NzNh
ODQ0NjdmNzQ1NDJjY2I5Mjk5NS4uMzE1NDA2MmQ5ZGMzNTJhOTFmNGIzM2JiNjU0Mzk5NTZlNTg4
MDliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aApAQCAtMzEsMTEgKzMxLDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0luZGV4ZWREQi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGF5bWVudEhlYWRlcnMuaD4KIAotbmFtZXNwYWNlIFdURiB7Ci1jbGFz
cyBNb25vdG9uaWNUaW1lOwotY2xhc3MgU2Vjb25kczsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CkBAIC0xNTIsMTYgKzE0Nyw2IEBAIHVzaW5nIElEQktleVBhdGggPSBWYXJpYW50PFN0cmluZywg
VmVjdG9yPFN0cmluZz4+OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNv
ZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYpOwotICAgIHN0YXRpYyBib29s
IGRlY29kZShEZWNvZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Ci19OwotCi10ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6U2Vjb25kcz4gewotICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpTZWNvbmRzJik7Ci0gICAgc3RhdGljIGJvb2wgZGVj
b2RlKERlY29kZXImLCBXVEY6OlNlY29uZHMmKTsKLX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFy
Z3VtZW50Q29kZXI8V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtPiB7CiAgICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKICAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA1M2ZhNmVh
Mjk3M2NlN2IxZGIzY2ZmMzkyNzUxZWFiZjRlMThkMTAuLmRkZWEyYWJkYzQ0ZTRlYTAyMjdlMjll
NzZlNGJlM2FlY2VlNjA1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJN
ZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5jcHAKQEAgLTU3LDcgKzU3LDYgQEAgV2ViTWVtb3J5U2FtcGxlcjo6V2ViTWVtb3J5U2Ft
cGxlcigpCiAgICAgOiBtX3NhbXBsZVRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c2Ft
cGxlVGltZXJGaXJlZCkKICAgICAsIG1fc3RvcFRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxl
cjo6c3RvcFRpbWVyRmlyZWQpCiAgICAgLCBtX2lzUnVubmluZyhmYWxzZSkKLSAgICAsIG1fcnVu
bmluZ1RpbWUoMCkKIHsKIH0KIApAQCAtNjcsNyArNjYsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBs
ZXI6OnN0YXJ0KGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkKICAgICAgICAgcmV0dXJuOwogICAgIAog
ICAgIGluaXRpYWxpemVUZW1wTG9nRmlsZSgpOwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50ZXJ2
YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQogCiB2b2lk
IFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYg
c2FtcGxlTG9nRmlsZUhhbmRsZSwgY29uc3QgU3RyaW5nJiBzYW1wbGVMb2dGaWxlUGF0aCwgY29u
c3QgZG91YmxlIGludGVydmFsKSAKQEAgLTgyLDE3ICs4MSwxNyBAQCB2b2lkIFdlYk1lbW9yeVNh
bXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmls
ZUhhbmRsZQogICAgIH0KICAgICAgICAgCiAgICAgaW5pdGlhbGl6ZVNhbmRib3hlZExvZ0ZpbGUo
c2FtcGxlTG9nRmlsZUhhbmRsZSwgc2FtcGxlTG9nRmlsZVBhdGgpOwotICAgIGluaXRpYWxpemVU
aW1lcnMoaW50ZXJ2YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkp
OwogICAgCiB9CiAKLXZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3Vi
bGUgaW50ZXJ2YWwpCit2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoU2Vj
b25kcyBpbnRlcnZhbCkKIHsKLSAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEpOwor
ICAgIG1fc2FtcGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxKSk7CiAgICAgcHJpbnRm
KCJTdGFydGVkIG1lbW9yeSBzYW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJvY2Vzc05hbWUo
KS51dGY4KCkuZGF0YSgpLCBnZXRwaWQoKSk7Ci0gICAgaWYgKGludGVydmFsID4gMCkgeworICAg
IGlmIChpbnRlcnZhbCA+IDBfcykgewogICAgICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3Qo
aW50ZXJ2YWwpOwotICAgICAgICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRz
IiwgaW50ZXJ2YWwpOworICAgICAgICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNv
bmRzIiwgaW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgfQogICAgIHByaW50ZigiOyBTYW1wbGVyIGxv
ZyBmaWxlIHN0b3JlZCBhdDogJXNcbiIsIG1fc2FtcGxlTG9nRmlsZVBhdGgudXRmOCgpLmRhdGEo
KSk7CiAgICAgbV9ydW5uaW5nVGltZSA9IGludGVydmFsOwpAQCAtMTU5LDcgKzE1OCw3IEBAIHZv
aWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQoKQogewogICAgIGlmICghbV9pc1J1
bm5pbmcpCiAgICAgICAgIHJldHVybjsKLSAgICBwcmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4g
U3RvcHBpbmcgbWVtb3J5IHNhbXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUpOworICAgIHByaW50
ZigiJWcgc2Vjb25kcyBlbGFwc2VkLiBTdG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9y
dW5uaW5nVGltZS52YWx1ZSgpKTsKICAgICBzdG9wKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5oCmluZGV4IDI3ODdiNTE1ZGFiYzUxZWJlYzViYzA2NDZmMTNi
ZWZlNTEyOTg2MjIuLmRhNDI4OGI1ODQwOWZmYmFhZjhkMjczY2IzODU4NDViMGQxZDg4NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaApAQCAtODQsNyArODQsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZVRlbXBMb2dGaWxlKCk7CiAgICAgdm9pZCBp
bml0aWFsaXplU2FuZGJveGVkTG9nRmlsZShjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUm
LCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHdyaXRlSGVhZGVycygpOwotICAgIHZvaWQgaW5p
dGlhbGl6ZVRpbWVycyhkb3VibGUpOworICAgIHZvaWQgaW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRz
KTsKICAgICB2b2lkIHNhbXBsZVRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHN0b3BUaW1lckZpcmVk
KCk7CiAgICAgdm9pZCBhcHBlbmRDdXJyZW50TWVtb3J5VXNhZ2VUb0ZpbGUoV2ViQ29yZTo6UGxh
dGZvcm1GaWxlSGFuZGxlJik7CkBAIC0xMDAsNyArMTAwLDcgQEAgcHJpdmF0ZToKICAgICBXZWJD
b3JlOjpUaW1lciBtX3NhbXBsZVRpbWVyOwogICAgIFdlYkNvcmU6OlRpbWVyIG1fc3RvcFRpbWVy
OwogICAgIGJvb2wgbV9pc1J1bm5pbmc7Ci0gICAgZG91YmxlIG1fcnVubmluZ1RpbWU7CisgICAg
U2Vjb25kcyBtX3J1bm5pbmdUaW1lOwogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX3Nh
bXBsZUxvZ1NhbmRib3hFeHRlbnNpb247CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBlYzg2ZTFlMjFmZmNj
ZDZkODcyYWFhMWYyZDQxOWU0NjY2YTMyN2RiLi4wZDM3YjlhM2VkN2UzNjRjMWM0YjY5OTNmOTA2
NzkyYTVmZWFlZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTExMyw3ICsxMTMsNyBAQCBzdHJ1Y3QgV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAKICAgICBib29sIGljb25EYXRhYmFzZUVuYWJsZWQ7
CiAKLSAgICBkb3VibGUgdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgdGVybWluYXRp
b25UaW1lb3V0OwogCiAgICAgVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKaW5kZXgg
NmFmNzkwMmRhM2Y5ZmE5YzJlYWJkYWFhMGU1ZDc4NWY2NTMyZTZlNy4uNDM2OGNjMmNjMWIzZjVj
NmQ1YThlYjNiMzgwYjJlOGJkYjNhNGEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaApAQCAtMzAsNyArMzAsNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JT1N1cmZhY2Uu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlZ2lvbi5oPgotI2luY2x1ZGUgPGNocm9ubz4KKyNpbmNs
dWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiBPQkpDX0NMQVNTIENBTGF5ZXI7CiAKQEAgLTkx
LDcgKzkxLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBzZXRCdWZmZXJWb2xhdGlsaXR5KEJ1ZmZl
clR5cGUgdHlwZSwgYm9vbCBpc1ZvbGF0aWxlKTsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbGFzdERpc3BsYXlUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0
RGlzcGxheVRpbWU7IH0KKyAgICBNb25vdG9uaWNUaW1lIGxhc3REaXNwbGF5VGltZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBkcmF3
SW5Db250ZXh0KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIENHSW1hZ2VSZWYgYmFja0ltYWdl
KTsKQEAgLTEwMyw4ICsxMDMsMTAgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1v
dGUqIG1fbGF5ZXI7CiAKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9zaXplOwotICAgIGZsb2F0
IG1fc2NhbGU7Ci0gICAgYm9vbCBtX2lzT3BhcXVlOworICAgIGZsb2F0IG1fc2NhbGUgeyAxIH07
CisKKyAgICBib29sIG1faXNPcGFxdWUgeyBmYWxzZSB9OworICAgIGJvb2wgbV9hY2NlbGVyYXRl
c0RyYXdpbmcgeyBmYWxzZSB9OwogCiAgICAgV2ViQ29yZTo6UmVnaW9uIG1fZGlydHlSZWdpb247
CiAKQEAgLTExMiw3ICsxMTQsNyBAQCBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U2hhcmVhYmxl
Qml0bWFwPiBiaXRtYXA7CiAjaWYgVVNFKElPU1VSRkFDRSkKICAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYkNvcmU6OklPU3VyZmFjZT4gc3VyZmFjZTsKLSAgICAgICAgYm9vbCBpc1ZvbGF0aWxl
ID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNWb2xhdGlsZSB7IGZhbHNlIH07CiAjZW5kaWYKIAog
ICAgICAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QKQEAgLTEzOCwxMSArMTQwLDkg
QEAgcHJpdmF0ZToKIAogICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IG1fZnJvbnRDb250ZXh0
UGVuZGluZ0ZsdXNoOwogCi0gICAgYm9vbCBtX2FjY2VsZXJhdGVzRHJhd2luZzsKLQogICAgIFdl
YkNvcmU6OlJlcGFpbnRSZWN0TGlzdCBtX3BhaW50aW5nUmVjdHM7CiAKLSAgICBzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbGFzdERpc3BsYXlUaW1lOworICAgIE1vbm90
b25pY1RpbWUgbV9sYXN0RGlzcGxheVRpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlLm1tCmluZGV4IGQ1NzE5ZGRhMTJiZWFiODIyZGYzMmI3MjE1OGViYTZhNWU5OTQyMDUuLmNi
Y2Y3MWM1Zjc1NGVlYzNlODYwZmYxMmZjNzNmZmE4NWM2N2RkMTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtNjIs
OCArNjIsNiBAQCBzdGF0aWMgV2ViQ29yZTo6SU9TdXJmYWNlOjpGb3JtYXQgYnVmZmVyRm9ybWF0
KGJvb2wgaXNPcGFxdWUpCiAKIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJh
Y2tpbmdTdG9yZShQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIGxheWVyKQogICAgIDogbV9sYXllcihs
YXllcikKLSAgICAsIG1faXNPcGFxdWUoZmFsc2UpCi0gICAgLCBtX2xhc3REaXNwbGF5VGltZShz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50OjptaW4oKSkKIHsKICAgICBpZiAo
IW1fbGF5ZXIpCiAgICAgICAgIHJldHVybjsKQEAgLTIzMSw3ICsyMjksNyBAQCBib29sIFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KCkKIHsKICAgICBBU1NFUlQoIW1fZnJvbnRDb250
ZXh0UGVuZGluZ0ZsdXNoKTsKIAotICAgIG1fbGFzdERpc3BsYXlUaW1lID0gc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgbV9sYXN0RGlzcGxheVRpbWUgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKIAogICAgIGJvb2wgbmVlZFRvRW5jb2RlQmFja2luZ1N0b3JlID0gZmFsc2U7
CiAgICAgaWYgKFJlbW90ZUxheWVyVHJlZUNvbnRleHQqIGNvbnRleHQgPSBtX2xheWVyLT5jb250
ZXh0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCBmZTQ5NzFlZTczOTI0MTRhYmMx
MTk0MGFjNzlmOGY3OTE0Y2E0ODYyLi5jZDgzYTM4ZDk4NDU1ZGI1ZDU0ZWQzZjQ2NTM5ODZlZWQ5
NzQ1MzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHJp
dmF0ZToKICAgICB9OwogICAgIHR5cGVkZWYgdW5zaWduZWQgVm9sYXRpbGl0eU1hcmtpbmdGbGFn
czsKICAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlJiwgVm9sYXRpbGl0eU1hcmtpbmdGbGFncyB2b2xhdGlsaXR5TWFya2lu
Z0ZsYWdzID0gMCk7Ci0gICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUmLCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG5v
dyk7CisgICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUmLCBNb25vdG9uaWNUaW1lIG5vdyk7CiAKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlKj4gbV9saXZlQmFja2luZ1N0b3JlOwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmUqPiBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5t
bSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uLm1tCmluZGV4IDI2ODM2ZTdiZjM4NjQ3ZTQ4MDBhNjRiMGM3NWNlNmZmYjBjYTE0YmUu
LmJkYzg3YTcwODA3MzY0ZTY2Mzk5YzlkNjdjMjU2ZTMxZWZmYzhhZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uLm1tCkBAIC0zMCw5ICszMCw5IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oIgogCi1jb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9
IDFzOwotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2b2xhdGlsZVNlY29uZGFyeUJh
Y2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDIwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyB2b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDIwMG1zOworY29uc3QgU2Vjb25kcyB2
b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IFNlY29uZHMoMSk7Citjb25zdCBTZWNv
bmRzIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gU2Vjb25kcygw
LjIpOworY29uc3QgU2Vjb25kcyB2b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMC4y
KTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTEyMCw3ICsxMjAsNyBAQCBib29sIFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1t
ZWRpYXRlbHkoUmVtbwogICAgIHJldHVybiBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9s
YXRpbGU7CiB9CiAKLWJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJr
QmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9y
ZSwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBub3cpCitib29sIFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUsIE1vbm90b25pY1RpbWUgbm93KQog
ewogICAgIGlmIChub3cgLSBiYWNraW5nU3RvcmUubGFzdERpc3BsYXlUaW1lKCkgPCB2b2xhdGls
ZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkgewogICAgICAgICBpZiAobm93IC0gYmFja2luZ1N0
b3JlLmxhc3REaXNwbGF5VGltZSgpID49IHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdl
VGhyZXNob2xkKQpAQCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7CiAgICAgYm9vbCBzdWNjZXNz
ZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgPSB0cnVlOwogCi0gICAgYXV0byBub3cgPSBz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOwogICAgIGZvciAoY29uc3QgYXV0byYgYmFja2luZ1N0b3JlIDogbV9saXZl
QmFja2luZ1N0b3JlKQogICAgICAgICBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRp
bGUgJj0gbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKCpiYWNraW5nU3RvcmUsIG5vdyk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCmluZGV4IDgzOTQ1ZGZlZDMxYzU5MTgz
NThiZTdmNjcxNmIxYmZlNzAxODhiNTkuLjFiNWRkMDM2MzkxZjIyYjllYmM1YjcyM2Q5MjIzZjgw
MjkwZTlhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
QVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQpAQCAtNDYs
NyArNDYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAoIW1fY29udGV4dCkgewogICAg
ICAgICAgICAgbV9jb250ZXh0ID0gYWRvcHROUyhbW0pTQ29udGV4dCBhbGxvY10gaW5pdF0pOwot
ICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgxX3MpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX2NvbnRleHQu
Z2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3
LmNwcAppbmRleCBkMjc3MDA1OTYxZDI5YWVkNjc1MDkzNjk0YjIzZTRlODI1NWUxMDg2Li4xMTM1
Zjc5Nzg1ZWQ5Zjc3YzBhNWFiOTU5YmYxMjRkNzA2ZTllNzI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNTkwLDcgKzU5MCw3IEBAIHZvaWQg
RXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
aWYgKCFtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Rpc3BsYXlUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIEV3a1ZpZXc6OnNldFZpZXdwb3J0UG9zaXRpb24oY29uc3QgRmxvYXRQb2lu
dCYgY29udGVudHNQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCAwNGM3ZTk1NDcyOTk1N2NlNDI4
MmViNDBlMWM4NzEwM2MxNDQ1ZjVmLi5jMmJlMzY1ZjcxZTk4ZjM0ZjllODVlNGQ2YWQxODkzY2Vj
NjlmM2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yMTksNyArMjE5LDcgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0V2ViVmlld0Jhc2VTY2hlZHVsZVVwZGF0ZUFjdGl2aXR5U3RhdGUoV2ViS2l0V2ViVmlld0Jh
c2UqIHdlYlYKICAgICBpZiAocHJpdi0+dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLmlzQWN0aXZl
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgcHJpdi0+dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4gdG9wbGV2ZWxXaW5kb3dGb2N1
c0luRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50Rm9jdXMqLCBXZWJLaXRXZWJWaWV3
QmFzZSogd2ViVmlld0Jhc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q2hpbGRQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJv
Y2Vzc1Byb3h5LmNwcAppbmRleCBmZDhiYzVhYzlhOTdjODMwNTVkNDhiNzViYTgwMDkzMzk5NjUx
N2IwLi4yZDZmZWI5NDdmMWM4NjgxZTMwYmYxNGIwZGM3NjVjODE0MzJmNjNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKQEAgLTE5Myw3ICsx
OTMsNyBAQCB2b2lkIENoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93blByb2Nlc3MoKQogICAgICAg
ICAvLyBPbiBpT1MgZGVwbG95IGEgd2F0Y2hkb2cgaW4gdGhlIFVJIHByb2Nlc3MsIHNpbmNlIHRo
ZSBjaGlsZCBwcm9jZXNzIG1heSBiZSBzdXNwZW5kZWQuCiAgICAgICAgIC8vIElmIDMwcyBpcyBp
bnN1ZmZpY2llbnQgZm9yIGFueSBvdXRzdGFuZGluZyBhY3Rpdml0eSB0byBjb21wbGV0ZSBjbGVh
bmx5LCB0aGVuIGl0IHdpbGwgYmUga2lsbGVkLgogICAgICAgICBBU1NFUlQobV9jb25uZWN0aW9u
KTsKLSAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwKTsKKyAgICAgICAgbV9j
b25uZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwX3MpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgU3RhdGU6OlRlcm1pbmF0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQppbmRleCA0NTI5OTIyYjRmYmY2YmY1MzFjN2Mw
NWE3YzIyM2I2MzUxNDMyNTYwLi5mODE2ZTdmMGMzMjFhZjJhOWQ4NjIxYTdiNGM1ZjFhOGE3ODAz
OTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlv
blN0YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9u
U3RhdGUubW0KQEAgLTg1Miw3ICs4NTIsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hh
bmdlSXNMb2FkaW5nKCkKICAgICB9IGVsc2UgewogICAgICAgICAvLyBEZWxheSByZWxlYXNpbmcg
dGhlIGJhY2tncm91bmQgYWN0aXZpdHkgZm9yIDMgc2Vjb25kcyB0byBnaXZlIHRoZSBhcHBsaWNh
dGlvbiBhIGNoYW5jZSB0byBzdGFydCBhbm90aGVyIG5hdmlnYXRpb24KICAgICAgICAgLy8gYmVm
b3JlIHN1c3BlbmRpbmcgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyA8cmRhcjovL3Byb2JsZW0vMjc5
MTA5NjQ+LgotICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzcyk7
CisgICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNfcyk7CiAgICAg
fQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9W
aWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggNDlmMThlMzc4YTUyOWQwNTY1YjBkN2Vl
OWU2MTg4MjEyY2ZkZDJiOC4uNmI1NGM2ZGRlOGQ5Njg2YWIzNTgyZmFhMTgwMmQyOWE2MWQ2ZWE5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJl
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTQwLDEzICs0MCwxMyBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVy
dmFsID0gMjUwbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdh
dGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IFNlY29uZHMo
Myk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRN
b25pdG9yaW5nSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMjUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQot
c3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0
Y2hkb2dEdXJhdGlvbiA9IDVzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJl
bW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBzdGQ6OmNo
cm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzczsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlv
biA9IDNfczsKICNlbmRpZgogCiBzdGF0aWMgSGFzaE1hcDx1aW50NjRfdCwgVmlld0dlc3R1cmVD
b250cm9sbGVyKj4mIHZpZXdHZXN0dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygpCkBAIC0yOTcs
MTAgKzI5NywxMCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFs
VHJhY2tlcjo6d2F0Y2hkb2dUaW1lckZpcmVkKCkKICAgICBmaXJlUmVtb3ZhbENhbGxiYWNrSW1t
ZWRpYXRlbHkoKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVt
b3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMgZHVyYXRpb24p
Cit2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3Rh
cnRXYXRjaGRvZyhTZWNvbmRzIGR1cmF0aW9uKQogewotICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgi
KHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICVsbGQgc2Vjb25kcyIsIGR1cmF0aW9uLmNv
dW50KCkpKTsKLSAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uLmNvdW50
KCkpOworICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIg
Zm9yICUuM2Ygc2Vjb25kcyIsIGR1cmF0aW9uLnZhbHVlKCkpKTsKKyAgICBtX3dhdGNoZG9nVGlt
ZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250
cm9sbGVyLmgKaW5kZXggNzU4ZDczNTBkYmQ4NDc1NzQ2NmNjZGJhODQzNmI2ZTQ5ZDYyYmMyZC4u
ZTE0ZDczOTcxOTJhZDBjMDdmMTIyODA5ZmM4N2IxNDQ0NzZkNGRjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApA
QCAtMTU3LDcgKzE1Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlbnRPY2N1cnJlZChF
dmVudHMpOwogICAgICAgICBib29sIGNhbmNlbE91dHN0YW5kaW5nRXZlbnQoRXZlbnRzKTsKIAot
ICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMpOworICAgICAg
ICB2b2lkIHN0YXJ0V2F0Y2hkb2coU2Vjb25kcyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBz
dGF0aWMgU3RyaW5nIGV2ZW50c0Rlc2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDQ5
ZDRkNWJkNWE5OWQ0ZDk4MTExNmEwOGExMzI3ZDUwMWNiYWI5NTEuLmIwYzMxY2IxZWRkMDI1MmEy
MmJiOWE3YTk4MTM2MmNhZDQyNGJhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0yNTMsNyArMjUzLDcgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEKICNlbmRpZgogCiAgICAgcGFyYW1ldGVycy5zaG91bGRT
dXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktp
dFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXldOwotICAgIHBhcmFtZXRl
cnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoW2RlZmF1
bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNl
Y29uZHNEZWZhdWx0c0tleV0pOworICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9
IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0
TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOwogCiAj
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTEwMAogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGNvb2tpZVN0b3JhZ2VEYXRhID0gYWRvcHRD
RihDRkhUVFBDb29raWVTdG9yYWdlQ3JlYXRlSWRlbnRpZnlpbmdEYXRhKGtDRkFsbG9jYXRvckRl
ZmF1bHQsIFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gX2Nv
b2tpZVN0b3JhZ2VdKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eS5jcHAKaW5kZXggYjQ1ZjIyNzllNzJiZWVlMGFlNzMzYzZlMTBhYjE0MTkyZTAxZjJlNS4u
ODVlYzM4MzdjOTE1ZWU4YWMyN2Q5Y2YxM2U4ZWMzNGM2M2RkOWI3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtODMsNyArODMsNyBAQCB2
b2lkIERyYXdpbmdBcmVhUHJveHk6OnNldFZpZXdFeHBvc2VkUmVjdChzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkZsb2F0UmVjdD4gdmlldwogICAgIG1fdmlld0V4cG9zZWRSZWN0ID0gdmlld0V4cG9z
ZWRSZWN0OwogCiAgICAgaWYgKCFtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnZpZXdFeHBvc2VkUmVjdENoYW5nZWRU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuY3BwCmluZGV4IDQ0MGRmOWEzM2VlNjk4NjdiNjQyNThkMDMyZTA1ZTgxOWYxM2E4
MTQuLjAwOTlhNWY2NzEwM2M3ZTNjMWJiNjlhY2IxZjg4NmRkMzMxMTAzYTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMTgw
LDcgKzE4MCw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3Rv
cmVTb29uKCkKIAogICAgIC8vIFdlJ2xsIHdhaXQgdGhpcyBtYW55IHNlY29uZHMgYWZ0ZXIgdGhl
IGxhc3QgcGFpbnQgYmVmb3JlIHRocm93aW5nIGF3YXkgb3VyIGJhY2tpbmcgc3RvcmUgdG8gc2F2
ZSBtZW1vcnkuCiAgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIHNtYXJ0ZXIgdG8gbWFrZSB0aGlz
IGRlbGF5IGJhc2VkIG9uIGhvdyBleHBlbnNpdmUgcGFpbnRpbmcgaXMuIFNlZSA8aHR0cDovL3dl
YmtpdC5vcmcvYi81NTczMz4uCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBkaXNjYXJkQmFja2lu
Z1N0b3JlRGVsYXkgPSAyOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGRpc2NhcmRCYWNraW5n
U3RvcmVEZWxheSA9IDJfczsKIAogICAgIG1fZGlzY2FyZEJhY2tpbmdTdG9yZVRpbWVyLnN0YXJ0
T25lU2hvdChkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkpOwogfQpAQCAtMjExLDEzICsyMTEsMTMg
QEAgaW50IERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6d2ViVmlld0RyYXdD
YWxsYmFjayhEcmF3aW5nQXJlYVByb3h5SW0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6
RHJhd2luZ01vbml0b3I6OnN0YXJ0KHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpF
cnJvcik+IGNhbGxiYWNrKQogewotICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lTVMoKTsKKyAgICBtX3N0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwog
ICAgIG1fY2FsbGJhY2sgPSBjYWxsYmFjazsKICNpZiBQTEFURk9STShHVEspCiAgICAgZ19zaWdu
YWxfY29ubmVjdF9zd2FwcGVkKG1fd2ViUGFnZS52aWV3V2lkZ2V0KCksICJkcmF3IiwgcmVpbnRl
cnByZXRfY2FzdDxHQ2FsbGJhY2s+KHdlYlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KDEpKTsKICNlbHNlCi0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgogfQogCkBAIC0yMjcsNyArMjI3LDcgQEAgdm9pZCBE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0b3AoKQogI2lmIFBMQVRGT1JN
KEdUSykKICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMobV93ZWJQYWdl
LnZpZXdXaWRnZXQoKSwgcmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcj4od2ViVmlld0RyYXdDYWxs
YmFjayksIHRoaXMpOwogI2VuZGlmCi0gICAgbV9zdGFydFRpbWUgPSAwOworICAgIG1fc3RhcnRU
aW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgIGlmIChtX2NhbGxiYWNrKSB7CiAgICAgICAgIG1f
Y2FsbGJhY2soQ2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSk7CiAgICAgICAgIG1fY2FsbGJhY2sg
PSBudWxscHRyOwpAQCAtMjM5LDEwICsyMzksMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1w
bDo6RHJhd2luZ01vbml0b3I6OmRpZERyYXcoKQogICAgIC8vIFdlIHdhaXQgdXAgdG8gMSBzZWNv
bmQgZm9yIGRyYXcgZXZlbnRzLiBJZiB0aGVyZSBhcmUgc2V2ZXJhbCBkcmF3IGV2ZW50cyBxdWV1
ZWQgcXVpY2tseSwKICAgICAvLyB3ZSB3YW50IHRvIHdhaXQgdW50aWwgYWxsIG9mIHRoZW0gaGF2
ZSBiZWVuIHByb2Nlc3NlZCwgc28gYWZ0ZXIgcmVjZWl2aW5nIGEgZHJhdywgd2Ugd2FpdAogICAg
IC8vIHVwIHRvIDEwMG1zIGZvciB0aGUgbmV4dCBvbmUgb3Igc3RvcC4KLSAgICBpZiAobW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lTVMoKSAtIG1fc3RhcnRUaW1lID4gMTAwMCkKKyAgICBpZiAo
TW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0VGltZSA+IDFfcykKICAgICAgICAgc3RvcCgp
OwogICAgIGVsc2UKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC4xMDApOworICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94
eUltcGw6OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoc3RkOjpmdW5jdGlvbjx2b2lkKENh
bGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFja0Z1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAppbmRleCA4OWM3MTNmYzg3YTczNTQ5
MzAzOGFkMTBkOTBkYzFjZjYwNjFkNDU3Li41YWE2NmM2ZDA0OGJkMGY3ZDI2ZjhjN2M2NGVkMGQx
YTI4MmY3ZjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuaApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGRpZERy
YXcoKTsKIAogICAgICAgICBXZWJQYWdlUHJveHkmIG1fd2ViUGFnZTsKLSAgICAgICAgZG91Ymxl
IG1fc3RhcnRUaW1lIHsgMCB9OworICAgICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwog
ICAgICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBtX2NhbGxi
YWNrOwogICAgICAgICBSdW5Mb29wOjpUaW1lcjxEcmF3aW5nTW9uaXRvcj4gbV90aW1lcjsKICAg
ICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1l
cGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1l
cGFkUHJvdmlkZXIuY3BwCmluZGV4IDY3N2NkNjczOTFhZjU2OWY0MmFmZmJkZjQ0MGFhZTIxNTUx
NWY0M2UuLmNlYTk4MmY2ZTIyYzYwNDk4ZWFiODI5Njk0M2Y1MDUzMmI4YjQzNmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRl
ci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heGltdW1HYW1lcGFkVXBkYXRl
SW50ZXJ2YWwgPSAxIC8gMTIwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtR2FtZXBh
ZFVwZGF0ZUludGVydmFsID0gU2Vjb25kcygxIC8gMTIwLjApOwogCiBVSUdhbWVwYWRQcm92aWRl
ciYgVUlHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1
NGRmYjNiMDU4ZDRmZTkwMzc0NjE1NzkyZWZhNTZiMDhmZGQwYjY4Li5iNjc2MTUxNGIxMjc1OTNk
ODNkZDlkMmNkOGExMWM0N2UzOTliNzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ2LDExICs0Niwx
MSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0
YXRpYyBjb25zdCBkb3VibGUgbWluaW11bUxpZmV0aW1lID0gMiAqIDYwOwotc3RhdGljIGNvbnN0
IGRvdWJsZSBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgPSAzMDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIG1pbmltdW1MaWZldGltZSA9IFNlY29uZHMoMiAqIDYwKTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSA9IDMwX3M7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgc2h1dGRvd25UaW1lb3V0ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBz
bmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgPSAxNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNo
dXRkb3duVGltZW91dCA9IFNlY29uZHMoMSAqIDYwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNu
YXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1X3M7CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5l
cmF0ZUNhbGxiYWNrSUQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAppbmRleCAzZTFjMmVmNWFmNjY3N2E5
Mjk5ZGU4NTQ5NDVmOTE0NTgwMzM0OWUzLi5kNWZiMWIyMzFiNDM3MGYwNmVkYzMxMzRmMzQ1YzVj
M2NjZWNkMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9n
dGsvUGx1Z2luSW5mb0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcApAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgUGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwg
Y29uc3QgUGx1Z2luTW9kCiAgICAgICAgIGlmIChtX3NhdmVUb0ZpbGVJZGxlLmlzQWN0aXZlKCkp
CiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9zYXZlVG9GaWxlSWRsZS5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Ro
cm90dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5j
cHAKaW5kZXggMjI3NWJiM2IyMjZiN2RiZDQ4ZDMzY2YwZjM2ZDIzNDlkODUwYmVjNi4uY2Q4MjVl
MWVlMGEwOWM1N2YzZTJkNjMxMmI3OWU3ZDRmMTcwZTNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKICAgICAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcm9jZXNzU3VzcGVu
c2lvblRpbWVvdXQgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2Nlc3NTdXNwZW5zaW9u
VGltZW91dCA9IDMwX3M7CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVyOjpQcm9jZXNzVGhyb3R0bGVy
KFByb2Nlc3NUaHJvdHRsZXJDbGllbnQmIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2Vz
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cAppbmRleCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFjNDA2N2VlZjJiLi5hNDBhOTk4
NmMzNGVkM2FjMmVlY2U3ODM0YzZhNTA0ZjYzZjhmYzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHJlc3BvbnNpdmVuZXNz
VGltZW91dCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXNwb25zaXZlbmVzc1RpbWVvdXQg
PSBTZWNvbmRzKDMpOwogCiBSZXNwb25zaXZlbmVzc1RpbWVyOjpSZXNwb25zaXZlbmVzc1RpbWVy
KFJlc3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3Rv
cmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCmlu
ZGV4IGEzZmI3NzBmNWNkYmNkY2I1ZmE3N2FiNGQyZjBiNTQ3NDQ4OTBmNmYuLjNlZDU1NzUzMTZi
ZmRkMDM2NTAzN2FkNmE4YmQ3ZDRhYTg0N2I0ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBWaXNpdGVk
TGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2goTGlua0hhc2ggbGlua0hhc2gpCiAgICAgbV9w
ZW5kaW5nVmlzaXRlZExpbmtzLmFkZChsaW5rSGFzaCk7CiAKICAgICBpZiAoIW1fcGVuZGluZ1Zp
c2l0ZWRMaW5rc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5r
c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVmlzaXRlZExpbmtTdG9yZTo6cmVtb3Zl
QWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4
IGY3Y2U2OWY0Y2U5NzY4MmM0YzUwNmYyM2ZiZjI0ODZiMGMwODgyNzcuLmI4MmI0ZGNhMjc5NjA1
ZGQzZmFmMTVlMmVmZjkzZWNjNmRlY2Q1YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIFdlYlByb2Nlc3NQb29sOjpX
ZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlv
bikKICAgICAsIG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KG1fY29uZmlndXJhdGlv
bi0+YWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkpCiAgICAgLCBtX3VzZXJPYnNlcnZh
YmxlUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzU3Vw
cHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZEZv
clBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHBy
ZXNzaW9uU3RhdGUoKTsgfSkKLSAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVh
c2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1faGlkZGVuUGFnZVRocm90dGxp
bmdUaW1lci5zdGFydE9uZVNob3QoMCk7IH0pCisgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5n
QXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBh
Z2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7IH0pCiAgICAgLCBtX2hpZGRlblBh
Z2VUaHJvdHRsaW5nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmV2ViUHJvY2Vzc1Bvb2w6
OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQpCiB7CiAgICAgZm9y
IChhdXRvJiBzY2hlbWUgOiBtX2NvbmZpZ3VyYXRpb24tPmFsd2F5c1JldmFsaWRhdGVkVVJMU2No
ZW1lcygpKQpAQCAtNTk4LDcgKzU5OCw3IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bv
b2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MoKQogICAgIC8vIGljb25EYXRhYmFzZVBhdGggaXMgbm9u
LWVtcHR5IGJ5IGRlZmF1bHQsIGJ1dCBtX2ljb25EYXRhYmFzZSBpc24ndCBlbmFibGVkIGluIFVJ
IHByb2Nlc3MgdW5sZXNzIHNldERhdGFiYXNlUGF0aCBpcyBjYWxsZWQgZXhwbGljaXRseS4KICAg
ICBwYXJhbWV0ZXJzLmljb25EYXRhYmFzZUVuYWJsZWQgPSAhaWNvbkRhdGFiYXNlUGF0aCgpLmlz
RW1wdHkoKTsKIAotICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMDsKKyAgICBw
YXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDBfczsKIAogICAgIHBhcmFtZXRlcnMudGV4
dENoZWNrZXJTdGF0ZSA9IFRleHRDaGVja2VyOjpzdGF0ZSgpOwogCkBAIC0xNDE5LDEwICsxNDE5
LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0
b0luY3JlYXNlTGltaXQoKQogICAgIC8vIFdlJ3JlIGVzdGltYXRpbmcgYW4gdXBwZXIgYm91bmQg
Zm9yIGEgc2V0IG9mIGJhY2tncm91bmQgdGltZXIgZmlyZXMgZm9yIGEgcGFnZSB0byBiZSAyMDBt
cwogICAgIC8vIChpbmNsdWRpbmcgYWxsIHRpbWVyIGZpcmVzLCBhbGwgcGFnaW5nLWluLCBhbmQg
YW55IHJlc3VsdGluZyBHQykuIFRvIGVuc3VyZSB0aGlzIGRvZXMgbm90CiAgICAgLy8gcmVzdWx0
IGluIG1vcmUgdGhhbiAxJSBDUFUgbG9hZCBhbGxvdyBmb3Igb25lIHRpbWVyIGZpcmUgcGVyIDEw
MHggdGhpcyBkdXJhdGlvbi4KLSAgICBzdGF0aWMgaW50IG1heGltdW1UaW1lclRocm90dGxlUGVy
UGFnZUluTVMgPSAyMDAgKiAxMDA7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bVRp
bWVyVGhyb3R0bGVQZXJQYWdlID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygyMDApICogMTAw
OwogCi0gICAgaW50IGxpbWl0SW5NaWxsaXNlY29uZHMgPSBtYXhpbXVtVGltZXJUaHJvdHRsZVBl
clBhZ2VJbk1TICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyLnZh
bHVlKCk7Ci0gICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRI
aWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdEluTWlsbGlzZWNvbmRz
KSk7CisgICAgU2Vjb25kcyBsaW1pdCA9IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZSAqIG1f
aGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgpOworICAgIHNl
bmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVuUGFnZVRpbWVy
VGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXQpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2Vy
Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJD
bGllbnRFZmwuY3BwCmluZGV4IDg1NzQ1YWMzMGFjN2I4M2UxNDgyNGJmZmVlYmE2OTA5MTNlOWI0
NGEuLjNiMjIzNzdjODM5MWQzYjgzNmM4YWQ3MDBjMzg0ZDAwM2VmZTZkMTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3Bw
CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6ZW5zdXJlU3Bl
bGxDaGVja2luZ0xhbmd1YWdlKCkKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OnVwZGF0ZVNw
ZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRlZmF1bHRMYW5ndWFn
ZXMpCiB7CiAgICAgbV9zcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0gZGVmYXVsdExhbmd1YWdlczsK
LSAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xhbmd1
YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRleHRDaGVja2Vy
Q2xpZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZpcmVkKCkKQEAgLTEyOCw3ICsxMjgsNyBA
QCBWZWN0b3I8U3RyaW5nPiBUZXh0Q2hlY2tlckNsaWVudEVmbDo6bG9hZGVkU3BlbGxDaGVja2lu
Z0xhbmd1YWdlcygpIGNvbnN0CiAKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OmNhbGxDb250
aW51b3VzU3BlbGxDaGVja2luZ0NoYW5nZUNhbGxiYWNrQXN5bmMoKQogewotICAgIG1fc3BlbGxD
aGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zcGVsbENo
ZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIFRl
eHRDaGVja2VyQ2xpZW50RWZsOjppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZENhbGxi
YWNrKGNvbnN0IHZvaWQqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0
ay9HZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA3ZTE1NzdjYmE4YjE1NzA1MjY0ZTViYTU0NzVmZmM1
OTYyZGFiODg5Li45M2RkZDc2OGRiYTRjYmUwMzBkNDMxZTRiNGQ4NTdhNjg4ZDBmOTFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNw
cApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJl
OjpiZWdpbihEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkCiAgICAgR3RrV2lk
Z2V0KiB3aWRnZXQgPSBndGtfZXZlbnRfY29udHJvbGxlcl9nZXRfd2lkZ2V0KEdUS19FVkVOVF9D
T05UUk9MTEVSKGdlc3R1cmUpKTsKICAgICB1bnNpZ25lZCBkZWxheTsKICAgICBnX29iamVjdF9n
ZXQoZ3RrX3dpZGdldF9nZXRfc2V0dGluZ3Mod2lkZ2V0KSwgImd0ay1sb25nLXByZXNzLXRpbWUi
LCAmZGVsYXksIG51bGxwdHIpOwotICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQu
c3RhcnRPbmVTaG90KGRlbGF5IC8gMTAwMC4wKTsKKyAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJl
c3NUaW1lb3V0LnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGRlbGF5KSk7
CiB9CiAKIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjp1cGRhdGUoRHJhZ0dl
c3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZG91YmxlIHksIEd0a0dlc3R1cmUqIGdlc3R1
cmUpCkBAIC0yMDYsNyArMjA2LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1
cmU6OnNjYWxlQ2hhbmdlZChab29tR2VzdHVyZSogem9vbUdlc3R1cmUsIGRvdWIKICAgICBpZiAo
em9vbUdlc3R1cmUtPm1faWRsZS5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICB6
b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB6b29tR2VzdHVyZS0+bV9p
ZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBHZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1
cmU6Olpvb21HZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKaW5kZXggZGMxOThk
ODU4ZjEzYTNjMTIzNmU1MTFkMzhkYjY4NTI2MTM3ODRhNC4uNTMxN2ZlZDlkODkyOTNhYmQ0MjEy
YzIwODVkNjRjMmI5NDM3YTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lk
IFdlYlBvcHVwTWVudVByb3h5R3RrOjptZW51VW5tYXBwZWRDYWxsYmFjayhHdGtXaWRnZXQqLCBX
ZWJQb3B1cE1lbnVQcm94eUd0awogICAgIC8vIFdoZW4gYW4gaXRlbSBpcyBhY3RpdmF0ZWQsIHRo
ZSBtZW51IGlzIGZpcnN0IGhpZGRlbiBhbmQgdGhlbiBhY3RpdmF0ZSBzaWduYWwgaXMgZW1pdHRl
ZCwgc28gYXQgdGhpcyBwb2ludCB3ZSBkb24ndCBrbm93CiAgICAgLy8gaWYgdGhlIG1lbnUgaGFz
IGJlZW4gaGlkZGVuIGJlY2F1c2UgYW4gaXRlbSBoYXMgYmVlbiBzZWxlY3RlZCBvciBiZWNhdXNl
IHRoZSBtZW51IGhhcyBiZWVuIGRpc21pc3NlZC4gV2FpdCB1bnRpbCB0aGUgbmV4dAogICAgIC8v
IG1haW4gbG9vcCBpdGVyYXRpb24gdG8gZGlzbWlzcyB0aGUgbWVudSwgaWYgYW4gaXRlbSBpcyBh
Y3RpdmF0ZWQgdGhlIHRpbWVyIHdpbGwgYmUgY2FuY2VsbGVkLgotICAgIHBvcHVwTWVudS0+bV9k
aXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBwb3B1cE1lbnUtPm1fZGlzbWlz
c01lbnVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJQb3B1cE1lbnVQcm94
eUd0azo6c2VsZWN0SXRlbUNhbGxiYWNrKEd0a1dpZGdldCogaXRlbSwgV2ViUG9wdXBNZW51UHJv
eHlHdGsqIHBvcHVwTWVudSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDgxOGJkMzkwZDQ4M2QwODIyYmFlNzkzNGUx
MDZmZGJiMGNkZmY4NTQuLmRmYWQzMmVjZWY4YzQwOGExMGIyNTkxZjhiMDM3Nzg2MjE1MzM0MWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJv
eHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQ
cm94eU1hYy5tbQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgTlNVSW50ZWdlciB3aW5k
b3dTdHlsZU1hc2sgPSBOU1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8IE5TV2luZG93U3R5bAogCiAv
LyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9zaW5nIGl0IGFu
ZCBpdHMgcHJvY2Vzcy4KIC8vIFJldXNpbmcgdGhlIFdlYlZpZXcgaW1wcm92ZXMgc3RhcnQgdXAg
dGltZSBmb3IgcGVvcGxlIHRoYXQganVtcCBpbiBhbmQgb3V0IG9mIHRoZSBJbnNwZWN0b3IuCi1z
dGF0aWMgY29uc3QgdW5zaWduZWQgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwOworc3RhdGljIGNv
bnN0IFNlY29uZHMgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwX3M7CiAKIC8vIFdLV2ViSW5zcGVj
dG9yUHJveHlPYmpDQWRhcHRlciBpcyBhIGhlbHBlciBPYmpDIG9iamVjdCB1c2VkIGFzIGEgZGVs
ZWdhdGUgb3Igbm90aWZpY2F0aW9uIG9ic2VydmVyCiAvLyBmb3IgdGhlIHNvbGUgcHVycG9zZSBv
ZiBnZXR0aW5nIGJhY2sgaW50byB0aGUgQysrIGNvZGUgZnJvbSBhbiBPYmpDIGNhbGxlci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3Ry
YXRlZ3kuY3BwCmluZGV4IGU4OTFjZDAzMmIyZjQzNjY0YjY3ZTA2ZGJlY2NjOGVlMDM1OGRkOGYu
LmM1ZmNkZTk3N2E5ODFhMzYwZDUwMjY2NGU4YjU2MDA5YmZjNTJhMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cApAQCAtOTEsMTQgKzkxLDE0IEBAIFJlZlB0cjxOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcj4g
V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlUGx1Z2luU3RyZWFtTG9hZChGCiAgICAgcmV0dXJu
IGxvYWRlcjsKIH0KIAotc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1
ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQorc3RhdGljIFNlY29uZHMgbWF4
aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogewogI2lmICFFTkFC
TEUoTkVUV09SS19DQUNIRSkKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVybiAwX3M7CiAjZW5k
aWYKIAogICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJl
dHVybiAwX3M7CiAKICAgICBzd2l0Y2ggKHJlc291cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgpAQCAtMTA3LDkgKzEwNyw5IEBAIHN0YXRpYyBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdGb250UmVzb3VyY2U6
CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6Ci0gICAgICAg
IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAgICAgICAgcmV0dXJu
IFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNv
dXJjZToKLSAgICAgICAgcmV0dXJuIDUwMG1zOworICAgICAgICByZXR1cm4gNTAwX21zOwogICAg
IGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1lZGlhUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6TWFpblJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlJhd1Jlc291cmNl
OgpAQCAtMTI0LDExICsxMjQsMTEgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogI2lmIEVOQUJM
RShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6CiAjZW5kaWYK
LSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICB9CiAKICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVybiAwX3M7CiB9
CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYg
cmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRDbGVh
clJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQg
V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VM
b2FkZXIsIENhY2hlZFJlc291CiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUludGVy
bmFsbHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlcikK
IHsKICAgICBtX2ludGVybmFsbHlGYWlsZWRSZXNvdXJjZUxvYWRlcnMuYWRkKCZyZXNvdXJjZUxv
YWRlcik7Ci0gICAgbV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OmludGVybmFsbHlGYWlsZWRMb2FkVGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TlBSdW50aW1lT2JqZWN0TWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCmluZGV4IDQ5OTIwZjJjYWE4NGY3Njli
NjJkMjQ2MmE5Yzk4MDdmNTIwY2YzZWQuLjFjMWVlNjIxZDI0YjcwYWYzYWFkYTEzMzEwNjI0Mjdh
MzAyYzYwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCkBAIC0yOTMsNyAr
MjkzLDcgQEAgdm9pZCBOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUo
TlBPYmplY3QqIG5wT2JqZWN0KQogICAgIGlmICh0cnlTYWZlUmVsZWFzZU5QT2JqZWN0KG5wT2Jq
ZWN0KSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX25wT2JqZWN0c1RvRmluYWxpemUuaXNF
bXB0eSgpKQotICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBBU1NFUlQo
bV9maW5hbGl6YXRpb25UaW1lci5pc0FjdGl2ZSgpKTsKICAgICBtX25wT2JqZWN0c1RvRmluYWxp
emUuYXBwZW5kKG5wT2JqZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCmluZGV4IDVj
OWE5MTgyNDU2NmE0NjMwMTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2QuLjU0MTcxYzIyNTQ3OGY3NjZk
YzJjNmFhYjU3MDkwNGM1MWMwY2IwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcApAQCAt
MzI2LDcgKzMyNiw3IEBAIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6flRpbWVyKCkKIAogdm9pZCBO
ZXRzY2FwZVBsdWdpbjo6VGltZXI6OnN0YXJ0KCkKIHsKLSAgICBkb3VibGUgdGltZUludGVydmFs
ID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICBTZWNvbmRzIHRpbWVJbnRlcnZhbCA9IFNlY29u
ZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAKICAgICBpZiAobV9yZXBlYXQpCiAg
ICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdp
blN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCmluZGV4IDdkNTRkODhjN2U4OThjNWNlMGJhZGYxZDc2
OWIyZTVkMzVkOWEyNTQuLjIzNDk5MTMwY2M1OTY1YmNhNjFiN2I4MjgyZTk1ZDNhN2ZmN2I3ZWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
ZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcApAQCAtMjIyLDcgKzIyMiw3
IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVnaW4oKQogCiAg
ICAgICAgIGlmIChudW1CeXRlc1BsdWdpbkNhbkhhbmRsZSA8PSAwKSB7CiAgICAgICAgICAgICAv
LyBUaGUgcGx1Zy1pbiBjYW4ndCBoYW5kbGUgbW9yZSBkYXRhLCB3ZSdsbCBzZW5kIHRoZSByZXN0
IGxhdGVyCi0gICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdp
bk1hYy5tbQppbmRleCBiOTI2ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1NDNjNmFjYzJlNWUwLi41
MDQ0MmE3ZTY4NzJlMDkxMTNmYzNkNGM2MjY1ZDkyMTZlY2MzMzU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2lu
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9t
YWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmbmRlZiBOUF9OT19DQVJCT04KLXN0
YXRpYyBjb25zdCBkb3VibGUgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyX3M7CiAKIHN0YXRp
YyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21MYXN0TW91c2VFdmVudDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGFjMWRhYWJh
ZDA2M2E0OTYyNmIzN2UwNDAyZTllYmY1NDkyZDNiMWIuLmI0ZjE1MzU3Zjg2MTA1ZmYzOTVlNDRl
MjFjNTA5NzU4M2RhNmU2MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gVGhpcyBzaW11bGF0ZWQgbW91c2UgY2xp
Y2sgZGVsYXkgaW4gSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgc2hvdWxkIGdlbmVyYWxseSBi
ZSB0aGUgc2FtZSBvciBzaG9ydGVyIHRoYW4gdGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBhdXRv
IHBsdWdpblNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAx
MTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSBT
ZWNvbmRzKDEuMSk7CiAKIGNsYXNzIFBsdWdpblZpZXc6OlVSTFJlcXVlc3QgOiBwdWJsaWMgUmVm
Q291bnRlZDxVUkxSZXF1ZXN0PiB7CiBwdWJsaWM6CkBAIC0xMTY0LDcgKzExNjQsNyBAQCB2b2lk
IFBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQoKQogCiAgICAgLy8gSWYg
dGhlcmUgYXJlIG1vcmUgcmVxdWVzdHMgdG8gcGVyZm9ybSwgcmVzY2hlZHVsZSB0aGUgdGltZXIu
CiAgICAgaWYgKCFtX3BlbmRpbmdVUkxSZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVu
ZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdV
UkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIAogICAgIHBlcmZvcm1VUkxS
ZXF1ZXN0KHVybFJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtMTQyMyw3ICsxNDIzLDcgQEAgdm9pZCBQ
bHVnaW5WaWV3Ojpsb2FkVVJMKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgU3RyaW5nJiBtZXRo
b2QsIGNvbnN0IFN0cmluZyYKICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5yZXNvdXJjZVJlcXVl
c3QoKS5zZXRIVFRQUmVmZXJyZXIocmVmZXJyZXIpOwogCiAgICAgbV9wZW5kaW5nVVJMUmVxdWVz
dHMuYXBwZW5kKFVSTFJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIGZyYW1lTG9hZFJlcXVlc3Qs
IGFsbG93UG9wdXBzKSk7Ci0gICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBQbHVnaW5WaWV3OjpjYW5jZWxTdHJlYW1Mb2FkKHVpbnQ2NF90IHN0cmVhbUlE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJh
dGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Fj
Y2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGI4NzhmYmM5ODQyZTNlYmFkNjdmNmZmOThk
Nzk5MGM5Y2E2MzA1ZTUuLjc0ZTJjMjMzNzRjYTlmM2M0NWVhMzA4OTcyNjNmM2Y1YTFiMTFmMzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRl
ZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
QWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lkIEFjY2Vs
ZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNvb24oKQog
ICAgIGlmIChleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVQZW5kaW5nKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRp
bmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmM2RhZWZj
Nzg3NmQ5ODNiZTE1YzliYmMyZGFhYzE4MjVlOGFiYzI3Li44ZWU3ZGRmMTk4MmQ5MTdmYWY3MTU1
ZDE5ODM4NGQ0MzFkODc5NGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMTU1LDExICsxNTUsMTEgQEAgdm9pZCBD
b21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzeW5jRGlzcGxheVN0YXRlKCkKIH0KIAogI2lmIEVOQUJM
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLWRvdWJsZSBDb21wb3NpdGluZ0Nvb3JkaW5hdG9y
OjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdAorU2Vjb25kcyBDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdAogewogICAgIC8vIEFj
Y29yZGluZyB0byB0aGUgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHNwZWMsIHJBRiBjYWxsYmFja3Mg
c2hvdWxkIG5vdCBiZSBmYXN0ZXIgdGhhbiA2MEZQUy4KLSAgICBzdGF0aWMgY29uc3QgZG91Ymxl
IE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyA9IDEuIC8gNjAuOwotICAgIHJldHVybiBzdGQ6
Om1heDxkb3VibGU+KDAuLCBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgLSB0aW1lc3RhbXAo
KSArIG1fbGFzdEFuaW1hdGlvblNlcnZpY2VUaW1lKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25k
cyBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgPSBTZWNvbmRzKDEuMCAvIDYwKTsKKyAgICBy
ZXR1cm4gc3RkOjptYXg8U2Vjb25kcz4oMF9zLCBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMg
LSBTZWNvbmRzKHRpbWVzdGFtcCgpICsgbV9sYXN0QW5pbWF0aW9uU2VydmljZVRpbWUpKTsKIH0K
ICNlbmRpZgogCkBAIC0zOTgsNyArMzk4LDcgQEAgYm9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9y
OjpwYWludFRvU3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplLCBDb29yZGluYXRlZFN1cmYKICAg
ICByZXR1cm4gbV91cGRhdGVBdGxhc2VzLmxhc3QoKS0+cGFpbnRPbkF2YWlsYWJsZUJ1ZmZlcihz
aXplLCBhdGxhc0lELCBvZmZzZXQsIGNsaWVudCk7CiB9CiAKLWNvbnN0IGRvdWJsZSBSZWxlYXNl
SW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgUmVsZWFz
ZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAogdm9pZCBDb21wb3NpdGlu
Z0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFjdGl2ZUF0bGFzZXMoKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCmluZGV4
IGY5OGEzNmJjMjdhN2YyYmNlMTc3ZDEyN2NmOTdmNjlkYmUxYzc1MWEuLmViZjY1YmI3ZjljZGI3
ZWNlMjdiY2YwMTAzMzc1ZDRjZmQ4ZTIzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0
b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTg3LDcgKzg3LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgc3luY0Rpc3BsYXlTdGF0ZSgpOwogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKQotICAgIGRvdWJsZSBuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25z
dDsKKyAgICBTZWNvbmRzIG5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0OwogI2VuZGlm
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCA5ZjZhODMyMWUzZjI1MWFhNWUzNmU1MzcxOGQ4
Y2FhOTc3ODA5NTZhLi5jNDdiYjA3Y2Q1ZDVmMjYwN2U4Mzc1ZWEwZDViZTQ3MmM2NDRhNTRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdC5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhv
c3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9s
YXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sYXllckZsdXNoVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNhbmNlbFBlbmRpbmdMYXll
ckZsdXNoKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggNTRiNGVhZDk4M2Y3NTZiZDE0OGUxYWY0Y2JlZDY0NzM5
ODA3OTQyZC4uMGQxYjUxMDEwNjg1MTg1ZjgwMzE5ZTkwOGJlY2Y3NDhjYTU1OGIyOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVE
aXNwbGF5KCkKICAgICBpZiAobV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGxh
eVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlz
cGxheVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IDAzMWJjYTlkYTFiZDY0MDFmNjQwZTA2ODRmZmZkZDUzOTgyNDZkNDcu
LjA5YTJjZmIzNzE2ZWU5OWJkZmU5MGQ3MGZhMmU0YWNiZGMzNzgxMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI1Myw5ICsyNTMsOSBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRp
YyBjb25zdCBkb3VibGUgcGFnZVNjcm9sbEh5c3RlcmVzaXNTZWNvbmRzID0gMC4zOwotc3RhdGlj
IGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRp
bWVySW50ZXJ2YWwgeyAyMCB9Owotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIG1h
eGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMiB9Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgcGFnZVNjcm9sbEh5c3RlcmVzaXMgPSAwLjNfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsID0gMjBfbXM7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDJfczsKIAog
I2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdh
eXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVycywgX19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVB
U0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5
c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJzLCBfX1ZBX0FSR1NfXykKQEAgLTMxNCw3ICszMTQs
NyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAg
ICwgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKnRoaXMpCiAjZW5kaWYKLSAg
ICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRl
KSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Ny
b2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAsIG1fcGFnZVNj
cm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0
ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0s
IHBhZ2VTY3JvbGxIeXN0ZXJlc2lzKQogICAgICwgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJt
UGFuZWwocGFyYW1ldGVycy5jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBt
X2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMuY2FuUnVuTW9kYWwpCiAjaWYgUExBVEZPUk0oSU9TKQpA
QCAtMjA1MSw3ICsyMDUxLDcgQEAgdm9pZCBXZWJQYWdlOjpjYWxsVm9sYXRpbGl0eUNvbXBsZXRp
b25IYW5kbGVycygpCiAKIHZvaWQgV2ViUGFnZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgp
CiB7Ci0gICAgYXV0byBuZXdJbnRlcnZhbCA9IDIgKiBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJl
cGVhdEludGVydmFsTVMoKTsKKyAgICBTZWNvbmRzIG5ld0ludGVydmFsID0gbV9sYXllclZvbGF0
aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbCgpICogMjsKICAgICBib29sIGRpZFN1Y2NlZWQgPSBt
YXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKTsKICAgICBpZiAoZGlkU3Vj
Y2VlZCB8fCBuZXdJbnRlcnZhbCA+IG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFs
KSB7CiAgICAgICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RvcCgpOwpAQCAtMjA2MCw3ICsy
MDYwLDcgQEAgdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKCkKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVw
IC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwg
cmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIHN0YXRpY19jYXN0PGxvbmcgbG9uZz4obmV3SW50ZXJ2
YWwuY291bnQoKSkpOworICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2Vi
UGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkg
aW4gJS4zZiBzIiwgdGhpcywgbmV3SW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0
aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhuZXdJbnRlcnZhbCk7CiB9CiAKQEAgLTIwOTEsNyAr
MjA5MSw3IEBAIHZvaWQgV2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKHN0ZDo6ZnVuY3Rpb248
dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMg
YXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIGluaXRpYWxMYXllclZv
bGF0aWxpdHlUaW1lckludGVydmFsLmNvdW50KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRy
eSBpbiAlLjNmIHMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC52
YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGluaXRp
YWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKTsKIH0KIApAQCAtMjUzMCw3ICsyNTMwLDcg
QEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVJc0luV2luZG93KGJvb2wgaXNJbml0aWFsU3RhdGUpCiAg
ICAgICAgIC8vIGluIG9yZGVyIHRvIGdldCBwbHVnLWluIGNvbm5lY3Rpb25zLCBhbmQgdGhlIFVJ
IHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIGZvciB0aGUgV2ViIHByb2Nlc3MgdG8gdXBkYXRlIHRo
ZSBiYWNraW5nCiAgICAgICAgIC8vIHN0b3JlIGFmdGVyIG1vdmluZyB0aGUgdmlldyBpbnRvIGEg
d2luZG93LCB1bnRpbCBpdCB0aW1lcyBvdXQgYW5kIHBhaW50cyB3aGl0ZS4gU2VlIDxyZGFyOi8v
cHJvYmxlbS85MjQyNzcxPi4KICAgICAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRv
dykKLSAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
CiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhZ2VEaWRFbnRlcldpbmRvdyhtX3Bh
Z2VJRCk7CiAgICAgfQpAQCAtMzAzNyw3ICszMDM3LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQ
cmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICNlbmRpZgogCiAg
ICAgc2V0dGluZ3Muc2V0U3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c3VwcHJlc3Nlc0luY3JlbWVudGFsUmVu
ZGVyaW5nS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHBy
ZXNzaW9uVGltZW91dEluU2Vjb25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRLZXkoKSkp
OworICAgIHNldHRpbmdzLnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0
KFNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Omlu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0S2V5KCkpKSk7CiAgICAgc2V0dGlu
Z3Muc2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5OjpiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZEtleSgp
KSk7CiAgICAgc2V0dGluZ3Muc2V0V2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlv
cihzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OndhbnRzQmFsYW5j
ZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3JLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldENhcmV0
QnJvd3NpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6Y2FyZXRCcm93c2luZ0VuYWJsZWRLZXkoKSkpOwpAQCAtMzExMCw3ICszMTEwLDcgQEAgdm9p
ZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBz
dG9yZSkKICAgICBzZXR0aW5ncy5zZXRBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xs
KHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWx3YXlzVXNlQWNj
ZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbEtleSgpKSk7CiAKICAgICBzZXR0aW5ncy5zZXRQYXNzd29y
ZEVjaG9FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
cGFzc3dvcmRFY2hvRW5hYmxlZEtleSgpKSk7Ci0gICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hv
RHVyYXRpb25JblNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OnBhc3N3b3JkRWNob0R1cmF0aW9uS2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRQYXNz
d29yZEVjaG9EdXJhdGlvbihTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpwYXNzd29yZEVjaG9EdXJhdGlvbktleSgpKSkpOwogICAgIAogICAgIHNl
dHRpbmdzLnNldExheW91dEludGVydmFsKFNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxheW91dEludGVydmFsS2V5KCkpKSk7CiAgICAgc2V0dGlu
Z3Muc2V0TWF4UGFyc2VEdXJhdGlvbihzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6bWF4UGFyc2VEdXJhdGlvbktleSgpKSk7CkBAIC0zODQ4LDcgKzM4NDgsNyBA
QCB2b2lkIFdlYlBhZ2U6OmFkZFBsdWdpblZpZXcoUGx1Z2luVmlldyogcGx1Z2luVmlldykKICAg
ICBtX2hhc1NlZW5QbHVnaW4gPSB0cnVlOwogI2lmIEVOQUJMRShQUklNQVJZX1NOQVBTSE9UVEVE
X1BMVUdJTl9IRVVSSVNUSUMpCiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0
ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGFkZFBsdWdpblZpZXcoJXApIiwgcGx1
Z2luVmlldyk7Ci0gICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5U
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgogfQogCkBAIC00Mzg1LDcgKzQzODUsNyBA
QCB2b2lkIFdlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3coYm9vbCBtYXlTdGFy
dE1lZGlhKQogCiAgICAgbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ID0gbWF5U3RhcnRNZWRp
YTsKICAgICBpZiAobV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ICYmIG1fcGFnZS0+aXNJbldp
bmRvdygpKQotICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFdlYlBhZ2U6OnJ1bk1vZGFsKCkKQEAgLTUxNjMsNyArNTE2Myw3IEBAIHZvaWQgV2Vi
UGFnZTo6ZGlkRmluaXNoTG9hZChXZWJGcmFtZSogZnJhbWUpCiAKICAgICBtX3JlYWR5VG9GaW5k
UHJpbWFyeVNuYXBzaG90dGVkUGx1Z2luID0gdHJ1ZTsKICAgICBMT0coUGx1Z2lucywgIlByaW1h
cnkgUGx1Zy1JbiBEZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0ZWN0aW9uIGZyb20gZGlkRmluaXNo
TG9hZCAobWFya2luZyBhcyByZWFkeSB0byBkZXRlY3QpLiIpOwotICAgIG1fZGV0ZXJtaW5lUHJp
bWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGV0ZXJt
aW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZWxz
ZQogICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAjZW5kaWYKQEAgLTUxNzUsNyArNTE3NSw3IEBA
IHN0YXRpYyBjb25zdCBmbG9hdCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5TZWFyY2hCdWNrZXRT
aXplID0gMS4xOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5p
bXVtV2lkdGggPSA0MDA7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
bk1pbmltdW1IZWlnaHQgPSAzMDA7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4UHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMgPSAyOwotc3RhdGljIGNvbnN0IGludCBk
ZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gMzsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9u
RGVsYXkgPSAzX3M7CiBzdGF0aWMgY29uc3QgZmxvYXQgb3ZlcmxhcHBpbmdJbWFnZUJvdW5kc1Nj
YWxlID0gMS4xOwogc3RhdGljIGNvbnN0IGZsb2F0IG1pbmltdW1PdmVybGFwcGluZ0ltYWdlVG9Q
bHVnaW5EaW1lbnNpb25TY2FsZSA9IC45OwogCkBAIC01MjgzLDcgKzUyODMsNyBAQCB2b2lkIFdl
YlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbigpCiAgICAgaWYgKCFjYW5k
aWRhdGVQbHVnSW4pIHsKICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0
ZWN0aW9uOiBmYWlsIC0gZGlkIG5vdCBmaW5kIGEgY2FuZGlkYXRlIHBsdWctaW4uIik7CiAgICAg
ICAgIGlmIChtX251bWJlck9mUHJpbWFyeVNuYXBzaG90RGV0ZWN0aW9uQXR0ZW1wdHMgPCBtYXhQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cykgewotICAgICAgICAgICAg
TE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQgYWdh
aW4gaW4gJWRzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVs
YXkpOworICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9u
OiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJS4zZnMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5EZXRlY3Rpb25EZWxheS52YWx1ZSgpKTsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5l
UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KGRlZmVycmVkUHJpbWFy
eVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkpOwogICAgICAgICB9CiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4
IDE4MzFmMmI1MDA0MjFkOGRjNzA3ZGE5MWRlZjJhYTgzYzUzNzgzMmUuLmMyOTNkOTc0YjAxZjNm
YTY0ZTc5MDM4OWMzNzdkMDk3MTU0MTc4YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMzAwLDcgKzMwMCw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0OwogICAgIHZvaWQgc2V0QWN0aXZlUG9w
dXBNZW51KFdlYlBvcHVwTWVudSopOwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJv
dHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxpbWl0KQorICAg
IHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBs
aW1pdCkKICAgICB7CiAgICAgICAgIG1fcGFnZS0+c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQobGltaXQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tCmluZGV4IDVhNjczMzRkOGFhM2E0NjFiMzM4ZTBiOGVhODQwNzFkZGM4ZDA3ZDQuLjlh
MWUyNjFiZjJmMjQwZjdlZDQ5YzdlNDNhOGNhYTI3MmRkN2FjMjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMjg1LDcgKzI4NSw3IEBAIFRpbGVkQmFja2luZyog
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6Om1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0
CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoSW1tZWRpYXRlbHkoKQogewotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25l
U2hvdCgwbXMpOworICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5
ZXJGbHVzaCgpCkBAIC0zMDQsOSArMzA0LDkgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogICAgIGlmIChtX2xheWVyRmx1
c2hUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBhdXRvIGlu
aXRpYWxGbHVzaERlbGF5ID0gNTAwbXM7Ci0gICAgY29uc3QgYXV0byBmbHVzaERlbGF5ID0gMTUw
MG1zOwotICAgIGF1dG8gdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVz
ID8gKG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxGbHVzaERlbGF5IDog
Zmx1c2hEZWxheSkgOiAwbXM7CisgICAgY29uc3QgU2Vjb25kcyBpbml0aWFsRmx1c2hEZWxheSA9
IDAuNV9zOworICAgIGNvbnN0IFNlY29uZHMgZmx1c2hEZWxheSA9IDEuNV9zOworICAgIFNlY29u
ZHMgdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzID8gKG1faXNJbml0
aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxGbHVzaERlbGF5IDogZmx1c2hEZWxheSkg
OiAwX3M7CiAgICAgbV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID0gZmFsc2U7CiAKICAg
ICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGVEZWxheSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCBmNGVlYTAxZmU2ZWE1NzFj
M2I1Y2I0MzBmOWMxODc0M2NlOWE0MGNjLi5jY2NmMWFjMjA1NTc4ZGM0Y2FjNWYxOGZkYTE5OGZj
N2U3ZDFkMDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0K
QEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjph
Y3Rpdml0eVN0YXRlRGlkQ2hhbmdlKEFjdGl2aXR5U3RhdGU6OkZsYWdzCiAgICAgfQogCiAgICAg
aWYgKG1fd2FudHNEaWRVcGRhdGVBY3Rpdml0eVN0YXRlIHx8ICFtX25leHRBY3Rpdml0eVN0YXRl
Q2hhbmdlQ2FsbGJhY2tJRHMuaXNFbXB0eSgpKQotICAgICAgICBtX3NlbmREaWRVcGRhdGVBY3Rp
dml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NlbmREaWRVcGRhdGVB
Y3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lckZpcmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGRkMDBhMThkOWI2
MjE2NWQ5MzYyYTk4MmU0ZmU3NjU4ODcxZTUxOWEuLjEzOGMyMTYyMWI0NjJjMzEyOTAwMWQyNTRl
OWFjYWVjZDJkYWM2NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cApAQCAtMTQyLDcgKzE0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogc3RhdGljIGNv
bnN0IGRvdWJsZSBwbHVnSW5BdXRvU3RhcnRFeHBpcmF0aW9uVGltZVVwZGF0ZVRocmVzaG9sZCA9
IDI5ICogMjQgKiA2MCAqIDYwOwogCiAvLyBUaGlzIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGls
ZVJldmFsaWRhdGlvblRpbWVvdXQgaW4gVGlsZUNvbnRyb2xsZXIuCi1zdGF0aWMgY29uc3QgZG91
YmxlIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTA7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IFNlY29uZHMoMTApOwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIApAQCAtMjExLDcgKzIxMSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nl
c3MoKQogICAgICAgICBpZiAobV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2Vk
VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUpKTsKKyAgICAgICAgbV9z
dGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCg1X3MpOwogICAgIH0pOwogfQogCkBA
IC01MzgsNyArNTM4LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90
IGNtKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQg
Y2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFj
aXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6
OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWw7CiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAgICAgY2FsY3Vs
YXRlTWVtb3J5Q2FjaGVTaXplcyhjYWNoZU1vZGVsLCBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hl
TWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVs
ZXRpb25JbnRlcnZhbCwgcGFnZUNhY2hlU2l6ZSk7CiAKQEAgLTEyNDQsMTAgKzEyNDQsMTAgQEAg
dm9pZCBXZWJQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW8KICAgICB9CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6c2V0
SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykK
K3ZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGlt
aXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFs
dWVzKCkpCi0gICAgICAgIHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFz
ZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMobWlsbGlzZWNvbmRzKSk7CisgICAgICAg
IHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KTsK
IH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKaW5kZXggMmE5NjQxYmZkNTRlODM0NzgyODRkNjVhNWVhMzU3MWExZjI3YjViOS4uMzMz
ZmRiNmMxNjU1OWI5ODNjNzc1NjZkYjM4MzRlZjdjNGY5MDdjNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTE4OCw3ICsxODgsNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpOworICAgIHZvaWQgc2V0SGlk
ZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyk7CiAKICAgICB2b2lk
IHByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHkoYm9vbCYgaGFuZGxlZCk7CiAgICAgdm9pZCBw
cmVwYXJlVG9TdXNwZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNmQ3NmU1ODMyNmVkMzUyNGFhYzVhOTg2YzQ5OTA2Nzhh
NTI0MTY2Yi4uMjU5MDQ0OThhNmU0YTk3MDZiMWZjMWQ2NjliMWUxYzZiNzgyMDI4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAt
ODAsNyArODAsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAg
ICBEZWxldGVXZWJzaXRlRGF0YShXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25T
ZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIHN0ZDo6Y2hyb25v
OjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9kaWZpZWRTaW5jZSkgLT4gKCkKICAgICBEZWxl
dGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0
aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zKSAtPiAoKQogCi0gICAgU2V0SGlk
ZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKKyAg
ICBTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0
KQogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKQogI2lmIFBMQVRG
T1JNKENPQ09BKQogICAgIFNldFFPUyhpbnQgbGF0ZW5jeVFPUywgaW50IHRocm91Z2hwdXRRT1Mp
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjdm
NjE3MTUwNTU4Y2QxM2NiMDc1ZDZjNWIzNGJjMzhmY2ViZWQzZi4uOTU5NmRlYWFiZDIxODQ2ZDE0
MGVmNDhhNmVhMzhmYmVhNjk5MTA4YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE2LTExLTI3ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8g
dXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgYm90aCBUaW1l
cnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0
aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpj
aHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBlbnRyYWluZWQgY29kZSBj
b2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBVc2UgdGltZSBsaXRlcmFs
cyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1
bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKKzIwMTYtMTEtMjcg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKICAgICAgICAgQW5vdGhl
ciBmaXggZm9yIENNYWtlLgogCiAgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMu
aDoKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5
MzhhNzZlOTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZmZTNkYi4uNWE0ODkyOGZjYjVmMDgyMTYxOGE4
ZDJhNDdhYTUxOGZiZGQzYjU2MyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVu
TG9vcC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgVEVTVChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVy
KQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAg
ICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hv
dCgwLjFfcyk7CiAgICAgICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CkBA
IC0xMjksNyArMTI5LDcgQEAgVEVTVChXVEZfUnVuTG9vcCwgUmVwZWF0aW5nVGltZXIpCiAKICAg
ICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1lcih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0
aW1lci5zdGFydFJlcGVhdGluZygwLjAxKTsKKyAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmco
MC4wMV9zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>295466</attachid>
            <date>2016-11-27 14:22:04 -0800</date>
            <delta_ts>2016-12-04 23:04:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161127142138.patch</filename>
            <type>text/plain</type>
            <size>400865</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZDI0Njk5NmQxMTQxM2JkOGRiZjJmMTg1YzEwMTM3NGM2NGQ4NjhmLi5hMjdhZDAzOGFiZDI5N2Nh
YTQ0NzUwZGE0NTkwNDFjNmVmMjZlNTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25p
Y1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHA6CisgICAgICAg
IChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VD
b2xsZWN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6c3BlY2llc0NvbnN0cnVjdEFycmF5KToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1
enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3Rk
OjpvcHRpb25hbCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRl
eCBmYTJlNjFjZjc5NjRlMzUxYjgzMThlZGQ0NzhhNTUwZTkwODBiZGUyLi4zZTQ0OTVjYmQ5OWMx
M2RhM2NlNDc4NTUzNzZhODEwMGFlNDg0NmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTEx
LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENo
YW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6
Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBs
YWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1v
dmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBl
bnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBV
c2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIHd0Zi9SdW5Mb29w
Lmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgor
ICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAgICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6
CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYv
Y2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFy
dCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdl
bmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAg
ICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6
OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6Cisg
ICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorCiAyMDE2LTExLTI2ICBZ
dXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtXVEZdIElt
cG9ydCBzdGQ6Om9wdGlvbmFsIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBhcyBXVEY6Ok9wdGlv
bmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNjRhYTQxZTExOWYyZTBmY2FjZmM3NTM0NGM3ZmEwY2NhYTNhMzRi
MC4uZTAwNDRjMDdlNGU1ZGFjMzRmZmU2MjEwYzA1OTFhZDU2YmM1MGIzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDU0NSBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRp
bWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdwor
ICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4K
KworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01v
bm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMu
CisgICAgICAgIAorICAgICAgICBUaGVyZSBpcyBvbmUgYmVoYXZpb3IgY2hhbmdlLiBUaGUgaU9T
IG92ZXJmbG93IGF1dG9zY3JvbGwgdGltZXIgd2FzIHVzaW5nIGFuIGludGVydmFsIG9mCisgICAg
ICAgICJjb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVuY3kgPSAxMDAwIC8gNjAiIGkuZS4gMTYu
N3MsIHdoaWNoIHNlZW1lZCB1bmludGVudGlvbmFsLgorICAgICAgICBJdCB3YXMgY2hhbmdlZCB0
byB1c2UgMS82MHMuCisgICAgICAgIAorICAgICAgICBJbiBvcmRlciB0byBzdXBwb3J0IG1vZGlm
eWluZyBTZXR0aW5ncyB3aXRoIFNlY29uZHMgdmFsdWVzIGZyb20gSlMgdmlhIEludGVybmFsU2V0
dGluZ3MsCisgICAgICAgIGZpeCBtYWtlX3NldHRpbmdzLnBsIHRvIGNyZWF0aW5nIGJpbmRpbmdz
IGZvciB2YWx1ZXMgdXNpbmcgU2Vjb25kcywgYW5kIGFubm90YXRlIHRoZW0gCisgICAgICAgIHdp
dGggW0N1c3RvbV0sIGFuZCBhZGQgSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9tLmNw
cCB3aGljaCBoYW5kbGVzIHRoZSBkb3VibGUtPlNlY29uZHMKKyAgICAgICAgY29udmVyc2lvbi4g
TWF5YmUgdGhpcyBjb3VsZCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGJpbmRpbmdzIGdl
bmVyYXRpb24gaW4gZnV0dXJlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVLZXlS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzZXRGYXRhbEVycm9yKToKKyAgICAgICAgKFdlYkNv
cmU6Okdlb05vdGlmaWVyOjpzZXRVc2VDYWNoZWRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpHZW9Ob3RpZmllcjo6c3RhcnRUaW1lcklmTmVlZGVkKToKKyAgICAgICAgKiBNb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9u
OjpyZXN1bWUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZU9wZXJhdGlvblRp
bWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6
aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6U291
cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6
c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6OnNj
aGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
YXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2NoZWR1
bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVz
dFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbik6Cisg
ICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6c2V0SW5jcmVt
ZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6SlNJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkOjpzZXRQYXNzd29yZEVjaG9EdXJhdGlvbik6CisgICAg
ICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNl
OjpzZXRTdGF0dXMpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRpbmdGb250U29vbik6CisgICAg
ICAgICogY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgorICAgICAgICAoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2V0VmlzdWFsVXBk
YXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNjaGVkdWxlU3R5bGVS
ZWNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpmaW5pc2hlZFBhcnNpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNvb24pOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZVNjaGVkdWxlZFRhc2tzKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGVjcmVtZW50TG9hZEV2ZW50RGVsYXlD
b3VudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRy
b2wpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldENhY2hlZERPTUNvb2tpZXMpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZl
bnQpOgorICAgICAgICAqIGRvbS9FdmVudFNlbmRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKToKKyAgICAgICAgKiBkb20vTWljcm90YXNr
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNaWNyb3Rhc2tRdWV1ZTo6YXBwZW5kKToKKyAgICAg
ICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZh
bCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp0aW1lckFsaWdu
bWVudEludGVydmFsKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgor
ICAgICAgICAqIGRvbS9TY3JpcHRSdW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
UnVubmVyOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UnVubmVyOjpub3RpZnlG
aW5pc2hlZCk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmRpZEhpdFByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5lcjo6Y2xlYW5DYWNoZSk6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4
dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogZWRp
dGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpyZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKToKKyAgICAg
ICAgKiBlZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVsbENo
ZWNrZXI6OmRpZENoZWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxl
dGUpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5
YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNwbGF5U3RhdGUpOgorICAg
ICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6CisgICAgICAgICgpOiBEZWxl
dGVkLgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAgICAgKiBodG1sL0hUTUxU
cmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6c2No
ZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAgICAgIChNZWRpYUNvbnRy
b2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVF
dmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50
KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwvTWVk
aWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURvY3VtZW50OjptZWRpYUVs
ZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVy
bmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBodG1sL1NlYXJj
aElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6OnN0YXJ0
U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hpZGVN
ZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VD
b250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5rVGltZXJGaXJlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVsZUZvclJlc3VtZSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxlTG9hZCk6CisgICAgICAg
ICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VlRUUmVnaW9u
OjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OmRpc3BhdGNoKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OnRpbWVyRmlyZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpidWlsZElu
c3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0
ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVja0NvbXBsZXRlVGltZXIp
OgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAgICAgICogbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVk
dWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHA6
CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2spOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2RlZERhdGFJZk5lZWRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNrKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25lKToKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2Fj
aGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6ZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNw
cDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlv
blVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVy
ZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVyZW5jZUNoYW5nZXMpOgor
ICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkRm9y
d2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJHZXN0dXJlVG9rZW5Ub0Zv
cndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRpbWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVy
Ojp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAgIChXZWJDb3JlOjpET01U
aW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmg6CisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpw
b3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6CisgICAgICAgICogcGFn
ZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZUNvbnRyb2xs
ZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRyYWNrZXI6Ok1heGltdW1E
dXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11bUR1cmF0aW9uVHJhY2tl
cjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRh
dGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgICogcGFnZS9FdmVu
dFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c2NoZWR1bGVJbml0
aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNv
bm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnBhcnNlRXZlbnRTdHJlYW1M
aW5lKToKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmg6CisgICAgICAgICogcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRG
b2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCk6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRp
bGluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RM
YXlvdXRUYXNrcyk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OnVwZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9tVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKToKKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRMb2Fkc0ltYWdlc0F1dG9t
YXRpY2FsbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldE1pbmltdW1ET01UaW1lckludGVydmFs
KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6bWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoKKyAgICAgICAgKiBwYWdl
L1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1l
cjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVy
OjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpz
dGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZp
cmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50
UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OnJlcGVhdEludGVydmFs
TVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6YXVnbWVu
dEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRp
bWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvV2hl
ZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnRUZXN0
VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmljYXRpb25UaW1lcik6CisgICAg
ICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVk
ZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKToKKyAgICAgICAgKiBw
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRlSWZOZWVkZWQpOgorICAgICAg
ICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdl
L21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hsaWdo
dHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVu
dCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJbmRpY2F0b3IpOgorICAgICAg
ICAqIHBhZ2UvbWFrZV9zZXR0aW5ncy5wbDoKKyAgICAgICAgKG5lZWRzQ3VzdG9tU2V0dGVyKToK
KyAgICAgICAgKGdlbmVyYXRlSW50ZXJuYWxTZXR0aW5nc0lkbEZpbGUpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3Np
dGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3Jk
aW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRh
c2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgorICAgICAgICAqIHBsYXRmb3JtL0h5c3Rl
cmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpI
eXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5
OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6
CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lOjpj
YXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OlRocmVhZFRpbWVycyk6CisgICAgICAg
IChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6
VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29y
ZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3ApOgorICAgICAgICAq
IHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpUaW1lckJhc2UpOgorICAgICAgICAoV2Vi
Q29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSk6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFw
RGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcFBvcCk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjph
dWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVu
dFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZp
cmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aXNBY3RpdmUpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcjo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vjb25kc1RvTVMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbE1TKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9s
YXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3Vy
ZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4
dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNr
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFydFNjcm9sbFNuYXBUaW1lcik6
CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQ
cm92aWRlci5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VB
ZGRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyYXRj
aEJ1ZmZlcjo6c2NoZWR1bGVTY3JhdGNoQnVmZmVyUHVyZ2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25z
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxl
Y3RlZE9wdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzZWVrV2l0aFRvbGVyYW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5
ZXJQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3cpOgorICAgICAgICAo
V2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbik6CisgICAg
ICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250
cm9sbGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFw
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb3ZlcmFnZU1hcDo6c2V0TmVlZHNVcGRhdGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMpOgorICAgICAgICAoV2ViQ29yZTo6
VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6
OnNjaGVkdWxlQ29ob3J0UmVtb3ZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6VGls
ZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6VGls
ZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlR3JpZC5oOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hv
cnRJbmZvOjpUaWxlQ29ob3J0SW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJT1N1cmZhY2VQb29sOjptYXJr
T2xkZXJTdXJmYWNlc1B1cmdlYWJsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6Q2FjaGVk
U3VyZmFjZURldGFpbHM6OnJlc2V0TGFzdFVzZVRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwOgorICAgICAgICAoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
Ojp0cmlnZ2VyUmVwYWludCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvU2lua0dTdHJlYW1lci5jcHA6CisgICAgICAgIChWaWRlb1JlbmRlclJlcXVlc3RTY2hl
ZHVsZXI6OnJlcXVlc3RSZW5kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9N
ZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0OjpzZWVrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Qml0bWFwVGV4dHVyZVBvb2wuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlVXBkYXRlT25Db21wb3Np
dG9yVGhyZWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVybGF5
U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0azo6aGlkZU92
ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hl
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5n
VGlsZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2
ZVRpbGVDcmVhdGlvbkVuYWJsZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJU
aGVtZUlPUy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgIChXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvU2Nyb2xsYmFyVGhlbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVt
ZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRo
ZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlTW90aW9uQ2xpZW50TW9jazo6c2V0TW90aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlUGVybWlzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlQ29udHJvbGxlcik6
CisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRl
cyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGlt
ZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6c3RlcEljZVRy
YW5zcG9ydFN0YXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6aWNl
VHJhbnNwb3J0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2lu
dDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01v
Y2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVhayk6CisgICAgICAgICogcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckV2ZW50OjpUaW1lckV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OmFkZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGF0YVVSTERlY29kZXI6OkRlY29kaW5nUmVzdWx0RGlzcGF0Y2hlcjo6c3RhcnRUaW1lcik6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6c2NoZWR1bGVGYWlsdXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpzZXREZWZlcnNMb2FkaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9O
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQ
cmVzc3VyZUhhbmRsZXI6Omluc3RhbGwpOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFnZVF1YWxp
dHlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUXVhbGl0eUNvbnRyb2xs
ZXI6OnJlc3RhcnRUaW1lcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1h
cnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6c3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJlVGV4dFRpbWVy
OjpyZXN0YXJ0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVmlldzo6c2NoZWR1bGVMYXp5UmVwYWludCk6CisgICAgICAgICogcmVwbGF5L0NhcHR1cmlu
Z0lucHV0Q3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHR1cmluZ0lucHV0Q3Vyc29y
OjpzdG9yZUlucHV0KToKKyAgICAgICAgKiByZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6RXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlz
cGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24pOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0KToKKyAgICAgICAgKiByZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNlc3Npb25TZWdt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlT
ZXNzaW9uU2VnbWVudCk6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6dGltZXN0YW1wKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50OjpldmVudExvb3BUaW1pbmdzKToK
KyAgICAgICAgKiByZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaDoKKyAgICAgICAgKiBzdHls
ZS9TdHlsZVNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpTY29wZTo6c2NoZWR1
bGVVcGRhdGUpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5bmNocm9ub3VzbHkp
OgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNl
dHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6c2V0VGltZW91dCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxT
Y29wZTo6c2V0SW50ZXJ2YWwpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2V0VGltZW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6cHJlcGFyZVRvU2VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxI
dHRwUmVxdWVzdDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6
cmVzdW1lKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVk
UHJvZ3Jlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZTo6cmVzdW1lKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuaDoKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCBy
ZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlYTZl
OThhYTc3ODkxYzIwYjg3M2MzN2EzYTkwYTVkNDY3ZDRjOGY2Li5mYzZmN2VlZjZjNmQyNGQzZDgz
NTYwNWI1YThhMjNhMjYyY2I3NzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTEx
LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENo
YW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6
Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBs
YWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1v
dmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBl
bnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBV
c2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIFN0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hl
ZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hl
ZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNs
b3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1l
ckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpz
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJh
Y2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKToKKwogMjAxNi0x
MS0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
SlNDXSBXVEY6OlRlbXBvcmFyeUNoYW5nZSB3aXRoIFdURjo6U2V0Rm9yU2NvcGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCA2NmU0ZTI3YTNhODBiOGFiMTM4ZmYwNjE5MjBjZmJlMWUyNzlmNTA2Li44Mjg5
YzQ2MzVhMmZhZmMxYjhmYmQ1ZjI4NmQyODM2YWE5ZGNlZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTYtMTEtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBu
b3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1l
cnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAg
ICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisK
KyAgICAgICAgQ29udmVydCBzb21lIGVudHJhaW5lZCBjb2RlIGNvZGUgdG8gU2Vjb25kcy9Nb25v
dG9uaWNUaW1lLgorCisgICAgICAgIFVzZSB0aW1lIGxpdGVyYWxzIGluIG1vcmUgcGxhY2VzLgor
CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgIChQbHVn
aW5UaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFN0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW06
CisgICAgICAgICgrW1dlYlN0b3JhZ2VNYW5hZ2VyIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVN
b2RlbDpdKToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCByZWZlcmVuY2UgaW1w
bGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDIyZmI5YjRm
NDdhZDFiMTcxZDk3OTU2NzBmMzBlNDZlMWQ3YWJlMmUuLjY4OGRkMDBlM2Y3Njk2N2M0Y2M1ZjFl
ZmM0OGJmZjk0OGU2ZTE5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAx
Ni0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBvciBz
dGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0byB1c2UgU2Vjb25kcywg
cmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAgICBkb3VibGVzLCBhbmQg
cmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAgICAgICBDb252ZXJ0IHNv
bWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25pY1RpbWUuCisKKyAgICAg
ICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAgICAgICAgKiBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpbk1lc3NhZ2VU
aHJvdHRsZXJXaW4uY3BwOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24pOgorICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblN0
cmVhbTo6ZGVsaXZlckRhdGEpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpQbHVnaW5WaWV3OjpzY2hlZHVsZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bHVnaW5WaWV3OjprZWVwQWxpdmUpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojp3bmRQcm9jKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChBY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKToKKyAgICAgICAgKiBX
ZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnNldENhY2hlTW9kZWwpOgorICAgICAgICAo
V2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKToKKyAgICAgICAgKFdlYlZpZXc6OnNldE1pbmltdW1U
aW1lckludGVydmFsKToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCByZWZlcmVu
Y2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDVhMTJkNzc5
ZTJhNjk4ZTI0NGMzNDYyZDljODI2OTFiNDAyOGRjOGYuLmU0NTFhYzRjNGU1MmJlYTJlNzA2ZGNh
MDhjZGY2Y2I1ODkyZTk4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNzQgQEAKKzIwMTYtMTEt
MjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hh
bmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpj
aHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENo
YW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxh
Y2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92
aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgQ29udmVydCBzb21lIGVu
dHJhaW5lZCBjb2RlIGNvZGUgdG8gU2Vjb25kcy9Nb25vdG9uaWNUaW1lLgorCisgICAgICAgIFVz
ZSB0aW1lIGxpdGVyYWxzIGluIG1vcmUgcGxhY2VzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0RhdGFUYXNrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNr
OjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2Fk
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWQ6OlRocm90dGxlOjpUaHJvdHRsZSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3Jr
U2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvYWRUaHJvdHRsZUxhdGVuY3kpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQp
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHA6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3Bl
cmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpzdG9yZSk6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1bWUpOgorICAgICAg
ICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29k
ZXI8U2Vjb25kcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25k
cz46OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9J
UEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5h
dGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyk6CisgICAg
ICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24p
OgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95KToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50VGltZXIpOgorICAgICAg
ICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZSk6CisgICAgICAgICogUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9kZWwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKToKKyAgICAgICAgKiBTaGFy
ZWQvQ2FjaGVNb2RlbC5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nlc3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6CisgICAgICAgICogU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OnNldFRl
cm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+Ojpl
bmNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90b25pY1Rp
bWU+OjpkZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjplbmNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjpkZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1l
bW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1v
cnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNh
bXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Omxhc3REaXNwbGF5VGltZSk6Cisg
ICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkpOgor
ICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmg6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbToKKyAg
ICAgICAgKEFQSTo6U2hhcmVkSlNDb250ZXh0OjplbnN1cmVDb250ZXh0KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OnNjaGVkdWxl
VXBkYXRlRGlzcGxheSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
d0Jhc2UuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VTY2hlZHVsZVVwZGF0ZUFjdGl2
aXR5U3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93blByb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06CisgICAgICAgIChXZWJL
aXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNo
ZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJv
Y2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhwb3NlZFJlY3QpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbik6CisgICAgICAg
IChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RhcnQpOgor
ICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0
b3ApOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0
b3I6OmRpZERyYXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5JbmZvQ2FjaGU6OnVwZGF0ZVBsdWdpbkluZm8pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVzcG9u
c2l2ZW5lc3NUaW1lci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hh
c2gpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0
b0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGll
bnRFZmwuY3BwOgorICAgICAgICAoVGV4dENoZWNrZXJDbGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hl
Y2tpbmdMYW5ndWFnZXMpOgorICAgICAgICAoVGV4dENoZWNrZXJDbGllbnRFZmw6OmNhbGxDb250
aW51b3VzU3BlbGxDaGVja2luZ0NoYW5nZUNhbGxiYWNrQXN5bmMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpHZXN0dXJl
Q29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OmJlZ2luKToKKyAgICAgICAgKFdlYktpdDo6R2VzdHVy
ZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpzY2FsZUNoYW5nZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
b3B1cE1lbnVQcm94eUd0azo6bWVudVVubWFwcGVkQ2FsbGJhY2spOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6bWF4aW11bUJ1
ZmZlcmluZ1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1
bGVJbnRlcm5hbGx5RmFpbGVkTG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5QUnVudGlt
ZU9iamVjdE1hcDo6YWRkVG9JbnZhbGlkYXRpb25RdWV1ZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVnaW4pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW06CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YktpdDo6UGx1Z2luVmlldzo6bG9hZFVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVTb29uKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6
bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpz
Y2hlZHVsZUxheWVyRmx1c2gpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxl
RGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
Om1hcmtMYXllcnNWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZUlz
SW5XaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdpblZpZXcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6CisgICAgICAgICgpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVseSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0lu
Y3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAxNi0xMS0yNiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIGlP
UyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdlNmViNTBhYzRiMDY0NWNj
OWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFjOTU3NTNlMTk5MTE3MmE0
NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2
b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VDb2xsZWN0aW9u
KEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNvbGxlY3Rpb25FdmVudHNU
YXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAKaW5kZXggYWQ1ZGNlMjQ1ODZjNGIzMWNkZTU5NWJhMmIxZjdmNmUzMGIzNzFh
OS4uYTNlNTkxZTAwOWYxNGRlOGMwZTNlYjU3NTRkODJjNmY1MDMxYWQzYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMjIzLDEz
ICsyMjMsMTMgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgc3RkOjpwYWlyPFNwZWNpZXNDb25zdHJ1
Y3RSZXN1bHQsIEpTT2JqZWN0Kj4gc3BlY2llc0NvbnN0cnUKICAgICAgICAgaWYgKGNvbnN0cnVj
dG9yLmlzQ29uc3RydWN0b3IoKSkgewogICAgICAgICAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9y
T2JqZWN0ID0ganNDYXN0PEpTT2JqZWN0Kj4oY29uc3RydWN0b3IpOwogICAgICAgICAgICAgaWYg
KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSAhPSBjb25zdHJ1Y3Rvck9iamVjdC0+Z2xvYmFs
T2JqZWN0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXND
b25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTs7CisgICAgICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxs
cHRyKTsKICAgICAgICAgfQogICAgICAgICBpZiAoY29uc3RydWN0b3IuaXNPYmplY3QoKSkgewog
ICAgICAgICAgICAgY29uc3RydWN0b3IgPSBjb25zdHJ1Y3Rvci5nZXQoZXhlYywgZXhlYy0+cHJv
cGVydHlOYW1lcygpLnNwZWNpZXNTeW1ib2wpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgZXhjZXB0aW9uUmVzdWx0KCkpOwogICAgICAgICAgICAgaWYgKGNvbnN0cnVj
dG9yLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVj
aWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwg
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICB9IGVsc2UKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgZXhjZXB0aW9uUmVzdWx0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUnVuTG9vcC5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCmluZGV4IDU1NWQ0NDczMWNm
MzA4YmNiZDllZWJkZmJlNjViMjFmZGFhNThlZGUuLjYzZDBjNzk5OTFlZDkyZDY4OGU1Yjk4YjUx
Y2JmYzQ3NDdjMzgzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKQEAgLTg4LDEwICs4OCw4IEBAIHB1YmxpYzoKICAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGV4cGxpY2l0IFRpbWVyQmFzZShSdW5Mb29wJik7CiAg
ICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAotICAgICAg
ICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBl
YXRJbnRlcnZhbCwgdHJ1ZSk7IH0KLSAgICAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVh
dEludGVydmFsLmNvdW50KCkgKiAwLjAwMSk7IH0KLSAgICAgICAgdm9pZCBzdGFydE9uZVNob3Qo
ZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KLSAgICAgICAgdm9p
ZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbC5jb3VudCgpICogMC4wMDEsIGZhbHNlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWws
IHRydWUpOyB9CisgICAgICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQogCiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIHN0b3AoKTsKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNBY3RpdmUoKSBj
b25zdDsKQEAgLTEwMyw3ICsxMDEsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHByaXZhdGU6
Ci0gICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCk7CisgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0
YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOwogCiAgICAgICAgIFJ1
bkxvb3AmIG1fcnVuTG9vcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRp
bWVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaAppbmRleCAzNzgwZTc2YzAzMTMx
MDRhZWM3ZmQ3OTczMjNlYjQxMDRmODNlNTk3Li42YzRmZDZlYzFhODA1YzQxMzQwNjBmNDdlNzY0
NjQ4ZDQ3YWQ3OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaApAQCAtNDUsMTAgKzQ1LDEwIEBAIHB1
YmxpYzoKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVs
ZVBhaXIqKTsKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hl
ZHVsZVBhaXJIYXNoU2V0Jik7CiAKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChk
b3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKTsKKyAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29u
ZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQot
ICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwg
MCk7IH0KKyAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsg
c3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRP
bmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDBfcyk7IH0KIAogICAg
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKaW5kZXggZWE2NWNiYjUzMmUyM2JhN2JmOTU3
M2MzMWI3Y2FiYjNiODlhOThjYi4uMDg1Y2JhNjNjY2Q0NmVlMGVhZGZlMTk3OWM4ODUyMGVmZTVi
ZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcApAQCAtNTIsMTIgKzUyLDEyIEBAIHN0
YXRpYyB2b2lkIHRpbWVyRmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYsIHZvaWQqIGNvbnRleHQpCiAg
ICAgdGltZXItPmZpcmVkKCk7CiB9CiAKLXZvaWQgUnVuTG9vcFRpbWVyQmFzZTo6c3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgUnVuTG9v
cFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVh
dEludGVydmFsKQogewogICAgIGlmIChtX3RpbWVyKQogICAgICAgICBDRlJ1bkxvb3BUaW1lcklu
dmFsaWRhdGUobV90aW1lci5nZXQoKSk7CiAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRl
eHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBtX3RpbWVyID0gYWRvcHRDRihDRlJ1bkxv
b3BUaW1lckNyZWF0ZSgwLCBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIG5leHRGaXJlSW50
ZXJ2YWwsIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkpOworICAg
IG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1l
R2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbC52
YWx1ZSgpLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkpOwogfQogCiB2b2lkIFJ1bkxvb3BU
aW1lckJhc2U6OnNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpciogc2NoZWR1bGVQYWlyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L2NmL1J1bkxvb3BDRi5jcHAKaW5kZXggN2U4NDBkZDUyZGY4Y2Y2MDRhZjE4YTk4NmRlOTIzZTg3
MjkyNDQ2Mi4uOTZlNzhkYjM2NTEwMzBjMzI1NDMxMzEwZmZhYmY5NWU1ZjU0OThmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9jZi9SdW5Mb29wQ0YuY3BwCkBAIC0xMDEsMTQgKzEwMSwxNCBAQCBSdW5Mb29wOjpUaW1lckJh
c2U6On5UaW1lckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0KQogewogICAgIGlmIChtX3RpbWVyKQogICAgICAgICBzdG9wKCk7CiAgICAgCiAgICAgQ0ZS
dW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBD
RlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwg
OiAwOwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgQ0ZU
aW1lSW50ZXJ2YWwgcmVwZWF0SW50ZXJ2YWwgPSByZXBlYXQgPyBuZXh0RmlyZUludGVydmFsLnZh
bHVlKCkgOiAwOworICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJ
bnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRl
eHQpKTsKICAgICBDRlJ1bkxvb3BBZGRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29wLmdldCgpLCBt
X3RpbWVyLmdldCgpLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVu
TG9vcEVmbC5jcHAKaW5kZXggNWRmYzI5MDNlOGI0ZDEwNzQzYjUyOWY0YzBjNzRjNjc1MGRhZTU5
Ni4uNjBmYzJiMjkwMTk3ZDllOWZkYWE5MGI5ZTI2NWFiMGI1YmZiMjU5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Vm
bC9SdW5Mb29wRWZsLmNwcApAQCAtMTA1LDE0ICsxMDUsMTQgQEAgYm9vbCBSdW5Mb29wOjpUaW1l
ckJhc2U6OnRpbWVyRmlyZWQodm9pZCogZGF0YSkKICAgICByZXR1cm4gdGltZXItPm1faXNSZXBl
YXRpbmcgPyBFQ09SRV9DQUxMQkFDS19SRU5FVyA6IEVDT1JFX0NBTExCQUNLX0NBTkNFTDsKIH0K
IAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFs
LCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5l
eHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIGlmIChpc0FjdGl2ZSgpKQogICAg
ICAgICBzdG9wKCk7CiAKICAgICBtX2lzUmVwZWF0aW5nID0gcmVwZWF0OwogICAgIEFTU0VSVCgh
bV90aW1lcik7Ci0gICAgbV90aW1lciA9IGVjb3JlX3RpbWVyX2FkZChuZXh0RmlyZUludGVydmFs
LCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKKyAg
ICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwudmFsdWUoKSwgcmVp
bnRlcnByZXRfY2FzdDxFY29yZV9UYXNrX0NiPih0aW1lckZpcmVkKSwgdGhpcyk7CiB9CiAKIHZv
aWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5M
b29wR2VuZXJpYy5jcHAKaW5kZXggOWEzYzA5YTg1MTA3MTMwMmUxMmE1ZTk0MTY3ZWM3YjVmZGEy
NjYzOC4uZmQyNzVjNTMwMDI2M2ViOTg5NWFhYTYyNzQzZTJiNWQ0Njc3MGVhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKQEAgLTI2MywxMiArMjYzLDEyIEBA
IFJ1bkxvb3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lk
IFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIGludGVydmFsLCBib29sIHJlcGVhdGlu
ZykKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIGludGVydmFsLCBib29s
IHJlcGVhdGluZykKIHsKICAgICBzdG9wKCk7CiAgICAgbV9zY2hlZHVsZWRUYXNrID0gU2NoZWR1
bGVkVGFzazo6Y3JlYXRlKFt0aGlzXSB7CiAgICAgICAgIGZpcmVkKCk7Ci0gICAgfSwgU2Vjb25k
cyhpbnRlcnZhbCksIHJlcGVhdGluZyk7CisgICAgfSwgaW50ZXJ2YWwsIHJlcGVhdGluZyk7CiAg
ICAgbV9ydW5Mb29wLnNjaGVkdWxlQW5kV2FrZVVwKG1fc2NoZWR1bGVkVGFzayk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwIGIvU291cmNlL1dU
Ri93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKaW5kZXggOTI3Y2UzMjU0ZjhiNTYyNzhiYTZiN2Zm
MDIxYzBkZjBhYTVmMzIxNi4uZDYwNWM1MmI4YzdjYzQwZTBlNGE3NTk3MzRkNDY4NzgxMzYzM2Ez
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKQEAgLTE5MCw5ICsxOTAsOSBAQCB2
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6dXBkYXRlUmVhZHlUaW1lKCkKICAgICBnX3NvdXJjZV9z
ZXRfcmVhZHlfdGltZShtX3NvdXJjZS5nZXQoKSwgdGFyZ2V0VGltZSk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgZmlyZUludGVydmFsLCBib29sIHJlcGVhdCkK
K3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIGZpcmVJbnRlcnZhbCwgYm9v
bCByZXBlYXQpCiB7Ci0gICAgYXV0byBpbnRlcnZhbER1cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1
cmF0aW9uPGRvdWJsZT4oZmlyZUludGVydmFsKTsKKyAgICBhdXRvIGludGVydmFsRHVyYXRpb24g
PSBzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwudmFsdWUoKSk7CiAg
ICAgYXV0byBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRzOjptYXgoKTsK
ICAgICBpZiAoaW50ZXJ2YWxEdXJhdGlvbiA8IHNhZmVEdXJhdGlvbikKICAgICAgICAgc2FmZUR1
cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pY3Jvc2Vj
b25kcz4oaW50ZXJ2YWxEdXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4v
UnVuTG9vcFdpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKaW5kZXgg
NGI0NWFkNDU4OWY3OGQ1YzNjYTBiZWVmOGNlMWYxNDhiZWVjMDAxNy4uZWEwMjFmN2RiNGNhMmEy
OGIxOWRmMzRlMzU5ZTEyMTc2ZTRjYjcxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2lu
L1J1bkxvb3BXaW4uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcApA
QCAtMTUxLDExICsxNTEsMTEgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAg
ICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4
dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCit2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3Rh
cnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKIHsKICAgICBtX2lzUmVw
ZWF0aW5nID0gcmVwZWF0OwogICAgIG1fcnVuTG9vcC5tX2FjdGl2ZVRpbWVycy5zZXQobV9JRCwg
dGhpcyk7Ci0gICAgOjpTZXRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywg
bV9JRCwgbmV4dEZpcmVJbnRlcnZhbCAqIDEwMDAsIDApOworICAgIDo6U2V0VGltZXIobV9ydW5M
b29wLm1fcnVuTG9vcE1lc3NhZ2VXaW5kb3csIG1fSUQsIG5leHRGaXJlSW50ZXJ2YWwubWlsbGlz
ZWNvbmRzKCksIDApOwogfQogCiB2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RvcCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IGRjM2Y2YTg0N2MyNDgyNWVlMjljZDUyODZlZGUwYTUzZjg4MjQz
NGEuLjllMjQ1NDViN2U2YjMwZjUzNzAwZmIwNTI2ZTYwMjQ5YTM2MTA2MjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC0zODI1LDYgKzM4MjUsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX0RFUklW
RURfU09VUkNFUyAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vRXhjZXB0aW9uQ29kZQog
R0VORVJBVEVfU0VUVElOR1NfTUFDUk9TKCR7V0VCQ09SRV9ESVJ9L3BhZ2UvU2V0dGluZ3MuaW4g
U2V0dGluZ3NNYWNyb3MuaCkKIGxpc3QoQVBQRU5EIFdlYkNvcmVfREVSSVZFRF9TT1VSQ0VTICR7
REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9TZXR0aW5nc01hY3Jvcy5oKQogbGlzdChBUFBF
TkQgV2ViQ29yZVRlc3RTdXBwb3J0X1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwKQorbGlzdChBUFBFTkQgV2ViQ29yZVRl
c3RTdXBwb3J0X1NPVVJDRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L0pTSW50ZXJu
YWxTZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHApCiAKIAogR0VORVJBVEVfRk9OVF9OQU1FUygk
e1dFQkNPUkVfRElSfS9jc3MvV2ViS2l0Rm9udEZhbWlseU5hbWVzLmluKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVn
YWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKaW5kZXggMGZhZjIxMjAyYTEzMGI5MmU1ZDEy
NzAyMzYyYzQ0N2JkOGU3MjNkYS4uNjBhOTc3OGZhNjY5N2FmNWIxYzE1YTc0MjdjODJjYzcxMTJk
NmY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9s
ZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCkBAIC04
NSw3ICs4NSw3IEBAIGNvbnN0IFN0cmluZyYgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpzZXNzaW9u
SWQoKSBjb25zdAogdm9pZCBXZWJLaXRNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlS2V5UmVxdWVz
dChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBSZWY8VWludDhBcnJheT4mJiBpbml0RGF0YSkKIHsK
ICAgICBtX3BlbmRpbmdLZXlSZXF1ZXN0cy5hcHBlbmQoeyBtaW1lVHlwZSwgV1RGTW92ZShpbml0
RGF0YSkgfSk7Ci0gICAgbV9rZXlSZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
a2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYktpdE1lZGlh
S2V5U2Vzc2lvbjo6a2V5UmVxdWVzdFRpbWVyRmlyZWQoKQpAQCAtMTQyLDcgKzE0Miw3IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRlKFJlZjxVaW50OEFy
cmF5PiYmIGtleSkKIAogICAgIC8vIDIuIFNjaGVkdWxlIGEgdGFzayB0byBoYW5kbGUgdGhlIGNh
bGwsIHByb3ZpZGluZyBrZXkuCiAgICAgbV9wZW5kaW5nS2V5cy5hcHBlbmQoV1RGTW92ZShrZXkp
KTsKLSAgICBtX2FkZEtleVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FkZEtleVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5jcHAKaW5kZXggY2VjOTdj
YzkwMmU0NTA2ODk3ZmVmYmQzZWFlMmY5NzkwN2FhY2MxNi4uNTg2YzU5Njg2MWRhYjcwZGRjMmI2
ODYxYzJjNzE2ODE3NTlhMzZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
ZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9n
ZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5jcHAKQEAgLTU5LDEzICs1OSwxMyBAQCB2b2lkIEdlb05v
dGlmaWVyOjpzZXRGYXRhbEVycm9yKFJlZlB0cjxQb3NpdGlvbkVycm9yPiYmIGVycm9yKQogICAg
IG1fZmF0YWxFcnJvciA9IFdURk1vdmUoZXJyb3IpOwogICAgIC8vIEFuIGV4aXN0aW5nIHRpbWVy
IG1heSBub3QgaGF2ZSBhIHplcm8gdGltZW91dC4KICAgICBtX3RpbWVyLnN0b3AoKTsKLSAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIEdlb05vdGlmaWVyOjpzZXRVc2VDYWNoZWRQb3NpdGlvbigpCiB7CiAgICAgbV91
c2VDYWNoZWRQb3NpdGlvbiA9IHRydWU7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogYm9vbCBHZW9Ob3RpZmllcjo6aGFz
WmVyb1RpbWVvdXQoKSBjb25zdApAQCAtOTIsNyArOTIsNyBAQCB2b2lkIEdlb05vdGlmaWVyOjpy
dW5FcnJvckNhbGxiYWNrKFBvc2l0aW9uRXJyb3IqIGVycm9yKQogdm9pZCBHZW9Ob3RpZmllcjo6
c3RhcnRUaW1lcklmTmVlZGVkKCkKIHsKICAgICBpZiAobV9vcHRpb25zLT5oYXNUaW1lb3V0KCkp
Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1fb3B0aW9ucy0+dGltZW91dCgpIC8gMTAw
MC4wKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyhtX29wdGlvbnMtPnRpbWVvdXQoKSkpOwogfQogCiB2b2lkIEdlb05vdGlmaWVyOjpzdG9w
VGltZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xv
Y2F0aW9uLmNwcAppbmRleCA4NWFlNDBmNjM0MTc1MzI3MTY3MmYzYTM3N2ZlOTkzZGY0YTMxOGMw
Li5jMDljMzc5YjAyOTY0M2RhOTBjZDhjNTY0NzQzYTcxNTUwNmYwZmQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcApAQCAtMTk4
LDcgKzE5OCw3IEBAIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZSgpCiAgICAgQWN0aXZlRE9NT2Jq
ZWN0OjpyZXN1bWUoKTsKIAogICAgIGlmICghbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAKaW5kZXggYjgzMjZhZmQzMjMwNDYxMjZhNDM1M2U1NDQ5N2FiMGJlMTk1Nzc0
My4uNjk5NjcwMGM3MGNlZjY0NDZkZTRkOTRhMzVkZmRkZjM5NDgwNTBkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAt
MzUwLDcgKzM1MCw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlT3BlcmF0aW9uVGlt
ZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhy
ZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fb3BlcmF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV9vcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3BlcmF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246Om9wZXJh
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggY2IwNDg2MWNj
N2NjYzVjZjJmN2NlYmFkNzNjZDU5N2JkMmEyNzBhYS4uNzI1Y2JmNGM3ZWE2YWJiODNhMTI0Yjk3
MmVkZWQzYmZiMjMwNmUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNDk0LDcg
KzE0OTQsNyBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFu
c2FjdGlvblRpbWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpOwog
CiAgICAgaWYgKCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9vcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24v
V2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3YTMzNjlmMTBlNTMwZTRk
Yzg3ZTcxN2Q1Njc1ZjcwOTExM2I4MGU5Li4zYTJkYTQxZDFlMTcwYzFlZGZiM2U0NWZjNjdmMDgz
ODgzNGU5ZDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMzYsNyArMzYsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGFza0RlbGF5
SW50ZXJ2YWwgPSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGFza0RlbGF5SW50
ZXJ2YWwgPSBTZWNvbmRzKDEuMCAvIDEwKTsKIAogc3RydWN0IENsaWVudFN0YXRlIHsKICAgICBl
eHBsaWNpdCBDbGllbnRTdGF0ZShXZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQs
IHVpbnQ2NF90IGNvbnRleHRJZCkKQEAgLTQyMyw4ICs0MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlcjo6ZmluZChXZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQs
IHVpbnQ2NAogCiB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9n
VGltZXIoKQogewotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFs
QWZ0ZXJQYXVzaW5nID0gNjAgKiA2MDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9n
VGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kID0gOCAqIDYwOworICAgIHN0YXRpYyBjb25z
dCBTZWNvbmRzIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IFNlY29uZHMoNjAg
KiA2MCk7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0
ZXJQbGF5aW5nVG9FbmQgPSBTZWNvbmRzKDggKiA2MCk7CiAKICAgICBpZiAoIW1fcGxheWJhY2tU
YXJnZXQgfHwgIW1fcGxheWJhY2tUYXJnZXQtPmhhc0FjdGl2ZVJvdXRlKCkpIHsKICAgICAgICAg
bV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKQEAgLTQ0MiwxNCArNDQyLDE0IEBAIHZvaWQgV2ViTWVk
aWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lcigpCiAgICAgfQogCiAgICAg
aWYgKHN0b3BUaW1lcikgewotICAgICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMDsK
KyAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IDBfczsKICAgICAgICAgbV93YXRj
aGRvZ1RpbWVyLnN0b3AoKTsKICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHN0b3BwZWQiKTsKICAgICB9IGVs
c2UgewotICAgICAgICBkb3VibGUgaW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1Rp
bWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVy
UGF1c2luZzsKKyAgICAgICAgU2Vjb25kcyBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNo
ZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFs
QWZ0ZXJQYXVzaW5nOwogICAgICAgICBpZiAoaW50ZXJ2YWwgIT0gbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCB8fCAhbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIG1f
d2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwotICAgICAgICAgICAgTE9HKE1l
ZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRp
bWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIsIGludGVydmFsKTsKKyAgICAgICAgICAgIExPRyhNZWRp
YSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1l
ciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwgaW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIH0KICAg
ICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCA9IGludGVydmFsOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lv
bk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlh
U2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1N2Q1OGVmOTE0Y2IyM2YxOTQwMWNjY2ZlYzM4ZWNlMzhl
YWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRjNmQ0NmExM2FkM2MxZjExYjE2YzFhMzYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25N
YW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVk
aWFTZXNzaW9uTWFuYWdlci5oCkBAIC0xMDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQ
dHI8TWVkaWFQbGF5YmFja1RhcmdldD4gbV9wbGF5YmFja1RhcmdldDsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s+IG1fcGlja2VyT3Zl
cnJpZGU7CiAgICAgQ29uZmlndXJhdGlvblRhc2tzIG1fdGFza0ZsYWdzIHsgTm9UYXNrIH07Ci0g
ICAgZG91YmxlIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgeyAwIH07CisgICAgU2Vjb25kcyBt
X2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsOwogICAgIGJvb2wgbV9leHRlcm5hbE91dHB1dERldmlj
ZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3RhcmdldENoYW5nZWQgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9tb2NrUGlja2VyRW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggZjU1
OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBhYWZjMjFlMDU1Mjg0Yi4uZDY0ZWM2M2UzNTE0ODE0ZmFj
MzUxMzBmYzExMzkyNzI0YTYzNjBjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQg
U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3Qg
TWVkaWFUaW1lJiBlbmQpCiAgICAgLy8gNS4gUmV0dXJuIGNvbnRyb2wgdG8gdGhlIGNhbGxlciBh
bmQgcnVuIHRoZSByZXN0IG9mIHRoZSBzdGVwcyBhc3luY2hyb25vdXNseS4KICAgICBtX3BlbmRp
bmdSZW1vdmVTdGFydCA9IHN0YXJ0OwogICAgIG1fcGVuZGluZ1JlbW92ZUVuZCA9IGVuZDsKLSAg
ICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlcjo6YWJvcnRJZlVwZGF0aW5nKCkK
QEAgLTUzMyw3ICs1MzMsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVu
ZEJ1ZmZlckludGVybmFsKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgc2NoZWR1bGVF
dmVudChldmVudE5hbWVzKCkudXBkYXRlc3RhcnRFdmVudCk7CiAKICAgICAvLyA2LiBBc3luY2hy
b25vdXNseSBydW4gdGhlIGJ1ZmZlciBhcHBlbmQgYWxnb3JpdGhtLgotICAgIG1fYXBwZW5kQnVm
ZmVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAKICAgICByZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmlu
ZGV4IDFkNTJhNDhhNTNkYWUyODhjODQ3MTlmZGMxZTFlZWJkNDdlZTZlNTcuLjFmOWY3MTAzZGUy
ZWM5ZWYxNTk2OTgyMjhmMjUwMzIyZTk5ODQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAg
dm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hl
ZHVsZWRBY3Rpdml0eUV2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNl
LCBmYWxzZSkpOwogCiAgICAgaWYgKCFtX2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2FjdGl2aXR5RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
YWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU3Ry
ZWFtOjphY3Rpdml0eUV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcAppbmRleCA1ZGQyZjFlNDFjZjUx
MjI5NmQ3NGQyMGMxYmQ3YzQ4YmIyYjIyZDc5Li5hMmJlZmM1NDQ2M2ViZjQzNTAxYmI2MTM4ZGRl
ZDc1MzBkYjQ0YTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZT
ZW5kZXI6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9z
Y2hlZHVsZWRFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hl
ZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSVENEVE1GU2VuZGVyOjpzY2hlZHVsZWRFdmVudFRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RhdGFDaGFubmVsLmNwcAppbmRleCAwNTFjNzAxNDlhZTJkYTEyZTYwMGE0MDUwZjA5YzFlYzhi
ZmQ1NzU2Li4yZGJjYWYxZjIxYmZkNDk4ODAwNzBhM2Q4M2RiOGFlYTgyZTJlYjI2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVs
LmNwcApAQCAtMjM3LDcgKzIzNyw3IEBAIHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlz
cGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBw
ZW5kKFdURk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBSVENEYXRhQ2hhbm5lbDo6c2NoZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAK
aW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkxMjg3NWFiZjgwYjJkZGRlODM3YTdlNy4uYmI4NzE5ZDgy
ZjUyMDg2YTBlNDNiN2QwZTg0OGIxODIyOGRhZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTc0LDcgKzc0
LDcgQEAgTm90aWZpY2F0aW9uOjpOb3RpZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25z
dCBTdHJpbmcmIHRpdGxlKQogICAgIC8vIEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90aWZpY2F0aW9u
Q2VudGVyIGNhbiBiZSBudWxsIHNvIHNob3VsZCBub3QgYmUgY2hhbmdlZCBmcm9tIFJlZlB0ciB0
byBSZWYuCiAgICAgLy8gQnV0IHRoZSByZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMgY2xhc3MgaXNu
J3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9u
Q2VudGVyLT5jbGllbnQoKSk7Ci0gICAgbV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcAppbmRleCBhOTI5OGY3NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGViZmUw
Li45MjVlYjk2YTMxYzM4OGU2NjU4N2M5OWM1NDZkZTg5MzdlZjY0NjUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcApAQCAtOTQsNyArOTQsNyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24oUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYXNl
IFNlY3VyaXR5T3JpZ2luOjpBbHdheXNEZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3MuaXNF
bXB0eSgpKSB7CiAgICAgICAgICAgICByZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVmcyBp
biBOb3RpZmljYXRpb25DZW50ZXI6OnN0b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJG
aXJlZC4KLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgfQogICAgICAgICBtX2NhbGxiYWNr
cy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsKICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IDg2MDkx
NDIwOWM4YmIzNDI4MDQwYWExNGZjOWZjZDAzZDBkZDVjNTkuLjMzYjAyMjBlOTQ3Zjg0MzcwNjI3
YjE2MjExZTZlYzI0OTA5ZWQxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
dmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJy
YXRpb24vVmlicmF0aW9uLmNwcApAQCAtNzYsNyArNzYsNyBAQCBib29sIFZpYnJhdGlvbjo6dmli
cmF0ZShjb25zdCBWaWJyYXRpb25QYXR0ZXJuJiBwYXR0ZXJuKQogCiAgICAgbV9wYXR0ZXJuID0g
c2FuaXRpemVkOwogCi0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMF9zKTsKICAgICBtX3N0YXRlID0gU3RhdGU6OldhaXRpbmc7CiAgICAgcmV0
dXJuIHRydWU7CiB9CkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBWaWJyYXRpb246OnRpbWVyRmly
ZWQoKQogICAgICAgICBtX3ZpYnJhdGlvbkNsaWVudC0+dmlicmF0ZShtX3BhdHRlcm5bMF0pOwog
ICAgICAgICBicmVhazsKICAgICB9Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QobV9wYXR0ZXJu
WzBdIC8gMTAwMC4wKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKG1fcGF0dGVyblswXSkpOwogICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5k
ZXggYmVkOTM2MjY3ZDU2ODRmYzc4ODE3MDkxZjExZjA3YzQ1ZWFiM2I3OS4uMDhlMTJhMTYwMWM4
YTI0ZTZhYjZjMjI0NDYyN2QxMGFkYzRmMjkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFdl
YlNvY2tldDo6cmVzdW1lKCkKICAgICAgICAgbV9jaGFubmVsLT5yZXN1bWUoKTsKICAgICBlbHNl
IGlmICghbV9wZW5kaW5nRXZlbnRzLmlzRW1wdHkoKSAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2
ZSgpKSB7CiAgICAgICAgIC8vIEZpcmUgdGhlIHBlbmRpbmcgZXZlbnRzIGluIGEgdGltZXIgYXMg
d2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IEpTIGZyb20gcmVzdW1lKCku
Ci0gICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3Vt
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIG1fc2hvdWxkRGVsYXlFdmVu
dEZpcmluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCmluZGV4IDgwZGJiNGJhMGVlM2IyYzQ3MzNjODFk
MmUxYjg1OTdkOGJiZTc4YzQuLjY4Y2MyYzA2YjU4YjNlYjIyNWQ4MDJkY2VmZjRjOTJmMjkxNzc5
ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYyLDcgKzYyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOwor
Y29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lID0gU2Vjb25kcygyICogNjAp
OwogCiBXZWJTb2NrZXRDaGFubmVsOjpXZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVu
dCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCYgY2xpZW50LCBTb2NrZXRQcm92aWRlciYgcHJvdmlk
ZXIpCiAgICAgOiBtX2RvY3VtZW50KCZkb2N1bWVudCkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lk
IFdlYlNvY2tldENoYW5uZWw6OmNsb3NlKGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikK
ICAgICBSZWY8V2ViU29ja2V0Q2hhbm5lbD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0
dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhhbmRzaGFrZSBtYXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQg
dGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBkZXJlZmVyZW5jZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFu
ZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAgICAgaWYgKG1fY2xvc2luZyAmJiAhbV9jbG9zaW5nVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KDIgKiBU
Q1BNYXhpbXVtU2VnbWVudExpZmV0aW1lKTsKKyAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRP
bmVTaG90KFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUgKiAyKTsKIH0KIAogdm9pZCBXZWJTb2Nr
ZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0cmluZyYgcmVhc29uKQpAQCAtMjY2LDcgKzI2Niw3IEBA
IHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6cmVzdW1lKCkKIHsKICAgICBtX3N1c3BlbmRlZCA9IGZh
bHNlOwogICAgIGlmICgoIW1fYnVmZmVyLmlzRW1wdHkoKSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGll
bnQgJiYgIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRT
dHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzOGY4OWI4MTkxZGM4OGMxZTU5ODJiYWUxYWE4NGU1
MDJkOGMwMzA3Li5jMTZhYTRlZWUwYjg1Nzk2N2E1MjFjMTFjMTg2YzgwZDliZWYxMDRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC01MTIsNiArNTEyLDcgQEAKIAkJMEY2MzgzREUxODYxNUIyOTAwM0U1REI1IC8qIFRocmVhZGVk
U2Nyb2xsaW5nVHJlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY2MzgzREMxODYxNUIyOTAwM0U1REI1IC8qIFRocmVhZGVkU2Nyb2xsaW5nVHJlZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNkEx
MkJEMUEwMDkyMzcwMEM2REU3MiAvKiBEZWJ1Z1BhZ2VPdmVybGF5cy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZBMTJCQjFBMDA5MjM3MDBDNkRF
NzIgLyogRGVidWdQYWdlT3ZlcmxheXMuY3BwICovOyB9OwogCQkwRjZBMTJCRTFBMDA5MjM3MDBD
NkRFNzIgLyogRGVidWdQYWdlT3ZlcmxheXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkExMkJDMUEwMDkyMzcwMEM2REU3MiAvKiBEZWJ1Z1BhZ2VP
dmVybGF5cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTBGNzM3M0NEMURFQjg3NTAwMEUxQ0RGNSAvKiBKU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0
ZWRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY3MzczQ0IxREVCODI5QzAwRTFDREY1IC8qIEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRl
ZEN1c3RvbS5jcHAgKi87IH07CiAJCTBGN0QwNzMzMTg4NEM1NkMwMEI0QUY4NiAvKiBQbGF0Zm9y
bVRleHRUcmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDcyODQ3RTIxNkVCQzVCMDAwNDNDRkE0IC8qIFBsYXRmb3JtVGV4dFRyYWNrLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY4NzE2NkYxQzg2
OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGODcxNjZEMUM4NjlEODMwMDRGRjBERSAvKiBMZW5ndGhQ
b2ludC5jcHAgKi87IH07CiAJCTBGODcxNjcwMUM4NjlEODMwMDRGRjBERSAvKiBMZW5ndGhQb2lu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY4NzE2
NkUxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTc1MDIsNiArNzUwMyw3IEBACiAJCTBGNjM4
M0RDMTg2MTVCMjkwMDNFNURCNSAvKiBUaHJlYWRlZFNjcm9sbGluZ1RyZWUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNkExMkJCMUEwMDkyMzcwMEM2REU3MiAvKiBEZWJ1Z1Bh
Z2VPdmVybGF5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWJ1
Z1BhZ2VPdmVybGF5cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNkExMkJD
MUEwMDkyMzcwMEM2REU3MiAvKiBEZWJ1Z1BhZ2VPdmVybGF5cy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEZWJ1Z1BhZ2VPdmVybGF5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjczNzNDQjFERUI4MjlDMDBFMUNERjUgLyogSlNJbnRlcm5hbFNldHRpbmdz
R2VuZXJhdGVkQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHA7IHBhdGggPSBiaW5kaW5ncy9q
cy9KU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gU09V
UkNFX1JPT1Q7IH07CiAJCTBGODcxNjZEMUM4NjlEODMwMDRGRjBERSAvKiBMZW5ndGhQb2ludC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZW5ndGhQb2ludC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGODcxNjZFMUM4NjlEODMwMDRGRjBERSAv
KiBMZW5ndGhQb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZW5ndGhQ
b2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjhCNDU2RjFEQzNGQjEwMDA0
NDNDM0YgLyogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC05NzM5LDEwICs5NzQxLDEwIEBACiAJCTVDRTVEOUEzMURCODk3QzMw
MENFN0E4RCAvKiBUZXh0RW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUZXh0RW5jb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVD
RTVEOUE0MURCODk3QzMwMENFN0E4RCAvKiBUZXh0RW5jb2Rlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBUZXh0RW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0U1RDlBNTFEQjg5N0MzMDBDRTdBOEQgLyogVGV4dEVuY29kZXIuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFRleHRFbmNvZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJNUNFNUQ5QTcxREI4OTlGQzAwQ0U3QThEIC8qIEpTVGV4dERlY29kZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNUZXh0RGVjb2Rlci5jcHA7IHBhdGgg
PSBKU1RleHREZWNvZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNUNFNUQ5
QTgxREI4OTlGQzAwQ0U3QThEIC8qIEpTVGV4dERlY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gSlNUZXh0RGVjb2Rlci5oOyBwYXRoID0gSlNUZXh0RGVjb2Rlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1Q0U1RDlBOTFEQjg5OUZDMDBDRTdBOEQgLyog
SlNUZXh0RW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBK
U1RleHRFbmNvZGVyLmNwcDsgcGF0aCA9IEpTVGV4dEVuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk1Q0U1RDlBQTFEQjg5OUZDMDBDRTdBOEQgLyogSlNUZXh0RW5jb2Rl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU1RleHRFbmNvZGVyLmg7IHBh
dGggPSBKU1RleHRFbmNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDRTVE
OUE3MURCODk5RkMwMENFN0E4RCAvKiBKU1RleHREZWNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVGV4dERlY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1Q0U1RDlBODFEQjg5OUZDMDBDRTdBOEQgLyogSlNUZXh0RGVjb2Rlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1RleHREZWNvZGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDRTVEOUE5MURCODk5RkMwMENFN0E4RCAvKiBKU1Rl
eHRFbmNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVGV4
dEVuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1Q0U1RDlBQTFEQjg5
OUZDMDBDRTdBOEQgLyogSlNUZXh0RW5jb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1RleHRFbmNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVD
RkM0MzRFMTkyNDA2QTkwMEEwRDNCNSAvKiBQb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUG9pbnRlckxvY2tDb250cm9sbGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNGQzQzNEYxOTI0MDZBOTAwQTBEM0I1
IC8qIFBvaW50ZXJMb2NrQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQb2ludGVyTG9ja0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUQyMUE4MDAxM0VDRTVERjAwQkI3MDY0IC8qIFdlYlZUVFBhcnNlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJWVFRQYXJzZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTY1NDcsNiArMTY1NDksNyBAQAogCQkJCTQxN0RBNzFDMTM3
MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oICovLAogCQkJCUE3QjRFQTc4MTRDOTM0ODQw
MEM4RjVCRiAvKiBKU0ludGVybmFsU2V0dGluZ3MuY3BwICovLAogCQkJCUE3QjRFQTc5MTRDOTM0
ODQwMEM4RjVCRiAvKiBKU0ludGVybmFsU2V0dGluZ3MuaCAqLywKKwkJCQkwRjczNzNDQjFERUI4
MjlDMDBFMUNERjUgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9tLmNwcCAqLywK
IAkJCQk1M0VEM0ZEQzE2N0E4OEU3MDA2NzYyRTYgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJh
dGVkLmNwcCAqLywKIAkJCQk1M0VEM0ZERDE2N0E4OEU3MDA2NzYyRTYgLyogSlNJbnRlcm5hbFNl
dHRpbmdzR2VuZXJhdGVkLmggKi8sCiAJCQkJQTdCNEVBNjgxNEM5MzQ4NDAwQzhGNUJGIC8qIEpT
TWFsbG9jU3RhdGlzdGljcy5jcHAgKi8sCkBAIC0yODU4OSw2ICsyODU5Miw3IEBACiAJCQkJNDE3
REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlFMTc5RjBEQTFCOTc3NEZFMDBFRDBBMjcgLyogSW50ZXJuYWxzLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTdCRjdFREYxNEM5MTc1QTAwMTQ0ODlEIC8qIEludGVybmFsU2V0dGluZ3MuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJMEY3MzczQ0QxREVCODc1MDAwRTFDREY1IC8qIEpTSW50ZXJuYWxT
ZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1M0UyOUU1RTE2
N0E4QTE5MDA1ODZEM0QgLyogSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTcxNEVCMDFDRjY2NUNFMDA0NzIzQzQgLyogSlNHQ09ic2VydmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTQxN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVy
bmFscy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQxZTgyMDVhMTE2MTJmMGRhZjg0MTBiOGU2MzE4OThh
MWUyNmMwNzQuLjBmNGUxMWM1ZmI0YjJiMTE5MmQ2NmU3ZWIxYWZiMjMxZmU5OTEyN2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEw
LDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZp
ZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQgaW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBp
bnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMgb2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3Vi
bGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9
IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3Rp
ZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOworc3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eVBh
c3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDI1X3M7CitzdGF0aWMg
U2Vjb25kcyBBY2Nlc3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZh
bCA9IDAuMDJfczsKIAogQWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2Jq
ZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9yZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3
ICs5OTMsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJp
bGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVudCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQ
b3N0QXN5bmNocm9ub3VzbHkpIHsKICAgICAgICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVu
ZChzdGQ6Om1ha2VfcGFpcihvYmplY3QsIG5vdGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1f
bm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNh
dGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlv
blBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBs
YXRmb3JtTm90aWZpY2F0aW9uKG9iamVjdCwgbm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBk
MzYxYzJjYzRiMjQ5ZmYwODM1ODJlMjUuLmU2ZTY1NjkwZDNiMmQxYmU0ZDEzZDkwZGRjNDA1NzFm
OTIzYzE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29u
KCkKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewog
ICAgIGlmICghbV9HQ1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBHQ0NvbnRyb2xsZXI6OmdjVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9t
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MTIwYmZiNDU1MjVlYzhiOWQyM2VkOWZiYWRmNzhlYjg2MWM4ZDE4
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbnRlcm5h
bFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9tLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5oIgorCisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Db252
ZXJ0LmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorCit1c2luZyBuYW1lc3BhY2UgSlND
OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTQzo6SlNWYWx1ZSBKU0ludGVybmFsU2V0dGlu
Z3NHZW5lcmF0ZWQ6OnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSkKK3sKKyAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOworICAgIGF1
dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgaWYgKFVOTElL
RUxZKHN0YXRlLmFyZ3VtZW50Q291bnQoKSA8IDEpKQorICAgICAgICByZXR1cm4gdGhyb3dFeGNl
cHRpb24oJnN0YXRlLCB0aHJvd1Njb3BlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcigm
c3RhdGUpKTsKKworICAgIGF1dG8gaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVv
dXQgPSBjb252ZXJ0PElETERvdWJsZT4oc3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDAp
KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIEpTVmFsdWUoKSk7CisKKyAg
ICBhdXRvJiBpbXBsID0gd3JhcHBlZCgpOworICAgIGltcGwuc2V0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXQoU2Vjb25kcyhpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNz
aW9uVGltZW91dCkpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCitKU0M6OkpTVmFs
dWUgSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkOjpzZXRQYXNzd29yZEVjaG9EdXJhdGlvbihK
U0M6OkV4ZWNTdGF0ZSYgc3RhdGUpCit7CisgICAgVk0mIHZtID0gc3RhdGUudm0oKTsKKyAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIGlmIChVTkxJ
S0VMWShzdGF0ZS5hcmd1bWVudENvdW50KCkgPCAxKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXhj
ZXB0aW9uKCZzdGF0ZSwgdGhyb3dTY29wZSwgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3Io
JnN0YXRlKSk7CisKKyAgICBhdXRvIHBhc3N3b3JkRWNob0R1cmF0aW9uID0gY29udmVydDxJRExE
b3VibGU+KHN0YXRlLCBzdGF0ZS51bmNoZWNrZWRBcmd1bWVudCgwKSk7CisgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTih0aHJvd1Njb3BlLCBKU1ZhbHVlKCkpOworCisgICAgYXV0byYgaW1wbCA9IHdy
YXBwZWQoKTsKKyAgICBpbXBsLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uKFNlY29uZHMocGFzc3dv
cmRFY2hvRHVyYXRpb24pKTsKKyAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworfTsgLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCmluZGV4IDI1Njcx
YzFkZTA5YjU1MGJkNzE5YzljZjViOTU4ZTVmYjIyNTU2NGQuLmRkYjhmOGIzYzQxODIwMTg5MGY4
MGNjMGY2Y2VmM2NiZDFiYmRiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250RmFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcApAQCAt
NDk3LDcgKzQ5Nyw3IEBAIHZvaWQgQ1NTRm9udEZhY2U6OnNldFN0YXR1cyhTdGF0dXMgbmV3U3Rh
dHVzKQogICAgIH0KIAogICAgIGlmIChuZXdTdGF0dXMgPT0gU3RhdHVzOjpMb2FkaW5nKQotICAg
ICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qod2ViRm9udHNTaG91bGRBbHdheXNGYWxs
QmFjaygpID8gMCA6IDMpOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qod2Vi
Rm9udHNTaG91bGRBbHdheXNGYWxsQmFjaygpID8gMF9zIDogM19zKTsKICAgICBlbHNlIGlmIChu
ZXdTdGF0dXMgPT0gU3RhdHVzOjpTdWNjZXNzIHx8IG5ld1N0YXR1cyA9PSBTdGF0dXM6OkZhaWx1
cmUpCiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3AoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udFNlbGVjdG9yLmNwcAppbmRleCBlODQ5ODhlYmUwNmI2ZjU2ZTIyYzdmZTI0NmM2ZGE0YmVi
ZmI2YTJiLi40NDA0MWQ2M2E3MGJkNjllYTIyMzY0MGJkNTBjNWEzMzJmMTU3OGYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcApAQCAtMzQwLDcgKzM0MCw3IEBAIHZvaWQg
Q1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRpbmdGb250U29vbihDYWNoZWRGb250JiBmb250KQog
ICAgIC8vIGFmdGVyIHRoaXMgZm9udCBoYXMgYmVlbiByZXF1ZXN0ZWQgYnV0IGJlZm9yZSBpdCBi
ZWdhbiBsb2FkaW5nLiBCYWxhbmNlZCBieQogICAgIC8vIGRlY3JlbWVudFJlcXVlc3RDb3VudCgp
IGluIGJlZ2luTG9hZFRpbWVyRmlyZWQoKSBhbmQgaW4gY2xlYXJEb2N1bWVudCgpLgogICAgIG1f
ZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCkuaW5jcmVtZW50UmVxdWVzdENvdW50KGZv
bnQpOwotICAgIG1fYmVnaW5Mb2FkaW5nVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYmVn
aW5Mb2FkaW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ1NTRm9udFNlbGVj
dG9yOjpiZWdpbkxvYWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFn
ZUdlbmVyYXRvclZhbHVlLmNwcAppbmRleCBhNzUyODNhMmIyN2MzZGVkOGQ5NDMxMmRlMDRhNDE1
OGVlY2MyZjkzLi40ZDQwNjE3MjYzOWM0OWVmZDc3NTJhZGZlYTNmOTNkZTVhNmY5Zjg5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0zOSw3
ICszOSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGlt
ZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMyB9
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZVRvS2VlcENhY2hlZEdlbmVyYXRlZEltYWdlcyA9
IDNfczsKIAogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZShD
bGFzc1R5cGUgY2xhc3NUeXBlKQogICAgIDogQ1NTVmFsdWUoY2xhc3NUeXBlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDkxMzYzYzE0M2IyNmNhNDE5YWZlNGU0YmUyMjE3
MzdlMTUxMWYwNGYuLmI1ODg2YTU0OWQ2Yjk1NDI1M2M1MmZiMWZjODhlOTA3NGYxMDRkMzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTEyMzksOCArMTIzOSw4IEBAIHZv
aWQgU3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRl
clN0eWxlKiBzdHlsZSwgY29uc3QKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERl
Y2xhcmF0aW9uQ2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21f
bWF0Y2hlZFByb3BlcnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWRE
ZWNsYXJhdGlvbkNhY2hlQWRkaXRpb25zQmV0d2VlblN3ZWVwcwogICAgICAgICAmJiAhbV9tYXRj
aGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25k
cyA9IDYwOwotICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0
T25lU2hvdChtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7CisgICAg
ICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1l
ID0gNjBfczsKKyAgICAgICAgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5zdGFy
dE9uZVNob3QobWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUpOwogICAgIH0KIAogICAg
IEFTU0VSVChoYXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGI4ODA1YmU0YmRmM2Jh
ZmQxOWRhNmVmYzYxZjI4ZWU0MzEzNjk1ZjMuLmNkOWYzYzVlYTY5YjdkMzZhNjE5MDQ1MzUyYzY3
MmZjY2VkMjFiN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1Nyw3ICsxMjU3LDcg
QEAgdm9pZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRh
dGVzQWxsb3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlz
dWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92
aXN1YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5j
cmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSk7CisgICAgICAg
IG1fdmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KHNldHRpbmdzKCkt
PmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KCkpOwogCiAgICAgaWYgKCF2
aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTc0NCw3ICsxNzQ0LDcg
QEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYygpCiAgICAgLy8gRklYTUU6IFdo
eSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMgaXMgY2xlYXJseSBtaXNwbGFjZWQuCiAgICAg
aW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAgIAotICAgIG1fc3R5bGVSZWNhbGNUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxj
dWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODIyLDcgKzI4MjIsNyBAQCB2b2lkIERvY3VtZW50Ojp3
cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9jdW1lbnQpCiAgICAg
d3JpdGUoIlxuIiwgb3duZXJEb2N1bWVudCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgRG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKK1NlY29uZHMgRG9jdW1l
bnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKICAgICBhdXRvKiBwYWdlID0gdGhp
cy0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKQEAgLTI4MzksNyArMjgzOSw3IEBAIHZvaWQgRG9j
dW1lbnQ6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBzaG91bGRUaHJvdHRsZSkKICAg
ICBkaWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFj
aGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6dGltZXJBbGlnbm1l
bnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0CiB7CiAgICAg
YXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxp
Z25tZW50SW50ZXJ2YWwoaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCk7CiAKQEAgLTUwMjUsOCAr
NTAyNSw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAgLy8gc28gdGhh
dCBkeW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQgZnJvbSBzaGFy
aW5nIG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJlZnJlc2ggdGhl
IHRpbWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBodWdlIGNhY2hl
cyBiZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0aGluZyBpbm5v
Y3VvdXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBhIHRpbWVyLgot
ICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQgPSAxMF9zOwor
ICAgIG1fc2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXIuc3RhcnRPbmVTaG90KHRpbWVUb0tlZXBT
aGFyZWRPYmplY3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hlZCk7CiAKICAgICAvLyBQYXJz
ZXIgc2hvdWxkIGhhdmUgcGlja2VkIHVwIGFsbCBwcmVsb2FkcyBieSBub3cKICAgICBtX2NhY2hl
ZFJlc291cmNlTG9hZGVyLT5jbGVhclByZWxvYWRzKCk7CkBAIC01MjUzLDcgKzUyNTMsNyBAQCB2
b2lkIERvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKFNlbGVjdGlvblJlc3RvcmF0
aW9uTW9kZSBtb2RlKQogewogICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlUmVzdG9yZXNTZWxl
Y3Rpb24gPSBtb2RlOwogICAgIGlmICghbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6Y2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCkK
QEAgLTU0MzgsNyArNTQzOCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlc3VtZVNjaGVkdWxlZFRhc2tz
KEFjdGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb24pCiAgICAgaWYgKHJl
YXNvbiA9PSBBY3RpdmVET01PYmplY3Q6OldpbGxEZWZlckxvYWRpbmcgJiYgbV9wYXJzZXIpCiAg
ICAgICAgIG1fcGFyc2VyLT5yZXN1bWVTY2hlZHVsZWRUYXNrcygpOwogICAgIGlmICghbV9wZW5k
aW5nVGFza3MuaXNFbXB0eSgpKQotICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
ICAgICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CiAgICAgcmVzdW1lQWN0aXZlRE9NT2JqZWN0
cyhyZWFzb24pOwogICAgIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlckNhbGxiYWNr
cygpOwpAQCAtNTY4NSw3ICs1Njg1LDcgQEAgdm9pZCBEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVkIHNob3J0IGZsYWcKICAgICB9
IHdoaWxlICgwKTsKIAogICAgIG1fZnVsbFNjcmVlbkVycm9yRXZlbnRUYXJnZXRRdWV1ZS5hcHBl
bmQoZWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVudEVsZW1lbnQoKSk7Ci0gICAgbV9mdWxsU2Ny
ZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hh
bmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Vi
a2l0Q2FuY2VsRnVsbFNjcmVlbigpCkBAIC01ODUyLDcgKzU4NTIsNyBAQCB2b2lkIERvY3VtZW50
Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQogCiAgICAgbV9m
dWxsU2NyZWVuRWxlbWVudC0+ZGlkQmVjb21lRnVsbHNjcmVlbkVsZW1lbnQoKTsKIAotICAgIG1f
ZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnVsbFNj
cmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdFdpbGxFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCopCkBAIC01ODg5
LDcgKzU4ODksNyBAQCB2b2lkIERvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVs
ZW1lbnQoRWxlbWVudCopCiAgICAgYm9vbCBldmVudFRhcmdldFF1ZXVlc0VtcHR5ID0gbV9mdWxs
U2NyZWVuQ2hhbmdlRXZlbnRUYXJnZXRRdWV1ZS5pc0VtcHR5KCkgJiYgbV9mdWxsU2NyZWVuRXJy
b3JFdmVudFRhcmdldFF1ZXVlLmlzRW1wdHkoKTsKICAgICBEb2N1bWVudCYgZXhpdGluZ0RvY3Vt
ZW50ID0gZXZlbnRUYXJnZXRRdWV1ZXNFbXB0eSA/IHRvcERvY3VtZW50KCkgOiAqdGhpczsKIAot
ICAgIGV4aXRpbmdEb2N1bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBleGl0aW5nRG9jdW1lbnQubV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0RnVsbFNjcmVlblJl
bmRlcmVyKFJlbmRlckZ1bGxTY3JlZW4qIHJlbmRlcmVyKQpAQCAtNjA1NSw3ICs2MDU1LDcgQEAg
dm9pZCBEb2N1bWVudDo6ZGVjcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpCiAgICAgLS1tX2xv
YWRFdmVudERlbGF5Q291bnQ7CiAKICAgICBpZiAoZnJhbWUoKSAmJiAhbV9sb2FkRXZlbnREZWxh
eUNvdW50ICYmICFtX2xvYWRFdmVudERlbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9s
b2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sb2FkRXZlbnRE
ZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojpsb2FkRXZl
bnREZWxheVRpbWVyRmlyZWQoKQpAQCAtNjY5OSw3ICs2Njk5LDcgQEAgdm9pZCBEb2N1bWVudDo6
ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2woRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgcmV0dXJu
OwogICAgIG1fYXNzb2NpYXRlZEZvcm1Db250cm9scy5hZGQoZWxlbWVudCk7CiAgICAgaWYgKCFt
X2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGlk
QXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Rp
ZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lckZpcmVkKCkKQEAgLTY3MTks
NyArNjcxOSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldENhY2hlZERPTUNvb2tpZXMoY29uc3QgU3Ry
aW5nJiBjb29raWVzKQogICAgIEFTU0VSVCghaXNET01Db29raWVDYWNoZVZhbGlkKCkpOwogICAg
IG1fY2FjaGVkRE9NQ29va2llcyA9IGNvb2tpZXM7CiAgICAgLy8gVGhlIGNvb2tpZSBjYWNoZSBp
cyB2YWxpZCBhdCBtb3N0IHVudGlsIHdlIGdvIGJhY2sgdG8gdGhlIGV2ZW50IGxvb3AuCi0gICAg
bV9jb29raWVDYWNoZUV4cGlyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nvb2tpZUNh
Y2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6Omlu
dmFsaWRhdGVET01Db29raWVDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGE0MjU1ODM3
ZDdkZWE0YWE4M2VhZGRiZTE3YWNjZDUwOTEzN2EzZTUuLjQ0YzA1N2EzMmUxODQ2YTJlMTk3NzEx
MWI3ZDMwNWNkNGUwOTg3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzM3LDkgKzEzMzcs
OSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
dW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBSZWZQdHI8SW5zcGVj
dG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxwdHIsIHVuc2ln
bmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKKyAgICBT
ZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QgZmluYWw7CiAKLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsKKyAgICBTZWNvbmRzIHRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsKIAog
ICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVFbGVtZW50KCk7CiAgICAgdm9pZCB1cGRhdGVU
aXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudEV2ZW50UXVldWUuY3BwCmluZGV4IDllMDc3ZjcyZjEzNjU5YTM4NjkxNWE5Y2JlNjAxNDZm
MjAyOTljMjcuLmJkOTNiYTYyY2U2ZTIyMWQ5NDBlMGU4MDY5NzgxNWVhZTU2MjRlOTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCkBAIC03OSw3ICs3OSw3IEBA
IGJvb2wgRG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50
KQogCiAgICAgbV9xdWV1ZWRFdmVudHMuYWRkKGV2ZW50LnB0cigpKTsKICAgICBpZiAoIW1fcGVu
ZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ0V2ZW50VGltZXIt
PnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVT
aG90KDBfcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFNlbmRlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmgK
aW5kZXggODcyZDg1YTFhNDU1MWFkMDE5OTA4MDk4MGU2ZjVmM2FkMjhhN2I3Zi4uMTVjZGIxNzc5
YjIwMGFmMzY5MmJmZWUxZTcwYzlhYjAyYzZiMzRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50U2VuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVy
LmgKQEAgLTY2LDcgKzY2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBFdmVudFNlbmRl
cjxUPjo6ZGlzcGF0Y2hFdmVudFNvb24oVCYgc2VuZGVyKQogewogICAgIG1fZGlzcGF0Y2hTb29u
TGlzdC5hcHBlbmQoJnNlbmRlcik7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+Ojpj
YW5jZWxFdmVudChUJiBzZW5kZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWlj
cm90YXNrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKaW5kZXggMTk2
ZGZlZDEwMjA2NDM1ZjZmZWNlNGM3YTg1OTE0NmZjZWI5ZjhmNy4uMGUxNjM4ZWZlNWU0NDZmNzY0
Njg1OTkxNzgwMjU1MjE2OTg5NjAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01p
Y3JvdGFza3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcApAQCAt
NTUsNyArNTUsNyBAQCB2b2lkIE1pY3JvdGFza1F1ZXVlOjphcHBlbmQoc3RkOjp1bmlxdWVfcHRy
PE1pY3JvdGFzaz4mJiB0YXNrKQogICAgIGVsc2UKICAgICAgICAgbV9taWNyb3Rhc2tRdWV1ZS5h
cHBlbmQoV1RGTW92ZSh0YXNrKSk7CiAKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1pY3JvdGFza1F1ZXVlOjpy
ZW1vdmUoY29uc3QgTWljcm90YXNrJiB0YXNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDkzN2YxYzIzYmQ3ZTk5NGNhZWViNmUyZDA0ODlj
MDBlZTE5Y2Y1NmIuLjdlOGRhOWM3M2RkOWRjNGE1OWRiYWUwZTEzODkyYTFjODQ1Y2UyMTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTQ0
NSw3ICs0NDUsNyBAQCBQdWJsaWNVUkxNYW5hZ2VyJiBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpw
dWJsaWNVUkxNYW5hZ2VyKCkKICAgICByZXR1cm4gKm1fcHVibGljVVJMTWFuYWdlcjsKIH0KIAot
dm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKQordm9pZCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChTZWNvbmRz
IG9sZE1pbmltdW1UaW1lckludGVydmFsKQogewogICAgIGlmIChtaW5pbXVtVGltZXJJbnRlcnZh
bCgpICE9IG9sZE1pbmltdW1UaW1lckludGVydmFsKSB7CiAgICAgICAgIGZvciAoYXV0byYgdGlt
ZXIgOiBtX3RpbWVvdXRzLnZhbHVlcygpKQpAQCAtNDUzLDcgKzQ1Myw3IEBAIHZvaWQgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kCiAgICAgfQogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKK1NlY29uZHMg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdAogewog
ICAgIC8vIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHJldHVybnMgdGhlIERPTVRpbWVyJ3Mg
ZGVmYXVsdAogICAgIC8vIG1pbmltdW0gdGltZXIgaW50ZXJ2YWwuIEZJWE1FOiB0byBtYWtlIGl0
IHdvcmsgd2l0aCBkZWRpY2F0ZWQKQEAgLTQ2OSw3ICs0NjksNyBAQCB2b2lkIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKQogICAgICAgICB0
aW1lci0+ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFs
KGJvb2wpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKIHsKICAgICByZXR1cm4gRE9NVGltZXI6OmRlZmF1bHRB
bGlnbm1lbnRJbnRlcnZhbCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKaW5kZXggYzkyOThkMzJjYTQwMTZiZTA1ZmNmZjE4NGE5OTc2ODI2NTRhZTY4
ZS4uN2ZkZTc4ZDVmYmY5YTgyMGU4YWY0ZDhiYzhkM2EwZjM2NGQ3OGFmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0xOTIsMTEgKzE5MiwxMSBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSlNDOjpWTSYgdm0oKTsKIAogICAgIC8vIElu
dGVydmFsIGlzIGluIHNlY29uZHMuCi0gICAgdm9pZCBhZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZh
bChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKTsKLSAg
ICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwo
KSBjb25zdDsKKyAgICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xk
TWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHZpcnR1YWwgU2Vjb25kcyBtaW5pbXVtVGltZXJJ
bnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVy
dmFsKCk7Ci0gICAgdmlydHVhbCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdDsKKyAgICB2
aXJ0dWFsIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhO
ZXN0aW5nTGV2ZWwpIGNvbnN0OwogCiAgICAgdmlydHVhbCBFdmVudFF1ZXVlJiBldmVudFF1ZXVl
KCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVu
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCmluZGV4IDcwOTg5
ZWI0MGMwNDVhZGU3NzRhZTU3ZDA5YTQwNDhiNTllMzg4MDQuLjQ2ODRlMGRkOTdjZmUyOGM1YjE3
OWVhNzczOTNkOTgxMGRiZDNmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCkBA
IC04Niw3ICs4Niw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpzdXNwZW5kKCkKIHZvaWQgU2NyaXB0
UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQZW5kaW5nU2NyaXB0cygpKQotICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3Jp
cHQmIHBlbmRpbmdTY3JpcHQpCkBAIC0xMDAsNyArMTAwLDcgQEAgdm9pZCBTY3JpcHRSdW5uZXI6
Om5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3JpcHQmIHBlbmRpbmdTY3JpcHQpCiAgICAgICAgIG1f
c2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1fcGVuZGluZ0FzeW5jU2NyaXB0cy50YWtlKHBl
bmRpbmdTY3JpcHQpLT5wdHIoKSk7CiAgICAgfQogICAgIHBlbmRpbmdTY3JpcHQuY2xlYXJDbGll
bnQoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1bm5lcjo6dGltZXJGaXJlZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4
IDcxNzgyZjJmMTEwZTNmZGM0YTY3NDAxOTc2ZDlhOWY2NGFhNjVmMjQuLjQzYzcwYzRhNjIxYmUy
OWU5NDE5ODc4MmU5NTExOTg2MWYxMDI4MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0yMTgsNyArMjE4LDcgQEAgdm9p
ZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxlQW5pbWF0aW9uKCkKICNlbmRp
ZgogCiAgICAgZG91YmxlIHNjaGVkdWxlRGVsYXkgPSBzdGQ6Om1heDxkb3VibGU+KGFuaW1hdGlv
bkludGVydmFsIC0gKG1fZG9jdW1lbnQtPmRvbVdpbmRvdygpLT5ub3dUaW1lc3RhbXAoKSAtIG1f
bGFzdEFuaW1hdGlvbkZyYW1lVGltZXN0YW1wKSwgMCk7Ci0gICAgbV9hbmltYXRpb25UaW1lci5z
dGFydE9uZVNob3Qoc2NoZWR1bGVEZWxheSk7CisgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoU2Vjb25kcyhzY2hlZHVsZURlbGF5KSk7CiAjZWxzZQogICAgIGlmIChGcmFtZVZpZXcq
IGZyYW1lVmlldyA9IG1fZG9jdW1lbnQtPnZpZXcoKSkKICAgICAgICAgZnJhbWVWaWV3LT5zY2hl
ZHVsZUFuaW1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IGI4
MDhhZjI3ZDY5NjU5MjFiNDMzNjdmOTY4NDAzZDE0N2U4M2ZiYjEuLmEzMWQyODg0NDhlMWE2MjAy
ZTE3MDM5YzdkZjVkYmYyZDBiOWIyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
dHlsZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5j
cHAKQEAgLTc0LDYgKzc0LDkgQEAgc3RhdGljIFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlJiBw
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSgpCiAgICAgcmV0dXJuIGNhY2hlOwogfQogCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZSA9IDYw
X3M7CitzdGF0aWMgY29uc3QgaW50IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZVNp
emVGb3JDbGVhbmluZyA9IDEwMDsKKwogY2xhc3MgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVD
bGVhbmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVzZW50YXRpb25BdHRyaWJ1dGVD
YWNoZUNsZWFuZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTkxLDE2
ICs5NCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIG1faGl0Q291bnQrKzsKIAogICAgICAgICBpZiAo
IW1fY2xlYW5UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV9jbGVhblRpbWVyLnN0YXJ0
T25lU2hvdChwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyk7Cisg
ICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlQ2xlYW5UaW1lKTsKICAgICAgfQogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcyA9IDYw
OwotICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hl
U2l6ZUZvckNsZWFuaW5nID0gMTAwOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVt
UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcykgLyA2MDsKLQogICAgIHZv
aWQgY2xlYW5DYWNoZSgpCiAgICAgeworICAgICAgICB1bnNpZ25lZCBtaW5pbXVtUHJlc2VudGF0
aW9uQXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVzZW50YXRpb25B
dHRyaWJ1dGVDYWNoZUNsZWFuVGltZS52YWx1ZSgpKSAvIDYwOworCiAgICAgICAgIHVuc2lnbmVk
IGhpdENvdW50ID0gbV9oaXRDb3VudDsKICAgICAgICAgbV9oaXRDb3VudCA9IDA7CiAgICAgICAg
IGlmIChoaXRDb3VudCA+IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2
ZVRleHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVU
ZXh0Q29udHJvbGxlci5jcHAKaW5kZXggZDVjZDFlYTY3ZGQ5MGI4OTNmNTM0N2E3YTE3ZWVjZTA5
NGE0YWE2Yy4uNmYyZjQ5NzkyOTY3ZWM3NWZmODg4M2NlMmQ3NmVhMDQwY2NjZDBhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIu
Y3BwCkBAIC0xNDAsNyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6fkFsdGVy
bmF0aXZlVGV4dENvbnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6
OnN0YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBlIHR5cGUpCiB7
Ci0gICAgY29uc3QgZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjM7Cisg
ICAgY29uc3QgU2Vjb25kcyBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsID0gMC4zX3M7CiAg
ICAgaWYgKCFpc0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMjBlNmIwYzJiNzRjYWZj
ZWVhMjI4ZjgyY2NlMjIyYmM1ZmMxN2EzNy4uM2JhNWJkMTkxYzZjOWFmZWExYmY4MzNiMjI3YzBk
N2JiYTRmYTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMzI2Miw3ICszMjYy
LDcgQEAgdm9pZCBFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJs
ZVNlbGVjdGlvbiYsIEZyYW1lU2VsZWN0aW9uOjoKIAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJiYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoc2hvdWxkRGV0ZWN0VGVs
ZXBob25lTnVtYmVycygpKQotICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rp
b25VcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgogCiAgICAgc2V0U3RhcnRO
ZXdLaWxsUmluZ1NlcXVlbmNlKHRydWUpOwpAQCAtMzI3NCw3ICszMjc0LDcgQEAgdm9pZCBFZGl0
b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIEZy
YW1lU2VsZWN0aW9uOjoKICAgICBtX2VkaXRvclVJVXBkYXRlVGltZXJTaG91bGRDaGVja1NwZWxs
aW5nQW5kR3JhbW1hciA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6Q2xvc2VUeXBpbmcKICAg
ICAgICAgJiYgIShvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OlNwZWxsQ29ycmVjdGlvblRyaWdn
ZXJlZCk7CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyV2FzVHJpZ2dlcmVkQnlEaWN0YXRpb24g
PSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkRpY3RhdGlvblRyaWdnZXJlZDsKLSAgICBtX2Vk
aXRvclVJVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZWRpdG9yVUlVcGRhdGVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJiYgIVBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5jcHAKaW5kZXggMzU2MTc0OTBiYTg2MGYyYjllYTQ4NTYxZDkwNTYyZmU4Yzcy
YjQyYS4uY2EyOTI0OTZlOGIwYTJjY2YxZTJhMGJlOTRiODY1OTYxZjc0MTBiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIwNDUsNyArMjA0NSw3IEBA
IHZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFwcGVhcmFuY2UoKQogICAgIC8vIFN0YXJ0IGJs
aW5raW5nIHdpdGggYSBibGFjayBjYXJldC4gQmUgc3VyZSBub3QgdG8gcmVzdGFydCBpZiB3ZSdy
ZQogICAgIC8vIGFscmVhZHkgYmxpbmtpbmcgaW4gdGhlIHJpZ2h0IGxvY2F0aW9uLgogICAgIGlm
IChzaG91bGRCbGluayAmJiAhbV9jYXJldEJsaW5rVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAg
ICBpZiAoZG91YmxlIGJsaW5rSW50ZXJ2YWwgPSBtX2ZyYW1lLT5wYWdlKCktPnRoZW1lKCkuY2Fy
ZXRCbGlua0ludGVydmFsKCkpCisgICAgICAgIGlmIChTZWNvbmRzIGJsaW5rSW50ZXJ2YWwgPSBt
X2ZyYW1lLT5wYWdlKCktPnRoZW1lKCkuY2FyZXRCbGlua0ludGVydmFsKCkpCiAgICAgICAgICAg
ICBtX2NhcmV0QmxpbmtUaW1lci5zdGFydFJlcGVhdGluZyhibGlua0ludGVydmFsKTsKIAogICAg
ICAgICBpZiAoIW1fY2FyZXRQYWludCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9TcGVsbENoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNr
ZXIuY3BwCmluZGV4IDlkMGY4NzM2ZTA4MWMzZGY0ZmNhN2UyMWE3ZmY2NWMxODVjNDFmZDQuLjAy
NDg4MTNjZTBjOWM3YmFjNTE5YmZiNTg0NWNiM2JlNzNlMzkwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIFNwZWxsQ2hl
Y2tlcjo6ZGlkQ2hlY2soaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5nUmVz
dWx0PiYgcmVzdQogCiAgICAgbV9wcm9jZXNzaW5nUmVxdWVzdCA9IG51bGxwdHI7CiAgICAgaWYg
KCFtX3JlcXVlc3RRdWV1ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fdGltZXJUb1Byb2Nlc3NRdWV1
ZWRSZXF1ZXN0LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVl
ZFJlcXVlc3Quc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRD
aGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5nUmVzdWx0
PiYgcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCA0
MTZhMmQxYTdiOTI1MTM0MTBlNDA2ZjQzNDVkYzgzY2Y1Y2ZhMTBjLi5kNzg0ZGI0MjBjYWNkZTk4
Yjg1ZTMwYWRjYmE5M2E2YmQ1ZDBmYTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OmZpbmlz
aFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKIAogICAgIC8v
IERpc3BhdGNoIGV2ZW50cyBsYXRlciBhcyB0aGlzIEFQSSBpcyBtZWFudCB0byB3b3JrIGFzeW5j
aHJvbm91c2x5IGluIGFsbCBzaXR1YXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMuCiAgICAgaWYg
KCFtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3JlcXVl
c3RBdXRvY29tcGxldGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdEF1
dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxGb3JtRWxl
bWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYTFmNGZlMThjNWQ1YTYwMDQ5NGRiNGIxNjhjZDg0
NGM2ZGU2ZGRkYi4uZWFmMTM2NDZiYjQ4ZTY0YzVmMmFiNGE1MTY4ZDAyYWYxMTc4MWRmNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNTYsMTIgKzE1Niwx
MiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1Jl
cGVhdERlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgU2Vla1JlcGVhdERlbGF5ID0g
MC4xX3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTY2FuUmVwZWF0RGVsYXkgPSAxLjVfczsKIHN0
YXRpYyBjb25zdCBkb3VibGUgU2Vla1RpbWUgPSAwLjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIFNj
YW5SZXBlYXREZWxheSA9IDEuNTsKIHN0YXRpYyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1SYXRl
ID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5kZWRE
ZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5k
ZWREZWxheSA9IFNlY29uZHMoNik7CiAKIHN0YXRpYyB2b2lkIHNldEZsYWdzKHVuc2lnbmVkJiB2
YWx1ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CkBAIC05MjAsNyArOTIwLDcgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rpb24oRGVsYXllZEFjdGlvblR5cGUgYWN0aW9u
VHlwZSkKICAgICBpZiAoYWN0aW9uVHlwZSAmIFVwZGF0ZVBsYXlTdGF0ZSkKICAgICAgICAgc2V0
RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIFVwZGF0ZVBsYXlTdGF0ZSk7CiAKLSAgICBtX3Bl
bmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1
bGVOZXh0U291cmNlQ2hpbGQoKQpAQCAtOTI4LDcgKzkyOCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoKQogICAgIC8vIFNjaGVkdWxlIHRoZSB0aW1l
ciB0byB0cnkgdGhlIG5leHQgPHNvdXJjZT4gZWxlbWVudCBXSVRIT1VUIHJlc2V0dGluZyBzdGF0
ZSBhbGEgcHJlcGFyZUZvckxvYWQuCiAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6
c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoJXApIC0gc2V0dGluZyAlcyBmbGFnIiwgdGhpcywgYWN0
aW9uTmFtZShMb2FkTWVkaWFSZXNvdXJjZSkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2V0RmxhZ3Mo
bV9wZW5kaW5nQWN0aW9uRmxhZ3MsIExvYWRNZWRpYVJlc291cmNlKTsKLSAgICBtX3BlbmRpbmdB
Y3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJB
Y3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZChjb25zdCBNZWRpYVBsYXllciopCkBAIC0xOTY3LDcg
KzE5NjcsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVy
KCkKIAogICAgIG1fcHJldmlvdXNQcm9ncmVzc1RpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKICAgICAvLyAzNTBtcyBpcyBub3QgbWFnaWMsIGl0IGlzIGluIHRoZSBzcGVjIQot
ICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMzUwKTsKKyAgICBtX3By
b2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGluZygwLjM1MF9zKTsKIH0KIAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAgLTMzNTQsNyArMzM1NCw3IEBA
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhTY2FuRGlyZWN0aW9uIGRpcmVj
dGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2FuUmF0ZSgpKTsKICAgICB9CiAK
LSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09IFNlZWsgPyBTZWVrUmVwZWF0
RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRpbWVyLnN0YXJ0KDBfcywgbV9z
Y2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2NhblJlcGVhdERlbGF5KTsKIH0K
IAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRTY2FubmluZygpCkBAIC0zMzkzLDcgKzMzOTMs
NyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZpcmVkKCkKIAogLy8gVGhlIHNw
ZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdo
aWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dl
c3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1
ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVx
dWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQbGF5YmFja1By
b2dyZXNzVGltZXIoKQogewpAQCAtMzQ0MCw3ICszNDQwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChib29sIHBlcmlvZGljRXZlbnQpCiAgICAgZG91
YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0VXBkYXRlRXZlbnQ7CiAKICAg
ICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCi0gICAgaWYgKHBlcmlvZGljRXZlbnQg
JiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5KQorICAgIGlmIChwZXJp
b2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeS52YWx1
ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTb21lIG1lZGlhIGVuZ2luZXMgbWFrZSBt
dWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFja3MgYXQgdGhlIHNhbWUgdGltZSwgYnV0IHdl
IG9ubHkgd2FudCBvbmUKQEAgLTQzNzEsNyArNDM3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbihkb3VibGUgcG9zaXRpb24pCiAgICAgLy8g
UGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0NTcyMTk+IGZvciBtb3JlIGRldGFpbHMuCiAg
ICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9zaXRpb24pKTsKICAgICBtX3Nl
ZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0b3AoKTsKLSAgICBtX3NlZWtUb1BsYXli
YWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjUpOworICAgIG1fc2Vla1RvUGxh
eWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNV9zKTsKIAogICAgIGlmICgh
bV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNTY3J1YmJpbmdSZW1vdGVseSA9
IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IGE4
NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYuLjE1MTBjNTg5ZmRlZDJiMWUz
OTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6
c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAgICBtX2Rpc3BsYXlTdGF0ZSA9
IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxheWluZ1NuYXBzaG90IHx8IGRp
c3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2VtZW50KSAmJiAhbV9zd2FwUmVu
ZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBSZW5kZXJlclRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRkVXNlckFnZW50U2hhZG93Um9v
dChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbklt
YWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjkyZTM3MjgwZjNmOTk5NjdmY2Iw
YTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQzMzdkZGQzMGY5YjIzNjczYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCkBAIC03MiwxMCAr
NzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQYWdlQXJlYVJhdGlvVGhyZXNo
b2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3RhcnRTb29uQWZ0ZXJVc2VyR2Vz
dHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBzaG91bGQgbm90IGV4Y2VlZCB0
aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0YXRpYyBjb25zdCBhdXRvIHNp
bXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7
IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVs
YXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXN0YXRpYyBjb25zdCBhdXRvIHJl
bW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAxNTAw
IH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFwc2hvdFRpbWVyRGVsYXkgPSAxLjVf
czsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHRpdGxlVGV4dChQYWdlKiBwYWdlLCBT
dHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3Vy
Y2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
CmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFjMGMzNjVhZjgxNWU3ZjYzOWYuLmVkYWUwYzRj
YjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUsNyArMTI1LDcgQEAgdm9pZCBIVE1MU291cmNl
RWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkKICAgICBpZiAobV9lcnJvckV2ZW50VGltZXIu
aXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9lcnJvckV2ZW50VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5kaW5nRXJyb3JFdmVudCgpCkBA
IC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c3VzcGVuZChSZWFzb25G
b3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnJlc3VtZSgpCiB7CiAg
ICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJlc3VtZSkgewotICAgICAgICBt
X2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZXJyb3JFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3Nob3VsZFJlc2NoZWR1bGVFcnJvckV2
ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJh
Y2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4ZDdiNDhhOWJhMjQxYjRjNDcxZDU3OWY1NWU4
YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRiMmE1NjJmNmM2NDVlYjAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTE3OCw3ICsxNzgsNyBAQCB2b2lk
IEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAgICAgIHJldHVybjsKIAogICAg
IC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBzIGFzeW5jaHJvbm91c2x5LCBh
bGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8gcnVuIHRvIGNvbnRpbnVlLgot
ICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xvYWRUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKaW5kZXggOTU0MDUyNTA5ZWI3
ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uMDZkNjQ1OGVmNmZlYmYzMzQ1M2QwODRkMmM4
N2JhNWE5ZGVkM2Q1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcApA
QCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9jayhDbG9jazo6Y3JlYXRlKCkp
CiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKICAgICAsIG1fdGltZXVw
ZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVu
dCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQogewogfQogCkBAIC0xNDgsNyAr
MTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVudFRpbWUoKSBjb25zdAogICAg
IGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKSB7CiAgICAgICAg
IC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgWzAu
LmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6bWF4PGRvdWJsZT4oMCwgc3Rk
OjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUoKSkpOwotICAgICAgICBtX2Ns
ZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY2xlYXJQb3NpdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIHJldHVybiBtX3Bvc2l0aW9u
OwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZUV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAgIG1fcGVuZGluZ0V2ZW50cy5h
cHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0cnVlKSk7CiAgICAgaWYgKCFt
X2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNFdmVudFRpbWVyRmlyZWQoKQpA
QCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVyOjpyZXR1cm5Ub1JlYWx0aW1l
KCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZlbnRz
ICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3ZSBj
aG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRpbWV1
cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhUaW1l
dXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpz
dGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0LDggQEAgdm9pZCBNZWRpYUNv
bnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6
OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3VibGUgbm93ID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fcHJl
dmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG5vdyA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOworICAgIFNlY29uZHMgdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91c1RpbWV1
cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVudEZyZXF1
ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgK
aW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNkMi4uYTkxOTI0ODE3
YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
Q29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwotICAgIGRv
dWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZp
b3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRpbWVJbk5leHRQbGF5
IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFE
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCmluZGV4
IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBmZmUuLmNkNjZkMjg0MDU4MmZi
NDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3Vt
ZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6bWVkaWFFbGVt
ZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBsZXQgdGhlIHBsdWdpbiBoYW5k
bGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhpcyAKICAgICAvLyBmdW5jdGlv
biBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBlbmdpbmUgY2FsbGJhY2ssIGFu
ZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRoZSBlbGVtZW50LCBtZWRpYSBw
bGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVsZW1lbnRU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50
U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3Bw
CmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNkYTMuLjY5YjA1Y2Yw
MTBhMGYzNDNlYTk4ZmFmMzg4NjViMTY5YTFmMzdmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJ
bnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNvbnRlbnRD
aGVja0ludGVydmFsID0gMC4yNV9zOwogCiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRSZWN0TW9zdGx5
SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogc3RhdGljIGJvb2wgaXNFbGVt
ZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50JiwgTWVk
aWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2b2lkIE1l
ZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdl
KGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Npb246OmV4
dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCVwKSAtIGhhc1RhcmdldHMgJXMi
LCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDogIkZBTFNFIik7CiAKICAgICBtX2hhc1BsYXli
YWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAgbV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2Vk
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hhbmdlZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNh
blBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9T
ZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4ZWVjMmJj
NzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUsNyBAQCB2
b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAgIC8vIEFm
dGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAgIC8vIEFm
dGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4yIGZyb20g
dGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDAu
MiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0YXJ0T25l
U2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwogfQogCiB2
b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBjYmY4NzAx
MTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFiMmE2ZDVkN2FmMzA5MjA4Y2I0YjdiODI3N2Ey
MDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApAQCAtMTE3
LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4o
KnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBlbHNlCiAg
ICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRp
b25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBAIC0xNDQs
NyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0
VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAgICAgICAg
bV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3Nh
Z2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3Rk
OjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWdu
aWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qoc3RkOjpt
YXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9uIC8gMTAw
MC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVz
c2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogCiAgICAgLy8gV2UgbXVzdCBub3QgbW9kaWZ5
IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQgYnkgdGhlIHNhbWUgcmVhc29uIGFzIHNldE1l
c3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZW
YWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgbV90aW1lci0+c3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIFZh
bGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9kZSkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgwNzU2MDU1ZTU5Njk3ZDg5MTZhZDM0OTRhNjI0
YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZlODJiMmQzMTA5MjJhOGM5ZWE5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citjb25zdCBT
ZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMV9zOwogY29uc3QgaW50IG1heEdM
RXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2NjYsNyAr
NDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRleHRJbXBs
KFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMgZGVmZXIg
dGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVudAogICAg
IC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rpc3BhdGNo
Q29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3BhdGNoQ29u
dGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQpAQCAtNDY4Myw3ICs0Njgz
LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVDb250ZXh0
KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9yZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN0b3JlVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApAQCAtNTYxNCw3ICs1NjE0LDcgQEAgdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoKQog
ICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIG1fcmVzdG9yZUFsbG93ZWQg
PSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIGlmIChtX2NvbnRleHRMb3N0TW9kZSA9
PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxsb3dlZCkKLSAgICAgICAgbV9yZXN0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3Rv
cmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4
dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUobV9hdHRyaWJ1dGVzLCBob3N0
V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRleHRMb3N0
TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgICAgICAgICAgbV9y
ZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzKTsKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkgc2hvdWxkbid0IGhhcHBlbiBi
dXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUgV2ViR0wgYXBwLgogICAgICAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfT1BFUkFU
SU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDI4MzM3ZDg2ZDUz
Zjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJlYTAyN2E5MTI2ZjYz
OTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBIVE1MUGFyc2Vy
U2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAgIC8vIEZJWE1FOiBU
aGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3RlYWQgb2Yg
dGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBhZ2FpbiB0
byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2VyLmRvY3Vt
ZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2NvbnRpbnVlTmV4dENo
dW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVlTmV4dENodW5rVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV9wYXJz
ZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBib29sIEhU
TUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5nU2NyaXB0KFB1bXBT
ZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVsZUZvclJl
c3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9jb250aW51ZU5leHRD
aHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6c3VzcGVu
ZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUo
KQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAgcmV0dXJu
OwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBtX2NvbnRp
bnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1
bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWExZjA4YzMw
NjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUuLjc2OTYzMWFmNjgwY2IxNTczNThhZjg5MzZl
ZjFkYjIxNDU1NzgxMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9N
ZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1lZGlhQ29u
dHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlzIHJlcXVp
cmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVsLAogICAg
IC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0aGUgYm90
dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQgdHJhbnNp
dGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50
KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDA7Cisg
ICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdl
KCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAgIG1f
dHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTE4OCwxMCAr
MTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkKICAg
ICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9
IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250
cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAgIFNlY29uZHMgZHVyYXRpb24gPSBkb2N1bWVu
dCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlP
cGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3Bh
cXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxF
bGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsK
KyAgICBTZWNvbmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBh
Z2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAg
ICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBD
U1NQcm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVy
dHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1Mp
OworICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRp
b24sIGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0
SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyAr
MTMzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBk
YXRlU2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2Vu
dGF0aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rp
b24gaXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0
cmFja3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBN
ZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXBy
ZXNlbnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
TG9hZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJs
ZVRleHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRmNWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0
MGYzMy4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcxZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcg
KzU4LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYg
dXJsKQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3
aGlsZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2li
bGUgZm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNr
IG1vZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJk
YjdlMjIzZGQ0MzZjMDdkNTFiNi4uZDFiMjUxNzM1MjVhNzNlMWQ2NmQxZWI3OWJhYTU1MmY5NDAy
MzkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyAr
NTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdo
dCA9IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAo
cykuCi1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0
IFNlY29uZHMgc2Nyb2xsVGltZSA9IFNlY29uZHMoMC40MzMpOwogCiBWVFRSZWdpb246OlZUVFJl
Z2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQ29udGV4dERlc3Ry
dWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCkBAIC00MDMsNyArNDAzLDcgQEAgdm9pZCBWVFRSZWdp
b246OnN0YXJ0VGltZXIoKQogICAgIGlmIChtX3Njcm9sbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkg
PyBzY3JvbGxUaW1lIDogMDsKKyAgICBTZWNvbmRzIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdp
b24oKSA/IHNjcm9sbFRpbWUgOiAwX3M7CiAgICAgbV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3Qo
ZHVyYXRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmNwcAppbmRleCAzZDU0MjIxYzVkYzg5M2NkZDk1NzFkYzNmM2IxZmU2ODdiYjA4NjMz
Li42YjU2YzE4ZjJhZGVmMjc3MWVjZGUwOWY3ZjQ3MDdlN2QxMGM5MzMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKQEAgLTEyOCw3ICsxMjgs
NyBAQCB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hlZHVsZUZvcihXZWJLaXROYW1l
ZEZsb3cqIG5hbWVkRmxvdywgaW50IGRvY3VtZQogICAgIG1fbmFtZWRGbG93cy5hZGQobmFtZWRG
bG93LCBkb2N1bWVudE5vZGVJZCk7CiAKICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgQ2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnVuc2NoZWR1bGUo
V2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCA4M2EwMjRiY2RkZDIxMzA5Nzg3NTk4NzIyNDEy
NzFlMGE4ZmIzZjBmLi45MTI3MjYyYWU4OGFjY2JiNGU0ZWUxZjg2MTdkOWQzMmY0MWU4Y2Q4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAg
LTE4NSw3ICsxODUsNyBAQCB2b2lkIFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVk
dWxlRm9yKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgbV9lbGVtZW50cy5hZGQoZWxlbWVudCk7
CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJl
dmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3Bw
CmluZGV4IDhhMzVhMTc5ZWI4YmY1OWI0YmMwOThkYzZlZGM5MGNkZTBkYTA1OTMuLjUxOGFhZGY3
ZDEyMjY4YTQ3ZjhmMmI1MzA5ZmMzZjU0MWFlODUzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAg
LTgwLDcgKzgwLDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fbWVzc2FnZXMuYXBwZW5kKG1lc3Nh
Z2UpOwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9CiAKICAgICB2b2lkIHJlc2V0KCkKQEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6
CiAgICAgICAgICAgICBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyLT5kaXNwYXRjaE1lc3NhZ2VG
cm9tRnJvbnRlbmQobV9tZXNzYWdlcy50YWtlRmlyc3QoKSk7CiAKICAgICAgICAgaWYgKCFtX21l
c3NhZ2VzLmlzRW1wdHkoKSAmJiBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyKQotICAgICAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JPdmVybGF5LmNwcAppbmRleCA1ZmNhMzEwZDAwYWMyMWRjN2I2MWJlMGE5ZmUw
NTVjOGI3ZjdhYWQ4Li44ZDEwNWJhMzBjZjExMjYxNWMzZWNhNWI1MzlhMTg4Y2I3MWJkNjZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC01
MDksOCArNTA5LDggQEAgdm9pZCBJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KGNvbnN0
IEZsb2F0UmVjdCYgcmVjdCkKICAgICBtX3BhaW50UmVjdHMuYXBwZW5kKFRpbWVSZWN0UGFpcihy
ZW1vdmVUaW1lLCByb290UmVjdCkpOwogCiAgICAgaWYgKCFtX3BhaW50UmVjdFVwZGF0ZVRpbWVy
LmlzQWN0aXZlKCkpIHsKLSAgICAgICAgY29uc3QgZG91YmxlIHBhaW50UmVjdHNVcGRhdGVJbnRl
cnZhbFNlY29uZHMgPSAwLjAzMjsKLSAgICAgICAgbV9wYWludFJlY3RVcGRhdGVUaW1lci5zdGFy
dFJlcGVhdGluZyhwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzKTsKKyAgICAgICAgY29u
c3QgU2Vjb25kcyBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWwgPSAwLjAzMl9zOworICAgICAgICBt
X3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRl
cnZhbCk7CiAgICAgfQogCiAgICAgZHJhd1BhaW50UmVjdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCmluZGV4IDNhYWE1MmE2Yjhh
YTYyZjNkYzc4ZDEyNGFkY2UxOGFlZDA3OTdmOTcuLjc5MGRhMTczYTNlNTBiNjQ1MmFhMTBjNWM1
ODk0ZTI4MDIxMzU4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlcGxheUFnZW50LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRpYyBSZWY8SW5zcGVj
dG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudD4gYnVpbGRJbnNwZWN0b3JPYmpl
Y3RGb3JTCiAKICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9u
U2VnbWVudDo6Y3JlYXRlKCkKICAgICAgICAgLnNldElkKHNlZ21lbnQtPmlkZW50aWZpZXIoKSkK
LSAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAoKSkKKyAgICAgICAgLnNl
dFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAoKS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVl
KCkpCiAgICAgICAgIC5zZXRRdWV1ZXMoV1RGTW92ZShxdWV1ZXNPYmplY3QpKQogICAgICAgICAu
cmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5k
ZXggMmQzY2Q5NTBlMzE4NDM5MzdiOGI3MDVkMzE3NTRiMzhhYTMzYjg1OS4uOTBjZWU2MjY2YWFh
YzkxNmM2YjI5ZWM0NmE5ZjE0NmQxNmQ2NjRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCkBAIC00ODksNyArNDg5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6
aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Rh
cnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2FkVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogI2lmIEhBVkUoUlVO
TE9PUF9USU1FUikKICAgICBpZiAoU2NoZWR1bGVQYWlySGFzaFNldCogc2NoZWR1bGVkUGFpcnMg
PSBtX2ZyYW1lLT5wYWdlKCktPnNjaGVkdWxlZFJ1bkxvb3BQYWlycygpKQpAQCAtMTIyNSw3ICsx
MjI1LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1YnN0aXR1dGVSZXNvdXJjZXNB
ZnRlckRlbGF5KCkKICAgICBpZiAobV9mcmFtZS0+cGFnZSgpLT5kZWZlcnNMb2FkaW5nKCkpCiAg
ICAgICAgIHJldHVybjsKICAgICBpZiAoIW1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN1YnN0aXR1
dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcAppbmRleCAxMjJhMmJkMjdmYWQ1NzI3MjZlMTcwZmVlZDU5MTMxYTU2MDM4YTk5Li42
ZjI1ZjFkY2QwYWZjYTY4YWJkOTM1N2ViMzQ4Y2M5MmMxY2YxZGE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTgzMSw3ICs4MzEsNyBAQCB2b2lkIEZyYW1lTG9hZGVy
OjpzdGFydENoZWNrQ29tcGxldGVUaW1lcigpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAobV9j
aGVja1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NoZWNrVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBGcmFtZUxvYWRlcjo6c2NoZWR1bGVDaGVja0NvbXBsZXRlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCBhNTNhZjExYmI5ZjkzYmEyYTgxMjNkYjFhODEw
ZjM4ODc5OTZmZGM1Li43NzliZjc1MWI0MmVhYjk1MTQ5OWU4MzI1ZmQwOWQ1M2QxOTk1MTVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2
b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVkSGFzUGVuZGluZ0V2ZW50KCkKICAgICAgICAgICAgIG1f
cHJvdGVjdGVkRWxlbWVudCA9ICZlbGVtZW50KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgQVNT
RVJUKCFtX2RlcmVmRWxlbWVudFRpbWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX2RlcmVmRWxl
bWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKICAgICB9ICAgCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCA3ZWZmYWQ3ZmExYzVhYTM0NDZlYWMwMDI5
NjE4ZjEyYmI1NzViNGU1Li4yYmQ5ZDkzNWE3ZDQyZWRlZWViMmFmM2ZmMzIyMjczNjBmY2M0OGM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBA
IC0xMjcsNyArMTI3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0g
dHJ1ZTsKIAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVz
ZXJHZXN0dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRp
cmVjdGVkKG1fdXJsLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRl
cnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBmcmFtZS5sb2FkZXIoKS5j
bGllbnRSZWRpcmVjdGVkKG1fdXJsLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4
dEZpcmVJbnRlcnZhbCgpLnZhbHVlKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQog
CiAgICAgdm9pZCBkaWRTdG9wVGltZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dy
ZXNzKSBvdmVycmlkZQpAQCAtMjc1LDcgKzI3NSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9oYXZl
VG9sZENsaWVudCA9IHRydWU7CiAKICAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVy
ZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9yd2FyZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVy
KCkuY2xpZW50UmVkaXJlY3RlZChtX3N1Ym1pc3Npb24tPnJlcXVlc3RVUkwoKSwgZGVsYXkoKSwg
Y3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSwgbG9ja0JhY2tGb3J3YXJk
TGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3N1Ym1p
c3Npb24tPnJlcXVlc3RVUkwoKSwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRG
aXJlSW50ZXJ2YWwoKS52YWx1ZSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAog
ICAgIHZvaWQgZGlkU3RvcFRpbWVyKEZyYW1lJiBmcmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVz
cykgb3ZlcnJpZGUKQEAgLTUzOSw3ICs1MzksNyBAQCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6
OnN0YXJ0VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICBkb3VibGUgZGVsYXkgPSBtX3Jl
ZGlyZWN0LT5kZWxheSgpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5KSk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24obV9mcmFtZSwgZGVsYXkpOwogICAg
IG1fcmVkaXJlY3QtPmRpZFN0YXJ0VGltZXIobV9mcmFtZSwgbV90aW1lcik7IC8vIG1fcmVkaXJl
Y3QgbWF5IGJlIG51bGwgb24gcmV0dXJuIChlLmcuIHRoZSBjbGllbnQgY2FuY2VsZWQgdGhlIGxv
YWQpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGZl
MGM3MjI5ZTZlYWI2NWY1NmUyNGRkYWMxYmJkNGQ1OTA0N2IxNWUuLjdlYWZkMzA1NmM5NzRiMDM5
Nzg2YWVjZTYyOTg1NDgyZmQ4NTRmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVz
c1RyYWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQ
cm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBpbml0aWFsUHJvZ3Jlc3NWYWx1ZQogc3RhdGlj
IGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2
OwogCiAvLyBDaGVjayBpZiB0aGUgbG9hZCBpcyBwcm9ncmVzc2luZyB0aGlzIG9mdGVuLgotc3Rh
dGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMV9zOwogCiAvLyBI
b3cgbWFueSBoZWFydGJlYXRzIG11c3QgcGFzcyB3aXRob3V0IHByb2dyZXNzIGJlZm9yZSBkZWNp
ZGluZyB0aGUgbG9hZCBpcyBjdXJyZW50bHkgc3RhbGxlZC4KIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBsb2FkU3RhbGxlZEhlYXJ0YmVhdENvdW50ID0gNDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Rl
eHRUcmFja0xvYWRlci5jcHAKaW5kZXggOTZlOTBiNWZkMjJkNTE4YzE1M2I5ZjgzMDRhOWRlMGQz
ZTg5YmI4OC4uYjI2NmMzMzEzYjJhNDhiNjMxYjc4M2UwNjE5MjExYjcxZjU1ZTZlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAgLTEzOSw3ICsxMzksNyBA
QCB2b2lkIFRleHRUcmFja0xvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UmIHJl
c291cmNlKQogICAgICAgICBtX2N1ZVBhcnNlci0+Zmx1c2goKTsKIAogICAgIGlmICghbV9jdWVM
b2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIGNh
bmNlbExvYWQoKTsKIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6
bmV3Q3Vlc1BhcnNlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbmV3Q3Vlc0F2YWlsYWJs
ZSA9IHRydWU7Ci0gICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRleHRUcmFja0xvYWRlcjo6
bmV3UmVnaW9uc1BhcnNlZCgpCkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBUZXh0VHJhY2tMb2Fk
ZXI6OmZpbGVGYWlsZWRUb1BhcnNlKCkKICAgICBtX3N0YXRlID0gRmFpbGVkOwogCiAgICAgaWYg
KCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
CiAgICAgY2FuY2VsTG9hZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAppbmRleCAzN2FjNzVkYmY1MDFj
NDhiNjZkMDViZTQ1OTUzYTU2MTdjZjkyZTEwLi40MWZlOTgzNmNhNjYyNjZlZmVhMzI1NmIyMzM0
YmYxZGEzMDkwMWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcApAQCAtMTA3MCw3ICsxMDcwLDcgQEAgdm9p
ZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNh
bGxiYWNrKCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIENocm9tZUNsaWVu
dENhbGxiYWNrVGltZXIqIHRpbWVyID0gbmV3IENocm9tZUNsaWVudENhbGxiYWNrVGltZXIodGhp
cyk7Ci0gICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgLy8gVGhlIHRpbWVyIHdpbGwgZGVsZXRlIGl0c2VsZiBvbmNlIGl0IGZpcmVz
LgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cAppbmRleCBhZmIwYjY1NDczMmQ2ZWJiNTZhNTY0ZmE2ODA0Nzc5OWU1NjIyMDBjLi5hYzUyZDNm
MzEzOTRjYzIxMmQ0NmRiMTIxZTUyMDAyMmQ0ZjUyYTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTEwMywxMCArMTAzLDEwIEBAIFJl
c291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291cmNlOjpkZWZhdWx0UHJpb3JpdHlGb3JSZXNv
dXJjZVR5cGUoVHlwZSB0eXBlKQogICAgIHJldHVybiBSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93
OwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUp
CitzdGF0aWMgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3Vy
Y2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7CiAgICAgaWYgKHR5cGUgPT0gQ2Fj
aGVkUmVzb3VyY2U6OlNjcmlwdCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiAwX3M7CiAKICAgICByZXR1cm4gTWVtb3J5Q2Fj
aGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKTsKIH0KQEAg
LTUzOCw3ICs1MzgsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2RlZERhdGFJ
Zk5lZWRlZCgpCiB7CiAgICAgaWYgKCFtX2RlY29kZWRTaXplKQogICAgICAgICByZXR1cm47Ci0g
ICAgaWYgKCFNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCgpLmNvdW50KCkpCisgICAgaWYgKCFNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpKQogICAgICAgICByZXR1cm47CiAgICAgbV9k
ZWNvZGVkRGF0YURlbGV0aW9uVGltZXIucmVzdGFydCgpOwogfQpAQCAtODE1LDcgKzgxNSw3IEBA
IGlubGluZSBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNrKENhY2hlZFJlc291cmNl
JiByZXNvdXJjZSwgQ2FjaGVkUmVzb3VyCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBt
X3RpbWVyKCp0aGlzLCAmQ2FsbGJhY2s6OnRpbWVyRmlyZWQpCiB7Ci0gICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogaW5saW5l
IHZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpjYW5jZWwoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZTE2
M2U4YmE3N2QxM2U3NzIyZTkyZjNkZjM2MTFmYjc1OTMzNTRhYS4uYzUwZDZkNDYwZjViMjQ0MGY5
YjM2NjkzYzYxMmFhOTg2Y2U0M2U0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTYzLDcgKzExNjMsNyBAQCB2
b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZShDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UsIGJvb2wgc2hvdWxkUGVyZm9ybQogICAgICAgICBwZXJmb3JtUG9zdExvYWRBY3Rpb25zKCk7
CiAKICAgICBpZiAoIW1fZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc1RpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2Vz
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIC8vIEdhcmJhZ2UgY29sbGVjdGluZyBtX2Rv
Y3VtZW50UmVzb3VyY2VzIGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCBkOGQzMGRmYzRlZTkxMDNiMzRkZjhh
MTdiYmQ0NzVkZDhhOWU4Mjc5Li5mNzJiNDQyMWUwYzRlMDdkMzMxNWRjYjY4MDAxYzdjMzhiZGUx
NDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAg
LTUxLDcgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBjRGVm
YXVsdENhY2hlQ2FwYWNpdHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBjb25zdCBkb3VibGUgY01p
bkRlbGF5QmVmb3JlTGl2ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29uZHMuCiBzdGF0aWMgY29u
c3QgZmxvYXQgY1RhcmdldFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8vIFBlcmNlbnRhZ2Ugb2Yg
Y2FwYWNpdHkgdG93YXJkIHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBpbW1lZGlhdGVseSBwcnVu
aW5nIGFnYWluLgotc3RhdGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDBfczsKIAogTWVtb3J5Q2Fj
aGUmIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKQogewpAQCAtNzY3LDExICs3NjcsMTMgQEAgdm9p
ZCBNZW1vcnlDYWNoZTo6cHJ1bmUoKQogCiB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZVNvb24oKQog
ewotICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCisgICAgaWYgKG1fcHJ1bmVUaW1l
ci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgIGlmICghbmVlZHNQcnVuaW5nKCkp
Ci0gICAgICAgICByZXR1cm47Ci0gICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisK
KyAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3BydW5l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IDE4MzZjMmJmMTAwOWVlN2FlZDI0
OTYzMDUzOGYyODJiZTU4ZDE3MGQuLjc5YzBhMjY5ZDA1NmVmODk5Y2E2YWNjNDI1YmNmNzFhMTE5
MjZiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCkBAIC0x
MjUsOCArMTI1LDggQEAgcHVibGljOgogICAgIHZvaWQgcHJ1bmVTb29uKCk7CiAgICAgdW5zaWdu
ZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGl2ZVNpemUgKyBtX2RlYWRTaXplOyB9CiAKLSAg
ICB2b2lkIHNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwg
PSBpbnRlcnZhbDsgfQotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVhZERlY29kZWREYXRhRGVs
ZXRpb25JbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bCA9IGludGVydmFsOyB9CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9
CiAKICAgICAvLyBDYWxscyB0byBwdXQgdGhlIGNhY2hlZCByZXNvdXJjZSBpbnRvIGFuZCBvdXQg
b2YgTFJVIGxpc3RzLgogICAgIHZvaWQgaW5zZXJ0SW5MUlVMaXN0KENhY2hlZFJlc291cmNlJik7
CkBAIC0xOTksNyArMTk5LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2NhcGFjaXR5Owog
ICAgIHVuc2lnbmVkIG1fbWluRGVhZENhcGFjaXR5OwogICAgIHVuc2lnbmVkIG1fbWF4RGVhZENh
cGFjaXR5OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9kZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsOworICAgIFNlY29uZHMgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsOwogCiAgICAgdW5zaWduZWQgbV9saXZlU2l6ZTsgLy8gVGhlIG51bWJlciBvZiBieXRl
cyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImxpdmUiIHJlc291cmNlcyBpbiB0aGUgY2FjaGUuCiAg
ICAgdW5zaWduZWQgbV9kZWFkU2l6ZTsgLy8gVGhlIG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkg
Y29uc3VtZWQgYnkgImRlYWQiIHJlc291cmNlcyBpbiB0aGUgY2FjaGUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCBlZTQzN2U4NjI4ZWJmNGU4NjMy
N2NjNzcwMzBmNWY2OTRlMzBiYjJkLi4xNWRjMzJjYWYwOGJlZWE2ZmQ5Y2U2NzNmMTBmMWRhMTg3
M2MyOWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAK
QEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIGNvbnN0IGludCBjdXJyZW50RGF0YWJhc2VWZXJzaW9u
ID0gNjsKIC8vIEljb25zIGV4cGlyZSBvbmNlIGV2ZXJ5IDQgZGF5cwogc3RhdGljIGNvbnN0IGlu
dCBpY29uRXhwaXJhdGlvblRpbWUgPSA2MCo2MCoyNCo0OyAKIAotc3RhdGljIGNvbnN0IGludCB1
cGRhdGVUaW1lckRlbGF5ID0gNTsgCitzdGF0aWMgY29uc3QgU2Vjb25kcyB1cGRhdGVUaW1lckRl
bGF5ID0gNV9zOwogCiBzdGF0aWMgYm9vbCBjaGVja0ludGVncml0eU9uT3BlbiA9IGZhbHNlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCmluZGV4IGE3
YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLjI1ZWVhNWQwZDhjMjc5MWYy
Y2FkNWZhZGZiOTc3MjM0NDRkZWJkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
QXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Nj
cm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IHN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9sbERlbGF5ID0gMC4yOwogCiAvLyBXaGVuIHRo
ZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdoZW4gZG8gdGhlIHNj
cm9sbCBldmVyeSAwLjA1cyB0byBtYWtlIGl0IHNtb290aAotc3RhdGljIGNvbnN0IGRvdWJsZSBh
dXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgYXV0b3Njcm9s
bEludGVydmFsID0gMC4wNV9zOwogCiAjaWYgRU5BQkxFKFBBTl9TQ1JPTExJTkcpCiBzdGF0aWMg
RnJhbWUqIGdldE1haW5GcmFtZShGcmFtZSogZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAppbmRleCBjZmVhMTBjNGQ5Y2VlYTM0Y2JkZmQy
MTBiNTNmNzFhYTdmODFiZTQ0Li4wMDAxMmMwNTVkNzU3ZTBkYTBhZTNjYWRlNzk0NjM4ZjQzZjA0
MmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5j
cHAKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpub3RpZnko
KQogCiAgICAgbV9oYXZlUHJlZmVyZW5jZXMgPSB0cnVlOwogICAgIGlmICghbV90aW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Q2FwdGlv
bkRpc3BsYXlNb2RlIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OmNhcHRpb25EaXNwbGF5TW9kZSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVy
ZW5jZXNNZWRpYUFGLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJl
bmNlc01lZGlhQUYuY3BwCmluZGV4IDk4YjIyYmFmZTJjZmJiZDZhMGMyMTkxMTIzNTBlN2M5MDcw
ZmIyNTguLjVkNmNkNDkzODQ1Y2RiZTgyYjMxZDIwZjVlZWZkMTY2MTQ0NTg5ODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYu
Y3BwCkBAIC0yNDYsNyArMjQ2LDcgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFB
Rjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFuZ2VzKCkKIAogICAgIC8vIEdl
bmVyYXRpbmcgYW5kIHJlZ2lzdGVyaW5nIHRoZSBjYXB0aW9uIHN0eWxlc2hlZXQgY2FuIGJlIGV4
cGVuc2l2ZSBhbmQgdGhpcyBtZXRob2QgaXMgY2FsbGVkIGluZGlyZWN0bHkgd2hlbiB0aGUgcGFy
c2VyIGNyZWF0ZXMgYW4gYXVkaW8gb3IKICAgICAvLyB2aWRlbyBlbGVtZW50LCBzbyBkbyBpdCBh
ZnRlciBhIGJyaWVmIHBhdXNlLgotICAgIG1fdXBkYXRlU3R5bGVTaGVldFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3VwZGF0ZVN0eWxlU2hlZXRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6Y2FwdGlvblByZWZlcmVu
Y2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCmluZGV4IGE5NjlkOTQ4ZTdlMzlj
MDI2OWM1YTMwZmY5Y2QwMTdjOTJkZDk1OGMuLjNhMjNmMTM0NjZmYTU1ZGNlZmFhYTgyMTljMjRh
ZDY2ODdiNzgxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCkBAIC01MSw4ICs1MSw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gbWF4SW50ZXJ2YWxG
b3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxMDAwbXM7IC8vIE9uZSBzZWNvbmQgbWF0Y2hlcyBH
ZWNrby4KLXN0YXRpYyBjb25zdCBhdXRvIG1pbkludGVydmFsRm9yTm9uVXNlck9ic2VydmFibGVD
aGFuZ2VUaW1lcnMgPSAxMDAwbXM7IC8vIEVtcGlyaWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1p
emUgYmF0dGVyeSBsaWZlLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4SW50ZXJ2YWxGb3JVc2Vy
R2VzdHVyZUZvcndhcmRpbmcgPSAxX3M7IC8vIE9uZSBzZWNvbmQgbWF0Y2hlcyBHZWNrby4KK3N0
YXRpYyBjb25zdCBTZWNvbmRzIG1pbkludGVydmFsRm9yTm9uVXNlck9ic2VydmFibGVDaGFuZ2VU
aW1lcnMgPSAxX3M7IC8vIEVtcGlyaWNhbGx5IGRldGVybWluZWQgdG8gbWF4aW1pemUgYmF0dGVy
eSBsaWZlLgogc3RhdGljIGNvbnN0IGludCBtYXhUaW1lck5lc3RpbmdMZXZlbCA9IDU7CiAKIGNs
YXNzIERPTVRpbWVyRmlyZVN0YXRlIHsKQEAgLTE2MCwxNCArMTYwLDE0IEBAIHByaXZhdGU6CiAK
IGJvb2wgTmVzdGVkVGltZXJzTWFwOjppc1RyYWNraW5nTmVzdGVkVGltZXJzID0gZmFsc2U7CiAK
LXN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKK3N0YXRpYyBpbmxpbmUg
Ym9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoU2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3Rp
bmdMZXZlbCkKIHsKICAgICByZXR1cm4gVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdV
c2VyR2VzdHVyZSgpCiAgICAgICAgICYmIGludGVydmFsIDw9IG1heEludGVydmFsRm9yVXNlckdl
c3R1cmVGb3J3YXJkaW5nCiAgICAgICAgICYmICFuZXN0aW5nTGV2ZWw7IC8vIEdlc3R1cmVzIHNo
b3VsZCBub3QgYmUgZm9yd2FyZGVkIHRvIG5lc3RlZCB0aW1lcnMuCiB9CiAKLXN0YXRpYyBpbmxp
bmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKK3N0YXRp
YyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJHZXN0dXJlVG9rZW5Ub0Zvcndh
cmQoU2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKIHsKICAgICBpZiAoIXNob3Vs
ZEZvcndhcmRVc2VyR2VzdHVyZShpbnRlcnZhbCwgbmVzdGluZ0xldmVsKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CkBAIC0xNzUsMTIgKzE3NSwxMSBAQCBzdGF0aWMgaW5saW5lIFJlZlB0cjxV
c2VyR2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKHN0ZDo6Y2hyb25vOjpt
aQogICAgIHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVudFVzZXJHZXN0dXJlKCk7
CiB9CiAKLURPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKK0RPTVRpbWVyOjpET01UaW1l
cihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1
bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKICAg
ICA6IFN1c3BlbmRhYmxlVGltZXIoY29udGV4dCkKICAgICAsIG1fbmVzdGluZ0xldmVsKGNvbnRl
eHQudGltZXJOZXN0aW5nTGV2ZWwoKSkKICAgICAsIG1fYWN0aW9uKFdURk1vdmUoYWN0aW9uKSkK
ICAgICAsIG1fb3JpZ2luYWxJbnRlcnZhbChpbnRlcnZhbCkKLSAgICAsIG1fdGhyb3R0bGVTdGF0
ZShVbmRldGVybWluZWQpCiAgICAgLCBtX2N1cnJlbnRUaW1lckludGVydmFsKGludGVydmFsQ2xh
bXBlZFRvTWluaW11bSgpKQogICAgICwgbV91c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQoaW50ZXJ2YWwsIG1fbmVzdGluZ0xldmVsKSkKIHsKQEAgLTIw
MSw3ICsyMDAsNyBAQCBET01UaW1lcjo6fkRPTVRpbWVyKCkKIHsKIH0KIAotaW50IERPTVRpbWVy
OjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1l
b3V0LCBib29sIHNpbmdsZVNob3QpCitpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkKIHsKICAgICAvLyBET01UaW1l
ciBjb25zdHJ1Y3RvciBwYXNzZXMgb3duZXJzaGlwIG9mIHRoZSBpbml0aWFsIHJlZiBvbiB0aGUg
b2JqZWN0IHRvIHRoZSBjb25zdHJ1Y3Rvci4KICAgICAvLyBUaGlzIHJlZmVyZW5jZSB3aWxsIGJl
IHJlbGVhc2VkIGF1dG9tYXRpY2FsbHkgd2hlbiBhIG9uZS1zaG90IHRpbWVyIGZpcmVzLCB3aGVu
IHRoZSBjb250ZXh0CkBAIC0yMTAsNyArMjA5LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQK
ICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKGlzPERvY3VtZW50Pihjb250ZXh0KSkgewogICAg
ICAgICBib29sIGRpZERlZmVyVGltZW91dCA9IGNvbnRleHQuYWN0aXZlRE9NT2JqZWN0c0FyZVN1
c3BlbmRlZCgpOwotICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0LmNvdW50
KCkgPD0gMTAwICYmIHNpbmdsZVNob3QpIHsKKyAgICAgICAgaWYgKCFkaWREZWZlclRpbWVvdXQg
JiYgdGltZW91dCA8PSAxMDBfbXMgJiYgc2luZ2xlU2hvdCkgewogICAgICAgICAgICAgV0tTZXRP
YnNlcnZlZENvbnRlbnRDaGFuZ2UoV0tDb250ZW50SW5kZXRlcm1pbmF0ZUNoYW5nZSk7CiAgICAg
ICAgICAgICBXZWJUaHJlYWRBZGRPYnNlcnZlZENvbnRlbnRNb2RpZmllcih0aW1lcik7IC8vIFdp
bGwgb25seSB0YWtlIGFmZmVjdCBpZiBub3QgYWxyZWFkeSB2aXNpYmlsaXR5IGNoYW5nZS4KICAg
ICAgICAgfQpAQCAtMjE4LDcgKzIxNyw3IEBAIGludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkCiAjZW5k
aWYKIAogICAgIHRpbWVyLT5zdXNwZW5kSWZOZWVkZWQoKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZEluc3RhbGxUaW1lcihjb250ZXh0LCB0aW1lci0+bV90aW1lb3V0SWQsIHRp
bWVvdXQsIHNpbmdsZVNob3QpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5z
dGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgc3RkOjpjaHJvbm86OmR1cmF0
aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oc3RkOjpjaHJvbm86OmR1cmF0aW9u
PGRvdWJsZT4odGltZW91dC52YWx1ZSgpKSksIHNpbmdsZVNob3QpOwogCiAgICAgLy8gS2VlcCB0
cmFjayBvZiBuZXN0ZWQgdGltZXIgaW5zdGFsbHMuCiAgICAgaWYgKE5lc3RlZFRpbWVyc01hcCog
bmVzdGVkVGltZXJzID0gTmVzdGVkVGltZXJzTWFwOjppbnN0YW5jZUZvckNvbnRleHQoY29udGV4
dCkpCkBAIC0zOTksMjEgKzM5OCwyMSBAQCB2b2lkIERPTVRpbWVyOjp1cGRhdGVUaW1lckludGVy
dmFsSWZOZWNlc3NhcnkoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAocmVwZWF0SW50ZXJ2
YWwoKSkgewotICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWxNUygpID09IHByZXZpb3VzSW50
ZXJ2YWwpOwotICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01UaW1lcidz
IHJlcGVhdCBpbnRlcnZhbCBmcm9tICUiIFBSSWQ2NCAiIG1zIHRvICUiIFBSSWQ2NCAiIG1zIGR1
ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwuY291bnQoKSwgbV9jdXJy
ZW50VGltZXJJbnRlcnZhbC5jb3VudCgpKTsKKyAgICAgICAgQVNTRVJUKHJlcGVhdEludGVydmFs
KCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7CisgICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVw
ZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20gJS4zZiBtcyB0byAlLjNmIG1z
IGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwubWlsbGlzZWNvbmRz
KCksIG1fY3VycmVudFRpbWVySW50ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOwogICAgICAgICBhdWdt
ZW50UmVwZWF0SW50ZXJ2YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2
YWwpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5n
IERPTVRpbWVyJ3MgZmlyZSBpbnRlcnZhbCBmcm9tICUiIFBSSWQ2NCAiIG1zIHRvICUiIFBSSWQ2
NCAiIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwuY291bnQo
KSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5jb3VudCgpKTsKKyAgICAgICAgTE9HKERPTVRpbWVy
cywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVydmFsIGZyb20gJS4zZiBtcyB0
byAlLjNmIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwubWls
bGlzZWNvbmRzKCksIG1fY3VycmVudFRpbWVySW50ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOwogICAg
ICAgICBhdWdtZW50RmlyZUludGVydmFsKG1fY3VycmVudFRpbWVySW50ZXJ2YWwgLSBwcmV2aW91
c0ludGVydmFsKTsKICAgICB9CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGlt
ZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0CitTZWNvbmRzIERPTVRpbWVyOjpp
bnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdAogewogICAgIEFTU0VSVChzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOwogICAgIEFTU0VSVChtX25lc3RpbmdMZXZlbCA8PSBtYXhUaW1lck5l
c3RpbmdMZXZlbCk7CiAKLSAgICBhdXRvIGludGVydmFsID0gc3RkOjptYXgoMW1zLCBtX29yaWdp
bmFsSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxX21zLCBtX29yaWdp
bmFsSW50ZXJ2YWwpOwogCiAgICAgLy8gT25seSBhcHBseSB0aHJvdHRsaW5nIHRvIHJlcGVhdGlu
ZyB0aW1lcnMuCiAgICAgaWYgKG1fbmVzdGluZ0xldmVsIDwgbWF4VGltZXJOZXN0aW5nTGV2ZWwp
CkBAIC00MjYsMTkgKzQyNSwyMCBAQCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIERPTVRpbWVy
OjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdAogICAgIHJldHVybiBpbnRlcnZhbDsK
IH0KIAotc3RkOjpvcHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPiBET01UaW1lcjo6
YWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZmlyZVRpbWUpIGNvbnN0
CitzdGQ6Om9wdGlvbmFsPE1vbm90b25pY1RpbWU+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUo
TW9ub3RvbmljVGltZSBmaXJlVGltZSkgY29uc3QKIHsKLSAgICBhdXRvIGFsaWdubWVudEludGVy
dmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT50aW1lckFsaWdubWVudEludGVydmFsKG1f
bmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKLSAgICBpZiAoYWxpZ25tZW50
SW50ZXJ2YWwgPT0gMG1zKQorICAgIFNlY29uZHMgYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwg
Pj0gbWF4VGltZXJOZXN0aW5nTGV2ZWwpOworICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAw
X3MpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgCisgICAgLy8gRG8gd2UgcmVh
bGx5IHdhbnQgdG8gaW5pdGlhbGl6ZSByYW5kb21pemVkUHJvcG9ydGlvbiBqdXN0IG9uY2U/CiAg
ICAgc3RhdGljIGNvbnN0IGRvdWJsZSByYW5kb21pemVkUHJvcG9ydGlvbiA9IHJhbmRvbU51bWJl
cigpOwogCi0gICAgLy8gRm9yY2UgYWxpZ25tZW50IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJh
Y3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWduZW1udEludGVydmFscywgZS5nLgorICAgIC8v
IEZvcmNlIGFsaWdubWVudCB0byByYW5kb21pemVkQWxpZ25tZW50IGZyYWN0aW9uIG9mIHRoZSB3
YXkgYmV0d2VlbiBhbGlnbm1lbnRJbnRlcnZhbHMsIGUuZy4KICAgICAvLyBpZiBhbGlnbm1lbnRJ
bnRlcnZhbCBpcyAxMCBhbmQgcmFuZG9taXplZEFsaWdubWVudCBpcyAwLjMgdGhpcyB3aWxsIGFs
aWduIHRvIDMsIDEzLCAyMywgLi4uCi0gICAgYXV0byByYW5kb21pemVkT2Zmc2V0ID0gc3RkOjpj
aHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oYWxpZ25tZW50
SW50ZXJ2YWwgKiByYW5kb21pemVkUHJvcG9ydGlvbik7Ci0gICAgYXV0byBhZGp1c3RlZEZpcmVU
aW1lID0gZmlyZVRpbWUgLSByYW5kb21pemVkT2Zmc2V0OwotICAgIHJldHVybiBhZGp1c3RlZEZp
cmVUaW1lIC0gKGFkanVzdGVkRmlyZVRpbWUgJSBhbGlnbm1lbnRJbnRlcnZhbCkgKyBhbGlnbm1l
bnRJbnRlcnZhbCArIHJhbmRvbWl6ZWRPZmZzZXQ7CisgICAgU2Vjb25kcyByYW5kb21pemVkT2Zm
c2V0ID0gYWxpZ25tZW50SW50ZXJ2YWwgKiByYW5kb21pemVkUHJvcG9ydGlvbjsKKyAgICBNb25v
dG9uaWNUaW1lIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7
CisgICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSBTZWNvbmRzKGZtb2QoYWRqdXN0ZWRGaXJl
VGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCksIGFsaWdubWVudEludGVydmFsLnZhbHVl
KCkpKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9taXplZE9mZnNldDsKIH0KIAogY29uc3Qg
Y2hhciogRE9NVGltZXI6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oCmluZGV4IDM5YTA0NjFkYWVlZWUyNWVhYmEzMzk5NmU3YTBkYzhkZDkxYTY3ODUuLjgy
OGI2NGIwMDliYjIyMTkxNWVjN2FkYmE2YWE3NDhlMWFmNjY1ZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRp
bWVyLmgKQEAgLTQ0LDEzICs0NCwxMyBAQCBjbGFzcyBET01UaW1lciBmaW5hbCA6IHB1YmxpYyBS
ZWZDb3VudGVkPERPTVRpbWVyPiwgcHVibGljIFN1c3BlbmRhYmxlVGltZXIgewogcHVibGljOgog
ICAgIHZpcnR1YWwgfkRPTVRpbWVyKCk7CiAKLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBkZWZhdWx0TWluaW11bUludGVydmFsKCkgeyByZXR1cm4gNG1zOyB9Ci0gICAgc3Rh
dGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVmYXVsdEFsaWdubWVudEludGVydmFsKCkg
eyByZXR1cm4gMG1zOyB9Ci0gICAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaGlk
ZGVuUGFnZUFsaWdubWVudEludGVydmFsKCkgeyByZXR1cm4gMTAwMG1zOyB9CisgICAgc3RhdGlj
IFNlY29uZHMgZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpIHsgcmV0dXJuIDRfbXM7IH0KKyAgICBz
dGF0aWMgU2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwX3M7IH0K
KyAgICBzdGF0aWMgU2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVy
biAxX3M7IH0KIAogICAgIC8vIENyZWF0ZXMgYSBuZXcgdGltZXIgb3duZWQgYnkgc3BlY2lmaWVk
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHN0YXJ0cyBpdAogICAgIC8vIGFuZCByZXR1cm5zIGl0
cyBJZC4KLSAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0
ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CisgICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgU2Vj
b25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZUJ5
SWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGludCB0aW1lb3V0SWQpOwogCiAgICAgLy8gTm90
aWZ5IHRoYXQgdGhlIGludGVydmFsIG1heSBuZWVkIHVwZGF0aW5nIChlLmcuIGJlY2F1c2UgdGhl
IG1pbmltdW0gaW50ZXJ2YWwKQEAgLTYwLDEwICs2MCwxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgc2NyaXB0RGlkSW50ZXJhY3RXaXRoUGx1Z2luKEhUTUxQbHVnSW5FbGVtZW50Jik7CiAK
IHByaXZhdGU6Ci0gICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5p
cXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVy
dmFsLCBib29sIHNpbmdsZVNob3QpOworICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgU2Vjb25kcyBpbnRlcnZhbCwg
Ym9vbCBzaW5nbGVTaG90KTsKICAgICBmcmllbmQgY2xhc3MgSW50ZXJuYWxzOwogCi0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsK
KyAgICBTZWNvbmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OwogCiAgICAgYm9v
bCBpc0RPTVRpbWVyc1Rocm90dGxpbmdFbmFibGVkKERvY3VtZW50JikgY29uc3Q7CiAgICAgdm9p
ZCB1cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeShjb25zdCBET01UaW1lckZpcmVTdGF0
ZSYpOwpAQCAtNzEsNyArNzEsNyBAQCBwcml2YXRlOgogICAgIC8vIFN1c3BlbmRhYmxlVGltZXIK
ICAgICB2b2lkIGZpcmVkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTdG9wKCkgb3ZlcnJpZGU7
Ci0gICAgc3RkOjpvcHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPiBhbGlnbmVkRmly
ZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcykgY29uc3Qgb3ZlcnJpZGU7CisgICAgc3Rk
OjpvcHRpb25hbDxNb25vdG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkg
Y29uc3Qgb3ZlcnJpZGU7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0
IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTg1LDEwICs4
NSwxMCBAQCBwcml2YXRlOgogICAgIGludCBtX3RpbWVvdXRJZDsKICAgICBpbnQgbV9uZXN0aW5n
TGV2ZWw7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gbV9hY3Rpb247Ci0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX29yaWdpbmFsSW50ZXJ2YWw7Ci0gICAgVGlt
ZXJUaHJvdHRsZVN0YXRlIG1fdGhyb3R0bGVTdGF0ZTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX29yaWdpbmFsSW50
ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2N1cnJlbnRUaW1lckludGVydmFsOwogICAgIFJlZlB0cjxV
c2VyR2VzdHVyZVRva2VuPiBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQ7CisgICAgVGltZXJU
aHJvdHRsZVN0YXRlIG1fdGhyb3R0bGVTdGF0ZSB7IFVuZGV0ZXJtaW5lZCB9OwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGU0NTcw
ZTE0ZmFmZDllZmIxOTMzNjkzZmEzZWJiZGMyYzc0ZTQzNmYuLjgzZjM0MmIxOTllZGE0OGRlNTI2
NDRhYTExODNlZWZhZjdkZjJlZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTk1
OCw3ICs5NTgsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFJl
ZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgVgogCiAgICAgLy8gU2NoZWR1bGUg
dGhlIG1lc3NhZ2UuCiAgICAgYXV0byogdGltZXIgPSBuZXcgUG9zdE1lc3NhZ2VUaW1lcigqdGhp
cywgV1RGTW92ZShtZXNzYWdlKSwgc291cmNlT3JpZ2luLCBzb3VyY2UsIGNoYW5uZWxzLnJlbGVh
c2VSZXR1cm5WYWx1ZSgpLCBXVEZNb3ZlKHRhcmdldCksIFdURk1vdmUoc3RhY2tUcmFjZSkpOwot
ICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgdGltZXItPnN0YXJ0T25lU2hvdCgwX3Mp
OwogCiAgICAgcmV0dXJuIHsgfTsKIH0KQEAgLTE2NDgsNyArMTY0OCw3IEBAIEV4Y2VwdGlvbk9y
PGludD4gRE9NV2luZG93OjpzZXRUaW1lb3V0KHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rp
b24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
OwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURf
QUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RG
TW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsK
KyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9uKSwg
U2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9CiAKIHZvaWQgRE9N
V2luZG93OjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKQEAgLTE2ODAsNyArMTY4MCw3IEBA
IEV4Y2VwdGlvbk9yPGludD4gRE9NV2luZG93OjpzZXRJbnRlcnZhbChzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sCiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwo
KmNvbnRleHQsIFdURk1vdmUoYWN0aW9uKSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1l
b3V0KSwgZmFsc2UpOworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RG
TW92ZShhY3Rpb24pLCBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBmYWxzZSk7
CiB9CiAKIHZvaWQgRE9NV2luZG93OjpjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAppbmRleCAzYzM4NDMwOTU2MzQ5NjIy
YWUyZTE5ZmQ1Yjc2MDM4NWM5NTkwNGNjLi5lZmVmMzZiYTBmNzkyMTk5OTYyNzg1NTRhMmE5NThi
NThjNjFlNTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAKQEAg
LTQ4LDcgKzQ4LDcgQEAgdm9pZCBEZXZpY2VDb250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3Rl
bmVyKERPTVdpbmRvdyogd2luZG93KQogICAgIGlmIChoYXNMYXN0RGF0YSgpKSB7CiAgICAgICAg
IG1fbGFzdEV2ZW50TGlzdGVuZXJzLmFkZCh3aW5kb3cpOwogICAgICAgICBpZiAoIW1fdGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBpZiAod2FzRW1w
dHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZTk0YTkyNTUyYzk5NmE1
MzhlNDY2ODJjZWIzMWUzNTE5MWEzMzM3YS4uYmM2NzFkMzAwNDdiOGJlOGY1MzA0OTQ0OWI5YmI3
NDMwYzE1ODY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTU2LDE1
ICsxNTYsMTUgQEAgdXNpbmcgbmFtZXNwYWNlIFNWR05hbWVzOwogLy8gVGhlIGFtb3VudCBvZiB0
aW1lIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYSBmYWtlIG1vdXNlIGV2ZW50LCB0cmlnZ2VyZWQK
IC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVydmFsIGlzIHVzZWQgaWYgdGhlIGNv
bnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwogLy8gaW4gZmFrZU1vdXNlTW92ZUR1
cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0aGUgbG9uZyBpbnRlcnZhbCBpcyB1
c2VkLgotY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJhdGlvblRocmVzaG9sZCA9IDAuMDE7
Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSAwLjE7Ci1jb25zdCBk
b3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAuMjU7Citjb25zdCBTZWNvbmRzIGZh
a2VNb3VzZU1vdmVEdXJhdGlvblRocmVzaG9sZCA9IDAuMDFfczsKK2NvbnN0IFNlY29uZHMgZmFr
ZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSAwLjFfczsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNl
TW92ZUxvbmdJbnRlcnZhbCA9IDAuMjVfczsKICNlbmRpZgogCiAjaWYgRU5BQkxFKENVUlNPUl9T
VVBQT1JUKQogLy8gVGhlIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgZm9yIGEgY3Vyc29yIHVwZGF0
ZSBvbiBzdHlsZSBhbmQgbGF5b3V0IGNoYW5nZXMKIC8vIFNldCB0byA1MEh6LCBubyBuZWVkIHRv
IGJlIGZhc3RlciB0aGFuIGNvbW1vbiBzY3JlZW4gcmVmcmVzaCByYXRlCi1jb25zdCBkb3VibGUg
Y3Vyc29yVXBkYXRlSW50ZXJ2YWwgPSAwLjAyOworY29uc3QgU2Vjb25kcyBjdXJzb3JVcGRhdGVJ
bnRlcnZhbCA9IDAuMDJfczsKIAogY29uc3QgaW50IG1heGltdW1DdXJzb3JTaXplID0gMTI4Owog
I2VuZGlmCkBAIC0xOTMsMjAgKzE5MywyMCBAQCBwcml2YXRlOgogCiBjbGFzcyBNYXhpbXVtRHVy
YXRpb25UcmFja2VyIHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyKGRvdWJsZSAqbWF4RHVyYXRpb24pCisgICAgZXhwbGljaXQgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlcihTZWNvbmRzJiBtYXhEdXJhdGlvbikKICAgICAgICAgOiBtX21heER1cmF0aW9uKG1heER1
cmF0aW9uKQotICAgICAgICAsIG1fc3RhcnQobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkp
CisgICAgICAgICwgbV9zdGFydChNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICB7CiAgICAgfQog
CiAgICAgfk1heGltdW1EdXJhdGlvblRyYWNrZXIoKQogICAgIHsKLSAgICAgICAgKm1fbWF4RHVy
YXRpb24gPSBzdGQ6Om1heCgqbV9tYXhEdXJhdGlvbiwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCkgLSBtX3N0YXJ0KTsKKyAgICAgICAgbV9tYXhEdXJhdGlvbiA9IHN0ZDo6bWF4KG1fbWF4
RHVyYXRpb24sIE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9zdGFydCk7CiAgICAgfQogCiBwcml2
YXRlOgotICAgIGRvdWJsZSogbV9tYXhEdXJhdGlvbjsKLSAgICBkb3VibGUgbV9zdGFydDsKKyAg
ICBTZWNvbmRzJiBtX21heER1cmF0aW9uOworICAgIE1vbm90b25pY1RpbWUgbV9zdGFydDsKIH07
CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAhRU5BQkxFKElPU19UT1VDSF9FVkVOVFMp
CkBAIC00NjIsNyArNDYyLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyKCkKICAgICBtX29y
aWdpbmF0aW5nVG91Y2hQb2ludERvY3VtZW50ID0gbnVsbHB0cjsKICAgICBtX29yaWdpbmF0aW5n
VG91Y2hQb2ludFRhcmdldEtleSA9IDA7CiAjZW5kaWYKLSAgICBtX21heE1vdXNlTW92ZWREdXJh
dGlvbiA9IDA7CisgICAgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24gPSAwX3M7CiAgICAgbV9iYXNl
RXZlbnRUeXBlID0gUGxhdGZvcm1FdmVudDo6Tm9UeXBlOwogICAgIG1fZGlkU3RhcnREcmFnID0g
ZmFsc2U7CiB9CkBAIC0xODIwLDcgKzE4MjAsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6bW91c2VN
b3ZlZChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQogewogICAgIFJlZjxGcmFtZT4g
cHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAgICAgUmVmUHRyPEZyYW1lVmlldz4gcHJvdGVjdG9y
KG1fZnJhbWUudmlldygpKTsKLSAgICBNYXhpbXVtRHVyYXRpb25UcmFja2VyIG1heER1cmF0aW9u
VHJhY2tlcigmbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOworICAgIE1heGltdW1EdXJhdGlvblRy
YWNrZXIgbWF4RHVyYXRpb25UcmFja2VyKG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uKTsKIAogICAg
IGlmIChtX2ZyYW1lLm1haW5GcmFtZSgpLnBhZ2VPdmVybGF5Q29udHJvbGxlcigpLmhhbmRsZU1v
dXNlRXZlbnQoZXZlbnQpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI4OTgsNyArMjg5OCw3
IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVFdmVudEZvcktleSgpCiB2b2lk
IEV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0YXRlVXBkYXRlKCkKIHsKICAgICBpZiAoIW1f
aG92ZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2hvdmVyVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2hvdmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBF
TkFCTEUoQ1VSU09SX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA5
YmNhYzcyYzdlMjE2MzIxMDkxNWY3MmMxZjgzZWQ5NWEwZGVjOTMzLi5hN2E5MWY2NjdmMjZmOTE1
M2IzNjg5YjZhMmQ1MmE2OTQ4OGY2MTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgK
QEAgLTU3MCw3ICs1NzAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV90b3VjaFByZXNzZWQgeyBm
YWxzZSB9OwogI2VuZGlmCiAKLSAgICBkb3VibGUgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24geyAw
IH07CisgICAgU2Vjb25kcyBtX21heE1vdXNlTW92ZWREdXJhdGlvbjsKICAgICBQbGF0Zm9ybUV2
ZW50OjpUeXBlIG1fYmFzZUV2ZW50VHlwZSB7IFBsYXRmb3JtRXZlbnQ6Ok5vVHlwZSB9OwogICAg
IGJvb2wgbV9kaWRTdGFydERyYWcgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0hhbmRsaW5nV2hl
ZWxFdmVudCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGQ1
NTU1ZWQyYzBmYjU3Yjk2M2I3YjYwMDIxOTg3MTcxMjZmNjVmZDcuLmI3YTA0ZjQ4NWY4OWM4Yzg5
ZGNkZmNmYWVkMWQxOTNhOWZkYzk5NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3Bw
CkBAIC00Nyw3ICs0Nyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgdWludDY0
X3QgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDMwMDA7Citjb25zdCBTZWNv
bmRzIEV2ZW50U291cmNlOjpkZWZhdWx0UmVjb25uZWN0RGVsYXkgPSAzX3M7CiAKIGlubGluZSBF
dmVudFNvdXJjZTo6RXZlbnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgVVJMJiB1cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5pdCkKICAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKQEAgLTEzMiwxMyArMTMyLDEzIEBAIHZvaWQgRXZlbnRTb3Vy
Y2U6OnNjaGVkdWxlSW5pdGlhbENvbm5lY3QoKQogICAgIEFTU0VSVChtX3N0YXRlID09IENPTk5F
Q1RJTkcpOwogICAgIEFTU0VSVCghbV9yZXF1ZXN0SW5GbGlnaHQpOwogCi0gICAgbV9jb25uZWN0
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCgpCiB7CiAgICAg
bV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KG1f
cmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hv
dChtX3JlY29ubmVjdERlbGF5KTsKICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogfQogCkBAIC0zNTUsOSArMzU1
LDkgQEAgdm9pZCBFdmVudFNvdXJjZTo6cGFyc2VFdmVudFN0cmVhbUxpbmUodW5zaWduZWQgcG9z
aXRpb24sIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQKICAgICAgICAgICAgIC8vIEZJWE1FOiBEbyB3
ZSByZWFsbHkgd2FudCB0byBpZ25vcmUgdHJhaWxpbmcgZ2FyYmFnZSBoZXJlPyBTaG91bGQgd2Ug
YmUgdXNpbmcgdGhlIHN0cmljdCB2ZXJzaW9uIGluc3RlYWQ/CiAgICAgICAgICAgICAvLyBGSVhN
RTogSWYgd2UgY2FuJ3QgcGFyc2UgdGhlIHZhbHVlLCBzaG91bGQgd2UgbGVhdmUgbV9yZWNvbm5l
Y3REZWxheSBhbG9uZSBvciBzZXQgaXQgdG8gZGVmYXVsdFJlY29ubmVjdERlbGF5PwogICAgICAg
ICAgICAgYm9vbCBvazsKLSAgICAgICAgICAgIGF1dG8gcmVjb25uZWN0RGVsYXkgPSBjaGFyYWN0
ZXJzVG9VSW50NjQoJm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2sp
OworICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheU1TID0gY2hhcmFjdGVyc1RvVUludDY0
KCZtX3JlY2VpdmVCdWZmZXJbcG9zaXRpb25dLCB2YWx1ZUxlbmd0aCwgJm9rKTsKICAgICAgICAg
ICAgIGlmIChvaykKLSAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gcmVjb25uZWN0
RGVsYXk7CisgICAgICAgICAgICAgICAgbV9yZWNvbm5lY3REZWxheSA9IFNlY29uZHM6OmZyb21N
aWxsaXNlY29uZHMocmVjb25uZWN0RGVsYXlNUyk7CiAgICAgICAgIH0KICAgICB9CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggMmJlM2Y5ZjFiNzVkMzlkNTNiMmZlMzkxMjkzZjU4
Y2MwZjE4Mjc4Mi4uYTRlN2RkOWFjNDc0MzMxYzhiN2UzZmVhNzYzZjAxN2UyN2M2MzBhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtOTgsNyArOTgsNyBAQCBwcml2YXRlOgogCiAg
ICAgYm9vbCByZXNwb25zZUlzVmFsaWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIGNvbnN0Owog
Ci0gICAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IGRlZmF1bHRSZWNvbm5lY3REZWxheTsKKyAgICBz
dGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0UmVjb25uZWN0RGVsYXk7CiAKICAgICBVUkwgbV91
cmw7CiAgICAgYm9vbCBtX3dpdGhDcmVkZW50aWFsczsKQEAgLTExNSw3ICsxMTUsNyBAQCBwcml2
YXRlOgogICAgIFZlY3RvcjxVQ2hhcj4gbV9kYXRhOwogICAgIFN0cmluZyBtX2N1cnJlbnRseVBh
cnNlZEV2ZW50SWQ7CiAgICAgU3RyaW5nIG1fbGFzdEV2ZW50SWQ7Ci0gICAgdWludDY0X3QgbV9y
ZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5lY3REZWxheSB9OworICAgIFNlY29uZHMgbV9y
ZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5lY3REZWxheSB9OwogICAgIFN0cmluZyBtX2V2
ZW50U3RyZWFtT3JpZ2luOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
b2N1c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIu
Y3BwCmluZGV4IGE3YjI1NTdlNjk0NmRiOWU1NjExNTdhZGY3MmNjMjgyNmVmZTg3NDcuLjcyYzMz
OTE3ZjdmYmIyYjNjZjhjODFhMGRhMDhkYjBlNDc1MDQyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5jcHAKQEAgLTEwODgsNyArMTA4OCw3IEBAIGJvb2wgRm9jdXNDb250
cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlv
biwgS2V5Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkRWxlbWVudE5lZWRz
UmVwYWludCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzMp
OworICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAuMDMzX3MpOwogfQogCiB2
b2lkIEZvY3VzQ29udHJvbGxlcjo6Zm9jdXNSZXBhaW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWUuY3BwCmluZGV4IDM3ZmI3ZGFmMWZkOWUyOTU2YmFmNTBmMWNhNWM4YWE5M2JkMGMyNDIuLjU1
Y2Y0MzZlNjg5M2FhOWY1Y2NiYTBlYzYzMmI3NjM1YjE3M2EwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUu
Y3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKIAogI2lmIFBMQVRGT1JNKElPUykKLWNvbnN0IHVuc2lnbmVkIHNjcm9s
bEZyZXF1ZW5jeSA9IDEwMDAgLyA2MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNjcm9sbEZyZXF1
ZW5jeSA9IFNlY29uZHMoMS4wIC8gNjApOwogI2VuZGlmCiAKIERFRklORV9ERUJVR19PTkxZX0dM
T0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgZnJhbWVDb3VudGVyLCAoIkZyYW1lIikp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDU5MDk2ZGRjY2RiODNhZDkzZDNmOGYx
YzA1YWVlYzRkNjk5NzIyYzMuLjAxYTc0NDAwYzY4NGQ5ZjYwY2FhMTJjNTE4YTcwMGY5YTQ4N2Vi
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE1NjAsNyArMTU2MCw3IEBAIHZv
aWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAgICAgICAgICAgICAvLyBk
ZWZlciB3aWRnZXQgdXBkYXRlcyBhbmQgZXZlbnQgZGlzcGF0Y2ggdW50aWwgYWZ0ZXIgd2UgcmV0
dXJuLiBwb3N0TGF5b3V0VGFza3MoKQogICAgICAgICAgICAgLy8gY2FuIG1ha2UgdXMgbmVlZCB0
byB1cGRhdGUgYWdhaW4sIGFuZCB3ZSBjYW4gZ2V0IHN0dWNrIGluIGEgbmFzdHkgY3ljbGUgdW5s
ZXNzCiAgICAgICAgICAgICAvLyB3ZSBjYWxsIGl0IHRocm91Z2ggdGhlIHRpbWVyIGhlcmUuCi0g
ICAgICAgICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAg
ICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBsYXlvdXQoKTsKICAgICAg
ICAgfQpAQCAtMjQ0Myw3ICsyNDQzLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbFBvc2l0aW9u
Q2hhbmdlZChjb25zdCBTY3JvbGxQb3NpdGlvbiYgb2xkUG9zaXRpb24sIGNvbnN0IFMKICAgICAg
ICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdG9wKCk7CiAgICAgICAgIHNlbmRTY3JvbGxF
dmVudCgpOwogICAgIH0gZWxzZSBpZiAoIW1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdGFydE9uZVNob3QodGhy
b3R0bGluZ0RlbGF5LnZhbHVlKCkpOworICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVy
LnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5nRGVsYXkpOwogCiAgICAgaWYgKERvY3VtZW50KiBkb2N1
bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkKICAgICAgICAgZG9jdW1lbnQtPnNlbmRXaWxsUmV2
ZWFsRWRnZUV2ZW50c0lmTmVlZGVkKG9sZFBvc2l0aW9uLCBuZXdQb3NpdGlvbiwgdmlzaWJsZUNv
bnRlbnRSZWN0KCksIGNvbnRlbnRzU2l6ZSgpKTsKQEAgLTI4NDEsNyArMjg0MSw3IEBAIHZvaWQg
RnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVkKCkKICAgICBpZiAobV9z
cGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsK
ICAgICAvLyBEZWxheSBlbmFibGluZyBhIGJpdCBhcyBsb2FkIGNvbXBsZXRpb24gbWF5IHRyaWdn
ZXIgZnVydGhlciBsb2FkaW5nIGZyb20gc2NyaXB0cy4KLSAgICBzdGF0aWMgY29uc3QgZG91Ymxl
IHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgPSAwLjU7CisgICAgc3RhdGljIGNvbnN0IFNl
Y29uZHMgc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNV9zOwogICAgIG1fc3BlY3Vs
YXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3Qoc3BlY3VsYXRpdmVUaWxpbmdFbmFi
bGVEZWxheSk7CiB9CiAKQEAgLTM0MzAsNyArMzQzMCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJm
b3JtUG9zdExheW91dFRhc2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBs
YXlvdXQgdGltZXIuCiAgICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAK
LSAgICBtX3VwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3VwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYg
KGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoYXV0byogc2Nyb2xs
aW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKaW5kZXggNWZlMjFlNzJkNDRjYTYyMjgyZjc4NTJhYzE4ZjliN2Y2NDU3NmVjMC4uZDA1
ZGU0MzM5MjVjODBmY2E1NDIxZDc4NGJjMjk2ZWIzM2FhMTFhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CkBAIC0xMjQzLDcgKzEyNDMsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRl
KFRpbWVyVGhyb3R0bGluZ1N0YXRlIHN0YXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3Rp
bWVyVGhyb3R0bGluZ1N0YXRlID0gc3RhdGU7Ci0gICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxh
c3RDaGFuZ2VkVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1f
dGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKIAogICAgIHVwZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3
ICsxMjU2LDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRocm90
dGxpbmdTdGF0ZSBzdGF0ZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1l
bnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkK
K3ZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25k
cyBsaW1pdCkKIHsKICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0g
bGltaXQ7CiAKQEAgLTEyODQsOCArMTI4NCw4IEBAIHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJB
bGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIGlmIChtX2lzUHJlcmVuZGVyKQogICAgICAgICAg
ICAgbV90aW1lckFsaWdubWVudEludGVydmFsID0gbV90aW1lckFsaWdubWVudEludGVydmFsSW5j
cmVhc2VMaW1pdDsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90aW1lclRo
cm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZS50aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1f
dGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgQVNTRVJU
KG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgbV90
aW1lckFsaWdubWVudEludGVydmFsID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhy
b3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lOwogICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVs
b3cgdGhlIGxpbWl0LCBzZXQgdGhlIHRpbWVyLiBJZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAg
ICAgICAgICAgICBpZiAobV90aW1lckFsaWdubWVudEludGVydmFsIDwgbV90aW1lckFsaWdubWVu
dEludGVydmFsSW5jcmVhc2VMaW1pdCkKICAgICAgICAgICAgICAgICBuZWVkc0luY3JlYXNlVGlt
ZXIgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAyMjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2
ZWQ2ZGVlMTI0YjRiLi4zNWZhNTExMWEwYjI2MWJjNGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaApAQCAtMjI1LDcgKzIyNSw3IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1Ry
YWNrZXImIHByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNr
Rm9yd2FyZENvbnRyb2xsZXImIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0Zv
cndhcmRDb250cm9sbGVyOyB9CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50
ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7
IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01P
REVfQ1NTX01FRElBKQogICAgIGVudW0gVmlld01vZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFNob3dBbGxQbHVnaW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dB
bGxQbHVnaW5zID0gc2hvd0FsbDsgfQogICAgIGJvb2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsK
IAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3Jl
YXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAog
ICAgIGJvb2wgaXNDb250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250
cm9sbGVkQnlBdXRvbWF0aW9uOyB9CiAgICAgdm9pZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9u
KGJvb2wgY29udHJvbGxlZCkgeyBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVk
OyB9CkBAIC02NjcsMTAgKzY2NywxMCBAQCBwcml2YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVX
X01PREVfQ1NTX01FRElBKQogCiAgICAgVGltZXJUaHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90
dGxpbmdTdGF0ZSB7IFRpbWVyVGhyb3R0bGluZ1N0YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6
Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxh
c3RDaGFuZ2VkVGltZSB7IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJv
KCkgfTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRl
cnZhbDsKKyAgICBNb25vdG9uaWNUaW1lIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdl
ZFRpbWU7CisgICAgU2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIg
bV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07
CisgICAgU2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAg
ICAgYm9vbCBtX2lzRWRpdGFibGU7CiAgICAgYm9vbCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCBlNzBiY2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5
NTU3YWRlZDdjLi5lOTAyYjAyNThkMWUxODlhNjAwMzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9
IDAuMjsKLXN0YXRpYyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgZmFkZUFuaW1hdGlvbkludGVydmFsID0gU2Vjb25kcygxLjAg
LyAzMCk7CiAKIHN0YXRpYyBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VP
dmVybGF5SUQoKQogewpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BG
YWRlT3V0QW5pbWF0aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigp
CiB7CiAgICAgbV9mYWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBt
X2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1l
UmF0ZSk7CisgICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1h
dGlvbkludGVydmFsKTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEy
ZDVhMWZiY2RhYzdmYTFiN2RlYzVkLi42MmM2YmVjZTBhOWE5Nzc4MzlhZDZkYzk0ZDI3YWVjOGE2
MjA3M2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY5LDE1ICsxNjksMTUgQEAg
c3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxl
ZCA9IGZhbHNlOwogI2VuZGlmCiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1Vz
ZXJHZXN0dXJlVG9Mb2FkVmlkZW8gPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0
QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0ID0g
NV9zOwogCi1zdGF0aWMgY29uc3QgZG91YmxlIGRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1
cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7CiAjaWYgVVNFKFVOSUZJRURfVEVYVF9DSEVD
S0lORykKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVk
ID0gdHJ1ZTsKICNlbHNlCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VW5pZmllZFRleHRDaGVj
a2VyRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCisKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRT
bWFydEluc2VydERlbGV0ZUVuYWJsZWQgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVs
dFNlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQgPSBmYWxzZTsKIApAQCAtMzY4LDcgKzM2
OCw3IEBAIHZvaWQgU2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sIGxv
YWRzSW1hZ2VzQXV0b21hdGljYWxseSkKICAgICAvLyBTdGFydGluZyB0aGVzZSBsb2FkcyBzeW5j
aHJvbm91c2x5IGlzIG5vdCBpbXBvcnRhbnQuICBCeSBwdXR0aW5nIGl0IG9uIGEgMC1kZWxheSwg
cHJvcGVybHkgY2xvc2luZyB0aGUgUGFnZSBjYW5jZWxzIHRoZW0KICAgICAvLyBiZWZvcmUgdGhl
eSBoYXZlIGEgY2hhbmNlIHRvIHJlYWxseSBzdGFydC4KICAgICAvLyBTZWUgaHR0cDovL3dlYmtp
dC5vcmcvYi82MDU3MiBmb3IgbW9yZSBkaXNjdXNzaW9uLgotICAgIG1fc2V0SW1hZ2VMb2FkaW5n
U2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0
aW5nc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNldHRpbmdzOjppbWFnZUxv
YWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQoKQpAQCAtNDA3LDcgKzQwNyw3IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldEltYWdlc0VuYWJsZWQoYm9vbCBhcmVJbWFnZXNFbmFibGVkKQogICAgIG1fYXJlSW1h
Z2VzRW5hYmxlZCA9IGFyZUltYWdlc0VuYWJsZWQ7CiAKICAgICAvLyBTZWUgY29tbWVudCBpbiBz
ZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkuCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5n
c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldFByZWZlck1JTUVU
eXBlRm9ySW1hZ2VzKGJvb2wgcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMpCkBAIC00NDcsNyArNDQ3
LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9v
bCBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW4KICAgICBtX25lZWRzQWRvYmVGcmFtZVJlbG9h
ZGluZ1F1aXJrID0gc2hvdWxkTm90UmVsb2FkSUZyYW1lc0ZvclVuY2hhbmdlZFNSQzsKIH0KIAot
dm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBpbnRlcnZhbCkKK3ZvaWQgU2V0dGluZ3M6OnNldE1pbmltdW1ET01UaW1lcklu
dGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgYXV0byBvbGRUaW1lckludGVydmFsID0g
bV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsKICAgICBtX21pbmltdW1ET01UaW1lckludGVydmFs
ID0gaW50ZXJ2YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdlZmUwZWVkOTFhMDQw
MDlhZTE1N2Q1NDM2Nzg5YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNkMmE0NzA0NjNkNTNm
ZmYwYmYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2OSw4IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1
aXJrKGJvb2wpOwogICAgIGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNv
bnN0IHsgcmV0dXJuIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyk7IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11
bUludGVydmFsKCkuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtRE9NVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0K
KyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29u
ZHMpOyAvLyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgp
LgorICAgIFNlY29uZHMgbWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X21pbmltdW1ET01UaW1lckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dExheW91dEludGVydmFsKFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBj
b25zdCB7IHJldHVybiBtX2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVi
bGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlv
cml0eUluQ1NTQXR0cmlidXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRS
ZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsg
bV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0K
LSAgICBkb3VibGUgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
KSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzOyB9CisgICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyhTZWNvbmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5Q
YWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRl
blBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpA
QCAtMzI2LDcgKzMyNiw3IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZv
bnRHZW5lcmljRmFtaWxpZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9y
aWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAg
IFNlY29uZHMgbV9sYXlvdXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOwogCiAgICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwogCkBAIC0zNDksNyAr
MzQ5LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxpbmdQZXJmb3JtYW5j
ZUxvZ2dpbmdFbmFibGVkIDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3Zl
bWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2Fk
aW5nU2V0dGluZ3NUaW1lcjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJl
ZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbiBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5kZXggNTE1NzZiYTMwNjg3Yjg2ODU0NGY0MDA4
MThlMmQzNWJhNWIyMjAyMi4uMTc3OGIyZDhkMGY1Njg3NjllNzU4NThlYzA4MDA3YjFkZWIwNjM1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC03LDcgKzcsNyBAQCBsb2NhbFN0b3JhZ2VE
YXRhYmFzZVBhdGggdHlwZT1TdHJpbmcKIGVkaXRhYmxlTGlua0JlaGF2aW9yIHR5cGU9RWRpdGFi
bGVMaW5rQmVoYXZpb3IsIGluaXRpYWw9RWRpdGFibGVMaW5rRGVmYXVsdEJlaGF2aW9yCiB0ZXh0
RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yIHR5cGU9VGV4dERpcmVjdGlvblN1Ym1l
bnVJbmNsdXNpb25CZWhhdmlvciwgaW5pdGlhbD1UZXh0RGlyZWN0aW9uU3VibWVudUF1dG9tYXRp
Y2FsbHlJbmNsdWRlZAogcGRmSW1hZ2VDYWNoaW5nUG9saWN5IHR5cGU9UERGSW1hZ2VDYWNoaW5n
UG9saWN5LCBpbml0aWFsID0gUERGSW1hZ2VDYWNoaW5nRGVmYXVsdAotcGFzc3dvcmRFY2hvRHVy
YXRpb25JblNlY29uZHMgdHlwZT1kb3VibGUsIGluaXRpYWw9MQorcGFzc3dvcmRFY2hvRHVyYXRp
b24gdHlwZT1TZWNvbmRzLCBpbml0aWFsPTEKIAogIyBTZXRzIHRoZSBtYWduaWZpY2F0aW9uIHZh
bHVlIGZvciB2YWxpZGF0aW9uIG1lc3NhZ2UgdGltZXIuICBJZiB0aGUKICMgbWFnbmlmaWNhdGlv
biB2YWx1ZSBpcyBOLCBhIHZhbGlkYXRpb24gbWVzc2FnZSBkaXNhcHBlYXJzIGF1dG9tYXRpY2Fs
bHkgYWZ0ZXIKQEAgLTE0MCw3ICsxNDAsNyBAQCBtZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpv
b20gaW5pdGlhbD1kZWZhdWx0TWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29tCiBpbnZpc2li
bGVBdXRvcGxheU5vdFBlcm1pdHRlZCBpbml0aWFsPWZhbHNlCiBwYXNzd29yZEVjaG9FbmFibGVk
IGluaXRpYWw9ZmFsc2UKIHN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyBpbml0aWFsPWZh
bHNlCi1pbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyB0eXBl
PWRvdWJsZSwgaW5pdGlhbD1kZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRp
bWVvdXRJblNlY29uZHMKK2luY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0IHR5
cGU9U2Vjb25kcywgaW5pdGlhbD1kZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lv
blRpbWVvdXQKIGJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkIGluaXRpYWw9dHJ1ZQogc2hv
dWxkRGlzcGxheVN1YnRpdGxlcyBpbml0aWFsPWZhbHNlLCBjb25kaXRpb25hbD1WSURFT19UUkFD
Swogc2hvdWxkRGlzcGxheUNhcHRpb25zIGluaXRpYWw9ZmFsc2UsIGNvbmRpdGlvbmFsPVZJREVP
X1RSQUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcAppbmRleCA3NjU4
M2MxMmJhODI5MWFhYTZhZTRiYzVkZmRkNDZiMjRjNTc2NDM1Li4yODc2Mjg2YzhjMDcxOGY4MzYy
ZGFiYzE1ZjJiZjNkNDExZDBmMjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1
c3BlbmRhYmxlVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVU
aW1lci5jcHAKQEAgLTMzLDEwICszMyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU3VzcGVu
ZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250
ZXh0KQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQotICAgICwgbV9zdXNwZW5kZWQo
ZmFsc2UpCi0gICAgLCBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCgwKQotICAgICwgbV9zYXZlZFJl
cGVhdEludGVydmFsKDApCi0gICAgLCBtX3NhdmVkSXNBY3RpdmUoZmFsc2UpCiB7CiB9CiAKQEAg
LTEwMSw3ICs5Nyw3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6Y2FuY2VsKCkKICAgICAgICAg
bV9zdXNwZW5kZWQgPSBmYWxzZTsKIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJl
cGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAgaWYgKCFtX3N1c3Bl
bmRlZCkKICAgICAgICAgVGltZXJCYXNlOjpzdGFydFJlcGVhdGluZyhyZXBlYXRJbnRlcnZhbCk7
CkBAIC0xMTIsMjcgKzEwOCwyNyBAQCB2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0
aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKICAgICB9CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVU
aW1lcjo6c3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgU3VzcGVuZGFibGVUaW1l
cjo6c3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRl
ZCkKICAgICAgICAgVGltZXJCYXNlOjpzdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogICAgIGVsc2Ug
ewogICAgICAgICBtX3NhdmVkSXNBY3RpdmUgPSB0cnVlOwogICAgICAgICBtX3NhdmVkTmV4dEZp
cmVJbnRlcnZhbCA9IGludGVydmFsOwotICAgICAgICBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSAw
OworICAgICAgICBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSAwX3M7CiAgICAgfQogfQogCi1kb3Vi
bGUgU3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTdXNw
ZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3N1c3Bl
bmRlZCkKICAgICAgICAgcmV0dXJuIFRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwoKTsKICAgICBp
ZiAobV9zYXZlZElzQWN0aXZlKQogICAgICAgICByZXR1cm4gbV9zYXZlZFJlcGVhdEludGVydmFs
OwotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVU
aW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpCit2b2lkIFN1c3BlbmRhYmxl
VGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1f
c3VzcGVuZGVkKQogICAgICAgICBUaW1lckJhc2U6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEp
OwpAQCAtMTQxLDExICsxMzcsMTEgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50Rmly
ZUludGVydmFsKGRvdWJsZSBkZWx0YSkKICAgICB9IGVsc2UgewogICAgICAgICBtX3NhdmVkSXNB
Y3RpdmUgPSB0cnVlOwogICAgICAgICBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCA9IGRlbHRhOwot
ICAgICAgICBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwgPSAwOworICAgICAgICBtX3NhdmVkUmVwZWF0
SW50ZXJ2YWwgPSAwX3M7CiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21l
bnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1
Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKQogewogICAgIGlmICghbV9zdXNwZW5k
ZWQpCiAgICAgICAgIFRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKGRlbHRhKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKaW5kZXggZTE1ZjBhNzA5Mzc4NTBhM2E2
OTAxZjcyMGM1ZGUxZjYwOTkxMzg2NC4uMTM0NTc1MTg1MjRkZDIxMmE5MmI3Zjg1NTUxNzgxYTAz
NjVkMTkzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgKQEAgLTQzLDE3
ICs0MywxMiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIFRp
bWVyQmFzZTo6aXNBY3RpdmUoKSB8fCAobV9zdXNwZW5kZWQgJiYgbV9zYXZlZElzQWN0aXZlKTsg
fQogICAgIGJvb2wgaXNTdXNwZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX3N1c3BlbmRlZDsgfQog
Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOwotICAgIHZv
aWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCk7Ci0gICAgZG91YmxlIHJlcGVhdEludGVy
dmFsKCkgY29uc3Q7Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSk7
Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRhKTsKKyAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOworICAgIHZvaWQgc3RhcnRP
bmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpOworICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwoKSBj
b25zdDsKIAotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRl
cnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3QobXNUb1NlY29uZHMoaW50ZXJ2YWwpKTsgfQotICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsgcmV0
dXJuIHNlY29uZHNUb01TKHJlcGVhdEludGVydmFsKCkpOyB9Ci0gICAgdm9pZCBhdWdtZW50Rmly
ZUludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJ
bnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50
ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50
ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQorICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZh
bChTZWNvbmRzIGRlbHRhKTsKKyAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRz
IGRlbHRhKTsKIAogICAgIHVzaW5nIFRpbWVyQmFzZTo6ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2
YWw7CiAgICAgdXNpbmcgVGltZXJCYXNlOjpvcGVyYXRvciBuZXc7CkBAIC03MSwxMSArNjYsMTEg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikgZmluYWw7
CiAgICAgdm9pZCByZXN1bWUoKSBmaW5hbDsKIAotICAgIGJvb2wgbV9zdXNwZW5kZWQ7CisgICAg
U2Vjb25kcyBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbDsKIAotICAgIGRvdWJsZSBtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbDsKLSAgICBk
b3VibGUgbV9zYXZlZFJlcGVhdEludGVydmFsOwotICAgIGJvb2wgbV9zYXZlZElzQWN0aXZlOwor
ICAgIGJvb2wgbV9zdXNwZW5kZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9zYXZlZElzQWN0aXZl
IHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAppbmRleCAzOTg4N2YxMzUyMjk0MTJl
M2YwMzUyM2RmNGI1OTdiY2UzNzYwYzc1Li5lZmJiMzZkZWE5NjkwZTEyYjhjYmZlNWI4M2UyZjVm
OWMwMmJjYTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0
VHJpZ2dlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdn
ZXIuY3BwCkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpzZXRU
ZXN0Q2FsbGJhY2tBbmRTdGFydE5vdGlmaWNhdGlvblRpbWVyKHN0ZDo6ZnVuY3RpCiAgICAgfQog
ICAgIAogICAgIGlmICghbV90ZXN0VHJpZ2dlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
dGVzdFRyaWdnZXJUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICAgICAgbV90
ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIH0KIAog
dm9pZCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OmRlZmVyVGVzdHNGb3JSZWFzb24oU2Nyb2xsYWJs
ZUFyZWFJZGVudGlmaWVyIGlkZW50aWZpZXIsIERlZmVyVGVzdFRyaWdnZXJSZWFzb24gcmVhc29u
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250
cm9sbGVyLmNwcAppbmRleCA5YTQ2ZGViNDExYWZjOWFjYWIxNGQ5ZTZjZDdhODFkYWQyZjc1Y2Vk
Li45MzEzZTgwZTU3NGI0NTQzMDQxMTIyNTk5OTA3NTg2MmExZjMyYzU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcApA
QCAtNDgsOCArNDgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBk
b3VibGUgY0FuaW1hdGlvblRpbWVyRGVsYXkgPSAxLjAgLyA2MDsKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCA9IC0xOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgYW5pbWF0aW9uVGltZXJEZWxheSA9IFNlY29uZHMoMS4wIC8gNjApOworc3RhdGljIGNv
bnN0IGRvdWJsZSBiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKIAogY2xhc3Mg
QW5pbWF0aW9uUHJpdmF0ZVVwZGF0ZUJsb2NrIHsKIHB1YmxpYzoKQEAgLTcxLDcgKzcxLDcgQEAg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZy
YW1lJiBmcmFtZSkKICAgICA6IG1fYW5pbWF0aW9uVGltZXIoKnRoaXMsICZBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZTo6YW5pbWF0aW9uVGltZXJGaXJlZCkKICAgICAsIG1fdXBkYXRlU3R5bGVJ
Zk5lZWRlZERpc3BhdGNoZXIoKnRoaXMsICZBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBk
YXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXJGaXJlZCkKICAgICAsIG1fZnJhbWUoZnJhbWUpCi0g
ICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KQorICAgICwgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lTm90U2V0KQogICAgICwgbV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50KDApCiAg
ICAgLCBtX3dhaXRpbmdGb3JBc3luY1N0YXJ0Tm90aWZpY2F0aW9uKGZhbHNlKQogICAgICwgbV9p
c1N1c3BlbmRlZChmYWxzZSkKQEAgLTE1MiwxMSArMTUyLDExIEBAIGRvdWJsZSBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9ucyhTZXRDaGFuZ2VkIGNhbGxTZXRDaGFu
Z2VkLyoKIAogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9u
VGltZXJGb3JSZW5kZXJlcihSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKIHsKLSAgICBkb3VibGUg
dGltZVRvTmV4dFNlcnZpY2UgPSAwOworICAgIFNlY29uZHMgdGltZVRvTmV4dFNlcnZpY2U7CiAK
ICAgICBjb25zdCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBvc2l0ZUFuaW1hdGlvbiA9IG1fY29t
cG9zaXRlQW5pbWF0aW9ucy5nZXQoJnJlbmRlcmVyKTsKICAgICBpZiAoIWNvbXBvc2l0ZUFuaW1h
dGlvbi0+aXNTdXNwZW5kZWQoKSAmJiBjb21wb3NpdGVBbmltYXRpb24tPmhhc0FuaW1hdGlvbnMo
KSkKLSAgICAgICAgdGltZVRvTmV4dFNlcnZpY2UgPSBjb21wb3NpdGVBbmltYXRpb24tPnRpbWVU
b05leHRTZXJ2aWNlKCk7CisgICAgICAgIHRpbWVUb05leHRTZXJ2aWNlID0gU2Vjb25kcyhjb21w
b3NpdGVBbmltYXRpb24tPnRpbWVUb05leHRTZXJ2aWNlKCkpOwogCiAgICAgaWYgKG1fYW5pbWF0
aW9uVGltZXIuaXNBY3RpdmUoKSAmJiAobV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRlcnZhbCgp
IHx8IG1fYW5pbWF0aW9uVGltZXIubmV4dEZpcmVJbnRlcnZhbCgpIDw9IHRpbWVUb05leHRTZXJ2
aWNlKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTY2LDE5ICsxNjYsMjAgQEAgdm9pZCBBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXJGb3JSZW5kZXJlcihSZW5k
ZXJFbGVtZW50JgogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmlt
YXRpb25UaW1lcihTZXRDaGFuZ2VkIGNhbGxTZXRDaGFuZ2VkLyogPSBEb05vdENhbGxTZXRDaGFu
Z2VkKi8pCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0gdXBkYXRlQW5pbWF0aW9u
cyhjYWxsU2V0Q2hhbmdlZCk7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gY29udmVydCByZXN0IG9m
IGFuaW1hdGlvbnMgY29kZSB0byBTZWNvbmRzIGFuZCBNb25vdG9uaWNUaW1lLgorICAgIFNlY29u
ZHMgdGltZVRvTmV4dFNlcnZpY2UgPSBTZWNvbmRzKHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENo
YW5nZWQpKTsKIAotICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5pbWF0aW9uVGltZXI6IHRp
bWVUb05leHRTZXJ2aWNlIGlzICUuMmYiLCB0aW1lVG9OZXh0U2VydmljZSk7CisgICAgTE9HKEFu
aW1hdGlvbnMsICJ1cGRhdGVBbmltYXRpb25UaW1lcjogdGltZVRvTmV4dFNlcnZpY2UgaXMgJS4y
Zm1zIiwgdGltZVRvTmV4dFNlcnZpY2UubWlsbGlzZWNvbmRzKCkpOwogCiAgICAgLy8gSWYgd2Ug
d2FudCBzZXJ2aWNlIGltbWVkaWF0ZWx5LCB3ZSBzdGFydCBhIHJlcGVhdGluZyB0aW1lciB0byBy
ZWR1Y2UgdGhlIG92ZXJoZWFkIG9mIHN0YXJ0aW5nCiAgICAgaWYgKCF0aW1lVG9OZXh0U2Vydmlj
ZSkgewotICAgICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSB8fCBtX2FuaW1h
dGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkgPT0gMCkKLSAgICAgICAgICAgIG1fYW5pbWF0aW9u
VGltZXIuc3RhcnRSZXBlYXRpbmcoY0FuaW1hdGlvblRpbWVyRGVsYXkpOworICAgICAgICBpZiAo
IW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSB8fCAhbV9hbmltYXRpb25UaW1lci5yZXBlYXRJ
bnRlcnZhbCgpKQorICAgICAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhh
bmltYXRpb25UaW1lckRlbGF5KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIElm
IHdlIGRvbid0IG5lZWQgc2VydmljZSwgd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhlIHRpbWVyIGlz
IG5vIGxvbmdlciBydW5uaW5nCi0gICAgaWYgKHRpbWVUb05leHRTZXJ2aWNlIDwgMCkgeworICAg
IGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDBfcykgewogICAgICAgICBpZiAobV9hbmltYXRpb25U
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdG9wKCk7CiAg
ICAgICAgIHJldHVybjsKQEAgLTIyMiw3ICsyMjMsNyBAQCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjpmaXJlRXZlbnRzQW5kVXBkYXRlU3R5bGUoKQogdm9pZCBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcigpCiB7CiAg
ICAgaWYgKCFtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphZGRFdmVudFRvRGlzcGF0Y2go
UGFzc1JlZlB0cjxFbGVtZW50PiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgZWxhcHNlZFRpbWUpCkBAIC0zODQsNyArMzg1
LDcgQEAgYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6cGF1c2VUcmFuc2l0aW9uQXRU
aW1lKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLAogZG91YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoKQogewogICAgIEFTU0VSVChtX2JlZ2lu
QW5pbWF0aW9uVXBkYXRlQ291bnQpOwotICAgIGlmIChtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZSA9PSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQorICAgIGlmIChtX2JlZ2luQW5p
bWF0aW9uVXBkYXRlVGltZSA9PSBiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCiAgICAg
ICAgIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCk7CiAKICAgICByZXR1cm4gbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWU7CkBAIC0zOTMs
NyArMzk0LDcgQEAgZG91YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWUoKQogdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5B
bmltYXRpb25VcGRhdGUoKQogewogICAgIGlmICghbV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
KQotICAgICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZU5vdFNldCk7CisgICAgICAgIHNldEJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShiZWdp
bkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOwogICAgICsrbV9iZWdpbkFuaW1hdGlvblVwZGF0
ZUNvdW50OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0K
aW5kZXggYjAzNTI3MDg5MWQwYzI2ODk5MDM2M2M0ZmQwZjZkMTZhMjcxZTM2OS4uMzc4ZGViMGIx
N2ZhYWVkY2I1ODM4YjY4YmY3Y2U3MjllMGYzYTVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzgsNyArNzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjb25zdCBkb3VibGUgRXZlbnRIYW5kbGVyOjpUZXh0RHJhZ0RlbGF5ID0gMC4xNTsKICNl
bmRpZgogCi1jb25zdCBkb3VibGUgcmVzZXRMYXRjaGVkU3RhdGVUaW1lb3V0ID0gMC4xOworY29u
c3QgU2Vjb25kcyByZXNldExhdGNoZWRTdGF0ZURlbGF5ID0gMC4xX3M7CiAKIHN0YXRpYyBSZXRh
aW5QdHI8TlNFdmVudD4mIGN1cnJlbnROU0V2ZW50U2xvdCgpCiB7CkBAIC05MjQsNyArOTI0LDcg
QEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQoY29uc3QgUGxhdGZvcm1XaGUKICAgICAvLyByZXNldCB0aGUgbGF0Y2hlZCBzdGF0
ZS4gSWYgaXQgZG9lcywgc3RvcCB0aGUgdGltZXIsIGxlYXZpbmcgdGhlIGxhdGNoZWQgc3RhdGUg
dW50b3VjaGVkLgogICAgIGlmICghbV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2ZW50c1RpbWVyLmlz
QWN0aXZlKCkpIHsKICAgICAgICAgaWYgKGV2ZW50LmlzRW5kT2ZOb25Nb21lbnR1bVNjcm9sbCgp
KQotICAgICAgICAgICAgbV9wZW5kaW5nTW9tZW50dW1XaGVlbEV2ZW50c1RpbWVyLnN0YXJ0T25l
U2hvdChyZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQpOworICAgICAgICAgICAgbV9wZW5kaW5nTW9t
ZW50dW1XaGVlbEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdChyZXNldExhdGNoZWRTdGF0ZURlbGF5
KTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBJZiBhbm90aGVyIHdoZWVsIGV2ZW50IHNjcm9s
bGluZyBzdGFydHMsIHN0b3AgdGhlIHRpbWVyIG1hbnVhbGx5LCBhbmQgcmVzZXQgdGhlIGxhdGNo
ZWQgc3RhdGUgaW1tZWRpYXRlbHkuCiAgICAgICAgIGlmIChldmVudC5zaG91bGRDb25zaWRlckxh
dGNoaW5nKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXIuaAppbmRleCA1NWU0ZDY1OTVlZWI2MDUzZjZhNmE5NDUwYjlkYWViODEy
OGM1MjcwLi4wYmIwOTgwMGY4ZmFlN2ExZTcyN2M5NDRkZWRkYjFmNmE1NjZkMjIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5o
CkBAIC0xMjIsNyArMTIyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIGhhc1JlbGV2YW50U2VsZWN0
aW9uU2VydmljZXMoKTsKIAogICAgIGJvb2wgbW91c2VJc092ZXJIaWdobGlnaHQoSGlnaGxpZ2h0
JiwgYm9vbCYgbW91c2VJc092ZXJCdXR0b24pIGNvbnN0OwotICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGln
aHQqKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CiAgICAgdm9pZCBkZXRlcm1pbmVBY3RpdmVIaWdo
bGlnaHRUaW1lckZpcmVkKCk7CiAKICAgICBzdGF0aWMgYm9vbCBoaWdobGlnaHRzQXJlRXF1aXZh
bGVudChjb25zdCBIaWdobGlnaHQqIGEsIGNvbnN0IEhpZ2hsaWdodCogYik7CkBAIC0xNTEsOSAr
MTUxLDkgQEAgcHJpdmF0ZToKIAogICAgIEhpZ2hsaWdodDo6VHlwZSBtX2RpcnR5SGlnaGxpZ2h0
VHlwZXMgeyAwIH07CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50
IG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOwotICAgIHN0ZDo6
Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0TW91c2VVcFRpbWU7CisgICAg
TW9ub3RvbmljVGltZSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1Rp
bWUgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1f
bGFzdE1vdXNlVXBUaW1lOwogCiAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbV9jdXJyZW50TW91c2VE
b3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAgSW50UG9pbnQgbV9tb3VzZVBvc2l0aW9uOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
bW0KaW5kZXggOWE4MTViNWFlNTU5NjQ5OWJkZjYxNmVkNDIxMWI5YTUyMzgxNWU2Mi4uZTg4NDky
OTQ2YTViYWVlMTY5NGUwNGM1MjY3Njk3NDRlYjk0ZWViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCkBAIC0zNjgsNyAr
MzY4LDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpzZWxlY3Rpb25SZWN0c0Rp
ZENoYW5nZShjb25zdCBWZWN0b3I8TGF5b3V0UmVjdD4KICAgICBtX2N1cnJlbnRTZWxlY3Rpb25S
ZWN0cyA9IHJlY3RzOwogICAgIG1faXNUZXh0T25seSA9IGlzVGV4dE9ubHk7CiAKLSAgICBtX2xh
c3RTZWxlY3Rpb25DaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7
CisgICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwog
CiAgICAgY29tcGFjdFJlY3RzV2l0aEdhcFJlY3RzKG1fY3VycmVudFNlbGVjdGlvblJlY3RzLCBn
YXBSZWN0cyk7CiAKQEAgLTM5MSw3ICszOTEsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRzT2ZUeXBlKEhpZ2hsaWdodDo6VHlwZSB0eXBlKQog
ICAgICAgICByZXR1cm47CiAKICAgICBtX2RpcnR5SGlnaGxpZ2h0VHlwZXMgfD0gdHlwZTsKLSAg
ICBtX2J1aWxkSGlnaGxpZ2h0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2J1aWxkSGln
aGxpZ2h0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNlcnZpY2VzT3Zlcmxh
eUNvbnRyb2xsZXI6OmJ1aWxkUG90ZW50aWFsSGlnaGxpZ2h0c0lmTmVlZGVkKCkKQEAgLTQzMywx
NSArNDMzLDE1IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VJc092ZXJI
aWdobGlnaHQoSGlnaGxpZ2h0JiBoaWdobGlnaHQsIGJvb2wmCiAgICAgcmV0dXJuIGhvdmVyZWQ7
CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqIGhp
Z2hsaWdodCkgY29uc3QKK1NlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWlu
aW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqIGhpZ2hsaWdodCkg
Y29uc3QKIHsKICAgICBpZiAoIWhpZ2hsaWdodCkKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAotICAgIGF1dG8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24gPSAyMDBtczsKKyAgICBTZWNvbmRzIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duID0gMC4yX3M7CiAgICAgUGFnZSogcGFnZSA9IG1fbWFpbkZyYW1lLnBhZ2Uo
KTsKICAgICBpZiAocGFnZSAmJiBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkT3JNYWlu
RnJhbWUoKS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5pc0NvbnRlbnRFZGl0YWJsZSgpKQotICAg
ICAgICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDEwMDBtczsKKyAg
ICAgICAgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxX3M7CiAKICAg
ICBib29sIG1vdXNlUHJlc3NlZCA9IG1fbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLm1vdXNlUHJl
c3NlZCgpOwogCkBAIC00NDksMTUgKzQ0OSwxNCBAQCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodAog
ICAgIC8vIGJ5IHZpcnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0byBpbmNsdWRlIHRoZSBlbnRpcmUg
dGVsZXBob25lIG51bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBzdGlsbCBhdm9pZCBoaWdobGlnaHRp
bmcKICAgICAvLyB0ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0aGUgbW91c2UgaXMgZG93bi4KICAg
ICBpZiAoaGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1iZXJUeXBl
KQotICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24gOiAwbXM7CisgICAgICAgIHJldHVybiBtb3VzZVByZXNzZWQgPyBtaW5p
bXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6IDBfczsKIAotICAgIGF1dG8gbm93
ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBub3cgPSBNb25v
dG9uaWNUaW1lOjpub3coKTsKICAgICBhdXRvIHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2Ug
PSBub3cgLSBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lOwogICAgIGF1dG8gdGltZVNpbmNlSGln
aGxpZ2h0QmVjYW1lQWN0aXZlID0gbm93IC0gbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGlt
ZTsKLSAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91c2VQcmVzc2VkID8gMG1zIDog
bm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CisgICAgYXV0byB0aW1lU2luY2VMYXN0TW91c2VVcCA9
IG1vdXNlUHJlc3NlZCA/IDBfcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBUaW1lOwogCi0gICAgYXV0
byByZW1haW5pbmdEZWxheSA9IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3du
IC0gc3RkOjptaW4oc3RkOjptaW4odGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSwgdGltZVNp
bmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlKSwgdGltZVNpbmNlTGFzdE1vdXNlVXApOwotICAgIHJl
dHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PihyZW1haW5pbmdEZWxheSk7CisgICAgcmV0dXJuIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duIC0gc3RkOjptaW4oc3RkOjptaW4odGltZVNpbmNlTGFzdFNlbGVjdGlvbkNo
YW5nZSwgdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlKSwgdGltZVNpbmNlTGFzdE1vdXNl
VXApOwogfQogCiB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRldGVybWluZUFjdGl2
ZUhpZ2hsaWdodFRpbWVyRmlyZWQoKQpAQCAtNzIzLDcgKzcyMiw3IEBAIHZvaWQgU2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNP
dmVyQWN0aXZlCiAgICAgICAgIC8vIGhpZ2hsaWdodCwgYW5kIG9ubHkgcmVzZXQgdGhlIGFjdGl2
ZSBoaWdobGlnaHQgaHlzdGVyZXNpcyB3aGVuIHRoYXQgY2hhbmdlcy4KICAgICAgICAgaWYgKG1f
bmV4dEFjdGl2ZUhpZ2hsaWdodCAhPSBuZXdBY3RpdmVIaWdobGlnaHQpIHsKICAgICAgICAgICAg
IG1fbmV4dEFjdGl2ZUhpZ2hsaWdodCA9IG5ld0FjdGl2ZUhpZ2hsaWdodDsKLSAgICAgICAgICAg
IG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICAgICAgICAgIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWUg
PSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgfQogCiAgICAgICAgIG1fY3VycmVudE1v
dXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0ID0gbnVsbHB0cjsKQEAgLTczNCw3ICs3MzMsNyBAQCB2
b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRldGVybWluZUFjdGl2ZUhpZ2hsaWdodChi
b29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICB9CiAKICAgICAgICAgYXV0byByZW1haW5p
bmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gdGhpcy0+cmVtYWluaW5nVGltZVVu
dGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihuZXdBY3RpdmVIaWdobGlnaHQuZ2V0KCkpOwotICAg
ICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA+IHN0ZDo6
Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkpIHsKKyAgICAgICAgaWYgKHJl
bWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiAwX3MpIHsKICAgICAgICAg
ICAgIG1fZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXIuc3RhcnRPbmVTaG90KHJlbWFpbmlu
Z1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24pOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CkBAIC03NjYsNyArNzY1LDcgQEAgYm9vbCBTZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyOjptb3VzZUV2ZW50KFBhZ2VPdmVybGF5JiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW4KICAg
ICAgICAgUmVmUHRyPEhpZ2hsaWdodD4gbW91c2VEb3duSGlnaGxpZ2h0ID0gbV9jdXJyZW50TW91
c2VEb3duT25CdXR0b25IaWdobGlnaHQ7CiAgICAgICAgIG1fY3VycmVudE1vdXNlRG93bk9uQnV0
dG9uSGlnaGxpZ2h0ID0gbnVsbHB0cjsKIAotICAgICAgICBtX2xhc3RNb3VzZVVwVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICBtX2xhc3RNb3VzZVVwVGlt
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgICAgIGlmIChtb3VzZUlzT3ZlckFjdGl2
ZUhpZ2hsaWdodEJ1dHRvbiAmJiBtb3VzZURvd25IaWdobGlnaHQpIHsKICAgICAgICAgICAgIGhh
bmRsZUNsaWNrKG1fbW91c2VQb3NpdGlvbiwgKm1vdXNlRG93bkhpZ2hsaWdodCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbQppbmRleCBlNGUyMGQy
Mjc2OGM4ODJlOTAwYjEyYjQxZmUwMmVjZGZiNDhmNjI4Li41MDQ0ZWFmNjIwNGEzYmMyYjhkZGU2
YWU0YTg1OTlhYjUxMTZiMWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9U
ZXh0SW5kaWNhdG9yV2luZG93Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJ
bmRpY2F0b3JXaW5kb3cubW0KQEAgLTQ3NSw3ICs0NzUsNyBAQCB2b2lkIFRleHRJbmRpY2F0b3JX
aW5kb3c6OnNldFRleHRJbmRpY2F0b3IoUmVmPFRleHRJbmRpY2F0b3I+IHRleHRJbmRpY2F0b3Is
IENHUgogICAgICAgICBbbV90ZXh0SW5kaWNhdG9yVmlldyBwcmVzZW50XTsKIAogICAgIGlmIChs
aWZldGltZSA9PSBUZXh0SW5kaWNhdG9yV2luZG93TGlmZXRpbWU6OlRlbXBvcmFyeSkKLSAgICAg
ICAgbV90ZW1wb3JhcnlUZXh0SW5kaWNhdG9yVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZWZvcmVG
YWRlU3RhcnRzKTsKKyAgICAgICAgbV90ZW1wb3JhcnlUZXh0SW5kaWNhdG9yVGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHModGltZUJlZm9yZUZhZGVTdGFydHMpKTsKIH0KIAogdm9pZCBUZXh0SW5k
aWNhdG9yV2luZG93OjpjbG9zZVdpbmRvdygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21ha2Vfc2V0dGluZ3MucGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21ha2Vfc2V0dGluZ3Mu
cGwKaW5kZXggZGEzMjM0ZWY3NjI0ZTI0MjU5Y2I4MDNjOTJjMzU5YjYwYjgwMzJiYy4uZTQ3ZjMz
MGY5M2Q0YzVmNjQ5MDQwY2FhYjIzOWMwMTA3MDc4MzhkZSAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9tYWtlX3NldHRpbmdzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFr
ZV9zZXR0aW5ncy5wbApAQCAtMzksNiArMzksNyBAQCBteSAld2ViY29yZVR5cGVUb0lkbFR5cGUg
PSAoCiAgICAgJ2RvdWJsZScgPT4gJ2RvdWJsZScsCiAgICAgJ2Zsb2F0JyA9PiAnZmxvYXQnLAog
ICAgICdTdHJpbmcnID0+ICdET01TdHJpbmcnLAorICAgICdTZWNvbmRzJyA9PiAnZG91YmxlJywK
ICAgICAnYm9vbCcgPT4gJ2Jvb2xlYW4nCiApOwogCkBAIC0zNTEsNiArMzUyLDEyIEBAIHN1YiBl
bnVtZXJhdGVQYXJzZWRJdGVtcygkJCQpCiAgICAgfQogfQogCitzdWIgbmVlZHNDdXN0b21TZXR0
ZXIoJCkKK3sKKyAgICBteSAkdHlwZSA9IHNoaWZ0OworICAgIHJldHVybiAkdHlwZSBlcSAiU2Vj
b25kcyI7Cit9CisKIHN1YiBnZW5lcmF0ZUludGVybmFsU2V0dGluZ3NJZGxGaWxlKCQpCiB7CiAg
ICAgbXkgJHBhcnNlZEl0ZW1zUmVmID0gc2hpZnQ7CkBAIC0zNzAsNyArMzc3LDggQEAgc3ViIGdl
bmVyYXRlSW50ZXJuYWxTZXR0aW5nc0lkbEZpbGUoJCkKICAgICAgICAgbXkgJHR5cGUgPSAkcGFy
c2VkSXRlbXN7JHNldHRpbmdOYW1lfXsidHlwZSJ9OwogICAgICAgICBteSAkaWRsVHlwZSA9ICR3
ZWJjb3JlVHlwZVRvSWRsVHlwZXskdHlwZX07CiAgICAgICAgIG15ICRzZXR0ZXJGdW5jdGlvbk5h
bWUgPSBzZXR0ZXJGdW5jdGlvbk5hbWUoJHNldHRpbmdOYW1lKTsKLSAgICAgICAgcHJpbnQgJGZp
bGUgIiAgICB2b2lkICRzZXR0ZXJGdW5jdGlvbk5hbWUoJGlkbFR5cGUgJHNldHRpbmdOYW1lKTtc
biI7CisgICAgICAgIG15ICRjdXN0b20gPSBuZWVkc0N1c3RvbVNldHRlcigkdHlwZSkgPyAiW0N1
c3RvbV0iIDogIiI7CisgICAgICAgIHByaW50ICRmaWxlICIgICAgJGN1c3RvbSB2b2lkICRzZXR0
ZXJGdW5jdGlvbk5hbWUoJGlkbFR5cGUgJHNldHRpbmdOYW1lKTtcbiI7CiAgICAgfTsKIAogICAg
IGVudW1lcmF0ZVBhcnNlZEl0ZW1zKCRmaWxlLCAkcGFyc2VkSXRlbXNSZWYsIFwmd3JpdGVJZGxT
ZXR0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCAyMmFiMGVjNzY2YTJhNmRmMzVjY2Nk
OGQ3MzIzNzRlMDU3YmQwZmVkLi41MDRhODQ0YTdjMzE2NjZjNDQ5NzQ3MzczMGQ1ZWZiODkzMmJj
M2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjU3LDcgKzI1Nyw3IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVy
QXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUgPSBz
Y3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3Jv
bGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi5lZDFk
N2Q2MTM5ZjIwNTJiNGJkOGExNjg1NzUwN2Q2MTI4ZjA0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21t
aXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUz
ZjQwZDYwMTQ0ZDA5NGY2ODUzNWY0MTM0ODhmYzRmOTMwOGY2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFi
NDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4uMzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5
NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBl
bmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZCht
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigp
LmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rp
c3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUyYTc0ODMwOWUwNjI4MjBlZGM4
MjM5ODBjMGIyZTEuLmFkNGViNzdhZTU3YmUzMmIzOTM3OGYzODMwOTliOTNkNDU4YWY3ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0zMCw3
ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBEZWZh
dWx0SHlzdGVyZXNpc0ludGVydmFsID0gNV9zOwogCiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lz
U3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewogcHVibGljOgotICAgIGV4cGxp
Y2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRl
KT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNT
ZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVz
aXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sg
PSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBE
ZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAg
ICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwg
bV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rp
dml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAgICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAg
ICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRv
dWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDg4MTgxZDMwNTdmNDY4OTRkZmViOWE5Nzdh
NTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1MzVlNzk4YTBkMGU4MDBlMzhiZjZkOTQyOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBA
IHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShTY3JvbGxiYXIqIHNjcm9sbGJhcikKICAgICBy
ZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPj0gdGh1bWJQb3MgJiYgc2Nyb2xsYmFyLT5w
cmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1iTGVuZ3RoOwogfQogCi12b2lkIFNjcm9sbGJh
cjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjph
dXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBh
bnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5vdGhpbmcgd2FzIHByZXNzZWQuCiAgICAgaWYg
KG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8IG1fcHJlc3NlZFBhcnQgPT0gTm9QYXJ0KQpA
QCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQo
ZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRpbWVySWZOZWVkZWQoZGVsYXkpOwogfQogCi12
b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Ny
b2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxheSkKIHsKICAgICAvLyBEb24n
dCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgogICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRo
dW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklm
TmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBt
X3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9zY3JvbGxUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIFNjcm9sbGJhcjo6c3RvcFRpbWVy
SWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAppbmRleCBmODZhOTYyYWZl
MDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFhLi5hMjM2YzdlOGViMTI3YWVhMzc1NjUyM2Vi
ZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaApAQCAtMTQ0
LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQcm9w
b3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBz
dGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXJJZk5l
ZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1lcklmTmVlZGVkKCk7Ci0gICAg
dm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIGF1dG9z
Y3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KTsKICAgICBTY3JvbGxEaXJlY3Rpb24gcHJl
c3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAgICBTY3JvbGxHcmFudWxhcml0eSBwcmVzc2Vk
UGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2JhNGEwZTNhMGRmYjQ3NjFkZDRhNjU3NWVkYmMu
LmZkYzVmOGQ1ZDY0NWRmMzJmNjAyOTFmNTQ2MGJlNTkzMmRkYzQ4NzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMTA1LDggKzEwNSw4IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFnZXMoKSB7IHJldHVybiBzdGQ6
Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBpbml0
aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1OyB9Ci0gICAgdmlydHVhbCBk
b3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjA1OyB9CisgICAgdmlydHVh
bCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMjVfczsg
fQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAu
MDVfczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNTkxMTk3OGFlZWMxOGYwODNmZGJmODVmMWFm
M2VkMjQxNzkwMTE2NS4uODczNTk0MmZiNjkwNTk2NDRjNGZhZWNiOTQ0NDI2YWUyZmYyMTZiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250LCBGb250RGVzY3JpcHRpb24m
KSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAgCiAgICAgLy8gSG93IGZhc3Qg
dGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJl
dEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29u
ZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41X3M7IH0KIAogICAgIC8v
IE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9p
ZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZFRpbWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
Y3BwCmluZGV4IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFhMTBmY2ZkYmNhNDQuLjk2N2U1
OGYwZThiZjU2ZTBjZDllNjAzZWIzOGQ3NmJkYWFkZGU4ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhyZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlRpbWVy
LmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiAjaWYgUExBVEZPUk0oSU9T
KQogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcgKzQ0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVuZ3RoIG9mIHRpbWUsIGFuZCB0
aGVuIHF1aXQgdG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVzZXIgaW5wdXQgZXZlbnRzLgog
Ly8gMTAwbXMgaXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBpbiBVSSwgc28gdXNlIGEgaGFs
ZiBvZiB0aGF0IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0byBwcmV2ZW50IFVJIGZyZWV6
ZSB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFjaGluZSBwZXJmb3JtYW5jZSBp
cyBsb3cuCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAw
LjA1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKDUwKTsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBz
dGFydGVkIGFuZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMg
aXRzIG93biBUaHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQg
b2YgY3VycmVudGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25z
dCBkb3VibGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJz
OjpUaHJlYWRUaW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdU
aW1lcnMoZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAg
ICAgaWYgKGlzVUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRT
aGFyZWRUaW1lcjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRp
bWVyczo6c2V0U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmICht
X3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24o
bnVsbHB0cik7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5k
aW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVy
RmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGlt
ZXIgPSBzaGFyZWRUaW1lcjsKQEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6
dXBkYXRlU2hhcmVkVGltZXIoKQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmICht
X2ZpcmluZ1RpbWVycyB8fCBtX3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5k
aW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVy
RmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3Ao
KTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhl
YXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3Rv
bmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBNb25vdG9u
aWNUaW1lIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1l
OworICAgICAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKSB7
CiAgICAgICAgICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlmIGJvdGggdGhl
IHBlbmRpbmcgZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4gdGhlIHBhc3Qu
CiAgICAgICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8PSBjdXJyZW50
TW9ub3RvbmljVGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25pY1RpbWUpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3BlbmRpbmdTaGFy
ZWRUaW1lckZpcmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJlZFRpbWVyLT5z
ZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9u
b3RvbmljVGltZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50ZXJ2
YWwoc3RkOjptYXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90b25pY1RpbWUs
IDBfcykpOwogICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBUaHJlYWRUaW1l
cnM6OnNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5nVGltZXJzKQog
ICAgICAgICByZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAgIG1fcGVuZGlu
Z1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSBNb25vdG9uaWNUaW1lKCk7CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsg
bWF4RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKKyAgICBNb25vdG9uaWNUaW1lIGZpcmVUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgTW9ub3RvbmljVGltZSB0aW1lVG9RdWl0ID0gZmly
ZVRpbWUgKyBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzOwogCiAgICAgd2hpbGUgKCFtX3RpbWVy
SGVhcC5pc0VtcHR5KCkgJiYgbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWUgPD0g
ZmlyZVRpbWUpIHsKICAgICAgICAgVGltZXJCYXNlKiB0aW1lciA9IG1fdGltZXJIZWFwLmZpcnN0
KCk7Ci0gICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IDA7Ci0gICAgICAgIHRpbWVyLT5t
X3VuYWxpZ25lZE5leHRGaXJlVGltZSA9IDA7CisgICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGlt
ZSA9IE1vbm90b25pY1RpbWUoKTsKKyAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVU
aW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgICAgICB0aW1lci0+aGVhcERlbGV0ZU1pbigpOwog
Ci0gICAgICAgIGRvdWJsZSBpbnRlcnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwotICAg
ICAgICB0aW1lci0+c2V0TmV4dEZpcmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZh
bCA6IDApOworICAgICAgICBTZWNvbmRzIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFs
KCk7CisgICAgICAgIHRpbWVyLT5zZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSAr
IGludGVydmFsIDogTW9ub3RvbmljVGltZSgpKTsKIAogICAgICAgICAvLyBPbmNlIHRoZSB0aW1l
ciBoYXMgYmVlbiBmaXJlZCwgaXQgbWF5IGJlIGRlbGV0ZWQsIHNvIGRvIG5vdGhpbmcgZWxzZSB3
aXRoIGl0IGFmdGVyIHRoaXMgcG9pbnQuCiAgICAgICAgIHRpbWVyLT5maXJlZCgpOwogCiAgICAg
ICAgIC8vIENhdGNoIHRoZSBjYXNlIHdoZXJlIHRoZSB0aW1lciBhc2tlZCB0aW1lcnMgdG8gZmly
ZSBpbiBhIG5lc3RlZCBldmVudCBsb29wLCBvciB3ZSBhcmUgb3ZlciB0aW1lIGxpbWl0LgotICAg
ICAgICBpZiAoIW1fZmlyaW5nVGltZXJzIHx8IHRpbWVUb1F1aXQgPCBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSkKKyAgICAgICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0
IDwgTW9ub3RvbmljVGltZTo6bm93KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAg
LTEzNyw3ICsxMzcsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZl
bnRMb29wKCkKIAogICAgIGlmIChtX3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGlt
ZXItPmludmFsaWRhdGUoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9
IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSBNb25vdG9uaWNUaW1l
KCk7CiAgICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGltZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIxZTgyNjY2MmU5YWJiMzA0ZTM4M2YxN2Ix
ZTcyOWE5Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2ZWM2OTE3MzlhODkwM2EwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpZm5k
ZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAorI2luY2x1ZGUgPHd0
Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGltZXJIZWFwOwogICAgICAgICBTaGFyZWRU
aW1lciogbV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwgb2JqZWN0LCBjYW4gYmUgYSBydW4gbG9v
cCBvbiBhIHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNldC9yZXNldCBieSB3b3JrZXIgdGhyZWFk
LgogICAgICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAvLyBSZWVudHJhbmN5IGd1YXJkLgotICAg
ICAgICBkb3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKKyAgICAgICAgTW9ub3Rv
bmljVGltZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lOwogICAgIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZlN2NjNTU4OTEyOTQ3NDYzOTc2ZDhkMTg1
ZjkxMTE0YmJhLi44ODg0YTE0NjVmNGQ2ZjI4M2RhOWI3ZTkyMTU3MTg3ODVkZDlmNjI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIsOCArMTcyLDggQEAgaW5saW5lIGJvb2wg
VGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0b3IoKShjb25zdCBUaW1lckJhc2UqIGEs
IGNvbnN0IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFyaXNvbnMgYmVsb3cgYXJlICJiYWNrd2Fy
ZHMiIGJlY2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFyZ2VzdCAKICAgICAvLyBlbGVtZW50IGZp
cnN0IGFuZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0byBiZSB0aGUgZmlyc3Qgb25lIGluIHRo
ZSBoZWFwLgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKLSAgICBk
b3VibGUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBh
RmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIGJGaXJlVGlt
ZSA9IGItPm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChiRmlyZVRpbWUgIT0gYUZpcmVUaW1lKQog
ICAgICAgICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVUaW1lOwogICAgIApAQCAtMTg2LDExICsx
ODYsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigp
KGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQogLy8gLS0tLS0tLS0tLS0tLS0tLQogCiBU
aW1lckJhc2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25leHRGaXJlVGltZSgwKQotICAgICwgbV91
bmFsaWduZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1fcmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAs
IG1faGVhcEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAoMCkK
KyAgICA6IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhl
YXAobnVsbHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAgLCBtX3RocmVhZChjdXJyZW50VGhyZWFk
KCkpCiAgICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBAIC0yMDcsMzIgKzIwNCwzMiBAQCBUaW1l
ckJhc2U6On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzdGFydChk
b3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBUaW1l
ckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRl
cnZhbCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1f
dGhyZWFkKSk7CiAKICAgICBtX3JlcGVhdEludGVydmFsID0gcmVwZWF0SW50ZXJ2YWw7Ci0gICAg
c2V0TmV4dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgbmV4dEZpcmVJ
bnRlcnZhbCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWU6Om5vdygpICsgbmV4
dEZpcmVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJCYXNlOjpzdG9wKCkKIHsKICAgICBBU1NF
UlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKLSAgICBt
X3JlcGVhdEludGVydmFsID0gMDsKLSAgICBzZXROZXh0RmlyZVRpbWUoMCk7CisgICAgbV9yZXBl
YXRJbnRlcnZhbCA9IDBfczsKKyAgICBzZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGltZSgpKTsK
IAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAwKTsKLSAgICBBU1NFUlQobV9yZXBlYXRJ
bnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKKyAgICBBU1NFUlQo
IW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VSVCghaW5IZWFwKCkpOwogfQogCi1kb3VibGUg
VGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGltZXJCYXNlOjpu
ZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAg
ZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICBNb25v
dG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBpZiAobV9uZXh0
RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIDBf
czsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBjdXJyZW50OwogfQogCkBAIC0yNDgsMTQg
KzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmNoZWNrSGVhcEluZGV4KCkgY29uc3QK
IGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0CiB7CiAgICAg
Ly8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBpZiBhbmQgb25seSBpZiB0aGV5IGhhdmUg
YSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBBU1NFUlQoaW5IZWFwKCkgPT0gKG1fbmV4
dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5IZWFwKCkgPT0gISFtX25leHRGaXJlVGlt
ZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBjaGVja0hlYXBJbmRleCgpOwogfQogCiB2
b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NFUlQobV9uZXh0Rmly
ZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAgICBjaGVja0hlYXBJ
bmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRhID0gdGltZXJIZWFwKCkuZGF0YSgpOwog
ICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvcihoZWFwRGF0YSksIFRpbWVySGVhcEl0ZXJh
dG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlv
bigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5
KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkKIHsKLSAgICBBU1NFUlQo
bV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7CiAgICAg
aGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRl
eCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcERl
bGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIHsKLSAgICBBU1NFUlQo
bV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7CiAgICAg
aGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAgICBtX2hlYXBJ
bmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRl
TWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwSW5jcmVhc2VLZXkoKQogewotICAg
IEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUp
OwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVhc2VLZXkoKTsKIH0KQEAgLTI5Niw4ICsy
OTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbnNlcnQoKQogaW5saW5lIHZvaWQg
VGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBUZW1wb3JhcmlseSBmb3JjZSB0aGlzIHRp
bWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdlIGNhbiBwb3AgaXQuCi0gICAgZG91Ymxl
IGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAgbV9uZXh0RmlyZVRpbWUgPSAtc3RkOjpu
dW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOworICAgIE1vbm90b25pY1RpbWUgZmly
ZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25leHRGaXJlVGltZSA9IC1Nb25vdG9uaWNU
aW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogICAgIGhlYXBQb3BNaW4o
KTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1lOwpAQCAtMzQ3LDcgKzM0NCw3IEBAIGJv
b2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIGNo
aWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDEpICYmIGNoaWxkSGVh
cFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDIpOwogfQogCi12b2lkIFRpbWVy
QmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQordm9pZCBUaW1lckJhc2U6
OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRpbWUpCiB7CiAgICAgaWYgKG1f
bmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkpCiAgICAgICAgIHJldHVybjsK
QEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRv
dWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFwKCkgfHwgaGFzVmFsaWRIZWFwUG9zaXRp
b24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUoZG91YmxlIG5ld1Rp
bWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUgbmV3VGlt
ZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhy
ZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQpOwpAQCAtMzc5LDExICszNzYsMTEgQEAg
dm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGltZSkKICAgICAgICAg
bV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAmdGhyZWFkR2xvYmFsVGltZXJIZWFwKCk7
CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUgY2hhbmdpbmcgdGhlIG5leHQtZmlyZSB0
aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3Rvbmlj
VGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAgICAgLy8gRG9uJ3QgcmVhbGlnbiB6ZXJv
LWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkgewotICAgICAgICBpZiAoYXV0byBuZXdB
bGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNvbmRzVG9NUyhuZXdUaW1lKSkpCi0gICAg
ICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3QWxpZ25lZFRpbWUudmFsdWUoKSk7Cisg
ICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0gYWxpZ25lZEZpcmVUaW1lKG5ld1RpbWUp
KQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWduZWRUaW1lLnZhbHVlKCk7CiAgICAgfQog
CiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpAQCAtNDE2LDEwICs0MTMsMTAgQEAgdm9p
ZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCkKICAgICBzZXROZXh0Rmly
ZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwogfQogCi1kb3VibGUgVGltZXJCYXNlOjpu
ZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGltZXJCYXNlOjpuZXh0
VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7
Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGln
bmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCksIDBfcyk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDUyYTE2NmViYTJk
MjMxOWQxNWExYjdlZDkwODJiNmIxNDMzZjNiMjQuLjMwZmQyMmQ5OGIwMmVlZDUxNjMwYTdiNmY4
ZTVmNTYyZTk4ODdjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjgsNiArMjgsNyBA
QAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisjaW5jbHVkZSA8
d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgpAQCAtNDcsMzkg
KzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiBjbGFzcyBUaW1lckJhc2UgewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlubGluZSBkb3VibGUgbXNUb1NlY29uZHMo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlvbikgeyByZXR1cm4gZHVyYXRpb24uY291
bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGluZSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4gc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShkdXJhdGlvbiAqIDEw
MDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVGltZXJCYXNlKCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2
YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsg
c3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRlcnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFy
dFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVh
dEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChTZWNv
bmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9p
ZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsgfQot
ICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwp
IHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0
T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLnZhbHVlKCksIDApOyB9
CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0
KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0YXJ0T25lU2hv
dChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3Q7CiAKLSAg
ICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0OwotICAgIGRvdWJsZSBuZXh0VW5hbGln
bmVkRmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91YmxlIHJlcGVhdEludGVydmFsKCkgY29u
c3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsgcmV0dXJuIHNlY29uZHNUb01TKHJlcGVh
dEludGVydmFsKCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRl
bHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJlVGltZSArIGRlbHRhKTsgfQotICAgIHZv
aWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVn
bWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVs
dGEudmFsdWUoKSk7IH0KKyAgICBTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAg
ICBTZWNvbmRzIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRz
IHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQogCi0g
ICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IGF1Z21lbnRGaXJl
SW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFsICs9IGRlbHRhOyB9Ci0gICAgdm9pZCBh
dWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBh
dWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVn
bWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFs
KGRlbHRhLnZhbHVlKCkpOyB9CisgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMg
ZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZpcmVUaW1lICsgZGVsdGEpOyB9CisgICAg
dm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUlu
dGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsgfQogCiAgICAgdm9pZCBk
aWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBAIC04OCwxNyArNzQsMTcgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSA9IDA7CiAKLSAgICB2aXJ0dWFs
IHN0ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1l
KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsg
fQorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb25vdG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRp
bWUoTW9ub3RvbmljVGltZSkgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAKICAgICB2
b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAgICB2b2lkIGNoZWNrSGVhcEluZGV4KCkg
Y29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGltZShkb3VibGUpOworICAgIHZvaWQgc2V0
TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAgICAgYm9vbCBpbkhlYXAoKSBjb25zdCB7
IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAgICAgYm9vbCBoYXNWYWxpZEhlYXBQb3Np
dGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1l
KTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRpbWUpOwog
CiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAgICB2b2lkIGhlYXBEZWxldGUoKTsKQEAg
LTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8VGltZXJCYXNlKj4mIHRpbWVy
SGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwKTsgcmV0
dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsgfQogCi0gICAgZG91YmxlIG1fbmV4
dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAgZG91YmxlIG1fdW5hbGlnbmVkTmV4dEZp
cmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVy
dmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7IC8vIDAgaWYgbm90IHJlcGVhdGluZwor
ICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7IC8vIDAgaWYgaW5hY3RpdmUKKyAgICBN
b25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBu
b3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCisgICAgU2Vjb25kcyBtX3JlcGVhdElu
dGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAgICBpbnQgbV9oZWFwSW5kZXg7IC8vIC0x
IGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9oZWFwSW5zZXJ0aW9uT3JkZXI7IC8vIFVz
ZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJlLXRpbWUgdGltZXJzCiAgICAgVmVjdG9y
PFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsKQEAgLTE1OSwxOCAr
MTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSBjb25zdAogI2Vsc2UK
ICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkgfHwgcHRocmVhZF9tYWluX25wKCkgfHwg
bV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCi0g
ICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJldHVybiAhIW1fbmV4dEZpcmVUaW1lOwog
fQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIDogcHJvdGVjdGVkIFRpbWVyQmFzZSB7
CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGltZXJGaXJlZENsYXNzPgotICAgIERl
ZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQgKFRpbWVy
RmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5
KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmplY3QsIHZv
aWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBTZWNvbmRzIGRlbGF5KQogICAgICAg
ICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpiaW5kKGZ1bmN0aW9uLCAmb2JqZWN0KSwg
ZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpm
dW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWxh
eSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gZnVu
Y3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogbV9mdW5jdGlvbihXVEZNb3ZlKGZ1bmN0
aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQogICAgICAgICAsIG1fc2hvdWxkUmVzdGFy
dFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcgKzE5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rpb247CiAKLSAgICBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25kcyBtX2RlbGF5OwogICAgIGJvb2wgbV9z
aG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Vk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUwMTkxNDRhMjFmZjRkM2RjMGUxOGY5ZmM5
MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlmMWU1ODNmNWM5MGM4ZDc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgVk5v
ZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRvbigpCiBWTm9kZVRyYWNrZXI6OlZOb2Rl
VHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50IGV2
ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZlbnQ6OkluY3JlbWVudCkgY2hlY2tQcmVz
c3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJlV2FybmluZ1RpbWVyKCp0aGlzLCAmVk5v
ZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKQotICAgICwgbV9sYXN0V2Fybmlu
Z1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCisgICAgLCBtX2xhc3RXYXJu
aW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsKICAgICBwbGF0Zm9ybUluaXRpYWxpemUo
KTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5p
bmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNvdW50ZXIudmFsdWUoKSA8PSBtX3NvZnRW
Tm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xhc3RXYXJuaW5nVGltZSA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFdhcm5pbmdUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWduZWQgdm5vZGVDb3VudCA9IG1fdm5vZGVD
b3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNhbCA9IHZub2RlQ291bnQgPiBtX2hhcmRW
Tm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRpY2FsOjpObzsKICAgICBtX3ByZXNzdXJl
SGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9yeVByZXNzdXJlLCAidm5vZGUgcHJlc3N1
cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBvZiAldSAoY3JpdGljYWwgcHJlc3N1cmU6
ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRlci52YWx1ZSgpLCB2bm9kZUNvdW50LCBj
cml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIgOiAiTm8iKTsKIH0KIAotc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZh
bCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVy
dmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhlIHZub2RlIHByZXNzdXJlIGhhbmRsZXIg
ZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0YXRpYyBjb25zdCBhdXRvIG1pbmltdW1X
YXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMwIH07Ci0gICAgYXV0byB0
aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpIC0g
bV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVdhcm5p
bmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IE1vbm90
b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CiAgICAgaWYgKHRpbWVTaW5jZUxh
c3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZhbCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6
Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KG1pbmltdW1X
YXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2FybmluZyk7Ci0gICAgcmV0dXJuIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBtaW5pbXVtV2Fybmlu
Z0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7CisKKyAgICByZXR1cm4gMF9zOwogfQog
CiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIu
aAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4NWFiZmUxODI2MGY0YTI0Li4wNGZiMzc5
NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBj
aGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHByZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQo
KTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG5leHRQcmVzc3VyZVdhcm5pbmdJbnRl
cnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkg
Y29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCkBAIC02Miw3ICs2Miw3
IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVyIG1fcHJlc3N1cmVIYW5kbGVyOwogICAg
IFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAgICBUaW1lciBtX3ByZXNzdXJlV2Fybmlu
Z1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0
V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RXYXJuaW5nVGltZTsKIH07CiAK
IGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJlc3N1cmVIYW5kbGVyKFByZXNzdXJlSGFu
ZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2NzY2OWEyMDYwODQ4Y2M2ODEyY2Y0NmU0
Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4ZDRjNDBjNzkzNjgxNjE1ZWI4OTk5NDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVsYXkgPSAw
LjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5
ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBzdGF0aWMgY29uc3QgY2hhciogc3RhdGVO
YW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBzdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmluZGV4IGNkNmZkYmUyMDk3
YmJhNTc0NGQ4MWZhODhlNDcwOTRhY2EyNjI3MGMuLjgwOThjZjg5YWNkMDIxMGRmYTkwNDE2YmJh
ZWYxZTA4ZTU4ZjIyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
U2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNzYsNyArNzYsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQg
cnViYmVyYmFuZE1pbmltdW1SZXF1aXJlZERlbHRhQmVmb3JlU3RyZXRjaCA9IDEwOwogCiAjaWYg
RU5BQkxFKENTU19TQ1JPTExfU05BUCkgJiYgUExBVEZPUk0oTUFDKQogc3RhdGljIGNvbnN0IGZs
b2F0IGluZXJ0aWFsU2Nyb2xsUHJlZGljdGlvbkZhY3RvciA9IDE2Ljc7Ci1zdGF0aWMgY29uc3Qg
ZG91YmxlIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDAuNTsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IFNlY29uZHMoMC41KTsKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oTUFDKQpAQCAtNDIxLDcgKzQyMSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxl
cjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6
OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnVi
YmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5n
KDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhT
ZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2NsaWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJl
aW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50
aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNz
KTsKIH0KQEAgLTYzNCw3ICs2MzQsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Ny
b2xsU25hcFRpbWVyKCkKIHsKICAgICBpZiAoIW1fc2Nyb2xsU25hcFRpbWVyLmlzQWN0aXZlKCkp
IHsKICAgICAgICAgbV9jbGllbnQuc3RhcnRTY3JvbGxTbmFwVGltZXIoKTsKLSAgICAgICAgbV9z
Y3JvbGxTbmFwVGltZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fc2Ny
b2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKICAgICB9CiAK
ICAgICBpZiAoIW1fc2Nyb2xsU25hcFRpbWVyLmlzQWN0aXZlKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFBy
b3ZpZGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQppbmRleCA2YTUzZjEyMjkyMTlmNDhjZWM5NzIyODRk
MmI1OWM3ZDhhMmE5ZDkwLi5lNGM0MjIxNjIzZTFjODAwODU3YjBlYTZjNjUwZWRlZmRjZmE0NDBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVD
b250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0KQEAgLTQwLDcg
KzQwLDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UX01BWV9GQUlMKEdhbWVDb250cm9sbGVyLCBHQ0Nv
bnRyb2xsZXJEaWREaXNjb25uZWN0Tm90aWZpY2F0aW8KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlv
bkRlbGF5ID0gMTZtczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVs
YXkgPSAxNl9tczsKIAogR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKaW5k
ZXggMGQ4YTc5YTA1MGQxOGFhODcwODllOTU4ZTgxMjE0ZTFjZGZiMTRlYi4uMWM2YjVkODNhOGE5
MDM0ODM1MDk0MjUxMzEzMjZlOWNmOWE3MzI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0z
NCw4ICszNCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBDb25uZWN0aW9uRGVsYXlJbnRlcnZhbCA9IDAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgSW5w
dXROb3RpZmljYXRpb25EZWxheSA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBDb25uZWN0
aW9uRGVsYXlJbnRlcnZhbCA9IDAuNV9zOworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3Rp
ZmljYXRpb25EZWxheSA9IDAuMDVfczsKIAogc3RhdGljIFJldGFpblB0cjxDRkRpY3Rpb25hcnlS
ZWY+IGRldmljZU1hdGNoaW5nRGljdGlvbmFyeSh1aW50MzJfdCB1c2FnZVBhZ2UsIHVpbnQzMl90
IHVzYWdlKQogewpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjpk
ZXZpY2VBZGRlZChJT0hJRERldmljZVJlZiBkZXZpY2UpCiAgICAgICAgIC8vIGFuZCB3ZSBkb24n
dCB3YW50IHRvIHRlbGwgdGhlIGNsaWVudCBhYm91dCBhbnkgb2YgdGhlbS4KICAgICAgICAgLy8g
VGhlIG1fY29ubmVjdGlvbkRlbGF5VGltZXIgZmlyZXMgaW4gYSBzdWJzZXF1ZW50IHNwaW4gb2Yg
dGhlIHJ1bmxvb3AgYWZ0ZXIgd2hpY2gKICAgICAgICAgLy8gYW55IGNvbm5lY3Rpb24gZXZlbnRz
IGFyZSBhY3R1YWwgbmV3IGRldmljZXMuCi0gICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogCiAgICAgICAgIExPRyhHYW1lcGFkLCAiRGV2aWNlICVwIHdhcyBhZGRlZCB3
aGlsZSBzdXBwcmVzc2luZyBjYWxsYmFja3MsIHNvIHRoaXMgc2hvdWxkIGJlIGFuICdhbHJlYWR5
IGNvbm5lY3RlZCcgZXZlbnQiLCBkZXZpY2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggM2RiYTU2MjNiYWRmYmJjZGM4ODIy
ZTM3YmZkMmRkZGU3NjQxZDU3Yy4uODRmZTU2NDNjNzAwYzI3OTdhYzU2MWJmYmU0ODNjMGY1ZTVh
NTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcElt
YWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGltZXIo
KQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6OnN0
YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihTZWNv
bmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1lVGlt
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmltYXRp
b25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgIH0KIAog
ICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZyYW1l
U3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1l
U3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlvblJlc3VsdDo6U3Rh
cnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFuY2VB
bmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0aW1l
IGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAgaWYg
KG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBtX2Rl
c2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNpcmVk
RnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAgICAgc3RhcnRUaW1l
cihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCBlMDIzY2I4ZjE4ZGVkOThiYzlk
ZDk0ZjJmYWFmNzhmYjhiNjNhNjc0Li44NDBlMmJkNzEyMjM2YTMzMzhiOTg5YWEwZDkxOTM5ZmEz
MWY1NjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcElt
YWdlLmgKQEAgLTE4NSw3ICsxODUsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdm9p
ZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxheSk7CisgICAg
dm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRtYXBJbWFnZSgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAoVGV4dFN0cmVh
bSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTljZjE1ZGM3ZmFlMDZj
NjFiNjBjLi5mNTYyOWQ4YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0MzdkNDk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMyOSw3
ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQcmVzc3VyZUluYWN0
aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHko
Y29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBj
b25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9vbCBj
aGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgICAgICBtX3B1
cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiBwbGF0
Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFt
aWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tpbmdB
bHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIwNi4u
NWUwN2M1Zjc3ZjMwYjE5NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEwLjA7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAwLjFfczsKIAog
TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihDbGll
bnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRkMTRh
M2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAxODg0NTZhNWI1NThh
Y2ZiYWU5NTg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6bmV0
d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkgPj0g
Rm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEpIHsK
ICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAgICAg
ICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVudE1J
TUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlhRW5n
aW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggMzI5Y2ExMDA5YmNhOGRhMWE4Y2UxMDExODIwMzUw
ZmZlOTk0YTNmOS4uZWJiZjMwN2FkYzU3NjljMmVhNjc2YzkxM2UwODA5ODQyMDE2MTUzZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAg
LTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29uc3Qg
ZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3QgU2Vj
b25kcyBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAgICAgbV9wdXJnZVRp
bWVyLnN0YXJ0T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmlu
ZGV4IDZlZThiYzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLjhkZWUwOWNlMDg2
YWRhZjViZTI3YzIwMDhhY2IyNWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBjaGFyYWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJy
ZWRPcHRpb24pKTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJy
ZWRPcHRpb24pOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZG
T2JqQyogb3B0aW9uKQpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoK
ICAgICBtX3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2Vs
ZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVj
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZi
YTY0YTc5ODYzNjNkMjgzZWQ0ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFmNGMzZTU3OTBiNjY3
ZGQ2ZmI2YjYyYjY4MDI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3
ICsyMjgsNyBAQCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBvdXRwdXRDb2RlY3Mg
PSBbZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJG
b3JJbnB1dE1JTUVDb2RlY1BhcmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcg
KnR5cGVTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIl
QFwiIiwgKE5TU3RyaW5nICopcGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2Rl
Y3NdOwotICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVk
TUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBs
YXllcjo6TWF5QmVTdXBwb3J0ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkg
aXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNT
dXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFy
ayAtCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlm
IChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0g
ICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIwNzIzNTAwMThhZGM0
YmNkYjg0NWYuLjBjYzRmYWM1OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBhZjk3YTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApA
QCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKCkKIHsKICAg
ICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3By
dW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3Qo
MV9zKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAK
aW5kZXggMzhhNGQyODU1MjZjNGYyYzJkZjc2NzgzNTFhZDMxMGE3Mzc4NjFmMy4uMjY1NzdjOTNi
ZTgwNDgzMzUzMzIxYzgxZWFkNGE2MTZmYWQxZDg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtNDksNyAr
NDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbGVT
aXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7CiAKIFN0cmluZyBU
aWxlQ29udHJvbGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcg
KzI2Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2lu
ZG93KQogICAgIGlmIChtX2lzSW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRp
bGVzKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9u
VGltZW91dCA9IDQ7CisgICAgICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVv
dXQgPSA0X3M7CiAgICAgICAgIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0
aW9uVGltZW91dCk7CiAgICAgfQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRy
b2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNv
bnN0IEZsb2F0CiAjZW5kaWYKIH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxl
UmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVS
ZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5l
eHRGaXJlSW50ZXJ2YWwoKSA8IGludGVydmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRl
eCA4Yzg0YzdjYzkyNzY2YzQ2Zjk3NTkxMTcxMWY4OTdiZGViYjE4ZGE4Li44Y2FlNDQ3NzgzZmJk
MGQ0N2RlNDVmYzg1Y2FkZTdkYjgzMTY2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICpt
X3RpbGVHcmlkOyB9CiAKLSAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUg
aW50ZXJ2YWwpOworICAgIHZvaWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50
ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2lu
ZG93OyB9CiAgICAgZmxvYXQgdG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BD
b250ZW50SW5zZXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFh
ZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjli
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVD
b3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5U
aWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkK
IHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRl
eCAyOGYyOWNiZGU4ZTIxZjcxODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi5mNWFjMGI0MGMzNTJh
NzE3OTcxMmMzZjY3MTZlNTgwYWM5ZGM5OWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBU
aWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Q
b2xpY3kpCiAgICAgVGlsZUNvaG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAg
ICB1bnNpZ25lZCB0aWxlc0luQ29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxp
ZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7
CisgICAgU2Vjb25kcyBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6
OmluZmluaXR5KCk7CiAgICAgYm9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAg
ICAKICAgICBhdXRvIHRpbGVTaXplID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEs
OCArMzgxLDggQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9u
UG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hv
cnQgOiBtX2NvaG9ydExpc3QpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hv
cnQgIT0gdGlsZUluZm8uY29ob3J0KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29o
b3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVV
bnRpbENvaG9ydEV4cGlyZXMgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIFNlY29uZHMgdGlt
ZVVudGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAg
ICAgICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMF9zKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0
ZDo6bWluKG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uLCB0aW1lVW50aWxDb2hvcnRF
eHBpcmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9
IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDc4LDcgKzQ3OCw3IEBAIFRp
bGVHcmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZv
aWQgVGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hvcnQpCiB7Ci0gICAg
bV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpKSk7CisgICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5m
byhjb2hvcnQsIE1vbm90b25pY1RpbWU6Om5vdygpKSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAg
IGlmICghbV9jb250cm9sbGVyLmlzSW5XaW5kb3coKSkKICAgICAgICAgdGlsZUNvbnRyb2xsZXJN
ZW1vcnlIYW5kbGVyKCkudGlsZUNvbnRyb2xsZXJHYWluZWRVbnBhcmVudGVkVGlsZXMoJm1fY29u
dHJvbGxlcik7CkBAIC00OTcsMTcgKzQ5NywxNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxl
R3JpZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxl
Q29ob3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNl
Y29uZHMgPSAxOworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyA9
IDFfczsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciwgb3IgcmVzY2hlZHVsZSB0aGUgdGltZXIg
ZnJvbSBub3cgaWYgaXQncyBhbHJlYWR5IGFjdGl2ZS4KICAgICBpZiAoIW1fY29ob3J0UmVtb3Zh
bFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMpOwogfQogCi1kb3VibGUgVGlsZUdyaWQ6
OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKK1NlY29uZHMgVGlsZUdyaWQ6
OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxFeHBpcmF0aW9uKCkKIHsKLSAgICBkb3VibGUgY29o
b3J0TGlmZVRpbWVTZWNvbmRzID0gMjsKLSAgICBkb3VibGUgdGltZVRocmVzaG9sZCA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gY29ob3J0TGlmZVRpbWVTZWNvbmRzOworICAgIGNv
bnN0IFNlY29uZHMgY29ob3J0TGlmZVRpbWUgPSBTZWNvbmRzKDIpOworICAgIE1vbm90b25pY1Rp
bWUgdGltZVRocmVzaG9sZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gY29ob3J0TGlmZVRpbWU7
CiAgICAgcmV0dXJuIGNyZWF0aW9uVGltZSAtIHRpbWVUaHJlc2hvbGQ7CiB9CiAKQEAgLTUxOCw3
ICs1MTgsNyBAQCB2b2lkIFRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCgpCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICB3aGlsZSAoIW1fY29ob3J0TGlzdC5pc0VtcHR5KCkg
JiYgbV9jb2hvcnRMaXN0LmZpcnN0KCkudGltZVVudGlsRXhwaXJhdGlvbigpIDwgMCkgeworICAg
IHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50
aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwX3MpIHsKICAgICAgICAgVGlsZUNvaG9ydEluZm8gZmly
c3RDb2hvcnQgPSBtX2NvaG9ydExpc3QudGFrZUZpcnN0KCk7CiAgICAgICAgIHJlbW92ZVRpbGVz
SW5Db2hvcnQoZmlyc3RDb2hvcnQuY29ob3J0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaAppbmRleCAzMjUzMzZmODE5MWU0NTgyM2M3
NTVkODc4MmM0MmFhMGRlNTc2NTFkLi40MjY5Mzc3NGJhNGYxYzVhYjRjZDM0ZTI4YTMyN2ZlZTk4
YWUwYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVH
cmlkLmgKQEAgLTEyMSwxMyArMTIxLDEzIEBAIHByaXZhdGU6CiAKICAgICBzdHJ1Y3QgVGlsZUNv
aG9ydEluZm8gewogICAgICAgICBUaWxlQ29ob3J0IGNvaG9ydDsKLSAgICAgICAgZG91YmxlIGNy
ZWF0aW9uVGltZTsgLy8gaW4gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkuCi0gICAgICAg
IFRpbGVDb2hvcnRJbmZvKFRpbGVDb2hvcnQgaW5Db2hvcnQsIGRvdWJsZSBpblRpbWUpCisgICAg
ICAgIE1vbm90b25pY1RpbWUgY3JlYXRpb25UaW1lOworICAgICAgICBUaWxlQ29ob3J0SW5mbyhU
aWxlQ29ob3J0IGluQ29ob3J0LCBNb25vdG9uaWNUaW1lIGluVGltZSkKICAgICAgICAgICAgIDog
Y29ob3J0KGluQ29ob3J0KQogICAgICAgICAgICAgLCBjcmVhdGlvblRpbWUoaW5UaW1lKQogICAg
ICAgICB7IH0KIAotICAgICAgICBkb3VibGUgdGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAg
ICBTZWNvbmRzIHRpbWVVbnRpbEV4cGlyYXRpb24oKTsKICAgICB9OwogCiAgICAgdm9pZCByZW1v
dmVBbGxUaWxlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmNwcAppbmRleCBiODFkNThlNjNkMThiMjZhZjRkYjE0ZmE1YzNh
OGEwZmUwYmZmMTQ4Li5mOTRmNGExNDcwNDc3MmU4ODIxZGFiZjYxM2UzODc0MDNlOTMyYWNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQ
b29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZh
Y2VQb29sLmNwcApAQCAtMzMsOCArMzMsOCBAQAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRl
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSA1MDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRz
IHN1cmZhY2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxlID0gMnM7Citjb25zdCBTZWNvbmRzIGNv
bGxlY3Rpb25JbnRlcnZhbCA9IDAuNV9zOworY29uc3QgU2Vjb25kcyBzdXJmYWNlQWdlQmVmb3Jl
TWFya2luZ1B1cmdlYWJsZSA9IDJfczsKIGNvbnN0IHNpemVfdCBkZWZhdWx0TWF4aW11bUJ5dGVz
Q2FjaGVkID0gMTAyNCAqIDEwMjQgKiA2NDsKIAogLy8gV2UnbGwgbmV2ZXIgYWxsb3cgbW9yZSB0
aGFuIDEvMiBvZiB0aGUgY2FjaGUgdG8gYmUgZmlsbGVkIHdpdGggaW4tdXNlIHN1cmZhY2VzLCBi
ZWNhdXNlCkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBJT1N1cmZhY2VQb29sOjpjb2xsZWN0SW5V
c2VTdXJmYWNlcygpCiBib29sIElPU3VyZmFjZVBvb2w6Om1hcmtPbGRlclN1cmZhY2VzUHVyZ2Vh
YmxlKCkKIHsKICAgICBib29sIG1hcmtlZEFsbFN1cmZhY2VzID0gdHJ1ZTsKLSAgICBhdXRvIG1h
cmtUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBtYXJr
VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgZm9yIChhdXRvJiBzdXJmYWNlQW5k
RGV0YWlscyA6IG1fc3VyZmFjZURldGFpbHMpIHsKICAgICAgICAgaWYgKHN1cmZhY2VBbmREZXRh
aWxzLnZhbHVlLmhhc01hcmtlZFB1cmdlYWJsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaAppbmRleCAzNDlhM2JjM2QyN2M1NDY5
NmQ3YjViNTYzOTVmM2YzZTJmMjdmM2M0Li45ODIxYTRmZjA5NzEwMGY1NWUxYmYzYzQ4MjAwNmVi
Yzk0ZmUxMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JT1N1cmZhY2VQb29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSU9TdXJmYWNlUG9vbC5oCkBAIC02Myw5ICs2Myw5IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICA6IGhhc01hcmtlZFB1cmdlYWJsZShmYWxzZSkKICAgICAgICAgeyB9CiAKLSAgICAgICAgdm9p
ZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0VXNlVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6Om5vdygpOyB9CisgICAgICAgIHZvaWQgcmVzZXRMYXN0VXNlVGltZSgpIHsgbGFzdFVz
ZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsgfQogCi0gICAgICAgIHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbGFzdFVzZVRpbWU7CisgICAgICAgIE1vbm90b25pY1Rp
bWUgbGFzdFVzZVRpbWU7CiAgICAgICAgIGJvb2wgaGFzTWFya2VkUHVyZ2VhYmxlOwogICAgIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1Ymlt
YWdlQ2FjaGVXaXRoVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKaW5kZXggNGZhZjc3ZTI1NGUyYWFjNDA4YjRl
ODM2M2Y0OGUzZWQyMzBmZmQ3Ni4uYWJmY2VhYTQ2ZjI2ZDQwOTAxMjdiNzBjYzU4NzQwNTc3OGJk
MDUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3Vi
aW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0byBzdWJpbWFnZUNhY2hlQ2xl
YXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMSB9Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgPSAxX3M7CiBzdGF0aWMgY29uc3QgaW50IG1heFN1
YmltYWdlQ2FjaGVTaXplID0gMzAwOwogCiBzdHJ1Y3QgU3ViaW1hZ2VSZXF1ZXN0IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZmVhZGRk
ZGE4ZGM0NjQ5NTZkNTQwNTJlMDVhZGE3NzA2ZDQ4M2Y5MS4uOTkzYmU1OTg2NmY3Njk2YTZhOTUx
ZjczZjdkZDkyNGQ3MGYxYTdkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAKQEAgLTM2Nyw3ICszNjcsNyBAQCBib29sIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZShHc3RTdGF0ZSBuZXdTdGF0ZSkKICAg
ICBpZiAobmV3U3RhdGUgPT0gR1NUX1NUQVRFX1JFQURZICYmICFtX3JlYWR5VGltZXJIYW5kbGVy
LmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gTWF4IGludGVydmFsIGluIHNlY29uZHMgdG8gc3Rh
eSBpbiB0aGUgUkVBRFkgc3RhdGUgb24gbWFudWFsCiAgICAgICAgIC8vIHN0YXRlIGNoYW5nZSBy
ZXF1ZXN0cy4KLSAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSByZWFkeVN0YXRlVGltZXJEZWxh
eSA9IDYwOworICAgICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyByZWFkeVN0YXRlVGltZXJEZWxh
eSA9IDYwX3M7CiAgICAgICAgIG1fcmVhZHlUaW1lckhhbmRsZXIuc3RhcnRPbmVTaG90KHJlYWR5
U3RhdGVUaW1lckRlbGF5KTsKICAgICB9IGVsc2UgaWYgKG5ld1N0YXRlICE9IEdTVF9TVEFURV9S
RUFEWSkKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdG9wKCk7CkBAIC0xODU4LDcgKzE4
NTgsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZm
ZXJpbmcoKQogICAgIGlmIChzaG91bGREb3dubG9hZCkgewogICAgICAgICBHU1RfREVCVUcoIkVu
YWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVs
aW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyB8IGZsYWdEb3dubG9hZCwgbnVsbHB0cik7Ci0gICAg
ICAgIG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMik7CisgICAgICAgIG1fZmlsbFRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDAuMl9zKTsKICAgICB9IGVsc2UgewogICAgICAgICBHU1RfREVCVUco
IkRpc2FibGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAgICBnX29iamVjdF9zZXQobV9w
aXBlbGluZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgJiB+ZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cAppbmRleCA5NjkzNjlhMzVlNzk3MTU5OGVjZjE4ZWY5ZjI0ODA5MWZiNWNkNTY4Li5iZWNlZjIx
M2ZlZjQ3MTlmM2VmMDkzY2EyYzg5OWUxNDY5MzgxNzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC02NTMsNyArNjUzLDcg
QEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChH
c3RTYW1wbGUqIHNhbXBsZSkKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQp
CiAgICAgaWYgKCFtX3BsYXllci0+Y2xpZW50KCkubWVkaWFQbGF5ZXJBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRW5hYmxlZCgpKSB7CiAgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fZHJhd011dGV4
KTsKLSAgICAgICAgbV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2RyYXdU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQobV9k
cmF3TXV0ZXgpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjc1LDcgKzY3NSw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2Ft
cGxlKiBzYW1wbGUpCiAgICAgICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwogCiAgICAgICAg
IExvY2tIb2xkZXIgbG9ja2VyKG1fZHJhd011dGV4KTsKLSAgICAgICAgbV9kcmF3VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQobV9kcmF3TXV0ZXgpOwogICAgIH0KICNlbHNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlk
ZW9TaW5rR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCmluZGV4IGQxODFlY2YwMTc4Y2UyYTU3ZGYy
MWIxNTIxYzA0MWY2YjcyNzk5MjguLmNjYzY5NDE5OWQxNWFkODUxNzA5ZWE3ZThmYjUyZjQzNGM2
NDA1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCkBAIC0xMTksNyArMTE5
LDcgQEAgcHVibGljOgogICAgICAgICBtX3NhbXBsZSA9IG51bGxwdHI7CiAjZWxzZQogICAgICAg
ICBtX3NpbmsgPSBzaW5rOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV9kYXRhQ29uZGl0aW9uLndh
aXQobV9zYW1wbGVNdXRleCk7CiAjZW5kaWYKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2
YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQ
bGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXggOTY4YTJkODhiNjUxYmNiYjIzMDYyMjcxMzNkZjU2
MGMxZWYyZmI0Zi4uMTk4MjM1MTkyZmEyYjgxM2VkYzRmNWY3ZThjZmY3YjJkNjFmYzQ4ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWsoY29uc3QgTWVkaWFUaW1lJiBpblRpbWUpCiAgICAg
aWYgKG1heE1lZGlhVGltZVNlZWthYmxlKCkgPj0gbV9zZWVrVG8pCiAgICAgICAgIGRvU2Vlaygp
OwogICAgIGVsc2UgCi0gICAgICAgIG1fc2Vla1RpbWVyLnN0YXJ0KDAsIDAuNWYpOworICAgICAg
ICBtX3NlZWtUaW1lci5zdGFydCgwX3MsIDAuNV9zKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVRVEtpdDo6ZG9TZWVrKCkgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcAppbmRleCAxYjQ2
ZjM3NTI0OTg5MDdlMDBiYzI4MmQyZDlkNmYxYWY3M2I0NTllLi45MWMwMzI0MDg2N2I0NmVjOWI5
NzVkZDM0ODliZjdlYzFhYWQzMGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKQEAgLTM0
LDcgKzM0LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBz
X3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMzsKLXN0YXRpYyBjb25zdCBkb3VibGUg
c19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsID0gMC41Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgc19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1lckludGVydmFsID0gMC41X3M7CiAK
ICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiBCaXRtYXBUZXh0dXJlUG9vbDo6Qml0bWFwVGV4
dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiYmIGNvbnRleHQzRCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
UGxhdGZvcm1MYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAppbmRleCA1ZTNjODJm
MWYzM2FkNTI5MjUwNjY4OTZjOWMyMTRhMzNiZjhiMzA1Li45YzJiMTFiM2Y4YTFhNmM3YmVkYWY4
ZjVjNTFlNjA1MzgzY2MyMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0
Zm9ybUxheWVyUHJveHkuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1h
cHBlclBsYXRmb3JtTGF5ZXJCdWZmZXIuaCIKIAogY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNl
ZFNlY29uZHNUb2xlcmFuY2UgPSAxOwotY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZEJ1ZmZl
cnNUaW1lckludGVydmFsID0gMC41OworY29uc3QgU2Vjb25kcyBzX3JlbGVhc2VVbnVzZWRCdWZm
ZXJzVGltZXJJbnRlcnZhbCA9IDAuNV9zOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE2
Myw3ICsxNjMsNyBAQCBib29sIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNjaGVk
dWxlVXBkYXRlT25Db21wb3NpdG9yVGhyZWFkKHN0ZDo6ZnVuYwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKICAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVGdW5jdGlvbiA9IFdURk1vdmUodXBk
YXRlRnVuY3Rpb24pOwotICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZVRpbWVyLT5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IDA1NWVmOTk1NDllNjk0
MjYyNDEwM2Q4ODhjYmM3NTRkNmZiNmQzZWMuLjBkYzY5MjVhNTE5MTkxODEzMjJkOGI2YzVjNzAw
MzE1ODQxYzk4ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMjAwLDcgKzEyMDAsNyBAQCBib29sIENvb3JkaW5h
dGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2
YWx1ZUxpc3QsCiAKICAgICBtX2xhc3RBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKSAtIGRlbGF5QXNOZWdhdGl2ZVRpbWVPZmZzZXQ7CiAgICAgbV9hbmlt
YXRpb25zLmFkZChUZXh0dXJlTWFwcGVyQW5pbWF0aW9uKGtleWZyYW1lc05hbWUsIHZhbHVlTGlz
dCwgYm94U2l6ZSwgKmFuaW0sIGxpc3RzTWF0Y2gsIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSwg
MCwgVGV4dHVyZU1hcHBlckFuaW1hdGlvbjo6QW5pbWF0aW9uU3RhdGU6OlBsYXlpbmcpKTsKLSAg
ICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hbmltYXRp
b25TdGFydGVkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgZGlkQ2hhbmdlQW5pbWF0aW9u
cygpOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKaW5kZXggM2Y1NjczZThmZDUzNjVmMDhjZmQ2
OWVmYzNmYWFlYzQzMjMzNmE2MS4uNmI4NGI2MzQ5YTAwZmQ2Y2E1YTE5NjBmZmM4MzBiNzg3MmI0
ZThkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFn
ZUJhY2tpbmcuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBDb29yZGluYXRlZEltYWdlQmFj
a2luZzo6cmVsZWFzZVN1cmZhY2VJZk5lZWRlZCgpCiAgICAgbV9zdXJmYWNlID0gbnVsbHB0cjsK
IH0KIAotc3RhdGljIGNvbnN0IGRvdWJsZSBjbGVhckNvbnRlbnRzVGltZXJJbnRlcnZhbCA9IDM7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjbGVhckNvbnRlbnRzVGltZXJJbnRlcnZhbCA9IFNlY29u
ZHMoMyk7CiAKIHZvaWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6OnVwZGF0ZVZpc2liaWxpdHlJ
Zk5lZWRlZChib29sJiBjaGFuZ2VkVG9WaXNpYmxlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKaW5kZXggMTNlNjM1NGIwOTI2MTM0
ZDg3ZjlmYzA5ZGZjZjEyMmFjMTk3Y2Q1ZS4uYjI0Y2ZhNmExZjU4NzY0NzFhNjUwZjA2ZGU2Y2Ix
OTZkNDg1Nzg5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bEFuaW1hdG9yR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xs
QW5pbWF0b3JHdGsuY3BwCkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0
azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyRmlyZWQoKQogICAgICAgICBzdGF0aWMg
Y29uc3QgZG91YmxlIHRpY2tUaW1lID0gMSAvIGZyYW1lUmF0ZTsKICAgICAgICAgc3RhdGljIGNv
bnN0IGRvdWJsZSBtaW5pbXVtVGltZXJJbnRlcnZhbCA9IC4wMDE7CiAgICAgICAgIGRvdWJsZSBk
ZWx0YVRvTmV4dEZyYW1lID0gc3RkOjptYXgodGlja1RpbWUgLSAobW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCkgLSBjdXJyZW50VGltZSksIG1pbmltdW1UaW1lckludGVydmFsKTsKLSAgICAg
ICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbHRhVG9O
ZXh0RnJhbWUpOworICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcyhkZWx0YVRvTmV4dEZyYW1lKSk7CiAgICAgfSBlbHNlCiAgICAgICAg
IGhpZGVPdmVybGF5U2Nyb2xsYmFycygpOwogfQpAQCAtMjEzLDcgKzIxMyw3IEBAIHZvaWQgU2Ny
b2xsQW5pbWF0b3JHdGs6OnNob3dPdmVybGF5U2Nyb2xsYmFycygpCiAgICAgaWYgKG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblRhcmdldCAhPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25D
dXJyZW50KSB7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAgICBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1l
ICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb247Ci0gICAgICAgIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNl
CiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFycygpOwogfQpAQCAtMjMzLDcgKzIzMyw3IEBA
IHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycygpCiAgICAgICAg
IHJldHVybjsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhp
ZGVEZWxheTsKICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0
aW9uRHVyYXRpb24gKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7Ci0gICAg
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG92ZXJmbG93U2Ny
b2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSk7CisgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9u
SGlkZURlbGF5KSk7CiB9CiAKIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Om1vdXNlRW50ZXJlZENv
bnRlbnRBcmVhKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdh
Y3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNh
Y2hlLm1tCmluZGV4IDY2YTI2ZTFlNjhlM2M0ZDU3N2FiM2ViNTY4NTE4ZmFjNThmNTk2OWUuLjlh
YzA1ZmM1NTE0ZTE2NDYwY2JhYzdhNDQ3YmJhNzhkMjFhNzI5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQpAQCAtNDIwLDcgKzQyMCw3IEBA
IHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5nVGlsZXMoYm9vbCBkaWRDcmVh
dGVUaWxlcywgYm9vbCBjcmVhdGVNb3JlCiAKICAgICAvLyBLZWVwIGNyZWF0aW5nIHRpbGVzIHVu
dGlsIHRoZSB3aG9sZSBjb3ZlclJlY3QgaXMgY292ZXJlZC4KICAgICBpZiAoY3JlYXRlTW9yZSkK
LSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
dGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTGVnYWN5VGls
ZUNhY2hlOjp0aWxlQ3JlYXRpb25UaW1lckZpcmVkKCkKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lk
IExlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKGJvb2wg
ZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwogICAgIG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlv
bkVuYWJsZWQgPSBlbmFibGVkOwogICAgIGlmIChtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25F
bmFibGVkKQotICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogYm9vbCBM
ZWdhY3lUaWxlQ2FjaGU6Omhhc1BlbmRpbmdEcmF3KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmgKaW5kZXggNzU2ZDQwNjA3ZjU2M2E2
Y2U1OThlMjliYjI3YjQwZTk1NWViYTYxZi4uYWNjZDI5YzEwNjAzNjdlMGZjMGZmZjY4ZDUzZDQz
NDdhMDc0YjFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9s
bGJhclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJh
clRoZW1lSU9TLmgKQEAgLTQxLDggKzQxLDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgc3Vw
cG9ydHNDb250cm9sVGludHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKLSAg
ICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7Ci0gICAgZG91
YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBpbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgb3ZlcnJpZGU7CiAKICAgICBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IGJ1
dHRvbnNQbGFjZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCmluZGV4IDZlNTIwYmVmNTQ4ZjU0MDIw
M2E5YTZhM2M3NzdkODE2ZGFhNTA5OTAuLmZlMjkwNzc1YmRlMzg5M2NhNjkxNjBmMzIzMjdiM2M1
ZmYyMDczZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxi
YXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFy
VGhlbWVJT1MubW0KQEAgLTY2LDE0ICs2NiwxNCBAQCBpbnQgU2Nyb2xsYmFyVGhlbWVJT1M6OnNj
cm9sbGJhclRoaWNrbmVzcyhTY3JvbGxiYXJDb250cm9sU2l6ZSkKICAgICByZXR1cm4gMDsKIH0K
IAotZG91YmxlIFNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXko
KQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogCi1kb3VibGUgU2Nyb2xs
YmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhl
bWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1
cm4gMF9zOwogfQogICAgIAogU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBTY3JvbGxiYXJUaGVt
ZUlPUzo6YnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
bW0KaW5kZXggY2M2MmUzYTg4NGFlZjI5NTE5N2UyYmI3NmJiMGZhN2VjMzA3MGJhMS4uNDZjYzAx
MGVhNjM4NDkyMjJkYzA5YTEzYjkxY2JjYTVmMWZkNDNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQpAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmlu
Zyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRXYXRj
aGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFdhdGNo
ZG9nVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMSk7CiAKIEBjbGFzcyBXZWJBVk1lZGlhU2VsZWN0
aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKFdlYlZpZGVvRnUK
ICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVlbk1vZGUoSFRNTE1l
ZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAgICBpZiAoIW1f
d2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRP
bmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dhdGNoZG9n
VGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwogCiAgICAg
cmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGlu
dXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCmluZGV4IDQyMWM2MTYwZjg4
OTEyNDY0NzczZDRlYTNmY2FlZDQ5NjNkNWE3ZmQuLmU4ZGVjNWU0NWZjM2Y5ZGMyZWNhMjVlMjEy
ZDgyMzEyNWIzZTBhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4
L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKQEAgLTI2OSw3ICsyNjks
NyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZlRpbWVyRmlyZWQoKQogCiB2
b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZih1bnNpZ25lZCBzZWNvbmRzKQogewot
ICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzKTsKKyAgICBtX2hvbGRPZmZU
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzZWNvbmRzKSk7CiB9CiAKIHN0YXRpYyBzaXplX3Qg
cHJvY2Vzc01lbW9yeVVzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBhYzdmNGZkNGE5ODRkYzMxZGRkNGZjODBiMTY5MzQx
NTE5MDI1MDk1Li5mNzNkNzk2ODhlMmI4MDI1NDZmMjQzNTlmY2NiY2E1ODJkMjZjZmUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCkBA
IC0xMzM4LDcgKzEzMzgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxl
clN0eWxlKCkKIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRp
bWVyKCkKIHsKLSAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hvdCgw
LjEpOworICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAuMV9z
KTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRUaW1lcklzQWN0
aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6
OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIGRlbHRhKQogICAg
IG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsKIAogICAgIGlm
ICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIGlm
IChtX3doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAgICAgbV93aGVlbEV2ZW50VGVzdFRyaWdn
ZXItPmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0VHJp
Z2dlcjo6Q29udGVudFNjcm9sbEluUHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhNzI4Mjk4YzhlYmI1YzU1NTQ3ZDZk
M2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFhOTExYmI5MmIwOGYwMWI3ZDk5MjY2ZDAxM2E0NzZjN2Rk
NWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhl
bWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVN
YWMuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2VzT3ZlcmxheVNjcm9s
bGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxiYXJPdmVybGF5
U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkg
b3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwog
CiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3Qg
b3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJU
aGVtZU1hYy5tbQppbmRleCBiMmUxNjE4YzAzMmZiN2M2NWYxZmUxOTE3ZjIwNGUyOTY3NGMzODlm
Li40MzU0OWNiNTYxOTgzZDUzMDc0MzljMzYyOTM2MDQzYjE2MGI1YWRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC0xMzAsOCAr
MTMwLDggQEAgc3RhdGljIGNvbnN0IGludCBjQnV0dG9uTGVuZ3RoW10gPSB7IDE0LCAxMCB9Owog
c3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25MZW5ndGhbXSA9IHsgMTYsIDE0IH07IC8vIFRo
ZSBvdXRlciBidXR0b24gaW4gYSBkb3VibGUgYnV0dG9uIHBhaXIgaXMgYSBiaXQgYmlnZ2VyLgog
c3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25PdmVybGFwID0gMjsKIAotc3RhdGljIGZsb2F0
IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAwLjVmOwotc3RhdGljIGZsb2F0IGdBdXRvc2Nyb2xsQnV0
dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRpYyBTZWNvbmRzIGdJbml0aWFsQnV0dG9uRGVsYXkgPSAw
LjVfczsKK3N0YXRpYyBTZWNvbmRzIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1X3M7CiBz
dGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1VzZXNP
dmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBTY3Jv
bGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZhdWx0
cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwogICAg
IFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtkZWZh
dWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRvc2Ny
b2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9u
UGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRzIGZs
b2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xsQnV0
dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0
b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZvcktl
eTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Nyb2xs
YmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFyVGhl
bWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikK
ICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhl
bWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJhclRo
ZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBnSW5p
dGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1l
ckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9j
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1v
Y2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMwNTU2MWM3YzFkNjA2N2FkZWM1MTU5ZjIzNTQuLmJm
MjczYmVmOTRhODRhYzcwZDBiNDRlMWEwMjY5NmYxNDAwMjM5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcApA
QCAtNTksNyArNTksNyBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnNldE1vdGlvbihQ
YXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1vdGlvbikKIHsKICAgICBtX21vdGlvbiA9IG1v
dGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNlMWZhNDMwZWUxZTI2
NzJkOGQ2MTAxYzIuLjIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIxYzIxMGJiODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9y
aWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3JpZW50
YXRpb25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiAgICAgaWYgKG1f
aXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCmlu
ZGV4IGI3Y2ZiOWJlMDZkY2JmZmM3YzE2YjNjZmU3NDY1MDEzMGZhNzAwZTUuLjc1NGE4MjVjYWU1
NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTEwNiw3ICsx
MDYsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVQZXJtaXNzaW9u
KCkKIHsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVybWlzc2lvblN0YXRlVW5z
ZXQpOwogICAgIGlmICghbV9wZXJtaXNzaW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9w
ZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Blcm1pc3Npb25UaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OnBl
cm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEdlb2xvY2F0aW9u
Q2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBBU1NFUlQobV9jb250
cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVyVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2Nh
dGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
TW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1Yi4u
YTc2YmMyNmZhNjA0ZDAzMzgxYTUzNTNmYWJlZmRhODVmZTk4YjA0MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lckludGVy
dmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwgPSAw
LjFfczsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50KQog
ICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDYwYmIwMTgx
YWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJlMGRlNTkuLmM4MzEwZGYxNTQxZTVhMTU3MTYwMmYz
MDUzODA1NWQxNGYyNjFhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBNb2NrTWVk
aWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAgLy8gUmV2ZXJzZSBv
cmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgogICAg
IG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VDYW5kaWRhdGVUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJl
ZCgpCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlk
YXRlVGltZXJGaXJlZCgpCiAKICAgICBpZiAoIW1fZmFrZUljZUNhbmRpZGF0ZXMuaXNFbXB0eSgp
KSB7CiAgICAgICAgIG1fY2xpZW50LmdvdEljZUNhbmRpZGF0ZShtX21pZHNbMF0sIG1fZmFrZUlj
ZUNhbmRpZGF0ZXMudGFrZUxhc3QoKSk7Ci0gICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgIH0gZWxzZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVyaW5nQ2FuZGlkYXRl
cyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9p
bnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNl
IHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2ljZVRyYW5z
cG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVkKCkK
QEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRU
aW1lckZpcmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFuc3BvcnRTdGF0ZUNo
YW5nZXMudGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZWQo
c3RhdGVDaGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAgICBtX2ljZVRyYW5z
cG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1vdGVT
b3VyY2VzQnlNaWQoKQpAQCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6
OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCiAgICAgZm9yIChpbnQgaSA9IG1fbWlkcy5zaXpl
KCkgLSAxOyBpID49IDA7IC0taSkKICAgICAgICAgbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUuYXBw
ZW5kKG1fbWlkc1tpXSk7CiAKLSAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVu
ZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1vY2tN
ZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRNdXRl
ZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHkoKSkK
LSAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5tdXRl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZS5jcHAKaW5kZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0ZTM2MTcxNDQxYjRjZGM2
ZS4uNjRhMzVhNmQyN2JjZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBmMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJj
ZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3Rh
cnRQcm9kdWNpbmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpOworICAgIG1fdGlt
ZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygobHJvdW5kKDEwMDAg
LyBmcmFtZVJhdGUoKSkpKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0
b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIE1vY2tSZWFsdGltZVZp
ZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNv
dXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFtZVJhdGUoZG91Ymxl
IHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5z
dGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0
ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlz
ZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0ZVNhbXBsZUJ1ZmZlcigp
OwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBmM2Jj
NzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi5kOGE3YzA4OTdmOTg1ZGZjOGM1
ZjdlYTQxZDgwYzg2NTkzZjEwZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApAQCAt
NjgsNyArNjgsNyBAQCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVhayhS
ZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5ib3Vu
ZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5LCBt
X3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ugc3Bl
ZWNoIGpvYiBzb21lIHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhhdmUg
dGltZSB0byBiZSBjYWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVT
aG90KC4xKTsKKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoMC4xX3Mp
OwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpjYW5jZWwoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2Nr
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApp
bmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2FjLi44NjNmOWQ2NWI3
NjkwMTZkMGQ5N2NkMjY4OWIyZDRmZjU3NjYyYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMsNyArNjMsNyBAQCBw
dWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6OnRpbWVyRmlyZWQp
CiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNV9zKTsK
ICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCA1ODc3M2FhMzMy
OTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi5lMWM0MTBlZDE1MjU4YWNhZjNmMGMzOTE5
ZDg1YTA4MmEwOTI3ZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRpYXRlbHkgPSA0Owog
CiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25nIGJlZm9yZSBzZW5k
aW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VEZWxheUluU2Vjb25k
cyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkgPSAxX3M7CiAKIC8v
IFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNvbWUgZ2F0
ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1ZXMgd2l0
aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1Jl
cXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4U2ltdWx0
YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNUb1F1ZXVl
ID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRuJ3QgYmUg
c2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBhZnRlciB0
aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNlY29uZHMg
PSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXRyeVJlc29sdmluZ0RlbGF5ID0gMC4xX3M7
CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0b24oKQogewpAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29uc3QgU3RyaW5nJiBo
b3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVzdHNUb1F1ZXVlKSB7
CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYgKCFtX3RpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnQ29hbGVzY2VEZWxh
eUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjb2FsZXNjZURl
bGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIEROU1Jlc29sdmVRdWV1
ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlzRW1wdHkoKSkKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmV0cnlSZXNvbHZpbmdEZWxheSk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXggYWJmYjQ2Y2VjZjgyMTQzYjlmZmFjZDAxYmU1
Nzg2YTUzYTAwOGVjMC4uNDVjYTFjNWMzNjJiNTQ1ZTg3ZWRjOGNkYjM1ZjIyMDI4YmMyNmRiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rl
ci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmVmKCk7CiAKICAgICAg
ICAgYXV0byBzY2hlZHVsZWRQYWlycyA9IG1fZGVjb2RlVGFzay0+c2NoZWR1bGVDb250ZXh0LnNj
aGVkdWxlZFBhaXJzOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV90aW1lci5zY2hlZHVsZShzY2hl
ZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UGluZ0hhbmRsZS5oCmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2YwYjhkMDExZjJiYjljYjFi
ZDEuLjFhMGQ1Y2U2MjNhZGY4YTM0MDUzZDZmYWU4ZDBmNzYzOTAyYmQxN2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3IEBA
IHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlz
IG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkg
Z2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qo
MTAwMF9taW4pOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggNjQ3ZjYwNDE5YmZjZDBmZWU2
Mzc1ZDlkMTg4MDc2NTkyYTFmOTIwYy4uMDBjMGQwMjljYzZmYzJjMWNjYTc5N2M5OTI4MTRkMDcw
NDc3ZTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+
IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0
CiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkK
IHsKICAgICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2ZhaWx1
cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKCkK
QEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2FkaW5n
KGJvb2wgZGVmZXJzKQogICAgICAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RvcCgpOwogICAg
IH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpIHsKICAg
ICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgZC0+
bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBkLT5tX2ZhaWx1cmVUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBwbGF0Zm9ybVNldERlZmVyc0xvYWRp
bmcoZGVmZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
bWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAppbmRleCA1NWFkZTIxOGMx
Mzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi5kNGQ5OGRhMzFmNjU3NjEzYjVlZDhkNmRi
MjJmZjliNzViMDFlNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCkBAIC0zMSw3
ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBT
dGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzdGF0
ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6
OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVOb3Rp
Zmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlSZWYs
IHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQgYmUgZXhwZW5zaXZl
IHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAgIC8vIHdoZW4gdGhp
bmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdl
VGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CisgICAgbm90aWZp
ZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlQ2hhbmdlVGlt
ZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6Om5ldHdvcmtTdGF0
ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA4ODdhOWVkNzk1
ZDFjYjRlNThjY2RkZTU2ZTM4OGQ5OWNkYzBiZjNlLi5lY2YxODRjZTQwYmRmOWVjNGQzMWJmNzMy
MDYzMzc3MTIyZGU5YjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNzUwLDcgKzc1MCw3
IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCgpCiAjZW5kaWYKIAog
ICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAgICAg
IGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoZC0+bV9maXJzdFJlcXVlc3QudGltZW91
dEludGVydmFsKCkpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KFNl
Y29uZHMoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpKTsKIAogICAgIC8vIEJh
bGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdoaWNo
IHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJlZigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBmYzg3
YjcwMzI5MjM4NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi45ZWE0MTdkZDAzMGExY2Y0OWFl
ZjU1ZGM2NGJlYWFhNGFkYzRhZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEwMSw3
IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2luc3Rh
bGxlZCA9IHRydWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxDaGVj
a01lbW9yeVRpbWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVhdGlu
Zyg2MC4wKTsKKyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKDFfbWluKTsKIH0K
IAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggYTFm
ZThmY2MxYzg4ZjI2ZTE2YTYzZjEyYjY0MzJkNWEwZTgxY2VkNi4uNWY1ZDA3NjU3OWMyMTA0MDdj
MGJjZmM2YjU4NjI3MzkwZDcyOTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0aW9uQ3V0b2Zm
ID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRocmVz
aG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvd1F1YWxpdHlU
aW1lVGhyZXNob2xkID0gMC41X3M7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OkltYWdlUXVh
bGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6IG1fcmVu
ZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVhbGl0eUNv
bnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2b2lkIEltYWdlUXVh
bGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFydE9uZVNo
b3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChs
b3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8SW50ZXJwb2xhdGlv
blF1YWxpdHk+IEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmludGVycG9sYXRpb25RdWFsaXR5RnJv
bVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNjNhNWE2OTBhYzEwYWIx
ZjVjOWI0ZGVjNDdlY2VhYzVhMDA1ZjYzZS4uNzA0MzMyOTcyNjJkNzc0NDJmN2JhMWZlODc1Nzgw
YzhmZDlkYjU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDExICs5MiwxMSBAQCBzdGF0aWMgY29uc3QgaW50IGNh
bnZhc0FyZWFUaHJlc2hvbGRSZXF1aXJpbmdDb21wb3NpdGluZyA9IDUwICogMTAwOwogI2VuZGlm
CiAvLyBEdXJpbmcgcGFnZSBsb2FkaW5nIGRlbGF5IGxheWVyIGZsdXNoZXMgdXAgdG8gdGhpcyBt
YW55IHNlY29uZHMgdG8gYWxsb3cgdGhlbSBjb2FsZXNjZSwgcmVkdWNpbmcgd29ya2xvYWQuCiAj
aWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNo
SW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1
c2hEZWxheSA9IDEuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hJ
bml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVy
Rmx1c2hEZWxheSA9IDEuNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVk
TGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRs
ZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExh
eWVyRmx1c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90
dGxlZExheWVyRmx1c2hEZWxheSA9IDAuNV9zOwogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CkBAIC02MzQsNyArNjM0LDcgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OmVuY2xvc2luZ0NvbXBvc2l0b3JGbHVzaGluZ0xheWVycygKIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRhdGUo
KQogewogICAgIGlmICghbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5
ZXJzVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5j
cHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uYjc0MDk3
Y2YyMWUxYTgyMjVhNmFlZDhmZDlhM2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVuZGVy
TWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAKLSAg
ICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKIH0KIAog
dm9pZCBSZW5kZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkIFJl
bmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0gbWFy
cXVlZVNwZWVkKCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAgICAg
ICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVh
dGluZyhzcGVlZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGlu
ZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAgCiAgICAg
Ly8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3RvcC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAK
aW5kZXggNDc1MDZhY2QzM2I3MDc0MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uODY5YWY0MmEw
OTk4MjY2ZWIwZjY1YzNmMTBmOTczODgxYTYxNTUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1MzAsNyBA
QCB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdl
RXZlbnRJZk5lZWRlZCgpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFuZ2VS
ZWdpb25PdmVyc2V0KGRvY3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAoIW1f
cmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3coKS5o
YXNFdmVudExpc3RlbmVycygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6
OnJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5kZXggOWExZjI0MGZhNWY5YWZmODcwMWMxMzQ4
Y2NjNTdkMzZhYjNlMGI4NC4uNTFhMzA4ZmJhMzcwYzQ3OTg5YzhjNWNlYWUwYjA4Nzc0MmM5Yzdj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBAIC04
NSw3ICs4NSw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQog
ewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSAm
JiBtX2FuaW1hdGluZykKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QobV9h
bmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogfQogCiB2b2lkIFJl
bmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCkBAIC0xMDAsNyArMTAwLDcgQEAg
dm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQogICAgIG1fYW5pbWF0
aW5nID0gYW5pbWF0aW5nOwogICAgIGlmIChtX2FuaW1hdGluZykgewogICAgICAgICBtX2FuaW1h
dGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAgICBt
X2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKTsK
KyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhtX2FuaW1hdGlv
blJlcGVhdEludGVydmFsKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIu
c3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFy
VGhlbWUuaAppbmRleCBlZDQ5YmVkY2JkYjYxNWQwYTczMjcxN2Q3Y2FhMzhkYmNjOGRkYjc3Li40
MWJkODIzYWFhMDE0NjU2YjExYWI2ZDI2MTlkZDE2ZmEwZWI3ODY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAtNDcsOCArNDcsOCBA
QCBwdWJsaWM6CiAKICAgICBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBoYW5kbGVNb3VzZVBy
ZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
ZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9s
bGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChzY3JvbGxiYXIsIGV2ZW50
LCBwcmVzc2VkUGFydCk7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVs
YXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFsQXV0
b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgp
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxUaW1l
ckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92
ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRpYWxBdXRvc2Nyb2xs
VGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJy
aWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxUaW1lckRlbGF5
KCk7IH0KIAogICAgIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJiBzY3JvbGxiYXIp
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnJlZ2lzdGVyU2Nyb2xs
YmFyKHNjcm9sbGJhcik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFy
JiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnVu
cmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwCmluZGV4IDM3YjA3NDE4NzhhMWJkOTgzOGVjNjI1M2RlZDA3MTkxMDAxZmNj
NDguLmYxOTkyYWRjZjRlN2FiY2IyNTRlN2JjOWFiM2RmYzUwYzQ3ZmVhOWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBpbmxpbmUg
U2VjdXJlVGV4dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVuZGVyVGV4dCYgcmVuZGVyZXIpCiBp
bmxpbmUgdm9pZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQodW5zaWduZWQgb2Zmc2V0QWZ0ZXJM
YXN0VHlwZWRDaGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3Rl
ciA9IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwotICAgIHN0YXJ0T25lU2hvdChtX3Jl
bmRlcmVyLmZyYW1lKCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygp
KTsKKyAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFzc3dv
cmRFY2hvRHVyYXRpb24oKSk7CiB9CiAKIGlubGluZSB1bnNpZ25lZCBTZWN1cmVUZXh0VGltZXI6
OnRha2VPZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCmluZGV4IDM1NDk5YmJlNjkxMWY1ZmE4YzNkMDEzOGNlZjQwZWM4Mjhm
OWMyYmUuLjg5ZjRiOWM5ZTQ5NGZmZGVkNTkzZDBjZTI0MDRiMGFmMjAxYmE0MTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVk
ZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTE3NSw3ICsxNzYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0dWFsIHZv
aWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0
QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25k
cyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjVfczsgfQogCiAgICAgLy8g
U3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9yIENTUy4KICAgICB2b2lkIHN5c3RlbUZvbnQoQ1NT
VmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYpIGNvbnN0OwpAQCAtMjA0LDggKzIwNSw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlhQ29udHJvbFN0YXR1c0Rpc3Bs
YXkoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9s
Vm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1
c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmly
dHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgeyByZXR1cm4gMC4xOyB9
Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0
dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRp
b24oKSB7IHJldHVybiAwLjFfczsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRpYUNvbnRyb2xz
RmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zX3M7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBm
b3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0
cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZs
b2F0IGR1cmF0aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRy
b2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDU3NGJiMTQ0OTM3
MzE5NzVkNGNiMGMyNTJiMzllYjI4NzIwZDk0MmQuLjhhY2UyZmYyZTEwZDNhMDg1ZGUxN2NkMzRl
YTEyZDdlZmY1YzA3YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
QEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQo
UmVuZGVyQm94JiByZW5kZXJlcikKICAgICByZW5kZXJlci5zZXRSZW5kZXJCb3hOZWVkc0xhenlS
ZXBhaW50KHRydWUpOwogICAgIG1fcmVuZGVyZXJzTmVlZGluZ0xhenlSZXBhaW50LmFkZCgmcmVu
ZGVyZXIpOwogICAgIGlmICghbV9sYXp5UmVwYWludFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF6eVJlcGFp
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJWaWV3Ojp1bnNjaGVk
dWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCmluZGV4IDk5NjQ5YmZlMjkwMzY2NzZhZDQ5
NjhhMzZkZjFmNWMzYzYyZTBlZDkuLjViNDM0OWZhOTM0ZjMyYjQxMDk1ZDVhMGY4NDQ5NjkxNGY4
N2Y1MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1
cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29y
LmNwcApAQCAtNTgsMTEgKzU4LDggQEAgdm9pZCBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJ
bnB1dChzdGQ6OnVuaXF1ZV9wdHI8Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4KIHsKICAgICBB
U1NFUlRfQVJHKGlucHV0LCBpbnB1dCk7CiAKLSAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5w
dXRRdWV1ZTo6RXZlbnRMb29wSW5wdXQpIHsKLSAgICAgICAgLy8gRklYTUU6IHJld3JpdGUgdGhp
cyAoYW5kIHJlbGF0ZWQgZGlzcGF0Y2ggY29kZSkgdG8gdXNlIHN0ZDo6Y2hyb25vLgotICAgICAg
ICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICAgIG1f
c2VnbWVudC0+ZXZlbnRMb29wVGltaW5ncygpLmFwcGVuZChub3cpOwotICAgIH0KKyAgICBpZiAo
aW5wdXQtPnF1ZXVlKCkgPT0gSW5wdXRRdWV1ZTo6RXZlbnRMb29wSW5wdXQpCisgICAgICAgIG1f
c2VnbWVudC0+ZXZlbnRMb29wVGltaW5ncygpLmFwcGVuZChNb25vdG9uaWNUaW1lOjpub3coKSk7
CiAKICAgICBtX3NlZ21lbnQtPnN0b3JhZ2UoKS5zdG9yZShXVEZNb3ZlKGlucHV0KSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3Bw
CmluZGV4IDUxMDI5M2ZjMTZjNjRhYzliNWZiNTFlN2I5OGQwOTBkOGI1MTM2NjcuLmIwN2QyNmZm
ODRmMzg3MTFkMzQ0MzViNDZiZWIwYmIxZWYzMjViYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCkBAIC01MSw4ICs1MSw2IEBA
IEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKFBhZ2Um
IHBhZ2UsIFJlcGxheWluZ0lucHV0Q3VyCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyOjp0aW1lckZpcmVkKQogICAgICwgbV9zcGVlZChEaXNwYXRjaFNwZWVk
OjpGYXN0Rm9yd2FyZCkKIHsKLSAgICBtX2N1cnJlbnRXb3JrLmlucHV0ID0gbnVsbHB0cjsKLSAg
ICBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCA9IDAuMDsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1
dERpc3BhdGNoZXI6OnJ1bigpCkBAIC05MSw3ICs4OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyOjpkaXNwYXRjaElucHV0U29vbigpCiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgbV90aW1lci5zdG9wKCk7CiAKLSAgICBkb3VibGUgd2FpdEludGVydmFsID0g
MDsKKyAgICBTZWNvbmRzIHdhaXRJbnRlcnZhbDsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3Bh
dGNoU3BlZWQ6OlJlYWxUaW1lKSB7CiAgICAgICAgIC8vIFRoZSBnb2FsIGlzIHRvIHJlcHJvZHVj
ZSB0aGUgZGlzcGF0Y2ggZGVsYXkgYmV0d2VlbiBpbnB1dHMgYXMgaXQgd2FzCkBAIC0xMDIsMjIg
KzEwMCwyMiBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNv
b24oKQogICAgICAgICBpZiAoIW1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCkKICAgICAgICAgICAg
IG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogCi0g
ICAgICAgIGRvdWJsZSB0YXJnZXRJbnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0g
bV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwotICAgICAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwor
ICAgICAgICBTZWNvbmRzIHRhcmdldEludGVydmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAg
LSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXA7CisgICAgICAgIFNlY29uZHMgZWxhcHNlZCA9IE1v
bm90b25pY1RpbWU6Om5vdygpIC0gbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgICAg
ICB3YWl0SW50ZXJ2YWwgPSB0YXJnZXRJbnRlcnZhbCAtIGVsYXBzZWQ7CiAgICAgfQogCiAgICAg
Ly8gQSBuZWdhdGl2ZSB3YWl0IHRpbWUgbWVhbnMgdGhhdCBkaXNwYXRjaCB0b29rIGxvbmdlciBv
biByZXBsYXkgdGhhbiBvbgogICAgIC8vIGNhcHR1cmUuIEluIHRoaXMgY2FzZSwgcHJvY2VlZCB3
aXRob3V0IHdhaXRpbmcgYXQgYWxsLgotICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwKQotICAgICAg
ICB3YWl0SW50ZXJ2YWwgPSAwOworICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwX3MpCisgICAgICAg
IHdhaXRJbnRlcnZhbCA9IDBfczsKIAotICAgIGlmICh3YWl0SW50ZXJ2YWwgPiAxMDAwLjApIHsK
KyAgICBpZiAod2FpdEludGVydmFsID4gMTAwMF9zKSB7CiAgICAgICAgIExPR19FUlJPUigiJS0y
MHMgVHJpZWQgdG8gd2FpdCBmb3Igb3ZlciAxMDAwIHNlY29uZHMgYmVmb3JlIGRpc3BhdGNoaW5n
IG5leHQgZXZlbnQgbG9vcCBpbnB1dDsgdGhpcyBpcyBwcm9iYWJseSBhIGJ1Zy4iLCAiUmVwbGF5
RXZlbnRzIik7Ci0gICAgICAgIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgICAgIHdhaXRJbnRlcnZh
bCA9IDBfczsKICAgICB9CiAKLSAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2Yg
bXMpIiwgIlJlcGxheUV2ZW50cyIsIHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdl
YlJlcGxheSwgIiUtMjBzIChXQUlUOiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRz
KHdhaXRJbnRlcnZhbCAqIDEwMDAuMCkubWlsbGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KHdhaXRJbnRlcnZhbCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2
ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rp
c3BhdGNoaW5nKTsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1l
KSB7Ci0gICAgICAgIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOworICAgICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBN
b25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0g
bV9jdXJyZW50V29yay50aW1lc3RhbXA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1
ZTRjM2Y5YTUyMzIzNWIwYzc5NWYzNC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFi
NmI0NDBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0
RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERp
c3BhdGNoZXIuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0Lmgi
CiAjaW5jbHVkZSAiUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgor
I2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAg
cHJpdmF0ZToKIAogICAgIERpc3BhdGNoU3BlZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBh
dCB3aGljaCB0aGUgbGFzdCBpbnB1dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAg
IGRvdWJsZSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgezAuMH07CisgICAgTW9ub3Rvbmlj
VGltZSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBz
cGVjaWZpZWQgYnkgdGhlIGxhc3QgZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2
aW91c0lucHV0VGltZXN0YW1wIHswLjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lu
cHV0VGltZXN0YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2Rj
MDQ0NmVlNDAwOGI4MWIzOWJmNmM0YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJl
MDA4NDg5ZTMxZjM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNl
c3Npb25TZWdtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lv
blNlZ21lbnQuY3BwCkBAIC00Nyw4ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4g
UmVwbGF5U2Vzc2lvblNlZ21lbnQ6OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpS
ZXBsYXlTZXNzaW9uU2VnbWVudCgpCiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxT
ZWdtZW50ZWRJbnB1dFN0b3JhZ2U+KCkpCisgICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1l
Ojpub3coKSkKICAgICAsIG1faWRlbnRpZmllcihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQot
ICAgICwgbV90aW1lc3RhbXAoY3VycmVudFRpbWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0
NjMyOTk3Y2ExOWY5NDhkZTIzYTJkOWMuLmY3Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1
MzM2NDU3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9u
U2VnbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVu
dC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIw
ICs1MiwyMSBAQCBwdWJsaWM6CiAgICAgflJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1
bnNpZ25lZCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAg
ZG91YmxlIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9u
b3RvbmljVGltZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBw
cm90ZWN0ZWQ6CiAgICAgU2VnbWVudGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4g
Km1fc3RvcmFnZTsgfQotICAgIFZlY3Rvcjxkb3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkg
eyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUs
IDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAK
IHByaXZhdGU6CiAgICAgUmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91Ymxl
LCAwPiBtX2V2ZW50TG9vcFRpbWluZ3M7CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1f
ZXZlbnRMb29wVGltaW5nczsKIAorICAgIE1vbm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAg
dW5zaWduZWQgbV9pZGVudGlmaWVyOwogICAgIGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAg
ICBkb3VibGUgbV90aW1lc3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQy
MGM4ZmFkNDRkZTUzYmMwMTUyZGJlOTc2YmRkNmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVl
YzIzNzdlMGRjNzc5NTFiYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBs
YXlpbmdJbnB1dEN1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJ
bnB1dEN1cnNvci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAK
ICNpbmNsdWRlIDxyZXBsYXkvSW5wdXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3Rvbmlj
VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDEsOCArNDIsOCBAQCBjbGFzcyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7
CiAKIHN0cnVjdCBFdmVudExvb3BJbnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSog
aW5wdXQ7Ci0gICAgZG91YmxlIHRpbWVzdGFtcDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlu
cHV0IHsgbnVsbHB0ciB9OworICAgIE1vbm90b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xh
c3MgUmVwbGF5aW5nSW5wdXRDdXJzb3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAppbmRleCA4MjI3MGFkZDBmMmYwY2YzZWNkZDc2NTQ4
ZTA1YzE0MTgyMGI4NWU2Li4zMDgwZDZhOGIxNmJmODcxNDE4YTdmODg3YjcxZWE4MTgyMTk0ZjVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcApAQCAtNTA3LDcgKzUwNyw3IEBAIHZv
aWQgU2NvcGU6OnNjaGVkdWxlVXBkYXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1f
cGVuZGluZ1VwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3Bl
bmRpbmdVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2NvcGU6OmRpZENoYW5nZUFjdGl2ZVN0
eWxlU2hlZXRDYW5kaWRhdGVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBmMDQx
NWZjYTMwZjljZTRjNDEwMmZhNThkN2IzNTJmYWZmODVlYzNjLi40MTk2MmFhNzNiNjVkOWJlNjI4
MTY5ODgwMjUxOTIxZTc4YTk5OGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC02
MjEsNyArNjIxLDcgQEAgdm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJs
ZShib29sIHNlbmRQYXJlbnRMb2FkRXZlbnRzKQogCiB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdM
b2FkRXZlbnRJZlBvc3NpYmxlQXN5bmNocm9ub3VzbHkoKQogewotICAgIHN2Z0xvYWRFdmVudFRp
bWVyKCktPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTVkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250
YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHAKaW5kZXggY2JmM2I3YmE1ODQ4NTA3NzM3ZTk3NWNkZDBhODE5MmQzMzVmYmY1MC4uNzUz
ZTQwMTRiY2MyMTJjYjMwOGQ4ZDY2N2NmZmViZmQxM2M0NDVhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAgLTIwNSw3ICsy
MDUsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBz
ZWQsIFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlMVGltZQogICAgICAgICByZXR1cm47CiAKICAgICBT
TUlMVGltZSBkZWxheSA9IHN0ZDo6bWF4KGZpcmVUaW1lIC0gZWxhcHNlZCwgbWluaW11bURlbGF5
KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheS52YWx1ZSgpKTsKKyAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5LnZhbHVlKCkpKTsKIH0KIAogdm9pZCBTTUlMVGlt
ZUNvbnRhaW5lcjo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmNwcAppbmRleCA2MTFjOTJiOGZiMzQ1MWNmYzZjZjk2YzhlZDM3ZTc4NWEzMmQ5
N2Y4Li41NDNjM2Y0ZGFkZTg5NTM4ZDhiNzYyNTBjOGFlNThkNTJlZjZiZjdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTUzNiw3ICs1MzYsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJbnRl
cnZhbChkb3VibGUgaW50ZXJ2YWxJblNlYwogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgc2V0dGluZ3MoKS5z
ZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKChzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGludGVydmFsSW5TZWNvbmRzICogMTAwMCkpKTsK
KyAgICBzZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMoaW50ZXJ2
YWxJblNlY29uZHMpKTsKICAgICByZXR1cm4geyB9OwogfQogCkBAIC01NjAsNyArNTYwLDcgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHIKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdzKCkuc2V0
VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHModGltZSk7CisgICAg
c2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyhTZWNvbmRzKHRpbWUpKTsKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCmluZGV4IDVhNGY2ZTRkYWQ0ODVjYjVhZjMxMjdkZWY4
MDc4ZGM3NzYxYzE5NDAuLjg0NTk4YTJhNWIwNGQyNjkxMjQyNmE5MGU1MzNjYjkxYzE3ODFlYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC0xNDMsNyAr
MTQzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtX2xhbmdBdHRyaWJ1dGVBd2FyZUZvcm1D
b250cm9sVUlFbmFibGVkOwogICAgICAgICBib29sIG1faW1hZ2VzRW5hYmxlZDsKICAgICAgICAg
Ym9vbCBtX3ByZWZlck1JTUVUeXBlRm9ySW1hZ2VzOwotICAgICAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1fbWluaW11bVRpbWVySW50ZXJ2YWw7CisgICAgICAgIFNlY29uZHMgbV9taW5p
bXVtVGltZXJJbnRlcnZhbDsKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgICAgIGJvb2wg
bV9zaG91bGREaXNwbGF5U3VidGl0bGVzOwogICAgICAgICBib29sIG1fc2hvdWxkRGlzcGxheUNh
cHRpb25zOwpAQCAtMTUxLDcgKzE1MSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICAgICAgU3Ry
aW5nIG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMOwogICAgICAgICBib29sIG1fZm9yY2VQZW5kaW5n
V2ViR0xQb2xpY3k7Ci0gICAgICAgIGJvb2wgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3Zl
bWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOworICAgICAgICBTZWNvbmRzIG1fb3JpZ2luYWxUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKICAgICAgICAgYm9vbCBt
X3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3I7CiAgICAgICAgIGJvb2wg
bV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkOwogICAgICAgICBib29sIG1fcXVpY2tU
aW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBlZDJmZWRhMmRkYzQzMDY0N2NiMjgzYTBkOWZmMTk4
NzVjNGFhMjNmLi5jNzE5NGVkZWFiM2E3ODdmY2VmNDY1MTZhN2FhY2I1MWIwNDhlMmVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMTg3LDcg
KzE4Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RUYXNrKFRhc2smJiB0YXNrKQog
CiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKIHsKLSAgICByZXR1cm4gRE9NVGltZXI6
Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBX
VEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIHRydWUp
OwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJ
ZCkKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhclRpbWVv
dXQoaW50IHRpbWVvdXRJZCkKIAogaW50IFdvcmtlckdsb2JhbFNjb3BlOjpzZXRJbnRlcnZhbChz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewot
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRp
bWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNl
Y29uZHModGltZW91dCksIGZhbHNlKTsKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xl
YXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5j
cHAKaW5kZXggMGNhNzM4OWViYTI3ZjljN2I5YWFkZmU3ZDVlNTI0MWJlMTA3NzcyZi4uYzYxMjk3
ZjZjYjEwOTUxMDQ3ZTkwNTBlZTgxMDJiZWZkNTFmZWY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwCkBAIC0yNDUsOCArMjQ1LDggQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1M
SHR0cFJlcXVlc3Q6OnNldFRpbWVvdXQodW5zaWduZWQgdGltZW91dCkKICAgICAgICAgcmV0dXJu
IHsgfTsKIAogICAgIC8vIElmIHRpbWVvdXQgaXMgemVybywgd2Ugc2hvdWxkIHVzZSB0aGUgZGVm
YXVsdCBuZXR3b3JrIHRpbWVvdXQuIEJ1dCB3ZSBkaXNhYmxlZCBpdCBzbyBsZXQncyBtaW1pYyBp
dCB3aXRoIGEgNjAgc2Vjb25kcyB0aW1lb3V0IHZhbHVlLgotICAgIHN0ZDo6Y2hyb25vOjpkdXJh
dGlvbjxkb3VibGU+IGludGVydmFsID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGlt
ZW91dE1pbGxpc2Vjb25kcyA/IG1fdGltZW91dE1pbGxpc2Vjb25kcyA6IDYwMDAwIH0gLSAoc3Rk
OjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKLSAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4wLCBpbnRlcnZhbC5jb3VudCgpKSk7
CisgICAgU2Vjb25kcyBpbnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV90aW1l
b3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDApIC0gKE1vbm90
b25pY1RpbWU6Om5vdygpIC0gbV9zZW5kaW5nVGltZSk7CisgICAgbV90aW1lb3V0VGltZXIuc3Rh
cnRPbmVTaG90KHN0ZDo6bWF4KDBfcywgaW50ZXJ2YWwpKTsKICAgICByZXR1cm4geyB9OwogfQog
CkBAIC00OTYsNyArNDk2LDcgQEAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb25Pcjx2b2lkPj4gWE1M
SHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQoKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
bk9yPHZvaWQ+IHsgRXhjZXB0aW9uIHsgTkVUV09SS19FUlIgfSB9OwogICAgICAgICBzZXRQZW5k
aW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAgICAg
ICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0d29y
a0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybiBFeGNlcHRpb25P
cjx2b2lkPiB7IH07CiAgICAgfQogCkBAIC02NzUsOCArNjc1LDggQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoKQogICAgICAgICAgICAgcmVxdWVzdC5z
ZXRUaW1lb3V0SW50ZXJ2YWwobV90aW1lb3V0TWlsbGlzZWNvbmRzIC8gMTAwMC4wKTsKICAgICAg
ICAgZWxzZSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChzdGQ6Om51
bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpOwotICAgICAgICAgICAgbV9zZW5kaW5n
VGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwotICAgICAgICAgICAgbV90
aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyBtX3Rp
bWVvdXRNaWxsaXNlY29uZHMgfSk7CisgICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gTW9ub3Rv
bmljVGltZTo6bm93KCk7CisgICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxsaXNlY29uZHMpKTsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtOTYwLDcgKzk2MCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRp
ZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgICAgIG1fc2VuZEZsYWcgPSBm
YWxzZTsKICAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwogICAgICAgICBtX3RpbWVv
dXRUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXhjZXB0aW9uQ29kZSA9IE5FVFdPUktfRVJSOwpA
QCAtMTE4Myw3ICsxMTgzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVzdW1lKCkKICAgICAv
LyBXZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgSlMgaW4gcmVzdW1lKCkg
c28gZGlzcGF0Y2gKICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgaW4gYSB0aW1lci4KICAgICBpZiAo
bV9kaXNwYXRjaEVycm9yT25SZXN1bWluZyAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVzdW1l
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDA0YWJjMDlk
ZDdmNmJiOGI4YTk1YTUyNDEyN2MxNDY4Y2ZkYWMyNzEuLjJmODhmNTk3NDc2MDQ2NmRlNjBiYTk2
MjQwYTIyYzlkMGNhZjhjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBAIC0y
MzAsNyArMjMwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5ldHdvcmtFcnJvclRpbWVyRmlyZWQo
KTsKIAogICAgIHVuc2lnbmVkIG1fdGltZW91dE1pbGxpc2Vjb25kcyB7IDAgfTsKLSAgICBzdGQ6
OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fc2VuZGluZ1RpbWU7CisgICAgTW9u
b3RvbmljVGltZSBtX3NlbmRpbmdUaW1lOwogICAgIFRpbWVyIG1fdGltZW91dFRpbWVyOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXggMzY2NjI2NTZiNTFiZjhjOWU5ZjIyNWJjYjA2NzZl
NjBmNDYzMDg3My4uZTRjOTk1NTEwNDA2MTMyNzNhZGZlMTc1ODNiOGEwN2YyZmQ3ZDIxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY29uc3QgZG91YmxlIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpt
aW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgPSAuMDU7IC8v
IDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgorY29uc3QgU2Vjb25kcyBYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVy
dmFsID0gNTBfbXM7IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTczLDEy
ICs3MywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpkaXNw
YXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZQogICAgICAgICBBU1NFUlQoIW1faGFz
VGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVudCwg
bGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVhdGlu
ZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOworICAg
ICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2
YWwpOwogICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBz
byBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMgdGhl
IGxlYXN0IGZyZXF1ZW50IGV2ZW50LgorICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2
ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxlYXN0
IGZyZXF1ZW50IGV2ZW50LgogICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRydWU7
CiB9CiAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlOjpyZXN1bWUoKQogICAgIC8vIHRoZSBsaXN0IG9mIGFjdGl2ZSBET00gb2JqZWN0
cyB0byByZXN1bWUgdGhlbSwgYW5kIGFueSBhY3RpdmF0ZWQgSlMgZXZlbnQtaGFuZGxlcgogICAg
IC8vIGNvdWxkIGluc2VydCBuZXcgYWN0aXZlIERPTSBvYmplY3RzIHRvIHRoZSBsaXN0LgogICAg
IC8vIG1fZGVmZXJFdmVudHMgaXMga2VwdCB0cnVlIHVudGlsIGFsbCBkZWZlcnJlZCBldmVudHMg
aGF2ZSBiZWVuIGRpc3BhdGNoZWQuCi0gICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5o
CmluZGV4IDk3MWJkMjM0MmMwNTZiMTE1OGI0MDE5ZmIyYjNhYTI1MDM0ODRhOGQuLjM0MGZiNWMw
MGQxNzNmYjYxNjFhNzRlNDE1YTAxMmJhZWZiNGY3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCkBAIC01
NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgotICAg
IHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVy
dmFsSW5TZWNvbmRzOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1Qcm9ncmVzc0V2
ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbDsKIAogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpOwogICAg
IHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmNwcAppbmRleCBhYzBkY2MxMjU2OTRkYWQ0YzRiOTIyODdhMDMxZWZhMDkz
NTRlYTE5Li5hZmY5NWJiYTM1ZWRjMzk2OTdjYjBlOTlkZTA3ZjI1YjQ3OGYwOTIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcApAQCAtNDEsNyArNDEsNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gSWYgdGhlIFN0b3JhZ2VBcmVhIHVuZGVyZ29lcyByYXBp
ZCBjaGFuZ2VzLCBkb24ndCBzeW5jIGVhY2ggY2hhbmdlIHRvIGRpc2suCiAvLyBJbnN0ZWFkLCBx
dWV1ZSB1cCBhIGJhdGNoIG9mIGl0ZW1zIHRvIHN5bmMgYW5kIGFjdHVhbGx5IGRvIHRoZSBzeW5j
IGF0IHRoZSBmb2xsb3dpbmcgaW50ZXJ2YWwuCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0b3JhZ2VT
eW5jSW50ZXJ2YWwgPSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzdG9yYWdlU3luY0ludGVy
dmFsID0gU2Vjb25kcygxKTsKIAogLy8gQSBzYW5lIGxpbWl0IG9uIGhvdyBtYW55IGl0ZW1zIHdl
J2xsIHNjaGVkdWxlIHRvIHN5bmMgYWxsIGF0IG9uY2UuICBUaGlzIG1ha2VzIGl0CiAvLyBtdWNo
IGhhcmRlciB0byBzdGFydmUgdGhlIHJlc3Qgb2YgTG9jYWxTdG9yYWdlIGFuZCB0aGUgT1MncyBJ
TyBzdWJzeXN0ZW0gaW4gZ2VuZXJhbC4KQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lkIFN0b3JhZ2VB
cmVhU3luYzo6c2NoZWR1bGVJdGVtRm9yU3luYyhjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3Ry
aW5nJiB2YWx1ZQogCiAgICAgbV9jaGFuZ2VkSXRlbXMuc2V0KGtleSwgdmFsdWUpOwogICAgIGlm
ICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9u
ZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25l
U2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQog
ICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTEzMyw3ICsxMzMsNyBAQCB2
b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbGVhcigpCiAgICAgbV9jaGFuZ2VkSXRlbXMu
Y2xlYXIoKTsKICAgICBtX2l0ZW1zQ2xlYXJlZCA9IHRydWU7CiAgICAgaWYgKCFtX3N5bmNUaW1l
ci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChTdG9yYWdl
U3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VT
eW5jSW50ZXJ2YWwpOwogCiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5jZWQgYnkg
dGhlIGNhbGwgdG8gZW5hYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAgIC8vIHN5
bmNUaW1lckZpcmVkIGZ1bmN0aW9uLgpAQCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgU3RvcmFnZUFy
ZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UoKQogICAgIG1fc3luY0Nsb3NlRGF0YWJhc2Ug
PSB0cnVlOwogICAgIAogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAg
ICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAg
IG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKICAgICAgICAg
CiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5jZWQgYnkgdGhlIGNhbGwgdG8gZW5h
YmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAgIC8vIHN5bmNUaW1lckZpcmVkIGZ1
bmN0aW9uLgpAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGlt
ZXJGaXJlZCgpCiAgICAgICAgIC8vIHByZXZpb3VzIG9uZS4gQnV0LCBpZiB3ZSdyZSBzaHV0dGlu
ZyBkb3duLCBzY2hlZHVsZSBpdCBhbnl3YXkuCiAgICAgICAgIGlmIChtX3N5bmNJblByb2dyZXNz
ICYmICFtX2ZpbmFsU3luY1NjaGVkdWxlZCkgewogICAgICAgICAgICAgQVNTRVJUKCFtX3N5bmNU
aW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChT
dG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hv
dChzdG9yYWdlU3luY0ludGVydmFsKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
CkBAIC0yMTksNyArMjE5LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVk
KCkKICAgICBpZiAocGFydGlhbFN5bmMpIHsKICAgICAgICAgLy8gSWYgd2UgZGlkbid0IGZpbmlz
aCBzeW5jaW5nLCB0aGVuIHdlIG5lZWQgdG8gZmluaXNoIHRoZSBqb2IgbGF0ZXIuCiAgICAgICAg
IEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0
YXJ0T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3Rh
cnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8v
IFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5jZWQgYnkgdGhlIGNhbGxzIHRvIGRpc2FibGVTdWRkZW5U
ZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc2NoZWR1bGVJdGVtRm9yU3luYywgc2NoZWR1
bGVDbGVhciwgYW5kIHNjaGVkdWxlRmluYWxTeW5jIGZ1bmN0aW9ucy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCmluZGV4IDU5YTAwZmUzMGE5NjNmNTgxM2Q4YjBkZGEw
NGRiNjA4MWE2NjIzYmQuLjhiZmZiNDRkZTY0NjhlNzNiOGE3ODkwMmI0MmRhYWY5ZmNhNDdjMGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcApAQCAtNTIsNyArNTIs
NyBAQCBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsKIAog
Ly8gSWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFiYXNl
LCBjbG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQogLy8gYWZ0ZXIgaXQgaGFzIGJlZW4gaWRs
ZSBmb3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBjb25z
dCBkb3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMDsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDBf
czsKICAgICAKIHZvaWQgU3RvcmFnZVRyYWNrZXI6OmluaXRpYWxpemVUcmFja2VyKGNvbnN0IFN0
cmluZyYgc3RvcmFnZVBhdGgsIFN0b3JhZ2VUcmFja2VyQ2xpZW50KiBjbGllbnQpCiB7CkBAIC05
Nyw3ICs5Nyw3IEBAIFN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcihjb25zdCBTdHJpbmcm
IHN0b3JhZ2VQYXRoKQogICAgICwgbV90aHJlYWQoc3RkOjptYWtlX3VuaXF1ZTxTdG9yYWdlVGhy
ZWFkPigpKQogICAgICwgbV9pc0FjdGl2ZShmYWxzZSkKICAgICAsIG1fbmVlZHNJbml0aWFsaXph
dGlvbihmYWxzZSkKLSAgICAsIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKERlZmF1bHRT
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCisgICAgLCBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJ
bnRlcnZhbChkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCmluZGV4IDU1ZDViMGQyMmU5YTM5ZjliOGMw
ODkzN2Y1OTRlOGZhM2JkYWNhODguLjcyNmYzMjUxYjFkMWVlZjZjMWFhZjExMjYxYzBkMjk5N2I1
OTE0ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCkBAIC01OSw4ICs1
OSw4IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIGlzQWN0aXZlKCk7CiAKLSAgICBkb3VibGUg
c3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKCkgeyByZXR1cm4gbV9TdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWw7IH0KLSAgICB2b2lkIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChk
b3VibGUgaW50ZXJ2YWwpIHsgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBpbnRlcnZh
bDsgfQorICAgIFNlY29uZHMgc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKCkgeyByZXR1cm4g
bV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7IH0KKyAgICB2b2lkIHNldFN0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fc3RvcmFnZURhdGFiYXNlSWRs
ZUludGVydmFsID0gaW50ZXJ2YWw7IH0KIAogICAgIHZvaWQgc3luY0ZpbGVTeXN0ZW1BbmRUcmFj
a2VyRGF0YWJhc2UoKTsKIApAQCAtMTEwLDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAg
Ym9vbCBtX2lzQWN0aXZlOwogICAgIGJvb2wgbV9uZWVkc0luaXRpYWxpemF0aW9uOwotICAgIGRv
dWJsZSBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fc3RvcmFn
ZURhdGFiYXNlSWRsZUludGVydmFsOwogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VM
b2FkU2NoZWR1bGVyLmNwcAppbmRleCAxMWJjZTNiZWUwZTBiYTFkNzAyZjcyYzY2NDUzY2MyYTJi
ZGViN2Y2Li5hNmNmODRmYzE5NTI1OTYzZDQ2ZDJiYWM5NTdhZmEyYjNmYThhMWFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIuY3BwCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hl
ZHVsZXI6OnJlc3VtZVBlbmRpbmdSZXF1ZXN0cygpCiB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVk
dWxlcjo6c2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpCiB7CiAgICAgaWYgKCFtX3JlcXVl
c3RUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVxdWVzdFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5Lm1tCmluZGV4IGI5YWI4YTBkZGRjYzc2NDdkYTc4NjMzOTg0MjMyN2Nh
NWM3YTk3YTkuLjA2ZTllZDZjNTdkYjU0NzIyN2FmNDJjNWEyZjA1YWZkYWNkZWVlMTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5z
dGFuY2VQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KQEAgLTc0NCw3ICs3NDQsNyBAQCB2b2lkIE5ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVyRmlyZWQoKQogICAgIG1fcGx1Z2lu
UmVxdWVzdHMucmVtb3ZlRmlyc3QoKTsKICAgICAKICAgICBpZiAoIW1fcGx1Z2luUmVxdWVzdHMu
aXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIAogICAgIHBlcmZvcm1S
ZXF1ZXN0KHJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtODAwLDcgKzgwMCw3IEBAIE5QRXJyb3IgTmV0
c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Ojpsb2FkUmVxdWVzdChOU1VSTFJlcXVlc3QgKnJlcXVl
c3QsIGNvbnN0IGNoCiAKICAgICAgICAgYXV0byBwbHVnaW5SZXF1ZXN0ID0gUGx1Z2luUmVxdWVz
dDo6Y3JlYXRlKHJlcXVlc3RJRCwgcmVxdWVzdCwgdGFyZ2V0LCBhbGxvd1BvcHVwcyk7CiAgICAg
ICAgIG1fcGx1Z2luUmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocGx1Z2luUmVxdWVzdCkpOwotICAg
ICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIFJlZlB0cjxIb3N0
ZWROZXRzY2FwZVBsdWdpblN0cmVhbT4gc3RyZWFtID0gSG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJl
YW06OmNyZWF0ZSh0aGlzLCByZXF1ZXN0SUQsIHJlcXVlc3QpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tIGIvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQppbmRleCAwNWNj
NGQ0NzJkYTg2MTBhMzRiYTViZGJlYzhhMTYzZTRhZDM4Yjk0Li5kYjBjMDBmZTdhYzVkYzdkZjcw
ZTk5MGJmNjAxY2UxOWZlZmY1ZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KQEAgLTUyOSw3ICs1MjksNyBAQCB2b2lk
IFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSgpCiAgICAgICAgIGlmIChkZWxp
dmVyeUJ5dGVzIDw9IDApIHsKICAgICAgICAgICAgIC8vIFBsdWctaW4gY2FuJ3QgcmVjZWl2ZSBh
bnltb3JlIGRhdGEgcmlnaHQgbm93LiBTZW5kIGl0IGxhdGVyLgogICAgICAgICAgICAgaWYgKCFt
X2RlbGl2ZXJEYXRhVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgICAgICBtX2RlbGl2ZXJE
YXRhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgICAgIG1fZGVsaXZlckRhdGFU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgZGVsaXZlcnlCeXRlcyA9IHN0ZDo6bWluKGRlbGl2ZXJ5Qnl0ZXMs
IHRvdGFsQnl0ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KaW5kZXggZDllNThlMzM2OTRk
NTBjYzFmNjc2YjA0ZmMxZjk4ZTNlZmE0YmQzZS4uNGIyYTdhMGFlZmIxY2UxNzY2YzZjNmUzZjNj
Yzg1OGEyNDMwOTliYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblZpZXcubW0KQEAgLTExMSw3ICsxMTEsNyBAQCBzdGF0aWMgV2ViTmV0c2Nh
cGVQbHVnaW5WaWV3ICpjdXJyZW50UGx1Z2luVmlldyA9IG5pbDsKIAogdHlwZWRlZiBzdHJ1Y3Qg
T3BhcXVlUG9ydFN0YXRlKiBQb3J0U3RhdGU7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgVGhyb3R0
bGVkVGltZXJJbnRlcnZhbCA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBUaHJvdHRsZWRU
aW1lckludGVydmFsID0gU2Vjb25kcygwLjI1KTsKIAogY2xhc3MgUGx1Z2luVGltZXIgOiBwdWJs
aWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAg
ewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0aW1lSW50
ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBTZWNvbmRzIHRpbWVJbnRlcnZh
bCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAgICAgICAgIAogICAg
ICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0
aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZh
ZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2Iw
NWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdl
TWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5h
Z2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIHB0aHJlYWRfb25jZV90IHJlZ2lzdGVy
TG9jYWxTdG9yYWdlUGF0aCA9IFBUSFJFQURfT05DRV9JTklUOwogCiArICh2b2lkKXNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVydmFsCiB7Ci0gICAgV2ViS2l0OjpT
dG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChp
bnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKICsgKHZvaWQp
Y2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KaW5kZXggZGFkYzI2MjM4MzUzZGI3OGZkMjU5NWQyYjM3YmRkNjQ5ZDFjZWIwZi4uOTI3
YmZlYWQ1OWE0NDI2NDE2MDhmYjRkOTczNWNlMzNiMGZlMWJmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtMjc0OSw3ICsyNzQ5LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNT
ZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAgIHNldHRpbmdzLnNldFNob3VsZERpc3Bh
dGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMoc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0
V2luZG93T25FcnJvckV2ZW50cygpKTsKIAogICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0Vu
YWJsZWQoW3ByZWZlcmVuY2VzIF9hbGxvd1Bhc3N3b3JkRWNob10pOwotICAgIHNldHRpbmdzLnNl
dFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKFtwcmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hv
RHVyYXRpb25dKTsKKyAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbihTZWNvbmRz
KFtwcmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRpb25dKSk7CiAKICAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKHNldHRpbmdzLnBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucygpLCAiUGFnZUNhY2hl
U3VwcG9ydHNQbHVnaW5zIHNob3VsZCBiZSBlbmFibGVkIG9uIGlPUy4iKTsKICAgICBzZXR0aW5n
cy5zZXREZWxlZ2F0ZXNQYWdlU2NhbGluZyh0cnVlKTsKQEAgLTI4NjgsNyArMjg2OCw3IEBAIHN0
YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKIAogICAgIE5TVGlt
ZUludGVydmFsIHRpbWVvdXQgPSBbcHJlZmVyZW5jZXMgaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBw
cmVzc2lvblRpbWVvdXRJblNlY29uZHNdOwogICAgIGlmICh0aW1lb3V0ID4gMCkKLSAgICAgICAg
c2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29u
ZHModGltZW91dCk7CisgICAgICAgIHNldHRpbmdzLnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3Vw
cHJlc3Npb25UaW1lb3V0KFNlY29uZHModGltZW91dCkpOwogCiAgICAgLy8gQXBwbGljYXRpb24g
Q2FjaGUgUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0aGUgZ2xvYmFsIGNhY2hlIHN0b3JhZ2Ug
bWFuYWdlciwgbm90IGluIFNldHRpbmdzLgogICAgIFtXZWJBcHBsaWNhdGlvbkNhY2hlIHNldERl
ZmF1bHRPcmlnaW5RdW90YTpbcHJlZmVyZW5jZXMgYXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmln
aW5RdW90YV1dOwpAQCAtODMwMiw3ICs4MzAyLDcgQEAgc3RhdGljIFdlYkZyYW1lVmlldyAqY29u
dGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAgICAgdW5zaWduZWQgY2FjaGVUb3RhbENh
cGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CiAgICAg
dW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9OworICAgIFNl
Y29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAgIHVuc2lnbmVkIHBh
Z2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDI5LDcgKzg0MjksNyBAQCBzdGF0aWMgV2ViRnJhbWVW
aWV3ICpjb250YWluaW5nRnJhbWVWaWV3KE5TVmlldyAqdmlldykKICAgICAgICAgLy8gY2FuIHBy
b3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUgcmVncmVz
c2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heDx1bnNpZ25lZD4o
MjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gNjBfczsKIAogI2lmIFBMQVRGT1JNKElPUykK
ICAgICAgICAgaWYgKG1lbVNpemUgPj0gMTAyNCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAKaW5kZXggYmMxOGRlYjc1Y2NkNzA4MjdhZmZhZTll
MDc2MjFmMjM1MDFmNTRlYS4uN2RiMjc2ZTA3ODRmYWUwYzI3MTg2MDNiOGYwNDJjNjgxOGNkNTVl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5j
cHAKQEAgLTUyLDcgKzUyLDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGZsb2F0IHRpbWVySW50ZXJ2YWwgPSAwLjAzMzsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwgPSAwLjAzM19zOwogCiAvLyBIVUQg
U2l6ZQogc3RhdGljIGNvbnN0IGludCB3aW5kb3dIZWlnaHQgPSA1OTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAgYi9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCmlu
ZGV4IGE1M2MzMTVjMjAxODQzOTRmM2I0MDY0YTNmNTQ0NzU3M2VkMmNmMDkuLjE3MjlmZmY2M2Mw
ZmZhNDY3NWQzNzgxM2FjNmFjNzBkNzY0OWQ5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcApAQCAtMzksNyAr
MzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBUaGlzIHZhbHVlIGFsbG93cyBGbGFzaCA2
MCBtZXNzYWdlcy9zZWNvbmQsIHdoaWNoIHNob3VsZCBiZSBlbm91Z2ggZm9yIHZpZGVvCiAvLyBw
bGF5YmFjaywgYW5kIGFsc28gZ2V0cyB1cyBvdmVyIHRoZSBsaW1pdCBmb3Iga2lja2luZyBpbnRv
IGhpZ2gtcmVzb2x1dGlvbgogLy8gdGltZXIgbW9kZSAoc2VlIFNoYXJlZFRpbWVyV2luLmNwcCku
Ci1zdGF0aWMgY29uc3QgZG91YmxlIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCA9IDAuMDE2
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgTWVzc2FnZVRocm90dGxlVGltZUludGVydmFsID0gU2Vj
b25kcygwLjAxNik7CiAKIC8vIER1cmluZyBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mIG1lc3NhZ2Vz
LCBwcm9jZXNzIG9uZSBldmVyeSA1bXMuCiBzdGF0aWMgY29uc3QgZG91YmxlIE1lc3NhZ2VEaXJl
Y3RQcm9jZXNzaW5nSW50ZXJ2YWwgPSAwLjAwNTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblBhY2thZ2UuY3BwCmluZGV4IGI2N2ZhNTNmZTgwYjFlZjhjMDFhZmZjODZkYTVkNzE2
MzE1NWRkMjQuLjE3NTRiZGQ1NGYwNzM5ZTJkZjZjYWNiNzllMTUxNWE0OTIxN2NmMWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcApAQCAtNjcsNyArNjcs
NyBAQCB2b2lkIFBsdWdpblBhY2thZ2U6OmZyZWVMaWJyYXJ5U29vbigpCiAgICAgQVNTRVJUKG1f
bW9kdWxlKTsKICAgICBBU1NFUlQoIW1fbG9hZENvdW50KTsKIAotICAgIG1fZnJlZUxpYnJhcnlU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIFBsdWdpblBhY2thZ2U6OmZyZWVMaWJyYXJ5VGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKaW5kZXggMmVmMzk1
NWJlNjFhOGQwNTQyNGFkMTM5OTYyZGQwZDdmYTZhZTQ0NC4uZGE4MzNhYWY0ZjhiYWU0NGI0ODA0
YjM1MjFmY2QxNzdiOGNhZGQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lu
cy9QbHVnaW5TdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2lu
U3RyZWFtLmNwcApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgUGx1Z2luU3RyZWFtOjpkZWxpdmVy
RGF0YSgpCiAgICAgICAgIGludDMyX3QgZGVsaXZlcnlCeXRlcyA9IG1fcGx1Z2luRnVuY3MtPndy
aXRlcmVhZHkobV9pbnN0YW5jZSwgJm1fc3RyZWFtKTsKIAogICAgICAgICBpZiAoZGVsaXZlcnlC
eXRlcyA8PSAwKSB7Ci0gICAgICAgICAgICBtX2RlbGF5RGVsaXZlcnlUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgICAgICBtX2RlbGF5RGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZGVs
aXZlcnlCeXRlcyA9IG1pbihkZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxCeXRlc0Rl
bGl2ZXJlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCAy
MDdhOTYxM2NjYThkOWMxMDM3Y2ZiNGQxYjFlNDJhNjg1MTk1Njk2Li40ZWQ2ZDViMGI1NTk0NWYx
NzAwM2VjYzI0ZjM5NmZhODY0NDk2MDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKQEAgLTQ3Myw3ICs0NzMsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnJlcXVlc3RU
aW1lckZpcmVkKCkKICAgICAvLyBTY2hlZHVsZSBhIG5ldyByZXF1ZXN0IGJlZm9yZSBjYWxsaW5n
IHBlcmZvcm1SZXF1ZXN0IHNpbmNlIHRoZSBjYWxsIHRvCiAgICAgLy8gcGVyZm9ybVJlcXVlc3Qg
Y2FuIGNhdXNlIHRoZSBwbHVnaW4gdmlldyB0byBiZSBkZWxldGVkLgogICAgIGlmICghbV9yZXF1
ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBwZXJmb3Jt
UmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTQ4Myw3ICs0ODMsNyBAQCB2b2lkIFBsdWdp
blZpZXc6OnNjaGVkdWxlUmVxdWVzdChzdGQ6OnVuaXF1ZV9wdHI8UGx1Z2luUmVxdWVzdD4gcmVx
dWVzdCkKICAgICBtX3JlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHJlcXVlc3QpKTsKIAogICAgIGlm
ICghbV9pc0phdmFTY3JpcHRQYXVzZWQpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IE5QRXJyb3IgUGx1Z2luVmlldzo6bG9hZChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxv
YWRSZXF1ZXN0LCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEpCkBAIC02
NDYsNyArNjQ2LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpzZXRKYXZhU2NyaXB0UGF1c2VkKGJvb2wg
cGF1c2VkKQogICAgIGlmIChtX2lzSmF2YVNjcmlwdFBhdXNlZCkKICAgICAgICAgbV9yZXF1ZXN0
VGltZXIuc3RvcCgpOwogICAgIGVsc2UgaWYgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAg
ICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQpAQCAtMTE3Myw3ICsxMTczLDcgQEAgdm9pZCBQbHVnaW5WaWV3OjprZWVwQWxpdmUoKQogICAg
ICAgICByZXR1cm47CiAKICAgICByZWYoKTsKLSAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fbGlmZVN1cHBvcnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1Bs
dWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKaW5kZXggMmZjYTlmM2M5NWQ3M2RiYTNhYzMyNjI1OWVh
ODZkZGNkZGEyMDcwZi4uZTVjM2M1NGFmOTcxYzZlZDkzODEyMjZjNmJmNGQwNjY4OWIyZmVmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCkBAIC0zMzQs
NyArMzM0LDcgQEAgUGx1Z2luVmlldzo6d25kUHJvYyhIV05EIGhXbmQsIFVJTlQgbWVzc2FnZSwg
V1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkKIAogICAgICAgICBwdXNoUG9wdXBzRW5hYmxl
ZFN0YXRlKHRydWUpOwogCi0gICAgICAgIG1fcG9wUG9wdXBzU3RhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcG9wUG9wdXBzU3RhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
ICAgICB9CiAKICAgICBpZiAobWVzc2FnZSA9PSBXTV9QUklOVENMSUVOVCkgewpAQCAtODM4LDcg
KzgzOCw3IEBAIHZvaWQgUGx1Z2luVmlldzo6aW52YWxpZGF0ZVJlY3QoTlBSZWN0KiByZWN0KQog
ICAgICAgICBpZiAobV9wbHVnaW4tPnF1aXJrcygpLmNvbnRhaW5zKFBsdWdpblF1aXJrVGhyb3R0
bGVJbnZhbGlkYXRlKSkgewogICAgICAgICAgICAgbV9pbnZhbGlkUmVjdHMuYXBwZW5kKHIpOwog
ICAgICAgICAgICAgaWYgKCFtX2ludmFsaWRhdGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAg
ICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwLjAwMSk7CisgICAgICAgICAg
ICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDFfbXMpOwogICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgIGludmFsaWRhdGVSZWN0KHIpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29t
cG9zaXRpbmdDb250ZXh0LmNwcAppbmRleCBmYzBkMTU1NzBmZWFlYzlkYjM4Njk3MDhiNWFiN2M3
YTRhZDIyMjgyLi5hMTBhMDIwNjRiZTkzMDFlMDg0NGI1ZTBiNGMwMDk4ZTYwMGY0ZTk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9p
ZCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKCkKICAg
ICBpZiAobV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDAuMDUpOworICAgIG1fbGF5ZXJGbHVz
aFRpbWVyLnN0YXJ0T25lU2hvdCgwLjA1X3MpOwogfQogCiBib29sIEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdDb250ZXh0OjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAppbmRleCBkNTcwMDQ4ZGE3YTI2NDA2YmNhZDA2YzI1ZGU4NjhmZTVhY2IyYjAzLi40YjRmY2Qx
OTFhOTA3M2NhZTkwOTA3NzYwYmVmMDRhNTk5ZWFiMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApA
QCAtNTI1LDcgKzUyNSw3IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2RlbChXZWJDYWNoZU1v
ZGVsIGNhY2hlTW9kZWwpCiAgICAgdW5zaWduZWQgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsKICAg
ICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVN
YXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9OworICAgIFNlY29uZHMgZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAw
OwogCkBAIC02MzcsNyArNjM3LDcgQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKFdlYkNh
Y2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJh
bGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAgICAgY2Fj
aGVNYXhEZWFkQ2FwYWNpdHkgPSBtYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAg
ICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDYw
X3M7CiAKICAgICAgICAgLy8gTWVtb3J5IGNhY2hlIGNhcGFjaXR5IChpbiBieXRlcykKICAgICAg
ICAgLy8gKFRoZXNlIHZhbHVlcyBhcmUgc21hbGwgYmVjYXVzZSBXZWJDb3JlIGRvZXMgbW9zdCBj
YWNoaW5nIGl0c2VsZi4pCkBAIC0xNTE2LDcgKzE1MTYsNyBAQCB2b2lkIFdlYlZpZXc6OmNsb3Nl
V2luZG93U29vbigpCiAgICAgbV9jbG9zZVdpbmRvd1RpbWVyID0gV2luZG93Q2xvc2VUaW1lcjo6
Y3JlYXRlKHRoaXMpOwogICAgIGlmICghbV9jbG9zZVdpbmRvd1RpbWVyKQogICAgICAgICByZXR1
cm47Ci0gICAgbV9jbG9zZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jbG9z
ZVdpbmRvd1RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIEFkZFJlZigpOwogfQpAQCAt
NzQ2MSw4ICs3NDYxLDcgQEAgSFJFU1VMVCBXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZh
bChkb3VibGUgaW50ZXJ2YWwpCiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFX0ZB
SUw7CiAKLSAgICBhdXRvIGludGVydmFsTVMgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGludGVydmFsICogMTAwMCkpOwotICAgIHBh
Z2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChpbnRlcnZhbE1TKTsK
KyAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25k
cyhpbnRlcnZhbCkpOwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcAppbmRleCA5YmZhNGVjNjRjODQ3
MGM3ZGJlYmNlNGZmZTNiZmMwNGM4NTYzYjkwLi45NGUxNDdmNTI4YTU4M2ZkMGRlY2E3MTE1MzAz
NjE5MzJlMTI2NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrRGF0YVRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtEYXRhVGFzay5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2s6
OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQogewogICAgIEFTU0VSVCh0eXBlICE9
IE5vRmFpbHVyZSk7CiAgICAgbV9zY2hlZHVsZWRGYWlsdXJlVHlwZSA9IHR5cGU7Ci0gICAgbV9m
YWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6ZGlkUmVjZWl2ZVJlc3BvbnNl
KFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0xvYWQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWQuY3BwCmluZGV4IDUxN2Y4NDVhYWJlNTIzZjJlZmE5NjE4NGVlZjcyNTNhZTJjYTRk
OWYuLjhjZjk5Y2NiODQ2MzVkMmEzYzYyYjVkMzg4ODFmMDA3MzA0Mzg0MzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKQEAgLTUwLDcgKzUwLDcg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAjaWYgVVNFKE5FVFdPUktfU0VTU0lPTikKIAog
c3RydWN0IE5ldHdvcmtMb2FkOjpUaHJvdHRsZSB7Ci0gICAgVGhyb3R0bGUoTmV0d29ya0xvYWQm
IGxvYWQsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXksIFJlc291cmNlUmVzcG9uc2Um
JiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCisgICAgVGhy
b3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIFNlY29uZHMgZGVsYXksIFJlc291cmNlUmVzcG9uc2Um
JiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiAgICAgICAg
IDogdGltZXIobG9hZCwgJk5ldHdvcmtMb2FkOjp0aHJvdHRsZURlbGF5Q29tcGxldGVkKQogICAg
ICAgICAsIHJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2UpKQogICAgICAgICAsIHJlc3BvbnNlQ29t
cGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKQEAgLTMxMSw4ICszMTEsOCBAQCB2b2lk
IE5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3JrU2Vzc2lvbihSZXNvdXJjZVJl
c3BvbnNlJiYgcmVzcG9uc2UsCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIGRl
bGF5ID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsK
LSAgICBpZiAoZGVsYXkgPiAwbXMpIHsKKyAgICBTZWNvbmRzIGRlbGF5ID0gTmV0d29ya1Byb2Nl
c3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsKKyAgICBpZiAoZGVsYXkgPiAw
X3MpIHsKICAgICAgICAgbV90aHJvdHRsZSA9IHN0ZDo6bWFrZV91bmlxdWU8VGhyb3R0bGU+KCp0
aGlzLCBkZWxheSwgV1RGTW92ZShyZXNwb25zZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGM5NmQwODI5ZTE1YjZkODhiYWUxNWNmMGMxMmNj
NGNkMjM4ZjExM2IuLjhjNWI3YTQ4ODVmYzQ0OWVlYWRlMDc0NGNkOWZjNjAyNWFjZTYxYTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAt
MTE1LDcgKzExNSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ3JhbnRTYW5kYm94RXh0ZW5zaW9u
c1RvRGF0YWJhc2VQcm9jZXNzRm9yQmxvYnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1l
cywgRnVuY3Rpb248dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAKLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBt
X2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KKyAgICBTZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3ko
KSBjb25zdCB7IHJldHVybiBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KIAogcHJpdmF0ZToKICAg
ICBOZXR3b3JrUHJvY2VzcygpOwpAQCAtMjA3LDcgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX3N1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIG1f
ZGlza0NhY2hlSXNEaXNhYmxlZEZvclRlc3Rpbmc7CiAgICAgYm9vbCBtX2NhbkhhbmRsZUhUVFBT
U2VydmVyVHJ1c3RFdmFsdWF0aW9uOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9s
b2FkVGhyb3R0bGVMYXRlbmN5OworICAgIFNlY29uZHMgbV9sb2FkVGhyb3R0bGVMYXRlbmN5Owog
CiAgICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29y
a1Byb2Nlc3NTdXBwbGVtZW50PiwgUHRySGFzaDxjb25zdCBjaGFyKj4+IE5ldHdvcmtQcm9jZXNz
U3VwcGxlbWVudE1hcDsKICAgICBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXAgbV9zdXBwbGVt
ZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGY0NTY5Yzk0NjlhNTc3
MmU2MGIxYzliZmY1NjA4NWQzYWNiNDNjM2QuLjcwOTUxNTMwZTMyOWZhMWM1ZjNmZjhlNjcyYjkz
NDMwOGM1OGY4YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjgsNiAr
MjgsNyBAQAogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgi
CiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgogCkBAIC03Myw3ICs3NCw3IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyB7CiAgICAgYm9vbCBzaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZh
bHNlIH07CiAgICAgYm9vbCBzaG91bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb247CiAgICAgYm9v
bCB1cmxQYXJzZXJFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGxvYWRUaHJvdHRsZUxhdGVuY3kgeyAwbXMgfTsKKyAgICBTZWNvbmRzIGxvYWRUaHJvdHRs
ZUxhdGVuY3k7CiAKICAgICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1
c3RvbVByb3RvY29sczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKaW5kZXggNDI1NWFkZTQx
MTUwZGE5NjlmMjExMTc1MTJkN2RmNmY3ZjdjOWM0YS4uNWIyOWUwZWJkNDNhMzhiZTUyYWU2NmRj
NTIxMDMyZWMyMDY3MGFkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01MCw3ICs1
MCw3IEBAIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWRJZGVudGlmaWVyIGlkZW50aWZpZXIgeyAw
IH07CiAgICAgVmVjdG9yPFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5k
Ym94RXh0ZW5zaW9uczsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgog
ICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8v
IENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KLSAgICBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lIHsgMG1zIH07CisgICAgU2Vjb25kcyBt
YXhpbXVtQnVmZmVyaW5nVGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKaW5kZXggOTAxMDU5OTY4YTM5MTMwMWRhMmFjOTIzNzRiN2Y5MjQ1ZDY5NGRkNi4uMmM3
YWUzYWE3NmI3Mjk3NTY0ODAzMDM1NmJkOWYwNzQyMGVjMmY5MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0yMDksNyArMjA5LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29y
a0xvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogCiAgICAgY29uc3VtZVNhbmRi
b3hFeHRlbnNpb25zKCk7CiAKLSAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVy
cy5tYXhpbXVtQnVmZmVyaW5nVGltZSA+IDBtcykKKyAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8
IG1fcGFyYW1ldGVycy5tYXhpbXVtQnVmZmVyaW5nVGltZSA+IDBfcykKICAgICAgICAgbV9idWZm
ZXJlZERhdGEgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSgpOwogCiAjaWYgRU5BQkxFKE5FVFdPUktf
Q0FDSEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9h
ZC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaAppbmRleCAzMDBj
MzA4MTI0ZjM0Y2E2N2E5ZGE1YmI3NDA1NGU2MDJlYzI5ZDEyLi5hMmU0MzNhMzAzYjBlOTJkNGVj
NjNjNWQ2OTNkNDUwYWVmYTZlY2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9QaW5nTG9hZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1Bp
bmdMb2FkLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBz
ZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZl
ci4KICAgICAgICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2Uu
Ci0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1f
dGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMF9zKTsKICAgICB9CiAgICAgCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRl
eCBhNDM1OWYzYjAxN2M0NDE3MzFhYzg5ZWI4NzdmZWUyZjJjNTdiMThiLi4wNDMwNTViNmVmNmUy
M2Q3NDQzZDIzZmQ4MWE5ZWM5NWM2MTRkYmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBuYW1lc3BhY2UgTmV0
d29ya0NhY2hlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBh
dXRvIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAxMHM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBw
cmVsb2FkZWRFbnRyeUxpZmV0aW1lID0gMTBfczsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRp
YyBIYXNoQ291bnRlZFNldDxTdHJpbmc+JiBhbGxTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGlj
TWVzc2FnZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAppbmRleCAxMGE1MjAzZWZkODE4
MGUwYWNhMzRiZTU0ZGY1MjU4MmY1OWM5NWY3Li44MjEyYzc2MzdjMzEyZGZmZjc3MWNiN2JhMDkx
OWJlOTE5YjU4ZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcApAQCAtNDQsNyArNDQs
NyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiBzdGF0
aWMgY29uc3QgY2hhciogU3RhdGlzdGljc0RhdGFiYXNlTmFtZSA9ICJXZWJLaXRDYWNoZVN0YXRp
c3RpY3MuZGIiOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW51
bVdyaXRlSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDEwMDAwKTsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0gMTBfczsKIAogc3RhdGljIGJv
b2wgZXhlY3V0ZVNRTENvbW1hbmQoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFiYXNlLCBj
b25zdCBTdHJpbmcmIHNxbCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggYjA2YjFjZjg2
YTg1ZDQ0MWRhYzE3YzgzNTUwM2Y1ZjAzY2RlYzFhMi4uZWNhMTAyZmRlZWIxMmRhYTAwYWY0YTFk
N2U0YzFiMmJhM2I1NWRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTU3NCw3ICs1NzQs
NyBAQCB2b2lkIFN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbihzdGQ6OnVuaXF1ZV9wdHI8
UmVhZE9wZXJhdGlvbj4gcmVhZE9wZXJhdGlvbgogICAgIG1fYWN0aXZlUmVhZE9wZXJhdGlvbnMu
YWRkKFdURk1vdmUocmVhZE9wZXJhdGlvblB0cikpOwogCiAgICAgLy8gSS9PIHByZXNzdXJlIG1h
eSBtYWtlIGRpc2sgb3BlcmF0aW9ucyBzbG93LiBJZiB0aGV5IHN0YXJ0IHRha2luZyB2ZXJ5IGxv
bmcgdGltZSB3ZSByYXRoZXIgZ28gdG8gbmV0d29yay4KLSAgICBjb25zdCBhdXRvIHJlYWRUaW1l
b3V0ID0gMTUwMG1zOworICAgIGNvbnN0IFNlY29uZHMgcmVhZFRpbWVvdXQgPSAxLjVfczsKICAg
ICBtX3JlYWRPcGVyYXRpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsK
IAogICAgIGJvb2wgc2hvdWxkR2V0Qm9keUJsb2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0
aW9uLmtleSk7CkBAIC03OTYsNyArNzk2LDcgQEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBS
ZWNvcmQmIHJlY29yZCwgTWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAog
ICAgIC8vIERlbGF5IHRoZSBzdGFydCBvZiB3cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5n
IGVhcmx5IHBhZ2UgbG9hZC4KICAgICAvLyBDb21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNo
IG1vcmUgd3JpdGVzIHdpdGhvdXQgZGVsYXkuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlh
bFdyaXRlRGVsYXkgPSAxczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsV3JpdGVE
ZWxheSA9IDFfczsKICAgICBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lci5zdGFydE9uZVNo
b3QoaW5pdGlhbFdyaXRlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDRj
ZWZhOGViMzU3YWU0NGJkMjVhNTc0NmI0NWZmOWEwOGI0ZTIwZGYuLjE4ZjBjY2Q4ZjcxNDEyM2M5
OGE5NTE1NDkyZDc1ODYzNmU2ZWM0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC0zMzMs
NyArMzMzLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6Y2FuY2VsKCkKIHZvaWQgTmV0
d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2NoZWR1bGVkRmFpbHVy
ZVR5cGUgIT0gTm9GYWlsdXJlKQotICAgICAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIFttX3Rh
c2sgcmVzdW1lXTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0FyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVu
dENvZGVycy5jcHAKaW5kZXggOWFjNzZjNmQzOTQ3ZGUyNjg3MWViNjg5MjA2NWJkYTZiNzc4Y2Zl
MS4uZDA0NmFmNWRlMjA3MzYzMjdiMTA3NjgzMGVjYjliOGE5ZWZlZDU4OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0zMiw2ICszMiwz
NiBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIAordm9pZCBBcmd1bWVudENvZGVyPE1vbm90b25pY1Rp
bWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkK
K3sKKyAgICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOworfQor
Citib29sIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQoreworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdGlt
ZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwordm9pZCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25kcykKK3sKKyAgICBlbmNvZGVyIDw8IHNlY29uZHMu
dmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25kcykKK3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBB
cmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+OjplbmNv
ZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2Nr
Ojp0aW1lX3BvaW50JiB0aW1lUG9pbnQpCiB7CiAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxp
bnQ2NF90Pih0aW1lUG9pbnQudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaAppbmRleCBmNmQ4OGI3Y2RiYjdk
ZTZmYTZhMmRjYjU0YWY4NmZhM2NhNzk3NmIyLi4wNzViZmY1MzUxOWRmODk3Zjc1MDM2ODI1YmQy
NjlmODdmMjY5YWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJn
dW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRD
b2RlcnMuaApAQCAtMTYzLDcgKzE2Myw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEVsZW1lbnRz
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OnR1cGxlPEVsZW1lbnRzLi4uPj4gewogICAgIH0K
IH07CiAKLQogdGVtcGxhdGU8dHlwZW5hbWUgUmVwLCB0eXBlbmFtZSBQZXJpb2Q+IHN0cnVjdCBB
cmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlvZD4+IHsKICAgICBz
dGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86OmR1
cmF0aW9uPFJlcCwgUGVyaW9kPiYgZHVyYXRpb24pCiAgICAgewpAQCAtMzc5LDYgKzM3OCwxNiBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtl
eVRyYWl0c0FyZz4gc3RydWN0IEFyZ3VtZQogICAgIH0KIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0
IEFyZ3VtZW50Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1lPiB7CisgICAgc3RhdGljIHZvaWQgZW5j
b2RlKEVuY29kZXImLCBjb25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKKyAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoRGVjb2RlciYsIFdURjo6TW9ub3RvbmljVGltZSYpOworfTsKKwordGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKKyAgICBzdGF0aWMgdm9pZCBl
bmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6U2Vjb25kcyYpOworICAgIHN0YXRpYyBib29sIGRl
Y29kZShEZWNvZGVyJiwgV1RGOjpTZWNvbmRzJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+IHsKICAg
ICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1f
Y2xvY2s6OnRpbWVfcG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIHN0
ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IGYwMTJhMDFiNTRkZTdkMWZjZTIxNzk3ZTZmNDU1
MDUwYzgzZTY4ODUuLjkwMmJlNGQxYTczZjhlMDQ3ZDkyMDlmMzJkNDVhMjg2YTk3MDMwZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAtMTg2LDcgKzE4Niw3
IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wga2lsbCgpOwotICAg
IHZvaWQgdGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpOworICAgIHZvaWQg
dGVybWluYXRlU29vbihTZWNvbmRzKTsKICNlbmRpZgogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29u
c3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9J
UEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5kZXggMjg5OTUxMjk0NjNlODMxOTEwNzBiZWU4NWZk
YmU4NzA1NDhlNTViMS4uNzA0NDY5MTU2YWY4MWJkNDE1OGYxNzFlMDgxN2Q4OGVkYmZiMTdhOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5t
bQpAQCAtODAsMjAgKzgwLDIwIEBAIGVudW0gewogLy8gICAgdG8gZW5zdXJlIGl0IGhhcyBhIGNo
YW5jZSB0byB0ZXJtaW5hdGUgY2xlYW5seS4KIGNsYXNzIENvbm5lY3Rpb25UZXJtaW5hdGlvbldh
dGNoZG9nIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlv
biwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5l
Y3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4
cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgIHsKLSAgICAgICAgbmV3IENvbm5l
Y3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRz
KTsKKyAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rp
b24sIGludGVydmFsKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgotICAgIENvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0
aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCisgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9u
V2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNl
Y29uZHMgaW50ZXJ2YWwpCiAgICAgICAgIDogbV94cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24p
CiAgICAgICAgICwgbV93YXRjaGRvZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNvbm5l
Y3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjp3YXRjaGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgICAgICAsIG1fYXNzZXJ0aW9uKHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQ
cm9jZXNzQW5kVUlBc3NlcnRpb24+KHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0
aW9uLmdldCgpKSwgV2ViS2l0OjpBc3NlcnRpb25TdGF0ZTo6QmFja2dyb3VuZCkpCiAjZW5kaWYK
ICAgICB7Ci0gICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWxJblNl
Y29uZHMpOworICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsK
ICAgICB9CiAgICAgCiAgICAgdm9pZCB3YXRjaGRvZ1RpbWVyRmlyZWQoKQpAQCAtMTUxLDEwICsx
NTEsMTAgQEAgdm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUludmFsaWRhdGUoKQogI2VuZGlmCiB9
CiAgICAgCi12b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5T
ZWNvbmRzKQordm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKFNlY29uZHMgaW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1feHBjQ29ubmVjdGlvbikKLSAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0
aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29u
bmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBDb25uZWN0aW9uVGVybWluYXRp
b25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25u
ZWN0aW9uLCBpbnRlcnZhbCk7CiB9CiAgICAgCiB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW5p
dGlhbGl6ZShJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKaW5kZXggZGE5ZGIyMjRl
ZGMwZWEwY2JkMDAyZGMxNzEyYTBjMTg2ZDE5MzVlNC4uMTczOTUyNTA5NTcxZDhmNDkwYTczZTdm
YTk2OTU5M2M3YjgzMjRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQg
UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95KCkKICAgICBpZiAobV9wbHVnaW5EZXN0cnVj
dGlvblByb3RlY3RDb3VudCB8fCBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS0+aW5TZW5kU3lu
YygpKSB7CiAgICAgICAgIC8vIFdlIGhhdmUgcGx1Zy1pbiBjb2RlIG9uIHRoZSBzdGFjayBzbyB3
ZSBjYW4ndCBkZXN0cm95IGl0IHJpZ2h0IG5vdy4KICAgICAgICAgLy8gRGVzdHJveSBpdCBsYXRl
ci4KLSAgICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5
OjpzdGFydFBhaW50VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTdGFydCB0aGUg
dGltZXIuCi0gICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BhaW50VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBtX3dhaXRpbmdGb3JEaWRVcGRhdGUgPSB0cnVl
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9j
ZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAK
aW5kZXggYTcyNGViMDhmOTBkNTlkYjEyOTgyMzQ0MWU3N2UwOGZlZWM3YjI1Yi4uMzk1ZDc2NGQ0
NzFmNTFkZTk5ODBjNjEyMWU2MDMyY2ZhYzQ5ODJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCkBAIC0yMjAsOSArMjIwLDkgQEAgdm9pZCBQ
bHVnaW5Qcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYgaG9zdE5hbWUKICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1l
c3NhZ2VzOjpQbHVnaW5Qcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5h
bWVzKGNhbGxiYWNrSUQpLCAwKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVt
TGlmZXRpbWUoZG91YmxlIGxpZmV0aW1lKQordm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVt
TGlmZXRpbWUoU2Vjb25kcyBsaWZldGltZSkKIHsKLSAgICBpZiAobGlmZXRpbWUgPD0gMC4wKQor
ICAgIGlmIChsaWZldGltZSA8PSAwX3MpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBkaXNh
YmxlVGVybWluYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Q
cm9jZXNzLmgKaW5kZXggOWE5MGU0YzI1MzkzYTdlZDQ2Yzk4N2I1ZWU0NDQ5YTc0YWI5MjMzYi4u
MjBhYzA2N2IwNDk1ZTZhYzc2MjJjMDA2MjAwMzhjMDFmNWYzMDI5MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKFBsdWdp
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgCi0gICAgdm9pZCBzZXRNaW5pbXVt
TGlmZXRpbWUoZG91YmxlKTsKKyAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShTZWNvbmRzKTsK
ICAgICB2b2lkIG1pbmltdW1MaWZldGltZVRpbWVyRmlyZWQoKTsKICAgICAvLyBPdXIgd2ViIHBy
b2Nlc3MgY29ubmVjdGlvbnMuCiAgICAgVmVjdG9yPFJlZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlv
bj4+IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0NhY2hlTW9kZWwuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwu
Y3BwCmluZGV4IDQwM2YzNGRmY2Q0YjdhZGM0OWJhMDQ2MmI5ZmRlZmE2ZGVmM2ZkNDUuLmRiMjE5
NjU0ZDBlMjMxNzZiZWU5YWRiZGRlYzE3OTY0YTI5MjBhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2FjaGVNb2RlbC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
LXZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVu
c2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0
eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYg
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFj
aXR5KQordm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2Rl
bCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENh
cGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkKIHsK
ICAgICB1aW50NjRfdCBtZW1vcnlTaXplID0gcmFtU2l6ZSgpIC8gTUI7CiAKQEAgLTEwOSw3ICsx
MDksNyBAQCB2b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1v
ZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhh
dCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgog
ICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IHN0ZDo6bWF4KDI0dSwgY2FjaGVNYXhEZWFk
Q2FwYWNpdHkpOwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBz
dGQ6OmNocm9ubzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwgPSA2MF9zOwogCiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2FjaGVNb2RlbC5oCmluZGV4IGNmNDczNDU0ZmUyYWMzM2QzY2E0M2E3MmZhNTkzZTRjNGU1
MWQzZDUuLjFlMDc3Njg4ZWE3OGRjODQyOTg4ZjRmNWYwM2FjYWJiOTMxMjRhNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0NhY2hlTW9kZWwuaApAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBDYWNoZU1v
ZGVsX2gKICNkZWZpbmUgQ2FjaGVNb2RlbF9oCiAKLSNpbmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVk
ZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKQEAgLTM3LDcgKzM3LDcgQEAgZW51bSBDYWNoZU1vZGVsIHsKICAgICBDYWNoZU1vZGVs
UHJpbWFyeVdlYkJyb3dzZXIKIH07CiAKLXZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhD
YWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
aW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJv
bm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBw
YWdlQ2FjaGVDYXBhY2l0eSk7Cit2b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVN
b2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVh
ZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSk7
CiB2b2lkIGNhbGN1bGF0ZVVSTENhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdWludDY0X3QgZGlza0Zy
ZWVTaXplLCB1bnNpZ25lZCYgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSwgdWludDY0X3QmIHVybENh
Y2hlRGlza0NhcGFjaXR5KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuY3BwCmluZGV4IDE3NTc4OWZiOWFlNzEzZjE2ZWVlZGJmYWJlMDBk
NmYzM2U2M2NmMjMuLjQ5Yjc5NDY1ZGY2ZTFiMmExMjFjM2ZhNTJkMDAzZmIxOTUxYmMyNWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCkBAIC0zMyw4ICszMyw3IEBACiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogQ2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MoKQotICAgIDog
bV90ZXJtaW5hdGlvblRpbWVvdXQoMCkKLSAgICAsIG1fdGVybWluYXRpb25Db3VudGVyKDApCisg
ICAgOiBtX3Rlcm1pbmF0aW9uQ291bnRlcigwKQogICAgICwgbV90ZXJtaW5hdGlvblRpbWVyKFJ1
bkxvb3A6Om1haW4oKSwgdGhpcywgJkNoaWxkUHJvY2Vzczo6dGVybWluYXRpb25UaW1lckZpcmVk
KQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZCgiUHJvY2VzcyBTdXBwcmVzc2lv
biBEaXNhYmxlZCBieSBVSVByb2Nlc3MiKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5oCmluZGV4IGEwNmUzNDlhMzhjMjgxZjVhY2U4ZDM2MjJhMDU0NjFmOTQwNGRhNWMuLjk4NWFk
NmE2MWIyYTgyYWI3ODUwMjlmZTQyZGVjNDc1MmVmYzQ2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmgKQEAgLTgxLDcgKzgxLDcgQEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0
IENoaWxkUHJvY2VzcygpOwogICAgIHZpcnR1YWwgfkNoaWxkUHJvY2VzcygpOwogCi0gICAgdm9p
ZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoZG91YmxlIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRp
bWVvdXQgPSBzZWNvbmRzOyB9CisgICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoU2Vjb25k
cyBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25kczsgfQogCiAgICAgdmly
dHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0
aW9uUGFyYW1ldGVycyYpOwogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzc05hbWUo
Y29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CkBAIC0xMTcsNyAr
MTE3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIFRoZSB0aW1lb3V0LCBpbiBzZWNvbmRzLCBiZWZv
cmUgdGhpcyBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZCBpZiB0ZXJtaW5hdGlvbgogICAgIC8v
IGhhcyBiZWVuIGVuYWJsZWQuIElmIHRoZSB0aW1lb3V0IGlzIDAgc2Vjb25kcywgdGhlIHByb2Nl
c3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGltbWVkaWF0ZWx5LgotICAgIGRvdWJsZSBtX3Rlcm1pbmF0
aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1fdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgLy8g
QSB0ZXJtaW5hdGlvbiBjb3VudGVyOyB3aGVuIHRoZSBjb3VudGVyIHJlYWNoZXMgemVybywgdGhl
IHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkCiAgICAgLy8gYWZ0ZXIgYSBnaXZlbiBwZXJpb2Qg
b2YgdGltZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhMTJhNDQ0NWJiMTZj
YWFmNjkyNzNiNjRhODYzMjEwOGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJkODI1OThhY2E2Y2Y4NDU0
ZWI0ZmExY2RlNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vz
c0F0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAjaW5jbHVkZSA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+CkBAIC01MSw4ICs1Miw4
IEBAIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBQbHVnaW5Q
cm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAgICBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzUGx1
Z2luSW5pdGlhbGl6YXRpb247CiAKLSAgICBkb3VibGUgbWluaW11bUxpZmV0aW1lOwotICAgIGRv
dWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWU7Cisg
ICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICBXZWJDb3JlOjpNYWNoU2VuZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBm
MGZmYjc3MjZhNTNlZTRmODQyM2Q0NmI3OWJiMGZkYWYwNWRlN2M0Li4zODBlMDFlNWU3NDYxNzM3
ZTU3NTNlOTY2NWFjMmUzNDYwNTUyNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTA2LDM2ICsxMDYsNiBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdm9pZCBBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgTW9ub3RvbmljVGlt
ZSYgdGltZSkKLXsKLSAgICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1
ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAgIGRvdWJsZSB2YWx1ZTsK
LSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgdGltZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKHZhbHVlKTsKLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjplbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBlbmNvZGVyIDw8
IHNlY29uZHMudmFsdWUoKTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBkb3VibGUgdmFs
dWU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQogdm9pZCBBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFmZmluZVRyYW5zZm9ybSkKIHsKICAgICBT
aW1wbGVBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShlbmNvZGVyLCBhZmZp
bmVUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5oCmluZGV4IDQ4MTlmY2JjMDRhYzcxNjI1NjczYTg0NDY3Zjc0NTQyY2NiOTI5OTUuLjMx
NTQwNjJkOWRjMzUyYTkxZjRiMzNiYjY1NDM5OTU2ZTU4ODA5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMxLDExICszMSw2IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9JbmRleGVkREIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BheW1lbnRI
ZWFkZXJzLmg+CiAKLW5hbWVzcGFjZSBXVEYgewotY2xhc3MgTW9ub3RvbmljVGltZTsKLWNsYXNz
IFNlY29uZHM7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFmZmluZVRyYW5zZm9y
bTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwpAQCAtMTUyLDE2ICsxNDcsNiBAQCB1
c2luZyBJREJLZXlQYXRoID0gVmFyaWFudDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+PjsKIAogbmFt
ZXNwYWNlIElQQyB7CiAKLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpNb25v
dG9uaWNUaW1lPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6
Ok1vbm90b25pY1RpbWUmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6
TW9ub3RvbmljVGltZSYpOwotfTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxX
VEY6OlNlY29uZHM+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdU
Rjo6U2Vjb25kcyYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpTZWNv
bmRzJik7Ci19OwotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFm
ZmluZVRyYW5zZm9ybT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3Qg
V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29k
ZXImLCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAwNTNmYTZlYTI5NzNjZTdiMWRiM2NmZjM5Mjc1MWVh
YmY0ZTE4ZDEwLi5kZGVhMmFiZGM0NGU0ZWEwMjI3ZTI5ZTc2ZTRiZTNhZWNlZTYwNWU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC01Nyw3ICs1Nyw2
IEBAIFdlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIoKQogICAgIDogbV9zYW1wbGVU
aW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQpCiAgICAgLCBt
X3N0b3BUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZpcmVkKQogICAg
ICwgbV9pc1J1bm5pbmcoZmFsc2UpCi0gICAgLCBtX3J1bm5pbmdUaW1lKDApCiB7CiB9CiAKQEAg
LTY3LDcgKzY2LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBkb3VibGUg
aW50ZXJ2YWwpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpbml0aWFsaXplVGVtcExvZ0Zp
bGUoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAgICBpbml0aWFsaXplVGlt
ZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFy
dChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIGNv
bnN0IFN0cmluZyYgc2FtcGxlTG9nRmlsZVBhdGgsIGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkgCkBA
IC04MiwxNyArODEsMTcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUKICAgICB9CiAgICAgICAg
IAogICAgIGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIHNh
bXBsZUxvZ0ZpbGVQYXRoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAgICBp
bml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKICAgIAogfQogCi12b2lkIFdlYk1l
bW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVydmFsKQordm9pZCBXZWJN
ZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKFNlY29uZHMgaW50ZXJ2YWwpCiB7Ci0gICAg
bV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxKTsKKyAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMoMSkpOwogICAgIHByaW50ZigiU3RhcnRlZCBtZW1vcnkgc2FtcGxl
ciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgpLmRhdGEoKSwgZ2V0cGlk
KCkpOwotICAgIGlmIChpbnRlcnZhbCA+IDApIHsKKyAgICBpZiAoaW50ZXJ2YWwgPiAwX3MpIHsK
ICAgICAgICAgbV9zdG9wVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKLSAgICAgICAgcHJp
bnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsKTsKKyAgICAgICAg
cHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsLnZhbHVlKCkp
OwogICAgIH0KICAgICBwcmludGYoIjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQgYXQ6ICVzXG4i
LCBtX3NhbXBsZUxvZ0ZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwogICAgIG1fcnVubmluZ1RpbWUg
PSBpbnRlcnZhbDsKQEAgLTE1OSw3ICsxNTgsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0
b3BUaW1lckZpcmVkKCkKIHsKICAgICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAgICByZXR1cm47
Ci0gICAgcHJpbnRmKCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9yeSBzYW1wbGVy
Li4uXG4iLCBtX3J1bm5pbmdUaW1lKTsKKyAgICBwcmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4g
U3RvcHBpbmcgbWVtb3J5IHNhbXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUudmFsdWUoKSk7CiAg
ICAgc3RvcCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaApp
bmRleCAyNzg3YjUxNWRhYmM1MWViZWM1YmMwNjQ2ZjEzYmVmZTUxMjk4NjIyLi5kYTQyODhiNTg0
MDlmZmJhYWY4ZDI3M2NiMzg1ODQ1YjBkMWQ4ODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJNZW1vcnlTYW1wbGVyLmgKQEAgLTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGlu
aXRpYWxpemVUZW1wTG9nRmlsZSgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVNhbmRib3hlZExvZ0Zp
bGUoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiwgY29uc3QgU3RyaW5nJik7CiAgICAg
dm9pZCB3cml0ZUhlYWRlcnMoKTsKLSAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMoZG91YmxlKTsK
KyAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyk7CiAgICAgdm9pZCBzYW1wbGVUaW1l
ckZpcmVkKCk7CiAgICAgdm9pZCBzdG9wVGltZXJGaXJlZCgpOwogICAgIHZvaWQgYXBwZW5kQ3Vy
cmVudE1lbW9yeVVzYWdlVG9GaWxlKFdlYkNvcmU6OlBsYXRmb3JtRmlsZUhhbmRsZSYpOwpAQCAt
MTAwLDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VGltZXIgbV9zYW1wbGVUaW1l
cjsKICAgICBXZWJDb3JlOjpUaW1lciBtX3N0b3BUaW1lcjsKICAgICBib29sIG1faXNSdW5uaW5n
OwotICAgIGRvdWJsZSBtX3J1bm5pbmdUaW1lOworICAgIFNlY29uZHMgbV9ydW5uaW5nVGltZTsK
ICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94RXh0ZW5zaW9u
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKaW5kZXggZWM4NmUxZTIxZmZjY2Q2ZDg3MmFhYTFmMmQ0MTllNDY2NmEz
MjdkYi4uMGQzN2I5YTNlZDdlMzY0YzFjNGI2OTkzZjkwNjc5MmE1ZmVhZWVkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CkBAIC0xMTMsNyArMTEzLDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
ewogCiAgICAgYm9vbCBpY29uRGF0YWJhc2VFbmFibGVkOwogCi0gICAgZG91YmxlIHRlcm1pbmF0
aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogICAgIFZlY3Rv
cjxTdHJpbmc+IGxhbmd1YWdlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCmluZGV4IDZhZjc5MDJkYTNmOWZhOWMyZWFiZGFh
YTBlNWQ3ODVmNjUzMmU2ZTcuLjQzNjhjYzJjYzFiM2Y1YzZkNWE4ZWIzYjM4MGIyZThiZGIzYTRh
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlLmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVj
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSU9TdXJmYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZWdpb24uaD4KLSNpbmNsdWRlIDxjaHJvbm8+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUu
aD4KIAogT0JKQ19DTEFTUyBDQUxheWVyOwogCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgc2V0QnVmZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlIHR5cGUsIGJvb2wgaXNWb2xh
dGlsZSk7CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IGxhc3RE
aXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9CisgICAgTW9u
b3RvbmljVGltZSBsYXN0RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5
VGltZTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgZHJhd0luQ29udGV4dChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQmLCBDR0ltYWdlUmVmIGJhY2tJbWFnZSk7CkBAIC0xMDMsOCArMTAzLDEwIEBA
IHByaXZhdGU6CiAgICAgUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBtX2xheWVyOwogCiAgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIG1fc2l6ZTsKLSAgICBmbG9hdCBtX3NjYWxlOwotICAgIGJvb2wgbV9p
c09wYXF1ZTsKKyAgICBmbG9hdCBtX3NjYWxlIHsgMSB9OworCisgICAgYm9vbCBtX2lzT3BhcXVl
IHsgZmFsc2UgfTsKKyAgICBib29sIG1fYWNjZWxlcmF0ZXNEcmF3aW5nIHsgZmFsc2UgfTsKIAog
ICAgIFdlYkNvcmU6OlJlZ2lvbiBtX2RpcnR5UmVnaW9uOwogCkBAIC0xMTIsNyArMTE0LDcgQEAg
cHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwOwogI2lmIFVT
RShJT1NVUkZBQ0UpCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+
IHN1cmZhY2U7Ci0gICAgICAgIGJvb2wgaXNWb2xhdGlsZSA9IGZhbHNlOworICAgICAgICBib29s
IGlzVm9sYXRpbGUgeyBmYWxzZSB9OwogI2VuZGlmCiAKICAgICAgICAgZXhwbGljaXQgb3BlcmF0
b3IgYm9vbCgpIGNvbnN0CkBAIC0xMzgsMTEgKzE0MCw5IEBAIHByaXZhdGU6CiAKICAgICBSZXRh
aW5QdHI8Q0dDb250ZXh0UmVmPiBtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaDsKIAotICAgIGJv
b2wgbV9hY2NlbGVyYXRlc0RyYXdpbmc7Ci0KICAgICBXZWJDb3JlOjpSZXBhaW50UmVjdExpc3Qg
bV9wYWludGluZ1JlY3RzOwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9w
b2ludCBtX2xhc3REaXNwbGF5VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdERpc3BsYXlU
aW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCBkNTcxOWRkYTEy
YmVhYjgyMmRmMzJiNzIxNThlYmE2YTVlOTk0MjA1Li5jYmNmNzFjNWY3NTRlZWMzZTg2MGZmMTJm
YzczZmZhODVjNjdkZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KQEAgLTYyLDggKzYyLDYgQEAgc3RhdGljIFdlYkNv
cmU6OklPU3VyZmFjZTo6Rm9ybWF0IGJ1ZmZlckZvcm1hdChib29sIGlzT3BhcXVlKQogCiBSZW1v
dGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoUGxhdGZvcm1DQUxh
eWVyUmVtb3RlKiBsYXllcikKICAgICA6IG1fbGF5ZXIobGF5ZXIpCi0gICAgLCBtX2lzT3BhcXVl
KGZhbHNlKQotICAgICwgbV9sYXN0RGlzcGxheVRpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludDo6bWluKCkpCiB7CiAgICAgaWYgKCFtX2xheWVyKQogICAgICAgICByZXR1
cm47CkBAIC0yMzEsNyArMjI5LDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlz
cGxheSgpCiB7CiAgICAgQVNTRVJUKCFtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaCk7CiAKLSAg
ICBtX2xhc3REaXNwbGF5VGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwor
ICAgIG1fbGFzdERpc3BsYXlUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBib29s
IG5lZWRUb0VuY29kZUJhY2tpbmdTdG9yZSA9IGZhbHNlOwogICAgIGlmIChSZW1vdGVMYXllclRy
ZWVDb250ZXh0KiBjb250ZXh0ID0gbV9sYXllci0+Y29udGV4dCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uLmgKaW5kZXggZmU0OTcxZWU3MzkyNDE0YWJjMTE5NDBhYzc5ZjhmNzkxNGNhNDg2Mi4u
Y2Q4M2EzOGQ5ODQ1NWRiNWQ1NGVkM2Y0NjUzOTg2ZWVkOTc0NTMyMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICB0eXBl
ZGVmIHVuc2lnbmVkIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3M7CiAgICAgYm9vbCBtYXJrQmFja2lu
Z1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIFZvbGF0
aWxpdHlNYXJraW5nRmxhZ3Mgdm9sYXRpbGl0eU1hcmtpbmdGbGFncyA9IDApOwotICAgIGJvb2wg
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBub3cpOworICAgIGJvb2wgbWFya0JhY2tp
bmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgTW9ub3RvbmljVGltZSBu
b3cpOwogCiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fbGl2ZUJhY2tp
bmdTdG9yZTsKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV91bnBhcmVu
dGVkQmFja2luZ1N0b3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRleCAyNjgzNmU3
YmYzODY0N2U0ODAwYTY0YjBjNzVjZTZmZmIwY2ExNGJlLi5iZGM4N2E3MDgwNzM2NGU2NjM5OWM5
ZDY3YzI1NmUzMWVmZmM4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQpAQCAtMzAs
OSArMzAsOSBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCIKICNpbXBvcnQg
IlJlbW90ZUxheWVyVHJlZUNvbnRleHQuaCIKIAotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMg
dm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAxczsKLWNvbnN0IHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQg
PSAyMDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGl0eVRpbWVy
SW50ZXJ2YWwgPSAyMDBtczsKK2NvbnN0IFNlY29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQgPSBTZWNvbmRzKDEpOworY29uc3QgU2Vjb25kcyB2b2xhdGlsZVNlY29uZGFyeUJh
Y2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IFNlY29uZHMoMC4yKTsKK2NvbnN0IFNlY29uZHMgdm9s
YXRpbGl0eVRpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDAuMik7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCkBAIC0xMjAsNyArMTIwLDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxl
Y3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW8KICAgICByZXR1
cm4gc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlOwogfQogCi1ib29sIFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUsIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbm93KQorYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxl
Y3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYg
YmFja2luZ1N0b3JlLCBNb25vdG9uaWNUaW1lIG5vdykKIHsKICAgICBpZiAobm93IC0gYmFja2lu
Z1N0b3JlLmxhc3REaXNwbGF5VGltZSgpIDwgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hv
bGQpIHsKICAgICAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA+
PSB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkKQEAgLTE2NCw3ICsx
NjQsNyBAQCB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9sYXRpbGl0
eVRpbWVyRmlyZWQoKQogewogICAgIGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZv
bGF0aWxlID0gdHJ1ZTsKIAotICAgIGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6bm93KCk7CisgICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBmb3Ig
KGNvbnN0IGF1dG8mIGJhY2tpbmdTdG9yZSA6IG1fbGl2ZUJhY2tpbmdTdG9yZSkKICAgICAgICAg
c3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlICY9IG1hcmtCYWNraW5nU3RvcmVW
b2xhdGlsZSgqYmFja2luZ1N0b3JlLCBub3cpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFs
dWVDb2NvYS5tbQppbmRleCA4Mzk0NWRmZWQzMWM1OTE4MzU4YmU3ZjY3MTZiMWJmZTcwMTg4YjU5
Li4xYjVkZDAzNjM5MWYyMmI5ZWJjNWI3MjNkOTIyM2Y4MDI5MGU5YTE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2Vy
aWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgaWYgKCFtX2NvbnRleHQpIHsKICAgICAgICAgICAgIG1fY29udGV4dCA9IGFk
b3B0TlMoW1tKU0NvbnRleHQgYWxsb2NdIGluaXRdKTsKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9zKTsKICAg
ICAgICAgfQogICAgICAgICByZXR1cm4gbV9jb250ZXh0LmdldCgpOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXggZDI3NzAwNTk2MWQy
OWFlZDY3NTA5MzY5NGIyM2U0ZTgyNTVlMTA4Ni4uMTEzNWY3OTc4NWVkOWY3N2MwYTVhYjk1OWJm
MTI0ZDcwNmU5ZTcyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdr
Vmlldy5jcHAKQEAgLTU5MCw3ICs1OTAsNyBAQCB2b2lkIEV3a1ZpZXc6OnNjaGVkdWxlVXBkYXRl
RGlzcGxheSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9kaXNwbGF5VGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBFd2tWaWV3Ojpz
ZXRWaWV3cG9ydFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRzUG9zaXRpb24pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAKaW5kZXggMDRjN2U5NTQ3Mjk5NTdjZTQyODJlYjQwZTFjODcxMDNjMTQ0NWY1Zi4u
YzJiZTM2NWY3MWU5OGYzNGY5ZTg1ZTRkNmFkMTg5M2NlYzY5ZjNkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApA
QCAtMjE5LDcgKzIxOSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVV
cGRhdGVBY3Rpdml0eVN0YXRlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWCiAgICAgaWYgKHByaXYt
PnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
c3RhdGljIGdib29sZWFuIHRvcGxldmVsV2luZG93Rm9jdXNJbkV2ZW50KEd0a1dpZGdldCogd2lk
Z2V0LCBHZGtFdmVudEZvY3VzKiwgV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZmQ4
YmM1YWM5YTk3YzgzMDU1ZDQ4Yjc1YmE4MDA5MzM5OTY1MTdiMC4uMmQ2ZmViOTQ3ZjFjODY4MWUz
MGJmMTRiMGRjNzY1YzgxNDMyZjYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q2hpbGRQcm9jZXNzUHJveHkuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBDaGlsZFByb2Nl
c3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKCkKICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdh
dGNoZG9nIGluIHRoZSBVSSBwcm9jZXNzLCBzaW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUg
c3VzcGVuZGVkLgogICAgICAgICAvLyBJZiAzMHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0
c3RhbmRpbmcgYWN0aXZpdHkgdG8gY29tcGxldGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtp
bGxlZC4KICAgICAgICAgQVNTRVJUKG1fY29ubmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlv
bi0+dGVybWluYXRlU29vbigzMCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29v
bigzMF9zKTsKICNlbmRpZgogICAgICAgICBicmVhazsKICAgICBjYXNlIFN0YXRlOjpUZXJtaW5h
dGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRp
b25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW0KaW5kZXggNDUyOTkyMmI0ZmJmNmJmNTMxYzdjMDVhN2MyMjNiNjM1MTQzMjU2MC4uZjgx
NmU3ZjBjMzIxYWYyYTlkODYyMWE3YjRjNWYxYThhNzgwMzk3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC04NTIsNyArODUy
LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZygpCiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gRGVsYXkgcmVsZWFzaW5nIHRoZSBiYWNrZ3JvdW5kIGFjdGl2aXR5
IGZvciAzIHNlY29uZHMgdG8gZ2l2ZSB0aGUgYXBwbGljYXRpb24gYSBjaGFuY2UgdG8gc3RhcnQg
YW5vdGhlciBuYXZpZ2F0aW9uCiAgICAgICAgIC8vIGJlZm9yZSBzdXNwZW5kaW5nIHRoZSBXZWJD
b250ZW50IHByb2Nlc3MgPHJkYXI6Ly9wcm9ibGVtLzI3OTEwOTY0Pi4KLSAgICAgICAgbV9yZWxl
YXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoM3MpOworICAgICAgICBtX3JlbGVhc2VBY3Rp
dml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzX3MpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
Y3BwCmluZGV4IDQ5ZjE4ZTM3OGE1MjlkMDU2NWIwZDdlZTllNjE4ODIxMmNmZGQyYjguLjZiNTRj
NmRkZThkOTY4NmFiMzU4MmZhYTE4MDJkMjlhNjFkNmVhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBA
IC00MCwxMyArNDAsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hv
dFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24g
PSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNo
b3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGljIGNv
bnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxs
eU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSBTZWNvbmRzKDMpOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gU2Vj
b25kcygwLjI1KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1czsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9
IDVfczsKICNlbHNlCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFw
c2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBz
d2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzX3M7CiAjZW5kaWYKIAogc3Rh
dGljIEhhc2hNYXA8dWludDY0X3QsIFZpZXdHZXN0dXJlQ29udHJvbGxlcio+JiB2aWV3R2VzdHVy
ZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKQpAQCAtMjk3LDEwICsyOTcsMTAgQEAgdm9pZCBWaWV3
R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OndhdGNoZG9nVGltZXJG
aXJlZCgpCiAgICAgZmlyZVJlbW92YWxDYWxsYmFja0ltbWVkaWF0ZWx5KCk7CiB9CiAKLXZvaWQg
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNo
ZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGR1cmF0aW9uKQordm9pZCBWaWV3R2VzdHVyZUNvbnRy
b2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coU2Vjb25kcyBkdXJh
dGlvbikKIHsKLSAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRp
bWVyIGZvciAlbGxkIHNlY29uZHMiLCBkdXJhdGlvbi5jb3VudCgpKSk7Ci0gICAgbV93YXRjaGRv
Z1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbi5jb3VudCgpKTsKKyAgICBsb2coU3RyaW5nOjpm
b3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlLjNmIHNlY29uZHMiLCBkdXJh
dGlvbi52YWx1ZSgpKSk7CisgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlv
bik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCmluZGV4IDc1OGQ3MzUw
ZGJkODQ3NTc0NjZjY2RiYTg0MzZiNmU0OWQ2MmJjMmQuLmUxNGQ3Mzk3MTkyYWQwYzA3ZjEyMjgw
OWZjODdiMTQ0NDc2ZDRkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwcml2
YXRlOgogICAgICAgICBib29sIGV2ZW50T2NjdXJyZWQoRXZlbnRzKTsKICAgICAgICAgYm9vbCBj
YW5jZWxPdXRzdGFuZGluZ0V2ZW50KEV2ZW50cyk7CiAKLSAgICAgICAgdm9pZCBzdGFydFdhdGNo
ZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKTsKKyAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKFNl
Y29uZHMpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIFN0cmluZyBldmVudHNEZXNj
cmlwdGlvbihFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA0OWQ0ZDViZDVhOTlkNGQ5ODExMTZhMDhh
MTMyN2Q1MDFjYmFiOTUxLi5iMGMzMWNiMWVkZDAyNTJhMjJiYjlhN2E5ODEzNjJjYWQ0MjRiYWIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Bvb2xDb2NvYS5tbQpAQCAtMjUzLDcgKzI1Myw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBs
YXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
CiAjZW5kaWYKIAogICAgIHBhcmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhh
bmRsZXIgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJl
SGFuZGxlckRlZmF1bHRzS2V5XTsKLSAgICBwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kg
PSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldlYktp
dE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldKTsKKyAg
ICBwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNv
bmRzKFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRl
bmN5TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldKTsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDExMDAKICAgICBSZXRhaW5QdHI8Q0ZE
YXRhUmVmPiBjb29raWVTdG9yYWdlRGF0YSA9IGFkb3B0Q0YoQ0ZIVFRQQ29va2llU3RvcmFnZUNy
ZWF0ZUlkZW50aWZ5aW5nRGF0YShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBbW05TSFRUUENvb2tpZVN0
b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIF9jb29raWVTdG9yYWdlXSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IGI0NWYyMjc5
ZTcyYmVlZTBhZTczM2M2ZTEwYWIxNDE5MmUwMWYyZTUuLjg1ZWMzODM3YzkxNWVlOGFjMjdkOWNm
MTNlOGVjMzRjNjNkZDliNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojpz
ZXRWaWV3RXhwb3NlZFJlY3Qoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJlY3Q+IHZpZXcK
ICAgICBtX3ZpZXdFeHBvc2VkUmVjdCA9IHZpZXdFeHBvc2VkUmVjdDsKIAogICAgIGlmICghbV92
aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV92aWV3RXhw
b3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3ZpZXdFeHBv
c2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEcmF3aW5n
QXJlYVByb3h5Ojp2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA0NDBk
ZjlhMzNlZTY5ODY3YjY0MjU4ZDAzMmUwNWU4MTlmMTNhODE0Li4wMDk5YTVmNjcxMDNjN2UzYzFi
YjY5YWNiMWY4ODZkZDMzMTEwM2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCB2b2lkIERyYXdp
bmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbigpCiAKICAgICAvLyBXZSds
bCB3YWl0IHRoaXMgbWFueSBzZWNvbmRzIGFmdGVyIHRoZSBsYXN0IHBhaW50IGJlZm9yZSB0aHJv
d2luZyBhd2F5IG91ciBiYWNraW5nIHN0b3JlIHRvIHNhdmUgbWVtb3J5LgogICAgIC8vIEZJWE1F
OiBJdCB3b3VsZCBiZSBzbWFydGVyIHRvIG1ha2UgdGhpcyBkZWxheSBiYXNlZCBvbiBob3cgZXhw
ZW5zaXZlIHBhaW50aW5nIGlzLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTU3MzM+LgotICAg
IHN0YXRpYyBjb25zdCBkb3VibGUgZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMjsKKyAgICBz
dGF0aWMgY29uc3QgU2Vjb25kcyBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyX3M7CiAKICAg
ICBtX2Rpc2NhcmRCYWNraW5nU3RvcmVUaW1lci5zdGFydE9uZVNob3QoZGlzY2FyZEJhY2tpbmdT
dG9yZURlbGF5KTsKIH0KQEAgLTIxMSwxMyArMjExLDEzIEBAIGludCBEcmF3aW5nQXJlYVByb3h5
SW1wbDo6RHJhd2luZ01vbml0b3I6OndlYlZpZXdEcmF3Q2FsbGJhY2soRHJhd2luZ0FyZWFQcm94
eUltCiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydChz
dGQ6OmZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFjaykKIHsKLSAg
ICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCk7CisgICAgbV9z
dGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBtX2NhbGxiYWNrID0gY2FsbGJh
Y2s7CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3dl
YlBhZ2Uudmlld1dpZGdldCgpLCAiZHJhdyIsIHJlaW50ZXJwcmV0X2Nhc3Q8R0NhbGxiYWNrPih3
ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7
CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygxKSk7CiAjZWxzZQotICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5k
aWYKIH0KIApAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRy
YXdpbmdNb25pdG9yOjpzdG9wKCkKICNpZiBQTEFURk9STShHVEspCiAgICAgZ19zaWduYWxfaGFu
ZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKG1fd2ViUGFnZS52aWV3V2lkZ2V0KCksIHJlaW50ZXJw
cmV0X2Nhc3Q8Z3BvaW50ZXI+KHdlYlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlzKTsKICNlbmRpZgot
ICAgIG1fc3RhcnRUaW1lID0gMDsKKyAgICBtX3N0YXJ0VGltZSA9IE1vbm90b25pY1RpbWUoKTsK
ICAgICBpZiAobV9jYWxsYmFjaykgewogICAgICAgICBtX2NhbGxiYWNrKENhbGxiYWNrQmFzZTo6
RXJyb3I6Ok5vbmUpOwogICAgICAgICBtX2NhbGxiYWNrID0gbnVsbHB0cjsKQEAgLTIzOSwxMCAr
MjM5LDEwIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWRE
cmF3KCkKICAgICAvLyBXZSB3YWl0IHVwIHRvIDEgc2Vjb25kIGZvciBkcmF3IGV2ZW50cy4gSWYg
dGhlcmUgYXJlIHNldmVyYWwgZHJhdyBldmVudHMgcXVldWVkIHF1aWNrbHksCiAgICAgLy8gd2Ug
d2FudCB0byB3YWl0IHVudGlsIGFsbCBvZiB0aGVtIGhhdmUgYmVlbiBwcm9jZXNzZWQsIHNvIGFm
dGVyIHJlY2VpdmluZyBhIGRyYXcsIHdlIHdhaXQKICAgICAvLyB1cCB0byAxMDBtcyBmb3IgdGhl
IG5leHQgb25lIG9yIHN0b3AuCi0gICAgaWYgKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1T
KCkgLSBtX3N0YXJ0VGltZSA+IDEwMDApCisgICAgaWYgKE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9zdGFydFRpbWUgPiAxX3MpCiAgICAgICAgIHN0b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDAuMTAwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MC4xX3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNwYXRjaEFmdGVyRW5z
dXJpbmdEcmF3aW5nKHN0ZDo6ZnVuY3Rpb248dm9pZChDYWxsYmFja0Jhc2U6OkVycm9yKT4gY2Fs
bGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmgKaW5kZXggODljNzEzZmM4N2E3MzU0OTMwMzhhZDEwZDkwZGMxY2Y2MDYxZDQ1
Ny4uNWFhNjZjNmQwNDhiZDBmN2QyNmY4YzdjNjRlZDBkMWEyODJmN2Y2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTc3LDcgKzc3
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBkaWREcmF3KCk7CiAKICAgICAgICAgV2ViUGFn
ZVByb3h5JiBtX3dlYlBhZ2U7Ci0gICAgICAgIGRvdWJsZSBtX3N0YXJ0VGltZSB7IDAgfTsKKyAg
ICAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICAgICAgc3RkOjpmdW5jdGlvbjx2
b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4gbV9jYWxsYmFjazsKICAgICAgICAgUnVuTG9vcDo6
VGltZXI8RHJhd2luZ01vbml0b3I+IG1fdGltZXI7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCA2
NzdjZDY3MzkxYWY1NjlmNDJhZmZiZGY0NDBhYWUyMTU1MTVmNDNlLi5jZWE5ODJmNmUyMmM2MDQ5
OGVhYjgyOTY5NDNmNTA1MzJiOGI0MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGlj
IGNvbnN0IGRvdWJsZSBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gMSAvIDEyMC4wOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9IFNlY29u
ZHMoMSAvIDEyMC4wKTsKIAogVUlHYW1lcGFkUHJvdmlkZXImIFVJR2FtZXBhZFByb3ZpZGVyOjpz
aW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXggNTRkZmIzYjA1OGQ0ZmU5MDM3NDYxNTc5
MmVmYTU2YjA4ZmRkMGI2OC4uYjY3NjE1MTRiMTI3NTkzZDgzZGQ5ZDJjZDhhMTFjNDdlMzk5Yjc5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00NiwxMSArNDYsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmlt
dW1MaWZldGltZSA9IDIgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nTWlu
aW11bUxpZmV0aW1lID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWUg
PSBTZWNvbmRzKDIgKiA2MCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdNaW5p
bXVtTGlmZXRpbWUgPSAzMF9zOwogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNodXRkb3duVGltZW91
dCA9IDEgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nU2h1dGRvd25UaW1l
b3V0ID0gMTU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzaHV0ZG93blRpbWVvdXQgPSBTZWNvbmRz
KDEgKiA2MCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVv
dXQgPSAxNV9zOwogCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZv
Q2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbklu
Zm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVhZjY2NzdhOTI5OWRlODU0OTQ1ZjkxNDU4MDMzNDll
My4uZDVmYjFiMjMxYjQzNzBmMDZlZGMzMTM0ZjM0NWM1YzNjY2VjZDA5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNo
ZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lkIFBsdWdpbkluZm9DYWNoZTo6dXBkYXRlUGx1
Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIGNvbnN0IFBsdWdpbk1vZAogICAgICAg
ICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Nh
dmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCmluZGV4IDIyNzViYjNiMjI2Yjdk
YmQ0OGQzM2NmMGYzNmQyMzQ5ZDg1MGJlYzYuLmNkODI1ZTFlZTBhMDljNTdmM2UyZDYzMTJiNzll
N2Q0ZjE3MGUzY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNz
VGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90
dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgCi1z
dGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0gMzA7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgPSAzMF9zOwogICAgIAog
UHJvY2Vzc1Rocm90dGxlcjo6UHJvY2Vzc1Rocm90dGxlcihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50
JiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKaW5kZXggZmViNDY5ZjA4NDJiNWFl
NjliMzZmMGZjZmQ2ODYxYzQwNjdlZWYyYi4uYTQwYTk5ODZjMzRlZDNhYzJlZWNlNzgzNGM2YTUw
NGY2M2Y4ZmMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNp
dmVuZXNzVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZl
bmVzc1RpbWVyLmNwcApAQCAtMjgsNyArMjgsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSByZXNwb25zaXZlbmVzc1RpbWVvdXQgPSAzOworc3RhdGljIGNv
bnN0IFNlY29uZHMgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0ID0gU2Vjb25kcygzKTsKIAogUmVzcG9u
c2l2ZW5lc3NUaW1lcjo6UmVzcG9uc2l2ZW5lc3NUaW1lcihSZXNwb25zaXZlbmVzc1RpbWVyOjpD
bGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAppbmRleCBhM2ZiNzcwZjVjZGJjZGNiNWZh
NzdhYjRkMmYwYjU0NzQ0ODkwZjZmLi4zZWQ1NTc1MzE2YmZkZDAzNjUwMzdhZDZhOGJkN2Q0YWE4
NDdiNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtT
dG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUu
Y3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgVmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExp
bmtIYXNoKExpbmtIYXNoIGxpbmtIYXNoKQogICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rcy5hZGQo
bGlua0hhc2gpOwogCiAgICAgaWYgKCFtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIFZpc2l0ZWRMaW5rU3RvcmU6OnJlbW92ZUFsbCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBmN2NlNjlmNGNlOTc2ODJjNGM1MDZm
MjNmYmYyNDg2YjBjMDg4Mjc3Li5iODJiNGRjYTI3OTYwNWRkM2ZhZjE1ZTJlZmY5M2VjYzZkZWNk
NWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAg
LTE3Myw3ICsxNzMsNyBAQCBXZWJQcm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX2Fsd2F5c1J1bnNB
dEJhY2tncm91bmRQcmlvcml0eShtX2NvbmZpZ3VyYXRpb24tPmFsd2F5c1J1bnNBdEJhY2tncm91
bmRQcmlvcml0eSgpKQogICAgICwgbV91c2VyT2JzZXJ2YWJsZVBhZ2VDb3VudGVyKFt0aGlzXShS
ZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAg
ICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRGb3JQYWdlQ291bnRlcihbdGhpc10oUmVm
Q291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCi0gICAg
LCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNv
dW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDAp
OyB9KQorICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0
aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOyB9KQogICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyKFJ1bkxv
b3A6Om1haW4oKSwgdGhpcywgJldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0
bGluZ0F1dG9JbmNyZWFzZUxpbWl0KQogewogICAgIGZvciAoYXV0byYgc2NoZW1lIDogbV9jb25m
aWd1cmF0aW9uLT5hbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMoKSkKQEAgLTU5OCw3ICs1OTgs
NyBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNz
KCkKICAgICAvLyBpY29uRGF0YWJhc2VQYXRoIGlzIG5vbi1lbXB0eSBieSBkZWZhdWx0LCBidXQg
bV9pY29uRGF0YWJhc2UgaXNuJ3QgZW5hYmxlZCBpbiBVSSBwcm9jZXNzIHVubGVzcyBzZXREYXRh
YmFzZVBhdGggaXMgY2FsbGVkIGV4cGxpY2l0bHkuCiAgICAgcGFyYW1ldGVycy5pY29uRGF0YWJh
c2VFbmFibGVkID0gIWljb25EYXRhYmFzZVBhdGgoKS5pc0VtcHR5KCk7CiAKLSAgICBwYXJhbWV0
ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDA7CisgICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRp
bWVvdXQgPSAwX3M7CiAKICAgICBwYXJhbWV0ZXJzLnRleHRDaGVja2VyU3RhdGUgPSBUZXh0Q2hl
Y2tlcjo6c3RhdGUoKTsKIApAQCAtMTQxOSwxMCArMTQxOSwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQ
b29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KCkKICAgICAv
LyBXZSdyZSBlc3RpbWF0aW5nIGFuIHVwcGVyIGJvdW5kIGZvciBhIHNldCBvZiBiYWNrZ3JvdW5k
IHRpbWVyIGZpcmVzIGZvciBhIHBhZ2UgdG8gYmUgMjAwbXMKICAgICAvLyAoaW5jbHVkaW5nIGFs
bCB0aW1lciBmaXJlcywgYWxsIHBhZ2luZy1pbiwgYW5kIGFueSByZXN1bHRpbmcgR0MpLiBUbyBl
bnN1cmUgdGhpcyBkb2VzIG5vdAogICAgIC8vIHJlc3VsdCBpbiBtb3JlIHRoYW4gMSUgQ1BVIGxv
YWQgYWxsb3cgZm9yIG9uZSB0aW1lciBmaXJlIHBlciAxMDB4IHRoaXMgZHVyYXRpb24uCi0gICAg
c3RhdGljIGludCBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TID0gMjAwICogMTAwOwor
ICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZSA9IFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMoMjAwKSAqIDEwMDsKIAotICAgIGludCBsaW1pdEluTWls
bGlzZWNvbmRzID0gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlSW5NUyAqIG1faGlkZGVuUGFn
ZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgpOwotICAgIHNlbmRUb0FsbFBy
b2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGlu
Z0luY3JlYXNlTGltaXQobGltaXRJbk1pbGxpc2Vjb25kcykpOworICAgIFNlY29uZHMgbGltaXQg
PSBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2UgKiBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0
b0luY3JlYXNlc0NvdW50ZXIudmFsdWUoKTsKKyAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2Fn
ZXM6OldlYlByb2Nlc3M6OlNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0
KGxpbWl0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcAppbmRleCA4NTc0
NWFjMzBhYzdiODNlMTQ4MjRiZmZlZWJhNjkwOTEzZTliNDRhLi4zYjIyMzc3YzgzOTFkM2I4MzZj
OGFkNzAwYzM4NGQwMDNlZmU2ZDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZv
aWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OmVuc3VyZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZSgpCiB2
b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBkZWZhdWx0TGFuZ3VhZ2VzKQogewogICAgIG1fc3BlbGxDaGVj
a2luZ0xhbmd1YWdlcyA9IGRlZmF1bHRMYW5ndWFnZXM7Ci0gICAgbV9sYW5ndWFnZXNVcGRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9sYW5ndWFnZXNVcGRhdGVUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6bGFuZ3VhZ2VzVXBk
YXRlVGltZXJGaXJlZCgpCkBAIC0xMjgsNyArMTI4LDcgQEAgVmVjdG9yPFN0cmluZz4gVGV4dENo
ZWNrZXJDbGllbnRFZmw6OmxvYWRlZFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKSBjb25zdAogCiB2
b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxsQ2hlY2tpbmdDaGFu
Z2VDYWxsYmFja0FzeW5jKCkKIHsKLSAgICBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogYm9vbCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6aXND
b250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRDYWxsYmFjayhjb25zdCB2b2lkKikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKaW5k
ZXggN2UxNTc3Y2JhOGIxNTcwNTI2NGU1YmE1NDc1ZmZjNTk2MmRhYjg4OS4uOTNkZGQ3NjhkYmE0
Y2JlMDMwZDQzMWU0YjRkODU3YTY4OGQwZjkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCB2
b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4oRHJhZ0dlc3R1cmUqIGRy
YWdHZXN0dXJlLCBkb3VibGUgeCwgZAogICAgIEd0a1dpZGdldCogd2lkZ2V0ID0gZ3RrX2V2ZW50
X2NvbnRyb2xsZXJfZ2V0X3dpZGdldChHVEtfRVZFTlRfQ09OVFJPTExFUihnZXN0dXJlKSk7CiAg
ICAgdW5zaWduZWQgZGVsYXk7CiAgICAgZ19vYmplY3RfZ2V0KGd0a193aWRnZXRfZ2V0X3NldHRp
bmdzKHdpZGdldCksICJndGstbG9uZy1wcmVzcy10aW1lIiwgJmRlbGF5LCBudWxscHRyKTsKLSAg
ICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdChkZWxheSAvIDEw
MDAuMCk7CisgICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5zdGFydE9uZVNob3Qo
U2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIEdlc3R1cmVDb250
cm9sbGVyOjpEcmFnR2VzdHVyZTo6dXBkYXRlKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91
YmxlIHgsIGRvdWJsZSB5LCBHdGtHZXN0dXJlKiBnZXN0dXJlKQpAQCAtMjA2LDcgKzIwNiw3IEBA
IHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpzY2FsZUNoYW5nZWQoWm9vbUdl
c3R1cmUqIHpvb21HZXN0dXJlLCBkb3ViCiAgICAgaWYgKHpvb21HZXN0dXJlLT5tX2lkbGUuaXNB
Y3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgem9vbUdlc3R1cmUtPm1faWRsZS5zdGFy
dE9uZVNob3QoMCk7CisgICAgem9vbUdlc3R1cmUtPm1faWRsZS5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogR2VzdHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpab29tR2VzdHVyZShXZWJQYWdl
UHJveHkmIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
UG9wdXBNZW51UHJveHlHdGsuY3BwCmluZGV4IGRjMTk4ZDg1OGYxM2EzYzEyMzZlNTExZDM4ZGI2
ODUyNjEzNzg0YTQuLjUzMTdmZWQ5ZDg5MjkzYWJkNDIxMmMyMDg1ZDY0YzJiOTQzN2ExNDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlH
dGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJv
eHlHdGsuY3BwCkBAIC0yNjEsNyArMjYxLDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6
bWVudVVubWFwcGVkQ2FsbGJhY2soR3RrV2lkZ2V0KiwgV2ViUG9wdXBNZW51UHJveHlHdGsKICAg
ICAvLyBXaGVuIGFuIGl0ZW0gaXMgYWN0aXZhdGVkLCB0aGUgbWVudSBpcyBmaXJzdCBoaWRkZW4g
YW5kIHRoZW4gYWN0aXZhdGUgc2lnbmFsIGlzIGVtaXR0ZWQsIHNvIGF0IHRoaXMgcG9pbnQgd2Ug
ZG9uJ3Qga25vdwogICAgIC8vIGlmIHRoZSBtZW51IGhhcyBiZWVuIGhpZGRlbiBiZWNhdXNlIGFu
IGl0ZW0gaGFzIGJlZW4gc2VsZWN0ZWQgb3IgYmVjYXVzZSB0aGUgbWVudSBoYXMgYmVlbiBkaXNt
aXNzZWQuIFdhaXQgdW50aWwgdGhlIG5leHQKICAgICAvLyBtYWluIGxvb3AgaXRlcmF0aW9uIHRv
IGRpc21pc3MgdGhlIG1lbnUsIGlmIGFuIGl0ZW0gaXMgYWN0aXZhdGVkIHRoZSB0aW1lciB3aWxs
IGJlIGNhbmNlbGxlZC4KLSAgICBwb3B1cE1lbnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgcG9wdXBNZW51LT5tX2Rpc21pc3NNZW51VGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6OnNlbGVjdEl0ZW1DYWxsYmFj
ayhHdGtXaWRnZXQqIGl0ZW0sIFdlYlBvcHVwTWVudVByb3h5R3RrKiBwb3B1cE1lbnUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFj
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5t
bQppbmRleCA4MThiZDM5MGQ0ODNkMDgyMmJhZTc5MzRlMTA2ZmRiYjBjZGZmODU0Li5kZmFkMzJl
Y2VmOGM0MDhhMTBiMjU5MWY4YjAzNzc4NjIxNTMzNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTUyLDcgKzUy
LDcgQEAgc3RhdGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93U3R5bGVNYXNrID0gTlNXaW5kb3dT
dHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0eWwKIAogLy8gVGhlIHRpbWUgd2Uga2VlcCBvdXIg
V2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xvc2luZyBpdCBhbmQgaXRzIHByb2Nlc3MuCiAvLyBSZXVz
aW5nIHRoZSBXZWJWaWV3IGltcHJvdmVzIHN0YXJ0IHVwIHRpbWUgZm9yIHBlb3BsZSB0aGF0IGp1
bXAgaW4gYW5kIG91dCBvZiB0aGUgSW5zcGVjdG9yLgotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHdl
YlZpZXdDbG9zZVRpbWVvdXQgPSA2MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHdlYlZpZXdDbG9z
ZVRpbWVvdXQgPSA2MF9zOwogCiAvLyBXS1dlYkluc3BlY3RvclByb3h5T2JqQ0FkYXB0ZXIgaXMg
YSBoZWxwZXIgT2JqQyBvYmplY3QgdXNlZCBhcyBhIGRlbGVnYXRlIG9yIG5vdGlmaWNhdGlvbiBv
YnNlcnZlcgogLy8gZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2YgZ2V0dGluZyBiYWNrIGludG8gdGhl
IEMrKyBjb2RlIGZyb20gYW4gT2JqQyBjYWxsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCBlODkxY2Qw
MzJiMmY0MzY2NGI2N2UwNmRiZWNjYzhlZTAzNThkZDhmLi5jNWZjZGU5NzdhOTgxYTM2MGQ1MDI2
NjRlOGI1NjAwOWJmYzUyYTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTkxLDE0ICs5MSwxNCBAQCBS
ZWZQdHI8TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI+IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hl
ZHVsZVBsdWdpblN0cmVhbUxvYWQoRgogICAgIHJldHVybiBsb2FkZXI7CiB9CiAKLXN0YXRpYyBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSkKK3N0YXRpYyBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICNpZiAhRU5BQkxFKE5FVFdPUktfQ0FDSEUpCi0gICAg
cmV0dXJuIDBtczsKKyAgICByZXR1cm4gMF9zOwogI2VuZGlmCiAKICAgICBpZiAoIXJlc291cmNl
KQotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gMF9zOwogCiAgICAgc3dpdGNo
IChyZXNvdXJjZS0+dHlwZSgpKSB7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVT
aGVldDoKQEAgLTEwNyw5ICsxMDcsOSBAQCBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNo
ZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kczo6bWF4KCk7CisgICAgICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiA1
MDBtczsKKyAgICAgICAgcmV0dXJuIDUwMF9tczsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpN
ZWRpYVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZToKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZToKQEAgLTEyNCwxMSArMTI0LDExIEBA
IHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENh
Y2hlZFJlc291cmNlKiByZXNvdXJjZSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0OgogI2VuZGlmCi0gICAgICAgIHJldHVybiAwbXM7Cisg
ICAgICAgIHJldHVybiAwX3M7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4gMF9zOwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0
ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRS
ZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBS
ZWRpcmVjdCkKQEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hl
ZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdQogdm9p
ZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVJbnRlcm5hbGx5RmFpbGVkTG9hZChXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIpCiB7CiAgICAgbV9pbnRlcm5hbGx5RmFp
bGVkUmVzb3VyY2VMb2FkZXJzLmFkZCgmcmVzb3VyY2VMb2FkZXIpOwotICAgIG1faW50ZXJuYWxs
eUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pbnRlcm5hbGx5RmFpbGVk
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5
OjppbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2Jq
ZWN0TWFwLmNwcAppbmRleCA0OTkyMGYyY2FhODRmNzY5YjYyZDI0NjJhOWM5ODA3ZjUyMGNmM2Vk
Li4xYzFlZTYyMWQyNGI3MGFmM2FhZGExMzMxMDYyNDI3YTMwMmM2MGNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0
TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TlBSdW50aW1lT2JqZWN0TWFwLmNwcApAQCAtMjkzLDcgKzI5Myw3IEBAIHZvaWQgTlBSdW50aW1l
T2JqZWN0TWFwOjphZGRUb0ludmFsaWRhdGlvblF1ZXVlKE5QT2JqZWN0KiBucE9iamVjdCkKICAg
ICBpZiAodHJ5U2FmZVJlbGVhc2VOUE9iamVjdChucE9iamVjdCkpCiAgICAgICAgIHJldHVybjsK
ICAgICBpZiAobV9ucE9iamVjdHNUb0ZpbmFsaXplLmlzRW1wdHkoKSkKLSAgICAgICAgbV9maW5h
bGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZmluYWxpemF0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgQVNTRVJUKG1fZmluYWxpemF0aW9uVGltZXIuaXNB
Y3RpdmUoKSk7CiAgICAgbV9ucE9iamVjdHNUb0ZpbmFsaXplLmFwcGVuZChucE9iamVjdCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAppbmRleCA1YzlhOTE4MjQ1NjZhNDYzMDEwYzBlNzM5
NjgwMzQ1N2UzMzM0NzdkLi41NDE3MWMyMjU0NzhmNzY2ZGMyYzZhYWI1NzA5MDRjNTFjMGNiMGUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTMyNiw3ICszMjYsNyBAQCBOZXRzY2Fw
ZVBsdWdpbjo6VGltZXI6On5UaW1lcigpCiAKIHZvaWQgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjpz
dGFydCgpCiB7Ci0gICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7
CisgICAgU2Vjb25kcyB0aW1lSW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1f
aW50ZXJ2YWwpOwogCiAgICAgaWYgKG1fcmVwZWF0KQogICAgICAgICBtX3RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKHRpbWVJbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNw
cAppbmRleCA3ZDU0ZDg4YzdlODk4YzVjZTBiYWRmMWQ3NjliMmU1ZDM1ZDlhMjU0Li4yMzQ5OTEz
MGNjNTk2NWJjYTYxYjdiODI4MmU5NWQzYTdmZjdiN2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZVBsdWdpblN0cmVhbS5jcHAKQEAgLTIyMiw3ICsyMjIsNyBAQCB2b2lkIE5ldHNjYXBlUGx1Z2lu
U3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKCkKIAogICAgICAgICBpZiAobnVtQnl0ZXNQbHVn
aW5DYW5IYW5kbGUgPD0gMCkgewogICAgICAgICAgICAgLy8gVGhlIHBsdWctaW4gY2FuJ3QgaGFu
ZGxlIG1vcmUgZGF0YSwgd2UnbGwgc2VuZCB0aGUgcmVzdCBsYXRlcgotICAgICAgICAgICAgbV9k
ZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX2RlbGl2ZXJ5
RGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KaW5kZXggYjkyNmRiMDkw
MmY1YjhmNzUwNDdmZWFkYzJjNTQzYzZhY2MyZTVlMC4uNTA0NDJhN2U2ODcyZTA5MTEzZmMzZDRj
NjI2NWQ5MjE2ZWNjMzM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1t
CkBAIC00NSw3ICs0NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdl
YktpdCB7CiAKICNpZm5kZWYgTlBfTk9fQ0FSQk9OCi1zdGF0aWMgY29uc3QgZG91YmxlIG51bGxF
dmVudEludGVydmFsQWN0aXZlID0gMC4wMjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG51bGxFdmVu
dEludGVydmFsQWN0aXZlID0gMC4wMl9zOwogCiBzdGF0aWMgdW5zaWduZWQgYnV0dG9uU3RhdGVG
cm9tTGFzdE1vdXNlRXZlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBhYzFkYWFiYWQwNjNhNDk2MjZiMzdlMDQwMmU5ZWJm
NTQ5MmQzYjFiLi5iNGYxNTM1N2Y4NjEwNWZmMzk1ZTQ0ZTIxYzUwOTc1ODNkYTZlNjJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBA
IC03OCw3ICs3OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIC8vIFRoaXMgc2ltdWxhdGVkIG1vdXNlIGNsaWNrIGRlbGF5IGluIEhUTUxQbHVnSW5J
bWFnZUVsZW1lbnQuY3BwIHNob3VsZCBnZW5lcmFsbHkgYmUgdGhlIHNhbWUgb3Igc2hvcnRlciB0
aGFuIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29uc3QgYXV0byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVs
YXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMTEwMCB9Oworc3RhdGljIGNvbnN0IFNl
Y29uZHMgcGx1Z2luU25hcHNob3RUaW1lckRlbGF5ID0gU2Vjb25kcygxLjEpOwogCiBjbGFzcyBQ
bHVnaW5WaWV3OjpVUkxSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8VVJMUmVxdWVzdD4gewog
cHVibGljOgpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJM
UmVxdWVzdHNUaW1lckZpcmVkKCkKIAogICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHJlcXVlc3Rz
IHRvIHBlcmZvcm0sIHJlc2NoZWR1bGUgdGhlIHRpbWVyLgogICAgIGlmICghbV9wZW5kaW5nVVJM
UmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKICAgICAKICAgICBwZXJmb3JtVVJMUmVxdWVzdCh1cmxSZXF1ZXN0LmdldCgp
KTsKIH0KQEAgLTE0MjMsNyArMTQyMyw3IEBAIHZvaWQgUGx1Z2luVmlldzo6bG9hZFVSTCh1aW50
NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmCiAgICAg
ICAgIGZyYW1lTG9hZFJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJl
ZmVycmVyKTsKIAogICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzLmFwcGVuZChVUkxSZXF1ZXN0Ojpj
cmVhdGUocmVxdWVzdElELCBmcmFtZUxvYWRSZXF1ZXN0LCBhbGxvd1BvcHVwcykpOwotICAgIG1f
cGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VS
TFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6
Y2FuY2VsU3RyZWFtTG9hZCh1aW50NjRfdCBzdHJlYW1JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNw
cAppbmRleCBiODc4ZmJjOTg0MmUzZWJhZDY3ZjZmZjk4ZDc5OTBjOWNhNjMwNWU1Li43NGUyYzIz
Mzc0Y2E5ZjNjNDVlYTMwODk3MjYzZjNmNWExYjExZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEu
Y3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpleGl0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVTb29uKCkKICAgICBpZiAoZXhpdEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdNb2RlUGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2V4aXRD
b21wb3NpdGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2V4aXRDb21wb3NpdGluZ1Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
X01VTFRJUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9z
aXRpbmdDb29yZGluYXRvci5jcHAKaW5kZXggZjNkYWVmYzc4NzZkOTgzYmUxNWM5YmJjMmRhYWMx
ODI1ZThhYmMyNy4uOGVlN2RkZjE5ODJkOTE3ZmFmNzE1NWQxOTgzODRkNDMxZDg3OTRhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5jcHAKQEAgLTE1NSwxMSArMTU1LDExIEBAIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6
c3luY0Rpc3BsYXlTdGF0ZSgpCiB9CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpCi1kb3VibGUgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VU
aW1lKCkgY29uc3QKK1NlY29uZHMgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlv
blNlcnZpY2VUaW1lKCkgY29uc3QKIHsKICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RB
bmltYXRpb25GcmFtZSBzcGVjLCByQUYgY2FsbGJhY2tzIHNob3VsZCBub3QgYmUgZmFzdGVyIHRo
YW4gNjBGUFMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBNaW5pbWFsVGltZW91dEZvckFuaW1h
dGlvbnMgPSAxLiAvIDYwLjsKLSAgICByZXR1cm4gc3RkOjptYXg8ZG91YmxlPigwLiwgTWluaW1h
bFRpbWVvdXRGb3JBbmltYXRpb25zIC0gdGltZXN0YW1wKCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2
aWNlVGltZSk7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgTWluaW1hbFRpbWVvdXRGb3JBbmlt
YXRpb25zID0gU2Vjb25kcygxLjAgLyA2MCk7CisgICAgcmV0dXJuIHN0ZDo6bWF4PFNlY29uZHM+
KDBfcywgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gU2Vjb25kcyh0aW1lc3RhbXAoKSAr
IG1fbGFzdEFuaW1hdGlvblNlcnZpY2VUaW1lKSk7CiB9CiAjZW5kaWYKIApAQCAtMzk4LDcgKzM5
OCw3IEBAIGJvb2wgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cGFpbnRUb1N1cmZhY2UoY29uc3Qg
SW50U2l6ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmCiAgICAgcmV0dXJuIG1fdXBkYXRlQXRsYXNl
cy5sYXN0KCktPnBhaW50T25BdmFpbGFibGVCdWZmZXIoc2l6ZSwgYXRsYXNJRCwgb2Zmc2V0LCBj
bGllbnQpOwogfQogCi1jb25zdCBkb3VibGUgUmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50
ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lcklu
dGVydmFsID0gMC41X3M7CiAKIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVS
ZWxlYXNlSW5hY3RpdmVBdGxhc2VzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0
b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaAppbmRleCBmOThhMzZiYzI3YTdmMmJjZTE3N2Qx
MjdjZjk3ZjY5ZGJlMWM3NTFhLi5lYmY2NWJiN2Y5Y2RiN2VjZTI3YmNmMDEwMzM3NWQ0Y2ZkOGUy
Mzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29y
ZGluYXRvci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN5bmNEaXNwbGF5
U3RhdGUoKTsKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLSAgICBkb3Vi
bGUgbmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0QW5p
bWF0aW9uU2VydmljZVRpbWUoKSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAK
aW5kZXggOWY2YTgzMjFlM2YyNTFhYTVlMzZlNTM3MThkOGNhYTk3NzgwOTU2YS4uYzQ3YmIwN2Nk
NWQ1ZjI2MDdlODM3NWVhMGQ1YmU0NzJjNjQ0YTU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC03OSw3ICs3
OSw3IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hlZHVsZUxheWVyRmx1c2go
KQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0OjpjYW5jZWxQZW5kaW5nTGF5ZXJGbHVzaCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4
IDU0YjRlYWQ5ODNmNzU2YmQxNDhlMWFmNGNiZWQ2NDczOTgwNzk0MmQuLjBkMWI1MTAxMDY4NTE4
NWY4MDMxOWU5MDhiZWNmNzQ4Y2E1NThiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0zNDIsNyArMzQyLDcg
QEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxlRGlzcGxheSgpCiAgICAgaWYgKG1fZGlz
cGxheVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZGlzcGxheVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXlUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwMzFiY2E5
ZGExYmQ2NDAxZjY0MGUwNjg0ZmZmZGQ1Mzk4MjQ2ZDQ3Li4wOWEyY2ZiMzcxNmVlOTliZGZlOTBk
NzBmYTJlNGFjYmRjMzc4MTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0yNTMsOSArMjUzLDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBhZ2VTY3Jv
bGxIeXN0ZXJlc2lzU2Vjb25kcyA9IDAuMzsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMjAgfTsKLXN0
YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGlt
ZXJJbnRlcnZhbCB7IDIgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBhZ2VTY3JvbGxIeXN0ZXJl
c2lzID0gMC4zX3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5
VGltZXJJbnRlcnZhbCA9IDIwX21zOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUxheWVy
Vm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCguLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBM
YXllcnMsIF9fVkFfQVJHU19fKQogI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VE
KC4uLikgUkVMRUFTRV9MT0dfRVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExh
eWVycywgX19WQV9BUkdTX18pCkBAIC0zMTQsNyArMzE0LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1
aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyKCp0aGlzKQogI2VuZGlmCi0gICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3Rl
cmVzaXMoW3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVy
ZXNpc1N0YXRlOjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xs
SHlzdGVyZXNpc1NlY29uZHMpCisgICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNd
KEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpT
dG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpcykK
ICAgICAsIG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKHBhcmFtZXRlcnMuY2FuUnVu
QmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKQogICAgICwgbV9jYW5SdW5Nb2RhbChwYXJhbWV0ZXJz
LmNhblJ1bk1vZGFsKQogI2lmIFBMQVRGT1JNKElPUykKQEAgLTIwNTEsNyArMjA1MSw3IEBAIHZv
aWQgV2ViUGFnZTo6Y2FsbFZvbGF0aWxpdHlDb21wbGV0aW9uSGFuZGxlcnMoKQogCiB2b2lkIFdl
YlBhZ2U6OmxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewotICAgIGF1dG8gbmV3SW50ZXJ2
YWwgPSAyICogbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbE1TKCk7CisgICAg
U2Vjb25kcyBuZXdJbnRlcnZhbCA9IG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIucmVwZWF0SW50ZXJ2
YWwoKSAqIDI7CiAgICAgYm9vbCBkaWRTdWNjZWVkID0gbWFya0xheWVyc1ZvbGF0aWxlSW1tZWRp
YXRlbHlJZlBvc3NpYmxlKCk7CiAgICAgaWYgKGRpZFN1Y2NlZWQgfHwgbmV3SW50ZXJ2YWwgPiBt
YXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCkgewogICAgICAgICBtX2xheWVyVm9s
YXRpbGl0eVRpbWVyLnN0b3AoKTsKQEAgLTIwNjAsNyArMjA2MCw3IEBAIHZvaWQgV2ViUGFnZTo6
bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8g
bWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQgbXMiLCB0aGlz
LCBzdGF0aWNfY2FzdDxsb25nIGxvbmc+KG5ld0ludGVydmFsLmNvdW50KCkpKTsKKyAgICBSRUxF
QVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBh
bGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICUuM2YgcyIsIHRoaXMsIG5ld0lu
dGVydmFsLnZhbHVlKCkpOwogICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRp
bmcobmV3SW50ZXJ2YWwpOwogfQogCkBAIC0yMDkxLDcgKzIwOTEsNyBAQCB2b2lkIFdlYlBhZ2U6
Om1hcmtMYXllcnNWb2xhdGlsZShzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5k
bGVyKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgiJXAgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5
IGluICVsbGQgbXMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5j
b3VudCgpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBtYXJr
IGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgaW5p
dGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZv
bGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJ
bnRlcnZhbCk7CiB9CiAKQEAgLTI1MzAsNyArMjUzMCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRl
SXNJbldpbmRvdyhib29sIGlzSW5pdGlhbFN0YXRlKQogICAgICAgICAvLyBpbiBvcmRlciB0byBn
ZXQgcGx1Zy1pbiBjb25uZWN0aW9ucywgYW5kIHRoZSBVSSBwcm9jZXNzIHdpbGwgYmUgd2FpdGlu
ZyBmb3IgdGhlIFdlYiBwcm9jZXNzIHRvIHVwZGF0ZSB0aGUgYmFja2luZwogICAgICAgICAvLyBz
dG9yZSBhZnRlciBtb3ZpbmcgdGhlIHZpZXcgaW50byBhIHdpbmRvdywgdW50aWwgaXQgdGltZXMg
b3V0IGFuZCBwYWludHMgd2hpdGUuIFNlZSA8cmRhcjovL3Byb2JsZW0vOTI0Mjc3MT4uCiAgICAg
ICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cpCi0gICAgICAgICAgICBtX3NldENh
blN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3NldENhblN0
YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgICAgICBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5wYWdlRGlkRW50ZXJXaW5kb3cobV9wYWdlSUQpOwogICAgIH0KQEAgLTMwMzcs
NyArMzAzNyw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJl
ZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjZW5kaWYKIAogICAgIHNldHRpbmdzLnNldFN1cHByZXNz
ZXNJbmNyZW1lbnRhbFJlbmRlcmluZyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OnN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZ0tleSgpKSk7Ci0gICAgc2V0
dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMo
c3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmluY3JlbWVudGFs
UmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0S2V5KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRJbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dChTZWNvbmRzKHN0b3JlLmdldERvdWJs
ZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjppbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHBy
ZXNzaW9uVGltZW91dEtleSgpKSkpOwogICAgIHNldHRpbmdzLnNldEJhY2tzcGFjZUtleU5hdmln
YXRpb25FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
YmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLnNldFdh
bnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3Ioc3RvcmUuZ2V0Qm9vbFZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp3YW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2
aW9yS2V5KCkpKTsKICAgICBzZXR0aW5ncy5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChzdG9yZS5n
ZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNhcmV0QnJvd3NpbmdFbmFibGVk
S2V5KCkpKTsKQEAgLTMxMTAsNyArMzExMCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgc2V0dGluZ3Muc2V0
QWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbChzdG9yZS5nZXRCb29sVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGxL
ZXkoKSkpOwogCiAgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRW5hYmxlZChzdG9yZS5nZXRC
b29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhc3N3b3JkRWNob0VuYWJsZWRLZXko
KSkpOwotICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKHN0b3Jl
LmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYXNzd29yZEVjaG9EdXJh
dGlvbktleSgpKSk7CisgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb24oU2Vjb25k
cyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFzc3dvcmRF
Y2hvRHVyYXRpb25LZXkoKSkpKTsKICAgICAKICAgICBzZXR0aW5ncy5zZXRMYXlvdXRJbnRlcnZh
bChTZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojps
YXlvdXRJbnRlcnZhbEtleSgpKSkpOwogICAgIHNldHRpbmdzLnNldE1heFBhcnNlRHVyYXRpb24o
c3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1heFBhcnNlRHVy
YXRpb25LZXkoKSkpOwpAQCAtMzg0OCw3ICszODQ4LDcgQEAgdm9pZCBXZWJQYWdlOjphZGRQbHVn
aW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCiAgICAgbV9oYXNTZWVuUGx1Z2luID0gdHJ1
ZTsKICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQU0hPVFRFRF9QTFVHSU5fSEVVUklTVElDKQogICAg
IExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRl
Y3Rpb24gZnJvbSBhZGRQbHVnaW5WaWV3KCVwKSIsIHBsdWdpblZpZXcpOwotICAgIG1fZGV0ZXJt
aW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiAjZW5kaWYKIH0KIApAQCAtNDM4NSw3ICs0Mzg1LDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRNYXlT
dGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wgbWF5U3RhcnRNZWRpYSkKIAogICAgIG1fbWF5U3Rh
cnRNZWRpYVdoZW5JbldpbmRvdyA9IG1heVN0YXJ0TWVkaWE7CiAgICAgaWYgKG1fbWF5U3RhcnRN
ZWRpYVdoZW5JbldpbmRvdyAmJiBtX3BhZ2UtPmlzSW5XaW5kb3coKSkKLSAgICAgICAgbV9zZXRD
YW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NldENhblN0YXJ0
TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpydW5Nb2Rh
bCgpCkBAIC01MTYzLDcgKzUxNjMsNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZEZpbmlzaExvYWQoV2Vi
RnJhbWUqIGZyYW1lKQogCiAgICAgbV9yZWFkeVRvRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdp
biA9IHRydWU7CiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB0
cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGRpZEZpbmlzaExvYWQgKG1hcmtpbmcgYXMgcmVhZHkg
dG8gZGV0ZWN0KS4iKTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBs
dWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZnJh
bWUpOwogI2VuZGlmCkBAIC01MTc1LDcgKzUxNzUsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcHJp
bWFyeVNuYXBzaG90dGVkUGx1Z0luU2VhcmNoQnVja2V0U2l6ZSA9IDEuMTsKIHN0YXRpYyBjb25z
dCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bVdpZHRoID0gNDAwOwogc3RhdGlj
IGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtSGVpZ2h0ID0gMzAwOwog
c3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlv
bkF0dGVtcHRzID0gMjsKLXN0YXRpYyBjb25zdCBpbnQgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZlcnJl
ZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gM19zOwogc3RhdGljIGNv
bnN0IGZsb2F0IG92ZXJsYXBwaW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEuMTsKIHN0YXRpYyBjb25z
dCBmbG9hdCBtaW5pbXVtT3ZlcmxhcHBpbmdJbWFnZVRvUGx1Z2luRGltZW5zaW9uU2NhbGUgPSAu
OTsKIApAQCAtNTI4Myw3ICs1MjgzLDcgQEAgdm9pZCBXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW4oKQogICAgIGlmICghY2FuZGlkYXRlUGx1Z0luKSB7CiAgICAgICAg
IExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogZmFpbCAtIGRpZCBub3Qg
ZmluZCBhIGNhbmRpZGF0ZSBwbHVnLWluLiIpOwogICAgICAgICBpZiAobV9udW1iZXJPZlByaW1h
cnlTbmFwc2hvdERldGVjdGlvbkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
RGV0ZWN0aW9uQXR0ZW1wdHMpIHsKLSAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQ
bHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICVkcy4iLCBkZWZlcnJlZFBy
aW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKKyAgICAgICAgICAgIExPRyhQ
bHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGlu
ICUuM2ZzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXku
dmFsdWUoKSk7CiAgICAgICAgICAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
blRpbWVyLnN0YXJ0T25lU2hvdChkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVj
dGlvbkRlbGF5KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAxODMxZjJiNTAwNDIxZDhkYzcwN2Rh
OTFkZWYyYWE4M2M1Mzc4MzJlLi5jMjkzZDk3NGIwMWYzZmE2NGU3OTAzODljMzc3ZDA5NzE1NDE3
OGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTMwMCw3ICszMDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93
ZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEFjdGl2ZVBvcHVwTWVudShXZWJQb3B1cE1lbnUqKTsK
IAotICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1l
clRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiAgICAgewogICAgICAgICBt
X3BhZ2UtPnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KGxpbWl0KTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCA1YTY3MzM0ZDhh
YTNhNDYxYjMzOGUwYjhlYTg0MDcxZGRjOGQwN2Q0Li45YTFlMjYxYmYyZjI0MGY3ZWQ0OWM3ZTQz
YThjYWEyNzJkZDdhYzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0K
QEAgLTI4NSw3ICsyODUsNyBAQCBUaWxlZEJhY2tpbmcqIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjptYWluRnJhbWVUaWxlZEJhY2tpbmcoKSBjb25zdAogCiB2b2lkIFJlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5KCkK
IHsKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMG1zKTsKKyAgICBtX2xheWVy
Rmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQpAQCAtMzA0LDkgKzMw
NCw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRp
bmdMYXllckZsdXNoKCkKICAgICBpZiAobV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgYXV0byBpbml0aWFsRmx1c2hEZWxheSA9IDUwMG1z
OwotICAgIGNvbnN0IGF1dG8gZmx1c2hEZWxheSA9IDE1MDBtczsKLSAgICBhdXRvIHRocm90dGxl
RGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90dGxl
ZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDogMG1zOworICAg
IGNvbnN0IFNlY29uZHMgaW5pdGlhbEZsdXNoRGVsYXkgPSAwLjVfczsKKyAgICBjb25zdCBTZWNv
bmRzIGZsdXNoRGVsYXkgPSAxLjVfczsKKyAgICBTZWNvbmRzIHRocm90dGxlRGVsYXkgPSBtX2lz
VGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2gg
PyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDogMF9zOwogICAgIG1faXNJbml0aWFs
VGhyb3R0bGVkTGF5ZXJGbHVzaCA9IGZhbHNlOwogCiAgICAgbV9sYXllckZsdXNoVGltZXIuc3Rh
cnRPbmVTaG90KHRocm90dGxlRGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW0KaW5kZXggZjRlZWEwMWZlNmVhNTcxYzNiNWNiNDMwZjljMTg3NDNjZTlhNDBj
Yy4uY2NjZjFhYzIwNTU3OGRjNGNhYzVmMThmZGExOThmYzdlN2QxZDA0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC00NzIsNyArNDcyLDcgQEAgdm9p
ZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShB
Y3Rpdml0eVN0YXRlOjpGbGFncwogICAgIH0KIAogICAgIGlmIChtX3dhbnRzRGlkVXBkYXRlQWN0
aXZpdHlTdGF0ZSB8fCAhbV9uZXh0QWN0aXZpdHlTdGF0ZUNoYW5nZUNhbGxiYWNrSURzLmlzRW1w
dHkoKSkKLSAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpk
aWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCBkZDAwYTE4ZDliNjIxNjVkOTM2MmE5ODJlNGZlNzY1ODg3
MWU1MTlhLi4xMzhjMjE2MjFiNDYyYzMxMjkwMDFkMjU0ZTlhY2FlY2QyZGFjNjY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE0Miw3ICsxNDIsNyBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHN0YXRpYyBjb25zdCBkb3VibGUgcGx1Z0luQXV0b1N0
YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgPSAyOSAqIDI0ICogNjAgKiA2MDsKIAog
Ly8gVGhpcyBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0IGlu
IFRpbGVDb250cm9sbGVyLgotc3RhdGljIGNvbnN0IGRvdWJsZSBub25WaXNpYmxlUHJvY2Vzc0Ns
ZWFudXBEZWxheSA9IDEwOworc3RhdGljIGNvbnN0IFNlY29uZHMgbm9uVmlzaWJsZVByb2Nlc3ND
bGVhbnVwRGVsYXkgPSBTZWNvbmRzKDEwKTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTIx
MSw3ICsyMTEsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAgICAgaWYgKG1fc3Rh
dGlzdGljc0NoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAKLSAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6
OmNocm9ubzo6c2Vjb25kcyg1KSk7CisgICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5z
dGFydE9uZVNob3QoNV9zKTsKICAgICB9KTsKIH0KIApAQCAtNTM4LDcgKzUzOCw3IEBAIHZvaWQg
V2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKICAgICB1bnNpZ25lZCBjYWNo
ZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0g
MDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07
CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogICAgIHVuc2ln
bmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogICAgIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoY2Fj
aGVNb2RlbCwgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgY2FjaGVN
YXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBhZ2VDYWNo
ZVNpemUpOwogCkBAIC0xMjQ0LDEwICsxMjQ0LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlv
CiAgICAgfQogfQogCi12b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxp
bmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCit2b2lkIFdlYlByb2Nlc3M6OnNldEhp
ZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiB7CiAg
ICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQotICAgICAgICBwYWdlLT5z
ZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKG1pbGxpc2Vjb25kcykpOworICAgICAgICBwYWdlLT5zZXRIaWRkZW5QYWdlVGlt
ZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCk7CiB9CiAKICNpZiAhUExBVEZPUk0oQ09D
T0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0MWJmZDU0
ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFhMWYyN2I1YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3NTY2ZGIz
ODM0ZWY3YzRmOTA3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBA
IC0xODgsNyArMTg4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQYWdlcygp
OwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChp
bnQgbWlsbGlzZWNvbmRzKTsKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJ
bmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgdm9pZCBwcm9jZXNzV2lsbFN1c3BlbmRJbW1p
bmVudGx5KGJvb2wmIGhhbmRsZWQpOwogICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4
IDZkNzZlNTgzMjZlZDM1MjRhYWM1YTk4NmM0OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4YTZlNGE5
NzA2YjFmYzFkNjY5YjFlMWM2Yjc4MjAyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVzc2FnZXMg
LT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURhdGEoV2Vi
Q29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFU
eXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3Bv
aW50IG1vZGlmaWVkU2luY2UpIC0+ICgpCiAgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5z
KFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVE
YXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YT4gb3JpZ2lucykgLT4gKCkKIAotICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJ
bmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCisgICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhy
b3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICBTZXRQcm9jZXNzU3VwcHJl
c3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBTZXRRT1Mo
aW50IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY3ZjYxNzE1MDU1OGNkMTNjYjA3NWQ2YzVi
MzRiYzM4ZmNlYmVkM2YuLjk1OTZkZWFhYmQyMTg0NmQxNDBlZjQ4YTZlYTM4ZmJlYTY5OTEwOGEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMiBAQAogMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAorICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25p
Y1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcDoKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OlRFU1QpOgorCisyMDE2LTExLTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEFub3RoZXIgZml4IGZvciBDTWFrZS4KIAogICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1J1bkxvb3AuY3BwCmluZGV4IDFkYzdlOTM4YTc2ZTk5NGJlOTc2OThlZTgwNWNj
NmZmZWQ2ZmUzZGIuLjVhNDg5MjhmY2I1ZjA4MjE2MThhOGQyYTQ3YWE1MThmYmRkM2I1NjMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCkBAIC05NSw3ICs5NSw3
IEBAIFRFU1QoV1RGX1J1bkxvb3AsIE9uZVNob3RUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVy
aXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0T25lU2hv
dCgwLjEpOworICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMC4xX3MpOwogICAgICAgICBVdGls
OjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQpAQCAtMTI5LDcgKzEyOSw3IEBAIFRFU1Qo
V1RGX1J1bkxvb3AsIFJlcGVhdGluZ1RpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGlt
ZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4w
MSk7CisgICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDFfcyk7CiAgICAgICAgIFV0aWw6
OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGMwM2JhZDY2Y2MzNDc4Y2U1
MzgxYjVmODJiNDg5Y2YwYzAxYTYwMy4uZDY3MmUwNzdhMWNhMGVjNDg4YWYxYjVmYTQ4YTYwNjA3
YWFlMWFiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTExLTI3ICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNl
IG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgU2V0dGluZ3MgInBhc3N3
b3JkRWNob0R1cmF0aW9uIiBubyBsb25nZXIgaGFzICJJblNlY29uZHMiIGluIGl0LCBzbyBmaXgg
dGhlIHRlc3QgSlMuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3Jlc291cmNlcy9wYXNzd29y
ZC1lY2hvLmpzOgorICAgICAgICAoaW5pdCk6CisKIDIwMTYtMTEtMjYgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDb252ZXJ0IEludGVyc2VjdGlvbk9ic2VydmVyIG92
ZXIgdG8gdXNpbmcgUnVudGltZUVuYWJsZWRGZWF0dXJlcyBzbyBpdCBjYW4gYmUgcHJvcGVybHkg
ZXhjbHVkZWQgZnJvbSBzY3JpcHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5w
dXQvcmVzb3VyY2VzL3Bhc3N3b3JkLWVjaG8uanMgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0
L3Jlc291cmNlcy9wYXNzd29yZC1lY2hvLmpzCmluZGV4IGY3ODIwMmQ3YzUwM2ExYzU3YjEyYTdl
ZjQ2NDUyYjcyZjIwMDA0MGUuLjFlMzY4MzQ4MWViZGQ5YWEzNWY3Nzg1MWRmZDQxYWYzYzM4NzAy
MjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmVzb3VyY2VzL3Bhc3N3
b3JkLWVjaG8uanMKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXNvdXJjZXMvcGFz
c3dvcmQtZWNoby5qcwpAQCAtODEsNyArODEsNyBAQCBmdW5jdGlvbiBpbml0KHRlc3RzKQogICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0UGFzc3dv
cmRFY2hvRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoMC4xKTsKKyAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb24oMC4xKTsKICAg
ICAgICAgICAgIHRlc3Rub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Rub2RlJyk7
CiAgICAgICAgICAgICBydW4odGVzdHMsIC0xKTsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295467</attachid>
            <date>2016-11-27 14:40:30 -0800</date>
            <delta_ts>2016-12-04 23:00:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161127144003.patch</filename>
            <type>text/plain</type>
            <size>400573</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZDI0Njk5NmQxMTQxM2JkOGRiZjJmMTg1YzEwMTM3NGM2NGQ4NjhmLi5hMjdhZDAzOGFiZDI5N2Nh
YTQ0NzUwZGE0NTkwNDFjNmVmMjZlNTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25p
Y1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHA6CisgICAgICAg
IChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VD
b2xsZWN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6c3BlY2llc0NvbnN0cnVjdEFycmF5KToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1
enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3Rk
OjpvcHRpb25hbCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRl
eCBmYTJlNjFjZjc5NjRlMzUxYjgzMThlZGQ0NzhhNTUwZTkwODBiZGUyLi4zZTQ0OTVjYmQ5OWMx
M2RhM2NlNDc4NTUzNzZhODEwMGFlNDg0NmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTEx
LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENo
YW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6
Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBs
YWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1v
dmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBl
bnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBV
c2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIHd0Zi9SdW5Mb29w
Lmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgor
ICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAgICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6
CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYv
Y2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFy
dCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdl
bmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAg
ICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6
OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6Cisg
ICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorCiAyMDE2LTExLTI2ICBZ
dXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtXVEZdIElt
cG9ydCBzdGQ6Om9wdGlvbmFsIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBhcyBXVEY6Ok9wdGlv
bmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNjRhYTQxZTExOWYyZTBmY2FjZmM3NTM0NGM3ZmEwY2NhYTNhMzRi
MC4uZTAwNDRjMDdlNGU1ZGFjMzRmZmU2MjEwYzA1OTFhZDU2YmM1MGIzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDU0NSBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRp
bWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdwor
ICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4K
KworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01v
bm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMu
CisgICAgICAgIAorICAgICAgICBUaGVyZSBpcyBvbmUgYmVoYXZpb3IgY2hhbmdlLiBUaGUgaU9T
IG92ZXJmbG93IGF1dG9zY3JvbGwgdGltZXIgd2FzIHVzaW5nIGFuIGludGVydmFsIG9mCisgICAg
ICAgICJjb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVuY3kgPSAxMDAwIC8gNjAiIGkuZS4gMTYu
N3MsIHdoaWNoIHNlZW1lZCB1bmludGVudGlvbmFsLgorICAgICAgICBJdCB3YXMgY2hhbmdlZCB0
byB1c2UgMS82MHMuCisgICAgICAgIAorICAgICAgICBJbiBvcmRlciB0byBzdXBwb3J0IG1vZGlm
eWluZyBTZXR0aW5ncyB3aXRoIFNlY29uZHMgdmFsdWVzIGZyb20gSlMgdmlhIEludGVybmFsU2V0
dGluZ3MsCisgICAgICAgIGZpeCBtYWtlX3NldHRpbmdzLnBsIHRvIGNyZWF0aW5nIGJpbmRpbmdz
IGZvciB2YWx1ZXMgdXNpbmcgU2Vjb25kcywgYW5kIGFubm90YXRlIHRoZW0gCisgICAgICAgIHdp
dGggW0N1c3RvbV0sIGFuZCBhZGQgSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9tLmNw
cCB3aGljaCBoYW5kbGVzIHRoZSBkb3VibGUtPlNlY29uZHMKKyAgICAgICAgY29udmVyc2lvbi4g
TWF5YmUgdGhpcyBjb3VsZCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGJpbmRpbmdzIGdl
bmVyYXRpb24gaW4gZnV0dXJlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVLZXlS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzZXRGYXRhbEVycm9yKToKKyAgICAgICAgKFdlYkNv
cmU6Okdlb05vdGlmaWVyOjpzZXRVc2VDYWNoZWRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpHZW9Ob3RpZmllcjo6c3RhcnRUaW1lcklmTmVlZGVkKToKKyAgICAgICAgKiBNb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9u
OjpyZXN1bWUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZU9wZXJhdGlvblRp
bWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6
aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6U291
cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6
c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6OnNj
aGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
YXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2NoZWR1
bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVz
dFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbik6Cisg
ICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6c2V0SW5jcmVt
ZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6SlNJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkOjpzZXRQYXNzd29yZEVjaG9EdXJhdGlvbik6CisgICAg
ICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNl
OjpzZXRTdGF0dXMpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRpbmdGb250U29vbik6CisgICAg
ICAgICogY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgorICAgICAgICAoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2V0VmlzdWFsVXBk
YXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNjaGVkdWxlU3R5bGVS
ZWNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpmaW5pc2hlZFBhcnNpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNvb24pOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZVNjaGVkdWxlZFRhc2tzKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGVjcmVtZW50TG9hZEV2ZW50RGVsYXlD
b3VudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRy
b2wpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldENhY2hlZERPTUNvb2tpZXMpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZl
bnQpOgorICAgICAgICAqIGRvbS9FdmVudFNlbmRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKToKKyAgICAgICAgKiBkb20vTWljcm90YXNr
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNaWNyb3Rhc2tRdWV1ZTo6YXBwZW5kKToKKyAgICAg
ICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZh
bCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp0aW1lckFsaWdu
bWVudEludGVydmFsKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgor
ICAgICAgICAqIGRvbS9TY3JpcHRSdW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
UnVubmVyOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UnVubmVyOjpub3RpZnlG
aW5pc2hlZCk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmRpZEhpdFByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5lcjo6Y2xlYW5DYWNoZSk6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4
dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogZWRp
dGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpyZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKToKKyAgICAg
ICAgKiBlZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVsbENo
ZWNrZXI6OmRpZENoZWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxl
dGUpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5
YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNwbGF5U3RhdGUpOgorICAg
ICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6CisgICAgICAgICgpOiBEZWxl
dGVkLgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAgICAgKiBodG1sL0hUTUxU
cmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6c2No
ZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAgICAgIChNZWRpYUNvbnRy
b2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVF
dmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50
KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwvTWVk
aWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURvY3VtZW50OjptZWRpYUVs
ZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVy
bmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBodG1sL1NlYXJj
aElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6OnN0YXJ0
U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hpZGVN
ZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VD
b250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5rVGltZXJGaXJlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVsZUZvclJlc3VtZSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxlTG9hZCk6CisgICAgICAg
ICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VlRUUmVnaW9u
OjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OmRpc3BhdGNoKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OnRpbWVyRmlyZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpidWlsZElu
c3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0
ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVja0NvbXBsZXRlVGltZXIp
OgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAgICAgICogbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVk
dWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHA6
CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2spOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2RlZERhdGFJZk5lZWRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNrKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25lKToKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2Fj
aGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6ZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNw
cDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlv
blVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVy
ZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVyZW5jZUNoYW5nZXMpOgor
ICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkRm9y
d2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJHZXN0dXJlVG9rZW5Ub0Zv
cndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRpbWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVy
Ojp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAgIChXZWJDb3JlOjpET01U
aW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmg6CisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpw
b3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6CisgICAgICAgICogcGFn
ZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZUNvbnRyb2xs
ZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRyYWNrZXI6Ok1heGltdW1E
dXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11bUR1cmF0aW9uVHJhY2tl
cjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRh
dGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgICogcGFnZS9FdmVu
dFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c2NoZWR1bGVJbml0
aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNv
bm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnBhcnNlRXZlbnRTdHJlYW1M
aW5lKToKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmg6CisgICAgICAgICogcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRG
b2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCk6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRp
bGluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RM
YXlvdXRUYXNrcyk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OnVwZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9tVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKToKKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRMb2Fkc0ltYWdlc0F1dG9t
YXRpY2FsbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldE1pbmltdW1ET01UaW1lckludGVydmFs
KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6bWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoKKyAgICAgICAgKiBwYWdl
L1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1l
cjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVy
OjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpz
dGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZp
cmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50
UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OnJlcGVhdEludGVydmFs
TVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6YXVnbWVu
dEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRp
bWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvV2hl
ZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnRUZXN0
VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmljYXRpb25UaW1lcik6CisgICAg
ICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVk
ZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKToKKyAgICAgICAgKiBw
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRlSWZOZWVkZWQpOgorICAgICAg
ICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdl
L21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hsaWdo
dHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVu
dCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJbmRpY2F0b3IpOgorICAgICAg
ICAqIHBhZ2UvbWFrZV9zZXR0aW5ncy5wbDoKKyAgICAgICAgKG5lZWRzQ3VzdG9tU2V0dGVyKToK
KyAgICAgICAgKGdlbmVyYXRlSW50ZXJuYWxTZXR0aW5nc0lkbEZpbGUpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3Np
dGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3Jk
aW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRh
c2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgorICAgICAgICAqIHBsYXRmb3JtL0h5c3Rl
cmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpI
eXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5
OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6
CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lOjpj
YXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OlRocmVhZFRpbWVycyk6CisgICAgICAg
IChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6
VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29y
ZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3ApOgorICAgICAgICAq
IHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpUaW1lckJhc2UpOgorICAgICAgICAoV2Vi
Q29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSk6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFw
RGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcFBvcCk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjph
dWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVu
dFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZp
cmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aXNBY3RpdmUpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcjo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vjb25kc1RvTVMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbE1TKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9s
YXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3Vy
ZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4
dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNr
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFydFNjcm9sbFNuYXBUaW1lcik6
CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQ
cm92aWRlci5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VB
ZGRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyYXRj
aEJ1ZmZlcjo6c2NoZWR1bGVTY3JhdGNoQnVmZmVyUHVyZ2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25z
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxl
Y3RlZE9wdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzZWVrV2l0aFRvbGVyYW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5
ZXJQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3cpOgorICAgICAgICAo
V2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbik6CisgICAg
ICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250
cm9sbGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFw
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb3ZlcmFnZU1hcDo6c2V0TmVlZHNVcGRhdGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMpOgorICAgICAgICAoV2ViQ29yZTo6
VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6
OnNjaGVkdWxlQ29ob3J0UmVtb3ZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6VGls
ZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6VGls
ZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlR3JpZC5oOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hv
cnRJbmZvOjpUaWxlQ29ob3J0SW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJT1N1cmZhY2VQb29sOjptYXJr
T2xkZXJTdXJmYWNlc1B1cmdlYWJsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6Q2FjaGVk
U3VyZmFjZURldGFpbHM6OnJlc2V0TGFzdFVzZVRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwOgorICAgICAgICAoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
Ojp0cmlnZ2VyUmVwYWludCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvU2lua0dTdHJlYW1lci5jcHA6CisgICAgICAgIChWaWRlb1JlbmRlclJlcXVlc3RTY2hl
ZHVsZXI6OnJlcXVlc3RSZW5kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9N
ZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0OjpzZWVrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Qml0bWFwVGV4dHVyZVBvb2wuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlVXBkYXRlT25Db21wb3Np
dG9yVGhyZWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVybGF5
U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0azo6aGlkZU92
ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hl
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5n
VGlsZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2
ZVRpbGVDcmVhdGlvbkVuYWJsZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJU
aGVtZUlPUy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgIChXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvU2Nyb2xsYmFyVGhlbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVt
ZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRo
ZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlTW90aW9uQ2xpZW50TW9jazo6c2V0TW90aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlUGVybWlzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlQ29udHJvbGxlcik6
CisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRl
cyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGlt
ZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6c3RlcEljZVRy
YW5zcG9ydFN0YXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6aWNl
VHJhbnNwb3J0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2lu
dDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01v
Y2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVhayk6CisgICAgICAgICogcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckV2ZW50OjpUaW1lckV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OmFkZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGF0YVVSTERlY29kZXI6OkRlY29kaW5nUmVzdWx0RGlzcGF0Y2hlcjo6c3RhcnRUaW1lcik6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6c2NoZWR1bGVGYWlsdXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpzZXREZWZlcnNMb2FkaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9O
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQ
cmVzc3VyZUhhbmRsZXI6Omluc3RhbGwpOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFnZVF1YWxp
dHlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUXVhbGl0eUNvbnRyb2xs
ZXI6OnJlc3RhcnRUaW1lcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1h
cnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6c3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJlVGV4dFRpbWVy
OjpyZXN0YXJ0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVmlldzo6c2NoZWR1bGVMYXp5UmVwYWludCk6CisgICAgICAgICogcmVwbGF5L0NhcHR1cmlu
Z0lucHV0Q3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHR1cmluZ0lucHV0Q3Vyc29y
OjpzdG9yZUlucHV0KToKKyAgICAgICAgKiByZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6RXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlz
cGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24pOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0KToKKyAgICAgICAgKiByZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNlc3Npb25TZWdt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlT
ZXNzaW9uU2VnbWVudCk6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6dGltZXN0YW1wKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50OjpldmVudExvb3BUaW1pbmdzKToK
KyAgICAgICAgKiByZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaDoKKyAgICAgICAgKiBzdHls
ZS9TdHlsZVNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpTY29wZTo6c2NoZWR1
bGVVcGRhdGUpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5bmNocm9ub3VzbHkp
OgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNl
dHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6c2V0VGltZW91dCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxT
Y29wZTo6c2V0SW50ZXJ2YWwpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2V0VGltZW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6cHJlcGFyZVRvU2VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxI
dHRwUmVxdWVzdDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6
cmVzdW1lKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVk
UHJvZ3Jlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZTo6cmVzdW1lKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuaDoKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCBy
ZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlYTZl
OThhYTc3ODkxYzIwYjg3M2MzN2EzYTkwYTVkNDY3ZDRjOGY2Li5mYzZmN2VlZjZjNmQyNGQzZDgz
NTYwNWI1YThhMjNhMjYyY2I3NzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTEx
LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENo
YW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6
Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBs
YWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1v
dmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBl
bnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBV
c2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIFN0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hl
ZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hl
ZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNs
b3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1l
ckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpz
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJh
Y2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKToKKwogMjAxNi0x
MS0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
SlNDXSBXVEY6OlRlbXBvcmFyeUNoYW5nZSB3aXRoIFdURjo6U2V0Rm9yU2NvcGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCA2NmU0ZTI3YTNhODBiOGFiMTM4ZmYwNjE5MjBjZmJlMWUyNzlmNTA2Li44Mjg5
YzQ2MzVhMmZhZmMxYjhmYmQ1ZjI4NmQyODM2YWE5ZGNlZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTYtMTEtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBu
b3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1l
cnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAg
ICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisK
KyAgICAgICAgQ29udmVydCBzb21lIGVudHJhaW5lZCBjb2RlIGNvZGUgdG8gU2Vjb25kcy9Nb25v
dG9uaWNUaW1lLgorCisgICAgICAgIFVzZSB0aW1lIGxpdGVyYWxzIGluIG1vcmUgcGxhY2VzLgor
CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgIChQbHVn
aW5UaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFN0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW06
CisgICAgICAgICgrW1dlYlN0b3JhZ2VNYW5hZ2VyIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVN
b2RlbDpdKToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCByZWZlcmVuY2UgaW1w
bGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDIyZmI5YjRm
NDdhZDFiMTcxZDk3OTU2NzBmMzBlNDZlMWQ3YWJlMmUuLjY4OGRkMDBlM2Y3Njk2N2M0Y2M1ZjFl
ZmM0OGJmZjk0OGU2ZTE5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAx
Ni0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBvciBz
dGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0byB1c2UgU2Vjb25kcywg
cmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAgICBkb3VibGVzLCBhbmQg
cmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAgICAgICBDb252ZXJ0IHNv
bWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25pY1RpbWUuCisKKyAgICAg
ICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAgICAgICAgKiBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpbk1lc3NhZ2VU
aHJvdHRsZXJXaW4uY3BwOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24pOgorICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblN0
cmVhbTo6ZGVsaXZlckRhdGEpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpQbHVnaW5WaWV3OjpzY2hlZHVsZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bHVnaW5WaWV3OjprZWVwQWxpdmUpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojp3bmRQcm9jKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChBY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKToKKyAgICAgICAgKiBX
ZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnNldENhY2hlTW9kZWwpOgorICAgICAgICAo
V2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKToKKyAgICAgICAgKFdlYlZpZXc6OnNldE1pbmltdW1U
aW1lckludGVydmFsKToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCByZWZlcmVu
Y2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDVhMTJkNzc5
ZTJhNjk4ZTI0NGMzNDYyZDljODI2OTFiNDAyOGRjOGYuLmU0NTFhYzRjNGU1MmJlYTJlNzA2ZGNh
MDhjZGY2Y2I1ODkyZTk4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNzQgQEAKKzIwMTYtMTEt
MjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hh
bmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpj
aHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENo
YW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxh
Y2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92
aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgQ29udmVydCBzb21lIGVu
dHJhaW5lZCBjb2RlIGNvZGUgdG8gU2Vjb25kcy9Nb25vdG9uaWNUaW1lLgorCisgICAgICAgIFVz
ZSB0aW1lIGxpdGVyYWxzIGluIG1vcmUgcGxhY2VzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0RhdGFUYXNrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNr
OjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2Fk
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWQ6OlRocm90dGxlOjpUaHJvdHRsZSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3Jr
U2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvYWRUaHJvdHRsZUxhdGVuY3kpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQp
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHA6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3Bl
cmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpzdG9yZSk6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1bWUpOgorICAgICAg
ICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29k
ZXI8U2Vjb25kcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25k
cz46OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9J
UEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5h
dGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyk6CisgICAg
ICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24p
OgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95KToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50VGltZXIpOgorICAgICAg
ICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZSk6CisgICAgICAgICogUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9kZWwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKToKKyAgICAgICAgKiBTaGFy
ZWQvQ2FjaGVNb2RlbC5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nlc3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6CisgICAgICAgICogU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OnNldFRl
cm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+Ojpl
bmNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90b25pY1Rp
bWU+OjpkZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjplbmNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjpkZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1l
bW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1v
cnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNh
bXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Omxhc3REaXNwbGF5VGltZSk6Cisg
ICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkpOgor
ICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmg6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbToKKyAg
ICAgICAgKEFQSTo6U2hhcmVkSlNDb250ZXh0OjplbnN1cmVDb250ZXh0KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OnNjaGVkdWxl
VXBkYXRlRGlzcGxheSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
d0Jhc2UuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VTY2hlZHVsZVVwZGF0ZUFjdGl2
aXR5U3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93blByb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06CisgICAgICAgIChXZWJL
aXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNo
ZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJv
Y2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhwb3NlZFJlY3QpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbik6CisgICAgICAg
IChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RhcnQpOgor
ICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0
b3ApOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0
b3I6OmRpZERyYXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5JbmZvQ2FjaGU6OnVwZGF0ZVBsdWdpbkluZm8pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVzcG9u
c2l2ZW5lc3NUaW1lci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hh
c2gpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0
b0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGll
bnRFZmwuY3BwOgorICAgICAgICAoVGV4dENoZWNrZXJDbGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hl
Y2tpbmdMYW5ndWFnZXMpOgorICAgICAgICAoVGV4dENoZWNrZXJDbGllbnRFZmw6OmNhbGxDb250
aW51b3VzU3BlbGxDaGVja2luZ0NoYW5nZUNhbGxiYWNrQXN5bmMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpHZXN0dXJl
Q29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OmJlZ2luKToKKyAgICAgICAgKFdlYktpdDo6R2VzdHVy
ZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpzY2FsZUNoYW5nZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
b3B1cE1lbnVQcm94eUd0azo6bWVudVVubWFwcGVkQ2FsbGJhY2spOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6bWF4aW11bUJ1
ZmZlcmluZ1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1
bGVJbnRlcm5hbGx5RmFpbGVkTG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5QUnVudGlt
ZU9iamVjdE1hcDo6YWRkVG9JbnZhbGlkYXRpb25RdWV1ZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVnaW4pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW06CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YktpdDo6UGx1Z2luVmlldzo6bG9hZFVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVTb29uKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6
bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpz
Y2hlZHVsZUxheWVyRmx1c2gpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxl
RGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
Om1hcmtMYXllcnNWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZUlz
SW5XaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdpblZpZXcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6CisgICAgICAgICgpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVseSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0lu
Y3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAxNi0xMS0yNiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIGlP
UyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdlNmViNTBhYzRiMDY0NWNj
OWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFjOTU3NTNlMTk5MTE3MmE0
NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2
b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VDb2xsZWN0aW9u
KEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNvbGxlY3Rpb25FdmVudHNU
YXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAKaW5kZXggYWQ1ZGNlMjQ1ODZjNGIzMWNkZTU5NWJhMmIxZjdmNmUzMGIzNzFh
OS4uYTNlNTkxZTAwOWYxNGRlOGMwZTNlYjU3NTRkODJjNmY1MDMxYWQzYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMjIzLDEz
ICsyMjMsMTMgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgc3RkOjpwYWlyPFNwZWNpZXNDb25zdHJ1
Y3RSZXN1bHQsIEpTT2JqZWN0Kj4gc3BlY2llc0NvbnN0cnUKICAgICAgICAgaWYgKGNvbnN0cnVj
dG9yLmlzQ29uc3RydWN0b3IoKSkgewogICAgICAgICAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9y
T2JqZWN0ID0ganNDYXN0PEpTT2JqZWN0Kj4oY29uc3RydWN0b3IpOwogICAgICAgICAgICAgaWYg
KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSAhPSBjb25zdHJ1Y3Rvck9iamVjdC0+Z2xvYmFs
T2JqZWN0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXND
b25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTs7CisgICAgICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxs
cHRyKTsKICAgICAgICAgfQogICAgICAgICBpZiAoY29uc3RydWN0b3IuaXNPYmplY3QoKSkgewog
ICAgICAgICAgICAgY29uc3RydWN0b3IgPSBjb25zdHJ1Y3Rvci5nZXQoZXhlYywgZXhlYy0+cHJv
cGVydHlOYW1lcygpLnNwZWNpZXNTeW1ib2wpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgZXhjZXB0aW9uUmVzdWx0KCkpOwogICAgICAgICAgICAgaWYgKGNvbnN0cnVj
dG9yLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVj
aWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwg
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICB9IGVsc2UKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgZXhjZXB0aW9uUmVzdWx0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUnVuTG9vcC5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCmluZGV4IDU1NWQ0NDczMWNm
MzA4YmNiZDllZWJkZmJlNjViMjFmZGFhNThlZGUuLjYzZDBjNzk5OTFlZDkyZDY4OGU1Yjk4YjUx
Y2JmYzQ3NDdjMzgzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKQEAgLTg4LDEwICs4OCw4IEBAIHB1YmxpYzoKICAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGV4cGxpY2l0IFRpbWVyQmFzZShSdW5Mb29wJik7CiAg
ICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAotICAgICAg
ICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBl
YXRJbnRlcnZhbCwgdHJ1ZSk7IH0KLSAgICAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVh
dEludGVydmFsLmNvdW50KCkgKiAwLjAwMSk7IH0KLSAgICAgICAgdm9pZCBzdGFydE9uZVNob3Qo
ZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KLSAgICAgICAgdm9p
ZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbC5jb3VudCgpICogMC4wMDEsIGZhbHNlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWws
IHRydWUpOyB9CisgICAgICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQogCiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIHN0b3AoKTsKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNBY3RpdmUoKSBj
b25zdDsKQEAgLTEwMyw3ICsxMDEsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHByaXZhdGU6
Ci0gICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCk7CisgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0
YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOwogCiAgICAgICAgIFJ1
bkxvb3AmIG1fcnVuTG9vcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRp
bWVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaAppbmRleCAzNzgwZTc2YzAzMTMx
MDRhZWM3ZmQ3OTczMjNlYjQxMDRmODNlNTk3Li42YzRmZDZlYzFhODA1YzQxMzQwNjBmNDdlNzY0
NjQ4ZDQ3YWQ3OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaApAQCAtNDUsMTAgKzQ1LDEwIEBAIHB1
YmxpYzoKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVs
ZVBhaXIqKTsKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hl
ZHVsZVBhaXJIYXNoU2V0Jik7CiAKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChk
b3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKTsKKyAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29u
ZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQot
ICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwg
MCk7IH0KKyAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsg
c3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRP
bmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDBfcyk7IH0KIAogICAg
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKaW5kZXggZWE2NWNiYjUzMmUyM2JhN2JmOTU3
M2MzMWI3Y2FiYjNiODlhOThjYi4uMDg1Y2JhNjNjY2Q0NmVlMGVhZGZlMTk3OWM4ODUyMGVmZTVi
ZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcApAQCAtNTIsMTIgKzUyLDEyIEBAIHN0
YXRpYyB2b2lkIHRpbWVyRmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYsIHZvaWQqIGNvbnRleHQpCiAg
ICAgdGltZXItPmZpcmVkKCk7CiB9CiAKLXZvaWQgUnVuTG9vcFRpbWVyQmFzZTo6c3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgUnVuTG9v
cFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVh
dEludGVydmFsKQogewogICAgIGlmIChtX3RpbWVyKQogICAgICAgICBDRlJ1bkxvb3BUaW1lcklu
dmFsaWRhdGUobV90aW1lci5nZXQoKSk7CiAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRl
eHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBtX3RpbWVyID0gYWRvcHRDRihDRlJ1bkxv
b3BUaW1lckNyZWF0ZSgwLCBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIG5leHRGaXJlSW50
ZXJ2YWwsIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkpOworICAg
IG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1l
R2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbC52
YWx1ZSgpLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkpOwogfQogCiB2b2lkIFJ1bkxvb3BU
aW1lckJhc2U6OnNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpciogc2NoZWR1bGVQYWlyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L2NmL1J1bkxvb3BDRi5jcHAKaW5kZXggN2U4NDBkZDUyZGY4Y2Y2MDRhZjE4YTk4NmRlOTIzZTg3
MjkyNDQ2Mi4uOTZlNzhkYjM2NTEwMzBjMzI1NDMxMzEwZmZhYmY5NWU1ZjU0OThmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9jZi9SdW5Mb29wQ0YuY3BwCkBAIC0xMDEsMTQgKzEwMSwxNCBAQCBSdW5Mb29wOjpUaW1lckJh
c2U6On5UaW1lckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0KQogewogICAgIGlmIChtX3RpbWVyKQogICAgICAgICBzdG9wKCk7CiAgICAgCiAgICAgQ0ZS
dW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBD
RlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwg
OiAwOwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgQ0ZU
aW1lSW50ZXJ2YWwgcmVwZWF0SW50ZXJ2YWwgPSByZXBlYXQgPyBuZXh0RmlyZUludGVydmFsLnZh
bHVlKCkgOiAwOworICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJ
bnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRl
eHQpKTsKICAgICBDRlJ1bkxvb3BBZGRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29wLmdldCgpLCBt
X3RpbWVyLmdldCgpLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVu
TG9vcEVmbC5jcHAKaW5kZXggNWRmYzI5MDNlOGI0ZDEwNzQzYjUyOWY0YzBjNzRjNjc1MGRhZTU5
Ni4uNjBmYzJiMjkwMTk3ZDllOWZkYWE5MGI5ZTI2NWFiMGI1YmZiMjU5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Vm
bC9SdW5Mb29wRWZsLmNwcApAQCAtMTA1LDE0ICsxMDUsMTQgQEAgYm9vbCBSdW5Mb29wOjpUaW1l
ckJhc2U6OnRpbWVyRmlyZWQodm9pZCogZGF0YSkKICAgICByZXR1cm4gdGltZXItPm1faXNSZXBl
YXRpbmcgPyBFQ09SRV9DQUxMQkFDS19SRU5FVyA6IEVDT1JFX0NBTExCQUNLX0NBTkNFTDsKIH0K
IAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFs
LCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5l
eHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIGlmIChpc0FjdGl2ZSgpKQogICAg
ICAgICBzdG9wKCk7CiAKICAgICBtX2lzUmVwZWF0aW5nID0gcmVwZWF0OwogICAgIEFTU0VSVCgh
bV90aW1lcik7Ci0gICAgbV90aW1lciA9IGVjb3JlX3RpbWVyX2FkZChuZXh0RmlyZUludGVydmFs
LCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKKyAg
ICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwudmFsdWUoKSwgcmVp
bnRlcnByZXRfY2FzdDxFY29yZV9UYXNrX0NiPih0aW1lckZpcmVkKSwgdGhpcyk7CiB9CiAKIHZv
aWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5M
b29wR2VuZXJpYy5jcHAKaW5kZXggOWEzYzA5YTg1MTA3MTMwMmUxMmE1ZTk0MTY3ZWM3YjVmZGEy
NjYzOC4uZmQyNzVjNTMwMDI2M2ViOTg5NWFhYTYyNzQzZTJiNWQ0Njc3MGVhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKQEAgLTI2MywxMiArMjYzLDEyIEBA
IFJ1bkxvb3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lk
IFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIGludGVydmFsLCBib29sIHJlcGVhdGlu
ZykKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIGludGVydmFsLCBib29s
IHJlcGVhdGluZykKIHsKICAgICBzdG9wKCk7CiAgICAgbV9zY2hlZHVsZWRUYXNrID0gU2NoZWR1
bGVkVGFzazo6Y3JlYXRlKFt0aGlzXSB7CiAgICAgICAgIGZpcmVkKCk7Ci0gICAgfSwgU2Vjb25k
cyhpbnRlcnZhbCksIHJlcGVhdGluZyk7CisgICAgfSwgaW50ZXJ2YWwsIHJlcGVhdGluZyk7CiAg
ICAgbV9ydW5Mb29wLnNjaGVkdWxlQW5kV2FrZVVwKG1fc2NoZWR1bGVkVGFzayk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwIGIvU291cmNlL1dU
Ri93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKaW5kZXggOTI3Y2UzMjU0ZjhiNTYyNzhiYTZiN2Zm
MDIxYzBkZjBhYTVmMzIxNi4uZDYwNWM1MmI4YzdjYzQwZTBlNGE3NTk3MzRkNDY4NzgxMzYzM2Ez
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKQEAgLTE5MCw5ICsxOTAsOSBAQCB2
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6dXBkYXRlUmVhZHlUaW1lKCkKICAgICBnX3NvdXJjZV9z
ZXRfcmVhZHlfdGltZShtX3NvdXJjZS5nZXQoKSwgdGFyZ2V0VGltZSk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgZmlyZUludGVydmFsLCBib29sIHJlcGVhdCkK
K3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIGZpcmVJbnRlcnZhbCwgYm9v
bCByZXBlYXQpCiB7Ci0gICAgYXV0byBpbnRlcnZhbER1cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1
cmF0aW9uPGRvdWJsZT4oZmlyZUludGVydmFsKTsKKyAgICBhdXRvIGludGVydmFsRHVyYXRpb24g
PSBzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwudmFsdWUoKSk7CiAg
ICAgYXV0byBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRzOjptYXgoKTsK
ICAgICBpZiAoaW50ZXJ2YWxEdXJhdGlvbiA8IHNhZmVEdXJhdGlvbikKICAgICAgICAgc2FmZUR1
cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pY3Jvc2Vj
b25kcz4oaW50ZXJ2YWxEdXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4v
UnVuTG9vcFdpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKaW5kZXgg
NGI0NWFkNDU4OWY3OGQ1YzNjYTBiZWVmOGNlMWYxNDhiZWVjMDAxNy4uZWEwMjFmN2RiNGNhMmEy
OGIxOWRmMzRlMzU5ZTEyMTc2ZTRjYjcxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2lu
L1J1bkxvb3BXaW4uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcApA
QCAtMTUxLDExICsxNTEsMTEgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAg
ICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4
dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCit2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3Rh
cnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKIHsKICAgICBtX2lzUmVw
ZWF0aW5nID0gcmVwZWF0OwogICAgIG1fcnVuTG9vcC5tX2FjdGl2ZVRpbWVycy5zZXQobV9JRCwg
dGhpcyk7Ci0gICAgOjpTZXRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywg
bV9JRCwgbmV4dEZpcmVJbnRlcnZhbCAqIDEwMDAsIDApOworICAgIDo6U2V0VGltZXIobV9ydW5M
b29wLm1fcnVuTG9vcE1lc3NhZ2VXaW5kb3csIG1fSUQsIG5leHRGaXJlSW50ZXJ2YWwubWlsbGlz
ZWNvbmRzKCksIDApOwogfQogCiB2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RvcCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IGRjM2Y2YTg0N2MyNDgyNWVlMjljZDUyODZlZGUwYTUzZjg4MjQz
NGEuLjYwZmQzZjFjYzNmOTZlNzRiNDE3YzJjYjY0NTcwNmJlYWRlNmE4YTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC0zNDc5LDYgKzM0NzksOCBAQCBzZXQoV2ViQ29yZVRlc3RTdXBwb3J0X0lE
TF9GSUxFUwogKQogCiBsaXN0KEFQUEVORCBXZWJDb3JlVGVzdFN1cHBvcnRfU09VUkNFUworICAg
IGJpbmRpbmdzL2pzL0pTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHAKKwogICAg
IHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCiAKICAgICBw
bGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3guY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Np
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2Vi
S2l0TWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCAwZmFmMjEyMDJhMTMwYjkyZTVkMTI3MDIzNjJj
NDQ3YmQ4ZTcyM2RhLi42MGE5Nzc4ZmE2Njk3YWY1YjFjMTVhNzQyN2M4MmNjNzExMmQ2Zjg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9X
ZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTg1LDcgKzg1
LDcgQEAgY29uc3QgU3RyaW5nJiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCgpIGNv
bnN0CiB2b2lkIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIFJlZjxVaW50OEFycmF5PiYmIGluaXREYXRhKQogewogICAgIG1f
cGVuZGluZ0tleVJlcXVlc3RzLmFwcGVuZCh7IG1pbWVUeXBlLCBXVEZNb3ZlKGluaXREYXRhKSB9
KTsKLSAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9rZXlSZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZCgpCkBAIC0xNDIsNyArMTQyLDcgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYg
a2V5KQogCiAgICAgLy8gMi4gU2NoZWR1bGUgYSB0YXNrIHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJv
dmlkaW5nIGtleS4KICAgICBtX3BlbmRpbmdLZXlzLmFwcGVuZChXVEZNb3ZlKGtleSkpOwotICAg
IG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYWRkS2V5VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAKICAgICByZXR1cm4geyB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcAppbmRleCBjZWM5N2NjOTAyZTQ1
MDY4OTdmZWZiZDNlYWUyZjk3OTA3YWFjYzE2Li41ODZjNTk2ODYxZGFiNzBkZGMyYjY4NjFjMmM3
MTY4MTc1OWEzNmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb05vdGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb05vdGlmaWVyLmNwcApAQCAtNTksMTMgKzU5LDEzIEBAIHZvaWQgR2VvTm90aWZpZXI6
OnNldEZhdGFsRXJyb3IoUmVmUHRyPFBvc2l0aW9uRXJyb3I+JiYgZXJyb3IpCiAgICAgbV9mYXRh
bEVycm9yID0gV1RGTW92ZShlcnJvcik7CiAgICAgLy8gQW4gZXhpc3RpbmcgdGltZXIgbWF5IG5v
dCBoYXZlIGEgemVybyB0aW1lb3V0LgogICAgIG1fdGltZXIuc3RvcCgpOwotICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgR2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKCkKIHsKICAgICBtX3VzZUNhY2hl
ZFBvc2l0aW9uID0gdHJ1ZTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIEdlb05vdGlmaWVyOjpoYXNaZXJvVGlt
ZW91dCgpIGNvbnN0CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgR2VvTm90aWZpZXI6OnJ1bkVycm9y
Q2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiB2b2lkIEdlb05vdGlmaWVyOjpzdGFydFRp
bWVySWZOZWVkZWQoKQogewogICAgIGlmIChtX29wdGlvbnMtPmhhc1RpbWVvdXQoKSkKLSAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9vcHRpb25zLT50aW1lb3V0KCkgLyAxMDAwLjApOwor
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1f
b3B0aW9ucy0+dGltZW91dCgpKSk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnN0b3BUaW1lcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24u
Y3BwCmluZGV4IDg1YWU0MGY2MzQxNzUzMjcxNjcyZjNhMzc3ZmU5OTNkZjRhMzE4YzAuLmMwOWMz
NzliMDI5NjQzZGE5MGNkOGM1NjQ3NDNhNzE1NTA2ZjBmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xOTgsNyArMTk4
LDcgQEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnJl
c3VtZSgpOwogCiAgICAgaWYgKCFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWVUaW1lckZpcmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmNwcAppbmRleCBiODMyNmFmZDMyMzA0NjEyNmE0MzUzZTU0NDk3YWIwYmUxOTU3NzQzLi42OTk2
NzAwYzcwY2VmNjQ0NmRlNGQ5NGEzNWRmZGRmMzk0ODA1MGQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0zNTAsNyAr
MzUwLDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6c2NoZWR1bGVPcGVyYXRpb25UaW1lcigpCiAg
ICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWRJRCgp
KTsKIAogICAgIGlmICghbV9vcGVyYXRpb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX29w
ZXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9vcGVyYXRpb25UaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6b3BlcmF0aW9uVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAppbmRleCBjYjA0ODYxY2M3Y2NjNWNm
MmY3Y2ViYWQ3M2NkNTk3YmQyYTI3MGFhLi43MjVjYmY0YzdlYTZhYmI4M2ExMjRiOTcyZWRlZDNi
ZmIyMzA2ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKQEAgLTE0OTQsNyArMTQ5NCw3
IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Omludm9rZU9wZXJhdGlvbkFuZFRyYW5zYWN0aW9u
VGltZXIoKQogICAgIEFTU0VSVCghbV9oYXJkQ2xvc2VkRm9yVXNlckRlbGV0ZSk7CiAKICAgICBp
ZiAoIW1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9u
L1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYxMGU1MzBlNGRjODdlNzE3
ZDU2NzVmNzA5MTEzYjgwZTkuLjNhMmRhNDFkMWUxNzBjMWVkZmIzZTQ1ZmM2N2YwODM4ODM0ZTlk
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
ZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0YXNrRGVsYXlJbnRlcnZh
bCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNrRGVsYXlJbnRlcnZhbCA9
IFNlY29uZHMoMS4wIC8gMTApOwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4cGxpY2l0
IENsaWVudFN0YXRlKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwgdWludDY0
X3QgY29udGV4dElkKQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNlc3Npb25N
YW5hZ2VyOjpmaW5kKFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwgdWludDY0
CiAKIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lcigp
CiB7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBh
dXNpbmcgPSA2MCAqIDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lcklu
dGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0IFNlY29u
ZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gU2Vjb25kcyg2MCAqIDYwKTsK
KyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA9IFNlY29uZHMoOCAqIDYwKTsKIAogICAgIGlmICghbV9wbGF5YmFja1RhcmdldCB8
fCAhbV9wbGF5YmFja1RhcmdldC0+aGFzQWN0aXZlUm91dGUoKSkgewogICAgICAgICBtX3dhdGNo
ZG9nVGltZXIuc3RvcCgpOwpAQCAtNDQyLDE0ICs0NDIsMTQgQEAgdm9pZCBXZWJNZWRpYVNlc3Np
b25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKCkKICAgICB9CiAKICAgICBpZiAoc3Rv
cFRpbWVyKSB7Ci0gICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgPSAwOworICAgICAg
ICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMF9zOwogICAgICAgICBtX3dhdGNoZG9nVGlt
ZXIuc3RvcCgpOwogICAgICAgICBMT0coTWVkaWEsICJXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpj
b25maWd1cmVXYXRjaGRvZ1RpbWVyIC0gdGltZXIgc3RvcHBlZCIpOwogICAgIH0gZWxzZSB7Ci0g
ICAgICAgIGRvdWJsZSBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRl
cnZhbEFmdGVyUGxheWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5n
OworICAgICAgICBTZWNvbmRzIGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1l
ckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBh
dXNpbmc7CiAgICAgICAgIGlmIChpbnRlcnZhbCAhPSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
IHx8ICFtX3dhdGNoZG9nVGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICAgICAgbV93YXRjaGRv
Z1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyIC0gdGltZXIgc2No
ZWR1bGVkIGZvciAlLjBmIiwgaW50ZXJ2YWwpOworICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2Vi
TWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVk
dWxlZCBmb3IgJS4zZnMiLCBpbnRlcnZhbC52YWx1ZSgpKTsKICAgICAgICAgfQogICAgICAgICBt
X2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gaW50ZXJ2YWw7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdl
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9u
TWFuYWdlci5oCmluZGV4IDU3ZDU4ZWY5MTRjYjIzZjE5NDAxY2NjZmVjMzhlY2UzOGVhZWE2MDku
LjI5NTA5ZTI4YzRhZmE1NGM2ZDQ2YTEzYWQzYzFmMTFiMTZjMWEzNjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Np
b25NYW5hZ2VyLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxNZWRp
YVBsYXliYWNrVGFyZ2V0PiBtX3BsYXliYWNrVGFyZ2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJDb3JlOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jaz4gbV9waWNrZXJPdmVycmlkZTsK
ICAgICBDb25maWd1cmF0aW9uVGFza3MgbV90YXNrRmxhZ3MgeyBOb1Rhc2sgfTsKLSAgICBkb3Vi
bGUgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB7IDAgfTsKKyAgICBTZWNvbmRzIG1fY3VycmVu
dFdhdGNoZG9nSW50ZXJ2YWw7CiAgICAgYm9vbCBtX2V4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxh
YmxlIHsgZmFsc2UgfTsKICAgICBib29sIG1fdGFyZ2V0Q2hhbmdlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX21vY2tQaWNrZXJFbmFibGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCBmNTU5ODExOGE4
OGYyODAwMzE1ZDk0MTczMGFhZmMyMWUwNTUyODRiLi5kNjRlYzYzZTM1MTQ4MTRmYWMzNTEzMGZj
MTEzOTI3MjRhNjM2MGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC0zNDgsNyArMzQ4LDcgQEAgdm9pZCBTb3VyY2VC
dWZmZXI6OnJhbmdlUmVtb3ZhbChjb25zdCBNZWRpYVRpbWUmIHN0YXJ0LCBjb25zdCBNZWRpYVRp
bWUmIGVuZCkKICAgICAvLyA1LiBSZXR1cm4gY29udHJvbCB0byB0aGUgY2FsbGVyIGFuZCBydW4g
dGhlIHJlc3Qgb2YgdGhlIHN0ZXBzIGFzeW5jaHJvbm91c2x5LgogICAgIG1fcGVuZGluZ1JlbW92
ZVN0YXJ0ID0gc3RhcnQ7CiAgICAgbV9wZW5kaW5nUmVtb3ZlRW5kID0gZW5kOwotICAgIG1fcmVt
b3ZlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVtb3ZlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgU291cmNlQnVmZmVyOjphYm9ydElmVXBkYXRpbmcoKQpAQCAtNTMz
LDcgKzUzMyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVy
SW50ZXJuYWwoY29uc3QgdW5zaWduZWQgY2hhciogZGF0YSwKICAgICBzY2hlZHVsZUV2ZW50KGV2
ZW50TmFtZXMoKS51cGRhdGVzdGFydEV2ZW50KTsKIAogICAgIC8vIDYuIEFzeW5jaHJvbm91c2x5
IHJ1biB0aGUgYnVmZmVyIGFwcGVuZCBhbGdvcml0aG0uCi0gICAgbV9hcHBlbmRCdWZmZXJUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hcHBlbmRCdWZmZXJUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIAogICAgIHJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggMWQ1
MmE0OGE1M2RhZTI4OGM4NDcxOWZkYzFlMWVlYmQ0N2VlNmU1Ny4uMWY5ZjcxMDNkZTJlYzllZjE1
OTY5ODIyOGYyNTAzMjJlOTk4NDA2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIE1l
ZGlhU3RyZWFtOjpzY2hlZHVsZUFjdGl2ZVN0YXRlQ2hhbmdlKCkKICAgICBtX3NjaGVkdWxlZEFj
dGl2aXR5RXZlbnRzLmFwcGVuZChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNl
KSk7CiAKICAgICBpZiAoIW1fYWN0aXZpdHlFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9hY3Rpdml0
eUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTdHJlYW06OmFj
dGl2aXR5RXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCmluZGV4IDVkZDJmMWU0MWNmNTEyMjk2ZDc0
ZDIwYzFiZDdjNDhiYjJiMjJkNzkuLmEyYmVmYzU0NDYzZWJmNDM1MDFiYjYxMzhkZGVkNzUzMGRi
NDRhNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
RFRNRlNlbmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEVE1GU2VuZGVyLmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgUlRDRFRNRlNlbmRlcjo6
c2NoZWR1bGVEaXNwYXRjaEV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkKICAgICBtX3NjaGVkdWxl
ZEV2ZW50cy5hcHBlbmQoV1RGTW92ZShldmVudCkpOwogCiAgICAgaWYgKCFtX3NjaGVkdWxlZEV2
ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFD
aGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNo
YW5uZWwuY3BwCmluZGV4IDA1MWM3MDE0OWFlMmRhMTJlNjAwYTQwNTBmMDljMWVjOGJmZDU3NTYu
LjJkYmNhZjFmMjFiZmQ0OTg4MDA3MGEzZDgzZGI4YWVhODJlMmViMjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCkBA
IC0yMzcsNyArMjM3LDcgQEAgdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2NoZWR1bGVEaXNwYXRjaEV2
ZW50KFJlZjxFdmVudD4mJiBldmVudCkKICAgICBtX3NjaGVkdWxlZEV2ZW50cy5hcHBlbmQoV1RG
TW92ZShldmVudCkpOwogCiAgICAgaWYgKCFtX3NjaGVkdWxlZEV2ZW50VGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJU
Q0RhdGFDaGFubmVsOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCAx
ZTAyY2UxY2Y2N2Y2ZTRkOTEyODc1YWJmODBiMmRkZGU4MzdhN2U3Li5iYjg3MTlkODJmNTIwODZh
MGU0M2I3ZDBlODQ4YjE4MjI4ZGFkNjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBAQCBO
b3RpZmljYXRpb246Ok5vdGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpCiAgICAgLy8gRklYTUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50ZXIg
Y2FuIGJlIG51bGwgc28gc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJlZi4K
ICAgICAvLyBCdXQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0cnlp
bmcgdG8gaGFuZGxlIHRoYXQgY2FzZS4KICAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50ZXIt
PmNsaWVudCgpKTsKLSAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGFz
a1RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
Y3BwCmluZGV4IGE5Mjk4Zjc1MjVjZTdhODg0YTA1YWUyZTQ3M2RlMWNhYjEwZWJmZTAuLjkyNWVi
OTZhMzFjMzg4ZTY2NTg3Yzk5YzU0NmRlODkzN2VmNjQ2NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIu
Y3BwCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVy
bWlzc2lvbihSZWZQdHI8Vm9pZENhbGxiYWNrPiYmIGNhbGxiYWNrKQogICAgIGNhc2UgU2VjdXJp
dHlPcmlnaW46OkFsd2F5c0Rlbnk6CiAgICAgICAgIGlmIChtX2NhbGxiYWNrcy5pc0VtcHR5KCkp
IHsKICAgICAgICAgICAgIHJlZigpOyAvLyBCYWxhbmNlZCBieSB0aGUgZGVyZWZzIGluIE5vdGlm
aWNhdGlvbkNlbnRlcjo6c3RvcCBhbmQgTm90aWZpY2F0aW9uQ2VudGVyOjp0aW1lckZpcmVkLgot
ICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICB9CiAgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVu
ZChbY2FsbGJhY2tdKCkgewogICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKaW5kZXggODYwOTE0MjA5Yzhi
YjM0MjgwNDBhYTE0ZmM5ZmNkMDNkMGRkNWM1OS4uMzNiMDIyMGU5NDdmODQzNzA2MjdiMTYyMTFl
NmVjMjQ5MDllZDFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRp
b24vVmlicmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9W
aWJyYXRpb24uY3BwCkBAIC03Niw3ICs3Niw3IEBAIGJvb2wgVmlicmF0aW9uOjp2aWJyYXRlKGNv
bnN0IFZpYnJhdGlvblBhdHRlcm4mIHBhdHRlcm4pCiAKICAgICBtX3BhdHRlcm4gPSBzYW5pdGl6
ZWQ7CiAKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6V2FpdGluZzsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFZpYnJhdGlvbjo6dGltZXJGaXJlZCgpCiAg
ICAgICAgIG1fdmlicmF0aW9uQ2xpZW50LT52aWJyYXRlKG1fcGF0dGVyblswXSk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX3BhdHRlcm5bMF0gLyAx
MDAwLjApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29u
ZHMobV9wYXR0ZXJuWzBdKSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92ZSgwKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCBiZWQ5
MzYyNjdkNTY4NGZjNzg4MTcwOTFmMTFmMDdjNDVlYWIzYjc5Li4wOGUxMmExNjAxYzhhMjRlNmFi
NmMyMjQ0NjI3ZDEwYWRjNGYyOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNTAzLDcgKzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0
OjpyZXN1bWUoKQogICAgICAgICBtX2NoYW5uZWwtPnJlc3VtZSgpOwogICAgIGVsc2UgaWYgKCFt
X3BlbmRpbmdFdmVudHMuaXNFbXB0eSgpICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsK
ICAgICAgICAgLy8gRmlyZSB0aGUgcGVuZGluZyBldmVudHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUg
bm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgSlMgZnJvbSByZXN1bWUoKS4KLSAgICAg
ICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAgbV9zaG91bGREZWxheUV2ZW50RmlyaW5n
ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5jcHAKaW5kZXggODBkYmI0YmEwZWUzYjJjNDczM2M4MWQyZTFiODU5
N2Q4YmJlNzhjNC4uNjhjYzJjMDZiNThiM2ViMjI1ZDgwMmRjZWZmNGM5MmYyOTE3NzlkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5u
ZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmNwcApAQCAtNjIsNyArNjIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNv
bnN0IGRvdWJsZSBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lID0gMiAqIDYwLjA7Citjb25zdCBT
ZWNvbmRzIFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUgPSBTZWNvbmRzKDIgKiA2MCk7CiAKIFdl
YlNvY2tldENoYW5uZWw6OldlYlNvY2tldENoYW5uZWwoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50JiBjbGllbnQsIFNvY2tldFByb3ZpZGVyJiBwcm92aWRlcikKICAg
ICA6IG1fZG9jdW1lbnQoJmRvY3VtZW50KQpAQCAtMjA3LDcgKzIwNyw3IEBAIHZvaWQgV2ViU29j
a2V0Q2hhbm5lbDo6Y2xvc2UoaW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVhc29uKQogICAgIFJl
ZjxXZWJTb2NrZXRDaGFubmVsPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsgLy8gQW4gYXR0ZW1wdCB0
byBzZW5kIGNsb3NpbmcgaGFuZHNoYWtlIG1heSBmYWlsLCB3aGljaCB3aWxsIGdldCB0aGUgY2hh
bm5lbCBjbG9zZWQgYW5kIGRlcmVmZXJlbmNlZC4KICAgICBzdGFydENsb3NpbmdIYW5kc2hha2Uo
Y29kZSwgcmVhc29uKTsKICAgICBpZiAobV9jbG9zaW5nICYmICFtX2Nsb3NpbmdUaW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX2Nsb3NpbmdUaW1lci5zdGFydE9uZVNob3QoMiAqIFRDUE1heGlt
dW1TZWdtZW50TGlmZXRpbWUpOworICAgICAgICBtX2Nsb3NpbmdUaW1lci5zdGFydE9uZVNob3Qo
VENQTWF4aW11bVNlZ21lbnRMaWZldGltZSAqIDIpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5u
ZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFzb24pCkBAIC0yNjYsNyArMjY2LDcgQEAgdm9pZCBX
ZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUoKQogewogICAgIG1fc3VzcGVuZGVkID0gZmFsc2U7CiAg
ICAgaWYgKCghbV9idWZmZXIuaXNFbXB0eSgpIHx8IG1fY2xvc2VkKSAmJiBtX2NsaWVudCAmJiAh
bV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBXZWJTb2NrZXRDaGFubmVsOjpkaWRPcGVuU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhh
bmRsZSYgaGFuZGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDM4Zjg5YjgxOTFkYzg4YzFlNTk4MmJhZTFhYTg0ZTUwMmQ4YzAz
MDcuLmMxNmFhNGVlZTBiODU3OTY3YTUyMWMxMWMxODZjODBkOWJlZjEwNGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUxMiw2
ICs1MTIsNyBAQAogCQkwRjYzODNERTE4NjE1QjI5MDAzRTVEQjUgLyogVGhyZWFkZWRTY3JvbGxp
bmdUcmVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjYzODNEQzE4NjE1QjI5MDAzRTVEQjUgLyogVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY2QTEyQkQxQTAw
OTIzNzAwQzZERTcyIC8qIERlYnVnUGFnZU92ZXJsYXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkExMkJCMUEwMDkyMzcwMEM2REU3MiAvKiBE
ZWJ1Z1BhZ2VPdmVybGF5cy5jcHAgKi87IH07CiAJCTBGNkExMkJFMUEwMDkyMzcwMEM2REU3MiAv
KiBEZWJ1Z1BhZ2VPdmVybGF5cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY2QTEyQkMxQTAwOTIzNzAwQzZERTcyIC8qIERlYnVnUGFnZU92ZXJsYXlz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY3
MzczQ0QxREVCODc1MDAwRTFDREY1IC8qIEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjcz
NzNDQjFERUI4MjlDMDBFMUNERjUgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9t
LmNwcCAqLzsgfTsKIAkJMEY3RDA3MzMxODg0QzU2QzAwQjRBRjg2IC8qIFBsYXRmb3JtVGV4dFRy
YWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzI4
NDdFMjE2RUJDNUIwMDA0M0NGQTQgLyogUGxhdGZvcm1UZXh0VHJhY2suaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjg3MTY2RjFDODY5RDgzMDA0
RkYwREUgLyogTGVuZ3RoUG9pbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY4NzE2NkQxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmNw
cCAqLzsgfTsKIAkJMEY4NzE2NzAxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjg3MTY2RTFDODY5
RDgzMDA0RkYwREUgLyogTGVuZ3RoUG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzUwMiw2ICs3NTAzLDcgQEAKIAkJMEY2MzgzREMxODYx
NUIyOTAwM0U1REI1IC8qIFRocmVhZGVkU2Nyb2xsaW5nVHJlZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBUaHJlYWRlZFNjcm9sbGluZ1RyZWUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEY2QTEyQkIxQTAwOTIzNzAwQzZERTcyIC8qIERlYnVnUGFnZU92ZXJs
YXlzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlYnVnUGFnZU92
ZXJsYXlzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY2QTEyQkMxQTAwOTIz
NzAwQzZERTcyIC8qIERlYnVnUGFnZU92ZXJsYXlzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERlYnVnUGFnZU92ZXJsYXlzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGNzM3M0NCMURFQjgyOUMwMEUxQ0RGNSAvKiBKU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0
ZWRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNJbnRl
cm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9tLmNwcDsgcGF0aCA9IGJpbmRpbmdzL2pzL0pTSW50
ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9P
VDsgfTsKIAkJMEY4NzE2NkQxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExlbmd0aFBvaW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4NzE2NkUxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0
aFBvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlbmd0aFBvaW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOEI0NTZGMURDM0ZCMTAwMDQ0M0MzRiAv
KiBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTk3MzksMTAgKzk3NDEsMTAgQEAKIAkJNUNFNUQ5QTMxREI4OTdDMzAwQ0U3QThE
IC8qIFRleHRFbmNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFRleHRFbmNvZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNFNUQ5QTQx
REI4OTdDMzAwQ0U3QThEIC8qIFRleHRFbmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRleHRFbmNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVD
RTVEOUE1MURCODk3QzMwMENFN0E4RCAvKiBUZXh0RW5jb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gVGV4dEVuY29kZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1
Q0U1RDlBNzFEQjg5OUZDMDBDRTdBOEQgLyogSlNUZXh0RGVjb2Rlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBKU1RleHREZWNvZGVyLmNwcDsgcGF0aCA9IEpTVGV4
dERlY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1Q0U1RDlBODFEQjg5
OUZDMDBDRTdBOEQgLyogSlNUZXh0RGVjb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBKU1RleHREZWNvZGVyLmg7IHBhdGggPSBKU1RleHREZWNvZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTVDRTVEOUE5MURCODk5RkMwMENFN0E4RCAvKiBKU1RleHRF
bmNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTVGV4dEVu
Y29kZXIuY3BwOyBwYXRoID0gSlNUZXh0RW5jb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTVDRTVEOUFBMURCODk5RkMwMENFN0E4RCAvKiBKU1RleHRFbmNvZGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTVGV4dEVuY29kZXIuaDsgcGF0aCA9IEpT
VGV4dEVuY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUNFNUQ5QTcxREI4
OTlGQzAwQ0U3QThEIC8qIEpTVGV4dERlY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNUZXh0RGVjb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTVDRTVEOUE4MURCODk5RkMwMENFN0E4RCAvKiBKU1RleHREZWNvZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVGV4dERlY29kZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNUNFNUQ5QTkxREI4OTlGQzAwQ0U3QThEIC8qIEpTVGV4dEVuY29k
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUZXh0RW5jb2Rl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDRTVEOUFBMURCODk5RkMwMENF
N0E4RCAvKiBKU1RleHRFbmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTVGV4dEVuY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNGQzQzNEUx
OTI0MDZBOTAwQTBEM0I1IC8qIFBvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0ZDNDM0RjE5MjQwNkE5MDBBMEQzQjUgLyogUG9p
bnRlckxvY2tDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBv
aW50ZXJMb2NrQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RDIx
QTgwMDEzRUNFNURGMDBCQjcwNjQgLyogV2ViVlRUUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlZUVFBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xNjU0Nyw2ICsxNjU0OSw3IEBACiAJCQkJNDE3REE3MUMxMzczNURGQTAw
N0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggKi8sCiAJCQkJQTdCNEVBNzgxNEM5MzQ4NDAwQzhGNUJG
IC8qIEpTSW50ZXJuYWxTZXR0aW5ncy5jcHAgKi8sCiAJCQkJQTdCNEVBNzkxNEM5MzQ4NDAwQzhG
NUJGIC8qIEpTSW50ZXJuYWxTZXR0aW5ncy5oICovLAorCQkJCTBGNzM3M0NCMURFQjgyOUMwMEUx
Q0RGNSAvKiBKU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwICovLAogCQkJCTUz
RUQzRkRDMTY3QTg4RTcwMDY3NjJFNiAvKiBKU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3Bw
ICovLAogCQkJCTUzRUQzRkREMTY3QTg4RTcwMDY3NjJFNiAvKiBKU0ludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQuaCAqLywKIAkJCQlBN0I0RUE2ODE0QzkzNDg0MDBDOEY1QkYgLyogSlNNYWxsb2NT
dGF0aXN0aWNzLmNwcCAqLywKQEAgLTI4NTg5LDYgKzI4NTkyLDcgQEAKIAkJCQk0MTdEQTZEOTEz
NzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNzlG
MERBMUI5Nzc0RkUwMEVEMEEyNyAvKiBJbnRlcm5hbHMubW0gaW4gU291cmNlcyAqLywKIAkJCQlB
N0JGN0VERjE0QzkxNzVBMDAxNDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRjczNzNDRDFERUI4NzUwMDBFMUNERjUgLyogSlNJbnRlcm5hbFNldHRpbmdz
R2VuZXJhdGVkQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzRTI5RTVFMTY3QThBMTkw
MDU4NkQzRCAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxNzE0RUIwMUNGNjY1Q0UwMDQ3MjNDNCAvKiBKU0dDT2JzZXJ2YXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKaW5kZXggZDFlODIwNWExMTYxMmYwZGFmODQxMGI4ZTYzMTg5OGExZTI2YzA3
NC4uMGY0ZTExYzVmYjRiMmIxMTkyZDY2ZTdlYjFhZmIyMzFmZTk5MTI3ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0xMTAsOCArMTEw
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAog
Ly8gUG9zdCB2YWx1ZSBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBmb3IgcGFzc3dvcmQgZmllbGRzIG9y
IGVsZW1lbnRzIGNvbnRhaW5lZCBpbiBwYXNzd29yZCBmaWVsZHMgYXQgYSA0MGh6IGludGVydmFs
IHRvIHRod2FydCBhbmFseXNpcyBvZiB0eXBpbmcgY2FkZW5jZQotc3RhdGljIGRvdWJsZSBBY2Nl
c3NpYmlsaXR5UGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbkludGVydmFsID0gMC4wMjU7
Ci1zdGF0aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlv
bkludGVydmFsID0gMC4wMjA7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5UGFzc3dvcmRW
YWx1ZUNoYW5nZU5vdGlmaWNhdGlvbkludGVydmFsID0gMC4wMjVfczsKK3N0YXRpYyBTZWNvbmRz
IEFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gMC4w
Ml9zOwogCiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFYQ29tcHV0ZWRPYmplY3RBdHRy
aWJ1dGVDYWNoZTo6Z2V0SWdub3JlZChBWElEIGlkKSBjb25zdAogewpAQCAtOTkzLDcgKzk5Myw3
IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBvYmplY3QsIERvY3VtZW50KiBkb2N1CiAgICAgaWYgKHBvc3RUeXBlID09IFBvc3RBc3lu
Y2hyb25vdXNseSkgewogICAgICAgICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuYXBwZW5kKHN0ZDo6
bWFrZV9wYWlyKG9iamVjdCwgbm90aWZpY2F0aW9uKSk7CiAgICAgICAgIGlmICghbV9ub3RpZmlj
YXRpb25Qb3N0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fbm90aWZpY2F0aW9uUG9z
dFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBwb3N0UGxhdGZvcm1O
b3RpZmljYXRpb24ob2JqZWN0LCBub3RpZmljYXRpb24pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKaW5kZXggYmZmM2IwY2FlZWY4ZDRiMGQzNjFjMmNj
NGIyNDlmZjA4MzU4MmUyNS4uZTZlNjU2OTBkM2IyZDFiZTRkMTNkOTBkZGM0MDU3MWY5MjNjMTVi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCkBAIC03
MSw3ICs3MSw3IEBAIHZvaWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdFNvb24oKQogdm9p
ZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xsZWN0T25OZXh0UnVuTG9vcCgpCiB7CiAgICAgaWYg
KCFtX0dDVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9HQ1RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9HQ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEdDQ29u
dHJvbGxlcjo6Z2NUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgxMjBiZmI0NTUyNWVjOGI5ZDIzZWQ5ZmJhZGY3OGViODYxYzhkMTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ludGVybmFsU2V0dGlu
Z3NHZW5lcmF0ZWRDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmgi
CisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUNvbnZlcnQuaCIK
KyNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworSlNDOjpKU1ZhbHVlIEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZDo6c2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoSlNDOjpFeGVj
U3RhdGUmIHN0YXRlKQoreworICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CisgICAgYXV0byB0aHJv
d1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBpZiAoVU5MSUtFTFkoc3Rh
dGUuYXJndW1lbnRDb3VudCgpIDwgMSkpCisgICAgICAgIHJldHVybiB0aHJvd0V4Y2VwdGlvbigm
c3RhdGUsIHRocm93U2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKCZzdGF0ZSkp
OworCisgICAgYXV0byBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCA9IGNv
bnZlcnQ8SURMRG91YmxlPihzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMCkpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgSlNWYWx1ZSgpKTsKKworICAgIGF1dG8m
IGltcGwgPSB3cmFwcGVkKCk7CisgICAgaW1wbC5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHBy
ZXNzaW9uVGltZW91dChTZWNvbmRzKGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1l
b3V0KSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0lu
dGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQ6OnNldFBhc3N3b3JkRWNob0R1cmF0aW9uKEpTQzo6RXhl
Y1N0YXRlJiBzdGF0ZSkKK3sKKyAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOworICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgaWYgKFVOTElLRUxZKHN0
YXRlLmFyZ3VtZW50Q291bnQoKSA8IDEpKQorICAgICAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24o
JnN0YXRlLCB0aHJvd1Njb3BlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcigmc3RhdGUp
KTsKKworICAgIGF1dG8gcGFzc3dvcmRFY2hvRHVyYXRpb24gPSBjb252ZXJ0PElETERvdWJsZT4o
c3RhdGUsIHN0YXRlLnVuY2hlY2tlZEFyZ3VtZW50KDApKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIEpTVmFsdWUoKSk7CisKKyAgICBhdXRvJiBpbXBsID0gd3JhcHBlZCgp
OworICAgIGltcGwuc2V0UGFzc3dvcmRFY2hvRHVyYXRpb24oU2Vjb25kcyhwYXNzd29yZEVjaG9E
dXJhdGlvbikpOworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9OyAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKaW5kZXggMjU2NzFjMWRlMDli
NTUwYmQ3MTljOWNmNWI5NThlNWZiMjI1NTY0ZC4uZGRiOGY4YjNjNDE4MjAxODkwZjgwY2MwZjZj
ZWYzY2JkMWJiZGIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC00OTcsNyAr
NDk3LDcgQEAgdm9pZCBDU1NGb250RmFjZTo6c2V0U3RhdHVzKFN0YXR1cyBuZXdTdGF0dXMpCiAg
ICAgfQogCiAgICAgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OkxvYWRpbmcpCi0gICAgICAgIG1f
dGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCh3ZWJGb250c1Nob3VsZEFsd2F5c0ZhbGxCYWNrKCkg
PyAwIDogMyk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCh3ZWJGb250c1No
b3VsZEFsd2F5c0ZhbGxCYWNrKCkgPyAwX3MgOiAzX3MpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1
cyA9PSBTdGF0dXM6OlN1Y2Nlc3MgfHwgbmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAg
ICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2Vs
ZWN0b3IuY3BwCmluZGV4IGU4NDk4OGViZTA2YjZmNTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIu
LjQ0MDQxZDYzYTcwYmQ2OWVhMjIzNjQwYmQ1MGM1YTMzMmYxNTc4ZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250
U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29uKENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8g
YWZ0ZXIgdGhpcyBmb250IGhhcyBiZWVuIHJlcXVlc3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxv
YWRpbmcuIEJhbGFuY2VkIGJ5CiAgICAgLy8gZGVjcmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVn
aW5Mb2FkVGltZXJGaXJlZCgpIGFuZCBpbiBjbGVhckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVu
dC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0g
ICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRp
bmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDU1NGb250U2VsZWN0b3I6OmJl
Z2luTG9hZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJh
dG9yVmFsdWUuY3BwCmluZGV4IGE3NTI4M2EyYjI3YzNkZWQ4ZDk0MzEyZGUwNGE0MTU4ZWVjYzJm
OTMuLjRkNDA2MTcyNjM5YzQ5ZWZkNzc1MmFkZmVhM2Y5M2RlNWE2ZjlmODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKQEAgLTM5LDcgKzM5LDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0byB0aW1lVG9LZWVw
Q2FjaGVkR2VuZXJhdGVkSW1hZ2VzID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAzIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9LZWVwQ2FjaGVkR2VuZXJhdGVkSW1hZ2VzID0gM19zOwog
CiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlKENsYXNzVHlw
ZSBjbGFzc1R5cGUpCiAgICAgOiBDU1NWYWx1ZShjbGFzc1R5cGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKaW5kZXggOTEzNjNjMTQzYjI2Y2E0MTlhZmU0ZTRiZTIyMTczN2UxNTEx
ZjA0Zi4uYjU4ODZhNTQ5ZDZiOTU0MjUzYzUyZmIxZmM4OGU5MDc0ZjEwNGQzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMTIzOSw4ICsxMjM5LDggQEAgdm9pZCBTdHls
ZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUq
IHN0eWxlLCBjb25zdAogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRp
b25DYWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVk
UHJvcGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0
aW9uQ2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzCiAgICAgICAgICYmICFtX21hdGNoZWRQcm9w
ZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7
Ci0gICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90
KG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVTd2VlcFRpbWUgPSA2MF9z
OworICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hv
dChtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZSk7CiAgICAgfQogCiAgICAgQVNTRVJU
KGhhc2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYjg4MDViZTRiZGYzYmFmZDE5ZGE2
ZWZjNjFmMjhlZTQzMTM2OTVmMy4uY2Q5ZjNjNWVhNjliN2QzNmE2MTkwNDUzNTJjNjcyZmNjZWQy
MWI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjU3LDcgKzEyNTcsNyBAQCB2b2lk
IERvY3VtZW50OjpzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZChib29sIHZpc3VhbFVwZGF0ZXNBbGxv
d2VkKQogICAgIGlmICh2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgbV92aXN1YWxVcGRh
dGVzU3VwcHJlc3Npb25UaW1lci5zdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3Zpc3VhbFVw
ZGF0ZXNTdXBwcmVzc2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRh
bFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcygpKTsKKyAgICAgICAgbV92aXN1
YWxVcGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVt
ZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoKSk7CiAKICAgICBpZiAoIXZpc3VhbFVw
ZGF0ZXNBbGxvd2VkKQogICAgICAgICByZXR1cm47CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCB2b2lk
IERvY3VtZW50OjpzY2hlZHVsZVN0eWxlUmVjYWxjKCkKICAgICAvLyBGSVhNRTogV2h5IG9uIGVh
cnRoIGlzIHRoaXMgaGVyZT8gVGhpcyBpcyBjbGVhcmx5IG1pc3BsYWNlZC4KICAgICBpbnZhbGlk
YXRlQWNjZXNzS2V5TWFwKCk7CiAgICAgCi0gICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9u
KCp0aGlzKTsKIH0KQEAgLTI4MjIsNyArMjgyMiw3IEBAIHZvaWQgRG9jdW1lbnQ6OndyaXRlbG4o
Y29uc3QgU3RyaW5nJiB0ZXh0LCBEb2N1bWVudCogb3duZXJEb2N1bWVudCkKICAgICB3cml0ZSgi
XG4iLCBvd25lckRvY3VtZW50KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1
bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWlu
aW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdl
KCk7CiAgICAgaWYgKCFwYWdlKQpAQCAtMjgzOSw3ICsyODM5LDcgQEAgdm9pZCBEb2N1bWVudDo6
c2V0VGltZXJUaHJvdHRsaW5nRW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENo
YW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhO
ZXN0aW5nTGV2ZWwpIGNvbnN0CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVy
dmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFs
aWdubWVudEludGVydmFsID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJ
bnRlcnZhbChoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNSw4ICs1MDI1LDgg
QEAgdm9pZCBEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFt
aWNhbGx5IGluc2VydGVkIGNvbnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0
aW1pemF0aW9ucy4KICAgICAvLyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIg
b24gcG9vbCBhY2Nlc3Mgc2luY2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5n
IGtlcHQKICAgICAvLyBhbGl2ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBs
aWtlIEpTIHNldHRpbmcgLmlubmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3Rh
dGljIGNvbnN0IGludCB0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5n
RmluaXNoZWRJblNlY29uZHMgPSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVy
LnN0YXJ0T25lU2hvdCh0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5n
RmluaXNoZWRJblNlY29uZHMpOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBT
aGFyZWRPYmplY3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9z
aGFyZWRPYmplY3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9i
amVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91
bGQgaGF2ZSBwaWNrZWQgdXAgYWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3Vy
Y2VMb2FkZXItPmNsZWFyUHJlbG9hZHMoKTsKQEAgLTUyNTMsNyArNTI1Myw3IEBAIHZvaWQgRG9j
dW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2Rl
IG1vZGUpCiB7CiAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9
IG1vZGU7CiAgICAgaWYgKCFtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIERvY3VtZW50OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQz
OCw3ICs1NDM4LDcgQEAgdm9pZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZl
RE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09
IEFjdGl2ZURPTU9iamVjdDo6V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAg
bV9wYXJzZXItPnJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNr
cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNj
cmlwdFJ1bm5lcigpLT5yZXN1bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNv
bik7CiAgICAgcmVzdW1lU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBA
IC01Njg1LDcgKzU2ODUsNyBAQCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVs
ZW1lbnQoRWxlbWVudCogZWxlbWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUg
KDApOwogCiAgICAgbV9mdWxsU2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVt
ZW50ID8gZWxlbWVudCA6IGRvY3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFu
Z2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxh
eVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5j
ZWxGdWxsU2NyZWVuKCkKQEAgLTU4NTIsNyArNTg1Miw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtp
dERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3Jl
ZW5FbGVtZW50LT5kaWRCZWNvbWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2Ny
ZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hh
bmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Vi
a2l0V2lsbEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4ODksNyArNTg4
OSw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChF
bGVtZW50KikKICAgICBib29sIGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5D
aGFuZ2VFdmVudFRhcmdldFF1ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50
VGFyZ2V0UXVldWUuaXNFbXB0eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBl
dmVudFRhcmdldFF1ZXVlc0VtcHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhp
dGluZ0RvY3VtZW50Lm1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIGV4aXRpbmdEb2N1bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIo
UmVuZGVyRnVsbFNjcmVlbiogcmVuZGVyZXIpCkBAIC02MDU1LDcgKzYwNTUsNyBAQCB2b2lkIERv
Y3VtZW50OjpkZWNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50
RGVsYXlDb3VudDsKIAogICAgIGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQg
JiYgIW1fbG9hZEV2ZW50RGVsYXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVu
dERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5
VGltZXJGaXJlZCgpCkBAIC02Njk5LDcgKzY2OTksNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3Nv
Y2lhdGVGb3JtQ29udHJvbChFbGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAg
bV9hc3NvY2lhdGVkRm9ybUNvbnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNz
b2NpYXRlRm9ybUNvbnRyb2xzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lh
dGVGb3JtQ29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2Np
YXRlRm9ybUNvbnRyb2xzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1l
bnQ6OmRpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcxOSw3ICs2NzE5
LDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNv
b2tpZXMpCiAgICAgQVNTRVJUKCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNo
ZWRET01Db29raWVzID0gY29va2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlk
IGF0IG1vc3QgdW50aWwgd2UgZ28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tp
ZUNhY2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBp
cnlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0
ZURPTUNvb2tpZUNhY2hlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYTQyNTU4MzdkN2RlYTRh
YTgzZWFkZGJlMTdhY2NkNTA5MTM3YTNlNS4uNDRjMDU3YTMyZTE4NDZhMmUxOTc3MTExYjdkMzA1
Y2Q0ZTA5ODdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25l
ZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNj
cmlwdENhbGxTdGFjaz4mJiwgSlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9u
ZyByZXF1ZXN0SWRlbnRpZmllciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMg
bWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0
aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZh
bChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9p
ZCB1cGRhdGVUaXRsZUZyb21UaXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNv
bnN0IFN0cmluZ1dpdGhEaXJlY3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZl
bnRRdWV1ZS5jcHAKaW5kZXggOWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMy
Ny4uYmQ5M2JhNjJjZTZlMjIxZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBE
b2N1bWVudEV2ZW50UXVldWU6OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAg
ICBtX3F1ZXVlZEV2ZW50cy5hZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZl
bnRUaW1lci0+aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9z
KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50U2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4
NzJkODVhMWE0NTUxYWQwMTk5MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYz
NjkyYmZlZTFlNzBjOWFiMDJjNmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAt
NjYsNyArNjYsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+Ojpk
aXNwYXRjaEV2ZW50U29vbihUJiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFw
cGVuZCgmc2VuZGVyKTsKICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2
ZW50KFQmIHNlbmRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAy
MDY0MzVmNmZlY2U0YzdhODU5MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3
ODAyNTUyMTY5ODk2MDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNr
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1
NSw3IEBAIHZvaWQgTWljcm90YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90
YXNrPiYmIHRhc2spCiAgICAgZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChX
VEZNb3ZlKHRhc2spKTsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShj
b25zdCBNaWNyb3Rhc2smIHRhc2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAKaW5kZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTlj
ZjU2Yi4uN2U4ZGE5YzczZGQ5ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0
NSw3IEBAIFB1YmxpY1VSTE1hbmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VS
TE1hbmFnZXIoKQogICAgIHJldHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWlu
aW11bVRpbWVySW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0g
b2xkTWluaW11bVRpbWVySW50ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1f
dGltZW91dHMudmFsdWVzKCkpCkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmQKICAgICB9CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8g
VGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0
CiAgICAgLy8gbWluaW11bSB0aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3
aXRoIGRlZGljYXRlZApAQCAtNDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6ZGlkQ2hhbmdlVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5k
aWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkg
Y29uc3QKK1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbChib29sKSBjb25zdAogewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVu
dEludGVydmFsKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaAppbmRleCBjOTI5OGQzMmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRl
NzhkNWZiZjlhODIwZThhZjRkOGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwg
aXMgaW4gc2Vjb25kcy4KLSAgICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1
YWwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0
OworICAgIHZvaWQgYWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVt
VGltZXJJbnRlcnZhbCk7CisgICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFs
KCkgY29uc3Q7CiAKICAgICB2b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsK
LSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRl
cnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwg
U2Vjb25kcyB0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdM
ZXZlbCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25z
dCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0
NWFkZTc3NGFlNTdkMDlhNDA0OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5
M2Q5ODEwZGJkM2ZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcg
Kzg2LDcgQEAgdm9pZCBTY3JpcHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6
OnJlc3VtZSgpCiB7CiAgICAgaWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVu
ZGluZ1NjcmlwdCkKQEAgLTEwMCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5
RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRz
VG9FeGVjdXRlU29vbi5hcHBlbmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1Nj
cmlwdCktPnB0cigpKTsKICAgICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgU2NyaXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJm
MmYxMTBlM2ZkYzRhNjc0MDE5NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4
NzgyZTk1MTE5ODYxZjEwMjgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAg
ICBkb3VibGUgc2NoZWR1bGVEZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2
YWwgLSAobV9kb2N1bWVudC0+ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5p
bWF0aW9uRnJhbWVUaW1lc3RhbXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChzY2hlZHVsZURlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChT
ZWNvbmRzKHNjaGVkdWxlRGVsYXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVW
aWV3ID0gbV9kb2N1bWVudC0+dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5p
bWF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdk
Njk2NTkyMWI0MzM2N2Y5Njg0MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzlj
N2RmNWRiZjJkMGI5YjJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAt
NzQsNiArNzQsOSBAQCBzdGF0aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlKCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0
YXRpYyBjb25zdCBpbnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNs
ZWFuaW5nID0gMTAwOworCiBjbGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0
IEBAIHB1YmxpYzoKICAgICAgICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVh
blRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90
KHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAg
ICAgIG1fY2xlYW5UaW1lci5zdGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVD
bGVhblRpbWUpOwogICAgICB9CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAg
c3RhdGljIGNvbnN0IGludCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9y
Q2xlYW5pbmcgPSAxMDA7Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50
YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlv
bkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVh
bkNhY2hlKCkKICAgICB7CisgICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRy
aWJ1dGVDYWNoZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlQ2xlYW5UaW1lLnZhbHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291
bnQgPSBtX2hpdENvdW50OwogICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhp
dENvdW50ID4gbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51
dGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250
cm9sbGVyLmNwcAppbmRleCBkNWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZj
Li42ZjJmNDk3OTI5NjdlYzc1ZmY4ODgzY2UyZDc2ZWEwNDBjY2NkMGEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAg
LTE0MCw3ICsxNDAsNyBAQCBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVU
ZXh0Q29udHJvbGxlcigpCiAKIHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRB
bHRlcm5hdGl2ZVRleHRVSVRpbWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBj
b25zdCBkb3VibGUgY29ycmVjdGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25z
dCBTZWNvbmRzIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAo
IWlzQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhm
ODJjY2UyMjJiYzVmYzE3YTM3Li4zYmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZh
MjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2
b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAmJiAhUExBVEZPUk0oSU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVO
dW1iZXJzKCkpCi0gICAgICAgIG1fdGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxS
aW5nU2VxdWVuY2UodHJ1ZSk7CkBAIC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVz
cG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxl
Y3Rpb246OgogICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRH
cmFtbWFyID0gb3B0aW9ucyAmIEZyYW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAm
JiAhKG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsK
ICAgICBtX2VkaXRvclVJVXBkYXRlVGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlv
bnMgJiBGcmFtZVNlbGVjdGlvbjo6RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlV
cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAmJiAhUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcAppbmRleCAzNTYxNzQ5MGJhODYwZjJiOWVhNDg1NjFkOTA1NjJmZThjNzJiNDJhLi5j
YTI5MjQ5NmU4YjBhMmNjZjFlMmEwYmU5NGI4NjU5NjFmNzQxMGIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMjA0NSw3ICsyMDQ1LDcgQEAgdm9pZCBG
cmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcg
d2l0aCBhIGJsYWNrIGNhcmV0LiBCZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAg
Ly8gYWxyZWFkeSBibGlua2luZyBpbiB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3Vs
ZEJsaW5rICYmICFtX2NhcmV0QmxpbmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChk
b3VibGUgYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5r
SW50ZXJ2YWwoKSkKKyAgICAgICAgaWYgKFNlY29uZHMgYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUt
PnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2Fy
ZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlm
ICghbV9jYXJldFBhaW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Nw
ZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAK
aW5kZXggOWQwZjg3MzZlMDgxYzNkZjRmY2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2Nl
MGM5YzdiYWM1MTliZmI1ODQ1Y2IzYmU3M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
U3BlbGxDaGVja2VyLmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpk
aWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiBy
ZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdSZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVx
dWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVl
c3Quc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVz
dC5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3Vj
Y2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1
bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFh
N2I5MjUxMzQxMGU0MDZmNDM0NWRjODNjZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBh
ZGNiYTkzYTZiZDVkMGZhMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVz
dEF1dG9jb21wbGV0ZShBdXRvY29tcGxldGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0
Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMgQVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3Vz
bHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5kIGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVx
dWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9j
b21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBs
ZXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50Ojpy
ZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAppbmRleCBhMWY0ZmUxOGM1ZDVhNjAwNDk0ZGI0YjE2OGNkODQ0YzZkZTZk
ZGRiLi5lYWYxMzY0NmJiNDhlNjRjNWYyYWI0YTUxNjhkMDJhZjExNzgxZGY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVs
YXkgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIFNjYW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNv
bnN0IGRvdWJsZSBTZWVrVGltZSA9IDAuMjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVh
dERlbGF5ID0gMS41Owogc3RhdGljIGNvbnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4Owog
Ci1zdGF0aWMgY29uc3QgZG91YmxlIEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0g
NjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5
ID0gU2Vjb25kcyg2KTsKIAogc3RhdGljIHZvaWQgc2V0RmxhZ3ModW5zaWduZWQmIHZhbHVlLCB1
bnNpZ25lZCBmbGFncykKIHsKQEAgLTkyMCw3ICs5MjAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnNjaGVkdWxlRGVsYXllZEFjdGlvbihEZWxheWVkQWN0aW9uVHlwZSBhY3Rpb25UeXBlKQog
ICAgIGlmIChhY3Rpb25UeXBlICYgVXBkYXRlUGxheVN0YXRlKQogICAgICAgICBzZXRGbGFncyht
X3BlbmRpbmdBY3Rpb25GbGFncywgVXBkYXRlUGxheVN0YXRlKTsKIAotICAgIG1fcGVuZGluZ0Fj
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRT
b3VyY2VDaGlsZCgpCkBAIC05MjgsNyArOTI4LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpz
Y2hlZHVsZU5leHRTb3VyY2VDaGlsZCgpCiAgICAgLy8gU2NoZWR1bGUgdGhlIHRpbWVyIHRvIHRy
eSB0aGUgbmV4dCA8c291cmNlPiBlbGVtZW50IFdJVEhPVVQgcmVzZXR0aW5nIHN0YXRlIGFsYSBw
cmVwYXJlRm9yTG9hZC4KICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVs
ZU5leHRTb3VyY2VDaGlsZCglcCkgLSBzZXR0aW5nICVzIGZsYWciLCB0aGlzLCBhY3Rpb25OYW1l
KExvYWRNZWRpYVJlc291cmNlKS51dGY4KCkuZGF0YSgpKTsKICAgICBzZXRGbGFncyhtX3BlbmRp
bmdBY3Rpb25GbGFncywgTG9hZE1lZGlhUmVzb3VyY2UpOwotICAgIG1fcGVuZGluZ0FjdGlvblRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckFjdGl2ZVNv
dXJjZUJ1ZmZlcnNDaGFuZ2VkKGNvbnN0IE1lZGlhUGxheWVyKikKQEAgLTE5NjcsNyArMTk2Nyw3
IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKQogCiAg
ICAgbV9wcmV2aW91c1Byb2dyZXNzVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OwogICAgIC8vIDM1MG1zIGlzIG5vdCBtYWdpYywgaXQgaXMgaW4gdGhlIHNwZWMhCi0gICAgbV9w
cm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMC4zNTApOworICAgIG1fcHJvZ3Jlc3NF
dmVudFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMzUwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OndhaXRGb3JTb3VyY2VDaGFuZ2UoKQpAQCAtMzM1NCw3ICszMzU0LDcgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpiZWdpblNjYW5uaW5nKFNjYW5EaXJlY3Rpb24gZGlyZWN0aW9uKQog
ICAgICAgICBzZXRQbGF5YmFja1JhdGUobmV4dFNjYW5SYXRlKCkpOwogICAgIH0KIAotICAgIG1f
c2NhblRpbWVyLnN0YXJ0KDAsIG1fc2NhblR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6
IFNjYW5SZXBlYXREZWxheSk7CisgICAgbV9zY2FuVGltZXIuc3RhcnQoMF9zLCBtX3NjYW5UeXBl
ID09IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOwogfQogCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OmVuZFNjYW5uaW5nKCkKQEAgLTMzOTMsNyArMzM5Myw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlz
IHRvIGZpcmUgcGVyaW9kaWMgdGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxh
eWluZykgZXZlcnkKIC8vICIxNSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVx
dWVuY3kKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0g
MC4yNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9
IDAuMjVfczsKIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFydFBsYXliYWNrUHJvZ3Jlc3NU
aW1lcigpCiB7CkBAIC0zNDQwLDcgKzM0NDAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNj
aGVkdWxlVGltZXVwZGF0ZUV2ZW50KGJvb2wgcGVyaW9kaWNFdmVudCkKICAgICBkb3VibGUgdGlt
ZWRlbHRhID0gbm93IC0gbV9jbG9ja1RpbWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIHRo
cm90dGxlIHRoZSBwZXJpb2RpYyBldmVudHMKLSAgICBpZiAocGVyaW9kaWNFdmVudCAmJiB0aW1l
ZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpCisgICAgaWYgKHBlcmlvZGljRXZl
bnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5LnZhbHVlKCkpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIC8vIFNvbWUgbWVkaWEgZW5naW5lcyBtYWtlIG11bHRpcGxl
ICJ0aW1lIGNoYW5nZWQiIGNhbGxiYWNrcyBhdCB0aGUgc2FtZSB0aW1lLCBidXQgd2Ugb25seSB3
YW50IG9uZQpAQCAtNDM3MSw3ICs0MzcxLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpoYW5k
bGVTZWVrVG9QbGF5YmFja1Bvc2l0aW9uKGRvdWJsZSBwb3NpdGlvbikKICAgICAvLyBQbGVhc2Ug
c2VlIDxyZGFyOi8vcHJvYmxlbS8yODQ1NzIxOT4gZm9yIG1vcmUgZGV0YWlscy4KICAgICBzZWVr
KE1lZGlhVGltZTo6Y3JlYXRlV2l0aERvdWJsZShwb3NpdGlvbikpOwogICAgIG1fc2Vla1RvUGxh
eWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RvcCgpOwotICAgIG1fc2Vla1RvUGxheWJhY2tQb3Np
dGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgbV9zZWVrVG9QbGF5YmFja1Bv
c2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoMC41X3MpOwogCiAgICAgaWYgKCFtX2lzU2Ny
dWJiaW5nUmVtb3RlbHkpIHsKICAgICAgICAgbV9pc1NjcnViYmluZ1JlbW90ZWx5ID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggYTg2NGU4N2Vh
ZmQ0MjgzZTU0ZjFlNDBiZmVjZjkyMjVhNWNiNWRkNi4uMTUxMGM1ODlmZGVkMmIxZTM5MTg2NTZh
YTdjNzI3NjUwYzdmZTVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVu
dC5jcHAKQEAgLTI4OSw3ICsyODksNyBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNw
bGF5U3RhdGUoRGlzcGxheVN0YXRlIHN0YXRlKQogICAgIG1fZGlzcGxheVN0YXRlID0gc3RhdGU7
CiAgICAgCiAgICAgaWYgKChzdGF0ZSA9PSBEaXNwbGF5aW5nU25hcHNob3QgfHwgZGlzcGxheVN0
YXRlKCkgPT0gUHJlcGFyaW5nUGx1Z2luUmVwbGFjZW1lbnQpICYmICFtX3N3YXBSZW5kZXJlclRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc3dhcFJlbmRlcmVyVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3N3YXBSZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkaWRBZGRVc2VyQWdlbnRTaGFkb3dSb290KFNoYWRv
d1Jvb3QqIHJvb3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5J
bWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVt
ZW50LmNwcAppbmRleCBiOTZlM2NlMzEzZGY0OGQyOTJlMzcyODBmM2Y5OTk2N2ZjYjBhOTA4Li41
MDQxYjViNmM5NWRkNWNmODRlNjViNDMzN2RkZDMwZjliMjM2NzNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKQEAgLTcyLDEwICs3MiwxMCBA
QCBzdGF0aWMgY29uc3QgZmxvYXQgc2l6aW5nRnVsbFBhZ2VBcmVhUmF0aW9UaHJlc2hvbGQgPSAw
Ljk2Owogc3RhdGljIGNvbnN0IGZsb2F0IGF1dG9zdGFydFNvb25BZnRlclVzZXJHZXN0dXJlVGhy
ZXNob2xkID0gNS4wOwogCiAvLyBUaGlzIGRlbGF5IHNob3VsZCBub3QgZXhjZWVkIHRoZSBzbmFw
c2hvdCBkZWxheSBpbiBQbHVnaW5WaWV3LmNwcAotc3RhdGljIGNvbnN0IGF1dG8gc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNzUwIH07
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IDAu
NzVfczsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotc3RhdGljIGNvbnN0IGF1dG8gcmVtb3ZlU25h
cHNob3RUaW1lckRlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDE1MDAgfTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IDEuNV9zOwogI2Vu
ZGlmCiAKIHN0YXRpYyBjb25zdCBTdHJpbmcgdGl0bGVUZXh0KFBhZ2UqIHBhZ2UsIFN0cmluZyBt
aW1lVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXgg
NDUwMThiNzFjMWM4YzI2ZTQ4NGY1MWMwYzM2NWFmODE1ZTdmNjM5Zi4uZWRhZTBjNGNiOGNhZWZh
ZjU4MDdiNjQyMzM4ZDZhMTI1MGQ5NDY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291
cmNlRWxlbWVudC5jcHAKQEAgLTEyNSw3ICsxMjUsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50
OjpzY2hlZHVsZUVycm9yRXZlbnQoKQogICAgIGlmIChtX2Vycm9yRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgSFRNTFNvdXJjZUVsZW1lbnQ6OmNhbmNlbFBlbmRpbmdFcnJvckV2ZW50KCkKQEAgLTE2Niw3
ICsxNjYsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpzdXNwZW5kKFJlYXNvbkZvclN1c3Bl
bnNpb24gd2h5KQogdm9pZCBIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKCkKIHsKICAgICBpZiAo
bV9zaG91bGRSZXNjaGVkdWxlRXJyb3JFdmVudE9uUmVzdW1lKSB7Ci0gICAgICAgIG1fZXJyb3JF
dmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9lcnJvckV2ZW50VGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJl
c3VtZSA9IGZhbHNlOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1l
bnQuY3BwCmluZGV4IDA3ZjQyZDk5ZjhkN2I0OGE5YmEyNDFiNGM0NzFkNTc5ZjU1ZThiZDUuLmZh
MDI2MmNjNjhjYTNkYmY4YTQ1NzcyNGIyYTU2MmY2YzY0NWViMDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgSFRNTFRy
YWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4g
UnVuIHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFsbG93aW5n
IHdoYXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0gICAgbV9s
b2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcAppbmRleCA5NTQwNTI1MDllYjdlMjJiYTI5
NzJlZWFiNzY5MWJjNTc0NDNmMzhiLi4wNmQ2NDU4ZWY2ZmViZjMzNDUzZDA4NGQyYzg3YmE1YTlk
ZWQzZDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01Nyw3
ICs1Nyw2IEBAIE1lZGlhQ29udHJvbGxlcjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQpCiAgICAgLCBtX2Nsb2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAs
IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGlt
ZXIoKnRoaXMsICZNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAg
ICwgbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lKDApCiB7CiB9CiAKQEAgLTE0OCw3ICsxNDcsNyBA
QCBkb3VibGUgTWVkaWFDb250cm9sbGVyOjpjdXJyZW50VGltZSgpIGNvbnN0CiAgICAgaWYgKG1f
cG9zaXRpb24gPT0gTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCkpIHsKICAgICAgICAgLy8gU29t
ZSBjbG9ja3MgbWF5IHJldHVybiB0aW1lcyBvdXRzaWRlIHRoZSByYW5nZSBvZiBbMC4uZHVyYXRp
b25dLgogICAgICAgICBtX3Bvc2l0aW9uID0gc3RkOjptYXg8ZG91YmxlPigwLCBzdGQ6Om1pbihk
dXJhdGlvbigpLCBtX2Nsb2NrLT5jdXJyZW50VGltZSgpKSk7Ci0gICAgICAgIG1fY2xlYXJQb3Np
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jbGVhclBvc2l0aW9uVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1fcG9zaXRpb247CkBAIC01
MzcsNyArNTM2LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudE5hbWUpCiB7CiAgICAgbV9wZW5kaW5nRXZlbnRzLmFwcGVuZChF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIHRydWUpKTsKICAgICBpZiAoIW1fYXN5bmNF
dmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9hc3luY0V2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjphc3luY0V2ZW50VGltZXJGaXJlZCgpCkBAIC02NjMs
NyArNjYyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnJldHVyblRvUmVhbHRpbWUoKQogCiAv
LyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMgdGltZXVwZGF0ZSBldmVudHMgKHRob3Nl
IHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIxNSB0byAyNTBtcyIsIHdlIGNob29zZSB0
aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2
ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeSA9IDI1MF9tczsKIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGlt
ZXVwZGF0ZVRpbWVyKCkKIHsKQEAgLTY3NSw4ICs2NzQsOCBAQCB2b2lkIE1lZGlhQ29udHJvbGxl
cjo6c3RhcnRUaW1ldXBkYXRlVGltZXIoKQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1
bGVUaW1ldXBkYXRlRXZlbnQoKQogewotICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91c1Rp
bWV1cGRhdGVUaW1lOworICAgIE1vbm90b25pY1RpbWUgbm93ID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CisgICAgU2Vjb25kcyB0aW1lZGVsdGEgPSBub3cgLSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRp
bWU7CiAKICAgICBpZiAodGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5KQog
ICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAppbmRleCAx
NzhmYTc0MmRmODNhM2YyMzIwNjM1ZTM4Mzg0MDMxNzYzYjViM2QyLi5hOTE5MjQ4MTdjNTE0ZWJj
ODAwZmNjODBjYTVkMDNlYzdhOGE2MGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmgKQEAgLTE0NSw3ICsxNDUsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxD
bG9jaz4gbV9jbG9jazsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiAgICAgVGltZXIgbV90aW1ldXBkYXRlVGltZXI7Ci0gICAgZG91YmxlIG1f
cHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJldmlvdXNUaW1l
dXBkYXRlVGltZTsKICAgICBib29sIG1fcmVzZXRDdXJyZW50VGltZUluTmV4dFBsYXkgeyBmYWxz
ZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKaW5kZXggNzg1Mzg2
MzJjYWE1YjMzMDRhZWUzMjFjNzhhYzUxZjFiN2Y2MGZmZS4uY2Q2NmQyODQwNTgyZmI0MjQ1MTQ4
ZTJmYzllNTYyNjg1NWIwZmVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CkBAIC0yMjksNyArMjI5LDcgQEAgdm9pZCBNZWRpYURvY3VtZW50OjptZWRpYUVsZW1lbnRTYXdV
bnN1cHBvcnRlZFRyYWNrcygpCiAgICAgLy8gYW5kIGxldCB0aGUgcGx1Z2luIGhhbmRsZSB0aGlz
LiBEb24ndCBkbyBpdCBpbW1lZGlhdGVseSBhcyB0aGlzIAogICAgIC8vIGZ1bmN0aW9uIG1heSBi
ZSBjYWxsZWQgZGlyZWN0bHkgZnJvbSBhIG1lZGlhIGVuZ2luZSBjYWxsYmFjaywgYW5kIAogICAg
IC8vIHJlcGxhY2VDaGlsZCB3aWxsIGRlc3Ryb3kgdGhlIGVsZW1lbnQsIG1lZGlhIHBsYXllciwg
YW5kIG1lZGlhIGVuZ2luZS4KLSAgICBtX3JlcGxhY2VNZWRpYUVsZW1lbnRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWVkaWFEb2N1bWVudDo6cmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXgg
NWNiNzNiYmMyNWYzMDQwMTM3MDQ0NzMxZmI1NWUzZmY4ZTJmY2RhMy4uNjliMDVjZjAxMGEwZjM0
M2VhOThmYWYzODg2NWIxNjlhMWYzN2YyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCkBAIC01Nyw3ICs1Nyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBlbGVtZW50TWFpbkNvbnRlbnRDaGVja0ludGVydmFs
ID0gLjI1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGVsZW1lbnRNYWluQ29udGVudENoZWNrSW50
ZXJ2YWwgPSAwLjI1X3M7CiAKIHN0YXRpYyBib29sIGlzRWxlbWVudFJlY3RNb3N0bHlJbk1haW5G
cmFtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7CiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJn
ZUVub3VnaEZvck1haW5Db250ZW50KGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Np
b25NYWluQ29udGVudFB1cnBvc2UpOwpAQCAtNDc2LDcgKzQ3Niw3IEBAIHZvaWQgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBo
YXNUYXJnZXRzCiAgICAgTE9HKE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxP
dXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoJXApIC0gaGFzVGFyZ2V0cyAlcyIsIHRoaXMs
IGhhc1RhcmdldHMgPyAiVFJVRSIgOiAiRkFMU0UiKTsKIAogICAgIG1faGFzUGxheWJhY2tUYXJn
ZXRzID0gaGFzVGFyZ2V0czsKLSAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV90YXJnZXRBdmFpbGFiaWxpdHlDaGFuZ2VkVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuUGxheVRv
V2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElu
cHV0VHlwZS5jcHAKaW5kZXggZjVkMmJiOTU1MzI5MDcxOTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBh
Ny4uODlkOTU4OWJmYjQxNmY5MGM3N2I4NzllNWZkNzk5OGRlMjJiYmY2YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgU2Vh
cmNoSW5wdXRUeXBlOjpzdGFydFNlYXJjaEV2ZW50VGltZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlw
aW5nIHRoZSBmaXJzdCBrZXksIHdlIHdhaXQgMC41IHNlY29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhl
IHNlY29uZCBrZXksIDAuNCBzZWNvbmRzLCB0aGVuIDAuMywgdGhlbiAwLjIgZnJvbSB0aGVuIG9u
LgotICAgIG1fc2VhcmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYg
LSAwLjEgKiBsZW5ndGgpKTsKKyAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KFNl
Y29uZHMoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5ndGgpKSk7CiB9CiAKIHZvaWQgU2Vh
cmNoSW5wdXRUeXBlOjpzdG9wU2VhcmNoRXZlbnRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VmFsaWRhdGlvbk1lc3NhZ2UuY3BwCmluZGV4IDlkNWRjYWNmYmVjMWUzMGNiZjg3MDExMWM0ZTQy
NTIxMWY5Y2FhZTQuLmI3YmY1ZTFiYWIyYTZkNWQ3YWYzMDkyMDhjYjRiN2I4Mjc3YTIwMGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCkBAIC0xMTcsNyArMTE3
LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywg
JlZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRyZWUpOwogICAgIGVsc2UKICAgICAgICAg
bV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3Nh
Z2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVmFsaWRh
dGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKCkKQEAgLTE0NCw3ICsxNDQs
NyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigp
CiAgICAgICAgIG1fdGltZXIgPSBudWxscHRyOwogICAgIGVsc2UgewogICAgICAgICBtX3RpbWVy
ID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVs
ZXRlQnViYmxlVHJlZSk7Ci0gICAgICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdChzdGQ6Om1heCg1
LjAsIHN0YXRpY19jYXN0PGRvdWJsZT4obV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRp
b24gLyAxMDAwKSk7CisgICAgICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdChzdGQ6Om1heCg1X3Ms
IFNlY29uZHMobV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwLjApKTsK
ICAgICB9CiB9CiAKQEAgLTIyOCw3ICsyMjgsNyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpy
ZXF1ZXN0VG9IaWRlTWVzc2FnZSgpCiAKICAgICAvLyBXZSBtdXN0IG5vdCBtb2RpZnkgdGhlIERP
TSB0cmVlIGluIHRoaXMgY29udGV4dCBieSB0aGUgc2FtZSByZWFzb24gYXMgc2V0TWVzc2FnZSgp
LgogICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRp
b25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKTsKLSAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgVmFsaWRhdGlv
bk1lc3NhZ2U6OnNoYWRvd1RyZWVDb250YWlucyhjb25zdCBOb2RlJiBub2RlKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcAppbmRleCAyYzBkODA3NTYwNTVlNTk2OTdkODkxNmFkMzQ5NGE2MjRhNTlhYmY0
Li42NDgwMzAwZDEwNzk5M2VmM2IzNmU4MmIyZDMxMDkyMmE4YzllYTk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcApAQCAtOTgsNyArOTgsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRv
dWJsZSBzZWNvbmRzQmV0d2VlblJlc3RvcmVBdHRlbXB0cyA9IDEuMDsKK2NvbnN0IFNlY29uZHMg
dGltZUJldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxX3M7CiBjb25zdCBpbnQgbWF4R0xFcnJvcnNB
bGxvd2VkVG9Db25zb2xlID0gMjU2OwogCiBuYW1lc3BhY2UgewpAQCAtNDY2Niw3ICs0NjY2LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpsb3NlQ29udGV4dEltcGwoV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6TG9zdEMKIAogICAgIC8vIEFsd2F5cyBkZWZlciB0aGUgZGlz
cGF0Y2ggb2YgdGhlIGNvbnRleHQgbG9zdCBldmVudCwgdG8gaW1wbGVtZW50CiAgICAgLy8gdGhl
IHNwZWMgYmVoYXZpb3Igb2YgcXVldWVpbmcgYSB0YXNrLgotICAgIG1fZGlzcGF0Y2hDb250ZXh0
TG9zdEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGF0Y2hDb250ZXh0TG9z
dEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgpCkBAIC00NjgzLDcgKzQ2ODMsNyBAQCB2
b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQogICAg
IH0KIAogICAgIGlmICghbV9yZXN0b3JlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXN0
b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogUGxhdGZvcm1MYXllciogV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6cGxhdGZvcm1MYXllcigpIGNvbnN0CkBAIC01NjE0LDcgKzU2MTQsNyBAQCB2b2lkIFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCgpCiAgICAgY2Fu
dmFzKCkuZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICAgbV9yZXN0b3JlQWxsb3dlZCA9IGV2ZW50
LT5kZWZhdWx0UHJldmVudGVkKCk7CiAgICAgaWYgKG1fY29udGV4dExvc3RNb2RlID09IFJlYWxM
b3N0Q29udGV4dCAmJiBtX3Jlc3RvcmVBbGxvd2VkKQotICAgICAgICBtX3Jlc3RvcmVUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRl
eHQoKQpAQCAtNTY3OSw3ICs1Njc5LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OjptYXliZVJlc3RvcmVDb250ZXh0KCkKICAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNv
bnRleHQoR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZShtX2F0dHJpYnV0ZXMsIGhvc3RXaW5kb3cp
KTsKICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAgaWYgKG1fY29udGV4dExvc3RNb2RlID09
IFJlYWxMb3N0Q29udGV4dCkKLSAgICAgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hv
dChzZWNvbmRzQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CisgICAgICAgICAgICBtX3Jlc3RvcmVU
aW1lci5zdGFydE9uZVNob3QodGltZUJldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICAvLyBUaGlzIGxpa2VseSBzaG91bGRuJ3QgaGFwcGVuIGJ1dCBpcyB0
aGUgYmVzdCB3YXkgdG8gcmVwb3J0IGl0IHRvIHRoZSBXZWJHTCBhcHAuCiAgICAgICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04sICIi
LCAiZXJyb3IgcmVzdG9yaW5nIGNvbnRleHQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHAKaW5kZXggMjgzMzdkODZkNTNmODlkZWE1
Mzk4YmY2M2M2ZmI4YzExMzVkMzYxZC4uZTZjMzgyZjQ0NTg1MmVhMDI3YTkxMjZmNjM5MzE2OTli
M2EyYjJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNl
clNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNl
clNjaGVkdWxlci5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIEhUTUxQYXJzZXJTY2hlZHVs
ZXI6OmNvbnRpbnVlTmV4dENodW5rVGltZXJGaXJlZCgpCiAgICAgLy8gRklYTUU6IFRoZSB0aW1l
ciBjbGFzcyBzaG91bGQgaGFuZGxlIHRpbWVyIHByaW9yaXRpZXMgaW5zdGVhZCBvZiB0aGlzIGNv
ZGUuCiAgICAgLy8gSWYgYSBsYXlvdXQgaXMgc2NoZWR1bGVkLCB3YWl0IGFnYWluIHRvIGxldCB0
aGUgbGF5b3V0IHRpbWVyIHJ1biBmaXJzdC4KICAgICBpZiAobV9wYXJzZXIuZG9jdW1lbnQoKS0+
aXNMYXlvdXRUaW1lckFjdGl2ZSgpKSB7Ci0gICAgICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBtX3BhcnNlci5yZXN1
bWVQYXJzaW5nQWZ0ZXJZaWVsZCgpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgSFRNTFBhcnNl
clNjaGVkdWxlcjo6c2hvdWxkWWllbGRCZWZvcmVFeGVjdXRpbmdTY3JpcHQoUHVtcFNlc3Npb24m
IHNlc3Npb24pCiB2b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1lKCkK
IHsKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsKLSAgICBtX2NvbnRpbnVlTmV4dENodW5rVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzdXNwZW5kKCkKQEAg
LTE0OCw3ICsxNDgsNyBAQCB2b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnJlc3VtZSgpCiAgICAg
aWYgKCFtX2lzU3VzcGVuZGVkV2l0aEFjdGl2ZVRpbWVyKQogICAgICAgICByZXR1cm47CiAgICAg
bV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lciA9IGZhbHNlOwotICAgIG1fY29udGludWVOZXh0
Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggMTVlYTFmMDhjMzA2M2M2MTM0
MjBkYmUxNTY2NjVhODE4M2JlYzU0NS4uNzY5NjMxYWY2ODBjYjE1NzM1OGFmODkzNmVmMWRiMjE0
NTU3ODExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250
cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29u
dHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3LDcgKzEzNyw3IEBAIHZvaWQgTWVkaWFDb250cm9sUGFu
ZWxFbGVtZW50OjpzdGFydFRpbWVyKCkKICAgICAvLyBUaGUgdGltZXIgaXMgcmVxdWlyZWQgdG8g
c2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidub25lJyBvbiB0aGUgcGFuZWwsCiAgICAgLy8gc3Vj
aCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0bHkgZGlzcGxheWVkIGF0IHRoZSBib3R0b20gb2Yg
dGhlIHZpZGVvCiAgICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgZmFkZW91dCB0cmFuc2l0aW9uLgot
ICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdl
KCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsKKyAgICBTZWNv
bmRzIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhl
bWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAgICAgbV90cmFuc2l0
aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIApAQCAtMTg4LDEwICsxODgsMTAg
QEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUoKQogICAgIGlmICht
X29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1l
bnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFk
ZUluRHVyYXRpb24oKSA6IDA7CisgICAgU2Vjb25kcyBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFn
ZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0
aW9uKCkgOiAwX3M7CiAKICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJh
bnNpdGlvblByb3BlcnR5LCBDU1NQcm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxl
UHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1MpOworICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVy
dHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUyk7CiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHks
IDEuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSB0
cnVlOwpAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6
Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBh
Z2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAgIFNl
Y29uZHMgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50
aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKIAogICAgIHNldElu
bGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHksIENTU1Byb3Bl
cnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5z
aXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CisgICAg
c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVy
YXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBzZXRJbmxpbmVT
dHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpAQCAtMTMzNiw3ICsxMzM2LDcg
QEAgdm9pZCBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVTaXpl
cyhib29sIGZvcmNlVXBkYXRlKQogICAgIG1fdXBkYXRlVGV4dFRyYWNrUmVwcmVzZW50YXRpb25T
dHlsZSA9IHRydWU7CiAKICAgICAvLyBGSVhNRSAoMTIxMTcwKTogVGhpcyBmdW5jdGlvbiBpcyBj
YWxsZWQgZHVyaW5nIGxheW91dCwgYW5kIHNob3VsZCBsYXkgb3V0IHRoZSB0ZXh0IHRyYWNrcyBp
bW1lZGlhdGVseS4KLSAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Vw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBSZWZQdHI8SW1hZ2U+IE1lZGlhQ29u
dHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVRleHRUcmFja1JlcHJlc2VudGF0
aW9uSW1hZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJs
ZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRy
YWNrLmNwcAppbmRleCAyMTBmNmE5ZGY1YWM3NzE3NWE5ODEyYWMwNTEwNDIyMzJhMzQwZjMzLi44
MGZiYjM1YjAxZWU3ODI1NzU1OWFhNzFlYjczNmE1YjFiOWU4NTZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApAQCAtNTgsNyArNTgsNyBA
QCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQoY29uc3QgVVJMJiB1cmwpCiAg
ICAgLy8gMy4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxlIGNv
bnRpbnVpbmcgd2l0aCB3aGF0ZXZlciB0YXNrIAogICAgIC8vIHdhcyByZXNwb25zaWJsZSBmb3Ig
Y3JlYXRpbmcgdGhlIHRleHQgdHJhY2sgb3IgY2hhbmdpbmcgdGhlIHRleHQgdHJhY2sgbW9kZS4K
ICAgICBpZiAoIW1fbG9hZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbG9hZFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIEVsZW1lbnQqIExvYWRhYmxlVGV4dFRyYWNrOjplbGVtZW50KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVlRUUmVnaW9uLmNwcAppbmRleCAwNTc4YmY5MTI2N2NiNTUwYWYwMmRiN2UyMjNk
ZDQzNmMwN2Q1MWI2Li5kMWIyNTE3MzUyNWE3M2UxZDY2ZDFlYjc5YmFhNTUyZjk0MDIzOTNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCkBAIC01Niw3ICs1Niw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBmbG9hdCBsaW5lSGVpZ2h0ID0gNS4z
MzsKIAogLy8gRGVmYXVsdCBzY3JvbGxpbmcgYW5pbWF0aW9uIHRpbWUgcGVyaW9kIChzKS4KLXN0
YXRpYyBjb25zdCBmbG9hdCBzY3JvbGxUaW1lID0gMC40MzM7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBzY3JvbGxUaW1lID0gU2Vjb25kcygwLjQzMyk7CiAKIFZUVFJlZ2lvbjo6VlRUUmVnaW9uKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25P
YnNlcnZlcigmY29udGV4dCkKQEAgLTQwMyw3ICs0MDMsNyBAQCB2b2lkIFZUVFJlZ2lvbjo6c3Rh
cnRUaW1lcigpCiAgICAgaWYgKG1fc2Nyb2xsVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9s
bFRpbWUgOiAwOworICAgIFNlY29uZHMgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8g
c2Nyb2xsVGltZSA6IDBfczsKICAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlv
bik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQu
Y3BwCmluZGV4IDNkNTQyMjFjNWRjODkzY2RkOTU3MWRjM2YzYjFmZTY4N2JiMDg2MzMuLjZiNTZj
MThmMmFkZWYyNzcxZWNkZTA5ZjdmNDcwN2U3ZDEwYzkzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtMTI4LDcgKzEyOCw3IEBAIHZv
aWQgQ2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnNjaGVkdWxlRm9yKFdlYktpdE5hbWVkRmxvdyog
bmFtZWRGbG93LCBpbnQgZG9jdW1lCiAgICAgbV9uYW1lZEZsb3dzLmFkZChuYW1lZEZsb3csIGRv
Y3VtZW50Tm9kZUlkKTsKIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6dW5zY2hlZHVsZShXZWJLaXRO
YW1lZEZsb3cqIG5hbWVkRmxvdykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCmluZGV4IDgzYTAyNGJjZGRkMjEzMDk3ODc1OTg3MjI0MTI3MWUwYThm
YjNmMGYuLjkxMjcyNjJhZTg4YWNjYmI0ZTRlZTFmODYxN2Q5ZDMyZjQxZThjZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTg1LDcg
KzE4NSw3IEBAIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3Io
RWxlbWVudCogZWxlbWVudCkKIHsKICAgICBtX2VsZW1lbnRzLmFkZChlbGVtZW50KTsKICAgICBp
ZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmV2YWxpZGF0
ZVN0eWxlQXR0cmlidXRlVGFzazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXgg
OGEzNWExNzllYjhiZjU5YjRiYzA5OGRjNmVkYzkwY2RlMGRhMDU5My4uNTE4YWFkZjdkMTIyNjhh
NDdmOGYyYjUzMDlmYzNmNTQxYWU4NTMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtODAsNyAr
ODAsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgbV9tZXNzYWdlcy5hcHBlbmQobWVzc2FnZSk7CiAg
ICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
IH0KIAogICAgIHZvaWQgcmVzZXQoKQpAQCAtMTAyLDcgKzEwMiw3IEBAIHB1YmxpYzoKICAgICAg
ICAgICAgIG1faW5zcGVjdGVkUGFnZUNvbnRyb2xsZXItPmRpc3BhdGNoTWVzc2FnZUZyb21Gcm9u
dGVuZChtX21lc3NhZ2VzLnRha2VGaXJzdCgpKTsKIAogICAgICAgICBpZiAoIW1fbWVzc2FnZXMu
aXNFbXB0eSgpICYmIG1faW5zcGVjdGVkUGFnZUNvbnRyb2xsZXIpCi0gICAgICAgICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmY2EzMTBkMDBhYzIxZGM3YjYxYmUwYTlmZTA1NWM4Yjdm
N2FhZDguLjhkMTA1YmEzMGNmMTEyNjE1YzNlY2E1YjUzOWExODhjYjcxYmQ2NmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAgLTUwOSw4ICs1
MDksOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRS
ZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5hcHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRp
bWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1fcGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3Rp
dmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUgcGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vj
b25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0
aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNlY29uZHMpOworICAgICAgICBjb25zdCBTZWNv
bmRzIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCA9IDAuMDMyX3M7CisgICAgICAgIG1fcGFpbnRS
ZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsK
ICAgICB9CiAKICAgICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2Rj
NzhkMTI0YWRjZTE4YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgw
MjEzNTg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJl
cGxheUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVw
bGF5QWdlbnQuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlBy
b3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMK
IAogICAgIHJldHVybiBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50
OjpjcmVhdGUoKQogICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAg
ICAuc2V0VGltZXN0YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAg
ICAgICAgLnNldFF1ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNl
KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyZDNj
ZDk1MGUzMTg0MzkzN2I4YjcwNWQzMTc1NGIzOGFhMzNiODU5Li45MGNlZTYyNjZhYWFjOTE2YzZi
MjllYzQ2YTlmMTQ2ZDE2ZDY2NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5jcHAKQEAgLTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVT
dWJzdGl0dXRlRGF0YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFM
b2FkVGltZXIoKQogewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9kYXRhTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJ
TUVSKQogICAgIGlmIChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJh
bWUtPnBhZ2UoKS0+c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBA
QCB2b2lkIERvY3VtZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVs
YXkoKQogICAgIGlmIChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291
cmNlRGVsaXZlcnlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CmluZGV4IDEyMmEyYmQyN2ZhZDU3MjcyNmUxNzBmZWVkNTkxMzFhNTYwMzhhOTkuLjZmMjVmMWRj
ZDBhZmNhNjhhYmQ5MzU3ZWIzNDhjYzkyYzFjZjFkYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcApAQCAtODMxLDcgKzgzMSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0
Q2hlY2tDb21wbGV0ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IEZyYW1lTG9hZGVyOjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
SW1hZ2VMb2FkZXIuY3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5
NmZkYzUuLjc3OWJmNzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1h
Z2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0
ZWRFbGVtZW50ID0gJmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1f
ZGVyZWZFbGVtZW50VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJi
YjU3NWI0ZTUuLjJiZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3
ICsxMjcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwog
CiAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1
cmVUb0ZvcndhcmQoKSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQo
bV91cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCks
IGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJl
ZGlyZWN0ZWQobV91cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUlu
dGVydmFsKCkudmFsdWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2
b2lkIGRpZFN0b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92
ZXJyaWRlCkBAIC0yNzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xp
ZW50ID0gdHJ1ZTsKIAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNh
dG9yKHVzZXJHZXN0dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGll
bnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50
VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkp
OworICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+
cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRl
cnZhbCgpLnZhbHVlKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9p
ZCBkaWRTdG9wVGltZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVy
cmlkZQpAQCAtNTM5LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRU
aW1lcigpCiAgICAgICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3Qt
PmRlbGF5KCk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmZyYW1lU2NoZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRp
cmVjdC0+ZGlkU3RhcnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkg
YmUgbnVsbCBvbiByZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjll
NmVhYjY1ZjU2ZTI0ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNl
NjI5ODU0ODJmZDg1NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dy
ZXNzVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tl
ci5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNz
VmFsdWUgPSAwLjk7IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3Qg
aW50IHByb2dyZXNzSXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8v
IENoZWNrIGlmIHRoZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29u
c3QgZG91YmxlIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBwcm9ncmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55
IGhlYXJ0YmVhdHMgbXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRo
ZSBsb2FkIGlzIGN1cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRT
dGFsbGVkSGVhcnRiZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1RleHRUcmFja0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNr
TG9hZGVyLmNwcAppbmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4
Li5iMjY2YzMzMTNiMmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQg
VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2Up
CiAgICAgICAgIG1fY3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9h
ZCgpOwogfQpAQCAtMTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVz
UGFyc2VkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1
ZTsKLSAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdp
b25zUGFyc2VkKCkKQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6Zmls
ZUZhaWxlZFRvUGFyc2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3Vl
TG9hZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBj
YW5jZWxMb2FkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQw
NWJlNDU5NTNhNTYxN2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMw
OTAxYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxp
Y2F0aW9uQ2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2so
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJh
Y2tUaW1lciogdGltZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAg
ICB0aW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsK
ICAgICAvLyBUaGUgdGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4
IGFmYjBiNjU0NzMyZDZlYmI1NmE1NjRmYTY4MDQ3Nzk5ZTU2MjIwMGMuLmFjNTJkM2YzMTM5NGNj
MjEyZDQ2ZGIxMjFlNTIwMDIyZDRmNTJhMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VM
b2FkUHJpb3JpdHkgQ2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlw
ZShUeXBlIHR5cGUpCiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAK
LXN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9u
SW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRp
YyBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUo
Q2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNv
dXJjZTo6U2NyaXB0KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7
IDAgfTsKKyAgICAgICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2lu
Z2xldG9uKCkuZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTM4LDcg
KzUzOCw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVk
KCkKIHsKICAgICBpZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAo
IU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
KCkuY291bnQoKSkKKyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWRE
YXRhRGVsZXRpb25UaW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTUsNyArODE1LDcgQEAgaW5saW5l
IENhY2hlZFJlc291cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291
cmNlLCBDYWNoZWRSZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIo
KnRoaXMsICZDYWxsYmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBD
YWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3
ZDEzZTc3MjJlOTJmM2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNj
NjEyYWE5ODZjZTQzZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9v
bCBzaG91bGRQZXJmb3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAg
IGlmICghbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9nYXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRS
ZXNvdXJjZXMgaXMgYSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3
NWRkOGE5ZTgyNzkuLmY3MmI0NDIxZTBjNGUwN2QzMzE1ZGNiNjgwMDFjN2MzOGJkZTE0MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyAr
NTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2Fj
aGVDYXBhY2l0eSA9IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlC
ZWZvcmVMaXZlRGVjb2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9h
dCBjVGFyZ2V0UHJ1bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0
eSB0b3dhcmQgd2hpY2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdh
aW4uCi1zdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZh
dWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVt
b3J5Q2FjaGU6OnNpbmdsZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9y
eUNhY2hlOjpwcnVuZSgpCiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAg
IGlmIChtX3BydW5lVGltZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0
aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAg
ICAgIHJldHVybjsKLSAgICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlm
ICghbmVlZHNQcnVuaW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4
ZjI4MmJlNThkMTcwZC4uNzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsx
MjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXpl
KCkgY29uc3QgeyByZXR1cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQg
c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsKSB7IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVy
dmFsOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsOyB9CisgICAgdm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNl
Y29uZHMgaW50ZXJ2YWwpIHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50
ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBj
b25zdCB7IHJldHVybiBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAg
IC8vIENhbGxzIHRvIHB1dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUg
bGlzdHMuCiAgICAgdm9pZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5
OSw3ICsxOTksNyBAQCBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5z
aWduZWQgbV9taW5EZWFkQ2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7
Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9u
SW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7
CiAKICAgICB1bnNpZ25lZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJl
bnRseSBjb25zdW1lZCBieSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNp
Z25lZCBtX2RlYWRTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1l
ZCBieSAiZGVhZCIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAz
MGY1ZjY5NGUzMGJiMmQuLjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcs
NyArNjcsNyBAQCBzdGF0aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2Owog
Ly8gSWNvbnMgZXhwaXJlIG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25F
eHBpcmF0aW9uVGltZSA9IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRp
bWVyRGVsYXkgPSA1OyAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1
X3M7CiAKIHN0YXRpYyBib29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3
ZDMxNWVkZmJmOWM1MGUwYTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFk
ZmI5NzcyMzQ0NGRlYmQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Ny
b2xsQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29u
dHJvbGxlci5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGlj
IGNvbnN0IGRvdWJsZSBhdXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9z
Y3JvbGwgb3IgdGhlIHBhblNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2
ZXJ5IDAuMDVzIHRvIG1ha2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3Jv
bGxJbnRlcnZhbCA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2
YWwgPSAwLjA1X3M7CiAKICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSog
Z2V0TWFpbkZyYW1lKEZyYW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3
MWFhN2Y4MWJlNDQuLjAwMDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAt
NzksNyArNzksNyBAQCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAg
ICBtX2hhdmVQcmVmZXJlbmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxh
eU1vZGUgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01l
ZGlhQUYuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVk
aWFBRi5jcHAKaW5kZXggOThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4u
NWQ2Y2Q0OTM4NDVjZGJlODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAg
LTI0Niw3ICsyNDYsNyBAQCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJ
bnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGlu
ZyBhbmQgcmVnaXN0ZXJpbmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZl
IGFuZCB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3Jl
YXRlcyBhbiBhdWRpbyBvcgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEg
YnJpZWYgcGF1c2UuCi0gICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdXBkYXRlU3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFu
Z2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKaW5kZXggYTk2OWQ5NDhlN2UzOWMwMjY5YzVh
MzBmZjljZDAxN2M5MmRkOTU4Yy4uM2EyM2YxMzQ2NmZhNTVkY2VmYWFhODIxOWMyNGFkNjY4N2I3
ODFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJH
ZXN0dXJlRm9yd2FyZGluZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgot
c3RhdGljIGNvbnN0IGF1dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRp
bWVycyA9IDEwMDBtczsgLy8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0
ZXJ5IGxpZmUuCitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJl
Rm9yd2FyZGluZyA9IDFfczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNv
bnN0IFNlY29uZHMgbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9
IDFfczsgLy8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUu
CiBzdGF0aWMgY29uc3QgaW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9N
VGltZXJGaXJlU3RhdGUgewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBO
ZXN0ZWRUaW1lcnNNYXA6OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGlj
IGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVs
KQogewogICAgIHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkKICAgICAgICAgJiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZv
cndhcmRpbmcKICAgICAgICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5v
dCBiZSBmb3J3YXJkZWQgdG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQ
dHI8VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGlu
ZSBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNv
bmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2Fy
ZFVzZXJHZXN0dXJlKGludGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKQEAgLTE3NSwxMiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0
dXJlVG9rZW4+IHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAg
cmV0dXJuIFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAot
RE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rp
b24+IGFjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3Vz
cGVuZGFibGVUaW1lcihjb250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1l
ck5lc3RpbmdMZXZlbCgpKQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwg
bV9vcmlnaW5hbEludGVydmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0
ZXJtaW5lZCkKICAgICAsIG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9N
aW5pbXVtKCkpCiAgICAgLCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVU
b2tlblRvRm9yd2FyZChpbnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIw
MCw3IEBAIERPTVRpbWVyOjp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3Rh
bGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4gYWN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJv
b2wgc2luZ2xlU2hvdCkKK2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNl
Y29uZHMgdGltZW91dCwgYm9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0
cnVjdG9yIHBhc3NlcyBvd25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3Qg
dG8gdGhlIGNvbnN0cnVjdG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFz
ZWQgYXV0b21hdGljYWxseSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNv
bnRleHQKQEAgLTIxMCw3ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBM
QVRGT1JNKElPUykKICAgICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJv
b2wgZGlkRGVmZXJUaW1lb3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVk
KCk7Ci0gICAgICAgIGlmICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAx
MDAgJiYgc2luZ2xlU2hvdCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1l
b3V0IDw9IDEwMF9tcyAmJiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVk
Q29udGVudENoYW5nZShXS0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAg
IFdlYlRocmVhZEFkZE9ic2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5
IHRha2UgYWZmZWN0IGlmIG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9
CkBAIC0yMTgsNyArMjE3LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAg
ICAgdGltZXItPnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwg
c2luZ2xlU2hvdCk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGlt
ZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91Ymxl
Pih0aW1lb3V0LnZhbHVlKCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9m
IG5lc3RlZCB0aW1lciBpbnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRU
aW1lcnMgPSBOZXN0ZWRUaW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAg
LTM5OSwyMSArMzk4LDIxIEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5l
Y2Vzc2FyeSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7
Ci0gICAgICAgIEFTU0VSVChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7
Ci0gICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0
IGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRo
cm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1l
ckludGVydmFsLmNvdW50KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBw
cmV2aW91c0ludGVydmFsKTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcg
RE9NVGltZXIncyByZXBlYXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRv
IHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9j
dXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBl
YXRJbnRlcnZhbChtX2N1cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAg
ICAgfSBlbHNlIHsKLSAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGlt
ZXIncyBmaXJlIGludGVydmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMg
ZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1
cnJlbnRUaW1lckludGVydmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAg
LSBVcGRhdGluZyBET01UaW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2Yg
bXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29u
ZHMoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1
Z21lbnRGaXJlSW50ZXJ2YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2
YWwpOwogICAgIH0KIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50
ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFs
Q2xhbXBlZFRvTWluaW11bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7CiAgICAgQVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xl
dmVsKTsKIAotICAgIGF1dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRl
cnZhbCk7CisgICAgYXV0byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRl
cnZhbCk7CiAKICAgICAvLyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVy
cy4KICAgICBpZiAobV9uZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQy
NiwxOSArNDI1LDIwIEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVy
dmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1z
dGQ6Om9wdGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IERPTVRpbWVyOjphbGlnbmVk
RmlyZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBmaXJlVGltZSkgY29uc3QKK3N0ZDo6
b3B0aW9uYWw8TW9ub3RvbmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9u
aWNUaW1lIGZpcmVUaW1lKSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5n
TGV2ZWwgPj0gbWF4VGltZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZh
bCA9PSAwbXMpCisgICAgU2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+dGltZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhU
aW1lck5lc3RpbmdMZXZlbCk7CisgICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBfcykKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAKKyAgICAvLyBEbyB3ZSByZWFsbHkgd2Fu
dCB0byBpbml0aWFsaXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0
aWMgY29uc3QgZG91YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAK
LSAgICAvLyBGb3JjZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBv
ZiB0aGUgd2F5IGJldHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBlLmcuCisgICAgLy8gRm9yY2Ug
YWxpZ25tZW50IHRvIHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3
ZWVuIGFsaWdubWVudEludGVydmFscywgZS5nLgogICAgIC8vIGlmIGFsaWdubWVudEludGVydmFs
IGlzIDEwIGFuZCByYW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8g
MywgMTMsIDIzLCAuLi4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6
ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZh
bCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFkanVzdGVkRmlyZVRpbWUgPSBm
aXJlVGltZSAtIHJhbmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUg
LSAoYWRqdXN0ZWRGaXJlVGltZSAlIGFsaWdubWVudEludGVydmFsKSArIGFsaWdubWVudEludGVy
dmFsICsgcmFuZG9taXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBh
bGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uOworICAgIE1vbm90b25pY1Rp
bWUgYWRqdXN0ZWRGaXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKKyAgICBy
ZXR1cm4gYWRqdXN0ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChhZGp1c3RlZEZpcmVUaW1lLnNl
Y29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50ZXJ2YWwudmFsdWUoKSkpICsg
YWxpZ25tZW50SW50ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OwogfQogCiBjb25zdCBjaGFyKiBE
T01UaW1lcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgK
aW5kZXggMzlhMDQ2MWRhZWVlZTI1ZWFiYTMzOTk2ZTdhMGRjOGRkOTFhNjc4NS4uODI4YjY0YjAw
OWJiMjIxOTE1ZWM3YWRiYTZhYTc0OGUxYWY2NjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApA
QCAtNDQsMTMgKzQ0LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50
ZWQ8RE9NVGltZXI+LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+RE9NVGltZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7IH0KLSAgICBzdGF0aWMgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVy
biAwbXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdl
QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25k
cyBkZWZhdWx0TWluaW11bUludGVydmFsKCkgeyByZXR1cm4gNF9tczsgfQorICAgIHN0YXRpYyBT
ZWNvbmRzIGRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDBfczsgfQorICAgIHN0
YXRpYyBTZWNvbmRzIGhpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDFfczsg
fQogCiAgICAgLy8gQ3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgc3RhcnRzIGl0CiAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgot
ICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlx
dWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91
dCwgYm9vbCBzaW5nbGVTaG90KTsKKyAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRp
bWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAvLyBOb3RpZnkgdGhh
dCB0aGUgaW50ZXJ2YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11
bSBpbnRlcnZhbApAQCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBz
Y3JpcHREaWRJbnRlcmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0
ZToKLSAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRy
PFNjaGVkdWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJv
b2wgc2luZ2xlU2hvdCk7CisgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0
ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIGludGVydmFsLCBib29sIHNp
bmdsZVNob3QpOwogICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CiAKLSAgICBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgIFNl
Y29uZHMgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICBib29sIGlzRE9N
VGltZXJzVGhyb3R0bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKICAgICB2b2lkIHVwZGF0
ZVRocm90dGxpbmdTdGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CkBA
IC03MSw3ICs3MSw3IEBAIHByaXZhdGU6CiAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgogICAgIHZv
aWQgZmlyZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFN0b3AoKSBvdmVycmlkZTsKLSAgICBz
dGQ6Om9wdGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlv
bmFsPE1vbm90b25pY1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBv
dmVycmlkZTsKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciog
YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBA
IHByaXZhdGU6CiAgICAgaW50IG1fdGltZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90
dGxlU3RhdGUgbV90aHJvdHRsZVN0YXRlOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bV9jdXJyZW50VGltZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsK
KyAgICBTZWNvbmRzIG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0
dXJlVG9rZW4+IG1fdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxl
U3RhdGUgbV90aHJvdHRsZVN0YXRlIHsgVW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZTQ1NzBlMTRmYWZk
OWVmYjE5MzM2OTNmYTNlYmJkYzJjNzRlNDM2Zi4uODNmMzQyYjE5OWVkYTQ4ZGU1MjY0NGFhMTE4
M2VlZmFmN2RmMmVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTU4LDcgKzk1
OCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoUmVmPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBWCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVz
c2FnZS4KICAgICBhdXRvKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBXVEZN
b3ZlKG1lc3NhZ2UpLCBzb3VyY2VPcmlnaW4sIHNvdXJjZSwgY2hhbm5lbHMucmVsZWFzZVJldHVy
blZhbHVlKCksIFdURk1vdmUodGFyZ2V0KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0gICAgdGlt
ZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAKICAg
ICByZXR1cm4geyB9OwogfQpAQCAtMTY0OCw3ICsxNjQ4LDcgQEAgRXhjZXB0aW9uT3I8aW50PiBE
T01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAg
aWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1Nf
RVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFj
dGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOworICAgIHJl
dHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBET01XaW5kb3c6
OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4MCw3ICsxNjgwLDcgQEAgRXhjZXB0
aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVs
ZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElO
VkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4
dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBm
YWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFj
dGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKIH0KIAog
dm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0MzA5NTYzNDk2MjJhZTJlMTlm
ZDViNzYwMzg1Yzk1OTA0Y2MuLmVmZWYzNmJhMGY3OTIxOTk5NjI3ODU1NGEyYTk1OGI1OGM2MWU1
NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcApAQCAtNDgsNyAr
NDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIoRE9N
V2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkpIHsKICAgICAgICAgbV9sYXN0
RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0eSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlOTRhOTI1NTJjOTk2YTUzOGU0NjY4
MmNlYjMxZTM1MTkxYTMzMzdhLi5iYzY3MWQzMDA0N2I4YmU4ZjUzMDQ5NDQ5YjliYjc0MzBjMTU4
Njg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUgKzE1Niwx
NSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8g
d2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAogLy8gZHVy
aW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29udGVudCBy
ZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVyYXRpb25U
aHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVzZWQuCi1j
b25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsKLWNvbnN0
IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRvdWJsZSBm
YWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFrZU1vdXNl
TW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlU2hvcnRJbnRlcnZhbCA9IDAuMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VNb3ZlTG9u
Z0ludGVydmFsID0gMC4yNV9zOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQp
CiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRlIG9uIHN0
eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8gYmUgZmFz
dGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBjdXJzb3JV
cGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUludGVydmFs
ID0gMC4wMl9zOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNpemUgPSAxMjg7CiAjZW5kaWYK
QEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNzIE1heGltdW1EdXJhdGlvblRy
YWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNrZXIoZG91
YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFja2VyKFNl
Y29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVyYXRpb24obWF4RHVyYXRpb24p
Ci0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAg
ICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgIHsKICAgICB9CiAKICAgICB+
TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAgICAqbV9tYXhEdXJhdGlvbiA9
IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAt
IG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3RkOjptYXgobV9tYXhEdXJhdGlv
biwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAgICB9CiAKIHByaXZhdGU6Ci0g
ICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBtX3N0YXJ0OworICAgIFNlY29u
ZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0OwogfTsKIAogI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKQEAgLTQ2
Miw3ICs0NjIsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogICAgIG1fb3JpZ2luYXRp
bmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1fb3JpZ2luYXRpbmdUb3VjaFBv
aW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uID0g
MDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDBfczsKICAgICBtX2Jhc2VFdmVudFR5
cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBmYWxzZTsK
IH0KQEAgLTE4MjAsNyArMTgyMCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1vdmVkKGNv
bnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBwcm90ZWN0
ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3IobV9mcmFt
ZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25UcmFja2Vy
KCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJhY2tlciBt
YXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAgaWYgKG1f
ZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91c2VFdmVu
dChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjg5OCw3ICsyODk4LDcgQEAgYm9v
bCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQgRXZlbnRI
YW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9ob3ZlclRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVOQUJMRShD
VVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDliY2FjNzJj
N2UyMTYzMjEwOTE1ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUzYjM2ODli
NmEyZDUyYTY5NDg4ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNTcw
LDcgKzU3MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZhbHNlIH07
CiAjZW5kaWYKIAotICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAgfTsKKyAg
ICBTZWNvbmRzIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZlbnQ6OlR5
cGUgbV9iYXNlRXZlbnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAgYm9vbCBt
X2RpZFN0YXJ0RHJhZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVlbEV2ZW50
IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggZDU1NTVlZDJj
MGZiNTdiOTYzYjdiNjAwMjE5ODcxNzEyNmY2NWZkNy4uYjdhMDRmNDg1Zjg5YzhjODlkY2RmY2Zh
ZWQxZDE5M2E5ZmRjOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNv
dXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTQ3
LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRfdCBFdmVu
dFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29uZHMgRXZl
bnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDNfczsKIAogaW5saW5lIEV2ZW50U291
cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBV
UkwmIHVybCwgY29uc3QgSW5pdCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZlRE9NT2Jq
ZWN0KCZjb250ZXh0KQpAQCAtMTMyLDEzICsxMzIsMTMgQEAgdm9pZCBFdmVudFNvdXJjZTo6c2No
ZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVDVElORyk7
CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBtX2Nvbm5lY3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKICAgICBtX3N0YXRl
ID0gQ09OTkVDVElORzsKLSAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9yZWNvbm5l
Y3REZWxheSAvIDEwMDAuMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KG1fcmVj
b25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKQEAgLTM1NSw5ICszNTUsOSBAQCB2
b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3NpdGlvbiwg
c3RkOjpvcHRpb25hbDx1bnNpZ25lZAogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdlIHJlYWxs
eSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBiZSB1c2lu
ZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1FOiBJZiB3
ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVjdERlbGF5
IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAgICAgICBi
b29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3RlcnNUb1VJ
bnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7CisgICAg
ICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQoJm1fcmVj
ZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAgICAgaWYg
KG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3REZWxheTsK
KyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuaAppbmRleCAyYmUzZjlmMWI3NWQzOWQ1M2IyZmUzOTEyOTNmNThjYzBmMTgy
NzgyLi5hNGU3ZGQ5YWM0NzQzMzFjOGI3ZTNmZWE3NjNmMDE3ZTI3YzYzMGE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAgICBib29s
IHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAKLSAgICBz
dGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3VybDsKICAg
ICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZhdGU6CiAg
ICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFyc2VkRXZl
bnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3JlY29ubmVj
dERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3JlY29ubmVj
dERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZlbnRTdHJl
YW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKaW5k
ZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uNzJjMzM5MTdmN2Zi
YjJiM2NmOGM4MWEwZGEwOGRiMGU0NzUwNDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRyb2xsZXI6
OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uLCBLZXli
b2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNSZXBhaW50
KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7CisgICAg
bV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzNfcyk7CiB9CiAKIHZvaWQgRm9j
dXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAK
aW5kZXggMzdmYjdkYWYxZmQ5ZTI5NTZiYWY1MGYxY2E1YzhhYTkzYmQwYzI0Mi4uNTVjZjQzNmU2
ODkzYWE5ZjVjY2JhMGVjNjMyYjc2MzViMTczYTAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAg
LTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSFRN
TE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWduZWQgc2Nyb2xsRnJlcXVl
bmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsRnJlcXVlbmN5ID0g
U2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xPQkFMKFdU
Rjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNTkwOTZkZGNjZGI4M2FkOTNkM2Y4ZjFjMDVhZWVj
NGQ2OTk3MjJjMy4uMDFhNzQ0MDBjNjg0ZDlmNjBjYWExMmM1MThhNzAwZjlhNDg3ZWJjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYwLDcgQEAgdm9pZCBGcmFt
ZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIC8vIGRlZmVyIHdp
ZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlciB3ZSByZXR1cm4uIHBv
c3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1cyBuZWVkIHRvIHVwZGF0
ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBjeWNsZSB1bmxlc3MKICAg
ICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIgaGVyZS4KLSAgICAgICAg
ICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAg
bV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAgIGlm
IChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAgICB9CkBA
IC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25DaGFuZ2Vk
KGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAgICBtX2Rl
bGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2ZW50KCk7
CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5n
RGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0g
ZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZlYWxFZGdl
RXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29udGVudFJl
Y3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBGcmFtZVZp
ZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3NwZWN1bGF0
aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogICAgIC8v
IERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dlciBmdXJ0
aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgc3BlY3Vs
YXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBz
cGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41X3M7CiAgICAgbV9zcGVjdWxhdGl2ZVRp
bGluZ0VuYWJsZVRpbWVyLnN0YXJ0T25lU2hvdChzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZURlbGF5
KTsKIH0KIApAQCAtMzQzMCw3ICszNDMwLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0
TGF5b3V0VGFza3MoKQogICAgIC8vIGlzIGNhbGxlZCB0aHJvdWdoIHRoZSBwb3N0IGxheW91dCB0
aW1lci4KICAgICBSZWY8RnJhbWVWaWV3PiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIAotICAgIG1f
dXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
RW1iZWRkZWRPYmplY3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBpZiAoYXV0byog
cGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29y
ZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApp
bmRleCA1ZmUyMWU3MmQ0NGNhNjIyODJmNzg1MmFjMThmOWI3ZjY0NTc2ZWMwLi5kMDVkZTQzMzky
NWM4MGZjYTU0MjFkNzg0YmMyOTZlYjMzYWExMWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTEy
NDMsNyArMTI0Myw3IEBAIHZvaWQgUGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nU3RhdGUoVGltZXJU
aHJvdHRsaW5nU3RhdGUgc3RhdGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fdGltZXJUaHJv
dHRsaW5nU3RhdGUgPSBzdGF0ZTsKLSAgICBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5n
ZWRUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgbV90aW1lclRo
cm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAg
ICAgdXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBAIC0xMjU2LDcgKzEyNTYs
NyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0bGluZ1N0
YXRlIHN0YXRlKQogICAgIH0KIH0KIAotdm9pZCBQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVy
dmFsSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxpbWl0KQordm9pZCBQ
YWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0
KQogewogICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgPSBsaW1pdDsK
IApAQCAtMTI4NCw4ICsxMjg0LDggQEAgdm9pZCBQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVu
dEludGVydmFsKCkKICAgICAgICAgaWYgKG1faXNQcmVyZW5kZXIpCiAgICAgICAgICAgICBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxp
bWl0OwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChtX3RpbWVyVGhyb3R0bGlu
Z1N0YXRlTGFzdENoYW5nZWRUaW1lLnRpbWVfc2luY2VfZXBvY2goKSAhPSBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbjo6emVybygpKTsKLSAgICAgICAgICAgIG1fdGltZXJBbGln
bm1lbnRJbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHM+KHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV90aW1lclRo
cm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSk7CisgICAgICAgICAgICBBU1NFUlQobV90aW1l
clRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZSk7CisgICAgICAgICAgICBtX3RpbWVyQWxp
Z25tZW50SW50ZXJ2YWwgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fdGltZXJUaHJvdHRsaW5n
U3RhdGVMYXN0Q2hhbmdlZFRpbWU7CiAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBiZWxvdyB0aGUg
bGltaXQsIHNldCB0aGUgdGltZXIuIElmIGFib3ZlLCBjbGFtcCB0byBsaW1pdC4KICAgICAgICAg
ICAgIGlmIChtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPCBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2
YWxJbmNyZWFzZUxpbWl0KQogICAgICAgICAgICAgICAgIG5lZWRzSW5jcmVhc2VUaW1lciA9IHRy
dWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oCmluZGV4IDIyODM0ZmY3MDNiZjg4MWQ2YzI4N2M5ZGRiMzZlZDZkZWUx
MjRiNGIuLjM1ZmE1MTExYTBiMjYxYmM0ZTcwNWM1OGNjNDMwMTFiMDM3YTI5OTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCkBAIC0yMjUsNyArMjI1LDcgQEAgcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlciYg
cHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiAqbV9wcm9ncmVzczsgfQogICAgIEJhY2tGb3J3YXJk
Q29udHJvbGxlciYgYmFja0ZvcndhcmQoKSBjb25zdCB7IHJldHVybiAqbV9iYWNrRm9yd2FyZENv
bnRyb2xsZXI7IH0KIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZG9tVGltZXJBbGln
bm1lbnRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsg
fQorICAgIFNlY29uZHMgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJu
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsgfQogCiAjaWYgRU5BQkxFKFZJRVdfTU9ERV9DU1Nf
TUVESUEpCiAgICAgZW51bSBWaWV3TW9kZSB7CkBAIC01MjgsNyArNTI4LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0U2hvd0FsbFBsdWdpbnMoYm9vbCBzaG93QWxsKSB7IG1fc2hvd0FsbFBsdWdp
bnMgPSBzaG93QWxsOyB9CiAgICAgYm9vbCBzaG93QWxsUGx1Z2lucygpIGNvbnN0OwogCi0gICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1p
dChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
dFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgYm9v
bCBpc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NvbnRyb2xsZWRC
eUF1dG9tYXRpb247IH0KICAgICB2b2lkIHNldENvbnRyb2xsZWRCeUF1dG9tYXRpb24oYm9vbCBj
b250cm9sbGVkKSB7IG1fY29udHJvbGxlZEJ5QXV0b21hdGlvbiA9IGNvbnRyb2xsZWQ7IH0KQEAg
LTY2NywxMCArNjY3LDEwIEBAIHByaXZhdGU6CiAjZW5kaWYgLy8gRU5BQkxFKFZJRVdfTU9ERV9D
U1NfTUVESUEpCiAKICAgICBUaW1lclRocm90dGxpbmdTdGF0ZSBtX3RpbWVyVGhyb3R0bGluZ1N0
YXRlIHsgVGltZXJUaHJvdHRsaW5nU3RhdGU6OkRpc2FibGVkIH07Ci0gICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5n
ZWRUaW1lIHsgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSB9Owot
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsOwor
ICAgIE1vbm90b25pY1RpbWUgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZTsK
KyAgICBTZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKICAgICBUaW1lciBtX3RpbWVy
QWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZVRpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCB7IDAgfTsKKyAgICBT
ZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQ7CiAKICAgICBib29s
IG1faXNFZGl0YWJsZTsKICAgICBib29sIG1faXNQcmVyZW5kZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZU92ZXJsYXkuY3BwCmluZGV4IGU3MGJjYTA1MjNmMGUzOTVmODc3ZmY2M2MxMmFhMzk1NTdhZGVk
N2MuLmU5MDJiMDI1OGQxZTE4OWE2MDAzMjI0ZmNkYTI0NjhkOWE0YmU3MjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC0zOCw3ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkR1cmF0aW9uID0gMC4yOwot
c3RhdGljIGNvbnN0IGRvdWJsZSBmYWRlQW5pbWF0aW9uRnJhbWVSYXRlID0gMzA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBmYWRlQW5pbWF0aW9uSW50ZXJ2YWwgPSBTZWNvbmRzKDEuMCAvIDMwKTsK
IAogc3RhdGljIFBhZ2VPdmVybGF5OjpQYWdlT3ZlcmxheUlEIGdlbmVyYXRlUGFnZU92ZXJsYXlJ
RCgpCiB7CkBAIC0yNTAsNyArMjUwLDcgQEAgdm9pZCBQYWdlT3ZlcmxheTo6c3RvcEZhZGVPdXRB
bmltYXRpb24oKQogdm9pZCBQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKCkKIHsKICAg
ICBtX2ZhZGVBbmltYXRpb25TdGFydFRpbWUgPSBjdXJyZW50VGltZSgpOwotICAgIG1fZmFkZUFu
aW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEgLyBmYWRlQW5pbWF0aW9uRnJhbWVSYXRlKTsK
KyAgICBtX2ZhZGVBbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhmYWRlQW5pbWF0aW9uSW50
ZXJ2YWwpOwogfQogCiB2b2lkIFBhZ2VPdmVybGF5OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDQ5MTc1ZmIwOGQyMzFkMTc4YTJkNWExZmJj
ZGFjN2ZhMWI3ZGVjNWQuLjYyYzZiZWNlMGE5YTk3NzgzOWFkNmRjOTRkMjdhZWM4YTYyMDczYmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNjksMTUgKzE2OSwxNSBAQCBzdGF0aWMg
Y29uc3QgYm9vbCBkZWZhdWx0UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkID0gZmFs
c2U7CiAjZW5kaWYKIAogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1
cmVUb0xvYWRWaWRlbyA9IHRydWU7Ci0KIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRBbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IHRydWU7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBkZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgPSA1X3M7CiAK
LXN0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Np
b25UaW1lb3V0SW5TZWNvbmRzID0gNTsKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQog
c3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVl
OwogI2Vsc2UKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFi
bGVkID0gZmFsc2U7CiAjZW5kaWYKKwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5z
ZXJ0RGVsZXRlRW5hYmxlZCA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0
VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCA9IGZhbHNlOwogCkBAIC0zNjgsNyArMzY4LDcgQEAg
dm9pZCBTZXR0aW5nczo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFn
ZXNBdXRvbWF0aWNhbGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3Vz
bHkgaXMgbm90IGltcG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJs
eSBjbG9zaW5nIHRoZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUg
YSBjaGFuY2UgdG8gcmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9i
LzYwNTcyIGZvciBtb3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5n
c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1Nl
dHRpbmdzVGltZXJGaXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0
SW1hZ2VzRW5hYmxlZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFi
bGVkID0gYXJlSW1hZ2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRz
SW1hZ2VzQXV0b21hdGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJ
bWFnZXMoYm9vbCBwcmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2
b2lkIFNldHRpbmdzOjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3Vs
ZE5vdFJlbG9hZElGcmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVp
cmsgPSBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNl
dHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsKQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwo
U2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmlt
dW1ET01UaW1lckludGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRl
cnZhbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCAwYTk1N2VmZTBlZWQ5MWEwNDAwOWFlMTU3
ZDU0MzY3ODlhZjRkNGVmLi42ODYyOTM4Y2E1Njg4ZWI1MmY0Y2QyYTQ3MDQ2M2Q1M2ZmZjBiZjBh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0xNjksOCArMTY5LDggQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9v
bCk7CiAgICAgYm9vbCBuZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyBy
ZXR1cm4gbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzKTsgLy8gSW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2
YWwoKS4KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmltdW1ET01UaW1lckludGVy
dmFsKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQorICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyk7IC8v
IEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCisgICAg
U2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11
bURPTVRpbWVySW50ZXJ2YWw7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5b3V0
SW50ZXJ2YWwoU2Vjb25kcyk7CiAgICAgU2Vjb25kcyBsYXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGF5b3V0SW50ZXJ2YWw7IH0KQEAgLTI0NCw4ICsyNDQsOCBAQCBwdWJsaWM6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0U2hvdWxkUmVzcGVjdFByaW9yaXR5SW5D
U1NBdHRyaWJ1dGVTZXR0ZXJzKGJvb2wpOwogICAgIHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQ
cmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycygpOwogCi0gICAgdm9pZCBzZXRUaW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhkb3VibGUgdGltZSkgeyBtX3RpbWVX
aXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsgfQotICAgIGRv
dWJsZSB0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0
IHsgcmV0dXJuIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7
IH0KKyAgICB2b2lkIHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKFNlY29uZHMgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzID0gdGltZTsgfQorICAgIFNlY29uZHMgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50
QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CiAKICAgICBib29sIGhpZGRlblBhZ2VDU1NB
bmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuUGFnZUNT
U0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRIaWRkZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoYm9vbCk7CkBAIC0zMjYs
NyArMzI2LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEdlbmVy
aWNGYW1pbGllcz4gbV9mb250R2VuZXJpY0ZhbWlsaWVzOwogICAgIFNlY3VyaXR5T3JpZ2luOjpT
dG9yYWdlQmxvY2tpbmdQb2xpY3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7CiAgICAgU2Vjb25k
cyBtX2xheW91dEludGVydmFsOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5p
bXVtRE9NVGltZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2
YWw7CiAKICAgICBTRVRUSU5HU19NRU1CRVJfVkFSSUFCTEVTCiAKQEAgLTM0OSw3ICszNDksNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQgOiAxOwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0
aW5nc1RpbWVyOwogICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA1MTU3NmJhMzA2ODdiODY4NTQ0ZjQwMDgxOGUyZDM1
YmE1YjIyMDIyLi4xNzc4YjJkOGQwZjU2ODc2OWU3NTg1OGVjMDgwMDdiMWRlYjA2MzUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTcsNyArNyw3IEBAIGxvY2FsU3RvcmFnZURhdGFiYXNl
UGF0aCB0eXBlPVN0cmluZwogZWRpdGFibGVMaW5rQmVoYXZpb3IgdHlwZT1FZGl0YWJsZUxpbmtC
ZWhhdmlvciwgaW5pdGlhbD1FZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IKIHRleHREaXJlY3Rp
b25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3IgdHlwZT1UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1
c2lvbkJlaGF2aW9yLCBpbml0aWFsPVRleHREaXJlY3Rpb25TdWJtZW51QXV0b21hdGljYWxseUlu
Y2x1ZGVkCiBwZGZJbWFnZUNhY2hpbmdQb2xpY3kgdHlwZT1QREZJbWFnZUNhY2hpbmdQb2xpY3ks
IGluaXRpYWwgPSBQREZJbWFnZUNhY2hpbmdEZWZhdWx0Ci1wYXNzd29yZEVjaG9EdXJhdGlvbklu
U2Vjb25kcyB0eXBlPWRvdWJsZSwgaW5pdGlhbD0xCitwYXNzd29yZEVjaG9EdXJhdGlvbiB0eXBl
PVNlY29uZHMsIGluaXRpYWw9MQogCiAjIFNldHMgdGhlIG1hZ25pZmljYXRpb24gdmFsdWUgZm9y
IHZhbGlkYXRpb24gbWVzc2FnZSB0aW1lci4gIElmIHRoZQogIyBtYWduaWZpY2F0aW9uIHZhbHVl
IGlzIE4sIGEgdmFsaWRhdGlvbiBtZXNzYWdlIGRpc2FwcGVhcnMgYXV0b21hdGljYWxseSBhZnRl
cgpAQCAtMTQwLDcgKzE0MCw3IEBAIG1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbSBpbml0
aWFsPWRlZmF1bHRNZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20KIGludmlzaWJsZUF1dG9w
bGF5Tm90UGVybWl0dGVkIGluaXRpYWw9ZmFsc2UKIHBhc3N3b3JkRWNob0VuYWJsZWQgaW5pdGlh
bD1mYWxzZQogc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nIGluaXRpYWw9ZmFsc2UKLWlu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzIHR5cGU9ZG91Ymxl
LCBpbml0aWFsPWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dElu
U2Vjb25kcworaW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgdHlwZT1TZWNv
bmRzLCBpbml0aWFsPWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91
dAogYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQgaW5pdGlhbD10cnVlCiBzaG91bGREaXNw
bGF5U3VidGl0bGVzIGluaXRpYWw9ZmFsc2UsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCiBzaG91
bGREaXNwbGF5Q2FwdGlvbnMgaW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4IDc2NTgzYzEyYmE4
MjkxYWFhNmFlNGJjNWRmZGQ0NmIyNGM1NzY0MzUuLjI4NzYyODZjOGMwNzE4ZjgzNjJkYWJjMTVm
MmJmM2Q0MTFkMGYyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFi
bGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cApAQCAtMzMsMTAgKzMzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTdXNwZW5kYWJsZVRp
bWVyOjpTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAg
ICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCi0gICAgLCBtX3N1c3BlbmRlZChmYWxzZSkK
LSAgICAsIG1fc2F2ZWROZXh0RmlyZUludGVydmFsKDApCi0gICAgLCBtX3NhdmVkUmVwZWF0SW50
ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRJc0FjdGl2ZShmYWxzZSkKIHsKIH0KIApAQCAtMTAxLDcg
Kzk3LDcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpjYW5jZWwoKQogICAgICAgICBtX3N1c3Bl
bmRlZCA9IGZhbHNlOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5n
KGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQog
ICAgICAgICBUaW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsKTsKQEAgLTEx
MiwyNyArMTA4LDI3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91
YmxlIHJlcGVhdEludGVydmFsKQogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpz
dGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFy
dE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAg
ICAgICBUaW1lckJhc2U6OnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIG1fc2F2ZWRJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0RmlyZUludGVy
dmFsID0gaW50ZXJ2YWw7Ci0gICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7CisgICAg
ICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiB9CiAKLWRvdWJsZSBTdXNw
ZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFN1c3BlbmRhYmxl
VGltZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQog
ICAgICAgICByZXR1cm4gVGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbCgpOwogICAgIGlmIChtX3Nh
dmVkSXNBY3RpdmUpCiAgICAgICAgIHJldHVybiBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjph
dWdtZW50RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6
YXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKQogewogICAgIGlmICghbV9zdXNwZW5k
ZWQpCiAgICAgICAgIFRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7CkBAIC0x
NDEsMTEgKzEzNywxMSBAQCB2b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2
YWwoZG91YmxlIGRlbHRhKQogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fc2F2ZWRJc0FjdGl2ZSA9
IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0RmlyZUludGVydmFsID0gZGVsdGE7Ci0gICAgICAg
IG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZh
bCA9IDBfczsKICAgICB9CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudFJlcGVh
dEludGVydmFsKGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudFJl
cGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAg
ICAgICAgVGltZXJCYXNlOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCBlMTVmMGE3MDkzNzg1MGEzYTY5MDFmNzIw
YzVkZTFmNjA5OTEzODY0Li4xMzQ1NzUxODUyNGRkMjEyYTkyYjdmODU1NTE3ODFhMDM2NWQxOTMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDMsMTcgKzQzLDEy
IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gVGltZXJCYXNl
Ojppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3RpdmUpOyB9CiAgICAg
Ym9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVkOyB9CiAKLSAgICB2
b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7Ci0gICAgdm9pZCBzdGFy
dE9uZVNob3QoZG91YmxlIGludGVydmFsKTsKLSAgICBkb3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBj
b25zdDsKLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKTsKLSAgICB2
b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpOworICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CisgICAgdm9pZCBzdGFydE9uZVNob3Qo
U2Vjb25kcyBpbnRlcnZhbCk7CisgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCgpIGNvbnN0Owog
Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVh
dEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9TZWNvbmRzKHJlcGVhdEludGVydmFsKSk7
IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVy
dmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZhbCkpOyB9Ci0gICAgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1TKCkgY29uc3QgeyByZXR1cm4gc2Vj
b25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2
YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFs
KG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRlcnZhbCht
c1RvU2Vjb25kcyhkZWx0YSkpOyB9CisgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29u
ZHMgZGVsdGEpOworICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEp
OwogCiAgICAgdXNpbmcgVGltZXJCYXNlOjpkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbDsKICAg
ICB1c2luZyBUaW1lckJhc2U6Om9wZXJhdG9yIG5ldzsKQEAgLTcxLDExICs2NiwxMSBAQCBwcml2
YXRlOgogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBmaW5hbDsKICAgICB2
b2lkIHJlc3VtZSgpIGZpbmFsOwogCi0gICAgYm9vbCBtX3N1c3BlbmRlZDsKKyAgICBTZWNvbmRz
IG1fc2F2ZWROZXh0RmlyZUludGVydmFsOworICAgIFNlY29uZHMgbV9zYXZlZFJlcGVhdEludGVy
dmFsOwogCi0gICAgZG91YmxlIG1fc2F2ZWROZXh0RmlyZUludGVydmFsOwotICAgIGRvdWJsZSBt
X3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAgYm9vbCBtX3NhdmVkSXNBY3RpdmU7CisgICAgYm9v
bCBtX3N1c3BlbmRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3NhdmVkSXNBY3RpdmUgeyBmYWxz
ZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCmluZGV4IDM5ODg3ZjEzNTIyOTQxMmUzZjAzNTIz
ZGY0YjU5N2JjZTM3NjBjNzUuLmVmYmIzNmRlYTk2OTBlMTJiOGNiZmU1YjgzZTJmNWY5YzAyYmNh
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAK
QEAgLTYwLDcgKzYwLDcgQEAgdm9pZCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxs
YmFja0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIoc3RkOjpmdW5jdGkKICAgICB9CiAgICAgCiAg
ICAgaWYgKCFtX3Rlc3RUcmlnZ2VyVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90ZXN0VHJp
Z2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgICAgICBtX3Rlc3RUcmln
Z2VyVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAgLyA2MCkpOwogfQogCiB2b2lkIFdo
ZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJlYXNvbihTY3JvbGxhYmxlQXJlYUlk
ZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0VHJpZ2dlclJlYXNvbiByZWFzb24pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIu
Y3BwCmluZGV4IDlhNDZkZWI0MTFhZmM5YWNhYjE0ZDllNmNkN2E4MWRhZDJmNzVjZWQuLjkzMTNl
ODBlNTc0YjQ1NDMwNDExMjI1OTk5MDc1ODYyYTFmMzJjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC00OCw4
ICs0OCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBj
QW5pbWF0aW9uVGltZXJEZWxheSA9IDEuMCAvIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBjQmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBh
bmltYXRpb25UaW1lckRlbGF5ID0gU2Vjb25kcygxLjAgLyA2MCk7CitzdGF0aWMgY29uc3QgZG91
YmxlIGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCA9IC0xOwogCiBjbGFzcyBBbmltYXRp
b25Qcml2YXRlVXBkYXRlQmxvY2sgewogcHVibGljOgpAQCAtNzEsNyArNzEsNyBAQCBBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUmIGZy
YW1lKQogICAgIDogbV9hbmltYXRpb25UaW1lcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjphbmltYXRpb25UaW1lckZpcmVkKQogICAgICwgbV91cGRhdGVTdHlsZUlmTmVlZGVk
RGlzcGF0Y2hlcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHls
ZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKQogICAgICwgbV9mcmFtZShmcmFtZSkKLSAgICAsIG1f
YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQp
CisgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShiZWdpbkFuaW1hdGlvblVwZGF0ZVRp
bWVOb3RTZXQpCiAgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQoMCkKICAgICAsIG1f
d2FpdGluZ0ZvckFzeW5jU3RhcnROb3RpZmljYXRpb24oZmFsc2UpCiAgICAgLCBtX2lzU3VzcGVu
ZGVkKGZhbHNlKQpAQCAtMTUyLDExICsxNTIsMTEgQEAgZG91YmxlIEFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25zKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQvKgog
CiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZv
clJlbmRlcmVyKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogewotICAgIGRvdWJsZSB0aW1lVG9O
ZXh0U2VydmljZSA9IDA7CisgICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZTsKIAogICAgIGNv
bnN0IENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uID0gbV9jb21wb3NpdGVB
bmltYXRpb25zLmdldCgmcmVuZGVyZXIpOwogICAgIGlmICghY29tcG9zaXRlQW5pbWF0aW9uLT5p
c1N1c3BlbmRlZCgpICYmIGNvbXBvc2l0ZUFuaW1hdGlvbi0+aGFzQW5pbWF0aW9ucygpKQotICAg
ICAgICB0aW1lVG9OZXh0U2VydmljZSA9IGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRvTmV4dFNl
cnZpY2UoKTsKKyAgICAgICAgdGltZVRvTmV4dFNlcnZpY2UgPSBTZWNvbmRzKGNvbXBvc2l0ZUFu
aW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKSk7CiAKICAgICBpZiAobV9hbmltYXRpb25UaW1l
ci5pc0FjdGl2ZSgpICYmIChtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkgfHwgbV9h
bmltYXRpb25UaW1lci5uZXh0RmlyZUludGVydmFsKCkgPD0gdGltZVRvTmV4dFNlcnZpY2UpKQog
ICAgICAgICByZXR1cm47CkBAIC0xNjYsMTkgKzE2NiwyMCBAQCB2b2lkIEFuaW1hdGlvbkNvbnRy
b2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRlckVsZW1l
bnQmCiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRp
bWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQvKiA9IERvTm90Q2FsbFNldENoYW5nZWQqLykK
IHsKLSAgICBkb3VibGUgdGltZVRvTmV4dFNlcnZpY2UgPSB1cGRhdGVBbmltYXRpb25zKGNhbGxT
ZXRDaGFuZ2VkKTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBjb252ZXJ0IHJlc3Qgb2YgYW5pbWF0
aW9ucyBjb2RlIHRvIFNlY29uZHMgYW5kIE1vbm90b25pY1RpbWUuCisgICAgU2Vjb25kcyB0aW1l
VG9OZXh0U2VydmljZSA9IFNlY29uZHModXBkYXRlQW5pbWF0aW9ucyhjYWxsU2V0Q2hhbmdlZCkp
OwogCi0gICAgTE9HKEFuaW1hdGlvbnMsICJ1cGRhdGVBbmltYXRpb25UaW1lcjogdGltZVRvTmV4
dFNlcnZpY2UgaXMgJS4yZiIsIHRpbWVUb05leHRTZXJ2aWNlKTsKKyAgICBMT0coQW5pbWF0aW9u
cywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAlLjJmbXMiLCB0
aW1lVG9OZXh0U2VydmljZS5taWxsaXNlY29uZHMoKSk7CiAKICAgICAvLyBJZiB3ZSB3YW50IHNl
cnZpY2UgaW1tZWRpYXRlbHksIHdlIHN0YXJ0IGEgcmVwZWF0aW5nIHRpbWVyIHRvIHJlZHVjZSB0
aGUgb3ZlcmhlYWQgb2Ygc3RhcnRpbmcKICAgICBpZiAoIXRpbWVUb05leHRTZXJ2aWNlKSB7Ci0g
ICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8IG1fYW5pbWF0aW9uVGlt
ZXIucmVwZWF0SW50ZXJ2YWwoKSA9PSAwKQotICAgICAgICAgICAgbV9hbmltYXRpb25UaW1lci5z
dGFydFJlcGVhdGluZyhjQW5pbWF0aW9uVGltZXJEZWxheSk7CisgICAgICAgIGlmICghbV9hbmlt
YXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8ICFtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFs
KCkpCisgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGFuaW1hdGlv
blRpbWVyRGVsYXkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgLy8gSWYgd2UgZG9u
J3QgbmVlZCBzZXJ2aWNlLCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgdGltZXIgaXMgbm8gbG9u
Z2VyIHJ1bm5pbmcKLSAgICBpZiAodGltZVRvTmV4dFNlcnZpY2UgPCAwKSB7CisgICAgaWYgKHRp
bWVUb05leHRTZXJ2aWNlIDwgMF9zKSB7CiAgICAgICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlz
QWN0aXZlKCkpCiAgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKICAgICAgICAg
cmV0dXJuOwpAQCAtMjIyLDcgKzIyMyw3IEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU6OmZpcmVFdmVudHNBbmRVcGRhdGVTdHlsZSgpCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCkKIHsKICAgICBpZiAo
IW1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91
cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1f
dXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFkZEV2ZW50VG9EaXNwYXRjaChQYXNzUmVm
UHRyPEVsZW1lbnQ+IGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBlbGFwc2VkVGltZSkKQEAgLTM4NCw3ICszODUsNyBAQCBi
b29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUoUmVu
ZGVyRWxlbWVudCogcmVuZGVyZXIsCiBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OmJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpCiB7CiAgICAgQVNTRVJUKG1fYmVnaW5BbmltYXRp
b25VcGRhdGVDb3VudCk7Ci0gICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGNC
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgaWYgKG1fYmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lID09IGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAgICAgICAgbV9i
ZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
IAogICAgIHJldHVybiBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZTsKQEAgLTM5Myw3ICszOTQs
NyBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlVGltZSgpCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlv
blVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQpCi0gICAg
ICAgIHNldEJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKKyAgICAgICAgc2V0QmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0
aW9uVXBkYXRlVGltZU5vdFNldCk7CiAgICAgKyttX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQ7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBi
MDM1MjcwODkxZDBjMjY4OTkwMzYzYzRmZDBmNmQxNmEyNzFlMzY5Li4zNzhkZWIwYjE3ZmFhZWRj
YjU4MzhiNjhiZjdjZTcyOWUwZjNhNWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZl
bnRIYW5kbGVyTWFjLm1tCkBAIC03OCw3ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNv
bnN0IGRvdWJsZSBFdmVudEhhbmRsZXI6OlRleHREcmFnRGVsYXkgPSAwLjE1OwogI2VuZGlmCiAK
LWNvbnN0IGRvdWJsZSByZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQgPSAwLjE7Citjb25zdCBTZWNv
bmRzIHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkgPSAwLjFfczsKIAogc3RhdGljIFJldGFpblB0cjxO
U0V2ZW50PiYgY3VycmVudE5TRXZlbnRTbG90KCkKIHsKQEAgLTkyNCw3ICs5MjQsNyBAQCB2b2lk
IEV2ZW50SGFuZGxlcjo6Y2xlYXJPclNjaGVkdWxlQ2xlYXJpbmdMYXRjaGVkU3RhdGVJZk5lZWRl
ZChjb25zdCBQbGF0Zm9ybVdoZQogICAgIC8vIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlLiBJZiBp
dCBkb2VzLCBzdG9wIHRoZSB0aW1lciwgbGVhdmluZyB0aGUgbGF0Y2hlZCBzdGF0ZSB1bnRvdWNo
ZWQuCiAgICAgaWYgKCFtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuaXNBY3RpdmUo
KSkgewogICAgICAgICBpZiAoZXZlbnQuaXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkpCi0gICAg
ICAgICAgICBtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KHJl
c2V0TGF0Y2hlZFN0YXRlVGltZW91dCk7CisgICAgICAgICAgICBtX3BlbmRpbmdNb21lbnR1bVdo
ZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIC8vIElmIGFub3RoZXIgd2hlZWwgZXZlbnQgc2Nyb2xsaW5nIHN0
YXJ0cywgc3RvcCB0aGUgdGltZXIgbWFudWFsbHksIGFuZCByZXNldCB0aGUgbGF0Y2hlZCBzdGF0
ZSBpbW1lZGlhdGVseS4KICAgICAgICAgaWYgKGV2ZW50LnNob3VsZENvbnNpZGVyTGF0Y2hpbmco
KSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oCmluZGV4IDU1ZTRkNjU5NWVlYjYwNTNmNmE2YTk0NTBiOWRhZWI4MTI4YzUyNzAu
LjBiYjA5ODAwZjhmYWU3YTFlNzI3Yzk0NGRlZGRiMWY2YTU2NmQyMjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTEy
Miw3ICsxMjIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rpb25TZXJ2
aWNlcygpOwogCiAgICAgYm9vbCBtb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmLCBib29s
JiBtb3VzZUlzT3ZlckJ1dHRvbikgY29uc3Q7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCopIGNv
bnN0OworICAgIFNlY29uZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
bihIaWdobGlnaHQqKSBjb25zdDsKICAgICB2b2lkIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRp
bWVyRmlyZWQoKTsKIAogICAgIHN0YXRpYyBib29sIGhpZ2hsaWdodHNBcmVFcXVpdmFsZW50KGNv
bnN0IEhpZ2hsaWdodCogYSwgY29uc3QgSGlnaGxpZ2h0KiBiKTsKQEAgLTE1MSw5ICsxNTEsOSBA
QCBwcml2YXRlOgogCiAgICAgSGlnaGxpZ2h0OjpUeXBlIG1fZGlydHlIaWdobGlnaHRUeXBlcyB7
IDAgfTsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0
U2VsZWN0aW9uQ2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1l
X3BvaW50IG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBNb25vdG9u
aWNUaW1lIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX25l
eHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0TW91
c2VVcFRpbWU7CiAKICAgICBSZWZQdHI8SGlnaGxpZ2h0PiBtX2N1cnJlbnRNb3VzZURvd25PbkJ1
dHRvbkhpZ2hsaWdodDsKICAgICBJbnRQb2ludCBtX21vdXNlUG9zaXRpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQppbmRl
eCA5YTgxNWI1YWU1NTk2NDk5YmRmNjE2ZWQ0MjExYjlhNTIzODE1ZTYyLi5lODg0OTI5NDZhNWJh
ZWUxNjk0ZTA0YzUyNjc2OTc0NGViOTRlZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM2OCw3ICszNjgsNyBA
QCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hhbmdl
KGNvbnN0IFZlY3RvcjxMYXlvdXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJlY3RzID0g
cmVjdHM7CiAgICAgbV9pc1RleHRPbmx5ID0gaXNUZXh0T25seTsKIAotICAgIG1fbGFzdFNlbGVj
dGlvbkNoYW5nZVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBt
X2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBj
b21wYWN0UmVjdHNXaXRoR2FwUmVjdHMobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMsIGdhcFJlY3Rz
KTsKIApAQCAtMzkxLDcgKzM5MSw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUoSGlnaGxpZ2h0OjpUeXBlIHR5cGUpCiAgICAgICAg
IHJldHVybjsKIAogICAgIG1fZGlydHlIaWdobGlnaHRUeXBlcyB8PSB0eXBlOwotICAgIG1fYnVp
bGRIaWdobGlnaHRzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYnVpbGRIaWdobGlnaHRz
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6YnVpbGRQb3RlbnRpYWxIaWdobGlnaHRzSWZOZWVkZWQoKQpAQCAtNDMzLDE1ICs0MzMs
MTUgQEAgYm9vbCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUlzT3ZlckhpZ2hsaWdo
dChIaWdobGlnaHQmIGhpZ2hsaWdodCwgYm9vbCYKICAgICByZXR1cm4gaG92ZXJlZDsKIH0KIAot
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1h
aW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0
KSBjb25zdAorU2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAog
ewogICAgIGlmICghaGlnaGxpZ2h0KQotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1
cm4gMF9zOwogCi0gICAgYXV0byBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
biA9IDIwMG1zOworICAgIFNlY29uZHMgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24gPSAwLjJfczsKICAgICBQYWdlKiBwYWdlID0gbV9tYWluRnJhbWUucGFnZSgpOwogICAg
IGlmIChwYWdlICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgp
LnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCi0gICAgICAgIG1p
bmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMTAwMG1zOworICAgICAgICBt
aW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDFfczsKIAogICAgIGJvb2wg
bW91c2VQcmVzc2VkID0gbV9tYWluRnJhbWUuZXZlbnRIYW5kbGVyKCkubW91c2VQcmVzc2VkKCk7
CiAKQEAgLTQ0OSwxNSArNDQ5LDE0IEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0CiAgICAgLy8g
YnkgdmlydHVlIG9mIGJlaW5nIGV4cGFuZGVkIHRvIGluY2x1ZGUgdGhlIGVudGlyZSB0ZWxlcGhv
bmUgbnVtYmVyLiBIb3dldmVyLCB3ZSB3aWxsIHN0aWxsIGF2b2lkIGhpZ2hsaWdodGluZwogICAg
IC8vIHRlbGVwaG9uZSBudW1iZXJzIHdoaWxlIHRoZSBtb3VzZSBpcyBkb3duLgogICAgIGlmICho
aWdobGlnaHQtPnR5cGUoKSA9PSBIaWdobGlnaHQ6OlRlbGVwaG9uZU51bWJlclR5cGUpCi0gICAg
ICAgIHJldHVybiBtb3VzZVByZXNzZWQgPyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxk
QmVTaG93biA6IDBtczsKKyAgICAgICAgcmV0dXJuIG1vdXNlUHJlc3NlZCA/IG1pbmltdW1UaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMF9zOwogCi0gICAgYXV0byBub3cgPSBzdGQ6
OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOwogICAgIGF1dG8gdGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSA9IG5vdyAt
IG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7CiAgICAgYXV0byB0aW1lU2luY2VIaWdobGlnaHRC
ZWNhbWVBY3RpdmUgPSBub3cgLSBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOwotICAg
IGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwbXMgOiBub3cgLSBt
X2xhc3RNb3VzZVVwVGltZTsKKyAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91c2VQ
cmVzc2VkID8gMF9zIDogbm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CiAKLSAgICBhdXRvIHJlbWFp
bmluZ0RlbGF5ID0gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6
Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdo
bGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VMYXN0TW91c2VVcCk7Ci0gICAgcmV0dXJuIHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHJlbWFp
bmluZ0RlbGF5KTsKKyAgICByZXR1cm4gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0
aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VMYXN0TW91c2VVcCk7CiB9
CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxp
Z2h0VGltZXJGaXJlZCgpCkBAIC03MjMsNyArNzIyLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3Rp
dmUKICAgICAgICAgLy8gaGlnaGxpZ2h0LCBhbmQgb25seSByZXNldCB0aGUgYWN0aXZlIGhpZ2hs
aWdodCBoeXN0ZXJlc2lzIHdoZW4gdGhhdCBjaGFuZ2VzLgogICAgICAgICBpZiAobV9uZXh0QWN0
aXZlSGlnaGxpZ2h0ICE9IG5ld0FjdGl2ZUhpZ2hsaWdodCkgewogICAgICAgICAgICAgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0ID0gbmV3QWN0aXZlSGlnaGxpZ2h0OwotICAgICAgICAgICAgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpOworICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IE1vbm90
b25pY1RpbWU6Om5vdygpOwogICAgICAgICB9CiAKICAgICAgICAgbV9jdXJyZW50TW91c2VEb3du
T25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwpAQCAtNzM0LDcgKzczMyw3IEBAIHZvaWQgU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1v
dXNlSXNPdmVyQWN0aXZlCiAgICAgICAgIH0KIAogICAgICAgICBhdXRvIHJlbWFpbmluZ1RpbWVV
bnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSB0aGlzLT5yZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duKG5ld0FjdGl2ZUhpZ2hsaWdodC5nZXQoKSk7Ci0gICAgICAgIGlm
IChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID4gc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSkgeworICAgICAgICBpZiAocmVtYWluaW5n
VGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA+IDBfcykgewogICAgICAgICAgICAgbV9k
ZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lci5zdGFydE9uZVNob3QocmVtYWluaW5nVGltZVVu
dGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KQEAgLTc2Niw3ICs3NjUsNyBAQCBib29sIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1v
dXNlRXZlbnQoUGFnZU92ZXJsYXkmLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbgogICAgICAgICBS
ZWZQdHI8SGlnaGxpZ2h0PiBtb3VzZURvd25IaWdobGlnaHQgPSBtX2N1cnJlbnRNb3VzZURvd25P
bkJ1dHRvbkhpZ2hsaWdodDsKICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdo
bGlnaHQgPSBudWxscHRyOwogCi0gICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0gc3RkOjpjaHJv
bm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0gTW9u
b3RvbmljVGltZTo6bm93KCk7CiAKICAgICAgICAgaWYgKG1vdXNlSXNPdmVyQWN0aXZlSGlnaGxp
Z2h0QnV0dG9uICYmIG1vdXNlRG93bkhpZ2hsaWdodCkgewogICAgICAgICAgICAgaGFuZGxlQ2xp
Y2sobV9tb3VzZVBvc2l0aW9uLCAqbW91c2VEb3duSGlnaGxpZ2h0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCmluZGV4IGU0ZTIwZDIyNzY4Yzg4
MmU5MDBiMTJiNDFmZTAyZWNkZmI0OGY2MjguLjUwNDRlYWY2MjA0YTNiYzJiOGRkZTZhZTRhODU5
OWFiNTExNmIxYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRp
Y2F0b3JXaW5kb3cubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRv
cldpbmRvdy5tbQpAQCAtNDc1LDcgKzQ3NSw3IEBAIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6
c2V0VGV4dEluZGljYXRvcihSZWY8VGV4dEluZGljYXRvcj4gdGV4dEluZGljYXRvciwgQ0dSCiAg
ICAgICAgIFttX3RleHRJbmRpY2F0b3JWaWV3IHByZXNlbnRdOwogCiAgICAgaWYgKGxpZmV0aW1l
ID09IFRleHRJbmRpY2F0b3JXaW5kb3dMaWZldGltZTo6VGVtcG9yYXJ5KQotICAgICAgICBtX3Rl
bXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNob3QodGltZUJlZm9yZUZhZGVTdGFy
dHMpOworICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcyh0aW1lQmVmb3JlRmFkZVN0YXJ0cykpOwogfQogCiB2b2lkIFRleHRJbmRpY2F0b3JX
aW5kb3c6OmNsb3NlV2luZG93KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFr
ZV9zZXR0aW5ncy5wbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFrZV9zZXR0aW5ncy5wbAppbmRl
eCBkYTMyMzRlZjc2MjRlMjQyNTljYjgwM2M5MmMzNTliNjBiODAzMmJjLi5lNDdmMzMwZjkzZDRj
NWY2NDkwNDBjYWFiMjM5YzAxMDcwNzgzOGRlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21ha2Vfc2V0dGluZ3MucGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWtlX3NldHRp
bmdzLnBsCkBAIC0zOSw2ICszOSw3IEBAIG15ICV3ZWJjb3JlVHlwZVRvSWRsVHlwZSA9ICgKICAg
ICAnZG91YmxlJyA9PiAnZG91YmxlJywKICAgICAnZmxvYXQnID0+ICdmbG9hdCcsCiAgICAgJ1N0
cmluZycgPT4gJ0RPTVN0cmluZycsCisgICAgJ1NlY29uZHMnID0+ICdkb3VibGUnLAogICAgICdi
b29sJyA9PiAnYm9vbGVhbicKICk7CiAKQEAgLTM1MSw2ICszNTIsMTIgQEAgc3ViIGVudW1lcmF0
ZVBhcnNlZEl0ZW1zKCQkJCkKICAgICB9CiB9CiAKK3N1YiBuZWVkc0N1c3RvbVNldHRlcigkKQor
eworICAgIG15ICR0eXBlID0gc2hpZnQ7CisgICAgcmV0dXJuICR0eXBlIGVxICJTZWNvbmRzIjsK
K30KKwogc3ViIGdlbmVyYXRlSW50ZXJuYWxTZXR0aW5nc0lkbEZpbGUoJCkKIHsKICAgICBteSAk
cGFyc2VkSXRlbXNSZWYgPSBzaGlmdDsKQEAgLTM3MCw3ICszNzcsOCBAQCBzdWIgZ2VuZXJhdGVJ
bnRlcm5hbFNldHRpbmdzSWRsRmlsZSgkKQogICAgICAgICBteSAkdHlwZSA9ICRwYXJzZWRJdGVt
c3skc2V0dGluZ05hbWV9eyJ0eXBlIn07CiAgICAgICAgIG15ICRpZGxUeXBlID0gJHdlYmNvcmVU
eXBlVG9JZGxUeXBleyR0eXBlfTsKICAgICAgICAgbXkgJHNldHRlckZ1bmN0aW9uTmFtZSA9IHNl
dHRlckZ1bmN0aW9uTmFtZSgkc2V0dGluZ05hbWUpOwotICAgICAgICBwcmludCAkZmlsZSAiICAg
IHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZSgkaWRsVHlwZSAkc2V0dGluZ05hbWUpO1xuIjsKKyAg
ICAgICAgbXkgJGN1c3RvbSA9IG5lZWRzQ3VzdG9tU2V0dGVyKCR0eXBlKSA/ICJbQ3VzdG9tXSIg
OiAiIjsKKyAgICAgICAgcHJpbnQgJGZpbGUgIiAgICAkY3VzdG9tIHZvaWQgJHNldHRlckZ1bmN0
aW9uTmFtZSgkaWRsVHlwZSAkc2V0dGluZ05hbWUpO1xuIjsKICAgICB9OwogCiAgICAgZW51bWVy
YXRlUGFyc2VkSXRlbXMoJGZpbGUsICRwYXJzZWRJdGVtc1JlZiwgXCZ3cml0ZUlkbFNldHRlcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDIyYWIwZWM3NjZhMmE2ZGYzNWNjY2Q4ZDczMjM3
NGUwNTdiZDBmZWQuLjUwNGE4NDRhN2MzMTY2NmM0NDk3NDczNzMwZDVlZmI4OTMyYmMzZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBBc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Nj
cm9sbChTY3IKICAgICB9CiAKICAgICBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZSA9IHNjcm9sbFVw
ZGF0ZTsKLSAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX3VwZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZVNjcm9sbFBvc2l0
aW9uQWZ0ZXJBc3luY1Njcm9sbFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCmlu
ZGV4IDRjY2Y0NDQyOWY5OWUxMDlmODc1NWI5NDYwMTI2YmJjYTdlNWI5ZWEuLmVkMWQ3ZDYxMzlm
MjA1MmI0YmQ4YTE2ODU3NTA3ZDYxMjhmMDQyYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0K
QEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVU
cmVlU3RhdGVDb21taXQoKQogICAgIGlmIChtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fc2Nyb2xsaW5nU3RhdGVU
cmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Nyb2xsaW5nU3RhdGVU
cmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5n
Q29vcmRpbmF0b3JJT1M6OmNvbW1pdFRyZWVTdGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0K
aW5kZXggZDQzZDk0YjI0N2E2ZTRmOTM5NzQxNTgyNjE5N2MyYjBhZGYwNzE0OC4uNTNmNDBkNjAx
NDRkMDk0ZjY4NTM1ZjQxMzQ4OGZjNGY5MzA4ZjY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5t
bQpAQCAtMTAzLDcgKzEwMyw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVk
dWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0
ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGluZ1N0
YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGluZ1N0
YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAppbmRleCAxYWE3ZTFiODc2M2ZmMWI0N2RmYjhl
MjEzOTQwNzY0NWViNzU1ZWIyLi4zNzk0ZjFlZjFkMDFjZjVhZTYyMTFkYmU0NTg3MTk1M2E2MzRm
MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcApA
QCAtNDEsNyArNDEsNyBAQCB2b2lkIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2soRnVu
Y3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQogICAgIG1fcGVuZGluZ1Rhc2tzLmFwcGVuZChXVEZN
b3ZlKGZ1bmN0aW9uKSk7CiAgICAgcGVuZGluZ0Rpc3BhdGNoZXJzKCkuYXBwZW5kKG1fd2Vha1B0
ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpKTsKICAgICBpZiAoIXNoYXJlZFRpbWVyKCkuaXNBY3Rp
dmUoKSkKLSAgICAgICAgc2hhcmVkVGltZXIoKS5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIHNo
YXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFRpbWVyJiBUYXNrRGlzcGF0Y2hl
cjxUaW1lcj46OnNoYXJlZFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVy
ZXNpc0FjdGl2aXR5LmgKaW5kZXggMTI4ZWY4MjA5ZTJhNzQ4MzA5ZTA2MjgyMGVkYzgyMzk4MGMw
YjJlMS4uYWQ0ZWI3N2FlNTdiZTMyYjM5Mzc4ZjM4MzA5OWI5M2Q0NThhZjc4MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKQEAgLTMwLDcgKzMwLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRI
eXN0ZXJlc2lzU2Vjb25kcyA9IDUuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIERlZmF1bHRIeXN0
ZXJlc2lzSW50ZXJ2YWwgPSA1X3M7CiAKIGVudW0gY2xhc3MgSHlzdGVyZXNpc1N0YXRlIHsKICAg
ICBTdGFydGVkLApAQCAtMzksOSArMzksOSBAQCBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0ZSB7
CiAKIGNsYXNzIEh5c3RlcmVzaXNBY3Rpdml0eSB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgSHlz
dGVyZXNpc0FjdGl2aXR5KHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBjYWxs
YmFjayA9IFtdKEh5c3RlcmVzaXNTdGF0ZSkgeyB9LCBkb3VibGUgaHlzdGVyZXNpc1NlY29uZHMg
PSBEZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMpCisgICAgZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2
aXR5KHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBjYWxsYmFjayA9IFtdKEh5
c3RlcmVzaXNTdGF0ZSkgeyB9LCBTZWNvbmRzIGh5c3RlcmVzaXNJbnRlcnZhbCA9IERlZmF1bHRI
eXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgIDogbV9jYWxsYmFjayhjYWxsYmFjaykKLSAgICAg
ICAgLCBtX2h5c3RlcmVzaXNTZWNvbmRzKGh5c3RlcmVzaXNTZWNvbmRzKQorICAgICAgICAsIG1f
aHlzdGVyZXNpc0ludGVydmFsKGh5c3RlcmVzaXNJbnRlcnZhbCkKICAgICAgICAgLCBtX2FjdGl2
ZShmYWxzZSkKICAgICAgICAgLCBtX3RpbWVyKCp0aGlzLCAmSHlzdGVyZXNpc0FjdGl2aXR5Ojpo
eXN0ZXJlc2lzVGltZXJGaXJlZCkKICAgICB7CkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgbV9hY3RpdmUgPSBmYWxzZTsKIAotICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdChtX2h5c3RlcmVzaXNTZWNvbmRzKTsKKyAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzSW50ZXJ2YWwpOwogICAgIH0KIAogICAgIHZvaWQg
aW1wdWxzZSgpCkBAIC04OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3RkOjpm
dW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91YmxlIG1f
aHlzdGVyZXNpc1NlY29uZHM7CisgICAgU2Vjb25kcyBtX2h5c3RlcmVzaXNJbnRlcnZhbDsKICAg
ICBib29sIG1fYWN0aXZlOwogICAgIFRpbWVyIG1fdGltZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhci5jcHAKaW5kZXggODgxODFkMzA1N2Y0Njg5NGRmZWI5YTk3N2E1NjcwNjYx
NjQ1MzU3Yy4uZjA5ZTk0YjA5ZjA2MTUzNWU3OThhMGQwZTgwMGUzOGJmNmQ5NDI5YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCkBAIC0xODMsNyArMTgzLDcgQEAgc3RhdGlj
IGJvb2wgdGh1bWJVbmRlck1vdXNlKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogICAgIHJldHVybiBz
Y3JvbGxiYXItPnByZXNzZWRQb3MoKSA+PSB0aHVtYlBvcyAmJiBzY3JvbGxiYXItPnByZXNzZWRQ
b3MoKSA8IHRodW1iUG9zICsgdGh1bWJMZW5ndGg7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjphdXRv
c2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxiYXI6OmF1dG9zY3Jv
bGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5n
IGZvciB0aGUgdGh1bWIgb3IgaWYgbm90aGluZyB3YXMgcHJlc3NlZC4KICAgICBpZiAobV9wcmVz
c2VkUGFydCA9PSBUaHVtYlBhcnQgfHwgbV9wcmVzc2VkUGFydCA9PSBOb1BhcnQpCkBAIC0yMDEs
NyArMjAxLDcgQEAgdm9pZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUg
ZGVsYXkpCiAgICAgICAgIHN0YXJ0VGltZXJJZk5lZWRlZChkZWxheSk7CiB9CiAKLXZvaWQgU2Ny
b2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxiYXI6
OnN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KQogewogICAgIC8vIERvbid0IGRvIGFu
eXRoaW5nIGZvciB0aGUgdGh1bWIuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0
KQpAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQo
ZG91YmxlIGRlbGF5KQogICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fc2Nyb2xs
VGltZXIuc3RhcnRPbmVTaG90KGRlbGF5KTsKKyAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKGRlbGF5KSk7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjpzdG9wVGltZXJJZk5lZWRl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCmluZGV4IGY4NmE5NjJhZmUwMmI1MjYw
MzhiZDdkNWVkZGVhOTY0YmJhNmY3MWEuLmEyMzZjN2U4ZWIxMjdhZWEzNzU2NTIzZWJlYzQxZjk5
M2E5YTVjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCkBAIC0xNDQsOSArMTQ0
LDkgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUaHVtYlByb3BvcnRpb24o
KTsKIAogICAgIHZvaWQgYXV0b3Njcm9sbFRpbWVyRmlyZWQoKTsKLSAgICB2b2lkIHN0YXJ0VGlt
ZXJJZk5lZWRlZChkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKFNl
Y29uZHMgZGVsYXkpOwogICAgIHZvaWQgc3RvcFRpbWVySWZOZWVkZWQoKTsKLSAgICB2b2lkIGF1
dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpOworICAgIHZvaWQgYXV0b3Njcm9sbFBy
ZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpOwogICAgIFNjcm9sbERpcmVjdGlvbiBwcmVzc2VkUGFy
dFNjcm9sbERpcmVjdGlvbigpOwogICAgIFNjcm9sbEdyYW51bGFyaXR5IHByZXNzZWRQYXJ0U2Ny
b2xsR3JhbnVsYXJpdHkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1l
LmgKaW5kZXggNzI1Mjk0MmIwY2FjYmE0YTBlM2EwZGZiNDc2MWRkNGE2NTc1ZWRiYy4uZmRjNWY4
ZDVkNjQ1ZGYzMmY2MDI5MWY1NDYwYmU1OTMyZGRjNDg3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0xMDUsOCArMTA1LDggQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCBpbnQgbWF4T3ZlcmxhcEJldHdlZW5QYWdlcygpIHsgcmV0dXJuIHN0ZDo6bnVtZXJp
Y19saW1pdHM8aW50Pjo6bWF4KCk7IH0KIAotICAgIHZpcnR1YWwgZG91YmxlIGluaXRpYWxBdXRv
c2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMjU7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBh
dXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMDU7IH0KKyAgICB2aXJ0dWFsIFNlY29u
ZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4yNV9zOyB9CisgICAg
dmlydHVhbCBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4wNV9zOyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWUuaAppbmRleCA1OTExOTc4YWVlYzE4ZjA4M2ZkYmY4NWYxYWYzZWQyNDE3
OTAxMTY1Li44NzM1OTQyZmI2OTA1OTY0NGM0ZmFlY2I5NDQ0MjZhZTJmZjIxNmJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RoZW1lLmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Rm9udENhc2NhZGUgc3lzdGVtRm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0
IHsgcmV0dXJuIEZvbnRDYXNjYWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUgY2Fy
ZXQgYmxpbmtzIGluIHRleHQgZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJ
bnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJl
dEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjVfczsgfQogCiAgICAgLy8gTm90aWZp
Y2F0aW9uIHdoZW4gdGhlIHRoZW1lIGhhcyBjaGFuZ2VkCiAgICAgdmlydHVhbCB2b2lkIHRoZW1l
Q2hhbmdlZCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
VGltZXJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKaW5k
ZXggZTNkNjVlYWJiZTQ1OWQzYjdhZWZkMTZkMjMxYWExMGZjZmRiY2E0NC4uOTY3ZTU4ZjBlOGJm
NTZlMGNkOWU2MDNlYjM4ZDc2YmRhYWRkZThkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRUaW1lcnMuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgor
I2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5j
bHVkZSAiV2ViQ29yZVRocmVhZC5oIgpAQCAtNDMsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAvLyBGaXJlIHRpbWVycyBmb3IgdGhpcyBsZW5ndGggb2YgdGltZSwgYW5kIHRoZW4gcXVp
dCB0byBsZXQgdGhlIHJ1biBsb29wIHByb2Nlc3MgdXNlciBpbnB1dCBldmVudHMuCiAvLyAxMDBt
cyBpcyBhYm91dCBhIHBlcmNlcHRhYmxlIGRlbGF5IGluIFVJLCBzbyB1c2UgYSBoYWxmIG9mIHRo
YXQgYXMgYSB0aHJlc2hvbGQuCiAvLyBUaGlzIGlzIHRvIHByZXZlbnQgVUkgZnJlZXplIHdoZW4g
dGhlcmUgYXJlIHRvbyBtYW55IHRpbWVycyBvciBtYWNoaW5lIHBlcmZvcm1hbmNlIGlzIGxvdy4K
LXN0YXRpYyBjb25zdCBkb3VibGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IFNlY29uZHM6
OmZyb21NaWxsaXNlY29uZHMoNTApOwogCiAvLyBUaW1lcnMgYXJlIGNyZWF0ZWQsIHN0YXJ0ZWQg
YW5kIGZpcmVkIG9uIHRoZSBzYW1lIHRocmVhZCwgYW5kIGVhY2ggdGhyZWFkIGhhcyBpdHMgb3du
IFRocmVhZFRpbWVycwogLy8gY29weSB0byBrZWVwIHRoZSBoZWFwIGFuZCBhIHNldCBvZiBjdXJy
ZW50bHkgZmlyaW5nIHRpbWVycy4KQEAgLTUxLDcgKzUyLDYgQEAgc3RhdGljIGNvbnN0IGRvdWJs
ZSBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzID0gMC4wNTA7CiBUaHJlYWRUaW1lcnM6OlRocmVh
ZFRpbWVycygpCiAgICAgOiBtX3NoYXJlZFRpbWVyKDApCiAgICAgLCBtX2ZpcmluZ1RpbWVycyhm
YWxzZSkKLSAgICAsIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUoMCkKIHsKICAgICBpZiAo
aXNVSVRocmVhZCgpKQogICAgICAgICBzZXRTaGFyZWRUaW1lcigmTWFpblRocmVhZFNoYXJlZFRp
bWVyOjpzaW5nbGV0b24oKSk7CkBAIC02NCw3ICs2NCw3IEBAIHZvaWQgVGhyZWFkVGltZXJzOjpz
ZXRTaGFyZWRUaW1lcihTaGFyZWRUaW1lciogc2hhcmVkVGltZXIpCiAgICAgaWYgKG1fc2hhcmVk
VGltZXIpIHsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c2V0RmlyZWRGdW5jdGlvbihudWxscHRy
KTsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c3RvcCgpOwotICAgICAgICBtX3BlbmRpbmdTaGFy
ZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGlt
ZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICB9CiAgICAgCiAgICAgbV9zaGFyZWRUaW1lciA9IHNo
YXJlZFRpbWVyOwpAQCAtODEsMTggKzgxLDE4IEBAIHZvaWQgVGhyZWFkVGltZXJzOjp1cGRhdGVT
aGFyZWRUaW1lcigpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgaWYgKG1fZmlyaW5n
VGltZXJzIHx8IG1fdGltZXJIZWFwLmlzRW1wdHkoKSkgewotICAgICAgICBtX3BlbmRpbmdTaGFy
ZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGlt
ZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c3RvcCgpOwogICAg
IH0gZWxzZSB7Ci0gICAgICAgIGRvdWJsZSBuZXh0RmlyZVRpbWUgPSBtX3RpbWVySGVhcC5maXJz
dCgpLT5tX25leHRGaXJlVGltZTsKLSAgICAgICAgZG91YmxlIGN1cnJlbnRNb25vdG9uaWNUaW1l
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIE1vbm90b25pY1RpbWUg
bmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7CisgICAg
ICAgIE1vbm90b25pY1RpbWUgY3VycmVudE1vbm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKICAgICAgICAgaWYgKG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUpIHsKICAgICAg
ICAgICAgIC8vIE5vIG5lZWQgdG8gcmVzdGFydCB0aGUgdGltZXIgaWYgYm90aCB0aGUgcGVuZGlu
ZyBmaXJlIHRpbWUgYW5kIHRoZSBuZXcgZmlyZSB0aW1lIGFyZSBpbiB0aGUgcGFzdC4KICAgICAg
ICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lIDw9IGN1cnJlbnRNb25vdG9u
aWNUaW1lICYmIG5leHRGaXJlVGltZSA8PSBjdXJyZW50TW9ub3RvbmljVGltZSkKICAgICAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0gCiAgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVy
RmlyZVRpbWUgPSBuZXh0RmlyZVRpbWU7Ci0gICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJ
bnRlcnZhbChTZWNvbmRzKHN0ZDo6bWF4KG5leHRGaXJlVGltZSAtIGN1cnJlbnRNb25vdG9uaWNU
aW1lLCAwLjApKSk7CisgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZhbChzdGQ6
Om1heDxTZWNvbmRzPihuZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGltZSwgMF9zKSk7
CiAgICAgfQogfQogCkBAIC0xMDMsMjUgKzEwMywyNSBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2hh
cmVkVGltZXJGaXJlZEludGVybmFsKCkKICAgICBpZiAobV9maXJpbmdUaW1lcnMpCiAgICAgICAg
IHJldHVybjsKICAgICBtX2ZpcmluZ1RpbWVycyA9IHRydWU7Ci0gICAgbV9wZW5kaW5nU2hhcmVk
VGltZXJGaXJlVGltZSA9IDA7CisgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1v
bm90b25pY1RpbWUoKTsKIAotICAgIGRvdWJsZSBmaXJlVGltZSA9IG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpOwotICAgIGRvdWJsZSB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJh
dGlvbk9mRmlyaW5nVGltZXJzOworICAgIE1vbm90b25pY1RpbWUgZmlyZVRpbWUgPSBNb25vdG9u
aWNUaW1lOjpub3coKTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVUb1F1aXQgPSBmaXJlVGltZSAr
IG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnM7CiAKICAgICB3aGlsZSAoIW1fdGltZXJIZWFwLmlz
RW1wdHkoKSAmJiBtX3RpbWVySGVhcC5maXJzdCgpLT5tX25leHRGaXJlVGltZSA8PSBmaXJlVGlt
ZSkgewogICAgICAgICBUaW1lckJhc2UqIHRpbWVyID0gbV90aW1lckhlYXAuZmlyc3QoKTsKLSAg
ICAgICAgdGltZXItPm1fbmV4dEZpcmVUaW1lID0gMDsKLSAgICAgICAgdGltZXItPm1fdW5hbGln
bmVkTmV4dEZpcmVUaW1lID0gMDsKKyAgICAgICAgdGltZXItPm1fbmV4dEZpcmVUaW1lID0gTW9u
b3RvbmljVGltZSgpOworICAgICAgICB0aW1lci0+bV91bmFsaWduZWROZXh0RmlyZVRpbWUgPSBN
b25vdG9uaWNUaW1lKCk7CiAgICAgICAgIHRpbWVyLT5oZWFwRGVsZXRlTWluKCk7CiAKLSAgICAg
ICAgZG91YmxlIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7Ci0gICAgICAgIHRp
bWVyLT5zZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogMCk7
CisgICAgICAgIFNlY29uZHMgaW50ZXJ2YWwgPSB0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsKKyAg
ICAgICAgdGltZXItPnNldE5leHRGaXJlVGltZShpbnRlcnZhbCA/IGZpcmVUaW1lICsgaW50ZXJ2
YWwgOiBNb25vdG9uaWNUaW1lKCkpOwogCiAgICAgICAgIC8vIE9uY2UgdGhlIHRpbWVyIGhhcyBi
ZWVuIGZpcmVkLCBpdCBtYXkgYmUgZGVsZXRlZCwgc28gZG8gbm90aGluZyBlbHNlIHdpdGggaXQg
YWZ0ZXIgdGhpcyBwb2ludC4KICAgICAgICAgdGltZXItPmZpcmVkKCk7CiAKICAgICAgICAgLy8g
Q2F0Y2ggdGhlIGNhc2Ugd2hlcmUgdGhlIHRpbWVyIGFza2VkIHRpbWVycyB0byBmaXJlIGluIGEg
bmVzdGVkIGV2ZW50IGxvb3AsIG9yIHdlIGFyZSBvdmVyIHRpbWUgbGltaXQuCi0gICAgICAgIGlm
ICghbV9maXJpbmdUaW1lcnMgfHwgdGltZVRvUXVpdCA8IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpKQorICAgICAgICBpZiAoIW1fZmlyaW5nVGltZXJzIHx8IHRpbWVUb1F1aXQgPCBNb25v
dG9uaWNUaW1lOjpub3coKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTM3LDcg
KzEzNyw3IEBAIHZvaWQgVGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3Ao
KQogCiAgICAgaWYgKG1fc2hhcmVkVGltZXIpIHsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+aW52
YWxpZGF0ZSgpOwotICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAg
ICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsKICAg
ICB9CiAKICAgICB1cGRhdGVTaGFyZWRUaW1lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJl
YWRUaW1lcnMuaAppbmRleCBlYWJjNGQxMjFlODI2NjYyZTlhYmIzMDRlMzgzZjE3YjFlNzI5YTk3
Li5jZjU4YzkxN2E5NWNlMzY3MmMxNmI3ZTZlYzY5MTczOWE4OTAzYTA5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBUaHJl
YWRUaW1lcnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCisjaW5jbHVkZSA8d3RmL01vbm90
b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKQEAgLTU2LDcgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBWZWN0b3I8VGltZXJCYXNlKj4gbV90aW1lckhlYXA7CiAgICAgICAgIFNoYXJlZFRpbWVyKiBt
X3NoYXJlZFRpbWVyOyAvLyBFeHRlcm5hbCBvYmplY3QsIGNhbiBiZSBhIHJ1biBsb29wIG9uIGEg
d29ya2VyIHRocmVhZC4gTm9ybWFsbHkgc2V0L3Jlc2V0IGJ5IHdvcmtlciB0aHJlYWQuCiAgICAg
ICAgIGJvb2wgbV9maXJpbmdUaW1lcnM7IC8vIFJlZW50cmFuY3kgZ3VhcmQuCi0gICAgICAgIGRv
dWJsZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lOworICAgICAgICBNb25vdG9uaWNUaW1l
IG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWU7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGltZXIuY3BwCmluZGV4IGNkNTk0ZmU3Y2M1NTg5MTI5NDc0NjM5NzZkOGQxODVmOTExMTRi
YmEuLjg4ODRhMTQ2NWY0ZDZmMjgzZGE5YjdlOTIxNTcxODc4NWRkOWY2MjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5jcHAKQEAgLTE3Miw4ICsxNzIsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhl
YXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3Qg
VGltZQogewogICAgIC8vIFRoZSBjb21wYXJpc29ucyBiZWxvdyBhcmUgImJhY2t3YXJkcyIgYmVj
YXVzZSB0aGUgaGVhcCBwdXRzIHRoZSBsYXJnZXN0IAogICAgIC8vIGVsZW1lbnQgZmlyc3QgYW5k
IHdlIHdhbnQgdGhlIGxvd2VzdCB0aW1lIHRvIGJlIHRoZSBmaXJzdCBvbmUgaW4gdGhlIGhlYXAu
Ci0gICAgZG91YmxlIGFGaXJlVGltZSA9IGEtPm1fbmV4dEZpcmVUaW1lOwotICAgIGRvdWJsZSBi
RmlyZVRpbWUgPSBiLT5tX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIGFGaXJlVGlt
ZSA9IGEtPm1fbmV4dEZpcmVUaW1lOworICAgIE1vbm90b25pY1RpbWUgYkZpcmVUaW1lID0gYi0+
bV9uZXh0RmlyZVRpbWU7CiAgICAgaWYgKGJGaXJlVGltZSAhPSBhRmlyZVRpbWUpCiAgICAgICAg
IHJldHVybiBiRmlyZVRpbWUgPCBhRmlyZVRpbWU7CiAgICAgCkBAIC0xODYsMTEgKzE4Niw4IEBA
IGlubGluZSBib29sIFRpbWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkoY29uc3Qg
VGltZXJCYXNlKiBhLCBjb25zdCBUaW1lCiAvLyAtLS0tLS0tLS0tLS0tLS0tCiAKIFRpbWVyQmFz
ZTo6VGltZXJCYXNlKCkKLSAgICA6IG1fbmV4dEZpcmVUaW1lKDApCi0gICAgLCBtX3VuYWxpZ25l
ZE5leHRGaXJlVGltZSgwKQotICAgICwgbV9yZXBlYXRJbnRlcnZhbCgwKQotICAgICwgbV9oZWFw
SW5kZXgoLTEpCi0gICAgLCBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcCgwKQorICAgIDog
bV9oZWFwSW5kZXgoLTEpCisgICAgLCBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcChudWxs
cHRyKQogI2lmbmRlZiBOREVCVUcKICAgICAsIG1fdGhyZWFkKGN1cnJlbnRUaHJlYWQoKSkKICAg
ICAsIG1fd2FzRGVsZXRlZChmYWxzZSkKQEAgLTIwNywzMiArMjA0LDMyIEBAIFRpbWVyQmFzZTo6
flRpbWVyQmFzZSgpCiAjZW5kaWYKIH0KIAotdm9pZCBUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBu
ZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpCit2b2lkIFRpbWVyQmFzZTo6
c3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKQog
ewogICAgIEFTU0VSVChjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQp
KTsKIAogICAgIG1fcmVwZWF0SW50ZXJ2YWwgPSByZXBlYXRJbnRlcnZhbDsKLSAgICBzZXROZXh0
RmlyZVRpbWUobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKyBuZXh0RmlyZUludGVydmFs
KTsKKyAgICBzZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGltZTo6bm93KCkgKyBuZXh0RmlyZUlu
dGVydmFsKTsKIH0KIAogdm9pZCBUaW1lckJhc2U6OnN0b3AoKQogewogICAgIEFTU0VSVChjYW5B
Y2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKIAotICAgIG1fcmVwZWF0
SW50ZXJ2YWwgPSAwOwotICAgIHNldE5leHRGaXJlVGltZSgwKTsKKyAgICBtX3JlcGVhdEludGVy
dmFsID0gMF9zOworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lKCkpOwogCi0gICAg
QVNTRVJUKG1fbmV4dEZpcmVUaW1lID09IDApOwotICAgIEFTU0VSVChtX3JlcGVhdEludGVydmFs
ID09IDApOworICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOworICAgIEFTU0VSVCghbV9yZXBl
YXRJbnRlcnZhbCk7CiAgICAgQVNTRVJUKCFpbkhlYXAoKSk7CiB9CiAKLWRvdWJsZSBUaW1lckJh
c2U6Om5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJhc2U6Om5leHRGaXJl
SW50ZXJ2YWwoKSBjb25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsKLSAgICBkb3VibGUg
Y3VycmVudCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIE1vbm90b25pY1Rp
bWUgY3VycmVudCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGlmIChtX25leHRGaXJlVGlt
ZSA8IGN1cnJlbnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gMF9zOwogICAg
IHJldHVybiBtX25leHRGaXJlVGltZSAtIGN1cnJlbnQ7CiB9CiAKQEAgLTI0OCwxNCArMjQ1LDE0
IEBAIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tIZWFwSW5kZXgoKSBjb25zdAogaW5saW5l
IHZvaWQgVGltZXJCYXNlOjpjaGVja0NvbnNpc3RlbmN5KCkgY29uc3QKIHsKICAgICAvLyBUaW1l
cnMgc2hvdWxkIGJlIGluIHRoZSBoZWFwIGlmIGFuZCBvbmx5IGlmIHRoZXkgaGF2ZSBhIG5vbi16
ZXJvIG5leHQgZmlyZSB0aW1lLgotICAgIEFTU0VSVChpbkhlYXAoKSA9PSAobV9uZXh0RmlyZVRp
bWUgIT0gMCkpOworICAgIEFTU0VSVChpbkhlYXAoKSA9PSAhIW1fbmV4dEZpcmVUaW1lKTsKICAg
ICBpZiAoaW5IZWFwKCkpCiAgICAgICAgIGNoZWNrSGVhcEluZGV4KCk7CiB9CiAKIHZvaWQgVGlt
ZXJCYXNlOjpoZWFwRGVjcmVhc2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAh
PSAwKTsKKyAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGNoZWNrSGVhcEluZGV4KCk7
CiAgICAgVGltZXJCYXNlKiogaGVhcERhdGEgPSB0aW1lckhlYXAoKS5kYXRhKCk7CiAgICAgcHVz
aF9oZWFwKFRpbWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhKSwgVGltZXJIZWFwSXRlcmF0b3IoaGVh
cERhdGEgKyBtX2hlYXBJbmRleCArIDEpLCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uKCkpOwpA
QCAtMjY0LDcgKzI2MSw3IEBAIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVjcmVhc2VLZXkoKQogCiBp
bmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGUoKQogewotICAgIEFTU0VSVChtX25leHRG
aXJlVGltZSA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKICAgICBoZWFwUG9w
KCk7CiAgICAgdGltZXJIZWFwKCkucmVtb3ZlTGFzdCgpOwogICAgIG1faGVhcEluZGV4ID0gLTE7
CkBAIC0yNzIsNyArMjY5LDcgQEAgaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkK
IAogdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGVNaW4oKQogewotICAgIEFTU0VSVChtX25leHRG
aXJlVGltZSA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKICAgICBoZWFwUG9w
TWluKCk7CiAgICAgdGltZXJIZWFwKCkucmVtb3ZlTGFzdCgpOwogICAgIG1faGVhcEluZGV4ID0g
LTE7CkBAIC0yODAsNyArMjc3LDcgQEAgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGVNaW4oKQog
CiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSgpCiB7Ci0gICAgQVNTRVJU
KG1fbmV4dEZpcmVUaW1lICE9IDApOworICAgIEFTU0VSVChtX25leHRGaXJlVGltZSk7CiAgICAg
aGVhcFBvcCgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogfQpAQCAtMjk2LDggKzI5Myw4IEBA
IGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcEluc2VydCgpCiBpbmxpbmUgdm9pZCBUaW1lckJh
c2U6OmhlYXBQb3AoKQogewogICAgIC8vIFRlbXBvcmFyaWx5IGZvcmNlIHRoaXMgdGltZXIgdG8g
aGF2ZSB0aGUgbWluaW11bSBrZXkgc28gd2UgY2FuIHBvcCBpdC4KLSAgICBkb3VibGUgZmlyZVRp
bWUgPSBtX25leHRGaXJlVGltZTsKLSAgICBtX25leHRGaXJlVGltZSA9IC1zdGQ6Om51bWVyaWNf
bGltaXRzPGRvdWJsZT46OmluZmluaXR5KCk7CisgICAgTW9ub3RvbmljVGltZSBmaXJlVGltZSA9
IG1fbmV4dEZpcmVUaW1lOworICAgIG1fbmV4dEZpcmVUaW1lID0gLU1vbm90b25pY1RpbWU6Omlu
ZmluaXR5KCk7CiAgICAgaGVhcERlY3JlYXNlS2V5KCk7CiAgICAgaGVhcFBvcE1pbigpOwogICAg
IG1fbmV4dEZpcmVUaW1lID0gZmlyZVRpbWU7CkBAIC0zNDcsNyArMzQ0LDcgQEAgYm9vbCBUaW1l
ckJhc2U6Omhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkgY29uc3QKICAgICByZXR1cm4gY2hpbGRIZWFw
UHJvcGVydHlIb2xkcyh0aGlzLCBoZWFwLCBjaGlsZEluZGV4MSkgJiYgY2hpbGRIZWFwUHJvcGVy
dHlIb2xkcyh0aGlzLCBoZWFwLCBjaGlsZEluZGV4Mik7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjp1
cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpCit2b2lkIFRpbWVyQmFzZTo6dXBkYXRl
SGVhcElmTmVlZGVkKE1vbm90b25pY1RpbWUgb2xkVGltZSkKIHsKICAgICBpZiAobV9uZXh0Rmly
ZVRpbWUgJiYgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzY2
LDcgKzM2Myw3IEBAIHZvaWQgVGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9s
ZFRpbWUpCiAgICAgQVNTRVJUKCFpbkhlYXAoKSB8fCBoYXNWYWxpZEhlYXBQb3NpdGlvbigpKTsK
IH0KIAotdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGltZSkKK3Zv
aWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGltZSBuZXdUaW1lKQogewog
ICAgIEFTU0VSVChjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsK
ICAgICBBU1NFUlQoIW1fd2FzRGVsZXRlZCk7CkBAIC0zNzksMTEgKzM3NiwxMSBAQCB2b2lkIFRp
bWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKGRvdWJsZSBuZXdUaW1lKQogICAgICAgICBtX2NhY2hl
ZFRocmVhZEdsb2JhbFRpbWVySGVhcCA9ICZ0aHJlYWRHbG9iYWxUaW1lckhlYXAoKTsKIAogICAg
IC8vIEtlZXAgaGVhcCB2YWxpZCB3aGlsZSBjaGFuZ2luZyB0aGUgbmV4dC1maXJlIHRpbWUuCi0g
ICAgZG91YmxlIG9sZFRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG9s
ZFRpbWUgPSBtX25leHRGaXJlVGltZTsKICAgICAvLyBEb24ndCByZWFsaWduIHplcm8tZGVsYXkg
dGltZXJzLgogICAgIGlmIChuZXdUaW1lKSB7Ci0gICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRU
aW1lID0gYWxpZ25lZEZpcmVUaW1lKHNlY29uZHNUb01TKG5ld1RpbWUpKSkKLSAgICAgICAgICAg
IG5ld1RpbWUgPSBtc1RvU2Vjb25kcyhuZXdBbGlnbmVkVGltZS52YWx1ZSgpKTsKKyAgICAgICAg
aWYgKGF1dG8gbmV3QWxpZ25lZFRpbWUgPSBhbGlnbmVkRmlyZVRpbWUobmV3VGltZSkpCisgICAg
ICAgICAgICBuZXdUaW1lID0gbmV3QWxpZ25lZFRpbWUudmFsdWUoKTsKICAgICB9CiAKICAgICBp
ZiAob2xkVGltZSAhPSBuZXdUaW1lKSB7CkBAIC00MTYsMTAgKzQxMywxMCBAQCB2b2lkIFRpbWVy
QmFzZTo6ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKQogICAgIHNldE5leHRGaXJlVGltZSht
X3VuYWxpZ25lZE5leHRGaXJlVGltZSk7CiB9CiAKLWRvdWJsZSBUaW1lckJhc2U6Om5leHRVbmFs
aWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJhc2U6Om5leHRVbmFsaWdu
ZWRGaXJlSW50ZXJ2YWwoKSBjb25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsKLSAgICBy
ZXR1cm4gc3RkOjptYXgobV91bmFsaWduZWROZXh0RmlyZVRpbWUgLSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSwgMC4wKTsKKyAgICByZXR1cm4gc3RkOjptYXgobV91bmFsaWduZWROZXh0
RmlyZVRpbWUgLSBNb25vdG9uaWNUaW1lOjpub3coKSwgMF9zKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggNTJhMTY2ZWJhMmQyMzE5ZDE1
YTFiN2VkOTA4MmI2YjE0MzNmM2IyNC4uMzBmZDIyZDk4YjAyZWVkNTE2MzBhN2I2ZjhlNWY1NjJl
OTg4N2NjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
bmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDx3dGYvTW9u
b3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CkBAIC00NywzOSArNDgsMjQg
QEAgY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIGNsYXNzIFRpbWVyQmFzZSB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
LXByb3RlY3RlZDoKLSAgICBzdGF0aWMgaW5saW5lIGRvdWJsZSBtc1RvU2Vjb25kcyhzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGR1cmF0aW9uKSB7IHJldHVybiBkdXJhdGlvbi5jb3VudCgpICog
MC4wMDE7IH0KLSAgICBzdGF0aWMgaW5saW5lIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2Vj
b25kc1RvTVMoZG91YmxlIGR1cmF0aW9uKSB7IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzKChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGR1cmF0aW9uICogMTAwMCkpOyB9
Ci0KIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBUaW1lckJhc2UoKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7Ci0K
LSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChy
ZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGlu
ZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0
aW5nKG1zVG9TZWNvbmRzKHJlcGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0
aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2
YWwudmFsdWUoKSk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4
dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0
T25lU2hvdChkb3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDApOyB9Ci0gICAgdm9p
ZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dE9uZVNob3QobXNUb1NlY29uZHMoaW50ZXJ2YWwpKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90
KFNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwudmFsdWUoKSwgMCk7IH0KKyAgICB2
b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0
SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29u
ZHMgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDBfcyk7IH0KIAogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKIAotICAgIGRvdWJs
ZSBuZXh0RmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91YmxlIG5leHRVbmFsaWduZWRGaXJl
SW50ZXJ2YWwoKSBjb25zdDsKLSAgICBkb3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJl
dHVybiBtX3JlcGVhdEludGVydmFsOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbE1TKCkgY29uc3QgeyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2
YWwoKSk7IH0KLQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsg
c2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZpcmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVu
dEZpcmVJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50Rmly
ZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YS52YWx1
ZSgpKTsgfQorICAgIFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29u
ZHMgbmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgcmVwZWF0
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3JlcGVhdEludGVydmFsOyB9CiAKLSAgICB2b2lk
IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZh
bChkZWx0YSk7IG1fcmVwZWF0SW50ZXJ2YWwgKz0gZGVsdGE7IH0KLSAgICB2b2lkIGF1Z21lbnRS
ZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRS
ZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVw
ZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEu
dmFsdWUoKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkg
eyBzZXROZXh0RmlyZVRpbWUobV9uZXh0RmlyZVRpbWUgKyBkZWx0YSk7IH0KKyAgICB2b2lkIGF1
Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwo
ZGVsdGEpOyBtX3JlcGVhdEludGVydmFsICs9IGRlbHRhOyB9CiAKICAgICB2b2lkIGRpZENoYW5n
ZUFsaWdubWVudEludGVydmFsKCk7CiAKQEAgLTg4LDE3ICs3NCwxNyBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpID0gMDsKIAotICAgIHZpcnR1YWwgc3RkOjpv
cHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPiBhbGlnbmVkRmlyZVRpbWUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcykgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CisgICAg
dmlydHVhbCBzdGQ6Om9wdGlvbmFsPE1vbm90b25pY1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25v
dG9uaWNUaW1lKSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KIAogICAgIHZvaWQgY2hl
Y2tDb25zaXN0ZW5jeSgpIGNvbnN0OwogICAgIHZvaWQgY2hlY2tIZWFwSW5kZXgoKSBjb25zdDsK
IAotICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXROZXh0Rmly
ZVRpbWUoTW9ub3RvbmljVGltZSk7CiAKICAgICBib29sIGluSGVhcCgpIGNvbnN0IHsgcmV0dXJu
IG1faGVhcEluZGV4ICE9IC0xOyB9CiAKICAgICBib29sIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkg
Y29uc3Q7Ci0gICAgdm9pZCB1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpOworICAg
IHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKE1vbm90b25pY1RpbWUgb2xkVGltZSk7CiAKICAgICB2
b2lkIGhlYXBEZWNyZWFzZUtleSgpOwogICAgIHZvaWQgaGVhcERlbGV0ZSgpOwpAQCAtMTEwLDkg
Kzk2LDkgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxUaW1lckJhc2UqPiYgdGltZXJIZWFwKCkg
Y29uc3QgeyBBU1NFUlQobV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXApOyByZXR1cm4gKm1f
Y2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwOyB9CiAKLSAgICBkb3VibGUgbV9uZXh0RmlyZVRp
bWU7IC8vIDAgaWYgaW5hY3RpdmUKLSAgICBkb3VibGUgbV91bmFsaWduZWROZXh0RmlyZVRpbWU7
IC8vIG1fbmV4dEZpcmVUaW1lIG5vdCBjb25zaWRlcmluZyBhbGlnbm1lbnQgaW50ZXJ2YWwKLSAg
ICBkb3VibGUgbV9yZXBlYXRJbnRlcnZhbDsgLy8gMCBpZiBub3QgcmVwZWF0aW5nCisgICAgTW9u
b3RvbmljVGltZSBtX25leHRGaXJlVGltZTsgLy8gMCBpZiBpbmFjdGl2ZQorICAgIE1vbm90b25p
Y1RpbWUgbV91bmFsaWduZWROZXh0RmlyZVRpbWU7IC8vIG1fbmV4dEZpcmVUaW1lIG5vdCBjb25z
aWRlcmluZyBhbGlnbm1lbnQgaW50ZXJ2YWwKKyAgICBTZWNvbmRzIG1fcmVwZWF0SW50ZXJ2YWw7
IC8vIDAgaWYgbm90IHJlcGVhdGluZwogICAgIGludCBtX2hlYXBJbmRleDsgLy8gLTEgaWYgbm90
IGluIGhlYXAKICAgICB1bnNpZ25lZCBtX2hlYXBJbnNlcnRpb25PcmRlcjsgLy8gVXNlZCB0byBr
ZWVwIG9yZGVyIGFtb25nIGVxdWFsLWZpcmUtdGltZSB0aW1lcnMKICAgICBWZWN0b3I8VGltZXJC
YXNlKj4qIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwOwpAQCAtMTU5LDE4ICsxNDUsMTgg
QEAgaW5saW5lIGJvb2wgVGltZXJCYXNlOjppc0FjdGl2ZSgpIGNvbnN0CiAjZWxzZQogICAgIEFT
U0VSVChXZWJUaHJlYWRJc0N1cnJlbnQoKSB8fCBwdGhyZWFkX21haW5fbnAoKSB8fCBtX3RocmVh
ZCA9PSBjdXJyZW50VGhyZWFkKCkpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKLSAgICByZXR1
cm4gbV9uZXh0RmlyZVRpbWU7CisgICAgcmV0dXJuICEhbV9uZXh0RmlyZVRpbWU7CiB9CiAKIGNs
YXNzIERlZmVycmFibGVPbmVTaG90VGltZXIgOiBwcm90ZWN0ZWQgVGltZXJCYXNlIHsKIHB1Ymxp
YzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+Ci0gICAgRGVmZXJyYWJs
ZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwgdm9pZCAoVGltZXJGaXJlZENs
YXNzOjoqZnVuY3Rpb24pKCksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXkpCisgICAg
RGVmZXJyYWJsZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwgdm9pZCAoVGlt
ZXJGaXJlZENsYXNzOjoqZnVuY3Rpb24pKCksIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogRGVm
ZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6OmJpbmQoZnVuY3Rpb24sICZvYmplY3QpLCBkZWxheSkK
ICAgICB7CiAgICAgfQogCi0gICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6OmZ1bmN0aW9u
PHZvaWQgKCk+IGZ1bmN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5KQorICAg
IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwg
U2Vjb25kcyBkZWxheSkKICAgICAgICAgOiBtX2Z1bmN0aW9uKFdURk1vdmUoZnVuY3Rpb24pKQog
ICAgICAgICAsIG1fZGVsYXkoZGVsYXkpCiAgICAgICAgICwgbV9zaG91bGRSZXN0YXJ0V2hlblRp
bWVyRmlyZXMoZmFsc2UpCkBAIC0yMTIsNyArMTk4LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6
ZnVuY3Rpb248dm9pZCAoKT4gbV9mdW5jdGlvbjsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbV9kZWxheTsKKyAgICBTZWNvbmRzIG1fZGVsYXk7CiAgICAgYm9vbCBtX3Nob3VsZFJl
c3RhcnRXaGVuVGltZXJGaXJlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRy
YWNrZXIuY3BwCmluZGV4IGQ0ZmNmOTYxZTAxOTE0NGEyMWZmNGQzZGMwZTE4ZjlmYzkyOGUxYTcu
LjU1MzUxNGRmMjI0MGFhZmE0YjE4ZTcxOWYxZTU4M2Y1YzkwYzhkNzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcApAQCAtNDAsNyArNDAsNyBAQCBWTm9kZVRyYWNr
ZXImIFZOb2RlVHJhY2tlcjo6c2luZ2xldG9uKCkKIFZOb2RlVHJhY2tlcjo6Vk5vZGVUcmFja2Vy
KCkKICAgICA6IG1fdm5vZGVDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQgZXZlbnQpIHsg
aWYgKGV2ZW50ID09IFJlZkNvdW50ZXJFdmVudDo6SW5jcmVtZW50KSBjaGVja1ByZXNzdXJlU3Rh
dGUoKTsgfSkKICAgICAsIG1fcHJlc3N1cmVXYXJuaW5nVGltZXIoKnRoaXMsICZWTm9kZVRyYWNr
ZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQpCi0gICAgLCBtX2xhc3RXYXJuaW5nVGltZShz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkKKyAgICAsIG1fbGFzdFdhcm5pbmdUaW1l
KE1vbm90b25pY1RpbWU6Om5vdygpKQogewogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCkBA
IC02MywyMSArNjMsMjIgQEAgdm9pZCBWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVy
RmlyZWQoKQogICAgIGlmIChtX3Zub2RlQ291bnRlci52YWx1ZSgpIDw9IG1fc29mdFZOb2RlTGlt
aXQpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGFzdFdhcm5pbmdUaW1lID0gc3RkOjpjaHJv
bm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgbV9sYXN0V2FybmluZ1RpbWUgPSBNb25vdG9u
aWNUaW1lOjpub3coKTsKICAgICB1bnNpZ25lZCB2bm9kZUNvdW50ID0gbV92bm9kZUNvdW50ZXIu
dmFsdWUoKTsKICAgICBhdXRvIGNyaXRpY2FsID0gdm5vZGVDb3VudCA+IG1faGFyZFZOb2RlTGlt
aXQgPyBDcml0aWNhbDo6WWVzIDogQ3JpdGljYWw6Ok5vOwogICAgIG1fcHJlc3N1cmVIYW5kbGVy
KGNyaXRpY2FsKTsKICAgICBMT0coTWVtb3J5UHJlc3N1cmUsICJ2bm9kZSBwcmVzc3VyZSBoYW5k
bGVyIGZyZWVkICVsdSB2bm9kZXMgb3V0IG9mICV1IChjcml0aWNhbCBwcmVzc3VyZTogJXMpIiwg
dm5vZGVDb3VudCAtIG1fdm5vZGVDb3VudGVyLnZhbHVlKCksIHZub2RlQ291bnQsIGNyaXRpY2Fs
ID09IENyaXRpY2FsOjpZZXMgPyAiWWVzIiA6ICJObyIpOwogfQogCi1zdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29u
c3QKK1NlY29uZHMgVk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBj
b25zdAogewogICAgIC8vIFdlIHJ1biB0aGUgdm5vZGUgcHJlc3N1cmUgaGFuZGxlciBldmVyeSAz
MCBzZWNvbmRzIGF0IG1vc3QuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gbWluaW11bVdhcm5pbmdJ
bnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMzAgfTsKLSAgICBhdXRvIHRpbWVTaW5j
ZUxhc3RXYXJuaW5nID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX2xhc3RX
YXJuaW5nVGltZTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtV2FybmluZ0ludGVy
dmFsID0gMzBfczsKKyAgICBhdXRvIHRpbWVTaW5jZUxhc3RXYXJuaW5nID0gTW9ub3RvbmljVGlt
ZTo6bm93KCkgLSBtX2xhc3RXYXJuaW5nVGltZTsKICAgICBpZiAodGltZVNpbmNlTGFzdFdhcm5p
bmcgPCBtaW5pbXVtV2FybmluZ0ludGVydmFsKQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86
OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4obWluaW11bVdhcm5pbmdJ
bnRlcnZhbCAtIHRpbWVTaW5jZUxhc3RXYXJuaW5nKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAgICAgcmV0dXJuIG1pbmltdW1XYXJuaW5nSW50ZXJ2
YWwgLSB0aW1lU2luY2VMYXN0V2FybmluZzsKKworICAgIHJldHVybiAwX3M7CiB9CiAKICNpZiAh
UExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9k
ZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oCmluZGV4
IDFiMDExMGU4M2U3YTE2ZGE5NjQ4MDEzMDg1YWJmZTE4MjYwZjRhMjQuLjA0ZmIzNzk1ZDY1Yzc4
NzUyOTNiOWM3YmRkZjM4NzAxNTNlYTFmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1ZOb2RlVHJhY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2Rl
VHJhY2tlci5oCkBAIC01Myw3ICs1Myw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNoZWNrUHJl
c3N1cmVTdGF0ZSgpOwogICAgIHZvaWQgcHJlc3N1cmVXYXJuaW5nVGltZXJGaXJlZCgpOwotICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkg
Y29uc3Q7CisgICAgU2Vjb25kcyBuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdDsK
IAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CiAKQEAgLTYyLDcgKzYyLDcgQEAgcHJp
dmF0ZToKICAgICBQcmVzc3VyZUhhbmRsZXIgbV9wcmVzc3VyZUhhbmRsZXI7CiAgICAgVk5vZGVD
b3VudGVyIG1fdm5vZGVDb3VudGVyOwogICAgIFRpbWVyIG1fcHJlc3N1cmVXYXJuaW5nVGltZXI7
Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RXYXJuaW5n
VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFdhcm5pbmdUaW1lOwogfTsKIAogaW5saW5l
IHZvaWQgVk5vZGVUcmFja2VyOjpzZXRQcmVzc3VyZUhhbmRsZXIoUHJlc3N1cmVIYW5kbGVyIGhh
bmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9y
bU1lZGlhU2Vzc2lvbi5jcHAKaW5kZXggMTY3NjY5YTIwNjA4NDhjYzY4MTJjZjQ2ZTQ3Nzg2NTk4
ZTExNDNlOC4uMmZiYjczNzFiOTg1YzQzODhkNGM0MGM3OTM2ODE2MTVlYjg5OTk0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0
IGRvdWJsZSBrQ2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSA9IDAuMTsKK2Nv
bnN0IFNlY29uZHMga0NsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVsYXkgPSAwLjFf
czsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBjb25zdCBjaGFyKiBzdGF0ZU5hbWUoUGxh
dGZvcm1NZWRpYVNlc3Npb246OlN0YXRlIHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXggY2Q2ZmRiZTIwOTdiYmE1NzQ0
ZDgxZmE4OGU0NzA5NGFjYTI2MjcwYy4uODA5OGNmODlhY2QwMjEwZGZhOTA0MTZiYmFlZjFlMDhl
NThmMjIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxD
b250cm9sbGVyLm1tCkBAIC03Niw3ICs3Niw3IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBydWJiZXJi
YW5kTWluaW11bVJlcXVpcmVkRGVsdGFCZWZvcmVTdHJldGNoID0gMTA7CiAKICNpZiBFTkFCTEUo
Q1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9STShNQUMpCiBzdGF0aWMgY29uc3QgZmxvYXQgaW5l
cnRpYWxTY3JvbGxQcmVkaWN0aW9uRmFjdG9yID0gMTYuNzsKLXN0YXRpYyBjb25zdCBkb3VibGUg
c3RhdGVsZXNzU2Nyb2xsU25hcERlbGF5ID0gMC41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3Rh
dGVsZXNzU2Nyb2xsU25hcERlbGF5ID0gU2Vjb25kcygwLjUpOwogI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShNQUMpCkBAIC00MjEsNyArNDIxLDcgQEAgYm9vbCBTY3JvbGxDb250cm9sbGVyOjppc1Nj
cm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRT
bmFwUnViYmVyYmFuZFRpbWVyKCkKIHsKICAgICBtX2NsaWVudC5zdGFydFNuYXBSdWJiZXJiYW5k
VGltZXIoKTsKLSAgICBtX3NuYXBSdWJiZXJiYW5kVGltZXIuc3RhcnRSZXBlYXRpbmcoMS4wIC8g
NjAuMCk7CisgICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMo
MS4wIC8gNjApKTsKIAogICAgIG1fY2xpZW50LmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnBy
ZXRfY2FzdDxXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4o
dGhpcyksIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6UnViYmVyYmFuZEluUHJvZ3Jlc3MpOwogfQpA
QCAtNjM0LDcgKzYzNCw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFw
VGltZXIoKQogewogICAgIGlmICghbV9zY3JvbGxTbmFwVGltZXIuaXNBY3RpdmUoKSkgewogICAg
ICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgICAgICBtX3Njcm9sbFNu
YXBUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICAgICAgbV9zY3JvbGxTbmFw
VGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAgLyA2MCkpOwogICAgIH0KIAogICAgIGlm
ICghbV9zY3JvbGxTbmFwVGltZXIuaXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVy
R2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4IDZhNTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5Yzdk
OGEyYTlkOTAuLmU0YzQyMjE2MjNlMWM4MDA4NTdiMGVhNmM2NTBlZGVmZGNmYTQ0MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xs
ZXJHYW1lcGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBA
QCBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxl
ckRpZERpc2Nvbm5lY3ROb3RpZmljYXRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkg
PSAxNm1zOworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2
X21zOwogCiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1l
cGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhh
NzlhMDUwZDE4YWE4NzA4OWU5NThlODEyMTRlMWNkZmIxNGViLi4xYzZiNWQ4M2E4YTkwMzQ4MzUw
OTQyNTEzMTMyNmU5Y2Y5YTczMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5l
Y3Rpb25EZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlm
aWNhdGlvbkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxh
eUludGVydmFsID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlv
bkRlbGF5ID0gMC4wNV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2
aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2Up
CiB7CkBAIC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFk
ZGVkKElPSElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQg
dG8gdGVsbCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAgICAgICAvLyBUaGUgbV9j
b25uZWN0aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQgc3BpbiBvZiB0aGUgcnVu
bG9vcCBhZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlvbiBldmVudHMgYXJlIGFj
dHVhbCBuZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAKICAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAgd2FzIGFkZGVkIHdoaWxlIHN1
cHByZXNzaW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUgYW4gJ2FscmVhZHkgY29ubmVj
dGVkJyBldmVudCIsIGRldmljZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmNwcAppbmRleCAzZGJhNTYyM2JhZGZiYmNkYzg4MjJlMzdiZmQy
ZGRkZTc2NDFkNTdjLi44NGZlNTY0M2M3MDBjMjc5N2FjNTYxYmZiZTQ4M2MwZjVlNWE1NDhmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3Bw
CkBAIC0yMjEsNyArMjIxLDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6Y2xlYXJUaW1lcigpCiAgICAg
bV9mcmFtZVRpbWVyID0gbnVsbHB0cjsKIH0KIAotdm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1l
cihkb3VibGUgZGVsYXkpCit2b2lkIEJpdG1hcEltYWdlOjpzdGFydFRpbWVyKFNlY29uZHMgZGVs
YXkpCiB7CiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwogICAgIG1fZnJhbWVUaW1lciA9IHN0
ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmQml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRp
b24pOwpAQCAtMjg1LDcgKzI4NSw3IEBAIEJpdG1hcEltYWdlOjpTdGFydEFuaW1hdGlvblJlc3Vs
dCBCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1hdGlvbigpCiAgICAgfQogCiAgICAgQVNT
RVJUKCFtX2ZyYW1lVGltZXIpOwotICAgIHN0YXJ0VGltZXIobV9kZXNpcmVkRnJhbWVTdGFydFRp
bWUgLSB0aW1lKTsKKyAgICBzdGFydFRpbWVyKFNlY29uZHMobV9kZXNpcmVkRnJhbWVTdGFydFRp
bWUgLSB0aW1lKSk7CiAgICAgcmV0dXJuIFN0YXJ0QW5pbWF0aW9uUmVzdWx0OjpTdGFydGVkOwog
fQogCkBAIC0yOTksNyArMjk5LDcgQEAgdm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlv
bigpCiAgICAgICAgIGRvdWJsZSB0aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7
CiAgICAgICAgIC8vIFN0YXJ0IGEgdGltZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRpbWUgZnJvbSBu
b3cgdGlsbCB0aGUgbV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lLgogICAgICAgICBpZiAobV9kZXNp
cmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lKSkgewotICAgICAgICAgICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZURl
Y29kZVRpbWVGb3JUZXN0aW5nIC0gdGltZSk7CisgICAgICAgICAgICBzdGFydFRpbWVyKFNlY29u
ZHMobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IGUwMjNjYjhmMThkZWQ5OGJjOWRkOTRmMmZh
YWY3OGZiOGI2M2E2NzQuLjg0MGUyYmQ3MTIyMzZhMzMzOGI5ODlhYTBkOTE5MzlmYTMxZjU2MzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApA
QCAtMTg1LDcgKzE4NSw3IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNsZWFy
VGltZXIoKTsKLSAgICB2b2lkIHN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0
YXJ0VGltZXIoU2Vjb25kcyBkZWxheSk7CiAgICAgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29u
c3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDAzYTc4ZTdhZmE4ZTQxZTVlZTQ1OWNmMTVkYzdmYWUwNmM2MWI2MGMu
LmY1NjI5ZDhhZjY2MzNlY2UwNGNhNTljZjgyYmM3NGRkYTQzN2Q0OTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcApAQCAtMzI5LDcgKzMyOSw3
IEBAIGNvbnN0IHVuc2lnbmVkIGNUYXJnZXRVbmRlck1lbW9yeVByZXNzdXJlSW5hY3RpdmVGb250
RGF0YSA9IDMwOwogUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6Zm9udEZvckZhbWlseShjb25zdCBG
b250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1p
bHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZv
bnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBib29sIGNoZWNraW5n
QWx0ZXJuYXRlTmFtZSkKIHsKICAgICBpZiAoIW1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBtcyk7CisgICAgICAgIG1fcHVyZ2VUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIEZvbnRQbGF0Zm9ybURhdGEqIHBsYXRmb3JtRGF0
YSA9IGdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2NyaXB0aW9uLCBmYW1pbHksIGZv
bnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBjaGVja2luZ0FsdGVybmF0
ZU5hbWUpOwogICAgIGlmICghcGxhdGZvcm1EYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNw
cAppbmRleCA0OTMxNjg2YjMxNTEyNzcxNjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li41ZTA3YzVm
NzdmMzBiMTk2NmEyZDFmZGNlNTBhMjE5M2YwMTJlYWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyLmNwcApAQCAtMzMsNyArMzMsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBjb25zdCBkb3VibGUgcGVuZGluZ0FjdGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDAuMV9zOwogCiBNZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVudCYgY2xp
ZW50KQogICAgIDogbV9jbGllbnQoJmNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCAwZGM4OGM3ZDkzNGQxNGEzZjQ0Y2Q4
MDc0ZDJmOGJiZGRmMzYzNjczLi5lM2M5NzhhZTNiY2U1YjE2MDE4ODQ1NmE1YjU1OGFjZmJhZTk1
ODgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCkBAIC0xMDk4LDcgKzEwOTgsNyBAQCB2b2lkIE1lZGlhUGxheWVyOjpuZXR3b3JrU3Rh
dGVDaGFuZ2VkKCkKICAgICBpZiAobV9wcml2YXRlLT5uZXR3b3JrU3RhdGUoKSA+PSBGb3JtYXRF
cnJvciAmJiBtX3ByaXZhdGUtPnJlYWR5U3RhdGUoKSA8IEhhdmVNZXRhZGF0YSkgewogICAgICAg
ICBtX2NsaWVudC5tZWRpYVBsYXllckVuZ2luZUZhaWxlZFRvTG9hZCgpOwogICAgICAgICBpZiAo
aW5zdGFsbGVkTWVkaWFFbmdpbmVzKCkuc2l6ZSgpID4gMSAmJiAobV9jb250ZW50TUlNRVR5cGUu
aXNFbXB0eSgpIHx8IG5leHRCZXN0TWVkaWFFbmdpbmUobV9jdXJyZW50TWVkaWFFbmdpbmUpKSkg
ewotICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAg
ICBtX3JlbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvU2hhZG93Qmx1ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
aGFkb3dCbHVyLmNwcAppbmRleCAzMjljYTEwMDliY2E4ZGExYThjZTEwMTE4MjAzNTBmZmU5OTRh
M2Y5Li5lYmJmMzA3YWRjNTc2OWMyZWE2NzZjOTEzZTA4MDk4NDIwMTYxNTNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcApAQCAtMTI0LDcg
KzEyNCw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKG1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQog
ICAgICAgICAgICAgbV9wdXJnZVRpbWVyLnN0b3AoKTsKIAotICAgICAgICBjb25zdCBkb3VibGUg
c2NyYXRjaEJ1ZmZlclB1cmdlSW50ZXJ2YWwgPSAyOworICAgICAgICBjb25zdCBTZWNvbmRzIHNj
cmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMl9zOwogICAgICAgICBtX3B1cmdlVGltZXIuc3Rh
cnRPbmVTaG90KHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsKTsKICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVk
aWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KaW5kZXggNmVl
OGJjNGVmYjMxN2FiZjE2NjM0YTRjMjkzNTRlYjg1YzQ5YWU2ZC4uOGRlZTA5Y2UwODZhZGFmNWJl
MjdjMjAwOGFjYjI1ZGQ4OTJjMzVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQy5tbQpAQCAtMTY2LDcgKzE2Niw3IEBAIHZvaWQgTWVkaWFTZWxl
Y3Rpb25Hcm91cEFWRk9iakM6OnVwZGF0ZU9wdGlvbnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGNo
YXJhY3RlcmlzCiAKICAgICBBU1NFUlQobV9vcHRpb25zLmNvbnRhaW5zKHByZWZlcnJlZE9wdGlv
bikpOwogICAgIG1fc2VsZWN0ZWRPcHRpb24gPSBtX29wdGlvbnMuZ2V0KHByZWZlcnJlZE9wdGlv
bik7Ci0gICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZWxlY3Rp
b25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3Vw
QVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24oTWVkaWFTZWxlY3Rpb25PcHRpb25BVkZPYmpDKiBv
cHRpb24pCkBAIC0xNzgsNyArMTc4LDcgQEAgdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qzo6c2V0U2VsZWN0ZWRPcHRpb24oTWVkaWFTZWxlY3Rpb25PcHRpb25BVkZPYmpDKgogICAgIG1f
c2VsZWN0ZWRPcHRpb24gPSBvcHRpb247CiAgICAgaWYgKG1fc2VsZWN0aW9uVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgbV9zZWxlY3Rpb25UaW1lci5zdG9wKCk7Ci0gICAgbV9zZWxlY3Rpb25U
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2VsZWN0aW9uVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggZmYyOTk0ZmJhNjRhNzk4
NjM2M2QyODNlZDRmNTI4ZGQ4ZTEzNjU2MS4uNGZlMGY2MDE0MWY0YzNlNTc5MGI2NjdkZDZmYjZi
NjJiNjgwMjcyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMjI4LDcgKzIyOCw3
IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzdXBwb3J0c1R5cGUoY29uCiAgICAgICAgIG91dHB1dENvZGVjcyA9IFtnZXRB
VlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIG91dHB1dE1JTUVDb2RlY1BhcmFtZXRlckZvcklucHV0
TUlNRUNvZGVjUGFyYW1ldGVyOm91dHB1dENvZGVjc107CiAKICAgICBOU1N0cmluZyAqdHlwZVN0
cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiJUA7IGNvZGVjcz1cIiVAXCIiLCAo
TlNTdHJpbmcgKilwYXJhbWV0ZXJzLnR5cGUsIChOU1N0cmluZyAqKW91dHB1dENvZGVjc107Ci0g
ICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xhc3MoKSBpc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlw
ZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVyOjpJc1N1cHBvcnRlZCA6IE1lZGlhUGxheWVyOjpN
YXlCZVN1cHBvcnRlZDs7CisgICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xhc3MoKSBpc1BsYXlh
YmxlRXh0ZW5kZWRNSU1FVHlwZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVyOjpJc1N1cHBvcnRl
ZCA6IE1lZGlhUGxheWVyOjpNYXlCZVN1cHBvcnRlZDsKIH0KIAogI3ByYWdtYSBtYXJrIC0KQEAg
LTM5Niw3ICszOTYsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla1dpdGhUb2xlcmFuY2UoY29uc3QgTWVkaWFUaW1lJiB0aQogCiAgICAgaWYgKG1fc2Vl
a1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2Vla1RpbWVyLnN0b3AoKTsKLSAgICBtX3Nl
ZWtUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVr
SW50ZXJuYWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvTGF5ZXJQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xh
eWVyUG9vbC5jcHAKaW5kZXggMGNmN2Y3N2U2MTFhZDJiZDRlYjA3MjM1MDAxOGFkYzRiY2RiODQ1
Zi4uMGNjNGZhYzU4YTMwNDJhYjY2ODRjZTE2YmU3MGQ0YzI1MGFmOTdhNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCkBAIC0xMTAs
NyArMTEwLDcgQEAgdm9pZCBMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUoKQogewogICAgIGlmICht
X3BydW5lVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fcHJ1bmVUaW1l
ci5zdGFydE9uZVNob3QoMSk7CisgICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwog
fQogCiB2b2lkIExheWVyUG9vbDo6cHJ1bmVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcAppbmRleCAz
OGE0ZDI4NTUyNmM0ZjJjMmRmNzY3ODM1MWFkMzEwYTczNzg2MWYzLi4yNjU3N2M5M2JlODA0ODMz
NTMzMjFjODFlYWQ0YTYxNmZhZDFkODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCkBAIC00OSw3ICs0OSw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8gdGlsZVNpemVVcGRh
dGVEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyA1MDAgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRpbGVTaXplVXBkYXRlRGVsYXkgPSAwLjVfczsKIAogU3RyaW5nIFRpbGVDb250
cm9sbGVyOjp0aWxlR3JpZENvbnRhaW5lckxheWVyTmFtZSgpCiB7CkBAIC0yNjYsNyArMjY2LDcg
QEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRvdyhib29sIGlzSW5XaW5kb3cpCiAg
ICAgaWYgKG1faXNJbldpbmRvdykKICAgICAgICAgc2V0TmVlZHNSZXZhbGlkYXRlVGlsZXMoKTsK
ICAgICBlbHNlIHsKLSAgICAgICAgY29uc3QgZG91YmxlIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0
ID0gNDsKKyAgICAgICAgY29uc3QgU2Vjb25kcyB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCA9IDRf
czsKICAgICAgICAgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKHRpbGVSZXZhbGlkYXRpb25UaW1l
b3V0KTsKICAgICB9CiB9CkBAIC00NTYsNyArNDU2LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6
YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxv
YXQKICNlbmRpZgogfQogCi12b2lkIFRpbGVDb250cm9sbGVyOjpzY2hlZHVsZVRpbGVSZXZhbGlk
YXRpb24oZG91YmxlIGludGVydmFsKQordm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxl
UmV2YWxpZGF0aW9uKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGlsZVJldmFsaWRh
dGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV90aWxlUmV2YWxpZGF0aW9uVGltZXIubmV4dEZpcmVJ
bnRlcnZhbCgpIDwgaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCmluZGV4IDhjODRj
N2NjOTI3NjZjNDZmOTc1OTExNzExZjg5N2JkZWJiMThkYTguLjhjYWU0NDc3ODNmYmQwZDQ3ZGU0
NWZjODVjYWRlN2RiODMxNjY5ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaApAQCAtMTM0LDcgKzEzNCw3IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgVGlsZUdyaWQmIHRpbGVHcmlkKCkgeyByZXR1cm4gKm1fdGlsZUdy
aWQ7IH0KIAotICAgIHZvaWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZh
bCk7CisgICAgdm9pZCBzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24oU2Vjb25kcyBpbnRlcnZhbCk7
CiAKICAgICBib29sIGlzSW5XaW5kb3coKSBjb25zdCB7IHJldHVybiBtX2lzSW5XaW5kb3c7IH0K
ICAgICBmbG9hdCB0b3BDb250ZW50SW5zZXQoKSBjb25zdCB7IHJldHVybiBtX3RvcENvbnRlbnRJ
bnNldDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvdmVyYWdlTWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVDb3ZlcmFnZU1hcC5jcHAKaW5kZXggNzkyMzk2N2VmNTc1ZmFkMWJiMzJmMWFmMDNjOTg5
OGZmYmIxNzE1Yy4uMzFkNmE1ODhlODkzZTc3ZmJmNGM0MzA3OTk0NTlkZDg0NjBiOWIxNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdl
TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292
ZXJhZ2VNYXAuY3BwCkBAIC03OSw3ICs3OSw3IEBAIFRpbGVDb3ZlcmFnZU1hcDo6flRpbGVDb3Zl
cmFnZU1hcCgpCiB2b2lkIFRpbGVDb3ZlcmFnZU1hcDo6c2V0TmVlZHNVcGRhdGUoKQogewogICAg
IGlmICghbV91cGRhdGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnVwZGF0ZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCmluZGV4IDI4ZjI5
Y2JkZThlMjFmNzE4MDFiODg2MjI3OTU2MWVmOTIyZmExYzEuLmY1YWMwYjQwYzM1MmE3MTc5NzEy
YzNmNjcxNmU1ODBhYzlkYzk5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lkIFRpbGVHcmlk
OjpyZXZhbGlkYXRlVGlsZXMoVGlsZVZhbGlkYXRpb25Qb2xpY3kgdmFsaWRhdGlvblBvbGljeSkK
ICAgICBUaWxlQ29ob3J0IGN1cnJDb2hvcnQgPSBuZXh0VGlsZUNvaG9ydCgpOwogICAgIHVuc2ln
bmVkIHRpbGVzSW5Db2hvcnQgPSAwOwogCi0gICAgZG91YmxlIG1pbmltdW1SZXZhbGlkYXRpb25U
aW1lckR1cmF0aW9uID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjptYXgoKTsKKyAgICBT
ZWNvbmRzIG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uID0gU2Vjb25kczo6aW5maW5p
dHkoKTsKICAgICBib29sIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IGZhbHNlOwogICAgIAogICAg
IGF1dG8gdGlsZVNpemUgPSBtX2NvbnRyb2xsZXIudGlsZVNpemUoKTsKQEAgLTM4MSw4ICszODEs
OCBAQCB2b2lkIFRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMoVGlsZVZhbGlkYXRpb25Qb2xpY3kg
dmFsaWRhdGlvblBvbGljeSkKICAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIGNvaG9ydCA6IG1f
Y29ob3J0TGlzdCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoY29ob3J0LmNvaG9ydCAhPSB0
aWxlSW5mby5jb2hvcnQpCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgICAgICAgICAgZG91YmxlIHRpbWVVbnRpbENvaG9ydEV4cGlyZXMgPSBjb2hvcnQudGlt
ZVVudGlsRXhwaXJhdGlvbigpOwotICAgICAgICAgICAgICAgICAgICBpZiAodGltZVVudGlsQ29o
b3J0RXhwaXJlcyA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgU2Vjb25kcyB0aW1lVW50aWxD
b2hvcnRFeHBpcmVzID0gY29ob3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHRpbWVVbnRpbENvaG9ydEV4cGlyZXMgPiAwX3MpIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgIG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uID0gc3RkOjptaW4o
bWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24sIHRpbWVVbnRpbENvaG9ydEV4cGlyZXMp
OwogICAgICAgICAgICAgICAgICAgICAgICAgbmVlZHNUaWxlUmV2YWxpZGF0aW9uID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCkBAIC00NzgsNyArNDc4LDcgQEAgVGlsZUdyaWQ6
OlRpbGVDb2hvcnQgVGlsZUdyaWQ6Om5leHRUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxl
R3JpZDo6c3RhcnRlZE5ld0NvaG9ydChUaWxlQ29ob3J0IGNvaG9ydCkKIHsKLSAgICBtX2NvaG9y
dExpc3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9ydCwgbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkpKTsKKyAgICBtX2NvaG9ydExpc3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9y
dCwgTW9ub3RvbmljVGltZTo6bm93KCkpKTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKCFt
X2NvbnRyb2xsZXIuaXNJbldpbmRvdygpKQogICAgICAgICB0aWxlQ29udHJvbGxlck1lbW9yeUhh
bmRsZXIoKS50aWxlQ29udHJvbGxlckdhaW5lZFVucGFyZW50ZWRUaWxlcygmbV9jb250cm9sbGVy
KTsKQEAgLTQ5NywxNyArNDk3LDE3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpv
bGRlc3RUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3JpZDo6c2NoZWR1bGVDb2hvcnRS
ZW1vdmFsKCkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyA9
IDE7CisgICAgY29uc3QgU2Vjb25kcyBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzID0gMV9zOwog
CiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5v
dyBpZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIu
aXNBY3RpdmUoKSkKICAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmco
Y29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyk7CiB9CiAKLWRvdWJsZSBUaWxlR3JpZDo6VGlsZUNv
aG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3JpZDo6VGlsZUNv
aG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBjb2hvcnRMaWZl
VGltZVNlY29uZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAgY29uc3QgU2Vj
b25kcyBjb2hvcnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3RvbmljVGltZSB0aW1l
VGhyZXNob2xkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGltZTsKICAgICBy
ZXR1cm4gY3JlYXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4LDcgKzUxOCw3
IEBAIHZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2Nv
aG9ydExpc3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7CisgICAgd2hpbGUg
KCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgpLnRpbWVVbnRp
bEV4cGlyYXRpb24oKSA8IDBfcykgewogICAgICAgICBUaWxlQ29ob3J0SW5mbyBmaXJzdENvaG9y
dCA9IG1fY29ob3J0TGlzdC50YWtlRmlyc3QoKTsKICAgICAgICAgcmVtb3ZlVGlsZXNJbkNvaG9y
dChmaXJzdENvaG9ydC5jb2hvcnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIzYzc1NWQ4Nzgy
YzQyYWEwZGU1NzY1MWQuLjQyNjkzNzc0YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVlOThhZTBjNGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlk
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaApA
QCAtMTIxLDEzICsxMjEsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBUaWxlQ29ob3J0SW5m
byB7CiAgICAgICAgIFRpbGVDb2hvcnQgY29ob3J0OwotICAgICAgICBkb3VibGUgY3JlYXRpb25U
aW1lOyAvLyBpbiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAgICAgVGlsZUNv
aG9ydEluZm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgZG91YmxlIGluVGltZSkKKyAgICAgICAgTW9u
b3RvbmljVGltZSBjcmVhdGlvblRpbWU7CisgICAgICAgIFRpbGVDb2hvcnRJbmZvKFRpbGVDb2hv
cnQgaW5Db2hvcnQsIE1vbm90b25pY1RpbWUgaW5UaW1lKQogICAgICAgICAgICAgOiBjb2hvcnQo
aW5Db2hvcnQpCiAgICAgICAgICAgICAsIGNyZWF0aW9uVGltZShpblRpbWUpCiAgICAgICAgIHsg
fQogCi0gICAgICAgIGRvdWJsZSB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAgIFNlY29u
ZHMgdGltZVVudGlsRXhwaXJhdGlvbigpOwogICAgIH07CiAKICAgICB2b2lkIHJlbW92ZUFsbFRp
bGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9J
T1N1cmZhY2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lP
U3VyZmFjZVBvb2wuY3BwCmluZGV4IGI4MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVjM2E4YTBmZTBi
ZmYxNDguLmY5NGY0YTE0NzA0NzcyZTg4MjFkYWJmNjEzZTM4NzQwM2U5MzJhY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wu
Y3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGNvbGxl
Y3Rpb25JbnRlcnZhbCA9IDUwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3VyZmFj
ZUFnZUJlZm9yZU1hcmtpbmdQdXJnZWFibGUgPSAyczsKK2NvbnN0IFNlY29uZHMgY29sbGVjdGlv
bkludGVydmFsID0gMC41X3M7Citjb25zdCBTZWNvbmRzIHN1cmZhY2VBZ2VCZWZvcmVNYXJraW5n
UHVyZ2VhYmxlID0gMl9zOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0ZXNDYWNoZWQg
PSAxMDI0ICogMTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3JlIHRoYW4gMS8y
IG9mIHRoZSBjYWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMsIGJlY2F1c2UK
QEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3RJblVzZVN1cmZh
Y2VzKCkKIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUoKQog
ewogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1dG8gbWFya1RpbWUg
PSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG1hcmtUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZhY2VBbmREZXRhaWxz
IDogbV9zdXJmYWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFuZERldGFpbHMudmFs
dWUuaGFzTWFya2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3YzU0Njk2ZDdiNWI1
NjM5NWYzZjNlMmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgyMDA2ZWJjOTRmZTEw
OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3Vy
ZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1
cmZhY2VQb29sLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIDogaGFz
TWFya2VkUHVyZ2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAgICB2b2lkIHJlc2V0
TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
bm93KCk7IH0KKyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0VXNlVGltZSA9
IE1vbm90b25pY1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9j
bG9jazo6dGltZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBsYXN0
VXNlVGltZTsKICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAgICAgfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNo
ZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJp
bWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0MDhiNGU4MzYzZjQ4
ZTNlZDIzMGZmZDc2Li5hYmZjZWFhNDZmMjZkNDA5MDEyN2I3MGNjNTg3NDA1Nzc4YmQwNTE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNh
Y2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVDbGVhckRlbGF5
ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzdWJp
bWFnZUNhY2hlQ2xlYXJEZWxheSA9IDFfczsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3ViaW1hZ2VD
YWNoZVNpemUgPSAzMDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZWFkZGRkYThkYzQ2
NDk1NmQ1NDA1MmUwNWFkYTc3MDZkNDgzZjkxLi45OTNiZTU5ODY2Zjc2OTZhNmE5NTFmNzNmN2Rk
OTI0ZDcwZjFhN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmNwcApAQCAtMzY3LDcgKzM2Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChu
ZXdTdGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3Rp
dmUoKSkgewogICAgICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRo
ZSBSRUFEWSBzdGF0ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3Rz
LgotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7
CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjBf
czsKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRp
bWVyRGVsYXkpOwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQog
ICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1OCw3IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZygp
CiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5hYmxpbmcg
b24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxpbmUuZ2V0
KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAgICAgbV9m
aWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIuc3RhcnRS
ZXBlYXRpbmcoMC4yX3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygiRGlzYWJs
aW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVsaW5l
LmdldCgpLCAiZmxhZ3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4
IDk2OTM2OWEzNWU3OTcxNTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLmJlY2VmMjEzZmVmNDcx
OWYzZWYwOTNjYTJjODk5ZTE0NjkzODE3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBs
ZSogc2FtcGxlKQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKICAgICBp
ZiAoIW1fcGxheWVyLT5jbGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdF
bmFibGVkKCkpIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAg
ICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRl
eCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzUsNyArNjc1LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNh
bXBsZSkKICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAgTG9ja0hv
bGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBt
X2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIxYjE1MjFj
MDQxZjZiNzI3OTkyOC4uY2NjNjk0MTk5ZDE1YWQ4NTE3MDllYTdlOGZiNTJmNDM0YzY0MDVhOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1Zp
ZGVvU2lua0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCBw
dWJsaWM6CiAgICAgICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAgIG1fc2lu
ayA9IHNpbms7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2FpdChtX3Nh
bXBsZU11dGV4KTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtp
dC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclBy
aXZhdGVRVEtpdC5tbQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYwYzFlZjJm
YjRmLi4xOTgyMzUxOTJmYTJiODEzZWRjNGY1ZjdlOGNmZjdiMmQ2MWZjNDhkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRl
UVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlh
UGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVRVEtpdDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBpZiAobWF4
TWVkaWFUaW1lU2Vla2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7CiAgICAg
ZWxzZSAKLSAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAgIG1fc2Vl
a1RpbWVyLnN0YXJ0KDBfcywgMC41X3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFU
S2l0Ojpkb1NlZWsoKSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IDFiNDZmMzc1MjQ5
ODkwN2UwMGJjMjgyZDJkOWQ2ZjFhZjczYjQ1OWUuLjkxYzAzMjQwODY3YjQ2ZWM5Yjk3NWRkMzQ4
OWJmN2VjMWFhZDMwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMzQsNyArMzQs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFz
ZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVh
c2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAogI2lmIFVT
RShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9v
bChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDVlM2M4MmYxZjMzYWQ1
MjkyNTA2Njg5NmM5YzIxNGEzM2JmOGIzMDUuLjljMmIxMWIzZjhhMWE2YzdiZWRhZjhmNWM1MWU2
MDUzODNjYzIyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJQcm94eS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyUGxh
dGZvcm1MYXllckJ1ZmZlci5oIgogCiBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25k
c1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVy
SW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1l
ckludGVydmFsID0gMC41X3M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTYzLDcgKzE2
Myw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRh
dGVPbkNvbXBvc2l0b3JUaHJlYWQoc3RkOjpmdW5jCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRhdGVGdW5j
dGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDU1ZWY5OTU0OWU2OTQyNjI0MTAz
ZDg4OGNiYzc1NGQ2ZmI2ZDNlYy4uMGRjNjkyNWE1MTkxOTE4MTMyMmQ4YjZjNWM3MDAzMTU4NDFj
OThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllci5jcHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlz
dCwKIAogICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1hdGlvbnMu
YWRkKFRleHR1cmVNYXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0LCBib3hT
aXplLCAqYW5pbSwgbGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAwLCBUZXh0
dXJlTWFwcGVyQW5pbWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAgIG1fYW5p
bWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlvblN0YXJ0
ZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25zKCk7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3Jk
aW5hdGVkSW1hZ2VCYWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5ZWZjM2Zh
YWVjNDMyMzM2YTYxLi42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRlOGQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2lu
Zy5jcHAKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjpy
ZWxlYXNlU3VyZmFjZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwogfQogCi1z
dGF0aWMgY29uc3QgZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25kcygzKTsK
IAogdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlmTmVlZGVk
KGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRkODdmOWZj
MDlkZmNmMTIyYWMxOTdjZDVlLi5iMjRjZmE2YTFmNTg3NjQ3MWE2NTBmMDZkZTZjYjE5NmQ0ODU3
ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0
b3JHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRv
ckd0ay5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpvdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29uc3QgZG91
YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRlbHRhVG9O
ZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAgICBtX292
ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05leHRGcmFt
ZSk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKGRlbHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92
ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3JvbGxBbmlt
YXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQp
IHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1h
dGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVy
Zmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UKICAgICAg
ICAgaGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBT
Y3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAgcmV0dXJu
OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2Fs
bHlJbmNyZWFzaW5nVGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5
OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJh
dGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3JvbGxiYXJz
QW5pbWF0aW9uSGlkZURlbGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVs
YXkpKTsKIH0KIAogdm9pZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29udGVudEFy
ZWEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVD
YWNoZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0K
aW5kZXggNjZhMjZlMWU2OGUzYzRkNTc3YWIzZWI1Njg1MThmYWM1OGY1OTY5ZS4uOWFjMDVmYzU1
MTRlMTY0NjBjYmFjN2E0NDdiYmE3OGQyMWE3MjlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCkBAIC00MjAsNyArNDIwLDcgQEAgdm9pZCBM
ZWdhY3lUaWxlQ2FjaGU6OmZpbmlzaGVkQ3JlYXRpbmdUaWxlcyhib29sIGRpZENyZWF0ZVRpbGVz
LCBib29sIGNyZWF0ZU1vcmUKIAogICAgIC8vIEtlZXAgY3JlYXRpbmcgdGlsZXMgdW50aWwgdGhl
IHdob2xlIGNvdmVyUmVjdCBpcyBjb3ZlcmVkLgogICAgIGlmIChjcmVhdGVNb3JlKQotICAgICAg
ICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3Jl
YXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBMZWdhY3lUaWxlQ2FjaGU6
OnRpbGVDcmVhdGlvblRpbWVyRmlyZWQoKQpAQCAtNzgyLDcgKzc4Miw3IEBAIHZvaWQgTGVnYWN5
VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVk
KQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1NwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxl
ZCA9IGVuYWJsZWQ7CiAgICAgaWYgKG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQp
Ci0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIExlZ2FjeVRp
bGVDYWNoZTo6aGFzUGVuZGluZ0RyYXcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaAppbmRleCA3NTZkNDA2MDdmNTYzYTZjZTU5OGUy
OWJiMjdiNDBlOTU1ZWJhNjFmLi5hY2NkMjljMTA2MDM2N2UwZmMwZmZmNjhkNTNkNDM0N2EwNzRi
MWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhl
bWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJ
T1MuaApAQCAtNDEsOCArNDEsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBzdXBwb3J0c0Nv
bnRyb2xUaW50cygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIGRvdWJs
ZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUgYXV0
b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVs
YXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1Bs
YWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KaW5kZXggNmU1MjBiZWY1NDhmNTQwMjAzYTlhNmEz
Yzc3N2Q4MTZkYWE1MDk5MC4uZmUyOTA3NzViZGUzODkzY2E2OTE2MGYzMjMyN2IzYzVmZjIwNzNk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1l
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlP
Uy5tbQpAQCAtNjYsMTQgKzY2LDE0IEBAIGludCBTY3JvbGxiYXJUaGVtZUlPUzo6c2Nyb2xsYmFy
VGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplKQogICAgIHJldHVybiAwOwogfQogCi1kb3Vi
bGUgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNv
bmRzIFNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewot
ICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVt
ZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZUlPUzo6
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7
CiB9CiAgICAgCiBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IFNjcm9sbGJhclRoZW1lSU9TOjpi
dXR0b25zUGxhY2VtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRl
eCBjYzYyZTNhODg0YWVmMjk1MTk3ZTJiYjc2YmIwZmE3ZWMzMDcwYmExLi40NmNjMDEwZWE2Mzg0
OTIyMmRjMDlhMTNiOTFjYmNhNWYxZmQ0M2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
Lm1tCkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJvb2wg
dmFsKQogfQogI2VuZGlmCiAKLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFdhdGNoZG9nVGlt
ZXJJbnRlcnZhbCA9IDE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0V2F0Y2hkb2dUaW1l
ckludGVydmFsID0gU2Vjb25kcygxKTsKIAogQGNsYXNzIFdlYkFWTWVkaWFTZWxlY3Rpb25PcHRp
b247CiAKQEAgLTk4Niw3ICs5ODYsNyBAQCBib29sIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24oV2ViVmlkZW9GdQogICAgIG1f
dmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVlc3RGdWxsc2NyZWVuTW9kZShIVE1MTWVkaWFFbGVt
ZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVOb25lKTsKIAogICAgIGlmICghbV93YXRjaGRv
Z1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3Qo
RGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCk7CisgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5z
dGFydE9uZVNob3QoZGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCk7CiAKICAgICByZXR1cm4g
ZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51
eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKaW5kZXggNDIxYzYxNjBmODg5MTI0NjQ3
NzNkNGVhM2ZjYWVkNDk2M2Q1YTdmZC4uZThkZWM1ZTQ1ZmMzZjlkYzJlY2EyNWUyMTJkODIzMTI1
YjNlMGExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGludXgvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcApAQCAtMjY5LDcgKzI2OSw3IEBAIHZv
aWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpob2xkT2ZmVGltZXJGaXJlZCgpCiAKIHZvaWQgTWVt
b3J5UHJlc3N1cmVIYW5kbGVyOjpob2xkT2ZmKHVuc2lnbmVkIHNlY29uZHMpCiB7Ci0gICAgbV9o
b2xkT2ZmVGltZXIuc3RhcnRPbmVTaG90KHNlY29uZHMpOworICAgIG1faG9sZE9mZlRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKHNlY29uZHMpKTsKIH0KIAogc3RhdGljIHNpemVfdCBwcm9jZXNz
TWVtb3J5VXNhZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFu
aW1hdG9yTWFjLm1tCmluZGV4IGFjN2Y0ZmQ0YTk4NGRjMzFkZGQ0ZmM4MGIxNjkzNDE1MTkwMjUw
OTUuLmY3M2Q3OTY4OGUyYjgwMjU0NmYyNDM1OWZjY2JjYTU4MmQyNmNmZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KQEAgLTEzMzgs
NyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9sbGVyU3R5bGUo
KQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIoKQog
ewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAuMSk7Cisg
ICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4xX3MpOwogfQog
CiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpzY3JvbGxiYXJQYWludFRpbWVySXNBY3RpdmUoKSBj
b25zdApAQCAtMTM2NCw3ICsxMzY0LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c2VuZENv
bnRlbnRBcmVhU2Nyb2xsZWRTb29uKGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpCiAgICAgbV9jb250
ZW50QXJlYVNjcm9sbGVkVGltZXJTY3JvbGxEZWx0YSA9IGRlbHRhOwogCiAgICAgaWYgKCFtX3Nl
bmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zZW5kQ29u
dGVudEFyZWFTY3JvbGxlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kQ29u
dGVudEFyZWFTY3JvbGxlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKG1fd2hl
ZWxFdmVudFRlc3RUcmlnZ2VyKQogICAgICAgICBtX3doZWVsRXZlbnRUZXN0VHJpZ2dlci0+ZGVm
ZXJUZXN0c0ZvclJlYXNvbihyZWludGVycHJldF9jYXN0PFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6
U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyPih0aGlzKSwgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpD
b250ZW50U2Nyb2xsSW5Qcm9ncmVzcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxiYXJUaGVtZU1hYy5oCmluZGV4IGE3MjgyOThjOGViYjVjNTU1NDdkNmQzY2JkOGQ1
ZTE0NzQwYTRlOGMuLjdlYWE5MTFiYjkyYjA4ZjAxYjdkOTkyNjZkMDEzYTQ3NmM3ZGQ1YjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oCkBA
IC00OCw4ICs0OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHVzZXNPdmVybGF5U2Nyb2xsYmFyc0No
YW5nZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShT
Y3JvbGxiYXImKSAgb3ZlcnJpZGU7CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1l
ckRlbGF5KCkgb3ZlcnJpZGU7Ci0gICAgZG91YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3Zl
cnJpZGU7CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlk
ZTsKKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CiAKICAgICBT
Y3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IGJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdCBvdmVycmlk
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRo
ZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFj
Lm1tCmluZGV4IGIyZTE2MThjMDMyZmI3YzY1ZjFmZTE5MTdmMjA0ZTI5Njc0YzM4OWYuLjQzNTQ5
Y2I1NjE5ODNkNTMwNzQzOWMzNjI5MzYwNDNiMTYwYjVhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KQEAgLTEzMCw4ICsxMzAsOCBA
QCBzdGF0aWMgY29uc3QgaW50IGNCdXR0b25MZW5ndGhbXSA9IHsgMTQsIDEwIH07CiBzdGF0aWMg
Y29uc3QgaW50IGNPdXRlckJ1dHRvbkxlbmd0aFtdID0geyAxNiwgMTQgfTsgLy8gVGhlIG91dGVy
IGJ1dHRvbiBpbiBhIGRvdWJsZSBidXR0b24gcGFpciBpcyBhIGJpdCBiaWdnZXIuCiBzdGF0aWMg
Y29uc3QgaW50IGNPdXRlckJ1dHRvbk92ZXJsYXAgPSAyOwogCi1zdGF0aWMgZmxvYXQgZ0luaXRp
YWxCdXR0b25EZWxheSA9IDAuNWY7Ci1zdGF0aWMgZmxvYXQgZ0F1dG9zY3JvbGxCdXR0b25EZWxh
eSA9IDAuMDVmOworc3RhdGljIFNlY29uZHMgZ0luaXRpYWxCdXR0b25EZWxheSA9IDAuNV9zOwor
c3RhdGljIFNlY29uZHMgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IDAuMDVfczsKIHN0YXRpYyBi
b29sIGdKdW1wT25UcmFja0NsaWNrID0gZmFsc2U7CiBzdGF0aWMgYm9vbCBnVXNlc092ZXJsYXlT
Y3JvbGxiYXJzID0gZmFsc2U7CiAKQEAgLTIzNCw4ICsyMzQsOCBAQCB2b2lkIFNjcm9sbGJhclRo
ZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQoKQogewogICAgIE5TVXNlckRlZmF1bHRzICpkZWZh
dWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c107CiAgICAgW2RlZmF1
bHRzIHN5bmNocm9uaXplXTsKLSAgICBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gW2RlZmF1bHRzIGZs
b2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il07Ci0gICAgZ0F1dG9zY3JvbGxCdXR0
b25EZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25QZXJpb2Qi
XTsKKyAgICBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcyhbZGVmYXVsdHMgZmxvYXRGb3JL
ZXk6QCJOU1Njcm9sbGVyQnV0dG9uRGVsYXkiXSk7CisgICAgZ0F1dG9zY3JvbGxCdXR0b25EZWxh
eSA9IFNlY29uZHMoW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlv
ZCJdKTsKICAgICBnSnVtcE9uVHJhY2tDbGljayA9IFtkZWZhdWx0cyBib29sRm9yS2V5OkAiQXBw
bGVTY3JvbGxlclBhZ2luZ0JlaGF2aW9yIl07CiAgICAgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hh
bmdlZCgpOwogfQpAQCAtMjc3LDEyICsyNzcsMTIgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6
dXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYgc2Nyb2xsYmFyKQogICAgIEVO
RF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZU1hYzo6
aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6
OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7CiAgICAgcmV0dXJuIGdJbml0aWFsQnV0
dG9uRGVsYXk7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVy
RGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXko
KQogewogICAgIHJldHVybiBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5OwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAK
aW5kZXggOTIyYWQ0Mzk3YTA0YzA1NTYxYzdjMWQ2MDY3YWRlYzUxNTlmMjM1NC4uYmYyNzNiZWY5
NGE4NGFjNzBkMGI0NGUxYTAyNjk2ZjE0MDAyMzlhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCkBAIC01OSw3
ICs1OSw3IEBAIHZvaWQgRGV2aWNlTW90aW9uQ2xpZW50TW9jazo6c2V0TW90aW9uKFBhc3NSZWZQ
dHI8RGV2aWNlTW90aW9uRGF0YT4gbW90aW9uKQogewogICAgIG1fbW90aW9uID0gbW90aW9uOwog
ICAgIGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgRGV2aWNlTW90aW9uQ2xpZW50TW9jazo6dGltZXJGaXJlZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50
TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9u
Q2xpZW50TW9jay5jcHAKaW5kZXggYWYwYTgzNGMzMjA0MjJiM2UxZmE0MzBlZTFlMjY3MmQ4ZDYx
MDFjMi4uMjFkZmVkZDM2YTU3NTQ4ZGE4NmE5NTU1NmZkYWFiMjFjMjEwYmI4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmNwcApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9u
Q2xpZW50TW9jazo6c2V0T3JpZW50YXRpb24oUGFzc1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRh
dAogewogICAgIG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsKICAgICBpZiAobV9pc1VwZGF0
aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERldmlj
ZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggYjdj
ZmI5YmUwNmRjYmZmYzdjMTZiM2NmZTc0NjUwMTMwZmE3MDBlNS4uNzU0YTgyNWNhZTU0NDc5ZTE0
ZGQxZTMwMGM0MmNkMTJlM2ZjOTg4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBA
IHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZVBlcm1pc3Npb24oKQogewog
ICAgIEFTU0VSVChtX3Blcm1pc3Npb25TdGF0ZSAhPSBQZXJtaXNzaW9uU3RhdGVVbnNldCk7CiAg
ICAgaWYgKCFtX3Blcm1pc3Npb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Blcm1pc3Np
b25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVybWlzc2lvblRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6cGVybWlzc2lv
blRpbWVyRmlyZWQoKQpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgR2VvbG9jYXRpb25DbGllbnRN
b2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIoKQogewogICAgIEFTU0VSVChtX2NvbnRyb2xsZXIp
OwogICAgIGlmIChtX2lzQWN0aXZlICYmICFtX2NvbnRyb2xsZXJUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29u
dHJvbGxlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uQ2xp
ZW50TW9jazo6Y29udHJvbGxlclRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNw
cAppbmRleCAxYTYwY2EyNGJiYzYwOTZiN2E5NWUyMTA2NjA0OTUxMmZlMmYyNTViLi5hNzZiYzI2
ZmE2MDRkMDMzODFhNTM1M2ZhYmVmZGE4NWZlOThiMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJN
b2NrLmNwcApAQCAtMzcsNyArMzcsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHRpbWVySW50ZXJ2YWwgPSAx
LjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCA9IDAuMV9zOwog
CiBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jazo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ck1vY2soTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6Q2xpZW50JiBjbGllbnQpCiAgICAgOiBN
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKaW5kZXggNjBiYjAxODFhZThjZDNi
NzdiODllZGY0OWEzNjUzODRmMmUwZGU1OS4uYzgzMTBkZjE1NDFlNWExNTcxNjAyZjMwNTM4MDU1
ZDE0ZjI2MWFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
TWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
TWVkaWFFbmRwb2ludC5jcHAKQEAgLTI0NSw3ICsyNDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBv
aW50OjpkaXNwYXRjaEZha2VJY2VDYW5kaWRhdGVzKCkKICAgICAvLyBSZXZlcnNlIG9yZGVyIHRv
IHVzZSB0YWtlTGFzdCgpIHdoaWxlIGtlZXBpbmcgdGhlIGFib3ZlIG9yZGVyCiAgICAgbV9mYWtl
SWNlQ2FuZGlkYXRlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKQEAg
LTI1NSw3ICsyNTUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VDYW5kaWRhdGVUaW1l
ckZpcmVkKCkKIAogICAgIGlmICghbV9mYWtlSWNlQ2FuZGlkYXRlcy5pc0VtcHR5KCkpIHsKICAg
ICAgICAgbV9jbGllbnQuZ290SWNlQ2FuZGlkYXRlKG1fbWlkc1swXSwgbV9mYWtlSWNlQ2FuZGlk
YXRlcy50YWtlTGFzdCgpKTsKLSAgICAgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgfSBlbHNlCiAgICAgICAgIG1fY2xpZW50LmRvbmVHYXRoZXJpbmdDYW5kaWRhdGVzKG1fbWlk
c1swXSk7CiB9CkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6c3Rl
cEljZVRyYW5zcG9ydFN0YXRlcygpCiAgICAgLy8gUmV2ZXJzZSBvcmRlciB0byB1c2UgdGFrZUxh
c3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgogICAgIG1faWNlVHJhbnNwb3J0U3Rh
dGVDaGFuZ2VzLnJldmVyc2UoKTsKIAotICAgIG1faWNlVHJhbnNwb3J0VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1faWNlVHJhbnNwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQoKQpAQCAtMzA1
LDcgKzMwNSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmly
ZWQoKQogICAgIGF1dG8gc3RhdGVDaGFuZ2UgPSBtX2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlcy50
YWtlTGFzdCgpOwogICAgIG1fY2xpZW50LmljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlZChzdGF0ZUNo
YW5nZS5maXJzdCwgc3RhdGVDaGFuZ2Uuc2Vjb25kKTsKIAotICAgIG1faWNlVHJhbnNwb3J0VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNlVHJhbnNwb3J0VGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNC
eU1pZCgpCkBAIC0zMjAsNyArMzIwLDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRl
UmVtb3RlU291cmNlc0J5TWlkKCkKICAgICBmb3IgKGludCBpID0gbV9taWRzLnNpemUoKSAtIDE7
IGkgPj0gMDsgLS1pKQogICAgICAgICBtX21pZHNPZlNvdXJjZXNUb1VubXV0ZS5hcHBlbmQobV9t
aWRzW2ldKTsKIAotICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdW5t
dXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6
OnVubXV0ZVRpbWVyRmlyZWQoKQpAQCAtMzMwLDcgKzMzMCw3IEBAIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQoKQogICAgICAgICBzb3VyY2UtPnNldE11dGVkKGZhbHNl
KTsKIAogICAgIGlmICghbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUuaXNFbXB0eSgpKQotICAgICAg
ICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91bm11dGVUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNl
LmNwcAppbmRleCBlZjk3Mjc2YTQ0MzQyYWJjNWM3NWFlYTRlMzYxNzE0NDFiNGNkYzZlLi42NGEz
NWE2ZDI3YmNlOTVjNjU5YmM1OTFiZTUwOTA0YmE4MTM2MGYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcApA
QCAtODQsNyArODQsNyBAQCB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1
Y2luZ0RhdGEoKQogICAgIH0KIAogICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7Ci0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSk7CisgICAgbV90aW1lci5zdGFy
dFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKChscm91bmQoMTAwMCAvIGZyYW1l
UmF0ZSgpKSkpKTsKIH0KIAogdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RvcFByb2R1
Y2luZ0RhdGEoKQpAQCAtMTM2LDcgKzEzNiw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3Vy
Y2U6OmluaXRpYWxpemVTdXBwb3J0ZWRDb25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlCiBi
b29sIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjphcHBseUZyYW1lUmF0ZShkb3VibGUgcmF0ZSkK
IHsKICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMobHJvdW5kKDEwMDAgLyByYXRlKSkpOwor
ICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMo
bHJvdW5kKDEwMDAgLyByYXRlKSkpOwogCiAgICAgdXBkYXRlU2FtcGxlQnVmZmVyKCk7CiAgICAg
cmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1Bs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCmluZGV4IGYzYmM3MWMwZjcz
M2QyODMzZWMzNDg1ZTg5NDk0NDhkMzhkZDNmMTEuLmQ4YTdjMDg5N2Y5ODVkZmM4YzVmN2VhNDFk
ODBjODY1OTNmMTBmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCkBAIC02OCw3ICs2
OCw3IEBAIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKFJlZlB0cjxQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jCiAgICAgY2xpZW50KCktPmJvdW5kYXJ5RXZl
bnRPY2N1cnJlZCgqbV91dHRlcmFuY2UsIFNwZWVjaFNlbnRlbmNlQm91bmRhcnksIG1fdXR0ZXJh
bmNlLT50ZXh0KCkubGVuZ3RoKCkpOwogCiAgICAgLy8gR2l2ZSB0aGUgZmFrZSBzcGVlY2ggam9i
IHNvbWUgdGltZSBzbyB0aGF0IHBhdXNlIGFuZCBvdGhlciBmdW5jdGlvbnMgaGF2ZSB0aW1lIHRv
IGJlIGNhbGxlZC4KLSAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoLjEp
OworICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiB9CiAK
IHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCmluZGV4IGRl
MGU4YTlmZDY1OTZiMmUyYWI3MzcwMzA0N2RlNWVkMzdmZmVjYWMuLjg2M2Y5ZDY1Yjc2OTAxNmQw
ZDk3Y2QyNjg5YjJkNGZmNTc2NjJhYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoK
ICAgICAgICAgLCBtX3RpbWVyKCp0aGlzLCAmVGltZXJFdmVudDo6dGltZXJGaXJlZCkKICAgICAg
ICAgLCBtX25vdGlmaWVyKG5vdGlmaWVyKQogICAgIHsKLSAgICAgICAgbV90aW1lci5zdGFydE9u
ZVNob3QoMC41KTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC41X3MpOwogICAgIH0K
IAogICAgIHZpcnR1YWwgflRpbWVyRXZlbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCmluZGV4IDU4NzczYWEzMzI5MWNhN2E2
ODk1NzU4NmVlODIwM2M2YmFjMmNmZjMuLmUxYzQxMGVkMTUyNThhY2FmM2YwYzM5MTlkODVhMDgy
YTA5MjdkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5T
UmVzb2x2ZVF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RO
U1Jlc29sdmVRdWV1ZS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
c3RhdGljIGNvbnN0IGludCBnTmFtZXNUb1Jlc29sdmVJbW1lZGlhdGVseSA9IDQ7CiAKIC8vIENv
YWxlc2NlIHByZWZldGNoIHJlcXVlc3RzIGZvciB0aGlzIGxvbmcgYmVmb3JlIHNlbmRpbmcgdGhl
bSBvdXQuCi1zdGF0aWMgY29uc3QgZG91YmxlIGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzID0gMS4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgY29hbGVzY2VEZWxheSA9IDFfczsKIAogLy8gU2VuZGlu
ZyBtYW55IEROUyByZXF1ZXN0cyBhdCBvbmNlIGNhbiBvdmVyd2hlbG0gc29tZSBnYXRld2F5cy4g
U2VlIDxyZGFyOi8vODEwNTU1MD4gZm9yIHNwZWNpZmljIENGTkVUIGlzc3VlcyB3aXRoIENGSG9z
dCB0aHJvdHRsaW5nLgogc3RhdGljIGNvbnN0IGludCBnTWF4U2ltdWx0YW5lb3VzUmVxdWVzdHMg
PSA4OwpAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMgY29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNS
ZXF1ZXN0cyA9IDg7CiBzdGF0aWMgY29uc3QgaW50IGdNYXhSZXF1ZXN0c1RvUXVldWUgPSA2NDsK
IAogLy8gSWYgdGhlcmUgd2VyZSBxdWV1ZWQgbmFtZXMgdGhhdCBjb3VsZG4ndCBiZSBzZW50IHNp
bXVsdGFuZW91c2x5LCBjaGVjayB0aGUgc3RhdGUgb2YgcmVzb2x2ZXJzIGFmdGVyIHRoaXMgZGVs
YXkuCi1zdGF0aWMgY29uc3QgZG91YmxlIGdSZXRyeVJlc29sdmluZ0luU2Vjb25kcyA9IDAuMTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHJldHJ5UmVzb2x2aW5nRGVsYXkgPSAwLjFfczsKIAogRE5T
UmVzb2x2ZVF1ZXVlJiBETlNSZXNvbHZlUXVldWU6OnNpbmdsZXRvbigpCiB7CkBAIC0xMDEsNyAr
MTAxLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OmFkZChjb25zdCBTdHJpbmcmIGhvc3RuYW1l
KQogICAgIGlmIChtX25hbWVzLnNpemUoKSA8IGdNYXhSZXF1ZXN0c1RvUXVldWUpIHsKICAgICAg
ICAgbV9uYW1lcy5hZGQoaG9zdG5hbWUpOwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGdDb2FsZXNjZURlbGF5SW5TZWNv
bmRzKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNvYWxlc2NlRGVsYXkpOwog
ICAgIH0KIH0KIApAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjp0aW1l
ckZpcmVkKCkKICAgICB9CiAKICAgICBpZiAoIW1fbmFtZXMuaXNFbXB0eSgpKQotICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdChnUmV0cnlSZXNvbHZpbmdJblNlY29uZHMpOworICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdChyZXRyeVJlc29sdmluZ0RlbGF5KTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9EYXRhVVJMRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Rh
dGFVUkxEZWNvZGVyLmNwcAppbmRleCBhYmZiNDZjZWNmODIxNDNiOWZmYWNkMDFiZTU3ODZhNTNh
MDA4ZWMwLi40NWNhMWM1YzM2MmI1NDVlODdlZGM4Y2RiMzVmMjIwMjhiYzI2ZGIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcApA
QCAtNzksNyArNzksNyBAQCBwcml2YXRlOgogICAgICAgICByZWYoKTsKIAogICAgICAgICBhdXRv
IHNjaGVkdWxlZFBhaXJzID0gbV9kZWNvZGVUYXNrLT5zY2hlZHVsZUNvbnRleHQuc2NoZWR1bGVk
UGFpcnM7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3RpbWVyLnNjaGVkdWxlKHNjaGVkdWxlZFBh
aXJzKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFu
ZGxlLmgKaW5kZXggY2Q5ZjJiZjk2MDA2M2U3MDNmOGMzZjBiOGQwMTFmMmJiOWNiMWJkMS4uMWEw
ZDVjZTYyM2FkZjhhMzQwNTNkNmZhZThkMGY3NjM5MDJiZDE3YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGlj
OgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0
IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91
cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25l
U2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCgxMDAwX21p
bik7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAppbmRleCA2NDdmNjA0MTliZmNkMGZlZTYzNzVkOWQx
ODgwNzY1OTJhMWY5MjBjLi4wMGMwZDAyOWNjNmZjMmMxY2NhNzk3Yzk5MjgxNGQwNzA0NzdlNzc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3Vy
Y2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QKIHZvaWQg
UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQogewogICAg
IGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgPSB0eXBlOwotICAgIGQtPm1fZmFpbHVyZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6ZmFpbHVyZVRpbWVyRmlyZWQoKQpAQCAtMjU4
LDcgKzI1OCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNldERlZmVyc0xvYWRpbmcoYm9vbCBk
ZWZlcnMpCiAgICAgICAgICAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdG9wKCk7CiAgICAgfSBlbHNl
IGlmIChkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkgewogICAgICAgICBB
U1NFUlQoIWQtPm1fZmFpbHVyZVRpbWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBkLT5tX2ZhaWx1
cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIHBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhkZWZl
cnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0
d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCmluZGV4IDU1YWRlMjE4YzEzODg4YzBj
YzI2ZWJlY2I3OTI2M2RjYTcwMDkxNmQuLmQ0ZDk4ZGEzMWY2NTc2MTNiNWVkOGQ2ZGIyMmZmOWI3
NWIwMWU0MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKQEAgLTMxLDcgKzMxLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0YXRlQ2hh
bmdlVGltZXJJbnRlcnZhbCA9IDIuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlQ2hhbmdl
VGltZXJJbnRlcnZhbCA9IDJfczsKIAogdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6dXBkYXRl
U3RhdGUoKQogewpAQCAtNzgsNyArNzgsNyBAQCB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpk
eW5hbWljU3RvcmVDYWxsYmFjayhTQ0R5bmFtaWNTdG9yZVJlZiwgQ0ZBcnJheVJlZiwgdgogICAg
IAogICAgIC8vIENhbGxpbmcgdXBkYXRlU3RhdGUoKSBjb3VsZCBiZSBleHBlbnNpdmUgc28gd2Ug
c2NoZWR1bGUgYSB0aW1lciB0aGF0IHdpbGwgZG8gaXQgCiAgICAgLy8gd2hlbiB0aGluZ3MgaGF2
ZSBjb29sZWQgZG93bi4KLSAgICBub3RpZmllci0+bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5z
dGFydE9uZVNob3QoU3RhdGVDaGFuZ2VUaW1lckludGVydmFsKTsKKyAgICBub3RpZmllci0+bV9u
ZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9uZVNob3Qoc3RhdGVDaGFuZ2VUaW1lckludGVy
dmFsKTsKIH0KIAogdm9pZCBOZXR3b3JrU3RhdGVOb3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdl
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDg4N2E5ZWQ3OTVkMWNiNGU1
OGNjZGRlNTZlMzg4ZDk5Y2RjMGJmM2UuLmVjZjE4NGNlNDBiZGY5ZWM0ZDMxYmY3MzIwNjMzNzcx
MjJkZTliNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC03NTAsNyArNzUwLDcgQEAgdm9p
ZCBSZXNvdXJjZUhhbmRsZTo6c2VuZFBlbmRpbmdSZXF1ZXN0KCkKICNlbmRpZgogCiAgICAgaWYg
KGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkKLSAgICAgICAgZC0+bV90
aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2
YWwoKSk7CisgICAgICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoU2Vjb25kcyhk
LT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSkpOwogCiAgICAgLy8gQmFsYW5jZWQg
YnkgYSBkZXJlZigpIGluIGNsZWFudXBTb3VwUmVxdWVzdE9wZXJhdGlvbiwgd2hpY2ggc2hvdWxk
IGFsd2F5cyBydW4uCiAgICAgcmVmKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCmluZGV4IGZjODdiNzAzMjky
Mzg3MTZkMWM2MzU4NzhjZTA3OTJkYmI3ZGZkMzIuLjllYTQxN2RkMDMwYTFjZjQ5YWVmNTVkYzY0
YmVhYWE0YWRjNGFkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9N
ZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9p
ZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omluc3RhbGwoKQogewogICAgIG1faW5zdGFsbGVkID0g
dHJ1ZTsKICAgICBtZW1DaGVja1RpbWVyKCkgPSBzdGQ6Om1ha2VfdW5pcXVlPENoZWNrTWVtb3J5
VGltZXI+KCp0aGlzKTsKLSAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKDYwLjAp
OworICAgIG1lbUNoZWNrVGltZXIoKS0+c3RhcnRSZXBlYXRpbmcoMV9taW4pOwogfQogCiB2b2lk
IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6dW5pbnN0YWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcAppbmRleCBhMWZlOGZjYzFj
ODhmMjZlMTZhNjNmMTJiNjQzMmQ1YTBlODFjZWQ2Li41ZjVkMDc2NTc5YzIxMDQwN2MwYmNmYzZi
NTg2MjczOTBkNzI5MjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1h
Z2VRdWFsaXR5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lt
YWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC0zNSw3ICszNSw3IEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUgY0ludGVycG9sYXRpb25DdXRvZmYgPSA4MDAu
ICogODAwLjsKLXN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0g
MC41MDA7IC8vIDUwMCBtcworc3RhdGljIGNvbnN0IFNlY29uZHMgbG93UXVhbGl0eVRpbWVUaHJl
c2hvbGQgPSAwLjVfczsKIAogSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6SW1hZ2VRdWFsaXR5Q29u
dHJvbGxlcihjb25zdCBSZW5kZXJWaWV3JiByZW5kZXJWaWV3KQogICAgIDogbV9yZW5kZXJWaWV3
KHJlbmRlclZpZXcpCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxl
cjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJlZCgpCiAKIHZvaWQgSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlcjo6cmVzdGFydFRpbWVyKCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjTG93
UXVhbGl0eVRpbWVUaHJlc2hvbGQpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGxvd1F1YWxp
dHlUaW1lVGhyZXNob2xkKTsKIH0KIAogc3RkOjpvcHRpb25hbDxJbnRlcnBvbGF0aW9uUXVhbGl0
eT4gSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aW50ZXJwb2xhdGlvblF1YWxpdHlGcm9tU3R5bGUo
Y29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA2M2E1YTY5MGFjMTBhYjFmNWM5YjRk
ZWM0N2VjZWFjNWEwMDVmNjNlLi43MDQzMzI5NzI2MmQ3NzQ0MmY3YmExZmU4NzU3ODBjOGZkOWRi
NTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcApAQCAtOTIsMTEgKzkyLDExIEBAIHN0YXRpYyBjb25zdCBpbnQgY2FudmFzQXJl
YVRocmVzaG9sZFJlcXVpcmluZ0NvbXBvc2l0aW5nID0gNTAgKiAxMDA7CiAjZW5kaWYKIC8vIER1
cmluZyBwYWdlIGxvYWRpbmcgZGVsYXkgbGF5ZXIgZmx1c2hlcyB1cCB0byB0aGlzIG1hbnkgc2Vj
b25kcyB0byBhbGxvdyB0aGVtIGNvYWxlc2NlLCByZWR1Y2luZyB3b3JrbG9hZC4KICNpZiBQTEFU
Rk9STShJT1MpCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFs
RGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5
ID0gMS41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxE
ZWxheSA9IDAuNV9zOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERl
bGF5ID0gMS41X3M7CiAjZWxzZQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZs
dXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVy
Rmx1c2hEZWxheSA9IC41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVz
aEluaXRpYWxEZWxheSA9IDAuNV9zOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5
ZXJGbHVzaERlbGF5ID0gMC41X3M7CiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1l
czsKQEAgLTYzNCw3ICs2MzQsNyBAQCBSZW5kZXJMYXllckNvbXBvc2l0b3IqIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6ZW5jbG9zaW5nQ29tcG9zaXRvckZsdXNoaW5nTGF5ZXJzKAogdm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiB7CiAg
ICAgaWYgKCFtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJx
dWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRl
eCA2MDU5ZDI2ZDFkZmNmYjM2MTViYmJiZTE2Y2ZkMjNlMjVkZGZjMTU3Li5iNzQwOTdjZjIxZTFh
ODIyNWE2YWVkOGZkOWEzYjJhOWE1MmU5YTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0xNjgsNyArMTY4LDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVl
OjpzdGFydCgpCiAgICAgICAgIG1fc3RvcHBlZCA9IGZhbHNlOwogICAgIH0KIAotICAgIG1fdGlt
ZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAuMDAxKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoc3BlZWQoKSkpOwogfQogCiB2b2lkIFJl
bmRlck1hcnF1ZWU6OnN1c3BlbmQoKQpAQCAtMjMwLDcgKzIzMCw3IEBAIHZvaWQgUmVuZGVyTWFy
cXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKCkKICAgICBpZiAoc3BlZWQoKSAhPSBtYXJxdWVlU3Bl
ZWQoKSkgewogICAgICAgICBtX3NwZWVkID0gbWFycXVlZVNwZWVkKCk7CiAgICAgICAgIGlmICht
X3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNw
ZWVkKCkgKiAwLjAwMSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29u
ZHM6OmZyb21NaWxsaXNlY29uZHMoc3BlZWQoKSkpOwogICAgIH0KICAgICAKICAgICAvLyBDaGVj
ayB0aGUgbG9vcCBjb3VudCB0byBzZWUgaWYgd2Ugc2hvdWxkIG5vdyBzdG9wLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAppbmRleCA0
NzUwNmFjZDMzYjcwNzQzNWU1OWUxNjVjYzYwNzAzZmU2NGU0NmU2Li44NjlhZjQyYTA5OTgyNjZl
YjBmNjVjM2YxMGY5NzM4ODFhNjE1NTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcApAQCAtNTMwLDcgKzUzMCw3IEBAIHZvaWQg
UmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRjaFJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudElm
TmVlZGVkKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENoYW5nZVJlZ2lvbk92
ZXJzZXQoZG9jdW1lbnQoKSwgbmFtZWRGbG93KCkpOwogICAgIAogICAgIGlmICghbV9yZWdpb25P
dmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5pc0FjdGl2ZSgpICYmIG5hbWVkRmxvdygpLmhhc0V2ZW50
TGlzdGVuZXJzKCkpCi0gICAgICAgIG1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6cmVnaW9u
T3ZlcnNldENoYW5nZUV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclByb2dyZXNzLmNwcAppbmRleCA5YTFmMjQwZmE1ZjlhZmY4NzAxYzEzNDhjY2M1N2Qz
NmFiM2UwYjg0Li41MWEzMDhmYmEzNzBjNDc5ODljOGM1Y2VhZTBiMDg3NzQyYzljN2NlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKQEAgLTg1LDcgKzg1
LDcgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCgpCiB7CiAgICAg
cmVwYWludCgpOwogICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIG1fYW5p
bWF0aW5nKQotICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlv
blJlcGVhdEludGVydmFsKTsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcyhtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKSk7CiB9CiAKIHZvaWQgUmVuZGVyUHJv
Z3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKQEAgLTEwMCw3ICsxMDAsNyBAQCB2b2lkIFJl
bmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCiAgICAgbV9hbmltYXRpbmcgPSBh
bmltYXRpbmc7CiAgICAgaWYgKG1fYW5pbWF0aW5nKSB7CiAgICAgICAgIG1fYW5pbWF0aW9uU3Rh
cnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICAgIG1fYW5pbWF0
aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpOworICAgICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKG1fYW5pbWF0aW9uUmVwZWF0
SW50ZXJ2YWwpKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdG9wKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFy
VGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5o
CmluZGV4IGVkNDliZWRjYmRiNjE1ZDBhNzMyNzE3ZDdjYWEzOGRiY2M4ZGRiNzcuLjQxYmQ4MjNh
YWEwMTQ2NTZiMTFhYjZkMjYxOWRkMTZmYTBlYjc4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCkBAIC00Nyw4ICs0Nyw4IEBAIHB1Ymxp
YzoKIAogICAgIFNjcm9sbGJhckJ1dHRvblByZXNzQWN0aW9uIGhhbmRsZU1vdXNlUHJlc3NFdmVu
dChTY3JvbGxiYXImIHNjcm9sbGJhciwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwg
U2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhl
bWU6OnRoZW1lKCkuaGFuZGxlTW91c2VQcmVzc0V2ZW50KHNjcm9sbGJhciwgZXZlbnQsIHByZXNz
ZWRQYXJ0KTsgfQogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92
ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRpYWxBdXRvc2Nyb2xs
VGltZXJEZWxheSgpOyB9Ci0gICAgZG91YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJp
ZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuYXV0b3Njcm9sbFRpbWVyRGVsYXko
KTsgfQorICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUg
eyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyBy
ZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuYXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQog
CiAgICAgdm9pZCByZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXImIHNjcm9sbGJhcikgb3ZlcnJp
ZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkucmVnaXN0ZXJTY3JvbGxiYXIoc2Ny
b2xsYmFyKTsgfQogICAgIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXImIHNjcm9s
bGJhcikgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkudW5yZWdpc3Rl
clNjcm9sbGJhcihzY3JvbGxiYXIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dC5jcHAKaW5kZXggMzdiMDc0MTg3OGExYmQ5ODM4ZWM2MjUzZGVkMDcxOTEwMDFmY2M0OC4uZjE5
OTJhZGNmNGU3YWJjYjI1NGU3YmM5YWIzZGZjNTBjNDdmZWE5ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIGlubGluZSBTZWN1cmVU
ZXh0VGltZXI6OlNlY3VyZVRleHRUaW1lcihSZW5kZXJUZXh0JiByZW5kZXJlcikKIGlubGluZSB2
b2lkIFNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCh1bnNpZ25lZCBvZmZzZXRBZnRlckxhc3RUeXBl
ZENoYXJhY3RlcikKIHsKICAgICBtX29mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyID0gb2Zm
c2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXI7Ci0gICAgc3RhcnRPbmVTaG90KG1fcmVuZGVyZXIu
ZnJhbWUoKS5zZXR0aW5ncygpLnBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKCkpOworICAg
IHN0YXJ0T25lU2hvdChtX3JlbmRlcmVyLmZyYW1lKCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9E
dXJhdGlvbigpKTsKIH0KIAogaW5saW5lIHVuc2lnbmVkIFNlY3VyZVRleHRUaW1lcjo6dGFrZU9m
ZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmgKaW5kZXggMzU0OTliYmU2OTExZjVmYThjM2QwMTM4Y2VmNDBlYzgyOGY5YzJiZS4u
ODlmNGI5YzllNDk0ZmZkZWQ1OTNkMGNlMjQwNGIwYWYyMDFiYTQxNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJTY3Jv
bGxUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMTc1LDcgKzE3Niw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBwbGF0
Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogCi0gICAgdmlydHVhbCBkb3VibGUgY2FyZXRCbGlua0lu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGNhcmV0
QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNV9zOyB9CiAKICAgICAvLyBTeXN0ZW0g
Zm9udHMgYW5kIGNvbG9ycyBmb3IgQ1NTLgogICAgIHZvaWQgc3lzdGVtRm9udChDU1NWYWx1ZUlE
LCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJikgY29uc3Q7CkBAIC0yMDQsOCArMjA1LDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sU3RhdHVzRGlzcGxheSgpIHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xWb2x1bWVT
bGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0
aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGRv
dWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjE7IH0KLSAgICB2
aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4z
OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsg
cmV0dXJuIDAuMV9zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlT3V0
RHVyYXRpb24oKSB7IHJldHVybiAwLjNfczsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1l
ZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZv
cm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShmbG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVy
YXRpb24pIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1h
aW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggNTc0YmIxNDQ5MzczMTk3NWQ0
Y2IwYzI1MmIzOWViMjg3MjBkOTQyZC4uOGFjZTJmZjJlMTBkM2EwODVkZTE3Y2QzNGVhMTJkN2Vm
ZjVjMDdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTUx
LDcgKzE1MSw3IEBAIHZvaWQgUmVuZGVyVmlldzo6c2NoZWR1bGVMYXp5UmVwYWludChSZW5kZXJC
b3gmIHJlbmRlcmVyKQogICAgIHJlbmRlcmVyLnNldFJlbmRlckJveE5lZWRzTGF6eVJlcGFpbnQo
dHJ1ZSk7CiAgICAgbV9yZW5kZXJlcnNOZWVkaW5nTGF6eVJlcGFpbnQuYWRkKCZyZW5kZXJlcik7
CiAgICAgaWYgKCFtX2xhenlSZXBhaW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sYXp5
UmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sYXp5UmVwYWludFRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJlbmRlclZpZXc6OnVuc2NoZWR1bGVMYXp5
UmVwYWludChSZW5kZXJCb3gmIHJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9D
YXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKaW5kZXggOTk2NDliZmUyOTAzNjY3NmFkNDk2OGEzNmRm
MWY1YzNjNjJlMGVkOS4uNWI0MzQ5ZmE5MzRmMzJiNDEwOTVkNWEwZjg0NDk2OTE0Zjg3ZjUyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCkBA
IC01OCwxMSArNTgsOCBAQCB2b2lkIENhcHR1cmluZ0lucHV0Q3Vyc29yOjpzdG9yZUlucHV0KHN0
ZDo6dW5pcXVlX3B0cjxOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlPgogewogICAgIEFTU0VSVF9B
UkcoaW5wdXQsIGlucHV0KTsKIAotICAgIGlmIChpbnB1dC0+cXVldWUoKSA9PSBJbnB1dFF1ZXVl
OjpFdmVudExvb3BJbnB1dCkgewotICAgICAgICAvLyBGSVhNRTogcmV3cml0ZSB0aGlzIChhbmQg
cmVsYXRlZCBkaXNwYXRjaCBjb2RlKSB0byB1c2Ugc3RkOjpjaHJvbm8uCi0gICAgICAgIGRvdWJs
ZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9zZWdtZW50
LT5ldmVudExvb3BUaW1pbmdzKCkuYXBwZW5kKG5vdyk7Ci0gICAgfQorICAgIGlmIChpbnB1dC0+
cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dCkKKyAgICAgICAgbV9zZWdtZW50
LT5ldmVudExvb3BUaW1pbmdzKCkuYXBwZW5kKE1vbm90b25pY1RpbWU6Om5vdygpKTsKIAogICAg
IG1fc2VnbWVudC0+c3RvcmFnZSgpLnN0b3JlKFdURk1vdmUoaW5wdXQpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKaW5kZXgg
NTEwMjkzZmMxNmM2NGFjOWI1ZmI1MWU3Yjk4ZDA5MGQ4YjUxMzY2Ny4uYjA3ZDI2ZmY4NGYzODcx
MWQzNDQzNWI0NmJlYjBiYjFlZjMyNWJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVw
bGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVw
bGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAKQEAgLTUxLDggKzUxLDYgQEAgRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXIoUGFnZSYgcGFnZSwg
UmVwbGF5aW5nSW5wdXRDdXIKICAgICAsIG1fdGltZXIoKnRoaXMsICZFdmVudExvb3BJbnB1dERp
c3BhdGNoZXI6OnRpbWVyRmlyZWQpCiAgICAgLCBtX3NwZWVkKERpc3BhdGNoU3BlZWQ6OkZhc3RG
b3J3YXJkKQogewotICAgIG1fY3VycmVudFdvcmsuaW5wdXQgPSBudWxscHRyOwotICAgIG1fY3Vy
cmVudFdvcmsudGltZXN0YW1wID0gMC4wOwogfQogCiB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6cnVuKCkKQEAgLTkxLDcgKzg5LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNo
ZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICBtX3RpbWVyLnN0b3AoKTsKIAotICAgIGRvdWJsZSB3YWl0SW50ZXJ2YWwgPSAwOworICAg
IFNlY29uZHMgd2FpdEludGVydmFsOwogCiAgICAgaWYgKG1fc3BlZWQgPT0gRGlzcGF0Y2hTcGVl
ZDo6UmVhbFRpbWUpIHsKICAgICAgICAgLy8gVGhlIGdvYWwgaXMgdG8gcmVwcm9kdWNlIHRoZSBk
aXNwYXRjaCBkZWxheSBiZXR3ZWVuIGlucHV0cyBhcyBpdCB3YXMKQEAgLTEwMiwyMiArMTAwLDIy
IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0U29vbigpCiAg
ICAgICAgIGlmICghbV9wcmV2aW91c0lucHV0VGltZXN0YW1wKQogICAgICAgICAgICAgbV9wcmV2
aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50aW1lc3RhbXA7CiAKLSAgICAgICAg
ZG91YmxlIHRhcmdldEludGVydmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZp
b3VzSW5wdXRUaW1lc3RhbXA7Ci0gICAgICAgIGRvdWJsZSBlbGFwc2VkID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCkgLSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWU7CisgICAgICAg
IFNlY29uZHMgdGFyZ2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJl
dmlvdXNJbnB1dFRpbWVzdGFtcDsKKyAgICAgICAgU2Vjb25kcyBlbGFwc2VkID0gTW9ub3Rvbmlj
VGltZTo6bm93KCkgLSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWU7CiAgICAgICAgIHdhaXRJ
bnRlcnZhbCA9IHRhcmdldEludGVydmFsIC0gZWxhcHNlZDsKICAgICB9CiAKICAgICAvLyBBIG5l
Z2F0aXZlIHdhaXQgdGltZSBtZWFucyB0aGF0IGRpc3BhdGNoIHRvb2sgbG9uZ2VyIG9uIHJlcGxh
eSB0aGFuIG9uCiAgICAgLy8gY2FwdHVyZS4gSW4gdGhpcyBjYXNlLCBwcm9jZWVkIHdpdGhvdXQg
d2FpdGluZyBhdCBhbGwuCi0gICAgaWYgKHdhaXRJbnRlcnZhbCA8IDApCi0gICAgICAgIHdhaXRJ
bnRlcnZhbCA9IDA7CisgICAgaWYgKHdhaXRJbnRlcnZhbCA8IDBfcykKKyAgICAgICAgd2FpdElu
dGVydmFsID0gMF9zOwogCi0gICAgaWYgKHdhaXRJbnRlcnZhbCA+IDEwMDAuMCkgeworICAgIGlm
ICh3YWl0SW50ZXJ2YWwgPiAxMDAwX3MpIHsKICAgICAgICAgTE9HX0VSUk9SKCIlLTIwcyBUcmll
ZCB0byB3YWl0IGZvciBvdmVyIDEwMDAgc2Vjb25kcyBiZWZvcmUgZGlzcGF0Y2hpbmcgbmV4dCBl
dmVudCBsb29wIGlucHV0OyB0aGlzIGlzIHByb2JhYmx5IGEgYnVnLiIsICJSZXBsYXlFdmVudHMi
KTsKLSAgICAgICAgd2FpdEludGVydmFsID0gMDsKKyAgICAgICAgd2FpdEludGVydmFsID0gMF9z
OwogICAgIH0KIAotICAgIExPRyhXZWJSZXBsYXksICIlLTIwcyAoV0FJVDogJS4zZiBtcykiLCAi
UmVwbGF5RXZlbnRzIiwgd2FpdEludGVydmFsICogMTAwMC4wKTsKKyAgICBMT0coV2ViUmVwbGF5
LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIsIFNlY29uZHMod2FpdElu
dGVydmFsICogMTAwMC4wKS5taWxsaXNlY29uZHMoKSk7CiAgICAgbV90aW1lci5zdGFydE9uZVNo
b3Qod2FpdEludGVydmFsKTsKIH0KIApAQCAtMTI3LDcgKzEyNSw3IEBAIHZvaWQgRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0KCkKICAgICBBU1NFUlQoIW1fZGlzcGF0Y2hp
bmcpOwogCiAgICAgaWYgKG1fc3BlZWQgPT0gRGlzcGF0Y2hTcGVlZDo6UmVhbFRpbWUpIHsKLSAg
ICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7CisgICAgICAgIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOwogICAgICAgICBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAgPSBtX2N1cnJl
bnRXb3JrLnRpbWVzdGFtcDsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
cGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9F
dmVudExvb3BJbnB1dERpc3BhdGNoZXIuaAppbmRleCAyMDY3ZTc4ZDQzZjI1YTVkMjVlNGMzZjlh
NTIzMjM1YjBjNzk1ZjM0Li41OTMyYjQyYjZkNDJjMzgyMDk0ZTU0ODE0MzYwZjBkYWI2YjQ0MGQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hl
ci5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRXZlbnRMb29wSW5wdXQuaCIKICNpbmNs
dWRlICJSZXBsYXlpbmdJbnB1dEN1cnNvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVk
ZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtODYsOSArODcsOSBAQCBwcml2YXRl
OgogCiAgICAgRGlzcGF0Y2hTcGVlZCBtX3NwZWVkOwogICAgIC8vIFRoZSB0aW1lIGF0IHdoaWNo
IHRoZSBsYXN0IGlucHV0IGRpc3BhdGNoKCkgbWV0aG9kIHdhcyBjYWxsZWQuCi0gICAgZG91Ymxl
IG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSB7MC4wfTsKKyAgICBNb25vdG9uaWNUaW1lIG1f
cHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAgICAvLyBUaGUgdGltZXN0YW1wIHNwZWNpZmll
ZCBieSB0aGUgbGFzdCBkaXNwYXRjaGVkIGlucHV0LgotICAgIGRvdWJsZSBtX3ByZXZpb3VzSW5w
dXRUaW1lc3RhbXAgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzSW5wdXRUaW1l
c3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAppbmRleCBmMThkZGY0MWZjZGMwNDQ2ZWU0
MDA4YjgxYjM5YmY2YzRhNjUxNjJhLi4yODExZTc0YmYwM2Y3ODRjMzE2Y2NkOTFmYmUwMDg0ODll
MzFmMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNl
Z21lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVu
dC5jcHAKQEAgLTQ3LDggKzQ3LDggQEAgUmVmPFJlcGxheVNlc3Npb25TZWdtZW50PiBSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKIAogUmVwbGF5U2Vzc2lvblNlZ21lbnQ6OlJlcGxheVNl
c3Npb25TZWdtZW50KCkKICAgICA6IG1fc3RvcmFnZShzdGQ6Om1ha2VfdW5pcXVlPFNlZ21lbnRl
ZElucHV0U3RvcmFnZT4oKSkKKyAgICAsIG1fdGltZXN0YW1wKE1vbm90b25pY1RpbWU6Om5vdygp
KQogICAgICwgbV9pZGVudGlmaWVyKHNfbmV4dFNlZ21lbnRJZGVudGlmaWVyKyspCi0gICAgLCBt
X3RpbWVzdGFtcChjdXJyZW50VGltZU1TKCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVw
bGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmgKaW5kZXggZDU2MmI1M2MwNDQ4NDEzZjQ2MzI5OTdj
YTE5Zjk0OGRlMjNhMmQ5Yy4uZjc2NzQyYzY1OGVkYzAxMjMyY2UzM2JmZWY3OTRmMzUzMzY0NTdk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmgKQEAg
LTMwLDYgKzMwLDcgQEAKICNpZiBFTkFCTEUoV0VCX1JFUExBWSkKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNTEsMjAgKzUyLDIx
IEBAIHB1YmxpYzoKICAgICB+UmVwbGF5U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHVuc2lnbmVk
IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KLSAgICBkb3VibGUg
dGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KKyAgICBNb25vdG9uaWNU
aW1lIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisKIHByb3RlY3Rl
ZDoKICAgICBTZWdtZW50ZWRJbnB1dFN0b3JhZ2UmIHN0b3JhZ2UoKSB7IHJldHVybiAqbV9zdG9y
YWdlOyB9Ci0gICAgVmVjdG9yPGRvdWJsZSwgMD4mIGV2ZW50TG9vcFRpbWluZ3MoKSB7IHJldHVy
biBtX2V2ZW50TG9vcFRpbWluZ3M7IH0KKyAgICBWZWN0b3I8TW9ub3RvbmljVGltZSwgMD4mIGV2
ZW50TG9vcFRpbWluZ3MoKSB7IHJldHVybiBtX2V2ZW50TG9vcFRpbWluZ3M7IH0KIAogcHJpdmF0
ZToKICAgICBSZXBsYXlTZXNzaW9uU2VnbWVudCgpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNl
Z21lbnRlZElucHV0U3RvcmFnZT4gbV9zdG9yYWdlOwotICAgIFZlY3Rvcjxkb3VibGUsIDA+IG1f
ZXZlbnRMb29wVGltaW5nczsKKyAgICBWZWN0b3I8TW9ub3RvbmljVGltZSwgMD4gbV9ldmVudExv
b3BUaW1pbmdzOwogCisgICAgTW9ub3RvbmljVGltZSBtX3RpbWVzdGFtcDsKICAgICB1bnNpZ25l
ZCBtX2lkZW50aWZpZXI7CiAgICAgYm9vbCBtX2NhbkNhcHR1cmUge3RydWV9OwotICAgIGRvdWJs
ZSBtX3RpbWVzdGFtcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oIGIvU291cmNlL1dl
YkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmgKaW5kZXggNzdjM2I5NDIwYzhmYWQ0
NGRlNTNiYzAxNTJkYmU5NzZiZGQ2YjY5Mi4uMGZlZDEwOTI4MTA3YjNlODRiYWU5NWVjMjM3N2Uw
ZGM3Nzk1MWJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lu
cHV0Q3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vy
c29yLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpZiBFTkFCTEUoV0VCX1JFUExBWSkKIAogI2luY2x1
ZGUgPHJlcGxheS9JbnB1dEN1cnNvci5oPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw4
ICs0Miw4IEBAIGNsYXNzIFBhZ2U7CiBjbGFzcyBSZXBsYXlTZXNzaW9uU2VnbWVudDsKIAogc3Ry
dWN0IEV2ZW50TG9vcElucHV0RGF0YSB7Ci0gICAgRXZlbnRMb29wSW5wdXRCYXNlKiBpbnB1dDsK
LSAgICBkb3VibGUgdGltZXN0YW1wOworICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQgeyBu
dWxscHRyIH07CisgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXA7CiB9OwogCiBjbGFzcyBSZXBs
YXlpbmdJbnB1dEN1cnNvciBmaW5hbCA6IHB1YmxpYyBJbnB1dEN1cnNvciB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlU2NvcGUuY3BwCmluZGV4IDgyMjcwYWRkMGYyZjBjZjNlY2RkNzY1NDhlMDVjMTQx
ODIwYjg1ZTYuLjMwODBkNmE4YjE2YmY4NzE0MThhN2Y4ODdiNzFlYTgxODIxOTRmNWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCkBAIC01MDcsNyArNTA3LDcgQEAgdm9pZCBTY29w
ZTo6c2NoZWR1bGVVcGRhdGUoVXBkYXRlVHlwZSB1cGRhdGUpCiAKICAgICBpZiAobV9wZW5kaW5n
VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fcGVuZGluZ1Vw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVcGRhdGVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTY29wZTo6ZGlkQ2hhbmdlQWN0aXZlU3R5bGVTaGVl
dENhbmRpZGF0ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IGYwNDE1ZmNhMzBm
OWNlNGM0MTAyZmE1OGQ3YjM1MmZhZmY4NWVjM2MuLjQxOTYyYWE3M2I2NWQ5YmU2MjgxNjk4ODAy
NTE5MjFlNzhhOTk4YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTYyMSw3ICs2
MjEsNyBAQCB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlKGJvb2wg
c2VuZFBhcmVudExvYWRFdmVudHMpCiAKIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVu
dElmUG9zc2libGVBc3luY2hyb25vdXNseSgpCiB7Ci0gICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+
c3RhcnRPbmVTaG90KDApOworICAgIHN2Z0xvYWRFdmVudFRpbWVyKCktPnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN2Z0xvYWRFdmVudFRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcApp
bmRleCBjYmYzYjdiYTU4NDg1MDc3MzdlOTc1Y2RkMGE4MTkyZDMzNWZiZjUwLi43NTNlNDAxNGJj
YzIxMmNiMzA4ZDhkNjY3Y2ZmZWJmZDEzYzQ0NWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcApAQCAtMjA1LDcgKzIwNSw3IEBA
IHZvaWQgU01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIoU01JTFRpbWUgZWxhcHNlZCwgU01J
TFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lCiAgICAgICAgIHJldHVybjsKIAogICAgIFNNSUxUaW1l
IGRlbGF5ID0gc3RkOjptYXgoZmlyZVRpbWUgLSBlbGFwc2VkLCBtaW5pbXVtRGVsYXkpOwotICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5LnZhbHVlKCkpOworICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoZGVsYXkudmFsdWUoKSkpOwogfQogCiB2b2lkIFNNSUxUaW1lQ29udGFp
bmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuY3BwCmluZGV4IDYxMWM5MmI4ZmIzNDUxY2ZjNmNmOTZjOGVkMzdlNzg1YTMyZDk3ZjguLjU0
M2MzZjRkYWRlODk1MzhkOGI3NjI1MGM4YWU1OGQ1MmVmNmJmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtNTM2LDcgKzUzNiw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1lckludGVydmFsKGRv
dWJsZSBpbnRlcnZhbEluU2VjCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNldE1pbmlt
dW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWxJblNlY29uZHMgKiAxMDAwKSkpOworICAgIHNl
dHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbEluU2Vj
b25kcykpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTU2MCw3ICs1NjAsNyBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRUaW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyh0aW1lKTsKKyAgICBzZXR0aW5n
cygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29u
ZHModGltZSkpOwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNWE0ZjZlNGRhZDQ4NWNiNWFmMzEyN2RlZjgwNzhkYzc3
NjFjMTk0MC4uODQ1OThhMmE1YjA0ZDI2OTEyNDI2YTkwZTUzM2NiOTFjMTc4MWVhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTE0Myw3ICsxNDMsNyBA
QCBwcml2YXRlOgogICAgICAgICBib29sIG1fbGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xV
SUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9pbWFnZXNFbmFibGVkOwogICAgICAgICBib29sIG1f
cHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7Ci0gICAgICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKKyAgICAgICAgU2Vjb25kcyBtX21pbmltdW1UaW1l
ckludGVydmFsOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICAgICAgYm9vbCBtX3Nob3Vs
ZERpc3BsYXlTdWJ0aXRsZXM7CiAgICAgICAgIGJvb2wgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnM7
CkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgICAgICBTdHJpbmcgbV9k
ZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAgIGJvb2wgbV9mb3JjZVBlbmRpbmdXZWJHTFBv
bGljeTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNlY29uZHMgbV9vcmlnaW5hbFRpbWVXaXRob3V0
TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNlTGVn
YWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1dG9z
Y3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQbHVn
aW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3NWM0YWEy
M2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyArMTg3LDcg
QEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAKIGludCBX
b3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0
aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFs
bCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVv
dXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUo
YWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9CiAK
IHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAt
MTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQg
dGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6dW5p
cXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAgcmV0
dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omlu
c3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0
aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhckludGVy
dmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRl
eCAwY2E3Mzg5ZWJhMjdmOWM3YjlhYWRmZTdkNWU1MjQxYmUxMDc3NzJmLi5jNjEyOTdmNmNiMTA5
NTEwNDdlOTA1MGVlODEwMmJlZmQ1MWZlZjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVx
dWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4geyB9Owog
CiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0IG5l
dHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0IHdpdGgg
YSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRv
dWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0TWls
bGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGltZW91dFRp
bWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsKKyAgICBT
ZWNvbmRzIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxs
aXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3RvbmljVGlt
ZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoMF9zLCBpbnRlcnZhbCkpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTQ5
Niw3ICs0OTYsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVx
dWVzdDo6cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9p
ZD4geyBFeGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07CiAgICAgICAgIHNldFBlbmRpbmdBY3Rp
dml0eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25l
dHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+
IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxI
dHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVv
dXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0g
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRU
aW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1p
bGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykpOwogICAgICAgICB9CiAg
ICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwog
ICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVy
LnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgbV9leGNlcHRpb25Db2RlID0gTkVUV09SS19FUlI7CkBAIC0xMTgz
LDcgKzExODMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUoKQogICAgIC8vIFdlIGFy
ZSBub3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBpbiByZXN1bWUoKSBzbyBkaXNw
YXRjaAogICAgIC8vIHRoZSBlcnJvciBldmVudCBpbiBhIHRpbWVyLgogICAgIGlmIChtX2Rpc3Bh
dGNoRXJyb3JPblJlc3VtaW5nICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggMDRhYmMwOWRkN2Y2YmI4
YjhhOTVhNTI0MTI3YzE0NjhjZmRhYzI3MS4uMmY4OGY1OTc0NzYwNDY2ZGU2MGJhOTYyNDBhMjJj
OWQwY2FmOGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya0Vycm9yVGltZXJGaXJlZCgpOwogCiAg
ICAgdW5zaWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRzIHsgMCB9OwotICAgIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5kaW5nVGltZTsKKyAgICBNb25vdG9uaWNU
aW1lIG1fc2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90aW1lb3V0VGltZXI7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMw
ODczLi5lNGM5OTU1MTA0MDYxMzI3M2FkZmUxNzU4M2I4YTA3ZjJmZDdkMjE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMg
cGVyIHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgPSA1
MF9tczsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVu
dFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEy
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhy
b3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJvdHRs
ZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhD
b21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIHN0
YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAg
ICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3Qg
ZnJlcXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVl
bnQgZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApA
QCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGU6OnJlc3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2YgYWN0aXZlIERPTSBvYmplY3RzIHRvIHJl
c3VtZSB0aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBldmVudC1oYW5kbGVyCiAgICAgLy8gY291
bGQgaW5zZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMgdG8gdGhlIGxpc3QuCiAgICAgLy8gbV9k
ZWZlckV2ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxsIGRlZmVycmVkIGV2ZW50cyBoYXZlIGJl
ZW4gZGlzcGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXgg
OTcxYmQyMzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUwMzQ4NGE4ZC4uMzQwZmI1YzAwZDE3M2Zi
NjE2MWE3NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAgLTU1LDcgKzU1
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNl
Y29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAgICAgdm9pZCBk
aXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTku
LmFmZjk1YmJhMzVlZGMzOTY5N2NiMGU5OWRlMDdmMjViNDc4ZjA5MjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5n
ZXMsIGRvbid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVw
IGEgYmF0Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhl
IGZvbGxvd2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRl
cnZhbCA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSBT
ZWNvbmRzKDEpOwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93IG1hbnkgaXRlbXMgd2UnbGwgc2No
ZWR1bGUgdG8gc3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFrZXMgaXQKIC8vIG11Y2ggaGFyZGVy
IHRvIHN0YXJ2ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2UgYW5kIHRoZSBPUydzIElPIHN1YnN5
c3RlbSBpbiBnZW5lcmFsLgpAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5j
OjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZh
bHVlCiAKICAgICBtX2NoYW5nZWRJdGVtcy5zZXQoa2V5LCB2YWx1ZSk7CiAgICAgaWYgKCFtX3N5
bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChT
dG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0
b3JhZ2VTeW5jSW50ZXJ2YWwpOwogCiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5j
ZWQgYnkgdGhlIGNhbGwgdG8gZW5hYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAg
IC8vIHN5bmNUaW1lckZpcmVkIGZ1bmN0aW9uLgpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgU3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKCkKICAgICBtX2NoYW5nZWRJdGVtcy5jbGVhcigp
OwogICAgIG1faXRlbXNDbGVhcmVkID0gdHJ1ZTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0
aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50
ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2Fs
bCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVy
RmlyZWQgZnVuY3Rpb24uCkBAIC0xNTIsNyArMTUyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6
OnNjaGVkdWxlQ2xvc2VEYXRhYmFzZSgpCiAgICAgbV9zeW5jQ2xvc2VEYXRhYmFzZSA9IHRydWU7
CiAgICAgCiAgICAgaWYgKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3lu
Y1RpbWVyLnN0YXJ0T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5j
VGltZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAKICAgICAg
ICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0byBlbmFibGVTdWRk
ZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmlyZWQgZnVuY3Rpb24u
CkBAIC0xNzIsNyArMTcyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVk
KCkKICAgICAgICAgLy8gcHJldmlvdXMgb25lLiBCdXQsIGlmIHdlJ3JlIHNodXR0aW5nIGRvd24s
IHNjaGVkdWxlIGl0IGFueXdheS4KICAgICAgICAgaWYgKG1fc3luY0luUHJvZ3Jlc3MgJiYgIW1f
ZmluYWxTeW5jU2NoZWR1bGVkKSB7CiAgICAgICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpOwotICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VT
eW5jSW50ZXJ2YWwpOworICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3Jh
Z2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTIx
OSw3ICsyMTksNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAg
IGlmIChwYXJ0aWFsU3luYykgewogICAgICAgICAvLyBJZiB3ZSBkaWRuJ3QgZmluaXNoIHN5bmNp
bmcsIHRoZW4gd2UgbmVlZCB0byBmaW5pc2ggdGhlIGpvYiBsYXRlci4KICAgICAgICAgQVNTRVJU
KCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVT
aG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNo
b3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVGhlIGZv
bGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbHMgdG8gZGlzYWJsZVN1ZGRlblRlcm1pbmF0
aW9uIGluIHRoZQogICAgICAgICAvLyBzY2hlZHVsZUl0ZW1Gb3JTeW5jLCBzY2hlZHVsZUNsZWFy
LCBhbmQgc2NoZWR1bGVGaW5hbFN5bmMgZnVuY3Rpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9T
dG9yYWdlVHJhY2tlci5jcHAKaW5kZXggNTlhMDBmZTMwYTk2M2Y1ODEzZDhiMGRkYTA0ZGI2MDgx
YTY2MjNiZC4uOGJmZmI0NGRlNjQ2OGU3M2I4YTc4OTAyYjQyZGFhZjlmY2E0N2MwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHN0
YXRpYyBTdG9yYWdlVHJhY2tlciogc3RvcmFnZVRyYWNrZXIgPSBudWxscHRyOwogCiAvLyBJZiB0
aGVyZSBpcyBubyBkb2N1bWVudCByZWZlcmVuY2luZyBhIHN0b3JhZ2UgZGF0YWJhc2UsIGNsb3Nl
IHRoZSB1bmRlcmx5aW5nIGRhdGFiYXNlCiAvLyBhZnRlciBpdCBoYXMgYmVlbiBpZGxlIGZvciBt
X1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCBzZWNvbmRzLgotc3RhdGljIGNvbnN0IGRvdWJs
ZSBEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gMzAwOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMF9zOwogICAg
IAogdm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBz
dG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNsaWVudCkKIHsKQEAgLTk3LDcgKzk3
LDcgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFn
ZVBhdGgpCiAgICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+KCkp
CiAgICAgLCBtX2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9uZWVkc0luaXRpYWxpemF0aW9uKGZh
bHNlKQotICAgICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VE
YXRhYmFzZUlkbGVJbnRlcnZhbCkKKyAgICAsIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
KGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9T
dG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3ZjU5
NGU4ZmEzYmRhY2E4OC4uNzI2ZjMyNTFiMWQxZWVmNmMxYWFmMTEyNjFjMGQyOTk3YjU5MTRkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKQEAgLTU5LDggKzU5LDggQEAg
cHVibGljOgogICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAotICAgIGRvdWJsZSBzdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDsgfQotICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBp
bnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9Cisg
ICAgU2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX3N0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRs
ZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2
YWwgPSBpbnRlcnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJEYXRh
YmFzZSgpOwogCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIG1f
aXNBY3RpdmU7CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6YXRpb247Ci0gICAgZG91YmxlIG1f
U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOworICAgIFNlY29uZHMgbV9zdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVs
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hl
ZHVsZXIuY3BwCmluZGV4IDExYmNlM2JlZTBlMGJhMWQ3MDJmNzJjNjY0NTNjYzJhMmJkZWI3ZjYu
LmE2Y2Y4NGZjMTk1MjU5NjNkNDZkMmJhYzk1N2FmYTJiM2ZhOGExYWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxl
ci5jcHAKQEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6
cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpz
Y2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCkKIHsKICAgICBpZiAoIW1fcmVxdWVzdFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHkubW0KaW5kZXggYjlhYjhhMGRkZGNjNzY0N2RhNzg2MzM5ODQyMzI3Y2E1YzdhOTdh
OS4uMDZlOWVkNmM1N2RiNTQ3MjI3YWY0MmM1YTJmMDVhZmRhY2RlZWUxNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtNzQ0LDcgKzc0NCw3IEBAIHZvaWQgTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgbV9wbHVnaW5SZXF1ZXN0
cy5yZW1vdmVGaXJzdCgpOwogICAgIAogICAgIGlmICghbV9wbHVnaW5SZXF1ZXN0cy5pc0VtcHR5
KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9y
ZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgCiAgICAgcGVyZm9ybVJlcXVlc3Qo
cmVxdWVzdC5nZXQoKSk7CiB9CkBAIC04MDAsNyArODAwLDcgQEAgTlBFcnJvciBOZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHk6OmxvYWRSZXF1ZXN0KE5TVVJMUmVxdWVzdCAqcmVxdWVzdCwgY29u
c3QgY2gKIAogICAgICAgICBhdXRvIHBsdWdpblJlcXVlc3QgPSBQbHVnaW5SZXF1ZXN0OjpjcmVh
dGUocmVxdWVzdElELCByZXF1ZXN0LCB0YXJnZXQsIGFsbG93UG9wdXBzKTsKICAgICAgICAgbV9w
bHVnaW5SZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShwbHVnaW5SZXF1ZXN0KSk7Ci0gICAgICAgIG1f
cmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgUmVmUHRyPEhvc3RlZE5ldHNj
YXBlUGx1Z2luU3RyZWFtPiBzdHJlYW0gPSBIb3N0ZWROZXRzY2FwZVBsdWdpblN0cmVhbTo6Y3Jl
YXRlKHRoaXMsIHJlcXVlc3RJRCwgcmVxdWVzdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCmluZGV4IDA1Y2M0ZDQ3MmRh
ODYxMGEzNGJhNWJkYmVjOGExNjNlNGFkMzhiOTQuLmRiMGMwMGZlN2FjNWRjN2RmNzBlOTkwYmY2
MDFjZTE5ZmVmZjVmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2Vi
TmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9X
ZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQpAQCAtNTI5LDcgKzUyOSw3IEBAIHZvaWQgV2ViTmV0
c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0
ZXMgPD0gMCkgewogICAgICAgICAgICAgLy8gUGx1Zy1pbiBjYW4ndCByZWNlaXZlIGFueW1vcmUg
ZGF0YSByaWdodCBub3cuIFNlbmQgaXQgbGF0ZXIuCiAgICAgICAgICAgICBpZiAoIW1fZGVsaXZl
ckRhdGFUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgICAgIG1fZGVsaXZlckRhdGFUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICBkZWxpdmVyeUJ5dGVzID0gc3RkOjptaW4oZGVsaXZlcnlCeXRlcywgdG90YWxC
eXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9Q
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBkOWU1OGUzMzY5NGQ1MGNjMWY2
NzZiMDRmYzFmOThlM2VmYTRiZDNlLi40YjJhN2EwYWVmYjFjZTE3NjZjNmM2ZTNmM2NjODU4YTI0
MzA5OWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBl
UGx1Z2luVmlldy5tbQpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdp
blZpZXcgKmN1cnJlbnRQbHVnaW5WaWV3ID0gbmlsOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQ
b3J0U3RhdGUqIFBvcnRTdGF0ZTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1l
ckludGVydmFsID0gMC4yNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFRocm90dGxlZFRpbWVySW50
ZXJ2YWwgPSBTZWNvbmRzKDAuMjUpOwogCiBjbGFzcyBQbHVnaW5UaW1lciA6IHB1YmxpYyBUaW1l
ckJhc2UgewogcHVibGljOgpAQCAtMTMwLDcgKzEzMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
ICAgIEFTU0VSVCghaXNBY3RpdmUoKSk7CiAKLSAgICAgICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9
IG1faW50ZXJ2YWwgLyAxMDAwLjA7CisgICAgICAgIFNlY29uZHMgdGltZUludGVydmFsID0gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX2ludGVydmFsKTsKICAgICAgICAgCiAgICAgICAgIGlm
ICh0aHJvdHRsZSkKICAgICAgICAgICAgIHRpbWVJbnRlcnZhbCA9IHN0ZDo6bWF4KHRpbWVJbnRl
cnZhbCwgVGhyb3R0bGVkVGltZXJJbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3Rv
cmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQppbmRleCAxZjllYWU1NWVmZGNhNWU2ZmFkNWQ2MGU0
YmUwZjFiOTg3NDM2ODRkLi4xMThhMTEzNDU2YWRjNWViNWFjZTk0YTk5NTBiM2E3YjA1YTI3Mzll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2Vy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0K
QEAgLTExNiw3ICsxMTYsNyBAQCBzdGF0aWMgcHRocmVhZF9vbmNlX3QgcmVnaXN0ZXJMb2NhbFN0
b3JhZ2VQYXRoID0gUFRIUkVBRF9PTkNFX0lOSVQ7CiAKICsgKHZvaWQpc2V0U3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsOihkb3VibGUpaW50ZXJ2YWwKIHsKLSAgICBXZWJLaXQ6OlN0b3JhZ2VU
cmFja2VyOjp0cmFja2VyKCkuc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGludGVydmFs
KTsKKyAgICBXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjp0cmFja2VyKCkuc2V0U3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0KIAogKyAodm9pZCljbG9zZUlk
bGVMb2NhbFN0b3JhZ2VEYXRhYmFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpp
bmRleCBkYWRjMjYyMzgzNTNkYjc4ZmQyNTk1ZDJiMzdiZGQ2NDlkMWNlYjBmLi45MjdiZmVhZDU5
YTQ0MjY0MTYwOGZiNGQ5NzM1Y2UzM2IwZmUxYmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCkBAIC0yNzQ5LDcgKzI3NDksNyBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRh
aW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGF0Y2hKYXZh
U2NyaXB0V2luZG93T25FcnJvckV2ZW50cyhzaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dP
bkVycm9yRXZlbnRzKCkpOwogCiAgICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRW5hYmxlZChb
cHJlZmVyZW5jZXMgX2FsbG93UGFzc3dvcmRFY2hvXSk7Ci0gICAgc2V0dGluZ3Muc2V0UGFzc3dv
cmRFY2hvRHVyYXRpb25JblNlY29uZHMoW3ByZWZlcmVuY2VzIF9wYXNzd29yZEVjaG9EdXJhdGlv
bl0pOworICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uKFNlY29uZHMoW3ByZWZl
cmVuY2VzIF9wYXNzd29yZEVjaG9EdXJhdGlvbl0pKTsKIAogICAgIEFTU0VSVF9XSVRIX01FU1NB
R0Uoc2V0dGluZ3MucGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zKCksICJQYWdlQ2FjaGVTdXBwb3J0
c1BsdWdpbnMgc2hvdWxkIGJlIGVuYWJsZWQgb24gaU9TLiIpOwogICAgIHNldHRpbmdzLnNldERl
bGVnYXRlc1BhZ2VTY2FsaW5nKHRydWUpOwpAQCAtMjg2OCw3ICsyODY4LDcgQEAgc3RhdGljIGJv
b2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogCiAgICAgTlNUaW1lSW50ZXJ2
YWwgdGltZW91dCA9IFtwcmVmZXJlbmNlcyBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9u
VGltZW91dEluU2Vjb25kc107CiAgICAgaWYgKHRpbWVvdXQgPiAwKQotICAgICAgICBzZXR0aW5n
cy5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyh0aW1l
b3V0KTsKKyAgICAgICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lv
blRpbWVvdXQoU2Vjb25kcyh0aW1lb3V0KSk7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBQ
cmVmZXJlbmNlcyBhcmUgc3RvcmVkIG9uIHRoZSBnbG9iYWwgY2FjaGUgc3RvcmFnZSBtYW5hZ2Vy
LCBub3QgaW4gU2V0dGluZ3MuCiAgICAgW1dlYkFwcGxpY2F0aW9uQ2FjaGUgc2V0RGVmYXVsdE9y
aWdpblF1b3RhOltwcmVmZXJlbmNlcyBhcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3Rh
XV07CkBAIC04MzAyLDcgKzgzMDIsNyBAQCBzdGF0aWMgV2ViRnJhbWVWaWV3ICpjb250YWluaW5n
RnJhbWVWaWV3KE5TVmlldyAqdmlldykKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkg
PSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25l
ZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQgcGFnZUNhY2hl
U2l6ZSA9IDA7CiAKQEAgLTg0MjksNyArODQyOSw3IEBAIHN0YXRpYyBXZWJGcmFtZVZpZXcgKmNv
bnRhaW5pbmdGcmFtZVZpZXcoTlNWaWV3ICp2aWV3KQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhh
dCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgog
ICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IHN0ZDo6bWF4PHVuc2lnbmVkPigyNCwgY2Fj
aGVNYXhEZWFkQ2FwYWNpdHkpOwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwgPSA2MF9zOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAg
ICBpZiAobWVtU2l6ZSA+PSAxMDI0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyLmNwcAppbmRleCBiYzE4ZGViNzVjY2Q3MDgyN2FmZmFlOWUwNzYyMWYy
MzUwMWY1NGVhLi43ZGIyNzZlMDc4NGZhZTBjMjcxODYwM2I4ZjA0MmM2ODE4Y2Q1NWUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcApAQCAt
NTIsNyArNTIsNyBAQAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCi1zdGF0aWMgY29uc3QgZmxvYXQgdGltZXJJbnRlcnZhbCA9IDAuMDMzOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCA9IDAuMDMzX3M7CiAKIC8vIEhVRCBTaXplCiBz
dGF0aWMgY29uc3QgaW50IHdpbmRvd0hlaWdodCA9IDU5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKaW5kZXggYTUz
YzMxNWMyMDE4NDM5NGYzYjQwNjRhM2Y1NDQ3NTczZWQyY2YwOS4uMTcyOWZmZjYzYzBmZmE0Njc1
ZDM3ODEzYWM2YWM3MGQ3NjQ5ZDk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1
Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCkBAIC0zOSw3ICszOSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRoaXMgdmFsdWUgYWxsb3dzIEZsYXNoIDYwIG1lc3Nh
Z2VzL3NlY29uZCwgd2hpY2ggc2hvdWxkIGJlIGVub3VnaCBmb3IgdmlkZW8KIC8vIHBsYXliYWNr
LCBhbmQgYWxzbyBnZXRzIHVzIG92ZXIgdGhlIGxpbWl0IGZvciBraWNraW5nIGludG8gaGlnaC1y
ZXNvbHV0aW9uCiAvLyB0aW1lciBtb2RlIChzZWUgU2hhcmVkVGltZXJXaW4uY3BwKS4KLXN0YXRp
YyBjb25zdCBkb3VibGUgTWVzc2FnZVRocm90dGxlVGltZUludGVydmFsID0gMC4wMTY7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgPSBTZWNvbmRzKDAu
MDE2KTsKIAogLy8gRHVyaW5nIGEgY29udGludW91cyBzdHJlYW0gb2YgbWVzc2FnZXMsIHByb2Nl
c3Mgb25lIGV2ZXJ5IDVtcy4KIHN0YXRpYyBjb25zdCBkb3VibGUgTWVzc2FnZURpcmVjdFByb2Nl
c3NpbmdJbnRlcnZhbCA9IDAuMDA1OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1
Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2lu
UGFja2FnZS5jcHAKaW5kZXggYjY3ZmE1M2ZlODBiMWVmOGMwMWFmZmM4NmRhNWQ3MTYzMTU1ZGQy
NC4uMTc1NGJkZDU0ZjA3MzllMmRmNmNhY2I3OWUxNTE1YTQ5MjE3Y2YxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZv
aWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKCkKICAgICBBU1NFUlQobV9tb2R1bGUp
OwogICAgIEFTU0VSVCghbV9sb2FkQ291bnQpOwogCi0gICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAppbmRleCAyZWYzOTU1YmU2MWE4
ZDA1NDI0YWQxMzk5NjJkZDBkN2ZhNmFlNDQ0Li5kYTgzM2FhZjRmOGJhZTQ0YjQ4MDRiMzUyMWZj
ZDE3N2I4Y2FkZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
blN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0u
Y3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkK
ICAgICAgICAgaW50MzJfdCBkZWxpdmVyeUJ5dGVzID0gbV9wbHVnaW5GdW5jcy0+d3JpdGVyZWFk
eShtX2luc3RhbmNlLCAmbV9zdHJlYW0pOwogCiAgICAgICAgIGlmIChkZWxpdmVyeUJ5dGVzIDw9
IDApIHsKLSAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWxpdmVyeUJ5
dGVzID0gbWluKGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVk
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IDIwN2E5NjEz
Y2NhOGQ5YzEwMzdjZmI0ZDFiMWU0MmE2ODUxOTU2OTYuLjRlZDZkNWIwYjU1OTQ1ZjE3MDAzZWNj
MjRmMzk2ZmE4NjQ0OTYwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMv
UGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcApAQCAtNDczLDcgKzQ3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6cmVxdWVzdFRpbWVyRmly
ZWQoKQogICAgIC8vIFNjaGVkdWxlIGEgbmV3IHJlcXVlc3QgYmVmb3JlIGNhbGxpbmcgcGVyZm9y
bVJlcXVlc3Qgc2luY2UgdGhlIGNhbGwgdG8KICAgICAvLyBwZXJmb3JtUmVxdWVzdCBjYW4gY2F1
c2UgdGhlIHBsdWdpbiB2aWV3IHRvIGJlIGRlbGV0ZWQuCiAgICAgaWYgKCFtX3JlcXVlc3RzLmlz
RW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHBlcmZvcm1SZXF1ZXN0
KHJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6
c2NoZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5SZXF1ZXN0PiByZXF1ZXN0KQog
ICAgIG1fcmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwogCiAgICAgaWYgKCFtX2lz
SmF2YVNjcmlwdFBhdXNlZCkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogTlBFcnJv
ciBQbHVnaW5WaWV3Ojpsb2FkKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVl
c3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSkKQEAgLTY0Niw3ICs2
NDYsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnNldEphdmFTY3JpcHRQYXVzZWQoYm9vbCBwYXVzZWQp
CiAgICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQogICAgICAgICBtX3JlcXVlc3RUaW1lci5z
dG9wKCk7CiAgICAgZWxzZSBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3Jl
cXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCkBAIC0x
MTczLDcgKzExNzMsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmtlZXBBbGl2ZSgpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIHJlZigpOwotICAgIG1fbGlmZVN1cHBvcnRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5WaWV3V2luLmNwcAppbmRleCAyZmNhOWYzYzk1ZDczZGJhM2FjMzI2MjU5ZWE4NmRkY2Rk
YTIwNzBmLi5lNWMzYzU0YWY5NzFjNmVkOTM4MTIyNmM2YmY0ZDA2Njg5YjJmZWYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKQEAgLTMzNCw3ICszMzQs
NyBAQCBQbHVnaW5WaWV3Ojp3bmRQcm9jKEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0g
d1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogCiAgICAgICAgIHB1c2hQb3B1cHNFbmFibGVkU3RhdGUo
dHJ1ZSk7CiAKLSAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0K
IAogICAgIGlmIChtZXNzYWdlID09IFdNX1BSSU5UQ0xJRU5UKSB7CkBAIC04MzgsNyArODM4LDcg
QEAgdm9pZCBQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVjdChOUFJlY3QqIHJlY3QpCiAgICAgICAg
IGlmIChtX3BsdWdpbi0+cXVpcmtzKCkuY29udGFpbnMoUGx1Z2luUXVpcmtUaHJvdHRsZUludmFs
aWRhdGUpKSB7CiAgICAgICAgICAgICBtX2ludmFsaWRSZWN0cy5hcHBlbmQocik7CiAgICAgICAg
ICAgICBpZiAoIW1faW52YWxpZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAgICAg
bV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAuMDAxKTsKKyAgICAgICAgICAgICAgICBt
X2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMV9tcyk7CiAgICAgICAgIH0gZWxzZQogICAg
ICAgICAgICAgaW52YWxpZGF0ZVJlY3Qocik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3Bw
IGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0NvbnRleHQuY3BwCmluZGV4IGZjMGQxNTU3MGZlYWVjOWRiMzg2OTcwOGI1YWI3YzdhNGFkMjIy
ODIuLmExMGEwMjA2NGJlOTMwMWUwODQ0YjVlMGI0YzAwOThlNjAwZjRlOTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAgIGlmICht
X2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xh
eWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNSk7CisgICAgbV9sYXllckZsdXNoVGltZXIu
c3RhcnRPbmVTaG90KDAuMDVfcyk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Nv
bnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4
IGQ1NzAwNDhkYTdhMjY0MDZiY2FkMDZjMjVkZTg2OGZlNWFjYjJiMDMuLjRiNGZjZDE5MWE5MDcz
Y2FlOTA5MDc3NjBiZWYwNGE1OTllYWIwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC01MjUs
NyArNTI1LDcgQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZWwgY2Fj
aGVNb2RlbCkKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2ln
bmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRD
YXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0g
c3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAKQEAg
LTYzNyw3ICs2MzcsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2Rl
bCBjYWNoZU1vZGVsKQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0
ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBjYWNoZU1heERl
YWRDYXBhY2l0eSA9IG1heCgyNHUsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2
MCB9OworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gNjBfczsKIAog
ICAgICAgICAvLyBNZW1vcnkgY2FjaGUgY2FwYWNpdHkgKGluIGJ5dGVzKQogICAgICAgICAvLyAo
VGhlc2UgdmFsdWVzIGFyZSBzbWFsbCBiZWNhdXNlIFdlYkNvcmUgZG9lcyBtb3N0IGNhY2hpbmcg
aXRzZWxmLikKQEAgLTE1MTYsNyArMTUxNiw3IEBAIHZvaWQgV2ViVmlldzo6Y2xvc2VXaW5kb3dT
b29uKCkKICAgICBtX2Nsb3NlV2luZG93VGltZXIgPSBXaW5kb3dDbG9zZVRpbWVyOjpjcmVhdGUo
dGhpcyk7CiAgICAgaWYgKCFtX2Nsb3NlV2luZG93VGltZXIpCiAgICAgICAgIHJldHVybjsKLSAg
ICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nsb3NlV2luZG93
VGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgQWRkUmVmKCk7CiB9CkBAIC03NDYxLDgg
Kzc0NjEsNyBAQCBIUkVTVUxUIFdlYlZpZXc6OnNldE1pbmltdW1UaW1lckludGVydmFsKGRvdWJs
ZSBpbnRlcnZhbCkKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0dXJuIEVfRkFJTDsKIAot
ICAgIGF1dG8gaW50ZXJ2YWxNUyA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWwgKiAxMDAwKSk7Ci0gICAgcGFnZSgpLT5z
ZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKGludGVydmFsTVMpOworICAgIHBh
Z2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGludGVy
dmFsKSk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCmluZGV4IDliZmE0ZWM2NGM4NDcwYzdkYmVi
Y2U0ZmZlM2JmYzA0Yzg1NjNiOTAuLjk0ZTE0N2Y1MjhhNTgzZmQwZGVjYTcxMTUzMDM2MTkzMmUx
MjY0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Rh
dGFUYXNrLmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFzazo6c2NoZWR1
bGVGYWlsdXJlKEZhaWx1cmVUeXBlIHR5cGUpCiB7CiAgICAgQVNTRVJUKHR5cGUgIT0gTm9GYWls
dXJlKTsKICAgICBtX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBtX2ZhaWx1cmVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrOjpkaWRSZWNlaXZlUmVzcG9uc2UoUmVzb3Vy
Y2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxl
dGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9h
ZC5jcHAKaW5kZXggNTE3Zjg0NWFhYmU1MjNmMmVmYTk2MTg0ZWVmNzI1M2FlMmNhNGQ5Zi4uOGNm
OTljY2I4NDYzNWQyYTNjNjJiNWQzODg4MWYwMDczMDQzODQzMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcApAQCAtNTAsNyArNTAsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKICNpZiBVU0UoTkVUV09SS19TRVNTSU9OKQogCiBzdHJ1Y3Qg
TmV0d29ya0xvYWQ6OlRocm90dGxlIHsKLSAgICBUaHJvdHRsZShOZXR3b3JrTG9hZCYgbG9hZCwg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSwgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3Bv
bnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKKyAgICBUaHJvdHRsZShO
ZXR3b3JrTG9hZCYgbG9hZCwgU2Vjb25kcyBkZWxheSwgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3Bv
bnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKICAgICAgICAgOiB0aW1l
cihsb2FkLCAmTmV0d29ya0xvYWQ6OnRocm90dGxlRGVsYXlDb21wbGV0ZWQpCiAgICAgICAgICwg
cmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZSkpCiAgICAgICAgICwgcmVzcG9uc2VDb21wbGV0aW9u
SGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKQpAQCAtMzExLDggKzMxMSw4IEBAIHZvaWQgTmV0d29y
a0xvYWQ6OmRpZFJlY2VpdmVSZXNwb25zZU5ldHdvcmtTZXNzaW9uKFJlc291cmNlUmVzcG9uc2Um
JiByZXNwb25zZSwKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gZGVsYXkgPSBO
ZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9hZFRocm90dGxlTGF0ZW5jeSgpOwotICAgIGlm
IChkZWxheSA+IDBtcykgeworICAgIFNlY29uZHMgZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2lu
Z2xldG9uKCkubG9hZFRocm90dGxlTGF0ZW5jeSgpOworICAgIGlmIChkZWxheSA+IDBfcykgewog
ICAgICAgICBtX3Rocm90dGxlID0gc3RkOjptYWtlX3VuaXF1ZTxUaHJvdHRsZT4oKnRoaXMsIGRl
bGF5LCBXVEZNb3ZlKHJlc3BvbnNlKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKaW5kZXggYzk2ZDA4MjllMTViNmQ4OGJhZTE1Y2YwYzEyY2M0Y2QyMzhm
MTEzYi4uOGM1YjdhNDg4NWZjNDQ5ZWVhZGUwNzQ0Y2Q5ZmM2MDI1YWNlNjFhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xMTUsNyAr
MTE1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBncmFudFNhbmRib3hFeHRlbnNpb25zVG9EYXRh
YmFzZVByb2Nlc3NGb3JCbG9icyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGdW5j
dGlvbjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKIAotICAgIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRo
cm90dGxlTGF0ZW5jeTsgfQorICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0
IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsgfQogCiBwcml2YXRlOgogICAgIE5ldHdv
cmtQcm9jZXNzKCk7CkBAIC0yMDcsNyArMjA3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3Vw
cHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaXNrQ2Fj
aGVJc0Rpc2FibGVkRm9yVGVzdGluZzsKICAgICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJU
cnVzdEV2YWx1YXRpb247Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2xvYWRUaHJv
dHRsZUxhdGVuY3k7CisgICAgU2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICB0
eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUHJvY2Vz
c1N1cHBsZW1lbnQ+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPj4gTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50TWFwOwogICAgIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZjQ1NjljOTQ2OWE1NzcyZTYwYjFj
OWJmZjU2MDg1ZDNhY2I0M2MzZC4uNzA5NTE1MzBlMzI5ZmExYzVmM2ZmOGU2NzJiOTM0MzA4YzU4
ZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKICNpbmNs
dWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAg
LTczLDcgKzc0LDcgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsK
ICAgICBib29sIHNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsK
ICAgICBib29sIHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbjsKICAgICBib29sIHVybFBh
cnNlckVuYWJsZWQgeyBmYWxzZSB9OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9h
ZFRocm90dGxlTGF0ZW5jeSB7IDBtcyB9OworICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5j
eTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJv
dG9jb2xzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCA0MjU1YWRlNDExNTBkYTk2
OWYyMTExNzUxMmQ3ZGY2ZjdmN2M5YzRhLi41YjI5ZTBlYmQ0M2EzOGJlNTJhZTY2ZGM1MjEwMzJl
YzIwNjcwYWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKQEAgLTUwLDcgKzUwLDcgQEAg
cHVibGljOgogICAgIFJlc291cmNlTG9hZElkZW50aWZpZXIgaWRlbnRpZmllciB7IDAgfTsKICAg
ICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiByZXF1ZXN0Qm9keVNhbmRib3hFeHRl
bnNpb25zOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCiAgICAgUmVm
UHRyPFNhbmRib3hFeHRlbnNpb24+IHJlc291cmNlU2FuZGJveEV4dGVuc2lvbjsgLy8gQ3JlYXRl
ZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUgeyAwbXMgfTsKKyAgICBTZWNvbmRzIG1heGltdW1C
dWZmZXJpbmdUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApp
bmRleCA5MDEwNTk5NjhhMzkxMzAxZGEyYWM5MjM3NGI3ZjkyNDVkNjk0ZGQ2Li4yYzdhZTNhYTc2
YjcyOTc1NjQ4MDMwMzU2YmQ5ZjA3NDIwZWMyZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIwOSw3
ICsyMDksNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9hZChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVu
c2lvbnMoKTsKIAotICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGlt
dW1CdWZmZXJpbmdUaW1lID4gMG1zKQorICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJh
bWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMF9zKQogICAgICAgICBtX2J1ZmZlcmVkRGF0
YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmggYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCmluZGV4IDMwMGMzMDgxMjRm
MzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVjMjlkMTIuLmEyZTQzM2EzMDNiMGU5MmQ0ZWM2M2M1ZDY5
M2Q0NTBhZWZhNmVjYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBu
ZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAg
ICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAg
ICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwX3MpOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
cGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGE0MzU5
ZjNiMDE3YzQ0MTczMWFjODllYjg3N2ZlZTJmMmM1N2IxOGIuLjA0MzA1NWI2ZWY2ZTIzZDc0NDNk
MjNmZDgxYTllYzk1YzYxNGRiZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2Fj
aGUgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJl
bG9hZGVkRW50cnlMaWZldGltZSA9IDEwczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZWxvYWRl
ZEVudHJ5TGlmZXRpbWUgPSAxMF9zOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIEhhc2hD
b3VudGVkU2V0PFN0cmluZz4mIGFsbFNwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdl
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCmluZGV4IDEwYTUyMDNlZmQ4MTgwZTBhY2Ez
NGJlNTRkZjUyNTgyZjU5Yzk1ZjcuLjgyMTJjNzYzN2MzMTJkZmZmNzcxY2I3YmEwOTE5YmU5MTli
NThlNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCkBAIC00NCw3ICs0NCw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKIHN0YXRpYyBjb25z
dCBjaGFyKiBTdGF0aXN0aWNzRGF0YWJhc2VOYW1lID0gIldlYktpdENhY2hlU3RhdGlzdGljcy5k
YiI7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbnVtV3JpdGVJ
bnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoMTAwMDApOworc3RhdGljIGNvbnN0
IFNlY29uZHMgbWluaW51bVdyaXRlSW50ZXJ2YWwgPSAxMF9zOwogCiBzdGF0aWMgYm9vbCBleGVj
dXRlU1FMQ29tbWFuZChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0
cmluZyYgc3FsKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCBiMDZiMWNmODZhODVkNDQx
ZGFjMTdjODM1NTAzZjVmMDNjZGVjMWEyLi5lY2ExMDJmZGVlYjEyZGFhMDBhZjRhMWQ3ZTRjMWIy
YmEzYjU1ZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtNTc0LDcgKzU3NCw3IEBAIHZv
aWQgU3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3Bl
cmF0aW9uPiByZWFkT3BlcmF0aW9uCiAgICAgbV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RG
TW92ZShyZWFkT3BlcmF0aW9uUHRyKSk7CiAKICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2Ug
ZGlzayBvcGVyYXRpb25zIHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1l
IHdlIHJhdGhlciBnbyB0byBuZXR3b3JrLgotICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAx
NTAwbXM7CisgICAgY29uc3QgU2Vjb25kcyByZWFkVGltZW91dCA9IDEuNV9zOwogICAgIG1fcmVh
ZE9wZXJhdGlvblRpbWVvdXRUaW1lci5zdGFydE9uZVNob3QocmVhZFRpbWVvdXQpOwogCiAgICAg
Ym9vbCBzaG91bGRHZXRCb2R5QmxvYiA9IG1heUNvbnRhaW5CbG9iKHJlYWRPcGVyYXRpb24ua2V5
KTsKQEAgLTc5Niw3ICs3OTYsNyBAQCB2b2lkIFN0b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYg
cmVjb3JkLCBNYXBwZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJvZHlIYW5kbGVyKQogCiAgICAgLy8g
RGVsYXkgdGhlIHN0YXJ0IG9mIHdyaXRlcyBhIGJpdCB0byBhdm9pZCBhZmZlY3RpbmcgZWFybHkg
cGFnZSBsb2FkLgogICAgIC8vIENvbXBsZXRpbmcgd3JpdGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3
cml0ZXMgd2l0aG91dCBkZWxheS4KLSAgICBzdGF0aWMgY29uc3QgYXV0byBpbml0aWFsV3JpdGVE
ZWxheSA9IDFzOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxXcml0ZURlbGF5ID0g
MV9zOwogICAgIG1fd3JpdGVPcGVyYXRpb25EaXNwYXRjaFRpbWVyLnN0YXJ0T25lU2hvdChpbml0
aWFsV3JpdGVEZWxheSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggNGNlZmE4ZWIz
NTdhZTQ0YmQyNWE1NzQ2YjQ1ZmY5YTA4YjRlMjBkZi4uMThmMGNjZDhmNzE0MTIzYzk4YTk1MTU0
OTJkNzU4NjM2ZTZlYzQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTMzMyw3ICszMzMs
NyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpjYW5jZWwoKQogdm9pZCBOZXR3b3JrRGF0
YVRhc2tDb2NvYTo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAh
PSBOb0ZhaWx1cmUpCi0gICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgW21fdGFzayByZXN1
bWVdOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1l
bnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJz
LmNwcAppbmRleCA5YWM3NmM2ZDM5NDdkZTI2ODcxZWI2ODkyMDY1YmRhNmI3NzhjZmUxLi5kMDQ2
YWY1ZGUyMDczNjMyN2IxMDc2ODMwZWNiOWI4YTllZmVkNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKQEAgLTMyLDYgKzMyLDM2IEBACiAK
IG5hbWVzcGFjZSBJUEMgewogCit2b2lkIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQoreworICAg
IGVuY29kZXIgPDwgdGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7Cit9CisKK2Jvb2wg
QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1v
bm90b25pY1RpbWUmIHRpbWUpCit7CisgICAgZG91YmxlIHZhbHVlOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUodmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB0aW1lID0gTW9u
b3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQor
Cit2b2lkIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBTZWNvbmRzJiBzZWNvbmRzKQoreworICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgp
OworfQorCitib29sIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyLCBTZWNvbmRzJiBzZWNvbmRzKQoreworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc2Vjb25k
cyA9IFNlY29uZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50
Q29kZXI8c3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludD46OmVuY29kZShJUEM6
OkVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVf
cG9pbnQmIHRpbWVQb2ludCkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludDY0X3Q+
KHRpbWVQb2ludC50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCmluZGV4IGY2ZDg4YjdjZGJiN2RlNmZhNmEy
ZGNiNTRhZjg2ZmEzY2E3OTc2YjIuLjA3NWJmZjUzNTE5ZGY4OTdmNzUwMzY4MjViZDI2OWY4N2Yy
NjlhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENv
ZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5o
CkBAIC0xNjMsNyArMTYzLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gRWxlbWVudHM+IHN0cnVj
dCBBcmd1bWVudENvZGVyPHN0ZDo6dHVwbGU8RWxlbWVudHMuLi4+PiB7CiAgICAgfQogfTsKIAot
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBSZXAsIHR5cGVuYW1lIFBlcmlvZD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8c3RkOjpjaHJvbm86OmR1cmF0aW9uPFJlcCwgUGVyaW9kPj4gewogICAgIHN0YXRpYyB2
b2lkIGVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBzdGQ6OmNocm9ubzo6ZHVyYXRpb248
UmVwLCBQZXJpb2Q+JiBkdXJhdGlvbikKICAgICB7CkBAIC0zNzksNiArMzc4LDE2IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRz
QXJnPiBzdHJ1Y3QgQXJndW1lCiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYsIGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYpOworICAgIHN0YXRpYyBib29sIGRlY29k
ZShEZWNvZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBBcmd1bWVudENvZGVyPFdURjo6U2Vjb25kcz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShF
bmNvZGVyJiwgY29uc3QgV1RGOjpTZWNvbmRzJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERl
Y29kZXImLCBXVEY6OlNlY29uZHMmKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8c3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludD4gewogICAgIHN0YXRp
YyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3Qgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6
dGltZV9wb2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgc3RkOjpjaHJv
bm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9Db25uZWN0aW9uLmgKaW5kZXggZjAxMmEwMWI1NGRlN2QxZmNlMjE3OTdlNmY0NTUwNTBjODNl
Njg4NS4uOTAyYmU0ZDFhNzNmOGUwNDdkOTIwOWYzMmQ0NWEyODZhOTcwMzBkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0xODYsNyArMTg2LDcgQEAgcHVi
bGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBraWxsKCk7Ci0gICAgdm9pZCB0
ZXJtaW5hdGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgdm9pZCB0ZXJtaW5h
dGVTb29uKFNlY29uZHMpOwogI2VuZGlmCiAKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJl
dHVybiBtX2lzVmFsaWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9tYWMvQ29ubmVjdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMv
Q29ubmVjdGlvbk1hYy5tbQppbmRleCAyODk5NTEyOTQ2M2U4MzE5MTA3MGJlZTg1ZmRiZTg3MDU0
OGU1NWIxLi43MDQ0NjkxNTZhZjgxYmQ0MTU4ZjE3MWUwODE3ZDg4ZWRiZmIxN2E4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCkBAIC04
MCwyMCArODAsMjAgQEAgZW51bSB7CiAvLyAgICB0byBlbnN1cmUgaXQgaGFzIGEgY2hhbmNlIHRv
IHRlcm1pbmF0ZSBjbGVhbmx5LgogY2xhc3MgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cg
ewogcHVibGljOgotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldh
dGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3Vi
bGUgaW50ZXJ2YWxJblNlY29uZHMpCisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRl
cm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5l
Y3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgewotICAgICAgICBuZXcgQ29ubmVjdGlvblRl
cm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAg
ICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50
ZXJ2YWwpOwogICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgQ29ubmVjdGlvblRlcm1pbmF0aW9u
V2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRv
dWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
ZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBp
bnRlcnZhbCkKICAgICAgICAgOiBtX3hwY0Nvbm5lY3Rpb24oeHBjQ29ubmVjdGlvbikKICAgICAg
ICAgLCBtX3dhdGNoZG9nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ29ubmVjdGlvblRl
cm1pbmF0aW9uV2F0Y2hkb2c6OndhdGNoZG9nVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1Mp
CiAgICAgICAgICwgbV9hc3NlcnRpb24oc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlByb2Nlc3NB
bmRVSUFzc2VydGlvbj4oeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0
KCkpLCBXZWJLaXQ6OkFzc2VydGlvblN0YXRlOjpCYWNrZ3JvdW5kKSkKICNlbmRpZgogICAgIHsK
LSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbEluU2Vjb25kcyk7
CisgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogICAgIH0K
ICAgICAKICAgICB2b2lkIHdhdGNoZG9nVGltZXJGaXJlZCgpCkBAIC0xNTEsMTAgKzE1MSwxMCBA
QCB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiAjZW5kaWYKIH0KICAgICAK
LXZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMp
Cit2b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAg
ICBpZiAobV94cGNDb25uZWN0aW9uKQotICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRj
aGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9u
LCBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNo
ZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24s
IGludGVydmFsKTsKIH0KICAgICAKIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1Jbml0aWFsaXpl
KElkZW50aWZpZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRleCBkYTlkYjIyNGVkYzBlYTBj
YmQwMDJkYzE3MTJhMGMxODZkMTkzNWU0Li4xNzM5NTI1MDk1NzFkOGY0OTBhNzNlN2ZhOTY5NTkz
YzdiODMyNGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Db250cm9sbGVyUHJveHkuY3BwCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBQbHVnaW5D
b250cm9sbGVyUHJveHk6OmRlc3Ryb3koKQogICAgIGlmIChtX3BsdWdpbkRlc3RydWN0aW9uUHJv
dGVjdENvdW50IHx8IG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLT5pblNlbmRTeW5jKCkpIHsK
ICAgICAgICAgLy8gV2UgaGF2ZSBwbHVnLWluIGNvZGUgb24gdGhlIHN0YWNrIHNvIHdlIGNhbid0
IGRlc3Ryb3kgaXQgcmlnaHQgbm93LgogICAgICAgICAvLyBEZXN0cm95IGl0IGxhdGVyLgotICAg
ICAgICBtX3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGx1
Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0yMTUsNyArMjE1LDcgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnN0YXJ0
UGFpbnRUaW1lcigpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lci4K
LSAgICBtX3BhaW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGFpbnRUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIAogICAgIG1fd2FpdGluZ0ZvckRpZFVwZGF0ZSA9IHRydWU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAppbmRleCBh
NzI0ZWIwOGY5MGQ1OWRiMTI5ODIzNDQxZTc3ZTA4ZmVlYzdiMjViLi4zOTVkNzY0ZDQ3MWY1MWRl
OTk4MGM2MTIxZTYwMzJjZmFjNDk4MmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKQEAgLTIyMCw5ICsyMjAsOSBAQCB2b2lkIFBsdWdpblBy
b2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBob3N0TmFtZQogICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OlBsdWdpblByb2Nlc3NQcm94eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY2Fs
bGJhY2tJRCksIDApOwogfQogCi12b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGlt
ZShkb3VibGUgbGlmZXRpbWUpCit2b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGlt
ZShTZWNvbmRzIGxpZmV0aW1lKQogewotICAgIGlmIChsaWZldGltZSA8PSAwLjApCisgICAgaWYg
KGxpZmV0aW1lIDw9IDBfcykKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGRpc2FibGVUZXJt
aW5hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Qcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aAppbmRleCA5YTkwZTRjMjUzOTNhN2VkNDZjOTg3YjVlZTQ0NDlhNzRhYjkyMzNiLi4yMGFjMDY3
YjA0OTVlNmFjNzYyMmMwMDYyMDAzOGMwMWY1ZjMwMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMTAyLDcgKzEwMiw3IEBAIHByaXZhdGU6
CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdpblByb2Nlc3MoUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyYmKTsKICAgICAKLSAgICB2b2lkIHNldE1pbmltdW1MaWZldGlt
ZShkb3VibGUpOworICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMpOwogICAgIHZv
aWQgbWluaW11bUxpZmV0aW1lVGltZXJGaXJlZCgpOwogICAgIC8vIE91ciB3ZWIgcHJvY2VzcyBj
b25uZWN0aW9ucy4KICAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3NDb25uZWN0aW9uPj4gbV93
ZWJQcm9jZXNzQ29ubmVjdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2FjaGVNb2RlbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKaW5k
ZXggNDAzZjM0ZGZjZDRiN2FkYzQ5YmEwNDYyYjlmZGVmYTZkZWYzZmQ0NS4uZGIyMTk2NTRkMGUy
MzE3NmJlZTlhZGJkZGVjMTc5NjRhMjkyMGFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0NhY2hlTW9kZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1v
ZGVsLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBj
YWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQm
IGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNp
Z25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpzZWNvbmRzJiBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpCit2
b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNp
Z25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHks
IHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQogewogICAgIHVp
bnQ2NF90IG1lbW9yeVNpemUgPSByYW1TaXplKCkgLyBNQjsKIApAQCAtMTA5LDcgKzEwOSw3IEBA
IHZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVu
c2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBv
dmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAg
IGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gc3RkOjptYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0
eSk7CiAKLSAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hy
b25vOjpzZWNvbmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbCA9IDYwX3M7CiAKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNo
ZU1vZGVsLmgKaW5kZXggY2Y0NzM0NTRmZTJhYzMzZDNjYTQzYTcyZmE1OTNlNGM0ZTUxZDNkNS4u
MWUwNzc2ODhlYTc4ZGM4NDI5ODhmNGY1ZjAzYWNhYmI5MzEyNGE3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2FjaGVNb2RlbC5oCkBAIC0yNiw4ICsyNiw4IEBACiAjaWZuZGVmIENhY2hlTW9kZWxfaAog
I2RlZmluZSBDYWNoZU1vZGVsX2gKIAotI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxzdGRp
bnQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApA
QCAtMzcsNyArMzcsNyBAQCBlbnVtIENhY2hlTW9kZWwgewogICAgIENhY2hlTW9kZWxQcmltYXJ5
V2ViQnJvd3NlcgogfTsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9k
ZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRD
YXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vj
b25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNo
ZUNhcGFjaXR5KTsKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1
bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNp
dHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKIHZvaWQg
Y2FsY3VsYXRlVVJMQ2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1aW50NjRfdCBkaXNrRnJlZVNpemUs
IHVuc2lnbmVkJiB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1aW50NjRfdCYgdXJsQ2FjaGVEaXNr
Q2FwYWNpdHkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5jcHAKaW5kZXggMTc1Nzg5ZmI5YWU3MTNmMTZlZWVkYmZhYmUwMGQ2ZjMzZTYz
Y2YyMy4uNDliNzk0NjVkZjZlMWIyYTEyMWMzZmE1MmQwMDNmYjE5NTFiYzI1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMzLDggKzMzLDcgQEAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2VzcygpCi0gICAgOiBtX3Rlcm1p
bmF0aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKKyAgICA6IG1f
dGVybWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1pbmF0aW9uVGltZXIoUnVuTG9vcDo6
bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5hdGlvblRpbWVyRmlyZWQpCiAgICAg
LCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9jZXNzIFN1cHByZXNzaW9uIERpc2Fi
bGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5k
ZXggYTA2ZTM0OWEzOGMyODFmNWFjZThkMzYyMmEwNTQ2MWY5NDA0ZGE1Yy4uOTg1YWQ2YTYxYjJh
ODJhYjc4NTAyOWZlNDJkZWM0NzUyZWZjNDZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQ2hpbGRQ
cm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNzKCk7CiAKLSAgICB2b2lkIHNldFRl
cm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9
IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChTZWNvbmRzIHNlY29u
ZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CiAKICAgICB2aXJ0dWFsIHZv
aWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJh
bWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBD
aGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKQEAgLTExNyw3ICsxMTcsNyBA
QCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGluIHNlY29uZHMsIGJlZm9yZSB0aGlz
IHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1pbmF0aW9uCiAgICAgLy8gaGFzIGJl
ZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNvbmRzLCB0aGUgcHJvY2VzcyB3aWxs
IGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91YmxlIG1fdGVybWluYXRpb25UaW1l
b3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICAvLyBBIHRlcm1p
bmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVhY2hlcyB6ZXJvLCB0aGUgcHJvY2Vz
cyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBhIGdpdmVuIHBlcmlvZCBvZiB0aW1l
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGExMmE0NDQ1YmIxNmNhYWY2OTI3
M2I2NGE4NjMyMTA4ZTdkNTQ5ZjQuLmIxYTM0YTRkZjFkMmQ4MjU5OGFjYTZjZjg0NTRlYjRmYTFj
ZGU2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAK
IAogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzQXR0cmli
dXRlcy5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICNpbmNsdWRlIDxXZWJDb3JlL01hY2hTZW5kUmlnaHQuaD4KQEAgLTUxLDggKzUyLDggQEAgc3Ry
dWN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFBsdWdpblByb2Nlc3NU
eXBlIHByb2Nlc3NUeXBlOwogICAgIGJvb2wgc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0
aWFsaXphdGlvbjsKIAotICAgIGRvdWJsZSBtaW5pbXVtTGlmZXRpbWU7Ci0gICAgZG91YmxlIHRl
cm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1pbmltdW1MaWZldGltZTsKKyAgICBTZWNv
bmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdlYkNv
cmU6Ok1hY2hTZW5kUmlnaHQgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ1BvcnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGYwZmZiNzcy
NmE1M2VlNGY4NDIzZDQ2Yjc5YmIwZmRhZjA1ZGU3YzQuLjM4MGUwMWU1ZTc0NjE3MzdlNTc1M2U5
NjY1YWMyZTM0NjA1NTI2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwCkBAIC0xMDYsMzYgKzEwNiw2IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CiAKIG5hbWVzcGFjZSBJUEMgewogCi12b2lkIEFyZ3VtZW50Q29kZXI8TW9ub3Rvbmlj
VGltZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1l
KQotewotICAgIGVuY29kZXIgPDwgdGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7Ci19
Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERlY29kZXImIGRl
Y29kZXIsIE1vbm90b25pY1RpbWUmIHRpbWUpCi17Ci0gICAgZG91YmxlIHZhbHVlOwotICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB0
aW1lID0gTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOwotICAgIHJldHVybiB0
cnVlOwotfQotCi12b2lkIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBTZWNvbmRzJiBzZWNvbmRzKQotewotICAgIGVuY29kZXIgPDwgc2Vjb25k
cy52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyLCBTZWNvbmRzJiBzZWNvbmRzKQotewotICAgIGRvdWJsZSB2YWx1ZTsKLSAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgc2Vjb25kcyA9IFNlY29uZHModmFsdWUpOwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lk
IEFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWZmaW5lVHJhbnNmb3JtKQogewogICAgIFNpbXBsZUFy
Z3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5jb2RlKGVuY29kZXIsIGFmZmluZVRyYW5z
Zm9ybSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgK
aW5kZXggNDgxOWZjYmMwNGFjNzE2MjU2NzNhODQ0NjdmNzQ1NDJjY2I5Mjk5NS4uMzE1NDA2MmQ5
ZGMzNTJhOTFmNGIzM2JiNjU0Mzk5NTZlNTg4MDliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsMTEgKzMxLDYgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0luZGV4ZWREQi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGF5bWVudEhlYWRlcnMu
aD4KIAotbmFtZXNwYWNlIFdURiB7Ci1jbGFzcyBNb25vdG9uaWNUaW1lOwotY2xhc3MgU2Vjb25k
czsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xh
c3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CkBAIC0xNTIsMTYgKzE0Nyw2IEBAIHVzaW5nIElE
QktleVBhdGggPSBWYXJpYW50PFN0cmluZywgVmVjdG9yPFN0cmluZz4+OwogCiBuYW1lc3BhY2Ug
SVBDIHsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6Ok1vbm90b25pY1Rp
bWU+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6TW9ub3Rv
bmljVGltZSYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpNb25vdG9u
aWNUaW1lJik7Ci19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6U2Vj
b25kcz4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpTZWNv
bmRzJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6OlNlY29uZHMmKTsK
LX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QWZmaW5lVHJh
bnNmb3JtPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3Jl
OjpBZmZpbmVUcmFuc2Zvcm0mKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdl
YkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuY3BwCmluZGV4IDA1M2ZhNmVhMjk3M2NlN2IxZGIzY2ZmMzkyNzUxZWFiZjRlMThk
MTAuLmRkZWEyYWJkYzQ0ZTRlYTAyMjdlMjllNzZlNGJlM2FlY2VlNjA1ZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKQEAgLTU3LDcgKzU3LDYgQEAgV2Vi
TWVtb3J5U2FtcGxlcjo6V2ViTWVtb3J5U2FtcGxlcigpCiAgICAgOiBtX3NhbXBsZVRpbWVyKCp0
aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZCkKICAgICAsIG1fc3RvcFRp
bWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQpCiAgICAgLCBtX2lz
UnVubmluZyhmYWxzZSkKLSAgICAsIG1fcnVubmluZ1RpbWUoMCkKIHsKIH0KIApAQCAtNjcsNyAr
NjYsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IGRvdWJsZSBpbnRlcnZh
bCkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGluaXRpYWxpemVUZW1wTG9nRmlsZSgpOwot
ICAgIGluaXRpYWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMoU2Vj
b25kcyhpbnRlcnZhbCkpOwogfQogCiB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZSwgY29uc3QgU3Ry
aW5nJiBzYW1wbGVMb2dGaWxlUGF0aCwgY29uc3QgZG91YmxlIGludGVydmFsKSAKQEAgLTgyLDE3
ICs4MSwxNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRl
bnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZQogICAgIH0KICAgICAgICAgCiAgICAg
aW5pdGlhbGl6ZVNhbmRib3hlZExvZ0ZpbGUoc2FtcGxlTG9nRmlsZUhhbmRsZSwgc2FtcGxlTG9n
RmlsZVBhdGgpOwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAgIGluaXRpYWxp
emVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgCiB9CiAKLXZvaWQgV2ViTWVtb3J5U2Ft
cGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFdlYk1lbW9yeVNh
bXBsZXI6OmluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyBpbnRlcnZhbCkKIHsKLSAgICBtX3NhbXBs
ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEpOworICAgIG1fc2FtcGxlVGltZXIuc3RhcnRSZXBlYXRp
bmcoU2Vjb25kcygxKSk7CiAgICAgcHJpbnRmKCJTdGFydGVkIG1lbW9yeSBzYW1wbGVyIGZvciBw
cm9jZXNzICVzICVkIiwgcHJvY2Vzc05hbWUoKS51dGY4KCkuZGF0YSgpLCBnZXRwaWQoKSk7Ci0g
ICAgaWYgKGludGVydmFsID4gMCkgeworICAgIGlmIChpbnRlcnZhbCA+IDBfcykgewogICAgICAg
ICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwotICAgICAgICBwcmludGYoIiBm
b3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2YWwpOworICAgICAgICBwcmludGYo
IiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2YWwudmFsdWUoKSk7CiAgICAg
fQogICAgIHByaW50ZigiOyBTYW1wbGVyIGxvZyBmaWxlIHN0b3JlZCBhdDogJXNcbiIsIG1fc2Ft
cGxlTG9nRmlsZVBhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAgbV9ydW5uaW5nVGltZSA9IGludGVy
dmFsOwpAQCAtMTU5LDcgKzE1OCw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RvcFRpbWVy
RmlyZWQoKQogewogICAgIGlmICghbV9pc1J1bm5pbmcpCiAgICAgICAgIHJldHVybjsKLSAgICBw
cmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5IHNhbXBsZXIuLi5cbiIs
IG1fcnVubmluZ1RpbWUpOworICAgIHByaW50ZigiJWcgc2Vjb25kcyBlbGFwc2VkLiBTdG9wcGlu
ZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9ydW5uaW5nVGltZS52YWx1ZSgpKTsKICAgICBzdG9w
KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1w
bGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCmluZGV4IDI3
ODdiNTE1ZGFiYzUxZWJlYzViYzA2NDZmMTNiZWZlNTEyOTg2MjIuLmRhNDI4OGI1ODQwOWZmYmFh
ZjhkMjczY2IzODU4NDViMGQxZDg4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJNZW1vcnlTYW1wbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9y
eVNhbXBsZXIuaApAQCAtODQsNyArODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6
ZVRlbXBMb2dGaWxlKCk7CiAgICAgdm9pZCBpbml0aWFsaXplU2FuZGJveGVkTG9nRmlsZShjb25z
dCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmLCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHdy
aXRlSGVhZGVycygpOwotICAgIHZvaWQgaW5pdGlhbGl6ZVRpbWVycyhkb3VibGUpOworICAgIHZv
aWQgaW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzKTsKICAgICB2b2lkIHNhbXBsZVRpbWVyRmlyZWQo
KTsKICAgICB2b2lkIHN0b3BUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBhcHBlbmRDdXJyZW50TWVt
b3J5VXNhZ2VUb0ZpbGUoV2ViQ29yZTo6UGxhdGZvcm1GaWxlSGFuZGxlJik7CkBAIC0xMDAsNyAr
MTAwLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpUaW1lciBtX3NhbXBsZVRpbWVyOwogICAg
IFdlYkNvcmU6OlRpbWVyIG1fc3RvcFRpbWVyOwogICAgIGJvb2wgbV9pc1J1bm5pbmc7Ci0gICAg
ZG91YmxlIG1fcnVubmluZ1RpbWU7CisgICAgU2Vjb25kcyBtX3J1bm5pbmdUaW1lOwogICAgIFJl
ZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX3NhbXBsZUxvZ1NhbmRib3hFeHRlbnNpb247CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAppbmRleCBlYzg2ZTFlMjFmZmNjZDZkODcyYWFhMWYyZDQxOWU0NjY2YTMyN2RiLi4w
ZDM3YjlhM2VkN2UzNjRjMWM0YjY5OTNmOTA2NzkyYTVmZWFlZWRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTEx
Myw3ICsxMTMsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAKICAg
ICBib29sIGljb25EYXRhYmFzZUVuYWJsZWQ7CiAKLSAgICBkb3VibGUgdGVybWluYXRpb25UaW1l
b3V0OworICAgIFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgVmVjdG9yPFN0cmlu
Zz4gbGFuZ3VhZ2VzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLmgKaW5kZXggNmFmNzkwMmRhM2Y5ZmE5YzJlYWJkYWFhMGU1ZDc4
NWY2NTMyZTZlNy4uNDM2OGNjMmNjMWIzZjVjNmQ1YThlYjNiMzgwYjJlOGJkYjNhNGEzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlZ2lvbi5o
PgotI2luY2x1ZGUgPGNocm9ubz4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiBP
QkpDX0NMQVNTIENBTGF5ZXI7CiAKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogCiAgICAgYm9v
bCBzZXRCdWZmZXJWb2xhdGlsaXR5KEJ1ZmZlclR5cGUgdHlwZSwgYm9vbCBpc1ZvbGF0aWxlKTsK
IAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbGFzdERpc3BsYXlU
aW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7IH0KKyAgICBNb25vdG9uaWNU
aW1lIGxhc3REaXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9
CiAKIHByaXZhdGU6CiAgICAgdm9pZCBkcmF3SW5Db250ZXh0KFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dCYsIENHSW1hZ2VSZWYgYmFja0ltYWdlKTsKQEAgLTEwMyw4ICsxMDMsMTAgQEAgcHJpdmF0
ZToKICAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIG1fbGF5ZXI7CiAKICAgICBXZWJDb3JlOjpG
bG9hdFNpemUgbV9zaXplOwotICAgIGZsb2F0IG1fc2NhbGU7Ci0gICAgYm9vbCBtX2lzT3BhcXVl
OworICAgIGZsb2F0IG1fc2NhbGUgeyAxIH07CisKKyAgICBib29sIG1faXNPcGFxdWUgeyBmYWxz
ZSB9OworICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmcgeyBmYWxzZSB9OwogCiAgICAgV2Vi
Q29yZTo6UmVnaW9uIG1fZGlydHlSZWdpb247CiAKQEAgLTExMiw3ICsxMTQsNyBAQCBwcml2YXRl
OgogICAgICAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXA7CiAjaWYgVVNFKElPU1VS
RkFDRSkKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OklPU3VyZmFjZT4gc3VyZmFj
ZTsKLSAgICAgICAgYm9vbCBpc1ZvbGF0aWxlID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNWb2xh
dGlsZSB7IGZhbHNlIH07CiAjZW5kaWYKIAogICAgICAgICBleHBsaWNpdCBvcGVyYXRvciBib29s
KCkgY29uc3QKQEAgLTEzOCwxMSArMTQwLDkgQEAgcHJpdmF0ZToKIAogICAgIFJldGFpblB0cjxD
R0NvbnRleHRSZWY+IG1fZnJvbnRDb250ZXh0UGVuZGluZ0ZsdXNoOwogCi0gICAgYm9vbCBtX2Fj
Y2VsZXJhdGVzRHJhd2luZzsKLQogICAgIFdlYkNvcmU6OlJlcGFpbnRSZWN0TGlzdCBtX3BhaW50
aW5nUmVjdHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1f
bGFzdERpc3BsYXlUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0RGlzcGxheVRpbWU7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCmluZGV4IGQ1NzE5ZGRhMTJiZWFiODIy
ZGYzMmI3MjE1OGViYTZhNWU5OTQyMDUuLmNiY2Y3MWM1Zjc1NGVlYzNlODYwZmYxMmZjNzNmZmE4
NWM2N2RkMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZS5tbQpAQCAtNjIsOCArNjIsNiBAQCBzdGF0aWMgV2ViQ29yZTo6SU9T
dXJmYWNlOjpGb3JtYXQgYnVmZmVyRm9ybWF0KGJvb2wgaXNPcGFxdWUpCiAKIFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZShQbGF0Zm9ybUNBTGF5ZXJSZW1v
dGUqIGxheWVyKQogICAgIDogbV9sYXllcihsYXllcikKLSAgICAsIG1faXNPcGFxdWUoZmFsc2Up
Ci0gICAgLCBtX2xhc3REaXNwbGF5VGltZShzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1l
X3BvaW50OjptaW4oKSkKIHsKICAgICBpZiAoIW1fbGF5ZXIpCiAgICAgICAgIHJldHVybjsKQEAg
LTIzMSw3ICsyMjksNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KCkK
IHsKICAgICBBU1NFUlQoIW1fZnJvbnRDb250ZXh0UGVuZGluZ0ZsdXNoKTsKIAotICAgIG1fbGFz
dERpc3BsYXlUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgbV9s
YXN0RGlzcGxheVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGJvb2wgbmVlZFRv
RW5jb2RlQmFja2luZ1N0b3JlID0gZmFsc2U7CiAgICAgaWYgKFJlbW90ZUxheWVyVHJlZUNvbnRl
eHQqIGNvbnRleHQgPSBtX2xheWVyLT5jb250ZXh0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
aAppbmRleCBmZTQ5NzFlZTczOTI0MTRhYmMxMTk0MGFjNzlmOGY3OTE0Y2E0ODYyLi5jZDgzYTM4
ZDk4NDU1ZGI1ZDU0ZWQzZjQ2NTM5ODZlZWQ5NzQ1MzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0
aW9uLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHR5cGVkZWYgdW5z
aWduZWQgVm9sYXRpbGl0eU1hcmtpbmdGbGFnczsKICAgICBib29sIG1hcmtCYWNraW5nU3RvcmVW
b2xhdGlsZUltbWVkaWF0ZWx5KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgVm9sYXRpbGl0eU1h
cmtpbmdGbGFncyB2b2xhdGlsaXR5TWFya2luZ0ZsYWdzID0gMCk7Ci0gICAgYm9vbCBtYXJrQmFj
a2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG5vdyk7CisgICAgYm9vbCBtYXJrQmFja2luZ1N0b3Jl
Vm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBNb25vdG9uaWNUaW1lIG5vdyk7CiAK
ICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV9saXZlQmFja2luZ1N0b3Jl
OwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX3VucGFyZW50ZWRCYWNr
aW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCmluZGV4IDI2ODM2ZTdiZjM4NjQ3
ZTQ4MDBhNjRiMGM3NWNlNmZmYjBjYTE0YmUuLmJkYzg3YTcwODA3MzY0ZTY2Mzk5YzlkNjdjMjU2
ZTMxZWZmYzhhZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0zMCw5ICszMCw5
IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIgogI2ltcG9ydCAiUmVtb3Rl
TGF5ZXJUcmVlQ29udGV4dC5oIgogCi1jb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyB2b2xhdGls
ZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDFzOwotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDIwMG1z
OwotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2b2xhdGlsaXR5VGltZXJJbnRlcnZh
bCA9IDIwMG1zOworY29uc3QgU2Vjb25kcyB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9s
ZCA9IFNlY29uZHMoMSk7Citjb25zdCBTZWNvbmRzIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0
b3JlQWdlVGhyZXNob2xkID0gU2Vjb25kcygwLjIpOworY29uc3QgU2Vjb25kcyB2b2xhdGlsaXR5
VGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMC4yKTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAg
LTEyMCw3ICsxMjAsNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVtbwogICAgIHJldHVybiBzdWNj
ZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGU7CiB9CiAKLWJvb2wgUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCBub3cpCitib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5n
U3RvcmUsIE1vbm90b25pY1RpbWUgbm93KQogewogICAgIGlmIChub3cgLSBiYWNraW5nU3RvcmUu
bGFzdERpc3BsYXlUaW1lKCkgPCB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkgewog
ICAgICAgICBpZiAobm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGltZSgpID49IHZvbGF0
aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKQpAQCAtMTY0LDcgKzE2NCw3IEBA
IHZvaWQgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJG
aXJlZCgpCiB7CiAgICAgYm9vbCBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUg
PSB0cnVlOwogCi0gICAgYXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3co
KTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGZvciAoY29uc3Qg
YXV0byYgYmFja2luZ1N0b3JlIDogbV9saXZlQmFja2luZ1N0b3JlKQogICAgICAgICBzdWNjZXNz
ZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgJj0gbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxl
KCpiYWNraW5nU3RvcmUsIG5vdyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29h
Lm1tCmluZGV4IDgzOTQ1ZGZlZDMxYzU5MTgzNThiZTdmNjcxNmIxYmZlNzAxODhiNTkuLjFiNWRk
MDM2MzkxZjIyYjllYmM1YjcyM2Q5MjIzZjgwMjkwZTlhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVk
U2NyaXB0VmFsdWVDb2NvYS5tbQpAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICBpZiAoIW1fY29udGV4dCkgewogICAgICAgICAgICAgbV9jb250ZXh0ID0gYWRvcHROUyhb
W0pTQ29udGV4dCBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoMSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogICAgICAgICB9
CiAgICAgICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCBkMjc3MDA1OTYxZDI5YWVkNjc1
MDkzNjk0YjIzZTRlODI1NWUxMDg2Li4xMTM1Zjc5Nzg1ZWQ5Zjc3YzBhNWFiOTU5YmYxMjRkNzA2
ZTllNzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNw
cApAQCAtNTkwLDcgKzU5MCw3IEBAIHZvaWQgRXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlz
cGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEV3a1ZpZXc6OnNldFZpZXdw
b3J0UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgY29udGVudHNQb3NpdGlvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNw
cAppbmRleCAwNGM3ZTk1NDcyOTk1N2NlNDI4MmViNDBlMWM4NzEwM2MxNDQ1ZjVmLi5jMmJlMzY1
ZjcxZTk4ZjM0ZjllODVlNGQ2YWQxODkzY2VjNjlmM2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yMTks
NyArMjE5LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTY2hlZHVsZVVwZGF0ZUFj
dGl2aXR5U3RhdGUoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlYKICAgICBpZiAocHJpdi0+dXBkYXRl
QWN0aXZpdHlTdGF0ZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBy
aXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgcHJpdi0+
dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBzdGF0aWMg
Z2Jvb2xlYW4gdG9wbGV2ZWxXaW5kb3dGb2N1c0luRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdk
a0V2ZW50Rm9jdXMqLCBXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBmZDhiYzVhYzlh
OTdjODMwNTVkNDhiNzViYTgwMDkzMzk5NjUxN2IwLi4yZDZmZWI5NDdmMWM4NjgxZTMwYmYxNGIw
ZGM3NjVjODE0MzJmNjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hp
bGRQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFBy
b2Nlc3NQcm94eS5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCB2b2lkIENoaWxkUHJvY2Vzc1Byb3h5
OjpzaHV0RG93blByb2Nlc3MoKQogICAgICAgICAvLyBPbiBpT1MgZGVwbG95IGEgd2F0Y2hkb2cg
aW4gdGhlIFVJIHByb2Nlc3MsIHNpbmNlIHRoZSBjaGlsZCBwcm9jZXNzIG1heSBiZSBzdXNwZW5k
ZWQuCiAgICAgICAgIC8vIElmIDMwcyBpcyBpbnN1ZmZpY2llbnQgZm9yIGFueSBvdXRzdGFuZGlu
ZyBhY3Rpdml0eSB0byBjb21wbGV0ZSBjbGVhbmx5LCB0aGVuIGl0IHdpbGwgYmUga2lsbGVkLgog
ICAgICAgICBBU1NFUlQobV9jb25uZWN0aW9uKTsKLSAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJt
aW5hdGVTb29uKDMwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwX3Mp
OwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3RhdGU6OlRlcm1pbmF0ZWQ6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRl
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpp
bmRleCA0NTI5OTIyYjRmYmY2YmY1MzFjN2MwNWE3YzIyM2I2MzUxNDMyNTYwLi5mODE2ZTdmMGMz
MjFhZjJhOWQ4NjIxYTdiNGM1ZjFhOGE3ODAzOTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTg1Miw3ICs4NTIsNyBAQCB2
b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKCkKICAgICB9IGVsc2Ugewog
ICAgICAgICAvLyBEZWxheSByZWxlYXNpbmcgdGhlIGJhY2tncm91bmQgYWN0aXZpdHkgZm9yIDMg
c2Vjb25kcyB0byBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhIGNoYW5jZSB0byBzdGFydCBhbm90aGVy
IG5hdmlnYXRpb24KICAgICAgICAgLy8gYmVmb3JlIHN1c3BlbmRpbmcgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyA8cmRhcjovL3Byb2JsZW0vMjc5MTA5NjQ+LgotICAgICAgICBtX3JlbGVhc2VBY3Rp
dml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzcyk7CisgICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGlt
ZXIuc3RhcnRPbmVTaG90KDNfcyk7CiAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5k
ZXggNDlmMThlMzc4YTUyOWQwNTY1YjBkN2VlOWU2MTg4MjEyY2ZkZDJiOC4uNmI1NGM2ZGRlOGQ5
Njg2YWIzNTgyZmFhMTgwMmQyOWE2MWQ2ZWE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTQwLDEz
ICs0MCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3Zh
bFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOwot
c3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92
YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwbXM7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1w
dHlMYXlvdXREdXJhdGlvbiA9IFNlY29uZHMoMyk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lw
ZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgPSBTZWNvbmRzKDAu
MjUpOwogCiAjaWYgUExBVEZPUk0oTUFDKQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOworc3RhdGljIGNv
bnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNV9zOwog
I2Vsc2UKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVt
b3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25h
cHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNfczsKICNlbmRpZgogCiBzdGF0aWMgSGFz
aE1hcDx1aW50NjRfdCwgVmlld0dlc3R1cmVDb250cm9sbGVyKj4mIHZpZXdHZXN0dXJlQ29udHJv
bGxlcnNGb3JBbGxQYWdlcygpCkBAIC0yOTcsMTAgKzI5NywxMCBAQCB2b2lkIFZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6d2F0Y2hkb2dUaW1lckZpcmVkKCkK
ICAgICBmaXJlUmVtb3ZhbENhbGxiYWNrSW1tZWRpYXRlbHkoKTsKIH0KIAotdm9pZCBWaWV3R2Vz
dHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coc3Rk
OjpjaHJvbm86OnNlY29uZHMgZHVyYXRpb24pCit2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6
U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhTZWNvbmRzIGR1cmF0aW9uKQog
ewotICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9y
ICVsbGQgc2Vjb25kcyIsIGR1cmF0aW9uLmNvdW50KCkpKTsKLSAgICBtX3dhdGNoZG9nVGltZXIu
c3RhcnRPbmVTaG90KGR1cmF0aW9uLmNvdW50KCkpOworICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgi
KHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICUuM2Ygc2Vjb25kcyIsIGR1cmF0aW9uLnZh
bHVlKCkpKTsKKyAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggNzU4ZDczNTBkYmQ4NDc1
NzQ2NmNjZGJhODQzNmI2ZTQ5ZDYyYmMyZC4uZTE0ZDczOTcxOTJhZDBjMDdmMTIyODA5ZmM4N2Ix
NDQ0NzZkNGRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMTU3LDcgKzE1Nyw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIGJvb2wgZXZlbnRPY2N1cnJlZChFdmVudHMpOwogICAgICAgICBib29sIGNhbmNlbE91
dHN0YW5kaW5nRXZlbnQoRXZlbnRzKTsKIAotICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coc3Rk
OjpjaHJvbm86OnNlY29uZHMpOworICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coU2Vjb25kcyk7
CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgU3RyaW5nIGV2ZW50c0Rlc2NyaXB0aW9u
KEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDQ5ZDRkNWJkNWE5OWQ0ZDk4MTExNmEwOGExMzI3ZDUw
MWNiYWI5NTEuLmIwYzMxY2IxZWRkMDI1MmEyMmJiOWE3YTk4MTM2MmNhZDQyNGJhYjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCkBAIC0yNTMsNyArMjUzLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1J
bml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEKICNlbmRp
ZgogCiAgICAgcGFyYW1ldGVycy5zaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciA9
IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVy
RGVmYXVsdHNLZXldOwotICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29y
a0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOworICAgIHBhcmFt
ZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoW2Rl
ZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxs
aXNlY29uZHNEZWZhdWx0c0tleV0pOwogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTEwMAogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+
IGNvb2tpZVN0b3JhZ2VEYXRhID0gYWRvcHRDRihDRkhUVFBDb29raWVTdG9yYWdlQ3JlYXRlSWRl
bnRpZnlpbmdEYXRhKGtDRkFsbG9jYXRvckRlZmF1bHQsIFtbTlNIVFRQQ29va2llU3RvcmFnZSBz
aGFyZWRIVFRQQ29va2llU3RvcmFnZV0gX2Nvb2tpZVN0b3JhZ2VdKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggYjQ1ZjIyNzllNzJiZWVl
MGFlNzMzYzZlMTBhYjE0MTkyZTAxZjJlNS4uODVlYzM4MzdjOTE1ZWU4YWMyN2Q5Y2YxM2U4ZWMz
NGM2M2RkOWI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5LmNwcApAQCAtODMsNyArODMsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnNldFZpZXdF
eHBvc2VkUmVjdChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4gdmlldwogICAgIG1f
dmlld0V4cG9zZWRSZWN0ID0gdmlld0V4cG9zZWRSZWN0OwogCiAgICAgaWYgKCFtX3ZpZXdFeHBv
c2VkUmVjdENoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3ZpZXdFeHBvc2VkUmVj
dENoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdmlld0V4cG9zZWRSZWN0
Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJv
eHk6OnZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDQ0MGRmOWEzM2Vl
Njk4NjdiNjQyNThkMDMyZTA1ZTgxOWYxM2E4MTQuLjAwOTlhNWY2NzEwM2M3ZTNjMWJiNjlhY2Ix
Zjg4NmRkMzMxMTAzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQ
cm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3RvcmVTb29uKCkKIAogICAgIC8vIFdlJ2xsIHdhaXQg
dGhpcyBtYW55IHNlY29uZHMgYWZ0ZXIgdGhlIGxhc3QgcGFpbnQgYmVmb3JlIHRocm93aW5nIGF3
YXkgb3VyIGJhY2tpbmcgc3RvcmUgdG8gc2F2ZSBtZW1vcnkuCiAgICAgLy8gRklYTUU6IEl0IHdv
dWxkIGJlIHNtYXJ0ZXIgdG8gbWFrZSB0aGlzIGRlbGF5IGJhc2VkIG9uIGhvdyBleHBlbnNpdmUg
cGFpbnRpbmcgaXMuIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTczMz4uCi0gICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyOworICAgIHN0YXRpYyBj
b25zdCBTZWNvbmRzIGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSA9IDJfczsKIAogICAgIG1fZGlz
Y2FyZEJhY2tpbmdTdG9yZVRpbWVyLnN0YXJ0T25lU2hvdChkaXNjYXJkQmFja2luZ1N0b3JlRGVs
YXkpOwogfQpAQCAtMjExLDEzICsyMTEsMTMgQEAgaW50IERyYXdpbmdBcmVhUHJveHlJbXBsOjpE
cmF3aW5nTW9uaXRvcjo6d2ViVmlld0RyYXdDYWxsYmFjayhEcmF3aW5nQXJlYVByb3h5SW0KIAog
dm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KHN0ZDo6ZnVu
Y3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrKQogewotICAgIG1fc3Rh
cnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsKKyAgICBtX3N0YXJ0VGlt
ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIG1fY2FsbGJhY2sgPSBjYWxsYmFjazsKICNp
ZiBQTEFURk9STShHVEspCiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1fd2ViUGFnZS52
aWV3V2lkZ2V0KCksICJkcmF3IiwgcmVpbnRlcnByZXRfY2FzdDxHQ2FsbGJhY2s+KHdlYlZpZXdE
cmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDEpKTsKICNlbHNlCi0gICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgogfQog
CkBAIC0yMjcsNyArMjI3LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01v
bml0b3I6OnN0b3AoKQogI2lmIFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9oYW5kbGVyc19k
aXNjb25uZWN0X2J5X2Z1bmMobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgcmVpbnRlcnByZXRfY2Fz
dDxncG9pbnRlcj4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwogI2VuZGlmCi0gICAgbV9z
dGFydFRpbWUgPSAwOworICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgIGlm
IChtX2NhbGxiYWNrKSB7CiAgICAgICAgIG1fY2FsbGJhY2soQ2FsbGJhY2tCYXNlOjpFcnJvcjo6
Tm9uZSk7CiAgICAgICAgIG1fY2FsbGJhY2sgPSBudWxscHRyOwpAQCAtMjM5LDEwICsyMzksMTAg
QEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRpZERyYXcoKQog
ICAgIC8vIFdlIHdhaXQgdXAgdG8gMSBzZWNvbmQgZm9yIGRyYXcgZXZlbnRzLiBJZiB0aGVyZSBh
cmUgc2V2ZXJhbCBkcmF3IGV2ZW50cyBxdWV1ZWQgcXVpY2tseSwKICAgICAvLyB3ZSB3YW50IHRv
IHdhaXQgdW50aWwgYWxsIG9mIHRoZW0gaGF2ZSBiZWVuIHByb2Nlc3NlZCwgc28gYWZ0ZXIgcmVj
ZWl2aW5nIGEgZHJhdywgd2Ugd2FpdAogICAgIC8vIHVwIHRvIDEwMG1zIGZvciB0aGUgbmV4dCBv
bmUgb3Igc3RvcC4KLSAgICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKSAtIG1f
c3RhcnRUaW1lID4gMTAwMCkKKyAgICBpZiAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0
VGltZSA+IDFfcykKICAgICAgICAgc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMC4xMDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7
CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0Ry
YXdpbmcoc3RkOjpmdW5jdGlvbjx2b2lkKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFja0Z1
bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUlt
cGwuaAppbmRleCA4OWM3MTNmYzg3YTczNTQ5MzAzOGFkMTBkOTBkYzFjZjYwNjFkNDU3Li41YWE2
NmM2ZDA0OGJkMGY3ZDI2ZjhjN2M2NGVkMGQxYTI4MmY3ZjZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaApAQCAtNzcsNyArNzcsNyBAQCBw
cml2YXRlOgogICAgICAgICB2b2lkIGRpZERyYXcoKTsKIAogICAgICAgICBXZWJQYWdlUHJveHkm
IG1fd2ViUGFnZTsKLSAgICAgICAgZG91YmxlIG1fc3RhcnRUaW1lIHsgMCB9OworICAgICAgICBN
b25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKENh
bGxiYWNrQmFzZTo6RXJyb3IpPiBtX2NhbGxiYWNrOwogICAgICAgICBSdW5Mb29wOjpUaW1lcjxE
cmF3aW5nTW9uaXRvcj4gbV90aW1lcjsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDY3N2NkNjcz
OTFhZjU2OWY0MmFmZmJkZjQ0MGFhZTIxNTUxNWY0M2UuLmNlYTk4MmY2ZTIyYzYwNDk4ZWFiODI5
Njk0M2Y1MDUzMmI4YjQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9H
YW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgPSAxIC8gMTIwLjA7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gU2Vjb25kcygxIC8g
MTIwLjApOwogCiBVSUdhbWVwYWRQcm92aWRlciYgVUlHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRv
bigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1NGRmYjNiMDU4ZDRmZTkwMzc0NjE1NzkyZWZhNTZi
MDhmZGQwYjY4Li5iNjc2MTUxNGIxMjc1OTNkODNkZDlkMmNkOGExMWM0N2UzOTliNzk5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NQcm94eS5jcHAKQEAgLTQ2LDExICs0NiwxMSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bUxpZmV0
aW1lID0gMiAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdNaW5pbXVtTGlm
ZXRpbWUgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1MaWZldGltZSA9IFNlY29u
ZHMoMiAqIDYwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ01pbmltdW1MaWZl
dGltZSA9IDMwX3M7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgc2h1dGRvd25UaW1lb3V0ID0gMSAq
IDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgPSAx
NTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNodXRkb3duVGltZW91dCA9IFNlY29uZHMoMSAqIDYw
KTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1
X3M7CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hl
LmNwcAppbmRleCAzZTFjMmVmNWFmNjY3N2E5Mjk5ZGU4NTQ5NDVmOTE0NTgwMzM0OWUzLi5kNWZi
MWIyMzFiNDM3MGYwNmVkYzMxMzRmMzQ1YzVjM2NjZWNkMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcApA
QCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgUGx1Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZv
KGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgY29uc3QgUGx1Z2luTW9kCiAgICAgICAgIGlmICht
X3NhdmVUb0ZpbGVJZGxlLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgbV9zYXZlVG9GaWxlSWRsZS5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2F2ZVRvRmls
ZUlkbGUuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKaW5kZXggMjI3NWJiM2IyMjZiN2RiZDQ4ZDMz
Y2YwZjM2ZDIzNDlkODUwYmVjNi4uY2Q4MjVlMWVlMGEwOWM1N2YzZTJkNjMxMmI3OWU3ZDRmMTcw
ZTNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNw
cApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAKLXN0YXRpYyBj
b25zdCB1bnNpZ25lZCBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgPSAzMDsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91dCA9IDMwX3M7CiAgICAgCiBQcm9jZXNz
VGhyb3R0bGVyOjpQcm9jZXNzVGhyb3R0bGVyKFByb2Nlc3NUaHJvdHRsZXJDbGllbnQmIHByb2Nl
c3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAppbmRleCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYw
ZmNmZDY4NjFjNDA2N2VlZjJiLi5hNDBhOTk4NmMzNGVkM2FjMmVlY2U3ODM0YzZhNTA0ZjYzZjhm
YzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NU
aW1lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMg
Y29uc3QgZG91YmxlIHJlc3BvbnNpdmVuZXNzVGltZW91dCA9IDM7CitzdGF0aWMgY29uc3QgU2Vj
b25kcyByZXNwb25zaXZlbmVzc1RpbWVvdXQgPSBTZWNvbmRzKDMpOwogCiBSZXNwb25zaXZlbmVz
c1RpbWVyOjpSZXNwb25zaXZlbmVzc1RpbWVyKFJlc3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCYg
Y2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCmluZGV4IGEzZmI3NzBmNWNkYmNkY2I1ZmE3N2FiNGQy
ZjBiNTQ3NDQ4OTBmNmYuLjNlZDU1NzUzMTZiZmRkMDM2NTAzN2FkNmE4YmQ3ZDRhYTg0N2I0Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKQEAg
LTk4LDcgKzk4LDcgQEAgdm9pZCBWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2go
TGlua0hhc2ggbGlua0hhc2gpCiAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzLmFkZChsaW5rSGFz
aCk7CiAKICAgICBpZiAoIW1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgVmlzaXRlZExpbmtTdG9yZTo6cmVtb3ZlQWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGY3Y2U2OWY0Y2U5NzY4MmM0YzUwNmYyM2ZiZjI0
ODZiMGMwODgyNzcuLmI4MmI0ZGNhMjc5NjA1ZGQzZmFmMTVlMmVmZjkzZWNjNmRlY2Q1YjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTczLDcg
KzE3Myw3IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29s
Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAgICAsIG1fYWx3YXlzUnVuc0F0QmFja2dy
b3VuZFByaW9yaXR5KG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9y
aXR5KCkpCiAgICAgLCBtX3VzZXJPYnNlcnZhYmxlUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50
ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwgbV9w
cm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZEZvclBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVy
RXZlbnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKLSAgICAsIG1faGlk
ZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2
ZW50KSB7IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7IH0pCisg
ICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJl
ZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7IH0pCiAgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIoUnVuTG9vcDo6bWFp
bigpLCB0aGlzLCAmV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0
b0luY3JlYXNlTGltaXQpCiB7CiAgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBtX2NvbmZpZ3VyYXRp
b24tPmFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcygpKQpAQCAtNTk4LDcgKzU5OCw3IEBAIFdl
YlByb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MoKQogICAg
IC8vIGljb25EYXRhYmFzZVBhdGggaXMgbm9uLWVtcHR5IGJ5IGRlZmF1bHQsIGJ1dCBtX2ljb25E
YXRhYmFzZSBpc24ndCBlbmFibGVkIGluIFVJIHByb2Nlc3MgdW5sZXNzIHNldERhdGFiYXNlUGF0
aCBpcyBjYWxsZWQgZXhwbGljaXRseS4KICAgICBwYXJhbWV0ZXJzLmljb25EYXRhYmFzZUVuYWJs
ZWQgPSAhaWNvbkRhdGFiYXNlUGF0aCgpLmlzRW1wdHkoKTsKIAotICAgIHBhcmFtZXRlcnMudGVy
bWluYXRpb25UaW1lb3V0ID0gMDsKKyAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9
IDBfczsKIAogICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSA9IFRleHRDaGVja2VyOjpz
dGF0ZSgpOwogCkBAIC0xNDE5LDEwICsxNDE5LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVw
ZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQoKQogICAgIC8vIFdlJ3Jl
IGVzdGltYXRpbmcgYW4gdXBwZXIgYm91bmQgZm9yIGEgc2V0IG9mIGJhY2tncm91bmQgdGltZXIg
ZmlyZXMgZm9yIGEgcGFnZSB0byBiZSAyMDBtcwogICAgIC8vIChpbmNsdWRpbmcgYWxsIHRpbWVy
IGZpcmVzLCBhbGwgcGFnaW5nLWluLCBhbmQgYW55IHJlc3VsdGluZyBHQykuIFRvIGVuc3VyZSB0
aGlzIGRvZXMgbm90CiAgICAgLy8gcmVzdWx0IGluIG1vcmUgdGhhbiAxJSBDUFUgbG9hZCBhbGxv
dyBmb3Igb25lIHRpbWVyIGZpcmUgcGVyIDEwMHggdGhpcyBkdXJhdGlvbi4KLSAgICBzdGF0aWMg
aW50IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgPSAyMDAgKiAxMDA7CisgICAgc3Rh
dGljIGNvbnN0IFNlY29uZHMgbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlID0gU2Vjb25kczo6
ZnJvbU1pbGxpc2Vjb25kcygyMDApICogMTAwOwogCi0gICAgaW50IGxpbWl0SW5NaWxsaXNlY29u
ZHMgPSBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TICogbV9oaWRkZW5QYWdlVGhyb3R0
bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7Ci0gICAgc2VuZFRvQWxsUHJvY2Vzc2Vz
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVh
c2VMaW1pdChsaW1pdEluTWlsbGlzZWNvbmRzKSk7CisgICAgU2Vjb25kcyBsaW1pdCA9IG1heGlt
dW1UaW1lclRocm90dGxlUGVyUGFnZSAqIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVh
c2VzQ291bnRlci52YWx1ZSgpOworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXQp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCmluZGV4IDg1NzQ1YWMzMGFj
N2I4M2UxNDgyNGJmZmVlYmE2OTA5MTNlOWI0NGEuLjNiMjIzNzdjODM5MWQzYjgzNmM4YWQ3MDBj
Mzg0ZDAwM2VmZTZkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
VGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBUZXh0
Q2hlY2tlckNsaWVudEVmbDo6ZW5zdXJlU3BlbGxDaGVja2luZ0xhbmd1YWdlKCkKIHZvaWQgVGV4
dENoZWNrZXJDbGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgVmVj
dG9yPFN0cmluZz4mIGRlZmF1bHRMYW5ndWFnZXMpCiB7CiAgICAgbV9zcGVsbENoZWNraW5nTGFu
Z3VhZ2VzID0gZGVmYXVsdExhbmd1YWdlczsKLSAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1l
ckZpcmVkKCkKQEAgLTEyOCw3ICsxMjgsNyBAQCBWZWN0b3I8U3RyaW5nPiBUZXh0Q2hlY2tlckNs
aWVudEVmbDo6bG9hZGVkU3BlbGxDaGVja2luZ0xhbmd1YWdlcygpIGNvbnN0CiAKIHZvaWQgVGV4
dENoZWNrZXJDbGllbnRFZmw6OmNhbGxDb250aW51b3VzU3BlbGxDaGVja2luZ0NoYW5nZUNhbGxi
YWNrQXN5bmMoKQogewotICAgIG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiBib29sIFRleHRDaGVja2VyQ2xpZW50RWZsOjppc0NvbnRpbnVv
dXNTcGVsbENoZWNraW5nRW5hYmxlZENhbGxiYWNrKGNvbnN0IHZvaWQqKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA3ZTE1
NzdjYmE4YjE1NzA1MjY0ZTViYTU0NzVmZmM1OTYyZGFiODg5Li45M2RkZDc2OGRiYTRjYmUwMzBk
NDMxZTRiNGQ4NTdhNjg4ZDBmOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgR2Vz
dHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjpiZWdpbihEcmFnR2VzdHVyZSogZHJhZ0dlc3R1
cmUsIGRvdWJsZSB4LCBkCiAgICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtfZXZlbnRfY29udHJv
bGxlcl9nZXRfd2lkZ2V0KEdUS19FVkVOVF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKICAgICB1bnNp
Z25lZCBkZWxheTsKICAgICBnX29iamVjdF9nZXQoZ3RrX3dpZGdldF9nZXRfc2V0dGluZ3Mod2lk
Z2V0KSwgImd0ay1sb25nLXByZXNzLXRpbWUiLCAmZGVsYXksIG51bGxwdHIpOwotICAgIGRyYWdH
ZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KGRlbGF5IC8gMTAwMC4wKTsK
KyAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdChTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKGRlbGF5KSk7CiB9CiAKIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjp1cGRhdGUoRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwg
ZG91YmxlIHksIEd0a0dlc3R1cmUqIGdlc3R1cmUpCkBAIC0yMDYsNyArMjA2LDcgQEAgdm9pZCBH
ZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1cmU6OnNjYWxlQ2hhbmdlZChab29tR2VzdHVyZSog
em9vbUdlc3R1cmUsIGRvdWIKICAgICBpZiAoem9vbUdlc3R1cmUtPm1faWRsZS5pc0FjdGl2ZSgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBH
ZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1cmU6Olpvb21HZXN0dXJlKFdlYlBhZ2VQcm94eSYg
cGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBN
ZW51UHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1l
bnVQcm94eUd0ay5jcHAKaW5kZXggZGMxOThkODU4ZjEzYTNjMTIzNmU1MTFkMzhkYjY4NTI2MTM3
ODRhNC4uNTMxN2ZlZDlkODkyOTNhYmQ0MjEyYzIwODVkNjRjMmI5NDM3YTE0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5j
cHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjptZW51VW5t
YXBwZWRDYWxsYmFjayhHdGtXaWRnZXQqLCBXZWJQb3B1cE1lbnVQcm94eUd0awogICAgIC8vIFdo
ZW4gYW4gaXRlbSBpcyBhY3RpdmF0ZWQsIHRoZSBtZW51IGlzIGZpcnN0IGhpZGRlbiBhbmQgdGhl
biBhY3RpdmF0ZSBzaWduYWwgaXMgZW1pdHRlZCwgc28gYXQgdGhpcyBwb2ludCB3ZSBkb24ndCBr
bm93CiAgICAgLy8gaWYgdGhlIG1lbnUgaGFzIGJlZW4gaGlkZGVuIGJlY2F1c2UgYW4gaXRlbSBo
YXMgYmVlbiBzZWxlY3RlZCBvciBiZWNhdXNlIHRoZSBtZW51IGhhcyBiZWVuIGRpc21pc3NlZC4g
V2FpdCB1bnRpbCB0aGUgbmV4dAogICAgIC8vIG1haW4gbG9vcCBpdGVyYXRpb24gdG8gZGlzbWlz
cyB0aGUgbWVudSwgaWYgYW4gaXRlbSBpcyBhY3RpdmF0ZWQgdGhlIHRpbWVyIHdpbGwgYmUgY2Fu
Y2VsbGVkLgotICAgIHBvcHVwTWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBwb3B1cE1lbnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6c2VsZWN0SXRlbUNhbGxiYWNrKEd0a1dp
ZGdldCogaXRlbSwgV2ViUG9wdXBNZW51UHJveHlHdGsqIHBvcHVwTWVudSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4
IDgxOGJkMzkwZDQ4M2QwODIyYmFlNzkzNGUxMDZmZGJiMGNkZmY4NTQuLmRmYWQzMmVjZWY4YzQw
OGExMGIyNTkxZjhiMDM3Nzg2MjE1MzM0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtNTIsNyArNTIsNyBAQCBz
dGF0aWMgY29uc3QgTlNVSW50ZWdlciB3aW5kb3dTdHlsZU1hc2sgPSBOU1dpbmRvd1N0eWxlTWFz
a1RpdGxlZCB8IE5TV2luZG93U3R5bAogCiAvLyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3
IGFsaXZlIGJlZm9yZSBjbG9zaW5nIGl0IGFuZCBpdHMgcHJvY2Vzcy4KIC8vIFJldXNpbmcgdGhl
IFdlYlZpZXcgaW1wcm92ZXMgc3RhcnQgdXAgdGltZSBmb3IgcGVvcGxlIHRoYXQganVtcCBpbiBh
bmQgb3V0IG9mIHRoZSBJbnNwZWN0b3IuCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgd2ViVmlld0Ns
b3NlVGltZW91dCA9IDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgd2ViVmlld0Nsb3NlVGltZW91
dCA9IDYwX3M7CiAKIC8vIFdLV2ViSW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlciBpcyBhIGhlbHBl
ciBPYmpDIG9iamVjdCB1c2VkIGFzIGEgZGVsZWdhdGUgb3Igbm90aWZpY2F0aW9uIG9ic2VydmVy
CiAvLyBmb3IgdGhlIHNvbGUgcHVycG9zZSBvZiBnZXR0aW5nIGJhY2sgaW50byB0aGUgQysrIGNv
ZGUgZnJvbSBhbiBPYmpDIGNhbGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IGU4OTFjZDAzMmIyZjQz
NjY0YjY3ZTA2ZGJlY2NjOGVlMDM1OGRkOGYuLmM1ZmNkZTk3N2E5ODFhMzYwZDUwMjY2NGU4YjU2
MDA5YmZjNTJhMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtOTEsMTQgKzkxLDE0IEBAIFJlZlB0cjxO
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcj4gV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlUGx1
Z2luU3RyZWFtTG9hZChGCiAgICAgcmV0dXJuIGxvYWRlcjsKIH0KIAotc3RhdGljIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJl
c291cmNlKQorc3RhdGljIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3Vy
Y2UqIHJlc291cmNlKQogewogI2lmICFFTkFCTEUoTkVUV09SS19DQUNIRSkKLSAgICByZXR1cm4g
MG1zOworICAgIHJldHVybiAwX3M7CiAjZW5kaWYKIAogICAgIGlmICghcmVzb3VyY2UpCi0gICAg
ICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKICAgICBzd2l0Y2ggKHJlc291
cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgpA
QCAtMTA3LDkgKzEwNyw5IEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGlt
dW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpTVkdGb250UmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpGb250UmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzOjptYXgoKTsKKyAgICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIDUwMG1zOwor
ICAgICAgICByZXR1cm4gNTAwX21zOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1lZGlhUmVz
b3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWFpblJlc291cmNlOgogICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlJhd1Jlc291cmNlOgpAQCAtMTI0LDExICsxMjQsMTEgQEAgc3RhdGlj
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlKQogI2lmIEVOQUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlhTTFN0eWxlU2hlZXQ6CiAjZW5kaWYKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAg
cmV0dXJuIDBfczsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1
cm4gMG1zOworICAgIHJldHVybiAwX3M7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNj
aGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0
KQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9h
ZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiB2b2lkIFdlYkxv
YWRlclN0cmF0ZWd5OjpzY2hlZHVsZUludGVybmFsbHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJlc291
cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlcikKIHsKICAgICBtX2ludGVybmFsbHlGYWlsZWRSZXNv
dXJjZUxvYWRlcnMuYWRkKCZyZXNvdXJjZUxvYWRlcik7Ci0gICAgbV9pbnRlcm5hbGx5RmFpbGVk
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ludGVybmFsbHlGYWlsZWRMb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OmludGVy
bmFsbHlGYWlsZWRMb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAu
Y3BwCmluZGV4IDQ5OTIwZjJjYWE4NGY3NjliNjJkMjQ2MmE5Yzk4MDdmNTIwY2YzZWQuLjFjMWVl
NjIxZDI0YjcwYWYzYWFkYTEzMzEwNjI0MjdhMzAyYzYwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRp
bWVPYmplY3RNYXAuY3BwCkBAIC0yOTMsNyArMjkzLDcgQEAgdm9pZCBOUFJ1bnRpbWVPYmplY3RN
YXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUoTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIGlmICh0
cnlTYWZlUmVsZWFzZU5QT2JqZWN0KG5wT2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogICAgIGlm
IChtX25wT2JqZWN0c1RvRmluYWxpemUuaXNFbXB0eSgpKQotICAgICAgICBtX2ZpbmFsaXphdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKICAgICBBU1NFUlQobV9maW5hbGl6YXRpb25UaW1lci5pc0FjdGl2ZSgp
KTsKICAgICBtX25wT2JqZWN0c1RvRmluYWxpemUuYXBwZW5kKG5wT2JqZWN0KTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZVBsdWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW4uY3BwCmluZGV4IDVjOWE5MTgyNDU2NmE0NjMwMTBjMGU3Mzk2ODAzNDU3
ZTMzMzQ3N2QuLjU0MTcxYzIyNTQ3OGY3NjZkYzJjNmFhYjU3MDkwNGM1MWMwY2IwZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZVBsdWdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL05ldHNjYXBlUGx1Z2luLmNwcApAQCAtMzI2LDcgKzMyNiw3IEBAIE5ldHNjYXBlUGx1Z2lu
OjpUaW1lcjo6flRpbWVyKCkKIAogdm9pZCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6OnN0YXJ0KCkK
IHsKLSAgICBkb3VibGUgdGltZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICBT
ZWNvbmRzIHRpbWVJbnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZh
bCk7CiAKICAgICBpZiAobV9yZXBlYXQpCiAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmco
dGltZUludGVydmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCmluZGV4
IDdkNTRkODhjN2U4OThjNWNlMGJhZGYxZDc2OWIyZTVkMzVkOWEyNTQuLjIzNDk5MTMwY2M1OTY1
YmNhNjFiN2I4MjgyZTk1ZDNhN2ZmN2I3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
U3RyZWFtLmNwcApAQCAtMjIyLDcgKzIyMiw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5TdHJlYW06
OmRlbGl2ZXJEYXRhVG9QbHVnaW4oKQogCiAgICAgICAgIGlmIChudW1CeXRlc1BsdWdpbkNhbkhh
bmRsZSA8PSAwKSB7CiAgICAgICAgICAgICAvLyBUaGUgcGx1Zy1pbiBjYW4ndCBoYW5kbGUgbW9y
ZSBkYXRhLCB3ZSdsbCBzZW5kIHRoZSByZXN0IGxhdGVyCi0gICAgICAgICAgICBtX2RlbGl2ZXJ5
RGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFj
L05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQppbmRleCBiOTI2ZGIwOTAyZjViOGY3
NTA0N2ZlYWRjMmM1NDNjNmFjYzJlNWUwLi41MDQ0MmE3ZTY4NzJlMDkxMTNmYzNkNGM2MjY1ZDky
MTZlY2MzMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1
LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogI2lmbmRlZiBOUF9OT19DQVJCT04KLXN0YXRpYyBjb25zdCBkb3VibGUgbnVsbEV2ZW50SW50
ZXJ2YWxBY3RpdmUgPSAwLjAyOworc3RhdGljIGNvbnN0IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2
YWxBY3RpdmUgPSAwLjAyX3M7CiAKIHN0YXRpYyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21MYXN0
TW91c2VFdmVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblZpZXcuY3BwCmluZGV4IGFjMWRhYWJhZDA2M2E0OTYyNmIzN2UwNDAyZTllYmY1NDkyZDNi
MWIuLmI0ZjE1MzU3Zjg2MTA1ZmYzOTVlNDRlMjFjNTA5NzU4M2RhNmU2MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTc4LDcg
Kzc4LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Ly8gVGhpcyBzaW11bGF0ZWQgbW91c2UgY2xpY2sgZGVsYXkgaW4gSFRNTFBsdWdJbkltYWdlRWxl
bWVudC5jcHAgc2hvdWxkIGdlbmVyYWxseSBiZSB0aGUgc2FtZSBvciBzaG9ydGVyIHRoYW4gdGhp
cyBkZWxheS4KLXN0YXRpYyBjb25zdCBhdXRvIHBsdWdpblNuYXBzaG90VGltZXJEZWxheSA9IHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAxMTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBw
bHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSBTZWNvbmRzKDEuMSk7CiAKIGNsYXNzIFBsdWdpblZp
ZXc6OlVSTFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxVUkxSZXF1ZXN0PiB7CiBwdWJsaWM6
CkBAIC0xMTY0LDcgKzExNjQsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0
c1RpbWVyRmlyZWQoKQogCiAgICAgLy8gSWYgdGhlcmUgYXJlIG1vcmUgcmVxdWVzdHMgdG8gcGVy
Zm9ybSwgcmVzY2hlZHVsZSB0aGUgdGltZXIuCiAgICAgaWYgKCFtX3BlbmRpbmdVUkxSZXF1ZXN0
cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgIAogICAgIHBlcmZvcm1VUkxSZXF1ZXN0KHVybFJlcXVlc3QuZ2V0KCkpOwogfQpA
QCAtMTQyMyw3ICsxNDIzLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpsb2FkVVJMKHVpbnQ2NF90IHJl
cXVlc3RJRCwgY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IFN0cmluZyYKICAgICAgICAgZnJh
bWVMb2FkUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQUmVmZXJyZXIocmVmZXJyZXIp
OwogCiAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHMuYXBwZW5kKFVSTFJlcXVlc3Q6OmNyZWF0ZShy
ZXF1ZXN0SUQsIGZyYW1lTG9hZFJlcXVlc3QsIGFsbG93UG9wdXBzKSk7Ci0gICAgbV9wZW5kaW5n
VVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVVJMUmVxdWVz
dHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5WaWV3OjpjYW5jZWxT
dHJlYW1Mb2FkKHVpbnQ2NF90IHN0cmVhbUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4
IGI4NzhmYmM5ODQyZTNlYmFkNjdmNmZmOThkNzk5MGM5Y2E2MzA1ZTUuLjc0ZTJjMjMzNzRjYTlm
M2M0NWVhMzA4OTcyNjNmM2Y1YTFiMTFmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAg
LTM0Miw3ICszNDIsNyBAQCB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nTW9kZVNvb24oKQogICAgIGlmIChleGl0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGVQZW5kaW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZXhpdENvbXBvc2l0
aW5nVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQ
Uk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmNwcAppbmRleCBmM2RhZWZjNzg3NmQ5ODNiZTE1YzliYmMyZGFhYzE4MjVlOGFi
YzI3Li44ZWU3ZGRmMTk4MmQ5MTdmYWY3MTU1ZDE5ODM4NGQ0MzFkODc5NGFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApA
QCAtMTU1LDExICsxNTUsMTEgQEAgdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzeW5jRGlz
cGxheVN0YXRlKCkKIH0KIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLWRv
dWJsZSBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBj
b25zdAorU2Vjb25kcyBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2Vydmlj
ZVRpbWUoKSBjb25zdAogewogICAgIC8vIEFjY29yZGluZyB0byB0aGUgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lIHNwZWMsIHJBRiBjYWxsYmFja3Mgc2hvdWxkIG5vdCBiZSBmYXN0ZXIgdGhhbiA2MEZQ
Uy4KLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyA9
IDEuIC8gNjAuOwotICAgIHJldHVybiBzdGQ6Om1heDxkb3VibGU+KDAuLCBNaW5pbWFsVGltZW91
dEZvckFuaW1hdGlvbnMgLSB0aW1lc3RhbXAoKSArIG1fbGFzdEFuaW1hdGlvblNlcnZpY2VUaW1l
KTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMg
PSBTZWNvbmRzKDEuMCAvIDYwKTsKKyAgICByZXR1cm4gc3RkOjptYXg8U2Vjb25kcz4oMF9zLCBN
aW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgLSBTZWNvbmRzKHRpbWVzdGFtcCgpICsgbV9sYXN0
QW5pbWF0aW9uU2VydmljZVRpbWUpKTsKIH0KICNlbmRpZgogCkBAIC0zOTgsNyArMzk4LDcgQEAg
Ym9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpwYWludFRvU3VyZmFjZShjb25zdCBJbnRTaXpl
JiBzaXplLCBDb29yZGluYXRlZFN1cmYKICAgICByZXR1cm4gbV91cGRhdGVBdGxhc2VzLmxhc3Qo
KS0+cGFpbnRPbkF2YWlsYWJsZUJ1ZmZlcihzaXplLCBhdGxhc0lELCBvZmZzZXQsIGNsaWVudCk7
CiB9CiAKLWNvbnN0IGRvdWJsZSBSZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCA9
IDAuNTsKK2NvbnN0IFNlY29uZHMgUmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwg
PSAwLjVfczsKIAogdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJ
bmFjdGl2ZUF0bGFzZXMoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29t
cG9zaXRpbmdDb29yZGluYXRvci5oCmluZGV4IGY5OGEzNmJjMjdhN2YyYmNlMTc3ZDEyN2NmOTdm
NjlkYmUxYzc1MWEuLmViZjY1YmI3ZjljZGI3ZWNlMjdiY2YwMTAzMzc1ZDRjZmQ4ZTIzODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9y
LmgKQEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3luY0Rpc3BsYXlTdGF0ZSgp
OwogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotICAgIGRvdWJsZSBuZXh0
QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRBbmltYXRpb25T
ZXJ2aWNlVGltZSgpIGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCA5
ZjZhODMyMWUzZjI1MWFhNWUzNmU1MzcxOGQ4Y2FhOTc3ODA5NTZhLi5jNDdiYjA3Y2Q1ZDVmMjYw
N2U4Mzc1ZWEwZDViZTQ3MmM2NDRhNTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTc5LDcgKzc5LDcgQEAg
dm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmICghbV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xheWVy
Rmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OmNhbmNlbFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggNTRiNGVh
ZDk4M2Y3NTZiZDE0OGUxYWY0Y2JlZDY0NzM5ODA3OTQyZC4uMGQxYjUxMDEwNjg1MTg1ZjgwMzE5
ZTkwOGJlY2Y3NDhjYTU1OGIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lk
IERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVEaXNwbGF5KCkKICAgICBpZiAobV9kaXNwbGF5VGlt
ZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kaXNwbGF5VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDAzMWJjYTlkYTFiZDY0
MDFmNjQwZTA2ODRmZmZkZDUzOTgyNDZkNDcuLjA5YTJjZmIzNzE2ZWU5OWJkZmU5MGQ3MGZhMmU0
YWNiZGMzNzgxMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTI1Myw5ICsyNTMsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcGFnZVNjcm9sbEh5c3Rl
cmVzaXNTZWNvbmRzID0gMC4zOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyMCB9Owotc3RhdGljIGNv
bnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVy
dmFsIHsgMiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGFnZVNjcm9sbEh5c3RlcmVzaXMgPSAw
LjNfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lcklu
dGVydmFsID0gMjBfbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGls
aXR5VGltZXJJbnRlcnZhbCA9IDJfczsKIAogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVycywg
X19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoLi4uKSBS
RUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJzLCBf
X1ZBX0FSR1NfXykKQEAgLTMxNCw3ICszMTQsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90
IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXIoKnRoaXMpCiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhb
dGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3Rh
dGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJl
c2lzU2Vjb25kcykKKyAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlzdGVy
ZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQp
IHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzKQogICAgICwg
bV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5jYW5SdW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMuY2FuUnVu
TW9kYWwpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMjA1MSw3ICsyMDUxLDcgQEAgdm9pZCBXZWJQ
YWdlOjpjYWxsVm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycygpCiAKIHZvaWQgV2ViUGFnZTo6
bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7Ci0gICAgYXV0byBuZXdJbnRlcnZhbCA9IDIg
KiBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsTVMoKTsKKyAgICBTZWNvbmRz
IG5ld0ludGVydmFsID0gbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbCgpICog
MjsKICAgICBib29sIGRpZFN1Y2NlZWQgPSBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlm
UG9zc2libGUoKTsKICAgICBpZiAoZGlkU3VjY2VlZCB8fCBuZXdJbnRlcnZhbCA+IG1heGltdW1M
YXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKSB7CiAgICAgICAgIG1fbGF5ZXJWb2xhdGlsaXR5
VGltZXIuc3RvcCgpOwpAQCAtMjA2MCw3ICsyMDYwLDcgQEAgdm9pZCBXZWJQYWdlOjpsYXllclZv
bGF0aWxpdHlUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVB
U0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFs
bCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIHN0YXRp
Y19jYXN0PGxvbmcgbG9uZz4obmV3SW50ZXJ2YWwuY291bnQoKSkpOworICAgIFJFTEVBU0VfTE9H
X0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXll
cnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgbmV3SW50ZXJ2YWwu
dmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhuZXdJ
bnRlcnZhbCk7CiB9CiAKQEAgLTIwOTEsNyArMjA5MSw3IEBAIHZvaWQgV2ViUGFnZTo6bWFya0xh
eWVyc1ZvbGF0aWxlKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIpCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAt
IEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxs
ZCBtcyIsIHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsLmNvdW50KCkp
OworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxh
eWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBpbml0aWFsTGF5
ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRpbGl0
eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFs
KTsKIH0KIApAQCAtMjUzMCw3ICsyNTMwLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVJc0luV2lu
ZG93KGJvb2wgaXNJbml0aWFsU3RhdGUpCiAgICAgICAgIC8vIGluIG9yZGVyIHRvIGdldCBwbHVn
LWluIGNvbm5lY3Rpb25zLCBhbmQgdGhlIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIGZvciB0
aGUgV2ViIHByb2Nlc3MgdG8gdXBkYXRlIHRoZSBiYWNraW5nCiAgICAgICAgIC8vIHN0b3JlIGFm
dGVyIG1vdmluZyB0aGUgdmlldyBpbnRvIGEgd2luZG93LCB1bnRpbCBpdCB0aW1lcyBvdXQgYW5k
IHBhaW50cyB3aGl0ZS4gU2VlIDxyZGFyOi8vcHJvYmxlbS85MjQyNzcxPi4KICAgICAgICAgaWYg
KG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdykKLSAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRN
ZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRp
YVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLnBhZ2VEaWRFbnRlcldpbmRvdyhtX3BhZ2VJRCk7CiAgICAgfQpAQCAtMzAzNyw3ICszMDM3
LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNl
c1N0b3JlJiBzdG9yZSkKICNlbmRpZgogCiAgICAgc2V0dGluZ3Muc2V0U3VwcHJlc3Nlc0luY3Jl
bWVudGFsUmVuZGVyaW5nKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6c3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5z
ZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyhzdG9yZS5n
ZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6aW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXRLZXkoKSkpOworICAgIHNldHRpbmdzLnNldEluY3JlbWVudGFs
UmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25U
aW1lb3V0S2V5KCkpKSk7CiAgICAgc2V0dGluZ3Muc2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVu
YWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpiYWNrc3Bh
Y2VLZXlOYXZpZ2F0aW9uRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0V2FudHNCYWxh
bmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvcihzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OndhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3JLZXko
KSkpOwogICAgIHNldHRpbmdzLnNldENhcmV0QnJvd3NpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y2FyZXRCcm93c2luZ0VuYWJsZWRLZXkoKSkp
OwpAQCAtMzExMCw3ICszMTEwLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhj
b25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKICAgICBzZXR0aW5ncy5zZXRBbHdheXNV
c2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6YWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbEtleSgpKSk7
CiAKICAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9FbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFzc3dvcmRFY2hvRW5hYmxlZEtleSgpKSk7Ci0g
ICAgc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoc3RvcmUuZ2V0RG91
YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhc3N3b3JkRWNob0R1cmF0aW9uS2V5
KCkpKTsKKyAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbihTZWNvbmRzKHN0b3Jl
LmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpwYXNzd29yZEVjaG9EdXJh
dGlvbktleSgpKSkpOwogICAgIAogICAgIHNldHRpbmdzLnNldExheW91dEludGVydmFsKFNlY29u
ZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxheW91dElu
dGVydmFsS2V5KCkpKSk7CiAgICAgc2V0dGluZ3Muc2V0TWF4UGFyc2VEdXJhdGlvbihzdG9yZS5n
ZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bWF4UGFyc2VEdXJhdGlvbktl
eSgpKSk7CkBAIC0zODQ4LDcgKzM4NDgsNyBAQCB2b2lkIFdlYlBhZ2U6OmFkZFBsdWdpblZpZXco
UGx1Z2luVmlldyogcGx1Z2luVmlldykKICAgICBtX2hhc1NlZW5QbHVnaW4gPSB0cnVlOwogI2lm
IEVOQUJMRShQUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMpCiAgICAgTE9HKFBs
dWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBm
cm9tIGFkZFBsdWdpblZpZXcoJXApIiwgcGx1Z2luVmlldyk7Ci0gICAgbV9kZXRlcm1pbmVQcmlt
YXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRlcm1p
bmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRp
ZgogfQogCkBAIC00Mzg1LDcgKzQzODUsNyBAQCB2b2lkIFdlYlBhZ2U6OnNldE1heVN0YXJ0TWVk
aWFXaGVuSW5XaW5kb3coYm9vbCBtYXlTdGFydE1lZGlhKQogCiAgICAgbV9tYXlTdGFydE1lZGlh
V2hlbkluV2luZG93ID0gbWF5U3RhcnRNZWRpYTsKICAgICBpZiAobV9tYXlTdGFydE1lZGlhV2hl
bkluV2luZG93ICYmIG1fcGFnZS0+aXNJbldpbmRvdygpKQotICAgICAgICBtX3NldENhblN0YXJ0
TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYlBhZ2U6OnJ1bk1vZGFsKCkKQEAg
LTUxNjMsNyArNTE2Myw3IEBAIHZvaWQgV2ViUGFnZTo6ZGlkRmluaXNoTG9hZChXZWJGcmFtZSog
ZnJhbWUpCiAKICAgICBtX3JlYWR5VG9GaW5kUHJpbWFyeVNuYXBzaG90dGVkUGx1Z2luID0gdHJ1
ZTsKICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHRyaWdnZXJp
bmcgZGV0ZWN0aW9uIGZyb20gZGlkRmluaXNoTG9hZCAobWFya2luZyBhcyByZWFkeSB0byBkZXRl
Y3QpLiIpOwotICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAj
ZW5kaWYKQEAgLTUxNzUsNyArNTE3NSw3IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBwcmltYXJ5U25h
cHNob3R0ZWRQbHVnSW5TZWFyY2hCdWNrZXRTaXplID0gMS4xOwogc3RhdGljIGNvbnN0IGludCBw
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtV2lkdGggPSA0MDA7CiBzdGF0aWMgY29uc3Qg
aW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1pbmltdW1IZWlnaHQgPSAzMDA7CiBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1w
dHMgPSAyOwotc3RhdGljIGNvbnN0IGludCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
bkRldGVjdGlvbkRlbGF5ID0gMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGRlZmVycmVkUHJpbWFy
eVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAzX3M7CiBzdGF0aWMgY29uc3QgZmxv
YXQgb3ZlcmxhcHBpbmdJbWFnZUJvdW5kc1NjYWxlID0gMS4xOwogc3RhdGljIGNvbnN0IGZsb2F0
IG1pbmltdW1PdmVybGFwcGluZ0ltYWdlVG9QbHVnaW5EaW1lbnNpb25TY2FsZSA9IC45OwogCkBA
IC01MjgzLDcgKzUyODMsNyBAQCB2b2lkIFdlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbigpCiAgICAgaWYgKCFjYW5kaWRhdGVQbHVnSW4pIHsKICAgICAgICAgTE9HKFBs
dWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiBmYWlsIC0gZGlkIG5vdCBmaW5kIGEg
Y2FuZGlkYXRlIHBsdWctaW4uIik7CiAgICAgICAgIGlmIChtX251bWJlck9mUHJpbWFyeVNuYXBz
aG90RGV0ZWN0aW9uQXR0ZW1wdHMgPCBtYXhQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rp
b25BdHRlbXB0cykgewotICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4g
RGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJWRzLiIsIGRlZmVycmVkUHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkpOworICAgICAgICAgICAgTE9HKFBsdWdpbnMs
ICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJS4zZnMu
IiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheS52YWx1ZSgp
KTsKICAgICAgICAgICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIu
c3RhcnRPbmVTaG90KGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVs
YXkpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDE4MzFmMmI1MDA0MjFkOGRjNzA3ZGE5MWRlZjJh
YTgzYzUzNzgzMmUuLmMyOTNkOTc0YjAxZjNmYTY0ZTc5MDM4OWMzNzdkMDk3MTU0MTc4YzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMzAwLDcg
KzMwMCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNv
bnN0OwogICAgIHZvaWQgc2V0QWN0aXZlUG9wdXBNZW51KFdlYlBvcHVwTWVudSopOwogCi0gICAg
dm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGxpbWl0KQorICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0
bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICB7CiAgICAgICAgIG1fcGFnZS0+
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQobGltaXQpOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDVhNjczMzRkOGFhM2E0NjFi
MzM4ZTBiOGVhODQwNzFkZGM4ZDA3ZDQuLjlhMWUyNjFiZjJmMjQwZjdlZDQ5YzdlNDNhOGNhYTI3
MmRkN2FjMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMjg1
LDcgKzI4NSw3IEBAIFRpbGVkQmFja2luZyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6Om1h
aW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkoKQogewotICAg
IG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgIG1fbGF5ZXJGbHVzaFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCkBAIC0zMDQsOSArMzA0LDkgQEAg
dm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVy
Rmx1c2goKQogICAgIGlmIChtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBjb25zdCBhdXRvIGluaXRpYWxGbHVzaERlbGF5ID0gNTAwbXM7Ci0gICAg
Y29uc3QgYXV0byBmbHVzaERlbGF5ID0gMTUwMG1zOwotICAgIGF1dG8gdGhyb3R0bGVEZWxheSA9
IG1faXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzID8gKG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJG
bHVzaCA/IGluaXRpYWxGbHVzaERlbGF5IDogZmx1c2hEZWxheSkgOiAwbXM7CisgICAgY29uc3Qg
U2Vjb25kcyBpbml0aWFsRmx1c2hEZWxheSA9IDAuNV9zOworICAgIGNvbnN0IFNlY29uZHMgZmx1
c2hEZWxheSA9IDEuNV9zOworICAgIFNlY29uZHMgdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRs
aW5nTGF5ZXJGbHVzaGVzID8gKG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRp
YWxGbHVzaERlbGF5IDogZmx1c2hEZWxheSkgOiAwX3M7CiAgICAgbV9pc0luaXRpYWxUaHJvdHRs
ZWRMYXllckZsdXNoID0gZmFsc2U7CiAKICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNo
b3QodGhyb3R0bGVEZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YS5tbQppbmRleCBmNGVlYTAxZmU2ZWE1NzFjM2I1Y2I0MzBmOWMxODc0M2NlOWE0MGNjLi5jY2Nm
MWFjMjA1NTc4ZGM0Y2FjNWYxOGZkYTE5OGZjN2U3ZDFkMDRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTQ3Miw3ICs0NzIsNyBAQCB2b2lkIFRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjphY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKEFjdGl2aXR5
U3RhdGU6OkZsYWdzCiAgICAgfQogCiAgICAgaWYgKG1fd2FudHNEaWRVcGRhdGVBY3Rpdml0eVN0
YXRlIHx8ICFtX25leHRBY3Rpdml0eVN0YXRlQ2hhbmdlQ2FsbGJhY2tJRHMuaXNFbXB0eSgpKQot
ICAgICAgICBtX3NlbmREaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3NlbmREaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0
ZUFjdGl2aXR5U3RhdGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IGRkMDBhMThkOWI2MjE2NWQ5MzYyYTk4MmU0ZmU3NjU4ODcxZTUxOWEu
LjEzOGMyMTYyMWI0NjJjMzEyOTAwMWQyNTRlOWFjYWVjZDJkYWM2NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogc3RhdGljIGNvbnN0IGRvdWJsZSBwbHVnSW5BdXRvU3RhcnRFeHBp
cmF0aW9uVGltZVVwZGF0ZVRocmVzaG9sZCA9IDI5ICogMjQgKiA2MCAqIDYwOwogCiAvLyBUaGlz
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgaW4gVGlsZUNv
bnRyb2xsZXIuCi1zdGF0aWMgY29uc3QgZG91YmxlIG5vblZpc2libGVQcm9jZXNzQ2xlYW51cERl
bGF5ID0gMTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBE
ZWxheSA9IFNlY29uZHMoMTApOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjExLDcgKzIx
MSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgICAgICBpZiAobV9zdGF0aXN0aWNz
Q2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAot
ICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjpzZWNvbmRzKDUpKTsKKyAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25l
U2hvdCg1X3MpOwogICAgIH0pOwogfQogCkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBXZWJQcm9j
ZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxD
YXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAg
IHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAgICAgdW5zaWduZWQgcGFn
ZUNhY2hlU2l6ZSA9IDA7CiAgICAgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhjYWNoZU1vZGVs
LCBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRD
YXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgcGFnZUNhY2hlU2l6ZSk7
CiAKQEAgLTEyNDQsMTAgKzEyNDQsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpkZWxldGVXZWJzaXRl
RGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW8KICAgICB9
CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKK3ZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFn
ZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBmb3Ig
KGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpCi0gICAgICAgIHBhZ2UtPnNldEhpZGRl
blBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMobWlsbGlzZWNvbmRzKSk7CisgICAgICAgIHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggMmE5NjQxYmZkNTRlODM0Nzgy
ODRkNjVhNWVhMzU3MWExZjI3YjViOS4uMzMzZmRiNmMxNjU1OWI5ODNjNzc1NjZkYjM4MzRlZjdj
NGY5MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTE4OCw3
ICsxODgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAKLSAg
ICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxs
aXNlY29uZHMpOworICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQoU2Vjb25kcyk7CiAKICAgICB2b2lkIHByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHko
Ym9vbCYgaGFuZGxlZCk7CiAgICAgdm9pZCBwcmVwYXJlVG9TdXNwZW5kKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNmQ3NmU1
ODMyNmVkMzUyNGFhYzVhOTg2YzQ5OTA2NzhhNTI0MTY2Yi4uMjU5MDQ0OThhNmU0YTk3MDZiMWZj
MWQ2NjliMWUxYzZiNzgyMDI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtODAsNyArODAsNyBAQCBtZXNzYWdlcyAtPiBXZWJQ
cm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEZWxldGVXZWJzaXRlRGF0YShXZWJDb3JlOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdl
YnNpdGVEYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9k
aWZpZWRTaW5jZSkgLT4gKCkKICAgICBEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29y
ZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBl
PiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBv
cmlnaW5zKSAtPiAoKQogCi0gICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQoaW50IG1pbGxpc2Vjb25kcykKKyAgICBTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5n
SW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVu
YWJsZWQoYm9vbCBmbGFnKQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNldFFPUyhpbnQgbGF0
ZW5jeVFPUywgaW50IHRocm91Z2hwdXRRT1MpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjdmNjE3MTUwNTU4Y2QxM2NiMDc1ZDZjNWIzNGJjMzhm
Y2ViZWQzZi4uOTU5NmRlYWFiZDIxODQ2ZDE0MGVmNDhhNmVhMzhmYmVhNjk5MTA4YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIy
IEBACiAyMDE2LTExLTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDaGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBT
ZWNvbmRzLCByZXBsYWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJs
ZXMsIGFuZCByZW1vdmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENv
bnZlcnQgc29tZSBlbnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4K
KworICAgICAgICBVc2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VEVTVCk6CisKKzIwMTYtMTEtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKICAgICAgICAgQW5vdGhlciBmaXggZm9yIENNYWtlLgogCiAgICAgICAgICog
RHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaDoKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZm
ZTNkYi4uNWE0ODkyOGZjYjVmMDgyMTYxOGE4ZDJhNDdhYTUxOGZiZGQzYjU2MyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgVEVT
VChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGlt
ZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMSk7
CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiAgICAgICAgIFV0aWw6OnJ1bigm
dGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CkBAIC0xMjksNyArMTI5LDcgQEAgVEVTVChXVEZfUnVu
TG9vcCwgUmVwZWF0aW5nVGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1l
cih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygwLjAxKTsKKyAg
ICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMV9zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0
ZXN0RmluaXNoZWQpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YzAzYmFkNjZjYzM0NzhjZTUzODFiNWY4
MmI0ODljZjBjMDFhNjAzLi5kNjcyZTA3N2ExY2EwZWM0ODhhZjFiNWZhNDhhNjA2MDdhYWUxYWI1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMTEtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBT
ZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBTZXR0aW5ncyAicGFzc3dvcmRFY2hv
RHVyYXRpb24iIG5vIGxvbmdlciBoYXMgIkluU2Vjb25kcyIgaW4gaXQsIHNvIGZpeCB0aGUgdGVz
dCBKUy4KKworICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcmVzb3VyY2VzL3Bhc3N3b3JkLWVjaG8u
anM6CisgICAgICAgIChpbml0KToKKwogMjAxNi0xMS0yNiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIENvbnZlcnQgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgb3ZlciB0byB1
c2luZyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzIHNvIGl0IGNhbiBiZSBwcm9wZXJseSBleGNsdWRl
ZCBmcm9tIHNjcmlwdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXNv
dXJjZXMvcGFzc3dvcmQtZWNoby5qcyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmVzb3Vy
Y2VzL3Bhc3N3b3JkLWVjaG8uanMKaW5kZXggZjc4MjAyZDdjNTAzYTFjNTdiMTJhN2VmNDY0NTJi
NzJmMjAwMDQwZS4uMWUzNjgzNDgxZWJkZDlhYTM1Zjc3ODUxZGZkNDFhZjNjMzg3MDIyMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXNvdXJjZXMvcGFzc3dvcmQtZWNo
by5qcworKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3Jlc291cmNlcy9wYXNzd29yZC1l
Y2hvLmpzCkBAIC04MSw3ICs4MSw3IEBAIGZ1bmN0aW9uIGluaXQodGVzdHMpCiAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICBpZiAod2luZG93LmludGVybmFscykg
ewogICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9F
bmFibGVkKHRydWUpOwotICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRQ
YXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygwLjEpOworICAgICAgICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbigwLjEpOwogICAgICAgICAg
ICAgdGVzdG5vZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdG5vZGUnKTsKICAgICAg
ICAgICAgIHJ1bih0ZXN0cywgLTEpOwogICAgICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295482</attachid>
            <date>2016-11-27 23:03:53 -0800</date>
            <delta_ts>2016-12-04 20:39:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161127230327.patch</filename>
            <type>text/plain</type>
            <size>400301</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4OTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZDI0Njk5NmQxMTQxM2JkOGRiZjJmMTg1YzEwMTM3NGM2NGQ4NjhmLi5hMjdhZDAzOGFiZDI5N2Nh
YTQ0NzUwZGE0NTkwNDFjNmVmMjZlNTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0
byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAg
ICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAg
ICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25p
Y1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHA6CisgICAgICAg
IChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VD
b2xsZWN0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAg
ICAgKEpTQzo6c3BlY2llc0NvbnN0cnVjdEFycmF5KToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1
enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3Rk
OjpvcHRpb25hbCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRl
eCBmYTJlNjFjZjc5NjRlMzUxYjgzMThlZGQ0NzhhNTUwZTkwODBiZGUyLi4zZTQ0OTVjYmQ5OWMx
M2RhM2NlNDc4NTUzNzZhODEwMGFlNDg0NmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTEx
LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENo
YW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6
Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBs
YWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1v
dmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBl
bnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBV
c2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIHd0Zi9SdW5Mb29w
Lmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgor
ICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAg
ICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAgICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6
CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYv
Y2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFy
dCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29wRWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdl
bmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAg
ICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6
OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6Cisg
ICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorCiAyMDE2LTExLTI2ICBZ
dXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtXVEZdIElt
cG9ydCBzdGQ6Om9wdGlvbmFsIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBhcyBXVEY6Ok9wdGlv
bmFsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNjRhYTQxZTExOWYyZTBmY2FjZmM3NTM0NGM3ZmEwY2NhYTNhMzRi
MC4uZTAwNDRjMDdlNGU1ZGFjMzRmZmU2MjEwYzA1OTFhZDU2YmM1MGIzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDU0NSBAQAorMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRp
bWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdwor
ICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4K
KworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01v
bm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMu
CisgICAgICAgIAorICAgICAgICBUaGVyZSBpcyBvbmUgYmVoYXZpb3IgY2hhbmdlLiBUaGUgaU9T
IG92ZXJmbG93IGF1dG9zY3JvbGwgdGltZXIgd2FzIHVzaW5nIGFuIGludGVydmFsIG9mCisgICAg
ICAgICJjb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVuY3kgPSAxMDAwIC8gNjAiIGkuZS4gMTYu
N3MsIHdoaWNoIHNlZW1lZCB1bmludGVudGlvbmFsLgorICAgICAgICBJdCB3YXMgY2hhbmdlZCB0
byB1c2UgMS82MHMuCisgICAgICAgIAorICAgICAgICBJbiBvcmRlciB0byBzdXBwb3J0IG1vZGlm
eWluZyBTZXR0aW5ncyB3aXRoIFNlY29uZHMgdmFsdWVzIGZyb20gSlMgdmlhIEludGVybmFsU2V0
dGluZ3MsCisgICAgICAgIGZpeCBtYWtlX3NldHRpbmdzLnBsIHRvIGNyZWF0aW5nIGJpbmRpbmdz
IGZvciB2YWx1ZXMgdXNpbmcgU2Vjb25kcywgYW5kIGFubm90YXRlIHRoZW0gCisgICAgICAgIHdp
dGggW0N1c3RvbV0sIGFuZCBhZGQgSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9tLmNw
cCB3aGljaCBoYW5kbGVzIHRoZSBkb3VibGUtPlNlY29uZHMKKyAgICAgICAgY29udmVyc2lvbi4g
TWF5YmUgdGhpcyBjb3VsZCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGJpbmRpbmdzIGdl
bmVyYXRpb24gaW4gZnV0dXJlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVLZXlS
ZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRl
KToKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzZXRGYXRhbEVycm9yKToKKyAgICAgICAgKFdlYkNv
cmU6Okdlb05vdGlmaWVyOjpzZXRVc2VDYWNoZWRQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpHZW9Ob3RpZmllcjo6c3RhcnRUaW1lcklmTmVlZGVkKToKKyAgICAgICAgKiBNb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9u
OjpyZXN1bWUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZU9wZXJhdGlvblRp
bWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6
aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6U291
cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbTo6
c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6OnNj
aGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
YXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2NoZWR1
bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
Q2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVz
dFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbik6Cisg
ICAgICAgICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9KU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6c2V0SW5jcmVt
ZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6SlNJ
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkOjpzZXRQYXNzd29yZEVjaG9EdXJhdGlvbik6CisgICAg
ICAgICogY3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNl
OjpzZXRTdGF0dXMpOgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVjdG9yOjpiZWdpbkxvYWRpbmdGb250U29vbik6CisgICAg
ICAgICogY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgorICAgICAgICAoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJlc29sdmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2V0VmlzdWFsVXBk
YXRlc0FsbG93ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNjaGVkdWxlU3R5bGVS
ZWNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFs
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpmaW5pc2hlZFBhcnNpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNvb24pOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZVNjaGVkdWxlZFRhc2tzKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGVjcmVtZW50TG9hZEV2ZW50RGVsYXlD
b3VudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRy
b2wpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldENhY2hlZERPTUNvb2tpZXMpOgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZl
bnQpOgorICAgICAgICAqIGRvbS9FdmVudFNlbmRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRTZW5kZXI8VD46OmRpc3BhdGNoRXZlbnRTb29uKToKKyAgICAgICAgKiBkb20vTWljcm90YXNr
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNaWNyb3Rhc2tRdWV1ZTo6YXBwZW5kKToKKyAgICAg
ICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZh
bCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp0aW1lckFsaWdu
bWVudEludGVydmFsKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgor
ICAgICAgICAqIGRvbS9TY3JpcHRSdW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
UnVubmVyOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UnVubmVyOjpub3RpZnlG
aW5pc2hlZCk6CisgICAgICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmRpZEhpdFByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlKToKKyAgICAgICAgKFdlYkNvcmU6OlByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5lcjo6Y2xlYW5DYWNoZSk6CisgICAgICAgICogZWRpdGluZy9BbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4
dENvbnRyb2xsZXI6OnN0YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcik6CisgICAgICAgICogZWRp
dGluZy9FZGl0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpyZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjp1cGRhdGVBcHBlYXJhbmNlKToKKyAgICAg
ICAgKiBlZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTcGVsbENo
ZWNrZXI6OmRpZENoZWNrKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OmZpbmlzaFJlcXVlc3RBdXRvY29tcGxl
dGUpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5
YmFja1Bvc2l0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNwbGF5U3RhdGUpOgorICAg
ICAgICAqIGh0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHA6CisgICAgICAgICgpOiBEZWxl
dGVkLgorICAgICAgICAqIGh0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnNjaGVkdWxlRXJyb3JFdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6cmVzdW1lKToKKyAgICAgICAgKiBodG1sL0hUTUxU
cmFja0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6c2No
ZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChNZWRpYUNvbnRyb2xsZXI6Ok1lZGlhQ29udHJvbGxlcik6CisgICAgICAgIChNZWRpYUNvbnRy
b2xsZXI6OmN1cnJlbnRUaW1lKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVF
dmVudCk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50
KToKKyAgICAgICAgKiBodG1sL01lZGlhQ29udHJvbGxlci5oOgorICAgICAgICAqIGh0bWwvTWVk
aWFEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYURvY3VtZW50OjptZWRpYUVs
ZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcyk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVy
bmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBodG1sL1NlYXJj
aElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hJbnB1dFR5cGU6OnN0YXJ0
U2VhcmNoRXZlbnRUaW1lcik6CisgICAgICAgICogaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZSk6CisgICAg
ICAgIChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hpZGVN
ZXNzYWdlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VD
b250ZXh0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpmb3JjZVJlc3RvcmVDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmRpc3BhdGNoQ29udGV4dExvc3RFdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5rVGltZXJGaXJlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVsZUZvclJlc3VtZSk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpyZXN1bWUpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VPcGFxdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlVHJhbnNwYXJlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMpOgorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxlTG9hZCk6CisgICAgICAg
ICogaHRtbC90cmFjay9WVFRSZWdpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VlRUUmVnaW9u
OjpzdGFydFRpbWVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OmRpc3BhdGNoKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaFRhc2s6OnRpbWVyRmlyZWQp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvck92ZXJsYXk6OnNob3dQYWludFJlY3QpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpidWlsZElu
c3BlY3Rvck9iamVjdEZvclNlZ21lbnQpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0
ZVJlc291cmNlc0FmdGVyRGVsYXkpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRDaGVja0NvbXBsZXRlVGltZXIp
OgorICAgICAgICAqIGxvYWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCk6CisgICAgICAgICogbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVk
dWxlcjo6c3RhcnRUaW1lcik6CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHA6
CisgICAgICAgICogbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9u
Q2FjaGVHcm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2spOgorICAg
ICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpkZXN0cm95RGVjb2RlZERhdGFJZk5lZWRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNrKToK
KyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmxvYWREb25lKToKKyAgICAgICAgKiBs
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2Fj
aGU6OnBydW5lU29vbik6CisgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6c2V0RGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6ZGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbCk6CisgICAgICAgICogbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNw
cDoKKyAgICAgICAgKiBwYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBw
YWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlv
blVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVy
ZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0aW9uUHJlZmVyZW5jZUNoYW5nZXMpOgor
ICAgICAgICAqIHBhZ2UvRE9NVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkRm9y
d2FyZFVzZXJHZXN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OnVzZXJHZXN0dXJlVG9rZW5Ub0Zv
cndhcmQpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OkRPTVRpbWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVy
Ojp1cGRhdGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSk6CisgICAgICAgIChXZWJDb3JlOjpET01U
aW1lcjo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmg6CisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93Ojpw
b3N0TWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRJbnRlcnZhbCk6CisgICAgICAgICogcGFn
ZS9EZXZpY2VDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZUNvbnRyb2xs
ZXI6OmFkZERldmljZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlvblRyYWNrZXI6Ok1heGltdW1E
dXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWF4aW11bUR1cmF0aW9uVHJhY2tl
cjo6fk1heGltdW1EdXJhdGlvblRyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRh
dGUpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6CisgICAgICAgICogcGFnZS9FdmVu
dFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c2NoZWR1bGVJbml0
aWFsQ29ubmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNv
bm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnBhcnNlRXZlbnRTdHJlYW1M
aW5lKToKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmg6CisgICAgICAgICogcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNDb250cm9sbGVyOjpzZXRG
b2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCk6CisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRp
bGluZ0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RM
YXlvdXRUYXNrcyk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6
OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OnVwZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZG9tVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKToKKyAgICAgICAgKiBwYWdlL1NldHRp
bmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRMb2Fkc0ltYWdlc0F1dG9t
YXRpY2FsbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldE1pbmltdW1ET01UaW1lckludGVydmFs
KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6bWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scyk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjoKKyAgICAgICAgKiBwYWdl
L1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1l
cjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVy
OjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpz
dGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6cmVwZWF0
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZp
cmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50
UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRPbmVTaG90KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OnJlcGVhdEludGVydmFs
TVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6YXVnbWVu
dEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRp
bWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvV2hl
ZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnRUZXN0
VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmljYXRpb25UaW1lcik6CisgICAg
ICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVk
ZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKToKKyAgICAgICAgKiBw
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRlSWZOZWVkZWQpOgorICAgICAg
ICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdl
L21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hsaWdo
dHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVu
dCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJbmRpY2F0b3IpOgorICAgICAg
ICAqIHBhZ2UvbWFrZV9zZXR0aW5ncy5wbDoKKyAgICAgICAgKG5lZWRzQ3VzdG9tU2V0dGVyKToK
KyAgICAgICAgKGdlbmVyYXRlSW50ZXJuYWxTZXR0aW5nc0lkbEZpbGUpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3Np
dGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3Jk
aW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6CisgICAgICAgICogcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRh
c2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgorICAgICAgICAqIHBsYXRmb3JtL0h5c3Rl
cmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpI
eXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5
OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6
CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlRoZW1lOjpj
YXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OlRocmVhZFRpbWVycyk6CisgICAgICAg
IChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6
VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29y
ZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3ApOgorICAgICAgICAq
IHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkp
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpUaW1lckJhc2UpOgorICAgICAgICAoV2Vi
Q29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSk6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFw
RGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aGVhcFBvcCk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpU
aW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjph
dWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVu
dFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZp
cmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6aXNBY3RpdmUpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcjo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vjb25kc1RvTVMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbE1TKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9s
YXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29yZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3Vy
ZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4
dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNr
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFydFNjcm9sbFNuYXBUaW1lcik6
CisgICAgICAgICogcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQ
cm92aWRlci5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJv
dmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SElER2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VB
ZGRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Zm9udEZvckZhbWlseSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyYXRj
aEJ1ZmZlcjo6c2NoZWR1bGVTY3JhdGNoQnVmZmVyUHVyZ2UpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25z
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxl
Y3RlZE9wdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGUp
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpzZWVrV2l0aFRvbGVyYW5jZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5
ZXJQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUG9vbDo6c2NoZWR1bGVQcnVuZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3cpOgorICAgICAgICAo
V2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbik6CisgICAg
ICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250
cm9sbGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFw
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb3ZlcmFnZU1hcDo6c2V0TmVlZHNVcGRhdGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMpOgorICAgICAgICAoV2ViQ29yZTo6
VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6
OnNjaGVkdWxlQ29ob3J0UmVtb3ZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6VGls
ZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6VGls
ZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlR3JpZC5oOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hv
cnRJbmZvOjpUaWxlQ29ob3J0SW5mbyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SU9TdXJmYWNlUG9vbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJT1N1cmZhY2VQb29sOjptYXJr
T2xkZXJTdXJmYWNlc1B1cmdlYWJsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SU9TdXJmYWNlUG9vbC5oOgorICAgICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6Q2FjaGVk
U3VyZmFjZURldGFpbHM6OnJlc2V0TGFzdFVzZVRpbWUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwOgorICAgICAgICAoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y2hhbmdlUGlwZWxpbmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
Ojp0cmlnZ2VyUmVwYWludCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvU2lua0dTdHJlYW1lci5jcHA6CisgICAgICAgIChWaWRlb1JlbmRlclJlcXVlc3RTY2hl
ZHVsZXI6OnJlcXVlc3RSZW5kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9N
ZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZVFUS2l0OjpzZWVrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Qml0bWFwVGV4dHVyZVBvb2wuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlVXBkYXRlT25Db21wb3Np
dG9yVGhyZWFkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVybGF5
U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0azo6aGlkZU92
ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hl
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpmaW5pc2hlZENyZWF0aW5n
VGlsZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2
ZVRpbGVDcmVhdGlvbkVuYWJsZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJU
aGVtZUlPUy5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRp
bWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW06CisgICAgICAgIChXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvU2Nyb2xsYmFyVGhlbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVt
ZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRo
ZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlTW90aW9uQ2xpZW50TW9jazo6c2V0TW90aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlUGVybWlzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlQ29udHJvbGxlcik6
CisgICAgICAgICogcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jay5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRl
cyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGlt
ZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6c3RlcEljZVRy
YW5zcG9ydFN0YXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6aWNl
VHJhbnNwb3J0VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2lu
dDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01v
Y2tSZWFsdGltZVZpZGVvU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVhayk6CisgICAgICAgICogcGxh
dGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckV2ZW50OjpUaW1lckV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OmFkZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGF0YVVSTERlY29kZXI6OkRlY29kaW5nUmVzdWx0RGlzcGF0Y2hlcjo6c3RhcnRUaW1lcik6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6c2NoZWR1bGVGYWlsdXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpzZXREZWZlcnNMb2FkaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9O
ZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrU3Rh
dGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQ
cmVzc3VyZUhhbmRsZXI6Omluc3RhbGwpOgorICAgICAgICAqIHJlbmRlcmluZy9JbWFnZVF1YWxp
dHlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlUXVhbGl0eUNvbnRyb2xs
ZXI6OnJlc3RhcnRUaW1lcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVk
dWxlQ29tcG9zaXRpbmdMYXllclVwZGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1h
cnF1ZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6c3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWFycXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnRJZk5lZWRlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJlVGV4dFRpbWVy
OjpyZXN0YXJ0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6Om1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVmlldzo6c2NoZWR1bGVMYXp5UmVwYWludCk6CisgICAgICAgICogcmVwbGF5L0NhcHR1cmlu
Z0lucHV0Q3Vyc29yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHR1cmluZ0lucHV0Q3Vyc29y
OjpzdG9yZUlucHV0KToKKyAgICAgICAgKiByZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6RXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlz
cGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24pOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0KToKKyAgICAgICAgKiByZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNlc3Npb25TZWdt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlT
ZXNzaW9uU2VnbWVudCk6CisgICAgICAgICogcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6dGltZXN0YW1wKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50OjpldmVudExvb3BUaW1pbmdzKToK
KyAgICAgICAgKiByZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaDoKKyAgICAgICAgKiBzdHls
ZS9TdHlsZVNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpTY29wZTo6c2NoZWR1
bGVVcGRhdGUpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5bmNocm9ub3VzbHkp
OgorICAgICAgICAqIHN2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U01JTFRpbWVDb250YWluZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNl
dHRpbmdzOjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250
cm9scyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6c2V0VGltZW91dCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxT
Y29wZTo6c2V0SW50ZXJ2YWwpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2V0VGltZW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6cHJlcGFyZVRvU2VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxI
dHRwUmVxdWVzdDo6ZGlkRmFpbCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6
cmVzdW1lKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKyAgICAgICAgKiB4bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVk
UHJvZ3Jlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZTo6cmVzdW1lKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuaDoKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCBy
ZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlYTZl
OThhYTc3ODkxYzIwYjg3M2MzN2EzYTkwYTVkNDY3ZDRjOGY2Li5mYzZmN2VlZjZjNmQyNGQzZDgz
NTYwNWI1YThhMjNhMjYyY2I3NzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE2LTEx
LTI3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENo
YW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6
Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGFuZ2UgYm90aCBUaW1lcnMgYW5kIFJ1bkxvb3AgVGltZXJzIHRvIHVzZSBTZWNvbmRzLCByZXBs
YWNpbmcgdGhlIGZ1bmN0aW9ucyB0YWtpbmcgcmF3CisgICAgICAgIGRvdWJsZXMsIGFuZCByZW1v
dmluZyB0aGUgc3RkOjpjaHJvbm8gb3ZlcmxvYWRzLgorCisgICAgICAgIENvbnZlcnQgc29tZSBl
bnRyYWluZWQgY29kZSBjb2RlIHRvIFNlY29uZHMvTW9ub3RvbmljVGltZS4KKworICAgICAgICBV
c2UgdGltZSBsaXRlcmFscyBpbiBtb3JlIHBsYWNlcy4KKworICAgICAgICAqIFN0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hl
ZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hl
ZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNs
b3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1l
ckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpz
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJh
Y2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKToKKwogMjAxNi0x
MS0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
SlNDXSBXVEY6OlRlbXBvcmFyeUNoYW5nZSB3aXRoIFdURjo6U2V0Rm9yU2NvcGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCA2NmU0ZTI3YTNhODBiOGFiMTM4ZmYwNjE5MjBjZmJlMWUyNzlmNTA2Li44Mjg5
YzQ2MzVhMmZhZmMxYjhmYmQ1ZjI4NmQyODM2YWE5ZGNlZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTYtMTEtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBu
b3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1l
cnMgdG8gdXNlIFNlY29uZHMsIHJlcGxhY2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAg
ICAgICAgZG91YmxlcywgYW5kIHJlbW92aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisK
KyAgICAgICAgQ29udmVydCBzb21lIGVudHJhaW5lZCBjb2RlIGNvZGUgdG8gU2Vjb25kcy9Nb25v
dG9uaWNUaW1lLgorCisgICAgICAgIFVzZSB0aW1lIGxpdGVyYWxzIGluIG1vcmUgcGxhY2VzLgor
CisgICAgICAgICogUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RU
aW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
Ojpsb2FkUmVxdWVzdCk6CisgICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbToKKyAgICAgICAgKFdlYk5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YSk6Cisg
ICAgICAgICogUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgIChQbHVn
aW5UaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFN0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW06
CisgICAgICAgICgrW1dlYlN0b3JhZ2VNYW5hZ2VyIHNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBfc2V0Q2FjaGVN
b2RlbDpdKToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCByZWZlcmVuY2UgaW1w
bGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDIyZmI5YjRm
NDdhZDFiMTcxZDk3OTU2NzBmMzBlNDZlMWQ3YWJlMmUuLjY4OGRkMDBlM2Y3Njk2N2M0Y2M1ZjFl
ZmM0OGJmZjk0OGU2ZTE5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAx
Ni0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBvciBz
dGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRpbWVycyB0byB1c2UgU2Vjb25kcywg
cmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdworICAgICAgICBkb3VibGVzLCBhbmQg
cmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4KKworICAgICAgICBDb252ZXJ0IHNv
bWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01vbm90b25pY1RpbWUuCisKKyAgICAg
ICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMuCisKKyAgICAgICAgKiBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpbk1lc3NhZ2VU
aHJvdHRsZXJXaW4uY3BwOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24pOgorICAgICAg
ICAqIFBsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblN0
cmVhbTo6ZGVsaXZlckRhdGEpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlldy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpQbHVnaW5WaWV3OjpzY2hlZHVsZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bHVnaW5WaWV3OjprZWVwQWxpdmUpOgorICAgICAgICAqIFBsdWdpbnMvUGx1Z2luVmlld1dpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3Ojp3bmRQcm9jKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChBY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dDo6c2NoZWR1bGVMYXllckZsdXNoKToKKyAgICAgICAgKiBX
ZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OnNldENhY2hlTW9kZWwpOgorICAgICAgICAo
V2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKToKKyAgICAgICAgKFdlYlZpZXc6OnNldE1pbmltdW1U
aW1lckludGVydmFsKToKKwogMjAxNi0xMS0yNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVh
QGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBJbXBvcnQgc3RkOjpvcHRpb25hbCByZWZlcmVu
Y2UgaW1wbGVtZW50YXRpb24gYXMgV1RGOjpPcHRpb25hbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDVhMTJkNzc5
ZTJhNjk4ZTI0NGMzNDYyZDljODI2OTFiNDAyOGRjOGYuLmU0NTFhYzRjNGU1MmJlYTJlNzA2ZGNh
MDhjZGY2Y2I1ODkyZTk4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNzQgQEAKKzIwMTYtMTEt
MjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hh
bmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpj
aHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENo
YW5nZSBib3RoIFRpbWVycyBhbmQgUnVuTG9vcCBUaW1lcnMgdG8gdXNlIFNlY29uZHMsIHJlcGxh
Y2luZyB0aGUgZnVuY3Rpb25zIHRha2luZyByYXcKKyAgICAgICAgZG91YmxlcywgYW5kIHJlbW92
aW5nIHRoZSBzdGQ6OmNocm9ubyBvdmVybG9hZHMuCisKKyAgICAgICAgQ29udmVydCBzb21lIGVu
dHJhaW5lZCBjb2RlIGNvZGUgdG8gU2Vjb25kcy9Nb25vdG9uaWNUaW1lLgorCisgICAgICAgIFVz
ZSB0aW1lIGxpdGVyYWxzIGluIG1vcmUgcGxhY2VzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0RhdGFUYXNrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNr
OjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2Fk
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0xvYWQ6OlRocm90dGxlOjpUaHJvdHRsZSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3Jr
U2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmxvYWRUaHJvdHRsZUxhdGVuY3kpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQp
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHA6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3Bl
cmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpzdG9yZSk6
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1bWUpOgorICAgICAg
ICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6OkFyZ3Vt
ZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50
Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29k
ZXI8U2Vjb25kcz46OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8U2Vjb25k
cz46OmRlY29kZSk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9J
UEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5h
dGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyk6CisgICAg
ICAgIChJUEM6OkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZyk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24p
OgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95KToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50VGltZXIpOgorICAgICAg
ICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZSk6CisgICAgICAgICogUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmg6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9kZWwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKToKKyAgICAgICAgKiBTaGFy
ZWQvQ2FjaGVNb2RlbC5oOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFByb2Nlc3MuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2Vzcyk6CisgICAgICAgICogU2hh
cmVkL0NoaWxkUHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OnNldFRl
cm1pbmF0aW9uVGltZW91dCk6CisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+Ojpl
bmNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90b25pY1Rp
bWU+OjpkZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjplbmNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjpkZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIpOgorICAgICAgICAo
V2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1l
bW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1v
cnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCk6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNh
bXBsZXIuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Omxhc3REaXNwbGF5VGltZSk6Cisg
ICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkpOgor
ICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmg6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbToKKyAg
ICAgICAgKEFQSTo6U2hhcmVkSlNDb250ZXh0OjplbnN1cmVDb250ZXh0KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OnNjaGVkdWxl
VXBkYXRlRGlzcGxheSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
d0Jhc2UuY3BwOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VTY2hlZHVsZVVwZGF0ZUFjdGl2
aXR5U3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93blByb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06CisgICAgICAgIChXZWJL
aXQ6Ok5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNo
ZG9nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJv
Y2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhwb3NlZFJlY3QpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbik6CisgICAgICAg
IChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RhcnQpOgor
ICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0
b3ApOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0
b3I6OmRpZERyYXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5JbmZvQ2FjaGU6OnVwZGF0ZVBsdWdpbkluZm8pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVzcG9u
c2l2ZW5lc3NUaW1lci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hh
c2gpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0
b0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGll
bnRFZmwuY3BwOgorICAgICAgICAoVGV4dENoZWNrZXJDbGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hl
Y2tpbmdMYW5ndWFnZXMpOgorICAgICAgICAoVGV4dENoZWNrZXJDbGllbnRFZmw6OmNhbGxDb250
aW51b3VzU3BlbGxDaGVja2luZ0NoYW5nZUNhbGxiYWNrQXN5bmMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpHZXN0dXJl
Q29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OmJlZ2luKToKKyAgICAgICAgKFdlYktpdDo6R2VzdHVy
ZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpzY2FsZUNoYW5nZWQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
b3B1cE1lbnVQcm94eUd0azo6bWVudVVubWFwcGVkQ2FsbGJhY2spOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6bWF4aW11bUJ1
ZmZlcmluZ1RpbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1
bGVJbnRlcm5hbGx5RmFpbGVkTG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5QUnVudGlt
ZU9iamVjdE1hcDo6YWRkVG9JbnZhbGlkYXRpb25RdWV1ZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVnaW4pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW06CisgICAg
ICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YktpdDo6UGx1Z2luVmlldzo6bG9hZFVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpBY2NlbGVyYXRl
ZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVTb29uKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6
bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpz
Y2hlZHVsZUxheWVyRmx1c2gpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxl
RGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
Om1hcmtMYXllcnNWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZUlz
SW5XaW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdpblZpZXcpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6CisgICAgICAgICgpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVseSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0lu
Y3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKwogMjAxNi0xMS0yNiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIGlP
UyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdlNmViNTBhYzRiMDY0NWNj
OWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFjOTU3NTNlMTk5MTE3MmE0
NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAtNzMsNyArNzMsNyBAQCB2
b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdhcmJhZ2VDb2xsZWN0aW9u
KEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICghbV90aW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNvbGxlY3Rpb25FdmVudHNU
YXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAKaW5kZXggYWQ1ZGNlMjQ1ODZjNGIzMWNkZTU5NWJhMmIxZjdmNmUzMGIzNzFh
OS4uYTNlNTkxZTAwOWYxNGRlOGMwZTNlYjU3NTRkODJjNmY1MDMxYWQzYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcApAQCAtMjIzLDEz
ICsyMjMsMTMgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgc3RkOjpwYWlyPFNwZWNpZXNDb25zdHJ1
Y3RSZXN1bHQsIEpTT2JqZWN0Kj4gc3BlY2llc0NvbnN0cnUKICAgICAgICAgaWYgKGNvbnN0cnVj
dG9yLmlzQ29uc3RydWN0b3IoKSkgewogICAgICAgICAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9y
T2JqZWN0ID0ganNDYXN0PEpTT2JqZWN0Kj4oY29uc3RydWN0b3IpOwogICAgICAgICAgICAgaWYg
KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSAhPSBjb25zdHJ1Y3Rvck9iamVjdC0+Z2xvYmFs
T2JqZWN0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXND
b25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxscHRyKTs7CisgICAgICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKFNwZWNpZXNDb25zdHJ1Y3RSZXN1bHQ6OkZhc3RQYXRoLCBudWxs
cHRyKTsKICAgICAgICAgfQogICAgICAgICBpZiAoY29uc3RydWN0b3IuaXNPYmplY3QoKSkgewog
ICAgICAgICAgICAgY29uc3RydWN0b3IgPSBjb25zdHJ1Y3Rvci5nZXQoZXhlYywgZXhlYy0+cHJv
cGVydHlOYW1lcygpLnNwZWNpZXNTeW1ib2wpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgZXhjZXB0aW9uUmVzdWx0KCkpOwogICAgICAgICAgICAgaWYgKGNvbnN0cnVj
dG9yLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVj
aWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwgbnVsbHB0cik7OworICAgICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om1ha2VfcGFpcihTcGVjaWVzQ29uc3RydWN0UmVzdWx0OjpGYXN0UGF0aCwg
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICB9IGVsc2UKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgZXhjZXB0aW9uUmVzdWx0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUnVuTG9vcC5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCmluZGV4IDU1NWQ0NDczMWNm
MzA4YmNiZDllZWJkZmJlNjViMjFmZGFhNThlZGUuLjYzZDBjNzk5OTFlZDkyZDY4OGU1Yjk4YjUx
Y2JmYzQ3NDdjMzgzNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKQEAgLTg4LDEwICs4OCw4IEBAIHB1YmxpYzoKICAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGV4cGxpY2l0IFRpbWVyQmFzZShSdW5Mb29wJik7CiAg
ICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAotICAgICAg
ICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBl
YXRJbnRlcnZhbCwgdHJ1ZSk7IH0KLSAgICAgICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVh
dEludGVydmFsLmNvdW50KCkgKiAwLjAwMSk7IH0KLSAgICAgICAgdm9pZCBzdGFydE9uZVNob3Qo
ZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCBmYWxzZSk7IH0KLSAgICAgICAgdm9p
ZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbC5jb3VudCgpICogMC4wMDEsIGZhbHNlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWws
IHRydWUpOyB9CisgICAgICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQogCiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2
b2lkIHN0b3AoKTsKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNBY3RpdmUoKSBj
b25zdDsKQEAgLTEwMyw3ICsxMDEsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHByaXZhdGU6
Ci0gICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCk7CisgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0
YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpOwogCiAgICAgICAgIFJ1
bkxvb3AmIG1fcnVuTG9vcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRp
bWVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaAppbmRleCAzNzgwZTc2YzAzMTMx
MDRhZWM3ZmQ3OTczMjNlYjQxMDRmODNlNTk3Li42YzRmZDZlYzFhODA1YzQxMzQwNjBmNDdlNzY0
NjQ4ZDQ3YWQ3OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaApAQCAtNDUsMTAgKzQ1LDEwIEBAIHB1
YmxpYzoKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVs
ZVBhaXIqKTsKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hl
ZHVsZVBhaXJIYXNoU2V0Jik7CiAKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChk
b3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKTsKKyAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29u
ZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVw
ZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQot
ICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwg
MCk7IH0KKyAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsg
c3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRP
bmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDBfcyk7IH0KIAogICAg
IFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKaW5kZXggZWE2NWNiYjUzMmUyM2JhN2JmOTU3
M2MzMWI3Y2FiYjNiODlhOThjYi4uMDg1Y2JhNjNjY2Q0NmVlMGVhZGZlMTk3OWM4ODUyMGVmZTVi
ZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcApAQCAtNTIsMTIgKzUyLDEyIEBAIHN0
YXRpYyB2b2lkIHRpbWVyRmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYsIHZvaWQqIGNvbnRleHQpCiAg
ICAgdGltZXItPmZpcmVkKCk7CiB9CiAKLXZvaWQgUnVuTG9vcFRpbWVyQmFzZTo6c3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgUnVuTG9v
cFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVh
dEludGVydmFsKQogewogICAgIGlmIChtX3RpbWVyKQogICAgICAgICBDRlJ1bkxvb3BUaW1lcklu
dmFsaWRhdGUobV90aW1lci5nZXQoKSk7CiAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRl
eHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBtX3RpbWVyID0gYWRvcHRDRihDRlJ1bkxv
b3BUaW1lckNyZWF0ZSgwLCBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIG5leHRGaXJlSW50
ZXJ2YWwsIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkpOworICAg
IG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1l
R2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbC52
YWx1ZSgpLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkpOwogfQogCiB2b2lkIFJ1bkxvb3BU
aW1lckJhc2U6OnNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpciogc2NoZWR1bGVQYWlyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcCBiL1NvdXJjZS9XVEYvd3Rm
L2NmL1J1bkxvb3BDRi5jcHAKaW5kZXggN2U4NDBkZDUyZGY4Y2Y2MDRhZjE4YTk4NmRlOTIzZTg3
MjkyNDQ2Mi4uOTZlNzhkYjM2NTEwMzBjMzI1NDMxMzEwZmZhYmY5NWU1ZjU0OThmOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvY2YvUnVuTG9vcENGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9jZi9SdW5Mb29wQ0YuY3BwCkBAIC0xMDEsMTQgKzEwMSwxNCBAQCBSdW5Mb29wOjpUaW1lckJh
c2U6On5UaW1lckJhc2UoKQogICAgIHN0b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0KQogewogICAgIGlmIChtX3RpbWVyKQogICAgICAgICBzdG9wKCk7CiAgICAgCiAgICAgQ0ZS
dW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBD
RlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwg
OiAwOwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgQ0ZU
aW1lSW50ZXJ2YWwgcmVwZWF0SW50ZXJ2YWwgPSByZXBlYXQgPyBuZXh0RmlyZUludGVydmFsLnZh
bHVlKCkgOiAwOworICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtD
RkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJ
bnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRl
eHQpKTsKICAgICBDRlJ1bkxvb3BBZGRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29wLmdldCgpLCBt
X3RpbWVyLmdldCgpLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVu
TG9vcEVmbC5jcHAKaW5kZXggNWRmYzI5MDNlOGI0ZDEwNzQzYjUyOWY0YzBjNzRjNjc1MGRhZTU5
Ni4uNjBmYzJiMjkwMTk3ZDllOWZkYWE5MGI5ZTI2NWFiMGI1YmZiMjU5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvZWZsL1J1bkxvb3BFZmwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Vm
bC9SdW5Mb29wRWZsLmNwcApAQCAtMTA1LDE0ICsxMDUsMTQgQEAgYm9vbCBSdW5Mb29wOjpUaW1l
ckJhc2U6OnRpbWVyRmlyZWQodm9pZCogZGF0YSkKICAgICByZXR1cm4gdGltZXItPm1faXNSZXBl
YXRpbmcgPyBFQ09SRV9DQUxMQkFDS19SRU5FVyA6IEVDT1JFX0NBTExCQUNLX0NBTkNFTDsKIH0K
IAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFs
LCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5l
eHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIGlmIChpc0FjdGl2ZSgpKQogICAg
ICAgICBzdG9wKCk7CiAKICAgICBtX2lzUmVwZWF0aW5nID0gcmVwZWF0OwogICAgIEFTU0VSVCgh
bV90aW1lcik7Ci0gICAgbV90aW1lciA9IGVjb3JlX3RpbWVyX2FkZChuZXh0RmlyZUludGVydmFs
LCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKKyAg
ICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwudmFsdWUoKSwgcmVp
bnRlcnByZXRfY2FzdDxFY29yZV9UYXNrX0NiPih0aW1lckZpcmVkKSwgdGhpcyk7CiB9CiAKIHZv
aWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5M
b29wR2VuZXJpYy5jcHAKaW5kZXggOWEzYzA5YTg1MTA3MTMwMmUxMmE1ZTk0MTY3ZWM3YjVmZGEy
NjYzOC4uZmQyNzVjNTMwMDI2M2ViOTg5NWFhYTYyNzQzZTJiNWQ0Njc3MGVhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKQEAgLTI2MywxMiArMjYzLDEyIEBA
IFJ1bkxvb3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lk
IFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIGludGVydmFsLCBib29sIHJlcGVhdGlu
ZykKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIGludGVydmFsLCBib29s
IHJlcGVhdGluZykKIHsKICAgICBzdG9wKCk7CiAgICAgbV9zY2hlZHVsZWRUYXNrID0gU2NoZWR1
bGVkVGFzazo6Y3JlYXRlKFt0aGlzXSB7CiAgICAgICAgIGZpcmVkKCk7Ci0gICAgfSwgU2Vjb25k
cyhpbnRlcnZhbCksIHJlcGVhdGluZyk7CisgICAgfSwgaW50ZXJ2YWwsIHJlcGVhdGluZyk7CiAg
ICAgbV9ydW5Mb29wLnNjaGVkdWxlQW5kV2FrZVVwKG1fc2NoZWR1bGVkVGFzayk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwIGIvU291cmNlL1dU
Ri93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKaW5kZXggOTI3Y2UzMjU0ZjhiNTYyNzhiYTZiN2Zm
MDIxYzBkZjBhYTVmMzIxNi4uZDYwNWM1MmI4YzdjYzQwZTBlNGE3NTk3MzRkNDY4NzgxMzYzM2Ez
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKQEAgLTE5MCw5ICsxOTAsOSBAQCB2
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6dXBkYXRlUmVhZHlUaW1lKCkKICAgICBnX3NvdXJjZV9z
ZXRfcmVhZHlfdGltZShtX3NvdXJjZS5nZXQoKSwgdGFyZ2V0VGltZSk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgZmlyZUludGVydmFsLCBib29sIHJlcGVhdCkK
K3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIGZpcmVJbnRlcnZhbCwgYm9v
bCByZXBlYXQpCiB7Ci0gICAgYXV0byBpbnRlcnZhbER1cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1
cmF0aW9uPGRvdWJsZT4oZmlyZUludGVydmFsKTsKKyAgICBhdXRvIGludGVydmFsRHVyYXRpb24g
PSBzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPihmaXJlSW50ZXJ2YWwudmFsdWUoKSk7CiAg
ICAgYXV0byBzYWZlRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRzOjptYXgoKTsK
ICAgICBpZiAoaW50ZXJ2YWxEdXJhdGlvbiA8IHNhZmVEdXJhdGlvbikKICAgICAgICAgc2FmZUR1
cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pY3Jvc2Vj
b25kcz4oaW50ZXJ2YWxEdXJhdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4v
UnVuTG9vcFdpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKaW5kZXgg
NGI0NWFkNDU4OWY3OGQ1YzNjYTBiZWVmOGNlMWYxNDhiZWVjMDAxNy4uZWEwMjFmN2RiNGNhMmEy
OGIxOWRmMzRlMzU5ZTEyMTc2ZTRjYjcxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2lu
L1J1bkxvb3BXaW4uY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcApA
QCAtMTUxLDExICsxNTEsMTEgQEAgUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAg
ICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4
dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCit2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3Rh
cnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKIHsKICAgICBtX2lzUmVw
ZWF0aW5nID0gcmVwZWF0OwogICAgIG1fcnVuTG9vcC5tX2FjdGl2ZVRpbWVycy5zZXQobV9JRCwg
dGhpcyk7Ci0gICAgOjpTZXRUaW1lcihtX3J1bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywg
bV9JRCwgbmV4dEZpcmVJbnRlcnZhbCAqIDEwMDAsIDApOworICAgIDo6U2V0VGltZXIobV9ydW5M
b29wLm1fcnVuTG9vcE1lc3NhZ2VXaW5kb3csIG1fSUQsIG5leHRGaXJlSW50ZXJ2YWwubWlsbGlz
ZWNvbmRzKCksIDApOwogfQogCiB2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RvcCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IGRjM2Y2YTg0N2MyNDgyNWVlMjljZDUyODZlZGUwYTUzZjg4MjQz
NGEuLjYwZmQzZjFjYzNmOTZlNzRiNDE3YzJjYjY0NTcwNmJlYWRlNmE4YTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC0zNDc5LDYgKzM0NzksOCBAQCBzZXQoV2ViQ29yZVRlc3RTdXBwb3J0X0lE
TF9GSUxFUwogKQogCiBsaXN0KEFQUEVORCBXZWJDb3JlVGVzdFN1cHBvcnRfU09VUkNFUworICAg
IGJpbmRpbmdzL2pzL0pTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHAKKwogICAg
IHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwCiAKICAgICBw
bGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3guY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Np
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2Vi
S2l0TWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCAwZmFmMjEyMDJhMTMwYjkyZTVkMTI3MDIzNjJj
NDQ3YmQ4ZTcyM2RhLi42MGE5Nzc4ZmE2Njk3YWY1YjFjMTVhNzQyN2M4MmNjNzExMmQ2Zjg0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9X
ZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTg1LDcgKzg1
LDcgQEAgY29uc3QgU3RyaW5nJiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCgpIGNv
bnN0CiB2b2lkIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIFJlZjxVaW50OEFycmF5PiYmIGluaXREYXRhKQogewogICAgIG1f
cGVuZGluZ0tleVJlcXVlc3RzLmFwcGVuZCh7IG1pbWVUeXBlLCBXVEZNb3ZlKGluaXREYXRhKSB9
KTsKLSAgICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9rZXlSZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjprZXlSZXF1ZXN0VGltZXJGaXJlZCgpCkBAIC0xNDIsNyArMTQyLDcgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYg
a2V5KQogCiAgICAgLy8gMi4gU2NoZWR1bGUgYSB0YXNrIHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJv
dmlkaW5nIGtleS4KICAgICBtX3BlbmRpbmdLZXlzLmFwcGVuZChXVEZNb3ZlKGtleSkpOwotICAg
IG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYWRkS2V5VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAKICAgICByZXR1cm4geyB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcAppbmRleCBjZWM5N2NjOTAyZTQ1
MDY4OTdmZWZiZDNlYWUyZjk3OTA3YWFjYzE2Li41ODZjNTk2ODYxZGFiNzBkZGMyYjY4NjFjMmM3
MTY4MTc1OWEzNmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb05vdGlmaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb05vdGlmaWVyLmNwcApAQCAtNTksMTMgKzU5LDEzIEBAIHZvaWQgR2VvTm90aWZpZXI6
OnNldEZhdGFsRXJyb3IoUmVmUHRyPFBvc2l0aW9uRXJyb3I+JiYgZXJyb3IpCiAgICAgbV9mYXRh
bEVycm9yID0gV1RGTW92ZShlcnJvcik7CiAgICAgLy8gQW4gZXhpc3RpbmcgdGltZXIgbWF5IG5v
dCBoYXZlIGEgemVybyB0aW1lb3V0LgogICAgIG1fdGltZXIuc3RvcCgpOwotICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgR2VvTm90aWZpZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKCkKIHsKICAgICBtX3VzZUNhY2hl
ZFBvc2l0aW9uID0gdHJ1ZTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIEdlb05vdGlmaWVyOjpoYXNaZXJvVGlt
ZW91dCgpIGNvbnN0CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgR2VvTm90aWZpZXI6OnJ1bkVycm9y
Q2FsbGJhY2soUG9zaXRpb25FcnJvciogZXJyb3IpCiB2b2lkIEdlb05vdGlmaWVyOjpzdGFydFRp
bWVySWZOZWVkZWQoKQogewogICAgIGlmIChtX29wdGlvbnMtPmhhc1RpbWVvdXQoKSkKLSAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9vcHRpb25zLT50aW1lb3V0KCkgLyAxMDAwLjApOwor
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1f
b3B0aW9ucy0+dGltZW91dCgpKSk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnN0b3BUaW1lcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24u
Y3BwCmluZGV4IDg1YWU0MGY2MzQxNzUzMjcxNjcyZjNhMzc3ZmU5OTNkZjRhMzE4YzAuLmMwOWMz
NzliMDI5NjQzZGE5MGNkOGM1NjQ3NDNhNzE1NTA2ZjBmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xOTgsNyArMTk4
LDcgQEAgdm9pZCBHZW9sb2NhdGlvbjo6cmVzdW1lKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnJl
c3VtZSgpOwogCiAgICAgaWYgKCFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWVUaW1lckZpcmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmNwcAppbmRleCBiODMyNmFmZDMyMzA0NjEyNmE0MzUzZTU0NDk3YWIwYmUxOTU3NzQzLi42OTk2
NzAwYzcwY2VmNjQ0NmRlNGQ5NGEzNWRmZGRmMzk0ODA1MGQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0zNTAsNyAr
MzUwLDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6c2NoZWR1bGVPcGVyYXRpb25UaW1lcigpCiAg
ICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWRJRCgp
KTsKIAogICAgIGlmICghbV9vcGVyYXRpb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX29w
ZXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9vcGVyYXRpb25UaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6b3BlcmF0aW9uVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAppbmRleCBjYjA0ODYxY2M3Y2NjNWNm
MmY3Y2ViYWQ3M2NkNTk3YmQyYTI3MGFhLi43MjVjYmY0YzdlYTZhYmI4M2ExMjRiOTcyZWRlZDNi
ZmIyMzA2ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKQEAgLTE0OTQsNyArMTQ5NCw3
IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Omludm9rZU9wZXJhdGlvbkFuZFRyYW5zYWN0aW9u
VGltZXIoKQogICAgIEFTU0VSVCghbV9oYXJkQ2xvc2VkRm9yVXNlckRlbGV0ZSk7CiAKICAgICBp
ZiAoIW1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgVW5pcXVlSURCRGF0YWJhc2U6Om9wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9u
L1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCmluZGV4IDdhMzM2OWYxMGU1MzBlNGRjODdlNzE3
ZDU2NzVmNzA5MTEzYjgwZTkuLmM5N2E0NDRkOWU5YmEwMDhiYmQ0ZDYyYjZmYjFhYTQ5N2ZkYzQ3
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
ZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwCkBAIC0zNiw3ICszNiw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0YXNrRGVsYXlJbnRlcnZh
bCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0YXNrRGVsYXlJbnRlcnZhbCA9
IDAuMV9zOwogCiBzdHJ1Y3QgQ2xpZW50U3RhdGUgewogICAgIGV4cGxpY2l0IENsaWVudFN0YXRl
KFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQmIGNsaWVudCwgdWludDY0X3QgY29udGV4dElk
KQpAQCAtNDIzLDggKzQyMyw4IEBAIHNpemVfdCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpmaW5k
KFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQqIGNsaWVudCwgdWludDY0CiAKIHZvaWQgV2Vi
TWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lcigpCiB7Ci0gICAgc3Rh
dGljIGNvbnN0IGRvdWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmcgPSA2MCAq
IDYwOwotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQ
bGF5aW5nVG9FbmQgPSA4ICogNjA7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgd2F0Y2hkb2dU
aW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gU2Vjb25kcyg2MCAqIDYwKTsKKyAgICBzdGF0aWMg
Y29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA9IFNl
Y29uZHMoOCAqIDYwKTsKIAogICAgIGlmICghbV9wbGF5YmFja1RhcmdldCB8fCAhbV9wbGF5YmFj
a1RhcmdldC0+aGFzQWN0aXZlUm91dGUoKSkgewogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3Rv
cCgpOwpAQCAtNDQyLDE0ICs0NDIsMTQgQEAgdm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpj
b25maWd1cmVXYXRjaGRvZ1RpbWVyKCkKICAgICB9CiAKICAgICBpZiAoc3RvcFRpbWVyKSB7Ci0g
ICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgPSAwOworICAgICAgICBtX2N1cnJlbnRX
YXRjaGRvZ0ludGVydmFsID0gMF9zOwogICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RvcCgpOwog
ICAgICAgICBMT0coTWVkaWEsICJXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRj
aGRvZ1RpbWVyIC0gdGltZXIgc3RvcHBlZCIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGRvdWJs
ZSBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOworICAgICAgICBh
dXRvIGludGVydmFsID0gZGlkUGxheVRvRW5kID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQ
bGF5aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmc7CiAgICAgICAg
IGlmIChpbnRlcnZhbCAhPSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsIHx8ICFtX3dhdGNoZG9n
VGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25l
U2hvdChpbnRlcnZhbCk7Ci0gICAgICAgICAgICBMT0coTWVkaWEsICJXZWJNZWRpYVNlc3Npb25N
YW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyIC0gdGltZXIgc2NoZWR1bGVkIGZvciAlLjBm
IiwgaW50ZXJ2YWwpOworICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4zZnMi
LCBpbnRlcnZhbC52YWx1ZSgpKTsKICAgICAgICAgfQogICAgICAgICBtX2N1cnJlbnRXYXRjaGRv
Z0ludGVydmFsID0gaW50ZXJ2YWw7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCmluZGV4
IDU3ZDU4ZWY5MTRjYjIzZjE5NDAxY2NjZmVjMzhlY2UzOGVhZWE2MDkuLjI5NTA5ZTI4YzRhZmE1
NGM2ZDQ2YTEzYWQzYzFmMTFiMTZjMWEzNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAg
LTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxNZWRpYVBsYXliYWNrVGFyZ2V0
PiBtX3BsYXliYWNrVGFyZ2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpNZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyTW9jaz4gbV9waWNrZXJPdmVycmlkZTsKICAgICBDb25maWd1cmF0
aW9uVGFza3MgbV90YXNrRmxhZ3MgeyBOb1Rhc2sgfTsKLSAgICBkb3VibGUgbV9jdXJyZW50V2F0
Y2hkb2dJbnRlcnZhbCB7IDAgfTsKKyAgICBTZWNvbmRzIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2V4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlIHsgZmFsc2UgfTsK
ICAgICBib29sIG1fdGFyZ2V0Q2hhbmdlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX21vY2tQaWNr
ZXJFbmFibGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCBmNTU5ODExOGE4OGYyODAwMzE1ZDk0MTcz
MGFhZmMyMWUwNTUyODRiLi5kNjRlYzYzZTM1MTQ4MTRmYWMzNTEzMGZjMTEzOTI3MjRhNjM2MGMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwCkBAIC0zNDgsNyArMzQ4LDcgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnJhbmdlUmVt
b3ZhbChjb25zdCBNZWRpYVRpbWUmIHN0YXJ0LCBjb25zdCBNZWRpYVRpbWUmIGVuZCkKICAgICAv
LyA1LiBSZXR1cm4gY29udHJvbCB0byB0aGUgY2FsbGVyIGFuZCBydW4gdGhlIHJlc3Qgb2YgdGhl
IHN0ZXBzIGFzeW5jaHJvbm91c2x5LgogICAgIG1fcGVuZGluZ1JlbW92ZVN0YXJ0ID0gc3RhcnQ7
CiAgICAgbV9wZW5kaW5nUmVtb3ZlRW5kID0gZW5kOwotICAgIG1fcmVtb3ZlVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fcmVtb3ZlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgU291cmNlQnVmZmVyOjphYm9ydElmVXBkYXRpbmcoKQpAQCAtNTMzLDcgKzUzMyw3IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IFNvdXJjZUJ1ZmZlcjo6YXBwZW5kQnVmZmVySW50ZXJuYWwoY29uc3Qg
dW5zaWduZWQgY2hhciogZGF0YSwKICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS51cGRh
dGVzdGFydEV2ZW50KTsKIAogICAgIC8vIDYuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgYnVmZmVy
IGFwcGVuZCBhbGdvcml0aG0uCi0gICAgbV9hcHBlbmRCdWZmZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9hcHBlbmRCdWZmZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJl
cG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggMWQ1MmE0OGE1M2RhZTI4OGM4
NDcxOWZkYzFlMWVlYmQ0N2VlNmU1Ny4uMWY5ZjcxMDNkZTJlYzllZjE1OTY5ODIyOGYyNTAzMjJl
OTk4NDA2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbS5jcHAKQEAgLTM2NCw3ICszNjQsNyBAQCB2b2lkIE1lZGlhU3RyZWFtOjpzY2hl
ZHVsZUFjdGl2ZVN0YXRlQ2hhbmdlKCkKICAgICBtX3NjaGVkdWxlZEFjdGl2aXR5RXZlbnRzLmFw
cGVuZChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiAKICAgICBpZiAo
IW1fYWN0aXZpdHlFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fYWN0aXZpdHlFdmVu
dFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTdHJlYW06OmFjdGl2aXR5RXZlbnRUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRFRNRlNlbmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwCmluZGV4IDVkZDJmMWU0MWNmNTEyMjk2ZDc0ZDIwYzFiZDdjNDhiYjJi
MjJkNzkuLmEyYmVmYzU0NDYzZWJmNDM1MDFiYjYxMzhkZGVkNzUzMGRiNDRhNTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNw
cApAQCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVEaXNwYXRj
aEV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkKICAgICBtX3NjaGVkdWxlZEV2ZW50cy5hcHBlbmQo
V1RGTW92ZShldmVudCkpOwogCiAgICAgaWYgKCFtX3NjaGVkdWxlZEV2ZW50VGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9zY2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCmluZGV4
IDA1MWM3MDE0OWFlMmRhMTJlNjAwYTQwNTBmMDljMWVjOGJmZDU3NTYuLjJkYmNhZjFmMjFiZmQ0
OTg4MDA3MGEzZDgzZGI4YWVhODJlMmViMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwCkBAIC0yMzcsNyArMjM3LDcg
QEAgdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2NoZWR1bGVEaXNwYXRjaEV2ZW50KFJlZjxFdmVudD4m
JiBldmVudCkKICAgICBtX3NjaGVkdWxlZEV2ZW50cy5hcHBlbmQoV1RGTW92ZShldmVudCkpOwog
CiAgICAgaWYgKCFtX3NjaGVkdWxlZEV2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9z
Y2hlZHVsZWRFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zY2hlZHVsZWRF
dmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJUQ0RhdGFDaGFubmVsOjpz
Y2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCAxZTAyY2UxY2Y2N2Y2ZTRk
OTEyODc1YWJmODBiMmRkZGU4MzdhN2U3Li5iYjg3MTlkODJmNTIwODZhMGU0M2I3ZDBlODQ4YjE4
MjI4ZGFkNjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmNwcApAQCAtNzQsNyArNzQsNyBAQCBOb3RpZmljYXRpb246Ok5v
dGlmaWNhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGl0bGUpCiAgICAg
Ly8gRklYTUU6IFNlZW1zIHRoYXQgbV9ub3RpZmljYXRpb25DZW50ZXIgY2FuIGJlIG51bGwgc28g
c2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGZyb20gUmVmUHRyIHRvIFJlZi4KICAgICAvLyBCdXQgdGhl
IHJlc3Qgb2YgdGhlIGNvZGUgaW4gdGhpcyBjbGFzcyBpc24ndCB0cnlpbmcgdG8gaGFuZGxlIHRo
YXQgY2FzZS4KICAgICBBU1NFUlQobV9ub3RpZmljYXRpb25DZW50ZXItPmNsaWVudCgpKTsKLSAg
ICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGFza1RpbWVyLT5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCmluZGV4IGE5Mjk4
Zjc1MjVjZTdhODg0YTA1YWUyZTQ3M2RlMWNhYjEwZWJmZTAuLjkyNWViOTZhMzFjMzg4ZTY2NTg3
Yzk5YzU0NmRlODkzN2VmNjQ2NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwCkBAIC05NCw3ICs5
NCw3IEBAIHZvaWQgTm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbihSZWZQdHI8
Vm9pZENhbGxiYWNrPiYmIGNhbGxiYWNrKQogICAgIGNhc2UgU2VjdXJpdHlPcmlnaW46OkFsd2F5
c0Rlbnk6CiAgICAgICAgIGlmIChtX2NhbGxiYWNrcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAg
IHJlZigpOyAvLyBCYWxhbmNlZCBieSB0aGUgZGVyZWZzIGluIE5vdGlmaWNhdGlvbkNlbnRlcjo6
c3RvcCBhbmQgTm90aWZpY2F0aW9uQ2VudGVyOjp0aW1lckZpcmVkLgotICAgICAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgICAgICB9CiAgICAgICAgIG1fY2FsbGJhY2tzLmFwcGVuZChbY2FsbGJhY2tdKCkg
ewogICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
dmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKaW5kZXggODYwOTE0MjA5YzhiYjM0MjgwNDBhYTE0ZmM5
ZmNkMDNkMGRkNWM1OS4uMzNiMDIyMGU5NDdmODQzNzA2MjdiMTYyMTFlNmVjMjQ5MDllZDFiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCkBA
IC03Niw3ICs3Niw3IEBAIGJvb2wgVmlicmF0aW9uOjp2aWJyYXRlKGNvbnN0IFZpYnJhdGlvblBh
dHRlcm4mIHBhdHRlcm4pCiAKICAgICBtX3BhdHRlcm4gPSBzYW5pdGl6ZWQ7CiAKLSAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
IG1fc3RhdGUgPSBTdGF0ZTo6V2FpdGluZzsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTExMCw3
ICsxMTAsNyBAQCB2b2lkIFZpYnJhdGlvbjo6dGltZXJGaXJlZCgpCiAgICAgICAgIG1fdmlicmF0
aW9uQ2xpZW50LT52aWJyYXRlKG1fcGF0dGVyblswXSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
LSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX3BhdHRlcm5bMF0gLyAxMDAwLjApOworICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9wYXR0ZXJuWzBd
KSk7CiAgICAgbV9wYXR0ZXJuLnJlbW92ZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCBiZWQ5MzYyNjdkNTY4NGZjNzg4
MTcwOTFmMTFmMDdjNDVlYWIzYjc5Li4wOGUxMmExNjAxYzhhMjRlNmFiNmMyMjQ0NjI3ZDEwYWRj
NGYyOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmNwcApAQCAtNTAzLDcgKzUwMyw3IEBAIHZvaWQgV2ViU29ja2V0OjpyZXN1bWUoKQogICAg
ICAgICBtX2NoYW5uZWwtPnJlc3VtZSgpOwogICAgIGVsc2UgaWYgKCFtX3BlbmRpbmdFdmVudHMu
aXNFbXB0eSgpICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8gRmly
ZSB0aGUgcGVuZGluZyBldmVudHMgaW4gYSB0aW1lciBhcyB3ZSBhcmUgbm90IGFsbG93ZWQgdG8g
ZXhlY3V0ZSBhcmJpdHJhcnkgSlMgZnJvbSByZXN1bWUoKS4KLSAgICAgICAgbV9yZXN1bWVUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgfQogCiAgICAgbV9zaG91bGREZWxheUV2ZW50RmlyaW5nID0gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5l
bC5jcHAKaW5kZXggODBkYmI0YmEwZWUzYjJjNDczM2M4MWQyZTFiODU5N2Q4YmJlNzhjNC4uNjhj
YzJjMDZiNThiM2ViMjI1ZDgwMmRjZWZmNGM5MmYyOTE3NzlkZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAt
NjIsNyArNjIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBUQ1BN
YXhpbXVtU2VnbWVudExpZmV0aW1lID0gMiAqIDYwLjA7Citjb25zdCBTZWNvbmRzIFRDUE1heGlt
dW1TZWdtZW50TGlmZXRpbWUgPSBTZWNvbmRzKDIgKiA2MCk7CiAKIFdlYlNvY2tldENoYW5uZWw6
OldlYlNvY2tldENoYW5uZWwoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50JiBjbGllbnQsIFNvY2tldFByb3ZpZGVyJiBwcm92aWRlcikKICAgICA6IG1fZG9jdW1lbnQo
JmRvY3VtZW50KQpAQCAtMjA3LDcgKzIwNyw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6Y2xv
c2UoaW50IGNvZGUsIGNvbnN0IFN0cmluZyYgcmVhc29uKQogICAgIFJlZjxXZWJTb2NrZXRDaGFu
bmVsPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsgLy8gQW4gYXR0ZW1wdCB0byBzZW5kIGNsb3Npbmcg
aGFuZHNoYWtlIG1heSBmYWlsLCB3aGljaCB3aWxsIGdldCB0aGUgY2hhbm5lbCBjbG9zZWQgYW5k
IGRlcmVmZXJlbmNlZC4KICAgICBzdGFydENsb3NpbmdIYW5kc2hha2UoY29kZSwgcmVhc29uKTsK
ICAgICBpZiAobV9jbG9zaW5nICYmICFtX2Nsb3NpbmdUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX2Nsb3NpbmdUaW1lci5zdGFydE9uZVNob3QoMiAqIFRDUE1heGltdW1TZWdtZW50TGlmZXRp
bWUpOworICAgICAgICBtX2Nsb3NpbmdUaW1lci5zdGFydE9uZVNob3QoVENQTWF4aW11bVNlZ21l
bnRMaWZldGltZSAqIDIpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3Qg
U3RyaW5nJiByZWFzb24pCkBAIC0yNjYsNyArMjY2LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVs
OjpyZXN1bWUoKQogewogICAgIG1fc3VzcGVuZGVkID0gZmFsc2U7CiAgICAgaWYgKCghbV9idWZm
ZXIuaXNFbXB0eSgpIHx8IG1fY2xvc2VkKSAmJiBtX2NsaWVudCAmJiAhbV9yZXN1bWVUaW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRD
aGFubmVsOjpkaWRPcGVuU29ja2V0U3RyZWFtKFNvY2tldFN0cmVhbUhhbmRsZSYgaGFuZGxlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDM4Zjg5YjgxOTFkYzg4YzFlNTk4MmJhZTFhYTg0ZTUwMmQ4YzAzMDcuLmMxNmFhNGVlZTBi
ODU3OTY3YTUyMWMxMWMxODZjODBkOWJlZjEwNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUxMiw2ICs1MTIsNyBAQAogCQkw
RjYzODNERTE4NjE1QjI5MDAzRTVEQjUgLyogVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYzODNEQzE4NjE1QjI5
MDAzRTVEQjUgLyogVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY2QTEyQkQxQTAwOTIzNzAwQzZERTcyIC8q
IERlYnVnUGFnZU92ZXJsYXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNkExMkJCMUEwMDkyMzcwMEM2REU3MiAvKiBEZWJ1Z1BhZ2VPdmVybGF5
cy5jcHAgKi87IH07CiAJCTBGNkExMkJFMUEwMDkyMzcwMEM2REU3MiAvKiBEZWJ1Z1BhZ2VPdmVy
bGF5cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2
QTEyQkMxQTAwOTIzNzAwQzZERTcyIC8qIERlYnVnUGFnZU92ZXJsYXlzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY3MzczQ0QxREVCODc1MDAw
RTFDREY1IC8qIEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjczNzNDQjFERUI4MjlDMDBF
MUNERjUgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9tLmNwcCAqLzsgfTsKIAkJ
MEY3RDA3MzMxODg0QzU2QzAwQjRBRjg2IC8qIFBsYXRmb3JtVGV4dFRyYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzI4NDdFMjE2RUJDNUIwMDA0
M0NGQTQgLyogUGxhdGZvcm1UZXh0VHJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjg3MTY2RjFDODY5RDgzMDA0RkYwREUgLyogTGVuZ3Ro
UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY4NzE2NkQxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmNwcCAqLzsgfTsKIAkJMEY4
NzE2NzAxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjg3MTY2RTFDODY5RDgzMDA0RkYwREUgLyog
TGVuZ3RoUG9pbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNzUwMiw2ICs3NTAzLDcgQEAKIAkJMEY2MzgzREMxODYxNUIyOTAwM0U1REI1IC8q
IFRocmVhZGVkU2Nyb2xsaW5nVHJlZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBUaHJlYWRlZFNjcm9sbGluZ1RyZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEY2QTEyQkIxQTAwOTIzNzAwQzZERTcyIC8qIERlYnVnUGFnZU92ZXJsYXlzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlYnVnUGFnZU92ZXJsYXlzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY2QTEyQkMxQTAwOTIzNzAwQzZERTcyIC8qIERl
YnVnUGFnZU92ZXJsYXlzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlYnVn
UGFnZU92ZXJsYXlzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNzM3M0NCMURF
QjgyOUMwMEUxQ0RGNSAvKiBKU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNJbnRlcm5hbFNldHRpbmdzR2Vu
ZXJhdGVkQ3VzdG9tLmNwcDsgcGF0aCA9IGJpbmRpbmdzL2pzL0pTSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJMEY4NzE2
NkQxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExlbmd0aFBvaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEY4NzE2NkUxQzg2OUQ4MzAwNEZGMERFIC8qIExlbmd0aFBvaW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlbmd0aFBvaW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTBGOEI0NTZGMURDM0ZCMTAwMDQ0M0MzRiAvKiBJbnRlcnNlY3Rpb25P
YnNlcnZlckNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcnNlY3Rpb25P
YnNlcnZlckNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk3Mzks
MTAgKzk3NDEsMTAgQEAKIAkJNUNFNUQ5QTMxREI4OTdDMzAwQ0U3QThEIC8qIFRleHRFbmNvZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRFbmNvZGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNFNUQ5QTQxREI4OTdDMzAwQ0U3QThE
IC8qIFRleHRFbmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRF
bmNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDRTVEOUE1MURCODk3QzMw
MENFN0E4RCAvKiBUZXh0RW5jb2Rlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVGV4dEVu
Y29kZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1Q0U1RDlBNzFEQjg5OUZD
MDBDRTdBOEQgLyogSlNUZXh0RGVjb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBKU1RleHREZWNvZGVyLmNwcDsgcGF0aCA9IEpTVGV4dERlY29kZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1Q0U1RDlBODFEQjg5OUZDMDBDRTdBOEQgLyog
SlNUZXh0RGVjb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU1RleHRE
ZWNvZGVyLmg7IHBhdGggPSBKU1RleHREZWNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTVDRTVEOUE5MURCODk5RkMwMENFN0E4RCAvKiBKU1RleHRFbmNvZGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTVGV4dEVuY29kZXIuY3BwOyBwYXRo
ID0gSlNUZXh0RW5jb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTVDRTVE
OUFBMURCODk5RkMwMENFN0E4RCAvKiBKU1RleHRFbmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IEpTVGV4dEVuY29kZXIuaDsgcGF0aCA9IEpTVGV4dEVuY29kZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUNFNUQ5QTcxREI4OTlGQzAwQ0U3QThEIC8q
IEpTVGV4dERlY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNUZXh0RGVjb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDRTVEOUE4
MURCODk5RkMwMENFN0E4RCAvKiBKU1RleHREZWNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTVGV4dERlY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNUNFNUQ5QTkxREI4OTlGQzAwQ0U3QThEIC8qIEpTVGV4dEVuY29kZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUZXh0RW5jb2Rlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDRTVEOUFBMURCODk5RkMwMENFN0E4RCAvKiBKU1RleHRF
bmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVGV4dEVuY29kZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNGQzQzNEUxOTI0MDZBOTAwQTBEM0I1
IC8qIFBvaW50ZXJMb2NrQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQb2ludGVyTG9ja0NvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1Q0ZDNDM0RjE5MjQwNkE5MDBBMEQzQjUgLyogUG9pbnRlckxvY2tDb250cm9s
bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvaW50ZXJMb2NrQ29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1RDIxQTgwMDEzRUNFNURGMDBC
QjcwNjQgLyogV2ViVlRUUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYlZUVFBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NjU0Nyw2ICsxNjU0OSw3IEBACiAJCQkJNDE3REE3MUMxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50
ZXJuYWxzLmggKi8sCiAJCQkJQTdCNEVBNzgxNEM5MzQ4NDAwQzhGNUJGIC8qIEpTSW50ZXJuYWxT
ZXR0aW5ncy5jcHAgKi8sCiAJCQkJQTdCNEVBNzkxNEM5MzQ4NDAwQzhGNUJGIC8qIEpTSW50ZXJu
YWxTZXR0aW5ncy5oICovLAorCQkJCTBGNzM3M0NCMURFQjgyOUMwMEUxQ0RGNSAvKiBKU0ludGVy
bmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwICovLAogCQkJCTUzRUQzRkRDMTY3QTg4RTcw
MDY3NjJFNiAvKiBKU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwICovLAogCQkJCTUzRUQz
RkREMTY3QTg4RTcwMDY3NjJFNiAvKiBKU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaCAqLywK
IAkJCQlBN0I0RUE2ODE0QzkzNDg0MDBDOEY1QkYgLyogSlNNYWxsb2NTdGF0aXN0aWNzLmNwcCAq
LywKQEAgLTI4NTg5LDYgKzI4NTkyLDcgQEAKIAkJCQk0MTdEQTZEOTEzNzM0RTZFMDA3QzU3RkIg
LyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNzlGMERBMUI5Nzc0RkUwMEVE
MEEyNyAvKiBJbnRlcm5hbHMubW0gaW4gU291cmNlcyAqLywKIAkJCQlBN0JGN0VERjE0QzkxNzVB
MDAxNDQ4OUQgLyogSW50ZXJuYWxTZXR0aW5ncy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjcz
NzNDRDFERUI4NzUwMDBFMUNERjUgLyogSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzRTI5RTVFMTY3QThBMTkwMDU4NkQzRCAvKiBJbnRl
cm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxNzE0RUIwMUNG
NjY1Q0UwMDQ3MjNDNCAvKiBKU0dDT2JzZXJ2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5k
ZXggZDFlODIwNWExMTYxMmYwZGFmODQxMGI4ZTYzMTg5OGExZTI2YzA3NC4uMGY0ZTExYzVmYjRi
MmIxMTkyZDY2ZTdlYjFhZmIyMzFmZTk5MTI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0xMTAsOCArMTEwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogLy8gUG9zdCB2YWx1ZSBj
aGFuZ2Ugbm90aWZpY2F0aW9ucyBmb3IgcGFzc3dvcmQgZmllbGRzIG9yIGVsZW1lbnRzIGNvbnRh
aW5lZCBpbiBwYXNzd29yZCBmaWVsZHMgYXQgYSA0MGh6IGludGVydmFsIHRvIHRod2FydCBhbmFs
eXNpcyBvZiB0eXBpbmcgY2FkZW5jZQotc3RhdGljIGRvdWJsZSBBY2Nlc3NpYmlsaXR5UGFzc3dv
cmRWYWx1ZUNoYW5nZU5vdGlmaWNhdGlvbkludGVydmFsID0gMC4wMjU7Ci1zdGF0aWMgZG91Ymxl
IEFjY2Vzc2liaWxpdHlMaXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gMC4w
MjA7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5UGFzc3dvcmRWYWx1ZUNoYW5nZU5vdGlm
aWNhdGlvbkludGVydmFsID0gMC4wMjVfczsKK3N0YXRpYyBTZWNvbmRzIEFjY2Vzc2liaWxpdHlM
aXZlUmVnaW9uQ2hhbmdlZE5vdGlmaWNhdGlvbkludGVydmFsID0gMC4wMl9zOwogCiBBY2Nlc3Np
YmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFYQ29tcHV0ZWRPYmplY3RBdHRyaWJ1dGVDYWNoZTo6Z2V0
SWdub3JlZChBWElEIGlkKSBjb25zdAogewpAQCAtOTkzLDcgKzk5Myw3IEBAIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIERv
Y3VtZW50KiBkb2N1CiAgICAgaWYgKHBvc3RUeXBlID09IFBvc3RBc3luY2hyb25vdXNseSkgewog
ICAgICAgICBtX25vdGlmaWNhdGlvbnNUb1Bvc3QuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKG9iamVj
dCwgbm90aWZpY2F0aW9uKSk7CiAgICAgICAgIGlmICghbV9ub3RpZmljYXRpb25Qb3N0VGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgICAgIG1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24ob2Jq
ZWN0LCBub3RpZmljYXRpb24pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29u
dHJvbGxlci5jcHAKaW5kZXggYmZmM2IwY2FlZWY4ZDRiMGQzNjFjMmNjNGIyNDlmZjA4MzU4MmUy
NS4uZTZlNjU2OTBkM2IyZDFiZTRkMTNkOTBkZGM0MDU3MWY5MjNjMTViNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwCkBAIC03MSw3ICs3MSw3IEBAIHZv
aWQgR0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdFNvb24oKQogdm9pZCBHQ0NvbnRyb2xsZXI6
OmdhcmJhZ2VDb2xsZWN0T25OZXh0UnVuTG9vcCgpCiB7CiAgICAgaWYgKCFtX0dDVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9HQ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9H
Q1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEdDQ29udHJvbGxlcjo6Z2NUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW50ZXJu
YWxTZXR0aW5nc0dlbmVyYXRlZEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjBi
ZmI0NTUyNWVjOGI5ZDIzZWQ5ZmJhZGY3OGViODYxYzhkMTgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWRDdXN0
b20uY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiSlNJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmgiCisKKyNpbmNsdWRlICJK
U0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKKyNpbmNsdWRlIDxydW50
aW1lL0Vycm9yLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworSlNDOjpKU1ZhbHVlIEpTSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6c2V0SW5jcmVt
ZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoSlNDOjpFeGVjU3RhdGUmIHN0YXRlKQor
eworICAgIFZNJiB2bSA9IHN0YXRlLnZtKCk7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7CisKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUuYXJndW1lbnRDb3Vu
dCgpIDwgMSkpCisgICAgICAgIHJldHVybiB0aHJvd0V4Y2VwdGlvbigmc3RhdGUsIHRocm93U2Nv
cGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKCZzdGF0ZSkpOworCisgICAgYXV0byBp
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCA9IGNvbnZlcnQ8SURMRG91Ymxl
PihzdGF0ZSwgc3RhdGUudW5jaGVja2VkQXJndW1lbnQoMCkpOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgSlNWYWx1ZSgpKTsKKworICAgIGF1dG8mIGltcGwgPSB3cmFwcGVk
KCk7CisgICAgaW1wbC5zZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dChT
ZWNvbmRzKGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KSk7CisgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKK0pTQzo6SlNWYWx1ZSBKU0ludGVybmFsU2V0dGluZ3NH
ZW5lcmF0ZWQ6OnNldFBhc3N3b3JkRWNob0R1cmF0aW9uKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSkK
K3sKKyAgICBWTSYgdm0gPSBzdGF0ZS52bSgpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOworCisgICAgaWYgKFVOTElLRUxZKHN0YXRlLmFyZ3VtZW50Q291
bnQoKSA8IDEpKQorICAgICAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24oJnN0YXRlLCB0aHJvd1Nj
b3BlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcigmc3RhdGUpKTsKKworICAgIGF1dG8g
cGFzc3dvcmRFY2hvRHVyYXRpb24gPSBjb252ZXJ0PElETERvdWJsZT4oc3RhdGUsIHN0YXRlLnVu
Y2hlY2tlZEFyZ3VtZW50KDApKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IEpTVmFsdWUoKSk7CisKKyAgICBhdXRvJiBpbXBsID0gd3JhcHBlZCgpOworICAgIGltcGwuc2V0
UGFzc3dvcmRFY2hvRHVyYXRpb24oU2Vjb25kcyhwYXNzd29yZEVjaG9EdXJhdGlvbikpOworICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorCit9OyAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKaW5kZXggMjU2NzFjMWRlMDliNTUwYmQ3MTljOWNmNWI5
NThlNWZiMjI1NTY0ZC4uZGRiOGY4YjNjNDE4MjAxODkwZjgwY2MwZjZjZWYzY2JkMWJiZGIzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC00OTcsNyArNDk3LDcgQEAgdm9pZCBD
U1NGb250RmFjZTo6c2V0U3RhdHVzKFN0YXR1cyBuZXdTdGF0dXMpCiAgICAgfQogCiAgICAgaWYg
KG5ld1N0YXR1cyA9PSBTdGF0dXM6OkxvYWRpbmcpCi0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0
YXJ0T25lU2hvdCh3ZWJGb250c1Nob3VsZEFsd2F5c0ZhbGxCYWNrKCkgPyAwIDogMyk7CisgICAg
ICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCh3ZWJGb250c1Nob3VsZEFsd2F5c0ZhbGxC
YWNrKCkgPyAwX3MgOiAzX3MpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OlN1
Y2Nlc3MgfHwgbmV3U3RhdHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RvcCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNl
bGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4
IGU4NDk4OGViZTA2YjZmNTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIuLjQ0MDQxZDYzYTcwYmQ2
OWVhMjIzNjQwYmQ1MGM1YTMzMmYxNTc4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2Vs
ZWN0b3IuY3BwCkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2lu
TG9hZGluZ0ZvbnRTb29uKENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8gYWZ0ZXIgdGhpcyBmb250
IGhhcyBiZWVuIHJlcXVlc3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxvYWRpbmcuIEJhbGFuY2Vk
IGJ5CiAgICAgLy8gZGVjcmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVnaW5Mb2FkVGltZXJGaXJl
ZCgpIGFuZCBpbiBjbGVhckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3Vy
Y2VMb2FkZXIoKS5pbmNyZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0gICAgbV9iZWdpbkxvYWRp
bmdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZFRpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCmlu
ZGV4IGE3NTI4M2EyYjI3YzNkZWQ4ZDk0MzEyZGUwNGE0MTU4ZWVjYzJmOTMuLjRkNDA2MTcyNjM5
YzQ5ZWZkNzc1MmFkZmVhM2Y5M2RlNWE2ZjlmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgYXV0byB0aW1lVG9LZWVwQ2FjaGVkR2VuZXJhdGVk
SW1hZ2VzID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAzIH07CitzdGF0aWMgY29uc3QgU2Vjb25k
cyB0aW1lVG9LZWVwQ2FjaGVkR2VuZXJhdGVkSW1hZ2VzID0gM19zOwogCiBDU1NJbWFnZUdlbmVy
YXRvclZhbHVlOjpDU1NJbWFnZUdlbmVyYXRvclZhbHVlKENsYXNzVHlwZSBjbGFzc1R5cGUpCiAg
ICAgOiBDU1NWYWx1ZShjbGFzc1R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAK
aW5kZXggOTEzNjNjMTQzYjI2Y2E0MTlhZmU0ZTRiZTIyMTczN2UxNTExZjA0Zi4uNDYyODM0MjE5
OWJmN2UzOTg3ZDU4MmJmNzQyMWNiNDI2NTc1YmU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJl
c29sdmVyLmNwcApAQCAtMTIzOCwxMCArMTIzOCw4IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YWRk
VG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QK
IHsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVBZGRp
dGlvbnNCZXR3ZWVuU3dlZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3BlcnRpZXND
YWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRk
aXRpb25zQmV0d2VlblN3ZWVwcwotICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGllc0NhY2hl
U3dlZXBUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBt
YXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAgICAgICBt
X21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRjaGVkRGVj
bGFyYXRpb25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyk7Ci0gICAgfQorICAgICAgICAmJiAhbV9t
YXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX21h
dGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdCg2MF9zKTsKIAogICAg
IEFTU0VSVChoYXNoKTsKICAgICBNYXRjaGVkUHJvcGVydGllc0NhY2hlSXRlbSBjYWNoZUl0ZW07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBiODgwNWJlNGJkZjNiYWZkMTlkYTZlZmM2MWYy
OGVlNDMxMzY5NWYzLi5jZDlmM2M1ZWE2OWI3ZDM2YTYxOTA0NTM1MmM2NzJmY2NlZDIxYjdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTEyNTcsNyArMTI1Nyw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkKGJvb2wgdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAg
ICAgaWYgKHZpc3VhbFVwZGF0ZXNBbGxvd2VkKQogICAgICAgICBtX3Zpc3VhbFVwZGF0ZXNTdXBw
cmVzc2lvblRpbWVyLnN0b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1fdmlzdWFsVXBkYXRlc1N1
cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KHNldHRpbmdzKCktPmluY3JlbWVudGFsUmVuZGVy
aW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKCkpOworICAgICAgICBtX3Zpc3VhbFVwZGF0
ZXNTdXBwcmVzc2lvblRpbWVyLnN0YXJ0T25lU2hvdChzZXR0aW5ncygpLT5pbmNyZW1lbnRhbFJl
bmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCgpKTsKIAogICAgIGlmICghdmlzdWFsVXBkYXRlc0Fs
bG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTE3NDQsNyArMTc0NCw3IEBAIHZvaWQgRG9jdW1l
bnQ6OnNjaGVkdWxlU3R5bGVSZWNhbGMoKQogICAgIC8vIEZJWE1FOiBXaHkgb24gZWFydGggaXMg
dGhpcyBoZXJlPyBUaGlzIGlzIGNsZWFybHkgbWlzcGxhY2VkLgogICAgIGludmFsaWRhdGVBY2Nl
c3NLZXlNYXAoKTsKICAgICAKLSAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fc3R5bGVSZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24oKnRoaXMp
OwogfQpAQCAtMjgyMiw3ICsyODIyLDcgQEAgdm9pZCBEb2N1bWVudDo6d3JpdGVsbihjb25zdCBT
dHJpbmcmIHRleHQsIERvY3VtZW50KiBvd25lckRvY3VtZW50KQogICAgIHdyaXRlKCJcbiIsIG93
bmVyRG9jdW1lbnQpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIERvY3VtZW50Ojpt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIERvY3VtZW50OjptaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgYXV0byogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKICAg
ICBpZiAoIXBhZ2UpCkBAIC0yODM5LDcgKzI4MzksNyBAQCB2b2lkIERvY3VtZW50OjpzZXRUaW1l
clRocm90dGxpbmdFbmFibGVkKGJvb2wgc2hvdWxkVGhyb3R0bGUpCiAgICAgZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIERv
Y3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdM
ZXZlbCkgY29uc3QKK1NlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9v
bCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdAogewogICAgIGF1dG8gYWxpZ25tZW50
SW50ZXJ2YWwgPSBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFs
KGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpOwogCkBAIC01MDI1LDggKzUwMjUsOCBAQCB2b2lk
IERvY3VtZW50OjpmaW5pc2hlZFBhcnNpbmcoKQogICAgIC8vIHNvIHRoYXQgZHluYW1pY2FsbHkg
aW5zZXJ0ZWQgY29udGVudCBjYW4gYWxzbyBiZW5lZml0IGZyb20gc2hhcmluZyBvcHRpbWl6YXRp
b25zLgogICAgIC8vIE5vdGUgdGhhdCB3ZSBkb24ndCByZWZyZXNoIHRoZSB0aW1lciBvbiBwb29s
IGFjY2VzcyBzaW5jZSB0aGF0IGNvdWxkIGxlYWQgdG8gaHVnZSBjYWNoZXMgYmVpbmcga2VwdAog
ICAgIC8vIGFsaXZlIGluZGVmaW5pdGVseSBieSBzb21ldGhpbmcgaW5ub2N1b3VzIGxpa2UgSlMg
c2V0dGluZyAuaW5uZXJIVE1MIHJlcGVhdGVkbHkgb24gYSB0aW1lci4KLSAgICBzdGF0aWMgY29u
c3QgaW50IHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hl
ZEluU2Vjb25kcyA9IDEwOwotICAgIG1fc2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXIuc3RhcnRP
bmVTaG90KHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hl
ZEluU2Vjb25kcyk7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZVRvS2VlcFNoYXJlZE9i
amVjdFBvb2xBbGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkID0gMTBfczsKKyAgICBtX3NoYXJlZE9i
amVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9v
bEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQpOwogCiAgICAgLy8gUGFyc2VyIHNob3VsZCBoYXZl
IHBpY2tlZCB1cCBhbGwgcHJlbG9hZHMgYnkgbm93CiAgICAgbV9jYWNoZWRSZXNvdXJjZUxvYWRl
ci0+Y2xlYXJQcmVsb2FkcygpOwpAQCAtNTI1Myw3ICs1MjUzLDcgQEAgdm9pZCBEb2N1bWVudDo6
dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbihTZWxlY3Rpb25SZXN0b3JhdGlvbk1vZGUgbW9kZSkK
IHsKICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJlc3RvcmVzU2VsZWN0aW9uID0gbW9kZTsK
ICAgICBpZiAoIW1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgRG9jdW1lbnQ6OmNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpCkBAIC01NDM4LDcgKzU0
MzgsNyBAQCB2b2lkIERvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyhBY3RpdmVET01PYmpl
Y3Q6OlJlYXNvbkZvclN1c3BlbnNpb24gcmVhc29uKQogICAgIGlmIChyZWFzb24gPT0gQWN0aXZl
RE9NT2JqZWN0OjpXaWxsRGVmZXJMb2FkaW5nICYmIG1fcGFyc2VyKQogICAgICAgICBtX3BhcnNl
ci0+cmVzdW1lU2NoZWR1bGVkVGFza3MoKTsKICAgICBpZiAoIW1fcGVuZGluZ1Rhc2tzLmlzRW1w
dHkoKSkKLSAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgc2NyaXB0UnVu
bmVyKCktPnJlc3VtZSgpOwogICAgIHJlc3VtZUFjdGl2ZURPTU9iamVjdHMocmVhc29uKTsKICAg
ICByZXN1bWVTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXJDYWxsYmFja3MoKTsKQEAgLTU2ODUs
NyArNTY4NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlcXVlc3RGdWxsU2NyZWVuRm9yRWxlbWVudChF
bGVtZW50KiBlbGVtZW50LCB1bnNpZ25lZCBzaG9ydCBmbGFnCiAgICAgfSB3aGlsZSAoMCk7CiAK
ICAgICBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuYXBwZW5kKGVsZW1lbnQgPyBl
bGVtZW50IDogZG9jdW1lbnRFbGVtZW50KCkpOwotICAgIG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OndlYmtpdENhbmNlbEZ1bGxT
Y3JlZW4oKQpAQCAtNTg1Miw3ICs1ODUyLDcgQEAgdm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRW50
ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKIAogICAgIG1fZnVsbFNjcmVlbkVsZW1l
bnQtPmRpZEJlY29tZUZ1bGxzY3JlZW5FbGVtZW50KCk7CiAKLSAgICBtX2Z1bGxTY3JlZW5DaGFu
Z2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxh
eVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRXaWxs
RXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQpAQCAtNTg4OSw3ICs1ODg5LDcgQEAg
dm9pZCBEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQq
KQogICAgIGJvb2wgZXZlbnRUYXJnZXRRdWV1ZXNFbXB0eSA9IG1fZnVsbFNjcmVlbkNoYW5nZUV2
ZW50VGFyZ2V0UXVldWUuaXNFbXB0eSgpICYmIG1fZnVsbFNjcmVlbkVycm9yRXZlbnRUYXJnZXRR
dWV1ZS5pc0VtcHR5KCk7CiAgICAgRG9jdW1lbnQmIGV4aXRpbmdEb2N1bWVudCA9IGV2ZW50VGFy
Z2V0UXVldWVzRW1wdHkgPyB0b3BEb2N1bWVudCgpIDogKnRoaXM7CiAKLSAgICBleGl0aW5nRG9j
dW1lbnQubV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ZXhpdGluZ0RvY3VtZW50Lm1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNldEZ1bGxTY3JlZW5SZW5kZXJlcihSZW5kZXJG
dWxsU2NyZWVuKiByZW5kZXJlcikKQEAgLTYwNTUsNyArNjA1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6
OmRlY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKQogICAgIC0tbV9sb2FkRXZlbnREZWxheUNv
dW50OwogCiAgICAgaWYgKGZyYW1lKCkgJiYgIW1fbG9hZEV2ZW50RGVsYXlDb3VudCAmJiAhbV9s
b2FkRXZlbnREZWxheVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbG9hZEV2ZW50RGVsYXlU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZEV2ZW50RGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6bG9hZEV2ZW50RGVsYXlUaW1lckZp
cmVkKCkKQEAgLTY2OTksNyArNjY5OSw3IEBAIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2Fzc29j
aWF0ZWRGb3JtQ29udHJvbHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV9kaWRBc3NvY2lhdGVG
b3JtQ29udHJvbHNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2RpZEFzc29jaWF0ZUZvcm1D
b250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3Jt
Q29udHJvbHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6ZGlk
QXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXJGaXJlZCgpCkBAIC02NzE5LDcgKzY3MTksNyBAQCB2
b2lkIERvY3VtZW50OjpzZXRDYWNoZWRET01Db29raWVzKGNvbnN0IFN0cmluZyYgY29va2llcykK
ICAgICBBU1NFUlQoIWlzRE9NQ29va2llQ2FjaGVWYWxpZCgpKTsKICAgICBtX2NhY2hlZERPTUNv
b2tpZXMgPSBjb29raWVzOwogICAgIC8vIFRoZSBjb29raWUgY2FjaGUgaXMgdmFsaWQgYXQgbW9z
dCB1bnRpbCB3ZSBnbyBiYWNrIHRvIHRoZSBldmVudCBsb29wLgotICAgIG1fY29va2llQ2FjaGVF
eHBpcnlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb29raWVDYWNoZUV4cGlyeVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50OjppbnZhbGlkYXRlRE9NQ29v
a2llQ2FjaGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBhNDI1NTgzN2Q3ZGVhNGFhODNlYWRk
YmUxN2FjY2Q1MDkxMzdhM2U1Li40NGMwNTdhMzJlMTg0NmEyZTE5NzcxMTFiN2QzMDVjZDRlMDk4
N2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTMzNyw5ICsxMzM3LDkgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciwgUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2Fs
bFN0YWNrPiYmLCBKU0M6OkV4ZWNTdGF0ZSogPSBudWxscHRyLCB1bnNpZ25lZCBsb25nIHJlcXVl
c3RJZGVudGlmaWVyID0gMCkgZmluYWw7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QgZmluYWw7CisgICAgU2Vjb25kcyBtaW5pbXVt
VGltZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyB0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZl
bCkgY29uc3QgZmluYWw7CisgICAgU2Vjb25kcyB0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wg
aGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHVwZGF0
ZVRpdGxlRnJvbVRpdGxlRWxlbWVudCgpOwogICAgIHZvaWQgdXBkYXRlVGl0bGUoY29uc3QgU3Ry
aW5nV2l0aERpcmVjdGlvbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50RXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVl
LmNwcAppbmRleCA5ZTA3N2Y3MmYxMzY1OWEzODY5MTVhOWNiZTYwMTQ2ZjIwMjk5YzI3Li5iZDkz
YmE2MmNlNmUyMjFkOTQwZTBlODA2OTc4MTVlYWU1NjI0ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcApAQCAtNzksNyArNzksNyBAQCBib29sIERvY3VtZW50
RXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFJlZjxFdmVudD4mJiBldmVudCkKIAogICAgIG1fcXVl
dWVkRXZlbnRzLmFkZChldmVudC5wdHIoKSk7CiAgICAgaWYgKCFtX3BlbmRpbmdFdmVudFRpbWVy
LT5pc0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fcGVuZGluZ0V2ZW50VGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
IHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRT
ZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCmluZGV4IDg3MmQ4NWEx
YTQ1NTFhZDAxOTkwODA5ODBlNmY1ZjNhZDI4YTdiN2YuLjE1Y2RiMTc3OWIyMDBhZjM2OTJiZmVl
MWU3MGM5YWIwMmM2YjM0ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFNl
bmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oCkBAIC02Niw3ICs2
Niw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmRpc3BhdGNo
RXZlbnRTb29uKFQmIHNlbmRlcikKIHsKICAgICBtX2Rpc3BhdGNoU29vbkxpc3QuYXBwZW5kKCZz
ZW5kZXIpOwogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBFdmVudFNlbmRlcjxUPjo6Y2FuY2VsRXZlbnQoVCYg
c2VuZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCmluZGV4IDE5NmRmZWQxMDIwNjQzNWY2
ZmVjZTRjN2E4NTkxNDZmY2ViOWY4ZjcuLjBlMTYzOGVmZTVlNDQ2Zjc2NDY4NTk5MTc4MDI1NTIx
Njk4OTYwMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKQEAgLTU1LDcgKzU1LDcgQEAg
dm9pZCBNaWNyb3Rhc2tRdWV1ZTo6YXBwZW5kKHN0ZDo6dW5pcXVlX3B0cjxNaWNyb3Rhc2s+JiYg
dGFzaykKICAgICBlbHNlCiAgICAgICAgIG1fbWljcm90YXNrUXVldWUuYXBwZW5kKFdURk1vdmUo
dGFzaykpOwogCi0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNaWNyb3Rhc2tRdWV1ZTo6cmVtb3ZlKGNvbnN0IE1p
Y3JvdGFzayYgdGFzaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmNwcAppbmRleCA5MzdmMWMyM2JkN2U5OTRjYWVlYjZlMmQwNDg5YzAwZWUxOWNmNTZiLi43
ZThkYTljNzNkZDlkYzRhNTlkYmFlMGUxMzg5MmExYzg0NWNlMjE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC00NDUsNyArNDQ1LDcgQEAg
UHVibGljVVJMTWFuYWdlciYgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cHVibGljVVJMTWFuYWdl
cigpCiAgICAgcmV0dXJuICptX3B1YmxpY1VSTE1hbmFnZXI7CiB9CiAKLXZvaWQgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCkKK3ZvaWQgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGlt
ZXJJbnRlcnZhbCkKIHsKICAgICBpZiAobWluaW11bVRpbWVySW50ZXJ2YWwoKSAhPSBvbGRNaW5p
bXVtVGltZXJJbnRlcnZhbCkgewogICAgICAgICBmb3IgKGF1dG8mIHRpbWVyIDogbV90aW1lb3V0
cy52YWx1ZXMoKSkKQEAgLTQ1Myw3ICs0NTMsNyBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZAog
ICAgIH0KIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjptaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBUaGUgZGVm
YXVsdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5zIHRoZSBET01UaW1lcidzIGRlZmF1bHQKICAgICAv
LyBtaW5pbXVtIHRpbWVyIGludGVydmFsLiBGSVhNRTogdG8gbWFrZSBpdCB3b3JrIHdpdGggZGVk
aWNhdGVkCkBAIC00NjksNyArNDY5LDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpk
aWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCkKICAgICAgICAgdGltZXItPmRpZENoYW5n
ZUFsaWdubWVudEludGVydmFsKCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAor
U2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJv
b2wpIGNvbnN0CiB7CiAgICAgcmV0dXJuIERPTVRpbWVyOjpkZWZhdWx0QWxpZ25tZW50SW50ZXJ2
YWwoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmlu
ZGV4IGM5Mjk4ZDMyY2E0MDE2YmUwNWZjZmYxODRhOTk3NjgyNjU0YWU2OGUuLjdmZGU3OGQ1ZmJm
OWE4MjBlOGFmNGQ4YmM4ZDNhMGYzNjRkNzhhZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMTkyLDExICsxOTIsMTEgQEAgcHVibGljOgogICAg
IFdFQkNPUkVfRVhQT1JUIEpTQzo6Vk0mIHZtKCk7CiAKICAgICAvLyBJbnRlcnZhbCBpcyBpbiBz
ZWNvbmRzLgotICAgIHZvaWQgYWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7Ci0gICAgdmlydHVhbCBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CisgICAg
dm9pZCBhZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZhbChTZWNvbmRzIG9sZE1pbmltdW1UaW1lcklu
dGVydmFsKTsKKyAgICB2aXJ0dWFsIFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25z
dDsKIAogICAgIHZvaWQgZGlkQ2hhbmdlVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOwotICAgIHZp
cnR1YWwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lckFsaWdubWVudEludGVydmFsKGJv
b2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CisgICAgdmlydHVhbCBTZWNvbmRz
IHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBj
b25zdDsKIAogICAgIHZpcnR1YWwgRXZlbnRRdWV1ZSYgZXZlbnRRdWV1ZSgpIGNvbnN0ID0gMDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcAppbmRleCA3MDk4OWViNDBjMDQ1YWRlNzc0
YWU1N2QwOWE0MDQ4YjU5ZTM4ODA0Li40Njg0ZTBkZDk3Y2ZlMjhjNWIxNzllYTc3MzkzZDk4MTBk
YmQzZmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0UnVubmVyLmNwcApAQCAtODYsNyArODYsNyBA
QCB2b2lkIFNjcmlwdFJ1bm5lcjo6c3VzcGVuZCgpCiB2b2lkIFNjcmlwdFJ1bm5lcjo6cmVzdW1l
KCkKIHsKICAgICBpZiAoaGFzUGVuZGluZ1NjcmlwdHMoKSkKLSAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgU2NyaXB0UnVubmVyOjpub3RpZnlGaW5pc2hlZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2Ny
aXB0KQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpub3RpZnlGaW5pc2hl
ZChQZW5kaW5nU2NyaXB0JiBwZW5kaW5nU2NyaXB0KQogICAgICAgICBtX3NjcmlwdHNUb0V4ZWN1
dGVTb29uLmFwcGVuZChtX3BlbmRpbmdBc3luY1NjcmlwdHMudGFrZShwZW5kaW5nU2NyaXB0KS0+
cHRyKCkpOwogICAgIH0KICAgICBwZW5kaW5nU2NyaXB0LmNsZWFyQ2xpZW50KCk7Ci0gICAgbV90
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTY3JpcHRSdW5uZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCA3MTc4MmYyZjExMGUz
ZmRjNGE2NzQwMTk3NmQ5YTlmNjRhYTY1ZjI0Li40M2M3MGM0YTYyMWJlMjllOTQxOTg3ODJlOTUx
MTk4NjFmMTAyODMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcApAQCAtMjE4LDcgKzIxOCw3IEBAIHZvaWQgU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbigpCiAjZW5kaWYKIAogICAgIGRvdWJs
ZSBzY2hlZHVsZURlbGF5ID0gc3RkOjptYXg8ZG91YmxlPihhbmltYXRpb25JbnRlcnZhbCAtICht
X2RvY3VtZW50LT5kb21XaW5kb3coKS0+bm93VGltZXN0YW1wKCkgLSBtX2xhc3RBbmltYXRpb25G
cmFtZVRpbWVzdGFtcCksIDApOwotICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KHNj
aGVkdWxlRGVsYXkpOworICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMo
c2NoZWR1bGVEZWxheSkpOwogI2Vsc2UKICAgICBpZiAoRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBt
X2RvY3VtZW50LT52aWV3KCkpCiAgICAgICAgIGZyYW1lVmlldy0+c2NoZWR1bGVBbmltYXRpb24o
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCBiODA4YWYyN2Q2OTY1OTIx
YjQzMzY3Zjk2ODQwM2QxNDdlODNmYmIxLi5hMzFkMjg4NDQ4ZTFhNjIwMmUxNzAzOWM3ZGY1ZGJm
MmQwYjliMmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC03NCw2ICs3
NCw5IEBAIHN0YXRpYyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSYgcHJlc2VudGF0aW9uQXR0
cmlidXRlQ2FjaGUoKQogICAgIHJldHVybiBjYWNoZTsKIH0KIAorc3RhdGljIGNvbnN0IFNlY29u
ZHMgcHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUgPSA2MF9zOworc3RhdGljIGNv
bnN0IGludCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcg
PSAxMDA7CisKIGNsYXNzIFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lciB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC05MSwxNiArOTQsMTQgQEAgcHVi
bGljOgogICAgICAgICBtX2hpdENvdW50Kys7CiAKICAgICAgICAgaWYgKCFtX2NsZWFuVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fY2xlYW5UaW1lci5zdGFydE9uZVNob3QocHJlc2Vu
dGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWVJblNlY29uZHMpOworICAgICAgICAgICAgbV9j
bGVhblRpbWVyLnN0YXJ0T25lU2hvdChwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGlt
ZSk7CiAgICAgIH0KIAogcHJpdmF0ZToKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgcHJlc2Vu
dGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWVJblNlY29uZHMgPSA2MDsKLSAgICBzdGF0aWMg
Y29uc3QgaW50IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZVNpemVGb3JDbGVhbmlu
ZyA9IDEwMDsKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWluaW11bVByZXNlbnRhdGlvbkF0
dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUgPSAoMTAwICogcHJlc2VudGF0aW9uQXR0cmli
dXRlQ2FjaGVDbGVhblRpbWVJblNlY29uZHMpIC8gNjA7Ci0KICAgICB2b2lkIGNsZWFuQ2FjaGUo
KQogICAgIHsKKyAgICAgICAgdW5zaWduZWQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNh
Y2hlSGl0Q291bnRQZXJNaW51dGUgPSAoMTAwICogcHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVD
bGVhblRpbWUudmFsdWUoKSkgLyA2MDsKKwogICAgICAgICB1bnNpZ25lZCBoaXRDb3VudCA9IG1f
aGl0Q291bnQ7CiAgICAgICAgIG1faGl0Q291bnQgPSAwOwogICAgICAgICBpZiAoaGl0Q291bnQg
PiBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIu
Y3BwCmluZGV4IGQ1Y2QxZWE2N2RkOTBiODkzZjUzNDdhN2ExN2VlY2UwOTRhNGFhNmMuLjY5ZTll
M2ZkZGFmZWFmYmJiZjcxNjExNTVlYmYxYmQwN2NlYTI1NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcApAQCAtMTQwLDcg
KzE0MCw3IEBAIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXI6On5BbHRlcm5hdGl2ZVRleHRDb250
cm9sbGVyKCkKIAogdm9pZCBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFsdGVybmF0
aXZlVGV4dFVJVGltZXIoQWx0ZXJuYXRpdmVUZXh0VHlwZSB0eXBlKQogewotICAgIGNvbnN0IGRv
dWJsZSBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsID0gMC4zOworICAgIGNvbnN0IGF1dG8g
Y29ycmVjdGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuM19zOwogICAgIGlmICghaXNBdXRvbWF0
aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDIwZTZiMGMyYjc0Y2FmY2VlYTIyOGY4MmNjZTIyMmJj
NWZjMTdhMzcuLjNiYTViZDE5MWM2YzlhZmVhMWJmODMzYjIyN2MwZDdiYmE0ZmEyMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTMyNjIsNyArMzI2Miw3IEBAIHZvaWQgRWRpdG9y
OjpyZXNwb25kVG9DaGFuZ2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFt
ZVNlbGVjdGlvbjo6CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICYm
ICFQTEFURk9STShJT1MpCiAgICAgaWYgKHNob3VsZERldGVjdFRlbGVwaG9uZU51bWJlcnMoKSkK
LSAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJEZXRlY3Rpb25VcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fdGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIAogICAgIHNldFN0YXJ0TmV3S2lsbFJpbmdTZXF1ZW5j
ZSh0cnVlKTsKQEAgLTMyNzQsNyArMzI3NCw3IEBAIHZvaWQgRWRpdG9yOjpyZXNwb25kVG9DaGFu
Z2VkU2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBGcmFtZVNlbGVjdGlvbjo6CiAg
ICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyU2hvdWxkQ2hlY2tTcGVsbGluZ0FuZEdyYW1tYXIgPSBv
cHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkNsb3NlVHlwaW5nCiAgICAgICAgICYmICEob3B0aW9u
cyAmIEZyYW1lU2VsZWN0aW9uOjpTcGVsbENvcnJlY3Rpb25UcmlnZ2VyZWQpOwogICAgIG1fZWRp
dG9yVUlVcGRhdGVUaW1lcldhc1RyaWdnZXJlZEJ5RGljdGF0aW9uID0gb3B0aW9ucyAmIEZyYW1l
U2VsZWN0aW9uOjpEaWN0YXRpb25UcmlnZ2VyZWQ7Ci0gICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICYmICFQ
TEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmlu
ZGV4IDM1NjE3NDkwYmE4NjBmMmI5ZWE0ODU2MWQ5MDU2MmZlOGM3MmI0MmEuLmNlNGFjY2M4ZGRj
M2NlMmQwMjVlM2FlYzQ2MGQ2MGIxODJmNjMwZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uY3BwCkBAIC0yMDQ1LDcgKzIwNDUsNyBAQCB2b2lkIEZyYW1lU2VsZWN0
aW9uOjp1cGRhdGVBcHBlYXJhbmNlKCkKICAgICAvLyBTdGFydCBibGlua2luZyB3aXRoIGEgYmxh
Y2sgY2FyZXQuIEJlIHN1cmUgbm90IHRvIHJlc3RhcnQgaWYgd2UncmUKICAgICAvLyBhbHJlYWR5
IGJsaW5raW5nIGluIHRoZSByaWdodCBsb2NhdGlvbi4KICAgICBpZiAoc2hvdWxkQmxpbmsgJiYg
IW1fY2FyZXRCbGlua1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgaWYgKGRvdWJsZSBibGlu
a0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVtZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgp
KQorICAgICAgICBpZiAoYXV0byBibGlua0ludGVydmFsID0gbV9mcmFtZS0+cGFnZSgpLT50aGVt
ZSgpLmNhcmV0QmxpbmtJbnRlcnZhbCgpKQogICAgICAgICAgICAgbV9jYXJldEJsaW5rVGltZXIu
c3RhcnRSZXBlYXRpbmcoYmxpbmtJbnRlcnZhbCk7CiAKICAgICAgICAgaWYgKCFtX2NhcmV0UGFp
bnQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcAppbmRleCA5ZDBmODcz
NmUwODFjM2RmNGZjYTdlMjFhN2ZmNjVjMTg1YzQxZmQ0Li4wMjQ4ODEzY2UwYzljN2JhYzUxOWJm
YjU4NDVjYjNiZTczZTM5MGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Nw
ZWxsQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwCkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrKGludCBz
ZXF1ZW5jZSwgY29uc3QgVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mIHJlc3UKIAogICAgIG1f
cHJvY2Vzc2luZ1JlcXVlc3QgPSBudWxscHRyOwogICAgIGlmICghbV9yZXF1ZXN0UXVldWUuaXNF
bXB0eSgpKQotICAgICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fdGltZXJUb1Byb2Nlc3NRdWV1ZWRSZXF1ZXN0LnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIFNwZWxsQ2hlY2tlcjo6ZGlkQ2hlY2tTdWNjZWVkKGludCBzZXF1
ZW5jZSwgY29uc3QgVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mIHJlc3VsdHMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKaW5kZXggNDE2YTJkMWE3YjkyNTEzNDEwZTQw
NmY0MzQ1ZGM4M2NmNWNmYTEwYy4uZDc4NGRiNDIwY2FjZGU5OGI4NWUzMGFkY2JhOTNhNmJkNWQw
ZmEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApAQCAtNDQxLDcg
KzQ0MSw3IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRl
KEF1dG9jb21wbGV0ZVJlc3VsdCByZXN1bHQpCiAKICAgICAvLyBEaXNwYXRjaCBldmVudHMgbGF0
ZXIgYXMgdGhpcyBBUEkgaXMgbWVhbnQgdG8gd29yayBhc3luY2hyb25vdXNseSBpbiBhbGwgc2l0
dWF0aW9ucyBhbmQgaW1wbGVtZW50YXRpb25zLgogICAgIGlmICghbV9yZXF1ZXN0QXV0b2NvbXBs
ZXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RBdXRvY29t
cGxldGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CmluZGV4IGExZjRmZTE4YzVkNWE2MDA0OTRkYjRiMTY4Y2Q4NDRjNmRlNmRkZGIuLmEwODM2NTJm
YTQ0ZTZhZGU4OThkNmRmZGI2ZDY0NDFkYzg1NDk5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMTU2LDEyICsxNTYsMTIgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIFNlZWtSZXBlYXREZWxheSA9IDAuMTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIFNlZWtSZXBlYXREZWxheSA9IDAuMV9zOworc3RhdGljIGNvbnN0
IFNlY29uZHMgU2NhblJlcGVhdERlbGF5ID0gMS41X3M7CiBzdGF0aWMgY29uc3QgZG91YmxlIFNl
ZWtUaW1lID0gMC4yOwotc3RhdGljIGNvbnN0IGRvdWJsZSBTY2FuUmVwZWF0RGVsYXkgPSAxLjU7
CiBzdGF0aWMgY29uc3QgZG91YmxlIFNjYW5NYXhpbXVtUmF0ZSA9IDg7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgSGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVkRGVsYXkgPSA2Oworc3RhdGljIGNv
bnN0IFNlY29uZHMgSGlkZU1lZGlhQ29udHJvbHNBZnRlckVuZGVkRGVsYXkgPSA2X3M7CiAKIHN0
YXRpYyB2b2lkIHNldEZsYWdzKHVuc2lnbmVkJiB2YWx1ZSwgdW5zaWduZWQgZmxhZ3MpCiB7CkBA
IC05MjAsNyArOTIwLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRB
Y3Rpb24oRGVsYXllZEFjdGlvblR5cGUgYWN0aW9uVHlwZSkKICAgICBpZiAoYWN0aW9uVHlwZSAm
IFVwZGF0ZVBsYXlTdGF0ZSkKICAgICAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3Ms
IFVwZGF0ZVBsYXlTdGF0ZSk7CiAKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoKQpAQCAtOTI4
LDcgKzkyOCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hp
bGQoKQogICAgIC8vIFNjaGVkdWxlIHRoZSB0aW1lciB0byB0cnkgdGhlIG5leHQgPHNvdXJjZT4g
ZWxlbWVudCBXSVRIT1VUIHJlc2V0dGluZyBzdGF0ZSBhbGEgcHJlcGFyZUZvckxvYWQuCiAgICAg
TE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQoJXAp
IC0gc2V0dGluZyAlcyBmbGFnIiwgdGhpcywgYWN0aW9uTmFtZShMb2FkTWVkaWFSZXNvdXJjZSku
dXRmOCgpLmRhdGEoKSk7CiAgICAgc2V0RmxhZ3MobV9wZW5kaW5nQWN0aW9uRmxhZ3MsIExvYWRN
ZWRpYVJlc291cmNlKTsKLSAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJBY3RpdmVTb3VyY2VCdWZmZXJzQ2hhbmdlZChj
b25zdCBNZWRpYVBsYXllciopCkBAIC0xOTY3LDcgKzE5NjcsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVudFRpbWVyKCkKIAogICAgIG1fcHJldmlvdXNQcm9ncmVz
c1RpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAvLyAzNTBtcyBpcyBu
b3QgbWFnaWMsIGl0IGlzIGluIHRoZSBzcGVjIQotICAgIG1fcHJvZ3Jlc3NFdmVudFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKDAuMzUwKTsKKyAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVh
dGluZygzNTBfbXMpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OndhaXRGb3JTb3VyY2VD
aGFuZ2UoKQpAQCAtMzM1NCw3ICszMzU0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpiZWdp
blNjYW5uaW5nKFNjYW5EaXJlY3Rpb24gZGlyZWN0aW9uKQogICAgICAgICBzZXRQbGF5YmFja1Jh
dGUobmV4dFNjYW5SYXRlKCkpOwogICAgIH0KIAotICAgIG1fc2NhblRpbWVyLnN0YXJ0KDAsIG1f
c2NhblR5cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXREZWxheSk7Cisg
ICAgbV9zY2FuVGltZXIuc3RhcnQoMF9zLCBtX3NjYW5UeXBlID09IFNlZWsgPyBTZWVrUmVwZWF0
RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmVu
ZFNjYW5uaW5nKCkKQEAgLTMzOTMsNyArMzM5Myw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
c2NhblRpbWVyRmlyZWQoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZpcmUgcGVyaW9kaWMgdGlt
ZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykgZXZlcnkKIC8vICIxNSB0
byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kKLXN0YXRpYyBjb25zdCBk
b3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjVfczsKIAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzdGFydFBsYXliYWNrUHJvZ3Jlc3NUaW1lcigpCiB7CkBAIC0zNDQwLDcg
KzM0NDAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50
KGJvb2wgcGVyaW9kaWNFdmVudCkKICAgICBkb3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9jbG9j
a1RpbWVBdExhc3RVcGRhdGVFdmVudDsKIAogICAgIC8vIHRocm90dGxlIHRoZSBwZXJpb2RpYyBl
dmVudHMKLSAgICBpZiAocGVyaW9kaWNFdmVudCAmJiB0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRl
RXZlbnRGcmVxdWVuY3kpCisgICAgaWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4
VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5LnZhbHVlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IC8vIFNvbWUgbWVkaWEgZW5naW5lcyBtYWtlIG11bHRpcGxlICJ0aW1lIGNoYW5nZWQiIGNhbGxi
YWNrcyBhdCB0aGUgc2FtZSB0aW1lLCBidXQgd2Ugb25seSB3YW50IG9uZQpAQCAtNDM3MSw3ICs0
MzcxLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpoYW5kbGVTZWVrVG9QbGF5YmFja1Bvc2l0
aW9uKGRvdWJsZSBwb3NpdGlvbikKICAgICAvLyBQbGVhc2Ugc2VlIDxyZGFyOi8vcHJvYmxlbS8y
ODQ1NzIxOT4gZm9yIG1vcmUgZGV0YWlscy4KICAgICBzZWVrKE1lZGlhVGltZTo6Y3JlYXRlV2l0
aERvdWJsZShwb3NpdGlvbikpOwogICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGlt
ZXIuc3RvcCgpOwotICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRP
bmVTaG90KDAuNSk7CisgICAgbV9zZWVrVG9QbGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdGFy
dE9uZVNob3QoMC41X3MpOwogCiAgICAgaWYgKCFtX2lzU2NydWJiaW5nUmVtb3RlbHkpIHsKICAg
ICAgICAgbV9pc1NjcnViYmluZ1JlbW90ZWx5ID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggYTg2NGU4N2VhZmQ0MjgzZTU0ZjFlNDBiZmVjZjky
MjVhNWNiNWRkNi4uMTUxMGM1ODlmZGVkMmIxZTM5MTg2NTZhYTdjNzI3NjUwYzdmZTVlNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTI4OSw3ICsyODks
NyBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpzZXREaXNwbGF5U3RhdGUoRGlzcGxheVN0YXRl
IHN0YXRlKQogICAgIG1fZGlzcGxheVN0YXRlID0gc3RhdGU7CiAgICAgCiAgICAgaWYgKChzdGF0
ZSA9PSBEaXNwbGF5aW5nU25hcHNob3QgfHwgZGlzcGxheVN0YXRlKCkgPT0gUHJlcGFyaW5nUGx1
Z2luUmVwbGFjZW1lbnQpICYmICFtX3N3YXBSZW5kZXJlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3dhcFJlbmRlcmVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3N3YXBS
ZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxQbHVnSW5FbGVt
ZW50OjpkaWRBZGRVc2VyQWdlbnRTaGFkb3dSb290KFNoYWRvd1Jvb3QqIHJvb3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcAppbmRleCBiOTZlM2Nl
MzEzZGY0OGQyOTJlMzcyODBmM2Y5OTk2N2ZjYjBhOTA4Li41MDQxYjViNmM5NWRkNWNmODRlNjVi
NDMzN2RkZDMwZjliMjM2NzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5JbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5jcHAKQEAgLTcyLDEwICs3MiwxMCBAQCBzdGF0aWMgY29uc3QgZmxvYXQg
c2l6aW5nRnVsbFBhZ2VBcmVhUmF0aW9UaHJlc2hvbGQgPSAwLjk2Owogc3RhdGljIGNvbnN0IGZs
b2F0IGF1dG9zdGFydFNvb25BZnRlclVzZXJHZXN0dXJlVGhyZXNob2xkID0gNS4wOwogCiAvLyBU
aGlzIGRlbGF5IHNob3VsZCBub3QgZXhjZWVkIHRoZSBzbmFwc2hvdCBkZWxheSBpbiBQbHVnaW5W
aWV3LmNwcAotc3RhdGljIGNvbnN0IGF1dG8gc2ltdWxhdGVkTW91c2VDbGlja1RpbWVyRGVsYXkg
PSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNzUwIH07CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBzaW11bGF0ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IDAuNzVfczsKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQotc3RhdGljIGNvbnN0IGF1dG8gcmVtb3ZlU25hcHNob3RUaW1lckRlbGF5ID0gc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDE1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJl
bW92ZVNuYXBzaG90VGltZXJEZWxheSA9IDEuNV9zOwogI2VuZGlmCiAKIHN0YXRpYyBjb25zdCBT
dHJpbmcgdGl0bGVUZXh0KFBhZ2UqIHBhZ2UsIFN0cmluZyBtaW1lVHlwZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXggNDUwMThiNzFjMWM4YzI2ZTQ4NGY1
MWMwYzM2NWFmODE1ZTdmNjM5Zi4uZWRhZTBjNGNiOGNhZWZhZjU4MDdiNjQyMzM4ZDZhMTI1MGQ5
NDY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKQEAgLTEy
NSw3ICsxMjUsNyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQo
KQogICAgIGlmIChtX2Vycm9yRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9lcnJvckV2
ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6
OmNhbmNlbFBlbmRpbmdFcnJvckV2ZW50KCkKQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIEhUTUxT
b3VyY2VFbGVtZW50OjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24gd2h5KQogdm9pZCBIVE1M
U291cmNlRWxlbWVudDo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9zaG91bGRSZXNjaGVkdWxlRXJy
b3JFdmVudE9uUmVzdW1lKSB7Ci0gICAgICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9lcnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAg
ICAgIG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJlc3VtZSA9IGZhbHNlOwogICAgIH0K
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCmluZGV4IDA3ZjQyZDk5
ZjhkN2I0OGE5YmEyNDFiNGM0NzFkNTc5ZjU1ZThiZDUuLmZhMDI2MmNjNjhjYTNkYmY4YTQ1Nzcy
NGIyYTU2MmY2YzY0NWViMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRy
YWNrRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50
LmNwcApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgSFRNTFRyYWNrRWxlbWVudDo6c2NoZWR1bGVM
b2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gNC4gUnVuIHRoZSByZW1haW5kZXIgb2Yg
dGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFsbG93aW5nIHdoYXRldmVyIGNhdXNlZCB0aGVz
ZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0gICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxU
cmFja0VsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250
cm9sbGVyLmNwcAppbmRleCA5NTQwNTI1MDllYjdlMjJiYTI5NzJlZWFiNzY5MWJjNTc0NDNmMzhi
Li42ZmJmNDZhM2Y3NTY1NDhlMWIwMzNjMGQ5ZjEwNjhhNTE2NDBmMGIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCkBAIC01Nyw3ICs1Nyw2IEBAIE1lZGlhQ29udHJv
bGxlcjo6TWVkaWFDb250cm9sbGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAg
ICAgLCBtX2Nsb2NrKENsb2NrOjpjcmVhdGUoKSkKICAgICAsIG1fc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dChjb250ZXh0KQogICAgICwgbV90aW1ldXBkYXRlVGltZXIoKnRoaXMsICZNZWRpYUNvbnRy
b2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KQotICAgICwgbV9wcmV2aW91c1RpbWV1cGRh
dGVUaW1lKDApCiB7CiB9CiAKQEAgLTE0OCw3ICsxNDcsNyBAQCBkb3VibGUgTWVkaWFDb250cm9s
bGVyOjpjdXJyZW50VGltZSgpIGNvbnN0CiAgICAgaWYgKG1fcG9zaXRpb24gPT0gTWVkaWFQbGF5
ZXI6OmludmFsaWRUaW1lKCkpIHsKICAgICAgICAgLy8gU29tZSBjbG9ja3MgbWF5IHJldHVybiB0
aW1lcyBvdXRzaWRlIHRoZSByYW5nZSBvZiBbMC4uZHVyYXRpb25dLgogICAgICAgICBtX3Bvc2l0
aW9uID0gc3RkOjptYXg8ZG91YmxlPigwLCBzdGQ6Om1pbihkdXJhdGlvbigpLCBtX2Nsb2NrLT5j
dXJyZW50VGltZSgpKSk7Ci0gICAgICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9jbGVhclBvc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgfQogCiAgICAgcmV0dXJuIG1fcG9zaXRpb247CkBAIC01MzcsNyArNTM2LDcgQEAgdm9pZCBN
ZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudE5h
bWUpCiB7CiAgICAgbV9wZW5kaW5nRXZlbnRzLmFwcGVuZChFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZSwgZmFsc2UsIHRydWUpKTsKICAgICBpZiAoIW1fYXN5bmNFdmVudFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fYXN5bmNFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9h
c3luY0V2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFDb250cm9s
bGVyOjphc3luY0V2ZW50VGltZXJGaXJlZCgpCkBAIC02NjMsNyArNjYyLDcgQEAgdm9pZCBNZWRp
YUNvbnRyb2xsZXI6OnJldHVyblRvUmVhbHRpbWUoKQogCiAvLyBUaGUgc3BlYyBzYXlzIHRvIGZp
cmUgcGVyaW9kaWMgdGltZXVwZGF0ZSBldmVudHMgKHRob3NlIHNlbnQgd2hpbGUgcGxheWluZykg
ZXZlcnkKIC8vICIxNSB0byAyNTBtcyIsIHdlIGNob29zZSB0aGUgc2xvd2VzdCBmcmVxdWVuY3kK
LXN0YXRpYyBjb25zdCBkb3VibGUgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5ID0gMC4yNTsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDI1MF9t
czsKIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIHsKQEAg
LTY3NSw4ICs2NzQsOCBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c3RhcnRUaW1ldXBkYXRlVGlt
ZXIoKQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQoKQog
ewotICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBk
b3VibGUgdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1lOworICAgIGF1
dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgYXV0byB0aW1lZGVsdGEgPSBub3cg
LSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAKICAgICBpZiAodGltZWRlbHRhIDwgbWF4VGlt
ZXVwZGF0ZUV2ZW50RnJlcXVlbmN5KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUNvbnRyb2xsZXIuaAppbmRleCAxNzhmYTc0MmRmODNhM2YyMzIwNjM1ZTM4Mzg0MDMxNzYz
YjViM2QyLi5hOTE5MjQ4MTdjNTE0ZWJjODAwZmNjODBjYTVkMDNlYzdhOGE2MGJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgKQEAgLTE0NSw3ICsxNDUsNyBAQCBwcml2YXRl
OgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDbG9jaz4gbV9jbG9jazsKICAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgVGltZXIgbV90aW1ldXBk
YXRlVGltZXI7Ci0gICAgZG91YmxlIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBNb25v
dG9uaWNUaW1lIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKICAgICBib29sIG1fcmVzZXRDdXJy
ZW50VGltZUluTmV4dFBsYXkgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFE
b2N1bWVudC5jcHAKaW5kZXggNzg1Mzg2MzJjYWE1YjMzMDRhZWUzMjFjNzhhYzUxZjFiN2Y2MGZm
ZS4uY2Q2NmQyODQwNTgyZmI0MjQ1MTQ4ZTJmYzllNTYyNjg1NWIwZmVlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwCkBAIC0yMjksNyArMjI5LDcgQEAgdm9pZCBNZWRpYURv
Y3VtZW50OjptZWRpYUVsZW1lbnRTYXdVbnN1cHBvcnRlZFRyYWNrcygpCiAgICAgLy8gYW5kIGxl
dCB0aGUgcGx1Z2luIGhhbmRsZSB0aGlzLiBEb24ndCBkbyBpdCBpbW1lZGlhdGVseSBhcyB0aGlz
IAogICAgIC8vIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgZGlyZWN0bHkgZnJvbSBhIG1lZGlhIGVu
Z2luZSBjYWxsYmFjaywgYW5kIAogICAgIC8vIHJlcGxhY2VDaGlsZCB3aWxsIGRlc3Ryb3kgdGhl
IGVsZW1lbnQsIG1lZGlhIHBsYXllciwgYW5kIG1lZGlhIGVuZ2luZS4KLSAgICBtX3JlcGxhY2VN
ZWRpYUVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9yZXBsYWNlTWVkaWFFbGVt
ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFEb2N1bWVudDo6cmVw
bGFjZU1lZGlhRWxlbWVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggNWNiNzNiYmMyNWYzMDQwMTM3MDQ0NzMxZmI1NWUzZmY4
ZTJmY2RhMy4uM2QyNThiNjI2MzVhMDNiMTk1OGM0YzhmNzhhMmY0YTFjZTkzMjk0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC01Nyw3ICs1Nyw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBlbGVtZW50
TWFpbkNvbnRlbnRDaGVja0ludGVydmFsID0gLjI1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGVs
ZW1lbnRNYWluQ29udGVudENoZWNrSW50ZXJ2YWwgPSAyNTBfbXM7CiAKIHN0YXRpYyBib29sIGlz
RWxlbWVudFJlY3RNb3N0bHlJbk1haW5GcmFtZShjb25zdCBIVE1MTWVkaWFFbGVtZW50Jik7CiBz
dGF0aWMgYm9vbCBpc0VsZW1lbnRMYXJnZUVub3VnaEZvck1haW5Db250ZW50KGNvbnN0IEhUTUxN
ZWRpYUVsZW1lbnQmLCBNZWRpYVNlc3Npb25NYWluQ29udGVudFB1cnBvc2UpOwpAQCAtNDc2LDcg
KzQ3Niw3IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VB
dmFpbGFibGVEaWRDaGFuZ2UoYm9vbCBoYXNUYXJnZXRzCiAgICAgTE9HKE1lZGlhLCAiTWVkaWFF
bGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZpY2VBdmFpbGFibGVEaWRDaGFuZ2UoJXAp
IC0gaGFzVGFyZ2V0cyAlcyIsIHRoaXMsIGhhc1RhcmdldHMgPyAiVFJVRSIgOiAiRkFMU0UiKTsK
IAogICAgIG1faGFzUGxheWJhY2tUYXJnZXRzID0gaGFzVGFyZ2V0czsKLSAgICBtX3RhcmdldEF2
YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90YXJnZXRBdmFp
bGFiaWxpdHlDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgTWVkaWFF
bGVtZW50U2Vzc2lvbjo6Y2FuUGxheVRvV2lyZWxlc3NQbGF5YmFja1RhcmdldCgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKaW5kZXggZjVkMmJiOTU1MzI5MDcx
OTgyNjY2ZGI3NThlZWMyYmM3NjZkNTBhNy4uODlkOTU4OWJmYjQxNmY5MGM3N2I4NzllNWZkNzk5
OGRlMjJiYmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcApAQCAt
MTY1LDcgKzE2NSw3IEBAIHZvaWQgU2VhcmNoSW5wdXRUeXBlOjpzdGFydFNlYXJjaEV2ZW50VGlt
ZXIoKQogCiAgICAgLy8gQWZ0ZXIgdHlwaW5nIHRoZSBmaXJzdCBrZXksIHdlIHdhaXQgMC41IHNl
Y29uZHMuCiAgICAgLy8gQWZ0ZXIgdGhlIHNlY29uZCBrZXksIDAuNCBzZWNvbmRzLCB0aGVuIDAu
MywgdGhlbiAwLjIgZnJvbSB0aGVuIG9uLgotICAgIG1fc2VhcmNoRXZlbnRUaW1lci5zdGFydE9u
ZVNob3Qoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBsZW5ndGgpKTsKKyAgICBtX3NlYXJjaEV2
ZW50VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc3RkOjptYXgoMC4yLCAwLjYgLSAwLjEgKiBs
ZW5ndGgpKSk7CiB9CiAKIHZvaWQgU2VhcmNoSW5wdXRUeXBlOjpzdG9wU2VhcmNoRXZlbnRUaW1l
cigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCmluZGV4IDlkNWRj
YWNmYmVjMWUzMGNiZjg3MDExMWM0ZTQyNTIxMWY5Y2FhZTQuLmI3YmY1ZTFiYWIyYTZkNWQ3YWYz
MDkyMDhjYjRiN2I4Mjc3YTIwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0
TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpidWlsZEJ1YmJsZVRy
ZWUpOwogICAgIGVsc2UKICAgICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+
KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKTsK
LSAgICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFy
dFRpbWVyKCkKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRN
ZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCiAgICAgICAgIG1fdGltZXIgPSBudWxscHRyOwogICAg
IGVsc2UgewogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMs
ICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgICAgIG1fdGltZXIt
PnN0YXJ0T25lU2hvdChzdGQ6Om1heCg1LjAsIHN0YXRpY19jYXN0PGRvdWJsZT4obV9tZXNzYWdl
Lmxlbmd0aCgpKSAqIG1hZ25pZmljYXRpb24gLyAxMDAwKSk7CisgICAgICAgIG1fdGltZXItPnN0
YXJ0T25lU2hvdChzdGQ6Om1heCg1X3MsIFNlY29uZHMobV9tZXNzYWdlLmxlbmd0aCgpKSAqIG1h
Z25pZmljYXRpb24gLyAxMDAwLjApKTsKICAgICB9CiB9CiAKQEAgLTIyOCw3ICsyMjgsNyBAQCB2
b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0VG9IaWRlTWVzc2FnZSgpCiAKICAgICAvLyBX
ZSBtdXN0IG5vdCBtb2RpZnkgdGhlIERPTSB0cmVlIGluIHRoaXMgY29udGV4dCBieSB0aGUgc2Ft
ZSByZWFzb24gYXMgc2V0TWVzc2FnZSgpLgogICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVl
PFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVUcmVlKTsKLSAg
ICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIGJvb2wgVmFsaWRhdGlvbk1lc3NhZ2U6OnNoYWRvd1RyZWVDb250YWlucyhjb25z
dCBOb2RlJiBub2RlKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCAyYzBkODA3NTYwNTVlNTk2
OTdkODkxNmFkMzQ5NGE2MjRhNTlhYmY0Li42NDgwMzAwZDEwNzk5M2VmM2IzNmU4MmIyZDMxMDky
MmE4YzllYTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtOTgsNyArOTgsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBzZWNvbmRzQmV0d2VlblJlc3RvcmVBdHRlbXB0
cyA9IDEuMDsKK2NvbnN0IFNlY29uZHMgdGltZUJldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxX3M7
CiBjb25zdCBpbnQgbWF4R0xFcnJvcnNBbGxvd2VkVG9Db25zb2xlID0gMjU2OwogCiBuYW1lc3Bh
Y2UgewpAQCAtNDY2Niw3ICs0NjY2LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpsb3NlQ29udGV4dEltcGwoV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6TG9zdEMKIAogICAg
IC8vIEFsd2F5cyBkZWZlciB0aGUgZGlzcGF0Y2ggb2YgdGhlIGNvbnRleHQgbG9zdCBldmVudCwg
dG8gaW1wbGVtZW50CiAgICAgLy8gdGhlIHNwZWMgYmVoYXZpb3Igb2YgcXVldWVpbmcgYSB0YXNr
LgotICAgIG1fZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgIG1fZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgp
CkBAIC00NjgzLDcgKzQ2ODMsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZv
cmNlUmVzdG9yZUNvbnRleHQoKQogICAgIH0KIAogICAgIGlmICghbV9yZXN0b3JlVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUGxhdGZvcm1MYXllciog
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6cGxhdGZvcm1MYXllcigpIGNvbnN0CkBAIC01NjE0
LDcgKzU2MTQsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmRpc3BhdGNoQ29u
dGV4dExvc3RFdmVudCgpCiAgICAgY2FudmFzKCkuZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICAg
bV9yZXN0b3JlQWxsb3dlZCA9IGV2ZW50LT5kZWZhdWx0UHJldmVudGVkKCk7CiAgICAgaWYgKG1f
Y29udGV4dExvc3RNb2RlID09IFJlYWxMb3N0Q29udGV4dCAmJiBtX3Jlc3RvcmVBbGxvd2VkKQot
ICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdG9y
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQoKQpAQCAtNTY3OSw3ICs1Njc5LDcgQEAgdm9pZCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KCkKICAgICBSZWZQ
dHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQoR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZSht
X2F0dHJpYnV0ZXMsIGhvc3RXaW5kb3cpKTsKICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAg
aWYgKG1fY29udGV4dExvc3RNb2RlID09IFJlYWxMb3N0Q29udGV4dCkKLSAgICAgICAgICAgIG1f
cmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7
CisgICAgICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3QodGltZUJldHdlZW5SZXN0
b3JlQXR0ZW1wdHMpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAvLyBUaGlzIGxpa2VseSBz
aG91bGRuJ3QgaGFwcGVuIGJ1dCBpcyB0aGUgYmVzdCB3YXkgdG8gcmVwb3J0IGl0IHRvIHRoZSBX
ZWJHTCBhcHAuCiAgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQz
RDo6SU5WQUxJRF9PUEVSQVRJT04sICIiLCAiZXJyb3IgcmVzdG9yaW5nIGNvbnRleHQiKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHAK
aW5kZXggMjgzMzdkODZkNTNmODlkZWE1Mzk4YmY2M2M2ZmI4YzExMzVkMzYxZC4uZTZjMzgyZjQ0
NTg1MmVhMDI3YTkxMjZmNjM5MzE2OTliM2EyYjJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHAKQEAgLTEwMSw3ICsxMDEsNyBA
QCB2b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OmNvbnRpbnVlTmV4dENodW5rVGltZXJGaXJlZCgp
CiAgICAgLy8gRklYTUU6IFRoZSB0aW1lciBjbGFzcyBzaG91bGQgaGFuZGxlIHRpbWVyIHByaW9y
aXRpZXMgaW5zdGVhZCBvZiB0aGlzIGNvZGUuCiAgICAgLy8gSWYgYSBsYXlvdXQgaXMgc2NoZWR1
bGVkLCB3YWl0IGFnYWluIHRvIGxldCB0aGUgbGF5b3V0IHRpbWVyIHJ1biBmaXJzdC4KICAgICBp
ZiAobV9wYXJzZXIuZG9jdW1lbnQoKS0+aXNMYXlvdXRUaW1lckFjdGl2ZSgpKSB7Ci0gICAgICAg
IG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29u
dGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBtX3BhcnNlci5yZXN1bWVQYXJzaW5nQWZ0ZXJZaWVsZCgpOwpAQCAtMTIwLDcg
KzEyMCw3IEBAIGJvb2wgSFRNTFBhcnNlclNjaGVkdWxlcjo6c2hvdWxkWWllbGRCZWZvcmVFeGVj
dXRpbmdTY3JpcHQoUHVtcFNlc3Npb24mIHNlc3Npb24pCiB2b2lkIEhUTUxQYXJzZXJTY2hlZHVs
ZXI6OnNjaGVkdWxlRm9yUmVzdW1lKCkKIHsKICAgICBBU1NFUlQoIW1fc3VzcGVuZGVkKTsKLSAg
ICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGlu
dWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGFyc2Vy
U2NoZWR1bGVyOjpzdXNwZW5kKCkKQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIEhUTUxQYXJzZXJT
Y2hlZHVsZXI6OnJlc3VtZSgpCiAgICAgaWYgKCFtX2lzU3VzcGVuZGVkV2l0aEFjdGl2ZVRpbWVy
KQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lciA9IGZh
bHNlOwotICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAK
aW5kZXggMTVlYTFmMDhjMzA2M2M2MTM0MjBkYmUxNTY2NjVhODE4M2JlYzU0NS4uNWUyOWU2N2Rj
ZmJmYjIwYmMyM2JmNTA0OTFmNWI3ODllZGJlMDRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAtMTM3LDcgKzEzNyw3
IEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKCkKICAgICAvLyBU
aGUgdGltZXIgaXMgcmVxdWlyZWQgdG8gc2V0IHRoZSBwcm9wZXJ0eSBkaXNwbGF5Oidub25lJyBv
biB0aGUgcGFuZWwsCiAgICAgLy8gc3VjaCB0aGF0IGNhcHRpb25zIGFyZSBjb3JyZWN0bHkgZGlz
cGxheWVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZpZGVvCiAgICAgLy8gYXQgdGhlIGVuZCBvZiB0
aGUgZmFkZW91dCB0cmFuc2l0aW9uLgotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCku
cGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXRE
dXJhdGlvbigpIDogMDsKKyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBk
b2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkg
OiAwX3M7CiAgICAgbV90cmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IApAQCAtMTg4LDEwICsxODgsMTAgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6Om1h
a2VPcGFxdWUoKQogICAgIGlmIChtX29wYXF1ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91
YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhl
bWUoKS5tZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSA6IDA7CisgICAgYXV0byBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBzZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQcm9wZXJ0eU9wYWNpdHkpOwot
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24s
IGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOworICAgIHNldElubGluZVN0eWxl
UHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLnZhbHVlKCks
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShD
U1NQcm9wZXJ0eU9wYWNpdHksIDEuMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwog
CiAgICAgbV9vcGFxdWUgPSB0cnVlOwpAQCAtMjA1LDEwICsyMDUsMTAgQEAgdm9pZCBNZWRpYUNv
bnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCgpCiAgICAgaWYgKCFtX29wYXF1ZSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdl
KCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0
aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3Vt
ZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBf
czsKIAogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJv
cGVydHksIENTU1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShD
U1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUyk7CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRp
b25EdXJhdGlvbiwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsK
ICAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMC4wLCBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IGZhbHNlOwpAQCAt
MTMzNiw3ICsxMzM2LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVt
ZW50Ojp1cGRhdGVTaXplcyhib29sIGZvcmNlVXBkYXRlKQogICAgIG1fdXBkYXRlVGV4dFRyYWNr
UmVwcmVzZW50YXRpb25TdHlsZSA9IHRydWU7CiAKICAgICAvLyBGSVhNRSAoMTIxMTcwKTogVGhp
cyBmdW5jdGlvbiBpcyBjYWxsZWQgZHVyaW5nIGxheW91dCwgYW5kIHNob3VsZCBsYXkgb3V0IHRo
ZSB0ZXh0IHRyYWNrcyBpbW1lZGlhdGVseS4KLSAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBSZWZQdHI8
SW1hZ2U+IE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVRleHRU
cmFja1JlcHJlc2VudGF0aW9uSW1hZ2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRleCAyMTBmNmE5ZGY1YWM3NzE3NWE5ODEyYWMwNTEw
NDIyMzJhMzQwZjMzLi44MGZiYjM1YjAxZWU3ODI1NzU1OWFhNzFlYjczNmE1YjFiOWU4NTZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApA
QCAtNTgsNyArNTgsNyBAQCB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQoY29u
c3QgVVJMJiB1cmwpCiAgICAgLy8gMy4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSByZW1haW5pbmcg
c3RlcHMsIHdoaWxlIGNvbnRpbnVpbmcgd2l0aCB3aGF0ZXZlciB0YXNrIAogICAgIC8vIHdhcyBy
ZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHRleHQgdHJhY2sgb3IgY2hhbmdpbmcgdGhlIHRl
eHQgdHJhY2sgbW9kZS4KICAgICBpZiAoIW1fbG9hZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sb2FkVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIEVsZW1lbnQqIExvYWRhYmxlVGV4dFRyYWNrOjplbGVtZW50KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAppbmRleCAwNTc4YmY5MTI2N2Ni
NTUwYWYwMmRiN2UyMjNkZDQzNmMwN2Q1MWI2Li42NjY2OTQ3NWEwYmVjZTI3NzA4MjFkMTM2YmE4
MDE5N2U3NzczNzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJl
Z2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCkBA
IC01Niw3ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBmbG9hdCBs
aW5lSGVpZ2h0ID0gNS4zMzsKIAogLy8gRGVmYXVsdCBzY3JvbGxpbmcgYW5pbWF0aW9uIHRpbWUg
cGVyaW9kIChzKS4KLXN0YXRpYyBjb25zdCBmbG9hdCBzY3JvbGxUaW1lID0gMC40MzM7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxUaW1lID0gNDMzX21zOwogCiBWVFRSZWdpb246OlZUVFJl
Z2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgIDogQ29udGV4dERlc3Ry
dWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCkBAIC00MDMsNyArNDAzLDcgQEAgdm9pZCBWVFRSZWdp
b246OnN0YXJ0VGltZXIoKQogICAgIGlmIChtX3Njcm9sbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkg
PyBzY3JvbGxUaW1lIDogMDsKKyAgICBhdXRvIGR1cmF0aW9uID0gaXNTY3JvbGxpbmdSZWdpb24o
KSA/IHNjcm9sbFRpbWUgOiAwX3M7CiAgICAgbV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoZHVy
YXRpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcAppbmRleCAzZDU0MjIxYzVkYzg5M2NkZDk1NzFkYzNmM2IxZmU2ODdiYjA4NjMzLi42
YjU2YzE4ZjJhZGVmMjc3MWVjZGUwOWY3ZjQ3MDdlN2QxMGM5MzMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKQEAgLTEyOCw3ICsxMjgsNyBA
QCB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hlZHVsZUZvcihXZWJLaXROYW1lZEZs
b3cqIG5hbWVkRmxvdywgaW50IGRvY3VtZQogICAgIG1fbmFtZWRGbG93cy5hZGQobmFtZWRGbG93
LCBkb2N1bWVudE5vZGVJZCk7CiAKICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgQ2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnVuc2NoZWR1bGUoV2Vi
S2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcAppbmRleCA4M2EwMjRiY2RkZDIxMzA5Nzg3NTk4NzIyNDEyNzFl
MGE4ZmIzZjBmLi45MTI3MjYyYWU4OGFjY2JiNGU0ZWUxZjg2MTdkOWQzMmY0MWU4Y2Q4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE4
NSw3ICsxODUsNyBAQCB2b2lkIFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxl
Rm9yKEVsZW1lbnQqIGVsZW1lbnQpCiB7CiAgICAgbV9lbGVtZW50cy5hZGQoZWxlbWVudCk7CiAg
ICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJldmFs
aWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCmlu
ZGV4IDhhMzVhMTc5ZWI4YmY1OWI0YmMwOThkYzZlZGM5MGNkZTBkYTA1OTMuLjUxOGFhZGY3ZDEy
MjY4YTQ3ZjhmMmI1MzA5ZmMzZjU0MWFlODUzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKQEAgLTgw
LDcgKzgwLDcgQEAgcHVibGljOgogCiAgICAgICAgIG1fbWVzc2FnZXMuYXBwZW5kKG1lc3NhZ2Up
OwogICAgICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsK
ICAgICB9CiAKICAgICB2b2lkIHJlc2V0KCkKQEAgLTEwMiw3ICsxMDIsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyLT5kaXNwYXRjaE1lc3NhZ2VGcm9t
RnJvbnRlbmQobV9tZXNzYWdlcy50YWtlRmlyc3QoKSk7CiAKICAgICAgICAgaWYgKCFtX21lc3Nh
Z2VzLmlzRW1wdHkoKSAmJiBtX2luc3BlY3RlZFBhZ2VDb250cm9sbGVyKQotICAgICAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAppbmRleCA1ZmNhMzEwZDAwYWMyMWRjN2I2MWJlMGE5ZmUwNTVj
OGI3ZjdhYWQ4Li4xODZlNzAwYmRhMmViMjg2MGUxNTM0MmM0NTY0MTI1MGQ1NWQwZTkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC01MDks
OCArNTA5LDggQEAgdm9pZCBJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkKICAgICBtX3BhaW50UmVjdHMuYXBwZW5kKFRpbWVSZWN0UGFpcihyZW1v
dmVUaW1lLCByb290UmVjdCkpOwogCiAgICAgaWYgKCFtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLmlz
QWN0aXZlKCkpIHsKLSAgICAgICAgY29uc3QgZG91YmxlIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZh
bFNlY29uZHMgPSAwLjAzMjsKLSAgICAgICAgbV9wYWludFJlY3RVcGRhdGVUaW1lci5zdGFydFJl
cGVhdGluZyhwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzKTsKKyAgICAgICAgY29uc3Qg
YXV0byBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWwgPSAzMl9tczsKKyAgICAgICAgbV9wYWludFJl
Y3RVcGRhdGVUaW1lci5zdGFydFJlcGVhdGluZyhwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWwpOwog
ICAgIH0KIAogICAgIGRyYXdQYWludFJlY3RzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcAppbmRleCAzYWFhNTJhNmI4YWE2MmYzZGM3
OGQxMjRhZGNlMThhZWQwNzk3Zjk3Li43OTBkYTE3M2EzZTUwYjY0NTJhYTEwYzVjNTg5NGUyODAy
MTM1ODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVw
bGF5QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBs
YXlBZ2VudC5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OlJlcGxheTo6U2Vzc2lvblNlZ21lbnQ+IGJ1aWxkSW5zcGVjdG9yT2JqZWN0Rm9yUwog
CiAgICAgcmV0dXJuIEluc3BlY3Rvcjo6UHJvdG9jb2w6OlJlcGxheTo6U2Vzc2lvblNlZ21lbnQ6
OmNyZWF0ZSgpCiAgICAgICAgIC5zZXRJZChzZWdtZW50LT5pZGVudGlmaWVyKCkpCi0gICAgICAg
IC5zZXRUaW1lc3RhbXAoc2VnbWVudC0+dGltZXN0YW1wKCkpCisgICAgICAgIC5zZXRUaW1lc3Rh
bXAoc2VnbWVudC0+dGltZXN0YW1wKCkuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpKQogICAg
ICAgICAuc2V0UXVldWVzKFdURk1vdmUocXVldWVzT2JqZWN0KSkKICAgICAgICAgLnJlbGVhc2Uo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDJkM2Nk
OTUwZTMxODQzOTM3YjhiNzA1ZDMxNzU0YjM4YWEzM2I4NTkuLjkwY2VlNjI2NmFhYWM5MTZjNmIy
OWVjNDZhOWYxNDZkMTZkNjY0YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcApAQCAtNDg5LDcgKzQ4OSw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmhhbmRsZVN1
YnN0aXR1dGVEYXRhTG9hZE5vdygpCiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0YUxv
YWRUaW1lcigpCiB7Ci0gICAgbV9kYXRhTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2RhdGFMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICNpZiBIQVZFKFJVTkxPT1BfVElN
RVIpCiAgICAgaWYgKFNjaGVkdWxlUGFpckhhc2hTZXQqIHNjaGVkdWxlZFBhaXJzID0gbV9mcmFt
ZS0+cGFnZSgpLT5zY2hlZHVsZWRSdW5Mb29wUGFpcnMoKSkKQEAgLTEyMjUsNyArMTIyNSw3IEBA
IHZvaWQgRG9jdW1lbnRMb2FkZXI6OmRlbGl2ZXJTdWJzdGl0dXRlUmVzb3VyY2VzQWZ0ZXJEZWxh
eSgpCiAgICAgaWYgKG1fZnJhbWUtPnBhZ2UoKS0+ZGVmZXJzTG9hZGluZygpKQogICAgICAgICBy
ZXR1cm47CiAgICAgaWYgKCFtX3N1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdWJzdGl0dXRlUmVzb3Vy
Y2VEZWxpdmVyeVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
aW5kZXggMTIyYTJiZDI3ZmFkNTcyNzI2ZTE3MGZlZWQ1OTEzMWE1NjAzOGE5OS4uNmYyNWYxZGNk
MGFmY2E2OGFiZDkzNTdlYjM0OGNjOTJjMWNmMWRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCkBAIC04MzEsNyArODMxLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6c3RhcnRD
aGVja0NvbXBsZXRlVGltZXIoKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fY2hlY2tUaW1l
ci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9jaGVja1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2NoZWNrVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
RnJhbWVMb2FkZXI6OnNjaGVkdWxlQ2hlY2tDb21wbGV0ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKaW5kZXggYTUzYWYxMWJiOWY5M2JhMmE4MTIzZGIxYTgxMGYzODg3OTk2
ZmRjNS4uNzc5YmY3NTFiNDJlYWI5NTE0OTllODMyNWZkMDlkNTNkMTk5NTE1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC0zNjUsNyArMzY1LDcgQEAgdm9pZCBJbWFn
ZUxvYWRlcjo6dXBkYXRlZEhhc1BlbmRpbmdFdmVudCgpCiAgICAgICAgICAgICBtX3Byb3RlY3Rl
ZEVsZW1lbnQgPSAmZWxlbWVudCgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEFTU0VSVCghbV9k
ZXJlZkVsZW1lbnRUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9kZXJlZkVsZW1lbnRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAgICAgfSAgIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAKaW5kZXggN2VmZmFkN2ZhMWM1YWEzNDQ2ZWFjMDAyOTYxOGYxMmJi
NTc1YjRlNS4uMmJkOWQ5MzVhN2Q0MmVkZWVlYjJhZjNmZjMyMjI3MzYwZmNjNDhjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtMTI3LDcg
KzEyNyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAK
ICAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVy
ZVRvRm9yd2FyZCgpKTsKLSAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZCht
X3VybCwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSwg
bG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVk
aXJlY3RlZChtX3VybCwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50
ZXJ2YWwoKS52YWx1ZSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOwogICAgIH0KIAogICAgIHZv
aWQgZGlkU3RvcFRpbWVyKEZyYW1lJiBmcmFtZSwgYm9vbCBuZXdMb2FkSW5Qcm9ncmVzcykgb3Zl
cnJpZGUKQEAgLTI3NSw3ICsyNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1faGF2ZVRvbGRDbGll
bnQgPSB0cnVlOwogCiAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0
b3IodXNlckdlc3R1cmVUb0ZvcndhcmQoKSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVu
dFJlZGlyZWN0ZWQobV9zdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCksIGRlbGF5KCksIGN1cnJlbnRU
aW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7
CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV9zdWJtaXNzaW9uLT5y
ZXF1ZXN0VVJMKCksIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVy
dmFsKCkudmFsdWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lk
IGRpZFN0b3BUaW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJy
aWRlCkBAIC01MzksNyArNTM5LDcgQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRp
bWVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIGRlbGF5ID0gbV9yZWRpcmVjdC0+
ZGVsYXkoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV90aW1lci5z
dGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZnJhbWVTY2hlZHVsZWROYXZpZ2F0aW9uKG1fZnJhbWUsIGRlbGF5KTsKICAgICBtX3JlZGly
ZWN0LT5kaWRTdGFydFRpbWVyKG1fZnJhbWUsIG1fdGltZXIpOyAvLyBtX3JlZGlyZWN0IG1heSBi
ZSBudWxsIG9uIHJldHVybiAoZS5nLiB0aGUgY2xpZW50IGNhbmNlbGVkIHRoZSBsb2FkKQogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBmZTBjNzIyOWU2
ZWFiNjVmNTZlMjRkZGFjMWJiZDRkNTkwNDdiMTVlLi43ZWFmZDMwNTZjOTc0YjAzOTc4NmFlY2U2
Mjk4NTQ4MmZkODU0ZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jl
c3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmNwcApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NW
YWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIHN0YXRpYyBjb25zdCBp
bnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAogLy8g
Q2hlY2sgaWYgdGhlIGxvYWQgaXMgcHJvZ3Jlc3NpbmcgdGhpcyBvZnRlbi4KLXN0YXRpYyBjb25z
dCBkb3VibGUgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9IDAuMTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHByb2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjFfczsKIAogLy8gSG93IG1hbnkg
aGVhcnRiZWF0cyBtdXN0IHBhc3Mgd2l0aG91dCBwcm9ncmVzcyBiZWZvcmUgZGVjaWRpbmcgdGhl
IGxvYWQgaXMgY3VycmVudGx5IHN0YWxsZWQuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9hZFN0
YWxsZWRIZWFydGJlYXRDb3VudCA9IDQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGV4dFRyYWNrTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tM
b2FkZXIuY3BwCmluZGV4IDk2ZTkwYjVmZDIyZDUxOGMxNTNiOWY4MzA0YTlkZTBkM2U4OWJiODgu
LmIyNjZjMzMxM2IyYTQ4YjYzMWI3ODNlMDYxOTIxMWI3MWY1NWU2ZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwCkBAIC0xMzksNyArMTM5LDcgQEAgdm9pZCBU
ZXh0VHJhY2tMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkK
ICAgICAgICAgbV9jdWVQYXJzZXItPmZsdXNoKCk7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2Fk
KCk7CiB9CkBAIC0xNzIsNyArMTcyLDcgQEAgdm9pZCBUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQ
YXJzZWQoKQogICAgICAgICByZXR1cm47CiAKICAgICBtX25ld0N1ZXNBdmFpbGFibGUgPSB0cnVl
OwotICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2N1ZUxvYWRUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUZXh0VHJhY2tMb2FkZXI6Om5ld1JlZ2lv
bnNQYXJzZWQoKQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpmaWxl
RmFpbGVkVG9QYXJzZSgpCiAgICAgbV9zdGF0ZSA9IEZhaWxlZDsKIAogICAgIGlmICghbV9jdWVM
b2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIGNh
bmNlbExvYWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKaW5kZXggMzdhYzc1ZGJmNTAxYzQ4YjY2ZDA1
YmU0NTk1M2E1NjE3Y2Y5MmUxMC4uNDFmZTk4MzZjYTY2MjY2ZWZlYTMyNTZiMjMzNGJmMWRhMzA5
MDFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAKQEAgLTEwNzAsNyArMTA3MCw3IEBAIHZvaWQgQXBwbGlj
YXRpb25DYWNoZUdyb3VwOjpzY2hlZHVsZVJlYWNoZWRNYXhBcHBDYWNoZVNpemVDYWxsYmFjaygp
CiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBDaHJvbWVDbGllbnRDYWxsYmFj
a1RpbWVyKiB0aW1lciA9IG5ldyBDaHJvbWVDbGllbnRDYWxsYmFja1RpbWVyKHRoaXMpOwotICAg
IHRpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIC8vIFRoZSB0aW1lciB3aWxsIGRlbGV0ZSBpdHNlbGYgb25jZSBpdCBmaXJlcy4KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXgg
YWZiMGI2NTQ3MzJkNmViYjU2YTU2NGZhNjgwNDc3OTllNTYyMjAwYy4uYWM1MmQzZjMxMzk0Y2My
MTJkNDZkYjEyMWU1MjAwMjJkNGY1MmEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC0xMDMsMTAgKzEwMywxMCBAQCBSZXNvdXJjZUxv
YWRQcmlvcml0eSBDYWNoZWRSZXNvdXJjZTo6ZGVmYXVsdFByaW9yaXR5Rm9yUmVzb3VyY2VUeXBl
KFR5cGUgdHlwZSkKICAgICByZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHk6OkxvdzsKIH0KIAot
c3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbEZvclJlc291cmNlVHlwZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlKQorc3RhdGlj
IFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZShD
YWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlKQogewogICAgIGlmICh0eXBlID09IENhY2hlZFJlc291
cmNlOjpTY3JpcHQpCi0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsg
MCB9OworICAgICAgICByZXR1cm4gMF9zOwogCiAgICAgcmV0dXJuIE1lbW9yeUNhY2hlOjpzaW5n
bGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCk7CiB9CkBAIC01MzgsNyAr
NTM4LDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWVkZWQo
KQogewogICAgIGlmICghbV9kZWNvZGVkU2l6ZSkKICAgICAgICAgcmV0dXJuOwotICAgIGlmICgh
TWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwo
KS5jb3VudCgpKQorICAgIGlmICghTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwoKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1fZGVjb2RlZERh
dGFEZWxldGlvblRpbWVyLnJlc3RhcnQoKTsKIH0KQEAgLTgxNSw3ICs4MTUsNyBAQCBpbmxpbmUg
Q2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpDYWxsYmFjayhDYWNoZWRSZXNvdXJjZSYgcmVzb3Vy
Y2UsIENhY2hlZFJlc291cgogICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90aW1lcigq
dGhpcywgJkNhbGxiYWNrOjp0aW1lckZpcmVkKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGlubGluZSB2b2lkIENh
Y2hlZFJlc291cmNlOjpDYWxsYmFjazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGUxNjNlOGJhNzdk
MTNlNzcyMmU5MmYzZGYzNjExZmI3NTkzMzU0YWEuLmM1MGQ2ZDQ2MGY1YjI0NDBmOWIzNjY5M2M2
MTJhYTk4NmNlNDNlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTE2Myw3ICsxMTYzLDcgQEAgdm9pZCBDYWNo
ZWRSZXNvdXJjZUxvYWRlcjo6bG9hZERvbmUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBib29s
IHNob3VsZFBlcmZvcm0KICAgICAgICAgcGVyZm9ybVBvc3RMb2FkQWN0aW9ucygpOwogCiAgICAg
aWYgKCFtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291cmNlc1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiAvLyBHYXJiYWdlIGNvbGxlY3RpbmcgbV9kb2N1bWVudFJl
c291cmNlcyBpcyBhIHdvcmthcm91bmQgZm9yIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXggZDhkMzBkZmM0ZWU5MTAzYjM0ZGY4YTE3YmJkNDc1
ZGQ4YTllODI3OS4uOTEwMDc0NzExZDI3MTk5ODhjMzNkMjcxMzMwMjM2ODBkMDkwZTA4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC01MSw3ICs1
MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgY0RlZmF1bHRDYWNo
ZUNhcGFjaXR5ID0gODE5MiAqIDEwMjQ7CiBzdGF0aWMgY29uc3QgZG91YmxlIGNNaW5EZWxheUJl
Zm9yZUxpdmVEZWNvZGVkUHJ1bmUgPSAxOyAvLyBTZWNvbmRzLgogc3RhdGljIGNvbnN0IGZsb2F0
IGNUYXJnZXRQcnVuZVBlcmNlbnRhZ2UgPSAuOTVmOyAvLyBQZXJjZW50YWdlIG9mIGNhcGFjaXR5
IHRvd2FyZCB3aGljaCB3ZSBwcnVuZSwgdG8gYXZvaWQgaW1tZWRpYXRlbHkgcHJ1bmluZyBhZ2Fp
bi4KLXN0YXRpYyBjb25zdCBhdXRvIGRlZmF1bHREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwg
PSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKK3N0YXRpYyBjb25zdCBhdXRvIGRlZmF1bHRE
ZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSAwX3M7CiAKIE1lbW9yeUNhY2hlJiBNZW1vcnlD
YWNoZTo6c2luZ2xldG9uKCkKIHsKQEAgLTc2NywxMSArNzY3LDEzIEBAIHZvaWQgTWVtb3J5Q2Fj
aGU6OnBydW5lKCkKIAogdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmVTb29uKCkKIHsKLSAgICAgaWYg
KG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQorICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQotICAgICAgICAg
cmV0dXJuOwotICAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDApOworCisgICAgaWYgKCFu
ZWVkc1BydW5pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wcnVuZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuaAppbmRleCAxODM2YzJiZjEwMDllZTdhZWQyNDk2MzA1MzhmMjgy
YmU1OGQxNzBkLi43OWMwYTI2OWQwNTZlZjg5OWNhNmFjYzQyNWJjZjcxYTExOTI2YjNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaApAQCAtMTI1LDggKzEyNSw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHBydW5lU29vbigpOwogICAgIHVuc2lnbmVkIHNpemUoKSBj
b25zdCB7IHJldHVybiBtX2xpdmVTaXplICsgbV9kZWFkU2l6ZTsgfQogCi0gICAgdm9pZCBzZXRE
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
aW50ZXJ2YWwpIHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7
IH0KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9u
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWw7IH0KKyAgICB2b2lkIHNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoU2Vjb25k
cyBpbnRlcnZhbCkgeyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBpbnRlcnZh
bDsgfQorICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpIGNvbnN0
IHsgcmV0dXJuIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsgfQogCiAgICAgLy8g
Q2FsbHMgdG8gcHV0IHRoZSBjYWNoZWQgcmVzb3VyY2UgaW50byBhbmQgb3V0IG9mIExSVSBsaXN0
cy4KICAgICB2b2lkIGluc2VydEluTFJVTGlzdChDYWNoZWRSZXNvdXJjZSYpOwpAQCAtMTk5LDcg
KzE5OSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9jYXBhY2l0eTsKICAgICB1bnNpZ25l
ZCBtX21pbkRlYWRDYXBhY2l0eTsKICAgICB1bnNpZ25lZCBtX21heERlYWRDYXBhY2l0eTsKLSAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbDsKKyAgICBTZWNvbmRzIG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAog
ICAgIHVuc2lnbmVkIG1fbGl2ZVNpemU7IC8vIFRoZSBudW1iZXIgb2YgYnl0ZXMgY3VycmVudGx5
IGNvbnN1bWVkIGJ5ICJsaXZlIiByZXNvdXJjZXMgaW4gdGhlIGNhY2hlLgogICAgIHVuc2lnbmVk
IG1fZGVhZFNpemU7IC8vIFRoZSBudW1iZXIgb2YgYnl0ZXMgY3VycmVudGx5IGNvbnN1bWVkIGJ5
ICJkZWFkIiByZXNvdXJjZXMgaW4gdGhlIGNhY2hlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAKaW5kZXggZWU0MzdlODYyOGViZjRlODYzMjdjYzc3MDMwZjVm
Njk0ZTMwYmIyZC4uMTVkYzMyY2FmMDhiZWVhNmZkOWNlNjczZjEwZjFkYTE4NzNjMjlhNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCkBAIC02Nyw3ICs2
Nyw3IEBAIHN0YXRpYyBjb25zdCBpbnQgY3VycmVudERhdGFiYXNlVmVyc2lvbiA9IDY7CiAvLyBJ
Y29ucyBleHBpcmUgb25jZSBldmVyeSA0IGRheXMKIHN0YXRpYyBjb25zdCBpbnQgaWNvbkV4cGly
YXRpb25UaW1lID0gNjAqNjAqMjQqNDsgCiAKLXN0YXRpYyBjb25zdCBpbnQgdXBkYXRlVGltZXJE
ZWxheSA9IDU7IAorc3RhdGljIGNvbnN0IFNlY29uZHMgdXBkYXRlVGltZXJEZWxheSA9IDVfczsK
IAogc3RhdGljIGJvb2wgY2hlY2tJbnRlZ3JpdHlPbk9wZW4gPSBmYWxzZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9sbGVyLmNwcAppbmRleCBhN2M3YTU4ZTdkMzE1
ZWRmYmY5YzUwZTBhODcxYzIwY2I3MmY0Y2EyLi4yNWVlYTVkMGQ4YzI3OTFmMmNhZDVmYWRmYjk3
NzIzNDQ0ZGViZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxDb250cm9s
bGVyLmNwcApAQCAtNDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29u
c3QgZG91YmxlIGF1dG9zY3JvbGxEZWxheSA9IDAuMjsKIAogLy8gV2hlbiB0aGUgYXV0b3Njcm9s
bCBvciB0aGUgcGFuU2Nyb2xsIGlzIHRyaWdnZXJlZCB3aGVuIGRvIHRoZSBzY3JvbGwgZXZlcnkg
MC4wNXMgdG8gbWFrZSBpdCBzbW9vdGgKLXN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9sbElu
dGVydmFsID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGF1dG9zY3JvbGxJbnRlcnZhbCA9
IDAuMDVfczsKIAogI2lmIEVOQUJMRShQQU5fU0NST0xMSU5HKQogc3RhdGljIEZyYW1lKiBnZXRN
YWluRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
YXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlcy5jcHAKaW5kZXggY2ZlYTEwYzRkOWNlZWEzNGNiZGZkMjEwYjUzZjcxYWE3
ZjgxYmU0NC4uMDAwMTJjMDU1ZDc1N2UwZGEwYWUzY2FkZTc5NDYzOGY0M2YwNDJkZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwCkBAIC03OSw3
ICs3OSw3IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlczo6bm90aWZ5KCkKIAogICAgIG1f
aGF2ZVByZWZlcmVuY2VzID0gdHJ1ZTsKICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OkNhcHRpb25EaXNwbGF5TW9k
ZSBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpjYXB0aW9uRGlzcGxheU1vZGUoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFB
Ri5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFG
LmNwcAppbmRleCA5OGIyMmJhZmUyY2ZiYmQ2YTBjMjE5MTEyMzUwZTdjOTA3MGZiMjU4Li41ZDZj
ZDQ5Mzg0NWNkYmU4MmIzMWQyMGY1ZWVmZDE2NjE0NDU4OTg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcApAQCAtMjQ2
LDcgKzI0Niw3IEBAIHZvaWQgQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OnNldEludGVy
ZXN0ZWRJbkNhcHRpb25QcmVmZXJlbmNlQ2hhbmdlcygpCiAKICAgICAvLyBHZW5lcmF0aW5nIGFu
ZCByZWdpc3RlcmluZyB0aGUgY2FwdGlvbiBzdHlsZXNoZWV0IGNhbiBiZSBleHBlbnNpdmUgYW5k
IHRoaXMgbWV0aG9kIGlzIGNhbGxlZCBpbmRpcmVjdGx5IHdoZW4gdGhlIHBhcnNlciBjcmVhdGVz
IGFuIGF1ZGlvIG9yCiAgICAgLy8gdmlkZW8gZWxlbWVudCwgc28gZG8gaXQgYWZ0ZXIgYSBicmll
ZiBwYXVzZS4KLSAgICBtX3VwZGF0ZVN0eWxlU2hlZXRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6OmNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAppbmRleCBhOTY5ZDk0OGU3ZTM5YzAyNjljNWEzMGZm
OWNkMDE3YzkyZGQ5NThjLi4zMjQ3NjE3MzA1MjhiNDQzMDEwNzVkZGY5OTk2MGExZjNiYTQ0OGRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcApAQCAtNTEsOCArNTEsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIG1heEludGVydmFsRm9yVXNlckdlc3R1
cmVGb3J3YXJkaW5nID0gMTAwMG1zOyAvLyBPbmUgc2Vjb25kIG1hdGNoZXMgR2Vja28uCi1zdGF0
aWMgY29uc3QgYXV0byBtaW5JbnRlcnZhbEZvck5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlVGltZXJz
ID0gMTAwMG1zOyAvLyBFbXBpcmljYWxseSBkZXRlcm1pbmVkIHRvIG1heGltaXplIGJhdHRlcnkg
bGlmZS4KK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heEludGVydmFsRm9yVXNlckdlc3R1cmVGb3J3
YXJkaW5nID0gMV9zOyAvLyBPbmUgc2Vjb25kIG1hdGNoZXMgR2Vja28uCitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBtaW5JbnRlcnZhbEZvck5vblVzZXJPYnNlcnZhYmxlQ2hhbmdlVGltZXJzID0gMV9z
OyAvLyBFbXBpcmljYWxseSBkZXRlcm1pbmVkIHRvIG1heGltaXplIGJhdHRlcnkgbGlmZS4KIHN0
YXRpYyBjb25zdCBpbnQgbWF4VGltZXJOZXN0aW5nTGV2ZWwgPSA1OwogCiBjbGFzcyBET01UaW1l
ckZpcmVTdGF0ZSB7CkBAIC0xNjAsMTQgKzE2MCwxNCBAQCBwcml2YXRlOgogCiBib29sIE5lc3Rl
ZFRpbWVyc01hcDo6aXNUcmFja2luZ05lc3RlZFRpbWVycyA9IGZhbHNlOwogCi1zdGF0aWMgaW5s
aW5lIGJvb2wgc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgaW50ZXJ2YWwsIGludCBuZXN0aW5nTGV2ZWwpCitzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxk
Rm9yd2FyZFVzZXJHZXN0dXJlKFNlY29uZHMgaW50ZXJ2YWwsIGludCBuZXN0aW5nTGV2ZWwpCiB7
CiAgICAgcmV0dXJuIFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUo
KQogICAgICAgICAmJiBpbnRlcnZhbCA8PSBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2Fy
ZGluZwogICAgICAgICAmJiAhbmVzdGluZ0xldmVsOyAvLyBHZXN0dXJlcyBzaG91bGQgbm90IGJl
IGZvcndhcmRlZCB0byBuZXN0ZWQgdGltZXJzLgogfQogCi1zdGF0aWMgaW5saW5lIFJlZlB0cjxV
c2VyR2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgaW50ZXJ2YWwsIGludCBuZXN0aW5nTGV2ZWwpCitzdGF0aWMgaW5saW5lIFJl
ZlB0cjxVc2VyR2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKFNlY29uZHMg
aW50ZXJ2YWwsIGludCBuZXN0aW5nTGV2ZWwpCiB7CiAgICAgaWYgKCFzaG91bGRGb3J3YXJkVXNl
ckdlc3R1cmUoaW50ZXJ2YWwsIG5lc3RpbmdMZXZlbCkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwpAQCAtMTc1LDEyICsxNzUsMTEgQEAgc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVU
b2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWkKICAgICByZXR1
cm4gVXNlckdlc3R1cmVJbmRpY2F0b3I6OmN1cnJlbnRVc2VyR2VzdHVyZSgpOwogfQogCi1ET01U
aW1lcjo6RE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlx
dWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsLCBib29sIHNpbmdsZVNob3QpCitET01UaW1lcjo6RE9NVGltZXIoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4g
YWN0aW9uLCBTZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpCiAgICAgOiBTdXNwZW5k
YWJsZVRpbWVyKGNvbnRleHQpCiAgICAgLCBtX25lc3RpbmdMZXZlbChjb250ZXh0LnRpbWVyTmVz
dGluZ0xldmVsKCkpCiAgICAgLCBtX2FjdGlvbihXVEZNb3ZlKGFjdGlvbikpCiAgICAgLCBtX29y
aWdpbmFsSW50ZXJ2YWwoaW50ZXJ2YWwpCi0gICAgLCBtX3Rocm90dGxlU3RhdGUoVW5kZXRlcm1p
bmVkKQogICAgICwgbV9jdXJyZW50VGltZXJJbnRlcnZhbChpbnRlcnZhbENsYW1wZWRUb01pbmlt
dW0oKSkKICAgICAsIG1fdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZCh1c2VyR2VzdHVyZVRva2Vu
VG9Gb3J3YXJkKGludGVydmFsLCBtX25lc3RpbmdMZXZlbCkpCiB7CkBAIC0yMDEsNyArMjAwLDcg
QEAgRE9NVGltZXI6On5ET01UaW1lcigpCiB7CiB9CiAKLWludCBET01UaW1lcjo6aW5zdGFsbChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVk
QWN0aW9uPiBhY3Rpb24sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBz
aW5nbGVTaG90KQoraW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vjb25k
cyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpCiB7CiAgICAgLy8gRE9NVGltZXIgY29uc3RydWN0
b3IgcGFzc2VzIG93bmVyc2hpcCBvZiB0aGUgaW5pdGlhbCByZWYgb24gdGhlIG9iamVjdCB0byB0
aGUgY29uc3RydWN0b3IuCiAgICAgLy8gVGhpcyByZWZlcmVuY2Ugd2lsbCBiZSByZWxlYXNlZCBh
dXRvbWF0aWNhbGx5IHdoZW4gYSBvbmUtc2hvdCB0aW1lciBmaXJlcywgd2hlbiB0aGUgY29udGV4
dApAQCAtMjEwLDcgKzIwOSw3IEBAIGludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkCiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIGlmIChpczxEb2N1bWVudD4oY29udGV4dCkpIHsKICAgICAgICAgYm9vbCBk
aWREZWZlclRpbWVvdXQgPSBjb250ZXh0LmFjdGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQoKTsK
LSAgICAgICAgaWYgKCFkaWREZWZlclRpbWVvdXQgJiYgdGltZW91dC5jb3VudCgpIDw9IDEwMCAm
JiBzaW5nbGVTaG90KSB7CisgICAgICAgIGlmICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQg
PD0gMTAwX21zICYmIHNpbmdsZVNob3QpIHsKICAgICAgICAgICAgIFdLU2V0T2JzZXJ2ZWRDb250
ZW50Q2hhbmdlKFdLQ29udGVudEluZGV0ZXJtaW5hdGVDaGFuZ2UpOwogICAgICAgICAgICAgV2Vi
VGhyZWFkQWRkT2JzZXJ2ZWRDb250ZW50TW9kaWZpZXIodGltZXIpOyAvLyBXaWxsIG9ubHkgdGFr
ZSBhZmZlY3QgaWYgbm90IGFscmVhZHkgdmlzaWJpbGl0eSBjaGFuZ2UuCiAgICAgICAgIH0KQEAg
LTIxOCw3ICsyMTcsNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2VuZGlmCiAKICAgICB0
aW1lci0+c3VzcGVuZElmTmVlZGVkKCk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGltZXItPm1fdGltZW91dElkLCB0aW1lb3V0LCBzaW5n
bGVTaG90KTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc3RhbGxUaW1lcihj
b250ZXh0LCB0aW1lci0+bV90aW1lb3V0SWQsIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KHRp
bWVvdXQudmFsdWUoKSkpLCBzaW5nbGVTaG90KTsKIAogICAgIC8vIEtlZXAgdHJhY2sgb2YgbmVz
dGVkIHRpbWVyIGluc3RhbGxzLgogICAgIGlmIChOZXN0ZWRUaW1lcnNNYXAqIG5lc3RlZFRpbWVy
cyA9IE5lc3RlZFRpbWVyc01hcDo6aW5zdGFuY2VGb3JDb250ZXh0KGNvbnRleHQpKQpAQCAtMzk5
LDIxICszOTgsMjEgQEAgdm9pZCBET01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNz
YXJ5KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHJlcGVhdEludGVydmFsKCkpIHsKLSAg
ICAgICAgQVNTRVJUKHJlcGVhdEludGVydmFsTVMoKSA9PSBwcmV2aW91c0ludGVydmFsKTsKLSAg
ICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBlYXQgaW50
ZXJ2YWwgZnJvbSAlIiBQUklkNjQgIiBtcyB0byAlIiBQUklkNjQgIiBtcyBkdWUgdG8gdGhyb3R0
bGluZy4iLCB0aGlzLCBwcmV2aW91c0ludGVydmFsLmNvdW50KCksIG1fY3VycmVudFRpbWVySW50
ZXJ2YWwuY291bnQoKSk7CisgICAgICAgIEFTU0VSVChyZXBlYXRJbnRlcnZhbCgpID09IHByZXZp
b3VzSW50ZXJ2YWwpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIHJlcGVhdCBpbnRlcnZhbCBmcm9tICUuM2YgbXMgdG8gJS4zZiBtcyBkdWUgdG8gdGhy
b3R0bGluZy4iLCB0aGlzLCBwcmV2aW91c0ludGVydmFsLm1pbGxpc2Vjb25kcygpLCBtX2N1cnJl
bnRUaW1lckludGVydmFsLm1pbGxpc2Vjb25kcygpKTsKICAgICAgICAgYXVnbWVudFJlcGVhdElu
dGVydmFsKG1fY3VycmVudFRpbWVySW50ZXJ2YWwgLSBwcmV2aW91c0ludGVydmFsKTsKICAgICB9
IGVsc2UgewotICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01UaW1lcidz
IGZpcmUgaW50ZXJ2YWwgZnJvbSAlIiBQUklkNjQgIiBtcyB0byAlIiBQUklkNjQgIiBtcyBkdWUg
dG8gdGhyb3R0bGluZy4iLCB0aGlzLCBwcmV2aW91c0ludGVydmFsLmNvdW50KCksIG1fY3VycmVu
dFRpbWVySW50ZXJ2YWwuY291bnQoKSk7CisgICAgICAgIExPRyhET01UaW1lcnMsICIlcCAtIFVw
ZGF0aW5nIERPTVRpbWVyJ3MgZmlyZSBpbnRlcnZhbCBmcm9tICUuM2YgbXMgdG8gJS4zZiBtcyBk
dWUgdG8gdGhyb3R0bGluZy4iLCB0aGlzLCBwcmV2aW91c0ludGVydmFsLm1pbGxpc2Vjb25kcygp
LCBtX2N1cnJlbnRUaW1lckludGVydmFsLm1pbGxpc2Vjb25kcygpKTsKICAgICAgICAgYXVnbWVu
dEZpcmVJbnRlcnZhbChtX2N1cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7
CiAgICAgfQogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIERPTVRpbWVyOjppbnRlcnZh
bENsYW1wZWRUb01pbmltdW0oKSBjb25zdAorU2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFt
cGVkVG9NaW5pbXVtKCkgY29uc3QKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKTsKICAgICBBU1NFUlQobV9uZXN0aW5nTGV2ZWwgPD0gbWF4VGltZXJOZXN0aW5nTGV2ZWwp
OwogCi0gICAgYXV0byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFtcywgbV9vcmlnaW5hbEludGVydmFs
KTsKKyAgICBhdXRvIGludGVydmFsID0gc3RkOjptYXgoMV9tcywgbV9vcmlnaW5hbEludGVydmFs
KTsKIAogICAgIC8vIE9ubHkgYXBwbHkgdGhyb3R0bGluZyB0byByZXBlYXRpbmcgdGltZXJzLgog
ICAgIGlmIChtX25lc3RpbmdMZXZlbCA8IG1heFRpbWVyTmVzdGluZ0xldmVsKQpAQCAtNDI2LDE5
ICs0MjUsMjAgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxD
bGFtcGVkVG9NaW5pbXVtKCkgY29uc3QKICAgICByZXR1cm4gaW50ZXJ2YWw7CiB9CiAKLXN0ZDo6
b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4gRE9NVGltZXI6OmFsaWduZWRGaXJl
VGltZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGZpcmVUaW1lKSBjb25zdAorc3RkOjpvcHRp
b25hbDxNb25vdG9uaWNUaW1lPiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1Rp
bWUgZmlyZVRpbWUpIGNvbnN0CiB7Ci0gICAgYXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQoKS0+dGltZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZl
bCA+PSBtYXhUaW1lck5lc3RpbmdMZXZlbCk7Ci0gICAgaWYgKGFsaWdubWVudEludGVydmFsID09
IDBtcykKKyAgICBTZWNvbmRzIGFsaWdubWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT50aW1lckFsaWdubWVudEludGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVy
TmVzdGluZ0xldmVsKTsKKyAgICBpZiAoYWxpZ25tZW50SW50ZXJ2YWwgPT0gMF9zKQogICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIAorICAgIC8vIEZJWE1FOiBJcyBpdCBjb3JyZWN0
IHRvIGluaXRpYWxpemUgcmFuZG9taXplZFByb3BvcnRpb24ganVzdCBvbmNlPwogICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgcmFuZG9taXplZFByb3BvcnRpb24gPSByYW5kb21OdW1iZXIoKTsKIAot
ICAgIC8vIEZvcmNlIGFsaWdubWVudCB0byByYW5kb21pemVkQWxpZ25tZW50IGZyYWN0aW9uIG9m
IHRoZSB3YXkgYmV0d2VlbiBhbGlnbmVtbnRJbnRlcnZhbHMsIGUuZy4KKyAgICAvLyBGb3JjZSBh
bGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJldHdl
ZW4gYWxpZ25tZW50SW50ZXJ2YWxzLCBlLmcuCiAgICAgLy8gaWYgYWxpZ25tZW50SW50ZXJ2YWwg
aXMgMTAgYW5kIHJhbmRvbWl6ZWRBbGlnbm1lbnQgaXMgMC4zIHRoaXMgd2lsbCBhbGlnbiB0byAz
LCAxMywgMjMsIC4uLgotICAgIGF1dG8gcmFuZG9taXplZE9mZnNldCA9IHN0ZDo6Y2hyb25vOjpk
dXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KGFsaWdubWVudEludGVydmFs
ICogcmFuZG9taXplZFByb3BvcnRpb24pOwotICAgIGF1dG8gYWRqdXN0ZWRGaXJlVGltZSA9IGZp
cmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKLSAgICByZXR1cm4gYWRqdXN0ZWRGaXJlVGltZSAt
IChhZGp1c3RlZEZpcmVUaW1lICUgYWxpZ25tZW50SW50ZXJ2YWwpICsgYWxpZ25tZW50SW50ZXJ2
YWwgKyByYW5kb21pemVkT2Zmc2V0OworICAgIFNlY29uZHMgcmFuZG9taXplZE9mZnNldCA9IGFs
aWdubWVudEludGVydmFsICogcmFuZG9taXplZFByb3BvcnRpb247CisgICAgTW9ub3RvbmljVGlt
ZSBhZGp1c3RlZEZpcmVUaW1lID0gZmlyZVRpbWUgLSByYW5kb21pemVkT2Zmc2V0OworICAgIHJl
dHVybiBhZGp1c3RlZEZpcmVUaW1lIC0gU2Vjb25kcyhmbW9kKGFkanVzdGVkRmlyZVRpbWUuc2Vj
b25kc1NpbmNlRXBvY2goKS52YWx1ZSgpLCBhbGlnbm1lbnRJbnRlcnZhbC52YWx1ZSgpKSkgKyBh
bGlnbm1lbnRJbnRlcnZhbCArIHJhbmRvbWl6ZWRPZmZzZXQ7CiB9CiAKIGNvbnN0IGNoYXIqIERP
TVRpbWVyOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApp
bmRleCAzOWEwNDYxZGFlZWVlMjVlYWJhMzM5OTZlN2EwZGM4ZGQ5MWE2Nzg1Li44MjhiNjRiMDA5
YmIyMjE5MTVlYzdhZGJhNmFhNzQ4ZTFhZjY2NWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oCkBA
IC00NCwxMyArNDQsMTMgQEAgY2xhc3MgRE9NVGltZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxET01UaW1lcj4sIHB1YmxpYyBTdXNwZW5kYWJsZVRpbWVyIHsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5ET01UaW1lcigpOwogCi0gICAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpIHsgcmV0dXJuIDRtczsgfQotICAgIHN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJu
IDBtczsgfQotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGhpZGRlblBhZ2VB
bGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDEwMDBtczsgfQorICAgIHN0YXRpYyBTZWNvbmRz
IGRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0X21zOyB9CisgICAgc3RhdGljIFNl
Y29uZHMgZGVmYXVsdEFsaWdubWVudEludGVydmFsKCkgeyByZXR1cm4gMF9zOyB9CisgICAgc3Rh
dGljIFNlY29uZHMgaGlkZGVuUGFnZUFsaWdubWVudEludGVydmFsKCkgeyByZXR1cm4gMV9zOyB9
CiAKICAgICAvLyBDcmVhdGVzIGEgbmV3IHRpbWVyIG93bmVkIGJ5IHNwZWNpZmllZCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBzdGFydHMgaXQKICAgICAvLyBhbmQgcmV0dXJucyBpdHMgSWQuCi0g
ICAgc3RhdGljIGludCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lb3V0
LCBib29sIHNpbmdsZVNob3QpOworICAgIHN0YXRpYyBpbnQgaW5zdGFsbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgdGlt
ZW91dCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVCeUlkKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBpbnQgdGltZW91dElkKTsKIAogICAgIC8vIE5vdGlmeSB0aGF0
IHRoZSBpbnRlcnZhbCBtYXkgbmVlZCB1cGRhdGluZyAoZS5nLiBiZWNhdXNlIHRoZSBtaW5pbXVt
IGludGVydmFsCkBAIC02MCwxMCArNjAsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNj
cmlwdERpZEludGVyYWN0V2l0aFBsdWdpbihIVE1MUGx1Z0luRWxlbWVudCYpOwogCiBwcml2YXRl
OgotICAgIERPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8
U2NoZWR1bGVkQWN0aW9uPiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgYm9v
bCBzaW5nbGVTaG90KTsKKyAgICBET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3Rk
Ojp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4sIFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2lu
Z2xlU2hvdCk7CiAgICAgZnJpZW5kIGNsYXNzIEludGVybmFsczsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CisgICAgU2Vj
b25kcyBpbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdDsKIAogICAgIGJvb2wgaXNET01U
aW1lcnNUaHJvdHRsaW5nRW5hYmxlZChEb2N1bWVudCYpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRl
VGhyb3R0bGluZ1N0YXRlSWZOZWNlc3NhcnkoY29uc3QgRE9NVGltZXJGaXJlU3RhdGUmKTsKQEAg
LTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICAvLyBTdXNwZW5kYWJsZVRpbWVyCiAgICAgdm9p
ZCBmaXJlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkU3RvcCgpIG92ZXJyaWRlOwotICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0IG92ZXJyaWRlOworICAgIHN0ZDo6b3B0aW9u
YWw8TW9ub3RvbmljVGltZT4gYWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1RpbWUpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICBjb25zdCBjaGFyKiBh
Y3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC04NSwxMCArODUsMTAgQEAg
cHJpdmF0ZToKICAgICBpbnQgbV90aW1lb3V0SWQ7CiAgICAgaW50IG1fbmVzdGluZ0xldmVsOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IG1fYWN0aW9uOwotICAgIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgbV9vcmlnaW5hbEludGVydmFsOwotICAgIFRpbWVyVGhyb3R0
bGVTdGF0ZSBtX3Rocm90dGxlU3RhdGU7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBt
X2N1cnJlbnRUaW1lckludGVydmFsOworICAgIFNlY29uZHMgbV9vcmlnaW5hbEludGVydmFsOwor
ICAgIFNlY29uZHMgbV9jdXJyZW50VGltZXJJbnRlcnZhbDsKICAgICBSZWZQdHI8VXNlckdlc3R1
cmVUb2tlbj4gbV91c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkOworICAgIFRpbWVyVGhyb3R0bGVT
dGF0ZSBtX3Rocm90dGxlU3RhdGUgeyBVbmRldGVybWluZWQgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBlNDU3MGUxNGZhZmQ5
ZWZiMTkzMzY5M2ZhM2ViYmRjMmM3NGU0MzZmLi44M2YzNDJiMTk5ZWRhNDhkZTUyNjQ0YWExMTgz
ZWVmYWY3ZGYyZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC05NTgsNyArOTU4
LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gRE9NV2luZG93Ojpwb3N0TWVzc2FnZShSZWY8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIFYKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBtZXNz
YWdlLgogICAgIGF1dG8qIHRpbWVyID0gbmV3IFBvc3RNZXNzYWdlVGltZXIoKnRoaXMsIFdURk1v
dmUobWVzc2FnZSksIHNvdXJjZU9yaWdpbiwgc291cmNlLCBjaGFubmVscy5yZWxlYXNlUmV0dXJu
VmFsdWUoKSwgV1RGTW92ZSh0YXJnZXQpLCBXVEZNb3ZlKHN0YWNrVHJhY2UpKTsKLSAgICB0aW1l
ci0+c3RhcnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIAogICAg
IHJldHVybiB7IH07CiB9CkBAIC0xNjQ4LDcgKzE2NDgsNyBAQCBFeGNlcHRpb25PcjxpbnQ+IERP
TVdpbmRvdzo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rp
b24sCiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBp
ZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19F
UlIgfTsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0
aW9uKSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0
dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6
OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6
Y2xlYXJUaW1lb3V0KGludCB0aW1lb3V0SWQpCkBAIC0xNjgwLDcgKzE2ODAsNyBAQCBFeGNlcHRp
b25PcjxpbnQ+IERPTVdpbmRvdzo6c2V0SW50ZXJ2YWwoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxl
ZEFjdGlvbj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5W
QUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0
LCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZh
bHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0
aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2
b2lkIERPTVdpbmRvdzo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAKaW5kZXggM2MzODQzMDk1NjM0OTYyMmFlMmUxOWZk
NWI3NjAzODVjOTU5MDRjYy4uZWZlZjM2YmEwZjc5MjE5OTk2Mjc4NTU0YTJhOTU4YjU4YzYxZTU2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCkBAIC00OCw3ICs0
OCw3IEBAIHZvaWQgRGV2aWNlQ29udHJvbGxlcjo6YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcihET01X
aW5kb3cqIHdpbmRvdykKICAgICBpZiAoaGFzTGFzdERhdGEoKSkgewogICAgICAgICBtX2xhc3RF
dmVudExpc3RlbmVycy5hZGQod2luZG93KTsKICAgICAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAgaWYgKHdhc0VtcHR5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGU5NGE5MjU1MmM5OTZhNTM4ZTQ2Njgy
Y2ViMzFlMzUxOTFhMzMzN2EuLmJjNjcxZDMwMDQ3YjhiZThmNTMwNDk0NDliOWJiNzQzMGMxNTg2
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NiwxNSArMTU2LDE1
IEBAIHVzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKIC8vIFRoZSBhbW91bnQgb2YgdGltZSB0byB3
YWl0IGJlZm9yZSBzZW5kaW5nIGEgZmFrZSBtb3VzZSBldmVudCwgdHJpZ2dlcmVkCiAvLyBkdXJp
bmcgYSBzY3JvbGwuIFRoZSBzaG9ydCBpbnRlcnZhbCBpcyB1c2VkIGlmIHRoZSBjb250ZW50IHJl
c3BvbmRzIHRvIHRoZSBtb3VzZSBldmVudHMKIC8vIGluIGZha2VNb3VzZU1vdmVEdXJhdGlvblRo
cmVzaG9sZCBvciBsZXNzLCBvdGhlcndpc2UgdGhlIGxvbmcgaW50ZXJ2YWwgaXMgdXNlZC4KLWNv
bnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlRHVyYXRpb25UaHJlc2hvbGQgPSAwLjAxOwotY29uc3Qg
ZG91YmxlIGZha2VNb3VzZU1vdmVTaG9ydEludGVydmFsID0gMC4xOwotY29uc3QgZG91YmxlIGZh
a2VNb3VzZU1vdmVMb25nSW50ZXJ2YWwgPSAwLjI1OworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlRHVyYXRpb25UaHJlc2hvbGQgPSAwLjAxX3M7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1v
dmVTaG9ydEludGVydmFsID0gMC4xX3M7Citjb25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVMb25n
SW50ZXJ2YWwgPSAwLjI1X3M7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDVVJTT1JfU1VQUE9SVCkK
IC8vIFRoZSBhbW91bnQgb2YgdGltZSB0byB3YWl0IGZvciBhIGN1cnNvciB1cGRhdGUgb24gc3R5
bGUgYW5kIGxheW91dCBjaGFuZ2VzCiAvLyBTZXQgdG8gNTBIeiwgbm8gbmVlZCB0byBiZSBmYXN0
ZXIgdGhhbiBjb21tb24gc2NyZWVuIHJlZnJlc2ggcmF0ZQotY29uc3QgZG91YmxlIGN1cnNvclVw
ZGF0ZUludGVydmFsID0gMC4wMjsKK2NvbnN0IFNlY29uZHMgY3Vyc29yVXBkYXRlSW50ZXJ2YWwg
PSAwLjAyX3M7CiAKIGNvbnN0IGludCBtYXhpbXVtQ3Vyc29yU2l6ZSA9IDEyODsKICNlbmRpZgpA
QCAtMTkzLDIwICsxOTMsMjAgQEAgcHJpdmF0ZToKIAogY2xhc3MgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlciB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgTWF4aW11bUR1cmF0aW9uVHJhY2tlcihkb3Vi
bGUgKm1heER1cmF0aW9uKQorICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNrZXIoU2Vj
b25kcyYgbWF4RHVyYXRpb24pCiAgICAgICAgIDogbV9tYXhEdXJhdGlvbihtYXhEdXJhdGlvbikK
LSAgICAgICAgLCBtX3N0YXJ0KG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKQorICAgICAg
ICAsIG1fc3RhcnQoTW9ub3RvbmljVGltZTo6bm93KCkpCiAgICAgewogICAgIH0KIAogICAgIH5N
YXhpbXVtRHVyYXRpb25UcmFja2VyKCkKICAgICB7Ci0gICAgICAgICptX21heER1cmF0aW9uID0g
c3RkOjptYXgoKm1fbWF4RHVyYXRpb24sIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0g
bV9zdGFydCk7CisgICAgICAgIG1fbWF4RHVyYXRpb24gPSBzdGQ6Om1heChtX21heER1cmF0aW9u
LCBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fc3RhcnQpOwogICAgIH0KIAogcHJpdmF0ZToKLSAg
ICBkb3VibGUqIG1fbWF4RHVyYXRpb247Ci0gICAgZG91YmxlIG1fc3RhcnQ7CisgICAgU2Vjb25k
cyYgbV9tYXhEdXJhdGlvbjsKKyAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnQ7CiB9OwogCiAjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgIUVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQpAQCAtNDYy
LDcgKzQ2Miw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVhcigpCiAgICAgbV9vcmlnaW5hdGlu
Z1RvdWNoUG9pbnREb2N1bWVudCA9IG51bGxwdHI7CiAgICAgbV9vcmlnaW5hdGluZ1RvdWNoUG9p
bnRUYXJnZXRLZXkgPSAwOwogI2VuZGlmCi0gICAgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24gPSAw
OworICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uID0gMF9zOwogICAgIG1fYmFzZUV2ZW50VHlw
ZSA9IFBsYXRmb3JtRXZlbnQ6Ok5vVHlwZTsKICAgICBtX2RpZFN0YXJ0RHJhZyA9IGZhbHNlOwog
fQpAQCAtMTgyMCw3ICsxODIwLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6Om1vdXNlTW92ZWQoY29u
c3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKIHsKICAgICBSZWY8RnJhbWU+IHByb3RlY3Rl
ZEZyYW1lKG1fZnJhbWUpOwogICAgIFJlZlB0cjxGcmFtZVZpZXc+IHByb3RlY3RvcihtX2ZyYW1l
LnZpZXcoKSk7Ci0gICAgTWF4aW11bUR1cmF0aW9uVHJhY2tlciBtYXhEdXJhdGlvblRyYWNrZXIo
Jm1fbWF4TW91c2VNb3ZlZER1cmF0aW9uKTsKKyAgICBNYXhpbXVtRHVyYXRpb25UcmFja2VyIG1h
eER1cmF0aW9uVHJhY2tlcihtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CiAKICAgICBpZiAobV9m
cmFtZS5tYWluRnJhbWUoKS5wYWdlT3ZlcmxheUNvbnRyb2xsZXIoKS5oYW5kbGVNb3VzZUV2ZW50
KGV2ZW50KSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0yODk4LDcgKzI4OTgsNyBAQCBib29s
IEV2ZW50SGFuZGxlcjo6c2VuZENvbnRleHRNZW51RXZlbnRGb3JLZXkoKQogdm9pZCBFdmVudEhh
bmRsZXI6OnNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX2hvdmVyVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV9ob3ZlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKENV
UlNPUl9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggOWJjYWM3MmM3
ZTIxNjMyMTA5MTVmNzJjMWY4M2VkOTVhMGRlYzkzMy4uYTdhOTFmNjY3ZjI2ZjkxNTNiMzY4OWI2
YTJkNTJhNjk0ODhmNjE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC01NzAs
NyArNTcwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdG91Y2hQcmVzc2VkIHsgZmFsc2UgfTsK
ICNlbmRpZgogCi0gICAgZG91YmxlIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uIHsgMCB9OworICAg
IFNlY29uZHMgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb247CiAgICAgUGxhdGZvcm1FdmVudDo6VHlw
ZSBtX2Jhc2VFdmVudFR5cGUgeyBQbGF0Zm9ybUV2ZW50OjpOb1R5cGUgfTsKICAgICBib29sIG1f
ZGlkU3RhcnREcmFnIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNIYW5kbGluZ1doZWVsRXZlbnQg
eyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAppbmRleCBkNTU1NWVkMmMw
ZmI1N2I5NjNiN2I2MDAyMTk4NzE3MTI2ZjY1ZmQ3Li5iN2EwNGY0ODVmODljOGM4OWRjZGZjZmFl
ZDFkMTkzYTlmZGM5OTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApAQCAtNDcs
NyArNDcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IHVpbnQ2NF90IEV2ZW50
U291cmNlOjpkZWZhdWx0UmVjb25uZWN0RGVsYXkgPSAzMDAwOworY29uc3QgU2Vjb25kcyBFdmVu
dFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gM19zOwogCiBpbmxpbmUgRXZlbnRTb3Vy
Y2U6OkV2ZW50U291cmNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBJbml0JiBldmVudFNvdXJjZUluaXQpCiAgICAgOiBBY3RpdmVET01PYmpl
Y3QoJmNvbnRleHQpCkBAIC0xMzIsMTMgKzEzMiwxMyBAQCB2b2lkIEV2ZW50U291cmNlOjpzY2hl
ZHVsZUluaXRpYWxDb25uZWN0KCkKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBDT05ORUNUSU5HKTsK
ICAgICBBU1NFUlQoIW1fcmVxdWVzdEluRmxpZ2h0KTsKIAotICAgIG1fY29ubmVjdFRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBFdmVudFNvdXJjZTo6c2NoZWR1bGVSZWNvbm5lY3QoKQogewogICAgIG1fc3RhdGUg
PSBDT05ORUNUSU5HOwotICAgIG1fY29ubmVjdFRpbWVyLnN0YXJ0T25lU2hvdChtX3JlY29ubmVj
dERlbGF5IC8gMTAwMC4wKTsKKyAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9yZWNv
bm5lY3REZWxheSk7CiAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5lcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKIH0KIApAQCAtMzU1LDkgKzM1NSw5IEBAIHZv
aWQgRXZlbnRTb3VyY2U6OnBhcnNlRXZlbnRTdHJlYW1MaW5lKHVuc2lnbmVkIHBvc2l0aW9uLCBz
dGQ6Om9wdGlvbmFsPHVuc2lnbmVkCiAgICAgICAgICAgICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5
IHdhbnQgdG8gaWdub3JlIHRyYWlsaW5nIGdhcmJhZ2UgaGVyZT8gU2hvdWxkIHdlIGJlIHVzaW5n
IHRoZSBzdHJpY3QgdmVyc2lvbiBpbnN0ZWFkPwogICAgICAgICAgICAgLy8gRklYTUU6IElmIHdl
IGNhbid0IHBhcnNlIHRoZSB2YWx1ZSwgc2hvdWxkIHdlIGxlYXZlIG1fcmVjb25uZWN0RGVsYXkg
YWxvbmUgb3Igc2V0IGl0IHRvIGRlZmF1bHRSZWNvbm5lY3REZWxheT8KICAgICAgICAgICAgIGJv
b2wgb2s7Ci0gICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5ID0gY2hhcmFjdGVyc1RvVUlu
dDY0KCZtX3JlY2VpdmVCdWZmZXJbcG9zaXRpb25dLCB2YWx1ZUxlbmd0aCwgJm9rKTsKKyAgICAg
ICAgICAgIGF1dG8gcmVjb25uZWN0RGVsYXlNUyA9IGNoYXJhY3RlcnNUb1VJbnQ2NCgmbV9yZWNl
aXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7CiAgICAgICAgICAgICBpZiAo
b2spCi0gICAgICAgICAgICAgICAgbV9yZWNvbm5lY3REZWxheSA9IHJlY29ubmVjdERlbGF5Owor
ICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNv
bmRzKHJlY29ubmVjdERlbGF5TVMpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5oCmluZGV4IDJiZTNmOWYxYjc1ZDM5ZDUzYjJmZTM5MTI5M2Y1OGNjMGYxODI3
ODIuLmE0ZTdkZDlhYzQ3NDMzMWM4YjdlM2ZlYTc2M2YwMTdlMjdjNjMwYTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmgKQEAgLTk4LDcgKzk4LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wg
cmVzcG9uc2VJc1ZhbGlkKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBjb25zdDsKIAotICAgIHN0
YXRpYyBjb25zdCB1aW50NjRfdCBkZWZhdWx0UmVjb25uZWN0RGVsYXk7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgZGVmYXVsdFJlY29ubmVjdERlbGF5OwogCiAgICAgVVJMIG1fdXJsOwogICAg
IGJvb2wgbV93aXRoQ3JlZGVudGlhbHM7CkBAIC0xMTUsNyArMTE1LDcgQEAgcHJpdmF0ZToKICAg
ICBWZWN0b3I8VUNoYXI+IG1fZGF0YTsKICAgICBTdHJpbmcgbV9jdXJyZW50bHlQYXJzZWRFdmVu
dElkOwogICAgIFN0cmluZyBtX2xhc3RFdmVudElkOwotICAgIHVpbnQ2NF90IG1fcmVjb25uZWN0
RGVsYXkgeyBkZWZhdWx0UmVjb25uZWN0RGVsYXkgfTsKKyAgICBTZWNvbmRzIG1fcmVjb25uZWN0
RGVsYXkgeyBkZWZhdWx0UmVjb25uZWN0RGVsYXkgfTsKICAgICBTdHJpbmcgbV9ldmVudFN0cmVh
bU9yaWdpbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAppbmRl
eCBhN2IyNTU3ZTY5NDZkYjllNTYxMTU3YWRmNzJjYzI4MjZlZmU4NzQ3Li43MmMzMzkxN2Y3ZmJi
MmIzY2Y4YzgxYTBkYTA4ZGIwZTQ3NTA0MjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0Nv
bnRyb2xsZXIuY3BwCkBAIC0xMDg4LDcgKzEwODgsNyBAQCBib29sIEZvY3VzQ29udHJvbGxlcjo6
YWR2YW5jZUZvY3VzRGlyZWN0aW9uYWxseShGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24sIEtleWJv
YQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQo
KQogewotICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAuMDMzKTsKKyAgICBt
X2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzM19zKTsKIH0KIAogdm9pZCBGb2N1
c0NvbnRyb2xsZXI6OmZvY3VzUmVwYWludFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApp
bmRleCAzN2ZiN2RhZjFmZDllMjk1NmJhZjUwZjFjYTVjOGFhOTNiZDBjMjQyLi41NWNmNDM2ZTY4
OTNhYTlmNWNjYmEwZWM2MzJiNzYzNWIxNzNhMDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAt
MTIyLDcgKzEyMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CiAKICNpZiBQTEFURk9STShJT1MpCi1jb25zdCB1bnNpZ25lZCBzY3JvbGxGcmVxdWVu
Y3kgPSAxMDAwIC8gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzY3JvbGxGcmVxdWVuY3kgPSBT
ZWNvbmRzKDEuMCAvIDYwKTsKICNlbmRpZgogCiBERUZJTkVfREVCVUdfT05MWV9HTE9CQUwoV1RG
OjpSZWZDb3VudGVkTGVha0NvdW50ZXIsIGZyYW1lQ291bnRlciwgKCJGcmFtZSIpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA1OTA5NmRkY2NkYjgzYWQ5M2QzZjhmMWMwNWFlZWM0
ZDY5OTcyMmMzLi4yMjE3YzRhY2QzMDk2ZjllOGJmZjNiZmQzMGVkY2QyOTJmNDNjOWIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xNTYwLDcgKzE1NjAsNyBAQCB2b2lkIEZyYW1l
Vmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogICAgICAgICAgICAgLy8gZGVmZXIgd2lk
Z2V0IHVwZGF0ZXMgYW5kIGV2ZW50IGRpc3BhdGNoIHVudGlsIGFmdGVyIHdlIHJldHVybi4gcG9z
dExheW91dFRhc2tzKCkKICAgICAgICAgICAgIC8vIGNhbiBtYWtlIHVzIG5lZWQgdG8gdXBkYXRl
IGFnYWluLCBhbmQgd2UgY2FuIGdldCBzdHVjayBpbiBhIG5hc3R5IGN5Y2xlIHVubGVzcwogICAg
ICAgICAgICAgLy8gd2UgY2FsbCBpdCB0aHJvdWdoIHRoZSB0aW1lciBoZXJlLgotICAgICAgICAg
ICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBt
X3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgaWYg
KG5lZWRzTGF5b3V0KCkpCiAgICAgICAgICAgICAgICAgbGF5b3V0KCk7CiAgICAgICAgIH0KQEAg
LTI0NDMsNyArMjQ0Myw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQo
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIG9sZFBvc2l0aW9uLCBjb25zdCBTCiAgICAgICAgIG1fZGVs
YXllZFNjcm9sbEV2ZW50VGltZXIuc3RvcCgpOwogICAgICAgICBzZW5kU2Nyb2xsRXZlbnQoKTsK
ICAgICB9IGVsc2UgaWYgKCFtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxpbmdE
ZWxheS52YWx1ZSgpKTsKKyAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdGFydE9u
ZVNob3QodGhyb3R0bGluZ0RlbGF5KTsKIAogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBm
cmFtZSgpLmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT5zZW5kV2lsbFJldmVhbEVkZ2VF
dmVudHNJZk5lZWRlZChvbGRQb3NpdGlvbiwgbmV3UG9zaXRpb24sIHZpc2libGVDb250ZW50UmVj
dCgpLCBjb250ZW50c1NpemUoKSk7CkBAIC0yODQxLDggKzI4NDEsNyBAQCB2b2lkIEZyYW1lVmll
dzo6ZW5hYmxlU3BlY3VsYXRpdmVUaWxpbmdJZk5lZWRlZCgpCiAgICAgaWYgKG1fc3BlY3VsYXRp
dmVUaWxpbmdFbmFibGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAgICAgLy8g
RGVsYXkgZW5hYmxpbmcgYSBiaXQgYXMgbG9hZCBjb21wbGV0aW9uIG1heSB0cmlnZ2VyIGZ1cnRo
ZXIgbG9hZGluZyBmcm9tIHNjcmlwdHMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBzcGVjdWxh
dGl2ZVRpbGluZ0VuYWJsZURlbGF5ID0gMC41OwotICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFi
bGVUaW1lci5zdGFydE9uZVNob3Qoc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSk7CisgICAg
bV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyLnN0YXJ0T25lU2hvdCgwLjVfcyk7CiB9CiAK
IHZvaWQgRnJhbWVWaWV3OjpzcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyRmlyZWQoKQpAQCAt
MzQzMCw3ICszNDI5LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0VGFza3Mo
KQogICAgIC8vIGlzIGNhbGxlZCB0aHJvdWdoIHRoZSBwb3N0IGxheW91dCB0aW1lci4KICAgICBS
ZWY8RnJhbWVWaWV3PiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIAotICAgIG1fdXBkYXRlRW1iZWRk
ZWRPYmplY3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlRW1iZWRkZWRPYmpl
Y3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBpZiAoYXV0byogcGFnZSA9IGZyYW1l
KCkucGFnZSgpKSB7CiAgICAgICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBh
Z2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA1ZmUyMWU3
MmQ0NGNhNjIyODJmNzg1MmFjMThmOWI3ZjY0NTc2ZWMwLi5kMDVkZTQzMzkyNWM4MGZjYTU0MjFk
Nzg0YmMyOTZlYjMzYWExMWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTEyNDMsNyArMTI0Myw3
IEBAIHZvaWQgUGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nU3RhdGUoVGltZXJUaHJvdHRsaW5nU3Rh
dGUgc3RhdGUpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fdGltZXJUaHJvdHRsaW5nU3RhdGUg
PSBzdGF0ZTsKLSAgICBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lID0gc3Rk
OjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgbV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgdXBkYXRlRE9N
VGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBAIC0xMjU2LDcgKzEyNTYsNyBAQCB2b2lkIFBh
Z2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0bGluZ1N0YXRlIHN0YXRlKQog
ICAgIH0KIH0KIAotdm9pZCBQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VM
aW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxpbWl0KQordm9pZCBQYWdlOjpzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogewogICAgIG1f
dGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgPSBsaW1pdDsKIApAQCAtMTI4NCw4
ICsxMjg0LDggQEAgdm9pZCBQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKCkK
ICAgICAgICAgaWYgKG1faXNQcmVyZW5kZXIpCiAgICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENo
YW5nZWRUaW1lLnRpbWVfc2luY2VfZXBvY2goKSAhPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
OjpkdXJhdGlvbjo6emVybygpKTsKLSAgICAgICAgICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZh
bCA9IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+
KHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZSk7CisgICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdT
dGF0ZUxhc3RDaGFuZ2VkVGltZSk7CisgICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2
YWwgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hh
bmdlZFRpbWU7CiAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBiZWxvdyB0aGUgbGltaXQsIHNldCB0
aGUgdGltZXIuIElmIGFib3ZlLCBjbGFtcCB0byBsaW1pdC4KICAgICAgICAgICAgIGlmIChtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWwgPCBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxp
bWl0KQogICAgICAgICAgICAgICAgIG5lZWRzSW5jcmVhc2VUaW1lciA9IHRydWU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCmluZGV4IDIyODM0ZmY3MDNiZjg4MWQ2YzI4N2M5ZGRiMzZlZDZkZWUxMjRiNGIuLjM1ZmE1
MTExYTBiMjYxYmM0ZTcwNWM1OGNjNDMwMTFiMDM3YTI5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0y
MjUsNyArMjI1LDcgQEAgcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlciYgcHJvZ3Jlc3MoKSBj
b25zdCB7IHJldHVybiAqbV9wcm9ncmVzczsgfQogICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlciYg
YmFja0ZvcndhcmQoKSBjb25zdCB7IHJldHVybiAqbV9iYWNrRm9yd2FyZENvbnRyb2xsZXI7IH0K
IAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZh
bCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsgfQorICAgIFNlY29u
ZHMgZG9tVGltZXJBbGlnbm1lbnRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXJBbGln
bm1lbnRJbnRlcnZhbDsgfQogCiAjaWYgRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAgICAg
ZW51bSBWaWV3TW9kZSB7CkBAIC01MjgsNyArNTI4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
U2hvd0FsbFBsdWdpbnMoYm9vbCBzaG93QWxsKSB7IG1fc2hvd0FsbFBsdWdpbnMgPSBzaG93QWxs
OyB9CiAgICAgYm9vbCBzaG93QWxsUGx1Z2lucygpIGNvbnN0OwogCi0gICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgYm9vbCBpc0NvbnRyb2xs
ZWRCeUF1dG9tYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb247
IH0KICAgICB2b2lkIHNldENvbnRyb2xsZWRCeUF1dG9tYXRpb24oYm9vbCBjb250cm9sbGVkKSB7
IG1fY29udHJvbGxlZEJ5QXV0b21hdGlvbiA9IGNvbnRyb2xsZWQ7IH0KQEAgLTY2NywxMCArNjY3
LDEwIEBAIHByaXZhdGU6CiAjZW5kaWYgLy8gRU5BQkxFKFZJRVdfTU9ERV9DU1NfTUVESUEpCiAK
ICAgICBUaW1lclRocm90dGxpbmdTdGF0ZSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlIHsgVGltZXJU
aHJvdHRsaW5nU3RhdGU6OkRpc2FibGVkIH07Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lIHsgc3Rk
OjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSB9OwotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsOworICAgIE1vbm90b25p
Y1RpbWUgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZTsKKyAgICBTZWNvbmRz
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKICAgICBUaW1lciBtX3RpbWVyQWxpZ25tZW50SW50
ZXJ2YWxJbmNyZWFzZVRpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV90aW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCB7IDAgfTsKKyAgICBTZWNvbmRzIG1fdGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQ7CiAKICAgICBib29sIG1faXNFZGl0YWJs
ZTsKICAgICBib29sIG1faXNQcmVyZW5kZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3Bw
CmluZGV4IGU3MGJjYTA1MjNmMGUzOTVmODc3ZmY2M2MxMmFhMzk1NTdhZGVkN2MuLmU5MDJiMDI1
OGQxZTE4OWE2MDAzMjI0ZmNkYTI0NjhkOWE0YmU3MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92
ZXJsYXkuY3BwCkBAIC0zOCw3ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRp
YyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkR1cmF0aW9uID0gMC4yOwotc3RhdGljIGNvbnN0
IGRvdWJsZSBmYWRlQW5pbWF0aW9uRnJhbWVSYXRlID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBmYWRlQW5pbWF0aW9uSW50ZXJ2YWwgPSBTZWNvbmRzKDEuMCAvIDMwKTsKIAogc3RhdGljIFBh
Z2VPdmVybGF5OjpQYWdlT3ZlcmxheUlEIGdlbmVyYXRlUGFnZU92ZXJsYXlJRCgpCiB7CkBAIC0y
NTAsNyArMjUwLDcgQEAgdm9pZCBQYWdlT3ZlcmxheTo6c3RvcEZhZGVPdXRBbmltYXRpb24oKQog
dm9pZCBQYWdlT3ZlcmxheTo6c3RhcnRGYWRlQW5pbWF0aW9uKCkKIHsKICAgICBtX2ZhZGVBbmlt
YXRpb25TdGFydFRpbWUgPSBjdXJyZW50VGltZSgpOwotICAgIG1fZmFkZUFuaW1hdGlvblRpbWVy
LnN0YXJ0UmVwZWF0aW5nKDEgLyBmYWRlQW5pbWF0aW9uRnJhbWVSYXRlKTsKKyAgICBtX2ZhZGVB
bmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhmYWRlQW5pbWF0aW9uSW50ZXJ2YWwpOwogfQog
CiB2b2lkIFBhZ2VPdmVybGF5OjpmYWRlQW5pbWF0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCmluZGV4IDQ5MTc1ZmIwOGQyMzFkMTc4YTJkNWExZmJjZGFjN2ZhMWI3ZGVj
NWQuLjYyYzZiZWNlMGE5YTk3NzgzOWFkNmRjOTRkMjdhZWM4YTYyMDczYmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCkBAIC0xNjksMTUgKzE2OSwxNSBAQCBzdGF0aWMgY29uc3QgYm9vbCBk
ZWZhdWx0UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYK
IAogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRWaWRl
byA9IHRydWU7Ci0KIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRBbGxvd3NQaWN0dXJlSW5QaWN0
dXJlTWVkaWFQbGF5YmFjayA9IHRydWU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0SW5j
cmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgPSA1X3M7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgZGVmYXVsdEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5T
ZWNvbmRzID0gNTsKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKIHN0
YXRpYyBjb25zdCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gZmFsc2U7
CiAjZW5kaWYKKwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5zZXJ0RGVsZXRlRW5h
YmxlZCA9IHRydWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0VHJhaWxpbmdXaGl0
ZXNwYWNlRW5hYmxlZCA9IGZhbHNlOwogCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5n
czo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGlt
cG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRo
ZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8g
cmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBt
b3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1h
Z2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBw
cmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElG
cmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGRO
b3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRN
aW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaAppbmRleCAwYTk1N2VmZTBlZWQ5MWEwNDAwOWFlMTU3ZDU0MzY3ODlhZjRk
NGVmLi42ODYyOTM4Y2E1Njg4ZWI1MmY0Y2QyYTQ3MDQ2M2Q1M2ZmZjBiZjBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCkBAIC0xNjksOCArMTY5LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9vbCk7CiAgICAgYm9v
bCBuZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9uZWVk
c0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsgLy8g
SW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKS4KLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmltdW1ET01UaW1lckludGVydmFsKCkgY29uc3Qg
eyByZXR1cm4gbV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQorICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyk7IC8vIEluaXRpYWxpemVk
IHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCisgICAgU2Vjb25kcyBtaW5p
bXVtRE9NVGltZXJJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50
ZXJ2YWw7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TGF5b3V0SW50ZXJ2YWwoU2Vj
b25kcyk7CiAgICAgU2Vjb25kcyBsYXlvdXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5
b3V0SW50ZXJ2YWw7IH0KQEAgLTI0NCw4ICsyNDQsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHZvaWQgc2V0U2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVT
ZXR0ZXJzKGJvb2wpOwogICAgIHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NT
QXR0cmlidXRlU2V0dGVycygpOwogCi0gICAgdm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1l
bnRCZWZvcmVIaWRpbmdDb250cm9scyhkb3VibGUgdGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VN
b3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0gdGltZTsgfQotICAgIGRvdWJsZSB0aW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1f
dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KKyAgICB2b2lk
IHNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHMg
dGltZSkgeyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzID0g
dGltZTsgfQorICAgIFNlY29uZHMgdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9y
ZUhpZGluZ0NvbnRyb2xzOyB9CiAKICAgICBib29sIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNw
ZW5zaW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1
c3BlbnNpb25FbmFibGVkOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIaWRkZW5QYWdl
Q1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQoYm9vbCk7CkBAIC0zMjYsNyArMzI2LDcgQEAg
cHJpdmF0ZToKICAgICBjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEdlbmVyaWNGYW1pbGllcz4g
bV9mb250R2VuZXJpY0ZhbWlsaWVzOwogICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tp
bmdQb2xpY3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7CiAgICAgU2Vjb25kcyBtX2xheW91dElu
dGVydmFsOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5pbXVtRE9NVGltZXJJ
bnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7CiAKICAgICBT
RVRUSU5HU19NRU1CRVJfVkFSSUFCTEVTCiAKQEAgLTM0OSw3ICszNDksNyBAQCBwcml2YXRlOgog
I2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQgOiAx
OwogCi0gICAgZG91YmxlIG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHM7CisgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOwogCiAgICAgVGltZXIgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyOwog
ICAgIHZvaWQgaW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5pbgppbmRleCA1MTU3NmJhMzA2ODdiODY4NTQ0ZjQwMDgxOGUyZDM1YmE1YjIyMDIyLi4x
Nzc4YjJkOGQwZjU2ODc2OWU3NTg1OGVjMDgwMDdiMWRlYjA2MzUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaW4KQEAgLTcsNyArNyw3IEBAIGxvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCB0eXBlPVN0
cmluZwogZWRpdGFibGVMaW5rQmVoYXZpb3IgdHlwZT1FZGl0YWJsZUxpbmtCZWhhdmlvciwgaW5p
dGlhbD1FZGl0YWJsZUxpbmtEZWZhdWx0QmVoYXZpb3IKIHRleHREaXJlY3Rpb25TdWJtZW51SW5j
bHVzaW9uQmVoYXZpb3IgdHlwZT1UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9y
LCBpbml0aWFsPVRleHREaXJlY3Rpb25TdWJtZW51QXV0b21hdGljYWxseUluY2x1ZGVkCiBwZGZJ
bWFnZUNhY2hpbmdQb2xpY3kgdHlwZT1QREZJbWFnZUNhY2hpbmdQb2xpY3ksIGluaXRpYWwgPSBQ
REZJbWFnZUNhY2hpbmdEZWZhdWx0Ci1wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcyB0eXBl
PWRvdWJsZSwgaW5pdGlhbD0xCitwYXNzd29yZEVjaG9EdXJhdGlvbiB0eXBlPVNlY29uZHMsIGlu
aXRpYWw9MQogCiAjIFNldHMgdGhlIG1hZ25pZmljYXRpb24gdmFsdWUgZm9yIHZhbGlkYXRpb24g
bWVzc2FnZSB0aW1lci4gIElmIHRoZQogIyBtYWduaWZpY2F0aW9uIHZhbHVlIGlzIE4sIGEgdmFs
aWRhdGlvbiBtZXNzYWdlIGRpc2FwcGVhcnMgYXV0b21hdGljYWxseSBhZnRlcgpAQCAtMTQwLDcg
KzE0MCw3IEBAIG1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbSBpbml0aWFsPWRlZmF1bHRN
ZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20KIGludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0
dGVkIGluaXRpYWw9ZmFsc2UKIHBhc3N3b3JkRWNob0VuYWJsZWQgaW5pdGlhbD1mYWxzZQogc3Vw
cHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nIGluaXRpYWw9ZmFsc2UKLWluY3JlbWVudGFsUmVu
ZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzIHR5cGU9ZG91YmxlLCBpbml0aWFsPWRl
ZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcworaW5j
cmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQgdHlwZT1TZWNvbmRzLCBpbml0aWFs
PWRlZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dAogYmFja3NwYWNl
S2V5TmF2aWdhdGlvbkVuYWJsZWQgaW5pdGlhbD10cnVlCiBzaG91bGREaXNwbGF5U3VidGl0bGVz
IGluaXRpYWw9ZmFsc2UsIGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCiBzaG91bGREaXNwbGF5Q2Fw
dGlvbnMgaW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4IDc2NTgzYzEyYmE4MjkxYWFhNmFlNGJj
NWRmZGQ0NmIyNGM1NzY0MzUuLjI4NzYyODZjOGMwNzE4ZjgzNjJkYWJjMTVmMmJmM2Q0MTFkMGYy
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcApAQCAtMzMsMTAg
KzMzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTdXNwZW5kYWJsZVRpbWVyOjpTdXNwZW5k
YWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCiAgICAgOiBBY3RpdmVE
T01PYmplY3QoJmNvbnRleHQpCi0gICAgLCBtX3N1c3BlbmRlZChmYWxzZSkKLSAgICAsIG1fc2F2
ZWROZXh0RmlyZUludGVydmFsKDApCi0gICAgLCBtX3NhdmVkUmVwZWF0SW50ZXJ2YWwoMCkKLSAg
ICAsIG1fc2F2ZWRJc0FjdGl2ZShmYWxzZSkKIHsKIH0KIApAQCAtMTAxLDcgKzk3LDcgQEAgdm9p
ZCBTdXNwZW5kYWJsZVRpbWVyOjpjYW5jZWwoKQogICAgICAgICBtX3N1c3BlbmRlZCA9IGZhbHNl
OwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBl
YXRJbnRlcnZhbCkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoU2Vjb25k
cyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1l
ckJhc2U6OnN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsKTsKQEAgLTExMiwyNyArMTA4LDI3
IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdElu
dGVydmFsKQogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3Qo
ZG91YmxlIGludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QoU2Vj
b25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1lckJh
c2U6OnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgZWxzZSB7CiAgICAgICAgIG1fc2F2ZWRJ
c0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0RmlyZUludGVydmFsID0gaW50ZXJ2
YWw7Ci0gICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fc2F2ZWRS
ZXBlYXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiB9CiAKLWRvdWJsZSBTdXNwZW5kYWJsZVRpbWVy
OjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFN1c3BlbmRhYmxlVGltZXI6OnJlcGVh
dEludGVydmFsKCkgY29uc3QKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICByZXR1
cm4gVGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbCgpOwogICAgIGlmIChtX3NhdmVkSXNBY3RpdmUp
CiAgICAgICAgIHJldHVybiBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIDBfczsKIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50RmlyZUlu
dGVydmFsKGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJ
bnRlcnZhbChTZWNvbmRzIGRlbHRhKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAg
IFRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7CkBAIC0xNDEsMTEgKzEzNywx
MSBAQCB2b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRl
bHRhKQogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fc2F2ZWRJc0FjdGl2ZSA9IHRydWU7CiAgICAg
ICAgIG1fc2F2ZWROZXh0RmlyZUludGVydmFsID0gZGVsdGE7Ci0gICAgICAgIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDBfczsKICAg
ICB9CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFsKGRv
dWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudFJlcGVhdEludGVydmFs
KFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAgICAgVGltZXJC
YXNlOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3Bl
bmRhYmxlVGltZXIuaAppbmRleCBlMTVmMGE3MDkzNzg1MGEzYTY5MDFmNzIwYzVkZTFmNjA5OTEz
ODY0Li4xMzQ1NzUxODUyNGRkMjEyYTkyYjdmODU1NTE3ODFhMDM2NWQxOTMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDMsMTcgKzQzLDEyIEBAIHB1YmxpYzoK
ICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gVGltZXJCYXNlOjppc0FjdGl2ZSgp
IHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3RpdmUpOyB9CiAgICAgYm9vbCBpc1N1c3Bl
bmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVkOyB9CiAKLSAgICB2b2lkIHN0YXJ0UmVw
ZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91
YmxlIGludGVydmFsKTsKLSAgICBkb3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdDsKLSAgICB2
b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKTsKLSAgICB2b2lkIGF1Z21lbnRS
ZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpOworICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vj
b25kcyByZXBlYXRJbnRlcnZhbCk7CisgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRl
cnZhbCk7CisgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwogCi0gICAgdm9pZCBz
dGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7
IHN0YXJ0UmVwZWF0aW5nKG1zVG9TZWNvbmRzKHJlcGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lk
IHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0
T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZhbCkpOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyByZXBlYXRJbnRlcnZhbE1TKCkgY29uc3QgeyByZXR1cm4gc2Vjb25kc1RvTVMocmVw
ZWF0SW50ZXJ2YWwoKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRz
KGRlbHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtc1RvU2Vjb25kcyhk
ZWx0YSkpOyB9CisgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpOwor
ICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpOwogCiAgICAgdXNp
bmcgVGltZXJCYXNlOjpkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbDsKICAgICB1c2luZyBUaW1l
ckJhc2U6Om9wZXJhdG9yIG5ldzsKQEAgLTcxLDExICs2NiwxMSBAQCBwcml2YXRlOgogICAgIHZv
aWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBmaW5hbDsKICAgICB2b2lkIHJlc3VtZSgp
IGZpbmFsOwogCi0gICAgYm9vbCBtX3N1c3BlbmRlZDsKKyAgICBTZWNvbmRzIG1fc2F2ZWROZXh0
RmlyZUludGVydmFsOworICAgIFNlY29uZHMgbV9zYXZlZFJlcGVhdEludGVydmFsOwogCi0gICAg
ZG91YmxlIG1fc2F2ZWROZXh0RmlyZUludGVydmFsOwotICAgIGRvdWJsZSBtX3NhdmVkUmVwZWF0
SW50ZXJ2YWw7Ci0gICAgYm9vbCBtX3NhdmVkSXNBY3RpdmU7CisgICAgYm9vbCBtX3N1c3BlbmRl
ZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3NhdmVkSXNBY3RpdmUgeyBmYWxzZSB9OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9X
aGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50
VGVzdFRyaWdnZXIuY3BwCmluZGV4IDM5ODg3ZjEzNTIyOTQxMmUzZjAzNTIzZGY0YjU5N2JjZTM3
NjBjNzUuLmVmYmIzNmRlYTk2OTBlMTJiOGNiZmU1YjgzZTJmNWY5YzAyYmNhNDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAKQEAgLTYwLDcgKzYw
LDcgQEAgdm9pZCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0YXJ0
Tm90aWZpY2F0aW9uVGltZXIoc3RkOjpmdW5jdGkKICAgICB9CiAgICAgCiAgICAgaWYgKCFtX3Rl
c3RUcmlnZ2VyVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90ZXN0VHJpZ2dlclRpbWVyLnN0
YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIuc3Rh
cnRSZXBlYXRpbmcoU2Vjb25kcygxLjAgLyA2MCkpOwogfQogCiB2b2lkIFdoZWVsRXZlbnRUZXN0
VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJlYXNvbihTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXIgaWRl
bnRpZmllciwgRGVmZXJUZXN0VHJpZ2dlclJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDlh
NDZkZWI0MTFhZmM5YWNhYjE0ZDllNmNkN2E4MWRhZDJmNzVjZWQuLmE4NWJhYWE4OTYzYzZlYjBj
NGZjMzFkN2E0Mzk1M2U4ZmZmMmZhMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC00OCw4ICs0OCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBjQW5pbWF0aW9uVGlt
ZXJEZWxheSA9IDEuMCAvIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBjQmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lTm90U2V0ID0gLTE7CitzdGF0aWMgY29uc3QgYXV0byBhbmltYXRpb25UaW1lckRl
bGF5ID0gU2Vjb25kcygxLjAgLyA2MCk7CitzdGF0aWMgY29uc3QgZG91YmxlIGJlZ2luQW5pbWF0
aW9uVXBkYXRlVGltZU5vdFNldCA9IC0xOwogCiBjbGFzcyBBbmltYXRpb25Qcml2YXRlVXBkYXRl
QmxvY2sgewogcHVibGljOgpAQCAtNzEsNyArNzEsNyBAQCBBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUmIGZyYW1lKQogICAgIDogbV9h
bmltYXRpb25UaW1lcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRp
b25UaW1lckZpcmVkKQogICAgICwgbV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcigqdGhp
cywgJkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0
Y2hlckZpcmVkKQogICAgICwgbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fYmVnaW5BbmltYXRpb25V
cGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgLCBtX2JlZ2lu
QW5pbWF0aW9uVXBkYXRlVGltZShiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCiAgICAg
LCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQoMCkKICAgICAsIG1fd2FpdGluZ0ZvckFzeW5j
U3RhcnROb3RpZmljYXRpb24oZmFsc2UpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQpAQCAt
MTUyLDExICsxNTIsMTEgQEAgZG91YmxlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRh
dGVBbmltYXRpb25zKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQvKgogCiB2b2lkIEFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRl
ckVsZW1lbnQmIHJlbmRlcmVyKQogewotICAgIGRvdWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IDA7
CisgICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZTsKIAogICAgIGNvbnN0IENvbXBvc2l0ZUFu
aW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uID0gbV9jb21wb3NpdGVBbmltYXRpb25zLmdldCgm
cmVuZGVyZXIpOwogICAgIGlmICghY29tcG9zaXRlQW5pbWF0aW9uLT5pc1N1c3BlbmRlZCgpICYm
IGNvbXBvc2l0ZUFuaW1hdGlvbi0+aGFzQW5pbWF0aW9ucygpKQotICAgICAgICB0aW1lVG9OZXh0
U2VydmljZSA9IGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKTsKKyAgICAg
ICAgdGltZVRvTmV4dFNlcnZpY2UgPSBTZWNvbmRzKGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRv
TmV4dFNlcnZpY2UoKSk7CiAKICAgICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpICYm
IChtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkgfHwgbV9hbmltYXRpb25UaW1lci5u
ZXh0RmlyZUludGVydmFsKCkgPD0gdGltZVRvTmV4dFNlcnZpY2UpKQogICAgICAgICByZXR1cm47
CkBAIC0xNjYsMTkgKzE2NiwyMCBAQCB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1
cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRlckVsZW1lbnQmCiAKIHZvaWQgQW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQg
Y2FsbFNldENoYW5nZWQvKiA9IERvTm90Q2FsbFNldENoYW5nZWQqLykKIHsKLSAgICBkb3VibGUg
dGltZVRvTmV4dFNlcnZpY2UgPSB1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKTsKKyAg
ICAvLyBGSVhNRTogTmVlZCB0byBjb252ZXJ0IHJlc3Qgb2YgYW5pbWF0aW9ucyBjb2RlIHRvIFNl
Y29uZHMgYW5kIE1vbm90b25pY1RpbWUuCisgICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZSA9
IFNlY29uZHModXBkYXRlQW5pbWF0aW9ucyhjYWxsU2V0Q2hhbmdlZCkpOwogCi0gICAgTE9HKEFu
aW1hdGlvbnMsICJ1cGRhdGVBbmltYXRpb25UaW1lcjogdGltZVRvTmV4dFNlcnZpY2UgaXMgJS4y
ZiIsIHRpbWVUb05leHRTZXJ2aWNlKTsKKyAgICBMT0coQW5pbWF0aW9ucywgInVwZGF0ZUFuaW1h
dGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAlLjJmbXMiLCB0aW1lVG9OZXh0U2Vydmlj
ZS5taWxsaXNlY29uZHMoKSk7CiAKICAgICAvLyBJZiB3ZSB3YW50IHNlcnZpY2UgaW1tZWRpYXRl
bHksIHdlIHN0YXJ0IGEgcmVwZWF0aW5nIHRpbWVyIHRvIHJlZHVjZSB0aGUgb3ZlcmhlYWQgb2Yg
c3RhcnRpbmcKICAgICBpZiAoIXRpbWVUb05leHRTZXJ2aWNlKSB7Ci0gICAgICAgIGlmICghbV9h
bmltYXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8IG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2
YWwoKSA9PSAwKQotICAgICAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydFJlcGVhdGluZyhj
QW5pbWF0aW9uVGltZXJEZWxheSk7CisgICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0Fj
dGl2ZSgpIHx8ICFtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkpCisgICAgICAgICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGFuaW1hdGlvblRpbWVyRGVsYXkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgLy8gSWYgd2UgZG9uJ3QgbmVlZCBzZXJ2aWNl
LCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgdGltZXIgaXMgbm8gbG9uZ2VyIHJ1bm5pbmcKLSAg
ICBpZiAodGltZVRvTmV4dFNlcnZpY2UgPCAwKSB7CisgICAgaWYgKHRpbWVUb05leHRTZXJ2aWNl
IDwgMF9zKSB7CiAgICAgICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkpCiAgICAg
ICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjIy
LDcgKzIyMyw3IEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmZpcmVFdmVudHNB
bmRVcGRhdGVTdHlsZSgpCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFydFVw
ZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlU3R5bGVJ
Zk5lZWRlZERpc3BhdGNoZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVTdHlsZUlmTmVl
ZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlU3R5bGVJZk5l
ZWRlZERpc3BhdGNoZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OmFkZEV2ZW50VG9EaXNwYXRjaChQYXNzUmVmUHRyPEVsZW1lbnQ+IGVs
ZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGRvdWJsZSBlbGFwc2VkVGltZSkKQEAgLTM4NCw3ICszODUsNyBAQCBib29sIEFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUoUmVuZGVyRWxlbWVudCogcmVu
ZGVyZXIsCiBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSgpCiB7CiAgICAgQVNTRVJUKG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCk7
Ci0gICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGNCZWdpbkFuaW1hdGlvblVw
ZGF0ZVRpbWVOb3RTZXQpCisgICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09IGJl
Z2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAgICAgICAgbV9iZWdpbkFuaW1hdGlvblVw
ZGF0ZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIAogICAgIHJldHVybiBt
X2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZTsKQEAgLTM5Myw3ICszOTQsNyBAQCBkb3VibGUgQW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpCiB2b2lk
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZSgpCiB7CiAg
ICAgaWYgKCFtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQpCi0gICAgICAgIHNldEJlZ2luQW5p
bWF0aW9uVXBkYXRlVGltZShjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KTsKKyAgICAg
ICAgc2V0QmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5v
dFNldCk7CiAgICAgKyttX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQ7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCBiMDM1MjcwODkxZDBjMjY4
OTkwMzYzYzRmZDBmNmQxNmEyNzFlMzY5Li4zNzhkZWIwYjE3ZmFhZWRjYjU4MzhiNjhiZjdjZTcy
OWUwZjNhNWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRs
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CkBAIC03OCw3ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNvbnN0IGRvdWJsZSBFdmVu
dEhhbmRsZXI6OlRleHREcmFnRGVsYXkgPSAwLjE1OwogI2VuZGlmCiAKLWNvbnN0IGRvdWJsZSBy
ZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQgPSAwLjE7Citjb25zdCBTZWNvbmRzIHJlc2V0TGF0Y2hl
ZFN0YXRlRGVsYXkgPSAwLjFfczsKIAogc3RhdGljIFJldGFpblB0cjxOU0V2ZW50PiYgY3VycmVu
dE5TRXZlbnRTbG90KCkKIHsKQEAgLTkyNCw3ICs5MjQsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
Y2xlYXJPclNjaGVkdWxlQ2xlYXJpbmdMYXRjaGVkU3RhdGVJZk5lZWRlZChjb25zdCBQbGF0Zm9y
bVdoZQogICAgIC8vIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlLiBJZiBpdCBkb2VzLCBzdG9wIHRo
ZSB0aW1lciwgbGVhdmluZyB0aGUgbGF0Y2hlZCBzdGF0ZSB1bnRvdWNoZWQuCiAgICAgaWYgKCFt
X3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuaXNBY3RpdmUoKSkgewogICAgICAgICBp
ZiAoZXZlbnQuaXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkpCi0gICAgICAgICAgICBtX3BlbmRp
bmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRl
VGltZW91dCk7CisgICAgICAgICAgICBtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIu
c3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIC8vIElmIGFub3RoZXIgd2hlZWwgZXZlbnQgc2Nyb2xsaW5nIHN0YXJ0cywgc3RvcCB0aGUg
dGltZXIgbWFudWFsbHksIGFuZCByZXNldCB0aGUgbGF0Y2hlZCBzdGF0ZSBpbW1lZGlhdGVseS4K
ICAgICAgICAgaWYgKGV2ZW50LnNob3VsZENvbnNpZGVyTGF0Y2hpbmcoKSkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCmluZGV4
IDU1ZTRkNjU5NWVlYjYwNTNmNmE2YTk0NTBiOWRhZWI4MTI4YzUyNzAuLjBiYjA5ODAwZjhmYWU3
YTFlNzI3Yzk0NGRlZGRiMWY2YTU2NmQyMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rpb25TZXJ2aWNlcygpOwogCiAgICAg
Ym9vbCBtb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmLCBib29sJiBtb3VzZUlzT3ZlckJ1
dHRvbikgY29uc3Q7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZW1haW5pbmdUaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCopIGNvbnN0OworICAgIFNlY29u
ZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bihIaWdobGlnaHQqKSBj
b25zdDsKICAgICB2b2lkIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdodFRpbWVyRmlyZWQoKTsKIAog
ICAgIHN0YXRpYyBib29sIGhpZ2hsaWdodHNBcmVFcXVpdmFsZW50KGNvbnN0IEhpZ2hsaWdodCog
YSwgY29uc3QgSGlnaGxpZ2h0KiBiKTsKQEAgLTE1MSw5ICsxNTEsOSBAQCBwcml2YXRlOgogCiAg
ICAgSGlnaGxpZ2h0OjpUeXBlIG1fZGlydHlIaWdobGlnaHRUeXBlcyB7IDAgfTsKIAotICAgIHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0U2VsZWN0aW9uQ2hhbmdl
VGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbmV4dEFj
dGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
dGltZV9wb2ludCBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdFNl
bGVjdGlvbkNoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0TW91c2VVcFRpbWU7CiAKICAg
ICBSZWZQdHI8SGlnaGxpZ2h0PiBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodDsK
ICAgICBJbnRQb2ludCBtX21vdXNlUG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQppbmRleCA5YTgxNWI1YWU1NTk2
NDk5YmRmNjE2ZWQ0MjExYjlhNTIzODE1ZTYyLi5lODg0OTI5NDZhNWJhZWUxNjk0ZTA0YzUyNjc2
OTc0NGViOTRlZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hhbmdlKGNvbnN0IFZlY3RvcjxM
YXlvdXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJlY3RzID0gcmVjdHM7CiAgICAgbV9p
c1RleHRPbmx5ID0gaXNUZXh0T25seTsKIAotICAgIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWUg
PSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3RTZWxlY3Rpb25D
aGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBjb21wYWN0UmVjdHNXaXRo
R2FwUmVjdHMobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMsIGdhcFJlY3RzKTsKIApAQCAtMzkxLDcg
KzM5MSw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6aW52YWxpZGF0ZUhpZ2hs
aWdodHNPZlR5cGUoSGlnaGxpZ2h0OjpUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fZGlydHlIaWdobGlnaHRUeXBlcyB8PSB0eXBlOwotICAgIG1fYnVpbGRIaWdobGlnaHRzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYnVpbGRIaWdobGlnaHRzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6YnVpbGRQb3Rl
bnRpYWxIaWdobGlnaHRzSWZOZWVkZWQoKQpAQCAtNDMzLDE1ICs0MzMsMTUgQEAgYm9vbCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmIGhp
Z2hsaWdodCwgYm9vbCYKICAgICByZXR1cm4gaG92ZXJlZDsKIH0KIAotc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxI
aWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAorU2Vjb25k
cyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25zdAogewogICAgIGlmICghaGln
aGxpZ2h0KQotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gMF9zOwogCi0gICAg
YXV0byBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDIwMG1zOworICAg
IFNlY29uZHMgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAwLjJfczsK
ICAgICBQYWdlKiBwYWdlID0gbV9tYWluRnJhbWUucGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBh
Z2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpLnNlbGVjdGlvbigpLnNl
bGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCi0gICAgICAgIG1pbmltdW1UaW1lVW50aWxI
aWdobGlnaHRTaG91bGRCZVNob3duID0gMTAwMG1zOworICAgICAgICBtaW5pbXVtVGltZVVudGls
SGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDFfczsKIAogICAgIGJvb2wgbW91c2VQcmVzc2VkID0g
bV9tYWluRnJhbWUuZXZlbnRIYW5kbGVyKCkubW91c2VQcmVzc2VkKCk7CiAKQEAgLTQ0OSwxNSAr
NDQ5LDE0IEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0CiAgICAgLy8gYnkgdmlydHVlIG9mIGJl
aW5nIGV4cGFuZGVkIHRvIGluY2x1ZGUgdGhlIGVudGlyZSB0ZWxlcGhvbmUgbnVtYmVyLiBIb3dl
dmVyLCB3ZSB3aWxsIHN0aWxsIGF2b2lkIGhpZ2hsaWdodGluZwogICAgIC8vIHRlbGVwaG9uZSBu
dW1iZXJzIHdoaWxlIHRoZSBtb3VzZSBpcyBkb3duLgogICAgIGlmIChoaWdobGlnaHQtPnR5cGUo
KSA9PSBIaWdobGlnaHQ6OlRlbGVwaG9uZU51bWJlclR5cGUpCi0gICAgICAgIHJldHVybiBtb3Vz
ZVByZXNzZWQgPyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA6IDBtczsK
KyAgICAgICAgcmV0dXJuIG1vdXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duIDogMF9zOwogCi0gICAgYXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5
X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAg
IGF1dG8gdGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSA9IG5vdyAtIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWU7CiAgICAgYXV0byB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUgPSBu
b3cgLSBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOwotICAgIGF1dG8gdGltZVNpbmNl
TGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwbXMgOiBub3cgLSBtX2xhc3RNb3VzZVVwVGlt
ZTsKKyAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91c2VQcmVzc2VkID8gMF9zIDog
bm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CiAKLSAgICBhdXRvIHJlbWFpbmluZ0RlbGF5ID0gbWlu
aW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0
aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3Rp
dmUpLCB0aW1lU2luY2VMYXN0TW91c2VVcCk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJh
dGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHJlbWFpbmluZ0RlbGF5KTsKKyAg
ICByZXR1cm4gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBzdGQ6Om1p
bihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VIaWdobGln
aHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VMYXN0TW91c2VVcCk7CiB9CiAKIHZvaWQgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgp
CkBAIC03MjMsNyArNzIyLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRl
cm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3RpdmUKICAgICAgICAgLy8g
aGlnaGxpZ2h0LCBhbmQgb25seSByZXNldCB0aGUgYWN0aXZlIGhpZ2hsaWdodCBoeXN0ZXJlc2lz
IHdoZW4gdGhhdCBjaGFuZ2VzLgogICAgICAgICBpZiAobV9uZXh0QWN0aXZlSGlnaGxpZ2h0ICE9
IG5ld0FjdGl2ZUhpZ2hsaWdodCkgewogICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0
ID0gbmV3QWN0aXZlSGlnaGxpZ2h0OwotICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0
Q2hhbmdlVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAgICAg
ICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygp
OwogICAgICAgICB9CiAKICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGln
aHQgPSBudWxscHRyOwpAQCAtNzM0LDcgKzczMyw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wmIG1vdXNlSXNPdmVyQWN0aXZl
CiAgICAgICAgIH0KIAogICAgICAgICBhdXRvIHJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNo
b3VsZEJlU2hvd24gPSB0aGlzLT5yZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNo
b3duKG5ld0FjdGl2ZUhpZ2hsaWdodC5nZXQoKSk7Ci0gICAgICAgIGlmIChyZW1haW5pbmdUaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID4gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
ZHVyYXRpb246Onplcm8oKSkgeworICAgICAgICBpZiAocmVtYWluaW5nVGltZVVudGlsSGlnaGxp
Z2h0U2hvdWxkQmVTaG93biA+IDBfcykgewogICAgICAgICAgICAgbV9kZXRlcm1pbmVBY3RpdmVI
aWdobGlnaHRUaW1lci5zdGFydE9uZVNob3QocmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hv
dWxkQmVTaG93bik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTc2Niw3ICs3
NjUsNyBAQCBib29sIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQoUGFnZU92
ZXJsYXkmLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbgogICAgICAgICBSZWZQdHI8SGlnaGxpZ2h0
PiBtb3VzZURvd25IaWdobGlnaHQgPSBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdo
dDsKICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRy
OwogCi0gICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6bm93KCk7CisgICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAKICAgICAgICAgaWYgKG1vdXNlSXNPdmVyQWN0aXZlSGlnaGxpZ2h0QnV0dG9uICYmIG1v
dXNlRG93bkhpZ2hsaWdodCkgewogICAgICAgICAgICAgaGFuZGxlQ2xpY2sobV9tb3VzZVBvc2l0
aW9uLCAqbW91c2VEb3duSGlnaGxpZ2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9U
ZXh0SW5kaWNhdG9yV2luZG93Lm1tCmluZGV4IGU0ZTIwZDIyNzY4Yzg4MmU5MDBiMTJiNDFmZTAy
ZWNkZmI0OGY2MjguLjUwNDRlYWY2MjA0YTNiYzJiOGRkZTZhZTRhODU5OWFiNTExNmIxYzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbQpAQCAt
NDc1LDcgKzQ3NSw3IEBAIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6c2V0VGV4dEluZGljYXRv
cihSZWY8VGV4dEluZGljYXRvcj4gdGV4dEluZGljYXRvciwgQ0dSCiAgICAgICAgIFttX3RleHRJ
bmRpY2F0b3JWaWV3IHByZXNlbnRdOwogCiAgICAgaWYgKGxpZmV0aW1lID09IFRleHRJbmRpY2F0
b3JXaW5kb3dMaWZldGltZTo6VGVtcG9yYXJ5KQotICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRp
Y2F0b3JUaW1lci5zdGFydE9uZVNob3QodGltZUJlZm9yZUZhZGVTdGFydHMpOworICAgICAgICBt
X3RlbXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyh0aW1lQmVm
b3JlRmFkZVN0YXJ0cykpOwogfQogCiB2b2lkIFRleHRJbmRpY2F0b3JXaW5kb3c6OmNsb3NlV2lu
ZG93KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFrZV9zZXR0aW5ncy5wbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFrZV9zZXR0aW5ncy5wbAppbmRleCBkYTMyMzRlZjc2MjRl
MjQyNTljYjgwM2M5MmMzNTliNjBiODAzMmJjLi5lNDdmMzMwZjkzZDRjNWY2NDkwNDBjYWFiMjM5
YzAxMDcwNzgzOGRlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21ha2Vfc2V0dGlu
Z3MucGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWtlX3NldHRpbmdzLnBsCkBAIC0zOSw2
ICszOSw3IEBAIG15ICV3ZWJjb3JlVHlwZVRvSWRsVHlwZSA9ICgKICAgICAnZG91YmxlJyA9PiAn
ZG91YmxlJywKICAgICAnZmxvYXQnID0+ICdmbG9hdCcsCiAgICAgJ1N0cmluZycgPT4gJ0RPTVN0
cmluZycsCisgICAgJ1NlY29uZHMnID0+ICdkb3VibGUnLAogICAgICdib29sJyA9PiAnYm9vbGVh
bicKICk7CiAKQEAgLTM1MSw2ICszNTIsMTIgQEAgc3ViIGVudW1lcmF0ZVBhcnNlZEl0ZW1zKCQk
JCkKICAgICB9CiB9CiAKK3N1YiBuZWVkc0N1c3RvbVNldHRlcigkKQoreworICAgIG15ICR0eXBl
ID0gc2hpZnQ7CisgICAgcmV0dXJuICR0eXBlIGVxICJTZWNvbmRzIjsKK30KKwogc3ViIGdlbmVy
YXRlSW50ZXJuYWxTZXR0aW5nc0lkbEZpbGUoJCkKIHsKICAgICBteSAkcGFyc2VkSXRlbXNSZWYg
PSBzaGlmdDsKQEAgLTM3MCw3ICszNzcsOCBAQCBzdWIgZ2VuZXJhdGVJbnRlcm5hbFNldHRpbmdz
SWRsRmlsZSgkKQogICAgICAgICBteSAkdHlwZSA9ICRwYXJzZWRJdGVtc3skc2V0dGluZ05hbWV9
eyJ0eXBlIn07CiAgICAgICAgIG15ICRpZGxUeXBlID0gJHdlYmNvcmVUeXBlVG9JZGxUeXBleyR0
eXBlfTsKICAgICAgICAgbXkgJHNldHRlckZ1bmN0aW9uTmFtZSA9IHNldHRlckZ1bmN0aW9uTmFt
ZSgkc2V0dGluZ05hbWUpOwotICAgICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1
bmN0aW9uTmFtZSgkaWRsVHlwZSAkc2V0dGluZ05hbWUpO1xuIjsKKyAgICAgICAgbXkgJGN1c3Rv
bSA9IG5lZWRzQ3VzdG9tU2V0dGVyKCR0eXBlKSA/ICJbQ3VzdG9tXSIgOiAiIjsKKyAgICAgICAg
cHJpbnQgJGZpbGUgIiAgICAkY3VzdG9tIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZSgkaWRsVHlw
ZSAkc2V0dGluZ05hbWUpO1xuIjsKICAgICB9OwogCiAgICAgZW51bWVyYXRlUGFyc2VkSXRlbXMo
JGZpbGUsICRwYXJzZWRJdGVtc1JlZiwgXCZ3cml0ZUlkbFNldHRlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwCmluZGV4IDIyYWIwZWM3NjZhMmE2ZGYzNWNjY2Q4ZDczMjM3NGUwNTdiZDBmZWQuLjUw
NGE4NDRhN2MzMTY2NmM0NDk3NDczNzMwZDVlZmI4OTMyYmMzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
OjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Njcm9sbChTY3IKICAgICB9
CiAKICAgICBtX3NjaGVkdWxlZFNjcm9sbFVwZGF0ZSA9IHNjcm9sbFVwZGF0ZTsKLSAgICBtX3Vw
ZGF0ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0
ZU5vZGVTY3JvbGxQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEFz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJBc3luY1Nj
cm9sbFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCmluZGV4IDRjY2Y0NDQyOWY5
OWUxMDlmODc1NWI5NDYwMTI2YmJjYTdlNWI5ZWEuLmVkMWQ3ZDYxMzlmMjA1MmI0YmQ4YTE2ODU3
NTA3ZDYxMjhmMDQyYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KQEAgLTg2LDcgKzg2LDcg
QEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQo
KQogICAgIGlmIChtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLmlzQWN0aXZlKCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6
OmNvbW1pdFRyZWVTdGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggZDQzZDk0YjI0
N2E2ZTRmOTM5NzQxNTgyNjE5N2MyYjBhZGYwNzE0OC4uNTNmNDBkNjAxNDRkMDk0ZjY4NTM1ZjQx
MzQ4OGZjNGY5MzA4ZjY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTAzLDcgKzEw
Myw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxlVHJlZVN0YXRlQ29t
bWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRl
clRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRl
clRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmlj
VGFza1F1ZXVlLmNwcAppbmRleCAxYWE3ZTFiODc2M2ZmMWI0N2RmYjhlMjEzOTQwNzY0NWViNzU1
ZWIyLi4zNzk0ZjFlZjFkMDFjZjVhZTYyMTFkYmU0NTg3MTk1M2E2MzRmMmFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNwcApAQCAtNDEsNyArNDEsNyBA
QCB2b2lkIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2soRnVuY3Rpb248dm9pZCgpPiYm
IGZ1bmN0aW9uKQogICAgIG1fcGVuZGluZ1Rhc2tzLmFwcGVuZChXVEZNb3ZlKGZ1bmN0aW9uKSk7
CiAgICAgcGVuZGluZ0Rpc3BhdGNoZXJzKCkuYXBwZW5kKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRl
V2Vha1B0cigpKTsKICAgICBpZiAoIXNoYXJlZFRpbWVyKCkuaXNBY3RpdmUoKSkKLSAgICAgICAg
c2hhcmVkVGltZXIoKS5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIHNoYXJlZFRpbWVyKCkuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIFRpbWVyJiBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnNoYXJl
ZFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgK
aW5kZXggMTI4ZWY4MjA5ZTJhNzQ4MzA5ZTA2MjgyMGVkYzgyMzk4MGMwYjJlMS4uYWQ0ZWI3N2Fl
NTdiZTMyYjM5Mzc4ZjM4MzA5OWI5M2Q0NThhZjc4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmgKQEAgLTMwLDcgKzMwLDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRIeXN0ZXJlc2lzU2Vjb25k
cyA9IDUuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIERlZmF1bHRIeXN0ZXJlc2lzSW50ZXJ2YWwg
PSA1X3M7CiAKIGVudW0gY2xhc3MgSHlzdGVyZXNpc1N0YXRlIHsKICAgICBTdGFydGVkLApAQCAt
MzksOSArMzksOSBAQCBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0ZSB7CiAKIGNsYXNzIEh5c3Rl
cmVzaXNBY3Rpdml0eSB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5
KHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBjYWxsYmFjayA9IFtdKEh5c3Rl
cmVzaXNTdGF0ZSkgeyB9LCBkb3VibGUgaHlzdGVyZXNpc1NlY29uZHMgPSBEZWZhdWx0SHlzdGVy
ZXNpc1NlY29uZHMpCisgICAgZXhwbGljaXQgSHlzdGVyZXNpc0FjdGl2aXR5KHN0ZDo6ZnVuY3Rp
b248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBjYWxsYmFjayA9IFtdKEh5c3RlcmVzaXNTdGF0ZSkg
eyB9LCBTZWNvbmRzIGh5c3RlcmVzaXNJbnRlcnZhbCA9IERlZmF1bHRIeXN0ZXJlc2lzSW50ZXJ2
YWwpCiAgICAgICAgIDogbV9jYWxsYmFjayhjYWxsYmFjaykKLSAgICAgICAgLCBtX2h5c3RlcmVz
aXNTZWNvbmRzKGh5c3RlcmVzaXNTZWNvbmRzKQorICAgICAgICAsIG1faHlzdGVyZXNpc0ludGVy
dmFsKGh5c3RlcmVzaXNJbnRlcnZhbCkKICAgICAgICAgLCBtX2FjdGl2ZShmYWxzZSkKICAgICAg
ICAgLCBtX3RpbWVyKCp0aGlzLCAmSHlzdGVyZXNpc0FjdGl2aXR5OjpoeXN0ZXJlc2lzVGltZXJG
aXJlZCkKICAgICB7CkBAIC02NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgbV9hY3RpdmUgPSBmYWxzZTsKIAotICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdChtX2h5c3RlcmVzaXNTZWNvbmRzKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
bV9oeXN0ZXJlc2lzSW50ZXJ2YWwpOwogICAgIH0KIAogICAgIHZvaWQgaW1wdWxzZSgpCkBAIC04
OSw3ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3RkOjpmdW5jdGlvbjx2b2lkKEh5
c3RlcmVzaXNTdGF0ZSk+IG1fY2FsbGJhY2s7Ci0gICAgZG91YmxlIG1faHlzdGVyZXNpc1NlY29u
ZHM7CisgICAgU2Vjb25kcyBtX2h5c3RlcmVzaXNJbnRlcnZhbDsKICAgICBib29sIG1fYWN0aXZl
OwogICAgIFRpbWVyIG1fdGltZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAKaW5kZXggODgxODFkMzA1N2Y0Njg5NGRmZWI5YTk3N2E1NjcwNjYxNjQ1MzU3Yy4uZjA5ZTk0
YjA5ZjA2MTUzNWU3OThhMGQwZTgwMGUzOGJmNmQ5NDI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxiYXIuY3BwCkBAIC0xODMsNyArMTgzLDcgQEAgc3RhdGljIGJvb2wgdGh1bWJVbmRl
ck1vdXNlKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogICAgIHJldHVybiBzY3JvbGxiYXItPnByZXNz
ZWRQb3MoKSA+PSB0aHVtYlBvcyAmJiBzY3JvbGxiYXItPnByZXNzZWRQb3MoKSA8IHRodW1iUG9z
ICsgdGh1bWJMZW5ndGg7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBh
cnQoZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChT
ZWNvbmRzIGRlbGF5KQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGZvciB0aGUgdGh1bWIg
b3IgaWYgbm90aGluZyB3YXMgcHJlc3NlZC4KICAgICBpZiAobV9wcmVzc2VkUGFydCA9PSBUaHVt
YlBhcnQgfHwgbV9wcmVzc2VkUGFydCA9PSBOb1BhcnQpCkBAIC0yMDEsNyArMjAxLDcgQEAgdm9p
ZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCiAgICAgICAg
IHN0YXJ0VGltZXJJZk5lZWRlZChkZWxheSk7CiB9CiAKLXZvaWQgU2Nyb2xsYmFyOjpzdGFydFRp
bWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KQordm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5l
ZWRlZChTZWNvbmRzIGRlbGF5KQogewogICAgIC8vIERvbid0IGRvIGFueXRoaW5nIGZvciB0aGUg
dGh1bWIuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0KQpAQCAtMjI1LDcgKzIy
NSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KQog
ICAgICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVT
aG90KGRlbGF5KTsKKyAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5
KSk7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyOjpzdG9wVGltZXJJZk5lZWRlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5oCmluZGV4IGY4NmE5NjJhZmUwMmI1MjYwMzhiZDdkNWVkZGVhOTY0
YmJhNmY3MWEuLmEyMzZjN2U4ZWIxMjdhZWEzNzU2NTIzZWJlYzQxZjk5M2E5YTVjOTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCkBAIC0xNDQsOSArMTQ0LDkgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUaHVtYlByb3BvcnRpb24oKTsKIAogICAgIHZvaWQg
YXV0b3Njcm9sbFRpbWVyRmlyZWQoKTsKLSAgICB2b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChkb3Vi
bGUgZGVsYXkpOworICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkpOwog
ICAgIHZvaWQgc3RvcFRpbWVySWZOZWVkZWQoKTsKLSAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2Vk
UGFydChkb3VibGUgZGVsYXkpOworICAgIHZvaWQgYXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29u
ZHMgZGVsYXkpOwogICAgIFNjcm9sbERpcmVjdGlvbiBwcmVzc2VkUGFydFNjcm9sbERpcmVjdGlv
bigpOwogICAgIFNjcm9sbEdyYW51bGFyaXR5IHByZXNzZWRQYXJ0U2Nyb2xsR3JhbnVsYXJpdHko
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggNzI1Mjk0
MmIwY2FjYmE0YTBlM2EwZGZiNDc2MWRkNGE2NTc1ZWRiYy4uZmRjNWY4ZDVkNjQ1ZGYzMmY2MDI5
MWY1NDYwYmU1OTMyZGRjNDg3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJU
aGVtZS5oCkBAIC0xMDUsOCArMTA1LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBpbnQgbWF4
T3ZlcmxhcEJldHdlZW5QYWdlcygpIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6
bWF4KCk7IH0KIAotICAgIHZpcnR1YWwgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIHsgcmV0dXJuIDAuMjU7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIHsgcmV0dXJuIDAuMDU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgaW5pdGlhbEF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4yNV9zOyB9CisgICAgdmlydHVhbCBTZWNvbmRz
IGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4wNV9zOyB9CiAKICAgICB2aXJ0dWFs
IHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUu
aAppbmRleCA1OTExOTc4YWVlYzE4ZjA4M2ZkYmY4NWYxYWYzZWQyNDE3OTAxMTY1Li44NzM1OTQy
ZmI2OTA1OTY0NGM0ZmFlY2I5NDQ0MjZhZTJmZjIxNmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
LmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRm9udENhc2NhZGUgc3lz
dGVtRm9udChUaGVtZUZvbnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0IHsgcmV0dXJuIEZvbnRD
YXNjYWRlKCk7IH0KICAgICAKICAgICAvLyBIb3cgZmFzdCB0aGUgY2FyZXQgYmxpbmtzIGluIHRl
eHQgZmllbGRzLgotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0
IHsgcmV0dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwo
KSBjb25zdCB7IHJldHVybiAwLjVfczsgfQogCiAgICAgLy8gTm90aWZpY2F0aW9uIHdoZW4gdGhl
IHRoZW1lIGhhcyBjaGFuZ2VkCiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdlZCgpIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKaW5kZXggZTNkNjVlYWJiZTQ1
OWQzYjdhZWZkMTZkMjMxYWExMGZjZmRiY2E0NC4uNmExODc3ZjEzNmZlMTc5YzE4MzNkZGMwNGU3
YjI2NzFiNzliZjIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
VGltZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3Bw
CkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi9N
b25vdG9uaWNUaW1lLmg+CiAKICNpZiBQTEFURk9STShJT1MpCiAjaW5jbHVkZSAiV2ViQ29yZVRo
cmVhZC5oIgpAQCAtNDMsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBGaXJlIHRp
bWVycyBmb3IgdGhpcyBsZW5ndGggb2YgdGltZSwgYW5kIHRoZW4gcXVpdCB0byBsZXQgdGhlIHJ1
biBsb29wIHByb2Nlc3MgdXNlciBpbnB1dCBldmVudHMuCiAvLyAxMDBtcyBpcyBhYm91dCBhIHBl
cmNlcHRhYmxlIGRlbGF5IGluIFVJLCBzbyB1c2UgYSBoYWxmIG9mIHRoYXQgYXMgYSB0aHJlc2hv
bGQuCiAvLyBUaGlzIGlzIHRvIHByZXZlbnQgVUkgZnJlZXplIHdoZW4gdGhlcmUgYXJlIHRvbyBt
YW55IHRpbWVycyBvciBtYWNoaW5lIHBlcmZvcm1hbmNlIGlzIGxvdy4KLXN0YXRpYyBjb25zdCBk
b3VibGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDUwX21zOwogCiAvLyBUaW1lcnMgYXJl
IGNyZWF0ZWQsIHN0YXJ0ZWQgYW5kIGZpcmVkIG9uIHRoZSBzYW1lIHRocmVhZCwgYW5kIGVhY2gg
dGhyZWFkIGhhcyBpdHMgb3duIFRocmVhZFRpbWVycwogLy8gY29weSB0byBrZWVwIHRoZSBoZWFw
IGFuZCBhIHNldCBvZiBjdXJyZW50bHkgZmlyaW5nIHRpbWVycy4KQEAgLTUxLDcgKzUyLDYgQEAg
c3RhdGljIGNvbnN0IGRvdWJsZSBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzID0gMC4wNTA7CiBU
aHJlYWRUaW1lcnM6OlRocmVhZFRpbWVycygpCiAgICAgOiBtX3NoYXJlZFRpbWVyKDApCiAgICAg
LCBtX2ZpcmluZ1RpbWVycyhmYWxzZSkKLSAgICAsIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUoMCkKIHsKICAgICBpZiAoaXNVSVRocmVhZCgpKQogICAgICAgICBzZXRTaGFyZWRUaW1lcigm
TWFpblRocmVhZFNoYXJlZFRpbWVyOjpzaW5nbGV0b24oKSk7CkBAIC02NCw3ICs2NCw3IEBAIHZv
aWQgVGhyZWFkVGltZXJzOjpzZXRTaGFyZWRUaW1lcihTaGFyZWRUaW1lciogc2hhcmVkVGltZXIp
CiAgICAgaWYgKG1fc2hhcmVkVGltZXIpIHsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c2V0Rmly
ZWRGdW5jdGlvbihudWxscHRyKTsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c3RvcCgpOwotICAg
ICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICAgICAgbV9wZW5kaW5n
U2hhcmVkVGltZXJGaXJlVGltZSA9IHsgfTsKICAgICB9CiAgICAgCiAgICAgbV9zaGFyZWRUaW1l
ciA9IHNoYXJlZFRpbWVyOwpAQCAtODEsMTggKzgxLDE4IEBAIHZvaWQgVGhyZWFkVGltZXJzOjp1
cGRhdGVTaGFyZWRUaW1lcigpCiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgaWYgKG1f
ZmlyaW5nVGltZXJzIHx8IG1fdGltZXJIZWFwLmlzRW1wdHkoKSkgewotICAgICAgICBtX3BlbmRp
bmdTaGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJG
aXJlVGltZSA9IHsgfTsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+c3RvcCgpOwogICAgIH0gZWxz
ZSB7Ci0gICAgICAgIGRvdWJsZSBuZXh0RmlyZVRpbWUgPSBtX3RpbWVySGVhcC5maXJzdCgpLT5t
X25leHRGaXJlVGltZTsKLSAgICAgICAgZG91YmxlIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIGF1dG8gbmV4dEZpcmVUaW1lID0g
bV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7CisgICAgICAgIGF1dG8gY3VycmVu
dE1vbm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgaWYgKG1fcGVu
ZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUpIHsKICAgICAgICAgICAgIC8vIE5vIG5lZWQgdG8gcmVz
dGFydCB0aGUgdGltZXIgaWYgYm90aCB0aGUgcGVuZGluZyBmaXJlIHRpbWUgYW5kIHRoZSBuZXcg
ZmlyZSB0aW1lIGFyZSBpbiB0aGUgcGFzdC4KICAgICAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFy
ZWRUaW1lckZpcmVUaW1lIDw9IGN1cnJlbnRNb25vdG9uaWNUaW1lICYmIG5leHRGaXJlVGltZSA8
PSBjdXJyZW50TW9ub3RvbmljVGltZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0gCiAgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSBuZXh0RmlyZVRpbWU7
Ci0gICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZhbChTZWNvbmRzKHN0ZDo6bWF4
KG5leHRGaXJlVGltZSAtIGN1cnJlbnRNb25vdG9uaWNUaW1lLCAwLjApKSk7CisgICAgICAgIG1f
c2hhcmVkVGltZXItPnNldEZpcmVJbnRlcnZhbChzdGQ6Om1heDxTZWNvbmRzPihuZXh0RmlyZVRp
bWUgLSBjdXJyZW50TW9ub3RvbmljVGltZSwgMF9zKSk7CiAgICAgfQogfQogCkBAIC0xMDMsMjUg
KzEwMywyNSBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2hhcmVkVGltZXJGaXJlZEludGVybmFsKCkK
ICAgICBpZiAobV9maXJpbmdUaW1lcnMpCiAgICAgICAgIHJldHVybjsKICAgICBtX2ZpcmluZ1Rp
bWVycyA9IHRydWU7Ci0gICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAg
bV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IHsgfTsKIAotICAgIGRvdWJsZSBmaXJlVGlt
ZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIGRvdWJsZSB0aW1lVG9RdWl0
ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzOworICAgIGF1dG8gZmlyZVRp
bWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICBhdXRvIHRpbWVUb1F1aXQgPSBmaXJlVGlt
ZSArIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnM7CiAKICAgICB3aGlsZSAoIW1fdGltZXJIZWFw
LmlzRW1wdHkoKSAmJiBtX3RpbWVySGVhcC5maXJzdCgpLT5tX25leHRGaXJlVGltZSA8PSBmaXJl
VGltZSkgewogICAgICAgICBUaW1lckJhc2UqIHRpbWVyID0gbV90aW1lckhlYXAuZmlyc3QoKTsK
LSAgICAgICAgdGltZXItPm1fbmV4dEZpcmVUaW1lID0gMDsKLSAgICAgICAgdGltZXItPm1fdW5h
bGlnbmVkTmV4dEZpcmVUaW1lID0gMDsKKyAgICAgICAgdGltZXItPm1fbmV4dEZpcmVUaW1lID0g
TW9ub3RvbmljVGltZSgpOworICAgICAgICB0aW1lci0+bV91bmFsaWduZWROZXh0RmlyZVRpbWUg
PSBNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgIHRpbWVyLT5oZWFwRGVsZXRlTWluKCk7CiAKLSAg
ICAgICAgZG91YmxlIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7Ci0gICAgICAg
IHRpbWVyLT5zZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDog
MCk7CisgICAgICAgIFNlY29uZHMgaW50ZXJ2YWwgPSB0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsK
KyAgICAgICAgdGltZXItPnNldE5leHRGaXJlVGltZShpbnRlcnZhbCA/IGZpcmVUaW1lICsgaW50
ZXJ2YWwgOiBNb25vdG9uaWNUaW1lKCkpOwogCiAgICAgICAgIC8vIE9uY2UgdGhlIHRpbWVyIGhh
cyBiZWVuIGZpcmVkLCBpdCBtYXkgYmUgZGVsZXRlZCwgc28gZG8gbm90aGluZyBlbHNlIHdpdGgg
aXQgYWZ0ZXIgdGhpcyBwb2ludC4KICAgICAgICAgdGltZXItPmZpcmVkKCk7CiAKICAgICAgICAg
Ly8gQ2F0Y2ggdGhlIGNhc2Ugd2hlcmUgdGhlIHRpbWVyIGFza2VkIHRpbWVycyB0byBmaXJlIGlu
IGEgbmVzdGVkIGV2ZW50IGxvb3AsIG9yIHdlIGFyZSBvdmVyIHRpbWUgbGltaXQuCi0gICAgICAg
IGlmICghbV9maXJpbmdUaW1lcnMgfHwgdGltZVRvUXVpdCA8IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpKQorICAgICAgICBpZiAoIW1fZmlyaW5nVGltZXJzIHx8IHRpbWVUb1F1aXQgPCBN
b25vdG9uaWNUaW1lOjpub3coKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTM3
LDcgKzEzNyw3IEBAIHZvaWQgVGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExv
b3AoKQogCiAgICAgaWYgKG1fc2hhcmVkVGltZXIpIHsKICAgICAgICAgbV9zaGFyZWRUaW1lci0+
aW52YWxpZGF0ZSgpOwotICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gMDsK
KyAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IHsgfTsKICAgICB9CiAKICAg
ICB1cGRhdGVTaGFyZWRUaW1lcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
aAppbmRleCBlYWJjNGQxMjFlODI2NjYyZTlhYmIzMDRlMzgzZjE3YjFlNzI5YTk3Li5jZjU4Yzkx
N2E5NWNlMzY3MmMxNmI3ZTZlYzY5MTczOWE4OTAzYTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNiArMjcsNyBAQAogI2lmbmRlZiBUaHJlYWRUaW1lcnNf
aAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUu
aD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKQEAgLTU2LDcgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBWZWN0b3I8
VGltZXJCYXNlKj4gbV90aW1lckhlYXA7CiAgICAgICAgIFNoYXJlZFRpbWVyKiBtX3NoYXJlZFRp
bWVyOyAvLyBFeHRlcm5hbCBvYmplY3QsIGNhbiBiZSBhIHJ1biBsb29wIG9uIGEgd29ya2VyIHRo
cmVhZC4gTm9ybWFsbHkgc2V0L3Jlc2V0IGJ5IHdvcmtlciB0aHJlYWQuCiAgICAgICAgIGJvb2wg
bV9maXJpbmdUaW1lcnM7IC8vIFJlZW50cmFuY3kgZ3VhcmQuCi0gICAgICAgIGRvdWJsZSBtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIG1fcGVuZGlu
Z1NoYXJlZFRpbWVyRmlyZVRpbWU7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIu
Y3BwCmluZGV4IGNkNTk0ZmU3Y2M1NTg5MTI5NDc0NjM5NzZkOGQxODVmOTExMTRiYmEuLjg4ODRh
MTQ2NWY0ZDZmMjgzZGE5YjdlOTIxNTcxODc4NWRkOWY2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5jcHAKQEAgLTE3Miw4ICsxNzIsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNzVGhh
bkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQogewog
ICAgIC8vIFRoZSBjb21wYXJpc29ucyBiZWxvdyBhcmUgImJhY2t3YXJkcyIgYmVjYXVzZSB0aGUg
aGVhcCBwdXRzIHRoZSBsYXJnZXN0IAogICAgIC8vIGVsZW1lbnQgZmlyc3QgYW5kIHdlIHdhbnQg
dGhlIGxvd2VzdCB0aW1lIHRvIGJlIHRoZSBmaXJzdCBvbmUgaW4gdGhlIGhlYXAuCi0gICAgZG91
YmxlIGFGaXJlVGltZSA9IGEtPm1fbmV4dEZpcmVUaW1lOwotICAgIGRvdWJsZSBiRmlyZVRpbWUg
PSBiLT5tX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIGFGaXJlVGltZSA9IGEtPm1f
bmV4dEZpcmVUaW1lOworICAgIE1vbm90b25pY1RpbWUgYkZpcmVUaW1lID0gYi0+bV9uZXh0Rmly
ZVRpbWU7CiAgICAgaWYgKGJGaXJlVGltZSAhPSBhRmlyZVRpbWUpCiAgICAgICAgIHJldHVybiBi
RmlyZVRpbWUgPCBhRmlyZVRpbWU7CiAgICAgCkBAIC0xODYsMTEgKzE4Niw4IEBAIGlubGluZSBi
b29sIFRpbWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9yKCkoY29uc3QgVGltZXJCYXNl
KiBhLCBjb25zdCBUaW1lCiAvLyAtLS0tLS0tLS0tLS0tLS0tCiAKIFRpbWVyQmFzZTo6VGltZXJC
YXNlKCkKLSAgICA6IG1fbmV4dEZpcmVUaW1lKDApCi0gICAgLCBtX3VuYWxpZ25lZE5leHRGaXJl
VGltZSgwKQotICAgICwgbV9yZXBlYXRJbnRlcnZhbCgwKQotICAgICwgbV9oZWFwSW5kZXgoLTEp
Ci0gICAgLCBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcCgwKQorICAgIDogbV9oZWFwSW5k
ZXgoLTEpCisgICAgLCBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcChudWxscHRyKQogI2lm
bmRlZiBOREVCVUcKICAgICAsIG1fdGhyZWFkKGN1cnJlbnRUaHJlYWQoKSkKICAgICAsIG1fd2Fz
RGVsZXRlZChmYWxzZSkKQEAgLTIwNywzMiArMjA0LDMyIEBAIFRpbWVyQmFzZTo6flRpbWVyQmFz
ZSgpCiAjZW5kaWYKIH0KIAotdm9pZCBUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUlu
dGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpCit2b2lkIFRpbWVyQmFzZTo6c3RhcnQoU2Vj
b25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKQogewogICAgIEFT
U0VSVChjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKIAogICAg
IG1fcmVwZWF0SW50ZXJ2YWwgPSByZXBlYXRJbnRlcnZhbDsKLSAgICBzZXROZXh0RmlyZVRpbWUo
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKyBuZXh0RmlyZUludGVydmFsKTsKKyAgICBz
ZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGltZTo6bm93KCkgKyBuZXh0RmlyZUludGVydmFsKTsK
IH0KIAogdm9pZCBUaW1lckJhc2U6OnN0b3AoKQogewogICAgIEFTU0VSVChjYW5BY2Nlc3NUaHJl
YWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKIAotICAgIG1fcmVwZWF0SW50ZXJ2YWwg
PSAwOwotICAgIHNldE5leHRGaXJlVGltZSgwKTsKKyAgICBtX3JlcGVhdEludGVydmFsID0gMF9z
OworICAgIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lKCkpOwogCi0gICAgQVNTRVJUKG1f
bmV4dEZpcmVUaW1lID09IDApOwotICAgIEFTU0VSVChtX3JlcGVhdEludGVydmFsID09IDApOwor
ICAgIEFTU0VSVCghbV9uZXh0RmlyZVRpbWUpOworICAgIEFTU0VSVCghbV9yZXBlYXRJbnRlcnZh
bCk7CiAgICAgQVNTRVJUKCFpbkhlYXAoKSk7CiB9CiAKLWRvdWJsZSBUaW1lckJhc2U6Om5leHRG
aXJlSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJhc2U6Om5leHRGaXJlSW50ZXJ2YWwo
KSBjb25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsKLSAgICBkb3VibGUgY3VycmVudCA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgIE1vbm90b25pY1RpbWUgY3VycmVu
dCA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGlmIChtX25leHRGaXJlVGltZSA8IGN1cnJl
bnQpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gMF9zOwogICAgIHJldHVybiBt
X25leHRGaXJlVGltZSAtIGN1cnJlbnQ7CiB9CiAKQEAgLTI0OCwxNCArMjQ1LDE0IEBAIGlubGlu
ZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tIZWFwSW5kZXgoKSBjb25zdAogaW5saW5lIHZvaWQgVGlt
ZXJCYXNlOjpjaGVja0NvbnNpc3RlbmN5KCkgY29uc3QKIHsKICAgICAvLyBUaW1lcnMgc2hvdWxk
IGJlIGluIHRoZSBoZWFwIGlmIGFuZCBvbmx5IGlmIHRoZXkgaGF2ZSBhIG5vbi16ZXJvIG5leHQg
ZmlyZSB0aW1lLgotICAgIEFTU0VSVChpbkhlYXAoKSA9PSAobV9uZXh0RmlyZVRpbWUgIT0gMCkp
OworICAgIEFTU0VSVChpbkhlYXAoKSA9PSAhIW1fbmV4dEZpcmVUaW1lKTsKICAgICBpZiAoaW5I
ZWFwKCkpCiAgICAgICAgIGNoZWNrSGVhcEluZGV4KCk7CiB9CiAKIHZvaWQgVGltZXJCYXNlOjpo
ZWFwRGVjcmVhc2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAg
ICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGNoZWNrSGVhcEluZGV4KCk7CiAgICAgVGlt
ZXJCYXNlKiogaGVhcERhdGEgPSB0aW1lckhlYXAoKS5kYXRhKCk7CiAgICAgcHVzaF9oZWFwKFRp
bWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhKSwgVGltZXJIZWFwSXRlcmF0b3IoaGVhcERhdGEgKyBt
X2hlYXBJbmRleCArIDEpLCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uKCkpOwpAQCAtMjY0LDcg
KzI2MSw3IEBAIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVjcmVhc2VLZXkoKQogCiBpbmxpbmUgdm9p
ZCBUaW1lckJhc2U6OmhlYXBEZWxldGUoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9
PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKICAgICBoZWFwUG9wKCk7CiAgICAg
dGltZXJIZWFwKCkucmVtb3ZlTGFzdCgpOwogICAgIG1faGVhcEluZGV4ID0gLTE7CkBAIC0yNzIs
NyArMjY5LDcgQEAgaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkKIAogdm9pZCBU
aW1lckJhc2U6OmhlYXBEZWxldGVNaW4oKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9
PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKICAgICBoZWFwUG9wTWluKCk7CiAg
ICAgdGltZXJIZWFwKCkucmVtb3ZlTGFzdCgpOwogICAgIG1faGVhcEluZGV4ID0gLTE7CkBAIC0y
ODAsNyArMjc3LDcgQEAgdm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGVNaW4oKQogCiBpbmxpbmUg
dm9pZCBUaW1lckJhc2U6OmhlYXBJbmNyZWFzZUtleSgpCiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZp
cmVUaW1lICE9IDApOworICAgIEFTU0VSVChtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcCgp
OwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogfQpAQCAtMjk2LDggKzI5Myw4IEBAIGlubGluZSB2
b2lkIFRpbWVyQmFzZTo6aGVhcEluc2VydCgpCiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBQ
b3AoKQogewogICAgIC8vIFRlbXBvcmFyaWx5IGZvcmNlIHRoaXMgdGltZXIgdG8gaGF2ZSB0aGUg
bWluaW11bSBrZXkgc28gd2UgY2FuIHBvcCBpdC4KLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtX25l
eHRGaXJlVGltZTsKLSAgICBtX25leHRGaXJlVGltZSA9IC1zdGQ6Om51bWVyaWNfbGltaXRzPGRv
dWJsZT46OmluZmluaXR5KCk7CisgICAgTW9ub3RvbmljVGltZSBmaXJlVGltZSA9IG1fbmV4dEZp
cmVUaW1lOworICAgIG1fbmV4dEZpcmVUaW1lID0gLU1vbm90b25pY1RpbWU6OmluZmluaXR5KCk7
CiAgICAgaGVhcERlY3JlYXNlS2V5KCk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIG1fbmV4dEZp
cmVUaW1lID0gZmlyZVRpbWU7CkBAIC0zNDcsNyArMzQ0LDcgQEAgYm9vbCBUaW1lckJhc2U6Omhh
c1ZhbGlkSGVhcFBvc2l0aW9uKCkgY29uc3QKICAgICByZXR1cm4gY2hpbGRIZWFwUHJvcGVydHlI
b2xkcyh0aGlzLCBoZWFwLCBjaGlsZEluZGV4MSkgJiYgY2hpbGRIZWFwUHJvcGVydHlIb2xkcyh0
aGlzLCBoZWFwLCBjaGlsZEluZGV4Mik7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjp1cGRhdGVIZWFw
SWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpCit2b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVl
ZGVkKE1vbm90b25pY1RpbWUgb2xkVGltZSkKIHsKICAgICBpZiAobV9uZXh0RmlyZVRpbWUgJiYg
aGFzVmFsaWRIZWFwUG9zaXRpb24oKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzY2LDcgKzM2Myw3
IEBAIHZvaWQgVGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpCiAg
ICAgQVNTRVJUKCFpbkhlYXAoKSB8fCBoYXNWYWxpZEhlYXBQb3NpdGlvbigpKTsKIH0KIAotdm9p
ZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGltZSkKK3ZvaWQgVGltZXJC
YXNlOjpzZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGltZSBuZXdUaW1lKQogewogICAgIEFTU0VS
VChjYW5BY2Nlc3NUaHJlYWRMb2NhbERhdGFGb3JUaHJlYWQobV90aHJlYWQpKTsKICAgICBBU1NF
UlQoIW1fd2FzRGVsZXRlZCk7CkBAIC0zNzksMTEgKzM3NiwxMSBAQCB2b2lkIFRpbWVyQmFzZTo6
c2V0TmV4dEZpcmVUaW1lKGRvdWJsZSBuZXdUaW1lKQogICAgICAgICBtX2NhY2hlZFRocmVhZEds
b2JhbFRpbWVySGVhcCA9ICZ0aHJlYWRHbG9iYWxUaW1lckhlYXAoKTsKIAogICAgIC8vIEtlZXAg
aGVhcCB2YWxpZCB3aGlsZSBjaGFuZ2luZyB0aGUgbmV4dC1maXJlIHRpbWUuCi0gICAgZG91Ymxl
IG9sZFRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG9sZFRpbWUgPSBt
X25leHRGaXJlVGltZTsKICAgICAvLyBEb24ndCByZWFsaWduIHplcm8tZGVsYXkgdGltZXJzLgog
ICAgIGlmIChuZXdUaW1lKSB7Ci0gICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0gYWxp
Z25lZEZpcmVUaW1lKHNlY29uZHNUb01TKG5ld1RpbWUpKSkKLSAgICAgICAgICAgIG5ld1RpbWUg
PSBtc1RvU2Vjb25kcyhuZXdBbGlnbmVkVGltZS52YWx1ZSgpKTsKKyAgICAgICAgaWYgKGF1dG8g
bmV3QWxpZ25lZFRpbWUgPSBhbGlnbmVkRmlyZVRpbWUobmV3VGltZSkpCisgICAgICAgICAgICBu
ZXdUaW1lID0gbmV3QWxpZ25lZFRpbWUudmFsdWUoKTsKICAgICB9CiAKICAgICBpZiAob2xkVGlt
ZSAhPSBuZXdUaW1lKSB7CkBAIC00MTYsMTAgKzQxMywxMCBAQCB2b2lkIFRpbWVyQmFzZTo6ZGlk
Q2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKQogICAgIHNldE5leHRGaXJlVGltZShtX3VuYWxpZ25l
ZE5leHRGaXJlVGltZSk7CiB9CiAKLWRvdWJsZSBUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJl
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50
ZXJ2YWwoKSBjb25zdAogewogICAgIEFTU0VSVChpc0FjdGl2ZSgpKTsKLSAgICByZXR1cm4gc3Rk
OjptYXgobV91bmFsaWduZWROZXh0RmlyZVRpbWUgLSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSwgMC4wKTsKKyAgICByZXR1cm4gc3RkOjptYXgobV91bmFsaWduZWROZXh0RmlyZVRpbWUg
LSBNb25vdG9uaWNUaW1lOjpub3coKSwgMF9zKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggNTJhMTY2ZWJhMmQyMzE5ZDE1YTFiN2VkOTA4
MmI2YjE0MzNmM2IyNC4uMzBmZDIyZDk4YjAyZWVkNTE2MzBhN2I2ZjhlNWY1NjJlOTg4N2NjZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxj
aHJvbm8+CiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25h
bC5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CkBAIC00NywzOSArNDgsMjQgQEAgY2xhc3Mg
VGltZXJIZWFwRWxlbWVudDsKIGNsYXNzIFRpbWVyQmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGltZXJCYXNlKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXByb3RlY3Rl
ZDoKLSAgICBzdGF0aWMgaW5saW5lIGRvdWJsZSBtc1RvU2Vjb25kcyhzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGR1cmF0aW9uKSB7IHJldHVybiBkdXJhdGlvbi5jb3VudCgpICogMC4wMDE7IH0K
LSAgICBzdGF0aWMgaW5saW5lIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2Vjb25kc1RvTVMo
ZG91YmxlIGR1cmF0aW9uKSB7IHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKChzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGR1cmF0aW9uICogMTAwMCkpOyB9Ci0KIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBUaW1lckJhc2UoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnQoZG91
YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7Ci0KLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRl
cnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9T
ZWNvbmRzKHJlcGVhdEludGVydmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29u
ZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwudmFsdWUo
KSk7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDApOyB9Ci0gICAgdm9pZCBzdGFydE9u
ZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydE9uZVNob3Qo
bXNUb1NlY29uZHMoaW50ZXJ2YWwpKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMg
aW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwudmFsdWUoKSwgMCk7IH0KKyAgICB2b2lkIHN0YXJ0
UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWws
IHJlcGVhdEludGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2
YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIDBfcyk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKIAotICAgIGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91YmxlIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwo
KSBjb25zdDsKLSAgICBkb3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Jl
cGVhdEludGVydmFsOyB9Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRl
cnZhbE1TKCkgY29uc3QgeyByZXR1cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0K
LQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsgc2V0TmV4dEZp
cmVUaW1lKG1fbmV4dEZpcmVUaW1lICsgZGVsdGEpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUlu
dGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRl
cnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFs
KFNlY29uZHMgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YS52YWx1ZSgpKTsgfQor
ICAgIFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFVu
YWxpZ25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwo
KSBjb25zdCB7IHJldHVybiBtX3JlcGVhdEludGVydmFsOyB9CiAKLSAgICB2b2lkIGF1Z21lbnRS
ZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7
IG1fcmVwZWF0SW50ZXJ2YWwgKz0gZGVsdGE7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRl
cnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRl
cnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7
IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBzZXROZXh0
RmlyZVRpbWUobV9uZXh0RmlyZVRpbWUgKyBkZWx0YSk7IH0KKyAgICB2b2lkIGF1Z21lbnRSZXBl
YXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBt
X3JlcGVhdEludGVydmFsICs9IGRlbHRhOyB9CiAKICAgICB2b2lkIGRpZENoYW5nZUFsaWdubWVu
dEludGVydmFsKCk7CiAKQEAgLTg4LDE3ICs3NCwxNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCBmaXJlZCgpID0gMDsKIAotICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPiBhbGlnbmVkRmlyZVRpbWUoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcykgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CisgICAgdmlydHVhbCBz
dGQ6Om9wdGlvbmFsPE1vbm90b25pY1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1l
KSBjb25zdCB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KIAogICAgIHZvaWQgY2hlY2tDb25zaXN0
ZW5jeSgpIGNvbnN0OwogICAgIHZvaWQgY2hlY2tIZWFwSW5kZXgoKSBjb25zdDsKIAotICAgIHZv
aWQgc2V0TmV4dEZpcmVUaW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXROZXh0RmlyZVRpbWUoTW9u
b3RvbmljVGltZSk7CiAKICAgICBib29sIGluSGVhcCgpIGNvbnN0IHsgcmV0dXJuIG1faGVhcElu
ZGV4ICE9IC0xOyB9CiAKICAgICBib29sIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkgY29uc3Q7Ci0g
ICAgdm9pZCB1cGRhdGVIZWFwSWZOZWVkZWQoZG91YmxlIG9sZFRpbWUpOworICAgIHZvaWQgdXBk
YXRlSGVhcElmTmVlZGVkKE1vbm90b25pY1RpbWUgb2xkVGltZSk7CiAKICAgICB2b2lkIGhlYXBE
ZWNyZWFzZUtleSgpOwogICAgIHZvaWQgaGVhcERlbGV0ZSgpOwpAQCAtMTEwLDkgKzk2LDkgQEAg
cHJpdmF0ZToKIAogICAgIFZlY3RvcjxUaW1lckJhc2UqPiYgdGltZXJIZWFwKCkgY29uc3QgeyBB
U1NFUlQobV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXApOyByZXR1cm4gKm1fY2FjaGVkVGhy
ZWFkR2xvYmFsVGltZXJIZWFwOyB9CiAKLSAgICBkb3VibGUgbV9uZXh0RmlyZVRpbWU7IC8vIDAg
aWYgaW5hY3RpdmUKLSAgICBkb3VibGUgbV91bmFsaWduZWROZXh0RmlyZVRpbWU7IC8vIG1fbmV4
dEZpcmVUaW1lIG5vdCBjb25zaWRlcmluZyBhbGlnbm1lbnQgaW50ZXJ2YWwKLSAgICBkb3VibGUg
bV9yZXBlYXRJbnRlcnZhbDsgLy8gMCBpZiBub3QgcmVwZWF0aW5nCisgICAgTW9ub3RvbmljVGlt
ZSBtX25leHRGaXJlVGltZTsgLy8gMCBpZiBpbmFjdGl2ZQorICAgIE1vbm90b25pY1RpbWUgbV91
bmFsaWduZWROZXh0RmlyZVRpbWU7IC8vIG1fbmV4dEZpcmVUaW1lIG5vdCBjb25zaWRlcmluZyBh
bGlnbm1lbnQgaW50ZXJ2YWwKKyAgICBTZWNvbmRzIG1fcmVwZWF0SW50ZXJ2YWw7IC8vIDAgaWYg
bm90IHJlcGVhdGluZwogICAgIGludCBtX2hlYXBJbmRleDsgLy8gLTEgaWYgbm90IGluIGhlYXAK
ICAgICB1bnNpZ25lZCBtX2hlYXBJbnNlcnRpb25PcmRlcjsgLy8gVXNlZCB0byBrZWVwIG9yZGVy
IGFtb25nIGVxdWFsLWZpcmUtdGltZSB0aW1lcnMKICAgICBWZWN0b3I8VGltZXJCYXNlKj4qIG1f
Y2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwOwpAQCAtMTU5LDE4ICsxNDUsMTggQEAgaW5saW5l
IGJvb2wgVGltZXJCYXNlOjppc0FjdGl2ZSgpIGNvbnN0CiAjZWxzZQogICAgIEFTU0VSVChXZWJU
aHJlYWRJc0N1cnJlbnQoKSB8fCBwdGhyZWFkX21haW5fbnAoKSB8fCBtX3RocmVhZCA9PSBjdXJy
ZW50VGhyZWFkKCkpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKLSAgICByZXR1cm4gbV9uZXh0
RmlyZVRpbWU7CisgICAgcmV0dXJuICEhbV9uZXh0RmlyZVRpbWU7CiB9CiAKIGNsYXNzIERlZmVy
cmFibGVPbmVTaG90VGltZXIgOiBwcm90ZWN0ZWQgVGltZXJCYXNlIHsKIHB1YmxpYzoKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+Ci0gICAgRGVmZXJyYWJsZU9uZVNob3RU
aW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwgdm9pZCAoVGltZXJGaXJlZENsYXNzOjoqZnVu
Y3Rpb24pKCksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXkpCisgICAgRGVmZXJyYWJs
ZU9uZVNob3RUaW1lcihUaW1lckZpcmVkQ2xhc3MmIG9iamVjdCwgdm9pZCAoVGltZXJGaXJlZENs
YXNzOjoqZnVuY3Rpb24pKCksIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogRGVmZXJyYWJsZU9u
ZVNob3RUaW1lcihzdGQ6OmJpbmQoZnVuY3Rpb24sICZvYmplY3QpLCBkZWxheSkKICAgICB7CiAg
ICAgfQogCi0gICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+
IGZ1bmN0aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5KQorICAgIERlZmVycmFi
bGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgU2Vjb25kcyBk
ZWxheSkKICAgICAgICAgOiBtX2Z1bmN0aW9uKFdURk1vdmUoZnVuY3Rpb24pKQogICAgICAgICAs
IG1fZGVsYXkoZGVsYXkpCiAgICAgICAgICwgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXMo
ZmFsc2UpCkBAIC0yMTIsNyArMTk4LDcgQEAgcHJpdmF0ZToKIAogICAgIHN0ZDo6ZnVuY3Rpb248
dm9pZCAoKT4gbV9mdW5jdGlvbjsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9k
ZWxheTsKKyAgICBTZWNvbmRzIG1fZGVsYXk7CiAgICAgYm9vbCBtX3Nob3VsZFJlc3RhcnRXaGVu
VGltZXJGaXJlczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZO
b2RlVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
CmluZGV4IGQ0ZmNmOTYxZTAxOTE0NGEyMWZmNGQzZGMwZTE4ZjlmYzkyOGUxYTcuLjU1MzUxNGRm
MjI0MGFhZmE0YjE4ZTcxOWYxZTU4M2Y1YzkwYzhkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVk5vZGVUcmFja2VyLmNwcApAQCAtNDAsNyArNDAsNyBAQCBWTm9kZVRyYWNrZXImIFZOb2Rl
VHJhY2tlcjo6c2luZ2xldG9uKCkKIFZOb2RlVHJhY2tlcjo6Vk5vZGVUcmFja2VyKCkKICAgICA6
IG1fdm5vZGVDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQgZXZlbnQpIHsgaWYgKGV2ZW50
ID09IFJlZkNvdW50ZXJFdmVudDo6SW5jcmVtZW50KSBjaGVja1ByZXNzdXJlU3RhdGUoKTsgfSkK
ICAgICAsIG1fcHJlc3N1cmVXYXJuaW5nVGltZXIoKnRoaXMsICZWTm9kZVRyYWNrZXI6OnByZXNz
dXJlV2FybmluZ1RpbWVyRmlyZWQpCi0gICAgLCBtX2xhc3RXYXJuaW5nVGltZShzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKSkKKyAgICAsIG1fbGFzdFdhcm5pbmdUaW1lKE1vbm90b25p
Y1RpbWU6Om5vdygpKQogewogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCkBAIC02MywyMSAr
NjMsMjIgQEAgdm9pZCBWTm9kZVRyYWNrZXI6OnByZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQoKQog
ICAgIGlmIChtX3Zub2RlQ291bnRlci52YWx1ZSgpIDw9IG1fc29mdFZOb2RlTGltaXQpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fbGFzdFdhcm5pbmdUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6bm93KCk7CisgICAgbV9sYXN0V2FybmluZ1RpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKICAgICB1bnNpZ25lZCB2bm9kZUNvdW50ID0gbV92bm9kZUNvdW50ZXIudmFsdWUoKTsK
ICAgICBhdXRvIGNyaXRpY2FsID0gdm5vZGVDb3VudCA+IG1faGFyZFZOb2RlTGltaXQgPyBDcml0
aWNhbDo6WWVzIDogQ3JpdGljYWw6Ok5vOwogICAgIG1fcHJlc3N1cmVIYW5kbGVyKGNyaXRpY2Fs
KTsKICAgICBMT0coTWVtb3J5UHJlc3N1cmUsICJ2bm9kZSBwcmVzc3VyZSBoYW5kbGVyIGZyZWVk
ICVsdSB2bm9kZXMgb3V0IG9mICV1IChjcml0aWNhbCBwcmVzc3VyZTogJXMpIiwgdm5vZGVDb3Vu
dCAtIG1fdm5vZGVDb3VudGVyLnZhbHVlKCksIHZub2RlQ291bnQsIGNyaXRpY2FsID09IENyaXRp
Y2FsOjpZZXMgPyAiWWVzIiA6ICJObyIpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3QKK1NlY29u
ZHMgVk5vZGVUcmFja2VyOjpuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdAogewog
ICAgIC8vIFdlIHJ1biB0aGUgdm5vZGUgcHJlc3N1cmUgaGFuZGxlciBldmVyeSAzMCBzZWNvbmRz
IGF0IG1vc3QuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gbWluaW11bVdhcm5pbmdJbnRlcnZhbCA9
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMzAgfTsKLSAgICBhdXRvIHRpbWVTaW5jZUxhc3RXYXJu
aW5nID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX2xhc3RXYXJuaW5nVGlt
ZTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBtaW5pbXVtV2FybmluZ0ludGVydmFsID0gMzBf
czsKKyAgICBhdXRvIHRpbWVTaW5jZUxhc3RXYXJuaW5nID0gTW9ub3RvbmljVGltZTo6bm93KCkg
LSBtX2xhc3RXYXJuaW5nVGltZTsKICAgICBpZiAodGltZVNpbmNlTGFzdFdhcm5pbmcgPCBtaW5p
bXVtV2FybmluZ0ludGVydmFsKQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9u
X2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4obWluaW11bVdhcm5pbmdJbnRlcnZhbCAt
IHRpbWVTaW5jZUxhc3RXYXJuaW5nKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyB7IDAgfTsKKyAgICAgICAgcmV0dXJuIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1l
U2luY2VMYXN0V2FybmluZzsKKworICAgIHJldHVybiAwX3M7CiB9CiAKICNpZiAhUExBVEZPUk0o
Q09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oCmluZGV4IDFiMDExMGU4
M2U3YTE2ZGE5NjQ4MDEzMDg1YWJmZTE4MjYwZjRhMjQuLjA0ZmIzNzk1ZDY1Yzc4NzUyOTNiOWM3
YmRkZjM4NzAxNTNlYTFmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZO
b2RlVHJhY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5o
CkBAIC01Myw3ICs1Myw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNoZWNrUHJlc3N1cmVTdGF0
ZSgpOwogICAgIHZvaWQgcHJlc3N1cmVXYXJuaW5nVGltZXJGaXJlZCgpOwotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7Cisg
ICAgU2Vjb25kcyBuZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdDsKIAogICAgIHZv
aWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CiAKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0ZToKICAg
ICBQcmVzc3VyZUhhbmRsZXIgbV9wcmVzc3VyZUhhbmRsZXI7CiAgICAgVk5vZGVDb3VudGVyIG1f
dm5vZGVDb3VudGVyOwogICAgIFRpbWVyIG1fcHJlc3N1cmVXYXJuaW5nVGltZXI7Ci0gICAgc3Rk
OjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RXYXJuaW5nVGltZTsKKyAg
ICBNb25vdG9uaWNUaW1lIG1fbGFzdFdhcm5pbmdUaW1lOwogfTsKIAogaW5saW5lIHZvaWQgVk5v
ZGVUcmFja2VyOjpzZXRQcmVzc3VyZUhhbmRsZXIoUHJlc3N1cmVIYW5kbGVyIGhhbmRsZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbi5jcHAKaW5kZXggMTY3NjY5YTIwNjA4NDhjYzY4MTJjZjQ2ZTQ3Nzg2NTk4ZTExNDNlOC4u
MmZiYjczNzFiOTg1YzQzODhkNGM0MGM3OTM2ODE2MTVlYjg5OTk0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcApA
QCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNvbnN0IGRvdWJsZSBr
Q2xpZW50RGF0YUJ1ZmZlcmluZ1RpbWVyVGhyb3R0bGVEZWxheSA9IDAuMTsKK2NvbnN0IFNlY29u
ZHMga0NsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVsYXkgPSAwLjFfczsKIAogI2lm
ICFMT0dfRElTQUJMRUQKIHN0YXRpYyBjb25zdCBjaGFyKiBzdGF0ZU5hbWUoUGxhdGZvcm1NZWRp
YVNlc3Npb246OlN0YXRlIHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1Njcm9sbENvbnRyb2xsZXIubW0KaW5kZXggY2Q2ZmRiZTIwOTdiYmE1NzQ0ZDgxZmE4OGU0
NzA5NGFjYTI2MjcwYy4uODI1ODdiMTA4M2I3MTEzY2EyNTJjM2U0ZmY5ZWI3OWFmN2Y3ODBiNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVy
Lm1tCkBAIC03Niw3ICs3Niw3IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBydWJiZXJiYW5kTWluaW11
bVJlcXVpcmVkRGVsdGFCZWZvcmVTdHJldGNoID0gMTA7CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9M
TF9TTkFQKSAmJiBQTEFURk9STShNQUMpCiBzdGF0aWMgY29uc3QgZmxvYXQgaW5lcnRpYWxTY3Jv
bGxQcmVkaWN0aW9uRmFjdG9yID0gMTYuNzsKLXN0YXRpYyBjb25zdCBkb3VibGUgc3RhdGVsZXNz
U2Nyb2xsU25hcERlbGF5ID0gMC41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RhdGVsZXNzU2Ny
b2xsU25hcERlbGF5ID0gMC41X3M7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTQy
MSw3ICs0MjEsNyBAQCBib29sIFNjcm9sbENvbnRyb2xsZXI6OmlzU2Nyb2xsU25hcEluUHJvZ3Jl
c3MoKSBjb25zdAogdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGFydFNuYXBSdWJiZXJiYW5kVGlt
ZXIoKQogewogICAgIG1fY2xpZW50LnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpOwotICAgIG1f
c25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICBtX3Nu
YXBSdWJiZXJiYW5kVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAgLyA2MCkpOwogCiAg
ICAgbV9jbGllbnQuZGVmZXJUZXN0c0ZvclJlYXNvbihyZWludGVycHJldF9jYXN0PFdoZWVsRXZl
bnRUZXN0VHJpZ2dlcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyPih0aGlzKSwgV2hlZWxFdmVu
dFRlc3RUcmlnZ2VyOjpSdWJiZXJiYW5kSW5Qcm9ncmVzcyk7CiB9CkBAIC02MzQsNyArNjM0LDcg
QEAgdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGFydFNjcm9sbFNuYXBUaW1lcigpCiB7CiAgICAg
aWYgKCFtX3Njcm9sbFNuYXBUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIG1fY2xpZW50LnN0
YXJ0U2Nyb2xsU25hcFRpbWVyKCk7Ci0gICAgICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKDEuMCAvIDYwLjApOworICAgICAgICBtX3Njcm9sbFNuYXBUaW1lci5zdGFydFJlcGVh
dGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAgICAgfQogCiAgICAgaWYgKCFtX3Njcm9sbFNuYXBU
aW1lci5pc0FjdGl2ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2Ft
ZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIu
bW0KaW5kZXggNmE1M2YxMjI5MjE5ZjQ4Y2VjOTcyMjg0ZDJiNTljN2Q4YTJhOWQ5MC4uZTRjNDIy
MTYyM2UxYzgwMDg1N2IwZWE2YzY1MGVkZWZkY2ZhNDQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRl
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250
cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCkBAIC00MCw3ICs0MCw3IEBAIFNPRlRfTElOS19DT05T
VEFOVF9NQVlfRkFJTChHYW1lQ29udHJvbGxlciwgR0NDb250cm9sbGVyRGlkRGlzY29ubmVjdE5v
dGlmaWNhdGlvCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2bXM7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMTZfbXM7CiAKIEdhbWVDb250
cm9sbGVyR2FtZXBhZFByb3ZpZGVyJiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlcjo6c2lu
Z2xldG9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
bWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDBkOGE3OWEwNTBkMThhYTg3MDg5
ZTk1OGU4MTIxNGUxY2RmYjE0ZWIuLjFjNmI1ZDgzYThhOTAzNDgzNTA5NDI1MTMxMzI2ZTljZjlh
NzMyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJ
REdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMzQsOCArMzQsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2
YWwgPSAwLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAw
LjA1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgQ29ubmVjdGlvbkRlbGF5SW50ZXJ2YWwgPSAwLjVf
czsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAwLjA1X3M7
CiAKIHN0YXRpYyBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBkZXZpY2VNYXRjaGluZ0RpY3Rp
b25hcnkodWludDMyX3QgdXNhZ2VQYWdlLCB1aW50MzJfdCB1c2FnZSkKIHsKQEAgLTIwMSw3ICsy
MDEsNyBAQCB2b2lkIEhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQWRkZWQoSU9ISUREZXZpY2VS
ZWYgZGV2aWNlKQogICAgICAgICAvLyBhbmQgd2UgZG9uJ3Qgd2FudCB0byB0ZWxsIHRoZSBjbGll
bnQgYWJvdXQgYW55IG9mIHRoZW0uCiAgICAgICAgIC8vIFRoZSBtX2Nvbm5lY3Rpb25EZWxheVRp
bWVyIGZpcmVzIGluIGEgc3Vic2VxdWVudCBzcGluIG9mIHRoZSBydW5sb29wIGFmdGVyIHdoaWNo
CiAgICAgICAgIC8vIGFueSBjb25uZWN0aW9uIGV2ZW50cyBhcmUgYWN0dWFsIG5ldyBkZXZpY2Vz
LgotICAgICAgICBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgICAgICBM
T0coR2FtZXBhZCwgIkRldmljZSAlcCB3YXMgYWRkZWQgd2hpbGUgc3VwcHJlc3NpbmcgY2FsbGJh
Y2tzLCBzbyB0aGlzIHNob3VsZCBiZSBhbiAnYWxyZWFkeSBjb25uZWN0ZWQnIGV2ZW50IiwgZGV2
aWNlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1h
Z2UuY3BwCmluZGV4IDNkYmE1NjIzYmFkZmJiY2RjODgyMmUzN2JmZDJkZGRlNzY0MWQ1N2MuLjg0
ZmU1NjQzYzcwMGMyNzk3YWM1NjFiZmJlNDgzYzBmNWU1YTU0OGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKQEAgLTIyMSw3ICsyMjEs
NyBAQCB2b2lkIEJpdG1hcEltYWdlOjpjbGVhclRpbWVyKCkKICAgICBtX2ZyYW1lVGltZXIgPSBu
dWxscHRyOwogfQogCi12b2lkIEJpdG1hcEltYWdlOjpzdGFydFRpbWVyKGRvdWJsZSBkZWxheSkK
K3ZvaWQgQml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoU2Vjb25kcyBkZWxheSkKIHsKICAgICBBU1NF
UlQoIW1fZnJhbWVUaW1lcik7CiAgICAgbV9mcmFtZVRpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcj4oKnRoaXMsICZCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik7CkBAIC0yODUsNyAr
Mjg1LDcgQEAgQml0bWFwSW1hZ2U6OlN0YXJ0QW5pbWF0aW9uUmVzdWx0IEJpdG1hcEltYWdlOjpp
bnRlcm5hbFN0YXJ0QW5pbWF0aW9uKCkKICAgICB9CiAKICAgICBBU1NFUlQoIW1fZnJhbWVUaW1l
cik7Ci0gICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSAtIHRpbWUpOworICAg
IHN0YXJ0VGltZXIoU2Vjb25kcyhtX2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSAtIHRpbWUpKTsKICAg
ICByZXR1cm4gU3RhcnRBbmltYXRpb25SZXN1bHQ6OlN0YXJ0ZWQ7CiB9CiAKQEAgLTI5OSw3ICsy
OTksNyBAQCB2b2lkIEJpdG1hcEltYWdlOjphZHZhbmNlQW5pbWF0aW9uKCkKICAgICAgICAgZG91
YmxlIHRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAgICAgICAgLy8gU3Rh
cnQgYSB0aW1lciB3aXRoIHRoZSByZW1haW5pbmcgdGltZSBmcm9tIG5vdyB0aWxsIHRoZSBtX2Rl
c2lyZWRGcmFtZURlY29kZVRpbWUuCiAgICAgICAgIGlmIChtX2Rlc2lyZWRGcmFtZURlY29kZVRp
bWVGb3JUZXN0aW5nID4gc3RkOjptYXgodGltZSwgbV9kZXNpcmVkRnJhbWVTdGFydFRpbWUpKSB7
Ci0gICAgICAgICAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3Rp
bmcgLSB0aW1lKTsKKyAgICAgICAgICAgIHN0YXJ0VGltZXIoU2Vjb25kcyhtX2Rlc2lyZWRGcmFt
ZURlY29kZVRpbWVGb3JUZXN0aW5nIC0gdGltZSkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKaW5kZXggZTAyM2NiOGYxOGRlZDk4YmM5ZGQ5NGYyZmFhZjc4ZmI4YjYzYTY3NC4u
ODQwZTJiZDcxMjIzNmEzMzM4Yjk4OWFhMGQ5MTkzOWZhMzFmNTYzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC0xODUsNyArMTg1LDcg
QEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJUaW1lcigpOwotICAgIHZv
aWQgc3RhcnRUaW1lcihkb3VibGUgZGVsYXkpOworICAgIHZvaWQgc3RhcnRUaW1lcihTZWNvbmRz
IGRlbGF5KTsKICAgICBib29sIGlzQml0bWFwSW1hZ2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biB0cnVlOyB9CiAgICAgdm9pZCBkdW1wKFRleHRTdHJlYW0mKSBjb25zdCBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5kZXgg
MDNhNzhlN2FmYThlNDFlNWVlNDU5Y2YxNWRjN2ZhZTA2YzYxYjYwYy4uZjU2MjlkOGFmNjYzM2Vj
ZTA0Y2E1OWNmODJiYzc0ZGRhNDM3ZDQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC0zMjksNyArMzI5LDcgQEAgY29uc3QgdW5zaWdu
ZWQgY1RhcmdldFVuZGVyTWVtb3J5UHJlc3N1cmVJbmFjdGl2ZUZvbnREYXRhID0gMzA7CiBSZWZQ
dHI8Rm9udD4gRm9udENhY2hlOjpmb250Rm9yRmFtaWx5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udEZl
YXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5n
cyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGJvb2wgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKQog
ewogICAgIGlmICghbV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcHVyZ2VUaW1l
ci5zdGFydE9uZVNob3QoMG1zKTsKKyAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogCiAgICAgRm9udFBsYXRmb3JtRGF0YSogcGxhdGZvcm1EYXRhID0gZ2V0Q2FjaGVkRm9u
dFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgZm9udEZhY2VGZWF0dXJlcywg
Zm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSk7CiAgICAgaWYg
KCFwbGF0Zm9ybURhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCmluZGV4IDQ5MzE2ODZi
MzE1MTI3NzE2MjUwNDg4OGI3MTVlMjgxYTI3NTkyMDYuLjVlMDdjNWY3N2YzMGIxOTY2YTJkMWZk
Y2U1MGEyMTkzZjAxMmVhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwCkBAIC0zMyw3
ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBw
ZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMg
cGVuZGluZ0FjdGlvbkludGVydmFsID0gMC4xX3M7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXI6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIoQ2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2Ns
aWVudCgmY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCmluZGV4IDBkYzg4YzdkOTM0ZDE0YTNmNDRjZDgwNzRkMmY4YmJkZGYzNjM2
NzMuLmUzYzk3OGFlM2JjZTViMTYwMTg4NDU2YTViNTU4YWNmYmFlOTU4ODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTEwOTgs
NyArMTA5OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXI6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoKQogICAg
IGlmIChtX3ByaXZhdGUtPm5ldHdvcmtTdGF0ZSgpID49IEZvcm1hdEVycm9yICYmIG1fcHJpdmF0
ZS0+cmVhZHlTdGF0ZSgpIDwgSGF2ZU1ldGFkYXRhKSB7CiAgICAgICAgIG1fY2xpZW50Lm1lZGlh
UGxheWVyRW5naW5lRmFpbGVkVG9Mb2FkKCk7CiAgICAgICAgIGlmIChpbnN0YWxsZWRNZWRpYUVu
Z2luZXMoKS5zaXplKCkgPiAxICYmIChtX2NvbnRlbnRNSU1FVHlwZS5pc0VtcHR5KCkgfHwgbmV4
dEJlc3RNZWRpYUVuZ2luZShtX2N1cnJlbnRNZWRpYUVuZ2luZSkpKSB7Ci0gICAgICAgICAgICBt
X3JlbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fcmVsb2FkVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCmlu
ZGV4IDMyOWNhMTAwOWJjYThkYTFhOGNlMTAxMTgyMDM1MGZmZTk5NGEzZjkuLmIzNDA0MmFjNWJi
N2NlZjVhOTQzYjE5NThhMjIwODM0ZDQ5MWJlZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCkBAIC0xMjQsNyArMTI0LDcgQEAgcHVibGlj
OgogICAgICAgICBpZiAobV9wdXJnZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBtX3B1
cmdlVGltZXIuc3RvcCgpOwogCi0gICAgICAgIGNvbnN0IGRvdWJsZSBzY3JhdGNoQnVmZmVyUHVy
Z2VJbnRlcnZhbCA9IDI7CisgICAgICAgIGNvbnN0IGF1dG8gc2NyYXRjaEJ1ZmZlclB1cmdlSW50
ZXJ2YWwgPSAyX3M7CiAgICAgICAgIG1fcHVyZ2VUaW1lci5zdGFydE9uZVNob3Qoc2NyYXRjaEJ1
ZmZlclB1cmdlSW50ZXJ2YWwpOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZG
T2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQppbmRleCA2ZWU4YmM0ZWZiMzE3YWJmMTY2MzRh
NGMyOTM1NGViODVjNDlhZTZkLi44ZGVlMDljZTA4NmFkYWY1YmUyN2MyMDA4YWNiMjVkZDg5MmMz
NWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpD
Lm1tCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6
dXBkYXRlT3B0aW9ucyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgY2hhcmFjdGVyaXMKIAogICAgIEFT
U0VSVChtX29wdGlvbnMuY29udGFpbnMocHJlZmVycmVkT3B0aW9uKSk7CiAgICAgbV9zZWxlY3Rl
ZE9wdGlvbiA9IG1fb3B0aW9ucy5nZXQocHJlZmVycmVkT3B0aW9uKTsKLSAgICBtX3NlbGVjdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxlY3Rl
ZE9wdGlvbihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqIG9wdGlvbikKQEAgLTE3OCw3ICsx
NzgsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZXRTZWxlY3RlZE9wdGlv
bihNZWRpYVNlbGVjdGlvbk9wdGlvbkFWRk9iakMqCiAgICAgbV9zZWxlY3RlZE9wdGlvbiA9IG9w
dGlvbjsKICAgICBpZiAobV9zZWxlY3Rpb25UaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3Nl
bGVjdGlvblRpbWVyLnN0b3AoKTsKLSAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX3NlbGVjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjpzZWxlY3Rpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQy5tbQppbmRleCBmZjI5OTRmYmE2NGE3OTg2MzYzZDI4M2VkNGY1MjhkZDhl
MTM2NTYxLi40ZmUwZjYwMTQxZjRjM2U1NzkwYjY2N2RkNmZiNmI2MmI2ODAyNzI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0yMjgsNyArMjI4LDcgQEAgTWVkaWFQbGF5ZXI6OlN1
cHBvcnRzVHlwZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN1cHBvcnRz
VHlwZShjb24KICAgICAgICAgb3V0cHV0Q29kZWNzID0gW2dldEFWU3RyZWFtRGF0YVBhcnNlckNs
YXNzKCkgb3V0cHV0TUlNRUNvZGVjUGFyYW1ldGVyRm9ySW5wdXRNSU1FQ29kZWNQYXJhbWV0ZXI6
b3V0cHV0Q29kZWNzXTsKIAogICAgIE5TU3RyaW5nICp0eXBlU3RyaW5nID0gW05TU3RyaW5nIHN0
cmluZ1dpdGhGb3JtYXQ6QCIlQDsgY29kZWNzPVwiJUBcIiIsIChOU1N0cmluZyAqKXBhcmFtZXRl
cnMudHlwZSwgKE5TU3RyaW5nICopb3V0cHV0Q29kZWNzXTsKLSAgICByZXR1cm4gW2dldEFWVVJM
QXNzZXRDbGFzcygpIGlzUGxheWFibGVFeHRlbmRlZE1JTUVUeXBlOnR5cGVTdHJpbmddID8gTWVk
aWFQbGF5ZXI6OklzU3VwcG9ydGVkIDogTWVkaWFQbGF5ZXI6Ok1heUJlU3VwcG9ydGVkOzsKKyAg
ICByZXR1cm4gW2dldEFWVVJMQXNzZXRDbGFzcygpIGlzUGxheWFibGVFeHRlbmRlZE1JTUVUeXBl
OnR5cGVTdHJpbmddID8gTWVkaWFQbGF5ZXI6OklzU3VwcG9ydGVkIDogTWVkaWFQbGF5ZXI6Ok1h
eUJlU3VwcG9ydGVkOwogfQogCiAjcHJhZ21hIG1hcmsgLQpAQCAtMzk2LDcgKzM5Niw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrV2l0aFRvbGVyYW5j
ZShjb25zdCBNZWRpYVRpbWUmIHRpCiAKICAgICBpZiAobV9zZWVrVGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgbV9zZWVrVGltZXIuc3RvcCgpOwotICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3NlZWtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtJbnRlcm5hbCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcAppbmRleCAw
Y2Y3Zjc3ZTYxMWFkMmJkNGViMDcyMzUwMDE4YWRjNGJjZGI4NDVmLi4wY2M0ZmFjNThhMzA0MmFi
NjY4NGNlMTZiZTcwZDRjMjUwYWY5N2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIExh
eWVyUG9vbDo6c2NoZWR1bGVQcnVuZSgpCiB7CiAgICAgaWYgKG1fcHJ1bmVUaW1lci5pc0FjdGl2
ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgxKTsK
KyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDFfcyk7CiB9CiAKIHZvaWQgTGF5ZXJQb29s
OjpwcnVuZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCmluZGV4IDM4YTRkMjg1NTI2YzRmMmMyZGY3
Njc4MzUxYWQzMTBhNzM3ODYxZjMuLjI2NTc3YzkzYmU4MDQ4MzM1MzMyMWM4MWVhZDRhNjE2ZmFk
MWQ4NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1Rp
bGVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlQ29udHJvbGxlci5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1zdGF0aWMgY29uc3QgYXV0byB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IDUwMCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgdGlsZVNpemVV
cGRhdGVEZWxheSA9IDAuNV9zOwogCiBTdHJpbmcgVGlsZUNvbnRyb2xsZXI6OnRpbGVHcmlkQ29u
dGFpbmVyTGF5ZXJOYW1lKCkKIHsKQEAgLTI2Niw3ICsyNjYsNyBAQCB2b2lkIFRpbGVDb250cm9s
bGVyOjpzZXRJc0luV2luZG93KGJvb2wgaXNJbldpbmRvdykKICAgICBpZiAobV9pc0luV2luZG93
KQogICAgICAgICBzZXROZWVkc1JldmFsaWRhdGVUaWxlcygpOwogICAgIGVsc2UgewotICAgICAg
ICBjb25zdCBkb3VibGUgdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgPSA0OworICAgICAgICBjb25z
dCBTZWNvbmRzIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0ID0gNF9zOwogICAgICAgICBzY2hlZHVs
ZVRpbGVSZXZhbGlkYXRpb24odGlsZVJldmFsaWRhdGlvblRpbWVvdXQpOwogICAgIH0KIH0KQEAg
LTQ1Niw3ICs0NTYsNyBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjphZGp1c3RUaWxlQ292ZXJhZ2VS
ZWN0KEZsb2F0UmVjdCYgY292ZXJhZ2VSZWN0LCBjb25zdCBGbG9hdAogI2VuZGlmCiB9CiAKLXZv
aWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUgaW50ZXJ2
YWwpCit2b2lkIFRpbGVDb250cm9sbGVyOjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24oU2Vjb25k
cyBpbnRlcnZhbCkKIHsKICAgICBpZiAobV90aWxlUmV2YWxpZGF0aW9uVGltZXIuaXNBY3RpdmUo
KSAmJiBtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5uZXh0RmlyZUludGVydmFsKCkgPCBpbnRlcnZh
bCkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKaW5kZXggOGM4NGM3Y2M5Mjc2NmM0NmY5NzU5MTE3
MTFmODk3YmRlYmIxOGRhOC4uOGNhZTQ0Nzc4M2ZiZDBkNDdkZTQ1ZmM4NWNhZGU3ZGI4MzE2Njk4
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxl
Q29udHJvbGxlci5oCkBAIC0xMzQsNyArMTM0LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBU
aWxlR3JpZCYgdGlsZUdyaWQoKSB7IHJldHVybiAqbV90aWxlR3JpZDsgfQogCi0gICAgdm9pZCBz
Y2hlZHVsZVRpbGVSZXZhbGlkYXRpb24oZG91YmxlIGludGVydmFsKTsKKyAgICB2b2lkIHNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFsKTsKIAogICAgIGJvb2wgaXNJbldp
bmRvdygpIGNvbnN0IHsgcmV0dXJuIG1faXNJbldpbmRvdzsgfQogICAgIGZsb2F0IHRvcENvbnRl
bnRJbnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fdG9wQ29udGVudEluc2V0OyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNw
cAppbmRleCA3OTIzOTY3ZWY1NzVmYWQxYmIzMmYxYWYwM2M5ODk4ZmZiYjE3MTVjLi4zMWQ2YTU4
OGU4OTNlNzdmYmY0YzQzMDc5OTQ1OWRkODQ2MGI5YjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKQEAgLTc5
LDcgKzc5LDcgQEAgVGlsZUNvdmVyYWdlTWFwOjp+VGlsZUNvdmVyYWdlTWFwKCkKIHZvaWQgVGls
ZUNvdmVyYWdlTWFwOjpzZXROZWVkc1VwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZVRpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRpbGVDb3Zl
cmFnZU1hcDo6dXBkYXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKaW5kZXggMjhmMjljYmRlOGUyMWY3MTgwMWI4ODYy
Mjc5NTYxZWY5MjJmYTFjMS4uMjNiMzhhN2MyMjcwYmZiMTM3OWM3MjE1YWQ5Y2ExZmNhZjI3MmFl
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdy
aWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlk
LmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgVGlsZUdyaWQ6OnJldmFsaWRhdGVUaWxlcyhU
aWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9uUG9saWN5KQogICAgIFRpbGVDb2hvcnQgY3Vy
ckNvaG9ydCA9IG5leHRUaWxlQ29ob3J0KCk7CiAgICAgdW5zaWduZWQgdGlsZXNJbkNvaG9ydCA9
IDA7CiAKLSAgICBkb3VibGUgbWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpOworICAgIFNlY29uZHMgbWluaW11bVJldmFs
aWRhdGlvblRpbWVyRHVyYXRpb24gPSBTZWNvbmRzOjppbmZpbml0eSgpOwogICAgIGJvb2wgbmVl
ZHNUaWxlUmV2YWxpZGF0aW9uID0gZmFsc2U7CiAgICAgCiAgICAgYXV0byB0aWxlU2l6ZSA9IG1f
Y29udHJvbGxlci50aWxlU2l6ZSgpOwpAQCAtMzgxLDggKzM4MSw4IEBAIHZvaWQgVGlsZUdyaWQ6
OnJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeSB2YWxpZGF0aW9uUG9saWN5KQog
ICAgICAgICAgICAgICAgIGZvciAoYXV0byYgY29ob3J0IDogbV9jb2hvcnRMaXN0KSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmIChjb2hvcnQuY29ob3J0ICE9IHRpbGVJbmZvLmNvaG9ydCkKICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgICAgICBkb3Vi
bGUgdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMCkgewor
ICAgICAgICAgICAgICAgICAgICBhdXRvIHRpbWVVbnRpbENvaG9ydEV4cGlyZXMgPSBjb2hvcnQu
dGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAgICAgICAgICAgICAgICBpZiAodGltZVVudGls
Q29ob3J0RXhwaXJlcyA+IDBfcykgewogICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bVJl
dmFsaWRhdGlvblRpbWVyRHVyYXRpb24gPSBzdGQ6Om1pbihtaW5pbXVtUmV2YWxpZGF0aW9uVGlt
ZXJEdXJhdGlvbiwgdGltZVVudGlsQ29ob3J0RXhwaXJlcyk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICB9
IGVsc2UKQEAgLTQ3OCw3ICs0NzgsNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3JpZDo6
bmV4dFRpbGVDb2hvcnQoKSBjb25zdAogCiB2b2lkIFRpbGVHcmlkOjpzdGFydGVkTmV3Q29ob3J0
KFRpbGVDb2hvcnQgY29ob3J0KQogewotICAgIG1fY29ob3J0TGlzdC5hcHBlbmQoVGlsZUNvaG9y
dEluZm8oY29ob3J0LCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkpOworICAgIG1fY29o
b3J0TGlzdC5hcHBlbmQoVGlsZUNvaG9ydEluZm8oY29ob3J0LCBNb25vdG9uaWNUaW1lOjpub3co
KSkpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAoIW1fY29udHJvbGxlci5pc0luV2luZG93
KCkpCiAgICAgICAgIHRpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcigpLnRpbGVDb250cm9sbGVy
R2FpbmVkVW5wYXJlbnRlZFRpbGVzKCZtX2NvbnRyb2xsZXIpOwpAQCAtNDk3LDE3ICs0OTcsMTcg
QEAgVGlsZUdyaWQ6OlRpbGVDb2hvcnQgVGlsZUdyaWQ6Om9sZGVzdFRpbGVDb2hvcnQoKSBjb25z
dAogCiB2b2lkIFRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwoKQogewotICAgIGNvbnN0
IGRvdWJsZSBjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzID0gMTsKKyAgICBjb25zdCBhdXRvIGNv
aG9ydFJlbW92YWxJbnRlcnZhbCA9IDFfczsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lciwgb3Ig
cmVzY2hlZHVsZSB0aGUgdGltZXIgZnJvbSBub3cgaWYgaXQncyBhbHJlYWR5IGFjdGl2ZS4KICAg
ICBpZiAoIW1fY29ob3J0UmVtb3ZhbFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY29ob3J0
UmVtb3ZhbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMpOwor
ICAgICAgICBtX2NvaG9ydFJlbW92YWxUaW1lci5zdGFydFJlcGVhdGluZyhjb2hvcnRSZW1vdmFs
SW50ZXJ2YWwpOwogfQogCi1kb3VibGUgVGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50
aWxFeHBpcmF0aW9uKCkKK1NlY29uZHMgVGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50
aWxFeHBpcmF0aW9uKCkKIHsKLSAgICBkb3VibGUgY29ob3J0TGlmZVRpbWVTZWNvbmRzID0gMjsK
LSAgICBkb3VibGUgdGltZVRocmVzaG9sZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
IC0gY29ob3J0TGlmZVRpbWVTZWNvbmRzOworICAgIGNvbnN0IFNlY29uZHMgY29ob3J0TGlmZVRp
bWUgPSBTZWNvbmRzKDIpOworICAgIE1vbm90b25pY1RpbWUgdGltZVRocmVzaG9sZCA9IE1vbm90
b25pY1RpbWU6Om5vdygpIC0gY29ob3J0TGlmZVRpbWU7CiAgICAgcmV0dXJuIGNyZWF0aW9uVGlt
ZSAtIHRpbWVUaHJlc2hvbGQ7CiB9CiAKQEAgLTUxOCw3ICs1MTgsNyBAQCB2b2lkIFRpbGVHcmlk
Ojpjb2hvcnRSZW1vdmFsVGltZXJGaXJlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICB3aGlsZSAoIW1fY29ob3J0TGlzdC5pc0VtcHR5KCkgJiYgbV9jb2hvcnRMaXN0LmZpcnN0KCku
dGltZVVudGlsRXhwaXJhdGlvbigpIDwgMCkgeworICAgIHdoaWxlICghbV9jb2hvcnRMaXN0Lmlz
RW1wdHkoKSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAw
X3MpIHsKICAgICAgICAgVGlsZUNvaG9ydEluZm8gZmlyc3RDb2hvcnQgPSBtX2NvaG9ydExpc3Qu
dGFrZUZpcnN0KCk7CiAgICAgICAgIHJlbW92ZVRpbGVzSW5Db2hvcnQoZmlyc3RDb2hvcnQuY29o
b3J0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9UaWxlR3JpZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuaAppbmRleCAzMjUzMzZmODE5MWU0NTgyM2M3NTVkODc4MmM0MmFhMGRlNTc2NTFkLi40
MjY5Mzc3NGJhNGYxYzVhYjRjZDM0ZTI4YTMyN2ZlZTk4YWUwYzRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKQEAgLTEyMSwxMyArMTIxLDEz
IEBAIHByaXZhdGU6CiAKICAgICBzdHJ1Y3QgVGlsZUNvaG9ydEluZm8gewogICAgICAgICBUaWxl
Q29ob3J0IGNvaG9ydDsKLSAgICAgICAgZG91YmxlIGNyZWF0aW9uVGltZTsgLy8gaW4gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkuCi0gICAgICAgIFRpbGVDb2hvcnRJbmZvKFRpbGVDb2hv
cnQgaW5Db2hvcnQsIGRvdWJsZSBpblRpbWUpCisgICAgICAgIE1vbm90b25pY1RpbWUgY3JlYXRp
b25UaW1lOworICAgICAgICBUaWxlQ29ob3J0SW5mbyhUaWxlQ29ob3J0IGluQ29ob3J0LCBNb25v
dG9uaWNUaW1lIGluVGltZSkKICAgICAgICAgICAgIDogY29ob3J0KGluQ29ob3J0KQogICAgICAg
ICAgICAgLCBjcmVhdGlvblRpbWUoaW5UaW1lKQogICAgICAgICB7IH0KIAotICAgICAgICBkb3Vi
bGUgdGltZVVudGlsRXhwaXJhdGlvbigpOworICAgICAgICBTZWNvbmRzIHRpbWVVbnRpbEV4cGly
YXRpb24oKTsKICAgICB9OwogCiAgICAgdm9pZCByZW1vdmVBbGxUaWxlcygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcApp
bmRleCBiODFkNThlNjNkMThiMjZhZjRkYjE0ZmE1YzNhOGEwZmUwYmZmMTQ4Li5mOTRmNGExNDcw
NDc3MmU4ODIxZGFiZjYxM2UzODc0MDNlOTMyYWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcApAQCAtMzMsOCArMzMs
OCBAQAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
IAotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSA1
MDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN1cmZhY2VBZ2VCZWZvcmVNYXJraW5n
UHVyZ2VhYmxlID0gMnM7Citjb25zdCBTZWNvbmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9IDAuNV9z
OworY29uc3QgU2Vjb25kcyBzdXJmYWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJfczsK
IGNvbnN0IHNpemVfdCBkZWZhdWx0TWF4aW11bUJ5dGVzQ2FjaGVkID0gMTAyNCAqIDEwMjQgKiA2
NDsKIAogLy8gV2UnbGwgbmV2ZXIgYWxsb3cgbW9yZSB0aGFuIDEvMiBvZiB0aGUgY2FjaGUgdG8g
YmUgZmlsbGVkIHdpdGggaW4tdXNlIHN1cmZhY2VzLCBiZWNhdXNlCkBAIC0yODMsNyArMjgzLDcg
QEAgdm9pZCBJT1N1cmZhY2VQb29sOjpjb2xsZWN0SW5Vc2VTdXJmYWNlcygpCiBib29sIElPU3Vy
ZmFjZVBvb2w6Om1hcmtPbGRlclN1cmZhY2VzUHVyZ2VhYmxlKCkKIHsKICAgICBib29sIG1hcmtl
ZEFsbFN1cmZhY2VzID0gdHJ1ZTsKLSAgICBhdXRvIG1hcmtUaW1lID0gc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBtYXJrVGltZSA9IE1vbm90b25pY1RpbWU6Om5v
dygpOwogCiAgICAgZm9yIChhdXRvJiBzdXJmYWNlQW5kRGV0YWlscyA6IG1fc3VyZmFjZURldGFp
bHMpIHsKICAgICAgICAgaWYgKHN1cmZhY2VBbmREZXRhaWxzLnZhbHVlLmhhc01hcmtlZFB1cmdl
YWJsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lP
U3VyZmFjZVBvb2wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3Vy
ZmFjZVBvb2wuaAppbmRleCAzNDlhM2JjM2QyN2M1NDY5NmQ3YjViNTYzOTVmM2YzZTJmMjdmM2M0
Li45ODIxYTRmZjA5NzEwMGY1NWUxYmYzYzQ4MjAwNmViYzk0ZmUxMDk0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCkBAIC02
Myw5ICs2Myw5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICA6IGhhc01hcmtlZFB1cmdlYWJsZShm
YWxzZSkKICAgICAgICAgeyB9CiAKLSAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBs
YXN0VXNlVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOyB9CisgICAgICAg
IHZvaWQgcmVzZXRMYXN0VXNlVGltZSgpIHsgbGFzdFVzZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsgfQogCi0gICAgICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQg
bGFzdFVzZVRpbWU7CisgICAgICAgIE1vbm90b25pY1RpbWUgbGFzdFVzZVRpbWU7CiAgICAgICAg
IGJvb2wgaGFzTWFya2VkUHVyZ2VhYmxlOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1l
ci5jcHAKaW5kZXggNGZhZjc3ZTI1NGUyYWFjNDA4YjRlODM2M2Y0OGUzZWQyMzBmZmQ3Ni4uZGJk
M2IzMjAxMjA3YjU3ZmY0ODE4OTQ4OTExMDVjYTcwNDY5ZjM3OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdp
dGhUaW1lci5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgYXV0byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzIHsgMSB9Oworc3RhdGljIGNvbnN0IGF1dG8gc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkg
PSAxX3M7CiBzdGF0aWMgY29uc3QgaW50IG1heFN1YmltYWdlQ2FjaGVTaXplID0gMzAwOwogCiBz
dHJ1Y3QgU3ViaW1hZ2VSZXF1ZXN0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggZmVhZGRkZGE4ZGM0NjQ5NTZkNTQwNTJlMDVhZGE3NzA2
ZDQ4M2Y5MS4uOTkzYmU1OTg2NmY3Njk2YTZhOTUxZjczZjdkZDkyNGQ3MGYxYTdkNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTM2Nyw3
ICszNjcsNyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2hhbmdlUGlwZWxp
bmVTdGF0ZShHc3RTdGF0ZSBuZXdTdGF0ZSkKICAgICBpZiAobmV3U3RhdGUgPT0gR1NUX1NUQVRF
X1JFQURZICYmICFtX3JlYWR5VGltZXJIYW5kbGVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgLy8g
TWF4IGludGVydmFsIGluIHNlY29uZHMgdG8gc3RheSBpbiB0aGUgUkVBRFkgc3RhdGUgb24gbWFu
dWFsCiAgICAgICAgIC8vIHN0YXRlIGNoYW5nZSByZXF1ZXN0cy4KLSAgICAgICAgc3RhdGljIGNv
bnN0IGRvdWJsZSByZWFkeVN0YXRlVGltZXJEZWxheSA9IDYwOworICAgICAgICBzdGF0aWMgY29u
c3QgU2Vjb25kcyByZWFkeVN0YXRlVGltZXJEZWxheSA9IDYwX3M7CiAgICAgICAgIG1fcmVhZHlU
aW1lckhhbmRsZXIuc3RhcnRPbmVTaG90KHJlYWR5U3RhdGVUaW1lckRlbGF5KTsKICAgICB9IGVs
c2UgaWYgKG5ld1N0YXRlICE9IEdTVF9TVEFURV9SRUFEWSkKICAgICAgICAgbV9yZWFkeVRpbWVy
SGFuZGxlci5zdG9wKCk7CkBAIC0xODU4LDcgKzE4NTgsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZmZXJpbmcoKQogICAgIGlmIChzaG91bGREb3du
bG9hZCkgewogICAgICAgICBHU1RfREVCVUcoIkVuYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7
CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyB8
IGZsYWdEb3dubG9hZCwgbnVsbHB0cik7Ci0gICAgICAgIG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0
aW5nKDAuMik7CisgICAgICAgIG1fZmlsbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMl9zKTsKICAg
ICB9IGVsc2UgewogICAgICAgICBHU1RfREVCVUcoIkRpc2FibGluZyBvbi1kaXNrIGJ1ZmZlcmlu
ZyIpOwogICAgICAgICBnX29iamVjdF9zZXQobV9waXBlbGluZS5nZXQoKSwgImZsYWdzIiwgZmxh
Z3MgJiB+ZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCA5NjkzNjlhMzVlNzk3MTU5OGVj
ZjE4ZWY5ZjI0ODA5MWZiNWNkNTY4Li5iZWNlZjIxM2ZlZjQ3MTlmM2VmMDkzY2EyYzg5OWUxNDY5
MzgxNzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UuY3BwCkBAIC02NTMsNyArNjUzLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICNpZiBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCiAgICAgaWYgKCFtX3BsYXllci0+Y2xpZW50
KCkubWVkaWFQbGF5ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpKSB7CiAgICAgICAg
IExvY2tIb2xkZXIgbG9ja2VyKG1fZHJhd011dGV4KTsKLSAgICAgICAgbV9kcmF3VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQobV9kcmF3TXV0ZXgpOwogICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtNjc1LDcgKzY3NSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2FtcGxlKiBzYW1wbGUpCiAgICAgICAgIEFTU0VS
VCghaXNNYWluVGhyZWFkKCkpOwogCiAgICAgICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fZHJhd011
dGV4KTsKLSAgICAgICAgbV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Ry
YXdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV9kcmF3Q29uZGl0aW9uLndhaXQo
bV9kcmF3TXV0ZXgpOwogICAgIH0KICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIu
Y3BwCmluZGV4IGQxODFlY2YwMTc4Y2UyYTU3ZGYyMWIxNTIxYzA0MWY2YjcyNzk5MjguLmNjYzY5
NDE5OWQxNWFkODUxNzA5ZWE3ZThmYjUyZjQzNGM2NDA1YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1Np
bmtHU3RyZWFtZXIuY3BwCkBAIC0xMTksNyArMTE5LDcgQEAgcHVibGljOgogICAgICAgICBtX3Nh
bXBsZSA9IG51bGxwdHI7CiAjZWxzZQogICAgICAgICBtX3NpbmsgPSBzaW5rOwotICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgbV9kYXRhQ29uZGl0aW9uLndhaXQobV9zYW1wbGVNdXRleCk7CiAjZW5kaWYK
ICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KaW5kZXgg
OTY4YTJkODhiNjUxYmNiYjIzMDYyMjcxMzNkZjU2MGMxZWYyZmI0Zi4uMTk4MjM1MTkyZmEyYjgx
M2VkYzRmNWY3ZThjZmY3YjJkNjFmYzQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWso
Y29uc3QgTWVkaWFUaW1lJiBpblRpbWUpCiAgICAgaWYgKG1heE1lZGlhVGltZVNlZWthYmxlKCkg
Pj0gbV9zZWVrVG8pCiAgICAgICAgIGRvU2VlaygpOwogICAgIGVsc2UgCi0gICAgICAgIG1fc2Vl
a1RpbWVyLnN0YXJ0KDAsIDAuNWYpOworICAgICAgICBtX3NlZWtUaW1lci5zdGFydCgwX3MsIDAu
NV9zKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6ZG9TZWVrKCkgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4
dHVyZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0Jp
dG1hcFRleHR1cmVQb29sLmNwcAppbmRleCAxYjQ2ZjM3NTI0OTg5MDdlMDBiYzI4MmQyZDlkNmYx
YWY3M2I0NTllLi45MWMwMzI0MDg2N2I0NmVjOWI5NzVkZDM0ODliZjdlYzFhYWQzMGZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4
dHVyZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJh
bmNlID0gMzsKLXN0YXRpYyBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkVGV4dHVyZXNUaW1l
ckludGVydmFsID0gMC41Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc19yZWxlYXNlVW51c2VkVGV4
dHVyZXNUaW1lckludGVydmFsID0gMC41X3M7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wp
CiBCaXRtYXBUZXh0dXJlUG9vbDo6Qml0bWFwVGV4dHVyZVBvb2woUmVmUHRyPEdyYXBoaWNzQ29u
dGV4dDNEPiYmIGNvbnRleHQzRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZv
cm1MYXllclByb3h5LmNwcAppbmRleCA1ZTNjODJmMWYzM2FkNTI5MjUwNjY4OTZjOWMyMTRhMzNi
ZjhiMzA1Li45YzJiMTFiM2Y4YTFhNmM3YmVkYWY4ZjVjNTFlNjA1MzgzY2MyMmNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
clBsYXRmb3JtTGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCkBAIC0zNCw3
ICszNCw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXIuaCIK
IAogY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAxOwotY29u
c3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsID0gMC41OworY29u
c3QgU2Vjb25kcyBzX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCA9IDAuNV9zOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE2Myw3ICsxNjMsNyBAQCBib29sIFRleHR1cmVN
YXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OnNjaGVkdWxlVXBkYXRlT25Db21wb3NpdG9yVGhyZWFk
KHN0ZDo6ZnVuYwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBtX2NvbXBvc2l0b3JUaHJl
YWRVcGRhdGVGdW5jdGlvbiA9IFdURk1vdmUodXBkYXRlRnVuY3Rpb24pOwotICAgIG1fY29tcG9z
aXRvclRocmVhZFVwZGF0ZVRpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb21wb3NpdG9y
VGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHJldHVybiB0cnVlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwCmluZGV4IDA1NWVmOTk1NDllNjk0MjYyNDEwM2Q4ODhjYmM3NTRkNmZiNmQzZWMu
LjBkYzY5MjVhNTE5MTkxODEzMjJkOGI2YzVjNzAwMzE1ODQxYzk4ZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0x
MjAwLDcgKzEyMDAsNyBAQCBib29sIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6YWRkQW5pbWF0
aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsCiAKICAgICBtX2xhc3RBbmlt
YXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGRlbGF5QXNO
ZWdhdGl2ZVRpbWVPZmZzZXQ7CiAgICAgbV9hbmltYXRpb25zLmFkZChUZXh0dXJlTWFwcGVyQW5p
bWF0aW9uKGtleWZyYW1lc05hbWUsIHZhbHVlTGlzdCwgYm94U2l6ZSwgKmFuaW0sIGxpc3RzTWF0
Y2gsIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSwgMCwgVGV4dHVyZU1hcHBlckFuaW1hdGlvbjo6
QW5pbWF0aW9uU3RhdGU6OlBsYXlpbmcpKTsKLSAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9hbmltYXRpb25TdGFydGVkVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgZGlkQ2hhbmdlQW5pbWF0aW9ucygpOwogICAgIHJldHVybiB0cnVlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5j
cHAKaW5kZXggM2Y1NjczZThmZDUzNjVmMDhjZmQ2OWVmYzNmYWFlYzQzMjMzNmE2MS4uNmI4NGI2
MzQ5YTAwZmQ2Y2E1YTE5NjBmZmM4MzBiNzg3MmI0ZThkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1h
Z2VCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCkBAIC0xNDQsNyArMTQ0
LDcgQEAgdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6cmVsZWFzZVN1cmZhY2VJZk5lZWRl
ZCgpCiAgICAgbV9zdXJmYWNlID0gbnVsbHB0cjsKIH0KIAotc3RhdGljIGNvbnN0IGRvdWJsZSBj
bGVhckNvbnRlbnRzVGltZXJJbnRlcnZhbCA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBjbGVh
ckNvbnRlbnRzVGltZXJJbnRlcnZhbCA9IFNlY29uZHMoMyk7CiAKIHZvaWQgQ29vcmRpbmF0ZWRJ
bWFnZUJhY2tpbmc6OnVwZGF0ZVZpc2liaWxpdHlJZk5lZWRlZChib29sJiBjaGFuZ2VkVG9WaXNp
YmxlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFu
aW1hdG9yR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRv
ckd0ay5jcHAKaW5kZXggMTNlNjM1NGIwOTI2MTM0ZDg3ZjlmYzA5ZGZjZjEyMmFjMTk3Y2Q1ZS4u
YjI0Y2ZhNmExZjU4NzY0NzFhNjUwZjA2ZGU2Y2IxOTZkNDg1Nzg5YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCkBAIC0xOTEsNyAr
MTkxLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlv
blRpbWVyRmlyZWQoKQogICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHRpY2tUaW1lID0gMSAv
IGZyYW1lUmF0ZTsKICAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtVGltZXJJbnRl
cnZhbCA9IC4wMDE7CiAgICAgICAgIGRvdWJsZSBkZWx0YVRvTmV4dEZyYW1lID0gc3RkOjptYXgo
dGlja1RpbWUgLSAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjdXJyZW50VGltZSks
IG1pbmltdW1UaW1lckludGVydmFsKTsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0
aW9uVGltZXIuc3RhcnRPbmVTaG90KGRlbHRhVG9OZXh0RnJhbWUpOworICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWx0YVRvTmV4
dEZyYW1lKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xsYmFycygpOwog
fQpAQCAtMjEzLDcgKzIxMyw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6OnNob3dPdmVybGF5
U2Nyb2xsYmFycygpCiAgICAgaWYgKG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRhcmdldCAh
PSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25DdXJyZW50KSB7CiAgICAgICAgIG1fb3Zlcmxh
eVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0
aW9uRHVyYXRpb247Ci0gICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlCiAgICAgICAgIGhpZGVPdmVybGF5U2Nyb2xs
YmFycygpOwogfQpAQCAtMjMzLDcgKzIzMyw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Omhp
ZGVPdmVybGF5U2Nyb2xsYmFycygpCiAgICAgICAgIHJldHVybjsKICAgICBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAr
IG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKICAgICBtX292ZXJsYXlTY3Jv
bGxiYXJBbmltYXRpb25FbmRUaW1lID0gbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRU
aW1lICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uRHVyYXRpb24gKyBvdmVyZmxvd1Njcm9s
bGJhcnNBbmltYXRpb25IaWRlRGVsYXk7Ci0gICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSk7
CisgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29u
ZHMob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KSk7CiB9CiAKIHZvaWQgU2Ny
b2xsQW5pbWF0b3JHdGs6Om1vdXNlRW50ZXJlZENvbnRlbnRBcmVhKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCmluZGV4IDY2YTI2ZTFlNjhlM2M0
ZDU3N2FiM2ViNTY4NTE4ZmFjNThmNTk2OWUuLjlhYzA1ZmM1NTE0ZTE2NDYwY2JhYzdhNDQ3YmJh
NzhkMjFhNzI5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdh
Y3lUaWxlQ2FjaGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRp
bGVDYWNoZS5tbQpAQCAtNDIwLDcgKzQyMCw3IEBAIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpmaW5p
c2hlZENyZWF0aW5nVGlsZXMoYm9vbCBkaWRDcmVhdGVUaWxlcywgYm9vbCBjcmVhdGVNb3JlCiAK
ICAgICAvLyBLZWVwIGNyZWF0aW5nIHRpbGVzIHVudGlsIHRoZSB3aG9sZSBjb3ZlclJlY3QgaXMg
Y292ZXJlZC4KICAgICBpZiAoY3JlYXRlTW9yZSkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjp0aWxlQ3JlYXRpb25UaW1lckZp
cmVkKCkKQEAgLTc4Miw3ICs3ODIsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3Vs
YXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwog
ICAgIG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQgPSBlbmFibGVkOwogICAgIGlm
IChtX2lzU3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKQotICAgICAgICBtX3RpbGVDcmVh
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogYm9vbCBMZWdhY3lUaWxlQ2FjaGU6Omhhc1BlbmRpbmdE
cmF3KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3Jv
bGxiYXJUaGVtZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRo
ZW1lSU9TLmgKaW5kZXggNzU2ZDQwNjA3ZjU2M2E2Y2U1OThlMjliYjI3YjQwZTk1NWViYTYxZi4u
YWNjZDI5YzEwNjAzNjdlMGZjMGZmZjY4ZDUzZDQzNDdhMDc0YjFlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmgKQEAgLTQxLDggKzQxLDgg
QEAgcHVibGljOgogICAgIAogICAgIGJvb2wgc3VwcG9ydHNDb250cm9sVGludHMoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgb3ZlcnJpZGU7Ci0gICAgZG91YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkg
b3ZlcnJpZGU7CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVy
cmlkZTsKKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CiAKICAg
ICBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IGJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdCBvdmVy
cmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJh
clRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1l
SU9TLm1tCmluZGV4IDZlNTIwYmVmNTQ4ZjU0MDIwM2E5YTZhM2M3NzdkODE2ZGFhNTA5OTAuLmZl
MjkwNzc1YmRlMzg5M2NhNjkxNjBmMzIzMjdiM2M1ZmYyMDczZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KQEAgLTY2LDE0ICs2Niwx
NCBAQCBpbnQgU2Nyb2xsYmFyVGhlbWVJT1M6OnNjcm9sbGJhclRoaWNrbmVzcyhTY3JvbGxiYXJD
b250cm9sU2l6ZSkKICAgICByZXR1cm4gMDsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lSU9T
Ojppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZUlP
Uzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gMF9zOwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1l
ckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmF1dG9zY3JvbGxUaW1lckRlbGF5
KCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gMF9zOwogfQogICAgIAogU2Nyb2xsYmFy
QnV0dG9uc1BsYWNlbWVudCBTY3JvbGxiYXJUaGVtZUlPUzo6YnV0dG9uc1BsYWNlbWVudCgpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KaW5kZXggY2M2MmUzYTg4NGFlZjI5NTE5
N2UyYmI3NmJiMGZhN2VjMzA3MGJhMS4uZGQxOTYzNGI3Mzc5MWM1ZjNjY2YyYjUyYTI5ZjY3NGQ4
NGJlOTAyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtODEsNyArODEsNyBA
QCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKIH0KICNlbmRpZgogCi1z
dGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxOworc3Rh
dGljIGNvbnN0IGF1dG8gZGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9IDFfczsKIAogQGNs
YXNzIFdlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb247CiAKQEAgLTk4Niw3ICs5ODYsNyBAQCBib29s
IFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldp
dGhSZWFzb24oV2ViVmlkZW9GdQogICAgIG1fdmlkZW9GdWxsc2NyZWVuTW9kZWwtPnJlcXVlc3RG
dWxsc2NyZWVuTW9kZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVO
b25lKTsKIAogICAgIGlmICghbV93YXRjaGRvZ1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
d2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoRGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCk7
CisgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZGVmYXVsdFdhdGNoZG9nVGlt
ZXJJbnRlcnZhbCk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5j
cHAKaW5kZXggNDIxYzYxNjBmODg5MTI0NjQ3NzNkNGVhM2ZjYWVkNDk2M2Q1YTdmZC4uZThkZWM1
ZTQ1ZmMzZjlkYzJlY2EyNWUyMTJkODIzMTI1YjNlMGExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4
LmNwcApAQCAtMjY5LDcgKzI2OSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpob2xk
T2ZmVGltZXJGaXJlZCgpCiAKIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpob2xkT2ZmKHVu
c2lnbmVkIHNlY29uZHMpCiB7Ci0gICAgbV9ob2xkT2ZmVGltZXIuc3RhcnRPbmVTaG90KHNlY29u
ZHMpOworICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNlY29uZHMpKTsK
IH0KIAogc3RhdGljIHNpemVfdCBwcm9jZXNzTWVtb3J5VXNhZ2UoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IGFjN2Y0ZmQ0YTk4
NGRjMzFkZGQ0ZmM4MGIxNjkzNDE1MTkwMjUwOTUuLmY3M2Q3OTY4OGUyYjgwMjU0NmYyNDM1OWZj
Y2JjYTU4MmQyNmNmZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0KQEAgLTEzMzgsNyArMTMzOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0
b3JNYWM6OnVwZGF0ZVNjcm9sbGVyU3R5bGUoKQogCiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpz
dGFydFNjcm9sbGJhclBhaW50VGltZXIoKQogewotICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50
VGltZXIuc3RhcnRPbmVTaG90KDAuMSk7CisgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1l
ci5zdGFydE9uZVNob3QoMC4xX3MpOwogfQogCiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpzY3Jv
bGxiYXJQYWludFRpbWVySXNBY3RpdmUoKSBjb25zdApAQCAtMTM2NCw3ICsxMzY0LDcgQEAgdm9p
ZCBTY3JvbGxBbmltYXRvck1hYzo6c2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRTb29uKGNvbnN0IEZs
b2F0U2l6ZSYgZGVsdGEpCiAgICAgbV9jb250ZW50QXJlYVNjcm9sbGVkVGltZXJTY3JvbGxEZWx0
YSA9IGRlbHRhOwogCiAgICAgaWYgKCFtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogCiAgICAgaWYgKG1fd2hlZWxFdmVudFRlc3RUcmlnZ2VyKQogICAgICAgICBt
X3doZWVsRXZlbnRUZXN0VHJpZ2dlci0+ZGVmZXJUZXN0c0ZvclJlYXNvbihyZWludGVycHJldF9j
YXN0PFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyPih0aGlz
KSwgV2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpDb250ZW50U2Nyb2xsSW5Qcm9ncmVzcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oCmluZGV4IGE3
MjgyOThjOGViYjVjNTU1NDdkNmQzY2JkOGQ1ZTE0NzQwYTRlOGMuLjdlYWE5MTFiYjkyYjA4ZjAx
YjdkOTkyNjZkMDEzYTQ3NmM3ZGQ1YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oCkBAIC00OCw4ICs0OCw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHVzZXNPdmVybGF5U2Nyb2xsYmFyc0NoYW5nZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHVw
ZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImKSAgb3ZlcnJpZGU7CiAKLSAgICBk
b3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7Ci0gICAgZG91Ymxl
IGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBpbml0aWFsQXV0
b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1l
ckRlbGF5KCkgb3ZlcnJpZGU7CiAKICAgICBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IGJ1dHRv
bnNQbGFjZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCmluZGV4IGIyZTE2MThjMDMyZmI3YzY1ZjFm
ZTE5MTdmMjA0ZTI5Njc0YzM4OWYuLjQzNTQ5Y2I1NjE5ODNkNTMwNzQzOWMzNjI5MzYwNDNiMTYw
YjVhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJU
aGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhl
bWVNYWMubW0KQEAgLTEzMCw4ICsxMzAsOCBAQCBzdGF0aWMgY29uc3QgaW50IGNCdXR0b25MZW5n
dGhbXSA9IHsgMTQsIDEwIH07CiBzdGF0aWMgY29uc3QgaW50IGNPdXRlckJ1dHRvbkxlbmd0aFtd
ID0geyAxNiwgMTQgfTsgLy8gVGhlIG91dGVyIGJ1dHRvbiBpbiBhIGRvdWJsZSBidXR0b24gcGFp
ciBpcyBhIGJpdCBiaWdnZXIuCiBzdGF0aWMgY29uc3QgaW50IGNPdXRlckJ1dHRvbk92ZXJsYXAg
PSAyOwogCi1zdGF0aWMgZmxvYXQgZ0luaXRpYWxCdXR0b25EZWxheSA9IDAuNWY7Ci1zdGF0aWMg
ZmxvYXQgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IDAuMDVmOworc3RhdGljIFNlY29uZHMgZ0lu
aXRpYWxCdXR0b25EZWxheSA9IDAuNV9zOworc3RhdGljIFNlY29uZHMgZ0F1dG9zY3JvbGxCdXR0
b25EZWxheSA9IDAuMDVfczsKIHN0YXRpYyBib29sIGdKdW1wT25UcmFja0NsaWNrID0gZmFsc2U7
CiBzdGF0aWMgYm9vbCBnVXNlc092ZXJsYXlTY3JvbGxiYXJzID0gZmFsc2U7CiAKQEAgLTIzNCw4
ICsyMzQsOCBAQCB2b2lkIFNjcm9sbGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQoKQog
ewogICAgIE5TVXNlckRlZmF1bHRzICpkZWZhdWx0cyA9IFtOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c107CiAgICAgW2RlZmF1bHRzIHN5bmNocm9uaXplXTsKLSAgICBnSW5pdGlh
bEJ1dHRvbkRlbGF5ID0gW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRl
bGF5Il07Ci0gICAgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktl
eTpAIk5TU2Nyb2xsZXJCdXR0b25QZXJpb2QiXTsKKyAgICBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0g
U2Vjb25kcyhbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uRGVsYXkiXSk7
CisgICAgZ0F1dG9zY3JvbGxCdXR0b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRzIGZsb2F0Rm9y
S2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlvZCJdKTsKICAgICBnSnVtcE9uVHJhY2tDbGljayA9
IFtkZWZhdWx0cyBib29sRm9yS2V5OkAiQXBwbGVTY3JvbGxlclBhZ2luZ0JlaGF2aW9yIl07CiAg
ICAgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpOwogfQpAQCAtMjc3LDEyICsyNzcsMTIg
QEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6dXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNj
cm9sbGJhciYgc2Nyb2xsYmFyKQogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiB9CiAK
LWRvdWJsZSBTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkK
K1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
CiB7CiAgICAgcmV0dXJuIGdJbml0aWFsQnV0dG9uRGVsYXk7CiB9CiAKLWRvdWJsZSBTY3JvbGxi
YXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVt
ZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBnQXV0b3Njcm9sbEJ1
dHRvbkRlbGF5OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9E
ZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
RGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggOTIyYWQ0Mzk3YTA0YzA1NTYxYzdjMWQ2
MDY3YWRlYzUxNTlmMjM1NC4uYmYyNzNiZWY5NGE4NGFjNzBkMGI0NGUxYTAyNjk2ZjE0MDAyMzlh
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1v
dGlvbkNsaWVudE1vY2suY3BwCkBAIC01OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlTW90aW9uQ2xp
ZW50TW9jazo6c2V0TW90aW9uKFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gbW90aW9uKQog
ewogICAgIG1fbW90aW9uID0gbW90aW9uOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRGV2aWNlTW90aW9uQ2xpZW50
TW9jazo6dGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggYWYwYTgzNGMz
MjA0MjJiM2UxZmE0MzBlZTFlMjY3MmQ4ZDYxMDFjMi4uMjFkZmVkZDM2YTU3NTQ4ZGE4NmE5NTU1
NmZkYWFiMjFjMjEwYmI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcApAQCAtNTksNyArNTks
NyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50YXRpb24oUGFz
c1JlZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdAogewogICAgIG1fb3JpZW50YXRpb24gPSBvcmll
bnRhdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6dGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0
aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0
aW9uQ2xpZW50TW9jay5jcHAKaW5kZXggYjdjZmI5YmUwNmRjYmZmYzdjMTZiM2NmZTc0NjUwMTMw
ZmE3MDBlNS4uNzU0YTgyNWNhZTU0NDc5ZTE0ZGQxZTMwMGM0MmNkMTJlM2ZjOTg4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRN
b2NrLmNwcApAQCAtMTA2LDcgKzEwNiw3IEBAIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjph
c3luY1VwZGF0ZVBlcm1pc3Npb24oKQogewogICAgIEFTU0VSVChtX3Blcm1pc3Npb25TdGF0ZSAh
PSBQZXJtaXNzaW9uU3RhdGVVbnNldCk7CiAgICAgaWYgKCFtX3Blcm1pc3Npb25UaW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX3Blcm1pc3Npb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcGVybWlzc2lvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEdlb2xv
Y2F0aW9uQ2xpZW50TW9jazo6cGVybWlzc2lvblRpbWVyRmlyZWQoKQpAQCAtMTY1LDcgKzE2NSw3
IEBAIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIoKQog
ewogICAgIEFTU0VSVChtX2NvbnRyb2xsZXIpOwogICAgIGlmIChtX2lzQWN0aXZlICYmICFtX2Nv
bnRyb2xsZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fY29udHJvbGxlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6Y29udHJvbGxlclRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcAppbmRleCAxYTYwY2EyNGJiYzYwOTZiN2E5NWUy
MTA2NjA0OTUxMmZlMmYyNTViLi5hNzZiYzI2ZmE2MDRkMDMzODFhNTM1M2ZhYmVmZGE4NWZlOThi
MDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJh
Y2tUYXJnZXRQaWNrZXJNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcApAQCAtMzcsNyArMzcsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29u
c3QgZG91YmxlIHRpbWVySW50ZXJ2YWwgPSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29u
ZHMgdGltZXJJbnRlcnZhbCA9IDAuMV9zOwogCiBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9j
azo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2soTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
cjo6Q2xpZW50JiBjbGllbnQpCiAgICAgOiBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyKGNsaWVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5k
cG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2lu
dC5jcHAKaW5kZXggNjBiYjAxODFhZThjZDNiNzdiODllZGY0OWEzNjUzODRmMmUwZGU1OS4uYzgz
MTBkZjE1NDFlNWExNTcxNjAyZjMwNTM4MDU1ZDE0ZjI2MWFmNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAKQEAgLTI0NSw3ICsy
NDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpkaXNwYXRjaEZha2VJY2VDYW5kaWRhdGVz
KCkKICAgICAvLyBSZXZlcnNlIG9yZGVyIHRvIHVzZSB0YWtlTGFzdCgpIHdoaWxlIGtlZXBpbmcg
dGhlIGFib3ZlIG9yZGVyCiAgICAgbV9mYWtlSWNlQ2FuZGlkYXRlcy5yZXZlcnNlKCk7CiAKLSAg
ICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZUNhbmRpZGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojpp
Y2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKQEAgLTI1NSw3ICsyNTUsNyBAQCB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50OjppY2VDYW5kaWRhdGVUaW1lckZpcmVkKCkKIAogICAgIGlmICghbV9mYWtlSWNl
Q2FuZGlkYXRlcy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9jbGllbnQuZ290SWNlQ2FuZGlkYXRl
KG1fbWlkc1swXSwgbV9mYWtlSWNlQ2FuZGlkYXRlcy50YWtlTGFzdCgpKTsKLSAgICAgICAgbV9p
Y2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1faWNlQ2FuZGlkYXRl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fY2xpZW50LmRv
bmVHYXRoZXJpbmdDYW5kaWRhdGVzKG1fbWlkc1swXSk7CiB9CkBAIC0yOTQsNyArMjk0LDcgQEAg
dm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6c3RlcEljZVRyYW5zcG9ydFN0YXRlcygpCiAgICAgLy8g
UmV2ZXJzZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBv
cmRlcgogICAgIG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnJldmVyc2UoKTsKIAotICAgIG1f
aWNlVHJhbnNwb3J0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNlVHJhbnNwb3J0VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZVRy
YW5zcG9ydFRpbWVyRmlyZWQoKQpAQCAtMzA1LDcgKzMwNSw3IEBAIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQoKQogICAgIGF1dG8gc3RhdGVDaGFuZ2UgPSBt
X2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlcy50YWtlTGFzdCgpOwogICAgIG1fY2xpZW50LmljZVRy
YW5zcG9ydFN0YXRlQ2hhbmdlZChzdGF0ZUNoYW5nZS5maXJzdCwgc3RhdGVDaGFuZ2Uuc2Vjb25k
KTsKIAotICAgIG1faWNlVHJhbnNwb3J0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNl
VHJhbnNwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCkBAIC0zMjAsNyArMzIwLDcgQEAgdm9p
ZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKCkKICAgICBmb3Ig
KGludCBpID0gbV9taWRzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKQogICAgICAgICBtX21pZHNP
ZlNvdXJjZXNUb1VubXV0ZS5hcHBlbmQobV9taWRzW2ldKTsKIAotICAgIG1fdW5tdXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQoKQpAQCAtMzMwLDcg
KzMzMCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQoKQogICAg
ICAgICBzb3VyY2UtPnNldE11dGVkKGZhbHNlKTsKIAogICAgIGlmICghbV9taWRzT2ZTb3VyY2Vz
VG9Vbm11dGUuaXNFbXB0eSgpKQotICAgICAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcAppbmRleCBlZjk3Mjc2YTQ0MzQyYWJjNWM3
NWFlYTRlMzYxNzE0NDFiNGNkYzZlLi42NGEzNWE2ZDI3YmNlOTVjNjU5YmM1OTFiZTUwOTA0YmE4
MTM2MGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFs
dGltZVZpZGVvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01v
Y2tSZWFsdGltZVZpZGVvU291cmNlLmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlOjpzdGFydFByb2R1Y2luZ0RhdGEoKQogICAgIH0KIAogICAgIG1fc3Rh
cnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgbV90aW1lci5zdGFy
dFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gZnJhbWVS
YXRlKCkpKSk7CisgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlz
ZWNvbmRzKChscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpKTsKIH0KIAogdm9pZCBNb2NrUmVh
bHRpbWVWaWRlb1NvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEoKQpAQCAtMTM2LDcgKzEzNiw3IEBA
IHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmluaXRpYWxpemVTdXBwb3J0ZWRDb25zdHJh
aW50cyhSZWFsdGltZU1lZGlhU291cmNlCiBib29sIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZShkb3VibGUgcmF0ZSkKIHsKICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMobHJvdW5kKDEwMDAgLyByYXRlKSkpOworICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5n
KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobHJvdW5kKDEwMDAgLyByYXRlKSkpOwogCiAgICAg
dXBkYXRlU2FtcGxlQnVmZmVyKCk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
ck1vY2suY3BwCmluZGV4IGYzYmM3MWMwZjczM2QyODMzZWMzNDg1ZTg5NDk0NDhkMzhkZDNmMTEu
LmQ4YTdjMDg5N2Y5ODVkZmM4YzVmN2VhNDFkODBjODY1OTNmMTBmM2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplck1vY2suY3BwCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplck1vY2s6OnNwZWFrKFJlZlB0cjxQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpc1V0dGVyYW5j
CiAgICAgY2xpZW50KCktPmJvdW5kYXJ5RXZlbnRPY2N1cnJlZCgqbV91dHRlcmFuY2UsIFNwZWVj
aFNlbnRlbmNlQm91bmRhcnksIG1fdXR0ZXJhbmNlLT50ZXh0KCkubGVuZ3RoKCkpOwogCiAgICAg
Ly8gR2l2ZSB0aGUgZmFrZSBzcGVlY2ggam9iIHNvbWUgdGltZSBzbyB0aGF0IHBhdXNlIGFuZCBv
dGhlciBmdW5jdGlvbnMgaGF2ZSB0aW1lIHRvIGJlIGNhbGxlZC4KLSAgICBtX3NwZWFraW5nRmlu
aXNoZWRUaW1lci5zdGFydE9uZVNob3QoLjEpOworICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVy
LnN0YXJ0T25lU2hvdCgwLjFfcyk7CiB9CiAKIHZvaWQgUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
ck1vY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L1RpbWVyRXZlbnRCYXNlZE1vY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGlt
ZXJFdmVudEJhc2VkTW9jay5oCmluZGV4IGRlMGU4YTlmZDY1OTZiMmUyYWI3MzcwMzA0N2RlNWVk
MzdmZmVjYWMuLjg2M2Y5ZDY1Yjc2OTAxNmQwZDk3Y2QyNjg5YjJkNGZmNTc2NjJhYmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5o
CkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3RpbWVyKCp0aGlzLCAmVGlt
ZXJFdmVudDo6dGltZXJGaXJlZCkKICAgICAgICAgLCBtX25vdGlmaWVyKG5vdGlmaWVyKQogICAg
IHsKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC41KTsKKyAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMC41X3MpOwogICAgIH0KIAogICAgIHZpcnR1YWwgflRpbWVyRXZlbnQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVl
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUu
Y3BwCmluZGV4IDU4NzczYWEzMzI5MWNhN2E2ODk1NzU4NmVlODIwM2M2YmFjMmNmZjMuLmUxYzQx
MGVkMTUyNThhY2FmM2YwYzM5MTlkODVhMDgyYTA5MjdkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKQEAgLTM3LDcgKzM3
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGludCBnTmFtZXNUb1Jlc29s
dmVJbW1lZGlhdGVseSA9IDQ7CiAKIC8vIENvYWxlc2NlIHByZWZldGNoIHJlcXVlc3RzIGZvciB0
aGlzIGxvbmcgYmVmb3JlIHNlbmRpbmcgdGhlbSBvdXQuCi1zdGF0aWMgY29uc3QgZG91YmxlIGdD
b2FsZXNjZURlbGF5SW5TZWNvbmRzID0gMS4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgY29hbGVz
Y2VEZWxheSA9IDFfczsKIAogLy8gU2VuZGluZyBtYW55IEROUyByZXF1ZXN0cyBhdCBvbmNlIGNh
biBvdmVyd2hlbG0gc29tZSBnYXRld2F5cy4gU2VlIDxyZGFyOi8vODEwNTU1MD4gZm9yIHNwZWNp
ZmljIENGTkVUIGlzc3VlcyB3aXRoIENGSG9zdCB0aHJvdHRsaW5nLgogc3RhdGljIGNvbnN0IGlu
dCBnTWF4U2ltdWx0YW5lb3VzUmVxdWVzdHMgPSA4OwpAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMg
Y29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CiBzdGF0aWMgY29uc3QgaW50
IGdNYXhSZXF1ZXN0c1RvUXVldWUgPSA2NDsKIAogLy8gSWYgdGhlcmUgd2VyZSBxdWV1ZWQgbmFt
ZXMgdGhhdCBjb3VsZG4ndCBiZSBzZW50IHNpbXVsdGFuZW91c2x5LCBjaGVjayB0aGUgc3RhdGUg
b2YgcmVzb2x2ZXJzIGFmdGVyIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29uc3QgZG91YmxlIGdSZXRy
eVJlc29sdmluZ0luU2Vjb25kcyA9IDAuMTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHJldHJ5UmVz
b2x2aW5nRGVsYXkgPSAwLjFfczsKIAogRE5TUmVzb2x2ZVF1ZXVlJiBETlNSZXNvbHZlUXVldWU6
OnNpbmdsZXRvbigpCiB7CkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6
OmFkZChjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQogICAgIGlmIChtX25hbWVzLnNpemUoKSA8IGdN
YXhSZXF1ZXN0c1RvUXVldWUpIHsKICAgICAgICAgbV9uYW1lcy5hZGQoaG9zdG5hbWUpOwogICAg
ICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KGdDb2FsZXNjZURlbGF5SW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KGNvYWxlc2NlRGVsYXkpOwogICAgIH0KIH0KIApAQCAtMTIyLDcgKzEyMiw3IEBA
IHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjp0aW1lckZpcmVkKCkKICAgICB9CiAKICAgICBpZiAoIW1f
bmFtZXMuaXNFbXB0eSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnUmV0cnlSZXNv
bHZpbmdJblNlY29uZHMpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChyZXRyeVJlc29s
dmluZ0RlbGF5KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAppbmRleCBhYmZiNDZj
ZWNmODIxNDNiOWZmYWNkMDFiZTU3ODZhNTNhMDA4ZWMwLi40NWNhMWM1YzM2MmI1NDVlODdlZGM4
Y2RiMzVmMjIwMjhiYzI2ZGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcApAQCAtNzksNyArNzksNyBAQCBwcml2YXRlOgogICAg
ICAgICByZWYoKTsKIAogICAgICAgICBhdXRvIHNjaGVkdWxlZFBhaXJzID0gbV9kZWNvZGVUYXNr
LT5zY2hlZHVsZUNvbnRleHQuc2NoZWR1bGVkUGFpcnM7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBt
X3RpbWVyLnNjaGVkdWxlKHNjaGVkdWxlZFBhaXJzKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmgKaW5kZXggY2Q5ZjJiZjk2MDA2M2U3MDNm
OGMzZjBiOGQwMTFmMmJiOWNiMWJkMS4uMWEwZDVjZTYyM2FkZjhhMzQwNTNkNmZhZThkMGY3NjM5
MDJiZDE3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5n
SGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxl
LmgKQEAgLTUzLDcgKzUzLDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIg
bmV2ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAg
ICAgICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAg
ICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91
dFRpbWVyLnN0YXJ0T25lU2hvdCgxMDAwX21pbik7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAppbmRl
eCA2NDdmNjA0MTliZmNkMGZlZTYzNzVkOWQxODgwNzY1OTJhMWY5MjBjLi4wMGMwZDAyOWNjNmZj
MmMxY2NhNzk3Yzk5MjgxNGQwNzA0NzdlNzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcApAQCAtMTA1LDcgKzEwNSw3IEBAIFJl
ZlB0cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29u
dGV4dCogY29udGV4dCwgY29uc3QKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZShGYWlsdXJlVHlwZSB0eXBlKQogewogICAgIGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgPSB0
eXBlOwotICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBkLT5tX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6
ZmFpbHVyZVRpbWVyRmlyZWQoKQpAQCAtMjU4LDcgKzI1OCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5k
bGU6OnNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCiAgICAgICAgICAgICBkLT5tX2ZhaWx1
cmVUaW1lci5zdG9wKCk7CiAgICAgfSBlbHNlIGlmIChkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBl
ICE9IE5vRmFpbHVyZSkgewogICAgICAgICBBU1NFUlQoIWQtPm1fZmFpbHVyZVRpbWVyLmlzQWN0
aXZlKCkpOwotICAgICAgICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIHBs
YXRmb3JtU2V0RGVmZXJzTG9hZGluZyhkZWZlcnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwCmluZGV4IDU1YWRlMjE4YzEzODg4YzBjYzI2ZWJlY2I3OTI2M2RjYTcwMDkxNmQuLmQ0ZDk4
ZGEzMWY2NTc2MTNiNWVkOGQ2ZGIyMmZmOWI3NWIwMWU0MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3Rp
Zmllck1hYy5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgZG91YmxlIFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCA9IDIuMDsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIHN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCA9IDJfczsKIAogdm9pZCBO
ZXR3b3JrU3RhdGVOb3RpZmllcjo6dXBkYXRlU3RhdGUoKQogewpAQCAtNzgsNyArNzgsNyBAQCB2
b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpkeW5hbWljU3RvcmVDYWxsYmFjayhTQ0R5bmFtaWNT
dG9yZVJlZiwgQ0ZBcnJheVJlZiwgdgogICAgIAogICAgIC8vIENhbGxpbmcgdXBkYXRlU3RhdGUo
KSBjb3VsZCBiZSBleHBlbnNpdmUgc28gd2Ugc2NoZWR1bGUgYSB0aW1lciB0aGF0IHdpbGwgZG8g
aXQgCiAgICAgLy8gd2hlbiB0aGluZ3MgaGF2ZSBjb29sZWQgZG93bi4KLSAgICBub3RpZmllci0+
bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoU3RhdGVDaGFuZ2VUaW1lcklu
dGVydmFsKTsKKyAgICBub3RpZmllci0+bV9uZXR3b3JrU3RhdGVDaGFuZ2VUaW1lci5zdGFydE9u
ZVNob3Qoc3RhdGVDaGFuZ2VUaW1lckludGVydmFsKTsKIH0KIAogdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6bmV0d29ya1N0YXRlQ2hhbmdlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCmluZGV4IDg4N2E5ZWQ3OTVkMWNiNGU1OGNjZGRlNTZlMzg4ZDk5Y2RjMGJmM2UuLmVjZjE4
NGNlNDBiZGY5ZWM0ZDMxYmY3MzIwNjMzNzcxMjJkZTliNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCkBAIC03NTAsNyArNzUwLDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2VuZFBlbmRpbmdS
ZXF1ZXN0KCkKICNlbmRpZgogCiAgICAgaWYgKGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRl
cnZhbCgpID4gMCkKLSAgICAgICAgZC0+bV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChkLT5t
X2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSk7CisgICAgICAgIGQtPm1fdGltZW91dFNv
dXJjZS5zdGFydE9uZVNob3QoU2Vjb25kcyhkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2
YWwoKSkpOwogCiAgICAgLy8gQmFsYW5jZWQgYnkgYSBkZXJlZigpIGluIGNsZWFudXBTb3VwUmVx
dWVzdE9wZXJhdGlvbiwgd2hpY2ggc2hvdWxkIGFsd2F5cyBydW4uCiAgICAgcmVmKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVy
V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXJXaW4uY3BwCmluZGV4IGZjODdiNzAzMjkyMzg3MTZkMWM2MzU4NzhjZTA3OTJkYmI3ZGZkMzIu
LjllYTQxN2RkMDMwYTFjZjQ5YWVmNTVkYzY0YmVhYWE0YWRjNGFkZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4u
Y3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omluc3Rh
bGwoKQogewogICAgIG1faW5zdGFsbGVkID0gdHJ1ZTsKICAgICBtZW1DaGVja1RpbWVyKCkgPSBz
dGQ6Om1ha2VfdW5pcXVlPENoZWNrTWVtb3J5VGltZXI+KCp0aGlzKTsKLSAgICBtZW1DaGVja1Rp
bWVyKCktPnN0YXJ0UmVwZWF0aW5nKDYwLjApOworICAgIG1lbUNoZWNrVGltZXIoKS0+c3RhcnRS
ZXBlYXRpbmcoMV9taW4pOwogfQogCiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6dW5pbnN0
YWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250
cm9sbGVyLmNwcAppbmRleCBhMWZlOGZjYzFjODhmMjZlMTZhNjNmMTJiNjQzMmQ1YTBlODFjZWQ2
Li41ZjVkMDc2NTc5YzIxMDQwN2MwYmNmYzZiNTg2MjczOTBkNzI5MjJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC0z
NSw3ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBkb3VibGUg
Y0ludGVycG9sYXRpb25DdXRvZmYgPSA4MDAuICogODAwLjsKLXN0YXRpYyBjb25zdCBkb3VibGUg
Y0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcworc3RhdGljIGNvbnN0
IFNlY29uZHMgbG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjVfczsKIAogSW1hZ2VRdWFsaXR5
Q29udHJvbGxlcjo6SW1hZ2VRdWFsaXR5Q29udHJvbGxlcihjb25zdCBSZW5kZXJWaWV3JiByZW5k
ZXJWaWV3KQogICAgIDogbV9yZW5kZXJWaWV3KHJlbmRlclZpZXcpCkBAIC05NCw3ICs5NCw3IEBA
IHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aGlnaFF1YWxpdHlSZXBhaW50VGltZXJGaXJl
ZCgpCiAKIHZvaWQgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKCkKIHsKLSAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOworICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KGxvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKIH0KIAogc3RkOjpv
cHRpb25hbDxJbnRlcnBvbGF0aW9uUXVhbGl0eT4gSW1hZ2VRdWFsaXR5Q29udHJvbGxlcjo6aW50
ZXJwb2xhdGlvblF1YWxpdHlGcm9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApp
bmRleCA2M2E1YTY5MGFjMTBhYjFmNWM5YjRkZWM0N2VjZWFjNWEwMDVmNjNlLi43MDQzMzI5NzI2
MmQ3NzQ0MmY3YmExZmU4NzU3ODBjOGZkOWRiNTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtOTIsMTEgKzkyLDExIEBA
IHN0YXRpYyBjb25zdCBpbnQgY2FudmFzQXJlYVRocmVzaG9sZFJlcXVpcmluZ0NvbXBvc2l0aW5n
ID0gNTAgKiAxMDA7CiAjZW5kaWYKIC8vIER1cmluZyBwYWdlIGxvYWRpbmcgZGVsYXkgbGF5ZXIg
Zmx1c2hlcyB1cCB0byB0aGlzIG1hbnkgc2Vjb25kcyB0byBhbGxvdyB0aGVtIGNvYWxlc2NlLCBy
ZWR1Y2luZyB3b3JrbG9hZC4KICNpZiBQTEFURk9STShJT1MpCi1zdGF0aWMgY29uc3QgZG91Ymxl
IHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gMS41Oworc3RhdGljIGNvbnN0IFNlY29uZHMg
dGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IDAuNV9zOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gMS41X3M7CiAjZWxzZQotc3RhdGljIGNv
bnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMg
Y29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hEZWxheSA9IC41Oworc3RhdGljIGNvbnN0
IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IDAuNV9zOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gMC41X3M7CiAjZW5kaWYK
IAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKQEAgLTYzNCw3ICs2MzQsNyBAQCBSZW5kZXJM
YXllckNvbXBvc2l0b3IqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5jbG9zaW5nQ29tcG9zaXRv
ckZsdXNoaW5nTGF5ZXJzKAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjaGVkdWxlQ29t
cG9zaXRpbmdMYXllclVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5
ZXJzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmNwcAppbmRleCA2MDU5ZDI2ZDFkZmNmYjM2MTViYmJiZTE2Y2Zk
MjNlMjVkZGZjMTU3Li5iNzQwOTdjZjIxZTFhODIyNWE2YWVkOGZkOWEzYjJhOWE1MmU5YTZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCkBAIC0xNjgsNyAr
MTY4LDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjpzdGFydCgpCiAgICAgICAgIG1fc3RvcHBlZCA9
IGZhbHNlOwogICAgIH0KIAotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAu
MDAxKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29u
ZHMoc3BlZWQoKSkpOwogfQogCiB2b2lkIFJlbmRlck1hcnF1ZWU6OnN1c3BlbmQoKQpAQCAtMjMw
LDcgKzIzMCw3IEBAIHZvaWQgUmVuZGVyTWFycXVlZTo6dXBkYXRlTWFycXVlZVN0eWxlKCkKICAg
ICBpZiAoc3BlZWQoKSAhPSBtYXJxdWVlU3BlZWQoKSkgewogICAgICAgICBtX3NwZWVkID0gbWFy
cXVlZVNwZWVkKCk7CiAgICAgICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAg
ICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgICAgICAgICBt
X3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoc3BlZWQoKSkp
OwogICAgIH0KICAgICAKICAgICAvLyBDaGVjayB0aGUgbG9vcCBjb3VudCB0byBzZWUgaWYgd2Ug
c2hvdWxkIG5vdyBzdG9wLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TmFtZWRGbG93VGhyZWFkLmNwcAppbmRleCA0NzUwNmFjZDMzYjcwNzQzNWU1OWUxNjVjYzYwNzAz
ZmU2NGU0NmU2Li44NjlhZjQyYTA5OTgyNjZlYjBmNjVjM2YxMGY5NzM4ODFhNjE1NTJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNw
cApAQCAtNTMwLDcgKzUzMCw3IEBAIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRj
aFJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudElmTmVlZGVkKCkKICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZENoYW5nZVJlZ2lvbk92ZXJzZXQoZG9jdW1lbnQoKSwgbmFtZWRGbG93KCkp
OwogICAgIAogICAgIGlmICghbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5pc0FjdGl2
ZSgpICYmIG5hbWVkRmxvdygpLmhhc0V2ZW50TGlzdGVuZXJzKCkpCi0gICAgICAgIG1fcmVnaW9u
T3ZlcnNldENoYW5nZUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlZ2lv
bk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJl
bmRlck5hbWVkRmxvd1RocmVhZDo6cmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRleCA5YTFm
MjQwZmE1ZjlhZmY4NzAxYzEzNDhjY2M1N2QzNmFiM2UwYjg0Li41MWEzMDhmYmEzNzBjNDc5ODlj
OGM1Y2VhZTBiMDg3NzQyYzljN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJQcm9ncmVzcy5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6YW5p
bWF0aW9uVGltZXJGaXJlZCgpCiB7CiAgICAgcmVwYWludCgpOwogICAgIGlmICghbV9hbmltYXRp
b25UaW1lci5pc0FjdGl2ZSgpICYmIG1fYW5pbWF0aW5nKQotICAgICAgICBtX2FuaW1hdGlvblRp
bWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKTsKKyAgICAgICAgbV9h
bmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhtX2FuaW1hdGlvblJlcGVhdEludGVy
dmFsKSk7CiB9CiAKIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkK
QEAgLTEwMCw3ICsxMDAsNyBAQCB2b2lkIFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25T
dGF0ZSgpCiAgICAgbV9hbmltYXRpbmcgPSBhbmltYXRpbmc7CiAgICAgaWYgKG1fYW5pbWF0aW5n
KSB7CiAgICAgICAgIG1fYW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCk7Ci0gICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsKICAgICB9IGVsc2UKICAgICAg
ICAgbV9hbmltYXRpb25UaW1lci5zdG9wKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oCmluZGV4IGVkNDliZWRjYmRiNjE1ZDBhNzMyNzE3
ZDdjYWEzOGRiY2M4ZGRiNzcuLjQxYmQ4MjNhYWEwMTQ2NTZiMTFhYjZkMjYxOWRkMTZmYTBlYjc4
NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJU
aGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVt
ZS5oCkBAIC00Nyw4ICs0Nyw4IEBAIHB1YmxpYzoKIAogICAgIFNjcm9sbGJhckJ1dHRvblByZXNz
QWN0aW9uIGhhbmRsZU1vdXNlUHJlc3NFdmVudChTY3JvbGxiYXImIHNjcm9sbGJhciwgY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwgU2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCkgb3Zl
cnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaGFuZGxlTW91c2VQcmVzc0V2
ZW50KHNjcm9sbGJhciwgZXZlbnQsIHByZXNzZWRQYXJ0KTsgfQogCi0gICAgZG91YmxlIGluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1l
Ojp0aGVtZSgpLmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9Ci0gICAgZG91YmxlIGF1
dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRo
ZW1lKCkuYXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIFNlY29uZHMgaW5pdGlhbEF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1l
KCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCku
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQogCiAgICAgdm9pZCByZWdpc3RlclNjcm9sbGJhcihT
Y3JvbGxiYXImIHNjcm9sbGJhcikgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRo
ZW1lKCkucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQogICAgIHZvaWQgdW5yZWdpc3Rl
clNjcm9sbGJhcihTY3JvbGxiYXImIHNjcm9sbGJhcikgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xs
YmFyVGhlbWU6OnRoZW1lKCkudW5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggMzdiMDc0MTg3OGExYmQ5ODM4
ZWM2MjUzZGVkMDcxOTEwMDFmY2M0OC4uZjE5OTJhZGNmNGU3YWJjYjI1NGU3YmM5YWIzZGZjNTBj
NDdmZWE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMTA3
LDcgKzEwNyw3IEBAIGlubGluZSBTZWN1cmVUZXh0VGltZXI6OlNlY3VyZVRleHRUaW1lcihSZW5k
ZXJUZXh0JiByZW5kZXJlcikKIGlubGluZSB2b2lkIFNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCh1
bnNpZ25lZCBvZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3RlcikKIHsKICAgICBtX29mZnNldEFm
dGVyTGFzdFR5cGVkQ2hhcmFjdGVyID0gb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXI7Ci0g
ICAgc3RhcnRPbmVTaG90KG1fcmVuZGVyZXIuZnJhbWUoKS5zZXR0aW5ncygpLnBhc3N3b3JkRWNo
b0R1cmF0aW9uSW5TZWNvbmRzKCkpOworICAgIHN0YXJ0T25lU2hvdChtX3JlbmRlcmVyLmZyYW1l
KCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbigpKTsKIH0KIAogaW5saW5lIHVuc2ln
bmVkIFNlY3VyZVRleHRUaW1lcjo6dGFrZU9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggMzU0OTliYmU2OTExZjVm
YThjM2QwMTM4Y2VmNDBlYzgyOGY5YzJiZS4uODlmNGI5YzllNDk0ZmZkZWQ1OTNkMGNlMjQwNGIw
YWYyMDFiYTQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTM1
LDYgKzM1LDcgQEAKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgogI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTc1LDcgKzE3Niw3IEBAIHB1YmxpYzoKICNl
bmRpZgogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogCi0gICAg
dmlydHVhbCBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9
CisgICAgdmlydHVhbCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJu
IDAuNV9zOyB9CiAKICAgICAvLyBTeXN0ZW0gZm9udHMgYW5kIGNvbG9ycyBmb3IgQ1NTLgogICAg
IHZvaWQgc3lzdGVtRm9udChDU1NWYWx1ZUlELCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJikgY29u
c3Q7CkBAIC0yMDQsOCArMjA1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzTWVk
aWFDb250cm9sU3RhdHVzRGlzcGxheSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIHVzZXNNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAgICAgdmlydHVhbCBib29sIHVzZXNWZXJ0aWNhbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0
dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRp
b24oKSB7IHJldHVybiAwLjE7IH0KLSAgICB2aXJ0dWFsIGRvdWJsZSBtZWRpYUNvbnRyb2xzRmFk
ZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zOyB9CisgICAgdmlydHVhbCBTZWNvbmRzIG1lZGlh
Q29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMV9zOyB9CisgICAgdmlydHVhbCBT
ZWNvbmRzIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjNfczsgfQog
ICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNUaW1lKGZsb2F0IHRpbWUpIGNv
bnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdE1lZGlhQ29udHJvbHNDdXJyZW50VGltZShm
bG9hdCBjdXJyZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwogICAgIHZpcnR1YWwgU3Ry
aW5nIGZvcm1hdE1lZGlhQ29udHJvbHNSZW1haW5pbmdUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBm
bG9hdCBkdXJhdGlvbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5j
cHAKaW5kZXggNTc0YmIxNDQ5MzczMTk3NWQ0Y2IwYzI1MmIzOWViMjg3MjBkOTQyZC4uOGFjZTJm
ZjJlMTBkM2EwODVkZTE3Y2QzNGVhMTJkN2VmZjVjMDdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHZvaWQgUmVuZGVyVmlldzo6
c2NoZWR1bGVMYXp5UmVwYWludChSZW5kZXJCb3gmIHJlbmRlcmVyKQogICAgIHJlbmRlcmVyLnNl
dFJlbmRlckJveE5lZWRzTGF6eVJlcGFpbnQodHJ1ZSk7CiAgICAgbV9yZW5kZXJlcnNOZWVkaW5n
TGF6eVJlcGFpbnQuYWRkKCZyZW5kZXJlcik7CiAgICAgaWYgKCFtX2xhenlSZXBhaW50VGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9sYXp5UmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9sYXp5UmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFJlbmRlclZpZXc6OnVuc2NoZWR1bGVMYXp5UmVwYWludChSZW5kZXJCb3gmIHJlbmRlcmVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKaW5kZXgg
OTk2NDliZmUyOTAzNjY3NmFkNDk2OGEzNmRmMWY1YzNjNjJlMGVkOS4uNWI0MzQ5ZmE5MzRmMzJi
NDEwOTVkNWEwZjg0NDk2OTE0Zjg3ZjUyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVw
bGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
Q2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCkBAIC01OCwxMSArNTgsOCBAQCB2b2lkIENhcHR1cmlu
Z0lucHV0Q3Vyc29yOjpzdG9yZUlucHV0KHN0ZDo6dW5pcXVlX3B0cjxOb25kZXRlcm1pbmlzdGlj
SW5wdXRCYXNlPgogewogICAgIEFTU0VSVF9BUkcoaW5wdXQsIGlucHV0KTsKIAotICAgIGlmIChp
bnB1dC0+cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dCkgewotICAgICAgICAv
LyBGSVhNRTogcmV3cml0ZSB0aGlzIChhbmQgcmVsYXRlZCBkaXNwYXRjaCBjb2RlKSB0byB1c2Ug
c3RkOjpjaHJvbm8uCi0gICAgICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKLSAgICAgICAgbV9zZWdtZW50LT5ldmVudExvb3BUaW1pbmdzKCkuYXBwZW5kKG5v
dyk7Ci0gICAgfQorICAgIGlmIChpbnB1dC0+cXVldWUoKSA9PSBJbnB1dFF1ZXVlOjpFdmVudExv
b3BJbnB1dCkKKyAgICAgICAgbV9zZWdtZW50LT5ldmVudExvb3BUaW1pbmdzKCkuYXBwZW5kKE1v
bm90b25pY1RpbWU6Om5vdygpKTsKIAogICAgIG1fc2VnbWVudC0+c3RvcmFnZSgpLnN0b3JlKFdU
Rk1vdmUoaW5wdXQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVu
dExvb3BJbnB1dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5jcHAKaW5kZXggNTEwMjkzZmMxNmM2NGFjOWI1ZmI1MWU3Yjk4ZDA5
MGQ4YjUxMzY2Ny4uYjA3ZDI2ZmY4NGYzODcxMWQzNDQzNWI0NmJlYjBiYjFlZjMyNWJiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5j
cHAKQEAgLTUxLDggKzUxLDYgQEAgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpFdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIoUGFnZSYgcGFnZSwgUmVwbGF5aW5nSW5wdXRDdXIKICAgICAsIG1fdGlt
ZXIoKnRoaXMsICZFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnRpbWVyRmlyZWQpCiAgICAgLCBt
X3NwZWVkKERpc3BhdGNoU3BlZWQ6OkZhc3RGb3J3YXJkKQogewotICAgIG1fY3VycmVudFdvcmsu
aW5wdXQgPSBudWxscHRyOwotICAgIG1fY3VycmVudFdvcmsudGltZXN0YW1wID0gMC4wOwogfQog
CiB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6cnVuKCkKQEAgLTkxLDcgKzg5LDcgQEAg
dm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICBp
ZiAobV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0b3AoKTsKIAotICAgIGRv
dWJsZSB3YWl0SW50ZXJ2YWwgPSAwOworICAgIFNlY29uZHMgd2FpdEludGVydmFsOwogCiAgICAg
aWYgKG1fc3BlZWQgPT0gRGlzcGF0Y2hTcGVlZDo6UmVhbFRpbWUpIHsKICAgICAgICAgLy8gVGhl
IGdvYWwgaXMgdG8gcmVwcm9kdWNlIHRoZSBkaXNwYXRjaCBkZWxheSBiZXR3ZWVuIGlucHV0cyBh
cyBpdCB3YXMKQEAgLTEwMiwyMiArMTAwLDIyIEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyOjpkaXNwYXRjaElucHV0U29vbigpCiAgICAgICAgIGlmICghbV9wcmV2aW91c0lucHV0VGlt
ZXN0YW1wKQogICAgICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50
V29yay50aW1lc3RhbXA7CiAKLSAgICAgICAgZG91YmxlIHRhcmdldEludGVydmFsID0gbV9jdXJy
ZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXA7Ci0gICAgICAgIGRv
dWJsZSBlbGFwc2VkID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3ByZXZpb3Vz
RGlzcGF0Y2hTdGFydFRpbWU7CisgICAgICAgIFNlY29uZHMgdGFyZ2V0SW50ZXJ2YWwgPSBtX2N1
cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsKKyAgICAgICAg
U2Vjb25kcyBlbGFwc2VkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3ByZXZpb3VzRGlzcGF0
Y2hTdGFydFRpbWU7CiAgICAgICAgIHdhaXRJbnRlcnZhbCA9IHRhcmdldEludGVydmFsIC0gZWxh
cHNlZDsKICAgICB9CiAKICAgICAvLyBBIG5lZ2F0aXZlIHdhaXQgdGltZSBtZWFucyB0aGF0IGRp
c3BhdGNoIHRvb2sgbG9uZ2VyIG9uIHJlcGxheSB0aGFuIG9uCiAgICAgLy8gY2FwdHVyZS4gSW4g
dGhpcyBjYXNlLCBwcm9jZWVkIHdpdGhvdXQgd2FpdGluZyBhdCBhbGwuCi0gICAgaWYgKHdhaXRJ
bnRlcnZhbCA8IDApCi0gICAgICAgIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgaWYgKHdhaXRJbnRl
cnZhbCA8IDBfcykKKyAgICAgICAgd2FpdEludGVydmFsID0gMF9zOwogCi0gICAgaWYgKHdhaXRJ
bnRlcnZhbCA+IDEwMDAuMCkgeworICAgIGlmICh3YWl0SW50ZXJ2YWwgPiAxMDAwX3MpIHsKICAg
ICAgICAgTE9HX0VSUk9SKCIlLTIwcyBUcmllZCB0byB3YWl0IGZvciBvdmVyIDEwMDAgc2Vjb25k
cyBiZWZvcmUgZGlzcGF0Y2hpbmcgbmV4dCBldmVudCBsb29wIGlucHV0OyB0aGlzIGlzIHByb2Jh
Ymx5IGEgYnVnLiIsICJSZXBsYXlFdmVudHMiKTsKLSAgICAgICAgd2FpdEludGVydmFsID0gMDsK
KyAgICAgICAgd2FpdEludGVydmFsID0gMF9zOwogICAgIH0KIAotICAgIExPRyhXZWJSZXBsYXks
ICIlLTIwcyAoV0FJVDogJS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwgd2FpdEludGVydmFsICog
MTAwMC4wKTsKKyAgICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJl
cGxheUV2ZW50cyIsIFNlY29uZHMod2FpdEludGVydmFsICogMTAwMC4wKS5taWxsaXNlY29uZHMo
KSk7CiAgICAgbV90aW1lci5zdGFydE9uZVNob3Qod2FpdEludGVydmFsKTsKIH0KIApAQCAtMTI3
LDcgKzEyNSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0
KCkKICAgICBBU1NFUlQoIW1fZGlzcGF0Y2hpbmcpOwogCiAgICAgaWYgKG1fc3BlZWQgPT0gRGlz
cGF0Y2hTcGVlZDo6UmVhbFRpbWUpIHsKLSAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRU
aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgICAgIG1fcHJldmlvdXNE
aXNwYXRjaFN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICBtX3ByZXZp
b3VzSW5wdXRUaW1lc3RhbXAgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaAppbmRl
eCAyMDY3ZTc4ZDQzZjI1YTVkMjVlNGMzZjlhNTIzMjM1YjBjNzk1ZjM0Li41OTMyYjQyYjZkNDJj
MzgyMDk0ZTU0ODE0MzYwZjBkYWI2YjQ0MGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVw
bGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVk
ZSAiRXZlbnRMb29wSW5wdXQuaCIKICNpbmNsdWRlICJSZXBsYXlpbmdJbnB1dEN1cnNvci5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IApAQCAtODYsOSArODcsOSBAQCBwcml2YXRlOgogCiAgICAgRGlzcGF0Y2hTcGVlZCBtX3NwZWVk
OwogICAgIC8vIFRoZSB0aW1lIGF0IHdoaWNoIHRoZSBsYXN0IGlucHV0IGRpc3BhdGNoKCkgbWV0
aG9kIHdhcyBjYWxsZWQuCi0gICAgZG91YmxlIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZSB7
MC4wfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAg
ICAvLyBUaGUgdGltZXN0YW1wIHNwZWNpZmllZCBieSB0aGUgbGFzdCBkaXNwYXRjaGVkIGlucHV0
LgotICAgIGRvdWJsZSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAgezAuMH07CisgICAgTW9ub3Rv
bmljVGltZSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNl
Z21lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNw
cAppbmRleCBmMThkZGY0MWZjZGMwNDQ2ZWU0MDA4YjgxYjM5YmY2YzRhNjUxNjJhLi4yODExZTc0
YmYwM2Y3ODRjMzE2Y2NkOTFmYmUwMDg0ODllMzFmMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAKQEAgLTQ3LDggKzQ3LDggQEAgUmVmPFJl
cGxheVNlc3Npb25TZWdtZW50PiBSZXBsYXlTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKIAogUmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OlJlcGxheVNlc3Npb25TZWdtZW50KCkKICAgICA6IG1fc3RvcmFn
ZShzdGQ6Om1ha2VfdW5pcXVlPFNlZ21lbnRlZElucHV0U3RvcmFnZT4oKSkKKyAgICAsIG1fdGlt
ZXN0YW1wKE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgICwgbV9pZGVudGlmaWVyKHNfbmV4dFNl
Z21lbnRJZGVudGlmaWVyKyspCi0gICAgLCBtX3RpbWVzdGFtcChjdXJyZW50VGltZU1TKCkpCiB7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2Vn
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmgKaW5k
ZXggZDU2MmI1M2MwNDQ4NDEzZjQ2MzI5OTdjYTE5Zjk0OGRlMjNhMmQ5Yy4uZjc2NzQyYzY1OGVk
YzAxMjMyY2UzM2JmZWY3OTRmMzUzMzY0NTdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5
L1JlcGxheVNlc3Npb25TZWdtZW50LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpZiBFTkFCTEUoV0VC
X1JFUExBWSkKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL01vbm90
b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNTEsMjAgKzUyLDIxIEBAIHB1YmxpYzoKICAgICB+UmVwbGF5U2Vzc2lv
blNlZ21lbnQoKTsKIAogICAgIHVuc2lnbmVkIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBt
X2lkZW50aWZpZXI7IH0KLSAgICBkb3VibGUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90
aW1lc3RhbXA7IH0KKyAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCgpIGNvbnN0IHsgcmV0dXJu
IG1fdGltZXN0YW1wOyB9CisKIHByb3RlY3RlZDoKICAgICBTZWdtZW50ZWRJbnB1dFN0b3JhZ2Um
IHN0b3JhZ2UoKSB7IHJldHVybiAqbV9zdG9yYWdlOyB9Ci0gICAgVmVjdG9yPGRvdWJsZSwgMD4m
IGV2ZW50TG9vcFRpbWluZ3MoKSB7IHJldHVybiBtX2V2ZW50TG9vcFRpbWluZ3M7IH0KKyAgICBW
ZWN0b3I8TW9ub3RvbmljVGltZSwgMD4mIGV2ZW50TG9vcFRpbWluZ3MoKSB7IHJldHVybiBtX2V2
ZW50TG9vcFRpbWluZ3M7IH0KIAogcHJpdmF0ZToKICAgICBSZXBsYXlTZXNzaW9uU2VnbWVudCgp
OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNlZ21lbnRlZElucHV0U3RvcmFnZT4gbV9zdG9yYWdl
OwotICAgIFZlY3Rvcjxkb3VibGUsIDA+IG1fZXZlbnRMb29wVGltaW5nczsKKyAgICBWZWN0b3I8
TW9ub3RvbmljVGltZSwgMD4gbV9ldmVudExvb3BUaW1pbmdzOwogCisgICAgTW9ub3RvbmljVGlt
ZSBtX3RpbWVzdGFtcDsKICAgICB1bnNpZ25lZCBtX2lkZW50aWZpZXI7CiAgICAgYm9vbCBtX2Nh
bkNhcHR1cmUge3RydWV9OwotICAgIGRvdWJsZSBtX3RpbWVzdGFtcDsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlp
bmdJbnB1dEN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vy
c29yLmgKaW5kZXggNzdjM2I5NDIwYzhmYWQ0NGRlNTNiYzAxNTJkYmU5NzZiZGQ2YjY5Mi4uMGZl
ZDEwOTI4MTA3YjNlODRiYWU5NWVjMjM3N2UwZGM3Nzk1MWJiOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpZiBF
TkFCTEUoV0VCX1JFUExBWSkKIAogI2luY2x1ZGUgPHJlcGxheS9JbnB1dEN1cnNvci5oPgorI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw4ICs0Miw4IEBAIGNsYXNzIFBhZ2U7CiBjbGFzcyBS
ZXBsYXlTZXNzaW9uU2VnbWVudDsKIAogc3RydWN0IEV2ZW50TG9vcElucHV0RGF0YSB7Ci0gICAg
RXZlbnRMb29wSW5wdXRCYXNlKiBpbnB1dDsKLSAgICBkb3VibGUgdGltZXN0YW1wOworICAgIEV2
ZW50TG9vcElucHV0QmFzZSogaW5wdXQgeyBudWxscHRyIH07CisgICAgTW9ub3RvbmljVGltZSB0
aW1lc3RhbXA7CiB9OwogCiBjbGFzcyBSZXBsYXlpbmdJbnB1dEN1cnNvciBmaW5hbCA6IHB1Ymxp
YyBJbnB1dEN1cnNvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNj
b3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCmluZGV4IDgyMjcw
YWRkMGYyZjBjZjNlY2RkNzY1NDhlMDVjMTQxODIwYjg1ZTYuLjMwODBkNmE4YjE2YmY4NzE0MThh
N2Y4ODdiNzFlYTgxODIxOTRmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCkBA
IC01MDcsNyArNTA3LDcgQEAgdm9pZCBTY29wZTo6c2NoZWR1bGVVcGRhdGUoVXBkYXRlVHlwZSB1
cGRhdGUpCiAKICAgICBpZiAobV9wZW5kaW5nVXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fcGVuZGluZ1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3BlbmRpbmdVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTY29w
ZTo6ZGlkQ2hhbmdlQWN0aXZlU3R5bGVTaGVldENhbmRpZGF0ZXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnQuY3BwCmluZGV4IGYwNDE1ZmNhMzBmOWNlNGM0MTAyZmE1OGQ3YjM1MmZhZmY4NWVjM2Mu
LjQxOTYyYWE3M2I2NWQ5YmU2MjgxNjk4ODAyNTE5MjFlNzhhOTk4YWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudC5jcHAKQEAgLTYyMSw3ICs2MjEsNyBAQCB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRT
VkdMb2FkRXZlbnRJZlBvc3NpYmxlKGJvb2wgc2VuZFBhcmVudExvYWRFdmVudHMpCiAKIHZvaWQg
U1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGVBc3luY2hyb25vdXNseSgpCiB7
Ci0gICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDApOworICAgIHN2Z0xvYWRF
dmVudFRpbWVyKCktPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN2
Z0xvYWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2Fu
aW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAppbmRleCBjYmYzYjdiYTU4NDg1MDc3MzdlOTc1Y2Rk
MGE4MTkyZDMzNWZiZjUwLi43NTNlNDAxNGJjYzIxMmNiMzA4ZDhkNjY3Y2ZmZWJmZDEzYzQ0NWE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFp
bmVyLmNwcApAQCAtMjA1LDcgKzIwNSw3IEBAIHZvaWQgU01JTFRpbWVDb250YWluZXI6OnN0YXJ0
VGltZXIoU01JTFRpbWUgZWxhcHNlZCwgU01JTFRpbWUgZmlyZVRpbWUsIFNNSUxUaW1lCiAgICAg
ICAgIHJldHVybjsKIAogICAgIFNNSUxUaW1lIGRlbGF5ID0gc3RkOjptYXgoZmlyZVRpbWUgLSBl
bGFwc2VkLCBtaW5pbXVtRGVsYXkpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGRlbGF5LnZh
bHVlKCkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoZGVsYXkudmFsdWUoKSkp
OwogfQogCiB2b2lkIFNNSUxUaW1lQ29udGFpbmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IDYxMWM5MmI4ZmIzNDUxY2Zj
NmNmOTZjOGVkMzdlNzg1YTMyZDk3ZjguLjU0M2MzZjRkYWRlODk1MzhkOGI3NjI1MGM4YWU1OGQ1
MmVmNmJmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNw
cApAQCAtNTM2LDcgKzUzNiw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6
OnNldE1pbmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbEluU2VjCiB7CiAgICAgaWYg
KCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIg
fTsKLSAgICBzZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWxJ
blNlY29uZHMgKiAxMDAwKSkpOworICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50
ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbEluU2Vjb25kcykpOwogICAgIHJldHVybiB7IH07CiB9CiAK
QEAgLTU2MCw3ICs1NjAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpz
ZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICgh
bV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07
Ci0gICAgc2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9scyh0aW1lKTsKKyAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHModGltZSkpOwogICAgIHJldHVybiB7IH07CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNWE0ZjZl
NGRhZDQ4NWNiNWFmMzEyN2RlZjgwNzhkYzc3NjFjMTk0MC4uODQ1OThhMmE1YjA0ZDI2OTEyNDI2
YTkwZTUzM2NiOTFjMTc4MWVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fbGFu
Z0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9pbWFn
ZXNFbmFibGVkOwogICAgICAgICBib29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7Ci0gICAg
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKKyAg
ICAgICAgU2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOwogI2lmIEVOQUJMRShWSURFT19U
UkFDSykKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7CiAgICAgICAgIGJv
b2wgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnM7CkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToK
ICNlbmRpZgogICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAg
IGJvb2wgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFs
VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNl
Y29uZHMgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzOwogICAgICAgICBib29sIG1fdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhh
dmlvcjsKICAgICAgICAgYm9vbCBtX2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAg
ICAgICAgIGJvb2wgbV9xdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRj
NDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3NWM0YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3
YWFjYjUxYjA0OGUyZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwCkBAIC0xODcsNyArMTg3LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9z
dFRhc2soVGFzayYmIHRhc2spCiAKIGludCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewot
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGlt
ZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vj
b25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFy
VGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xv
YmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFs
U2NvcGU6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlv
biwgaW50IHRpbWVvdXQpCiB7Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBX
VEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNl
KTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwg
U2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdv
cmtlckdsb2JhbFNjb3BlOjpjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCAwY2E3Mzg5ZWJhMjdmOWM3YjlhYWRmZTdkNWU1
MjQxYmUxMDc3NzJmLi5kYTkzMmRjM2UxM2I2NWRhZTA3ZGY4N2Y5NmViYTNlMTYwYWRiZDcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBF
eGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1l
b3V0KQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3
ZSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVk
IGl0IHNvIGxldCdzIG1pbWljIGl0IHdpdGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0g
ICAgc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNv
bmRzIDogNjAwMDAgfSAtIChzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2Vu
ZGluZ1RpbWUpOwotICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAs
IGludGVydmFsLmNvdW50KCkpKTsKKyAgICBhdXRvIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxsaXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMg
OiA2MDAwMCkgLSAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBt
X3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMF9zLCBpbnRlcnZhbCkpOwogICAg
IHJldHVybiB7IH07CiB9CiAKQEAgLTQ5Niw3ICs0OTYsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2Vw
dGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVxdWVzdDo6cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uT3I8dm9pZD4geyBFeGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07
CiAgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGlt
ZXIuc3RvcCgpOwotICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAg
ICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMg
LyAxMDAwLjApOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91
dEludGVydmFsKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAg
ICAgICAgICBtX3NlbmRpbmdUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7
Ci0gICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2Vu
ZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxp
c2Vjb25kcykpOwogICAgICAgICB9CiAgICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBY
TUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAg
ICAgbV9zZW5kRmxhZyA9IGZhbHNlOwogICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7
CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbV9leGNlcHRpb25Db2Rl
ID0gTkVUV09SS19FUlI7CkBAIC0xMTgzLDcgKzExODMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0
OjpyZXN1bWUoKQogICAgIC8vIFdlIGFyZSBub3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFy
eSBKUyBpbiByZXN1bWUoKSBzbyBkaXNwYXRjaAogICAgIC8vIHRoZSBlcnJvciBldmVudCBpbiBh
IHRpbWVyLgogICAgIGlmIChtX2Rpc3BhdGNoRXJyb3JPblJlc3VtaW5nICYmICFtX3Jlc3VtZVRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFhNTEh0
dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKaW5kZXggMDRhYmMwOWRkN2Y2YmI4YjhhOTVhNTI0MTI3YzE0NjhjZmRhYzI3MS4uMmY4OGY1
OTc0NzYwNDY2ZGU2MGJhOTYyNDBhMjJjOWQwY2FmOGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsyMzAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29y
a0Vycm9yVGltZXJGaXJlZCgpOwogCiAgICAgdW5zaWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRz
IHsgMCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5k
aW5nVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fc2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90
aW1lb3V0VGltZXI7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJm
OGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMwODczLi5lNGM5OTU1MTA0MDYxMzI3M2FkZmUxNzU4M2I4
YTA3ZjJmZDdkMjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbElu
U2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRz
IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVu
dERpc3BhdGNoaW5nSW50ZXJ2YWwgPSA1MF9tczsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24u
CiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZShFdmVudFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQo
dGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEyIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAg
ICAgIEFTU0VSVCghbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNw
YXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhDb21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAg
ICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZh
bEluU2Vjb25kcyk7CisgICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50
RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAgICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVu
dCA9IGZhbHNlOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlz
IGFscmVhZHkgYWN0aXZlIHNvIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZh
bEluU2Vjb25kcyBpcyB0aGUgbGVhc3QgZnJlcXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVy
IGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRl
cnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVlbnQgZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9n
cmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApAQCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2Yg
YWN0aXZlIERPTSBvYmplY3RzIHRvIHJlc3VtZSB0aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBl
dmVudC1oYW5kbGVyCiAgICAgLy8gY291bGQgaW5zZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMg
dG8gdGhlIGxpc3QuCiAgICAgLy8gbV9kZWZlckV2ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxs
IGRlZmVycmVkIGV2ZW50cyBoYXZlIGJlZW4gZGlzcGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVm
ZXJyZWRFdmVudHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVk
RXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlLmgKaW5kZXggOTcxYmQyMzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUw
MzQ4NGE4ZC4uMzQwZmI1YzAwZDE3M2ZiNjE2MWE3NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVu
dERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMg
bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2
b2lkIGZpcmVkKCk7CiAgICAgdm9pZCBkaXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRj
NGI5MjI4N2EwMzFlZmEwOTM1NGVhMTkuLmZhZjQ0YmFmNDYyZjQ5ZDc3OGFiMTE3ZDRiYWUwNDZk
MWY0MmM3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5
bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBA
IC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFy
ZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5nZXMsIGRvbid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlz
ay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVwIGEgYmF0Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0
dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhlIGZvbGxvd2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25z
dCBkb3VibGUgU3RvcmFnZVN5bmNJbnRlcnZhbCA9IDEuMDsKK3N0YXRpYyBjb25zdCBhdXRvIHN0
b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxX3M7CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBp
dGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBzeW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAog
Ly8gbXVjaCBoYXJkZXIgdG8gc3RhcnZlIHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhl
IE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdlbmVyYWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBT
dG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlSXRlbUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNv
bnN0IFN0cmluZyYgdmFsdWUKIAogICAgIG1fY2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsK
ICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIu
c3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5z
dGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxv
d2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBp
biB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMz
LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdl
ZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9pdGVtc0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9z
eW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qo
U3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChz
dG9yYWdlU3luY0ludGVydmFsKTsKIAogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFu
Y2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAg
ICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0
b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbG9zZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURh
dGFiYXNlID0gdHJ1ZTsKICAgICAKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsK
LSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwor
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAg
ICAgICAgIAogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxs
IHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJG
aXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6
c3luY1RpbWVyRmlyZWQoKQogICAgICAgICAvLyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUg
c2h1dHRpbmcgZG93biwgc2NoZWR1bGUgaXQgYW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Q
cm9ncmVzcyAmJiAhbV9maW5hbFN5bmNTY2hlZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCgh
bV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9u
ZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFy
dE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGlt
ZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRpYWxTeW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4n
dCBmaW5pc2ggc3luY2luZywgdGhlbiB3ZSBuZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgog
ICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNU
aW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1Rp
bWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAg
ICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxl
U3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMs
IHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hlZHVsZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNk
OGIwZGRhMDRkYjYwODFhNjYyM2JkLi5hZDc1N2Q4OGRkMTY2ZTc2MTk1YTUwMzVhZDUzZjAwOTUw
OTlmNzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUx
LDggKzUxLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0
b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsKIAogLy8gSWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVm
ZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFiYXNlLCBjbG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFz
ZQotLy8gYWZ0ZXIgaXQgaGFzIGJlZW4gaWRsZSBmb3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbCA9IDMwMDsKKy8vIGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fc3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsIHNlY29uZHMuCitzdGF0aWMgY29uc3QgYXV0byBkZWZh
dWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gMzAwX3M7CiAgICAgCiB2b2lkIFN0b3Jh
Z2VUcmFja2VyOjppbml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBT
dG9yYWdlVHJhY2tlckNsaWVudCogY2xpZW50KQogewpAQCAtOTcsNyArOTcsNyBAQCBTdG9yYWdl
VHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCkKICAgICAs
IG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlxdWU8U3RvcmFnZVRocmVhZD4oKSkKICAgICAsIG1faXNB
Y3RpdmUoZmFsc2UpCiAgICAgLCBtX25lZWRzSW5pdGlhbGl6YXRpb24oZmFsc2UpCi0gICAgLCBt
X1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsKQorICAgICwgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoZGVmYXVsdFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFn
ZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBkMjJlOWEzOWY5YjhjMDg5MzdmNTk0ZThmYTNiZGFjYTg4
Li43MjZmMzI1MWIxZDFlZWY2YzFhYWYxMTI2MWMwZDI5OTdiNTkxNGQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAg
CiAgICAgYm9vbCBpc0FjdGl2ZSgpOwogCi0gICAgZG91YmxlIHN0b3JhZ2VEYXRhYmFzZUlkbGVJ
bnRlcnZhbCgpIHsgcmV0dXJuIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9Ci0gICAg
dm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKSB7IG1f
U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIHN0
b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fc3RvcmFnZURhdGFiYXNlSWRs
ZUludGVydmFsOyB9CisgICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vj
b25kcyBpbnRlcnZhbCkgeyBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFs
OyB9CiAKICAgICB2b2lkIHN5bmNGaWxlU3lzdGVtQW5kVHJhY2tlckRhdGFiYXNlKCk7CiAKQEAg
LTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIAogICAgIGJvb2wgbV9pc0FjdGl2ZTsKICAg
ICBib29sIG1fbmVlZHNJbml0aWFsaXphdGlvbjsKLSAgICBkb3VibGUgbV9TdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bDsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5k
ZXggMTFiY2UzYmVlMGUwYmExZDcwMmY3MmM2NjQ1M2NjMmEyYmRlYjdmNi4uYTZjZjg0ZmMxOTUy
NTk2M2Q0NmQyYmFjOTU3YWZhMmIzZmE4YTFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMjg2
LDcgKzI4Niw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXN1bWVQZW5kaW5n
UmVxdWVzdHMoKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQ
ZW5kaW5nUmVxdWVzdHMoKQogewogICAgIGlmICghbV9yZXF1ZXN0VGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVl
c3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hl
ZHVsZXI6OnJlcXVlc3RUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQpp
bmRleCBiOWFiOGEwZGRkY2M3NjQ3ZGE3ODYzMzk4NDIzMjdjYTVjN2E5N2E5Li4wNmU5ZWQ2YzU3
ZGI1NDcyMjdhZjQyYzVhMmYwNWFmZGFjZGVlZTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5Lm1tCkBAIC03NDQsNyArNzQ0LDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHk6OnJlcXVlc3RUaW1lckZpcmVkKCkKICAgICBtX3BsdWdpblJlcXVlc3RzLnJlbW92ZUZpcnN0
KCk7CiAgICAgCiAgICAgaWYgKCFtX3BsdWdpblJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAg
bV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKICAgICAKICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgp
KTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBAQCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eTo6bG9hZFJlcXVlc3QoTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAg
ICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQs
IHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQb3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVlc3Rz
LmFwcGVuZChXVEZNb3ZlKHBsdWdpblJlcXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UgewogICAgICAgICBSZWZQdHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJl
YW0+IHN0cmVhbSA9IEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtOjpjcmVhdGUodGhpcywgcmVx
dWVzdElELCByZXF1ZXN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
V2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KaW5kZXggMDVjYzRkNDcyZGE4NjEwYTM0YmE1YmRi
ZWM4YTE2M2U0YWQzOGI5NC4uZGIwYzAwZmU3YWM1ZGM3ZGY3MGU5OTBiZjYwMWNlMTlmZWZmNWYy
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blN0cmVhbS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luU3RyZWFtLm1tCkBAIC01MjksNyArNTI5LDcgQEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0
cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7CiAg
ICAgICAgICAgICAvLyBQbHVnLWluIGNhbid0IHJlY2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0IG5v
dy4gU2VuZCBpdCBsYXRlci4KICAgICAgICAgICAgIGlmICghbV9kZWxpdmVyRGF0YVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgICAgICBtX2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRl
bGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihkZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxC
eXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dl
Yk5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0
c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IGQ5ZTU4ZTMzNjk0ZDUwY2MxZjY3NmIwNGZjMWY5OGUz
ZWZhNGJkM2UuLmMyYzY0ZTJhM2EwNTFmOTg1YmU5YTRjMDU3YmJkNGZjNzNkYzRmYTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
CkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIFdlYk5ldHNjYXBlUGx1Z2luVmlldyAqY3VycmVu
dFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5cGVkZWYgc3RydWN0IE9wYXF1ZVBvcnRTdGF0ZSogUG9y
dFN0YXRlOwogCi1zdGF0aWMgY29uc3QgZG91YmxlIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAw
LjI1Oworc3RhdGljIGNvbnN0IGF1dG8gVGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjVfczsK
IAogY2xhc3MgUGx1Z2luVGltZXIgOiBwdWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEz
MCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkp
OwogCi0gICAgICAgIGRvdWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOwor
ICAgICAgICBhdXRvIHRpbWVJbnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9p
bnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0
aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2
YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFu
YWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0K
aW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZhZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1
NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2IwNWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGlj
IHB0aHJlYWRfb25jZV90IHJlZ2lzdGVyTG9jYWxTdG9yYWdlUGF0aCA9IFBUSFJFQURfT05DRV9J
TklUOwogCiArICh2b2lkKXNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWlu
dGVydmFsCiB7Ci0gICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbChpbnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJh
Y2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzKGlu
dGVydmFsKSk7CiB9CiAKICsgKHZvaWQpY2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZGFkYzI2MjM4MzUzZGI3OGZkMjU5
NWQyYjM3YmRkNjQ5ZDFjZWIwZi4uNzE4NWY1MzU5NTBmODZhMzZmMGFkMGQ3NGUxMTQ0ODNiMGI4
ZDAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjc0OSw3ICsyNzQ5
LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAg
IHNldHRpbmdzLnNldFNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMo
c2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cygpKTsKIAogICAgIHNl
dHRpbmdzLnNldFBhc3N3b3JkRWNob0VuYWJsZWQoW3ByZWZlcmVuY2VzIF9hbGxvd1Bhc3N3b3Jk
RWNob10pOwotICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0aW9uSW5TZWNvbmRzKFtw
cmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRpb25dKTsKKyAgICBzZXR0aW5ncy5zZXRQYXNz
d29yZEVjaG9EdXJhdGlvbihTZWNvbmRzKFtwcmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRp
b25dKSk7CiAKICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKHNldHRpbmdzLnBhZ2VDYWNoZVN1cHBv
cnRzUGx1Z2lucygpLCAiUGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zIHNob3VsZCBiZSBlbmFibGVk
IG9uIGlPUy4iKTsKICAgICBzZXR0aW5ncy5zZXREZWxlZ2F0ZXNQYWdlU2NhbGluZyh0cnVlKTsK
QEAgLTI4NjgsNyArMjg2OCw3IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9h
ZGluZ1F1aXJrKCkKIAogICAgIE5TVGltZUludGVydmFsIHRpbWVvdXQgPSBbcHJlZmVyZW5jZXMg
aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHNdOwogICAgIGlm
ICh0aW1lb3V0ID4gMCkKLSAgICAgICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdT
dXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHModGltZW91dCk7CisgICAgICAgIHNldHRpbmdzLnNl
dEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFNlY29uZHModGltZW91dCkp
OwogCiAgICAgLy8gQXBwbGljYXRpb24gQ2FjaGUgUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0
aGUgZ2xvYmFsIGNhY2hlIHN0b3JhZ2UgbWFuYWdlciwgbm90IGluIFNldHRpbmdzLgogICAgIFtX
ZWJBcHBsaWNhdGlvbkNhY2hlIHNldERlZmF1bHRPcmlnaW5RdW90YTpbcHJlZmVyZW5jZXMgYXBw
bGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90YV1dOwpAQCAtODMwMiw3ICs4MzAyLDcgQEAg
c3RhdGljIFdlYkZyYW1lVmlldyAqY29udGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAg
ICAgdW5zaWduZWQgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1p
bkRlYWRDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAw
OwotICAgIGF1dG8gZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25v
OjpzZWNvbmRzIHsgMCB9OworICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbDsKIAogICAgIHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDI5LDcgKzg0
MjksNyBAQCBzdGF0aWMgV2ViRnJhbWVWaWV3ICpjb250YWluaW5nRnJhbWVWaWV3KE5TVmlldyAq
dmlldykKICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4g
d291bGQganVzdGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNp
dHkgPSBzdGQ6Om1heDx1bnNpZ25lZD4oMjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAg
ICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29u
ZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9t
aW47CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4
IGJjMThkZWI3NWNjZDcwODI3YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLjdkYjI3NmUwNzg0ZmFl
MGMyNzE4NjAzYjhmMDQyYzY4MThjZDU1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9h
dCB0aW1lckludGVydmFsID0gMC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVy
dmFsID0gMC4wMzNfczsKIAogLy8gSFVEIFNpemUKIHN0YXRpYyBjb25zdCBpbnQgd2luZG93SGVp
Z2h0ID0gNTk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1l
c3NhZ2VUaHJvdHRsZXJXaW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5N
ZXNzYWdlVGhyb3R0bGVyV2luLmNwcAppbmRleCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0
NDc1NzNlZDJjZjA5Li4xNzI5ZmZmNjNjMGZmYTQ2NzVkMzc4MTNhYzZhYzcwZDc2NDlkOTkyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRs
ZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRo
cm90dGxlcldpbi5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8g
VGhpcyB2YWx1ZSBhbGxvd3MgRmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQg
YmUgZW5vdWdoIGZvciB2aWRlbwogLy8gcGxheWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0
aGUgbGltaXQgZm9yIGtpY2tpbmcgaW50byBoaWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUg
KHNlZSBTaGFyZWRUaW1lcldpbi5jcHApLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhy
b3R0bGVUaW1lSW50ZXJ2YWwgPSAwLjAxNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIE1lc3NhZ2VU
aHJvdHRsZVRpbWVJbnRlcnZhbCA9IFNlY29uZHMoMC4wMTYpOwogCiAvLyBEdXJpbmcgYSBjb250
aW51b3VzIHN0cmVhbSBvZiBtZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZlcnkgNW1zLgogc3RhdGlj
IGNvbnN0IGRvdWJsZSBNZXNzYWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVydmFsID0gMC4wMDU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwIGIv
U291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCBiNjdmYTUz
ZmU4MGIxZWY4YzAxYWZmYzg2ZGE1ZDcxNjMxNTVkZDI0Li4xNzU0YmRkNTRmMDczOWUyZGY2Y2Fj
Yjc5ZTE1MTVhNDkyMTdjZjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblBhY2thZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2lu
UGFja2FnZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGli
cmFyeVNvb24oKQogICAgIEFTU0VSVChtX21vZHVsZSk7CiAgICAgQVNTRVJUKCFtX2xvYWRDb3Vu
dCk7CiAKLSAgICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnJl
ZUxpYnJhcnlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5QYWNrYWdl
OjpmcmVlTGlicmFyeVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
UGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVn
aW5TdHJlYW0uY3BwCmluZGV4IDJlZjM5NTViZTYxYThkMDU0MjRhZDEzOTk2MmRkMGQ3ZmE2YWU0
NDQuLmRhODMzYWFmNGY4YmFlNDRiNDgwNGIzNTIxZmNkMTc3YjhjYWRkNGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2
b2lkIFBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgICAgICBpbnQzMl90IGRlbGl2ZXJ5
Qnl0ZXMgPSBtX3BsdWdpbkZ1bmNzLT53cml0ZXJlYWR5KG1faW5zdGFuY2UsICZtX3N0cmVhbSk7
CiAKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewotICAgICAgICAgICAgbV9kZWxh
eURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9kZWxheURlbGl2
ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVsaXZlcnlCeXRlcywg
dG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdp
bnMvUGx1Z2luVmlldy5jcHAKaW5kZXggMjA3YTk2MTNjY2E4ZDljMTAzN2NmYjRkMWIxZTQyYTY4
NTE5NTY5Ni4uNGVkNmQ1YjBiNTU5NDVmMTcwMDNlY2MyNGYzOTZmYTg2NDQ5NjAwZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC00NzMsNyArNDczLDcgQEAg
dm9pZCBQbHVnaW5WaWV3OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgLy8gU2NoZWR1bGUgYSBu
ZXcgcmVxdWVzdCBiZWZvcmUgY2FsbGluZyBwZXJmb3JtUmVxdWVzdCBzaW5jZSB0aGUgY2FsbCB0
bwogICAgIC8vIHBlcmZvcm1SZXF1ZXN0IGNhbiBjYXVzZSB0aGUgcGx1Z2luIHZpZXcgdG8gYmUg
ZGVsZXRlZC4KICAgICBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVl
c3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogCiAgICAgcGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC00
ODMsNyArNDgzLDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpzY2hlZHVsZVJlcXVlc3Qoc3RkOjp1bmlx
dWVfcHRyPFBsdWdpblJlcXVlc3Q+IHJlcXVlc3QpCiAgICAgbV9yZXF1ZXN0cy5hcHBlbmQoV1RG
TW92ZShyZXF1ZXN0KSk7CiAKICAgICBpZiAoIW1faXNKYXZhU2NyaXB0UGF1c2VkKQotICAgICAg
ICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBOUEVycm9yIFBsdWdpblZpZXc6OmxvYWQoY29uc3Qg
RnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9u
LCB2b2lkKiBub3RpZnlEYXRhKQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgUGx1Z2luVmlldzo6
c2V0SmF2YVNjcmlwdFBhdXNlZChib29sIHBhdXNlZCkKICAgICBpZiAobV9pc0phdmFTY3JpcHRQ
YXVzZWQpCiAgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0b3AoKTsKICAgICBlbHNlIGlmICghbV9y
ZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1
Z2luVmlldzo6a2VlcEFsaXZlKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAg
bV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCmluZGV4IDJm
Y2E5ZjNjOTVkNzNkYmEzYWMzMjYyNTllYTg2ZGRjZGRhMjA3MGYuLmU1YzNjNTRhZjk3MWM2ZWQ5
MzgxMjI2YzZiZjRkMDY2ODliMmZlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1Bs
dWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5WaWV3V2luLmNwcApAQCAtMzM0LDcgKzMzNCw3IEBAIFBsdWdpblZpZXc6OnduZFByb2Mo
SFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiAK
ICAgICAgICAgcHVzaFBvcHVwc0VuYWJsZWRTdGF0ZSh0cnVlKTsKIAotICAgICAgICBtX3BvcFBv
cHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BvcFBvcHVwc1N0YXRl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAgICAgaWYgKG1lc3NhZ2UgPT0gV01f
UFJJTlRDTElFTlQpIHsKQEAgLTgzOCw3ICs4MzgsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFs
aWRhdGVSZWN0KE5QUmVjdCogcmVjdCkKICAgICAgICAgaWYgKG1fcGx1Z2luLT5xdWlya3MoKS5j
b250YWlucyhQbHVnaW5RdWlya1Rocm90dGxlSW52YWxpZGF0ZSkpIHsKICAgICAgICAgICAgIG1f
aW52YWxpZFJlY3RzLmFwcGVuZChyKTsKICAgICAgICAgICAgIGlmICghbV9pbnZhbGlkYXRlVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9u
ZVNob3QoMC4wMDEpOworICAgICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgxX21zKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChy
KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9B
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1
NTcwZmVhZWM5ZGIzODY5NzA4YjVhYjdjN2E0YWQyMjI4Mi4uYTEwYTAyMDY0YmU5MzAxZTA4NDRi
NWUwYjRjMDA5OGU2MDBmNGU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNw
cApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZl
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hv
dCgwLjA1KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNV9zKTsKIH0K
IAogYm9vbCBBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQZW5kaW5nTGF5ZXJD
aGFuZ2VzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggZDU3MDA0OGRhN2EyNjQwNmJjYWQwNmMy
NWRlODY4ZmU1YWNiMmIwMy4uNGI0ZmNkMTkxYTkwNzNjYWU5MDkwNzc2MGJlZjA0YTU5OWVhYjA3
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTUyNSw3ICs1MjUsNyBAQCB2b2lkIFdlYlZpZXc6
OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGNh
Y2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkg
PSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAg
fTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1
bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0gMDsKIApAQCAtNjM3LDcgKzYzNyw3IEBAIHZvaWQgV2Vi
Vmlldzo6c2V0Q2FjaGVNb2RlbChXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgICAgIC8v
IGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhl
IHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gbWF4KDI0dSwgY2Fj
aGVNYXhEZWFkQ2FwYWNpdHkpOwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwgPSA2MF9zOwogCiAgICAgICAgIC8vIE1lbW9yeSBjYWNoZSBj
YXBhY2l0eSAoaW4gYnl0ZXMpCiAgICAgICAgIC8vIChUaGVzZSB2YWx1ZXMgYXJlIHNtYWxsIGJl
Y2F1c2UgV2ViQ29yZSBkb2VzIG1vc3QgY2FjaGluZyBpdHNlbGYuKQpAQCAtMTUxNiw3ICsxNTE2
LDcgQEAgdm9pZCBXZWJWaWV3OjpjbG9zZVdpbmRvd1Nvb24oKQogICAgIG1fY2xvc2VXaW5kb3dU
aW1lciA9IFdpbmRvd0Nsb3NlVGltZXI6OmNyZWF0ZSh0aGlzKTsKICAgICBpZiAoIW1fY2xvc2VX
aW5kb3dUaW1lcikKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2xvc2VXaW5kb3dUaW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICBBZGRSZWYoKTsKIH0KQEAgLTc0NjEsOCArNzQ2MSw3IEBAIEhSRVNVTFQgV2ViVmll
dzo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFsKQogICAgIGlmICghbV9w
YWdlKQogICAgICAgICByZXR1cm4gRV9GQUlMOwogCi0gICAgYXV0byBpbnRlcnZhbE1TID0gc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShp
bnRlcnZhbCAqIDEwMDApKTsKLSAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURPTVRp
bWVySW50ZXJ2YWwoaW50ZXJ2YWxNUyk7CisgICAgcGFnZSgpLT5zZXR0aW5ncygpLnNldE1pbmlt
dW1ET01UaW1lckludGVydmFsKFNlY29uZHMoaW50ZXJ2YWwpKTsKICAgICByZXR1cm4gU19PSzsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Rh
dGFUYXNrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFz
ay5jcHAKaW5kZXggOWJmYTRlYzY0Yzg0NzBjN2RiZWJjZTRmZmUzYmZjMDRjODU2M2I5MC4uOTRl
MTQ3ZjUyOGE1ODNmZDBkZWNhNzExNTMwMzYxOTMyZTEyNjRmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCkBAIC05MSw3ICs5MSw3
IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlw
ZSkKIHsKICAgICBBU1NFUlQodHlwZSAhPSBOb0ZhaWx1cmUpOwogICAgIG1fc2NoZWR1bGVkRmFp
bHVyZVR5cGUgPSB0eXBlOwotICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0
YVRhc2s6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJl
c3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAppbmRleCA1MTdmODQ1YWFiZTUy
M2YyZWZhOTYxODRlZWY3MjUzYWUyY2E0ZDlmLi4wZjMwMDJkYWUyNWZhYTdhZTllYjI3OWI3NDM5
Mjk0NGJkMDIxNzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrTG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWQuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogI2lm
IFVTRShORVRXT1JLX1NFU1NJT04pCiAKIHN0cnVjdCBOZXR3b3JrTG9hZDo6VGhyb3R0bGUgewot
ICAgIFRocm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlvbkhh
bmRsZXImJiBoYW5kbGVyKQorICAgIFRocm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBTZWNvbmRz
IGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlvbkhh
bmRsZXImJiBoYW5kbGVyKQogICAgICAgICA6IHRpbWVyKGxvYWQsICZOZXR3b3JrTG9hZDo6dGhy
b3R0bGVEZWxheUNvbXBsZXRlZCkKICAgICAgICAgLCByZXNwb25zZShXVEZNb3ZlKHJlc3BvbnNl
KSkKICAgICAgICAgLCByZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFuZGxlcikp
CkBAIC0zMTIsNyArMzEyLDcgQEAgdm9pZCBOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNl
TmV0d29ya1Nlc3Npb24oUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLAogICAgIH0KIAogICAg
IGF1dG8gZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9hZFRocm90dGxlTGF0
ZW5jeSgpOwotICAgIGlmIChkZWxheSA+IDBtcykgeworICAgIGlmIChkZWxheSA+IDBfcykgewog
ICAgICAgICBtX3Rocm90dGxlID0gc3RkOjptYWtlX3VuaXF1ZTxUaHJvdHRsZT4oKnRoaXMsIGRl
bGF5LCBXVEZNb3ZlKHJlc3BvbnNlKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmgKaW5kZXggYzk2ZDA4MjllMTViNmQ4OGJhZTE1Y2YwYzEyY2M0Y2QyMzhm
MTEzYi4uOGM1YjdhNDg4NWZjNDQ5ZWVhZGUwNzQ0Y2Q5ZmM2MDI1YWNlNjFhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xMTUsNyAr
MTE1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBncmFudFNhbmRib3hFeHRlbnNpb25zVG9EYXRh
YmFzZVByb2Nlc3NGb3JCbG9icyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGdW5j
dGlvbjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKIAotICAgIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRo
cm90dGxlTGF0ZW5jeTsgfQorICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0
IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsgfQogCiBwcml2YXRlOgogICAgIE5ldHdv
cmtQcm9jZXNzKCk7CkBAIC0yMDcsNyArMjA3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3Vw
cHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaXNrQ2Fj
aGVJc0Rpc2FibGVkRm9yVGVzdGluZzsKICAgICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJU
cnVzdEV2YWx1YXRpb247Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2xvYWRUaHJv
dHRsZUxhdGVuY3k7CisgICAgU2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICB0
eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUHJvY2Vz
c1N1cHBsZW1lbnQ+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPj4gTmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50TWFwOwogICAgIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZjQ1NjljOTQ2OWE1NzcyZTYwYjFj
OWJmZjU2MDg1ZDNhY2I0M2MzZC4uNzA5NTE1MzBlMzI5ZmExYzVmM2ZmOGU2NzJiOTM0MzA4YzU4
ZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKICNpbmNs
dWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAg
LTczLDcgKzc0LDcgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsK
ICAgICBib29sIHNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsK
ICAgICBib29sIHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbjsKICAgICBib29sIHVybFBh
cnNlckVuYWJsZWQgeyBmYWxzZSB9OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9h
ZFRocm90dGxlTGF0ZW5jeSB7IDBtcyB9OworICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5j
eTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJv
dG9jb2xzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCA0MjU1YWRlNDExNTBkYTk2
OWYyMTExNzUxMmQ3ZGY2ZjdmN2M5YzRhLi41YjI5ZTBlYmQ0M2EzOGJlNTJhZTY2ZGM1MjEwMzJl
YzIwNjcwYWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKQEAgLTUwLDcgKzUwLDcgQEAg
cHVibGljOgogICAgIFJlc291cmNlTG9hZElkZW50aWZpZXIgaWRlbnRpZmllciB7IDAgfTsKICAg
ICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiByZXF1ZXN0Qm9keVNhbmRib3hFeHRl
bnNpb25zOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCiAgICAgUmVm
UHRyPFNhbmRib3hFeHRlbnNpb24+IHJlc291cmNlU2FuZGJveEV4dGVuc2lvbjsgLy8gQ3JlYXRl
ZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUgeyAwbXMgfTsKKyAgICBTZWNvbmRzIG1heGltdW1C
dWZmZXJpbmdUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApp
bmRleCA5MDEwNTk5NjhhMzkxMzAxZGEyYWM5MjM3NGI3ZjkyNDVkNjk0ZGQ2Li4yYzdhZTNhYTc2
YjcyOTc1NjQ4MDMwMzU2YmQ5ZjA3NDIwZWMyZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIwOSw3
ICsyMDksNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9hZChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVu
c2lvbnMoKTsKIAotICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGlt
dW1CdWZmZXJpbmdUaW1lID4gMG1zKQorICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJh
bWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMF9zKQogICAgICAgICBtX2J1ZmZlcmVkRGF0
YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmggYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCmluZGV4IDMwMGMzMDgxMjRm
MzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVjMjlkMTIuLmIxNDhhNWVkY2U5YmI5OTVmN2U1OTY4YzE2
NTkyZjI3OTg0ODQyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQu
aApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBu
ZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAg
ICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAg
ICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KDEwMDBfbWluKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCBhNDM1
OWYzYjAxN2M0NDE3MzFhYzg5ZWI4NzdmZWUyZjJjNTdiMThiLi4yMzA3MGNhNmNmMWEwYjRjZjBh
OTMxMmU3MDhkZWIzNjhiOTY1N2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBuYW1lc3BhY2UgTmV0d29ya0Nh
Y2hlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHBy
ZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAxMHM7CitzdGF0aWMgY29uc3QgYXV0byBwcmVsb2FkZWRF
bnRyeUxpZmV0aW1lID0gMTBfczsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBIYXNoQ291
bnRlZFNldDxTdHJpbmc+JiBhbGxTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZXMo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RhdGlzdGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAppbmRleCAxMGE1MjAzZWZkODE4MGUwYWNhMzRi
ZTU0ZGY1MjU4MmY1OWM5NWY3Li44MjEyYzc2MzdjMzEyZGZmZjc3MWNiN2JhMDkxOWJlOTE5YjU4
ZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcApAQCAtNDQsNyArNDQsNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiBzdGF0aWMgY29uc3Qg
Y2hhciogU3RhdGlzdGljc0RhdGFiYXNlTmFtZSA9ICJXZWJLaXRDYWNoZVN0YXRpc3RpY3MuZGIi
Owotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW51bVdyaXRlSW50
ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDEwMDAwKTsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0gMTBfczsKIAogc3RhdGljIGJvb2wgZXhlY3V0
ZVNRTENvbW1hbmQoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFiYXNlLCBjb25zdCBTdHJp
bmcmIHNxbCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggYjA2YjFjZjg2YTg1ZDQ0MWRh
YzE3YzgzNTUwM2Y1ZjAzY2RlYzFhMi4uZWNhMTAyZmRlZWIxMmRhYTAwYWY0YTFkN2U0YzFiMmJh
M2I1NWRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTU3NCw3ICs1NzQsNyBAQCB2b2lk
IFN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbihzdGQ6OnVuaXF1ZV9wdHI8UmVhZE9wZXJh
dGlvbj4gcmVhZE9wZXJhdGlvbgogICAgIG1fYWN0aXZlUmVhZE9wZXJhdGlvbnMuYWRkKFdURk1v
dmUocmVhZE9wZXJhdGlvblB0cikpOwogCiAgICAgLy8gSS9PIHByZXNzdXJlIG1heSBtYWtlIGRp
c2sgb3BlcmF0aW9ucyBzbG93LiBJZiB0aGV5IHN0YXJ0IHRha2luZyB2ZXJ5IGxvbmcgdGltZSB3
ZSByYXRoZXIgZ28gdG8gbmV0d29yay4KLSAgICBjb25zdCBhdXRvIHJlYWRUaW1lb3V0ID0gMTUw
MG1zOworICAgIGNvbnN0IFNlY29uZHMgcmVhZFRpbWVvdXQgPSAxLjVfczsKICAgICBtX3JlYWRP
cGVyYXRpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKIAogICAgIGJv
b2wgc2hvdWxkR2V0Qm9keUJsb2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtleSk7
CkBAIC03OTYsNyArNzk2LDcgQEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJl
Y29yZCwgTWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8vIERl
bGF5IHRoZSBzdGFydCBvZiB3cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5IHBh
Z2UgbG9hZC4KICAgICAvLyBDb21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUgd3Jp
dGVzIHdpdGhvdXQgZGVsYXkuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRlRGVs
YXkgPSAxczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsV3JpdGVEZWxheSA9IDFf
czsKICAgICBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lci5zdGFydE9uZVNob3QoaW5pdGlh
bFdyaXRlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDRjZWZhOGViMzU3
YWU0NGJkMjVhNTc0NmI0NWZmOWEwOGI0ZTIwZGYuLjE4ZjBjY2Q4ZjcxNDEyM2M5OGE5NTE1NDky
ZDc1ODYzNmU2ZWM0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC0zMzMsNyArMzMzLDcg
QEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6Y2FuY2VsKCkKIHZvaWQgTmV0d29ya0RhdGFU
YXNrQ29jb2E6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0g
Tm9GYWlsdXJlKQotICAgICAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIFttX3Rhc2sgcmVzdW1l
XTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50
Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5j
cHAKaW5kZXggOWFjNzZjNmQzOTQ3ZGUyNjg3MWViNjg5MjA2NWJkYTZiNzc4Y2ZlMS4uZDA0NmFm
NWRlMjA3MzYzMjdiMTA3NjgzMGVjYjliOGE5ZWZlZDU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0zMiw2ICszMiwzNiBAQAogCiBu
YW1lc3BhY2UgSVBDIHsKIAordm9pZCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBl
bmNvZGVyIDw8IHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOworfQorCitib29sIEFy
Z3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25v
dG9uaWNUaW1lJiB0aW1lKQoreworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdGltZSA9IE1vbm90
b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
dm9pZCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29u
c3QgU2Vjb25kcyYgc2Vjb25kcykKK3sKKyAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsK
K30KKworYm9vbCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
ciwgU2Vjb25kcyYgc2Vjb25kcykKK3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHNlY29uZHMg
PSBTZWNvbmRzKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENv
ZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+OjplbmNvZGUoSVBDOjpF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3Bv
aW50JiB0aW1lUG9pbnQpCiB7CiAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxpbnQ2NF90Pih0
aW1lUG9pbnQudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaAppbmRleCBmNmQ4OGI3Y2RiYjdkZTZmYTZhMmRj
YjU0YWY4NmZhM2NhNzk3NmIyLi4wNzViZmY1MzUxOWRmODk3Zjc1MDM2ODI1YmQyNjlmODdmMjY5
YWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2Rl
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaApA
QCAtMTYzLDcgKzE2Myw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEVsZW1lbnRzPiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxzdGQ6OnR1cGxlPEVsZW1lbnRzLi4uPj4gewogICAgIH0KIH07CiAKLQog
dGVtcGxhdGU8dHlwZW5hbWUgUmVwLCB0eXBlbmFtZSBQZXJpb2Q+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlvZD4+IHsKICAgICBzdGF0aWMgdm9p
ZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86OmR1cmF0aW9uPFJl
cCwgUGVyaW9kPiYgZHVyYXRpb24pCiAgICAgewpAQCAtMzc5LDYgKzM3OCwxNiBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0Fy
Zz4gc3RydWN0IEFyZ3VtZQogICAgIH0KIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1lPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29k
ZXImLCBjb25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
RGVjb2RlciYsIFdURjo6TW9ub3RvbmljVGltZSYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5j
b2RlciYsIGNvbnN0IFdURjo6U2Vjb25kcyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNv
ZGVyJiwgV1RGOjpTZWNvbmRzJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+IHsKICAgICBzdGF0aWMg
dm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRp
bWVfcG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIHN0ZDo6Y2hyb25v
OjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMv
Q29ubmVjdGlvbi5oCmluZGV4IGYwMTJhMDFiNTRkZTdkMWZjZTIxNzk3ZTZmNDU1MDUwYzgzZTY4
ODUuLjkwMmJlNGQxYTczZjhlMDQ3ZDkyMDlmMzJkNDVhMjg2YTk3MDMwZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAtMTg2LDcgKzE4Niw3IEBAIHB1Ymxp
YzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wga2lsbCgpOwotICAgIHZvaWQgdGVy
bWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpOworICAgIHZvaWQgdGVybWluYXRl
U29vbihTZWNvbmRzKTsKICNlbmRpZgogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1
cm4gbV9pc1ZhbGlkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMv
bWFjL0Nvbm5lY3Rpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nv
bm5lY3Rpb25NYWMubW0KaW5kZXggMjg5OTUxMjk0NjNlODMxOTEwNzBiZWU4NWZkYmU4NzA1NDhl
NTViMS4uNzA0NDY5MTU2YWY4MWJkNDE1OGYxNzFlMDgxN2Q4OGVkYmZiMTdhOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQpAQCAtODAs
MjAgKzgwLDIwIEBAIGVudW0gewogLy8gICAgdG8gZW5zdXJlIGl0IGhhcyBhIGNoYW5jZSB0byB0
ZXJtaW5hdGUgY2xlYW5seS4KIGNsYXNzIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nIHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRj
aGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91Ymxl
IGludGVydmFsSW5TZWNvbmRzKQorICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0
aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgIHsKLSAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAg
ICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVy
dmFsKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgotICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldh
dGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3Vi
bGUgaW50ZXJ2YWxJblNlY29uZHMpCisgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2co
T1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50
ZXJ2YWwpCiAgICAgICAgIDogbV94cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24pCiAgICAgICAg
ICwgbV93YXRjaGRvZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nOjp3YXRjaGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgICAgICAsIG1fYXNzZXJ0aW9uKHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQcm9jZXNzQW5k
VUlBc3NlcnRpb24+KHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgp
KSwgV2ViS2l0OjpBc3NlcnRpb25TdGF0ZTo6QmFja2dyb3VuZCkpCiAjZW5kaWYKICAgICB7Ci0g
ICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWxJblNlY29uZHMpOwor
ICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICB9CiAg
ICAgCiAgICAgdm9pZCB3YXRjaGRvZ1RpbWVyRmlyZWQoKQpAQCAtMTUxLDEwICsxNTEsMTAgQEAg
dm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUludmFsaWRhdGUoKQogI2VuZGlmCiB9CiAgICAgCi12
b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQor
dm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAg
aWYgKG1feHBjQ29ubmVjdGlvbikKLSAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwg
aW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBp
bnRlcnZhbCk7CiB9CiAgICAgCiB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW5pdGlhbGl6ZShJ
ZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKaW5kZXggZGE5ZGIyMjRlZGMwZWEwY2Jk
MDAyZGMxNzEyYTBjMTg2ZDE5MzVlNC4uMTczOTUyNTA5NTcxZDhmNDkwYTczZTdmYTk2OTU5M2M3
YjgzMjRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luQ29udHJvbGxlclByb3h5LmNwcApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQgUGx1Z2luQ29u
dHJvbGxlclByb3h5OjpkZXN0cm95KCkKICAgICBpZiAobV9wbHVnaW5EZXN0cnVjdGlvblByb3Rl
Y3RDb3VudCB8fCBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS0+aW5TZW5kU3luYygpKSB7CiAg
ICAgICAgIC8vIFdlIGhhdmUgcGx1Zy1pbiBjb2RlIG9uIHRoZSBzdGFjayBzbyB3ZSBjYW4ndCBk
ZXN0cm95IGl0IHJpZ2h0IG5vdy4KICAgICAgICAgLy8gRGVzdHJveSBpdCBsYXRlci4KLSAgICAg
ICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BsdWdp
bkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBh
aW50VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIuCi0g
ICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BhaW50VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAKICAgICBtX3dhaXRpbmdGb3JEaWRVcGRhdGUgPSB0cnVlOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKaW5kZXggYTcy
NGViMDhmOTBkNTlkYjEyOTgyMzQ0MWU3N2UwOGZlZWM3YjI1Yi4uMzk1ZDc2NGQ0NzFmNTFkZTk5
ODBjNjEyMWU2MDMyY2ZhYzQ5ODJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpblByb2Nlc3MuY3BwCkBAIC0yMjAsOSArMjIwLDkgQEAgdm9pZCBQbHVnaW5Qcm9j
ZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYg
aG9zdE5hbWUKICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpQ
bHVnaW5Qcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNhbGxi
YWNrSUQpLCAwKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUo
ZG91YmxlIGxpZmV0aW1lKQordm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUo
U2Vjb25kcyBsaWZldGltZSkKIHsKLSAgICBpZiAobGlmZXRpbWUgPD0gMC4wKQorICAgIGlmIChs
aWZldGltZSA8PSAwX3MpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBkaXNhYmxlVGVybWlu
YXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgK
aW5kZXggOWE5MGU0YzI1MzkzYTdlZDQ2Yzk4N2I1ZWU0NDQ5YTc0YWI5MjMzYi4uMjBhYzA2N2Iw
NDk1ZTZhYzc2MjJjMDA2MjAwMzhjMDFmNWYzMDI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKFBsdWdpblByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgCi0gICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRpbWUo
ZG91YmxlKTsKKyAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShTZWNvbmRzKTsKICAgICB2b2lk
IG1pbmltdW1MaWZldGltZVRpbWVyRmlyZWQoKTsKICAgICAvLyBPdXIgd2ViIHByb2Nlc3MgY29u
bmVjdGlvbnMuCiAgICAgVmVjdG9yPFJlZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1fd2Vi
UHJvY2Vzc0Nvbm5lY3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nh
Y2hlTW9kZWwuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCmluZGV4
IDQwM2YzNGRmY2Q0YjdhZGM0OWJhMDQ2MmI5ZmRlZmE2ZGVmM2ZkNDUuLmViZTZlZDJkMmU5MWE0
Nzg5ZWExNWZjYjczNDM0OTBkNWQ3MTZkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DYWNoZU1vZGVsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2Rl
bC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgY2Fs
Y3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBj
YWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWdu
ZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQordm9p
ZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWdu
ZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1
bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkKIHsKICAgICB1aW50
NjRfdCBtZW1vcnlTaXplID0gcmFtU2l6ZSgpIC8gTUI7CiAKQEAgLTEwOSw3ICsxMDksNyBAQCB2
b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNp
Z25lZCYgY2FjaGVUb3RhbENhcGFjaQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3Zl
cmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBj
YWNoZU1heERlYWRDYXBhY2l0eSA9IHN0ZDo6bWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkp
OwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwgPSAxX21pbjsKIAogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hl
TW9kZWwuaAppbmRleCBjZjQ3MzQ1NGZlMmFjMzNkM2NhNDNhNzJmYTU5M2U0YzRlNTFkM2Q1Li4x
ZTA3NzY4OGVhNzhkYzg0Mjk4OGY0ZjVmMDNhY2FiYjkzMTI0YTczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DYWNoZU1vZGVsLmgKQEAgLTI2LDggKzI2LDggQEAKICNpZm5kZWYgQ2FjaGVNb2RlbF9oCiAj
ZGVmaW5lIENhY2hlTW9kZWxfaAogCi0jaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHN0ZGlu
dC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBA
IC0zNyw3ICszNyw3IEBAIGVudW0gQ2FjaGVNb2RlbCB7CiAgICAgQ2FjaGVNb2RlbFByaW1hcnlX
ZWJCcm93c2VyCiB9OwogCi12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2Rl
bCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENh
cGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpzZWNv
bmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hl
Q2FwYWNpdHkpOwordm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVu
c2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0
eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNvbmRzJiBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpOwogdm9pZCBj
YWxjdWxhdGVVUkxDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVpbnQ2NF90IGRpc2tGcmVlU2l6ZSwg
dW5zaWduZWQmIHVybENhY2hlTWVtb3J5Q2FwYWNpdHksIHVpbnQ2NF90JiB1cmxDYWNoZURpc2tD
YXBhY2l0eSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hp
bGRQcm9jZXNzLmNwcAppbmRleCAxNzU3ODlmYjlhZTcxM2YxNmVlZWRiZmFiZTAwZDZmMzNlNjNj
ZjIzLi40OWI3OTQ2NWRmNmUxYjJhMTIxYzNmYTUyZDAwM2ZiMTk1MWJjMjVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcApAQCAtMzMsOCArMzMsNyBAQAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIENoaWxkUHJvY2Vzczo6Q2hpbGRQcm9jZXNzKCkKLSAgICA6IG1fdGVybWlu
YXRpb25UaW1lb3V0KDApCi0gICAgLCBtX3Rlcm1pbmF0aW9uQ291bnRlcigwKQorICAgIDogbV90
ZXJtaW5hdGlvbkNvdW50ZXIoMCkKICAgICAsIG1fdGVybWluYXRpb25UaW1lcihSdW5Mb29wOjpt
YWluKCksIHRoaXMsICZDaGlsZFByb2Nlc3M6OnRlcm1pbmF0aW9uVGltZXJGaXJlZCkKICAgICAs
IG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWQoIlByb2Nlc3MgU3VwcHJlc3Npb24gRGlzYWJs
ZWQgYnkgVUlQcm9jZXNzIikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
aGlsZFByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRl
eCBhMDZlMzQ5YTM4YzI4MWY1YWNlOGQzNjIyYTA1NDYxZjk0MDRkYTVjLi45ODVhZDZhNjFiMmE4
MmFiNzg1MDI5ZmU0MmRlYzQ3NTJlZmM0NmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJv
Y2Vzcy5oCkBAIC04MSw3ICs4MSw3IEBAIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBDaGlsZFBy
b2Nlc3MoKTsKICAgICB2aXJ0dWFsIH5DaGlsZFByb2Nlc3MoKTsKIAotICAgIHZvaWQgc2V0VGVy
bWluYXRpb25UaW1lb3V0KGRvdWJsZSBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0g
c2Vjb25kczsgfQorICAgIHZvaWQgc2V0VGVybWluYXRpb25UaW1lb3V0KFNlY29uZHMgc2Vjb25k
cykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KIAogICAgIHZpcnR1YWwgdm9p
ZCBpbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENo
aWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwpAQCAtMTE3LDcgKzExNyw3IEBA
IHByaXZhdGU6CiAKICAgICAvLyBUaGUgdGltZW91dCwgaW4gc2Vjb25kcywgYmVmb3JlIHRoaXMg
cHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaWYgdGVybWluYXRpb24KICAgICAvLyBoYXMgYmVl
biBlbmFibGVkLiBJZiB0aGUgdGltZW91dCBpcyAwIHNlY29uZHMsIHRoZSBwcm9jZXNzIHdpbGwg
YmUgdGVybWluYXRlZCBpbW1lZGlhdGVseS4KLSAgICBkb3VibGUgbV90ZXJtaW5hdGlvblRpbWVv
dXQ7CisgICAgU2Vjb25kcyBtX3Rlcm1pbmF0aW9uVGltZW91dDsKIAogICAgIC8vIEEgdGVybWlu
YXRpb24gY291bnRlcjsgd2hlbiB0aGUgY291bnRlciByZWFjaGVzIHplcm8sIHRoZSBwcm9jZXNz
IHdpbGwgYmUgdGVybWluYXRlZAogICAgIC8vIGFmdGVyIGEgZ2l2ZW4gcGVyaW9kIG9mIHRpbWUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYTEyYTQ0NDViYjE2Y2FhZjY5Mjcz
YjY0YTg2MzIxMDhlN2Q1NDlmNC4uYjFhMzRhNGRmMWQyZDgyNTk4YWNhNmNmODQ1NGViNGZhMWNk
ZTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMzAsNiArMzAsNyBAQAog
CiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NBdHRyaWJ1
dGVzLmgiCisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
I2luY2x1ZGUgPFdlYkNvcmUvTWFjaFNlbmRSaWdodC5oPgpAQCAtNTEsOCArNTIsOCBAQCBzdHJ1
Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgUGx1Z2luUHJvY2Vzc1R5
cGUgcHJvY2Vzc1R5cGU7CiAgICAgYm9vbCBzdXBwb3J0c0FzeW5jaHJvbm91c1BsdWdpbkluaXRp
YWxpemF0aW9uOwogCi0gICAgZG91YmxlIG1pbmltdW1MaWZldGltZTsKLSAgICBkb3VibGUgdGVy
bWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbWluaW11bUxpZmV0aW1lOworICAgIFNlY29u
ZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgV2ViQ29y
ZTo6TWFjaFNlbmRSaWdodCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggZjBmZmI3NzI2
YTUzZWU0Zjg0MjNkNDZiNzliYjBmZGFmMDVkZTdjNC4uMzgwZTAxZTVlNzQ2MTczN2U1NzUzZTk2
NjVhYzJlMzQ2MDU1MjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKQEAgLTEwNiwzNiArMTA2LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNU
aW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25pY1RpbWUmIHRpbWUp
Ci17Ci0gICAgZW5jb2RlciA8PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKTsKLX0K
LQotYm9vbCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUoRGVjb2RlciYgZGVj
b2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBkb3VibGUgdmFsdWU7Ci0gICAgaWYg
KCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHRp
bWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7Ci0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KLXZvaWQgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29uZHMpCi17Ci0gICAgZW5jb2RlciA8PCBzZWNvbmRz
LnZhbHVlKCk7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29uZHMpCi17Ci0gICAgZG91YmxlIHZhbHVlOwotICAg
IGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQg
QXJndW1lbnRDb2RlcjxBZmZpbmVUcmFuc2Zvcm0+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhZmZpbmVUcmFuc2Zvcm0pCiB7CiAgICAgU2ltcGxlQXJn
dW1lbnRDb2RlcjxBZmZpbmVUcmFuc2Zvcm0+OjplbmNvZGUoZW5jb2RlciwgYWZmaW5lVHJhbnNm
b3JtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApp
bmRleCA0ODE5ZmNiYzA0YWM3MTYyNTY3M2E4NDQ2N2Y3NDU0MmNjYjkyOTk1Li4zMTU0MDYyZDlk
YzM1MmE5MWY0YjMzYmI2NTQzOTk1NmU1ODgwOWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC0zMSwxMSArMzEsNiBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvSW5kZXhlZERCLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYXltZW50SGVhZGVycy5o
PgogCi1uYW1lc3BhY2UgV1RGIHsKLWNsYXNzIE1vbm90b25pY1RpbWU7Ci1jbGFzcyBTZWNvbmRz
OwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFz
cyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKQEAgLTE1MiwxNiArMTQ3LDYgQEAgdXNpbmcgSURC
S2V5UGF0aCA9IFZhcmlhbnQ8U3RyaW5nLCBWZWN0b3I8U3RyaW5nPj47CiAKIG5hbWVzcGFjZSBJ
UEMgewogCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3RvbmljVGlt
ZT4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpNb25vdG9u
aWNUaW1lJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1vbm90b25p
Y1RpbWUmKTsKLX07Ci0KLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpTZWNv
bmRzPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6OlNlY29u
ZHMmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25kcyYpOwot
fTsKLQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBZmZpbmVUcmFu
c2Zvcm0+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6
OkFmZmluZVRyYW5zZm9ybSYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV2Vi
Q29yZTo6QWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5
U2FtcGxlci5jcHAKaW5kZXggMDUzZmE2ZWEyOTczY2U3YjFkYjNjZmYzOTI3NTFlYWJmNGUxOGQx
MC4uZGRlYTJhYmRjNDRlNGVhMDIyN2UyOWU3NmU0YmUzYWVjZWU2MDVlNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBXZWJN
ZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKCkKICAgICA6IG1fc2FtcGxlVGltZXIoKnRo
aXMsICZXZWJNZW1vcnlTYW1wbGVyOjpzYW1wbGVUaW1lckZpcmVkKQogICAgICwgbV9zdG9wVGlt
ZXIoKnRoaXMsICZXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCkKICAgICAsIG1faXNS
dW5uaW5nKGZhbHNlKQotICAgICwgbV9ydW5uaW5nVGltZSgwKQogewogfQogCkBAIC02Nyw3ICs2
Niw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3QgZG91YmxlIGludGVydmFs
KQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaW5pdGlhbGl6ZVRlbXBMb2dGaWxlKCk7Ci0g
ICAgaW5pdGlhbGl6ZVRpbWVycyhpbnRlcnZhbCk7CisgICAgaW5pdGlhbGl6ZVRpbWVycyhTZWNv
bmRzKGludGVydmFsKSk7CiB9CiAKIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3Qg
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxlLCBjb25zdCBTdHJp
bmcmIHNhbXBsZUxvZ0ZpbGVQYXRoLCBjb25zdCBkb3VibGUgaW50ZXJ2YWwpIApAQCAtODIsMTcg
KzgxLDE3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3QgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxlCiAgICAgfQogICAgICAgICAKICAgICBp
bml0aWFsaXplU2FuZGJveGVkTG9nRmlsZShzYW1wbGVMb2dGaWxlSGFuZGxlLCBzYW1wbGVMb2dG
aWxlUGF0aCk7Ci0gICAgaW5pdGlhbGl6ZVRpbWVycyhpbnRlcnZhbCk7CisgICAgaW5pdGlhbGl6
ZVRpbWVycyhTZWNvbmRzKGludGVydmFsKSk7CiAgICAKIH0KIAotdm9pZCBXZWJNZW1vcnlTYW1w
bGVyOjppbml0aWFsaXplVGltZXJzKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgV2ViTWVtb3J5U2Ft
cGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzIGludGVydmFsKQogewotICAgIG1fc2FtcGxl
VGltZXIuc3RhcnRSZXBlYXRpbmcoMSk7CisgICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGlu
ZyhTZWNvbmRzKDEpKTsKICAgICBwcmludGYoIlN0YXJ0ZWQgbWVtb3J5IHNhbXBsZXIgZm9yIHBy
b2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFtZSgpLnV0ZjgoKS5kYXRhKCksIGdldHBpZCgpKTsKLSAg
ICBpZiAoaW50ZXJ2YWwgPiAwKSB7CisgICAgaWYgKGludGVydmFsID4gMF9zKSB7CiAgICAgICAg
IG1fc3RvcFRpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7Ci0gICAgICAgIHByaW50ZigiIGZv
ciBhIGludGVydmFsIG9mICVnIHNlY29uZHMiLCBpbnRlcnZhbCk7CisgICAgICAgIHByaW50Zigi
IGZvciBhIGludGVydmFsIG9mICVnIHNlY29uZHMiLCBpbnRlcnZhbC52YWx1ZSgpKTsKICAgICB9
CiAgICAgcHJpbnRmKCI7IFNhbXBsZXIgbG9nIGZpbGUgc3RvcmVkIGF0OiAlc1xuIiwgbV9zYW1w
bGVMb2dGaWxlUGF0aC51dGY4KCkuZGF0YSgpKTsKICAgICBtX3J1bm5pbmdUaW1lID0gaW50ZXJ2
YWw7CkBAIC0xNTksNyArMTU4LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJG
aXJlZCgpCiB7CiAgICAgaWYgKCFtX2lzUnVubmluZykKICAgICAgICAgcmV0dXJuOwotICAgIHBy
aW50ZigiJWcgc2Vjb25kcyBlbGFwc2VkLiBTdG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwg
bV9ydW5uaW5nVGltZSk7CisgICAgcHJpbnRmKCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5n
IG1lbW9yeSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5pbmdUaW1lLnZhbHVlKCkpOwogICAgIHN0b3Ao
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBs
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKaW5kZXggMjc4
N2I1MTVkYWJjNTFlYmVjNWJjMDY0NmYxM2JlZmU1MTI5ODYyMi4uZGE0Mjg4YjU4NDA5ZmZiYWFm
OGQyNzNjYjM4NTg0NWIwZDFkODg2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYk1lbW9yeVNhbXBsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5
U2FtcGxlci5oCkBAIC04NCw3ICs4NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXpl
VGVtcExvZ0ZpbGUoKTsKICAgICB2b2lkIGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKGNvbnN0
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgd3Jp
dGVIZWFkZXJzKCk7Ci0gICAgdm9pZCBpbml0aWFsaXplVGltZXJzKGRvdWJsZSk7CisgICAgdm9p
ZCBpbml0aWFsaXplVGltZXJzKFNlY29uZHMpOwogICAgIHZvaWQgc2FtcGxlVGltZXJGaXJlZCgp
OwogICAgIHZvaWQgc3RvcFRpbWVyRmlyZWQoKTsKICAgICB2b2lkIGFwcGVuZEN1cnJlbnRNZW1v
cnlVc2FnZVRvRmlsZShXZWJDb3JlOjpQbGF0Zm9ybUZpbGVIYW5kbGUmKTsKQEAgLTEwMCw3ICsx
MDAsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OlRpbWVyIG1fc2FtcGxlVGltZXI7CiAgICAg
V2ViQ29yZTo6VGltZXIgbV9zdG9wVGltZXI7CiAgICAgYm9vbCBtX2lzUnVubmluZzsKLSAgICBk
b3VibGUgbV9ydW5uaW5nVGltZTsKKyAgICBTZWNvbmRzIG1fcnVubmluZ1RpbWU7CiAgICAgUmVm
UHRyPFNhbmRib3hFeHRlbnNpb24+IG1fc2FtcGxlTG9nU2FuZGJveEV4dGVuc2lvbjsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCmluZGV4IGVjODZlMWUyMWZmY2NkNmQ4NzJhYWExZjJkNDE5ZTQ2NjZhMzI3ZGIuLjBk
MzdiOWEzZWQ3ZTM2NGMxYzRiNjk5M2Y5MDY3OTJhNWZlYWVlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTEz
LDcgKzExMyw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKIAogICAg
IGJvb2wgaWNvbkRhdGFiYXNlRW5hYmxlZDsKIAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVv
dXQ7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICBWZWN0b3I8U3RyaW5n
PiBsYW5ndWFnZXM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUuaAppbmRleCA2YWY3OTAyZGEzZjlmYTljMmVhYmRhYWEwZTVkNzg1
ZjY1MzJlNmU3Li40MzY4Y2MyY2MxYjNmNWM2ZDVhOGViM2IzODBiMmU4YmRiM2E0YTNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZS5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0lPU3VyZmFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+
Ci0jaW5jbHVkZSA8Y2hyb25vPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKIE9C
SkNfQ0xBU1MgQ0FMYXllcjsKIApAQCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IHNldEJ1ZmZlclZvbGF0aWxpdHkoQnVmZmVyVHlwZSB0eXBlLCBib29sIGlzVm9sYXRpbGUpOwog
Ci0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0RGlzcGxheVRp
bWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5VGltZTsgfQorICAgIE1vbm90b25pY1Rp
bWUgbGFzdERpc3BsYXlUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7IH0K
IAogcHJpdmF0ZToKICAgICB2b2lkIGRyYXdJbkNvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0JiwgQ0dJbWFnZVJlZiBiYWNrSW1hZ2UpOwpAQCAtMTAzLDggKzEwMywxMCBAQCBwcml2YXRl
OgogICAgIFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbV9sYXllcjsKIAogICAgIFdlYkNvcmU6OkZs
b2F0U2l6ZSBtX3NpemU7Ci0gICAgZmxvYXQgbV9zY2FsZTsKLSAgICBib29sIG1faXNPcGFxdWU7
CisgICAgZmxvYXQgbV9zY2FsZSB7IDEgfTsKKworICAgIGJvb2wgbV9pc09wYXF1ZSB7IGZhbHNl
IH07CisgICAgYm9vbCBtX2FjY2VsZXJhdGVzRHJhd2luZyB7IGZhbHNlIH07CiAKICAgICBXZWJD
b3JlOjpSZWdpb24gbV9kaXJ0eVJlZ2lvbjsKIApAQCAtMTEyLDcgKzExNCw3IEBAIHByaXZhdGU6
CiAgICAgICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcDsKICNpZiBVU0UoSU9TVVJG
QUNFKQogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBzdXJmYWNl
OwotICAgICAgICBib29sIGlzVm9sYXRpbGUgPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc1ZvbGF0
aWxlIHsgZmFsc2UgfTsKICNlbmRpZgogCiAgICAgICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2wo
KSBjb25zdApAQCAtMTM4LDExICsxNDAsOSBAQCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRyPENH
Q29udGV4dFJlZj4gbV9mcm9udENvbnRleHRQZW5kaW5nRmx1c2g7CiAKLSAgICBib29sIG1fYWNj
ZWxlcmF0ZXNEcmF3aW5nOwotCiAgICAgV2ViQ29yZTo6UmVwYWludFJlY3RMaXN0IG1fcGFpbnRp
bmdSZWN0czsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9s
YXN0RGlzcGxheVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3REaXNwbGF5VGltZTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggZDU3MTlkZGExMmJlYWI4MjJk
ZjMyYjcyMTU4ZWJhNmE1ZTk5NDIwNS4uY2JjZjcxYzVmNzU0ZWVjM2U4NjBmZjEyZmM3M2ZmYTg1
YzY3ZGQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXll
ckJhY2tpbmdTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyQmFja2luZ1N0b3JlLm1tCkBAIC02Miw4ICs2Miw2IEBAIHN0YXRpYyBXZWJDb3JlOjpJT1N1
cmZhY2U6OkZvcm1hdCBidWZmZXJGb3JtYXQoYm9vbCBpc09wYXF1ZSkKIAogUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90
ZSogbGF5ZXIpCiAgICAgOiBtX2xheWVyKGxheWVyKQotICAgICwgbV9pc09wYXF1ZShmYWxzZSkK
LSAgICAsIG1fbGFzdERpc3BsYXlUaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVf
cG9pbnQ6Om1pbigpKQogewogICAgIGlmICghbV9sYXllcikKICAgICAgICAgcmV0dXJuOwpAQCAt
MjMxLDcgKzIyOSw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkoKQog
ewogICAgIEFTU0VSVCghbV9mcm9udENvbnRleHRQZW5kaW5nRmx1c2gpOwogCi0gICAgbV9sYXN0
RGlzcGxheVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xh
c3REaXNwbGF5VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgYm9vbCBuZWVkVG9F
bmNvZGVCYWNraW5nU3RvcmUgPSBmYWxzZTsKICAgICBpZiAoUmVtb3RlTGF5ZXJUcmVlQ29udGV4
dCogY29udGV4dCA9IG1fbGF5ZXItPmNvbnRleHQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5o
CmluZGV4IGZlNDk3MWVlNzM5MjQxNGFiYzExOTQwYWM3OWY4Zjc5MTRjYTQ4NjIuLmNkODNhMzhk
OTg0NTVkYjVkNTRlZDNmNDY1Mzk4NmVlZDk3NDUzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24uaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIH07CiAgICAgdHlwZWRlZiB1bnNp
Z25lZCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdzOwogICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZv
bGF0aWxlSW1tZWRpYXRlbHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBWb2xhdGlsaXR5TWFy
a2luZ0ZsYWdzIHZvbGF0aWxpdHlNYXJraW5nRmxhZ3MgPSAwKTsKLSAgICBib29sIG1hcmtCYWNr
aW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIHN0ZDo6Y2hyb25vOjpz
dGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93KTsKKyAgICBib29sIG1hcmtCYWNraW5nU3RvcmVW
b2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIE1vbm90b25pY1RpbWUgbm93KTsKIAog
ICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3RvcmU7
CiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJhY2tp
bmdTdG9yZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggMjY4MzZlN2JmMzg2NDdl
NDgwMGE2NGIwYzc1Y2U2ZmZiMGNhMTRiZS4uNDYwY2Q5YmNjNTE4ZWM4ZDYxZmE0OWUxZmZjYzQ3
NGVkZDgwNzAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KQEAgLTMwLDkgKzMwLDkg
QEAKICNpbXBvcnQgIlJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgiCiAjaW1wb3J0ICJSZW1vdGVM
YXllclRyZWVDb250ZXh0LmgiCiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHZvbGF0aWxl
QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMjAwbXM7
Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFs
ID0gMjAwbXM7Citjb25zdCBhdXRvIHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0g
MV9zOworY29uc3QgYXV0byB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9s
ZCA9IDAuMl9zOworY29uc3QgYXV0byB2b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDAuMl9zOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlh
dGVseShSZW1vCiAgICAgcmV0dXJuIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGls
ZTsKIH0KIAotYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNr
aW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG5vdykKK2Jvb2wgUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgTW9ub3RvbmljVGltZSBub3cpCiB7CiAg
ICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA8IHZvbGF0aWxlQmFj
a2luZ1N0b3JlQWdlVGhyZXNob2xkKSB7CiAgICAgICAgIGlmIChub3cgLSBiYWNraW5nU3RvcmUu
bGFzdERpc3BsYXlUaW1lKCkgPj0gdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJl
c2hvbGQpCkBAIC0xNjQsNyArMTY0LDcgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKCkKIHsKICAgICBib29sIHN1Y2Nlc3NmdWxs
eU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IHRydWU7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6
Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5nU3RvcmUgOiBtX2xpdmVCYWNr
aW5nU3RvcmUpCiAgICAgICAgIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSAm
PSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoKmJhY2tpbmdTdG9yZSwgbm93KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2Ny
aXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJ
U2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KaW5kZXggODM5NDVkZmVkMzFjNTkxODM1OGJl
N2Y2NzE2YjFiZmU3MDE4OGI1OS4uMWI1ZGQwMzYzOTFmMjJiOWViYzViNzIzZDkyMjNmODAyOTBl
OWExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElT
ZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCkBAIC00Niw3ICs0
Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KSB7CiAgICAgICAg
ICAgICBtX2NvbnRleHQgPSBhZG9wdE5TKFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XSk7Ci0gICAg
ICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDFfcyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fY29udGV4dC5nZXQo
KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3Bw
CmluZGV4IGQyNzcwMDU5NjFkMjlhZWQ2NzUwOTM2OTRiMjNlNGU4MjU1ZTEwODYuLjExMzVmNzk3
ODVlZDlmNzdjMGE1YWI5NTliZjEyNGQ3MDZlOWU3MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC01OTAsNyArNTkwLDcgQEAgdm9pZCBFd2tW
aWV3OjpzY2hlZHVsZVVwZGF0ZURpc3BsYXkoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAo
IW1fZGlzcGxheVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgRXdrVmlldzo6c2V0Vmlld3BvcnRQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBj
b250ZW50c1Bvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDA0YzdlOTU0NzI5OTU3Y2U0MjgyZWI0
MGUxYzg3MTAzYzE0NDVmNWYuLmMyYmUzNjVmNzFlOThmMzRmOWU4NWU0ZDZhZDE4OTNjZWM2OWYz
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXdCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3QmFzZS5jcHAKQEAgLTIxOSw3ICsyMTksNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRX
ZWJWaWV3QmFzZVNjaGVkdWxlVXBkYXRlQWN0aXZpdHlTdGF0ZShXZWJLaXRXZWJWaWV3QmFzZSog
d2ViVgogICAgIGlmIChwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJpdi0+dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB0b3BsZXZlbFdpbmRvd0ZvY3VzSW5F
dmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRGb2N1cyosIFdlYktpdFdlYlZpZXdCYXNl
KiB3ZWJWaWV3QmFzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGls
ZFByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNz
UHJveHkuY3BwCmluZGV4IGZkOGJjNWFjOWE5N2M4MzA1NWQ0OGI3NWJhODAwOTMzOTk2NTE3YjAu
LjJkNmZlYjk0N2YxYzg2ODFlMzBiZjE0YjBkYzc2NWM4MTQzMmY2M2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTkzLDcgKzE5Myw3
IEBAIHZvaWQgQ2hpbGRQcm9jZXNzUHJveHk6OnNodXREb3duUHJvY2VzcygpCiAgICAgICAgIC8v
IE9uIGlPUyBkZXBsb3kgYSB3YXRjaGRvZyBpbiB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhlIGNo
aWxkIHByb2Nlc3MgbWF5IGJlIHN1c3BlbmRlZC4KICAgICAgICAgLy8gSWYgMzBzIGlzIGluc3Vm
ZmljaWVudCBmb3IgYW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IHRvIGNvbXBsZXRlIGNsZWFubHks
IHRoZW4gaXQgd2lsbCBiZSBraWxsZWQuCiAgICAgICAgIEFTU0VSVChtX2Nvbm5lY3Rpb24pOwot
ICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzApOworICAgICAgICBtX2Nvbm5l
Y3Rpb24tPnRlcm1pbmF0ZVNvb24oMzBfcyk7CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBTdGF0ZTo6VGVybWluYXRlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCmluZGV4IDQ1Mjk5MjJiNGZiZjZiZjUzMWM3YzA1YTdj
MjIzYjYzNTE0MzI1NjAuLmY4MTZlN2YwYzMyMWFmMmE5ZDg2MjFhN2I0YzVmMWE4YTc4MDM5N2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0
ZS5tbQpAQCAtODUyLDcgKzg1Miw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpkaWRDaGFuZ2VJ
c0xvYWRpbmcoKQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIERlbGF5IHJlbGVhc2luZyB0aGUg
YmFja2dyb3VuZCBhY3Rpdml0eSBmb3IgMyBzZWNvbmRzIHRvIGdpdmUgdGhlIGFwcGxpY2F0aW9u
IGEgY2hhbmNlIHRvIHN0YXJ0IGFub3RoZXIgbmF2aWdhdGlvbgogICAgICAgICAvLyBiZWZvcmUg
c3VzcGVuZGluZyB0aGUgV2ViQ29udGVudCBwcm9jZXNzIDxyZGFyOi8vcHJvYmxlbS8yNzkxMDk2
ND4uCi0gICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNzKTsKKyAg
ICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoM19zKTsKICAgICB9CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA0OWYxOGUzNzhhNTI5ZDA1NjViMGQ3ZWU5ZTYx
ODgyMTJjZmRkMmI4Li40ZGJkNzhmNjQyYzU4NWM0Y2FkNzcxODI2ZDA4MmI4YTBjOGFjM2M0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1
cmVDb250cm9sbGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlOb25F
bXB0eUxheW91dER1cmF0aW9uID0gM3M7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwg
PSAyNTBtczsKK3N0YXRpYyBjb25zdCBhdXRvIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dB
ZnRlckZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uID0gM19zOworc3RhdGljIGNv
bnN0IGF1dG8gc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFs
ID0gMC4yNV9zOwogCiAjaWYgUExBVEZPUk0oTUFDKQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25v
OjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0g
NV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBz
aG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3
aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNfczsKICNlbmRpZgogCiBzdGF0
aWMgSGFzaE1hcDx1aW50NjRfdCwgVmlld0dlc3R1cmVDb250cm9sbGVyKj4mIHZpZXdHZXN0dXJl
Q29udHJvbGxlcnNGb3JBbGxQYWdlcygpCkBAIC0yOTcsMTAgKzI5NywxMCBAQCB2b2lkIFZpZXdH
ZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6d2F0Y2hkb2dUaW1lckZp
cmVkKCkKICAgICBmaXJlUmVtb3ZhbENhbGxiYWNrSW1tZWRpYXRlbHkoKTsKIH0KIAotdm9pZCBW
aWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hk
b2coc3RkOjpjaHJvbm86OnNlY29uZHMgZHVyYXRpb24pCit2b2lkIFZpZXdHZXN0dXJlQ29udHJv
bGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhTZWNvbmRzIGR1cmF0
aW9uKQogewotICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGlt
ZXIgZm9yICVsbGQgc2Vjb25kcyIsIGR1cmF0aW9uLmNvdW50KCkpKTsKLSAgICBtX3dhdGNoZG9n
VGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uLmNvdW50KCkpOworICAgIGxvZyhTdHJpbmc6OmZv
cm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICUuM2Ygc2Vjb25kcyIsIGR1cmF0
aW9uLnZhbHVlKCkpKTsKKyAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9u
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggNzU4ZDczNTBk
YmQ4NDc1NzQ2NmNjZGJhODQzNmI2ZTQ5ZDYyYmMyZC4uZTE0ZDczOTcxOTJhZDBjMDdmMTIyODA5
ZmM4N2IxNDQ0NzZkNGRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMTU3LDcgKzE1Nyw3IEBAIHByaXZh
dGU6CiAgICAgICAgIGJvb2wgZXZlbnRPY2N1cnJlZChFdmVudHMpOwogICAgICAgICBib29sIGNh
bmNlbE91dHN0YW5kaW5nRXZlbnQoRXZlbnRzKTsKIAotICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hk
b2coc3RkOjpjaHJvbm86OnNlY29uZHMpOworICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coU2Vj
b25kcyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgU3RyaW5nIGV2ZW50c0Rlc2Ny
aXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDQ5ZDRkNWJkNWE5OWQ0ZDk4MTExNmEwOGEx
MzI3ZDUwMWNiYWI5NTEuLmIwYzMxY2IxZWRkMDI1MmEyMmJiOWE3YTk4MTM2MmNhZDQyNGJhYjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tCkBAIC0yNTMsNyArMjUzLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxh
dGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEK
ICNlbmRpZgogCiAgICAgcGFyYW1ldGVycy5zaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFu
ZGxlciA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVI
YW5kbGVyRGVmYXVsdHNLZXldOwotICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0
TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOworICAg
IHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29u
ZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVu
Y3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOwogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTEwMAogICAgIFJldGFpblB0cjxDRkRh
dGFSZWY+IGNvb2tpZVN0b3JhZ2VEYXRhID0gYWRvcHRDRihDRkhUVFBDb29raWVTdG9yYWdlQ3Jl
YXRlSWRlbnRpZnlpbmdEYXRhKGtDRkFsbG9jYXRvckRlZmF1bHQsIFtbTlNIVFRQQ29va2llU3Rv
cmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gX2Nvb2tpZVN0b3JhZ2VdKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggYjQ1ZjIyNzll
NzJiZWVlMGFlNzMzYzZlMTBhYjE0MTkyZTAxZjJlNS4uODVlYzM4MzdjOTE1ZWU4YWMyN2Q5Y2Yx
M2U4ZWMzNGM2M2RkOWI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmNwcApAQCAtODMsNyArODMsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnNl
dFZpZXdFeHBvc2VkUmVjdChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4gdmlldwog
ICAgIG1fdmlld0V4cG9zZWRSZWN0ID0gdmlld0V4cG9zZWRSZWN0OwogCiAgICAgaWYgKCFtX3Zp
ZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3ZpZXdFeHBv
c2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdmlld0V4cG9z
ZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERyYXdpbmdB
cmVhUHJveHk6OnZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDQ0MGRm
OWEzM2VlNjk4NjdiNjQyNThkMDMyZTA1ZTgxOWYxM2E4MTQuLjAwOTlhNWY2NzEwM2M3ZTNjMWJi
NjlhY2IxZjg4NmRkMzMxMTAzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgRHJhd2lu
Z0FyZWFQcm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3RvcmVTb29uKCkKIAogICAgIC8vIFdlJ2xs
IHdhaXQgdGhpcyBtYW55IHNlY29uZHMgYWZ0ZXIgdGhlIGxhc3QgcGFpbnQgYmVmb3JlIHRocm93
aW5nIGF3YXkgb3VyIGJhY2tpbmcgc3RvcmUgdG8gc2F2ZSBtZW1vcnkuCiAgICAgLy8gRklYTUU6
IEl0IHdvdWxkIGJlIHNtYXJ0ZXIgdG8gbWFrZSB0aGlzIGRlbGF5IGJhc2VkIG9uIGhvdyBleHBl
bnNpdmUgcGFpbnRpbmcgaXMuIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTczMz4uCi0gICAg
c3RhdGljIGNvbnN0IGRvdWJsZSBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyOworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSA9IDJfczsKIAogICAg
IG1fZGlzY2FyZEJhY2tpbmdTdG9yZVRpbWVyLnN0YXJ0T25lU2hvdChkaXNjYXJkQmFja2luZ1N0
b3JlRGVsYXkpOwogfQpAQCAtMjExLDEzICsyMTEsMTMgQEAgaW50IERyYXdpbmdBcmVhUHJveHlJ
bXBsOjpEcmF3aW5nTW9uaXRvcjo6d2ViVmlld0RyYXdDYWxsYmFjayhEcmF3aW5nQXJlYVByb3h5
SW0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KHN0
ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrKQogewotICAg
IG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsKKyAgICBtX3N0
YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIG1fY2FsbGJhY2sgPSBjYWxsYmFj
azsKICNpZiBQTEFURk9STShHVEspCiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1fd2Vi
UGFnZS52aWV3V2lkZ2V0KCksICJkcmF3IiwgcmVpbnRlcnByZXRfY2FzdDxHQ2FsbGJhY2s+KHdl
YlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsK
KyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDEpKTsKICNlbHNlCi0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRp
ZgogfQogCkBAIC0yMjcsNyArMjI3LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJh
d2luZ01vbml0b3I6OnN0b3AoKQogI2lmIFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9oYW5k
bGVyc19kaXNjb25uZWN0X2J5X2Z1bmMobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgcmVpbnRlcnBy
ZXRfY2FzdDxncG9pbnRlcj4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwogI2VuZGlmCi0g
ICAgbV9zdGFydFRpbWUgPSAwOworICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZSgpOwog
ICAgIGlmIChtX2NhbGxiYWNrKSB7CiAgICAgICAgIG1fY2FsbGJhY2soQ2FsbGJhY2tCYXNlOjpF
cnJvcjo6Tm9uZSk7CiAgICAgICAgIG1fY2FsbGJhY2sgPSBudWxscHRyOwpAQCAtMjM5LDEwICsy
MzksMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRpZERy
YXcoKQogICAgIC8vIFdlIHdhaXQgdXAgdG8gMSBzZWNvbmQgZm9yIGRyYXcgZXZlbnRzLiBJZiB0
aGVyZSBhcmUgc2V2ZXJhbCBkcmF3IGV2ZW50cyBxdWV1ZWQgcXVpY2tseSwKICAgICAvLyB3ZSB3
YW50IHRvIHdhaXQgdW50aWwgYWxsIG9mIHRoZW0gaGF2ZSBiZWVuIHByb2Nlc3NlZCwgc28gYWZ0
ZXIgcmVjZWl2aW5nIGEgZHJhdywgd2Ugd2FpdAogICAgIC8vIHVwIHRvIDEwMG1zIGZvciB0aGUg
bmV4dCBvbmUgb3Igc3RvcC4KLSAgICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMo
KSAtIG1fc3RhcnRUaW1lID4gMTAwMCkKKyAgICBpZiAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBt
X3N0YXJ0VGltZSA+IDFfcykKICAgICAgICAgc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoMC4xMDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
LjFfcyk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc3BhdGNoQWZ0ZXJFbnN1
cmluZ0RyYXdpbmcoc3RkOjpmdW5jdGlvbjx2b2lkKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxs
YmFja0Z1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuaAppbmRleCA4OWM3MTNmYzg3YTczNTQ5MzAzOGFkMTBkOTBkYzFjZjYwNjFkNDU3
Li41YWE2NmM2ZDA0OGJkMGY3ZDI2ZjhjN2M2NGVkMGQxYTI4MmY3ZjZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaApAQCAtNzcsNyArNzcs
NyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGRpZERyYXcoKTsKIAogICAgICAgICBXZWJQYWdl
UHJveHkmIG1fd2ViUGFnZTsKLSAgICAgICAgZG91YmxlIG1fc3RhcnRUaW1lIHsgMCB9OworICAg
ICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgICAgICBzdGQ6OmZ1bmN0aW9uPHZv
aWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBtX2NhbGxiYWNrOwogICAgICAgICBSdW5Mb29wOjpU
aW1lcjxEcmF3aW5nTW9uaXRvcj4gbV90aW1lcjsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDY3
N2NkNjczOTFhZjU2OWY0MmFmZmJkZjQ0MGFhZTIxNTUxNWY0M2UuLmNlYTk4MmY2ZTIyYzYwNDk4
ZWFiODI5Njk0M2Y1MDUzMmI4YjQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMg
Y29uc3QgZG91YmxlIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgPSAxIC8gMTIwLjA7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gU2Vjb25k
cygxIC8gMTIwLjApOwogCiBVSUdhbWVwYWRQcm92aWRlciYgVUlHYW1lcGFkUHJvdmlkZXI6OnNp
bmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1NGRmYjNiMDU4ZDRmZTkwMzc0NjE1Nzky
ZWZhNTZiMDhmZGQwYjY4Li40NjBiZWJmNWRiMDk5Mzc1NWE2NjJjMzNiMjlkMDc0ODE0YzcwYWIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAKQEAgLTQ2LDExICs0NiwxMSBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11
bUxpZmV0aW1lID0gMiAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdNaW5p
bXVtTGlmZXRpbWUgPSAzMDsKK3N0YXRpYyBjb25zdCBhdXRvIG1pbmltdW1MaWZldGltZSA9IDJf
bWluOworc3RhdGljIGNvbnN0IGF1dG8gc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0gMzBf
czsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBzaHV0ZG93blRpbWVvdXQgPSAxICogNjA7Ci1zdGF0
aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1Oworc3RhdGlj
IGNvbnN0IGF1dG8gc2h1dGRvd25UaW1lb3V0ID0gMV9taW47CitzdGF0aWMgY29uc3QgYXV0byBz
bmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgPSAxNV9zOwogCiBzdGF0aWMgdWludDY0X3QgZ2Vu
ZXJhdGVDYWxsYmFja0lEKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVhZjY2Nzdh
OTI5OWRlODU0OTQ1ZjkxNDU4MDMzNDllMy4uZDVmYjFiMjMxYjQzNzBmMDZlZGMzMTM0ZjM0NWM1
YzNjY2VjZDA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
Z3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lkIFBs
dWdpbkluZm9DYWNoZTo6dXBkYXRlUGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgs
IGNvbnN0IFBsdWdpbk1vZAogICAgICAgICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0FjdGl2ZSgp
KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NU
aHJvdHRsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIu
Y3BwCmluZGV4IDIyNzViYjNiMjI2YjdkYmQ0OGQzM2NmMGYzNmQyMzQ5ZDg1MGJlYzYuLmNkODI1
ZTFlZTBhMDljNTdmM2UyZDYzMTJiNzllN2Q0ZjE3MGUzY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAgICAgCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1c3Bl
bnNpb25UaW1lb3V0ID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVuc2lv
blRpbWVvdXQgPSAzMF9zOwogICAgIAogUHJvY2Vzc1Rocm90dGxlcjo6UHJvY2Vzc1Rocm90dGxl
cihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50JiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nl
c3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NU
aW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5j
cHAKaW5kZXggZmViNDY5ZjA4NDJiNWFlNjliMzZmMGZjZmQ2ODYxYzQwNjdlZWYyYi4uNjAzYmM5
ZjEzZmU5NjliZjM0ZGIzNDYwYWJiNDc4YmI4OTliZGMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcApAQCAtMjgsNyArMjgsNyBAQAog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSByZXNwb25zaXZlbmVz
c1RpbWVvdXQgPSAzOworc3RhdGljIGNvbnN0IGF1dG8gcmVzcG9uc2l2ZW5lc3NUaW1lb3V0ID0g
M19zOwogCiBSZXNwb25zaXZlbmVzc1RpbWVyOjpSZXNwb25zaXZlbmVzc1RpbWVyKFJlc3BvbnNp
dmVuZXNzVGltZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCmluZGV4IGEzZmI3
NzBmNWNkYmNkY2I1ZmE3N2FiNGQyZjBiNTQ3NDQ4OTBmNmYuLjNlZDU1NzUzMTZiZmRkMDM2NTAz
N2FkNmE4YmQ3ZDRhYTg0N2I0ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9WaXNpdGVkTGlua1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlz
aXRlZExpbmtTdG9yZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBWaXNpdGVkTGlua1N0b3Jl
OjphZGRWaXNpdGVkTGlua0hhc2goTGlua0hhc2ggbGlua0hhc2gpCiAgICAgbV9wZW5kaW5nVmlz
aXRlZExpbmtzLmFkZChsaW5rSGFzaCk7CiAKICAgICBpZiAoIW1fcGVuZGluZ1Zpc2l0ZWRMaW5r
c1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVmlzaXRlZExpbmtTdG9yZTo6cmVtb3ZlQWxsKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IGY3Y2U2OWY0
Y2U5NzY4MmM0YzUwNmYyM2ZiZjI0ODZiMGMwODgyNzcuLjY3ODk2OWQwYmU5YTQ1MjVhMTc0NDJm
ZGU0NGQwNjU0N2FjYmRlM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNz
UG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAgICAs
IG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KG1fY29uZmlndXJhdGlvbi0+YWx3YXlz
UnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkpCiAgICAgLCBtX3VzZXJPYnNlcnZhYmxlUGFnZUNv
dW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25T
dGF0ZSgpOyB9KQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZEZvclBhZ2VDb3Vu
dGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3Rh
dGUoKTsgfSkKLSAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRl
cihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5z
dGFydE9uZVNob3QoMCk7IH0pCisgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3Jl
YXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJvdHRs
aW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7IH0pCiAgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRs
aW5nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQpCiB7CiAgICAgZm9yIChhdXRvJiBz
Y2hlbWUgOiBtX2NvbmZpZ3VyYXRpb24tPmFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcygpKQpA
QCAtNTk4LDcgKzU5OCw3IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0
ZU5ld1dlYlByb2Nlc3MoKQogICAgIC8vIGljb25EYXRhYmFzZVBhdGggaXMgbm9uLWVtcHR5IGJ5
IGRlZmF1bHQsIGJ1dCBtX2ljb25EYXRhYmFzZSBpc24ndCBlbmFibGVkIGluIFVJIHByb2Nlc3Mg
dW5sZXNzIHNldERhdGFiYXNlUGF0aCBpcyBjYWxsZWQgZXhwbGljaXRseS4KICAgICBwYXJhbWV0
ZXJzLmljb25EYXRhYmFzZUVuYWJsZWQgPSAhaWNvbkRhdGFiYXNlUGF0aCgpLmlzRW1wdHkoKTsK
IAotICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMDsKKyAgICBwYXJhbWV0ZXJz
LnRlcm1pbmF0aW9uVGltZW91dCA9IDBfczsKIAogICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJT
dGF0ZSA9IFRleHRDaGVja2VyOjpzdGF0ZSgpOwogCkBAIC0xNDE5LDEwICsxNDE5LDEwIEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNl
TGltaXQoKQogICAgIC8vIFdlJ3JlIGVzdGltYXRpbmcgYW4gdXBwZXIgYm91bmQgZm9yIGEgc2V0
IG9mIGJhY2tncm91bmQgdGltZXIgZmlyZXMgZm9yIGEgcGFnZSB0byBiZSAyMDBtcwogICAgIC8v
IChpbmNsdWRpbmcgYWxsIHRpbWVyIGZpcmVzLCBhbGwgcGFnaW5nLWluLCBhbmQgYW55IHJlc3Vs
dGluZyBHQykuIFRvIGVuc3VyZSB0aGlzIGRvZXMgbm90CiAgICAgLy8gcmVzdWx0IGluIG1vcmUg
dGhhbiAxJSBDUFUgbG9hZCBhbGxvdyBmb3Igb25lIHRpbWVyIGZpcmUgcGVyIDEwMHggdGhpcyBk
dXJhdGlvbi4KLSAgICBzdGF0aWMgaW50IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMg
PSAyMDAgKiAxMDA7CisgICAgc3RhdGljIGNvbnN0IGF1dG8gbWF4aW11bVRpbWVyVGhyb3R0bGVQ
ZXJQYWdlID0gMjAwX21zICogMTAwOwogCi0gICAgaW50IGxpbWl0SW5NaWxsaXNlY29uZHMgPSBt
YXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1
dG9JbmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7Ci0gICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1p
dChsaW1pdEluTWlsbGlzZWNvbmRzKSk7CisgICAgYXV0byBsaW1pdCA9IG1heGltdW1UaW1lclRo
cm90dGxlUGVyUGFnZSAqIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRl
ci52YWx1ZSgpOworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6
U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXQpKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCmluZGV4IDg1NzQ1YWMzMGFjN2I4M2UxNDgy
NGJmZmVlYmE2OTA5MTNlOWI0NGEuLjNiMjIzNzdjODM5MWQzYjgzNmM4YWQ3MDBjMzg0ZDAwM2Vm
ZTZkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNr
ZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENo
ZWNrZXJDbGllbnRFZmwuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBUZXh0Q2hlY2tlckNs
aWVudEVmbDo6ZW5zdXJlU3BlbGxDaGVja2luZ0xhbmd1YWdlKCkKIHZvaWQgVGV4dENoZWNrZXJD
bGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGRlZmF1bHRMYW5ndWFnZXMpCiB7CiAgICAgbV9zcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0g
ZGVmYXVsdExhbmd1YWdlczsKLSAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZpcmVkKCkK
QEAgLTEyOCw3ICsxMjgsNyBAQCBWZWN0b3I8U3RyaW5nPiBUZXh0Q2hlY2tlckNsaWVudEVmbDo6
bG9hZGVkU3BlbGxDaGVja2luZ0xhbmd1YWdlcygpIGNvbnN0CiAKIHZvaWQgVGV4dENoZWNrZXJD
bGllbnRFZmw6OmNhbGxDb250aW51b3VzU3BlbGxDaGVja2luZ0NoYW5nZUNhbGxiYWNrQXN5bmMo
KQogewotICAgIG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiBib29sIFRleHRDaGVja2VyQ2xpZW50RWZsOjppc0NvbnRpbnVvdXNTcGVsbENo
ZWNraW5nRW5hYmxlZENhbGxiYWNrKGNvbnN0IHZvaWQqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA3ZTE1NzdjYmE4YjE1
NzA1MjY0ZTViYTU0NzVmZmM1OTYyZGFiODg5Li45M2RkZDc2OGRiYTRjYmUwMzBkNDMxZTRiNGQ4
NTdhNjg4ZDBmOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgR2VzdHVyZUNvbnRy
b2xsZXI6OkRyYWdHZXN0dXJlOjpiZWdpbihEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJs
ZSB4LCBkCiAgICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtfZXZlbnRfY29udHJvbGxlcl9nZXRf
d2lkZ2V0KEdUS19FVkVOVF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKICAgICB1bnNpZ25lZCBkZWxh
eTsKICAgICBnX29iamVjdF9nZXQoZ3RrX3dpZGdldF9nZXRfc2V0dGluZ3Mod2lkZ2V0KSwgImd0
ay1sb25nLXByZXNzLXRpbWUiLCAmZGVsYXksIG51bGxwdHIpOwotICAgIGRyYWdHZXN0dXJlLT5t
X2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KGRlbGF5IC8gMTAwMC4wKTsKKyAgICBkcmFn
R2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKGRlbGF5KSk7CiB9CiAKIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0
dXJlOjp1cGRhdGUoRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZG91YmxlIHks
IEd0a0dlc3R1cmUqIGdlc3R1cmUpCkBAIC0yMDYsNyArMjA2LDcgQEAgdm9pZCBHZXN0dXJlQ29u
dHJvbGxlcjo6Wm9vbUdlc3R1cmU6OnNjYWxlQ2hhbmdlZChab29tR2VzdHVyZSogem9vbUdlc3R1
cmUsIGRvdWIKICAgICBpZiAoem9vbUdlc3R1cmUtPm1faWRsZS5pc0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBHZXN0dXJlQ29u
dHJvbGxlcjo6Wm9vbUdlc3R1cmU6Olpvb21HZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlH
dGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0
ay5jcHAKaW5kZXggZGMxOThkODU4ZjEzYTNjMTIzNmU1MTFkMzhkYjY4NTI2MTM3ODRhNC4uNTMx
N2ZlZDlkODkyOTNhYmQ0MjEyYzIwODVkNjRjMmI5NDM3YTE0NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKQEAgLTI2
MSw3ICsyNjEsNyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjptZW51VW5tYXBwZWRDYWxs
YmFjayhHdGtXaWRnZXQqLCBXZWJQb3B1cE1lbnVQcm94eUd0awogICAgIC8vIFdoZW4gYW4gaXRl
bSBpcyBhY3RpdmF0ZWQsIHRoZSBtZW51IGlzIGZpcnN0IGhpZGRlbiBhbmQgdGhlbiBhY3RpdmF0
ZSBzaWduYWwgaXMgZW1pdHRlZCwgc28gYXQgdGhpcyBwb2ludCB3ZSBkb24ndCBrbm93CiAgICAg
Ly8gaWYgdGhlIG1lbnUgaGFzIGJlZW4gaGlkZGVuIGJlY2F1c2UgYW4gaXRlbSBoYXMgYmVlbiBz
ZWxlY3RlZCBvciBiZWNhdXNlIHRoZSBtZW51IGhhcyBiZWVuIGRpc21pc3NlZC4gV2FpdCB1bnRp
bCB0aGUgbmV4dAogICAgIC8vIG1haW4gbG9vcCBpdGVyYXRpb24gdG8gZGlzbWlzcyB0aGUgbWVu
dSwgaWYgYW4gaXRlbSBpcyBhY3RpdmF0ZWQgdGhlIHRpbWVyIHdpbGwgYmUgY2FuY2VsbGVkLgot
ICAgIHBvcHVwTWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBw
b3B1cE1lbnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6c2VsZWN0SXRlbUNhbGxiYWNrKEd0a1dpZGdldCogaXRl
bSwgV2ViUG9wdXBNZW51UHJveHlHdGsqIHBvcHVwTWVudSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDgxOGJkMzkw
ZDQ4M2QwODIyYmFlNzkzNGUxMDZmZGJiMGNkZmY4NTQuLmRmYWQzMmVjZWY4YzQwOGExMGIyNTkx
ZjhiMDM3Nzg2MjE1MzM0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29u
c3QgTlNVSW50ZWdlciB3aW5kb3dTdHlsZU1hc2sgPSBOU1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8
IE5TV2luZG93U3R5bAogCiAvLyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJl
Zm9yZSBjbG9zaW5nIGl0IGFuZCBpdHMgcHJvY2Vzcy4KIC8vIFJldXNpbmcgdGhlIFdlYlZpZXcg
aW1wcm92ZXMgc3RhcnQgdXAgdGltZSBmb3IgcGVvcGxlIHRoYXQganVtcCBpbiBhbmQgb3V0IG9m
IHRoZSBJbnNwZWN0b3IuCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgd2ViVmlld0Nsb3NlVGltZW91
dCA9IDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwX3M7
CiAKIC8vIFdLV2ViSW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlciBpcyBhIGhlbHBlciBPYmpDIG9i
amVjdCB1c2VkIGFzIGEgZGVsZWdhdGUgb3Igbm90aWZpY2F0aW9uIG9ic2VydmVyCiAvLyBmb3Ig
dGhlIHNvbGUgcHVycG9zZSBvZiBnZXR0aW5nIGJhY2sgaW50byB0aGUgQysrIGNvZGUgZnJvbSBh
biBPYmpDIGNhbGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IGU4OTFjZDAzMmIyZjQzNjY0YjY3ZTA2
ZGJlY2NjOGVlMDM1OGRkOGYuLmM1ZmNkZTk3N2E5ODFhMzYwZDUwMjY2NGU4YjU2MDA5YmZjNTJh
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2Fk
ZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtOTEsMTQgKzkxLDE0IEBAIFJlZlB0cjxOZXRzY2FwZVBs
dWdJblN0cmVhbUxvYWRlcj4gV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlUGx1Z2luU3RyZWFt
TG9hZChGCiAgICAgcmV0dXJuIGxvYWRlcjsKIH0KIAotc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQor
c3RhdGljIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291
cmNlKQogewogI2lmICFFTkFCTEUoTkVUV09SS19DQUNIRSkKLSAgICByZXR1cm4gMG1zOworICAg
IHJldHVybiAwX3M7CiAjZW5kaWYKIAogICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgIHJldHVy
biAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKICAgICBzd2l0Y2ggKHJlc291cmNlLT50eXBl
KCkpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgpAQCAtMTA3LDkg
KzEwNyw5IEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJp
bmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpTVkdGb250UmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250
UmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjptYXgo
KTsKKyAgICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIDUwMG1zOworICAgICAgICBy
ZXR1cm4gNTAwX21zOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1lZGlhUmVzb3VyY2U6CiAg
ICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWFpblJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlJhd1Jlc291cmNlOgpAQCAtMTI0LDExICsxMjQsMTEgQEAgc3RhdGljIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJl
c291cmNlKQogI2lmIEVOQUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0
eWxlU2hlZXQ6CiAjZW5kaWYKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIDBf
czsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMG1zOwor
ICAgIHJldHVybiAwX3M7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9h
ZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJj
ZSwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQpAQCAtMjMx
LDcgKzIzMSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJj
ZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiB2b2lkIFdlYkxvYWRlclN0cmF0
ZWd5OjpzY2hlZHVsZUludGVybmFsbHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVy
JiByZXNvdXJjZUxvYWRlcikKIHsKICAgICBtX2ludGVybmFsbHlGYWlsZWRSZXNvdXJjZUxvYWRl
cnMuYWRkKCZyZXNvdXJjZUxvYWRlcik7Ci0gICAgbV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OmludGVybmFsbHlGYWls
ZWRMb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCmluZGV4
IDQ5OTIwZjJjYWE4NGY3NjliNjJkMjQ2MmE5Yzk4MDdmNTIwY2YzZWQuLjFjMWVlNjIxZDI0Yjcw
YWYzYWFkYTEzMzEwNjI0MjdhMzAyYzYwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RN
YXAuY3BwCkBAIC0yOTMsNyArMjkzLDcgQEAgdm9pZCBOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRv
SW52YWxpZGF0aW9uUXVldWUoTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIGlmICh0cnlTYWZlUmVs
ZWFzZU5QT2JqZWN0KG5wT2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX25wT2Jq
ZWN0c1RvRmluYWxpemUuaXNFbXB0eSgpKQotICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKICAgICBBU1NFUlQobV9maW5hbGl6YXRpb25UaW1lci5pc0FjdGl2ZSgpKTsKICAgICBt
X25wT2JqZWN0c1RvRmluYWxpemUuYXBwZW5kKG5wT2JqZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW4uY3BwCmluZGV4IDVjOWE5MTgyNDU2NmE0NjMwMTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2Qu
LjFjZGZlY2YzYTkwOTdkNWY4ZDNhZGM3M2I3MWIwOTQ5MGM4MmE4NzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNj
YXBlUGx1Z2luLmNwcApAQCAtMzI2LDcgKzMyNiw3IEBAIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6
flRpbWVyKCkKIAogdm9pZCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6OnN0YXJ0KCkKIHsKLSAgICBk
b3VibGUgdGltZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICBhdXRvIHRpbWVJ
bnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAKICAgICBp
ZiAobV9yZXBlYXQpCiAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFs
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCmluZGV4IDdkNTRkODhjN2U4
OThjNWNlMGJhZGYxZDc2OWIyZTVkMzVkOWEyNTQuLjIzNDk5MTMwY2M1OTY1YmNhNjFiN2I4Mjgy
ZTk1ZDNhN2ZmN2I3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcApA
QCAtMjIyLDcgKzIyMiw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRh
VG9QbHVnaW4oKQogCiAgICAgICAgIGlmIChudW1CeXRlc1BsdWdpbkNhbkhhbmRsZSA8PSAwKSB7
CiAgICAgICAgICAgICAvLyBUaGUgcGx1Zy1pbiBjYW4ndCBoYW5kbGUgbW9yZSBkYXRhLCB3ZSds
bCBzZW5kIHRoZSByZXN0IGxhdGVyCi0gICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1
Z2luTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVBsdWdpbk1hYy5tbQppbmRleCBiOTI2ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1
NDNjNmFjYzJlNWUwLi41MDQ0MmE3ZTY4NzJlMDkxMTNmYzNkNGM2MjY1ZDkyMTZlY2MzMzU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFj
L05ldHNjYXBlUGx1Z2luTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmbmRlZiBO
UF9OT19DQVJCT04KLXN0YXRpYyBjb25zdCBkb3VibGUgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUg
PSAwLjAyOworc3RhdGljIGNvbnN0IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAw
LjAyX3M7CiAKIHN0YXRpYyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21MYXN0TW91c2VFdmVudDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZp
ZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3Bw
CmluZGV4IGFjMWRhYWJhZDA2M2E0OTYyNmIzN2UwNDAyZTllYmY1NDkyZDNiMWIuLjM5MWMwZTg1
ODMwOWQxMGE5MmZmMzdkOGE3ZGQ3ZDk1M2UzMmFiODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gVGhpcyBzaW11
bGF0ZWQgbW91c2UgY2xpY2sgZGVsYXkgaW4gSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgc2hv
dWxkIGdlbmVyYWxseSBiZSB0aGUgc2FtZSBvciBzaG9ydGVyIHRoYW4gdGhpcyBkZWxheS4KLXN0
YXRpYyBjb25zdCBhdXRvIHBsdWdpblNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxMTAwIH07CitzdGF0aWMgY29uc3QgYXV0byBwbHVnaW5TbmFwc2hvdFRp
bWVyRGVsYXkgPSAxLjFfczsKIAogY2xhc3MgUGx1Z2luVmlldzo6VVJMUmVxdWVzdCA6IHB1Ymxp
YyBSZWZDb3VudGVkPFVSTFJlcXVlc3Q+IHsKIHB1YmxpYzoKQEAgLTExNjQsNyArMTE2NCw3IEBA
IHZvaWQgUGx1Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCgpCiAKICAgICAv
LyBJZiB0aGVyZSBhcmUgbW9yZSByZXF1ZXN0cyB0byBwZXJmb3JtLCByZXNjaGVkdWxlIHRoZSB0
aW1lci4KICAgICBpZiAoIW1fcGVuZGluZ1VSTFJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAg
bV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVu
ZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgCiAgICAgcGVyZm9y
bVVSTFJlcXVlc3QodXJsUmVxdWVzdC5nZXQoKSk7CiB9CkBAIC0xNDIzLDcgKzE0MjMsNyBAQCB2
b2lkIFBsdWdpblZpZXc6OmxvYWRVUkwodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJpbmcm
IG1ldGhvZCwgY29uc3QgU3RyaW5nJgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLnNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAKICAgICBtX3BlbmRpbmdVUkxS
ZXF1ZXN0cy5hcHBlbmQoVVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3RJRCwgZnJhbWVMb2FkUmVx
dWVzdCwgYWxsb3dQb3B1cHMpKTsKLSAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFBsdWdpblZpZXc6OmNhbmNlbFN0cmVhbUxvYWQodWludDY0X3Qgc3Ry
ZWFtSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNj
ZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggYjg3OGZiYzk4NDJlM2ViYWQ2N2Y2
ZmY5OGQ3OTkwYzljYTYzMDVlNS4uNzRlMmMyMzM3NGNhOWYzYzQ1ZWEzMDg5NzI2M2YzZjVhMWIx
MWYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2Vs
ZXJhdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQg
QWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlU29v
bigpCiAgICAgaWYgKGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVBlbmRpbmcoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
I2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21w
b3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGYz
ZGFlZmM3ODc2ZDk4M2JlMTVjOWJiYzJkYWFjMTgyNWU4YWJjMjcuLjhlZTdkZGYxOTgyZDkxN2Zh
ZjcxNTVkMTk4Mzg0ZDQzMWQ4Nzk0YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xNTUsMTEgKzE1NSwxMSBAQCB2
b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnN5bmNEaXNwbGF5U3RhdGUoKQogfQogCiAjaWYg
RU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotZG91YmxlIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6Om5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0CitTZWNvbmRzIENvbXBvc2l0
aW5nQ29vcmRpbmF0b3I6Om5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0CiB7CiAgICAg
Ly8gQWNjb3JkaW5nIHRvIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc3BlYywgckFGIGNhbGxi
YWNrcyBzaG91bGQgbm90IGJlIGZhc3RlciB0aGFuIDYwRlBTLgotICAgIHN0YXRpYyBjb25zdCBk
b3VibGUgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zID0gMS4gLyA2MC47Ci0gICAgcmV0dXJu
IHN0ZDo6bWF4PGRvdWJsZT4oMC4sIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyAtIHRpbWVz
dGFtcCgpICsgbV9sYXN0QW5pbWF0aW9uU2VydmljZVRpbWUpOworICAgIHN0YXRpYyBjb25zdCBT
ZWNvbmRzIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyA9IFNlY29uZHMoMS4wIC8gNjApOwor
ICAgIHJldHVybiBzdGQ6Om1heDxTZWNvbmRzPigwX3MsIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0
aW9ucyAtIFNlY29uZHModGltZXN0YW1wKCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGltZSkp
OwogfQogI2VuZGlmCiAKQEAgLTM5OCw3ICszOTgsNyBAQCBib29sIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6OnBhaW50VG9TdXJmYWNlKGNvbnN0IEludFNpemUmIHNpemUsIENvb3JkaW5hdGVkU3Vy
ZgogICAgIHJldHVybiBtX3VwZGF0ZUF0bGFzZXMubGFzdCgpLT5wYWludE9uQXZhaWxhYmxlQnVm
ZmVyKHNpemUsIGF0bGFzSUQsIG9mZnNldCwgY2xpZW50KTsKIH0KIAotY29uc3QgZG91YmxlIFJl
bGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsID0gMC41OworY29uc3QgU2Vjb25kcyBS
ZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCA9IDAuNV9zOwogCiB2b2lkIENvbXBv
c2l0aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFzZUluYWN0aXZlQXRsYXNlcygpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgK
aW5kZXggZjk4YTM2YmMyN2E3ZjJiY2UxNzdkMTI3Y2Y5N2Y2OWRiZTFjNzUxYS4uZWJmNjViYjdm
OWNkYjdlY2UyN2JjZjAxMDMzNzVkNGNmZDhlMjM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29y
ZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaApAQCAtODcsNyArODcsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzeW5jRGlzcGxheVN0YXRlKCk7CiAKICNpZiBFTkFCTEUoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpCi0gICAgZG91YmxlIG5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgp
IGNvbnN0OworICAgIFNlY29uZHMgbmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CiAj
ZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4IDlmNmE4MzIxZTNmMjUxYWE1ZTM2ZTUz
NzE4ZDhjYWE5Nzc4MDk1NmEuLmM0N2JiMDdjZDVkNWYyNjA3ZTgzNzVlYTBkNWJlNDcyYzY0NGE1
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0LmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdDo6c2NoZWR1bGVMYXllckZsdXNoKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYg
KCFtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xheWVyRmx1c2hUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y2FuY2VsUGVuZGlu
Z0xheWVyRmx1c2goKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWFJbXBsLmNwcAppbmRleCA1NGI0ZWFkOTgzZjc1NmJkMTQ4ZTFhZjRjYmVk
NjQ3Mzk4MDc5NDJkLi4wZDFiNTEwMTA2ODUxODVmODAzMTllOTA4YmVjZjc0OGNhNTU4YjI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzY2hl
ZHVsZURpc3BsYXkoKQogICAgIGlmIChtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9k
aXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFJbXBs
OjpkaXNwbGF5VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggMDMxYmNhOWRhMWJkNjQwMWY2NDBlMDY4NGZmZmRkNTM5ODI0
NmQ0Ny4uMjM4YjVhOWZhZGYwYWMyY2IwYzg3YzU1ZWE5ZDNmYTI4MDNjNzZmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjUzLDkgKzI1
Myw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBwYWdlU2Nyb2xsSHlzdGVyZXNpc1NlY29uZHMgPSAwLjM7Ci1z
dGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGls
aXR5VGltZXJJbnRlcnZhbCB7IDIwIH07Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgbWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyIH07CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBwYWdlU2Nyb2xsSHlzdGVyZXNpcyA9IDAuM19zOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAyMF9tczsKK3N0YXRp
YyBjb25zdCBTZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsID0gMl9z
OwogCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xPR19JRihp
c0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJzLCBfX1ZBX0FSR1NfXykKICNkZWZpbmUg
UkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRCguLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlz
QWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBMYXllcnMsIF9fVkFfQVJHU19fKQpAQCAtMzE0LDcg
KzMxNCw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAgICAgLCBtX3VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcigqdGhpcykKICNlbmRp
ZgotICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUg
c3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgcGFnZVN0b3Bw
ZWRTY3JvbGxpbmcoKTsgfSwgcGFnZVNjcm9sbEh5c3RlcmVzaXNTZWNvbmRzKQorICAgICwgbV9w
YWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYg
KHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgcGFnZVN0b3BwZWRTY3JvbGxpbmco
KTsgfSwgcGFnZVNjcm9sbEh5c3RlcmVzaXMpCiAgICAgLCBtX2NhblJ1bkJlZm9yZVVubG9hZENv
bmZpcm1QYW5lbChwYXJhbWV0ZXJzLmNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkKICAg
ICAsIG1fY2FuUnVuTW9kYWwocGFyYW1ldGVycy5jYW5SdW5Nb2RhbCkKICNpZiBQTEFURk9STShJ
T1MpCkBAIC0yMDUxLDcgKzIwNTEsNyBAQCB2b2lkIFdlYlBhZ2U6OmNhbGxWb2xhdGlsaXR5Q29t
cGxldGlvbkhhbmRsZXJzKCkKIAogdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZp
cmVkKCkKIHsKLSAgICBhdXRvIG5ld0ludGVydmFsID0gMiAqIG1fbGF5ZXJWb2xhdGlsaXR5VGlt
ZXIucmVwZWF0SW50ZXJ2YWxNUygpOworICAgIGF1dG8gbmV3SW50ZXJ2YWwgPSBtX2xheWVyVm9s
YXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsKCkgKiAyOwogICAgIGJvb2wgZGlkU3VjY2VlZCA9
IG1hcmtMYXllcnNWb2xhdGlsZUltbWVkaWF0ZWx5SWZQb3NzaWJsZSgpOwogICAgIGlmIChkaWRT
dWNjZWVkIHx8IG5ld0ludGVydmFsID4gbWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2
YWwpIHsKICAgICAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdG9wKCk7CkBAIC0yMDYwLDcg
KzIwNjAsNyBAQCB2b2lkIFdlYlBhZ2U6OmxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRCgi
JXAgLSBXZWJQYWdlIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2ls
bCByZXRyeSBpbiAlbGxkIG1zIiwgdGhpcywgc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihuZXdJbnRl
cnZhbC5jb3VudCgpKSk7CisgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRCgiJXAgLSBX
ZWJQYWdlIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRy
eSBpbiAlLjNmIHMiLCB0aGlzLCBuZXdJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVyVm9s
YXRpbGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKG5ld0ludGVydmFsKTsKIH0KIApAQCAtMjA5MSw3
ICsyMDkxLDcgQEAgdm9pZCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9sYXRpbGUoc3RkOjpmdW5jdGlv
bjx2b2lkICgpPiBjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVy
cyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlbGxkIG1zIiwgdGhpcywgaW5pdGlhbExheWVy
Vm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwuY291bnQoKSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgiJXAgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJl
dHJ5IGluICUuM2YgcyIsIHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFs
LnZhbHVlKCkpOwogICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRpbmcoaW5p
dGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwpOwogfQogCkBAIC0yNTMwLDcgKzI1MzAs
NyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZUlzSW5XaW5kb3coYm9vbCBpc0luaXRpYWxTdGF0ZSkK
ICAgICAgICAgLy8gaW4gb3JkZXIgdG8gZ2V0IHBsdWctaW4gY29ubmVjdGlvbnMsIGFuZCB0aGUg
VUkgcHJvY2VzcyB3aWxsIGJlIHdhaXRpbmcgZm9yIHRoZSBXZWIgcHJvY2VzcyB0byB1cGRhdGUg
dGhlIGJhY2tpbmcKICAgICAgICAgLy8gc3RvcmUgYWZ0ZXIgbW92aW5nIHRoZSB2aWV3IGludG8g
YSB3aW5kb3csIHVudGlsIGl0IHRpbWVzIG91dCBhbmQgcGFpbnRzIHdoaXRlLiBTZWUgPHJkYXI6
Ly9wcm9ibGVtLzkyNDI3NzE+LgogICAgICAgICBpZiAobV9tYXlTdGFydE1lZGlhV2hlbkluV2lu
ZG93KQotICAgICAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFnZURpZEVudGVyV2luZG93KG1f
cGFnZUlEKTsKICAgICB9CkBAIC0zMDM3LDcgKzMwMzcsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0
ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogI2VuZGlmCiAK
ICAgICBzZXR0aW5ncy5zZXRTdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzdXBwcmVzc2VzSW5jcmVtZW50YWxS
ZW5kZXJpbmdLZXkoKSkpOwotICAgIHNldHRpbmdzLnNldEluY3JlbWVudGFsUmVuZGVyaW5nU3Vw
cHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjppbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEtleSgp
KSk7CisgICAgc2V0dGluZ3Muc2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVv
dXQoU2Vjb25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRLZXkoKSkpKTsKICAgICBzZXR0
aW5ncy5zZXRCYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVG
b3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkS2V5
KCkpKTsKICAgICBzZXR0aW5ncy5zZXRXYW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2
aW9yKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6d2FudHNCYWxh
bmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvcktleSgpKSk7CiAgICAgc2V0dGluZ3Muc2V0Q2Fy
ZXRCcm93c2luZ0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpjYXJldEJyb3dzaW5nRW5hYmxlZEtleSgpKSk7CkBAIC0zMTEwLDcgKzMxMTAsNyBAQCB2
b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUm
IHN0b3JlKQogICAgIHNldHRpbmdzLnNldEFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3Jv
bGwoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphbHdheXNVc2VB
Y2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsS2V5KCkpKTsKIAogICAgIHNldHRpbmdzLnNldFBhc3N3
b3JkRWNob0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpwYXNzd29yZEVjaG9FbmFibGVkS2V5KCkpKTsKLSAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVj
aG9EdXJhdGlvbkluU2Vjb25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6cGFzc3dvcmRFY2hvRHVyYXRpb25LZXkoKSkpOworICAgIHNldHRpbmdzLnNldFBh
c3N3b3JkRWNob0R1cmF0aW9uKFNlY29uZHMoc3RvcmUuZ2V0RG91YmxlVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OnBhc3N3b3JkRWNob0R1cmF0aW9uS2V5KCkpKSk7CiAgICAgCiAgICAg
c2V0dGluZ3Muc2V0TGF5b3V0SW50ZXJ2YWwoU2Vjb25kcyhzdG9yZS5nZXREb3VibGVWYWx1ZUZv
cktleShXZWJQcmVmZXJlbmNlc0tleTo6bGF5b3V0SW50ZXJ2YWxLZXkoKSkpKTsKICAgICBzZXR0
aW5ncy5zZXRNYXhQYXJzZUR1cmF0aW9uKHN0b3JlLmdldERvdWJsZVZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjptYXhQYXJzZUR1cmF0aW9uS2V5KCkpKTsKQEAgLTM4NDgsNyArMzg0OCw3
IEBAIHZvaWQgV2ViUGFnZTo6YWRkUGx1Z2luVmlldyhQbHVnaW5WaWV3KiBwbHVnaW5WaWV3KQog
ICAgIG1faGFzU2VlblBsdWdpbiA9IHRydWU7CiAjaWYgRU5BQkxFKFBSSU1BUllfU05BUFNIT1RU
RURfUExVR0lOX0hFVVJJU1RJQykKICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBE
ZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0ZWN0aW9uIGZyb20gYWRkUGx1Z2luVmlldyglcCkiLCBw
bHVnaW5WaWV3KTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCiB9CiAKQEAgLTQzODUsNyArNDM4NSw3
IEBAIHZvaWQgV2ViUGFnZTo6c2V0TWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyhib29sIG1heVN0
YXJ0TWVkaWEpCiAKICAgICBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgPSBtYXlTdGFydE1l
ZGlhOwogICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgJiYgbV9wYWdlLT5pc0lu
V2luZG93KCkpCi0gICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgV2ViUGFnZTo6cnVuTW9kYWwoKQpAQCAtNTE2Myw3ICs1MTYzLDcgQEAgdm9pZCBX
ZWJQYWdlOjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAogICAgIG1fcmVhZHlUb0Zp
bmRQcmltYXJ5U25hcHNob3R0ZWRQbHVnaW4gPSB0cnVlOwogICAgIExPRyhQbHVnaW5zLCAiUHJp
bWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBkaWRGaW5p
c2hMb2FkIChtYXJraW5nIGFzIHJlYWR5IHRvIGRldGVjdCkuIik7Ci0gICAgbV9kZXRlcm1pbmVQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRl
cm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNl
bHNlCiAgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKICNlbmRpZgpAQCAtNTE3NSw3ICs1MTc1LDcg
QEAgc3RhdGljIGNvbnN0IGZsb2F0IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblNlYXJjaEJ1Y2tl
dFNpemUgPSAxLjE7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1p
bmltdW1XaWR0aCA9IDQwMDsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luTWluaW11bUhlaWdodCA9IDMwMDsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cyA9IDI7Ci1zdGF0aWMgY29uc3QgaW50
IGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAzOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rp
b25EZWxheSA9IDNfczsKIHN0YXRpYyBjb25zdCBmbG9hdCBvdmVybGFwcGluZ0ltYWdlQm91bmRz
U2NhbGUgPSAxLjE7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWluaW11bU92ZXJsYXBwaW5nSW1hZ2VU
b1BsdWdpbkRpbWVuc2lvblNjYWxlID0gLjk7CiAKQEAgLTUyODMsNyArNTI4Myw3IEBAIHZvaWQg
V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKCkKICAgICBpZiAoIWNh
bmRpZGF0ZVBsdWdJbikgewogICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBE
ZXRlY3Rpb246IGZhaWwgLSBkaWQgbm90IGZpbmQgYSBjYW5kaWRhdGUgcGx1Zy1pbi4iKTsKICAg
ICAgICAgaWYgKG1fbnVtYmVyT2ZQcmltYXJ5U25hcHNob3REZXRlY3Rpb25BdHRlbXB0cyA8IG1h
eFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzKSB7Ci0gICAgICAgICAg
ICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBh
Z2FpbiBpbiAlZHMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25E
ZWxheSk7CisgICAgICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rp
b246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBpbiAlLjNmcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5LnZhbHVlKCkpOwogICAgICAgICAgICAgbV9kZXRlcm1p
bmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoZGVmZXJyZWRQcmlt
YXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CiAgICAgICAgIH0KICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggMTgzMWYyYjUwMDQyMWQ4ZGM3MDdkYTkxZGVmMmFhODNjNTM3ODMyZS4uYzI5M2Q5NzRiMDFm
M2ZhNjRlNzkwMzg5YzM3N2QwOTcxNTQxNzhjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0zMDAsNyArMzAwLDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY3RpdmVQ
b3B1cE1lbnUoV2ViUG9wdXBNZW51Kik7CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGltaXQpCisg
ICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRz
IGxpbWl0KQogICAgIHsKICAgICAgICAgbV9wYWdlLT5zZXRUaW1lckFsaWdubWVudEludGVydmFs
SW5jcmVhc2VMaW1pdChsaW1pdCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0KaW5kZXggNWE2NzMzNGQ4YWEzYTQ2MWIzMzhlMGI4ZWE4NDA3MWRkYzhkMDdkNC4u
OTFkOGE1NjUxZjg3NjAzNTg0MzE0ZWM2ZGZmYjEyNzMxOGRjY2UwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCkBAIC0yODUsNyArMjg1LDcgQEAgVGlsZWRCYWNraW5n
KiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6bWFpbkZyYW1lVGlsZWRCYWNraW5nKCkgY29u
c3QKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyRmx1c2hJbW1lZGlhdGVseSgpCiB7Ci0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRP
bmVTaG90KDBtcyk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKCkKQEAgLTMwNCw5ICszMDQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJG
bHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IGF1dG8g
aW5pdGlhbEZsdXNoRGVsYXkgPSA1MDBtczsKLSAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAx
NTAwbXM7Ci0gICAgYXV0byB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNo
ZXMgPyAobV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkg
OiBmbHVzaERlbGF5KSA6IDBtczsKKyAgICBjb25zdCBhdXRvIGluaXRpYWxGbHVzaERlbGF5ID0g
MC41X3M7CisgICAgY29uc3QgYXV0byBmbHVzaERlbGF5ID0gMS41X3M7CisgICAgYXV0byB0aHJv
dHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9pc0luaXRpYWxUaHJv
dHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERlbGF5KSA6IDBfczsK
ICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsKIAogICAgIG1fbGF5
ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IGY0ZWVhMDFmZTZlYTU3MWMzYjVjYjQz
MGY5YzE4NzQzY2U5YTQwY2MuLmNjY2YxYWMyMDU1NzhkYzRjYWM1ZjE4ZmRhMTk4ZmM3ZTdkMWQw
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNDcy
LDcgKzQ3Miw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5
U3RhdGVEaWRDaGFuZ2UoQWN0aXZpdHlTdGF0ZTo6RmxhZ3MKICAgICB9CiAKICAgICBpZiAobV93
YW50c0RpZFVwZGF0ZUFjdGl2aXR5U3RhdGUgfHwgIW1fbmV4dEFjdGl2aXR5U3RhdGVDaGFuZ2VD
YWxsYmFja0lEcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5U3Rh
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5
U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYTo6ZGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZGQwMGExOGQ5YjYyMTY1ZDkz
NjJhOTgyZTRmZTc2NTg4NzFlNTE5YS4uMjYzMmRiYWZiMjRjNjcyYjVjZTM0NTQxYzU4NDg4ZmQ2
OTgwNjJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0x
NDIsNyArMTQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBzdGF0aWMgY29uc3QgZG91
YmxlIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBkYXRlVGhyZXNob2xkID0gMjkgKiAy
NCAqIDYwICogNjA7CiAKIC8vIFRoaXMgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aWxlUmV2YWxp
ZGF0aW9uVGltZW91dCBpbiBUaWxlQ29udHJvbGxlci4KLXN0YXRpYyBjb25zdCBkb3VibGUgbm9u
VmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMDsKK3N0YXRpYyBjb25zdCBhdXRvIG5vblZp
c2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTBfczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
QEAgLTIxMSw3ICsyMTEsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAgICAgaWYg
KG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICAKLSAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hv
dChzdGQ6OmNocm9ubzo6c2Vjb25kcyg1KSk7CisgICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRU
aW1lci5zdGFydE9uZVNob3QoNV9zKTsKICAgICB9KTsKIH0KIApAQCAtNTM4LDcgKzUzOCw3IEBA
IHZvaWQgV2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKICAgICB1bnNpZ25l
ZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFj
aXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0
byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMg
eyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogICAg
IHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogICAgIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6
ZXMoY2FjaGVNb2RlbCwgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwg
Y2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBh
Z2VDYWNoZVNpemUpOwogCkBAIC0xMjQ0LDEwICsxMjQ0LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6
ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IE9wdGlvCiAgICAgfQogfQogCi12b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCit2b2lkIFdlYlByb2Nlc3M6
OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQp
CiB7CiAgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQotICAgICAgICBw
YWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kcykpOworICAgICAgICBwYWdlLT5zZXRIaWRkZW5Q
YWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCk7CiB9CiAKICNpZiAhUExBVEZP
Uk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0
MWJmZDU0ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFhMWYyN2I1YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3
NTY2ZGIzODM0ZWY3YzRmOTA3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCkBAIC0xODgsNyArMTg4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQ
YWdlcygpOwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VM
aW1pdChpbnQgbWlsbGlzZWNvbmRzKTsKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgdm9pZCBwcm9jZXNzV2lsbFN1c3Bl
bmRJbW1pbmVudGx5KGJvb2wmIGhhbmRsZWQpOwogICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IDZkNzZlNTgzMjZlZDM1MjRhYWM1YTk4NmM0OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4
YTZlNGE5NzA2YjFmYzFkNjY5YjFlMWM2Yjc4MjAyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVz
c2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURh
dGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0
aW1lX3BvaW50IG1vZGlmaWVkU2luY2UpIC0+ICgpCiAgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JP
cmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6Oldl
YnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YT4gb3JpZ2lucykgLT4gKCkKIAotICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCisgICAgU2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICBTZXRQcm9jZXNz
U3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBT
ZXRRT1MoaW50IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY3ZjYxNzE1MDU1OGNkMTNjYjA3
NWQ2YzViMzRiYzM4ZmNlYmVkM2YuLjk1OTZkZWFhYmQyMTg0NmQxNDBlZjQ4YTZlYTM4ZmJlYTY5
OTEwOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwyMiBAQAogMjAxNi0xMS0yNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAorICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGJvdGggVGltZXJzIGFuZCBSdW5Mb29wIFRp
bWVycyB0byB1c2UgU2Vjb25kcywgcmVwbGFjaW5nIHRoZSBmdW5jdGlvbnMgdGFraW5nIHJhdwor
ICAgICAgICBkb3VibGVzLCBhbmQgcmVtb3ZpbmcgdGhlIHN0ZDo6Y2hyb25vIG92ZXJsb2Fkcy4K
KworICAgICAgICBDb252ZXJ0IHNvbWUgZW50cmFpbmVkIGNvZGUgY29kZSB0byBTZWNvbmRzL01v
bm90b25pY1RpbWUuCisKKyAgICAgICAgVXNlIHRpbWUgbGl0ZXJhbHMgaW4gbW9yZSBwbGFjZXMu
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcDoKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCisyMDE2LTExLTI3ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEFub3RoZXIgZml4IGZvciBDTWFrZS4K
IAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCmluZGV4IDFkYzdlOTM4YTc2ZTk5NGJlOTc2OThl
ZTgwNWNjNmZmZWQ2ZmUzZGIuLjVhNDg5MjhmY2I1ZjA4MjE2MThhOGQyYTQ3YWE1MThmYmRkM2I1
NjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3Bw
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCkBAIC05NSw3
ICs5NSw3IEBAIFRFU1QoV1RGX1J1bkxvb3AsIE9uZVNob3RUaW1lcikKIAogICAgIHsKICAgICAg
ICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0
T25lU2hvdCgwLjEpOworICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMC4xX3MpOwogICAgICAg
ICBVdGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQpAQCAtMTI5LDcgKzEyOSw3IEBA
IFRFU1QoV1RGX1J1bkxvb3AsIFJlcGVhdGluZ1RpbWVyKQogCiAgICAgewogICAgICAgICBEZXJp
dmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRp
bmcoMC4wMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDFfcyk7CiAgICAgICAg
IFV0aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGMwM2JhZDY2Y2Mz
NDc4Y2U1MzgxYjVmODJiNDg5Y2YwYzAxYTYwMy4uZDY3MmUwNzdhMWNhMGVjNDg4YWYxYjVmYTQ4
YTYwNjA3YWFlMWFiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTExLTI3ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMg
dG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgU2V0dGluZ3Mg
InBhc3N3b3JkRWNob0R1cmF0aW9uIiBubyBsb25nZXIgaGFzICJJblNlY29uZHMiIGluIGl0LCBz
byBmaXggdGhlIHRlc3QgSlMuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3Jlc291cmNlcy9w
YXNzd29yZC1lY2hvLmpzOgorICAgICAgICAoaW5pdCk6CisKIDIwMTYtMTEtMjYgIFNhbSBXZWlu
aWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDb252ZXJ0IEludGVyc2VjdGlvbk9ic2Vy
dmVyIG92ZXIgdG8gdXNpbmcgUnVudGltZUVuYWJsZWRGZWF0dXJlcyBzbyBpdCBjYW4gYmUgcHJv
cGVybHkgZXhjbHVkZWQgZnJvbSBzY3JpcHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvaW5wdXQvcmVzb3VyY2VzL3Bhc3N3b3JkLWVjaG8uanMgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2lucHV0L3Jlc291cmNlcy9wYXNzd29yZC1lY2hvLmpzCmluZGV4IGY3ODIwMmQ3YzUwM2ExYzU3
YjEyYTdlZjQ2NDUyYjcyZjIwMDA0MGUuLjFlMzY4MzQ4MWViZGQ5YWEzNWY3Nzg1MWRmZDQxYWYz
YzM4NzAyMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcmVzb3VyY2Vz
L3Bhc3N3b3JkLWVjaG8uanMKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9yZXNvdXJj
ZXMvcGFzc3dvcmQtZWNoby5qcwpAQCAtODEsNyArODEsNyBAQCBmdW5jdGlvbiBpbml0KHRlc3Rz
KQogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
UGFzc3dvcmRFY2hvRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoMC4xKTsKKyAgICAgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0UGFzc3dvcmRFY2hvRHVyYXRpb24oMC4x
KTsKICAgICAgICAgICAgIHRlc3Rub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Ru
b2RlJyk7CiAgICAgICAgICAgICBydW4odGVzdHMsIC0xKTsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296118</attachid>
            <date>2016-12-04 20:12:39 -0800</date>
            <delta_ts>2016-12-04 20:42:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161204201200.patch</filename>
            <type>text/plain</type>
            <size>380964</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
N2E3MDU2NTMwMDYyMGIzYTQ4ZDE1ZTU1N2U5NzUzYTYzNGJmNDRlLi5jNDk4MDAyYWQyMTQzYmZj
MjgxMTZiMzFhMmZlYTM4YzdhZjM3NTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6
OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKToKKwogMjAxNi0xMi0wMyAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjIwOTI5OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9D
aGFuZ2VMb2cKaW5kZXggY2ZjYTA5MGUyZjMwNDg2YmJkYzcwNjg2ODhkMWM1YWY3YzY4Yjg3OS4u
N2ZhZjNhMmI0YTIwM2E4OWRlM2YxMmE5M2JmMzE1ZmE3YTJlZDg2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91
YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3dGYvUnVuTG9vcC5oOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1l
ckJhc2U6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNl
OjpzdGFydE9uZVNob3QpOgorICAgICAgICAqIHd0Zi9SdW5Mb29wVGltZXIuaDoKKyAgICAgICAg
KiB3dGYvUnVuTG9vcFRpbWVyQ0YuY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wVGltZXJCYXNl
OjpzdGFydCk6CisgICAgICAgICogd3RmL2NmL1J1bkxvb3BDRi5jcHA6CisgICAgICAgIChXVEY6
OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAqIHd0Zi9lZmwvUnVuTG9vcEVm
bC5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAg
ICAqIHd0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9v
cDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3Bw
OgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3
dGYvd2luL1J1bkxvb3BXaW4uY3BwOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6
OnN0YXJ0KToKKwogMjAxNi0xMi0wMSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgU3RyaW5nSW1wbDo6U3RhdGljU3RyaW5nSW1wbCB3
aXRoIGNvbnN0ZXhwciBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ1NzY3MmJmODdkZGY3YjA1
ZGEyMDEyMmQ1OGZjYTZiNWE0NjZlMjcuLmYyYjc0MGJkODExNDViN2E0NmE2YjkzNTg4OGEzNjgz
M2U5NzFjOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MjcgQEAKKzIwMTYtMTItMDQgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVy
cyB0byB1c2Ugb25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2Vi
S2l0TWVkaWFLZXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE1lZGlhS2V5
U2Vzc2lvbjo6Z2VuZXJhdGVLZXlSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE1l
ZGlhS2V5U2Vzc2lvbjo6dXBkYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dl
b05vdGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzZXRGYXRhbEVy
cm9yKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpzZXRVc2VDYWNoZWRQb3NpdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpHZW9Ob3RpZmllcjo6c3RhcnRUaW1lcklmTmVlZGVkKToK
KyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okdlb2xvY2F0aW9uOjpyZXN1bWUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpzY2hlZHVsZVBlbmRpbmdPcGVyYXRpb25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpJREJU
cmFuc2FjdGlvbjo6c2NoZWR1bGVDb21wbGV0ZWRPcGVyYXRpb25UaW1lcik6CisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6Omludm9rZU9wZXJhdGlvbkFu
ZFRyYW5zYWN0aW9uVGltZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWVkaWFTZXNzaW9u
TWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lcik6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZl
cjo6cmFuZ2VSZW1vdmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6YXBwZW5k
QnVmZmVySW50ZXJuYWwpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW06OnNjaGVkdWxlQWN0aXZlU3Rh
dGVDaGFuZ2UpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GU2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZl
bnQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6
CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHA6CisgICAg
ICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb25DZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKToKKyAg
ICAgICAgKiBNb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VmlicmF0aW9uOjp2aWJyYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlZpYnJhdGlvbjo6dGlt
ZXJGaXJlZCk6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OnJlc3VtZSk6CisgICAgICAgICogTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29j
a2V0Q2hhbm5lbDo6Y2xvc2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViU29ja2V0Q2hhbm5lbDo6
cmVzdW1lKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdE5vdGlmaWNhdGlvbik6CisgICAgICAg
ICogYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdDQ29u
dHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29wKToKKyAgICAgICAgKiBjc3MvQ1NT
Rm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OnNldFN0YXR1cyk6
CisgICAgICAgICogY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29uKToKKyAgICAgICAgKiBjc3MvQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHA6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAq
IGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6
OmFkZFRvTWF0Y2hlZFByb3BlcnRpZXNDYWNoZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZCk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYyk6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlU29vbik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6
OnJlcXVlc3RGdWxsU2NyZWVuRm9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6d2Via2l0RGlkRW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpkZWNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbCk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6c2V0Q2FjaGVkRE9NQ29va2llcyk6CisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEb2N1bWVudEV2ZW50UXVldWU6OmVucXVldWVFdmVudCk6CisgICAgICAg
ICogZG9tL0V2ZW50U2VuZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNlbmRlcjxUPjo6
ZGlzcGF0Y2hFdmVudFNvb24pOgorICAgICAgICAqIGRvbS9NaWNyb3Rhc2tzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1pY3JvdGFza1F1ZXVlOjphcHBlbmQpOgorICAgICAgICAqIGRvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lckludGVydmFsKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwp
OgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0Lmg6CisgICAgICAgICogZG9t
L1NjcmlwdFJ1bm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRSdW5uZXI6OnJlc3Vt
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAg
ICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24pOgor
ICAgICAgICAqIGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByZXNl
bnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcjo6ZGlkSGl0UHJlc2VudGF0aW9uQXR0cmlidXRl
Q2FjaGUpOgorICAgICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVh
bmVyOjpjbGVhbkNhY2hlKToKKyAgICAgICAgKiBlZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6
c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRpbWVyKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24p
OgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFwcGVhcmFuY2UpOgorICAgICAgICAqIGVkaXRpbmcv
U3BlbGxDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6ZGlkQ2hl
Y2spOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZSk6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQ6OnNjaGVkdWxlRGVsYXllZEFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50OjpzdGFydFByb2dyZXNzRXZlbnRUaW1lcik6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpiZWdpblNjYW5uaW5nKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmhhbmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24p
OgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFBsdWdJbkVsZW1lbnQ6OnNldERpc3BsYXlTdGF0ZSk6CisgICAgICAgICogaHRtbC9I
VE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAg
ICogaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291
cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
b3VyY2VFbGVtZW50OjpyZXN1bWUpOgorICAgICAgICAqIGh0bWwvSFRNTFRyYWNrRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50OjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIGh0bWwvTWVkaWFDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKE1lZGlhQ29udHJv
bGxlcjo6TWVkaWFDb250cm9sbGVyKToKKyAgICAgICAgKE1lZGlhQ29udHJvbGxlcjo6Y3VycmVu
dFRpbWUpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZUV2ZW50KToKKyAgICAg
ICAgKE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQpOgorICAgICAgICAq
IGh0bWwvTWVkaWFDb250cm9sbGVyLmg6CisgICAgICAgICogaHRtbC9NZWRpYURvY3VtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRG9jdW1lbnQ6Om1lZGlhRWxlbWVudFNhd1Vuc3Vw
cG9ydGVkVHJhY2tzKToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6ZXh0ZXJuYWxPdXRwdXREZXZp
Y2VBdmFpbGFibGVEaWRDaGFuZ2UpOgorICAgICAgICAqIGh0bWwvU2VhcmNoSW5wdXRUeXBlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRp
bWVyKToKKyAgICAgICAgKiBodG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OlZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik6CisgICAgICAg
IChXZWJDb3JlOjpWYWxpZGF0aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRleHRJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9y
ZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
ZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQpOgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNl
clNjaGVkdWxlcjo6Y29udGludWVOZXh0Q2h1bmtUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OnNjaGVkdWxlRm9yUmVzdW1lKToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6OnJlc3VtZSk6CisgICAgICAgICogaHRtbC9zaGFk
b3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250
cm9sUGFuZWxFbGVtZW50OjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29u
dHJvbFBhbmVsRWxlbWVudDo6bWFrZU9wYXF1ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xQYW5lbEVsZW1lbnQ6Om1ha2VUcmFuc3BhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50Ojp1cGRhdGVTaXplcyk6CisgICAg
ICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKiBodG1sL3RyYWNr
L1ZUVFJlZ2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWVFRSZWdpb246OnN0YXJ0VGltZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDaGFuZ2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXZh
bGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6ZGlzcGF0Y2gpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoVGFzazo6dGltZXJGaXJlZCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clJlcGxheUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkSW5zcGVjdG9yT2JqZWN0
Rm9yU2VnbWVudCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmRlbGl2ZXJTdWJzdGl0dXRlUmVzb3VyY2VzQWZ0
ZXJEZWxheSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjpzdGFydENoZWNrQ29tcGxldGVUaW1lcik6CisgICAgICAgICog
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjp1
cGRhdGVkSGFzUGVuZGluZ0V2ZW50KToKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzdGFydFRp
bWVyKToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAgICAgKiBs
b2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0xv
YWRlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVy
OjpuZXdDdWVzUGFyc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0xvYWRlcjo6Zmls
ZUZhaWxlZFRvUGFyc2UpOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUdyb3VwOjpz
Y2hlZHVsZVJlYWNoZWRNYXhBcHBDYWNoZVNpemVDYWxsYmFjayk6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhY2hlZFJlc291cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2spOgorICAgICAgICAqIGxv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6bG9hZERvbmUpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9N
ZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cHJ1bmVTb29u
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lbW9yeUNhY2hlOjpzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVy
dmFsKToKKyAgICAgICAgKiBsb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwOgorICAgICAgICAq
IHBhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVu
Y2VzOjpub3RpZnkpOgorICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlh
QUYuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUY6
OnNldEludGVyZXN0ZWRJbkNhcHRpb25QcmVmZXJlbmNlQ2hhbmdlcyk6CisgICAgICAgICogcGFn
ZS9ET01UaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRGb3J3YXJkVXNlckdlc3R1
cmUpOgorICAgICAgICAoV2ViQ29yZTo6dXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZCk6CisgICAg
ICAgIChXZWJDb3JlOjpET01UaW1lcjo6RE9NVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
VGltZXI6Omluc3RhbGwpOgorICAgICAgICAoV2ViQ29yZTo6RE9NVGltZXI6OnVwZGF0ZVRpbWVy
SW50ZXJ2YWxJZk5lY2Vzc2FyeSk6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjphbGlnbmVk
RmlyZVRpbWUpOgorICAgICAgICAqIHBhZ2UvRE9NVGltZXIuaDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBvc3RNZXNzYWdlKToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0VGltZW91dCk6CisgICAgICAgIChXZWJD
b3JlOjpET01XaW5kb3c6OnNldEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL0RldmljZUNvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQ29udHJvbGxlcjo6YWRkRGV2aWNl
RXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWF4aW11bUR1cmF0aW9uVHJhY2tlcjo6TWF4aW11bUR1cmF0aW9uVHJhY2tl
cik6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjp+TWF4aW11bUR1
cmF0aW9uVHJhY2tlcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyKToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6bW91c2VNb3ZlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSk6CisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hlZHVsZUluaXRpYWxDb25uZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpzY2hlZHVsZVJlY29ubmVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6cGFyc2VFdmVudFN0cmVhbUxpbmUpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50
TmVlZHNSZXBhaW50KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKToK
KyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0VGlt
ZXJUaHJvdHRsaW5nU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0VGltZXJBbGln
bm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6dXBk
YXRlRE9NVGltZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogcGFnZS9QYWdlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjpkb21UaW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VPdmVybGF5
OjpzdGFydEZhZGVBbmltYXRpb24pOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlNl
dHRpbmdzOjpzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OnNldE1pbmltdW1ET01UaW1lckludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6bWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJl
Zm9yZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp0aW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyk6CisgICAgICAgICogcGFnZS9T
dXNwZW5kYWJsZVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6
OlN1c3BlbmRhYmxlVGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6
c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3Rh
cnRPbmVTaG90KToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OnJlcGVhdElu
dGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudFJl
cGVhdEludGVydmFsKToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVwZWF0aW5nKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbE1T
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRG
aXJlSW50ZXJ2YWwpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1l
cjo6YXVnbWVudFJlcGVhdEludGVydmFsKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1doZWVs
RXZlbnRUZXN0VHJpZ2dlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OnNldFRlc3RDYWxsYmFja0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIpOgorICAgICAg
ICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRh
dGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lcik6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6c3RhcnRVcGRhdGVTdHlsZUlmTmVlZGVk
RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZSk6CisgICAgICAgICogcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKToKKyAgICAgICAg
KiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9t
YWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hhbmdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmludmFsaWRhdGVIaWdobGlnaHRz
T2ZUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJl
bWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24pOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQp
OgorICAgICAgICAqIHBhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW06CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5kaWNhdG9yKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Nyb2xs
UG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3Mv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdD
b29yZGluYXRvcklPUzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQpOgorICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RUYXNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9I
eXN0ZXJlc2lzQWN0aXZpdHkuaDoKKyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0
eTo6SHlzdGVyZXNpc0FjdGl2aXR5KToKKyAgICAgICAgKFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rp
dml0eTo6c3RvcCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxiYXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxh
eSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6YXV0b3Njcm9sbFRpbWVyRGVs
YXkpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpUaGVt
ZTo6Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpUaHJlYWRUaW1lcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzZXRTaGFyZWRUaW1lcik6CisgICAgICAgIChX
ZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnVwZGF0ZVNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlRocmVhZFRpbWVyczo6c2hhcmVkVGltZXJGaXJlZEludGVybmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVyYXRv
cigpKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6VGltZXJCYXNlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCk6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmNoZWNrQ29uc2lzdGVuY3kpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVjcmVhc2VLZXkpOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6
aGVhcERlbGV0ZU1pbik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBJbmNyZWFz
ZUtleSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBQb3ApOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6VGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJC
YXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1l
ci5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgIChXZWJDb3Jl
OjpUaW1lckJhc2U6OnJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFz
ZTo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmF1
Z21lbnRSZXBlYXRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmFsaWdu
ZWRGaXJlVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmlzQWN0aXZlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZmVycmFibGVPbmVTaG90VGltZXI6OkRlZmVycmFibGVPbmVTaG90
VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjptc1RvU2Vjb25kcyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNlY29uZHNUb01TKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWxNUyk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om1fbGFzdFdhcm5pbmdUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlZOb2RlVHJhY2tlcjo6cHJl
c3N1cmVXYXJuaW5nVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpWTm9kZVRyYWNrZXI6
Om5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCk6CisgICAgICAgICogcGxhdGZvcm0vVk5vZGVU
cmFja2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24u
Y3BwOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW06CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVyOjpzdGFydFNuYXBSdWJiZXJiYW5kVGltZXIp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6c2NoZWR1bGVTdGF0ZWxlc3NT
Y3JvbGxTbmFwKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Ny
b2xsU25hcFRpbWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250
cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dhbWVwYWQvbWFj
L0hJREdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpISURHYW1lcGFkUHJv
dmlkZXI6OmRldmljZUFkZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJ
bWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6aW50ZXJuYWxTdGFydEFuaW1hdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpmb250
Rm9yRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdlZCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JhdGNoQnVmZmVyOjpzY2hlZHVsZVNjcmF0Y2hCdWZmZXJQdXJnZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6
OnVwZGF0ZU9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25Hcm91cEFW
Rk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6
OnN1cHBvcnRzVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9MYXllclBvb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJQb29sOjpz
Y2hlZHVsZVBydW5lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6c2V0SXNJbldpbmRv
dyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxp
ZGF0aW9uKToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvVGlsZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9U
aWxlQ292ZXJhZ2VNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNvdmVyYWdlTWFwOjpz
ZXROZWVkc1VwZGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OnJldmFsaWRhdGVUaWxlcyk6CisgICAg
ICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6c3RhcnRlZE5ld0NvaG9ydCk6CisgICAgICAgIChXZWJD
b3JlOjpUaWxlR3JpZDo6c2NoZWR1bGVDb2hvcnRSZW1vdmFsKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpUaWxlR3JpZDo6Y29ob3J0UmVtb3ZhbFRpbWVyRmlyZWQpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmg6CisgICAgICAgIChXZWJDb3JlOjpUaWxl
R3JpZDo6VGlsZUNvaG9ydEluZm86OlRpbGVDb2hvcnRJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklPU3Vy
ZmFjZVBvb2w6Om1hcmtPbGRlclN1cmZhY2VzUHVyZ2VhYmxlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmg6CisgICAgICAgIChXZWJDb3JlOjpJT1N1cmZh
Y2VQb29sOjpDYWNoZWRTdXJmYWNlRGV0YWlsczo6cmVzZXRMYXN0VXNlVGltZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1lci5jcHA6CisgICAg
ICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0RG93bmxvYWRCdWZmZXJpbmcp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFZpZGVvUmVu
ZGVyUmVxdWVzdFNjaGVkdWxlcjo6cmVxdWVzdFJlbmRlcik6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OnNlZWspOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVV
cGRhdGVPbkNvbXBvc2l0b3JUaHJlYWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24pOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdl
QmFja2luZy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvckd0
azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1h
dG9yR3RrOjpoaWRlT3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9M
ZWdhY3lUaWxlQ2FjaGUubW06CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lUaWxlQ2FjaGU6OmZp
bmlzaGVkQ3JlYXRpbmdUaWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lUaWxlQ2FjaGU6
OnNldFNwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxlZCk6CisgICAgICAgICogcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Njcm9sbGJh
clRoZW1lSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVt
ZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKFdlYlZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpzaG91bGRFeGl0RnVsbHNjcmVlbldpdGhSZWFzb24pOgorICAg
ICAgICAqIHBsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNv
b24pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lTWFjOjpwcmVmZXJlbmNlc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkpOgor
ICAgICAgICAqIHBsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjpzZXRNb3Rpb24pOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazo6c2V0T3JpZW50YXRpb24p
OgorICAgICAgICAqIHBsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVQZXJtaXNz
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRh
dGVDb250cm9sbGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJn
ZXRQaWNrZXJNb2NrLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBv
aW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50OjpkaXNwYXRjaEZh
a2VJY2VDYW5kaWRhdGVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBvaW50Ojpp
Y2VDYW5kaWRhdGVUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYUVuZHBv
aW50OjpzdGVwSWNlVHJhbnNwb3J0U3RhdGVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVRpbWVyRmlyZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFtZVJhdGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2s6OnNwZWFrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbWVyRXZlbnQ6OlRpbWVyRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVR
dWV1ZTo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkROU1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJl
ZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRhVVJMRGVjb2Rlcjo6RGVjb2RpbmdSZXN1bHREaXNwYXRjaGVyOjpz
dGFydFRpbWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VIYW5kbGU6OnNldERlZmVyc0xvYWRpbmcpOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpkeW5hbWljU3RvcmVDYWxsYmFjayk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2VuZFBlbmRpbmdSZXF1ZXN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aW5zdGFsbCk6CisgICAgICAgICogcmVuZGVy
aW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VR
dWFsaXR5Q29udHJvbGxlcjo6cmVzdGFydFRpbWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29t
cG9zaXRvcjo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTWFycXVlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJxdWVl
OjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVl
U3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRjaFJlZ2lvbk92
ZXJzZXRDaGFuZ2VFdmVudElmTmVlZGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJv
Z3Jlc3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRp
bWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1h
dGlvblN0YXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
ZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmNhcmV0QmxpbmtJbnRlcnZhbCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6bWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRpYUNvbnRyb2xzRmFkZU91
dER1cmF0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlSZXBhaW50KToKKyAgICAgICAgKiBy
ZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FwdHVy
aW5nSW5wdXRDdXJzb3I6OnN0b3JlSW5wdXQpOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0U29vbik6CisgICAgICAgIChXZWJD
b3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXQpOgorICAgICAgICAq
IHJlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaDoKKyAgICAgICAgKiByZXBsYXkvUmVw
bGF5U2Vzc2lvblNlZ21lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNl
Z21lbnQ6OlJlcGxheVNlc3Npb25TZWdtZW50KToKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5U2Vz
c2lvblNlZ21lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheVNlc3Npb25TZWdtZW50Ojp0
aW1lc3RhbXApOgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5U2Vzc2lvblNlZ21lbnQ6OmV2ZW50
TG9vcFRpbWluZ3MpOgorICAgICAgICAqIHJlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oOgor
ICAgICAgICAqIHN0eWxlL1N0eWxlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6
OlNjb3BlOjpzY2hlZHVsZVVwZGF0ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGVB
c3luY2hyb25vdXNseSk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcik6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1lckludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9y
ZUhpZGluZ0NvbnRyb2xzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckdsb2JhbFNjb3BlOjpzZXRUaW1lb3V0KToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlckdsb2JhbFNjb3BlOjpzZXRJbnRlcnZhbCk6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZXRUaW1lb3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpwcmVwYXJlVG9TZW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjcmVhdGVSZXF1ZXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpkaWRGYWlsKToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0
dHBSZXF1ZXN0OjpyZXN1bWUpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5oOgorICAg
ICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6ZGlzcGF0
Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpyZXN1bWUpOgorICAgICAgICAqIHhtbC9YTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oOgorCiAyMDE2LTEyLTAyICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJvdmUgdGhlIGJlaGF2
aW9yIG9mIHNjcm9sbC1pbnRvLXZpZXcgd2hlbiB0aGUgdGFyZ2V0IGlzIGluc2lkZSBwb3NpdGlv
bjpmaXhlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCA2NjJjYTI0MTk1YWM0YjQ2MzFjMTczMjNhZTQxZWFmZjJjM2Fh
OTRjLi4zNmRiNGNkNWNlZDk2NTk3MzEzNDVmZWE5ZmE3OGM2OTMyN2JkMDRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIzIEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywg
bm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKToKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKToKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UpOgorICAgICAg
ICAoV2ViS2l0OjpTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBT
dG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNr
ZXI6OlN0b3JhZ2VUcmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6
CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFi
YXNlSWRsZUludGVydmFsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxv
YWRTY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hl
ZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKToKKwogMjAxNi0xMi0wMiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdW1dLMV0gSW1wbGVtZW50IG5ldyBIVE1M
IGludGVyYWN0aXZlIGZvcm0gdmFsaWRhdGlvbiB1c2VyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IGVjMTU5MmNmYjA2NWNjNzk4NTI2ODMzZmJjYmZhMWIwMDVjZmU5MzIuLjllOTg2NWUx
ZjU2OWJjY2NlMmM3NDYyNDZkZTNmM2E2ZDY0MzI4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHkubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6
cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHk6OmxvYWRSZXF1ZXN0KToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luU3RyZWFtLm1tOgorICAgICAgICAoV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJE
YXRhKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAg
ICAgKFBsdWdpblRpbWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFu
YWdlci5tbToKKyAgICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNl
SWRsZUludGVydmFsOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KCtbV2ViVmlldyBfc2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxNi0xMi0wMiAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHRoZSBiZWhhdmlv
ciBvZiBzY3JvbGwtaW50by12aWV3IHdoZW4gdGhlIHRhcmdldCBpcyBpbnNpZGUgcG9zaXRpb246
Zml4ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2
ZTFkN2FiZTJlLi5hYzk5Y2ZkYzZmYTQwYjJlNWJlNjRmOTdiODk3NDNmN2FhZjVmNTUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ug
b25seSBTZWNvbmRzLCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5jcHA6CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2lu
LmNwcDoKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5z
L1BsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2
ZXJEYXRhKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGx1Z2luVmlldzo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6c2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZp
ZXc6OnNldEphdmFTY3JpcHRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
a2VlcEFsaXZlKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVn
aW5WaWV3OjppbnZhbGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6
CisgICAgICAgIChXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYlZpZXc6OmNs
b3NlV2luZG93U29vbik6CisgICAgICAgIChXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZh
bCk6CisKIDIwMTYtMTEtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CiAKICAgICAgICAgW1dURl0gSW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVu
dGF0aW9uIGFzIFdURjo6T3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0YWYyMmQ2YjI5ZmM0NTkwZGI2
OWMyZDE4NmVlMmY2YzZiMTVmNzQ3Li5mNGI2NzkyYzQ1OWIyZThhNzk0ZWUwMWVlYWQ1MWFmNTYx
YWQxNDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTY3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMg
dG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtEYXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFz
azo6c2NoZWR1bGVGYWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9h
ZC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29y
a1Nlc3Npb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2Fk
KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3Bw
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9w
ZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUp
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAg
ICAgKiBQbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1
bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVu
dENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPFNlY29uZHM+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjpkZWNvZGUpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0v
SVBDL21hYy9Db25uZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWlu
YXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAg
ICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29u
KToKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAg
IChXZWJLaXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAg
ICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQ
bHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hh
cmVkL0NhY2hlTW9kZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNo
YXJlZC9DaGlsZFByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRU
ZXJtaW5hdGlvblRpbWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6
ZW5jb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNU
aW1lPjo6ZGVjb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNv
bmRzPjo6ZW5jb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNv
bmRzPjo6ZGVjb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmg6CisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJN
ZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVt
b3J5U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlT
YW1wbGVyLmg6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgor
ICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToK
KyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5o
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246
Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06Cisg
ICAgICAgIChBUEk6OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVs
ZVVwZGF0ZURpc3BsYXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXdCYXNlLmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rp
dml0eVN0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2Vi
S2l0OjpOYXZpZ2F0aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRj
aGRvZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1By
b2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAg
ICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToK
KyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpz
dG9wKToKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25p
dG9yOjpkaWREcmF3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3Bv
bnNpdmVuZXNzVGltZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3Jl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtI
YXNoKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAo
V2ViS2l0OjptX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1
dG9JbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xp
ZW50RWZsLmNwcDoKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENo
ZWNraW5nTGFuZ3VhZ2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29u
dGludW91c1NwZWxsQ2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVy
ZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1
cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UG9wdXBNZW51UHJveHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1C
dWZmZXJpbmdUaW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVk
dWxlSW50ZXJuYWxseUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRp
bWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UGx1Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJLaXQ6OlBsdWdpblZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nTW9kZVNvb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpD
b21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29v
cmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRy
YXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmFkZFBsdWdpblZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFy
dE1lZGlhV2hlbkluV2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNo
TG9hZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbik6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBh
Z2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1
c2hJbW1lZGlhdGVseSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAg
KFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRD
aGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbjoKKwogMjAxNi0xMi0wMiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhh
bGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBhIFdlYlZpZXcgcHJpdmF0ZSBj
b25maWd1cmF0aW9uIGZvciBjaGFuZ2luZyB0aGUgV2ViQ29udGVudCB1cGRhdGUgZnJlcXVlbmN5
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JIZWFwQWdlbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcAppbmRleCA3ZTZlYjUwYWM0YjA2NDVjYzliZDk5ZTYx
YWI0MDM4MTYxNmIxNWM5Li5hMzhkM2UyMTUxOTE4ZTExYzk1NzUzZTE5OTExNzJhNDQzNTk4MDQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNw
ZWN0b3JIZWFwQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBTZW5k
R2FyYmFnZUNvbGxlY3Rpb25FdmVudHNUYXNrOjphZGRHYXJiYWdlQ29sbGVjdGlvbihHYXJiYWdl
Q29sbGVjdGlvbkRhdGEKICAgICB9CiAKICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2VuZEdhcmJhZ2VDb2xsZWN0aW9uRXZlbnRzVGFzazo6cmVz
ZXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oIGIvU291cmNlL1dURi93
dGYvUnVuTG9vcC5oCmluZGV4IDU1NWQ0NDczMWNmMzA4YmNiZDllZWJkZmJlNjViMjFmZGFhNThl
ZGUuLjYzZDBjNzk5OTFlZDkyZDY4OGU1Yjk4YjUxY2JmYzQ3NDdjMzgzNjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgK
QEAgLTg4LDEwICs4OCw4IEBAIHB1YmxpYzoKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGV4
cGxpY2l0IFRpbWVyQmFzZShSdW5Mb29wJik7CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2
aXJ0dWFsIH5UaW1lckJhc2UoKTsKIAotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJs
ZSByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1ZSk7IH0KLSAgICAg
ICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdElu
dGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsLmNvdW50KCkgKiAwLjAwMSk7
IH0KLSAgICAgICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLCBmYWxzZSk7IH0KLSAgICAgICAgdm9pZCBzdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbC5jb3VudCgpICogMC4wMDEs
IGZhbHNlKTsgfQorICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHRydWUpOyB9CisgICAgICAgIHZvaWQgc3Rh
cnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQog
CiAgICAgICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0b3AoKTsKICAgICAgICAgV1RGX0VY
UE9SVF9QUklWQVRFIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKQEAgLTEwMyw3ICsxMDEsNyBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIFdURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CisgICAg
ICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZh
bCwgYm9vbCByZXBlYXQpOwogCiAgICAgICAgIFJ1bkxvb3AmIG1fcnVuTG9vcDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5M
b29wVGltZXIuaAppbmRleCAzNzgwZTc2YzAzMTMxMDRhZWM3ZmQ3OTczMjNlYjQxMDRmODNlNTk3
Li42YzRmZDZlYzFhODA1YzQxMzQwNjBmNDdlNzY0NjQ4ZDQ3YWQ3OGFmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29w
VGltZXIuaApAQCAtNDUsMTAgKzQ1LDEwIEBAIHB1YmxpYzoKICAgICBXVEZfRVhQT1JUX1BSSVZB
VEUgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVsZVBhaXIqKTsKICAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVsZVBhaXJIYXNoU2V0Jik7CiAKLSAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91
YmxlIHJlcGVhdEludGVydmFsKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0gICAg
dm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0
SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJs
ZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMCk7IH0KKyAgICB2b2lkIHN0YXJ0UmVwZWF0
aW5nKFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVh
dEludGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRPbmVTaG90KFNlY29uZHMgaW50ZXJ2YWwpIHsg
c3RhcnQoaW50ZXJ2YWwsIDBfcyk7IH0KIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0
b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5j
cHAKaW5kZXggZWE2NWNiYjUzMmUyM2JhN2JmOTU3M2MzMWI3Y2FiYjNiODlhOThjYi4uMDg1Y2Jh
NjNjY2Q0NmVlMGVhZGZlMTk3OWM4ODUyMGVmZTViZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1l
ckNGLmNwcApAQCAtNTIsMTIgKzUyLDEyIEBAIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQoQ0ZSdW5M
b29wVGltZXJSZWYsIHZvaWQqIGNvbnRleHQpCiAgICAgdGltZXItPmZpcmVkKCk7CiB9CiAKLXZv
aWQgUnVuTG9vcFRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJs
ZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgUnVuTG9vcFRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBu
ZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmIChtX3Rp
bWVyKQogICAgICAgICBDRlJ1bkxvb3BUaW1lckludmFsaWRhdGUobV90aW1lci5nZXQoKSk7CiAg
ICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQgPSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsK
LSAgICBtX3RpbWVyID0gYWRvcHRDRihDRlJ1bkxvb3BUaW1lckNyZWF0ZSgwLCBDRkFic29sdXRl
VGltZUdldEN1cnJlbnQoKSArIG5leHRGaXJlSW50ZXJ2YWwsIHJlcGVhdEludGVydmFsLCAwLCAw
LCB0aW1lckZpcmVkLCAmY29udGV4dCkpOworICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9v
cFRpbWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRl
cnZhbC52YWx1ZSgpLCByZXBlYXRJbnRlcnZhbC52YWx1ZSgpLCAwLCAwLCB0aW1lckZpcmVkLCAm
Y29udGV4dCkpOwogfQogCiB2b2lkIFJ1bkxvb3BUaW1lckJhc2U6OnNjaGVkdWxlKGNvbnN0IFNj
aGVkdWxlUGFpciogc2NoZWR1bGVQYWlyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NmL1J1bkxvb3BDRi5jcHAKaW5kZXggN2U4
NDBkZDUyZGY4Y2Y2MDRhZjE4YTk4NmRlOTIzZTg3MjkyNDQ2Mi4uOTZlNzhkYjM2NTEwMzBjMzI1
NDMxMzEwZmZhYmY5NWU1ZjU0OThmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY2YvUnVu
TG9vcENGLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCkBAIC0xMDEs
MTQgKzEwMSwxNCBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0b3Ao
KTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUlu
dGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChTZWNv
bmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIGlmIChtX3RpbWVyKQog
ICAgICAgICBzdG9wKCk7CiAgICAgCiAgICAgQ0ZSdW5Mb29wVGltZXJDb250ZXh0IGNvbnRleHQg
PSB7IDAsIHRoaXMsIDAsIDAsIDAgfTsKLSAgICBDRlRpbWVJbnRlcnZhbCByZXBlYXRJbnRlcnZh
bCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwgOiAwOwotICAgIG1fdGltZXIgPSBhZG9wdENG
KENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1dGVUaW1l
R2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRp
bWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgQ0ZUaW1lSW50ZXJ2YWwgcmVwZWF0SW50ZXJ2YWwg
PSByZXBlYXQgPyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCkgOiAwOworICAgIG1fdGltZXIgPSBh
ZG9wdENGKENGUnVuTG9vcFRpbWVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIENGQWJzb2x1
dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZXBlYXRJbnRl
cnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKICAgICBDRlJ1bkxvb3BBZGRUaW1l
cihtX3J1bkxvb3AubV9ydW5Mb29wLmdldCgpLCBtX3RpbWVyLmdldCgpLCBrQ0ZSdW5Mb29wQ29t
bW9uTW9kZXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVm
bC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKaW5kZXggNWRmYzI5MDNl
OGI0ZDEwNzQzYjUyOWY0YzBjNzRjNjc1MGRhZTU5Ni4uNjBmYzJiMjkwMTk3ZDllOWZkYWE5MGI5
ZTI2NWFiMGI1YmZiMjU5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZWZsL1J1bkxvb3BF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcApAQCAtMTA1LDE0
ICsxMDUsMTQgQEAgYm9vbCBSdW5Mb29wOjpUaW1lckJhc2U6OnRpbWVyRmlyZWQodm9pZCogZGF0
YSkKICAgICByZXR1cm4gdGltZXItPm1faXNSZXBlYXRpbmcgPyBFQ09SRV9DQUxMQkFDS19SRU5F
VyA6IEVDT1JFX0NBTExCQUNLX0NBTkNFTDsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6
OnN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9v
cDo6VGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0
KQogewogICAgIGlmIChpc0FjdGl2ZSgpKQogICAgICAgICBzdG9wKCk7CiAKICAgICBtX2lzUmVw
ZWF0aW5nID0gcmVwZWF0OwogICAgIEFTU0VSVCghbV90aW1lcik7Ci0gICAgbV90aW1lciA9IGVj
b3JlX3RpbWVyX2FkZChuZXh0RmlyZUludGVydmFsLCByZWludGVycHJldF9jYXN0PEVjb3JlX1Rh
c2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKKyAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRk
KG5leHRGaXJlSW50ZXJ2YWwudmFsdWUoKSwgcmVpbnRlcnByZXRfY2FzdDxFY29yZV9UYXNrX0Ni
Pih0aW1lckZpcmVkKSwgdGhpcyk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9w
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3Bw
IGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAKaW5kZXggOWEzYzA5
YTg1MTA3MTMwMmUxMmE1ZTk0MTY3ZWM3YjVmZGEyNjYzOC4uZmQyNzVjNTMwMDI2M2ViOTg5NWFh
YTYyNzQzZTJiNWQ0Njc3MGVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvZ2VuZXJpYy9S
dW5Mb29wR2VuZXJpYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZ2VuZXJpYy9SdW5Mb29wR2Vu
ZXJpYy5jcHAKQEAgLTI2MywxMiArMjYzLDEyIEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6flRpbWVy
QmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQo
ZG91YmxlIGludGVydmFsLCBib29sIHJlcGVhdGluZykKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNl
OjpzdGFydChTZWNvbmRzIGludGVydmFsLCBib29sIHJlcGVhdGluZykKIHsKICAgICBzdG9wKCk7
CiAgICAgbV9zY2hlZHVsZWRUYXNrID0gU2NoZWR1bGVkVGFzazo6Y3JlYXRlKFt0aGlzXSB7CiAg
ICAgICAgIGZpcmVkKCk7Ci0gICAgfSwgU2Vjb25kcyhpbnRlcnZhbCksIHJlcGVhdGluZyk7Cisg
ICAgfSwgaW50ZXJ2YWwsIHJlcGVhdGluZyk7CiAgICAgbV9ydW5Mb29wLnNjaGVkdWxlQW5kV2Fr
ZVVwKG1fc2NoZWR1bGVkVGFzayk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2ds
aWIvUnVuTG9vcEdMaWIuY3BwIGIvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAK
aW5kZXggOTI3Y2UzMjU0ZjhiNTYyNzhiYTZiN2ZmMDIxYzBkZjBhYTVmMzIxNi4uZDYwNWM1MmI4
YzdjYzQwZTBlNGE3NTk3MzRkNDY4NzgxMzYzM2EzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29w
R0xpYi5jcHAKQEAgLTE5MCw5ICsxOTAsOSBAQCB2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6dXBk
YXRlUmVhZHlUaW1lKCkKICAgICBnX3NvdXJjZV9zZXRfcmVhZHlfdGltZShtX3NvdXJjZS5nZXQo
KSwgdGFyZ2V0VGltZSk7CiB9CiAKLXZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3Vi
bGUgZmlyZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpz
dGFydChTZWNvbmRzIGZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7Ci0gICAgYXV0byBpbnRl
cnZhbER1cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJsZT4oZmlyZUludGVydmFs
KTsKKyAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91
YmxlPihmaXJlSW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgYXV0byBzYWZlRHVyYXRpb24gPSBzdGQ6
OmNocm9ubzo6bWljcm9zZWNvbmRzOjptYXgoKTsKICAgICBpZiAoaW50ZXJ2YWxEdXJhdGlvbiA8
IHNhZmVEdXJhdGlvbikKICAgICAgICAgc2FmZUR1cmF0aW9uID0gc3RkOjpjaHJvbm86OmR1cmF0
aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pY3Jvc2Vjb25kcz4oaW50ZXJ2YWxEdXJhdGlvbik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi93aW4vUnVuTG9vcFdpbi5jcHAKaW5kZXggNGI0NWFkNDU4OWY3OGQ1YzNjYTBiZWVmOGNl
MWYxNDhiZWVjMDAxNy4uZWEwMjFmN2RiNGNhMmEyOGIxOWRmMzRlMzU5ZTEyMTc2ZTRjYjcxZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcApAQCAtMTUxLDExICsxNTEsMTEgQEAgUnVuTG9v
cDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVuTG9v
cDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQp
Cit2b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFs
LCBib29sIHJlcGVhdCkKIHsKICAgICBtX2lzUmVwZWF0aW5nID0gcmVwZWF0OwogICAgIG1fcnVu
TG9vcC5tX2FjdGl2ZVRpbWVycy5zZXQobV9JRCwgdGhpcyk7Ci0gICAgOjpTZXRUaW1lcihtX3J1
bkxvb3AubV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbCAqIDEw
MDAsIDApOworICAgIDo6U2V0VGltZXIobV9ydW5Mb29wLm1fcnVuTG9vcE1lc3NhZ2VXaW5kb3cs
IG1fSUQsIG5leHRGaXJlSW50ZXJ2YWwubWlsbGlzZWNvbmRzKCksIDApOwogfQogCiB2b2lkIFJ1
bkxvb3A6OlRpbWVyQmFzZTo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlT
ZXNzaW9uLmNwcAppbmRleCAwZmFmMjEyMDJhMTMwYjkyZTVkMTI3MDIzNjJjNDQ3YmQ4ZTcyM2Rh
Li42MGE5Nzc4ZmE2Njk3YWY1YjFjMTVhNzQyN2M4MmNjNzExMmQ2Zjg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgY29uc3Qg
U3RyaW5nJiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCgpIGNvbnN0CiB2b2lkIFdl
YktpdE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUsIFJlZjxVaW50OEFycmF5PiYmIGluaXREYXRhKQogewogICAgIG1fcGVuZGluZ0tleVJl
cXVlc3RzLmFwcGVuZCh7IG1pbWVUeXBlLCBXVEZNb3ZlKGluaXREYXRhKSB9KTsKLSAgICBtX2tl
eVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9rZXlSZXF1ZXN0VGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjprZXlSZXF1
ZXN0VGltZXJGaXJlZCgpCkBAIC0xNDIsNyArMTQyLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gV2Vi
S2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUoUmVmPFVpbnQ4QXJyYXk+JiYga2V5KQogCiAgICAg
Ly8gMi4gU2NoZWR1bGUgYSB0YXNrIHRvIGhhbmRsZSB0aGUgY2FsbCwgcHJvdmlkaW5nIGtleS4K
ICAgICBtX3BlbmRpbmdLZXlzLmFwcGVuZChXVEZNb3ZlKGtleSkpOwotICAgIG1fYWRkS2V5VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYWRkS2V5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICByZXR1cm4geyB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9Ob3RpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dl
b2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcAppbmRleCBjZWM5N2NjOTAyZTQ1MDY4OTdmZWZiZDNl
YWUyZjk3OTA3YWFjYzE2Li41ODZjNTk2ODYxZGFiNzBkZGMyYjY4NjFjMmM3MTY4MTc1OWEzNmIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlm
aWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlm
aWVyLmNwcApAQCAtNTksMTMgKzU5LDEzIEBAIHZvaWQgR2VvTm90aWZpZXI6OnNldEZhdGFsRXJy
b3IoUmVmUHRyPFBvc2l0aW9uRXJyb3I+JiYgZXJyb3IpCiAgICAgbV9mYXRhbEVycm9yID0gV1RG
TW92ZShlcnJvcik7CiAgICAgLy8gQW4gZXhpc3RpbmcgdGltZXIgbWF5IG5vdCBoYXZlIGEgemVy
byB0aW1lb3V0LgogICAgIG1fdGltZXIuc3RvcCgpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvTm90aWZp
ZXI6OnNldFVzZUNhY2hlZFBvc2l0aW9uKCkKIHsKICAgICBtX3VzZUNhY2hlZFBvc2l0aW9uID0g
dHJ1ZTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiBib29sIEdlb05vdGlmaWVyOjpoYXNaZXJvVGltZW91dCgpIGNvbnN0
CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgR2VvTm90aWZpZXI6OnJ1bkVycm9yQ2FsbGJhY2soUG9z
aXRpb25FcnJvciogZXJyb3IpCiB2b2lkIEdlb05vdGlmaWVyOjpzdGFydFRpbWVySWZOZWVkZWQo
KQogewogICAgIGlmIChtX29wdGlvbnMtPmhhc1RpbWVvdXQoKSkKLSAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QobV9vcHRpb25zLT50aW1lb3V0KCkgLyAxMDAwLjApOworICAgICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fb3B0aW9ucy0+dGlt
ZW91dCgpKSk7CiB9CiAKIHZvaWQgR2VvTm90aWZpZXI6OnN0b3BUaW1lcigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCmluZGV4IDg1
YWU0MGY2MzQxNzUzMjcxNjcyZjNhMzc3ZmU5OTNkZjRhMzE4YzAuLmMwOWMzNzliMDI5NjQzZGE5
MGNkOGM1NjQ3NDNhNzE1NTA2ZjBmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xOTgsNyArMTk4LDcgQEAgdm9pZCBH
ZW9sb2NhdGlvbjo6cmVzdW1lKCkKICAgICBBY3RpdmVET01PYmplY3Q6OnJlc3VtZSgpOwogCiAg
ICAgaWYgKCFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAppbmRleCAw
NWRhMDJmYjI5MDcyYzVjNTBkYzZiYmQ1MWZhMGI3ZWM5NjU5NGQ1Li5jYjgxYjg5NDhiZDBiYTBh
MjVhNzE2MDczMWQ1ZGViNGM0ZmEzZWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0zOTAsNyArMzkwLDcgQEAgdm9p
ZCBJREJUcmFuc2FjdGlvbjo6c2NoZWR1bGVQZW5kaW5nT3BlcmF0aW9uVGltZXIoKQogICAgIEFT
U0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAK
ICAgICBpZiAoIW1fcGVuZGluZ09wZXJhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1f
cGVuZGluZ09wZXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5n
T3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rp
b246OnBlbmRpbmdPcGVyYXRpb25UaW1lckZpcmVkKCkKQEAgLTQ0Miw3ICs0NDIsNyBAQCB2b2lk
IElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZUNvbXBsZXRlZE9wZXJhdGlvblRpbWVyKCkKICAgICBB
U1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZElEKCkpOwog
CiAgICAgaWYgKCFtX2NvbXBsZXRlZE9wZXJhdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Nv
bXBsZXRlZE9wZXJhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIElEQlRy
YW5zYWN0aW9uOjpjb21wbGV0ZWRPcGVyYXRpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwCmluZGV4IDk5MTAxNTdjMmQ4YjlhOGE5YjU5NmUyNDdiNWJjMGM1Y2E3YzBmZDUu
LmZiZGExYWQxMDJhODA1MTdhNWI5ZjJiNGQ3MTVkYzliODhlMDA4ZGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlE
QkRhdGFiYXNlLmNwcApAQCAtMTQ5NCw3ICsxNDk0LDcgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFz
ZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcigpCiAgICAgQVNTRVJUKCFtX2hh
cmRDbG9zZWRGb3JVc2VyRGVsZXRlKTsKIAogICAgIGlmICghbV9vcGVyYXRpb25BbmRUcmFuc2Fj
dGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25U
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fb3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25U
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6b3Bl
cmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5j
cHAKaW5kZXggN2EzMzY5ZjEwZTUzMGU0ZGM4N2U3MTdkNTY3NWY3MDkxMTNiODBlOS4uYzk3YTQ0
NGQ5ZTliYTAwOGJiZDRkNjJiNmZiMWFhNDk3ZmRjNDc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0
aWMgY29uc3QgZG91YmxlIHRhc2tEZWxheUludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIHRhc2tEZWxheUludGVydmFsID0gMC4xX3M7CiAKIHN0cnVjdCBDbGllbnRT
dGF0ZSB7CiAgICAgZXhwbGljaXQgQ2xpZW50U3RhdGUoV2ViTWVkaWFTZXNzaW9uTWFuYWdlckNs
aWVudCYgY2xpZW50LCB1aW50NjRfdCBjb250ZXh0SWQpCkBAIC00MjMsOCArNDIzLDggQEAgc2l6
ZV90IFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmZpbmQoV2ViTWVkaWFTZXNzaW9uTWFuYWdlckNs
aWVudCogY2xpZW50LCB1aW50NjQKIAogdm9pZCBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25m
aWd1cmVXYXRjaGRvZ1RpbWVyKCkKIHsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9n
VGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IDYwICogNjA7Ci0gICAgc3RhdGljIGNvbnN0IGRv
dWJsZSB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA9IDggKiA2MDsKKyAg
ICBzdGF0aWMgY29uc3QgU2Vjb25kcyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBhdXNpbmcg
PSBTZWNvbmRzKDYwICogNjApOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGxheWluZ1RvRW5kID0gU2Vjb25kcyg4ICogNjApOwogCiAgICAgaWYg
KCFtX3BsYXliYWNrVGFyZ2V0IHx8ICFtX3BsYXliYWNrVGFyZ2V0LT5oYXNBY3RpdmVSb3V0ZSgp
KSB7CiAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CkBAIC00NDIsMTQgKzQ0MiwxNCBA
QCB2b2lkIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQog
ICAgIH0KIAogICAgIGlmIChzdG9wVGltZXIpIHsKLSAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCA9IDA7CisgICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgPSAwX3M7CiAg
ICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdG9wKCk7CiAgICAgICAgIExPRyhNZWRpYSwgIldlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzdG9wcGVk
Iik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91YmxlIGludGVydmFsID0gZGlkUGxheVRvRW5k
ID8gd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgOiB3YXRjaGRvZ1RpbWVy
SW50ZXJ2YWxBZnRlclBhdXNpbmc7CisgICAgICAgIGF1dG8gaW50ZXJ2YWwgPSBkaWRQbGF5VG9F
bmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlpbmdUb0VuZCA6IHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKICAgICAgICAgaWYgKGludGVydmFsICE9IG1fY3VycmVu
dFdhdGNoZG9nSW50ZXJ2YWwgfHwgIW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAg
ICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKLSAgICAgICAg
ICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9n
VGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuMGYiLCBpbnRlcnZhbCk7CisgICAgICAgICAg
ICBMT0coTWVkaWEsICJXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1Rp
bWVyIC0gdGltZXIgc2NoZWR1bGVkIGZvciAlLjNmcyIsIGludGVydmFsLnZhbHVlKCkpOwogICAg
ICAgICB9CiAgICAgICAgIG1fY3VycmVudFdhdGNoZG9nSW50ZXJ2YWwgPSBpbnRlcnZhbDsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJN
ZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNTdkNThlZjkxNGNiMjNmMTk0MDFjY2Nm
ZWMzOGVjZTM4ZWFlYTYwOS4uMjk1MDllMjhjNGFmYTU0YzZkNDZhMTNhZDNjMWYxMWIxNmMxYTM2
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVk
aWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNz
aW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTAyLDcgKzEwMiw3IEBAIHByaXZhdGU6
CiAgICAgUmVmUHRyPE1lZGlhUGxheWJhY2tUYXJnZXQ+IG1fcGxheWJhY2tUYXJnZXQ7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrPiBt
X3BpY2tlck92ZXJyaWRlOwogICAgIENvbmZpZ3VyYXRpb25UYXNrcyBtX3Rhc2tGbGFncyB7IE5v
VGFzayB9OwotICAgIGRvdWJsZSBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsIHsgMCB9OworICAg
IFNlY29uZHMgbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbDsKICAgICBib29sIG1fZXh0ZXJuYWxP
dXRwdXREZXZpY2VBdmFpbGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV90YXJnZXRDaGFuZ2Vk
IHsgZmFsc2UgfTsKICAgICBib29sIG1fbW9ja1BpY2tlckVuYWJsZWQgeyBmYWxzZSB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3Bw
CmluZGV4IGY1NTk4MTE4YTg4ZjI4MDAzMTVkOTQxNzMwYWFmYzIxZTA1NTI4NGIuLmQ2NGVjNjNl
MzUxNDgxNGZhYzM1MTMwZmMxMTM5MjcyNGE2MzYwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTM0OCw3ICszNDgs
NyBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmFuZ2VSZW1vdmFsKGNvbnN0IE1lZGlhVGltZSYgc3Rh
cnQsIGNvbnN0IE1lZGlhVGltZSYgZW5kKQogICAgIC8vIDUuIFJldHVybiBjb250cm9sIHRvIHRo
ZSBjYWxsZXIgYW5kIHJ1biB0aGUgcmVzdCBvZiB0aGUgc3RlcHMgYXN5bmNocm9ub3VzbHkuCiAg
ICAgbV9wZW5kaW5nUmVtb3ZlU3RhcnQgPSBzdGFydDsKICAgICBtX3BlbmRpbmdSZW1vdmVFbmQg
PSBlbmQ7Ci0gICAgbV9yZW1vdmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9yZW1vdmVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXI6OmFib3J0SWZV
cGRhdGluZygpCkBAIC01MzMsNyArNTMzLDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gU291cmNlQnVm
ZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLAogICAg
IHNjaGVkdWxlRXZlbnQoZXZlbnROYW1lcygpLnVwZGF0ZXN0YXJ0RXZlbnQpOwogCiAgICAgLy8g
Ni4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSBidWZmZXIgYXBwZW5kIGFsZ29yaXRobS4KLSAgICBt
X2FwcGVuZEJ1ZmZlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FwcGVuZEJ1ZmZlclRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLmNwcAppbmRleCAxZDUyYTQ4YTUzZGFlMjg4Yzg0NzE5ZmRjMWUxZWViZDQ3ZWU2ZTU3Li4x
ZjlmNzEwM2RlMmVjOWVmMTU5Njk4MjI4ZjI1MDMyMmU5OTg0MDY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcApAQCAtMzY0LDcg
KzM2NCw3IEBAIHZvaWQgTWVkaWFTdHJlYW06OnNjaGVkdWxlQWN0aXZlU3RhdGVDaGFuZ2UoKQog
ICAgIG1fc2NoZWR1bGVkQWN0aXZpdHlFdmVudHMuYXBwZW5kKEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lLCBmYWxzZSwgZmFsc2UpKTsKIAogICAgIGlmICghbV9hY3Rpdml0eUV2ZW50VGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9hY3Rpdml0eUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICBtX2FjdGl2aXR5RXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBNZWRpYVN0cmVhbTo6YWN0aXZpdHlFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKaW5kZXggNWRk
MmYxZTQxY2Y1MTIyOTZkNzRkMjBjMWJkN2M0OGJiMmIyMmQ3OS4uYTJiZWZjNTQ0NjNlYmY0MzUw
MWJiNjEzOGRkZWQ3NTMwZGI0NGE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0xMzIsNyArMTMyLDcgQEAgdm9p
ZCBSVENEVE1GU2VuZGVyOjpzY2hlZHVsZURpc3BhdGNoRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50
KQogICAgIG1fc2NoZWR1bGVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2ZW50KSk7CiAKICAgICBp
ZiAoIW1fc2NoZWR1bGVkRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NjaGVkdWxl
ZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUlRDRFRNRlNlbmRlcjo6c2NoZWR1bGVk
RXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAKaW5kZXggMDUxYzcwMTQ5YWUyZGExMmU2MDBhNDA1
MGYwOWMxZWM4YmZkNTc1Ni4uMmRiY2FmMWYyMWJmZDQ5ODgwMDcwYTNkODNkYjhhZWE4MmUyZWIy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRh
Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
YXRhQ2hhbm5lbC5jcHAKQEAgLTIzNyw3ICsyMzcsNyBAQCB2b2lkIFJUQ0RhdGFDaGFubmVsOjpz
Y2hlZHVsZURpc3BhdGNoRXZlbnQoUmVmPEV2ZW50PiYmIGV2ZW50KQogICAgIG1fc2NoZWR1bGVk
RXZlbnRzLmFwcGVuZChXVEZNb3ZlKGV2ZW50KSk7CiAKICAgICBpZiAoIW1fc2NoZWR1bGVkRXZl
bnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3NjaGVkdWxlZEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlZEV2ZW50VGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uY3BwCmluZGV4IDFlMDJjZTFjZjY3ZjZlNGQ5MTI4NzVhYmY4MGIyZGRkZTgzN2E3ZTcu
LmJiODcxOWQ4MmY1MjA4NmEwZTQzYjdkMGU4NDhiMTgyMjhkYWQ2NDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwCkBA
IC03NCw3ICs3NCw3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKERvY3VtZW50JiBkb2N1
bWVudCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKICAgICAvLyBGSVhNRTogU2VlbXMgdGhhdCBtX25v
dGlmaWNhdGlvbkNlbnRlciBjYW4gYmUgbnVsbCBzbyBzaG91bGQgbm90IGJlIGNoYW5nZWQgZnJv
bSBSZWZQdHIgdG8gUmVmLgogICAgIC8vIEJ1dCB0aGUgcmVzdCBvZiB0aGUgY29kZSBpbiB0aGlz
IGNsYXNzIGlzbid0IHRyeWluZyB0byBoYW5kbGUgdGhhdCBjYXNlLgogICAgIEFTU0VSVChtX25v
dGlmaWNhdGlvbkNlbnRlci0+Y2xpZW50KCkpOwotICAgIG1fdGFza1RpbWVyLT5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggYTkyOThmNzUyNWNlN2E4ODRhMDVhZTJlNDczZGUx
Y2FiMTBlYmZlMC4uOTI1ZWI5NmEzMWMzODhlNjY1ODdjOTljNTQ2ZGU4OTM3ZWY2NDY1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBOb3RpZmljYXRpb25D
ZW50ZXI6OnJlcXVlc3RQZXJtaXNzaW9uKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2sp
CiAgICAgY2FzZSBTZWN1cml0eU9yaWdpbjo6QWx3YXlzRGVueToKICAgICAgICAgaWYgKG1fY2Fs
bGJhY2tzLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgcmVmKCk7IC8vIEJhbGFuY2VkIGJ5IHRo
ZSBkZXJlZnMgaW4gTm90aWZpY2F0aW9uQ2VudGVyOjpzdG9wIGFuZCBOb3RpZmljYXRpb25DZW50
ZXI6OnRpbWVyRmlyZWQuCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIH0KICAgICAgICAg
bV9jYWxsYmFja3MuYXBwZW5kKFtjYWxsYmFja10oKSB7CiAgICAgICAgICAgICBpZiAoY2FsbGJh
Y2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApp
bmRleCA4NjA5MTQyMDljOGJiMzQyODA0MGFhMTRmYzlmY2QwM2QwZGQ1YzU5Li4zM2IwMjIwZTk0
N2Y4NDM3MDYyN2IxNjIxMWU2ZWMyNDkwOWVkMWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3ZpYnJhdGlvbi9WaWJyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgYm9vbCBWaWJy
YXRpb246OnZpYnJhdGUoY29uc3QgVmlicmF0aW9uUGF0dGVybiYgcGF0dGVybikKIAogICAgIG1f
cGF0dGVybiA9IHNhbml0aXplZDsKIAotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgbV9zdGF0ZSA9IFN0YXRlOjpXYWl0aW5n
OwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgVmlicmF0aW9u
Ojp0aW1lckZpcmVkKCkKICAgICAgICAgbV92aWJyYXRpb25DbGllbnQtPnZpYnJhdGUobV9wYXR0
ZXJuWzBdKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KG1fcGF0dGVyblswXSAvIDEwMDAuMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25k
czo6ZnJvbU1pbGxpc2Vjb25kcyhtX3BhdHRlcm5bMF0pKTsKICAgICBtX3BhdHRlcm4ucmVtb3Zl
KDApOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuY3BwCmluZGV4IGJlZDkzNjI2N2Q1Njg0ZmM3ODgxNzA5MWYxMWYwN2M0NWVhYjNiNzkuLjA4
ZTEyYTE2MDFjOGEyNGU2YWI2YzIyNDQ2MjdkMTBhZGM0ZjI5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC01MDMsNyArNTAzLDcg
QEAgdm9pZCBXZWJTb2NrZXQ6OnJlc3VtZSgpCiAgICAgICAgIG1fY2hhbm5lbC0+cmVzdW1lKCk7
CiAgICAgZWxzZSBpZiAoIW1fcGVuZGluZ0V2ZW50cy5pc0VtcHR5KCkgJiYgIW1fcmVzdW1lVGlt
ZXIuaXNBY3RpdmUoKSkgewogICAgICAgICAvLyBGaXJlIHRoZSBwZW5kaW5nIGV2ZW50cyBpbiBh
IHRpbWVyIGFzIHdlIGFyZSBub3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBmcm9t
IHJlc3VtZSgpLgotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBtX3Nob3Vs
ZERlbGF5RXZlbnRGaXJpbmcgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAppbmRleCA4MGRiYjRiYTBlZTNi
MmM0NzMzYzgxZDJlMWI4NTk3ZDhiYmU3OGM0Li42OGNjMmMwNmI1OGIzZWIyMjVkODAyZGNlZmY0
YzkyZjI5MTc3OWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCkBAIC02Miw3ICs2Miw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIFRDUE1heGltdW1TZWdtZW50TGlmZXRpbWUgPSAy
ICogNjAuMDsKK2NvbnN0IFNlY29uZHMgVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSA9IFNlY29u
ZHMoMiAqIDYwKTsKIAogV2ViU29ja2V0Q2hhbm5lbDo6V2ViU29ja2V0Q2hhbm5lbChEb2N1bWVu
dCYgZG9jdW1lbnQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQmIGNsaWVudCwgU29ja2V0UHJvdmlk
ZXImIHByb3ZpZGVyKQogICAgIDogbV9kb2N1bWVudCgmZG9jdW1lbnQpCkBAIC0yMDcsNyArMjA3
LDcgQEAgdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpjbG9zZShpbnQgY29kZSwgY29uc3QgU3RyaW5n
JiByZWFzb24pCiAgICAgUmVmPFdlYlNvY2tldENoYW5uZWw+IHByb3RlY3RlZFRoaXMoKnRoaXMp
OyAvLyBBbiBhdHRlbXB0IHRvIHNlbmQgY2xvc2luZyBoYW5kc2hha2UgbWF5IGZhaWwsIHdoaWNo
IHdpbGwgZ2V0IHRoZSBjaGFubmVsIGNsb3NlZCBhbmQgZGVyZWZlcmVuY2VkLgogICAgIHN0YXJ0
Q2xvc2luZ0hhbmRzaGFrZShjb2RlLCByZWFzb24pOwogICAgIGlmIChtX2Nsb3NpbmcgJiYgIW1f
Y2xvc2luZ1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY2xvc2luZ1RpbWVyLnN0YXJ0T25l
U2hvdCgyICogVENQTWF4aW11bVNlZ21lbnRMaWZldGltZSk7CisgICAgICAgIG1fY2xvc2luZ1Rp
bWVyLnN0YXJ0T25lU2hvdChUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1lICogMik7CiB9CiAKIHZv
aWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChjb25zdCBTdHJpbmcmIHJlYXNvbikKQEAgLTI2Niw3
ICsyNjYsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OnJlc3VtZSgpCiB7CiAgICAgbV9zdXNw
ZW5kZWQgPSBmYWxzZTsKICAgICBpZiAoKCFtX2J1ZmZlci5pc0VtcHR5KCkgfHwgbV9jbG9zZWQp
ICYmIG1fY2xpZW50ICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVz
dW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmRpZE9wZW5Tb2NrZXRTdHJl
YW0oU29ja2V0U3RyZWFtSGFuZGxlJiBoYW5kbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBkMWU4MjA1YTExNjEyZjBkYWY4NDEwYjhl
NjMxODk4YTFlMjZjMDc0Li4wZjRlMTFjNWZiNGIyYjExOTJkNjZlN2ViMWFmYjIzMWZlOTkxMjdk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAK
QEAgLTExMCw4ICsxMTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogCiAvLyBQb3N0IHZhbHVlIGNoYW5nZSBub3RpZmljYXRpb25zIGZvciBwYXNz
d29yZCBmaWVsZHMgb3IgZWxlbWVudHMgY29udGFpbmVkIGluIHBhc3N3b3JkIGZpZWxkcyBhdCBh
IDQwaHogaW50ZXJ2YWwgdG8gdGh3YXJ0IGFuYWx5c2lzIG9mIHR5cGluZyBjYWRlbmNlCi1zdGF0
aWMgZG91YmxlIEFjY2Vzc2liaWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50
ZXJ2YWwgPSAwLjAyNTsKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFu
Z2VkTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyMDsKK3N0YXRpYyBTZWNvbmRzIEFjY2Vzc2li
aWxpdHlQYXNzd29yZFZhbHVlQ2hhbmdlTm90aWZpY2F0aW9uSW50ZXJ2YWwgPSAwLjAyNV9zOwor
c3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eUxpdmVSZWdpb25DaGFuZ2VkTm90aWZpY2F0aW9u
SW50ZXJ2YWwgPSAwLjAyX3M7CiAKIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQVhDb21w
dXRlZE9iamVjdEF0dHJpYnV0ZUNhY2hlOjpnZXRJZ25vcmVkKEFYSUQgaWQpIGNvbnN0CiB7CkBA
IC05OTMsNyArOTkzLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0Tm90aWZpY2F0aW9uKEFj
Y2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCwgRG9jdW1lbnQqIGRvY3UKICAgICBpZiAocG9zdFR5
cGUgPT0gUG9zdEFzeW5jaHJvbm91c2x5KSB7CiAgICAgICAgIG1fbm90aWZpY2F0aW9uc1RvUG9z
dC5hcHBlbmQoc3RkOjptYWtlX3BhaXIob2JqZWN0LCBub3RpZmljYXRpb24pKTsKICAgICAgICAg
aWYgKCFtX25vdGlmaWNhdGlvblBvc3RUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV9u
b3RpZmljYXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9ub3Rp
ZmljYXRpb25Qb3N0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNlCiAgICAgICAg
IHBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbihvYmplY3QsIG5vdGlmaWNhdGlvbik7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcAppbmRleCBiZmYzYjBjYWVl
ZjhkNGIwZDM2MWMyY2M0YjI0OWZmMDgzNTgyZTI1Li5lNmU2NTY5MGQzYjJkMWJlNGQxM2Q5MGRk
YzQwNTcxZjkyM2MxNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9H
Q0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgdm9pZCBHQ0NvbnRyb2xsZXI6OmdhcmJhZ2VDb2xs
ZWN0U29vbigpCiB2b2lkIEdDQ29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RPbk5leHRSdW5Mb29w
KCkKIHsKICAgICBpZiAoIW1fR0NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX0dDVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX0dDVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgR0NDb250cm9sbGVyOjpnY1RpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZS5jcHAKaW5kZXggMjU2NzFjMWRlMDliNTUwYmQ3MTljOWNmNWI5NThlNWZiMjI1NTY0ZC4u
ZGRiOGY4YjNjNDE4MjAxODkwZjgwY2MwZjZjZWYzY2JkMWJiZGIzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2UuY3BwCkBAIC00OTcsNyArNDk3LDcgQEAgdm9pZCBDU1NGb250RmFjZTo6c2V0
U3RhdHVzKFN0YXR1cyBuZXdTdGF0dXMpCiAgICAgfQogCiAgICAgaWYgKG5ld1N0YXR1cyA9PSBT
dGF0dXM6OkxvYWRpbmcpCi0gICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdCh3ZWJG
b250c1Nob3VsZEFsd2F5c0ZhbGxCYWNrKCkgPyAwIDogMyk7CisgICAgICAgIG1fdGltZW91dFRp
bWVyLnN0YXJ0T25lU2hvdCh3ZWJGb250c1Nob3VsZEFsd2F5c0ZhbGxCYWNrKCkgPyAwX3MgOiAz
X3MpOwogICAgIGVsc2UgaWYgKG5ld1N0YXR1cyA9PSBTdGF0dXM6OlN1Y2Nlc3MgfHwgbmV3U3Rh
dHVzID09IFN0YXR1czo6RmFpbHVyZSkKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IGU4NDk4OGViZTA2YjZm
NTZlMjJjN2ZlMjQ2YzZkYTRiZWJmYjZhMmIuLjQ0MDQxZDYzYTcwYmQ2OWVhMjIzNjQwYmQ1MGM1
YTMzMmYxNTc4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCkBAIC0z
NDAsNyArMzQwLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZGluZ0ZvbnRTb29u
KENhY2hlZEZvbnQmIGZvbnQpCiAgICAgLy8gYWZ0ZXIgdGhpcyBmb250IGhhcyBiZWVuIHJlcXVl
c3RlZCBidXQgYmVmb3JlIGl0IGJlZ2FuIGxvYWRpbmcuIEJhbGFuY2VkIGJ5CiAgICAgLy8gZGVj
cmVtZW50UmVxdWVzdENvdW50KCkgaW4gYmVnaW5Mb2FkVGltZXJGaXJlZCgpIGFuZCBpbiBjbGVh
ckRvY3VtZW50KCkuCiAgICAgbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS5pbmNy
ZW1lbnRSZXF1ZXN0Q291bnQoZm9udCk7Ci0gICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9iZWdpbkxvYWRpbmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBDU1NGb250U2VsZWN0b3I6OmJlZ2luTG9hZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCmluZGV4IGE3NTI4M2EyYjI3
YzNkZWQ4ZDk0MzEyZGUwNGE0MTU4ZWVjYzJmOTMuLjRkNDA2MTcyNjM5YzQ5ZWZkNzc1MmFkZmVh
M2Y5M2RlNWE2ZjlmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdl
bmVyYXRvclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0
b3JWYWx1ZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dGF0aWMgY29uc3QgYXV0byB0aW1lVG9LZWVwQ2FjaGVkR2VuZXJhdGVkSW1hZ2VzID0gc3RkOjpj
aHJvbm86OnNlY29uZHMgeyAzIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lVG9LZWVwQ2Fj
aGVkR2VuZXJhdGVkSW1hZ2VzID0gM19zOwogCiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpDU1NJ
bWFnZUdlbmVyYXRvclZhbHVlKENsYXNzVHlwZSBjbGFzc1R5cGUpCiAgICAgOiBDU1NWYWx1ZShj
bGFzc1R5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggMTBmNjVjM2Nl
YmM1YjZhZmRhMDBjMDBlNzNkY2I4ZWI0MmFiZTY1ZC4uOWIxYWEwYjMxYmQxNDFlZTk4MjcwMmQ1
YTg2Y2Q0MzMwNmNhYjZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAt
MTIzNywxMCArMTIzNyw4IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVy
dGllc0NhY2hlKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QKIHsKICAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbWF0Y2hlZERlY2xhcmF0aW9uQ2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dl
ZXBzID0gMTAwOwogICAgIGlmICgrK21fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZUFkZGl0aW9uc1Np
bmNlTGFzdFN3ZWVwID49IG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlQWRkaXRpb25zQmV0d2VlblN3
ZWVwcwotICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGllc0NhY2hlU3dlZXBUaW1lci5pc0Fj
dGl2ZSgpKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRp
b25DYWNoZVN3ZWVwVGltZUluU2Vjb25kcyA9IDYwOwotICAgICAgICBtX21hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdChtYXRjaGVkRGVjbGFyYXRpb25DYWNoZVN3
ZWVwVGltZUluU2Vjb25kcyk7Ci0gICAgfQorICAgICAgICAmJiAhbV9tYXRjaGVkUHJvcGVydGll
c0NhY2hlU3dlZXBUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX21hdGNoZWRQcm9wZXJ0aWVz
Q2FjaGVTd2VlcFRpbWVyLnN0YXJ0T25lU2hvdCg2MF9zKTsKIAogICAgIEFTU0VSVChoYXNoKTsK
ICAgICBNYXRjaGVkUHJvcGVydGllc0NhY2hlSXRlbSBjYWNoZUl0ZW07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAppbmRleCBmZWU1NzkyNWExNjg5N2YwZWE1MjlhM2Q4ODI5ZDgwZGVkZjcxODU3Li4w
OTkwZGUyNmViOTA0Yjk5YzU4NGMxODIwYjFhNTllMDMyNjM1OGM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTEyNTgsNyArMTI1OCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFZpc3VhbFVw
ZGF0ZXNBbGxvd2VkKGJvb2wgdmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgaWYgKHZpc3VhbFVw
ZGF0ZXNBbGxvd2VkKQogICAgICAgICBtX3Zpc3VhbFVwZGF0ZXNTdXBwcmVzc2lvblRpbWVyLnN0
b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1fdmlzdWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIu
c3RhcnRPbmVTaG90KHNldHRpbmdzKCktPmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25U
aW1lb3V0SW5TZWNvbmRzKCkpOworICAgICAgICBtX3Zpc3VhbFVwZGF0ZXNTdXBwcmVzc2lvblRp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNldHRpbmdzKCktPmluY3JlbWVudGFsUmVuZGVyaW5n
U3VwcHJlc3Npb25UaW1lb3V0SW5TZWNvbmRzKCkpKTsKIAogICAgIGlmICghdmlzdWFsVXBkYXRl
c0FsbG93ZWQpCiAgICAgICAgIHJldHVybjsKQEAgLTE3NDUsNyArMTc0NSw3IEBAIHZvaWQgRG9j
dW1lbnQ6OnNjaGVkdWxlU3R5bGVSZWNhbGMoKQogICAgIC8vIEZJWE1FOiBXaHkgb24gZWFydGgg
aXMgdGhpcyBoZXJlPyBUaGlzIGlzIGNsZWFybHkgbWlzcGxhY2VkLgogICAgIGludmFsaWRhdGVB
Y2Nlc3NLZXlNYXAoKTsKICAgICAKLSAgICBtX3N0eWxlUmVjYWxjVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc3R5bGVSZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24oKnRo
aXMpOwogfQpAQCAtMjgyNCw3ICsyODI0LDcgQEAgdm9pZCBEb2N1bWVudDo6d3JpdGVsbihjb25z
dCBTdHJpbmcmIHRleHQsIERvY3VtZW50KiBvd25lckRvY3VtZW50KQogICAgIHdyaXRlKFdURk1v
dmUodGV4dFdpdGhOZXdsaW5lKSwgb3duZXJEb2N1bWVudCk7CiB9CiAKLXN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgRG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKK1NlY29u
ZHMgRG9jdW1lbnQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QKIHsKICAgICBhdXRvKiBw
YWdlID0gdGhpcy0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKQEAgLTI4NDEsNyArMjg0MSw3IEBA
IHZvaWQgRG9jdW1lbnQ6OnNldFRpbWVyVGhyb3R0bGluZ0VuYWJsZWQoYm9vbCBzaG91bGRUaHJv
dHRsZSkKICAgICBkaWRDaGFuZ2VUaW1lckFsaWdubWVudEludGVydmFsKCk7CiB9CiAKLXN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgRG9jdW1lbnQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9v
bCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0
CiB7CiAgICAgYXV0byBhbGlnbm1lbnRJbnRlcnZhbCA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCk7CiAKQEAg
LTUwMjcsOCArNTAyNyw4IEBAIHZvaWQgRG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZygpCiAgICAg
Ly8gc28gdGhhdCBkeW5hbWljYWxseSBpbnNlcnRlZCBjb250ZW50IGNhbiBhbHNvIGJlbmVmaXQg
ZnJvbSBzaGFyaW5nIG9wdGltaXphdGlvbnMuCiAgICAgLy8gTm90ZSB0aGF0IHdlIGRvbid0IHJl
ZnJlc2ggdGhlIHRpbWVyIG9uIHBvb2wgYWNjZXNzIHNpbmNlIHRoYXQgY291bGQgbGVhZCB0byBo
dWdlIGNhY2hlcyBiZWluZyBrZXB0CiAgICAgLy8gYWxpdmUgaW5kZWZpbml0ZWx5IGJ5IHNvbWV0
aGluZyBpbm5vY3VvdXMgbGlrZSBKUyBzZXR0aW5nIC5pbm5lckhUTUwgcmVwZWF0ZWRseSBvbiBh
IHRpbWVyLgotICAgIHN0YXRpYyBjb25zdCBpbnQgdGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xB
bGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkSW5TZWNvbmRzID0gMTA7Ci0gICAgbV9zaGFyZWRPYmpl
Y3RQb29sQ2xlYXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xB
bGl2ZUFmdGVyUGFyc2luZ0ZpbmlzaGVkSW5TZWNvbmRzKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vj
b25kcyB0aW1lVG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWQg
PSAxMF9zOworICAgIG1fc2hhcmVkT2JqZWN0UG9vbENsZWFyVGltZXIuc3RhcnRPbmVTaG90KHRp
bWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxpdmVBZnRlclBhcnNpbmdGaW5pc2hlZCk7CiAKICAg
ICAvLyBQYXJzZXIgc2hvdWxkIGhhdmUgcGlja2VkIHVwIGFsbCBwcmVsb2FkcyBieSBub3cKICAg
ICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhclByZWxvYWRzKCk7CkBAIC01MjU1LDcgKzUy
NTUsNyBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKFNlbGVjdGlv
blJlc3RvcmF0aW9uTW9kZSBtb2RlKQogewogICAgIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNlUmVz
dG9yZXNTZWxlY3Rpb24gPSBtb2RlOwogICAgIGlmICghbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVGb2N1c0FwcGVhcmFuY2VUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6Y2FuY2VsRm9jdXNBcHBlYXJhbmNl
VXBkYXRlKCkKQEAgLTU0NDAsNyArNTQ0MCw3IEBAIHZvaWQgRG9jdW1lbnQ6OnJlc3VtZVNjaGVk
dWxlZFRhc2tzKEFjdGl2ZURPTU9iamVjdDo6UmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb24pCiAg
ICAgaWYgKHJlYXNvbiA9PSBBY3RpdmVET01PYmplY3Q6OldpbGxEZWZlckxvYWRpbmcgJiYgbV9w
YXJzZXIpCiAgICAgICAgIG1fcGFyc2VyLT5yZXN1bWVTY2hlZHVsZWRUYXNrcygpOwogICAgIGlm
ICghbV9wZW5kaW5nVGFza3MuaXNFbXB0eSgpKQotICAgICAgICBtX3BlbmRpbmdUYXNrc1RpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVGFza3NUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKICAgICBzY3JpcHRSdW5uZXIoKS0+cmVzdW1lKCk7CiAgICAgcmVzdW1lQWN0aXZl
RE9NT2JqZWN0cyhyZWFzb24pOwogICAgIHJlc3VtZVNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
ckNhbGxiYWNrcygpOwpAQCAtNTY4Nyw3ICs1Njg3LDcgQEAgdm9pZCBEb2N1bWVudDo6cmVxdWVz
dEZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIHVuc2lnbmVkIHNob3J0IGZs
YWcKICAgICB9IHdoaWxlICgwKTsKIAogICAgIG1fZnVsbFNjcmVlbkVycm9yRXZlbnRUYXJnZXRR
dWV1ZS5hcHBlbmQoZWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVudEVsZW1lbnQoKSk7Ci0gICAg
bV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxs
U2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1
bWVudDo6d2Via2l0Q2FuY2VsRnVsbFNjcmVlbigpCkBAIC01ODU0LDcgKzU4NTQsNyBAQCB2b2lk
IERvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KEVsZW1lbnQqKQog
CiAgICAgbV9mdWxsU2NyZWVuRWxlbWVudC0+ZGlkQmVjb21lRnVsbHNjcmVlbkVsZW1lbnQoKTsK
IAotICAgIG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fZnVsbFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgRG9jdW1lbnQ6OndlYmtpdFdpbGxFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCop
CkBAIC01ODkxLDcgKzU4OTEsNyBAQCB2b2lkIERvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNj
cmVlbkZvckVsZW1lbnQoRWxlbWVudCopCiAgICAgYm9vbCBldmVudFRhcmdldFF1ZXVlc0VtcHR5
ID0gbV9mdWxsU2NyZWVuQ2hhbmdlRXZlbnRUYXJnZXRRdWV1ZS5pc0VtcHR5KCkgJiYgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmlzRW1wdHkoKTsKICAgICBEb2N1bWVudCYgZXhp
dGluZ0RvY3VtZW50ID0gZXZlbnRUYXJnZXRRdWV1ZXNFbXB0eSA/IHRvcERvY3VtZW50KCkgOiAq
dGhpczsKIAotICAgIGV4aXRpbmdEb2N1bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBleGl0aW5nRG9jdW1lbnQubV9mdWxsU2NyZWVuQ2hhbmdl
RGVsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6c2V0RnVs
bFNjcmVlblJlbmRlcmVyKFJlbmRlckZ1bGxTY3JlZW4qIHJlbmRlcmVyKQpAQCAtNjA1Nyw3ICs2
MDU3LDcgQEAgdm9pZCBEb2N1bWVudDo6ZGVjcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpCiAg
ICAgLS1tX2xvYWRFdmVudERlbGF5Q291bnQ7CiAKICAgICBpZiAoZnJhbWUoKSAmJiAhbV9sb2Fk
RXZlbnREZWxheUNvdW50ICYmICFtX2xvYWRFdmVudERlbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV9sb2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9s
b2FkRXZlbnREZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50
Ojpsb2FkRXZlbnREZWxheVRpbWVyRmlyZWQoKQpAQCAtNjcwMSw3ICs2NzAxLDcgQEAgdm9pZCBE
b2N1bWVudDo6ZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2woRWxlbWVudCogZWxlbWVudCkKICAgICAg
ICAgcmV0dXJuOwogICAgIG1fYXNzb2NpYXRlZEZvcm1Db250cm9scy5hZGQoZWxlbWVudCk7CiAg
ICAgaWYgKCFtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2RpZEFzc29jaWF0ZUZvcm1Db250cm9sc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lckZpcmVkKCkK
QEAgLTY3MjEsNyArNjcyMSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldENhY2hlZERPTUNvb2tpZXMo
Y29uc3QgU3RyaW5nJiBjb29raWVzKQogICAgIEFTU0VSVCghaXNET01Db29raWVDYWNoZVZhbGlk
KCkpOwogICAgIG1fY2FjaGVkRE9NQ29va2llcyA9IGNvb2tpZXM7CiAgICAgLy8gVGhlIGNvb2tp
ZSBjYWNoZSBpcyB2YWxpZCBhdCBtb3N0IHVudGlsIHdlIGdvIGJhY2sgdG8gdGhlIGV2ZW50IGxv
b3AuCi0gICAgbV9jb29raWVDYWNoZUV4cGlyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9j
dW1lbnQ6OmludmFsaWRhdGVET01Db29raWVDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IDUwZTJiODM5MjJjYTlhMWVhMTM1MjI4NGQ2MzAxN2Y3OTgxMzAyNDAuLmFmMmFjNzgwMmFhYjYw
MGQzYzBmNjU4M2I5YzczNzE1YWNlMWQ3MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMzM3
LDkgKzEzMzcsOSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBSZWZQ
dHI8SW5zcGVjdG9yOjpTY3JpcHRDYWxsU3RhY2s+JiYsIEpTQzo6RXhlY1N0YXRlKiA9IG51bGxw
dHIsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKSBmaW5hbDsKIAotICAgIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2YWwoKSBjb25zdCBmaW5h
bDsKKyAgICBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QgZmluYWw7CiAKLSAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBo
YXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBmaW5hbDsKKyAgICBTZWNvbmRzIHRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25zdCBm
aW5hbDsKIAogICAgIHZvaWQgdXBkYXRlVGl0bGVGcm9tVGl0bGVFbGVtZW50KCk7CiAgICAgdm9p
ZCB1cGRhdGVUaXRsZShjb25zdCBTdHJpbmdXaXRoRGlyZWN0aW9uJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCmluZGV4IDllMDc3ZjcyZjEzNjU5YTM4NjkxNWE5
Y2JlNjAxNDZmMjAyOTljMjcuLmJkOTNiYTYyY2U2ZTIyMWQ5NDBlMGU4MDY5NzgxNWVhZTU2MjRl
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVldWUuY3BwCkBAIC03OSw3
ICs3OSw3IEBAIGJvb2wgRG9jdW1lbnRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQoUmVmPEV2ZW50
PiYmIGV2ZW50KQogCiAgICAgbV9xdWV1ZWRFdmVudHMuYWRkKGV2ZW50LnB0cigpKTsKICAgICBp
ZiAoIW1fcGVuZGluZ0V2ZW50VGltZXItPmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ0V2
ZW50VGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+
c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFNlbmRlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
U2VuZGVyLmgKaW5kZXggODcyZDg1YTFhNDU1MWFkMDE5OTA4MDk4MGU2ZjVmM2FkMjhhN2I3Zi4u
MTVjZGIxNzc5YjIwMGFmMzY5MmJmZWUxZTcwYzlhYjAyYzZiMzRlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50U2VuZGVyLmgKQEAgLTY2LDcgKzY2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBF
dmVudFNlbmRlcjxUPjo6ZGlzcGF0Y2hFdmVudFNvb24oVCYgc2VuZGVyKQogewogICAgIG1fZGlz
cGF0Y2hTb29uTGlzdC5hcHBlbmQoJnNlbmRlcik7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2Vu
ZGVyPFQ+OjpjYW5jZWxFdmVudChUJiBzZW5kZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTWljcm90YXNrcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAK
aW5kZXggMTk2ZGZlZDEwMjA2NDM1ZjZmZWNlNGM3YTg1OTE0NmZjZWI5ZjhmNy4uMGUxNjM4ZWZl
NWU0NDZmNzY0Njg1OTkxNzgwMjU1MjE2OTg5NjAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL01pY3JvdGFza3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tz
LmNwcApAQCAtNTUsNyArNTUsNyBAQCB2b2lkIE1pY3JvdGFza1F1ZXVlOjphcHBlbmQoc3RkOjp1
bmlxdWVfcHRyPE1pY3JvdGFzaz4mJiB0YXNrKQogICAgIGVsc2UKICAgICAgICAgbV9taWNyb3Rh
c2tRdWV1ZS5hcHBlbmQoV1RGTW92ZSh0YXNrKSk7CiAKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1pY3JvdGFz
a1F1ZXVlOjpyZW1vdmUoY29uc3QgTWljcm90YXNrJiB0YXNrKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDkzN2YxYzIzYmQ3ZTk5NGNhZWVi
NmUyZDA0ODljMDBlZTE5Y2Y1NmIuLjdlOGRhOWM3M2RkOWRjNGE1OWRiYWUwZTEzODkyYTFjODQ1
Y2UyMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5j
cHAKQEAgLTQ0NSw3ICs0NDUsNyBAQCBQdWJsaWNVUkxNYW5hZ2VyJiBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpwdWJsaWNVUkxNYW5hZ2VyKCkKICAgICByZXR1cm4gKm1fcHVibGljVVJMTWFuYWdl
cjsKIH0KIAotdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJ
bnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFs
KQordm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RNaW5pbXVtVGltZXJJbnRlcnZh
bChTZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVydmFsKQogewogICAgIGlmIChtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpICE9IG9sZE1pbmltdW1UaW1lckludGVydmFsKSB7CiAgICAgICAgIGZvciAo
YXV0byYgdGltZXIgOiBtX3RpbWVvdXRzLnZhbHVlcygpKQpAQCAtNDUzLDcgKzQ1Myw3IEBAIHZv
aWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kCiAgICAgfQogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6Om1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3QK
K1NlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVySW50ZXJ2YWwoKSBj
b25zdAogewogICAgIC8vIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHJldHVybnMgdGhlIERP
TVRpbWVyJ3MgZGVmYXVsdAogICAgIC8vIG1pbmltdW0gdGltZXIgaW50ZXJ2YWwuIEZJWE1FOiB0
byBtYWtlIGl0IHdvcmsgd2l0aCBkZWRpY2F0ZWQKQEAgLTQ2OSw3ICs0NjksNyBAQCB2b2lkIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKQog
ICAgICAgICB0aW1lci0+ZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp0aW1lckFsaWdubWVu
dEludGVydmFsKGJvb2wpIGNvbnN0CitTZWNvbmRzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKIHsKICAgICByZXR1cm4gRE9NVGltZXI6
OmRlZmF1bHRBbGlnbm1lbnRJbnRlcnZhbCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYzkyOThkMzJjYTQwMTZiZTA1ZmNmZjE4NGE5OTc2
ODI2NTRhZTY4ZS4uN2ZkZTc4ZDVmYmY5YTgyMGU4YWY0ZDhiYzhkM2EwZjM2NGQ3OGFmZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0xOTIsMTEg
KzE5MiwxMSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgSlNDOjpWTSYgdm0oKTsKIAog
ICAgIC8vIEludGVydmFsIGlzIGluIHNlY29uZHMuCi0gICAgdm9pZCBhZGp1c3RNaW5pbXVtVGlt
ZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG9sZE1pbmltdW1UaW1lckludGVy
dmFsKTsKLSAgICB2aXJ0dWFsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdDsKKyAgICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKFNl
Y29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOworICAgIHZpcnR1YWwgU2Vjb25kcyBtaW5p
bXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBkaWRDaGFuZ2VUaW1lckFsaWdu
bWVudEludGVydmFsKCk7Ci0gICAgdmlydHVhbCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCBoYXNSZWFjaGVkTWF4TmVzdGluZ0xldmVsKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1Jl
YWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OwogCiAgICAgdmlydHVhbCBFdmVudFF1ZXVlJiBl
dmVudFF1ZXVlKCkgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0UnVubmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwCmlu
ZGV4IDcwOTg5ZWI0MGMwNDVhZGU3NzRhZTU3ZDA5YTQwNDhiNTllMzg4MDQuLjQ2ODRlMGRkOTdj
ZmUyOGM1YjE3OWVhNzczOTNkOTgxMGRiZDNmYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5u
ZXIuY3BwCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2NyaXB0UnVubmVyOjpzdXNwZW5kKCkKIHZv
aWQgU2NyaXB0UnVubmVyOjpyZXN1bWUoKQogewogICAgIGlmIChoYXNQZW5kaW5nU2NyaXB0cygp
KQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTY3JpcHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKFBl
bmRpbmdTY3JpcHQmIHBlbmRpbmdTY3JpcHQpCkBAIC0xMDAsNyArMTAwLDcgQEAgdm9pZCBTY3Jp
cHRSdW5uZXI6Om5vdGlmeUZpbmlzaGVkKFBlbmRpbmdTY3JpcHQmIHBlbmRpbmdTY3JpcHQpCiAg
ICAgICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1fcGVuZGluZ0FzeW5jU2NyaXB0
cy50YWtlKHBlbmRpbmdTY3JpcHQpLT5wdHIoKSk7CiAgICAgfQogICAgIHBlbmRpbmdTY3JpcHQu
Y2xlYXJDbGllbnQoKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1bm5lcjo6dGltZXJGaXJlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIu
Y3BwCmluZGV4IDcxNzgyZjJmMTEwZTNmZGM0YTY3NDAxOTc2ZDlhOWY2NGFhNjVmMjQuLjQzYzcw
YzRhNjIxYmUyOWU5NDE5ODc4MmU5NTExOTg2MWYxMDI4MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0yMTgsNyArMjE4
LDcgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxlQW5pbWF0aW9u
KCkKICNlbmRpZgogCiAgICAgZG91YmxlIHNjaGVkdWxlRGVsYXkgPSBzdGQ6Om1heDxkb3VibGU+
KGFuaW1hdGlvbkludGVydmFsIC0gKG1fZG9jdW1lbnQtPmRvbVdpbmRvdygpLT5ub3dUaW1lc3Rh
bXAoKSAtIG1fbGFzdEFuaW1hdGlvbkZyYW1lVGltZXN0YW1wKSwgMCk7Ci0gICAgbV9hbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3Qoc2NoZWR1bGVEZWxheSk7CisgICAgbV9hbmltYXRpb25UaW1l
ci5zdGFydE9uZVNob3QoU2Vjb25kcyhzY2hlZHVsZURlbGF5KSk7CiAjZWxzZQogICAgIGlmIChG
cmFtZVZpZXcqIGZyYW1lVmlldyA9IG1fZG9jdW1lbnQtPnZpZXcoKSkKICAgICAgICAgZnJhbWVW
aWV3LT5zY2hlZHVsZUFuaW1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1N0eWxlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
CmluZGV4IGI4MDhhZjI3ZDY5NjU5MjFiNDMzNjdmOTY4NDAzZDE0N2U4M2ZiYjEuLmEzMWQyODg0
NDhlMWE2MjAyZTE3MDM5YzdkZjVkYmYyZDBiOWIyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVk
RWxlbWVudC5jcHAKQEAgLTc0LDYgKzc0LDkgQEAgc3RhdGljIFByZXNlbnRhdGlvbkF0dHJpYnV0
ZUNhY2hlJiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSgpCiAgICAgcmV0dXJuIGNhY2hlOwog
fQogCitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFu
VGltZSA9IDYwX3M7CitzdGF0aWMgY29uc3QgaW50IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1
dGVDYWNoZVNpemVGb3JDbGVhbmluZyA9IDEwMDsKKwogY2xhc3MgUHJlc2VudGF0aW9uQXR0cmli
dXRlQ2FjaGVDbGVhbmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVzZW50YXRpb25B
dHRyaWJ1dGVDYWNoZUNsZWFuZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
QEAgLTkxLDE2ICs5NCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIG1faGl0Q291bnQrKzsKIAogICAg
ICAgICBpZiAoIW1fY2xlYW5UaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV9jbGVhblRp
bWVyLnN0YXJ0T25lU2hvdChwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vj
b25kcyk7CisgICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlv
bkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lKTsKICAgICAgfQogCiBwcml2YXRlOgotICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vj
b25kcyA9IDYwOwotICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOwotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBtaW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgx
MDAgKiBwcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZUluU2Vjb25kcykgLyA2MDsK
LQogICAgIHZvaWQgY2xlYW5DYWNoZSgpCiAgICAgeworICAgICAgICB1bnNpZ25lZCBtaW5pbXVt
UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVIaXRDb3VudFBlck1pbnV0ZSA9ICgxMDAgKiBwcmVz
ZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuVGltZS52YWx1ZSgpKSAvIDYwOworCiAgICAgICAg
IHVuc2lnbmVkIGhpdENvdW50ID0gbV9oaXRDb3VudDsKICAgICAgICAgbV9oaXRDb3VudCA9IDA7
CiAgICAgICAgIGlmIChoaXRDb3VudCA+IG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9B
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQWx0
ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKaW5kZXggZDVjZDFlYTY3ZGQ5MGI4OTNmNTM0N2E3
YTE3ZWVjZTA5NGE0YWE2Yy4uNjllOWUzZmRkYWZlYWZiYmJmNzE2MTE1NWViZjFiZDA3Y2VhMjU1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXIuY3BwCkBAIC0xNDAsNyArMTQwLDcgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxl
cjo6fkFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIoKQogCiB2b2lkIEFsdGVybmF0aXZlVGV4dENv
bnRyb2xsZXI6OnN0YXJ0QWx0ZXJuYXRpdmVUZXh0VUlUaW1lcihBbHRlcm5hdGl2ZVRleHRUeXBl
IHR5cGUpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvcnJlY3Rpb25QYW5lbFRpbWVySW50ZXJ2YWwg
PSAwLjM7CisgICAgY29uc3QgYXV0byBjb3JyZWN0aW9uUGFuZWxUaW1lckludGVydmFsID0gMC4z
X3M7CiAgICAgaWYgKCFpc0F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMjBlNmIwYzJi
NzRjYWZjZWVhMjI4ZjgyY2NlMjIyYmM1ZmMxN2EzNy4uM2JhNWJkMTkxYzZjOWFmZWExYmY4MzNi
MjI3YzBkN2JiYTRmYTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMzI2Miw3
ICszMjYyLDcgQEAgdm9pZCBFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYsIEZyYW1lU2VsZWN0aW9uOjoKIAogI2lmIEVOQUJMRShURUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJiYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoc2hvdWxkRGV0
ZWN0VGVsZXBob25lTnVtYmVycygpKQotICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlv
blVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90ZWxlcGhvbmVOdW1iZXJE
ZXRlY3Rpb25VcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgogCiAgICAgc2V0
U3RhcnROZXdLaWxsUmluZ1NlcXVlbmNlKHRydWUpOwpAQCAtMzI3NCw3ICszMjc0LDcgQEAgdm9p
ZCBFZGl0b3I6OnJlc3BvbmRUb0NoYW5nZWRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlv
biYsIEZyYW1lU2VsZWN0aW9uOjoKICAgICBtX2VkaXRvclVJVXBkYXRlVGltZXJTaG91bGRDaGVj
a1NwZWxsaW5nQW5kR3JhbW1hciA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6Q2xvc2VUeXBp
bmcKICAgICAgICAgJiYgIShvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OlNwZWxsQ29ycmVjdGlv
blRyaWdnZXJlZCk7CiAgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyV2FzVHJpZ2dlcmVkQnlEaWN0
YXRpb24gPSBvcHRpb25zICYgRnJhbWVTZWxlY3Rpb246OkRpY3RhdGlvblRyaWdnZXJlZDsKLSAg
ICBtX2VkaXRvclVJVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZWRpdG9yVUlV
cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVOQUJMRShURUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJiYgIVBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggNjc1OWZmMTc3ZmU3NjcxY2JiMTY5MzVlYjM2MTBk
MmE1Njk3Yjc4Ni4uODc0YmQ2ODZhNjlkNGRkMjViNWZhNzZhZjNhMmNiNWRkMjNjZWU5YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTIwNTAsNyArMjA1
MCw3IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFwcGVhcmFuY2UoKQogICAgIC8vIFN0
YXJ0IGJsaW5raW5nIHdpdGggYSBibGFjayBjYXJldC4gQmUgc3VyZSBub3QgdG8gcmVzdGFydCBp
ZiB3ZSdyZQogICAgIC8vIGFscmVhZHkgYmxpbmtpbmcgaW4gdGhlIHJpZ2h0IGxvY2F0aW9uLgog
ICAgIGlmIChzaG91bGRCbGluayAmJiAhbV9jYXJldEJsaW5rVGltZXIuaXNBY3RpdmUoKSkgewot
ICAgICAgICBpZiAoZG91YmxlIGJsaW5rSW50ZXJ2YWwgPSBtX2ZyYW1lLT5wYWdlKCktPnRoZW1l
KCkuY2FyZXRCbGlua0ludGVydmFsKCkpCisgICAgICAgIGlmIChhdXRvIGJsaW5rSW50ZXJ2YWwg
PSBtX2ZyYW1lLT5wYWdlKCktPnRoZW1lKCkuY2FyZXRCbGlua0ludGVydmFsKCkpCiAgICAgICAg
ICAgICBtX2NhcmV0QmxpbmtUaW1lci5zdGFydFJlcGVhdGluZyhibGlua0ludGVydmFsKTsKIAog
ICAgICAgICBpZiAoIW1fY2FyZXRQYWludCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENo
ZWNrZXIuY3BwCmluZGV4IDlkMGY4NzM2ZTA4MWMzZGY0ZmNhN2UyMWE3ZmY2NWMxODVjNDFmZDQu
LjAyNDg4MTNjZTBjOWM3YmFjNTE5YmZiNTg0NWNiM2JlNzNlMzkwZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lkIFNwZWxs
Q2hlY2tlcjo6ZGlkQ2hlY2soaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5n
UmVzdWx0PiYgcmVzdQogCiAgICAgbV9wcm9jZXNzaW5nUmVxdWVzdCA9IG51bGxwdHI7CiAgICAg
aWYgKCFtX3JlcXVlc3RRdWV1ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fdGltZXJUb1Byb2Nlc3NR
dWV1ZWRSZXF1ZXN0LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1
ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2VyOjpk
aWRDaGVja1N1Y2NlZWQoaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNraW5nUmVz
dWx0PiYgcmVzdWx0cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRl
eCA0MTZhMmQxYTdiOTI1MTM0MTBlNDA2ZjQzNDVkYzgzY2Y1Y2ZhMTBjLi5kNzg0ZGI0MjBjYWNk
ZTk4Yjg1ZTMwYWRjYmE5M2E2YmQ1ZDBmYTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUVsZW1lbnQuY3BwCkBAIC00NDEsNyArNDQxLDcgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OmZp
bmlzaFJlcXVlc3RBdXRvY29tcGxldGUoQXV0b2NvbXBsZXRlUmVzdWx0IHJlc3VsdCkKIAogICAg
IC8vIERpc3BhdGNoIGV2ZW50cyBsYXRlciBhcyB0aGlzIEFQSSBpcyBtZWFudCB0byB3b3JrIGFz
eW5jaHJvbm91c2x5IGluIGFsbCBzaXR1YXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbnMuCiAgICAg
aWYgKCFtX3JlcXVlc3RBdXRvY29tcGxldGVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jl
cXVlc3RBdXRvY29tcGxldGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVz
dEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxGb3Jt
RWxlbWVudDo6cmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggM2RkYTdhN2FjM2ZmODZhYzQ5NjA1YzVkNzNm
ZWJkZmJkZGJjYzBiYi4uZjEyYmE1MTBiYTE0MjYyMmE4MjExZGNkYTczMmVkYzQ2OGMyZWFkMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xNTYsMTIgKzE1
NiwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU2Vl
a1JlcGVhdERlbGF5ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgU2Vla1JlcGVhdERlbGF5
ID0gMC4xX3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBTY2FuUmVwZWF0RGVsYXkgPSAxLjVfczsK
IHN0YXRpYyBjb25zdCBkb3VibGUgU2Vla1RpbWUgPSAwLjI7Ci1zdGF0aWMgY29uc3QgZG91Ymxl
IFNjYW5SZXBlYXREZWxheSA9IDEuNTsKIHN0YXRpYyBjb25zdCBkb3VibGUgU2Nhbk1heGltdW1S
YXRlID0gODsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBIaWRlTWVkaWFDb250cm9sc0FmdGVyRW5k
ZWREZWxheSA9IDY7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBIaWRlTWVkaWFDb250cm9sc0FmdGVy
RW5kZWREZWxheSA9IDZfczsKIAogc3RhdGljIHZvaWQgc2V0RmxhZ3ModW5zaWduZWQmIHZhbHVl
LCB1bnNpZ25lZCBmbGFncykKIHsKQEAgLTkzNyw3ICs5MzcsNyBAQCB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6OnNjaGVkdWxlRGVsYXllZEFjdGlvbihEZWxheWVkQWN0aW9uVHlwZSBhY3Rpb25UeXBl
KQogICAgIGlmIChhY3Rpb25UeXBlICYgVXBkYXRlUGxheVN0YXRlKQogICAgICAgICBzZXRGbGFn
cyhtX3BlbmRpbmdBY3Rpb25GbGFncywgVXBkYXRlUGxheVN0YXRlKTsKIAotICAgIG1fcGVuZGlu
Z0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5l
eHRTb3VyY2VDaGlsZCgpCkBAIC05NDUsNyArOTQ1LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCgpCiAgICAgLy8gU2NoZWR1bGUgdGhlIHRpbWVyIHRv
IHRyeSB0aGUgbmV4dCA8c291cmNlPiBlbGVtZW50IFdJVEhPVVQgcmVzZXR0aW5nIHN0YXRlIGFs
YSBwcmVwYXJlRm9yTG9hZC4KICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzY2hl
ZHVsZU5leHRTb3VyY2VDaGlsZCglcCkgLSBzZXR0aW5nICVzIGZsYWciLCB0aGlzLCBhY3Rpb25O
YW1lKExvYWRNZWRpYVJlc291cmNlKS51dGY4KCkuZGF0YSgpKTsKICAgICBzZXRGbGFncyhtX3Bl
bmRpbmdBY3Rpb25GbGFncywgTG9hZE1lZGlhUmVzb3VyY2UpOwotICAgIG1fcGVuZGluZ0FjdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdBY3Rpb25UaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckFjdGl2
ZVNvdXJjZUJ1ZmZlcnNDaGFuZ2VkKGNvbnN0IE1lZGlhUGxheWVyKikKQEAgLTE5ODQsNyArMTk4
NCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c3RhcnRQcm9ncmVzc0V2ZW50VGltZXIoKQog
CiAgICAgbV9wcmV2aW91c1Byb2dyZXNzVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpOwogICAgIC8vIDM1MG1zIGlzIG5vdCBtYWdpYywgaXQgaXMgaW4gdGhlIHNwZWMhCi0gICAg
bV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMC4zNTApOworICAgIG1fcHJvZ3Jl
c3NFdmVudFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDM1MF9tcyk7CiB9CiAKIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6d2FpdEZvclNvdXJjZUNoYW5nZSgpCkBAIC0zMzcxLDcgKzMzNzEsNyBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5pbmcoU2NhbkRpcmVjdGlvbiBkaXJlY3Rpb24p
CiAgICAgICAgIHNldFBsYXliYWNrUmF0ZShuZXh0U2NhblJhdGUoKSk7CiAgICAgfQogCi0gICAg
bV9zY2FuVGltZXIuc3RhcnQoMCwgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5
IDogU2NhblJlcGVhdERlbGF5KTsKKyAgICBtX3NjYW5UaW1lci5zdGFydCgwX3MsIG1fc2NhblR5
cGUgPT0gU2VlayA/IFNlZWtSZXBlYXREZWxheSA6IFNjYW5SZXBlYXREZWxheSk7CiB9CiAKIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5kU2Nhbm5pbmcoKQpAQCAtMzQxMCw3ICszNDEwLDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2FuVGltZXJGaXJlZCgpCiAKIC8vIFRoZSBzcGVjIHNh
eXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhvc2Ugc2VudCB3aGlsZSBw
bGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3NlIHRoZSBzbG93ZXN0IGZy
ZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kg
PSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVlbmN5
ID0gMC4yNV9zOwogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UGxheWJhY2tQcm9ncmVz
c1RpbWVyKCkKIHsKQEAgLTM0NTcsNyArMzQ1Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQoYm9vbCBwZXJpb2RpY0V2ZW50KQogICAgIGRvdWJsZSB0
aW1lZGVsdGEgPSBub3cgLSBtX2Nsb2NrVGltZUF0TGFzdFVwZGF0ZUV2ZW50OwogCiAgICAgLy8g
dGhyb3R0bGUgdGhlIHBlcmlvZGljIGV2ZW50cwotICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRp
bWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSkKKyAgICBpZiAocGVyaW9kaWNF
dmVudCAmJiB0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kudmFsdWUoKSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gU29tZSBtZWRpYSBlbmdpbmVzIG1ha2UgbXVsdGlw
bGUgInRpbWUgY2hhbmdlZCIgY2FsbGJhY2tzIGF0IHRoZSBzYW1lIHRpbWUsIGJ1dCB3ZSBvbmx5
IHdhbnQgb25lCkBAIC00Mzg4LDcgKzQzODgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Omhh
bmRsZVNlZWtUb1BsYXliYWNrUG9zaXRpb24oZG91YmxlIHBvc2l0aW9uKQogICAgIC8vIFBsZWFz
ZSBzZWUgPHJkYXI6Ly9wcm9ibGVtLzI4NDU3MjE5PiBmb3IgbW9yZSBkZXRhaWxzLgogICAgIHNl
ZWsoTWVkaWFUaW1lOjpjcmVhdGVXaXRoRG91YmxlKHBvc2l0aW9uKSk7CiAgICAgbV9zZWVrVG9Q
bGF5YmFja1Bvc2l0aW9uRW5kZWRUaW1lci5zdG9wKCk7Ci0gICAgbV9zZWVrVG9QbGF5YmFja1Bv
c2l0aW9uRW5kZWRUaW1lci5zdGFydE9uZVNob3QoMC41KTsKKyAgICBtX3NlZWtUb1BsYXliYWNr
UG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjVfcyk7CiAKICAgICBpZiAoIW1faXNT
Y3J1YmJpbmdSZW1vdGVseSkgewogICAgICAgICBtX2lzU2NydWJiaW5nUmVtb3RlbHkgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCBhODY0ZTg3
ZWFmZDQyODNlNTRmMWU0MGJmZWNmOTIyNWE1Y2I1ZGQ2Li4xNTEwYzU4OWZkZWQyYjFlMzkxODY1
NmFhN2M3Mjc2NTBjN2ZlNWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVt
ZW50LmNwcApAQCAtMjg5LDcgKzI4OSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnNldERp
c3BsYXlTdGF0ZShEaXNwbGF5U3RhdGUgc3RhdGUpCiAgICAgbV9kaXNwbGF5U3RhdGUgPSBzdGF0
ZTsKICAgICAKICAgICBpZiAoKHN0YXRlID09IERpc3BsYXlpbmdTbmFwc2hvdCB8fCBkaXNwbGF5
U3RhdGUoKSA9PSBQcmVwYXJpbmdQbHVnaW5SZXBsYWNlbWVudCkgJiYgIW1fc3dhcFJlbmRlcmVy
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fc3dhcFJlbmRlcmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hh
ZG93Um9vdCogcm9vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVs
ZW1lbnQuY3BwCmluZGV4IGI5NmUzY2UzMTNkZjQ4ZDI5MmUzNzI4MGYzZjk5OTY3ZmNiMGE5MDgu
LjUwNDFiNWI2Yzk1ZGQ1Y2Y4NGU2NWI0MzM3ZGRkMzBmOWIyMzY3M2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcApAQCAtNzIsMTAgKzcyLDEw
IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBzaXppbmdGdWxsUGFnZUFyZWFSYXRpb1RocmVzaG9sZCA9
IDAuOTY7CiBzdGF0aWMgY29uc3QgZmxvYXQgYXV0b3N0YXJ0U29vbkFmdGVyVXNlckdlc3R1cmVU
aHJlc2hvbGQgPSA1LjA7CiAKIC8vIFRoaXMgZGVsYXkgc2hvdWxkIG5vdCBleGNlZWQgdGhlIHNu
YXBzaG90IGRlbGF5IGluIFBsdWdpblZpZXcuY3BwCi1zdGF0aWMgY29uc3QgYXV0byBzaW11bGF0
ZWRNb3VzZUNsaWNrVGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyA3NTAg
fTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0g
MC43NV9zOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi1zdGF0aWMgY29uc3QgYXV0byByZW1vdmVT
bmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMTUwMCB9Owor
c3RhdGljIGNvbnN0IFNlY29uZHMgcmVtb3ZlU25hcHNob3RUaW1lckRlbGF5ID0gMS41X3M7CiAj
ZW5kaWYKIAogc3RhdGljIGNvbnN0IFN0cmluZyB0aXRsZVRleHQoUGFnZSogcGFnZSwgU3RyaW5n
IG1pbWVUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcAppbmRl
eCA0NTAxOGI3MWMxYzhjMjZlNDg0ZjUxYzBjMzY1YWY4MTVlN2Y2MzlmLi5lZGFlMGM0Y2I4Y2Fl
ZmFmNTgwN2I2NDIzMzhkNmExMjUwZDk0NjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
b3VyY2VFbGVtZW50LmNwcApAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgSFRNTFNvdXJjZUVsZW1l
bnQ6OnNjaGVkdWxlRXJyb3JFdmVudCgpCiAgICAgaWYgKG1fZXJyb3JFdmVudFRpbWVyLmlzQWN0
aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBIVE1MU291cmNlRWxlbWVudDo6Y2FuY2VsUGVuZGluZ0Vycm9yRXZlbnQoKQpAQCAtMTY2
LDcgKzE2Niw3IEBAIHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3Vz
cGVuc2lvbiB3aHkpCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpyZXN1bWUoKQogewogICAgIGlm
IChtX3Nob3VsZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUpIHsKLSAgICAgICAgbV9lcnJv
ckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV9zaG91bGRSZXNjaGVkdWxlRXJyb3JFdmVudE9u
UmVzdW1lID0gZmFsc2U7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxl
bWVudC5jcHAKaW5kZXggMDdmNDJkOTlmOGQ3YjQ4YTliYTI0MWI0YzQ3MWQ1NzlmNTVlOGJkNS4u
ZmEwMjYyY2M2OGNhM2RiZjhhNDU3NzI0YjJhNTYyZjZjNjQ1ZWIwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCkBAIC0xNzgsNyArMTc4LDcgQEAgdm9pZCBIVE1M
VHJhY2tFbGVtZW50OjpzY2hlZHVsZUxvYWQoKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyA0
LiBSdW4gdGhlIHJlbWFpbmRlciBvZiB0aGVzZSBzdGVwcyBhc3luY2hyb25vdXNseSwgYWxsb3dp
bmcgd2hhdGV2ZXIgY2F1c2VkIHRoZXNlIHN0ZXBzIHRvIHJ1biB0byBjb250aW51ZS4KLSAgICBt
X2xvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFRyYWNrRWxlbWVudDo6bG9hZFRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCmluZGV4IDk1NDA1MjUwOWViN2UyMmJh
Mjk3MmVlYWI3NjkxYmM1NzQ0M2YzOGIuLjZmYmY0NmEzZjc1NjU0OGUxYjAzM2MwZDlmMTA2OGE1
MTY0MGYwYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAKQEAgLTU3
LDcgKzU3LDYgQEAgTWVkaWFDb250cm9sbGVyOjpNZWRpYUNvbnRyb2xsZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCkKICAgICAsIG1fY2xvY2soQ2xvY2s6OmNyZWF0ZSgpKQogICAg
ICwgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KGNvbnRleHQpCiAgICAgLCBtX3RpbWV1cGRhdGVU
aW1lcigqdGhpcywgJk1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVUaW1ldXBkYXRlRXZlbnQpCi0g
ICAgLCBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWUoMCkKIHsKIH0KIApAQCAtMTQ4LDcgKzE0Nyw3
IEBAIGRvdWJsZSBNZWRpYUNvbnRyb2xsZXI6OmN1cnJlbnRUaW1lKCkgY29uc3QKICAgICBpZiAo
bV9wb3NpdGlvbiA9PSBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKSkgewogICAgICAgICAvLyBT
b21lIGNsb2NrcyBtYXkgcmV0dXJuIHRpbWVzIG91dHNpZGUgdGhlIHJhbmdlIG9mIFswLi5kdXJh
dGlvbl0uCiAgICAgICAgIG1fcG9zaXRpb24gPSBzdGQ6Om1heDxkb3VibGU+KDAsIHN0ZDo6bWlu
KGR1cmF0aW9uKCksIG1fY2xvY2stPmN1cnJlbnRUaW1lKCkpKTsKLSAgICAgICAgbV9jbGVhclBv
c2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICByZXR1cm4gbV9wb3NpdGlvbjsKQEAg
LTUzNyw3ICs1MzYsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c2NoZWR1bGVFdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50TmFtZSkKIHsKICAgICBtX3BlbmRpbmdFdmVudHMuYXBwZW5k
KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBmYWxzZSwgdHJ1ZSkpOwogICAgIGlmICghbV9hc3lu
Y0V2ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hc3luY0V2ZW50VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBNZWRpYUNvbnRyb2xsZXI6OmFzeW5jRXZlbnRUaW1lckZpcmVkKCkKQEAgLTY2
Myw3ICs2NjIsNyBAQCB2b2lkIE1lZGlhQ29udHJvbGxlcjo6cmV0dXJuVG9SZWFsdGltZSgpCiAK
IC8vIFRoZSBzcGVjIHNheXMgdG8gZmlyZSBwZXJpb2RpYyB0aW1ldXBkYXRlIGV2ZW50cyAodGhv
c2Ugc2VudCB3aGlsZSBwbGF5aW5nKSBldmVyeQogLy8gIjE1IHRvIDI1MG1zIiwgd2UgY2hvb3Nl
IHRoZSBzbG93ZXN0IGZyZXF1ZW5jeQotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhUaW1ldXBkYXRl
RXZlbnRGcmVxdWVuY3kgPSAwLjI1Oworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4VGltZXVwZGF0
ZUV2ZW50RnJlcXVlbmN5ID0gMjUwX21zOwogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6c3RhcnRU
aW1ldXBkYXRlVGltZXIoKQogewpAQCAtNjc1LDggKzY3NCw4IEBAIHZvaWQgTWVkaWFDb250cm9s
bGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiAKIHZvaWQgTWVkaWFDb250cm9sbGVyOjpzY2hl
ZHVsZVRpbWV1cGRhdGVFdmVudCgpCiB7Ci0gICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpOwotICAgIGRvdWJsZSB0aW1lZGVsdGEgPSBub3cgLSBtX3ByZXZpb3Vz
VGltZXVwZGF0ZVRpbWU7CisgICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKKyAg
ICBhdXRvIHRpbWVkZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKIAogICAg
IGlmICh0aW1lZGVsdGEgPCBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kpCiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5oCmluZGV4IDE3OGZhNzQyZGY4
M2EzZjIzMjA2MzVlMzgzODQwMzE3NjNiNWIzZDIuLmE5MTkyNDgxN2M1MTRlYmM4MDBmY2M4MGNh
NWQwM2VjN2E4YTYwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaApAQCAt
MTQ1LDcgKzE0NSw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPENsb2NrPiBtX2Ns
b2NrOwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKICAgICBUaW1lciBtX3RpbWV1cGRhdGVUaW1lcjsKLSAgICBkb3VibGUgbV9wcmV2aW91c1Rp
bWV1cGRhdGVUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c1RpbWV1cGRhdGVUaW1l
OwogICAgIGJvb2wgbV9yZXNldEN1cnJlbnRUaW1lSW5OZXh0UGxheSB7IGZhbHNlIH07CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYURvY3VtZW50LmNwcAppbmRleCA3ODUzODYzMmNhYTViMzMw
NGFlZTMyMWM3OGFjNTFmMWI3ZjYwZmZlLi5jZDY2ZDI4NDA1ODJmYjQyNDUxNDhlMmZjOWU1NjI2
ODU1YjBmZWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKQEAgLTIyOSw3
ICsyMjksNyBAQCB2b2lkIE1lZGlhRG9jdW1lbnQ6Om1lZGlhRWxlbWVudFNhd1Vuc3VwcG9ydGVk
VHJhY2tzKCkKICAgICAvLyBhbmQgbGV0IHRoZSBwbHVnaW4gaGFuZGxlIHRoaXMuIERvbid0IGRv
IGl0IGltbWVkaWF0ZWx5IGFzIHRoaXMgCiAgICAgLy8gZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBk
aXJlY3RseSBmcm9tIGEgbWVkaWEgZW5naW5lIGNhbGxiYWNrLCBhbmQgCiAgICAgLy8gcmVwbGFj
ZUNoaWxkIHdpbGwgZGVzdHJveSB0aGUgZWxlbWVudCwgbWVkaWEgcGxheWVyLCBhbmQgbWVkaWEg
ZW5naW5lLgotICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3JlcGxhY2VNZWRpYUVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBNZWRpYURvY3VtZW50OjpyZXBsYWNlTWVkaWFFbGVtZW50VGltZXJGaXJlZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCA1Y2I3M2JiYzI1
ZjMwNDAxMzcwNDQ3MzFmYjU1ZTNmZjhlMmZjZGEzLi4zZDI1OGI2MjYzNWEwM2IxOTU4YzRjOGY3
OGEyZjRhMWNlOTMyOTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxl
bWVudFNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5jcHAKQEAgLTU3LDcgKzU3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0
aWMgY29uc3QgZG91YmxlIGVsZW1lbnRNYWluQ29udGVudENoZWNrSW50ZXJ2YWwgPSAuMjUwOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgZWxlbWVudE1haW5Db250ZW50Q2hlY2tJbnRlcnZhbCA9IDI1
MF9tczsKIAogc3RhdGljIGJvb2wgaXNFbGVtZW50UmVjdE1vc3RseUluTWFpbkZyYW1lKGNvbnN0
IEhUTUxNZWRpYUVsZW1lbnQmKTsKIHN0YXRpYyBib29sIGlzRWxlbWVudExhcmdlRW5vdWdoRm9y
TWFpbkNvbnRlbnQoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYsIE1lZGlhU2Vzc2lvbk1haW5Db250
ZW50UHVycG9zZSk7CkBAIC00NzYsNyArNDc2LDcgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZShib29sIGhhc1RhcmdldHMK
ICAgICBMT0coTWVkaWEsICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpleHRlcm5hbE91dHB1dERldmlj
ZUF2YWlsYWJsZURpZENoYW5nZSglcCkgLSBoYXNUYXJnZXRzICVzIiwgdGhpcywgaGFzVGFyZ2V0
cyA/ICJUUlVFIiA6ICJGQUxTRSIpOwogCiAgICAgbV9oYXNQbGF5YmFja1RhcmdldHMgPSBoYXNU
YXJnZXRzOwotICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX3RhcmdldEF2YWlsYWJpbGl0eUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpjYW5QbGF5VG9XaXJlbGVzc1Bs
YXliYWNrVGFyZ2V0KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNw
cAppbmRleCBmNWQyYmI5NTUzMjkwNzE5ODI2NjZkYjc1OGVlYzJiYzc2NmQ1MGE3Li44OWQ5NTg5
YmZiNDE2ZjkwYzc3Yjg3OWU1ZmQ3OTk4ZGUyMmJiZjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9T
ZWFyY2hJbnB1dFR5cGUuY3BwCkBAIC0xNjUsNyArMTY1LDcgQEAgdm9pZCBTZWFyY2hJbnB1dFR5
cGU6OnN0YXJ0U2VhcmNoRXZlbnRUaW1lcigpCiAKICAgICAvLyBBZnRlciB0eXBpbmcgdGhlIGZp
cnN0IGtleSwgd2Ugd2FpdCAwLjUgc2Vjb25kcy4KICAgICAvLyBBZnRlciB0aGUgc2Vjb25kIGtl
eSwgMC40IHNlY29uZHMsIHRoZW4gMC4zLCB0aGVuIDAuMiBmcm9tIHRoZW4gb24uCi0gICAgbV9z
ZWFyY2hFdmVudFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjIsIDAuNiAtIDAuMSAqIGxl
bmd0aCkpOworICAgIG1fc2VhcmNoRXZlbnRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzdGQ6
Om1heCgwLjIsIDAuNiAtIDAuMSAqIGxlbmd0aCkpKTsKIH0KIAogdm9pZCBTZWFyY2hJbnB1dFR5
cGU6OnN0b3BTZWFyY2hFdmVudFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5jcHAKaW5kZXggOWQ1ZGNhY2ZiZWMxZTMwY2JmODcwMTExYzRlNDI1MjExZjljYWFl
NC4uYjdiZjVlMWJhYjJhNmQ1ZDdhZjMwOTIwOGNiNGI3YjgyNzdhMjAwYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAKQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lk
IFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmJ1aWxkQnViYmxlVHJlZSk7CiAgICAgZWxzZQogICAgICAgICBtX3RpbWVyID0g
c3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVz
c2FnZURPTUFuZFN0YXJ0VGltZXIpOwotICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX3RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBWYWxpZGF0aW9uTWVzc2Fn
ZTo6c2V0TWVzc2FnZURPTUFuZFN0YXJ0VGltZXIoKQpAQCAtMTQ0LDcgKzE0NCw3IEBAIHZvaWQg
VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRTdGFydFRpbWVyKCkKICAgICAgICAg
bV90aW1lciA9IG51bGxwdHI7CiAgICAgZWxzZSB7CiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZhbGlkYXRpb25NZXNzYWdlOjpkZWxldGVCdWJibGVU
cmVlKTsKLSAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDUuMCwgc3RhdGlj
X2Nhc3Q8ZG91YmxlPihtX21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAvIDEwMDAp
KTsKKyAgICAgICAgbV90aW1lci0+c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDVfcywgU2Vjb25kcyht
X21lc3NhZ2UubGVuZ3RoKCkpICogbWFnbmlmaWNhdGlvbiAvIDEwMDAuMCkpOwogICAgIH0KIH0K
IApAQCAtMjI4LDcgKzIyOCw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnJlcXVlc3RUb0hp
ZGVNZXNzYWdlKCkKIAogICAgIC8vIFdlIG11c3Qgbm90IG1vZGlmeSB0aGUgRE9NIHRyZWUgaW4g
dGhpcyBjb250ZXh0IGJ5IHRoZSBzYW1lIHJlYXNvbiBhcyBzZXRNZXNzYWdlKCkuCiAgICAgbV90
aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlvbk1lc3NhZ2U6
OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogYm9vbCBWYWxpZGF0aW9uTWVzc2FnZTo6
c2hhZG93VHJlZUNvbnRhaW5zKGNvbnN0IE5vZGUmIG5vZGUpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3Bw
CmluZGV4IDJjMGQ4MDc1NjA1NWU1OTY5N2Q4OTE2YWQzNDk0YTYyNGE1OWFiZjQuLjY0ODAzMDBk
MTA3OTkzZWYzYjM2ZTgyYjJkMzEwOTIyYThjOWVhOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC05
OCw3ICs5OCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIHNlY29u
ZHNCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMS4wOworY29uc3QgU2Vjb25kcyB0aW1lQmV0d2Vl
blJlc3RvcmVBdHRlbXB0cyA9IDFfczsKIGNvbnN0IGludCBtYXhHTEVycm9yc0FsbG93ZWRUb0Nv
bnNvbGUgPSAyNTY7CiAKIG5hbWVzcGFjZSB7CkBAIC00NjY2LDcgKzQ2NjYsNyBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VDb250ZXh0SW1wbChXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpMb3N0QwogCiAgICAgLy8gQWx3YXlzIGRlZmVyIHRoZSBkaXNwYXRjaCBvZiB0
aGUgY29udGV4dCBsb3N0IGV2ZW50LCB0byBpbXBsZW1lbnQKICAgICAvLyB0aGUgc3BlYyBiZWhh
dmlvciBvZiBxdWV1ZWluZyBhIHRhc2suCi0gICAgbV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaENvbnRleHRMb3N0RXZlbnRUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpmb3JjZVJlc3RvcmVDb250ZXh0KCkKQEAgLTQ2ODMsNyArNDY4Myw3IEBAIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCgpCiAgICAgfQogCiAgICAg
aWYgKCFtX3Jlc3RvcmVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3RvcmVUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBQbGF0Zm9ybUxheWVyKiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpwbGF0Zm9y
bUxheWVyKCkgY29uc3QKQEAgLTU2MTQsNyArNTYxNCw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6ZGlzcGF0Y2hDb250ZXh0TG9zdEV2ZW50KCkKICAgICBjYW52YXMoKS5kaXNw
YXRjaEV2ZW50KGV2ZW50KTsKICAgICBtX3Jlc3RvcmVBbGxvd2VkID0gZXZlbnQtPmRlZmF1bHRQ
cmV2ZW50ZWQoKTsKICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RDb250ZXh0
ICYmIG1fcmVzdG9yZUFsbG93ZWQpCi0gICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCkBAIC01
Njc5LDcgKzU2NzksNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVz
dG9yZUNvbnRleHQoKQogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dChHcmFw
aGljc0NvbnRleHQzRDo6Y3JlYXRlKG1fYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOwogICAgIGlm
ICghY29udGV4dCkgewogICAgICAgICBpZiAobV9jb250ZXh0TG9zdE1vZGUgPT0gUmVhbExvc3RD
b250ZXh0KQotICAgICAgICAgICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHNlY29uZHNC
ZXR3ZWVuUmVzdG9yZUF0dGVtcHRzKTsKKyAgICAgICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0
T25lU2hvdCh0aW1lQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CiAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgIC8vIFRoaXMgbGlrZWx5IHNob3VsZG4ndCBoYXBwZW4gYnV0IGlzIHRoZSBiZXN0IHdh
eSB0byByZXBvcnQgaXQgdG8gdGhlIFdlYkdMIGFwcC4KICAgICAgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgIiIsICJlcnJvciBy
ZXN0b3JpbmcgY29udGV4dCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUGFyc2VyU2NoZWR1bGVyLmNwcAppbmRleCAyODMzN2Q4NmQ1M2Y4OWRlYTUzOThiZjYzYzZm
YjhjMTEzNWQzNjFkLi5lNmMzODJmNDQ1ODUyZWEwMjdhOTEyNmY2MzkzMTY5OWIzYTJiMmE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVy
LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6Y29udGlu
dWVOZXh0Q2h1bmtUaW1lckZpcmVkKCkKICAgICAvLyBGSVhNRTogVGhlIHRpbWVyIGNsYXNzIHNo
b3VsZCBoYW5kbGUgdGltZXIgcHJpb3JpdGllcyBpbnN0ZWFkIG9mIHRoaXMgY29kZS4KICAgICAv
LyBJZiBhIGxheW91dCBpcyBzY2hlZHVsZWQsIHdhaXQgYWdhaW4gdG8gbGV0IHRoZSBsYXlvdXQg
dGltZXIgcnVuIGZpcnN0LgogICAgIGlmIChtX3BhcnNlci5kb2N1bWVudCgpLT5pc0xheW91dFRp
bWVyQWN0aXZlKCkpIHsKLSAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fcGFyc2VyLnJlc3VtZVBhcnNpbmdB
ZnRlcllpZWxkKCk7CkBAIC0xMjAsNyArMTIwLDcgQEAgYm9vbCBIVE1MUGFyc2VyU2NoZWR1bGVy
OjpzaG91bGRZaWVsZEJlZm9yZUV4ZWN1dGluZ1NjcmlwdChQdW1wU2Vzc2lvbiYgc2Vzc2lvbikK
IHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6c2NoZWR1bGVGb3JSZXN1bWUoKQogewogICAgIEFT
U0VSVCghbV9zdXNwZW5kZWQpOwotICAgIG1fY29udGludWVOZXh0Q2h1bmtUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnN1c3BlbmQoKQpAQCAtMTQ4LDcgKzE0
OCw3IEBAIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6cmVzdW1lKCkKICAgICBpZiAoIW1faXNT
dXNwZW5kZWRXaXRoQWN0aXZlVGltZXIpCiAgICAgICAgIHJldHVybjsKICAgICBtX2lzU3VzcGVu
ZGVkV2l0aEFjdGl2ZVRpbWVyID0gZmFsc2U7Ci0gICAgbV9jb250aW51ZU5leHRDaHVua1RpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01l
ZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCAxNWVhMWYwOGMzMDYzYzYxMzQyMGRiZTE1NjY2
NWE4MTgzYmVjNTQ1Li41ZTI5ZTY3ZGNmYmZiMjBiYzIzYmY1MDQ5MWY1Yjc4OWVkYmUwNGQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVu
dHMuY3BwCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6
OnN0YXJ0VGltZXIoKQogICAgIC8vIFRoZSB0aW1lciBpcyByZXF1aXJlZCB0byBzZXQgdGhlIHBy
b3BlcnR5IGRpc3BsYXk6J25vbmUnIG9uIHRoZSBwYW5lbCwKICAgICAvLyBzdWNoIHRoYXQgY2Fw
dGlvbnMgYXJlIGNvcnJlY3RseSBkaXNwbGF5ZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdmlkZW8K
ICAgICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBmYWRlb3V0IHRyYW5zaXRpb24uCi0gICAgZG91Ymxl
IGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2UoKS0+dGhlbWUo
KS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24g
PSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29u
dHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDBfczsKICAgICBtX3RyYW5zaXRpb25UaW1lci5zdGFy
dE9uZVNob3QoZHVyYXRpb24pOwogfQogCkBAIC0xODgsMTAgKzE4OCwxMCBAQCB2b2lkIE1lZGlh
Q29udHJvbFBhbmVsRWxlbWVudDo6bWFrZU9wYXF1ZSgpCiAgICAgaWYgKG1fb3BhcXVlKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/
IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigp
IDogMDsKKyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgp
LnBhZ2UoKS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSA6IDBfczsKIAog
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHks
IENTU1Byb3BlcnR5T3BhY2l0eSk7Ci0gICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25EdXJhdGlvbiwgZHVyYXRpb24sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
Uyk7CisgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eVRyYW5zaXRpb25EdXJh
dGlvbiwgZHVyYXRpb24udmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5T3BhY2l0eSwgMS4wLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAKICAgICBtX29wYXF1ZSA9IHRydWU7CkBAIC0yMDUsMTAg
KzIwNSwxMCBAQCB2b2lkIE1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50
KCkKICAgICBpZiAoIW1fb3BhcXVlKQogICAgICAgICByZXR1cm47CiAKLSAgICBkb3VibGUgZHVy
YXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1l
ZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGRv
Y3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9s
c0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShD
U1NQcm9wZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJh
dGlvbiwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJv
cGVydHlPcGFjaXR5LCAwLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAg
IG1fb3BhcXVlID0gZmFsc2U7CkBAIC0xMzM2LDcgKzEzMzYsNyBAQCB2b2lkIE1lZGlhQ29udHJv
bFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnVwZGF0ZVNpemVzKGJvb2wgZm9yY2VVcGRhdGUp
CiAgICAgbV91cGRhdGVUZXh0VHJhY2tSZXByZXNlbnRhdGlvblN0eWxlID0gdHJ1ZTsKIAogICAg
IC8vIEZJWE1FICgxMjExNzApOiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgbGF5b3V0
LCBhbmQgc2hvdWxkIGxheSBvdXQgdGhlIHRleHQgdHJhY2tzIGltbWVkaWF0ZWx5LgotICAgIG1f
dXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIFJlZlB0cjxJbWFnZT4gTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFp
bmVyRWxlbWVudDo6Y3JlYXRlVGV4dFRyYWNrUmVwcmVzZW50YXRpb25JbWFnZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwCmluZGV4IDIxMGY2
YTlkZjVhYzc3MTc1YTk4MTJhYzA1MTA0MjIzMmEzNDBmMzMuLjgwZmJiMzViMDFlZTc4MjU3NTU5
YWE3MWViNzM2YTViMWI5ZTg1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svTG9hZGFibGVUZXh0VHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
TG9hZGFibGVUZXh0VHJhY2suY3BwCkBAIC01OCw3ICs1OCw3IEBAIHZvaWQgTG9hZGFibGVUZXh0
VHJhY2s6OnNjaGVkdWxlTG9hZChjb25zdCBVUkwmIHVybCkKICAgICAvLyAzLiBBc3luY2hyb25v
dXNseSBydW4gdGhlIHJlbWFpbmluZyBzdGVwcywgd2hpbGUgY29udGludWluZyB3aXRoIHdoYXRl
dmVyIHRhc2sgCiAgICAgLy8gd2FzIHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGUgdGV4dCB0
cmFjayBvciBjaGFuZ2luZyB0aGUgdGV4dCB0cmFjayBtb2RlLgogICAgIGlmICghbV9sb2FkVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogRWxlbWVudCogTG9hZGFi
bGVUZXh0VHJhY2s6OmVsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9WVFRSZWdpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24u
Y3BwCmluZGV4IDA1NzhiZjkxMjY3Y2I1NTBhZjAyZGI3ZTIyM2RkNDM2YzA3ZDUxYjYuLjY2NjY5
NDc1YTBiZWNlMjc3MDgyMWQxMzZiYTgwMTk3ZTc3NzM3N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1ZUVFJlZ2lvbi5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogc3RhdGljIGNvbnN0IGZsb2F0IGxpbmVIZWlnaHQgPSA1LjMzOwogCiAvLyBEZWZhdWx0IHNj
cm9sbGluZyBhbmltYXRpb24gdGltZSBwZXJpb2QgKHMpLgotc3RhdGljIGNvbnN0IGZsb2F0IHNj
cm9sbFRpbWUgPSAwLjQzMzsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNjcm9sbFRpbWUgPSA0MzNf
bXM7CiAKIFZUVFJlZ2lvbjo6VlRUUmVnaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKQEAgLTQwMyw3
ICs0MDMsNyBAQCB2b2lkIFZUVFJlZ2lvbjo6c3RhcnRUaW1lcigpCiAgICAgaWYgKG1fc2Nyb2xs
VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZG91YmxlIGR1cmF0aW9u
ID0gaXNTY3JvbGxpbmdSZWdpb24oKSA/IHNjcm9sbFRpbWUgOiAwOworICAgIGF1dG8gZHVyYXRp
b24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGltZSA6IDBfczsKICAgICBtX3Njcm9s
bFRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCmluZGV4IDNkNTQyMjFjNWRjODkzY2RkOTU3
MWRjM2YzYjFmZTY4N2JiMDg2MzMuLjZiNTZjMThmMmFkZWYyNzcxZWNkZTA5ZjdmNDcwN2U3ZDEw
YzkzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NB
Z2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcApAQCAtMTI4LDcgKzEyOCw3IEBAIHZvaWQgQ2hhbmdlUmVnaW9uT3ZlcnNldFRhc2s6OnNj
aGVkdWxlRm9yKFdlYktpdE5hbWVkRmxvdyogbmFtZWRGbG93LCBpbnQgZG9jdW1lCiAgICAgbV9u
YW1lZEZsb3dzLmFkZChuYW1lZEZsb3csIGRvY3VtZW50Tm9kZUlkKTsKIAogICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDaGFuZ2VSZWdpb25PdmVy
c2V0VGFzazo6dW5zY2hlZHVsZShXZWJLaXROYW1lZEZsb3cqIG5hbWVkRmxvdykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDgzYTAyNGJj
ZGRkMjEzMDk3ODc1OTg3MjI0MTI3MWUwYThmYjNmMGYuLjkxMjcyNjJhZTg4YWNjYmI0ZTRlZTFm
ODYxN2Q5ZDMyZjQxZThjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcApAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgUmV2YWxpZGF0ZVN0eWxl
QXR0cmlidXRlVGFzazo6c2NoZWR1bGVGb3IoRWxlbWVudCogZWxlbWVudCkKIHsKICAgICBtX2Vs
ZW1lbnRzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgUmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzazo6dGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5jcHAKaW5kZXggOGEzNWExNzllYjhiZjU5YjRiYzA5OGRjNmVkYzkw
Y2RlMGRhMDU5My4uNTE4YWFkZjdkMTIyNjhhNDdmOGYyYjUzMDlmYzNmNTQxYWU4NTMxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsLmNwcApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgbV9t
ZXNzYWdlcy5hcHBlbmQobWVzc2FnZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIHZvaWQgcmVzZXQoKQpAQCAtMTAy
LDcgKzEwMiw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1faW5zcGVjdGVkUGFnZUNvbnRyb2xs
ZXItPmRpc3BhdGNoTWVzc2FnZUZyb21Gcm9udGVuZChtX21lc3NhZ2VzLnRha2VGaXJzdCgpKTsK
IAogICAgICAgICBpZiAoIW1fbWVzc2FnZXMuaXNFbXB0eSgpICYmIG1faW5zcGVjdGVkUGFnZUNv
bnRyb2xsZXIpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCmluZGV4IDVmY2EzMTBk
MDBhYzIxZGM3YjYxYmUwYTlmZTA1NWM4YjdmN2FhZDguLjE4NmU3MDBiZGEyZWIyODYwZTE1MzQy
YzQ1NjQxMjUwZDU1ZDBlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKQEAgLTUwOSw4ICs1MDksOCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6
OnNob3dQYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fcGFpbnRSZWN0cy5h
cHBlbmQoVGltZVJlY3RQYWlyKHJlbW92ZVRpbWUsIHJvb3RSZWN0KSk7CiAKICAgICBpZiAoIW1f
cGFpbnRSZWN0VXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAgICBjb25zdCBkb3VibGUg
cGFpbnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyA9IDAuMDMyOwotICAgICAgICBtX3BhaW50
UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbFNl
Y29uZHMpOworICAgICAgICBjb25zdCBhdXRvIHBhaW50UmVjdHNVcGRhdGVJbnRlcnZhbCA9IDMy
X21zOworICAgICAgICBtX3BhaW50UmVjdFVwZGF0ZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKHBhaW50
UmVjdHNVcGRhdGVJbnRlcnZhbCk7CiAgICAgfQogCiAgICAgZHJhd1BhaW50UmVjdHMoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwCmlu
ZGV4IDNhYWE1MmE2YjhhYTYyZjNkYzc4ZDEyNGFkY2UxOGFlZDA3OTdmOTcuLjc5MGRhMTczYTNl
NTBiNjQ1MmFhMTBjNWM1ODk0ZTI4MDIxMzU4NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXBsYXlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNwcApAQCAtMTUxLDcgKzE1MSw3IEBAIHN0
YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6UmVwbGF5OjpTZXNzaW9uU2VnbWVudD4gYnVp
bGRJbnNwZWN0b3JPYmplY3RGb3JTCiAKICAgICByZXR1cm4gSW5zcGVjdG9yOjpQcm90b2NvbDo6
UmVwbGF5OjpTZXNzaW9uU2VnbWVudDo6Y3JlYXRlKCkKICAgICAgICAgLnNldElkKHNlZ21lbnQt
PmlkZW50aWZpZXIoKSkKLSAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAo
KSkKKyAgICAgICAgLnNldFRpbWVzdGFtcChzZWdtZW50LT50aW1lc3RhbXAoKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCkpCiAgICAgICAgIC5zZXRRdWV1ZXMoV1RGTW92ZShxdWV1ZXNPYmpl
Y3QpKQogICAgICAgICAucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKaW5kZXggMmQzY2Q5NTBlMzE4NDM5MzdiOGI3MDVkMzE3NTRiMzhhYTMzYjg1
OS4uOTBjZWU2MjY2YWFhYzkxNmM2YjI5ZWM0NmE5ZjE0NmQxNmQ2NjRjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC00ODksNyArNDg5LDcgQEAgdm9pZCBE
b2N1bWVudExvYWRlcjo6aGFuZGxlU3Vic3RpdHV0ZURhdGFMb2FkTm93KCkKIAogdm9pZCBEb2N1
bWVudExvYWRlcjo6c3RhcnREYXRhTG9hZFRpbWVyKCkKIHsKLSAgICBtX2RhdGFMb2FkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IAogI2lmIEhBVkUoUlVOTE9PUF9USU1FUikKICAgICBpZiAoU2NoZWR1bGVQYWlySGFzaFNldCog
c2NoZWR1bGVkUGFpcnMgPSBtX2ZyYW1lLT5wYWdlKCktPnNjaGVkdWxlZFJ1bkxvb3BQYWlycygp
KQpAQCAtMTIyNSw3ICsxMjI1LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1YnN0
aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KCkKICAgICBpZiAobV9mcmFtZS0+cGFnZSgpLT5kZWZl
cnNMb2FkaW5nKCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIW1fc3Vic3RpdHV0ZVJlc291
cmNlRGVsaXZlcnlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N1YnN0aXR1dGVSZXNvdXJj
ZURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3N1YnN0aXR1dGVSZXNv
dXJjZURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnRM
b2FkZXI6OnN1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBiZDU1NDM3N2IxNjQ1MjRhNDZmMDAxMWI2Mjkz
ZDZjMTg4OTUxZWM2Li5iM2Y2NDNhYWYxZWYzZDI3NGU0N2EzYzBiNjYwYjFkYTYzNGI0YjliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTg0Niw3ICs4NDYsNyBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpzdGFydENoZWNrQ29tcGxldGVUaW1lcigpCiAgICAgICAgIHJldHVy
bjsKICAgICBpZiAobV9jaGVja1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAg
ICBtX2NoZWNrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY2hlY2tUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6c2NoZWR1bGVDaGVja0NvbXBsZXRl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCBhNTNhZjExYmI5Zjkz
YmEyYTgxMjNkYjFhODEwZjM4ODc5OTZmZGM1Li43NzliZjc1MWI0MmVhYjk1MTQ5OWU4MzI1ZmQw
OWQ1M2QxOTk1MTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTM2
NSw3ICszNjUsNyBAQCB2b2lkIEltYWdlTG9hZGVyOjp1cGRhdGVkSGFzUGVuZGluZ0V2ZW50KCkK
ICAgICAgICAgICAgIG1fcHJvdGVjdGVkRWxlbWVudCA9ICZlbGVtZW50KCk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgQVNTRVJUKCFtX2RlcmVmRWxlbWVudFRpbWVyLmlzQWN0aXZlKCkpOwotICAg
ICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kZXJl
ZkVsZW1lbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9ICAgCiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCA3ZWZmYWQ3ZmEx
YzVhYTM0NDZlYWMwMDI5NjE4ZjEyYmI1NzViNGU1Li4yYmQ5ZDkzNWE3ZDQyZWRlZWViMmFmM2Zm
MzIyMjczNjBmY2M0OGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBtX2hh
dmVUb2xkQ2xpZW50ID0gdHJ1ZTsKIAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0
dXJlSW5kaWNhdG9yKHVzZXJHZXN0dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2Fk
ZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fdXJsLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fdXJsLCBkZWxheSgpLCBjdXJyZW50VGlt
ZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVlKCksIGxvY2tCYWNrRm9yd2FyZExp
c3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGltZXIoRnJhbWUmIGZyYW1lLCBib29s
IG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtMjc1LDcgKzI3NSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgbV9oYXZlVG9sZENsaWVudCA9IHRydWU7CiAKICAgICAgICAgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRvRm9yd2FyZCgpKTsKLSAgICAg
ICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVkaXJlY3RlZChtX3N1Ym1pc3Npb24tPnJlcXVlc3RV
UkwoKSwgZGVsYXkoKSwgY3VycmVudFRpbWUoKSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSwg
bG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2xpZW50UmVk
aXJlY3RlZChtX3N1Ym1pc3Npb24tPnJlcXVlc3RVUkwoKSwgZGVsYXkoKSwgY3VycmVudFRpbWUo
KSArIHRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKS52YWx1ZSgpLCBsb2NrQmFja0ZvcndhcmRMaXN0
KCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlkU3RvcFRpbWVyKEZyYW1lJiBmcmFtZSwgYm9vbCBu
ZXdMb2FkSW5Qcm9ncmVzcykgb3ZlcnJpZGUKQEAgLTUzOSw3ICs1MzksNyBAQCB2b2lkIE5hdmln
YXRpb25TY2hlZHVsZXI6OnN0YXJ0VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICBkb3Vi
bGUgZGVsYXkgPSBtX3JlZGlyZWN0LT5kZWxheSgpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KGRlbGF5KTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5KSk7CiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVNjaGVkdWxlZE5hdmlnYXRpb24obV9mcmFt
ZSwgZGVsYXkpOwogICAgIG1fcmVkaXJlY3QtPmRpZFN0YXJ0VGltZXIobV9mcmFtZSwgbV90aW1l
cik7IC8vIG1fcmVkaXJlY3QgbWF5IGJlIG51bGwgb24gcmV0dXJuIChlLmcuIHRoZSBjbGllbnQg
Y2FuY2VsZWQgdGhlIGxvYWQpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwCmluZGV4IGZlMGM3MjI5ZTZlYWI2NWY1NmUyNGRkYWMxYmJkNGQ1OTA0N2IxNWUuLjdl
YWZkMzA1NmM5NzRiMDM5Nzg2YWVjZTYyOTg1NDgyZmQ4NTRmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBjb25z
dCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBpbml0aWFsUHJvZ3Jl
c3NWYWx1ZQogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0aW1hdGVkTGVu
Z3RoID0gMTAyNCAqIDE2OwogCiAvLyBDaGVjayBpZiB0aGUgbG9hZCBpcyBwcm9ncmVzc2luZyB0
aGlzIG9mdGVuLgotc3RhdGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc0hlYXJ0YmVhdEludGVydmFs
ID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvZ3Jlc3NIZWFydGJlYXRJbnRlcnZhbCA9
IDAuMV9zOwogCiAvLyBIb3cgbWFueSBoZWFydGJlYXRzIG11c3QgcGFzcyB3aXRob3V0IHByb2dy
ZXNzIGJlZm9yZSBkZWNpZGluZyB0aGUgbG9hZCBpcyBjdXJyZW50bHkgc3RhbGxlZC4KIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBsb2FkU3RhbGxlZEhlYXJ0YmVhdENvdW50ID0gNDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKaW5kZXggOTZlOTBiNWZkMjJkNTE4YzE1
M2I5ZjgzMDRhOWRlMGQzZTg5YmI4OC4uYjI2NmMzMzEzYjJhNDhiNjMxYjc4M2UwNjE5MjExYjcx
ZjU1ZTZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFja0xvYWRlci5jcHAKQEAg
LTEzOSw3ICsxMzksNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UmIHJlc291cmNlKQogICAgICAgICBtX2N1ZVBhcnNlci0+Zmx1c2goKTsKIAog
ICAgIGlmICghbV9jdWVMb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jdWVMb2FkVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIAogICAgIGNhbmNlbExvYWQoKTsKIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIFRl
eHRUcmFja0xvYWRlcjo6bmV3Q3Vlc1BhcnNlZCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1f
bmV3Q3Vlc0F2YWlsYWJsZSA9IHRydWU7Ci0gICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRl
eHRUcmFja0xvYWRlcjo6bmV3UmVnaW9uc1BhcnNlZCgpCkBAIC0xODcsNyArMTg3LDcgQEAgdm9p
ZCBUZXh0VHJhY2tMb2FkZXI6OmZpbGVGYWlsZWRUb1BhcnNlKCkKICAgICBtX3N0YXRlID0gRmFp
bGVkOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAppbmRl
eCAzN2FjNzVkYmY1MDFjNDhiNjZkMDViZTQ1OTUzYTU2MTdjZjkyZTEwLi40MWZlOTgzNmNhNjYy
NjZlZmVhMzI1NmIyMzM0YmYxZGEzMDkwMWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcApAQCAtMTA3MCw3
ICsxMDcwLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1h
eEFwcENhY2hlU2l6ZUNhbGxiYWNrKCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwog
ICAgIENocm9tZUNsaWVudENhbGxiYWNrVGltZXIqIHRpbWVyID0gbmV3IENocm9tZUNsaWVudENh
bGxiYWNrVGltZXIodGhpcyk7Ci0gICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1l
ci0+c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgLy8gVGhlIHRpbWVyIHdpbGwgZGVsZXRlIGl0c2Vs
ZiBvbmNlIGl0IGZpcmVzLgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlLmNwcAppbmRleCBmNjgwY2M0Zjk1ZDJlZjY0NzQ0OGQ1NTljOWVjODlmNDkz
YTA5YTk5Li42NmE5ZjhmMWZjNGJhZGUzZGJmMGQ1MWZhZDc3Y2NiYzI2YTYzYTBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTEwMywx
MCArMTAzLDEwIEBAIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291cmNlOjpkZWZhdWx0
UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQogICAgIHJldHVybiBSZXNvdXJjZUxv
YWRQcmlvcml0eTo6TG93OwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291
cmNlOjpUeXBlIHR5cGUpCitzdGF0aWMgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsRm9yUmVzb3VyY2VUeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUpCiB7CiAgICAg
aWYgKHR5cGUgPT0gQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiAwX3M7CiAKICAgICBy
ZXR1cm4gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwoKTsKIH0KQEAgLTU0Miw3ICs1NDIsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpkZXN0
cm95RGVjb2RlZERhdGFJZk5lZWRlZCgpCiB7CiAgICAgaWYgKCFtX2RlY29kZWRTaXplKQogICAg
ICAgICByZXR1cm47Ci0gICAgaWYgKCFNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpLmNvdW50KCkpCisgICAgaWYgKCFNZW1vcnlDYWNoZTo6
c2luZ2xldG9uKCkuZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpKQogICAgICAgICBy
ZXR1cm47CiAgICAgbV9kZWNvZGVkRGF0YURlbGV0aW9uVGltZXIucmVzdGFydCgpOwogfQpAQCAt
ODE5LDcgKzgxOSw3IEBAIGlubGluZSBDYWNoZWRSZXNvdXJjZTo6Q2FsbGJhY2s6OkNhbGxiYWNr
KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgQ2FjaGVkUmVzb3VyCiAgICAgLCBtX2NsaWVudChj
bGllbnQpCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmQ2FsbGJhY2s6OnRpbWVyRmlyZWQpCiB7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogaW5saW5lIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpjYW5jZWwoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAKaW5kZXggZTE2M2U4YmE3N2QxM2U3NzIyZTkyZjNkZjM2MTFmYjc1OTMzNTRhYS4uYzUw
ZDZkNDYwZjViMjQ0MGY5YjM2NjkzYzYxMmFhOTg2Y2U0M2U0YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMTYz
LDcgKzExNjMsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZShDYWNoZWRS
ZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkUGVyZm9ybQogICAgICAgICBwZXJmb3JtUG9z
dExvYWRBY3Rpb25zKCk7CiAKICAgICBpZiAoIW1fZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJlc291
cmNlc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZ2FyYmFnZUNvbGxlY3REb2N1bWVudFJl
c291cmNlc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9nYXJiYWdlQ29sbGVjdERv
Y3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIC8vIEdhcmJhZ2Ug
Y29sbGVjdGluZyBtX2RvY3VtZW50UmVzb3VyY2VzIGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCBkOGQzMGRm
YzRlZTkxMDNiMzRkZjhhMTdiYmQ0NzVkZDhhOWU4Mjc5Li45MTAwNzQ3MTFkMjcxOTk4OGMzM2Qy
NzEzMzAyMzY4MGQwOTBlMDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGlj
IGNvbnN0IGludCBjRGVmYXVsdENhY2hlQ2FwYWNpdHkgPSA4MTkyICogMTAyNDsKIHN0YXRpYyBj
b25zdCBkb3VibGUgY01pbkRlbGF5QmVmb3JlTGl2ZURlY29kZWRQcnVuZSA9IDE7IC8vIFNlY29u
ZHMuCiBzdGF0aWMgY29uc3QgZmxvYXQgY1RhcmdldFBydW5lUGVyY2VudGFnZSA9IC45NWY7IC8v
IFBlcmNlbnRhZ2Ugb2YgY2FwYWNpdHkgdG93YXJkIHdoaWNoIHdlIHBydW5lLCB0byBhdm9pZCBp
bW1lZGlhdGVseSBwcnVuaW5nIGFnYWluLgotc3RhdGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9Oworc3Rh
dGljIGNvbnN0IGF1dG8gZGVmYXVsdERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDBfczsK
IAogTWVtb3J5Q2FjaGUmIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKQogewpAQCAtNzY3LDExICs3
NjcsMTMgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cHJ1bmUoKQogCiB2b2lkIE1lbW9yeUNhY2hlOjpw
cnVuZVNvb24oKQogewotICAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCisgICAgaWYg
KG1fcHJ1bmVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgIGlmICghbmVl
ZHNQcnVuaW5nKCkpCi0gICAgICAgICByZXR1cm47Ci0gICAgIG1fcHJ1bmVUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisKKyAgICBpZiAoIW5lZWRzUHJ1bmluZygpKQorICAgICAgICByZXR1cm47CisK
KyAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZm5kZWYgTkRFQlVH
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IDE4MzZjMmJm
MTAwOWVlN2FlZDI0OTYzMDUzOGYyODJiZTU4ZDE3MGQuLjc5YzBhMjY5ZDA1NmVmODk5Y2E2YWNj
NDI1YmNmNzFhMTE5MjZiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5oCkBAIC0xMjUsOCArMTI1LDggQEAgcHVibGljOgogICAgIHZvaWQgcHJ1bmVTb29uKCk7
CiAgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGl2ZVNpemUgKyBtX2RlYWRT
aXplOyB9CiAKLSAgICB2b2lkIHNldERlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkgeyBtX2RlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0RGVhZERlY29kZWREYXRh
RGVsZXRpb25JbnRlcnZhbChTZWNvbmRzIGludGVydmFsKSB7IG1fZGVhZERlY29kZWREYXRhRGVs
ZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsOyB9CiAKICAgICAvLyBDYWxscyB0byBwdXQgdGhlIGNhY2hlZCByZXNvdXJjZSBp
bnRvIGFuZCBvdXQgb2YgTFJVIGxpc3RzLgogICAgIHZvaWQgaW5zZXJ0SW5MUlVMaXN0KENhY2hl
ZFJlc291cmNlJik7CkBAIC0xOTksNyArMTk5LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBt
X2NhcGFjaXR5OwogICAgIHVuc2lnbmVkIG1fbWluRGVhZENhcGFjaXR5OwogICAgIHVuc2lnbmVk
IG1fbWF4RGVhZENhcGFjaXR5OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9kZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOworICAgIFNlY29uZHMgbV9kZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQgbV9saXZlU2l6ZTsgLy8gVGhlIG51
bWJlciBvZiBieXRlcyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImxpdmUiIHJlc291cmNlcyBpbiB0
aGUgY2FjaGUuCiAgICAgdW5zaWduZWQgbV9kZWFkU2l6ZTsgLy8gVGhlIG51bWJlciBvZiBieXRl
cyBjdXJyZW50bHkgY29uc3VtZWQgYnkgImRlYWQiIHJlc291cmNlcyBpbiB0aGUgY2FjaGUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcAppbmRleCBlZTQzN2U4
NjI4ZWJmNGU4NjMyN2NjNzcwMzBmNWY2OTRlMzBiYjJkLi4xNWRjMzJjYWYwOGJlZWE2ZmQ5Y2U2
NzNmMTBmMWRhMTg3M2MyOWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNv
bi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgc3RhdGljIGNvbnN0IGludCBjdXJyZW50RGF0
YWJhc2VWZXJzaW9uID0gNjsKIC8vIEljb25zIGV4cGlyZSBvbmNlIGV2ZXJ5IDQgZGF5cwogc3Rh
dGljIGNvbnN0IGludCBpY29uRXhwaXJhdGlvblRpbWUgPSA2MCo2MCoyNCo0OyAKIAotc3RhdGlj
IGNvbnN0IGludCB1cGRhdGVUaW1lckRlbGF5ID0gNTsgCitzdGF0aWMgY29uc3QgU2Vjb25kcyB1
cGRhdGVUaW1lckRlbGF5ID0gNV9zOwogCiBzdGF0aWMgYm9vbCBjaGVja0ludGVncml0eU9uT3Bl
biA9IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0F1dG9zY3JvbGxD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIu
Y3BwCmluZGV4IGE3YzdhNThlN2QzMTVlZGZiZjljNTBlMGE4NzFjMjBjYjcyZjRjYTIuLjI1ZWVh
NWQwZDhjMjc5MWYyY2FkNWZhZGZiOTc3MjM0NDRkZWJkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBkb3VibGUgYXV0b3Njcm9sbERlbGF5ID0gMC4yOwog
CiAvLyBXaGVuIHRoZSBhdXRvc2Nyb2xsIG9yIHRoZSBwYW5TY3JvbGwgaXMgdHJpZ2dlcmVkIHdo
ZW4gZG8gdGhlIHNjcm9sbCBldmVyeSAwLjA1cyB0byBtYWtlIGl0IHNtb290aAotc3RhdGljIGNv
bnN0IGRvdWJsZSBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1Oworc3RhdGljIGNvbnN0IFNlY29u
ZHMgYXV0b3Njcm9sbEludGVydmFsID0gMC4wNV9zOwogCiAjaWYgRU5BQkxFKFBBTl9TQ1JPTExJ
TkcpCiBzdGF0aWMgRnJhbWUqIGdldE1haW5GcmFtZShGcmFtZSogZnJhbWUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXMuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcAppbmRleCBjZmVhMTBjNGQ5
Y2VlYTM0Y2JkZmQyMTBiNTNmNzFhYTdmODFiZTQ0Li4wMDAxMmMwNTVkNzU3ZTBkYTBhZTNjYWRl
Nzk0NjM4ZjQzZjA0MmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzOjpub3RpZnkoKQogCiAgICAgbV9oYXZlUHJlZmVyZW5jZXMgPSB0cnVlOwogICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogQ2FwdGlvblVzZXJQcmVmZXJl
bmNlczo6Q2FwdGlvbkRpc3BsYXlNb2RlIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6OmNhcHRpb25E
aXNwbGF5TW9kZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlv
blVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwCmluZGV4IDk4YjIyYmFmZTJjZmJiZDZhMGMyMTkx
MTIzNTBlN2M5MDcwZmIyNTguLjVkNmNkNDkzODQ1Y2RiZTgyYjMxZDIwZjVlZWZkMTY2MTQ0NTg5
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNl
c01lZGlhQUYuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJl
bmNlc01lZGlhQUYuY3BwCkBAIC0yNDYsNyArMjQ2LDcgQEAgdm9pZCBDYXB0aW9uVXNlclByZWZl
cmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFuZ2VzKCkK
IAogICAgIC8vIEdlbmVyYXRpbmcgYW5kIHJlZ2lzdGVyaW5nIHRoZSBjYXB0aW9uIHN0eWxlc2hl
ZXQgY2FuIGJlIGV4cGVuc2l2ZSBhbmQgdGhpcyBtZXRob2QgaXMgY2FsbGVkIGluZGlyZWN0bHkg
d2hlbiB0aGUgcGFyc2VyIGNyZWF0ZXMgYW4gYXVkaW8gb3IKICAgICAvLyB2aWRlbyBlbGVtZW50
LCBzbyBkbyBpdCBhZnRlciBhIGJyaWVmIHBhdXNlLgotICAgIG1fdXBkYXRlU3R5bGVTaGVldFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZVN0eWxlU2hlZXRUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6Y2Fw
dGlvblByZWZlcmVuY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCmluZGV4IGE5
NjlkOTQ4ZTdlMzljMDI2OWM1YTMwZmY5Y2QwMTdjOTJkZDk1OGMuLjMyNDc2MTczMDUyOGI0NDMw
MTA3NWRkZjk5OTYwYTFmM2JhNDQ4ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwCkBAIC01
MSw4ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGF1dG8g
bWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxMDAwbXM7IC8vIE9uZSBzZWNv
bmQgbWF0Y2hlcyBHZWNrby4KLXN0YXRpYyBjb25zdCBhdXRvIG1pbkludGVydmFsRm9yTm9uVXNl
ck9ic2VydmFibGVDaGFuZ2VUaW1lcnMgPSAxMDAwbXM7IC8vIEVtcGlyaWNhbGx5IGRldGVybWlu
ZWQgdG8gbWF4aW1pemUgYmF0dGVyeSBsaWZlLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4SW50
ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcgPSAxX3M7IC8vIE9uZSBzZWNvbmQgbWF0Y2hl
cyBHZWNrby4KK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbkludGVydmFsRm9yTm9uVXNlck9ic2Vy
dmFibGVDaGFuZ2VUaW1lcnMgPSAxX3M7IC8vIEVtcGlyaWNhbGx5IGRldGVybWluZWQgdG8gbWF4
aW1pemUgYmF0dGVyeSBsaWZlLgogc3RhdGljIGNvbnN0IGludCBtYXhUaW1lck5lc3RpbmdMZXZl
bCA9IDU7CiAKIGNsYXNzIERPTVRpbWVyRmlyZVN0YXRlIHsKQEAgLTE2MCwxNCArMTYwLDE0IEBA
IHByaXZhdGU6CiAKIGJvb2wgTmVzdGVkVGltZXJzTWFwOjppc1RyYWNraW5nTmVzdGVkVGltZXJz
ID0gZmFsc2U7CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKK3N0
YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRGb3J3YXJkVXNlckdlc3R1cmUoU2Vjb25kcyBpbnRlcnZh
bCwgaW50IG5lc3RpbmdMZXZlbCkKIHsKICAgICByZXR1cm4gVXNlckdlc3R1cmVJbmRpY2F0b3I6
OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpCiAgICAgICAgICYmIGludGVydmFsIDw9IG1heEludGVy
dmFsRm9yVXNlckdlc3R1cmVGb3J3YXJkaW5nCiAgICAgICAgICYmICFuZXN0aW5nTGV2ZWw7IC8v
IEdlc3R1cmVzIHNob3VsZCBub3QgYmUgZm9yd2FyZGVkIHRvIG5lc3RlZCB0aW1lcnMuCiB9CiAK
LXN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJHZXN0dXJlVG9rZW5U
b0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdM
ZXZlbCkKK3N0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJHZXN0dXJl
VG9rZW5Ub0ZvcndhcmQoU2Vjb25kcyBpbnRlcnZhbCwgaW50IG5lc3RpbmdMZXZlbCkKIHsKICAg
ICBpZiAoIXNob3VsZEZvcndhcmRVc2VyR2VzdHVyZShpbnRlcnZhbCwgbmVzdGluZ0xldmVsKSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xNzUsMTIgKzE3NSwxMSBAQCBzdGF0aWMgaW5s
aW5lIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKHN0
ZDo6Y2hyb25vOjptaQogICAgIHJldHVybiBVc2VyR2VzdHVyZUluZGljYXRvcjo6Y3VycmVudFVz
ZXJHZXN0dXJlKCk7CiB9CiAKLURPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hvdCkKK0RPTVRp
bWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1
ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2lu
Z2xlU2hvdCkKICAgICA6IFN1c3BlbmRhYmxlVGltZXIoY29udGV4dCkKICAgICAsIG1fbmVzdGlu
Z0xldmVsKGNvbnRleHQudGltZXJOZXN0aW5nTGV2ZWwoKSkKICAgICAsIG1fYWN0aW9uKFdURk1v
dmUoYWN0aW9uKSkKICAgICAsIG1fb3JpZ2luYWxJbnRlcnZhbChpbnRlcnZhbCkKLSAgICAsIG1f
dGhyb3R0bGVTdGF0ZShVbmRldGVybWluZWQpCiAgICAgLCBtX2N1cnJlbnRUaW1lckludGVydmFs
KGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpKQogICAgICwgbV91c2VyR2VzdHVyZVRva2VuVG9G
b3J3YXJkKHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQoaW50ZXJ2YWwsIG1fbmVzdGluZ0xldmVs
KSkKIHsKQEAgLTIwMSw3ICsyMDAsNyBAQCBET01UaW1lcjo6fkRPTVRpbWVyKCkKIHsKIH0KIAot
aW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0
ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpCitpbnQgRE9NVGltZXI6Omluc3RhbGwo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxl
ZEFjdGlvbj4gYWN0aW9uLCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkKIHsKICAg
ICAvLyBET01UaW1lciBjb25zdHJ1Y3RvciBwYXNzZXMgb3duZXJzaGlwIG9mIHRoZSBpbml0aWFs
IHJlZiBvbiB0aGUgb2JqZWN0IHRvIHRoZSBjb25zdHJ1Y3Rvci4KICAgICAvLyBUaGlzIHJlZmVy
ZW5jZSB3aWxsIGJlIHJlbGVhc2VkIGF1dG9tYXRpY2FsbHkgd2hlbiBhIG9uZS1zaG90IHRpbWVy
IGZpcmVzLCB3aGVuIHRoZSBjb250ZXh0CkBAIC0yMTAsNyArMjA5LDcgQEAgaW50IERPTVRpbWVy
OjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWQKICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKGlzPERvY3VtZW50Pihjb250
ZXh0KSkgewogICAgICAgICBib29sIGRpZERlZmVyVGltZW91dCA9IGNvbnRleHQuYWN0aXZlRE9N
T2JqZWN0c0FyZVN1c3BlbmRlZCgpOwotICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0
aW1lb3V0LmNvdW50KCkgPD0gMTAwICYmIHNpbmdsZVNob3QpIHsKKyAgICAgICAgaWYgKCFkaWRE
ZWZlclRpbWVvdXQgJiYgdGltZW91dCA8PSAxMDBfbXMgJiYgc2luZ2xlU2hvdCkgewogICAgICAg
ICAgICAgV0tTZXRPYnNlcnZlZENvbnRlbnRDaGFuZ2UoV0tDb250ZW50SW5kZXRlcm1pbmF0ZUNo
YW5nZSk7CiAgICAgICAgICAgICBXZWJUaHJlYWRBZGRPYnNlcnZlZENvbnRlbnRNb2RpZmllcih0
aW1lcik7IC8vIFdpbGwgb25seSB0YWtlIGFmZmVjdCBpZiBub3QgYWxyZWFkeSB2aXNpYmlsaXR5
IGNoYW5nZS4KICAgICAgICAgfQpAQCAtMjE4LDcgKzIxNyw3IEBAIGludCBET01UaW1lcjo6aW5z
dGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBzdGQ6OnVuaXF1ZV9wdHI8U2No
ZWR1bGVkCiAjZW5kaWYKIAogICAgIHRpbWVyLT5zdXNwZW5kSWZOZWVkZWQoKTsKLSAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEluc3RhbGxUaW1lcihjb250ZXh0LCB0aW1lci0+bV90
aW1lb3V0SWQsIHRpbWVvdXQsIHNpbmdsZVNob3QpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkSW5zdGFsbFRpbWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgc3RkOjpj
aHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oc3RkOjpjaHJv
bm86OmR1cmF0aW9uPGRvdWJsZT4odGltZW91dC52YWx1ZSgpKSksIHNpbmdsZVNob3QpOwogCiAg
ICAgLy8gS2VlcCB0cmFjayBvZiBuZXN0ZWQgdGltZXIgaW5zdGFsbHMuCiAgICAgaWYgKE5lc3Rl
ZFRpbWVyc01hcCogbmVzdGVkVGltZXJzID0gTmVzdGVkVGltZXJzTWFwOjppbnN0YW5jZUZvckNv
bnRleHQoY29udGV4dCkpCkBAIC0zOTksMjEgKzM5OCwyMSBAQCB2b2lkIERPTVRpbWVyOjp1cGRh
dGVUaW1lckludGVydmFsSWZOZWNlc3NhcnkoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAo
cmVwZWF0SW50ZXJ2YWwoKSkgewotICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWxNUygpID09
IHByZXZpb3VzSW50ZXJ2YWwpOwotICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGlu
ZyBET01UaW1lcidzIHJlcGVhdCBpbnRlcnZhbCBmcm9tICUiIFBSSWQ2NCAiIG1zIHRvICUiIFBS
SWQ2NCAiIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwuY291
bnQoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5jb3VudCgpKTsKKyAgICAgICAgQVNTRVJUKHJl
cGVhdEludGVydmFsKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7CisgICAgICAgIExPRyhET01UaW1l
cnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20gJS4zZiBt
cyB0byAlLjNmIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZpb3VzSW50ZXJ2YWwu
bWlsbGlzZWNvbmRzKCksIG1fY3VycmVudFRpbWVySW50ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOwog
ICAgICAgICBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHBy
ZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIExPRyhET01UaW1lcnMsICIl
cCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgZmlyZSBpbnRlcnZhbCBmcm9tICUiIFBSSWQ2NCAiIG1z
IHRvICUiIFBSSWQ2NCAiIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZpb3VzSW50
ZXJ2YWwuY291bnQoKSwgbV9jdXJyZW50VGltZXJJbnRlcnZhbC5jb3VudCgpKTsKKyAgICAgICAg
TE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVydmFsIGZy
b20gJS4zZiBtcyB0byAlLjNmIG1zIGR1ZSB0byB0aHJvdHRsaW5nLiIsIHRoaXMsIHByZXZpb3Vz
SW50ZXJ2YWwubWlsbGlzZWNvbmRzKCksIG1fY3VycmVudFRpbWVySW50ZXJ2YWwubWlsbGlzZWNv
bmRzKCkpOwogICAgICAgICBhdWdtZW50RmlyZUludGVydmFsKG1fY3VycmVudFRpbWVySW50ZXJ2
YWwgLSBwcmV2aW91c0ludGVydmFsKTsKICAgICB9CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0CitTZWNvbmRz
IERPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdAogewogICAgIEFTU0VS
VChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIEFTU0VSVChtX25lc3RpbmdMZXZlbCA8
PSBtYXhUaW1lck5lc3RpbmdMZXZlbCk7CiAKLSAgICBhdXRvIGludGVydmFsID0gc3RkOjptYXgo
MW1zLCBtX29yaWdpbmFsSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgx
X21zLCBtX29yaWdpbmFsSW50ZXJ2YWwpOwogCiAgICAgLy8gT25seSBhcHBseSB0aHJvdHRsaW5n
IHRvIHJlcGVhdGluZyB0aW1lcnMuCiAgICAgaWYgKG1fbmVzdGluZ0xldmVsIDwgbWF4VGltZXJO
ZXN0aW5nTGV2ZWwpCkBAIC00MjYsMTkgKzQyNSwyMCBAQCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIERPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0oKSBjb25zdAogICAgIHJldHVy
biBpbnRlcnZhbDsKIH0KIAotc3RkOjpvcHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PiBET01UaW1lcjo6YWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZmly
ZVRpbWUpIGNvbnN0CitzdGQ6Om9wdGlvbmFsPE1vbm90b25pY1RpbWU+IERPTVRpbWVyOjphbGln
bmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSBmaXJlVGltZSkgY29uc3QKIHsKLSAgICBhdXRvIGFs
aWdubWVudEludGVydmFsID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT50aW1lckFsaWdubWVu
dEludGVydmFsKG1fbmVzdGluZ0xldmVsID49IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKLSAgICBp
ZiAoYWxpZ25tZW50SW50ZXJ2YWwgPT0gMG1zKQorICAgIFNlY29uZHMgYWxpZ25tZW50SW50ZXJ2
YWwgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9u
ZXN0aW5nTGV2ZWwgPj0gbWF4VGltZXJOZXN0aW5nTGV2ZWwpOworICAgIGlmIChhbGlnbm1lbnRJ
bnRlcnZhbCA9PSAwX3MpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgCisgICAg
Ly8gRklYTUU6IElzIGl0IGNvcnJlY3QgdG8gaW5pdGlhbGl6ZSByYW5kb21pemVkUHJvcG9ydGlv
biBqdXN0IG9uY2U/CiAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSByYW5kb21pemVkUHJvcG9ydGlv
biA9IHJhbmRvbU51bWJlcigpOwogCi0gICAgLy8gRm9yY2UgYWxpZ25tZW50IHRvIHJhbmRvbWl6
ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWduZW1udEludGVydmFs
cywgZS5nLgorICAgIC8vIEZvcmNlIGFsaWdubWVudCB0byByYW5kb21pemVkQWxpZ25tZW50IGZy
YWN0aW9uIG9mIHRoZSB3YXkgYmV0d2VlbiBhbGlnbm1lbnRJbnRlcnZhbHMsIGUuZy4KICAgICAv
LyBpZiBhbGlnbm1lbnRJbnRlcnZhbCBpcyAxMCBhbmQgcmFuZG9taXplZEFsaWdubWVudCBpcyAw
LjMgdGhpcyB3aWxsIGFsaWduIHRvIDMsIDEzLCAyMywgLi4uCi0gICAgYXV0byByYW5kb21pemVk
T2Zmc2V0ID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcz4oYWxpZ25tZW50SW50ZXJ2YWwgKiByYW5kb21pemVkUHJvcG9ydGlvbik7Ci0gICAgYXV0
byBhZGp1c3RlZEZpcmVUaW1lID0gZmlyZVRpbWUgLSByYW5kb21pemVkT2Zmc2V0OwotICAgIHJl
dHVybiBhZGp1c3RlZEZpcmVUaW1lIC0gKGFkanVzdGVkRmlyZVRpbWUgJSBhbGlnbm1lbnRJbnRl
cnZhbCkgKyBhbGlnbm1lbnRJbnRlcnZhbCArIHJhbmRvbWl6ZWRPZmZzZXQ7CisgICAgU2Vjb25k
cyByYW5kb21pemVkT2Zmc2V0ID0gYWxpZ25tZW50SW50ZXJ2YWwgKiByYW5kb21pemVkUHJvcG9y
dGlvbjsKKyAgICBNb25vdG9uaWNUaW1lIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJh
bmRvbWl6ZWRPZmZzZXQ7CisgICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSBTZWNvbmRzKGZt
b2QoYWRqdXN0ZWRGaXJlVGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCksIGFsaWdubWVu
dEludGVydmFsLnZhbHVlKCkpKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9taXplZE9mZnNl
dDsKIH0KIAogY29uc3QgY2hhciogRE9NVGltZXI6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01UaW1lci5oCmluZGV4IDM5YTA0NjFkYWVlZWUyNWVhYmEzMzk5NmU3YTBk
YzhkZDkxYTY3ODUuLjgyOGI2NGIwMDliYjIyMTkxNWVjN2FkYmE2YWE3NDhlMWFmNjY1ZjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVRpbWVyLmgKQEAgLTQ0LDEzICs0NCwxMyBAQCBjbGFzcyBET01UaW1lciBm
aW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTVRpbWVyPiwgcHVibGljIFN1c3BlbmRhYmxlVGlt
ZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVRpbWVyKCk7CiAKLSAgICBzdGF0aWMgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWZhdWx0TWluaW11bUludGVydmFsKCkgeyByZXR1cm4g
NG1zOyB9Ci0gICAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVmYXVsdEFsaWdu
bWVudEludGVydmFsKCkgeyByZXR1cm4gMG1zOyB9Ci0gICAgc3RhdGljIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgaGlkZGVuUGFnZUFsaWdubWVudEludGVydmFsKCkgeyByZXR1cm4gMTAwMG1z
OyB9CisgICAgc3RhdGljIFNlY29uZHMgZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpIHsgcmV0dXJu
IDRfbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7
IHJldHVybiAwX3M7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50
ZXJ2YWwoKSB7IHJldHVybiAxX3M7IH0KIAogICAgIC8vIENyZWF0ZXMgYSBuZXcgdGltZXIgb3du
ZWQgYnkgc3BlY2lmaWVkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHN0YXJ0cyBpdAogICAgIC8v
IGFuZCByZXR1cm5zIGl0cyBJZC4KLSAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CisgICAgc3RhdGljIGlu
dCBpbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1
bGVkQWN0aW9uPiwgU2Vjb25kcyB0aW1lb3V0LCBib29sIHNpbmdsZVNob3QpOwogICAgIHN0YXRp
YyB2b2lkIHJlbW92ZUJ5SWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGludCB0aW1lb3V0SWQp
OwogCiAgICAgLy8gTm90aWZ5IHRoYXQgdGhlIGludGVydmFsIG1heSBuZWVkIHVwZGF0aW5nIChl
LmcuIGJlY2F1c2UgdGhlIG1pbmltdW0gaW50ZXJ2YWwKQEAgLTYwLDEwICs2MCwxMCBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgc2NyaXB0RGlkSW50ZXJhY3RXaXRoUGx1Z2luKEhUTUxQbHVn
SW5FbGVtZW50Jik7CiAKIHByaXZhdGU6Ci0gICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOworICAgIERPTVRpbWVyKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiwgU2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KTsKICAgICBmcmllbmQgY2xhc3MgSW50ZXJu
YWxzOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbENsYW1wZWRUb01p
bmltdW0oKSBjb25zdDsKKyAgICBTZWNvbmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNv
bnN0OwogCiAgICAgYm9vbCBpc0RPTVRpbWVyc1Rocm90dGxpbmdFbmFibGVkKERvY3VtZW50Jikg
Y29uc3Q7CiAgICAgdm9pZCB1cGRhdGVUaHJvdHRsaW5nU3RhdGVJZk5lY2Vzc2FyeShjb25zdCBE
T01UaW1lckZpcmVTdGF0ZSYpOwpAQCAtNzEsNyArNzEsNyBAQCBwcml2YXRlOgogICAgIC8vIFN1
c3BlbmRhYmxlVGltZXIKICAgICB2b2lkIGZpcmVkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRT
dG9wKCkgb3ZlcnJpZGU7Ci0gICAgc3RkOjpvcHRpb25hbDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzPiBhbGlnbmVkRmlyZVRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcykgY29uc3Qgb3Zl
cnJpZGU7CisgICAgc3RkOjpvcHRpb25hbDxNb25vdG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUo
TW9ub3RvbmljVGltZSkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICAvLyBBY3RpdmVET01PYmplY3Qg
QVBJLgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlk
ZTsKQEAgLTg1LDEwICs4NSwxMCBAQCBwcml2YXRlOgogICAgIGludCBtX3RpbWVvdXRJZDsKICAg
ICBpbnQgbV9uZXN0aW5nTGV2ZWw7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gbV9hY3Rpb247Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX29yaWdpbmFsSW50
ZXJ2YWw7Ci0gICAgVGltZXJUaHJvdHRsZVN0YXRlIG1fdGhyb3R0bGVTdGF0ZTsKLSAgICBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CisgICAgU2Vjb25k
cyBtX29yaWdpbmFsSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX2N1cnJlbnRUaW1lckludGVydmFs
OwogICAgIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiBtX3VzZXJHZXN0dXJlVG9rZW5Ub0Zvcndh
cmQ7CisgICAgVGltZXJUaHJvdHRsZVN0YXRlIG1fdGhyb3R0bGVTdGF0ZSB7IFVuZGV0ZXJtaW5l
ZCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCmluZGV4IGU0NTcwZTE0ZmFmZDllZmIxOTMzNjkzZmEzZWJiZGMyYzc0ZTQzNmYuLjgzZjM0
MmIxOTllZGE0OGRlNTI2NDRhYTExODNlZWZhZjdkZjJlZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKQEAgLTk1OCw3ICs5NTgsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBET01XaW5kb3c6
OnBvc3RNZXNzYWdlKFJlZjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgVgogCiAg
ICAgLy8gU2NoZWR1bGUgdGhlIG1lc3NhZ2UuCiAgICAgYXV0byogdGltZXIgPSBuZXcgUG9zdE1l
c3NhZ2VUaW1lcigqdGhpcywgV1RGTW92ZShtZXNzYWdlKSwgc291cmNlT3JpZ2luLCBzb3VyY2Us
IGNoYW5uZWxzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBXVEZNb3ZlKHRhcmdldCksIFdURk1vdmUo
c3RhY2tUcmFjZSkpOwotICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMCk7CisgICAgdGltZXItPnN0
YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcmV0dXJuIHsgfTsKIH0KQEAgLTE2NDgsNyArMTY0OCw3
IEBAIEV4Y2VwdGlvbk9yPGludD4gRE9NV2luZG93OjpzZXRUaW1lb3V0KHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFs
bCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRp
bWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdU
Rk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7
CiB9CiAKIHZvaWQgRE9NV2luZG93OjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKQEAgLTE2
ODAsNyArMTY4MCw3IEBAIEV4Y2VwdGlvbk9yPGludD4gRE9NV2luZG93OjpzZXRJbnRlcnZhbChz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sCiAgICAgYXV0byogY29udGV4
dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICByZXR1cm4gRE9N
VGltZXI6Omluc3RhbGwoKmNvbnRleHQsIFdURk1vdmUoYWN0aW9uKSwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyh0aW1lb3V0KSwgZmFsc2UpOworICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFs
bCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRp
bWVvdXQpLCBmYWxzZSk7CiB9CiAKIHZvaWQgRE9NV2luZG93OjpjbGVhckludGVydmFsKGludCB0
aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcAppbmRleCAz
YzM4NDMwOTU2MzQ5NjIyYWUyZTE5ZmQ1Yjc2MDM4NWM5NTkwNGNjLi5lZmVmMzZiYTBmNzkyMTk5
OTYyNzg1NTRhMmE5NThiNThjNjFlNTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RldmljZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29u
dHJvbGxlci5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdm9pZCBEZXZpY2VDb250cm9sbGVyOjphZGRE
ZXZpY2VFdmVudExpc3RlbmVyKERPTVdpbmRvdyogd2luZG93KQogICAgIGlmIChoYXNMYXN0RGF0
YSgpKSB7CiAgICAgICAgIG1fbGFzdEV2ZW50TGlzdGVuZXJzLmFkZCh3aW5kb3cpOwogICAgICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAK
ICAgICBpZiAod2FzRW1wdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXgg
YTc1NDI3Y2E0NmM3MWY5ZTYxMzQzN2FmMDk3YTNlZGFiMWI3ZWQxYi4uZTkzM2JiNGU0YjU2NTBm
NTEwYmZjMDA4NTY5MmM1NzU5N2UzOTU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcApAQCAtMTU2LDE1ICsxNTYsMTUgQEAgdXNpbmcgbmFtZXNwYWNlIFNWR05hbWVzOwogLy8g
VGhlIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYSBmYWtlIG1vdXNlIGV2
ZW50LCB0cmlnZ2VyZWQKIC8vIGR1cmluZyBhIHNjcm9sbC4gVGhlIHNob3J0IGludGVydmFsIGlz
IHVzZWQgaWYgdGhlIGNvbnRlbnQgcmVzcG9uZHMgdG8gdGhlIG1vdXNlIGV2ZW50cwogLy8gaW4g
ZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkIG9yIGxlc3MsIG90aGVyd2lzZSB0aGUgbG9u
ZyBpbnRlcnZhbCBpcyB1c2VkLgotY29uc3QgZG91YmxlIGZha2VNb3VzZU1vdmVEdXJhdGlvblRo
cmVzaG9sZCA9IDAuMDE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwg
PSAwLjE7Ci1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAuMjU7Citj
b25zdCBTZWNvbmRzIGZha2VNb3VzZU1vdmVEdXJhdGlvblRocmVzaG9sZCA9IDAuMDFfczsKK2Nv
bnN0IFNlY29uZHMgZmFrZU1vdXNlTW92ZVNob3J0SW50ZXJ2YWwgPSAwLjFfczsKK2NvbnN0IFNl
Y29uZHMgZmFrZU1vdXNlTW92ZUxvbmdJbnRlcnZhbCA9IDAuMjVfczsKICNlbmRpZgogCiAjaWYg
RU5BQkxFKENVUlNPUl9TVVBQT1JUKQogLy8gVGhlIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgZm9y
IGEgY3Vyc29yIHVwZGF0ZSBvbiBzdHlsZSBhbmQgbGF5b3V0IGNoYW5nZXMKIC8vIFNldCB0byA1
MEh6LCBubyBuZWVkIHRvIGJlIGZhc3RlciB0aGFuIGNvbW1vbiBzY3JlZW4gcmVmcmVzaCByYXRl
Ci1jb25zdCBkb3VibGUgY3Vyc29yVXBkYXRlSW50ZXJ2YWwgPSAwLjAyOworY29uc3QgU2Vjb25k
cyBjdXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDJfczsKIAogY29uc3QgaW50IG1heGltdW1DdXJz
b3JTaXplID0gMTI4OwogI2VuZGlmCkBAIC0xOTMsMjAgKzE5MywyMCBAQCBwcml2YXRlOgogCiBj
bGFzcyBNYXhpbXVtRHVyYXRpb25UcmFja2VyIHsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBNYXhp
bXVtRHVyYXRpb25UcmFja2VyKGRvdWJsZSAqbWF4RHVyYXRpb24pCisgICAgZXhwbGljaXQgTWF4
aW11bUR1cmF0aW9uVHJhY2tlcihTZWNvbmRzJiBtYXhEdXJhdGlvbikKICAgICAgICAgOiBtX21h
eER1cmF0aW9uKG1heER1cmF0aW9uKQotICAgICAgICAsIG1fc3RhcnQobW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCkpCisgICAgICAgICwgbV9zdGFydChNb25vdG9uaWNUaW1lOjpub3coKSkK
ICAgICB7CiAgICAgfQogCiAgICAgfk1heGltdW1EdXJhdGlvblRyYWNrZXIoKQogICAgIHsKLSAg
ICAgICAgKm1fbWF4RHVyYXRpb24gPSBzdGQ6Om1heCgqbV9tYXhEdXJhdGlvbiwgbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkgLSBtX3N0YXJ0KTsKKyAgICAgICAgbV9tYXhEdXJhdGlvbiA9
IHN0ZDo6bWF4KG1fbWF4RHVyYXRpb24sIE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9zdGFydCk7
CiAgICAgfQogCiBwcml2YXRlOgotICAgIGRvdWJsZSogbV9tYXhEdXJhdGlvbjsKLSAgICBkb3Vi
bGUgbV9zdGFydDsKKyAgICBTZWNvbmRzJiBtX21heER1cmF0aW9uOworICAgIE1vbm90b25pY1Rp
bWUgbV9zdGFydDsKIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAhRU5BQkxFKElP
U19UT1VDSF9FVkVOVFMpCkBAIC00NjMsNyArNDYzLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNs
ZWFyKCkKICAgICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludERvY3VtZW50ID0gbnVsbHB0cjsKICAg
ICBtX29yaWdpbmF0aW5nVG91Y2hQb2ludFRhcmdldEtleSA9IDA7CiAjZW5kaWYKLSAgICBtX21h
eE1vdXNlTW92ZWREdXJhdGlvbiA9IDA7CisgICAgbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24gPSAw
X3M7CiAgICAgbV9iYXNlRXZlbnRUeXBlID0gUGxhdGZvcm1FdmVudDo6Tm9UeXBlOwogICAgIG1f
ZGlkU3RhcnREcmFnID0gZmFsc2U7CiB9CkBAIC0xODIxLDcgKzE4MjEsNyBAQCBib29sIEV2ZW50
SGFuZGxlcjo6bW91c2VNb3ZlZChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQogewog
ICAgIFJlZjxGcmFtZT4gcHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CiAgICAgUmVmUHRyPEZyYW1l
Vmlldz4gcHJvdGVjdG9yKG1fZnJhbWUudmlldygpKTsKLSAgICBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyIG1heER1cmF0aW9uVHJhY2tlcigmbV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOworICAgIE1h
eGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25UcmFja2VyKG1fbWF4TW91c2VNb3ZlZER1
cmF0aW9uKTsKIAogICAgIGlmIChtX2ZyYW1lLm1haW5GcmFtZSgpLnBhZ2VPdmVybGF5Q29udHJv
bGxlcigpLmhhbmRsZU1vdXNlRXZlbnQoZXZlbnQpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTI5MDIsNyArMjkwMiw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVFdmVu
dEZvcktleSgpCiB2b2lkIEV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0YXRlVXBkYXRlKCkK
IHsKICAgICBpZiAoIW1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2hvdmVyVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2hvdmVyVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKICNpZiBFTkFCTEUoQ1VSU09SX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuaAppbmRleCA5YmNhYzcyYzdlMjE2MzIxMDkxNWY3MmMxZjgzZWQ5NWEwZGVjOTMzLi5h
N2E5MWY2NjdmMjZmOTE1M2IzNjg5YjZhMmQ1MmE2OTQ4OGY2MTQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKQEAgLTU3MCw3ICs1NzAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV90
b3VjaFByZXNzZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBkb3VibGUgbV9tYXhNb3VzZU1v
dmVkRHVyYXRpb24geyAwIH07CisgICAgU2Vjb25kcyBtX21heE1vdXNlTW92ZWREdXJhdGlvbjsK
ICAgICBQbGF0Zm9ybUV2ZW50OjpUeXBlIG1fYmFzZUV2ZW50VHlwZSB7IFBsYXRmb3JtRXZlbnQ6
Ok5vVHlwZSB9OwogICAgIGJvb2wgbV9kaWRTdGFydERyYWcgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc0hhbmRsaW5nV2hlZWxFdmVudCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3Vy
Y2UuY3BwCmluZGV4IGQ1NTU1ZWQyYzBmYjU3Yjk2M2I3YjYwMDIxOTg3MTcxMjZmNjVmZDcuLmI3
YTA0ZjQ4NWY4OWM4Yzg5ZGNkZmNmYWVkMWQxOTNhOWZkYzk5NWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuY3BwCkBAIC00Nyw3ICs0Nyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY29uc3QgdWludDY0X3QgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDMw
MDA7Citjb25zdCBTZWNvbmRzIEV2ZW50U291cmNlOjpkZWZhdWx0UmVjb25uZWN0RGVsYXkgPSAz
X3M7CiAKIGlubGluZSBFdmVudFNvdXJjZTo6RXZlbnRTb3VyY2UoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1cmwsIGNvbnN0IEluaXQmIGV2ZW50U291cmNlSW5p
dCkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKQEAgLTEzMiwxMyArMTMyLDEzIEBA
IHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlSW5pdGlhbENvbm5lY3QoKQogICAgIEFTU0VSVCht
X3N0YXRlID09IENPTk5FQ1RJTkcpOwogICAgIEFTU0VSVCghbV9yZXF1ZXN0SW5GbGlnaHQpOwog
Ci0gICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29ubmVjdFRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEV2ZW50U291cmNlOjpzY2hlZHVsZVJlY29u
bmVjdCgpCiB7CiAgICAgbV9zdGF0ZSA9IENPTk5FQ1RJTkc7Ci0gICAgbV9jb25uZWN0VGltZXIu
c3RhcnRPbmVTaG90KG1fcmVjb25uZWN0RGVsYXkgLyAxMDAwLjApOworICAgIG1fY29ubmVjdFRp
bWVyLnN0YXJ0T25lU2hvdChtX3JlY29ubmVjdERlbGF5KTsKICAgICBkaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogfQog
CkBAIC0zNTUsOSArMzU1LDkgQEAgdm9pZCBFdmVudFNvdXJjZTo6cGFyc2VFdmVudFN0cmVhbUxp
bmUodW5zaWduZWQgcG9zaXRpb24sIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQKICAgICAgICAgICAg
IC8vIEZJWE1FOiBEbyB3ZSByZWFsbHkgd2FudCB0byBpZ25vcmUgdHJhaWxpbmcgZ2FyYmFnZSBo
ZXJlPyBTaG91bGQgd2UgYmUgdXNpbmcgdGhlIHN0cmljdCB2ZXJzaW9uIGluc3RlYWQ/CiAgICAg
ICAgICAgICAvLyBGSVhNRTogSWYgd2UgY2FuJ3QgcGFyc2UgdGhlIHZhbHVlLCBzaG91bGQgd2Ug
bGVhdmUgbV9yZWNvbm5lY3REZWxheSBhbG9uZSBvciBzZXQgaXQgdG8gZGVmYXVsdFJlY29ubmVj
dERlbGF5PwogICAgICAgICAgICAgYm9vbCBvazsKLSAgICAgICAgICAgIGF1dG8gcmVjb25uZWN0
RGVsYXkgPSBjaGFyYWN0ZXJzVG9VSW50NjQoJm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZh
bHVlTGVuZ3RoLCAmb2spOworICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheU1TID0gY2hh
cmFjdGVyc1RvVUludDY0KCZtX3JlY2VpdmVCdWZmZXJbcG9zaXRpb25dLCB2YWx1ZUxlbmd0aCwg
Jm9rKTsKICAgICAgICAgICAgIGlmIChvaykKLSAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERl
bGF5ID0gcmVjb25uZWN0RGVsYXk7CisgICAgICAgICAgICAgICAgbV9yZWNvbm5lY3REZWxheSA9
IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMocmVjb25uZWN0RGVsYXlNUyk7CiAgICAgICAgIH0K
ICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggMmJlM2Y5ZjFiNzVkMzlk
NTNiMmZlMzkxMjkzZjU4Y2MwZjE4Mjc4Mi4uYTRlN2RkOWFjNDc0MzMxYzhiN2UzZmVhNzYzZjAx
N2UyN2M2MzBhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtOTgsNyArOTgsNyBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCByZXNwb25zZUlzVmFsaWQoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpIGNvbnN0OwogCi0gICAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IGRlZmF1bHRSZWNvbm5l
Y3REZWxheTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZhdWx0UmVjb25uZWN0RGVsYXk7
CiAKICAgICBVUkwgbV91cmw7CiAgICAgYm9vbCBtX3dpdGhDcmVkZW50aWFsczsKQEAgLTExNSw3
ICsxMTUsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxVQ2hhcj4gbV9kYXRhOwogICAgIFN0cmlu
ZyBtX2N1cnJlbnRseVBhcnNlZEV2ZW50SWQ7CiAgICAgU3RyaW5nIG1fbGFzdEV2ZW50SWQ7Ci0g
ICAgdWludDY0X3QgbV9yZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5lY3REZWxheSB9Owor
ICAgIFNlY29uZHMgbV9yZWNvbm5lY3REZWxheSB7IGRlZmF1bHRSZWNvbm5lY3REZWxheSB9Owog
ICAgIFN0cmluZyBtX2V2ZW50U3RyZWFtT3JpZ2luOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
b2N1c0NvbnRyb2xsZXIuY3BwCmluZGV4IGE3YjI1NTdlNjk0NmRiOWU1NjExNTdhZGY3MmNjMjgy
NmVmZTg3NDcuLjcyYzMzOTE3ZjdmYmIyYjNjZjhjODFhMGRhMDhkYjBlNDc1MDQyMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKQEAgLTEwODgsNyArMTA4OCw3IEBA
IGJvb2wgRm9jdXNDb250cm9sbGVyOjphZHZhbmNlRm9jdXNEaXJlY3Rpb25hbGx5KEZvY3VzRGly
ZWN0aW9uIGRpcmVjdGlvbiwgS2V5Ym9hCiAKIHZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRGb2N1
c2VkRWxlbWVudE5lZWRzUmVwYWludCgpCiB7Ci0gICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFy
dE9uZVNob3QoMC4wMzMpOworICAgIG1fZm9jdXNSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAu
MDMzX3MpOwogfQogCiB2b2lkIEZvY3VzQ29udHJvbGxlcjo6Zm9jdXNSZXBhaW50VGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IDM5MTQxMmU1ZjQ4MGFkNmQzY2I1ZGM0NzYxODBm
NWRjYTVmMzViZTcuLmMxOTY5MzdiM2I4NTA0ZTVmMzlhNDZkY2E5ZjMyZDJmYjc4NTk5ZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAogI2lmIFBMQVRGT1JNKElPUykKLWNvbnN0
IHVuc2lnbmVkIHNjcm9sbEZyZXF1ZW5jeSA9IDEwMDAgLyA2MDsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIHNjcm9sbEZyZXF1ZW5jeSA9IFNlY29uZHMoMS4wIC8gNjApOwogI2VuZGlmCiAKIERFRklO
RV9ERUJVR19PTkxZX0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgZnJhbWVDb3Vu
dGVyLCAoIkZyYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDgwNjFiNzUx
NGQ5NjZkNmM3MjUyZmQwMmVjM2NkZDEwODYxMjEyZjkuLjkyMTg4Y2I4ZDI2YWU2MTZlYzg4ZTUy
MTU3NmM2NGQ4NmY2NjYyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE1NjAs
NyArMTU2MCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWUpCiAg
ICAgICAgICAgICAvLyBkZWZlciB3aWRnZXQgdXBkYXRlcyBhbmQgZXZlbnQgZGlzcGF0Y2ggdW50
aWwgYWZ0ZXIgd2UgcmV0dXJuLiBwb3N0TGF5b3V0VGFza3MoKQogICAgICAgICAgICAgLy8gY2Fu
IG1ha2UgdXMgbmVlZCB0byB1cGRhdGUgYWdhaW4sIGFuZCB3ZSBjYW4gZ2V0IHN0dWNrIGluIGEg
bmFzdHkgY3ljbGUgdW5sZXNzCiAgICAgICAgICAgICAvLyB3ZSBjYWxsIGl0IHRocm91Z2ggdGhl
IHRpbWVyIGhlcmUuCi0gICAgICAgICAgICBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgICAgICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAgICAgICAgICBs
YXlvdXQoKTsKICAgICAgICAgfQpAQCAtMjQ0Myw3ICsyNDQzLDcgQEAgdm9pZCBGcmFtZVZpZXc6
OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBTY3JvbGxQb3NpdGlvbiYgb2xkUG9zaXRpb24s
IGNvbnN0IFMKICAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5zdG9wKCk7CiAgICAg
ICAgIHNlbmRTY3JvbGxFdmVudCgpOwogICAgIH0gZWxzZSBpZiAoIW1fZGVsYXllZFNjcm9sbEV2
ZW50VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5z
dGFydE9uZVNob3QodGhyb3R0bGluZ0RlbGF5LnZhbHVlKCkpOworICAgICAgICBtX2RlbGF5ZWRT
Y3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsaW5nRGVsYXkpOwogCiAgICAgaWYg
KERvY3VtZW50KiBkb2N1bWVudCA9IGZyYW1lKCkuZG9jdW1lbnQoKSkKICAgICAgICAgZG9jdW1l
bnQtPnNlbmRXaWxsUmV2ZWFsRWRnZUV2ZW50c0lmTmVlZGVkKG9sZFBvc2l0aW9uLCBuZXdQb3Np
dGlvbiwgdmlzaWJsZUNvbnRlbnRSZWN0KCksIGNvbnRlbnRzU2l6ZSgpKTsKQEAgLTI4NDEsOCAr
Mjg0MSw3IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVTcGVjdWxhdGl2ZVRpbGluZ0lmTmVlZGVk
KCkKICAgICBpZiAobV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyLmlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybjsKICAgICAvLyBEZWxheSBlbmFibGluZyBhIGJpdCBhcyBsb2FkIGNvbXBs
ZXRpb24gbWF5IHRyaWdnZXIgZnVydGhlciBsb2FkaW5nIGZyb20gc2NyaXB0cy4KLSAgICBzdGF0
aWMgY29uc3QgZG91YmxlIHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkgPSAwLjU7Ci0gICAg
bV9zcGVjdWxhdGl2ZVRpbGluZ0VuYWJsZVRpbWVyLnN0YXJ0T25lU2hvdChzcGVjdWxhdGl2ZVRp
bGluZ0VuYWJsZURlbGF5KTsKKyAgICBtX3NwZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuc3Rh
cnRPbmVTaG90KDAuNV9zKTsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnNwZWN1bGF0aXZlVGlsaW5n
RW5hYmxlVGltZXJGaXJlZCgpCkBAIC0zNDMxLDcgKzM0MzAsNyBAQCB2b2lkIEZyYW1lVmlldzo6
cGVyZm9ybVBvc3RMYXlvdXRUYXNrcygpCiAgICAgLy8gaXMgY2FsbGVkIHRocm91Z2ggdGhlIHBv
c3QgbGF5b3V0IHRpbWVyLgogICAgIFJlZjxGcmFtZVZpZXc+IHByb3RlY3RlZFRoaXMoKnRoaXMp
OwogCi0gICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAg
IGlmIChhdXRvKiBwYWdlID0gZnJhbWUoKS5wYWdlKCkpIHsKICAgICAgICAgaWYgKGF1dG8qIHNj
cm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCmluZGV4IDBhNzM5Nzk4NjI0NmM3ODFhOGNhOWI3MTIzNWYwMjRmZjk0N2MxZDAu
LjE3ZTlhMzA3ZWEyZTVlNWE3MDEwZDNlMjQ1ZjE5MTBiYTg4YzVkZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcApAQCAtMTI0Myw3ICsxMjQzLDcgQEAgdm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdT
dGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBzdGF0ZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
bV90aW1lclRocm90dGxpbmdTdGF0ZSA9IHN0YXRlOwotICAgIG1fdGltZXJUaHJvdHRsaW5nU3Rh
dGVMYXN0Q2hhbmdlZFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAg
ICBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lID0gTW9ub3RvbmljVGltZTo6
bm93KCk7CiAKICAgICB1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKCk7CiAKQEAgLTEy
NTYsNyArMTI1Niw3IEBAIHZvaWQgUGFnZTo6c2V0VGltZXJUaHJvdHRsaW5nU3RhdGUoVGltZXJU
aHJvdHRsaW5nU3RhdGUgc3RhdGUpCiAgICAgfQogfQogCi12b2lkIFBhZ2U6OnNldFRpbWVyQWxp
Z25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGlt
aXQpCit2b2lkIFBhZ2U6OnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KFNl
Y29uZHMgbGltaXQpCiB7CiAgICAgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1p
dCA9IGxpbWl0OwogCkBAIC0xMjg0LDggKzEyODQsOCBAQCB2b2lkIFBhZ2U6OnVwZGF0ZURPTVRp
bWVyQWxpZ25tZW50SW50ZXJ2YWwoKQogICAgICAgICBpZiAobV9pc1ByZXJlbmRlcikKICAgICAg
ICAgICAgIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZh
bEluY3JlYXNlTGltaXQ7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKG1fdGlt
ZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUudGltZV9zaW5jZV9lcG9jaCgpICE9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkpOwotICAgICAgICAgICAg
bV90aW1lckFsaWdubWVudEludGVydmFsID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkg
LSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lKTsKKyAgICAgICAgICAgIEFT
U0VSVChtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENoYW5nZWRUaW1lKTsKKyAgICAgICAgICAg
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV90aW1l
clRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGltZTsKICAgICAgICAgICAgIC8vIElmIHdlJ3Jl
IGJlbG93IHRoZSBsaW1pdCwgc2V0IHRoZSB0aW1lci4gSWYgYWJvdmUsIGNsYW1wIHRvIGxpbWl0
LgogICAgICAgICAgICAgaWYgKG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbCA8IG1fdGltZXJBbGln
bm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQpCiAgICAgICAgICAgICAgICAgbmVlZHNJbmNyZWFz
ZVRpbWVyID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggMjI4MzRmZjcwM2JmODgxZDZjMjg3Yzlk
ZGIzNmVkNmRlZTEyNGI0Yi4uMzVmYTUxMTFhMGIyNjFiYzRlNzA1YzU4Y2M0MzAxMWIwMzdhMjk5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKQEAgLTIyNSw3ICsyMjUsNyBAQCBwdWJsaWM6CiAgICAgUHJvZ3Jl
c3NUcmFja2VyJiBwcm9ncmVzcygpIGNvbnN0IHsgcmV0dXJuICptX3Byb2dyZXNzOyB9CiAgICAg
QmFja0ZvcndhcmRDb250cm9sbGVyJiBiYWNrRm9yd2FyZCgpIGNvbnN0IHsgcmV0dXJuICptX2Jh
Y2tGb3J3YXJkQ29udHJvbGxlcjsgfQogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBk
b21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV90aW1lckFsaWdubWVu
dEludGVydmFsOyB9CisgICAgU2Vjb25kcyBkb21UaW1lckFsaWdubWVudEludGVydmFsKCkgY29u
c3QgeyByZXR1cm4gbV90aW1lckFsaWdubWVudEludGVydmFsOyB9CiAKICNpZiBFTkFCTEUoVklF
V19NT0RFX0NTU19NRURJQSkKICAgICBlbnVtIFZpZXdNb2RlIHsKQEAgLTUyOCw3ICs1MjgsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaG93QWxsUGx1Z2lucyhib29sIHNob3dBbGwpIHsgbV9z
aG93QWxsUGx1Z2lucyA9IHNob3dBbGw7IH0KICAgICBib29sIHNob3dBbGxQbHVnaW5zKCkgY29u
c3Q7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJ
bmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyk7
CiAKICAgICBib29sIGlzQ29udHJvbGxlZEJ5QXV0b21hdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
Y29udHJvbGxlZEJ5QXV0b21hdGlvbjsgfQogICAgIHZvaWQgc2V0Q29udHJvbGxlZEJ5QXV0b21h
dGlvbihib29sIGNvbnRyb2xsZWQpIHsgbV9jb250cm9sbGVkQnlBdXRvbWF0aW9uID0gY29udHJv
bGxlZDsgfQpAQCAtNjY3LDEwICs2NjcsMTAgQEAgcHJpdmF0ZToKICNlbmRpZiAvLyBFTkFCTEUo
VklFV19NT0RFX0NTU19NRURJQSkKIAogICAgIFRpbWVyVGhyb3R0bGluZ1N0YXRlIG1fdGltZXJU
aHJvdHRsaW5nU3RhdGUgeyBUaW1lclRocm90dGxpbmdTdGF0ZTo6RGlzYWJsZWQgfTsKLSAgICBz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fdGltZXJUaHJvdHRsaW5nU3Rh
dGVMYXN0Q2hhbmdlZFRpbWUgeyBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpkdXJhdGlvbjo6
emVybygpIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWw7CisgICAgTW9ub3RvbmljVGltZSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRlTGFzdENo
YW5nZWRUaW1lOworICAgIFNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsOwogICAgIFRp
bWVyIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlVGltZXI7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0IHsg
MCB9OworICAgIFNlY29uZHMgbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsK
IAogICAgIGJvb2wgbV9pc0VkaXRhYmxlOwogICAgIGJvb2wgbV9pc1ByZXJlbmRlcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggZTcwYmNhMDUyM2YwZTM5NWY4NzdmZjYzYzEy
YWEzOTU1N2FkZWQ3Yy4uZTkwMmIwMjU4ZDFlMTg5YTYwMDMyMjRmY2RhMjQ2OGQ5YTRiZTcyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBmYWRlQW5pbWF0aW9uRHVyYXRp
b24gPSAwLjI7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25GcmFtZVJhdGUgPSAz
MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGZhZGVBbmltYXRpb25JbnRlcnZhbCA9IFNlY29uZHMo
MS4wIC8gMzApOwogCiBzdGF0aWMgUGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQgZ2VuZXJhdGVQ
YWdlT3ZlcmxheUlEKCkKIHsKQEAgLTI1MCw3ICsyNTAsNyBAQCB2b2lkIFBhZ2VPdmVybGF5Ojpz
dG9wRmFkZU91dEFuaW1hdGlvbigpCiB2b2lkIFBhZ2VPdmVybGF5OjpzdGFydEZhZGVBbmltYXRp
b24oKQogewogICAgIG1fZmFkZUFuaW1hdGlvblN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7Ci0g
ICAgbV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoMSAvIGZhZGVBbmltYXRpb25G
cmFtZVJhdGUpOworICAgIG1fZmFkZUFuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGZhZGVB
bmltYXRpb25JbnRlcnZhbCk7CiB9CiAKIHZvaWQgUGFnZU92ZXJsYXk6OmZhZGVBbmltYXRpb25U
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKaW5kZXggNDkxNzVmYjA4ZDIzMWQx
NzhhMmQ1YTFmYmNkYWM3ZmExYjdkZWM1ZC4uZWI4ZjgxOTQ1NDFhY2U4NjU5ZmQ1MDIzZGJhYzQy
ZjY0ZGZjNzA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKQEAgLTE2OSwxNSArMTY5LDE1
IEBAIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVu
YWJsZWQgPSBmYWxzZTsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0UmVxdWly
ZXNVc2VyR2VzdHVyZVRvTG9hZFZpZGVvID0gdHJ1ZTsKLQogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gdHJ1ZTsKLQogc3RhdGlj
IGNvbnN0IGRvdWJsZSBkZWZhdWx0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVv
dXRJblNlY29uZHMgPSA1OworCiAjaWYgVVNFKFVOSUZJRURfVEVYVF9DSEVDS0lORykKIHN0YXRp
YyBjb25zdCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gdHJ1ZTsKICNl
bHNlCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0VW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCA9
IGZhbHNlOwogI2VuZGlmCisKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRTbWFydEluc2VydERl
bGV0ZUVuYWJsZWQgPSB0cnVlOwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNlbGVjdFRyYWls
aW5nV2hpdGVzcGFjZUVuYWJsZWQgPSBmYWxzZTsKIApAQCAtMjExLDcgKzIxMSw3IEBAIFNldHRp
bmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgICwgbV90b3VjaEV2ZW50RW11bGF0aW9uRW5h
YmxlZChmYWxzZSkKICNlbmRpZgogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdF
bmFibGVkKGZhbHNlKQotICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scygzKQorICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRp
bmdDb250cm9scygzX3MpCiAgICAgLCBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIoKnRo
aXMsICZTZXR0aW5nczo6aW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lckZpcmVkKQogICAgICwgbV9o
aWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZChmYWxzZSkKICAgICAsIG1faGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGZhbHNlKQpAQCAtMzY4LDcgKzM2OCw3
IEBAIHZvaWQgU2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sIGxvYWRz
SW1hZ2VzQXV0b21hdGljYWxseSkKICAgICAvLyBTdGFydGluZyB0aGVzZSBsb2FkcyBzeW5jaHJv
bm91c2x5IGlzIG5vdCBpbXBvcnRhbnQuICBCeSBwdXR0aW5nIGl0IG9uIGEgMC1kZWxheSwgcHJv
cGVybHkgY2xvc2luZyB0aGUgUGFnZSBjYW5jZWxzIHRoZW0KICAgICAvLyBiZWZvcmUgdGhleSBo
YXZlIGEgY2hhbmNlIHRvIHJlYWxseSBzdGFydC4KICAgICAvLyBTZWUgaHR0cDovL3dlYmtpdC5v
cmcvYi82MDU3MiBmb3IgbW9yZSBkaXNjdXNzaW9uLgotICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0
dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5n
c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNldHRpbmdzOjppbWFnZUxvYWRp
bmdTZXR0aW5nc1RpbWVyRmlyZWQoKQpAQCAtNDA3LDcgKzQwNyw3IEBAIHZvaWQgU2V0dGluZ3M6
OnNldEltYWdlc0VuYWJsZWQoYm9vbCBhcmVJbWFnZXNFbmFibGVkKQogICAgIG1fYXJlSW1hZ2Vz
RW5hYmxlZCA9IGFyZUltYWdlc0VuYWJsZWQ7CiAKICAgICAvLyBTZWUgY29tbWVudCBpbiBzZXRM
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkuCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1Rp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldFByZWZlck1JTUVUeXBl
Rm9ySW1hZ2VzKGJvb2wgcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMpCkBAIC00NDcsNyArNDQ3LDcg
QEAgdm9pZCBTZXR0aW5nczo6c2V0TmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9vbCBz
aG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW4KICAgICBtX25lZWRzQWRvYmVGcmFtZVJlbG9hZGlu
Z1F1aXJrID0gc2hvdWxkTm90UmVsb2FkSUZyYW1lc0ZvclVuY2hhbmdlZFNSQzsKIH0KIAotdm9p
ZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBpbnRlcnZhbCkKK3ZvaWQgU2V0dGluZ3M6OnNldE1pbmltdW1ET01UaW1lckludGVy
dmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgYXV0byBvbGRUaW1lckludGVydmFsID0gbV9t
aW5pbXVtRE9NVGltZXJJbnRlcnZhbDsKICAgICBtX21pbmltdW1ET01UaW1lckludGVydmFsID0g
aW50ZXJ2YWw7CkBAIC00NTcsNyArNDU3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURP
TVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCkKIAogICAg
IGZvciAoRnJhbWUqIGZyYW1lID0gJm1fcGFnZS0+bWFpbkZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9
IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0KCkpIHsKICAgICAgICAgaWYgKGZyYW1lLT5kb2N1
bWVudCgpKQotICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmFkanVzdE1pbmltdW1UaW1l
ckludGVydmFsKG9sZFRpbWVySW50ZXJ2YWwpOworICAgICAgICAgICAgZnJhbWUtPmRvY3VtZW50
KCktPmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMob2xkVGltZXJJbnRlcnZhbCkp
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDBhOTU3ZWZlMGVlZDkxYTA0
MDA5YWUxNTdkNTQzNjc4OWFmNGQ0ZWYuLjY4NjI5MzhjYTU2ODhlYjUyZjRjZDJhNDcwNDYzZDUz
ZmZmMGJmMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTE2OSw4ICsxNjksOCBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdR
dWlyayhib29sKTsKICAgICBib29sIG5lZWRzQWNyb2JhdEZyYW1lUmVsb2FkaW5nUXVpcmsoKSBj
b25zdCB7IHJldHVybiBtX25lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrOyB9CiAKLSAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMpOyAvLyBJbml0aWFsaXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmlt
dW1JbnRlcnZhbCgpLgotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW11bURPTVRp
bWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1lckludGVydmFsOyB9
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNv
bmRzKTsgLy8gSW5pdGlhbGl6ZWQgdG8gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwo
KS4KKyAgICBTZWNvbmRzIG1pbmltdW1ET01UaW1lckludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
bV9taW5pbXVtRE9NVGltZXJJbnRlcnZhbDsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRMYXlvdXRJbnRlcnZhbChTZWNvbmRzKTsKICAgICBTZWNvbmRzIGxheW91dEludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9sYXlvdXRJbnRlcnZhbDsgfQpAQCAtMjQ0LDggKzI0NCw4IEBAIHB1
YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaG91bGRSZXNwZWN0UHJp
b3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoYm9vbCk7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxk
UmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCk7CiAKLSAgICB2b2lkIHNldFRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aW1lKSB7
IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9
Ci0gICAgZG91YmxlIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9sczsgfQorICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlk
aW5nQ29udHJvbHMoU2Vjb25kcyB0aW1lKSB7IG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVm
b3JlSGlkaW5nQ29udHJvbHMgPSB0aW1lOyB9CisgICAgU2Vjb25kcyB0aW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpIGNvbnN0IHsgcmV0dXJuIG1fdGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7IH0KIAogICAgIGJvb2wgaGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9oaWRk
ZW5QYWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQ7IH0KICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNldEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZChib29sKTsK
QEAgLTMyNiw3ICszMjYsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxG
b250R2VuZXJpY0ZhbWlsaWVzPiBtX2ZvbnRHZW5lcmljRmFtaWxpZXM7CiAgICAgU2VjdXJpdHlP
cmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvbGljeSBtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeTsKICAg
ICBTZWNvbmRzIG1fbGF5b3V0SW50ZXJ2YWw7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBtX21pbmltdW1ET01UaW1lckludGVydmFsOworICAgIFNlY29uZHMgbV9taW5pbXVtRE9NVGlt
ZXJJbnRlcnZhbDsKIAogICAgIFNFVFRJTkdTX01FTUJFUl9WQVJJQUJMRVMKIApAQCAtMzQ5LDcg
KzM0OSw3IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICBib29sIG1fc2Nyb2xsaW5nUGVyZm9ybWFu
Y2VMb2dnaW5nRW5hYmxlZCA6IDE7CiAKLSAgICBkb3VibGUgbV90aW1lV2l0aG91dE1vdXNlTW92
ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICBTZWNvbmRzIG1fdGltZVdpdGhvdXRNb3Vz
ZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CiAKICAgICBUaW1lciBtX3NldEltYWdlTG9h
ZGluZ1NldHRpbmdzVGltZXI7CiAgICAgdm9pZCBpbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmly
ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCmluZGV4IDc2NTgz
YzEyYmE4MjkxYWFhNmFlNGJjNWRmZGQ0NmIyNGM1NzY0MzUuLjI4NzYyODZjOGMwNzE4ZjgzNjJk
YWJjMTVmMmJmM2Q0MTFkMGYyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmNwcApAQCAtMzMsMTAgKzMzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTdXNwZW5k
YWJsZVRpbWVyOjpTdXNwZW5kYWJsZVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpCiAgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCi0gICAgLCBtX3N1c3BlbmRlZChm
YWxzZSkKLSAgICAsIG1fc2F2ZWROZXh0RmlyZUludGVydmFsKDApCi0gICAgLCBtX3NhdmVkUmVw
ZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRJc0FjdGl2ZShmYWxzZSkKIHsKIH0KIApAQCAt
MTAxLDcgKzk3LDcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpjYW5jZWwoKQogICAgICAgICBt
X3N1c3BlbmRlZCA9IGZhbHNlOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0UmVw
ZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3Rh
cnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVu
ZGVkKQogICAgICAgICBUaW1lckJhc2U6OnN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsKTsK
QEAgLTExMiwyNyArMTA4LDI3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRp
bmcoZG91YmxlIHJlcGVhdEludGVydmFsKQogICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRp
bWVyOjpzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVy
OjpzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVk
KQogICAgICAgICBUaW1lckJhc2U6OnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgZWxzZSB7
CiAgICAgICAgIG1fc2F2ZWRJc0FjdGl2ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0Rmly
ZUludGVydmFsID0gaW50ZXJ2YWw7Ci0gICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7
CisgICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiB9CiAKLWRvdWJs
ZSBTdXNwZW5kYWJsZVRpbWVyOjpyZXBlYXRJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFN1c3Bl
bmRhYmxlVGltZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKIHsKICAgICBpZiAoIW1fc3VzcGVu
ZGVkKQogICAgICAgICByZXR1cm4gVGltZXJCYXNlOjpyZXBlYXRJbnRlcnZhbCgpOwogICAgIGlm
IChtX3NhdmVkSXNBY3RpdmUpCiAgICAgICAgIHJldHVybiBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRp
bWVyOjphdWdtZW50RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVU
aW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKQogewogICAgIGlmICghbV9z
dXNwZW5kZWQpCiAgICAgICAgIFRpbWVyQmFzZTo6YXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7
CkBAIC0xNDEsMTEgKzEzNywxMSBAQCB2b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fc2F2ZWRJc0Fj
dGl2ZSA9IHRydWU7CiAgICAgICAgIG1fc2F2ZWROZXh0RmlyZUludGVydmFsID0gZGVsdGE7Ci0g
ICAgICAgIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCA9IDA7CisgICAgICAgIG1fc2F2ZWRSZXBlYXRJ
bnRlcnZhbCA9IDBfczsKICAgICB9CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVu
dFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSkKK3ZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVn
bWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRl
ZCkKICAgICAgICAgVGltZXJCYXNlOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwoZGVsdGEpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCBlMTVmMGE3MDkzNzg1MGEzYTY5
MDFmNzIwYzVkZTFmNjA5OTEzODY0Li4xMzQ1NzUxODUyNGRkMjEyYTkyYjdmODU1NTE3ODFhMDM2
NWQxOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNDMsMTcg
KzQzLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gVGlt
ZXJCYXNlOjppc0FjdGl2ZSgpIHx8IChtX3N1c3BlbmRlZCAmJiBtX3NhdmVkSXNBY3RpdmUpOyB9
CiAgICAgYm9vbCBpc1N1c3BlbmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVkOyB9CiAK
LSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7Ci0gICAgdm9p
ZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKTsKLSAgICBkb3VibGUgcmVwZWF0SW50ZXJ2
YWwoKSBjb25zdDsKLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKTsK
LSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpOworICAgIHZvaWQg
c3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCk7CisgICAgdm9pZCBzdGFydE9u
ZVNob3QoU2Vjb25kcyBpbnRlcnZhbCk7CisgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCgpIGNv
bnN0OwogCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5nKG1zVG9TZWNvbmRzKHJlcGVhdEludGVy
dmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZhbCkpOyB9Ci0gICAg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbE1TKCkgY29uc3QgeyByZXR1
cm4gc2Vjb25kc1RvTVMocmVwZWF0SW50ZXJ2YWwoKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJl
SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUlu
dGVydmFsKG1zVG9TZWNvbmRzKGRlbHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRl
cnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRSZXBlYXRJbnRl
cnZhbChtc1RvU2Vjb25kcyhkZWx0YSkpOyB9CisgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFs
KFNlY29uZHMgZGVsdGEpOworICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMg
ZGVsdGEpOwogCiAgICAgdXNpbmcgVGltZXJCYXNlOjpkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZh
bDsKICAgICB1c2luZyBUaW1lckJhc2U6Om9wZXJhdG9yIG5ldzsKQEAgLTcxLDExICs2NiwxMSBA
QCBwcml2YXRlOgogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBmaW5hbDsK
ICAgICB2b2lkIHJlc3VtZSgpIGZpbmFsOwogCi0gICAgYm9vbCBtX3N1c3BlbmRlZDsKKyAgICBT
ZWNvbmRzIG1fc2F2ZWROZXh0RmlyZUludGVydmFsOworICAgIFNlY29uZHMgbV9zYXZlZFJlcGVh
dEludGVydmFsOwogCi0gICAgZG91YmxlIG1fc2F2ZWROZXh0RmlyZUludGVydmFsOwotICAgIGRv
dWJsZSBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7Ci0gICAgYm9vbCBtX3NhdmVkSXNBY3RpdmU7Cisg
ICAgYm9vbCBtX3N1c3BlbmRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3NhdmVkSXNBY3RpdmUg
eyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCmluZGV4IDM5ODg3ZjEzNTIyOTQxMmUz
ZjAzNTIzZGY0YjU5N2JjZTM3NjBjNzUuLmVmYmIzNmRlYTk2OTBlMTJiOGNiZmU1YjgzZTJmNWY5
YzAyYmNhNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RU
cmlnZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0VHJpZ2dl
ci5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgdm9pZCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OnNldFRl
c3RDYWxsYmFja0FuZFN0YXJ0Tm90aWZpY2F0aW9uVGltZXIoc3RkOjpmdW5jdGkKICAgICB9CiAg
ICAgCiAgICAgaWYgKCFtX3Rlc3RUcmlnZ2VyVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90
ZXN0VHJpZ2dlclRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgICAgICBtX3Rl
c3RUcmlnZ2VyVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAgLyA2MCkpOwogfQogCiB2
b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6ZGVmZXJUZXN0c0ZvclJlYXNvbihTY3JvbGxhYmxl
QXJlYUlkZW50aWZpZXIgaWRlbnRpZmllciwgRGVmZXJUZXN0VHJpZ2dlclJlYXNvbiByZWFzb24p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRy
b2xsZXIuY3BwCmluZGV4IDlhNDZkZWI0MTFhZmM5YWNhYjE0ZDllNmNkN2E4MWRhZDJmNzVjZWQu
LmE4NWJhYWE4OTYzYzZlYjBjNGZjMzFkN2E0Mzk1M2U4ZmZmMmZhMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBA
IC00OCw4ICs0OCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRv
dWJsZSBjQW5pbWF0aW9uVGltZXJEZWxheSA9IDEuMCAvIDYwOwotc3RhdGljIGNvbnN0IGRvdWJs
ZSBjQmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CitzdGF0aWMgY29uc3QgYXV0
byBhbmltYXRpb25UaW1lckRlbGF5ID0gU2Vjb25kcygxLjAgLyA2MCk7CitzdGF0aWMgY29uc3Qg
ZG91YmxlIGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCA9IC0xOwogCiBjbGFzcyBBbmlt
YXRpb25Qcml2YXRlVXBkYXRlQmxvY2sgewogcHVibGljOgpAQCAtNzEsNyArNzEsNyBAQCBBbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUm
IGZyYW1lKQogICAgIDogbV9hbmltYXRpb25UaW1lcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjphbmltYXRpb25UaW1lckZpcmVkKQogICAgICwgbV91cGRhdGVTdHlsZUlmTmVl
ZGVkRGlzcGF0Y2hlcigqdGhpcywgJkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVT
dHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKQogICAgICwgbV9mcmFtZShmcmFtZSkKLSAgICAs
IG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RT
ZXQpCisgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShiZWdpbkFuaW1hdGlvblVwZGF0
ZVRpbWVOb3RTZXQpCiAgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQoMCkKICAgICAs
IG1fd2FpdGluZ0ZvckFzeW5jU3RhcnROb3RpZmljYXRpb24oZmFsc2UpCiAgICAgLCBtX2lzU3Vz
cGVuZGVkKGZhbHNlKQpAQCAtMTUyLDExICsxNTIsMTEgQEAgZG91YmxlIEFuaW1hdGlvbkNvbnRy
b2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25zKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQv
KgogCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1l
ckZvclJlbmRlcmVyKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogewotICAgIGRvdWJsZSB0aW1l
VG9OZXh0U2VydmljZSA9IDA7CisgICAgU2Vjb25kcyB0aW1lVG9OZXh0U2VydmljZTsKIAogICAg
IGNvbnN0IENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uID0gbV9jb21wb3Np
dGVBbmltYXRpb25zLmdldCgmcmVuZGVyZXIpOwogICAgIGlmICghY29tcG9zaXRlQW5pbWF0aW9u
LT5pc1N1c3BlbmRlZCgpICYmIGNvbXBvc2l0ZUFuaW1hdGlvbi0+aGFzQW5pbWF0aW9ucygpKQot
ICAgICAgICB0aW1lVG9OZXh0U2VydmljZSA9IGNvbXBvc2l0ZUFuaW1hdGlvbi0+dGltZVRvTmV4
dFNlcnZpY2UoKTsKKyAgICAgICAgdGltZVRvTmV4dFNlcnZpY2UgPSBTZWNvbmRzKGNvbXBvc2l0
ZUFuaW1hdGlvbi0+dGltZVRvTmV4dFNlcnZpY2UoKSk7CiAKICAgICBpZiAobV9hbmltYXRpb25U
aW1lci5pc0FjdGl2ZSgpICYmIChtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkgfHwg
bV9hbmltYXRpb25UaW1lci5uZXh0RmlyZUludGVydmFsKCkgPD0gdGltZVRvTmV4dFNlcnZpY2Up
KQogICAgICAgICByZXR1cm47CkBAIC0xNjYsMTkgKzE2NiwyMCBAQCB2b2lkIEFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKFJlbmRlckVs
ZW1lbnQmCiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlv
blRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5nZWQvKiA9IERvTm90Q2FsbFNldENoYW5nZWQq
LykKIHsKLSAgICBkb3VibGUgdGltZVRvTmV4dFNlcnZpY2UgPSB1cGRhdGVBbmltYXRpb25zKGNh
bGxTZXRDaGFuZ2VkKTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBjb252ZXJ0IHJlc3Qgb2YgYW5p
bWF0aW9ucyBjb2RlIHRvIFNlY29uZHMgYW5kIE1vbm90b25pY1RpbWUuCisgICAgU2Vjb25kcyB0
aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHModXBkYXRlQW5pbWF0aW9ucyhjYWxsU2V0Q2hhbmdl
ZCkpOwogCi0gICAgTE9HKEFuaW1hdGlvbnMsICJ1cGRhdGVBbmltYXRpb25UaW1lcjogdGltZVRv
TmV4dFNlcnZpY2UgaXMgJS4yZiIsIHRpbWVUb05leHRTZXJ2aWNlKTsKKyAgICBMT0coQW5pbWF0
aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAlLjJmbXMi
LCB0aW1lVG9OZXh0U2VydmljZS5taWxsaXNlY29uZHMoKSk7CiAKICAgICAvLyBJZiB3ZSB3YW50
IHNlcnZpY2UgaW1tZWRpYXRlbHksIHdlIHN0YXJ0IGEgcmVwZWF0aW5nIHRpbWVyIHRvIHJlZHVj
ZSB0aGUgb3ZlcmhlYWQgb2Ygc3RhcnRpbmcKICAgICBpZiAoIXRpbWVUb05leHRTZXJ2aWNlKSB7
Ci0gICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8IG1fYW5pbWF0aW9u
VGltZXIucmVwZWF0SW50ZXJ2YWwoKSA9PSAwKQotICAgICAgICAgICAgbV9hbmltYXRpb25UaW1l
ci5zdGFydFJlcGVhdGluZyhjQW5pbWF0aW9uVGltZXJEZWxheSk7CisgICAgICAgIGlmICghbV9h
bmltYXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8ICFtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVy
dmFsKCkpCisgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGFuaW1h
dGlvblRpbWVyRGVsYXkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgLy8gSWYgd2Ug
ZG9uJ3QgbmVlZCBzZXJ2aWNlLCB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgdGltZXIgaXMgbm8g
bG9uZ2VyIHJ1bm5pbmcKLSAgICBpZiAodGltZVRvTmV4dFNlcnZpY2UgPCAwKSB7CisgICAgaWYg
KHRpbWVUb05leHRTZXJ2aWNlIDwgMF9zKSB7CiAgICAgICAgIGlmIChtX2FuaW1hdGlvblRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKICAgICAg
ICAgcmV0dXJuOwpAQCAtMjIyLDcgKzIyMyw3IEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGU6OmZpcmVFdmVudHNBbmRVcGRhdGVTdHlsZSgpCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjpzdGFydFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCkKIHsKICAgICBp
ZiAoIW1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fdXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFkZEV2ZW50VG9EaXNwYXRjaChQYXNz
UmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBlbGFwc2VkVGltZSkKQEAgLTM4NCw3ICszODUsNyBA
QCBib29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUo
UmVuZGVyRWxlbWVudCogcmVuZGVyZXIsCiBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpCiB7CiAgICAgQVNTRVJUKG1fYmVnaW5Bbmlt
YXRpb25VcGRhdGVDb3VudCk7Ci0gICAgaWYgKG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lID09
IGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgaWYgKG1fYmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lID09IGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAgICAgICAg
bV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUo
KTsKIAogICAgIHJldHVybiBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZTsKQEAgLTM5Myw3ICsz
OTQsNyBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSgpCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1h
dGlvblVwZGF0ZSgpCiB7CiAgICAgaWYgKCFtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQpCi0g
ICAgICAgIHNldEJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShjQmVnaW5BbmltYXRpb25VcGRhdGVU
aW1lTm90U2V0KTsKKyAgICAgICAgc2V0QmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5p
bWF0aW9uVXBkYXRlVGltZU5vdFNldCk7CiAgICAgKyttX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291
bnQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxl
ck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRl
eCBiMDM1MjcwODkxZDBjMjY4OTkwMzYzYzRmZDBmNmQxNmEyNzFlMzY5Li4zNzhkZWIwYjE3ZmFh
ZWRjYjU4MzhiNjhiZjdjZTcyOWUwZjNhNWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMv
RXZlbnRIYW5kbGVyTWFjLm1tCkBAIC03OCw3ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNvbnN0IGRvdWJsZSBFdmVudEhhbmRsZXI6OlRleHREcmFnRGVsYXkgPSAwLjE1OwogI2VuZGlm
CiAKLWNvbnN0IGRvdWJsZSByZXNldExhdGNoZWRTdGF0ZVRpbWVvdXQgPSAwLjE7Citjb25zdCBT
ZWNvbmRzIHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkgPSAwLjFfczsKIAogc3RhdGljIFJldGFpblB0
cjxOU0V2ZW50PiYgY3VycmVudE5TRXZlbnRTbG90KCkKIHsKQEAgLTkyNCw3ICs5MjQsNyBAQCB2
b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXJPclNjaGVkdWxlQ2xlYXJpbmdMYXRjaGVkU3RhdGVJZk5l
ZWRlZChjb25zdCBQbGF0Zm9ybVdoZQogICAgIC8vIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlLiBJ
ZiBpdCBkb2VzLCBzdG9wIHRoZSB0aW1lciwgbGVhdmluZyB0aGUgbGF0Y2hlZCBzdGF0ZSB1bnRv
dWNoZWQuCiAgICAgaWYgKCFtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuaXNBY3Rp
dmUoKSkgewogICAgICAgICBpZiAoZXZlbnQuaXNFbmRPZk5vbk1vbWVudHVtU2Nyb2xsKCkpCi0g
ICAgICAgICAgICBtX3BlbmRpbmdNb21lbnR1bVdoZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90
KHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCk7CisgICAgICAgICAgICBtX3BlbmRpbmdNb21lbnR1
bVdoZWVsRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KHJlc2V0TGF0Y2hlZFN0YXRlRGVsYXkpOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElmIGFub3RoZXIgd2hlZWwgZXZlbnQgc2Nyb2xsaW5n
IHN0YXJ0cywgc3RvcCB0aGUgdGltZXIgbWFudWFsbHksIGFuZCByZXNldCB0aGUgbGF0Y2hlZCBz
dGF0ZSBpbW1lZGlhdGVseS4KICAgICAgICAgaWYgKGV2ZW50LnNob3VsZENvbnNpZGVyTGF0Y2hp
bmcoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5oCmluZGV4IDU1ZTRkNjU5NWVlYjYwNTNmNmE2YTk0NTBiOWRhZWI4MTI4YzUy
NzAuLjBiYjA5ODAwZjhmYWU3YTFlNzI3Yzk0NGRlZGRiMWY2YTU2NmQyMjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAg
LTEyMiw3ICsxMjIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rpb25T
ZXJ2aWNlcygpOwogCiAgICAgYm9vbCBtb3VzZUlzT3ZlckhpZ2hsaWdodChIaWdobGlnaHQmLCBi
b29sJiBtb3VzZUlzT3ZlckJ1dHRvbikgY29uc3Q7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCop
IGNvbnN0OworICAgIFNlY29uZHMgcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVT
aG93bihIaWdobGlnaHQqKSBjb25zdDsKICAgICB2b2lkIGRldGVybWluZUFjdGl2ZUhpZ2hsaWdo
dFRpbWVyRmlyZWQoKTsKIAogICAgIHN0YXRpYyBib29sIGhpZ2hsaWdodHNBcmVFcXVpdmFsZW50
KGNvbnN0IEhpZ2hsaWdodCogYSwgY29uc3QgSGlnaGxpZ2h0KiBiKTsKQEAgLTE1MSw5ICsxNTEs
OSBAQCBwcml2YXRlOgogCiAgICAgSGlnaGxpZ2h0OjpUeXBlIG1fZGlydHlIaWdobGlnaHRUeXBl
cyB7IDAgfTsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9s
YXN0U2VsZWN0aW9uQ2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0
aW1lX3BvaW50IG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgc3RkOjpjaHJv
bm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBNb25v
dG9uaWNUaW1lIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0
TW91c2VVcFRpbWU7CiAKICAgICBSZWZQdHI8SGlnaGxpZ2h0PiBtX2N1cnJlbnRNb3VzZURvd25P
bkJ1dHRvbkhpZ2hsaWdodDsKICAgICBJbnRQb2ludCBtX21vdXNlUG9zaXRpb247CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpp
bmRleCA5YTgxNWI1YWU1NTk2NDk5YmRmNjE2ZWQ0MjExYjlhNTIzODE1ZTYyLi5lODg0OTI5NDZh
NWJhZWUxNjk0ZTA0YzUyNjc2OTc0NGViOTRlZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTM2OCw3ICszNjgs
NyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnNlbGVjdGlvblJlY3RzRGlkQ2hh
bmdlKGNvbnN0IFZlY3RvcjxMYXlvdXRSZWN0PgogICAgIG1fY3VycmVudFNlbGVjdGlvblJlY3Rz
ID0gcmVjdHM7CiAgICAgbV9pc1RleHRPbmx5ID0gaXNUZXh0T25seTsKIAotICAgIG1fbGFzdFNl
bGVjdGlvbkNoYW5nZVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAg
ICBtX2xhc3RTZWxlY3Rpb25DaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAg
ICBjb21wYWN0UmVjdHNXaXRoR2FwUmVjdHMobV9jdXJyZW50U2VsZWN0aW9uUmVjdHMsIGdhcFJl
Y3RzKTsKIApAQCAtMzkxLDcgKzM5MSw3IEBAIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxl
cjo6aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUoSGlnaGxpZ2h0OjpUeXBlIHR5cGUpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIG1fZGlydHlIaWdobGlnaHRUeXBlcyB8PSB0eXBlOwotICAgIG1f
YnVpbGRIaWdobGlnaHRzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fYnVpbGRIaWdobGln
aHRzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6YnVpbGRQb3RlbnRpYWxIaWdobGlnaHRzSWZOZWVkZWQoKQpAQCAtNDMzLDE1ICs0
MzMsMTUgQEAgYm9vbCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjptb3VzZUlzT3ZlckhpZ2hs
aWdodChIaWdobGlnaHQmIGhpZ2hsaWdodCwgYm9vbCYKICAgICByZXR1cm4gaG92ZXJlZDsKIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpy
ZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxp
Z2h0KSBjb25zdAorU2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpyZW1haW5pbmdU
aW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCogaGlnaGxpZ2h0KSBjb25z
dAogewogICAgIGlmICghaGlnaGxpZ2h0KQotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICBy
ZXR1cm4gMF9zOwogCi0gICAgYXV0byBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVT
aG93biA9IDIwMG1zOworICAgIFNlY29uZHMgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24gPSAwLjJfczsKICAgICBQYWdlKiBwYWdlID0gbV9tYWluRnJhbWUucGFnZSgpOwog
ICAgIGlmIChwYWdlICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFt
ZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCi0gICAgICAg
IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMTAwMG1zOworICAgICAg
ICBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDFfczsKIAogICAgIGJv
b2wgbW91c2VQcmVzc2VkID0gbV9tYWluRnJhbWUuZXZlbnRIYW5kbGVyKCkubW91c2VQcmVzc2Vk
KCk7CiAKQEAgLTQ0OSwxNSArNDQ5LDE0IEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0CiAgICAg
Ly8gYnkgdmlydHVlIG9mIGJlaW5nIGV4cGFuZGVkIHRvIGluY2x1ZGUgdGhlIGVudGlyZSB0ZWxl
cGhvbmUgbnVtYmVyLiBIb3dldmVyLCB3ZSB3aWxsIHN0aWxsIGF2b2lkIGhpZ2hsaWdodGluZwog
ICAgIC8vIHRlbGVwaG9uZSBudW1iZXJzIHdoaWxlIHRoZSBtb3VzZSBpcyBkb3duLgogICAgIGlm
IChoaWdobGlnaHQtPnR5cGUoKSA9PSBIaWdobGlnaHQ6OlRlbGVwaG9uZU51bWJlclR5cGUpCi0g
ICAgICAgIHJldHVybiBtb3VzZVByZXNzZWQgPyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hv
dWxkQmVTaG93biA6IDBtczsKKyAgICAgICAgcmV0dXJuIG1vdXNlUHJlc3NlZCA/IG1pbmltdW1U
aW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMF9zOwogCi0gICAgYXV0byBub3cgPSBz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOwogICAgIGF1dG8gdGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSA9IG5v
dyAtIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7CiAgICAgYXV0byB0aW1lU2luY2VIaWdobGln
aHRCZWNhbWVBY3RpdmUgPSBub3cgLSBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOwot
ICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwbXMgOiBub3cg
LSBtX2xhc3RNb3VzZVVwVGltZTsKKyAgICBhdXRvIHRpbWVTaW5jZUxhc3RNb3VzZVVwID0gbW91
c2VQcmVzc2VkID8gMF9zIDogbm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CiAKLSAgICBhdXRvIHJl
bWFpbmluZ0RlbGF5ID0gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gLSBz
dGQ6Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlLCB0aW1lU2luY2VI
aWdobGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VMYXN0TW91c2VVcCk7Ci0gICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KHJl
bWFpbmluZ0RlbGF5KTsKKyAgICByZXR1cm4gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3Vs
ZEJlU2hvd24gLSBzdGQ6Om1pbihzdGQ6Om1pbih0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdl
LCB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUpLCB0aW1lU2luY2VMYXN0TW91c2VVcCk7
CiB9CiAKIHZvaWQgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGln
aGxpZ2h0VGltZXJGaXJlZCgpCkBAIC03MjMsNyArNzIyLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJs
YXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJB
Y3RpdmUKICAgICAgICAgLy8gaGlnaGxpZ2h0LCBhbmQgb25seSByZXNldCB0aGUgYWN0aXZlIGhp
Z2hsaWdodCBoeXN0ZXJlc2lzIHdoZW4gdGhhdCBjaGFuZ2VzLgogICAgICAgICBpZiAobV9uZXh0
QWN0aXZlSGlnaGxpZ2h0ICE9IG5ld0FjdGl2ZUhpZ2hsaWdodCkgewogICAgICAgICAgICAgbV9u
ZXh0QWN0aXZlSGlnaGxpZ2h0ID0gbmV3QWN0aXZlSGlnaGxpZ2h0OwotICAgICAgICAgICAgbV9u
ZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6
Om5vdygpOworICAgICAgICAgICAgbV9uZXh0QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZSA9IE1v
bm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICB9CiAKICAgICAgICAgbV9jdXJyZW50TW91c2VE
b3duT25CdXR0b25IaWdobGlnaHQgPSBudWxscHRyOwpAQCAtNzM0LDcgKzczMyw3IEBAIHZvaWQg
U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6ZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0KGJvb2wm
IG1vdXNlSXNPdmVyQWN0aXZlCiAgICAgICAgIH0KIAogICAgICAgICBhdXRvIHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSB0aGlzLT5yZW1haW5pbmdUaW1lVW50aWxI
aWdobGlnaHRTaG91bGRCZVNob3duKG5ld0FjdGl2ZUhpZ2hsaWdodC5nZXQoKSk7Ci0gICAgICAg
IGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID4gc3RkOjpjaHJv
bm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSkgeworICAgICAgICBpZiAocmVtYWlu
aW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA+IDBfcykgewogICAgICAgICAgICAg
bV9kZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lci5zdGFydE9uZVNob3QocmVtYWluaW5nVGlt
ZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93bik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KQEAgLTc2Niw3ICs3NjUsNyBAQCBib29sIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
Om1vdXNlRXZlbnQoUGFnZU92ZXJsYXkmLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbgogICAgICAg
ICBSZWZQdHI8SGlnaGxpZ2h0PiBtb3VzZURvd25IaWdobGlnaHQgPSBtX2N1cnJlbnRNb3VzZURv
d25PbkJ1dHRvbkhpZ2hsaWdodDsKICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duT25CdXR0b25I
aWdobGlnaHQgPSBudWxscHRyOwogCi0gICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0gc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAgIG1fbGFzdE1vdXNlVXBUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICAgICAgaWYgKG1vdXNlSXNPdmVyQWN0aXZlSGln
aGxpZ2h0QnV0dG9uICYmIG1vdXNlRG93bkhpZ2hsaWdodCkgewogICAgICAgICAgICAgaGFuZGxl
Q2xpY2sobV9tb3VzZVBvc2l0aW9uLCAqbW91c2VEb3duSGlnaGxpZ2h0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJbmRpY2F0b3JXaW5kb3cubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCmluZGV4IGU0ZTIwZDIyNzY4
Yzg4MmU5MDBiMTJiNDFmZTAyZWNkZmI0OGY2MjguLjUwNDRlYWY2MjA0YTNiYzJiOGRkZTZhZTRh
ODU5OWFiNTExNmIxYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1RleHRJ
bmRpY2F0b3JXaW5kb3cubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGlj
YXRvcldpbmRvdy5tbQpAQCAtNDc1LDcgKzQ3NSw3IEBAIHZvaWQgVGV4dEluZGljYXRvcldpbmRv
dzo6c2V0VGV4dEluZGljYXRvcihSZWY8VGV4dEluZGljYXRvcj4gdGV4dEluZGljYXRvciwgQ0dS
CiAgICAgICAgIFttX3RleHRJbmRpY2F0b3JWaWV3IHByZXNlbnRdOwogCiAgICAgaWYgKGxpZmV0
aW1lID09IFRleHRJbmRpY2F0b3JXaW5kb3dMaWZldGltZTo6VGVtcG9yYXJ5KQotICAgICAgICBt
X3RlbXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNob3QodGltZUJlZm9yZUZhZGVT
dGFydHMpOworICAgICAgICBtX3RlbXBvcmFyeVRleHRJbmRpY2F0b3JUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcyh0aW1lQmVmb3JlRmFkZVN0YXJ0cykpOwogfQogCiB2b2lkIFRleHRJbmRpY2F0
b3JXaW5kb3c6OmNsb3NlV2luZG93KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggZjZlNTQ2
Yjk4NzFjOTA4MDRiYjU3ODEzMDVlMTQzY2VlMjFlYzg5Ni4uODFjMzAxNGZhNjUyNWUxZjZmZGY3
ZDNlMGMzNmRjZDIyNzYyNGVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTI3MCw3ICsy
NzAsNyBAQCB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlVXBkYXRlU2Ny
b2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsKFNjcgogICAgIH0KIAogICAgIG1fc2NoZWR1bGVk
U2Nyb2xsVXBkYXRlID0gc2Nyb2xsVXBkYXRlOwotICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0
aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRlTm9kZVNjcm9sbFBvc2l0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvcjo6dXBkYXRlU2Nyb2xsUG9zaXRpb25BZnRlckFzeW5jU2Nyb2xsVGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JJT1MubW0KaW5kZXggNGNjZjQ0NDI5Zjk5ZTEwOWY4NzU1Yjk0NjAxMjZi
YmNhN2U1YjllYS4uZWQxZDdkNjEzOWYyMDUyYjRiZDhhMTY4NTc1MDdkNjEyOGYwNDJhYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdDb29yZGluYXRvcklPUy5tbQpAQCAtODYsNyArODYsNyBAQCB2b2lkIFNjcm9sbGluZ0Nv
b3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xs
aW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6Y29tbWl0VHJlZVN0YXRlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdD
b29yZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdDb29yZGluYXRvck1hYy5tbQppbmRleCBkNDNkOTRiMjQ3YTZlNGY5Mzk3NDE1ODI2MTk3
YzJiMGFkZjA3MTQ4Li41M2Y0MGQ2MDE0NGQwOTRmNjg1MzVmNDEzNDg4ZmM0ZjkzMDhmNjhlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC0xMDMsNyArMTAzLDcgQEAgdm9pZCBTY3JvbGxp
bmdDb29yZGluYXRvck1hYzo6c2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKQogICAgIGlmIChtX3Nj
cm9sbGluZ1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OmNvbW1pdFRyZWVTdGF0
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwCmluZGV4
IDFhYTdlMWI4NzYzZmYxYjQ3ZGZiOGUyMTM5NDA3NjQ1ZWI3NTVlYjIuLjM3OTRmMWVmMWQwMWNm
NWFlNjIxMWRiZTQ1ODcxOTUzYTYzNGYyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0dlbmVyaWNUYXNrUXVldWUuY3BwCkBAIC00MSw3ICs0MSw3IEBAIHZvaWQgVGFza0Rpc3BhdGNo
ZXI8VGltZXI+Ojpwb3N0VGFzayhGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pCiAgICAgbV9w
ZW5kaW5nVGFza3MuYXBwZW5kKFdURk1vdmUoZnVuY3Rpb24pKTsKICAgICBwZW5kaW5nRGlzcGF0
Y2hlcnMoKS5hcHBlbmQobV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOwogICAgIGlm
ICghc2hhcmVkVGltZXIoKS5pc0FjdGl2ZSgpKQotICAgICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICAgICAgc2hhcmVkVGltZXIoKS5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogVGltZXImIFRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6c2hhcmVkVGltZXIoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSHlzdGVyZXNpc0FjdGl2aXR5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaAppbmRleCAxMjhlZjgyMDllMmE3
NDgzMDllMDYyODIwZWRjODIzOTgwYzBiMmUxLi5hZDRlYjc3YWU1N2JlMzJiMzkzNzhmMzgzMDk5
YjkzZDQ1OGFmNzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJl
c2lzQWN0aXZpdHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0
aXZpdHkuaApAQCAtMzAsNyArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBjb25zdCBkb3VibGUgRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzID0gNS4wOworc3RhdGljIGNv
bnN0IFNlY29uZHMgRGVmYXVsdEh5c3RlcmVzaXNJbnRlcnZhbCA9IDVfczsKIAogZW51bSBjbGFz
cyBIeXN0ZXJlc2lzU3RhdGUgewogICAgIFN0YXJ0ZWQsCkBAIC0zOSw5ICszOSw5IEBAIGVudW0g
Y2xhc3MgSHlzdGVyZXNpc1N0YXRlIHsKIAogY2xhc3MgSHlzdGVyZXNpc0FjdGl2aXR5IHsKIHB1
YmxpYzoKLSAgICBleHBsaWNpdCBIeXN0ZXJlc2lzQWN0aXZpdHkoc3RkOjpmdW5jdGlvbjx2b2lk
KEh5c3RlcmVzaXNTdGF0ZSk+IGNhbGxiYWNrID0gW10oSHlzdGVyZXNpc1N0YXRlKSB7IH0sIGRv
dWJsZSBoeXN0ZXJlc2lzU2Vjb25kcyA9IERlZmF1bHRIeXN0ZXJlc2lzU2Vjb25kcykKKyAgICBl
eHBsaWNpdCBIeXN0ZXJlc2lzQWN0aXZpdHkoc3RkOjpmdW5jdGlvbjx2b2lkKEh5c3RlcmVzaXNT
dGF0ZSk+IGNhbGxiYWNrID0gW10oSHlzdGVyZXNpc1N0YXRlKSB7IH0sIFNlY29uZHMgaHlzdGVy
ZXNpc0ludGVydmFsID0gRGVmYXVsdEh5c3RlcmVzaXNJbnRlcnZhbCkKICAgICAgICAgOiBtX2Nh
bGxiYWNrKGNhbGxiYWNrKQotICAgICAgICAsIG1faHlzdGVyZXNpc1NlY29uZHMoaHlzdGVyZXNp
c1NlY29uZHMpCisgICAgICAgICwgbV9oeXN0ZXJlc2lzSW50ZXJ2YWwoaHlzdGVyZXNpc0ludGVy
dmFsKQogICAgICAgICAsIG1fYWN0aXZlKGZhbHNlKQogICAgICAgICAsIG1fdGltZXIoKnRoaXMs
ICZIeXN0ZXJlc2lzQWN0aXZpdHk6Omh5c3RlcmVzaXNUaW1lckZpcmVkKQogICAgIHsKQEAgLTY1
LDcgKzY1LDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBtX2FjdGl2
ZSA9IGZhbHNlOwogCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc1Nl
Y29uZHMpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX2h5c3RlcmVzaXNJbnRlcnZh
bCk7CiAgICAgfQogCiAgICAgdm9pZCBpbXB1bHNlKCkKQEAgLTg5LDcgKzg5LDcgQEAgcHJpdmF0
ZToKICAgICB9CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gbV9j
YWxsYmFjazsKLSAgICBkb3VibGUgbV9oeXN0ZXJlc2lzU2Vjb25kczsKKyAgICBTZWNvbmRzIG1f
aHlzdGVyZXNpc0ludGVydmFsOwogICAgIGJvb2wgbV9hY3RpdmU7CiAgICAgVGltZXIgbV90aW1l
cjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcAppbmRleCA4ODE4MWQzMDU3
ZjQ2ODk0ZGZlYjlhOTc3YTU2NzA2NjE2NDUzNTdjLi5mMDllOTRiMDlmMDYxNTM1ZTc5OGEwZDBl
ODAwZTM4YmY2ZDk0MjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKQEAg
LTE4Myw3ICsxODMsNyBAQCBzdGF0aWMgYm9vbCB0aHVtYlVuZGVyTW91c2UoU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIpCiAgICAgcmV0dXJuIHNjcm9sbGJhci0+cHJlc3NlZFBvcygpID49IHRodW1iUG9z
ICYmIHNjcm9sbGJhci0+cHJlc3NlZFBvcygpIDwgdGh1bWJQb3MgKyB0aHVtYkxlbmd0aDsKIH0K
IAotdm9pZCBTY3JvbGxiYXI6OmF1dG9zY3JvbGxQcmVzc2VkUGFydChkb3VibGUgZGVsYXkpCit2
b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KFNlY29uZHMgZGVsYXkpCiB7CiAg
ICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgZm9yIHRoZSB0aHVtYiBvciBpZiBub3RoaW5nIHdhcyBw
cmVzc2VkLgogICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCB8fCBtX3ByZXNzZWRQ
YXJ0ID09IE5vUGFydCkKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIFNjcm9sbGJhcjo6YXV0b3Nj
cm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkKICAgICAgICAgc3RhcnRUaW1lcklmTmVlZGVk
KGRlbGF5KTsKIH0KIAotdm9pZCBTY3JvbGxiYXI6OnN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUg
ZGVsYXkpCit2b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKFNlY29uZHMgZGVsYXkp
CiB7CiAgICAgLy8gRG9uJ3QgZG8gYW55dGhpbmcgZm9yIHRoZSB0aHVtYi4KICAgICBpZiAobV9w
cmVzc2VkUGFydCA9PSBUaHVtYlBhcnQpCkBAIC0yMjUsNyArMjI1LDcgQEAgdm9pZCBTY3JvbGxi
YXI6OnN0YXJ0VGltZXJJZk5lZWRlZChkb3VibGUgZGVsYXkpCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgbV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1f
c2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoZGVsYXkpKTsKIH0KIAogdm9pZCBTY3Jv
bGxiYXI6OnN0b3BUaW1lcklmTmVlZGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgK
aW5kZXggZjg2YTk2MmFmZTAyYjUyNjAzOGJkN2Q1ZWRkZWE5NjRiYmE2ZjcxYS4uYTIzNmM3ZThl
YjEyN2FlYTM3NTY1MjNlYmVjNDFmOTkzYTlhNWM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYmFyLmgKQEAgLTE0NCw5ICsxNDQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZVRodW1iUHJvcG9ydGlvbigpOwogCiAgICAgdm9pZCBhdXRvc2Nyb2xsVGltZXJGaXJl
ZCgpOwotICAgIHZvaWQgc3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSk7CisgICAgdm9p
ZCBzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxheSk7CiAgICAgdm9pZCBzdG9wVGltZXJJ
Zk5lZWRlZCgpOwotICAgIHZvaWQgYXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSk7
CisgICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSk7CiAgICAgU2Ny
b2xsRGlyZWN0aW9uIHByZXNzZWRQYXJ0U2Nyb2xsRGlyZWN0aW9uKCk7CiAgICAgU2Nyb2xsR3Jh
bnVsYXJpdHkgcHJlc3NlZFBhcnRTY3JvbGxHcmFudWxhcml0eSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCA3MjUyOTQyYjBjYWNiYTRhMGUzYTBkZmI0
NzYxZGQ0YTY1NzVlZGJjLi5mZGM1ZjhkNWQ2NDVkZjMyZjYwMjkxZjU0NjBiZTU5MzJkZGM0ODcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTEwNSw4ICsx
MDUsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGludCBtYXhPdmVybGFwQmV0d2VlblBhZ2Vz
KCkgeyByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKTsgfQogCi0gICAgdmly
dHVhbCBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4yNTsg
fQotICAgIHZpcnR1YWwgZG91YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gMC4w
NTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7
IHJldHVybiAwLjI1X3M7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVs
YXkoKSB7IHJldHVybiAwLjA1X3M7IH0KIAogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9s
bGJhcihTY3JvbGxiYXImKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJh
cihTY3JvbGxiYXImKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
ZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCmluZGV4IDU5MTE5NzhhZWVj
MThmMDgzZmRiZjg1ZjFhZjNlZDI0MTc5MDExNjUuLjg3MzU5NDJmYjY5MDU5NjQ0YzRmYWVjYjk0
NDQyNmFlMmZmMjE2YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaApAQCAtNzYsNyArNzYsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBGb250Q2FzY2FkZSBzeXN0ZW1Gb250KFRoZW1lRm9udCwg
Rm9udERlc2NyaXB0aW9uJikgY29uc3QgeyByZXR1cm4gRm9udENhc2NhZGUoKTsgfQogICAgIAog
ICAgIC8vIEhvdyBmYXN0IHRoZSBjYXJldCBibGlua3MgaW4gdGV4dCBmaWVsZHMuCi0gICAgdmly
dHVhbCBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41OyB9Cisg
ICAgdmlydHVhbCBTZWNvbmRzIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAu
NV9zOyB9CiAKICAgICAvLyBOb3RpZmljYXRpb24gd2hlbiB0aGUgdGhlbWUgaGFzIGNoYW5nZWQK
ICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFuZ2VkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmNwcAppbmRleCBlM2Q2NWVhYmJlNDU5ZDNiN2FlZmQxNmQyMzFhYTEw
ZmNmZGJjYTQ0Li42YTE4NzdmMTM2ZmUxNzljMTgzM2RkYzA0ZTdiMjY3MWI3OWJmMjM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1
ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KIAog
I2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJXZWJDb3JlVGhyZWFkLmgiCkBAIC00Myw3ICs0
NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEZpcmUgdGltZXJzIGZvciB0aGlzIGxlbmd0
aCBvZiB0aW1lLCBhbmQgdGhlbiBxdWl0IHRvIGxldCB0aGUgcnVuIGxvb3AgcHJvY2VzcyB1c2Vy
IGlucHV0IGV2ZW50cy4KIC8vIDEwMG1zIGlzIGFib3V0IGEgcGVyY2VwdGFibGUgZGVsYXkgaW4g
VUksIHNvIHVzZSBhIGhhbGYgb2YgdGhhdCBhcyBhIHRocmVzaG9sZC4KIC8vIFRoaXMgaXMgdG8g
cHJldmVudCBVSSBmcmVlemUgd2hlbiB0aGVyZSBhcmUgdG9vIG1hbnkgdGltZXJzIG9yIG1hY2hp
bmUgcGVyZm9ybWFuY2UgaXMgbG93Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhEdXJhdGlvbk9m
RmlyaW5nVGltZXJzID0gMC4wNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhEdXJhdGlvbk9m
RmlyaW5nVGltZXJzID0gNTBfbXM7CiAKIC8vIFRpbWVycyBhcmUgY3JlYXRlZCwgc3RhcnRlZCBh
bmQgZmlyZWQgb24gdGhlIHNhbWUgdGhyZWFkLCBhbmQgZWFjaCB0aHJlYWQgaGFzIGl0cyBvd24g
VGhyZWFkVGltZXJzCiAvLyBjb3B5IHRvIGtlZXAgdGhlIGhlYXAgYW5kIGEgc2V0IG9mIGN1cnJl
bnRseSBmaXJpbmcgdGltZXJzLgpAQCAtNTEsNyArNTIsNiBAQCBzdGF0aWMgY29uc3QgZG91Ymxl
IG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKIFRocmVhZFRpbWVyczo6VGhyZWFk
VGltZXJzKCkKICAgICA6IG1fc2hhcmVkVGltZXIoMCkKICAgICAsIG1fZmlyaW5nVGltZXJzKGZh
bHNlKQotICAgICwgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSgwKQogewogICAgIGlmIChp
c1VJVGhyZWFkKCkpCiAgICAgICAgIHNldFNoYXJlZFRpbWVyKCZNYWluVGhyZWFkU2hhcmVkVGlt
ZXI6OnNpbmdsZXRvbigpKTsKQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OnNl
dFNoYXJlZFRpbWVyKFNoYXJlZFRpbWVyKiBzaGFyZWRUaW1lcikKICAgICBpZiAobV9zaGFyZWRU
aW1lcikgewogICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlZEZ1bmN0aW9uKG51bGxwdHIp
OwogICAgICAgICBtX3NoYXJlZFRpbWVyLT5zdG9wKCk7Ci0gICAgICAgIG1fcGVuZGluZ1NoYXJl
ZFRpbWVyRmlyZVRpbWUgPSAwOworICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1l
ID0geyB9OwogICAgIH0KICAgICAKICAgICBtX3NoYXJlZFRpbWVyID0gc2hhcmVkVGltZXI7CkBA
IC04MSwxOCArODEsMTggQEAgdm9pZCBUaHJlYWRUaW1lcnM6OnVwZGF0ZVNoYXJlZFRpbWVyKCkK
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAKICAgICBpZiAobV9maXJpbmdUaW1lcnMgfHwgbV90
aW1lckhlYXAuaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSAwOworICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0geyB9OwogICAg
ICAgICBtX3NoYXJlZFRpbWVyLT5zdG9wKCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZG91Ymxl
IG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lOwotICAg
ICAgICBkb3VibGUgY3VycmVudE1vbm90b25pY1RpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKKyAgICAgICAgYXV0byBuZXh0RmlyZVRpbWUgPSBtX3RpbWVySGVhcC5maXJzdCgp
LT5tX25leHRGaXJlVGltZTsKKyAgICAgICAgYXV0byBjdXJyZW50TW9ub3RvbmljVGltZSA9IE1v
bm90b25pY1RpbWU6Om5vdygpOwogICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJl
VGltZSkgewogICAgICAgICAgICAgLy8gTm8gbmVlZCB0byByZXN0YXJ0IHRoZSB0aW1lciBpZiBi
b3RoIHRoZSBwZW5kaW5nIGZpcmUgdGltZSBhbmQgdGhlIG5ldyBmaXJlIHRpbWUgYXJlIGluIHRo
ZSBwYXN0LgogICAgICAgICAgICAgaWYgKG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPD0g
Y3VycmVudE1vbm90b25pY1RpbWUgJiYgbmV4dEZpcmVUaW1lIDw9IGN1cnJlbnRNb25vdG9uaWNU
aW1lKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfSAKICAgICAgICAgbV9wZW5k
aW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IG5leHRGaXJlVGltZTsKLSAgICAgICAgbV9zaGFyZWRU
aW1lci0+c2V0RmlyZUludGVydmFsKFNlY29uZHMoc3RkOjptYXgobmV4dEZpcmVUaW1lIC0gY3Vy
cmVudE1vbm90b25pY1RpbWUsIDAuMCkpKTsKKyAgICAgICAgbV9zaGFyZWRUaW1lci0+c2V0Rmly
ZUludGVydmFsKHN0ZDo6bWF4PFNlY29uZHM+KG5leHRGaXJlVGltZSAtIGN1cnJlbnRNb25vdG9u
aWNUaW1lLCAwX3MpKTsKICAgICB9CiB9CiAKQEAgLTEwMywyNSArMTAzLDI1IEBAIHZvaWQgVGhy
ZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwoKQogICAgIGlmIChtX2ZpcmluZ1Rp
bWVycykKICAgICAgICAgcmV0dXJuOwogICAgIG1fZmlyaW5nVGltZXJzID0gdHJ1ZTsKLSAgICBt
X3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gMDsKKyAgICBtX3BlbmRpbmdTaGFyZWRUaW1l
ckZpcmVUaW1lID0geyB9OwogCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbW9ub3RvbmljYWxseUlu
Y3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVUb1F1aXQgPSBmaXJlVGltZSArIG1heER1
cmF0aW9uT2ZGaXJpbmdUaW1lcnM7CisgICAgYXV0byBmaXJlVGltZSA9IE1vbm90b25pY1RpbWU6
Om5vdygpOworICAgIGF1dG8gdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4RHVyYXRpb25PZkZp
cmluZ1RpbWVyczsKIAogICAgIHdoaWxlICghbV90aW1lckhlYXAuaXNFbXB0eSgpICYmIG1fdGlt
ZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1lIDw9IGZpcmVUaW1lKSB7CiAgICAgICAgIFRp
bWVyQmFzZSogdGltZXIgPSBtX3RpbWVySGVhcC5maXJzdCgpOwotICAgICAgICB0aW1lci0+bV9u
ZXh0RmlyZVRpbWUgPSAwOwotICAgICAgICB0aW1lci0+bV91bmFsaWduZWROZXh0RmlyZVRpbWUg
PSAwOworICAgICAgICB0aW1lci0+bV9uZXh0RmlyZVRpbWUgPSBNb25vdG9uaWNUaW1lKCk7Cisg
ICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsK
ICAgICAgICAgdGltZXItPmhlYXBEZWxldGVNaW4oKTsKIAotICAgICAgICBkb3VibGUgaW50ZXJ2
YWwgPSB0aW1lci0+cmVwZWF0SW50ZXJ2YWwoKTsKLSAgICAgICAgdGltZXItPnNldE5leHRGaXJl
VGltZShpbnRlcnZhbCA/IGZpcmVUaW1lICsgaW50ZXJ2YWwgOiAwKTsKKyAgICAgICAgU2Vjb25k
cyBpbnRlcnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOworICAgICAgICB0aW1lci0+c2V0
TmV4dEZpcmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZhbCA6IE1vbm90b25pY1Rp
bWUoKSk7CiAKICAgICAgICAgLy8gT25jZSB0aGUgdGltZXIgaGFzIGJlZW4gZmlyZWQsIGl0IG1h
eSBiZSBkZWxldGVkLCBzbyBkbyBub3RoaW5nIGVsc2Ugd2l0aCBpdCBhZnRlciB0aGlzIHBvaW50
LgogICAgICAgICB0aW1lci0+ZmlyZWQoKTsKIAogICAgICAgICAvLyBDYXRjaCB0aGUgY2FzZSB3
aGVyZSB0aGUgdGltZXIgYXNrZWQgdGltZXJzIHRvIGZpcmUgaW4gYSBuZXN0ZWQgZXZlbnQgbG9v
cCwgb3Igd2UgYXJlIG92ZXIgdGltZSBsaW1pdC4KLSAgICAgICAgaWYgKCFtX2ZpcmluZ1RpbWVy
cyB8fCB0aW1lVG9RdWl0IDwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpCisgICAgICAg
IGlmICghbV9maXJpbmdUaW1lcnMgfHwgdGltZVRvUXVpdCA8IE1vbm90b25pY1RpbWU6Om5vdygp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC0xMzcsNyArMTM3LDcgQEAgdm9pZCBU
aHJlYWRUaW1lcnM6OmZpcmVUaW1lcnNJbk5lc3RlZEV2ZW50TG9vcCgpCiAKICAgICBpZiAobV9z
aGFyZWRUaW1lcikgewogICAgICAgICBtX3NoYXJlZFRpbWVyLT5pbnZhbGlkYXRlKCk7Ci0gICAg
ICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgICAgICBtX3BlbmRpbmdT
aGFyZWRUaW1lckZpcmVUaW1lID0geyB9OwogICAgIH0KIAogICAgIHVwZGF0ZVNoYXJlZFRpbWVy
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGVhYmM0ZDEyMWU4
MjY2NjJlOWFiYjMwNGUzODNmMTdiMWU3MjlhOTcuLmNmNThjOTE3YTk1Y2UzNjcyYzE2YjdlNmVj
NjkxNzM5YTg5MDNhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVh
ZFRpbWVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBA
IC0yNyw2ICsyNyw3IEBACiAjaWZuZGVmIFRocmVhZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRp
bWVyc19oCiAKKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNTYsNyArNTcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFZlY3RvcjxUaW1lckJhc2UqPiBtX3RpbWVy
SGVhcDsKICAgICAgICAgU2hhcmVkVGltZXIqIG1fc2hhcmVkVGltZXI7IC8vIEV4dGVybmFsIG9i
amVjdCwgY2FuIGJlIGEgcnVuIGxvb3Agb24gYSB3b3JrZXIgdGhyZWFkLiBOb3JtYWxseSBzZXQv
cmVzZXQgYnkgd29ya2VyIHRocmVhZC4KICAgICAgICAgYm9vbCBtX2ZpcmluZ1RpbWVyczsgLy8g
UmVlbnRyYW5jeSBndWFyZC4KLSAgICAgICAgZG91YmxlIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmly
ZVRpbWU7CisgICAgICAgIE1vbm90b25pY1RpbWUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGlt
ZTsKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKaW5kZXggY2Q1OTRmZTdj
YzU1ODkxMjk0NzQ2Mzk3NmQ4ZDE4NWY5MTExNGJiYS4uODg4NGExNDY1ZjRkNmYyODNkYTliN2U5
MjE1NzE4Nzg1ZGQ5ZjYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGlt
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcApAQCAtMTcyLDgg
KzE3Miw4IEBAIGlubGluZSBib29sIFRpbWVySGVhcExlc3NUaGFuRnVuY3Rpb246Om9wZXJhdG9y
KCkoY29uc3QgVGltZXJCYXNlKiBhLCBjb25zdCBUaW1lCiB7CiAgICAgLy8gVGhlIGNvbXBhcmlz
b25zIGJlbG93IGFyZSAiYmFja3dhcmRzIiBiZWNhdXNlIHRoZSBoZWFwIHB1dHMgdGhlIGxhcmdl
c3QgCiAgICAgLy8gZWxlbWVudCBmaXJzdCBhbmQgd2Ugd2FudCB0aGUgbG93ZXN0IHRpbWUgdG8g
YmUgdGhlIGZpcnN0IG9uZSBpbiB0aGUgaGVhcC4KLSAgICBkb3VibGUgYUZpcmVUaW1lID0gYS0+
bV9uZXh0RmlyZVRpbWU7Ci0gICAgZG91YmxlIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1l
OworICAgIE1vbm90b25pY1RpbWUgYUZpcmVUaW1lID0gYS0+bV9uZXh0RmlyZVRpbWU7CisgICAg
TW9ub3RvbmljVGltZSBiRmlyZVRpbWUgPSBiLT5tX25leHRGaXJlVGltZTsKICAgICBpZiAoYkZp
cmVUaW1lICE9IGFGaXJlVGltZSkKICAgICAgICAgcmV0dXJuIGJGaXJlVGltZSA8IGFGaXJlVGlt
ZTsKICAgICAKQEAgLTE4NiwxMSArMTg2LDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1Ro
YW5GdW5jdGlvbjo6b3BlcmF0b3IoKShjb25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIC8v
IC0tLS0tLS0tLS0tLS0tLS0KIAogVGltZXJCYXNlOjpUaW1lckJhc2UoKQotICAgIDogbV9uZXh0
RmlyZVRpbWUoMCkKLSAgICAsIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lKDApCi0gICAgLCBtX3Jl
cGVhdEludGVydmFsKDApCi0gICAgLCBtX2hlYXBJbmRleCgtMSkKLSAgICAsIG1fY2FjaGVkVGhy
ZWFkR2xvYmFsVGltZXJIZWFwKDApCisgICAgOiBtX2hlYXBJbmRleCgtMSkKKyAgICAsIG1fY2Fj
aGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwKG51bGxwdHIpCiAjaWZuZGVmIE5ERUJVRwogICAgICwg
bV90aHJlYWQoY3VycmVudFRocmVhZCgpKQogICAgICwgbV93YXNEZWxldGVkKGZhbHNlKQpAQCAt
MjA3LDMyICsyMDQsMzIgQEAgVGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICNlbmRpZgogfQogCi12
b2lkIFRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGRvdWJsZSByZXBl
YXRJbnRlcnZhbCkKK3ZvaWQgVGltZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2
YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpCiB7CiAgICAgQVNTRVJUKGNhbkFjY2Vzc1RocmVh
ZExvY2FsRGF0YUZvclRocmVhZChtX3RocmVhZCkpOwogCiAgICAgbV9yZXBlYXRJbnRlcnZhbCA9
IHJlcGVhdEludGVydmFsOwotICAgIHNldE5leHRGaXJlVGltZShtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSArIG5leHRGaXJlSW50ZXJ2YWwpOworICAgIHNldE5leHRGaXJlVGltZShNb25v
dG9uaWNUaW1lOjpub3coKSArIG5leHRGaXJlSW50ZXJ2YWwpOwogfQogCiB2b2lkIFRpbWVyQmFz
ZTo6c3RvcCgpCiB7CiAgICAgQVNTRVJUKGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVh
ZChtX3RocmVhZCkpOwogCi0gICAgbV9yZXBlYXRJbnRlcnZhbCA9IDA7Ci0gICAgc2V0TmV4dEZp
cmVUaW1lKDApOworICAgIG1fcmVwZWF0SW50ZXJ2YWwgPSAwX3M7CisgICAgc2V0TmV4dEZpcmVU
aW1lKE1vbm90b25pY1RpbWUoKSk7CiAKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7
Ci0gICAgQVNTRVJUKG1fcmVwZWF0SW50ZXJ2YWwgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRG
aXJlVGltZSk7CisgICAgQVNTRVJUKCFtX3JlcGVhdEludGVydmFsKTsKICAgICBBU1NFUlQoIWlu
SGVhcCgpKTsKIH0KIAotZG91YmxlIFRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0
CitTZWNvbmRzIFRpbWVyQmFzZTo6bmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgQVNT
RVJUKGlzQWN0aXZlKCkpOwotICAgIGRvdWJsZSBjdXJyZW50ID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7CisgICAgTW9ub3RvbmljVGltZSBjdXJyZW50ID0gTW9ub3RvbmljVGltZTo6
bm93KCk7CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lIDwgY3VycmVudCkKLSAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIHJldHVybiAwX3M7CiAgICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lIC0gY3Vy
cmVudDsKIH0KIApAQCAtMjQ4LDE0ICsyNDUsMTQgQEAgaW5saW5lIHZvaWQgVGltZXJCYXNlOjpj
aGVja0hlYXBJbmRleCgpIGNvbnN0CiBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmNoZWNrQ29uc2lz
dGVuY3koKSBjb25zdAogewogICAgIC8vIFRpbWVycyBzaG91bGQgYmUgaW4gdGhlIGhlYXAgaWYg
YW5kIG9ubHkgaWYgdGhleSBoYXZlIGEgbm9uLXplcm8gbmV4dCBmaXJlIHRpbWUuCi0gICAgQVNT
RVJUKGluSGVhcCgpID09IChtX25leHRGaXJlVGltZSAhPSAwKSk7CisgICAgQVNTRVJUKGluSGVh
cCgpID09ICEhbV9uZXh0RmlyZVRpbWUpOwogICAgIGlmIChpbkhlYXAoKSkKICAgICAgICAgY2hl
Y2tIZWFwSW5kZXgoKTsKIH0KIAogdm9pZCBUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtleSgpCiB7
Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lICE9IDApOworICAgIEFTU0VSVChtX25leHRGaXJl
VGltZSk7CiAgICAgY2hlY2tIZWFwSW5kZXgoKTsKICAgICBUaW1lckJhc2UqKiBoZWFwRGF0YSA9
IHRpbWVySGVhcCgpLmRhdGEoKTsKICAgICBwdXNoX2hlYXAoVGltZXJIZWFwSXRlcmF0b3IoaGVh
cERhdGEpLCBUaW1lckhlYXBJdGVyYXRvcihoZWFwRGF0YSArIG1faGVhcEluZGV4ICsgMSksIFRp
bWVySGVhcExlc3NUaGFuRnVuY3Rpb24oKSk7CkBAIC0yNjQsNyArMjYxLDcgQEAgdm9pZCBUaW1l
ckJhc2U6OmhlYXBEZWNyZWFzZUtleSgpCiAKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcERl
bGV0ZSgpCiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lID09IDApOworICAgIEFTU0VSVCgh
bV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICB0aW1lckhlYXAoKS5yZW1vdmVM
YXN0KCk7CiAgICAgbV9oZWFwSW5kZXggPSAtMTsKQEAgLTI3Miw3ICsyNjksNyBAQCBpbmxpbmUg
dm9pZCBUaW1lckJhc2U6OmhlYXBEZWxldGUoKQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0
ZU1pbigpCiB7Ci0gICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lID09IDApOworICAgIEFTU0VSVCgh
bV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3BNaW4oKTsKICAgICB0aW1lckhlYXAoKS5yZW1v
dmVMYXN0KCk7CiAgICAgbV9oZWFwSW5kZXggPSAtMTsKQEAgLTI4MCw3ICsyNzcsNyBAQCB2b2lk
IFRpbWVyQmFzZTo6aGVhcERlbGV0ZU1pbigpCiAKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVh
cEluY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAg
QVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAgICBoZWFwUG9wKCk7CiAgICAgaGVhcERlY3JlYXNl
S2V5KCk7CiB9CkBAIC0yOTYsOCArMjkzLDggQEAgaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFw
SW5zZXJ0KCkKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6aGVhcFBvcCgpCiB7CiAgICAgLy8gVGVt
cG9yYXJpbHkgZm9yY2UgdGhpcyB0aW1lciB0byBoYXZlIHRoZSBtaW5pbXVtIGtleSBzbyB3ZSBj
YW4gcG9wIGl0LgotICAgIGRvdWJsZSBmaXJlVGltZSA9IG1fbmV4dEZpcmVUaW1lOwotICAgIG1f
bmV4dEZpcmVUaW1lID0gLXN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKTsK
KyAgICBNb25vdG9uaWNUaW1lIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7CisgICAgbV9uZXh0
RmlyZVRpbWUgPSAtTW9ub3RvbmljVGltZTo6aW5maW5pdHkoKTsKICAgICBoZWFwRGVjcmVhc2VL
ZXkoKTsKICAgICBoZWFwUG9wTWluKCk7CiAgICAgbV9uZXh0RmlyZVRpbWUgPSBmaXJlVGltZTsK
QEAgLTM0Nyw3ICszNDQsNyBAQCBib29sIFRpbWVyQmFzZTo6aGFzVmFsaWRIZWFwUG9zaXRpb24o
KSBjb25zdAogICAgIHJldHVybiBjaGlsZEhlYXBQcm9wZXJ0eUhvbGRzKHRoaXMsIGhlYXAsIGNo
aWxkSW5kZXgxKSAmJiBjaGlsZEhlYXBQcm9wZXJ0eUhvbGRzKHRoaXMsIGhlYXAsIGNoaWxkSW5k
ZXgyKTsKIH0KIAotdm9pZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChkb3VibGUgb2xk
VGltZSkKK3ZvaWQgVGltZXJCYXNlOjp1cGRhdGVIZWFwSWZOZWVkZWQoTW9ub3RvbmljVGltZSBv
bGRUaW1lKQogewogICAgIGlmIChtX25leHRGaXJlVGltZSAmJiBoYXNWYWxpZEhlYXBQb3NpdGlv
bigpKQogICAgICAgICByZXR1cm47CkBAIC0zNjYsNyArMzYzLDcgQEAgdm9pZCBUaW1lckJhc2U6
OnVwZGF0ZUhlYXBJZk5lZWRlZChkb3VibGUgb2xkVGltZSkKICAgICBBU1NFUlQoIWluSGVhcCgp
IHx8IGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkpOwogfQogCi12b2lkIFRpbWVyQmFzZTo6c2V0TmV4
dEZpcmVUaW1lKGRvdWJsZSBuZXdUaW1lKQordm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGlt
ZShNb25vdG9uaWNUaW1lIG5ld1RpbWUpCiB7CiAgICAgQVNTRVJUKGNhbkFjY2Vzc1RocmVhZExv
Y2FsRGF0YUZvclRocmVhZChtX3RocmVhZCkpOwogICAgIEFTU0VSVCghbV93YXNEZWxldGVkKTsK
QEAgLTM3OSwxMSArMzc2LDExIEBAIHZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUoZG91
YmxlIG5ld1RpbWUpCiAgICAgICAgIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwID0gJnRo
cmVhZEdsb2JhbFRpbWVySGVhcCgpOwogCiAgICAgLy8gS2VlcCBoZWFwIHZhbGlkIHdoaWxlIGNo
YW5naW5nIHRoZSBuZXh0LWZpcmUgdGltZS4KLSAgICBkb3VibGUgb2xkVGltZSA9IG1fbmV4dEZp
cmVUaW1lOworICAgIE1vbm90b25pY1RpbWUgb2xkVGltZSA9IG1fbmV4dEZpcmVUaW1lOwogICAg
IC8vIERvbid0IHJlYWxpZ24gemVyby1kZWxheSB0aW1lcnMuCiAgICAgaWYgKG5ld1RpbWUpIHsK
LSAgICAgICAgaWYgKGF1dG8gbmV3QWxpZ25lZFRpbWUgPSBhbGlnbmVkRmlyZVRpbWUoc2Vjb25k
c1RvTVMobmV3VGltZSkpKQotICAgICAgICAgICAgbmV3VGltZSA9IG1zVG9TZWNvbmRzKG5ld0Fs
aWduZWRUaW1lLnZhbHVlKCkpOworICAgICAgICBpZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFs
aWduZWRGaXJlVGltZShuZXdUaW1lKSkKKyAgICAgICAgICAgIG5ld1RpbWUgPSBuZXdBbGlnbmVk
VGltZS52YWx1ZSgpOwogICAgIH0KIAogICAgIGlmIChvbGRUaW1lICE9IG5ld1RpbWUpIHsKQEAg
LTQxNiwxMCArNDEzLDEwIEBAIHZvaWQgVGltZXJCYXNlOjpkaWRDaGFuZ2VBbGlnbm1lbnRJbnRl
cnZhbCgpCiAgICAgc2V0TmV4dEZpcmVUaW1lKG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lKTsKIH0K
IAotZG91YmxlIFRpbWVyQmFzZTo6bmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0CitT
ZWNvbmRzIFRpbWVyQmFzZTo6bmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKGlzQWN0aXZlKCkpOwotICAgIHJldHVybiBzdGQ6Om1heChtX3VuYWxpZ25lZE5l
eHRGaXJlVGltZSAtIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpLCAwLjApOworICAgIHJl
dHVybiBzdGQ6Om1heChtX3VuYWxpZ25lZE5leHRGaXJlVGltZSAtIE1vbm90b25pY1RpbWU6Om5v
dygpLCAwX3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGlt
ZXIuaAppbmRleCA1MmExNjZlYmEyZDIzMTlkMTVhMWI3ZWQ5MDgyYjZiMTQzM2YzYjI0Li4zMGZk
MjJkOThiMDJlZWQ1MTYzMGE3YjZmOGU1ZjU2MmU5ODg3Y2NmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxm
dW5jdGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlY29uZHMuaD4KQEAgLTQ3LDM5ICs0OCwyNCBAQCBjbGFzcyBUaW1lckhlYXBFbGVtZW50Owog
Y2xhc3MgVGltZXJCYXNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOwog
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHJvdGVjdGVkOgotICAgIHN0YXRpYyBpbmxp
bmUgZG91YmxlIG1zVG9TZWNvbmRzKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZHVyYXRpb24p
IHsgcmV0dXJuIGR1cmF0aW9uLmNvdW50KCkgKiAwLjAwMTsgfQotICAgIHN0YXRpYyBpbmxpbmUg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBzZWNvbmRzVG9NUyhkb3VibGUgZHVyYXRpb24pIHsg
cmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHM6OnJlcCkoZHVyYXRpb24gKiAxMDAwKSk7IH0KLQogcHVibGljOgogICAgIFdFQkNPUkVfRVhQ
T1JUIFRpbWVyQmFzZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgflRpbWVyQmFzZSgp
OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZh
bCwgZG91YmxlIHJlcGVhdEludGVydmFsKTsKLQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91
YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZh
bCk7IH0KLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
cmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2
YWwpKTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkg
eyBzdGFydFJlcGVhdGluZyhyZXBlYXRJbnRlcnZhbC52YWx1ZSgpKTsgfQorICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc3RhcnQoU2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBTZWNvbmRzIHJlcGVh
dEludGVydmFsKTsKIAotICAgIHZvaWQgc3RhcnRPbmVTaG90KGRvdWJsZSBpbnRlcnZhbCkgeyBz
dGFydChpbnRlcnZhbCwgMCk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0T25lU2hvdChtc1RvU2Vjb25kcyhpbnRlcnZh
bCkpOyB9Ci0gICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChp
bnRlcnZhbC52YWx1ZSgpLCAwKTsgfQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9
CisgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZh
bCwgMF9zKTsgfQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdG9wKCk7CiAgICAgYm9vbCBp
c0FjdGl2ZSgpIGNvbnN0OwogCi0gICAgZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwoKSBjb25zdDsK
LSAgICBkb3VibGUgbmV4dFVuYWxpZ25lZEZpcmVJbnRlcnZhbCgpIGNvbnN0OwotICAgIGRvdWJs
ZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVwZWF0SW50ZXJ2YWw7IH0KLSAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJl
dHVybiBzZWNvbmRzVG9NUyhyZXBlYXRJbnRlcnZhbCgpKTsgfQotCi0gICAgdm9pZCBhdWdtZW50
RmlyZUludGVydmFsKGRvdWJsZSBkZWx0YSkgeyBzZXROZXh0RmlyZVRpbWUobV9uZXh0RmlyZVRp
bWUgKyBkZWx0YSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKG1zVG9TZWNvbmRzKGRl
bHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBh
dWdtZW50RmlyZUludGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgU2Vjb25kcyBuZXh0Rmly
ZUludGVydmFsKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFs
KCkgY29uc3Q7CisgICAgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVwZWF0SW50ZXJ2YWw7IH0KIAotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJs
ZSBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCAr
PSBkZWx0YTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRzKGRl
bHRhKSk7IH0KLSAgICB2b2lkIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YS52YWx1ZSgpKTsgfQorICAgIHZvaWQgYXVnbWVu
dEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJl
VGltZSArIGRlbHRhKTsgfQorICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMg
ZGVsdGEpIHsgYXVnbWVudEZpcmVJbnRlcnZhbChkZWx0YSk7IG1fcmVwZWF0SW50ZXJ2YWwgKz0g
ZGVsdGE7IH0KIAogICAgIHZvaWQgZGlkQ2hhbmdlQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAt
ODgsMTcgKzc0LDE3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZpcmVk
KCkgPSAwOwogCi0gICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKSBjb25zdCB7
IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KKyAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8TW9ub3Rv
bmljVGltZT4gYWxpZ25lZEZpcmVUaW1lKE1vbm90b25pY1RpbWUpIGNvbnN0IHsgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsgfQogCiAgICAgdm9pZCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3Q7CiAgICAg
dm9pZCBjaGVja0hlYXBJbmRleCgpIGNvbnN0OwogCi0gICAgdm9pZCBzZXROZXh0RmlyZVRpbWUo
ZG91YmxlKTsKKyAgICB2b2lkIHNldE5leHRGaXJlVGltZShNb25vdG9uaWNUaW1lKTsKIAogICAg
IGJvb2wgaW5IZWFwKCkgY29uc3QgeyByZXR1cm4gbV9oZWFwSW5kZXggIT0gLTE7IH0KIAogICAg
IGJvb2wgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSBjb25zdDsKLSAgICB2b2lkIHVwZGF0ZUhlYXBJ
Zk5lZWRlZChkb3VibGUgb2xkVGltZSk7CisgICAgdm9pZCB1cGRhdGVIZWFwSWZOZWVkZWQoTW9u
b3RvbmljVGltZSBvbGRUaW1lKTsKIAogICAgIHZvaWQgaGVhcERlY3JlYXNlS2V5KCk7CiAgICAg
dm9pZCBoZWFwRGVsZXRlKCk7CkBAIC0xMTAsOSArOTYsOSBAQCBwcml2YXRlOgogCiAgICAgVmVj
dG9yPFRpbWVyQmFzZSo+JiB0aW1lckhlYXAoKSBjb25zdCB7IEFTU0VSVChtX2NhY2hlZFRocmVh
ZEdsb2JhbFRpbWVySGVhcCk7IHJldHVybiAqbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXA7
IH0KIAotICAgIGRvdWJsZSBtX25leHRGaXJlVGltZTsgLy8gMCBpZiBpbmFjdGl2ZQotICAgIGRv
dWJsZSBtX3VuYWxpZ25lZE5leHRGaXJlVGltZTsgLy8gbV9uZXh0RmlyZVRpbWUgbm90IGNvbnNp
ZGVyaW5nIGFsaWdubWVudCBpbnRlcnZhbAotICAgIGRvdWJsZSBtX3JlcGVhdEludGVydmFsOyAv
LyAwIGlmIG5vdCByZXBlYXRpbmcKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEZpcmVUaW1lOyAv
LyAwIGlmIGluYWN0aXZlCisgICAgTW9ub3RvbmljVGltZSBtX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZTsgLy8gbV9uZXh0RmlyZVRpbWUgbm90IGNvbnNpZGVyaW5nIGFsaWdubWVudCBpbnRlcnZhbAor
ICAgIFNlY29uZHMgbV9yZXBlYXRJbnRlcnZhbDsgLy8gMCBpZiBub3QgcmVwZWF0aW5nCiAgICAg
aW50IG1faGVhcEluZGV4OyAvLyAtMSBpZiBub3QgaW4gaGVhcAogICAgIHVuc2lnbmVkIG1faGVh
cEluc2VydGlvbk9yZGVyOyAvLyBVc2VkIHRvIGtlZXAgb3JkZXIgYW1vbmcgZXF1YWwtZmlyZS10
aW1lIHRpbWVycwogICAgIFZlY3RvcjxUaW1lckJhc2UqPiogbV9jYWNoZWRUaHJlYWRHbG9iYWxU
aW1lckhlYXA7CkBAIC0xNTksMTggKzE0NSwxOCBAQCBpbmxpbmUgYm9vbCBUaW1lckJhc2U6Omlz
QWN0aXZlKCkgY29uc3QKICNlbHNlCiAgICAgQVNTRVJUKFdlYlRocmVhZElzQ3VycmVudCgpIHx8
IHB0aHJlYWRfbWFpbl9ucCgpIHx8IG1fdGhyZWFkID09IGN1cnJlbnRUaHJlYWQoKSk7CiAjZW5k
aWYgLy8gUExBVEZPUk0oSU9TKQotICAgIHJldHVybiBtX25leHRGaXJlVGltZTsKKyAgICByZXR1
cm4gISFtX25leHRGaXJlVGltZTsKIH0KIAogY2xhc3MgRGVmZXJyYWJsZU9uZVNob3RUaW1lciA6
IHByb3RlY3RlZCBUaW1lckJhc2UgewogcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFRp
bWVyRmlyZWRDbGFzcz4KLSAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKFRpbWVyRmlyZWRDbGFz
cyYgb2JqZWN0LCB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipmdW5jdGlvbikoKSwgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKFRpbWVy
RmlyZWRDbGFzcyYgb2JqZWN0LCB2b2lkIChUaW1lckZpcmVkQ2xhc3M6OipmdW5jdGlvbikoKSwg
U2Vjb25kcyBkZWxheSkKICAgICAgICAgOiBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6Ymlu
ZChmdW5jdGlvbiwgJm9iamVjdCksIGRlbGF5KQogICAgIHsKICAgICB9CiAKLSAgICBEZWZlcnJh
YmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gZnVuY3Rpb24sIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgZGVsYXkpCisgICAgRGVmZXJyYWJsZU9uZVNob3RUaW1lcihzdGQ6
OmZ1bmN0aW9uPHZvaWQgKCk+IGZ1bmN0aW9uLCBTZWNvbmRzIGRlbGF5KQogICAgICAgICA6IG1f
ZnVuY3Rpb24oV1RGTW92ZShmdW5jdGlvbikpCiAgICAgICAgICwgbV9kZWxheShkZWxheSkKICAg
ICAgICAgLCBtX3Nob3VsZFJlc3RhcnRXaGVuVGltZXJGaXJlcyhmYWxzZSkKQEAgLTIxMiw3ICsx
OTgsNyBAQCBwcml2YXRlOgogCiAgICAgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBtX2Z1bmN0aW9u
OwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2RlbGF5OworICAgIFNlY29uZHMg
bV9kZWxheTsKICAgICBib29sIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKaW5kZXggZDRmY2Y5NjFlMDE5
MTQ0YTIxZmY0ZDNkYzBlMThmOWZjOTI4ZTFhNy4uNTUzNTE0ZGYyMjQwYWFmYTRiMThlNzE5ZjFl
NTgzZjVjOTBjOGQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVU
cmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
CkBAIC00MCw3ICs0MCw3IEBAIFZOb2RlVHJhY2tlciYgVk5vZGVUcmFja2VyOjpzaW5nbGV0b24o
KQogVk5vZGVUcmFja2VyOjpWTm9kZVRyYWNrZXIoKQogICAgIDogbV92bm9kZUNvdW50ZXIoW3Ro
aXNdKFJlZkNvdW50ZXJFdmVudCBldmVudCkgeyBpZiAoZXZlbnQgPT0gUmVmQ291bnRlckV2ZW50
OjpJbmNyZW1lbnQpIGNoZWNrUHJlc3N1cmVTdGF0ZSgpOyB9KQogICAgICwgbV9wcmVzc3VyZVdh
cm5pbmdUaW1lcigqdGhpcywgJlZOb2RlVHJhY2tlcjo6cHJlc3N1cmVXYXJuaW5nVGltZXJGaXJl
ZCkKLSAgICAsIG1fbGFzdFdhcm5pbmdUaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpKQorICAgICwgbV9sYXN0V2FybmluZ1RpbWUoTW9ub3RvbmljVGltZTo6bm93KCkpCiB7CiAg
ICAgcGxhdGZvcm1Jbml0aWFsaXplKCk7CiAKQEAgLTYzLDIxICs2MywyMiBAQCB2b2lkIFZOb2Rl
VHJhY2tlcjo6cHJlc3N1cmVXYXJuaW5nVGltZXJGaXJlZCgpCiAgICAgaWYgKG1fdm5vZGVDb3Vu
dGVyLnZhbHVlKCkgPD0gbV9zb2Z0Vk5vZGVMaW1pdCkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
bV9sYXN0V2FybmluZ1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAg
ICBtX2xhc3RXYXJuaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIHVuc2lnbmVk
IHZub2RlQ291bnQgPSBtX3Zub2RlQ291bnRlci52YWx1ZSgpOwogICAgIGF1dG8gY3JpdGljYWwg
PSB2bm9kZUNvdW50ID4gbV9oYXJkVk5vZGVMaW1pdCA/IENyaXRpY2FsOjpZZXMgOiBDcml0aWNh
bDo6Tm87CiAgICAgbV9wcmVzc3VyZUhhbmRsZXIoY3JpdGljYWwpOwogICAgIExPRyhNZW1vcnlQ
cmVzc3VyZSwgInZub2RlIHByZXNzdXJlIGhhbmRsZXIgZnJlZWQgJWx1IHZub2RlcyBvdXQgb2Yg
JXUgKGNyaXRpY2FsIHByZXNzdXJlOiAlcykiLCB2bm9kZUNvdW50IC0gbV92bm9kZUNvdW50ZXIu
dmFsdWUoKSwgdm5vZGVDb3VudCwgY3JpdGljYWwgPT0gQ3JpdGljYWw6OlllcyA/ICJZZXMiIDog
Ik5vIik7CiB9CiAKLXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgVk5vZGVUcmFja2VyOjpuZXh0
UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5l
eHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gV2UgcnVuIHRoZSB2
bm9kZSBwcmVzc3VyZSBoYW5kbGVyIGV2ZXJ5IDMwIHNlY29uZHMgYXQgbW9zdC4KLSAgICBzdGF0
aWMgY29uc3QgYXV0byBtaW5pbXVtV2FybmluZ0ludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29u
ZHMgeyAzMCB9OwotICAgIGF1dG8gdGltZVNpbmNlTGFzdFdhcm5pbmcgPSBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fbGFzdFdhcm5pbmdUaW1lOworICAgIHN0YXRpYyBjb25z
dCBTZWNvbmRzIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSAzMF9zOworICAgIGF1dG8gdGltZVNp
bmNlTGFzdFdhcm5pbmcgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fbGFzdFdhcm5pbmdUaW1l
OwogICAgIGlmICh0aW1lU2luY2VMYXN0V2FybmluZyA8IG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwp
Ci0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5p
bmcpOwotICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMCB9OworICAgICAg
ICByZXR1cm4gbWluaW11bVdhcm5pbmdJbnRlcnZhbCAtIHRpbWVTaW5jZUxhc3RXYXJuaW5nOwor
CisgICAgcmV0dXJuIDBfczsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKaW5kZXggMWIwMTEwZTgzZTdhMTZkYTk2NDgwMTMwODVh
YmZlMTgyNjBmNGEyNC4uMDRmYjM3OTVkNjVjNzg3NTI5M2I5YzdiZGRmMzg3MDE1M2VhMWYxYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmgKQEAgLTUzLDcgKzUzLDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgY2hlY2tQcmVzc3VyZVN0YXRlKCk7CiAgICAgdm9pZCBwcmVz
c3VyZVdhcm5pbmdUaW1lckZpcmVkKCk7Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBu
ZXh0UHJlc3N1cmVXYXJuaW5nSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRQcmVz
c3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0OwogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxp
emUoKTsKIApAQCAtNjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIFByZXNzdXJlSGFuZGxlciBt
X3ByZXNzdXJlSGFuZGxlcjsKICAgICBWTm9kZUNvdW50ZXIgbV92bm9kZUNvdW50ZXI7CiAgICAg
VGltZXIgbV9wcmVzc3VyZVdhcm5pbmdUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjp0aW1lX3BvaW50IG1fbGFzdFdhcm5pbmdUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9s
YXN0V2FybmluZ1RpbWU7CiB9OwogCiBpbmxpbmUgdm9pZCBWTm9kZVRyYWNrZXI6OnNldFByZXNz
dXJlSGFuZGxlcihQcmVzc3VyZUhhbmRsZXIgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAppbmRleCAxNjc2
NjlhMjA2MDg0OGNjNjgxMmNmNDZlNDc3ODY1OThlMTE0M2U4Li4yZmJiNzM3MWI5ODVjNDM4OGQ0
YzQwYzc5MzY4MTYxNWViODk5OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0zNCw3ICszNCw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIGtDbGllbnREYXRhQnVmZmVyaW5n
VGltZXJUaHJvdHRsZURlbGF5ID0gMC4xOworY29uc3QgU2Vjb25kcyBrQ2xpZW50RGF0YUJ1ZmZl
cmluZ1RpbWVyVGhyb3R0bGVEZWxheSA9IDAuMV9zOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3Rh
dGljIGNvbnN0IGNoYXIqIHN0YXRlTmFtZShQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6U3RhdGUgc3Rh
dGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250
cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxl
ci5tbQppbmRleCAzZTE4ZDRiZjAzYmY1ZTdmODQxMWNhY2Q5MzE4NzVmNWIyMTc2Nzk4Li44YzBh
NGM2Mjk5MjMwZDVmZjNkZGE1ZmFmNmEwZDE3Mzg1M2E4MWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTQxMSw3ICs0MTEs
NyBAQCBib29sIFNjcm9sbENvbnRyb2xsZXI6OmlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSBjb25z
dAogdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdGFydFNuYXBSdWJiZXJiYW5kVGltZXIoKQogewog
ICAgIG1fY2xpZW50LnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpOwotICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICBtX3NuYXBSdWJiZXJi
YW5kVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxLjAgLyA2MCkpOwogCiAgICAgbV9jbGll
bnQuZGVmZXJUZXN0c0ZvclJlYXNvbihyZWludGVycHJldF9jYXN0PFdoZWVsRXZlbnRUZXN0VHJp
Z2dlcjo6U2Nyb2xsYWJsZUFyZWFJZGVudGlmaWVyPih0aGlzKSwgV2hlZWxFdmVudFRlc3RUcmln
Z2VyOjpSdWJiZXJiYW5kSW5Qcm9ncmVzcyk7CiB9CkBAIC01MTUsNyArNTE1LDcgQEAgdm9pZCBT
Y3JvbGxDb250cm9sbGVyOjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXAoKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBzdGF0ZWxlc3NTY3JvbGxTbmFwRGVs
YXkgPSA3NTBfbXM7Ci0gICAgbV9zdGF0ZWxlc3NTbmFwVHJhbnNpdGlvblRpbWVyLnN0YXJ0T25l
U2hvdChzdGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkudmFsdWUoKSk7CisgICAgbV9zdGF0ZWxlc3NT
bmFwVHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzdGF0ZWxlc3NTY3JvbGxTbmFwRGVsYXkp
OwogICAgIHN0YXJ0RGVmZXJyaW5nVGVzdHNEdWVUb1Njcm9sbFNuYXBwaW5nKCk7CiB9CiAKQEAg
LTYxMCw3ICs2MTAsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U2Nyb2xsU25hcFRp
bWVyKCkKIAogICAgIHN0YXJ0RGVmZXJyaW5nVGVzdHNEdWVUb1Njcm9sbFNuYXBwaW5nKCk7CiAg
ICAgbV9jbGllbnQuc3RhcnRTY3JvbGxTbmFwVGltZXIoKTsKLSAgICBtX3Njcm9sbFNuYXBUaW1l
ci5zdGFydFJlcGVhdGluZygxLjAgLyA2MC4wKTsKKyAgICBtX3Njcm9sbFNuYXBUaW1lci5zdGFy
dFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAKIHZvaWQgU2Nyb2xsQ29udHJvbGxl
cjo6c3RvcFNjcm9sbFNuYXBUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWRQ
cm92aWRlci5tbQppbmRleCA2YTUzZjEyMjkyMTlmNDhjZWM5NzIyODRkMmI1OWM3ZDhhMmE5ZDkw
Li5lNGM0MjIxNjIzZTFjODAwODU3YjBlYTZjNjUwZWRlZmRjZmE0NDBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBh
ZFByb3ZpZGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2Ev
R2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0KQEAgLTQwLDcgKzQwLDcgQEAgU09GVF9M
SU5LX0NPTlNUQU5UX01BWV9GQUlMKEdhbWVDb250cm9sbGVyLCBHQ0NvbnRyb2xsZXJEaWREaXNj
b25uZWN0Tm90aWZpY2F0aW8KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMTZtczsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNl9tczsKIAog
R2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXImIEdhbWVDb250cm9sbGVyR2FtZXBhZFByb3Zp
ZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggMGQ4YTc5YTA1MGQx
OGFhODcwODllOTU4ZTgxMjE0ZTFjZGZiMTRlYi4uMWM2YjVkODNhOGE5MDM0ODM1MDk0MjUxMzEz
MjZlOWNmOWE3MzI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBh
ZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zNCw4ICszNCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBDb25uZWN0aW9uRGVs
YXlJbnRlcnZhbCA9IDAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgSW5wdXROb3RpZmljYXRpb25E
ZWxheSA9IDAuMDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBDb25uZWN0aW9uRGVsYXlJbnRlcnZh
bCA9IDAuNV9zOworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9
IDAuMDVfczsKIAogc3RhdGljIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IGRldmljZU1hdGNo
aW5nRGljdGlvbmFyeSh1aW50MzJfdCB1c2FnZVBhZ2UsIHVpbnQzMl90IHVzYWdlKQogewpAQCAt
MjAxLDcgKzIwMSw3IEBAIHZvaWQgSElER2FtZXBhZFByb3ZpZGVyOjpkZXZpY2VBZGRlZChJT0hJ
RERldmljZVJlZiBkZXZpY2UpCiAgICAgICAgIC8vIGFuZCB3ZSBkb24ndCB3YW50IHRvIHRlbGwg
dGhlIGNsaWVudCBhYm91dCBhbnkgb2YgdGhlbS4KICAgICAgICAgLy8gVGhlIG1fY29ubmVjdGlv
bkRlbGF5VGltZXIgZmlyZXMgaW4gYSBzdWJzZXF1ZW50IHNwaW4gb2YgdGhlIHJ1bmxvb3AgYWZ0
ZXIgd2hpY2gKICAgICAgICAgLy8gYW55IGNvbm5lY3Rpb24gZXZlbnRzIGFyZSBhY3R1YWwgbmV3
IGRldmljZXMuCi0gICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX2Nvbm5lY3Rpb25EZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAg
ICAgICAgIExPRyhHYW1lcGFkLCAiRGV2aWNlICVwIHdhcyBhZGRlZCB3aGlsZSBzdXBwcmVzc2lu
ZyBjYWxsYmFja3MsIHNvIHRoaXMgc2hvdWxkIGJlIGFuICdhbHJlYWR5IGNvbm5lY3RlZCcgZXZl
bnQiLCBkZXZpY2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5jcHAKaW5kZXggMGFjNjNmYjQ3MmQzMTdhZDlhOTk3YTMyODFhZGU5ZTcwNWI0
YzEzZC4uN2VmYzM5ZDcwZjg1NWNmMzU0NjhkYWU4MWMzODI0OGI0ZWI1YWNmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMjIx
LDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGltZXIoKQogICAgIG1fZnJhbWVU
aW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoZG91Ymxl
IGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihTZWNvbmRzIGRlbGF5KQogewog
ICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1lVGltZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZhbmNlQW5pbWF0aW9uKTsKQEAg
LTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmltYXRpb25SZXN1bHQgQml0bWFw
SW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgIH0KIAogICAgIEFTU0VSVCghbV9m
cmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGlt
ZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGlt
ZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlvblJlc3VsdDo6U3RhcnRlZDsKIH0KIApAQCAt
Mjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24oKQogICAg
ICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAg
ICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0aW1lIGZyb20gbm93IHRpbGwg
dGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAgaWYgKG1fZGVzaXJlZEZyYW1l
RGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBtX2Rlc2lyZWRGcmFtZVN0YXJ0
VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1l
Rm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVz
aXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKSk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaAppbmRleCA0MTI0ZmE2NTM0ZDEwODI3NzhhNmVkZWI0MGE5OTJiNjg0
NzZhYjM1Li44Njg2ZDNhZTk4Yzg3N2I1ZmIxNWU2N2Q4NjY4NTg5MzVjYjkzNjgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTE4Niw3
ICsxODYsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7
Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVy
KFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRtYXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJy
aWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTljZjE1ZGM3ZmFlMDZjNjFiNjBjLi5mNTYyOWQ4
YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0MzdkNDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCBjb25z
dCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQcmVzc3VyZUluYWN0aXZlRm9udERhdGEgPSAz
MDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBjb25z
dCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFu
dFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9vbCBjaGVja2luZ0FsdGVybmF0
ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9w
dXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiBwbGF0Zm9ybURhdGEgPSBnZXRD
YWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCBmb250RmFjZUZl
YXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKTsK
ICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKaW5kZXgg
NDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIwNi4uNWUwN2M1Zjc3ZjMwYjE5
NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAK
QEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihDbGllbnQmIGNsaWVudCkKICAg
ICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRkMTRhM2Y0NGNkODA3NGQyZjhi
YmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAxODg0NTZhNWI1NThhY2ZiYWU5NTg4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApA
QCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdl
ZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkgPj0gRm9ybWF0RXJyb3IgJiYg
bV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEpIHsKICAgICAgICAgbV9jbGll
bnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAgICAgICAgaWYgKGluc3RhbGxl
ZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVudE1JTUVUeXBlLmlzRW1wdHko
KSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlhRW5naW5lKSkpIHsKLSAgICAg
ICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9yZWxv
YWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1No
YWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1
ci5jcHAKaW5kZXggMzI5Y2ExMDA5YmNhOGRhMWE4Y2UxMDExODIwMzUwZmZlOTk0YTNmOS4uYjM0
MDQyYWM1YmI3Y2VmNWE5NDNiMTk1OGEyMjA4MzRkNDkxYmVlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBA
QCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAg
ICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29uc3QgZG91YmxlIHNjcmF0Y2hC
dWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3QgYXV0byBzY3JhdGNoQnVmZmVy
UHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdChz
Y3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmluZGV4IDZlZThiYzRlZmIzMTdh
YmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLjhkZWUwOWNlMDg2YWRhZjViZTI3YzIwMDhhY2Iy
NWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBjaGFyYWN0ZXJpcwog
CiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJyZWRPcHRpb24pKTsKICAgICBt
X3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJyZWRPcHRpb24pOwotICAgIG1f
c2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNl
dFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyogb3B0aW9uKQpAQCAt
MTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVj
dGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoKICAgICBtX3NlbGVjdGVkT3B0
aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVyLmlzQWN0aXZlKCkpCiAgICAg
ICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZiYTY0YTc5ODYzNjNkMjgzZWQ0
ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFmNGMzZTU3OTBiNjY3ZGQ2ZmI2YjYyYjY4MDI3Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3ICsyMjgsNyBAQCBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBvdXRwdXRDb2RlY3MgPSBbZ2V0QVZTdHJlYW1EYXRh
UGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJGb3JJbnB1dE1JTUVDb2RlY1Bh
cmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcgKnR5cGVTdHJpbmcgPSBbTlNT
dHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIlQFwiIiwgKE5TU3RyaW5nICop
cGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2RlY3NdOwotICAgIHJldHVybiBb
Z2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmlu
Z10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0
ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVk
TUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBs
YXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFyayAtCkBAIC0zOTYsNyArMzk2
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRo
VG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlmIChtX3NlZWtUaW1lci5pc0Fj
dGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0gICAgbV9zZWVrVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9v
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3Bw
CmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIwNzIzNTAwMThhZGM0YmNkYjg0NWYuLjBjYzRmYWM1
OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBhZjk3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApAQCAtMTEwLDcgKzExMCw3IEBA
IHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKCkKIHsKICAgICBpZiAobV9wcnVuZVRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVT
aG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMV9zKTsKIH0KIAogdm9pZCBM
YXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKaW5kZXggZTQyNWI4MmY4MDM0
NzQ3ZWFmZWMxOGU4MGUwZTk2OGFmZDVjMDQ3Ny4uYmM5NDk2MTNlNjk1MTQ0MjIyM2UzNGZiOGRl
NTNjMjkxOTIwZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtNDksNyArNDksNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbGVTaXplVXBkYXRlRGVsYXkgPSBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0
aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7CiAKIFN0cmluZyBUaWxlQ29udHJvbGxlcjo6dGls
ZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgVGls
ZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2luZG93KQogICAgIGlmIChtX2lz
SW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRpbGVzKCk7CiAgICAgZWxzZSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCA9IDQ7CisgICAg
ICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgPSA0X3M7CiAgICAgICAg
IHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0aW9uVGltZW91dCk7CiAgICAg
fQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVD
b3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0CiAjZW5kaWYK
IH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKGRvdWJs
ZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlv
bihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5p
c0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSA8
IGludGVydmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRleCA4Yzg0YzdjYzkyNzY2YzQ2
Zjk3NTkxMTcxMWY4OTdiZGViYjE4ZGE4Li44Y2FlNDQ3NzgzZmJkMGQ0N2RlNDVmYzg1Y2FkZTdk
YjgzMTY2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICptX3RpbGVHcmlkOyB9CiAKLSAg
ICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUgaW50ZXJ2YWwpOworICAgIHZv
aWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50ZXJ2YWwpOwogCiAgICAgYm9v
bCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2luZG93OyB9CiAgICAgZmxvYXQg
dG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFn
ZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJh
Z2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFhZjAzYzk4OThmZmJiMTcxNWMu
LjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjliMTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNw
cApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5UaWxlQ292ZXJhZ2VNYXAoKQog
dm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBk
YXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
VGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCAyOGYyOWNiZGU4ZTIxZjcx
ODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi4yM2IzOGE3YzIyNzBiZmIxMzc5YzcyMTVhZDljYTFm
Y2FmMjcyYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0
ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgVGlsZUNv
aG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAgICB1bnNpZ25lZCB0aWxlc0lu
Q29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlv
biA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CisgICAgU2Vjb25kcyBtaW5p
bXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAg
Ym9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAgICAKICAgICBhdXRvIHRpbGVT
aXplID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEsOCArMzgxLDggQEAgdm9pZCBU
aWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Q
b2xpY3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hvcnQgOiBtX2NvaG9ydExpc3Qp
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hvcnQgIT0gdGlsZUluZm8uY29o
b3J0KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29ob3J0LnRpbWVVbnRpbEV4cGly
YXRpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVVbnRpbENvaG9ydEV4cGlyZXMg
PiAwKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9
IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0
aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMF9zKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBt
aW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bWluKG1pbmltdW1SZXZhbGlk
YXRpb25UaW1lckR1cmF0aW9uLCB0aW1lVW50aWxDb2hvcnRFeHBpcmVzKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IHRydWU7CiAgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZQpAQCAtNDc4LDcgKzQ3OCw3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRp
bGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnN0YXJ0ZWRO
ZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hvcnQpCiB7Ci0gICAgbV9jb2hvcnRMaXN0LmFwcGVuZChU
aWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKSk7Cisg
ICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIE1vbm90b25pY1Rp
bWU6Om5vdygpKSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmICghbV9jb250cm9sbGVyLmlz
SW5XaW5kb3coKSkKICAgICAgICAgdGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVyKCkudGlsZUNv
bnRyb2xsZXJHYWluZWRVbnBhcmVudGVkVGlsZXMoJm1fY29udHJvbGxlcik7CkBAIC00OTcsMTcg
KzQ5NywxNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3JpZDo6b2xkZXN0VGlsZUNvaG9y
dCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3ZhbCgpCiB7Ci0g
ICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgPSAxOworICAgIGNvbnN0
IGF1dG8gY29ob3J0UmVtb3ZhbEludGVydmFsID0gMV9zOwogCiAgICAgLy8gU3RhcnQgdGhlIHRp
bWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5vdyBpZiBpdCdzIGFscmVhZHkgYWN0
aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29ob3J0UmVtb3ZhbFRpbWVyU2Vj
b25kcyk7CisgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKGNvaG9y
dFJlbW92YWxJbnRlcnZhbCk7CiB9CiAKLWRvdWJsZSBUaWxlR3JpZDo6VGlsZUNvaG9ydEluZm86
OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3JpZDo6VGlsZUNvaG9ydEluZm86
OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBjb2hvcnRMaWZlVGltZVNlY29u
ZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAgY29uc3QgU2Vjb25kcyBjb2hv
cnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3RvbmljVGltZSB0aW1lVGhyZXNob2xk
ID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGltZTsKICAgICByZXR1cm4gY3Jl
YXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4LDcgKzUxOCw3IEBAIHZvaWQg
VGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2NvaG9ydExpc3Qu
Zmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7CisgICAgd2hpbGUgKCFtX2NvaG9y
dExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgpLnRpbWVVbnRpbEV4cGlyYXRp
b24oKSA8IDBfcykgewogICAgICAgICBUaWxlQ29ob3J0SW5mbyBmaXJzdENvaG9ydCA9IG1fY29o
b3J0TGlzdC50YWtlRmlyc3QoKTsKICAgICAgICAgcmVtb3ZlVGlsZXNJbkNvaG9ydChmaXJzdENv
aG9ydC5jb2hvcnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9UaWxlR3JpZC5oCmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIzYzc1NWQ4NzgyYzQyYWEwZGU1
NzY1MWQuLjQyNjkzNzc0YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVlOThhZTBjNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaApAQCAtMTIxLDEz
ICsxMjEsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBUaWxlQ29ob3J0SW5mbyB7CiAgICAg
ICAgIFRpbGVDb2hvcnQgY29ob3J0OwotICAgICAgICBkb3VibGUgY3JlYXRpb25UaW1lOyAvLyBp
biBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAgICAgVGlsZUNvaG9ydEluZm8o
VGlsZUNvaG9ydCBpbkNvaG9ydCwgZG91YmxlIGluVGltZSkKKyAgICAgICAgTW9ub3RvbmljVGlt
ZSBjcmVhdGlvblRpbWU7CisgICAgICAgIFRpbGVDb2hvcnRJbmZvKFRpbGVDb2hvcnQgaW5Db2hv
cnQsIE1vbm90b25pY1RpbWUgaW5UaW1lKQogICAgICAgICAgICAgOiBjb2hvcnQoaW5Db2hvcnQp
CiAgICAgICAgICAgICAsIGNyZWF0aW9uVGltZShpblRpbWUpCiAgICAgICAgIHsgfQogCi0gICAg
ICAgIGRvdWJsZSB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAgIFNlY29uZHMgdGltZVVu
dGlsRXhwaXJhdGlvbigpOwogICAgIH07CiAKICAgICB2b2lkIHJlbW92ZUFsbFRpbGVzKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQ
b29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBv
b2wuY3BwCmluZGV4IGI4MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVjM2E4YTBmZTBiZmYxNDguLmY5
NGY0YTE0NzA0NzcyZTg4MjFkYWJmNjEzZTM4NzQwM2U5MzJhY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCkBAIC0z
Myw4ICszMyw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ry
b3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGNvbGxlY3Rpb25JbnRl
cnZhbCA9IDUwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3VyZmFjZUFnZUJlZm9y
ZU1hcmtpbmdQdXJnZWFibGUgPSAyczsKK2NvbnN0IFNlY29uZHMgY29sbGVjdGlvbkludGVydmFs
ID0gMC41X3M7Citjb25zdCBTZWNvbmRzIHN1cmZhY2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxl
ID0gMl9zOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0ZXNDYWNoZWQgPSAxMDI0ICog
MTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3JlIHRoYW4gMS8yIG9mIHRoZSBj
YWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMsIGJlY2F1c2UKQEAgLTI4Myw3
ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3RJblVzZVN1cmZhY2VzKCkKIGJv
b2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUoKQogewogICAgIGJv
b2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1dG8gbWFya1RpbWUgPSBzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG1hcmtUaW1lID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZhY2VBbmREZXRhaWxzIDogbV9zdXJm
YWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFuZERldGFpbHMudmFsdWUuaGFzTWFy
a2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3YzU0Njk2ZDdiNWI1NjM5NWYzZjNl
MmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgyMDA2ZWJjOTRmZTEwOTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29s
LmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIDogaGFzTWFya2VkUHVy
Z2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAgICB2b2lkIHJlc2V0TGFzdFVzZVRp
bWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7IH0K
KyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0VXNlVGltZSA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGlt
ZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBsYXN0VXNlVGltZTsK
ICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0MDhiNGU4MzYzZjQ4ZTNlZDIzMGZm
ZDc2Li5kYmQzYjMyMDEyMDdiNTdmZjQ4MTg5NDg5MTEwNWNhNzA0NjlmMzc4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRp
bWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFn
ZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVDbGVhckRlbGF5ID0gc3RkOjpj
aHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3QgYXV0byBzdWJpbWFnZUNhY2hlQ2xl
YXJEZWxheSA9IDFfczsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3ViaW1hZ2VDYWNoZVNpemUgPSAz
MDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZWFkZGRkYThkYzQ2NDk1NmQ1NDA1MmUw
NWFkYTc3MDZkNDgzZjkxLi45OTNiZTU5ODY2Zjc2OTZhNmE5NTFmNzNmN2RkOTI0ZDcwZjFhN2Q2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApA
QCAtMzY3LDcgKzM2Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjaGFu
Z2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChuZXdTdGF0ZSA9PSBH
U1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3RpdmUoKSkgewogICAg
ICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRoZSBSRUFEWSBzdGF0
ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgotICAgICAgICBz
dGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7CisgICAgICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjBfczsKICAgICAgICAg
bV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRpbWVyRGVsYXkpOwog
ICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQogICAgICAgICBtX3Jl
YWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1OCw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZygpCiAgICAgaWYgKHNo
b3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5hYmxpbmcgb24tZGlzayBidWZm
ZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxpbmUuZ2V0KCksICJmbGFncyIs
IGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAgICAgbV9maWxsVGltZXIuc3Rh
cnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4y
X3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygiRGlzYWJsaW5nIG9uLWRpc2sg
YnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVsaW5lLmdldCgpLCAiZmxh
Z3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IDk2OTM2OWEzNWU3
OTcxNTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLmJlY2VmMjEzZmVmNDcxOWYzZWYwOTNjYTJj
ODk5ZTE0NjkzODE3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBsZSogc2FtcGxlKQog
I2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKICAgICBpZiAoIW1fcGxheWVy
LT5jbGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkpIHsK
ICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CkBAIC02NzUsNyArNjc1LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICAgICAg
ICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIo
bV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRp
b24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dT
dHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIxYjE1MjFjMDQxZjZiNzI3OTky
OC4uY2NjNjk0MTk5ZDE1YWQ4NTE3MDllYTdlOGZiNTJmNDM0YzY0MDVhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJl
YW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAgIG1fc2luayA9IHNpbms7Ci0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2FpdChtX3NhbXBsZU11dGV4KTsK
ICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYwYzFlZjJmYjRmLi4xOTgyMzUx
OTJmYTJiODEzZWRjNGY1ZjdlOGNmZjdiMmQ2MWZjNDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0
ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtp
dDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBpZiAobWF4TWVkaWFUaW1lU2Vl
a2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7CiAgICAgZWxzZSAKLSAgICAg
ICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAgIG1fc2Vla1RpbWVyLnN0YXJ0
KDBfcywgMC41X3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpkb1NlZWso
KSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9C
aXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IDFiNDZmMzc1MjQ5ODkwN2UwMGJjMjgy
ZDJkOWQ2ZjFhZjczYjQ1OWUuLjkxYzAzMjQwODY3YjQ2ZWM5Yjk3NWRkMzQ4OWJmN2VjMWFhZDMw
ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9C
aXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMzQsNyArMzQsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29u
ZHNUb2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0
dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzX3JlbGVhc2VV
bnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAogI2lmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3Jh
cGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDVlM2M4MmYxZjMzYWQ1MjkyNTA2Njg5NmM5
YzIxNGEzM2JmOGIzMDUuLjljMmIxMWIzZjhhMWE2YzdiZWRhZjhmNWM1MWU2MDUzODNjYzIyY2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAK
QEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1
ZmZlci5oIgogCiBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9
IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwgPSAw
LjU7Citjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsID0g
MC41X3M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTYzLDcgKzE2Myw3IEBAIGJvb2wg
VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRhdGVPbkNvbXBvc2l0
b3JUaHJlYWQoc3RkOjpmdW5jCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1fY29tcG9z
aXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRhdGVGdW5jdGlvbik7Ci0gICAg
bV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nv
bXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDU1ZWY5OTU0OWU2OTQyNjI0MTAzZDg4OGNiYzc1NGQ2
ZmI2ZDNlYy4uMGRjNjkyNWE1MTkxOTE4MTMyMmQ4YjZjNWM3MDAzMTU4NDFjOThkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5j
cHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjph
ZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwKIAogICAgIG1f
bGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0g
ZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1hdGlvbnMuYWRkKFRleHR1cmVN
YXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0LCBib3hTaXplLCAqYW5pbSwg
bGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAwLCBUZXh0dXJlTWFwcGVyQW5p
bWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAgIG1fYW5pbWF0aW9uU3RhcnRl
ZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25zKCk7CiAgICAgcmV0dXJuIHRy
dWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VC
YWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5ZWZjM2ZhYWVjNDMyMzM2YTYx
Li42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRlOGQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRp
bmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKQEAgLTE0
NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjpyZWxlYXNlU3VyZmFj
ZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwogfQogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25kcygzKTsKIAogdm9pZCBDb29y
ZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlmTmVlZGVkKGJvb2wmIGNoYW5n
ZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRkODdmOWZjMDlkZmNmMTIyYWMx
OTdjZDVlLi5iMjRjZmE2YTFmNTg3NjQ3MWE2NTBmMDZkZTZjYjE5NmQ0ODU3ODljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKQEAg
LTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgdGlja1Rp
bWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1U
aW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRlbHRhVG9OZXh0RnJhbWUgPSBz
dGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGN1cnJl
bnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAgICBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05leHRGcmFtZSk7CisgICAgICAg
IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRl
bHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92ZXJsYXlTY3JvbGxi
YXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6c2hv
d092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
VGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQpIHsKICAgICAgICAg
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUg
PSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJh
cnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92ZXJs
YXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRv
ckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OwogICAgIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbiArIG92ZXJm
bG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBtX292ZXJsYXlTY3JvbGxiYXJB
bmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlk
ZURlbGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkpKTsKIH0KIAog
dm9pZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29udGVudEFyZWEoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggNjZhMjZl
MWU2OGUzYzRkNTc3YWIzZWI1Njg1MThmYWM1OGY1OTY5ZS4uOWFjMDVmYzU1MTRlMTY0NjBjYmFj
N2E0NDdiYmE3OGQyMWE3MjlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUNhY2hlLm1tCkBAIC00MjAsNyArNDIwLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2Fj
aGU6OmZpbmlzaGVkQ3JlYXRpbmdUaWxlcyhib29sIGRpZENyZWF0ZVRpbGVzLCBib29sIGNyZWF0
ZU1vcmUKIAogICAgIC8vIEtlZXAgY3JlYXRpbmcgdGlsZXMgdW50aWwgdGhlIHdob2xlIGNvdmVy
UmVjdCBpcyBjb3ZlcmVkLgogICAgIGlmIChjcmVhdGVNb3JlKQotICAgICAgICBtX3RpbGVDcmVh
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OnRpbGVDcmVhdGlv
blRpbWVyRmlyZWQoKQpAQCAtNzgyLDcgKzc4Miw3IEBAIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpz
ZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICBy
ZXR1cm47CiAgICAgbV9pc1NwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7
CiAgICAgaWYgKG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQpCi0gICAgICAgIG1f
dGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbGVDcmVhdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIExlZ2FjeVRpbGVDYWNoZTo6aGFz
UGVuZGluZ0RyYXcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Ny
b2xsYmFyVGhlbWVJT1MuaAppbmRleCA3NTZkNDA2MDdmNTYzYTZjZTU5OGUyOWJiMjdiNDBlOTU1
ZWJhNjFmLi5hY2NkMjljMTA2MDM2N2UwZmMwZmZmNjhkNTNkNDM0N2EwNzRiMWUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaApAQCAtNDEs
OCArNDEsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBzdXBwb3J0c0NvbnRyb2xUaW50cygp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0
b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlk
ZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1BsYWNlbWVudCgpIGNv
bnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
U2Nyb2xsYmFyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xs
YmFyVGhlbWVJT1MubW0KaW5kZXggNmU1MjBiZWY1NDhmNTQwMjAzYTlhNmEzYzc3N2Q4MTZkYWE1
MDk5MC4uZmUyOTA3NzViZGUzODkzY2E2OTE2MGYzMjMyN2IzYzVmZjIwNzNkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAtNjYs
MTQgKzY2LDE0IEBAIGludCBTY3JvbGxiYXJUaGVtZUlPUzo6c2Nyb2xsYmFyVGhpY2tuZXNzKFNj
cm9sbGJhckNvbnRyb2xTaXplKQogICAgIHJldHVybiAwOwogfQogCi1kb3VibGUgU2Nyb2xsYmFy
VGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJh
clRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAw
OworICAgIHJldHVybiAwX3M7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6YXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZUlPUzo6YXV0b3Njcm9sbFRp
bWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9CiAgICAgCiBT
Y3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IFNjcm9sbGJhclRoZW1lSU9TOjpidXR0b25zUGxhY2Vt
ZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCBjYzYyZTNhODg0
YWVmMjk1MTk3ZTJiYjc2YmIwZmE3ZWMzMDcwYmExLi5kZDE5NjM0YjczNzkxYzVmM2NjZjJiNTJh
MjlmNjc0ZDg0YmU5MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC04MSw3
ICs4MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJvb2wgdmFsKQogfQogI2Vu
ZGlmCiAKLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9
IDE7CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMV9z
OwogCiBAY2xhc3MgV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbjsKIApAQCAtOTg2LDcgKzk4Niw3
IEBAIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxs
c2NyZWVuV2l0aFJlYXNvbihXZWJWaWRlb0Z1CiAgICAgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlbC0+
cmVxdWVzdEZ1bGxzY3JlZW5Nb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2Ny
ZWVuTW9kZU5vbmUpOwogCiAgICAgaWYgKCFtX3dhdGNoZG9nVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChEZWZhdWx0V2F0Y2hkb2dUaW1lcklu
dGVydmFsKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkZWZhdWx0V2F0
Y2hkb2dUaW1lckludGVydmFsKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxl
ckxpbnV4LmNwcAppbmRleCA0MjFjNjE2MGY4ODkxMjQ2NDc3M2Q0ZWEzZmNhZWQ0OTYzZDVhN2Zk
Li5lOGRlYzVlNDVmYzNmOWRjMmVjYTI1ZTIxMmQ4MjMxMjViM2UwYTFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyTGludXguY3BwCkBAIC0yNjksNyArMjY5LDcgQEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRs
ZXI6OmhvbGRPZmZUaW1lckZpcmVkKCkKIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omhv
bGRPZmYodW5zaWduZWQgc2Vjb25kcykKIHsKLSAgICBtX2hvbGRPZmZUaW1lci5zdGFydE9uZVNo
b3Qoc2Vjb25kcyk7CisgICAgbV9ob2xkT2ZmVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2Vj
b25kcykpOwogfQogCiBzdGF0aWMgc2l6ZV90IHByb2Nlc3NNZW1vcnlVc2FnZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggYWM3
ZjRmZDRhOTg0ZGMzMWRkZDRmYzgwYjE2OTM0MTUxOTAyNTA5NS4uZjczZDc5Njg4ZTJiODAyNTQ2
ZjI0MzU5ZmNjYmNhNTgyZDI2Y2ZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0
b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcigpCiB7Ci0gICAgbV9pbml0aWFsU2Nyb2xs
YmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICBtX2luaXRpYWxTY3JvbGxiYXJQ
YWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiB9CiAKIGJvb2wgU2Nyb2xsQW5pbWF0b3JN
YWM6OnNjcm9sbGJhclBhaW50VGltZXJJc0FjdGl2ZSgpIGNvbnN0CkBAIC0xMzY0LDcgKzEzNjQs
NyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNvb24o
Y29uc3QgRmxvYXRTaXplJiBkZWx0YSkKICAgICBtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNj
cm9sbERlbHRhID0gZGVsdGE7CiAKICAgICBpZiAoIW1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBpZiAobV93aGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAg
ICAgICAgIG1fd2hlZWxFdmVudFRlc3RUcmlnZ2VyLT5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50
ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZp
ZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OkNvbnRlbnRTY3JvbGxJblByb2dyZXNz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVt
ZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgK
aW5kZXggYTcyODI5OGM4ZWJiNWM1NTU0N2Q2ZDNjYmQ4ZDVlMTQ3NDBhNGU4Yy4uN2VhYTkxMWJi
OTJiMDhmMDFiN2Q5OTI2NmQwMTNhNDc2YzdkZDViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKQEAgLTQ4LDggKzQ4LDggQEAgcHVibGlj
OgogICAgIHZvaWQgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAg
IHZvaWQgdXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYpICBvdmVycmlkZTsK
IAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAg
ICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1l
bnQgYnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KaW5kZXggYjJlMTYxOGMwMzJm
YjdjNjVmMWZlMTkxN2YyMDRlMjk2NzRjMzg5Zi4uNDM1NDljYjU2MTk4M2Q1MzA3NDM5YzM2Mjkz
NjA0M2IxNjBiNWFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbGJhclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxiYXJUaGVtZU1hYy5tbQpAQCAtMTMwLDggKzEzMCw4IEBAIHN0YXRpYyBjb25zdCBpbnQgY0J1
dHRvbkxlbmd0aFtdID0geyAxNCwgMTAgfTsKIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9u
TGVuZ3RoW10gPSB7IDE2LCAxNCB9OyAvLyBUaGUgb3V0ZXIgYnV0dG9uIGluIGEgZG91YmxlIGJ1
dHRvbiBwYWlyIGlzIGEgYml0IGJpZ2dlci4KIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9u
T3ZlcmxhcCA9IDI7CiAKLXN0YXRpYyBmbG9hdCBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41ZjsK
LXN0YXRpYyBmbG9hdCBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gMC4wNWY7CitzdGF0aWMgU2Vj
b25kcyBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41X3M7CitzdGF0aWMgU2Vjb25kcyBnQXV0b3Nj
cm9sbEJ1dHRvbkRlbGF5ID0gMC4wNV9zOwogc3RhdGljIGJvb2wgZ0p1bXBPblRyYWNrQ2xpY2sg
PSBmYWxzZTsKIHN0YXRpYyBib29sIGdVc2VzT3ZlcmxheVNjcm9sbGJhcnMgPSBmYWxzZTsKIApA
QCAtMjM0LDggKzIzNCw4IEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hh
bmdlZCgpCiB7CiAgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKICAgICBbZGVmYXVsdHMgc3luY2hyb25pemVdOwotICAg
IGdJbml0aWFsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVy
QnV0dG9uRGVsYXkiXTsKLSAgICBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gW2RlZmF1bHRzIGZs
b2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlvZCJdOworICAgIGdJbml0aWFsQnV0dG9u
RGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25E
ZWxheSJdKTsKKyAgICBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcyhbZGVmYXVsdHMg
ZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl0pOwogICAgIGdKdW1wT25UcmFj
a0NsaWNrID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6QCJBcHBsZVNjcm9sbGVyUGFnaW5nQmVoYXZp
b3IiXTsKICAgICB1c2VzT3ZlcmxheVNjcm9sbGJhcnNDaGFuZ2VkKCk7CiB9CkBAIC0yNzcsMTIg
KzI3NywxMiBAQCB2b2lkIFNjcm9sbGJhclRoZW1lTWFjOjp1cGRhdGVTY3JvbGxiYXJPdmVybGF5
U3R5bGUoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1l
ckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0luaXRpYWxCdXR0b25EZWxheTsKIH0KIAotZG91Ymxl
IFNjcm9sbGJhclRoZW1lTWFjOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9s
bGJhclRoZW1lTWFjOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7CiAgICAgcmV0dXJuIGdBdXRv
c2Nyb2xsQnV0dG9uRGVsYXk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcAppbmRleCA5MjJhZDQzOTdhMDRjMDU1
NjFjN2MxZDYwNjdhZGVjNTE1OWYyMzU0Li5iZjI3M2JlZjk0YTg0YWM3MGQwYjQ0ZTFhMDI2OTZm
MTQwMDIzOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU1vdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
RGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VN
b3Rpb25DbGllbnRNb2NrOjpzZXRNb3Rpb24oUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBt
b3Rpb24pCiB7CiAgICAgbV9tb3Rpb24gPSBtb3Rpb247CiAgICAgaWYgKG1faXNVcGRhdGluZyAm
JiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEZXZpY2VNb3Rp
b25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAppbmRleCBh
ZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhkNjEwMWMyLi4yMWRmZWRkMzZhNTc1NDhk
YTg2YTk1NTU2ZmRhYWIyMWMyMTBiYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCkBAIC01
OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjpzZXRPcmllbnRh
dGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0CiB7CiAgICAgbV9vcmllbnRhdGlv
biA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2Nr
Ojp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAppbmRleCBiN2NmYjliZTA2ZGNiZmZjN2MxNmIzY2Zl
NzQ2NTAxMzBmYTcwMGU1Li43NTRhODI1Y2FlNTQ0NzllMTRkZDFlMzAwYzQyY2QxMmUzZmM5ODg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xp
ZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVu
dE1vY2s6OmFzeW5jVXBkYXRlUGVybWlzc2lvbigpCiB7CiAgICAgQVNTRVJUKG1fcGVybWlzc2lv
blN0YXRlICE9IFBlcm1pc3Npb25TdGF0ZVVuc2V0KTsKICAgICBpZiAoIW1fcGVybWlzc2lvblRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVybWlzc2lvblRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNzaW9uVGltZXJGaXJlZCgpCkBAIC0xNjUs
NyArMTY1LDcgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlQ29udHJv
bGxlcigpCiB7CiAgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CiAgICAgaWYgKG1faXNBY3RpdmUg
JiYgIW1fY29udHJvbGxlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY29udHJvbGxlclRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpjb250cm9sbGVyVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5
NmI3YTk1ZTIxMDY2MDQ5NTEyZmUyZjI1NWIuLmE3NmJjMjZmYTYwNGQwMzM4MWE1MzUzZmFiZWZk
YTg1ZmU5OGIwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCkBAIC0zNyw3ICszNyw3
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0
YXRpYyBjb25zdCBkb3VibGUgdGltZXJJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4xX3M7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jayhNZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXIoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
TWVkaWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRp
YUVuZHBvaW50LmNwcAppbmRleCA2MGJiMDE4MWFlOGNkM2I3N2I4OWVkZjQ5YTM2NTM4NGYyZTBk
ZTU5Li5jODMxMGRmMTU0MWU1YTE1NzE2MDJmMzA1MzgwNTVkMTRmMjYxYWY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcApAQCAt
MjQ1LDcgKzI0NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNh
bmRpZGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUg
a2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2Zha2VJY2VDYW5kaWRhdGVzLnJldmVyc2Uo
KTsKIAotICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNl
Q2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQpAQCAtMjU1LDcgKzI1NSw3IEBAIHZvaWQg
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQogCiAgICAgaWYgKCFt
X2Zha2VJY2VDYW5kaWRhdGVzLmlzRW1wdHkoKSkgewogICAgICAgICBtX2NsaWVudC5nb3RJY2VD
YW5kaWRhdGUobV9taWRzWzBdLCBtX2Zha2VJY2VDYW5kaWRhdGVzLnRha2VMYXN0KCkpOwotICAg
ICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9pY2VD
YW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9j
bGllbnQuZG9uZUdhdGhlcmluZ0NhbmRpZGF0ZXMobV9taWRzWzBdKTsKIH0KQEAgLTI5NCw3ICsy
OTQsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpzdGVwSWNlVHJhbnNwb3J0U3RhdGVzKCkK
ICAgICAvLyBSZXZlcnNlIG9yZGVyIHRvIHVzZSB0YWtlTGFzdCgpIHdoaWxlIGtlZXBpbmcgdGhl
IGFib3ZlIG9yZGVyCiAgICAgbV9pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZXMucmV2ZXJzZSgpOwog
Ci0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VUcmFu
c3BvcnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2lu
dDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCkBAIC0zMDUsNyArMzA1LDcgQEAgdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCiAgICAgYXV0byBzdGF0ZUNo
YW5nZSA9IG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnRha2VMYXN0KCk7CiAgICAgbV9jbGll
bnQuaWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKHN0YXRlQ2hhbmdlLmZpcnN0LCBzdGF0ZUNoYW5n
ZS5zZWNvbmQpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKCkKQEAgLTMyMCw3ICszMjAs
NyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQoKQog
ICAgIGZvciAoaW50IGkgPSBtX21pZHMuc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpCiAgICAgICAg
IG1fbWlkc09mU291cmNlc1RvVW5tdXRlLmFwcGVuZChtX21pZHNbaV0pOwogCi0gICAgbV91bm11
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCgpCkBA
IC0zMzAsNyArMzMwLDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJl
ZCgpCiAgICAgICAgIHNvdXJjZS0+c2V0TXV0ZWQoZmFsc2UpOwogCiAgICAgaWYgKCFtX21pZHNP
ZlNvdXJjZXNUb1VubXV0ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fdW5tdXRlVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCmluZGV4IGVmOTcyNzZhNDQz
NDJhYmM1Yzc1YWVhNGUzNjE3MTQ0MWI0Y2RjNmUuLjY0YTM1YTZkMjdiY2U5NWM2NTliYzU5MWJl
NTA5MDRiYTgxMzYwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQg
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAgfQogCiAg
ICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBtX3Rp
bWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMobHJvdW5kKDEwMDAg
LyBmcmFtZVJhdGUoKSkpKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHMoKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSkpOwogfQogCiB2b2lk
IE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCkBAIC0xMzYsNyAr
MTM2LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRl
ZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2UKIGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSByYXRlKQogewogICAgIGlmIChtX3RpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRS
ZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7
CiAKICAgICB1cGRhdGVTYW1wbGVCdWZmZXIoKTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
ck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHAKaW5kZXggZjNiYzcxYzBmNzMzZDI4MzNlYzM0ODVlODk0OTQ0OGQz
OGRkM2YxMS4uZDhhN2MwODk3Zjk4NWRmYzhjNWY3ZWE0MWQ4MGM4NjU5M2YxMGYzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNp
emVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBQbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWsoUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmMKICAgICBjbGllbnQoKS0+Ym91bmRhcnlFdmVudE9jY3VycmVkKCptX3V0dGVyYW5j
ZSwgU3BlZWNoU2VudGVuY2VCb3VuZGFyeSwgbV91dHRlcmFuY2UtPnRleHQoKS5sZW5ndGgoKSk7
CiAKICAgICAvLyBHaXZlIHRoZSBmYWtlIHNwZWVjaCBqb2Igc29tZSB0aW1lIHNvIHRoYXQgcGF1
c2UgYW5kIG90aGVyIGZ1bmN0aW9ucyBoYXZlIHRpbWUgdG8gYmUgY2FsbGVkLgotICAgIG1fc3Bl
YWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hvdCguMSk7CisgICAgbV9zcGVha2luZ0Zpbmlz
aGVkVGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKIH0KIAogdm9pZCBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXggZGUwZThhOWZkNjU5NmIyZTJhYjczNzAz
MDQ3ZGU1ZWQzN2ZmZWNhYy4uODYzZjlkNjViNzY5MDE2ZDBkOTdjZDI2ODliMmQ0ZmY1NzY2MmFi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFz
ZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFz
ZWRNb2NrLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgICAgICAsIG1fdGltZXIoKnRo
aXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAgICAgICAsIG1fbm90aWZpZXIobm90aWZp
ZXIpCiAgICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjUpOworICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwLjVfcyk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+VGltZXJF
dmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jl
c29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHAKaW5kZXggNTg3NzNhYTMzMjkxY2E3YTY4OTU3NTg2ZWU4MjAzYzZiYWMyY2Zm
My4uZTFjNDEwZWQxNTI1OGFjYWYzZjBjMzkxOWQ4NWEwODJhMDkyN2Q5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcApAQCAt
MzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGdOYW1l
c1RvUmVzb2x2ZUltbWVkaWF0ZWx5ID0gNDsKIAogLy8gQ29hbGVzY2UgcHJlZmV0Y2ggcmVxdWVz
dHMgZm9yIHRoaXMgbG9uZyBiZWZvcmUgc2VuZGluZyB0aGVtIG91dC4KLXN0YXRpYyBjb25zdCBk
b3VibGUgZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMgPSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBjb2FsZXNjZURlbGF5ID0gMV9zOwogCiAvLyBTZW5kaW5nIG1hbnkgRE5TIHJlcXVlc3RzIGF0
IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBTZWUgPHJkYXI6Ly84MTA1NTUwPiBm
b3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0IHRocm90dGxpbmcuCiBzdGF0aWMg
Y29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CkBAIC00OCw3ICs0OCw3IEBA
IHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsKIHN0YXRpYyBj
b25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0OwogCiAvLyBJZiB0aGVyZSB3ZXJlIHF1
ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2ltdWx0YW5lb3VzbHksIGNoZWNrIHRo
ZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMg
cmV0cnlSZXNvbHZpbmdEZWxheSA9IDAuMV9zOwogCiBETlNSZXNvbHZlUXVldWUmIEROU1Jlc29s
dmVRdWV1ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIEROU1Jlc29s
dmVRdWV1ZTo6YWRkKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAgaWYgKG1fbmFtZXMuc2l6
ZSgpIDwgZ01heFJlcXVlc3RzVG9RdWV1ZSkgewogICAgICAgICBtX25hbWVzLmFkZChob3N0bmFt
ZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMpOworICAgICAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoY29hbGVzY2VEZWxheSk7CiAgICAgfQogfQogCkBAIC0xMjIsNyAr
MTIyLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQoKQogICAgIH0KIAogICAg
IGlmICghbV9uYW1lcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGdS
ZXRyeVJlc29sdmluZ0luU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHJl
dHJ5UmVzb2x2aW5nRGVsYXkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCmluZGV4
IGFiZmI0NmNlY2Y4MjE0M2I5ZmZhY2QwMWJlNTc4NmE1M2EwMDhlYzAuLjQ1Y2ExYzVjMzYyYjU0
NWU4N2VkYzhjZGIzNWYyMjAyOGJjMjZkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIHJlZigpOwogCiAgICAgICAgIGF1dG8gc2NoZWR1bGVkUGFpcnMgPSBtX2Rl
Y29kZVRhc2stPnNjaGVkdWxlQ29udGV4dC5zY2hlZHVsZWRQYWlyczsKLSAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgICAgIG1fdGltZXIuc2NoZWR1bGUoc2NoZWR1bGVkUGFpcnMpOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaAppbmRleCBjZDlmMmJmOTYw
MDYzZTcwM2Y4YzNmMGI4ZDAxMWYyYmI5Y2IxYmQxLi4xYTBkNWNlNjIzYWRmOGEzNDA1M2Q2ZmFl
OGQwZjc2MzkwMmJkMTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1BpbmdIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Bp
bmdIYW5kbGUuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhl
IHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3Jl
dmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2Fz
ZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAg
bV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDEwMDBfbWluKTsKICAgICB9CiAKIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCmluZGV4IDY0N2Y2MDQxOWJmY2QwZmVlNjM3NWQ5ZDE4ODA3NjU5MmExZjkyMGMuLjAwYzBk
MDI5Y2M2ZmMyYzFjY2E3OTdjOTkyODE0ZDA3MDQ3N2U3NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC0xMDUsNyArMTA1
LDcgQEAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdv
cmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2NoZWR1
bGVGYWlsdXJlKEZhaWx1cmVUeXBlIHR5cGUpCiB7CiAgICAgZC0+bV9zY2hlZHVsZWRGYWlsdXJl
VHlwZSA9IHR5cGU7Ci0gICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJlc291cmNl
SGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCgpCkBAIC0yNTgsNyArMjU4LDcgQEAgdm9pZCBSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgICAgIGQt
Pm1fZmFpbHVyZVRpbWVyLnN0b3AoKTsKICAgICB9IGVsc2UgaWYgKGQtPm1fc2NoZWR1bGVkRmFp
bHVyZVR5cGUgIT0gTm9GYWlsdXJlKSB7CiAgICAgICAgIEFTU0VSVCghZC0+bV9mYWlsdXJlVGlt
ZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQog
CiAgICAgcGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3Rp
Zmllck1hYy5jcHAKaW5kZXggNTVhZGUyMThjMTM4ODhjMGNjMjZlYmVjYjc5MjYzZGNhNzAwOTE2
ZC4uZDRkOThkYTMxZjY1NzYxM2I1ZWQ4ZDZkYjIyZmY5Yjc1YjAxZTQyZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJN
YWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtT
dGF0ZU5vdGlmaWVyTWFjLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU3RhdGVDaGFuZ2VUaW1lckludGVydmFsID0gMi4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RhdGVDaGFuZ2VUaW1lckludGVydmFsID0gMl9zOwog
CiB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjp1cGRhdGVTdGF0ZSgpCiB7CkBAIC03OCw3ICs3
OCw3IEBAIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9yZUNhbGxiYWNrKFND
RHluYW1pY1N0b3JlUmVmLCBDRkFycmF5UmVmLCB2CiAgICAgCiAgICAgLy8gQ2FsbGluZyB1cGRh
dGVTdGF0ZSgpIGNvdWxkIGJlIGV4cGVuc2l2ZSBzbyB3ZSBzY2hlZHVsZSBhIHRpbWVyIHRoYXQg
d2lsbCBkbyBpdCAKICAgICAvLyB3aGVuIHRoaW5ncyBoYXZlIGNvb2xlZCBkb3duLgotICAgIG5v
dGlmaWVyLT5tX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdChTdGF0ZUNoYW5n
ZVRpbWVySW50ZXJ2YWwpOworICAgIG5vdGlmaWVyLT5tX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVy
LnN0YXJ0T25lU2hvdChzdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIE5ldHdv
cmtTdGF0ZU5vdGlmaWVyOjpuZXR3b3JrU3RhdGVDaGFuZ2VUaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNv
dXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAKaW5kZXggODg3YTllZDc5NWQxY2I0ZTU4Y2NkZGU1NmUzODhkOTljZGMwYmYz
ZS4uZWNmMTg0Y2U0MGJkZjllYzRkMzFiZjczMjA2MzM3NzEyMmRlOWI0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAKQEAgLTc1MCw3ICs3NTAsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZW5k
UGVuZGluZ1JlcXVlc3QoKQogI2VuZGlmCiAKICAgICBpZiAoZC0+bV9maXJzdFJlcXVlc3QudGlt
ZW91dEludGVydmFsKCkgPiAwKQotICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVT
aG90KGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpKTsKKyAgICAgICAgZC0+bV90
aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChTZWNvbmRzKGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVv
dXRJbnRlcnZhbCgpKSk7CiAKICAgICAvLyBCYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51
cFNvdXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bi4KICAgICByZWYo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNz
dXJlSGFuZGxlcldpbi5jcHAKaW5kZXggZmM4N2I3MDMyOTIzODcxNmQxYzYzNTg3OGNlMDc5MmRi
YjdkZmQzMi4uOWVhNDE3ZGQwMzBhMWNmNDlhZWY1NWRjNjRiZWFhYTRhZGM0YWRlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldp
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFu
ZGxlcldpbi5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxl
cjo6aW5zdGFsbCgpCiB7CiAgICAgbV9pbnN0YWxsZWQgPSB0cnVlOwogICAgIG1lbUNoZWNrVGlt
ZXIoKSA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hlY2tNZW1vcnlUaW1lcj4oKnRoaXMpOwotICAgIG1l
bUNoZWNrVGltZXIoKS0+c3RhcnRSZXBlYXRpbmcoNjAuMCk7CisgICAgbWVtQ2hlY2tUaW1lcigp
LT5zdGFydFJlcGVhdGluZygxX21pbik7CiB9CiAKIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVy
Ojp1bmluc3RhbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdl
UXVhbGl0eUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVh
bGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IGExZmU4ZmNjMWM4OGYyNmUxNmE2M2YxMmI2NDMyZDVh
MGU4MWNlZDYuLjVmNWQwNzY1NzljMjEwNDA3YzBiY2ZjNmI1ODYyNzM5MGQ3MjkyMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5j
cHAKQEAgLTM1LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0
IGRvdWJsZSBjSW50ZXJwb2xhdGlvbkN1dG9mZiA9IDgwMC4gKiA4MDAuOwotc3RhdGljIGNvbnN0
IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8gNTAwIG1zCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBsb3dRdWFsaXR5VGltZVRocmVzaG9sZCA9IDAuNV9zOwogCiBJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyKGNvbnN0IFJlbmRlclZp
ZXcmIHJlbmRlclZpZXcpCiAgICAgOiBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKQEAgLTk0LDcg
Kzk0LDcgQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRU
aW1lckZpcmVkKCkKIAogdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIo
KQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7
CisgICAgbV90aW1lci5zdGFydE9uZVNob3QobG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOwogfQog
CiBzdGQ6Om9wdGlvbmFsPEludGVycG9sYXRpb25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9s
bGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCmluZGV4IDYzNDIyMTM1YzFhMzljNTlhY2Y1OTIzOTE3MWMzMWNhZTM1MGNjMjQuLjk1
ODBlNDBiMjNmOGQ0Y2JkMWM4MjgwZDRhNWJlN2Y5NWFjOWY2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSAr
OTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBjYW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29t
cG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRpZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxh
eSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29h
bGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgogI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25z
dCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNv
bnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gMC41X3M7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjVfczsKICNlbHNlCi1z
dGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAuNTsK
LXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gLjU7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gMC41X3M7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAwLjVfczsK
ICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtNjM0LDcgKzYzNCw3IEBA
IFJlbmRlckxheWVyQ29tcG9zaXRvciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjplbmNsb3NpbmdD
b21wb3NpdG9yRmx1c2hpbmdMYXllcnMoCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlQ29tcG9z
aXRpbmdMYXllcnNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IDYwNTlkMjZkMWRmY2ZiMzYxNWJi
YmJlMTZjZmQyM2UyNWRkZmMxNTcuLmI3NDA5N2NmMjFlMWE4MjI1YTZhZWQ4ZmQ5YTNiMmE5YTUy
ZTlhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAg
LTE2OCw3ICsxNjgsNyBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnN0YXJ0KCkKICAgICAgICAgbV9z
dG9wcGVkID0gZmFsc2U7CiAgICAgfQogCi0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVl
ZCgpICogMC4wMDEpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhzcGVlZCgpKSk7CiB9CiAKIHZvaWQgUmVuZGVyTWFycXVlZTo6c3VzcGVuZCgp
CkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5
bGUoKQogICAgIGlmIChzcGVlZCgpICE9IG1hcnF1ZWVTcGVlZCgpKSB7CiAgICAgICAgIG1fc3Bl
ZWQgPSBtYXJxdWVlU3BlZWQoKTsKICAgICAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAuMDAxKTsKKyAgICAg
ICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhz
cGVlZCgpKSk7CiAgICAgfQogICAgIAogICAgIC8vIENoZWNrIHRoZSBsb29wIGNvdW50IHRvIHNl
ZSBpZiB3ZSBzaG91bGQgbm93IHN0b3AuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IDQ3NTA2YWNkMzNiNzA3NDM1ZTU5ZTE2
NWNjNjA3MDNmZTY0ZTQ2ZTYuLjg2OWFmNDJhMDk5ODI2NmViMGY2NWMzZjEwZjk3Mzg4MWE2MTU1
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dU
aHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dU
aHJlYWQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6
OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQoKQogICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkQ2hhbmdlUmVnaW9uT3ZlcnNldChkb2N1bWVudCgpLCBuYW1l
ZEZsb3coKSk7CiAgICAgCiAgICAgaWYgKCFtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVy
LmlzQWN0aXZlKCkgJiYgbmFtZWRGbG93KCkuaGFzRXZlbnRMaXN0ZW5lcnMoKSkKLSAgICAgICAg
bV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9n
cmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCmlu
ZGV4IDlhMWYyNDBmYTVmOWFmZjg3MDFjMTM0OGNjYzU3ZDM2YWIzZTBiODQuLjUxYTMwOGZiYTM3
MGM0Nzk4OWM4YzVjZWFlMGIwODc3NDJjOWM3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lkIFJlbmRlclByb2dy
ZXNzOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKICAgICByZXBhaW50KCk7CiAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV9hbmltYXRpbmcpCi0gICAgICAgIG1fYW5p
bWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpOworICAg
ICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKG1fYW5pbWF0aW9uUmVw
ZWF0SW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9u
U3RhdGUoKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFu
aW1hdGlvblN0YXRlKCkKICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGluZzsKICAgICBpZiAobV9h
bmltYXRpbmcpIHsKICAgICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
bV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogICAgIH0gZWxz
ZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKaW5kZXggZWQ0OWJlZGNiZGI2MTVk
MGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFiZDgyM2FhYTAxNDY1NmIxMWFiNmQyNjE5ZGQx
NmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9s
bGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAgcHVibGljOgogCiAgICAgU2Nyb2xsYmFyQnV0
dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9sbGJhciYgc2Nyb2xsYmFy
LCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQ
YXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5oYW5kbGVNb3Vz
ZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwgcHJlc3NlZFBhcnQpOyB9CiAKLSAgICBkb3Vi
bGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xs
YmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KLSAgICBk
b3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJU
aGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBpbml0
aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVt
ZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIFNlY29uZHMg
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6
dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAKICAgICB2b2lkIHJlZ2lzdGVyU2Ny
b2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJU
aGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIpOyB9CiAgICAgdm9pZCB1
bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJldHVy
biBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJlZ2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCAzN2IwNzQxODc4
YTFiZDk4MzhlYzYyNTNkZWQwNzE5MTAwMWZjYzQ4Li42Nzk1ZjcyODczMGEwYzRjZjY4M2RkNzlh
NWFlZTAyNzI3ZjcwMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3Bw
CkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1lcjo6U2VjdXJlVGV4dFRp
bWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2VjdXJlVGV4dFRpbWVyOjpy
ZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKQogewogICAgIG1f
b2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFz
c3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7CisgICAgc3RhcnRPbmVTaG90KFNlY29uZHMo
bV9yZW5kZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29u
ZHMoKSkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4dFRpbWVyOjp0YWtlT2Zmc2V0
QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaAppbmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAxMzhjZWY0MGVjODI4ZjljMmJlLi44OWY0
YjljOWU0OTRmZmRlZDU5M2QwY2UyNDA0YjBhZjIwMWJhNDE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNjcm9sbFR5
cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0x
NzUsNyArMTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3Jt
Q29sb3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2
YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlu
a0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41X3M7IH0KIAogICAgIC8vIFN5c3RlbSBmb250
cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0ZW1Gb250KENTU1ZhbHVlSUQsIEZv
bnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKQEAgLTIwNCw4ICsyMDUsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xTdGF0dXNEaXNwbGF5KCkgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlhQ29udHJvbFZvbHVtZVNsaWRl
cigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2Fs
Vm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgZG91Ymxl
IG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQotICAgIHZpcnR1
YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgeyByZXR1
cm4gMC4xX3M7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVPdXREdXJh
dGlvbigpIHsgcmV0dXJuIDAuM19zOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFD
b250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0
TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlv
bikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmlu
Z1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCA5MWFjMDgwMDIzODFmYTY1Y2YwYjI1
YTU4YzkwMzFmOGFhNmQ4MTdkLi5lZTUzNmMwNDU3YTRlZWRiYWFhZjllZGNjZjkxMGUzYzg0Y2E3
Zjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC0xNTEsNyAr
MTUxLDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYg
cmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2V0UmVuZGVyQm94TmVlZHNMYXp5UmVwYWludCh0cnVl
KTsKICAgICBtX3JlbmRlcmVyc05lZWRpbmdMYXp5UmVwYWludC5hZGQoJnJlbmRlcmVyKTsKICAg
ICBpZiAoIW1fbGF6eVJlcGFpbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xhenlSZXBh
aW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6dW5zY2hlZHVsZUxhenlSZXBh
aW50KFJlbmRlckJveCYgcmVuZGVyZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1
cmluZ0lucHV0Q3Vyc29yLmNwcAppbmRleCA5OTY0OWJmZTI5MDM2Njc2YWQ0OTY4YTM2ZGYxZjVj
M2M2MmUwZWQ5Li41YjQzNDlmYTkzNGYzMmI0MTA5NWQ1YTBmODQ0OTY5MTRmODdmNTI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKQEAgLTU4
LDExICs1OCw4IEBAIHZvaWQgQ2FwdHVyaW5nSW5wdXRDdXJzb3I6OnN0b3JlSW5wdXQoc3RkOjp1
bmlxdWVfcHRyPE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+CiB7CiAgICAgQVNTRVJUX0FSRyhp
bnB1dCwgaW5wdXQpOwogCi0gICAgaWYgKGlucHV0LT5xdWV1ZSgpID09IElucHV0UXVldWU6OkV2
ZW50TG9vcElucHV0KSB7Ci0gICAgICAgIC8vIEZJWE1FOiByZXdyaXRlIHRoaXMgKGFuZCByZWxh
dGVkIGRpc3BhdGNoIGNvZGUpIHRvIHVzZSBzdGQ6OmNocm9uby4KLSAgICAgICAgZG91YmxlIG5v
dyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAgICBtX3NlZ21lbnQtPmV2
ZW50TG9vcFRpbWluZ3MoKS5hcHBlbmQobm93KTsKLSAgICB9CisgICAgaWYgKGlucHV0LT5xdWV1
ZSgpID09IElucHV0UXVldWU6OkV2ZW50TG9vcElucHV0KQorICAgICAgICBtX3NlZ21lbnQtPmV2
ZW50TG9vcFRpbWluZ3MoKS5hcHBlbmQoTW9ub3RvbmljVGltZTo6bm93KCkpOwogCiAgICAgbV9z
ZWdtZW50LT5zdG9yYWdlKCkuc3RvcmUoV1RGTW92ZShpbnB1dCkpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAppbmRleCA1MTAy
OTNmYzE2YzY0YWM5YjVmYjUxZTdiOThkMDkwZDhiNTEzNjY3Li5iMDdkMjZmZjg0ZjM4NzExZDM0
NDM1YjQ2YmViMGJiMWVmMzI1YmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcApAQCAtNTEsOCArNTEsNiBAQCBFdmVudExvb3BJ
bnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcihQYWdlJiBwYWdlLCBSZXBs
YXlpbmdJbnB1dEN1cgogICAgICwgbV90aW1lcigqdGhpcywgJkV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6dGltZXJGaXJlZCkKICAgICAsIG1fc3BlZWQoRGlzcGF0Y2hTcGVlZDo6RmFzdEZvcndh
cmQpCiB7Ci0gICAgbV9jdXJyZW50V29yay5pbnB1dCA9IG51bGxwdHI7Ci0gICAgbV9jdXJyZW50
V29yay50aW1lc3RhbXAgPSAwLjA7CiB9CiAKIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVy
OjpydW4oKQpAQCAtOTEsNyArODksNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6
ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IG1fdGltZXIuc3RvcCgpOwogCi0gICAgZG91YmxlIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgU2Vj
b25kcyB3YWl0SW50ZXJ2YWw7CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpS
ZWFsVGltZSkgewogICAgICAgICAvLyBUaGUgZ29hbCBpcyB0byByZXByb2R1Y2UgdGhlIGRpc3Bh
dGNoIGRlbGF5IGJldHdlZW4gaW5wdXRzIGFzIGl0IHdhcwpAQCAtMTAyLDIyICsxMDAsMjIgQEAg
dm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICAg
ICAgaWYgKCFtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXApCiAgICAgICAgICAgICBtX3ByZXZpb3Vz
SW5wdXRUaW1lc3RhbXAgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsKIAotICAgICAgICBkb3Vi
bGUgdGFyZ2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJ
bnB1dFRpbWVzdGFtcDsKLSAgICAgICAgZG91YmxlIGVsYXBzZWQgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKKyAgICAgICAgU2Vj
b25kcyB0YXJnZXRJbnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91
c0lucHV0VGltZXN0YW1wOworICAgICAgICBTZWNvbmRzIGVsYXBzZWQgPSBNb25vdG9uaWNUaW1l
Ojpub3coKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAgICAgICAgd2FpdEludGVy
dmFsID0gdGFyZ2V0SW50ZXJ2YWwgLSBlbGFwc2VkOwogICAgIH0KIAogICAgIC8vIEEgbmVnYXRp
dmUgd2FpdCB0aW1lIG1lYW5zIHRoYXQgZGlzcGF0Y2ggdG9vayBsb25nZXIgb24gcmVwbGF5IHRo
YW4gb24KICAgICAvLyBjYXB0dXJlLiBJbiB0aGlzIGNhc2UsIHByb2NlZWQgd2l0aG91dCB3YWl0
aW5nIGF0IGFsbC4KLSAgICBpZiAod2FpdEludGVydmFsIDwgMCkKLSAgICAgICAgd2FpdEludGVy
dmFsID0gMDsKKyAgICBpZiAod2FpdEludGVydmFsIDwgMF9zKQorICAgICAgICB3YWl0SW50ZXJ2
YWwgPSAwX3M7CiAKLSAgICBpZiAod2FpdEludGVydmFsID4gMTAwMC4wKSB7CisgICAgaWYgKHdh
aXRJbnRlcnZhbCA+IDEwMDBfcykgewogICAgICAgICBMT0dfRVJST1IoIiUtMjBzIFRyaWVkIHRv
IHdhaXQgZm9yIG92ZXIgMTAwMCBzZWNvbmRzIGJlZm9yZSBkaXNwYXRjaGluZyBuZXh0IGV2ZW50
IGxvb3AgaW5wdXQ7IHRoaXMgaXMgcHJvYmFibHkgYSBidWcuIiwgIlJlcGxheUV2ZW50cyIpOwot
ICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOworICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwX3M7CiAg
ICAgfQogCi0gICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlUOiAlLjNmIG1zKSIsICJSZXBs
YXlFdmVudHMiLCB3YWl0SW50ZXJ2YWwgKiAxMDAwLjApOworICAgIExPRyhXZWJSZXBsYXksICIl
LTIwcyAoV0FJVDogJS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwgU2Vjb25kcyh3YWl0SW50ZXJ2
YWwgKiAxMDAwLjApLm1pbGxpc2Vjb25kcygpKTsKICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCh3
YWl0SW50ZXJ2YWwpOwogfQogCkBAIC0xMjcsNyArMTI1LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1
dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXQoKQogICAgIEFTU0VSVCghbV9kaXNwYXRjaGluZyk7
CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpSZWFsVGltZSkgewotICAgICAg
ICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKTsKKyAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CiAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCA9IG1fY3VycmVudFdv
cmsudGltZXN0YW1wOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5
L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0RGlzcGF0Y2hlci5oCmluZGV4IDIwNjdlNzhkNDNmMjVhNWQyNWU0YzNmOWE1MjMy
MzViMGM3OTVmMzQuLjU5MzJiNDJiNmQ0MmMzODIwOTRlNTQ4MTQzNjBmMGRhYjZiNDQwZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFdmVudExvb3BJbnB1dC5oIgogI2luY2x1ZGUg
IlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3
dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC04Niw5ICs4Nyw5IEBAIHByaXZhdGU6CiAK
ICAgICBEaXNwYXRjaFNwZWVkIG1fc3BlZWQ7CiAgICAgLy8gVGhlIHRpbWUgYXQgd2hpY2ggdGhl
IGxhc3QgaW5wdXQgZGlzcGF0Y2goKSBtZXRob2Qgd2FzIGNhbGxlZC4KLSAgICBkb3VibGUgbV9w
cmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lIHswLjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2
aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgIC8vIFRoZSB0aW1lc3RhbXAgc3BlY2lmaWVkIGJ5
IHRoZSBsYXN0IGRpc3BhdGNoZWQgaW5wdXQuCi0gICAgZG91YmxlIG1fcHJldmlvdXNJbnB1dFRp
bWVzdGFtcCB7MC4wfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFt
cDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCmluZGV4IGYxOGRkZjQxZmNkYzA0NDZlZTQwMDhi
ODFiMzliZjZjNGE2NTE2MmEuLjI4MTFlNzRiZjAzZjc4NGMzMTZjY2Q5MWZiZTAwODQ4OWUzMWYz
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNw
cApAQCAtNDcsOCArNDcsOCBAQCBSZWY8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IFJlcGxheVNlc3Np
b25TZWdtZW50OjpjcmVhdGUoKQogCiBSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lv
blNlZ21lbnQoKQogICAgIDogbV9zdG9yYWdlKHN0ZDo6bWFrZV91bmlxdWU8U2VnbWVudGVkSW5w
dXRTdG9yYWdlPigpKQorICAgICwgbV90aW1lc3RhbXAoTW9ub3RvbmljVGltZTo6bm93KCkpCiAg
ICAgLCBtX2lkZW50aWZpZXIoc19uZXh0U2VnbWVudElkZW50aWZpZXIrKykKLSAgICAsIG1fdGlt
ZXN0YW1wKGN1cnJlbnRUaW1lTVMoKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
UmVwbGF5U2Vzc2lvblNlZ21lbnQuaAppbmRleCBkNTYyYjUzYzA0NDg0MTNmNDYzMjk5N2NhMTlm
OTQ4ZGUyM2EyZDljLi5mNzY3NDJjNjU4ZWRjMDEyMzJjZTMzYmZlZjc5NGYzNTMzNjQ1N2QzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaApAQCAtMzAs
NiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01MSwyMCArNTIsMjEgQEAg
cHVibGljOgogICAgIH5SZXBsYXlTZXNzaW9uU2VnbWVudCgpOwogCiAgICAgdW5zaWduZWQgaWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQotICAgIGRvdWJsZSB0aW1l
c3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorICAgIE1vbm90b25pY1RpbWUg
dGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KKwogcHJvdGVjdGVkOgog
ICAgIFNlZ21lbnRlZElucHV0U3RvcmFnZSYgc3RvcmFnZSgpIHsgcmV0dXJuICptX3N0b3JhZ2U7
IH0KLSAgICBWZWN0b3I8ZG91YmxlLCAwPiYgZXZlbnRMb29wVGltaW5ncygpIHsgcmV0dXJuIG1f
ZXZlbnRMb29wVGltaW5nczsgfQorICAgIFZlY3RvcjxNb25vdG9uaWNUaW1lLCAwPiYgZXZlbnRM
b29wVGltaW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29wVGltaW5nczsgfQogCiBwcml2YXRlOgog
ICAgIFJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2VnbWVu
dGVkSW5wdXRTdG9yYWdlPiBtX3N0b3JhZ2U7Ci0gICAgVmVjdG9yPGRvdWJsZSwgMD4gbV9ldmVu
dExvb3BUaW1pbmdzOworICAgIFZlY3RvcjxNb25vdG9uaWNUaW1lLCAwPiBtX2V2ZW50TG9vcFRp
bWluZ3M7CiAKKyAgICBNb25vdG9uaWNUaW1lIG1fdGltZXN0YW1wOwogICAgIHVuc2lnbmVkIG1f
aWRlbnRpZmllcjsKICAgICBib29sIG1fY2FuQ2FwdHVyZSB7dHJ1ZX07Ci0gICAgZG91YmxlIG1f
dGltZXN0YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAppbmRleCA3N2MzYjk0MjBjOGZhZDQ0ZGU1
M2JjMDE1MmRiZTk3NmJkZDZiNjkyLi4wZmVkMTA5MjgxMDdiM2U4NGJhZTk1ZWMyMzc3ZTBkYzc3
OTUxYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRD
dXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3Iu
aApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSA8
cmVwbGF5L0lucHV0Q3Vyc29yLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDggKzQy
LDggQEAgY2xhc3MgUGFnZTsKIGNsYXNzIFJlcGxheVNlc3Npb25TZWdtZW50OwogCiBzdHJ1Y3Qg
RXZlbnRMb29wSW5wdXREYXRhIHsKLSAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0OwotICAg
IGRvdWJsZSB0aW1lc3RhbXA7CisgICAgRXZlbnRMb29wSW5wdXRCYXNlKiBpbnB1dCB7IG51bGxw
dHIgfTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcDsKIH07CiAKIGNsYXNzIFJlcGxheWlu
Z0lucHV0Q3Vyc29yIGZpbmFsIDogcHVibGljIElucHV0Q3Vyc29yIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVTY29wZS5jcHAKaW5kZXggODIyNzBhZGQwZjJmMGNmM2VjZGQ3NjU0OGUwNWMxNDE4MjBi
ODVlNi4uMzA4MGQ2YThiMTZiZjg3MTQxOGE3Zjg4N2I3MWVhODE4MjE5NGY1ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKQEAgLTUwNyw3ICs1MDcsNyBAQCB2b2lkIFNjb3BlOjpz
Y2hlZHVsZVVwZGF0ZShVcGRhdGVUeXBlIHVwZGF0ZSkKIAogICAgIGlmIChtX3BlbmRpbmdVcGRh
dGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wZW5kaW5nVXBkYXRl
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VwZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VBY3RpdmVTdHlsZVNoZWV0Q2Fu
ZGlkYXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5kZXggZjA0MTVmY2EzMGY5Y2U0
YzQxMDJmYTU4ZDdiMzUyZmFmZjg1ZWMzYy4uNDE5NjJhYTczYjY1ZDliZTYyODE2OTg4MDI1MTky
MWU3OGE5OThhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNjIxLDcgKzYyMSw3
IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBzZW5k
UGFyZW50TG9hZEV2ZW50cykKIAogdm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQ
b3NzaWJsZUFzeW5jaHJvbm91c2x5KCkKIHsKLSAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFy
dE9uZVNob3QoMCk7CisgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCmluZGV4
IGNiZjNiN2JhNTg0ODUwNzczN2U5NzVjZGQwYTgxOTJkMzM1ZmJmNTAuLjc1M2U0MDE0YmNjMjEy
Y2IzMDhkOGQ2NjdjZmZlYmZkMTNjNDQ1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCkBAIC0yMDUsNyArMjA1LDcgQEAgdm9p
ZCBTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcihTTUlMVGltZSBlbGFwc2VkLCBTTUlMVGlt
ZSBmaXJlVGltZSwgU01JTFRpbWUKICAgICAgICAgcmV0dXJuOwogCiAgICAgU01JTFRpbWUgZGVs
YXkgPSBzdGQ6Om1heChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmltdW1EZWxheSk7Ci0gICAgbV90
aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcyhkZWxheS52YWx1ZSgpKSk7CiB9CiAKIHZvaWQgU01JTFRpbWVDb250YWluZXI6
OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKaW5kZXggNjExYzkyYjhmYjM0NTFjZmM2Y2Y5NmM4ZWQzN2U3ODVhMzJkOTdmOC4uYWZhZjVl
ZGFhODZjMjM2OTVmZjJmMzM4Njc1MjMxMTlhYjZmMmYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIEludGVybmFsU2V0
dGluZ3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmdzJiBzZXR0aW5ncykKICNlbmRpZgogICAgICwg
bV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoc2V0dGluZ3MuZGVmYXVsdFZpZGVvUG9zdGVyVVJMKCkp
CiAgICAgLCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KHNldHRpbmdzLmlzRm9yY2VQZW5kaW5n
V2ViR0xQb2xpY3koKSkKLSAgICAsIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9scyhzZXR0aW5ncy50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scygpKQorICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyhzZXR0aW5ncy50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scygpKQogICAgICwgbV91c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFu
ZEJlaGF2aW9yKHNldHRpbmdzLnVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZp
b3IoKSkKICAgICAsIG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZChzZXR0aW5ncy5h
dXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKCkpCiAgICAgLCBtX3F1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50RW5hYmxlZChzZXR0aW5ncy5xdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVu
YWJsZWQoKSkKQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1
cDo6cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICNlbmRpZgogICAgIHNldHRpbmdzLnNl
dERlZmF1bHRWaWRlb1Bvc3RlclVSTChtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTCk7CiAgICAgc2V0
dGluZ3Muc2V0Rm9yY2VQZW5kaW5nV2ViR0xQb2xpY3kobV9mb3JjZVBlbmRpbmdXZWJHTFBvbGlj
eSk7Ci0gICAgc2V0dGluZ3Muc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHMobV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKTsKKyAgICBzZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scyhtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKTsKICAgICBzZXR0aW5ncy5zZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJl
aGF2aW9yKG1fdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcik7CiAgICAg
c2V0dGluZ3Muc2V0QXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZChtX2F1dG9zY3JvbGxG
b3JEcmFnQW5kRHJvcEVuYWJsZWQpOwogICAgIHNldHRpbmdzLnNldFNob3VsZENvbnZlcnRQb3Np
dGlvblN0eWxlT25Db3B5KG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkpOwpAQCAt
NTM2LDcgKzUzNiw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldE1p
bmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbEluU2VjCiB7CiAgICAgaWYgKCFtX3Bh
Z2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAg
ICBzZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWxJblNlY29u
ZHMgKiAxMDAwKSkpOworICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwo
U2Vjb25kcyhpbnRlcnZhbEluU2Vjb25kcykpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTU2
MCw3ICs1NjAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICghbV9wYWdl
KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAg
c2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyh0aW1lKTsKKyAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9y
ZUhpZGluZ0NvbnRyb2xzKFNlY29uZHModGltZSkpOwogICAgIHJldHVybiB7IH07CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNWE0ZjZlNGRhZDQ4
NWNiNWFmMzEyN2RlZjgwNzhkYzc3NjFjMTk0MC4uYmQ2M2ViYWI3NTI3MWU5Mzk2Yzk0MTBiYzk0
ZTA0NmQ5ZjYxODUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fbGFuZ0F0dHJp
YnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9pbWFnZXNFbmFi
bGVkOwogICAgICAgICBib29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7Ci0gICAgICAgIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKKyAgICAgICAg
U2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykK
ICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7CiAgICAgICAgIGJvb2wgbV9z
aG91bGREaXNwbGF5Q2FwdGlvbnM7CkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToKICNlbmRp
ZgogICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAgIGJvb2wg
bV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNlY29uZHMg
bV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKICAgICAgICAg
Ym9vbCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3I7CiAgICAgICAg
IGJvb2wgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkOwogICAgICAgICBib29sIG1f
cXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBlZDJmZWRhMmRkYzQzMDY0N2NiMjgzYTBk
OWZmMTk4NzVjNGFhMjNmLi5jNzE5NGVkZWFiM2E3ODdmY2VmNDY1MTZhN2FhY2I1MWIwNDhlMmVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAt
MTg3LDcgKzE4Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RUYXNrKFRhc2smJiB0
YXNrKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRy
PFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKIHsKLSAgICByZXR1cm4gRE9N
VGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0
aGlzLCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCks
IHRydWUpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhclRpbWVvdXQoaW50IHRp
bWVvdXRJZCkKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVh
clRpbWVvdXQoaW50IHRpbWVvdXRJZCkKIAogaW50IFdvcmtlckdsb2JhbFNjb3BlOjpzZXRJbnRl
cnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0
KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24p
LCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBmYWxzZSk7CisgICAgcmV0dXJu
IERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21N
aWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxTY29w
ZTo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKaW5kZXggNmI3ZGU4Y2NlZGIyMjQ4YjdjOTcyMDNjYmRlNDk4ZDUxMmFiMmJkZS4u
OGQwN2RiZTM3MmYwOWU0MzE4MTU2YzY3ZmQ0MjM0YTUxZGE2MWZhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0yNDUsOCArMjQ1LDggQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gWE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVvdXQodW5zaWduZWQgdGltZW91dCkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAogICAgIC8vIElmIHRpbWVvdXQgaXMgemVybywgd2Ugc2hvdWxkIHVzZSB0
aGUgZGVmYXVsdCBuZXR3b3JrIHRpbWVvdXQuIEJ1dCB3ZSBkaXNhYmxlZCBpdCBzbyBsZXQncyBt
aW1pYyBpdCB3aXRoIGEgNjAgc2Vjb25kcyB0aW1lb3V0IHZhbHVlLgotICAgIHN0ZDo6Y2hyb25v
OjpkdXJhdGlvbjxkb3VibGU+IGludGVydmFsID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7
IG1fdGltZW91dE1pbGxpc2Vjb25kcyA/IG1fdGltZW91dE1pbGxpc2Vjb25kcyA6IDYwMDAwIH0g
LSAoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKLSAg
ICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4wLCBpbnRlcnZhbC5jb3Vu
dCgpKSk7CisgICAgYXV0byBpbnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV90
aW1lb3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDApIC0gKE1v
bm90b25pY1RpbWU6Om5vdygpIC0gbV9zZW5kaW5nVGltZSk7CisgICAgbV90aW1lb3V0VGltZXIu
c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDBfcywgaW50ZXJ2YWwpKTsKICAgICByZXR1cm4geyB9Owog
fQogCkBAIC00OTYsNyArNDk2LDcgQEAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb25Pcjx2b2lkPj4g
WE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQoKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHsgRXhjZXB0aW9uIHsgTkVUV09SS19FUlIgfSB9OwogICAgICAgICBzZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAg
ICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0
d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybiBFeGNlcHRp
b25Pcjx2b2lkPiB7IH07CiAgICAgfQogCkBAIC02NzUsOCArNjc1LDggQEAgRXhjZXB0aW9uT3I8
dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoKQogICAgICAgICAgICAgcmVxdWVz
dC5zZXRUaW1lb3V0SW50ZXJ2YWwobV90aW1lb3V0TWlsbGlzZWNvbmRzIC8gMTAwMC4wKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpOwotICAgICAgICAgICAgbV9zZW5k
aW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwotICAgICAgICAgICAg
bV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyBt
X3RpbWVvdXRNaWxsaXNlY29uZHMgfSk7CisgICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gTW9u
b3RvbmljVGltZTo6bm93KCk7CisgICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxsaXNlY29uZHMpKTsKICAg
ICAgICAgfQogICAgIH0KIApAQCAtOTYwLDcgKzk2MCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6
OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgICAgIG1fc2VuZEZsYWcg
PSBmYWxzZTsKICAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwogICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXhjZXB0aW9uQ29kZSA9IE5FVFdPUktfRVJS
OwpAQCAtMTE4Myw3ICsxMTgzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVzdW1lKCkKICAg
ICAvLyBXZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgSlMgaW4gcmVzdW1l
KCkgc28gZGlzcGF0Y2gKICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgaW4gYSB0aW1lci4KICAgICBp
ZiAobV9kaXNwYXRjaEVycm9yT25SZXN1bWluZyAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1
bWVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVz
dW1lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDA0YWJj
MDlkZDdmNmJiOGI4YTk1YTUyNDEyN2MxNDY4Y2ZkYWMyNzEuLjJmODhmNTk3NDc2MDQ2NmRlNjBi
YTk2MjQwYTIyYzlkMGNhZjhjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBA
IC0yMzAsNyArMjMwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5ldHdvcmtFcnJvclRpbWVyRmly
ZWQoKTsKIAogICAgIHVuc2lnbmVkIG1fdGltZW91dE1pbGxpc2Vjb25kcyB7IDAgfTsKLSAgICBz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fc2VuZGluZ1RpbWU7CisgICAg
TW9ub3RvbmljVGltZSBtX3NlbmRpbmdUaW1lOwogICAgIFRpbWVyIG1fdGltZW91dFRpbWVyOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXggMzY2NjI2NTZiNTFiZjhjOWU5ZjIyNWJjYjA2
NzZlNjBmNDYzMDg3My4uZTRjOTk1NTEwNDA2MTMyNzNhZGZlMTc1ODNiOGEwN2YyZmQ3ZDIxNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxl
OjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgPSAuMDU7
IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgorY29uc3QgU2Vjb25kcyBYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0lu
dGVydmFsID0gNTBfbXM7IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTcz
LDEyICs3MywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpk
aXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZQogICAgICAgICBBU1NFUlQoIW1f
aGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVu
dCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVh
dGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOwor
ICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50
ZXJ2YWwpOwogICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2
ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMg
dGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgorICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFj
dGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxl
YXN0IGZyZXF1ZW50IGV2ZW50LgogICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRy
dWU7CiB9CiAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpyZXN1bWUoKQogICAgIC8vIHRoZSBsaXN0IG9mIGFjdGl2ZSBET00gb2Jq
ZWN0cyB0byByZXN1bWUgdGhlbSwgYW5kIGFueSBhY3RpdmF0ZWQgSlMgZXZlbnQtaGFuZGxlcgog
ICAgIC8vIGNvdWxkIGluc2VydCBuZXcgYWN0aXZlIERPTSBvYmplY3RzIHRvIHRoZSBsaXN0Lgog
ICAgIC8vIG1fZGVmZXJFdmVudHMgaXMga2VwdCB0cnVlIHVudGlsIGFsbCBkZWZlcnJlZCBldmVu
dHMgaGF2ZSBiZWVuIGRpc3BhdGNoZWQuCi0gICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZS5oCmluZGV4IDk3MWJkMjM0MmMwNTZiMTE1OGI0MDE5ZmIyYjNhYTI1MDM0ODRhOGQuLjM0MGZi
NWMwMGQxNzNmYjYxNjFhNzRlNDE1YTAxMmJhZWZiNGY3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCkBA
IC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgot
ICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0lu
dGVydmFsSW5TZWNvbmRzOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1Qcm9ncmVz
c0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbDsKIAogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpOwog
ICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
U3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCBhYzBkY2MxMjU2OTRkYWQ0YzRiOTIyODdhMDMxZWZh
MDkzNTRlYTE5Li5mYWY0NGJhZjQ2MmY0OWQ3NzhhYjExN2Q0YmFlMDQ2ZDFmNDJjNzJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcApAQCAtNDEsNyArNDEsNyBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gSWYgdGhlIFN0b3JhZ2VBcmVhIHVuZGVyZ29lcyBy
YXBpZCBjaGFuZ2VzLCBkb24ndCBzeW5jIGVhY2ggY2hhbmdlIHRvIGRpc2suCiAvLyBJbnN0ZWFk
LCBxdWV1ZSB1cCBhIGJhdGNoIG9mIGl0ZW1zIHRvIHN5bmMgYW5kIGFjdHVhbGx5IGRvIHRoZSBz
eW5jIGF0IHRoZSBmb2xsb3dpbmcgaW50ZXJ2YWwuCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0b3Jh
Z2VTeW5jSW50ZXJ2YWwgPSAxLjA7CitzdGF0aWMgY29uc3QgYXV0byBzdG9yYWdlU3luY0ludGVy
dmFsID0gMV9zOwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93IG1hbnkgaXRlbXMgd2UnbGwgc2No
ZWR1bGUgdG8gc3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFrZXMgaXQKIC8vIG11Y2ggaGFyZGVy
IHRvIHN0YXJ2ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2UgYW5kIHRoZSBPUydzIElPIHN1YnN5
c3RlbSBpbiBnZW5lcmFsLgpAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5j
OjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZh
bHVlCiAKICAgICBtX2NoYW5nZWRJdGVtcy5zZXQoa2V5LCB2YWx1ZSk7CiAgICAgaWYgKCFtX3N5
bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChT
dG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0
b3JhZ2VTeW5jSW50ZXJ2YWwpOwogCiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5j
ZWQgYnkgdGhlIGNhbGwgdG8gZW5hYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAg
IC8vIHN5bmNUaW1lckZpcmVkIGZ1bmN0aW9uLgpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgU3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKCkKICAgICBtX2NoYW5nZWRJdGVtcy5jbGVhcigp
OwogICAgIG1faXRlbXNDbGVhcmVkID0gdHJ1ZTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0
aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50
ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2Fs
bCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVy
RmlyZWQgZnVuY3Rpb24uCkBAIC0xNTIsNyArMTUyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6
OnNjaGVkdWxlQ2xvc2VEYXRhYmFzZSgpCiAgICAgbV9zeW5jQ2xvc2VEYXRhYmFzZSA9IHRydWU7
CiAgICAgCiAgICAgaWYgKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3lu
Y1RpbWVyLnN0YXJ0T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5j
VGltZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAKICAgICAg
ICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0byBlbmFibGVTdWRk
ZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmlyZWQgZnVuY3Rpb24u
CkBAIC0xNzIsNyArMTcyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVk
KCkKICAgICAgICAgLy8gcHJldmlvdXMgb25lLiBCdXQsIGlmIHdlJ3JlIHNodXR0aW5nIGRvd24s
IHNjaGVkdWxlIGl0IGFueXdheS4KICAgICAgICAgaWYgKG1fc3luY0luUHJvZ3Jlc3MgJiYgIW1f
ZmluYWxTeW5jU2NoZWR1bGVkKSB7CiAgICAgICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpOwotICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VT
eW5jSW50ZXJ2YWwpOworICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3Jh
Z2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTIx
OSw3ICsyMTksNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAg
IGlmIChwYXJ0aWFsU3luYykgewogICAgICAgICAvLyBJZiB3ZSBkaWRuJ3QgZmluaXNoIHN5bmNp
bmcsIHRoZW4gd2UgbmVlZCB0byBmaW5pc2ggdGhlIGpvYiBsYXRlci4KICAgICAgICAgQVNTRVJU
KCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVT
aG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNo
b3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVGhlIGZv
bGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbHMgdG8gZGlzYWJsZVN1ZGRlblRlcm1pbmF0
aW9uIGluIHRoZQogICAgICAgICAvLyBzY2hlZHVsZUl0ZW1Gb3JTeW5jLCBzY2hlZHVsZUNsZWFy
LCBhbmQgc2NoZWR1bGVGaW5hbFN5bmMgZnVuY3Rpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9T
dG9yYWdlVHJhY2tlci5jcHAKaW5kZXggNTlhMDBmZTMwYTk2M2Y1ODEzZDhiMGRkYTA0ZGI2MDgx
YTY2MjNiZC4uYWQ3NTdkODhkZDE2NmU3NjE5NWE1MDM1YWQ1M2YwMDk1MDk5Zjc1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBAIC01MSw4ICs1MSw4IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogc3RhdGljIFN0b3JhZ2VUcmFja2VyKiBzdG9yYWdlVHJhY2tlciA9
IG51bGxwdHI7CiAKIC8vIElmIHRoZXJlIGlzIG5vIGRvY3VtZW50IHJlZmVyZW5jaW5nIGEgc3Rv
cmFnZSBkYXRhYmFzZSwgY2xvc2UgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UKLS8vIGFmdGVyIGl0
IGhhcyBiZWVuIGlkbGUgZm9yIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHNlY29uZHMu
Ci1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwg
PSAzMDA7CisvLyBhZnRlciBpdCBoYXMgYmVlbiBpZGxlIGZvciBtX3N0b3JhZ2VEYXRhYmFzZUlk
bGVJbnRlcnZhbCBzZWNvbmRzLgorc3RhdGljIGNvbnN0IGF1dG8gZGVmYXVsdFN0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbCA9IDMwMF9zOwogICAgIAogdm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5p
dGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJD
bGllbnQqIGNsaWVudCkKIHsKQEAgLTk3LDcgKzk3LDcgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3Jh
Z2VUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgpCiAgICAgLCBtX3RocmVhZChzdGQ6
Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+KCkpCiAgICAgLCBtX2lzQWN0aXZlKGZhbHNlKQog
ICAgICwgbV9uZWVkc0luaXRpYWxpemF0aW9uKGZhbHNlKQotICAgICwgbV9TdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKKyAgICAs
IG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9y
YWdlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5k
ZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3ZjU5NGU4ZmEzYmRhY2E4OC4uNzI2ZjMyNTFiMWQx
ZWVmNmMxYWFmMTEyNjFjMGQyOTk3YjU5MTRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
dG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmgKQEAgLTU5LDggKzU5LDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaXNB
Y3RpdmUoKTsKIAotICAgIGRvdWJsZSBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJl
dHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQotICAgIHZvaWQgc2V0U3RvcmFn
ZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQor
ICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQogCiAgICAgdm9p
ZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJEYXRhYmFzZSgpOwogCkBAIC0xMTAsNyArMTEwLDcg
QEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX25lZWRz
SW5pdGlhbGl6YXRpb247Ci0gICAgZG91YmxlIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
OworICAgIFNlY29uZHMgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CiB9OwogICAgIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJDb3Jl
U3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJD
b3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCmluZGV4IDExYmNlM2JlZTBl
MGJhMWQ3MDJmNzJjNjY0NTNjYzJhMmJkZWI3ZjYuLmE2Y2Y4NGZjMTk1MjU5NjNkNDZkMmJhYzk1
N2FmYTJiM2ZhOGExYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQv
V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVT
dXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAgLTI4Niw3ICsyODYsNyBAQCB2
b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCkKIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3Rz
KCkKIHsKICAgICBpZiAoIW1fcmVxdWVzdFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVx
dWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KaW5kZXggYjlhYjhhMGRk
ZGNjNzY0N2RhNzg2MzM5ODQyMzI3Y2E1YzdhOTdhOS4uMDZlOWVkNmM1N2RiNTQ3MjI3YWY0MmM1
YTJmMDVhZmRhY2RlZWUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtNzQ0
LDcgKzc0NCw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZXF1ZXN0VGlt
ZXJGaXJlZCgpCiAgICAgbV9wbHVnaW5SZXF1ZXN0cy5yZW1vdmVGaXJzdCgpOwogICAgIAogICAg
IGlmICghbV9wbHVnaW5SZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgCiAgICAgcGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC04MDAs
NyArODAwLDcgQEAgTlBFcnJvciBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmxvYWRSZXF1
ZXN0KE5TVVJMUmVxdWVzdCAqcmVxdWVzdCwgY29uc3QgY2gKIAogICAgICAgICBhdXRvIHBsdWdp
blJlcXVlc3QgPSBQbHVnaW5SZXF1ZXN0OjpjcmVhdGUocmVxdWVzdElELCByZXF1ZXN0LCB0YXJn
ZXQsIGFsbG93UG9wdXBzKTsKICAgICAgICAgbV9wbHVnaW5SZXF1ZXN0cy5hcHBlbmQoV1RGTW92
ZShwbHVnaW5SZXF1ZXN0KSk7Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgUmVmUHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtPiBzdHJlYW0gPSBI
b3N0ZWROZXRzY2FwZVBsdWdpblN0cmVhbTo6Y3JlYXRlKHRoaXMsIHJlcXVlc3RJRCwgcmVxdWVz
dCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQ
bHVnaW5TdHJlYW0ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luU3RyZWFtLm1tCmluZGV4IDA1Y2M0ZDQ3MmRhODYxMGEzNGJhNWJkYmVjOGExNjNlNGFkMzhi
OTQuLmRiMGMwMGZlN2FjNWRjN2RmNzBlOTkwYmY2MDFjZTE5ZmVmZjVmMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQpA
QCAtNTI5LDcgKzUyOSw3IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJE
YXRhKCkKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewogICAgICAgICAgICAgLy8g
UGx1Zy1pbiBjYW4ndCByZWNlaXZlIGFueW1vcmUgZGF0YSByaWdodCBub3cuIFNlbmQgaXQgbGF0
ZXIuCiAgICAgICAgICAgICBpZiAoIW1fZGVsaXZlckRhdGFUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICAgICAgICAgIG1fZGVsaXZlckRhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWxpdmVyeUJ5dGVzID0g
c3RkOjptaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQppbmRleCBkOWU1OGUzMzY5NGQ1MGNjMWY2NzZiMDRmYzFmOThlM2VmYTRiZDNlLi5jMmM2
NGUyYTNhMDUxZjk4NWJlOWE0YzA1N2JiZDRmYzczZGM0ZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtMTExLDcgKzEx
MSw3IEBAIHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdpblZpZXcgKmN1cnJlbnRQbHVnaW5WaWV3ID0g
bmlsOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQb3J0U3RhdGUqIFBvcnRTdGF0ZTsKIAotc3Rh
dGljIGNvbnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1lckludGVydmFsID0gMC4yNTsKK3N0YXRpYyBj
b25zdCBhdXRvIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1X3M7CiAKIGNsYXNzIFBsdWdp
blRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CiBwdWJsaWM6CkBAIC0xMzAsNyArMTMwLDcgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0FjdGl2ZSgpKTsKIAotICAgICAgICBk
b3VibGUgdGltZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICAgICAgYXV0byB0
aW1lSW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1faW50ZXJ2YWwpOwogICAg
ICAgICAKICAgICAgICAgaWYgKHRocm90dGxlKQogICAgICAgICAgICAgdGltZUludGVydmFsID0g
c3RkOjptYXgodGltZUludGVydmFsLCBUaHJvdHRsZWRUaW1lckludGVydmFsKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCmluZGV4IDFmOWVhZTU1
ZWZkY2E1ZTZmYWQ1ZDYwZTRiZTBmMWI5ODc0MzY4NGQuLjExOGExMTM0NTZhZGM1ZWI1YWNlOTRh
OTk1MGIzYTdiMDVhMjczOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2Uv
V2ViU3RvcmFnZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJT
dG9yYWdlTWFuYWdlci5tbQpAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBwdGhyZWFkX29uY2Vf
dCByZWdpc3RlckxvY2FsU3RvcmFnZVBhdGggPSBQVEhSRUFEX09OQ0VfSU5JVDsKIAogKyAodm9p
ZClzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbAogewotICAg
IFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIo
KS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQog
CiArICh2b2lkKWNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdGFiYXNlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCmluZGV4IDE1MjI4OTM2ODg2YjVkYzA3OTQ2MGY2MDkyYTA0MzQ2NDUy
OGFhMzEuLjliMDFiYTQxNDdhMTg4ODdmNjY1ZGNmNTkxYWQzMmZiMzE4NjczYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTgzMzQsNyArODMzNCw3IEBAIHN0YXRpYyBX
ZWJGcmFtZVZpZXcgKmNvbnRhaW5pbmdGcmFtZVZpZXcoTlNWaWV3ICp2aWV3KQogICAgIHVuc2ln
bmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2Fw
YWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBh
dXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25k
cyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAK
ICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0gMDsKIApAQCAtODQ2MSw3ICs4NDYxLDcgQEAg
c3RhdGljIFdlYkZyYW1lVmlldyAqY29udGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAg
ICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1
c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gc3Rk
OjptYXg8dW5zaWduZWQ+KDI0LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAgICAgICAgZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAg
fTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDFfbWluOwogCiAj
aWYgUExBVEZPUk0oSU9TKQogICAgICAgICBpZiAobWVtU2l6ZSA+PSAxMDI0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAppbmRleCBiYzE4ZGVi
NzVjY2Q3MDgyN2FmZmFlOWUwNzYyMWYyMzUwMWY1NGVhLi43ZGIyNzZlMDc4NGZhZTBjMjcxODYw
M2I4ZjA0MmM2ODE4Y2Q1NWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyLmNwcApAQCAtNTIsNyArNTIsNyBAQAogdXNpbmcgbmFtZXNwYWNlIHN0
ZDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3QgZmxvYXQgdGltZXJJ
bnRlcnZhbCA9IDAuMDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCA9IDAu
MDMzX3M7CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50IHdpbmRvd0hlaWdodCA9IDU5
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhy
b3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRo
cm90dGxlcldpbi5jcHAKaW5kZXggYTUzYzMxNWMyMDE4NDM5NGYzYjQwNjRhM2Y1NDQ3NTczZWQy
Y2YwOS4uMTcyOWZmZjYzYzBmZmE0Njc1ZDM3ODEzYWM2YWM3MGQ3NjQ5ZDk5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJX
aW4uY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRoaXMgdmFs
dWUgYWxsb3dzIEZsYXNoIDYwIG1lc3NhZ2VzL3NlY29uZCwgd2hpY2ggc2hvdWxkIGJlIGVub3Vn
aCBmb3IgdmlkZW8KIC8vIHBsYXliYWNrLCBhbmQgYWxzbyBnZXRzIHVzIG92ZXIgdGhlIGxpbWl0
IGZvciBraWNraW5nIGludG8gaGlnaC1yZXNvbHV0aW9uCiAvLyB0aW1lciBtb2RlIChzZWUgU2hh
cmVkVGltZXJXaW4uY3BwKS4KLXN0YXRpYyBjb25zdCBkb3VibGUgTWVzc2FnZVRocm90dGxlVGlt
ZUludGVydmFsID0gMC4wMTY7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBNZXNzYWdlVGhyb3R0bGVU
aW1lSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDE2KTsKIAogLy8gRHVyaW5nIGEgY29udGludW91cyBz
dHJlYW0gb2YgbWVzc2FnZXMsIHByb2Nlc3Mgb25lIGV2ZXJ5IDVtcy4KIHN0YXRpYyBjb25zdCBk
b3VibGUgTWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZhbCA9IDAuMDA1OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5kZXggYjY3ZmE1M2ZlODBiMWVm
OGMwMWFmZmM4NmRhNWQ3MTYzMTU1ZGQyNC4uMTc1NGJkZDU0ZjA3MzllMmRmNmNhY2I3OWUxNTE1
YTQ5MjE3Y2YxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5Q
YWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2Uu
Y3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29u
KCkKICAgICBBU1NFUlQobV9tb2R1bGUpOwogICAgIEFTU0VSVCghbV9sb2FkQ291bnQpOwogCi0g
ICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZyZWVMaWJyYXJ5
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxp
YnJhcnlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMv
UGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFt
LmNwcAppbmRleCAyZWYzOTU1YmU2MWE4ZDA1NDI0YWQxMzk5NjJkZDBkN2ZhNmFlNDQ0Li5kYTgz
M2FhZjRmOGJhZTQ0YjQ4MDRiMzUyMWZjZDE3N2I4Y2FkZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93
aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBQbHVn
aW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAgaW50MzJfdCBkZWxpdmVyeUJ5dGVzID0g
bV9wbHVnaW5GdW5jcy0+d3JpdGVyZWFkeShtX2luc3RhbmNlLCAmbV9zdHJlYW0pOwogCiAgICAg
ICAgIGlmIChkZWxpdmVyeUJ5dGVzIDw9IDApIHsKLSAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVy
eVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBkZWxpdmVyeUJ5dGVzID0gbWluKGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0
ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwCmluZGV4IDIwN2E5NjEzY2NhOGQ5YzEwMzdjZmI0ZDFiMWU0MmE2ODUxOTU2OTYu
LjRlZDZkNWIwYjU1OTQ1ZjE3MDAzZWNjMjRmMzk2ZmE4NjQ0OTYwMGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtNDczLDcgKzQ3Myw3IEBAIHZvaWQgUGx1
Z2luVmlldzo6cmVxdWVzdFRpbWVyRmlyZWQoKQogICAgIC8vIFNjaGVkdWxlIGEgbmV3IHJlcXVl
c3QgYmVmb3JlIGNhbGxpbmcgcGVyZm9ybVJlcXVlc3Qgc2luY2UgdGhlIGNhbGwgdG8KICAgICAv
LyBwZXJmb3JtUmVxdWVzdCBjYW4gY2F1c2UgdGhlIHBsdWdpbiB2aWV3IHRvIGJlIGRlbGV0ZWQu
CiAgICAgaWYgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIAogICAgIHBlcmZvcm1SZXF1ZXN0KHJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtNDgzLDcgKzQ4
Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2NoZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQ
bHVnaW5SZXF1ZXN0PiByZXF1ZXN0KQogICAgIG1fcmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVx
dWVzdCkpOwogCiAgICAgaWYgKCFtX2lzSmF2YVNjcmlwdFBhdXNlZCkKLSAgICAgICAgbV9yZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogTlBFcnJvciBQbHVnaW5WaWV3Ojpsb2FkKGNvbnN0IEZyYW1lTG9h
ZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCog
bm90aWZ5RGF0YSkKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQoYm9vbCBwYXVzZWQpCiAgICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQog
ICAgICAgICBtX3JlcXVlc3RUaW1lci5zdG9wKCk7CiAgICAgZWxzZSBpZiAoIW1fcmVxdWVzdHMu
aXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpCkBAIC0xMTczLDcgKzExNzMsNyBAQCB2b2lkIFBsdWdpblZpZXc6
OmtlZXBBbGl2ZSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlZigpOwotICAgIG1fbGlmZVN1
cHBvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIvU291
cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAppbmRleCAyZmNhOWYzYzk1
ZDczZGJhM2FjMzI2MjU5ZWE4NmRkY2RkYTIwNzBmLi5lNWMzYzU0YWY5NzFjNmVkOTM4MTIyNmM2
YmY0ZDA2Njg5YjJmZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1Bs
dWdpblZpZXdXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmll
d1dpbi5jcHAKQEAgLTMzNCw3ICszMzQsNyBAQCBQbHVnaW5WaWV3Ojp3bmRQcm9jKEhXTkQgaFdu
ZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogCiAgICAgICAg
IHB1c2hQb3B1cHNFbmFibGVkU3RhdGUodHJ1ZSk7CiAKLSAgICAgICAgbV9wb3BQb3B1cHNTdGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmIChtZXNzYWdlID09IFdNX1BSSU5UQ0xJ
RU5UKSB7CkBAIC04MzgsNyArODM4LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVj
dChOUFJlY3QqIHJlY3QpCiAgICAgICAgIGlmIChtX3BsdWdpbi0+cXVpcmtzKCkuY29udGFpbnMo
UGx1Z2luUXVpcmtUaHJvdHRsZUludmFsaWRhdGUpKSB7CiAgICAgICAgICAgICBtX2ludmFsaWRS
ZWN0cy5hcHBlbmQocik7CiAgICAgICAgICAgICBpZiAoIW1faW52YWxpZGF0ZVRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAu
MDAxKTsKKyAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMV9t
cyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgaW52YWxpZGF0ZVJlY3Qocik7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCmluZGV4IGZjMGQxNTU3MGZlYWVj
OWRiMzg2OTcwOGI1YWI3YzdhNGFkMjIyODIuLmExMGEwMjA2NGJlOTMwMWUwODQ0YjVlMGI0YzAw
OThlNjAwZjRlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKQEAgLTM0
OSw3ICszNDksNyBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzY2hlZHVs
ZUxheWVyRmx1c2goKQogICAgIGlmIChtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNSk7
CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDAuMDVfcyk7CiB9CiAKIGJvb2wg
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGQ1NzAwNDhkYTdhMjY0MDZiY2FkMDZjMjVkZTg2OGZl
NWFjYjJiMDMuLjRiNGZjZDE5MWE5MDczY2FlOTA5MDc3NjBiZWYwNGE1OTllYWIwNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwCkBAIC01MjUsNyArNTI1LDcgQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNo
ZU1vZGVsKFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFs
Q2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAg
ICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAg
U2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQg
cGFnZUNhY2hlU2l6ZSA9IDA7CiAKQEAgLTYzNyw3ICs2MzcsNyBAQCB2b2lkIFdlYlZpZXc6OnNl
dENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgICAgICAvLyBjYW4gcHJv
dmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNz
aW9uLgogICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IG1heCgyNHUsIGNhY2hlTWF4RGVh
ZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0g
c3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsID0gNjBfczsKIAogICAgICAgICAvLyBNZW1vcnkgY2FjaGUgY2FwYWNpdHkg
KGluIGJ5dGVzKQogICAgICAgICAvLyAoVGhlc2UgdmFsdWVzIGFyZSBzbWFsbCBiZWNhdXNlIFdl
YkNvcmUgZG9lcyBtb3N0IGNhY2hpbmcgaXRzZWxmLikKQEAgLTE1MTYsNyArMTUxNiw3IEBAIHZv
aWQgV2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKCkKICAgICBtX2Nsb3NlV2luZG93VGltZXIgPSBX
aW5kb3dDbG9zZVRpbWVyOjpjcmVhdGUodGhpcyk7CiAgICAgaWYgKCFtX2Nsb3NlV2luZG93VGlt
ZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAg
QWRkUmVmKCk7CiB9CkBAIC03NDYxLDggKzc0NjEsNyBAQCBIUkVTVUxUIFdlYlZpZXc6OnNldE1p
bmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkKICAgICBpZiAoIW1fcGFnZSkKICAg
ICAgICAgcmV0dXJuIEVfRkFJTDsKIAotICAgIGF1dG8gaW50ZXJ2YWxNUyA9IHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWwg
KiAxMDAwKSk7Ci0gICAgcGFnZSgpLT5zZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVy
dmFsKGludGVydmFsTVMpOworICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGlt
ZXJJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCmlu
ZGV4IDliZmE0ZWM2NGM4NDcwYzdkYmViY2U0ZmZlM2JmYzA0Yzg1NjNiOTAuLjk0ZTE0N2Y1Mjhh
NTgzZmQwZGVjYTcxMTUzMDM2MTkzMmUxMjY0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lk
IE5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVGYWlsdXJlKEZhaWx1cmVUeXBlIHR5cGUpCiB7CiAg
ICAgQVNTRVJUKHR5cGUgIT0gTm9GYWlsdXJlKTsKICAgICBtX3NjaGVkdWxlZEZhaWx1cmVUeXBl
ID0gdHlwZTsKLSAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mYWls
dXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrOjpk
aWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNv
bXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKaW5kZXggNTE3Zjg0NWFhYmU1MjNmMmVmYTk2
MTg0ZWVmNzI1M2FlMmNhNGQ5Zi4uMGYzMDAyZGFlMjVmYWE3YWU5ZWIyNzliNzQzOTI5NDRiZDAy
MTc0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNw
cApAQCAtNTAsNyArNTAsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICNpZiBVU0UoTkVU
V09SS19TRVNTSU9OKQogCiBzdHJ1Y3QgTmV0d29ya0xvYWQ6OlRocm90dGxlIHsKLSAgICBUaHJv
dHRsZShOZXR3b3JrTG9hZCYgbG9hZCwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSwg
UmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYg
aGFuZGxlcikKKyAgICBUaHJvdHRsZShOZXR3b3JrTG9hZCYgbG9hZCwgU2Vjb25kcyBkZWxheSwg
UmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYg
aGFuZGxlcikKICAgICAgICAgOiB0aW1lcihsb2FkLCAmTmV0d29ya0xvYWQ6OnRocm90dGxlRGVs
YXlDb21wbGV0ZWQpCiAgICAgICAgICwgcmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZSkpCiAgICAg
ICAgICwgcmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGhhbmRsZXIpKQpAQCAtMzEy
LDcgKzMxMiw3IEBAIHZvaWQgTmV0d29ya0xvYWQ6OmRpZFJlY2VpdmVSZXNwb25zZU5ldHdvcmtT
ZXNzaW9uKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwKICAgICB9CiAKICAgICBhdXRvIGRl
bGF5ID0gTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLmxvYWRUaHJvdHRsZUxhdGVuY3koKTsK
LSAgICBpZiAoZGVsYXkgPiAwbXMpIHsKKyAgICBpZiAoZGVsYXkgPiAwX3MpIHsKICAgICAgICAg
bV90aHJvdHRsZSA9IHN0ZDo6bWFrZV91bmlxdWU8VGhyb3R0bGU+KCp0aGlzLCBkZWxheSwgV1RG
TW92ZShyZXNwb25zZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCmluZGV4IGM5NmQwODI5ZTE1YjZkODhiYWUxNWNmMGMxMmNjNGNkMjM4ZjExM2IuLjhj
NWI3YTQ4ODVmYzQ0OWVlYWRlMDc0NGNkOWZjNjAyNWFjZTYxYTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMTE1LDcgKzExNSw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgZ3JhbnRTYW5kYm94RXh0ZW5zaW9uc1RvRGF0YWJhc2VQcm9j
ZXNzRm9yQmxvYnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVuYW1lcywgRnVuY3Rpb248dm9p
ZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBtX2xvYWRUaHJvdHRsZUxh
dGVuY3k7IH0KKyAgICBTZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVy
biBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KIAogcHJpdmF0ZToKICAgICBOZXR3b3JrUHJvY2Vz
cygpOwpAQCAtMjA3LDcgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3N1cHByZXNzTWVt
b3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIG1fZGlza0NhY2hlSXNEaXNh
YmxlZEZvclRlc3Rpbmc7CiAgICAgYm9vbCBtX2NhbkhhbmRsZUhUVFBTU2VydmVyVHJ1c3RFdmFs
dWF0aW9uOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9sb2FkVGhyb3R0bGVMYXRl
bmN5OworICAgIFNlY29uZHMgbV9sb2FkVGhyb3R0bGVMYXRlbmN5OwogCiAgICAgdHlwZWRlZiBI
YXNoTWFwPGNvbnN0IGNoYXIqLCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1Byb2Nlc3NTdXBwbGVt
ZW50PiwgUHRySGFzaDxjb25zdCBjaGFyKj4+IE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcDsK
ICAgICBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXAgbV9zdXBwbGVtZW50czsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGY0NTY5Yzk0NjlhNTc3MmU2MGIxYzliZmY1NjA4
NWQzYWNiNDNjM2QuLjcwOTUxNTMwZTMyOWZhMWM1ZjNmZjhlNjcyYjkzNDMwOGM1OGY4YWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1
ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVkZSAiU2Fu
ZGJveEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC03Myw3ICs3
NCw3IEBAIHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9v
bCBzaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9v
bCBzaG91bGRVc2VUZXN0aW5nTmV0d29ya1Nlc3Npb247CiAgICAgYm9vbCB1cmxQYXJzZXJFbmFi
bGVkIHsgZmFsc2UgfTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxvYWRUaHJvdHRs
ZUxhdGVuY3kgeyAwbXMgfTsKKyAgICBTZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAg
ICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29sczsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKaW5kZXggNDI1NWFkZTQxMTUwZGE5NjlmMjExMTc1
MTJkN2RmNmY3ZjdjOWM0YS4uNWIyOWUwZWJkNDNhMzhiZTUyYWU2NmRjNTIxMDMyZWMyMDY3MGFk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoK
ICAgICBSZXNvdXJjZUxvYWRJZGVudGlmaWVyIGlkZW50aWZpZXIgeyAwIH07CiAgICAgVmVjdG9y
PFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5kYm94RXh0ZW5zaW9uczsg
Ly8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAgIFJlZlB0cjxTYW5k
Ym94RXh0ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8vIENyZWF0ZWQgYXV0b21h
dGljYWxseSBmb3IgdGhlIHNlbmRlci4KLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1h
eGltdW1CdWZmZXJpbmdUaW1lIHsgMG1zIH07CisgICAgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5n
VGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggOTAx
MDU5OTY4YTM5MTMwMWRhMmFjOTIzNzRiN2Y5MjQ1ZDY5NGRkNi4uMmM3YWUzYWE3NmI3Mjk3NTY0
ODAzMDM1NmJkOWYwNzQyMGVjMmY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yMDksNyArMjA5LDcg
QEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogCiAgICAgY29uc3VtZVNhbmRib3hFeHRlbnNpb25zKCk7
CiAKLSAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVycy5tYXhpbXVtQnVmZmVy
aW5nVGltZSA+IDBtcykKKyAgICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVycy5t
YXhpbXVtQnVmZmVyaW5nVGltZSA+IDBfcykKICAgICAgICAgbV9idWZmZXJlZERhdGEgPSBTaGFy
ZWRCdWZmZXI6OmNyZWF0ZSgpOwogCiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaAppbmRleCAzMDBjMzA4MTI0ZjM0Y2E2N2E5
ZGE1YmI3NDA1NGU2MDJlYzI5ZDEyLi5iMTQ4YTVlZGNlOWJiOTk1ZjdlNTk2OGMxNjU5MmYyNzk4
NDg0MjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9h
ZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKQEAgLTQ2
LDcgKzQ2LDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVz
cG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8g
U2V0IGEgdmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCi0gICAgICAgIG1fdGlt
ZW91dFRpbWVyLnN0YXJ0T25lU2hvdCg2MDAwMCk7CisgICAgICAgIG1fdGltZW91dFRpbWVyLnN0
YXJ0T25lU2hvdCgxMDAwX21pbik7CiAgICAgfQogICAgIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggY2NhOTg1ZmNkYWYw
MWQ1YjY4YTRiM2YxNTdhYzZmMmFkOWNmYWRjMy4uMTI1ZDdlODVmZTMwY2I1NGFkMDM2Yzk4ODEx
NzgxYmU0NWFiODFlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlci5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3QgYXV0byBwcmVsb2FkZWRF
bnRyeUxpZmV0aW1lID0gMTBzOworc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVkRW50cnlMaWZl
dGltZSA9IDEwX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBzdGF0aWMgSGFzaENvdW50ZWRTZXQ8
U3RyaW5nPiYgYWxsU3BlY3VsYXRpdmVMb2FkaW5nRGlhZ25vc3RpY01lc3NhZ2VzKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0
YXRpc3RpY3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RhdGlzdGljcy5jcHAKaW5kZXggMTBhNTIwM2VmZDgxODBlMGFjYTM0YmU1NGRmNTI1
ODJmNTljOTVmNy4uODIxMmM3NjM3YzMxMmRmZmY3NzFjYjdiYTA5MTliZTkxOWI1OGU0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
U3RhdGlzdGljcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAogc3RhdGljIGNvbnN0IGNoYXIqIFN0
YXRpc3RpY3NEYXRhYmFzZU5hbWUgPSAiV2ViS2l0Q2FjaGVTdGF0aXN0aWNzLmRiIjsKLXN0YXRp
YyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0g
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygxMDAwMCk7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBt
aW5pbnVtV3JpdGVJbnRlcnZhbCA9IDEwX3M7CiAKIHN0YXRpYyBib29sIGV4ZWN1dGVTUUxDb21t
YW5kKFdlYkNvcmU6OlNRTGl0ZURhdGFiYXNlJiBkYXRhYmFzZSwgY29uc3QgU3RyaW5nJiBzcWwp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCmluZGV4IDQ1MzA4M2E0YTQ5YjA3ZjdkYTAyMzA4OWM5
N2E4NTQxODE3YjdkZDYuLjA3M2FkNmQyZGM5ZDE5YjZmOGNlZTQ3YTU5MzA1NzRjYjFmOGI4MzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCkBAIC01NjUsNyArNTY1LDcgQEAgdm9pZCBTdG9yYWdl
OjpkaXNwYXRjaFJlYWRPcGVyYXRpb24oc3RkOjp1bmlxdWVfcHRyPFJlYWRPcGVyYXRpb24+IHJl
YWRPcGVyYXRpb24KICAgICBtX2FjdGl2ZVJlYWRPcGVyYXRpb25zLmFkZChXVEZNb3ZlKHJlYWRP
cGVyYXRpb25QdHIpKTsKIAogICAgIC8vIEkvTyBwcmVzc3VyZSBtYXkgbWFrZSBkaXNrIG9wZXJh
dGlvbnMgc2xvdy4gSWYgdGhleSBzdGFydCB0YWtpbmcgdmVyeSBsb25nIHRpbWUgd2UgcmF0aGVy
IGdvIHRvIG5ldHdvcmsuCi0gICAgY29uc3QgYXV0byByZWFkVGltZW91dCA9IDE1MDBtczsKKyAg
ICBjb25zdCBTZWNvbmRzIHJlYWRUaW1lb3V0ID0gMS41X3M7CiAgICAgbV9yZWFkT3BlcmF0aW9u
VGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChyZWFkVGltZW91dCk7CiAKICAgICBib29sIHNob3Vs
ZEdldEJvZHlCbG9iID0gbWF5Q29udGFpbkJsb2IocmVhZE9wZXJhdGlvbi5rZXkpOwpAQCAtNzg3
LDcgKzc4Nyw3IEBAIHZvaWQgU3RvcmFnZTo6c3RvcmUoY29uc3QgUmVjb3JkJiByZWNvcmQsIE1h
cHBlZEJvZHlIYW5kbGVyJiYgbWFwcGVkQm9keUhhbmRsZXIpCiAKICAgICAvLyBEZWxheSB0aGUg
c3RhcnQgb2Ygd3JpdGVzIGEgYml0IHRvIGF2b2lkIGFmZmVjdGluZyBlYXJseSBwYWdlIGxvYWQu
CiAgICAgLy8gQ29tcGxldGluZyB3cml0ZXMgd2lsbCBkaXNwYXRjaCBtb3JlIHdyaXRlcyB3aXRo
b3V0IGRlbGF5LgotICAgIHN0YXRpYyBjb25zdCBhdXRvIGluaXRpYWxXcml0ZURlbGF5ID0gMXM7
CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgaW5pdGlhbFdyaXRlRGVsYXkgPSAxX3M7CiAgICAg
bV93cml0ZU9wZXJhdGlvbkRpc3BhdGNoVGltZXIuc3RhcnRPbmVTaG90KGluaXRpYWxXcml0ZURl
bGF5KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA0Y2VmYThlYjM1N2FlNDRiZDI1
YTU3NDZiNDVmZjlhMDhiNGUyMGRmLi4xOGYwY2NkOGY3MTQxMjNjOThhOTUxNTQ5MmQ3NTg2MzZl
NmVjNDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMzMzLDcgKzMzMyw3IEBAIHZvaWQg
TmV0d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNlbCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29h
OjpyZXN1bWUoKQogewogICAgIGlmIChtX3NjaGVkdWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVy
ZSkKLSAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBbbV90YXNrIHJlc3VtZV07CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4
IDlhYzc2YzZkMzk0N2RlMjY4NzFlYjY4OTIwNjViZGE2Yjc3OGNmZTEuLmQwNDZhZjVkZTIwNzM2
MzI3YjEwNzY4MzBlY2I5YjhhOWVmZWQ1ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcApAQCAtMzIsNiArMzIsMzYgQEAKIAogbmFtZXNwYWNl
IElQQyB7CiAKK3ZvaWQgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25pY1RpbWUmIHRpbWUpCit7CisgICAgZW5jb2RlciA8
PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENv
ZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTW9ub3RvbmljVGlt
ZSYgdGltZSkKK3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2
YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHRpbWUgPSBNb25vdG9uaWNUaW1l
Ojpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJn
dW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNlY29u
ZHMmIHNlY29uZHMpCit7CisgICAgZW5jb2RlciA8PCBzZWNvbmRzLnZhbHVlKCk7Cit9CisKK2Jv
b2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNlY29u
ZHMmIHNlY29uZHMpCit7CisgICAgZG91YmxlIHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUodmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBzZWNvbmRzID0gU2Vjb25k
cyh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxzdGQ6
OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Pjo6ZW5jb2RlKElQQzo6RW5jb2RlciYg
ZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYgdGlt
ZVBvaW50KQogewogICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8aW50NjRfdD4odGltZVBvaW50
LnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL0FyZ3VtZW50Q29kZXJzLmgKaW5kZXggZjZkODhiN2NkYmI3ZGU2ZmE2YTJkY2I1NGFmODZm
YTNjYTc5NzZiMi4uMDc1YmZmNTM1MTlkZjg5N2Y3NTAzNjgyNWJkMjY5Zjg3ZjI2OWFlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTE2Myw3
ICsxNjMsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBFbGVtZW50cz4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8c3RkOjp0dXBsZTxFbGVtZW50cy4uLj4+IHsKICAgICB9CiB9OwogCi0KIHRlbXBsYXRl
PHR5cGVuYW1lIFJlcCwgdHlwZW5hbWUgUGVyaW9kPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6
OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQZXJpb2Q+PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlv
ZD4mIGR1cmF0aW9uKQogICAgIHsKQEAgLTM3OSw2ICszNzgsMTYgQEAgdGVtcGxhdGU8dHlwZW5h
bWUgS2V5QXJnLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFpdHNBcmc+IHN0cnVj
dCBBcmd1bWUKICAgICB9CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdU
Rjo6TW9ub3RvbmljVGltZT4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29u
c3QgV1RGOjpNb25vdG9uaWNUaW1lJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXIm
LCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V1RGOjpTZWNvbmRzPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBj
b25zdCBXVEY6OlNlY29uZHMmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdU
Rjo6U2Vjb25kcyYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6
OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5j
b2RlKEVuY29kZXImLCBjb25zdCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50
Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBzdGQ6OmNocm9ubzo6c3lzdGVt
X2Nsb2NrOjp0aW1lX3BvaW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rp
b24uaAppbmRleCBmMDEyYTAxYjU0ZGU3ZDFmY2UyMTc5N2U2ZjQ1NTA1MGM4M2U2ODg1Li45MDJi
ZTRkMWE3M2Y4ZTA0N2Q5MjA5ZjMyZDQ1YTI4NmE5NzAzMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwdWJsaWM6CiAKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGtpbGwoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNv
b24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICB2b2lkIHRlcm1pbmF0ZVNvb24oU2Vj
b25kcyk7CiAjZW5kaWYKIAogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNW
YWxpZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9u
TWFjLm1tCmluZGV4IDI4OTk1MTI5NDYzZTgzMTkxMDcwYmVlODVmZGJlODcwNTQ4ZTU1YjEuLjcw
NDQ2OTE1NmFmODFiZDQxNThmMTcxZTA4MTdkODhlZGJmYjE3YTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KQEAgLTgwLDIwICs4MCwy
MCBAQCBlbnVtIHsKIC8vICAgIHRvIGVuc3VyZSBpdCBoYXMgYSBjaGFuY2UgdG8gdGVybWluYXRl
IGNsZWFubHkuCiBjbGFzcyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NP
YmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZh
bEluU2Vjb25kcykKKyAgICBzdGF0aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vj
b25kcyBpbnRlcnZhbCkKICAgICB7Ci0gICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIG5ldyBD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiAg
ICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhP
U09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVy
dmFsSW5TZWNvbmRzKQorICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0
UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQog
ICAgICAgICA6IG1feHBjQ29ubmVjdGlvbih4cGNDb25uZWN0aW9uKQogICAgICAgICAsIG1fd2F0
Y2hkb2dUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZzo6d2F0Y2hkb2dUaW1lckZpcmVkKQogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAg
LCBtX2Fzc2VydGlvbihzdGQ6Om1ha2VfdW5pcXVlPFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0
aW9uPih4cGNfY29ubmVjdGlvbl9nZXRfcGlkKG1feHBjQ29ubmVjdGlvbi5nZXQoKSksIFdlYktp
dDo6QXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91bmQpKQogI2VuZGlmCiAgICAgewotICAgICAgICBt
X3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAg
bV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7CiAgICAgfQogICAgIAogICAg
IHZvaWQgd2F0Y2hkb2dUaW1lckZpcmVkKCkKQEAgLTE1MSwxMCArMTUxLDEwIEBAIHZvaWQgQ29u
bmVjdGlvbjo6cGxhdGZvcm1JbnZhbGlkYXRlKCkKICNlbmRpZgogfQogICAgIAotdm9pZCBDb25u
ZWN0aW9uOjp0ZXJtaW5hdGVTb29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKK3ZvaWQgQ29u
bmVjdGlvbjo6dGVybWluYXRlU29vbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3hw
Y0Nvbm5lY3Rpb24pCi0gICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVh
dGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFs
SW5TZWNvbmRzKTsKKyAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0
ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwp
OwogfQogICAgIAogdm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUluaXRpYWxpemUoSWRlbnRpZmll
ciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Db250cm9sbGVyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Db250cm9sbGVyUHJveHkuY3BwCmluZGV4IGRhOWRiMjI0ZWRjMGVhMGNiZDAwMmRjMTcx
MmEwYzE4NmQxOTM1ZTQuLjE3Mzk1MjUwOTU3MWQ4ZjQ5MGE3M2U3ZmE5Njk1OTNjN2I4MzI0ZDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRy
b2xsZXJQcm94eS5jcHAKQEAgLTE0Nyw3ICsxNDcsNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQ
cm94eTo6ZGVzdHJveSgpCiAgICAgaWYgKG1fcGx1Z2luRGVzdHJ1Y3Rpb25Qcm90ZWN0Q291bnQg
fHwgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCktPmluU2VuZFN5bmMoKSkgewogICAgICAgICAv
LyBXZSBoYXZlIHBsdWctaW4gY29kZSBvbiB0aGUgc3RhY2sgc28gd2UgY2FuJ3QgZGVzdHJveSBp
dCByaWdodCBub3cuCiAgICAgICAgIC8vIERlc3Ryb3kgaXQgbGF0ZXIuCi0gICAgICAgIG1fcGx1
Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wbHVnaW5EZXN0cm95
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIx
NSw3ICsyMTUsNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVy
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gU3RhcnQgdGhlIHRpbWVyLgotICAgIG1fcGFp
bnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogCiAgICAgbV93YWl0aW5nRm9yRGlkVXBkYXRlID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCmluZGV4IGE3MjRlYjA4Zjkw
ZDU5ZGIxMjk4MjM0NDFlNzdlMDhmZWVjN2IyNWIuLjM5NWQ3NjRkNDcxZjUxZGU5OTgwYzYxMjFl
NjAzMmNmYWM0OTgyZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Qcm9jZXNzLmNwcApAQCAtMjIwLDkgKzIyMCw5IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGVs
ZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1l
CiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJv
Y2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjYWxsYmFja0lEKSwg
MCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSBs
aWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vzczo6c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMg
bGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0aW1lIDw9IDAuMCkKKyAgICBpZiAobGlmZXRpbWUg
PD0gMF9zKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgZGlzYWJsZVRlcm1pbmF0aW9uKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDlh
OTBlNGMyNTM5M2E3ZWQ0NmM5ODdiNWVlNDQ0OWE3NGFiOTIzM2IuLjIwYWMwNjdiMDQ5NWU2YWM3
NjIyYzAwNjIwMDM4YzAxZjVmMzAyOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0xMDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2luUHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzJiYpOwogICAgIAotICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSk7
CisgICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRpbWUoU2Vjb25kcyk7CiAgICAgdm9pZCBtaW5pbXVt
TGlmZXRpbWVUaW1lckZpcmVkKCk7CiAgICAgLy8gT3VyIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb25z
LgogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJvY2Vzc0Nvbm5lY3Rpb24+PiBtX3dlYlByb2Nlc3ND
b25uZWN0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcAppbmRleCA0MDNmMzRk
ZmNkNGI3YWRjNDliYTA0NjJiOWZkZWZhNmRlZjNmZDQ1Li5lYmU2ZWQyZDJlOTFhNDc4OWVhMTVm
Y2I3MzQzNDkwZDVkNzE2ZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2Fj
aGVNb2RlbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCkBA
IC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi12b2lkIGNhbGN1bGF0ZU1l
bW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3Rh
bENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNo
ZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJvbm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkKK3ZvaWQgY2FsY3Vs
YXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNo
ZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQm
IGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbklu
dGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpCiB7CiAgICAgdWludDY0X3QgbWVt
b3J5U2l6ZSA9IHJhbVNpemUoKSAvIE1COwogCkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBjYWxj
dWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNh
Y2hlVG90YWxDYXBhY2kKICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lz
dGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUgcmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhE
ZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heCgyNHUsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAg
ICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29u
ZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9t
aW47CiAKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0NhY2hlTW9kZWwuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgK
aW5kZXggY2Y0NzM0NTRmZTJhYzMzZDNjYTQzYTcyZmE1OTNlNGM0ZTUxZDNkNS4uMWUwNzc2ODhl
YTc4ZGM4NDI5ODhmNGY1ZjAzYWNhYmI5MzEyNGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL0NhY2hlTW9kZWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVN
b2RlbC5oCkBAIC0yNiw4ICsyNiw4IEBACiAjaWZuZGVmIENhY2hlTW9kZWxfaAogI2RlZmluZSBD
YWNoZU1vZGVsX2gKIAotI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxzdGRpbnQuaD4KKyNp
bmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzcsNyAr
MzcsNyBAQCBlbnVtIENhY2hlTW9kZWwgewogICAgIENhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3Nl
cgogfTsKIAotdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2ln
bmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwg
dW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5
KTsKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYg
Y2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2ln
bmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRp
b25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKIHZvaWQgY2FsY3VsYXRl
VVJMQ2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1aW50NjRfdCBkaXNrRnJlZVNpemUsIHVuc2lnbmVk
JiB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1aW50NjRfdCYgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkp
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5jcHAKaW5kZXggMTc1Nzg5ZmI5YWU3MTNmMTZlZWVkYmZhYmUwMGQ2ZjMzZTYzY2YyMy4uNDli
Nzk0NjVkZjZlMWIyYTEyMWMzZmE1MmQwMDNmYjE5NTFiYzI1YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMzLDggKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJvY2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0aW9uVGlt
ZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKKyAgICA6IG1fdGVybWluYXRp
b25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1pbmF0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0
aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5hdGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Byb2Nl
c3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9jZXNzIFN1cHByZXNzaW9uIERpc2FibGVkIGJ5IFVJ
UHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggYTA2ZTM0
OWEzOGMyODFmNWFjZThkMzYyMmEwNTQ2MWY5NDA0ZGE1Yy4uOTg1YWQ2YTYxYjJhODJhYjc4NTAy
OWZlNDJkZWM0NzUyZWZjNDZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApA
QCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9jZXNzKCk7
CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNzKCk7CiAKLSAgICB2b2lkIHNldFRlcm1pbmF0aW9u
VGltZW91dChkb3VibGUgc2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7
IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChTZWNvbmRzIHNlY29uZHMpIHsgbV90
ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRzOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlh
bGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7
CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nl
c3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRl
OgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGluIHNlY29uZHMsIGJlZm9yZSB0aGlzIHByb2Nlc3Mg
d2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1pbmF0aW9uCiAgICAgLy8gaGFzIGJlZW4gZW5hYmxl
ZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNvbmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1p
bmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91YmxlIG1fdGVybWluYXRpb25UaW1lb3V0OworICAg
IFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0aW9uIGNv
dW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVhY2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3aWxsIGJl
IHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBhIGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGExMmE0NDQ1YmIxNmNhYWY2OTI3M2I2NGE4NjMy
MTA4ZTdkNTQ5ZjQuLmIxYTM0YTRkZjFkMmQ4MjU5OGFjYTZjZjg0NTRlYjRmYTFjZGU2ZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1
ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5oIgor
I2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRl
IDxXZWJDb3JlL01hY2hTZW5kUmlnaHQuaD4KQEAgLTUxLDggKzUyLDggQEAgc3RydWN0IFBsdWdp
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFBsdWdpblByb2Nlc3NUeXBlIHByb2Nl
c3NUeXBlOwogICAgIGJvb2wgc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlv
bjsKIAotICAgIGRvdWJsZSBtaW5pbXVtTGlmZXRpbWU7Ci0gICAgZG91YmxlIHRlcm1pbmF0aW9u
VGltZW91dDsKKyAgICBTZWNvbmRzIG1pbmltdW1MaWZldGltZTsKKyAgICBTZWNvbmRzIHRlcm1p
bmF0aW9uVGltZW91dDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdlYkNvcmU6Ok1hY2hT
ZW5kUmlnaHQgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ1BvcnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IGYwZmZiNzcyNmE1M2VlNGY4
NDIzZDQ2Yjc5YmIwZmRhZjA1ZGU3YzQuLjM4MGUwMWU1ZTc0NjE3MzdlNTc1M2U5NjY1YWMyZTM0
NjA1NTI2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwCkBAIC0xMDYsMzYgKzEwNiw2IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAK
IG5hbWVzcGFjZSBJUEMgewogCi12b2lkIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAg
IGVuY29kZXIgPDwgdGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7Ci19Ci0KLWJvb2wg
QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1v
bm90b25pY1RpbWUmIHRpbWUpCi17Ci0gICAgZG91YmxlIHZhbHVlOwotICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUodmFsdWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICB0aW1lID0gTW9u
b3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOwotICAgIHJldHVybiB0cnVlOwotfQot
Ci12b2lkIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBTZWNvbmRzJiBzZWNvbmRzKQotewotICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgp
OwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyLCBTZWNvbmRzJiBzZWNvbmRzKQotewotICAgIGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgc2Vjb25k
cyA9IFNlY29uZHModmFsdWUpOwotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIEFyZ3VtZW50
Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYgYWZmaW5lVHJhbnNmb3JtKQogewogICAgIFNpbXBsZUFyZ3VtZW50Q29k
ZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5jb2RlKGVuY29kZXIsIGFmZmluZVRyYW5zZm9ybSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNDgx
OWZjYmMwNGFjNzE2MjU2NzNhODQ0NjdmNzQ1NDJjY2I5Mjk5NS4uMzE1NDA2MmQ5ZGMzNTJhOTFm
NGIzM2JiNjU0Mzk5NTZlNTg4MDliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEsMTEgKzMxLDYgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L0luZGV4ZWREQi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGF5bWVudEhlYWRlcnMuaD4KIAotbmFt
ZXNwYWNlIFdURiB7Ci1jbGFzcyBNb25vdG9uaWNUaW1lOwotY2xhc3MgU2Vjb25kczsKLX0KLQog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2U7CkBAIC0xNTIsMTYgKzE0Nyw2IEBAIHVzaW5nIElEQktleVBhdGgg
PSBWYXJpYW50PFN0cmluZywgVmVjdG9yPFN0cmluZz4+OwogCiBuYW1lc3BhY2UgSVBDIHsKIAot
dGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKLSAg
ICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYp
OwotICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7
Ci19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6U2Vjb25kcz4gewot
ICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpTZWNvbmRzJik7Ci0g
ICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6OlNlY29uZHMmKTsKLX07Ci0KIHRl
bXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtPiB7
CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpBZmZpbmVU
cmFuc2Zvcm0mKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OkFm
ZmluZVRyYW5zZm9ybSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1l
bW9yeVNhbXBsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIu
Y3BwCmluZGV4IDA1M2ZhNmVhMjk3M2NlN2IxZGIzY2ZmMzkyNzUxZWFiZjRlMThkMTAuLmRkZWEy
YWJkYzQ0ZTRlYTAyMjdlMjllNzZlNGJlM2FlY2VlNjA1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKQEAgLTU3LDcgKzU3LDYgQEAgV2ViTWVtb3J5U2Ft
cGxlcjo6V2ViTWVtb3J5U2FtcGxlcigpCiAgICAgOiBtX3NhbXBsZVRpbWVyKCp0aGlzLCAmV2Vi
TWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZCkKICAgICAsIG1fc3RvcFRpbWVyKCp0aGlz
LCAmV2ViTWVtb3J5U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQpCiAgICAgLCBtX2lzUnVubmluZyhm
YWxzZSkKLSAgICAsIG1fcnVubmluZ1RpbWUoMCkKIHsKIH0KIApAQCAtNjcsNyArNjYsNyBAQCB2
b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkKICAgICAg
ICAgcmV0dXJuOwogICAgIAogICAgIGluaXRpYWxpemVUZW1wTG9nRmlsZSgpOwotICAgIGluaXRp
YWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRl
cnZhbCkpOwogfQogCiB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hF
eHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZSwgY29uc3QgU3RyaW5nJiBzYW1w
bGVMb2dGaWxlUGF0aCwgY29uc3QgZG91YmxlIGludGVydmFsKSAKQEAgLTgyLDE3ICs4MSwxNyBA
QCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZQogICAgIH0KICAgICAgICAgCiAgICAgaW5pdGlhbGl6
ZVNhbmRib3hlZExvZ0ZpbGUoc2FtcGxlTG9nRmlsZUhhbmRsZSwgc2FtcGxlTG9nRmlsZVBhdGgp
OwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMo
U2Vjb25kcyhpbnRlcnZhbCkpOwogICAgCiB9CiAKLXZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5p
dGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFdlYk1lbW9yeVNhbXBsZXI6Omlu
aXRpYWxpemVUaW1lcnMoU2Vjb25kcyBpbnRlcnZhbCkKIHsKLSAgICBtX3NhbXBsZVRpbWVyLnN0
YXJ0UmVwZWF0aW5nKDEpOworICAgIG1fc2FtcGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25k
cygxKSk7CiAgICAgcHJpbnRmKCJTdGFydGVkIG1lbW9yeSBzYW1wbGVyIGZvciBwcm9jZXNzICVz
ICVkIiwgcHJvY2Vzc05hbWUoKS51dGY4KCkuZGF0YSgpLCBnZXRwaWQoKSk7Ci0gICAgaWYgKGlu
dGVydmFsID4gMCkgeworICAgIGlmIChpbnRlcnZhbCA+IDBfcykgewogICAgICAgICBtX3N0b3BU
aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwotICAgICAgICBwcmludGYoIiBmb3IgYSBpbnRl
cnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2YWwpOworICAgICAgICBwcmludGYoIiBmb3IgYSBp
bnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgfQogICAgIHBy
aW50ZigiOyBTYW1wbGVyIGxvZyBmaWxlIHN0b3JlZCBhdDogJXNcbiIsIG1fc2FtcGxlTG9nRmls
ZVBhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAgbV9ydW5uaW5nVGltZSA9IGludGVydmFsOwpAQCAt
MTU5LDcgKzE1OCw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQoKQog
ewogICAgIGlmICghbV9pc1J1bm5pbmcpCiAgICAgICAgIHJldHVybjsKLSAgICBwcmludGYoIiVn
IHNlY29uZHMgZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5IHNhbXBsZXIuLi5cbiIsIG1fcnVubmlu
Z1RpbWUpOworICAgIHByaW50ZigiJWcgc2Vjb25kcyBlbGFwc2VkLiBTdG9wcGluZyBtZW1vcnkg
c2FtcGxlci4uLlxuIiwgbV9ydW5uaW5nVGltZS52YWx1ZSgpKTsKICAgICBzdG9wKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCmluZGV4IDI3ODdiNTE1ZGFi
YzUxZWJlYzViYzA2NDZmMTNiZWZlNTEyOTg2MjIuLmRhNDI4OGI1ODQwOWZmYmFhZjhkMjczY2Iz
ODU4NDViMGQxZDg4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1v
cnlTYW1wbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIu
aApAQCAtODQsNyArODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZVRlbXBMb2dG
aWxlKCk7CiAgICAgdm9pZCBpbml0aWFsaXplU2FuZGJveGVkTG9nRmlsZShjb25zdCBTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGUmLCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHdyaXRlSGVhZGVy
cygpOwotICAgIHZvaWQgaW5pdGlhbGl6ZVRpbWVycyhkb3VibGUpOworICAgIHZvaWQgaW5pdGlh
bGl6ZVRpbWVycyhTZWNvbmRzKTsKICAgICB2b2lkIHNhbXBsZVRpbWVyRmlyZWQoKTsKICAgICB2
b2lkIHN0b3BUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBhcHBlbmRDdXJyZW50TWVtb3J5VXNhZ2VU
b0ZpbGUoV2ViQ29yZTo6UGxhdGZvcm1GaWxlSGFuZGxlJik7CkBAIC0xMDAsNyArMTAwLDcgQEAg
cHJpdmF0ZToKICAgICBXZWJDb3JlOjpUaW1lciBtX3NhbXBsZVRpbWVyOwogICAgIFdlYkNvcmU6
OlRpbWVyIG1fc3RvcFRpbWVyOwogICAgIGJvb2wgbV9pc1J1bm5pbmc7Ci0gICAgZG91YmxlIG1f
cnVubmluZ1RpbWU7CisgICAgU2Vjb25kcyBtX3J1bm5pbmdUaW1lOwogICAgIFJlZlB0cjxTYW5k
Ym94RXh0ZW5zaW9uPiBtX3NhbXBsZUxvZ1NhbmRib3hFeHRlbnNpb247CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApp
bmRleCBlYzg2ZTFlMjFmZmNjZDZkODcyYWFhMWYyZDQxOWU0NjY2YTMyN2RiLi4wZDM3YjlhM2Vk
N2UzNjRjMWM0YjY5OTNmOTA2NzkyYTVmZWFlZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTExMyw3ICsxMTMs
NyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAKICAgICBib29sIGlj
b25EYXRhYmFzZUVuYWJsZWQ7CiAKLSAgICBkb3VibGUgdGVybWluYXRpb25UaW1lb3V0OworICAg
IFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgVmVjdG9yPFN0cmluZz4gbGFuZ3Vh
Z2VzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlLmgKaW5kZXggNmFmNzkwMmRhM2Y5ZmE5YzJlYWJkYWFhMGU1ZDc4NWY2NTMyZTZl
Ny4uNDM2OGNjMmNjMWIzZjVjNmQ1YThlYjNiMzgwYjJlOGJkYjNhNGEzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaApAQCAt
MzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9JT1N1cmZhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlZ2lvbi5oPgotI2luY2x1
ZGUgPGNocm9ubz4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiBPQkpDX0NMQVNT
IENBTGF5ZXI7CiAKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBzZXRCdWZm
ZXJWb2xhdGlsaXR5KEJ1ZmZlclR5cGUgdHlwZSwgYm9vbCBpc1ZvbGF0aWxlKTsKIAotICAgIHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbGFzdERpc3BsYXlUaW1lKCkgY29u
c3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7IH0KKyAgICBNb25vdG9uaWNUaW1lIGxhc3RE
aXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9CiAKIHByaXZh
dGU6CiAgICAgdm9pZCBkcmF3SW5Db250ZXh0KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIENH
SW1hZ2VSZWYgYmFja0ltYWdlKTsKQEAgLTEwMyw4ICsxMDMsMTAgQEAgcHJpdmF0ZToKICAgICBQ
bGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIG1fbGF5ZXI7CiAKICAgICBXZWJDb3JlOjpGbG9hdFNpemUg
bV9zaXplOwotICAgIGZsb2F0IG1fc2NhbGU7Ci0gICAgYm9vbCBtX2lzT3BhcXVlOworICAgIGZs
b2F0IG1fc2NhbGUgeyAxIH07CisKKyAgICBib29sIG1faXNPcGFxdWUgeyBmYWxzZSB9OworICAg
IGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmcgeyBmYWxzZSB9OwogCiAgICAgV2ViQ29yZTo6UmVn
aW9uIG1fZGlydHlSZWdpb247CiAKQEAgLTExMiw3ICsxMTQsNyBAQCBwcml2YXRlOgogICAgICAg
ICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXA7CiAjaWYgVVNFKElPU1VSRkFDRSkKICAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OklPU3VyZmFjZT4gc3VyZmFjZTsKLSAgICAg
ICAgYm9vbCBpc1ZvbGF0aWxlID0gZmFsc2U7CisgICAgICAgIGJvb2wgaXNWb2xhdGlsZSB7IGZh
bHNlIH07CiAjZW5kaWYKIAogICAgICAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QK
QEAgLTEzOCwxMSArMTQwLDkgQEAgcHJpdmF0ZToKIAogICAgIFJldGFpblB0cjxDR0NvbnRleHRS
ZWY+IG1fZnJvbnRDb250ZXh0UGVuZGluZ0ZsdXNoOwogCi0gICAgYm9vbCBtX2FjY2VsZXJhdGVz
RHJhd2luZzsKLQogICAgIFdlYkNvcmU6OlJlcGFpbnRSZWN0TGlzdCBtX3BhaW50aW5nUmVjdHM7
CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbGFzdERpc3Bs
YXlUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0RGlzcGxheVRpbWU7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCmluZGV4IGQ1NzE5ZGRhMTJiZWFiODIyZGYzMmI3MjE1
OGViYTZhNWU5OTQyMDUuLmNiY2Y3MWM1Zjc1NGVlYzNlODYwZmYxMmZjNzNmZmE4NWM2N2RkMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZS5tbQpAQCAtNjIsOCArNjIsNiBAQCBzdGF0aWMgV2ViQ29yZTo6SU9TdXJmYWNlOjpG
b3JtYXQgYnVmZmVyRm9ybWF0KGJvb2wgaXNPcGFxdWUpCiAKIFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZShQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIGxheWVy
KQogICAgIDogbV9sYXllcihsYXllcikKLSAgICAsIG1faXNPcGFxdWUoZmFsc2UpCi0gICAgLCBt
X2xhc3REaXNwbGF5VGltZShzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50Ojpt
aW4oKSkKIHsKICAgICBpZiAoIW1fbGF5ZXIpCiAgICAgICAgIHJldHVybjsKQEAgLTIzMSw3ICsy
MjksNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KCkKIHsKICAgICBB
U1NFUlQoIW1fZnJvbnRDb250ZXh0UGVuZGluZ0ZsdXNoKTsKIAotICAgIG1fbGFzdERpc3BsYXlU
aW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgbV9sYXN0RGlzcGxh
eVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGJvb2wgbmVlZFRvRW5jb2RlQmFj
a2luZ1N0b3JlID0gZmFsc2U7CiAgICAgaWYgKFJlbW90ZUxheWVyVHJlZUNvbnRleHQqIGNvbnRl
eHQgPSBtX2xheWVyLT5jb250ZXh0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCBm
ZTQ5NzFlZTczOTI0MTRhYmMxMTk0MGFjNzlmOGY3OTE0Y2E0ODYyLi5jZDgzYTM4ZDk4NDU1ZGI1
ZDU0ZWQzZjQ2NTM5ODZlZWQ5NzQ1MzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKQEAg
LTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIHR5cGVkZWYgdW5zaWduZWQgVm9s
YXRpbGl0eU1hcmtpbmdGbGFnczsKICAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUlt
bWVkaWF0ZWx5KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgVm9sYXRpbGl0eU1hcmtpbmdGbGFn
cyB2b2xhdGlsaXR5TWFya2luZ0ZsYWdzID0gMCk7Ci0gICAgYm9vbCBtYXJrQmFja2luZ1N0b3Jl
Vm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjp0aW1lX3BvaW50IG5vdyk7CisgICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUo
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBNb25vdG9uaWNUaW1lIG5vdyk7CiAKICAgICBIYXNo
U2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV9saXZlQmFja2luZ1N0b3JlOwogICAgIEhh
c2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCmluZGV4IDI2ODM2ZTdiZjM4NjQ3ZTQ4MDBhNjRi
MGM3NWNlNmZmYjBjYTE0YmUuLjQ2MGNkOWJjYzUxOGVjOGQ2MWZhNDllMWZmY2M0NzRlZGQ4MDcw
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0zMCw5ICszMCw5IEBACiAjaW1w
b3J0ICJSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVl
Q29udGV4dC5oIgogCi1jb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyB2b2xhdGlsZUJhY2tpbmdT
dG9yZUFnZVRocmVzaG9sZCA9IDFzOwotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2
b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDIwMG1zOwotY29uc3Qg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDIwMG1z
OworY29uc3QgYXV0byB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDFfczsKK2Nv
bnN0IGF1dG8gdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAwLjJf
czsKK2NvbnN0IGF1dG8gdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAwLjJfczsKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKQEAgLTEyMCw3ICsxMjAsNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVt
bwogICAgIHJldHVybiBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGU7CiB9CiAK
LWJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3Jl
Vm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgc3RkOjpjaHJv
bm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBub3cpCitib29sIFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlJiBiYWNraW5nU3RvcmUsIE1vbm90b25pY1RpbWUgbm93KQogewogICAgIGlmIChu
b3cgLSBiYWNraW5nU3RvcmUubGFzdERpc3BsYXlUaW1lKCkgPCB2b2xhdGlsZUJhY2tpbmdTdG9y
ZUFnZVRocmVzaG9sZCkgewogICAgICAgICBpZiAobm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNw
bGF5VGltZSgpID49IHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKQpA
QCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Ojp2b2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7CiAgICAgYm9vbCBzdWNjZXNzZnVsbHlNYWRlQmFj
a2luZ1N0b3JlVm9sYXRpbGUgPSB0cnVlOwogCi0gICAgYXV0byBub3cgPSBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygp
OwogICAgIGZvciAoY29uc3QgYXV0byYgYmFja2luZ1N0b3JlIDogbV9saXZlQmFja2luZ1N0b3Jl
KQogICAgICAgICBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgJj0gbWFya0Jh
Y2tpbmdTdG9yZVZvbGF0aWxlKCpiYWNraW5nU3RvcmUsIG5vdyk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVl
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCmluZGV4IDgzOTQ1ZGZlZDMxYzU5MTgzNThiZTdmNjcxNmIx
YmZlNzAxODhiNTkuLjFiNWRkMDM2MzkxZjIyYjllYmM1YjcyM2Q5MjIzZjgwMjkwZTlhMTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQpAQCAtNDYsNyArNDYsNyBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICBpZiAoIW1fY29udGV4dCkgewogICAgICAgICAgICAgbV9j
b250ZXh0ID0gYWRvcHROUyhbW0pTQ29udGV4dCBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgxX3MpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCBk
Mjc3MDA1OTYxZDI5YWVkNjc1MDkzNjk0YjIzZTRlODI1NWUxMDg2Li4xMTM1Zjc5Nzg1ZWQ5Zjc3
YzBhNWFiOTU5YmYxMjRkNzA2ZTllNzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNTkwLDcgKzU5MCw3IEBAIHZvaWQgRXdrVmlldzo6c2No
ZWR1bGVVcGRhdGVEaXNwbGF5KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2Rpc3Bs
YXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IEV3a1ZpZXc6OnNldFZpZXdwb3J0UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgY29udGVudHNQ
b3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCAwNGM3ZTk1NDcyOTk1N2NlNDI4MmViNDBlMWM4NzEw
M2MxNDQ1ZjVmLi5jMmJlMzY1ZjcxZTk4ZjM0ZjllODVlNGQ2YWQxODkzY2VjNjlmM2Q3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
d0Jhc2UuY3BwCkBAIC0yMTksNyArMjE5LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jh
c2VTY2hlZHVsZVVwZGF0ZUFjdGl2aXR5U3RhdGUoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlYKICAg
ICBpZiAocHJpdi0+dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgcHJpdi0+dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4gdG9wbGV2ZWxXaW5kb3dGb2N1c0luRXZlbnQoR3Rr
V2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50Rm9jdXMqLCBXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmll
d0Jhc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNz
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCBmZDhiYzVhYzlhOTdjODMwNTVkNDhiNzViYTgwMDkzMzk5NjUxN2IwLi4yZDZmZWI5
NDdmMWM4NjgxZTMwYmYxNGIwZGM3NjVjODE0MzJmNjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCB2b2lk
IENoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93blByb2Nlc3MoKQogICAgICAgICAvLyBPbiBpT1Mg
ZGVwbG95IGEgd2F0Y2hkb2cgaW4gdGhlIFVJIHByb2Nlc3MsIHNpbmNlIHRoZSBjaGlsZCBwcm9j
ZXNzIG1heSBiZSBzdXNwZW5kZWQuCiAgICAgICAgIC8vIElmIDMwcyBpcyBpbnN1ZmZpY2llbnQg
Zm9yIGFueSBvdXRzdGFuZGluZyBhY3Rpdml0eSB0byBjb21wbGV0ZSBjbGVhbmx5LCB0aGVuIGl0
IHdpbGwgYmUga2lsbGVkLgogICAgICAgICBBU1NFUlQobV9jb25uZWN0aW9uKTsKLSAgICAgICAg
bV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT50
ZXJtaW5hdGVTb29uKDMwX3MpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3Rh
dGU6OlRlcm1pbmF0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05h
dmlnYXRpb25TdGF0ZS5tbQppbmRleCA0NTI5OTIyYjRmYmY2YmY1MzFjN2MwNWE3YzIyM2I2MzUx
NDMyNTYwLi5mODE2ZTdmMGMzMjFhZjJhOWQ4NjIxYTdiNGM1ZjFhOGE3ODAzOTdjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAg
LTg1Miw3ICs4NTIsNyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5n
KCkKICAgICB9IGVsc2UgewogICAgICAgICAvLyBEZWxheSByZWxlYXNpbmcgdGhlIGJhY2tncm91
bmQgYWN0aXZpdHkgZm9yIDMgc2Vjb25kcyB0byBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhIGNoYW5j
ZSB0byBzdGFydCBhbm90aGVyIG5hdmlnYXRpb24KICAgICAgICAgLy8gYmVmb3JlIHN1c3BlbmRp
bmcgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyA8cmRhcjovL3Byb2JsZW0vMjc5MTA5NjQ+LgotICAg
ICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzcyk7CisgICAgICAgIG1f
cmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNfcyk7CiAgICAgfQogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJl
Q29udHJvbGxlci5jcHAKaW5kZXggNDlmMThlMzc4YTUyOWQwNTY1YjBkN2VlOWU2MTg4MjEyY2Zk
ZDJiOC4uNGRiZDc4ZjY0MmM1ODVjNGNhZDc3MTgyNmQwODJiOGEwYzhhYzNjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5jcHAKQEAgLTQwLDEzICs0MCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBz
d2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlv
dXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
c3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwbXM7
CitzdGF0aWMgY29uc3QgYXV0byBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJz
dFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNfczsKK3N0YXRpYyBjb25zdCBhdXRv
IHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDAuMjVf
czsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25k
cyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1czsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVfczsKICNl
bHNlCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92
YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBz
aG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzX3M7CiAjZW5kaWYKIAogc3RhdGljIEhhc2hN
YXA8dWludDY0X3QsIFZpZXdHZXN0dXJlQ29udHJvbGxlcio+JiB2aWV3R2VzdHVyZUNvbnRyb2xs
ZXJzRm9yQWxsUGFnZXMoKQpAQCAtMjk3LDEwICsyOTcsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNv
bnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OndhdGNoZG9nVGltZXJGaXJlZCgpCiAg
ICAgZmlyZVJlbW92YWxDYWxsYmFja0ltbWVkaWF0ZWx5KCk7CiB9CiAKLXZvaWQgVmlld0dlc3R1
cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIGR1cmF0aW9uKQordm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNu
YXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coU2Vjb25kcyBkdXJhdGlvbikKIHsK
LSAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAl
bGxkIHNlY29uZHMiLCBkdXJhdGlvbi5jb3VudCgpKSk7Ci0gICAgbV93YXRjaGRvZ1RpbWVyLnN0
YXJ0T25lU2hvdChkdXJhdGlvbi5jb3VudCgpKTsKKyAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihy
ZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlLjNmIHNlY29uZHMiLCBkdXJhdGlvbi52YWx1
ZSgpKSk7CisgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCmluZGV4IDc1OGQ3MzUwZGJkODQ3NTc0
NjZjY2RiYTg0MzZiNmU0OWQ2MmJjMmQuLmUxNGQ3Mzk3MTkyYWQwYzA3ZjEyMjgwOWZjODdiMTQ0
NDc2ZDRkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3
R2VzdHVyZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
Vmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAgLTE1Nyw3ICsxNTcsNyBAQCBwcml2YXRlOgogICAg
ICAgICBib29sIGV2ZW50T2NjdXJyZWQoRXZlbnRzKTsKICAgICAgICAgYm9vbCBjYW5jZWxPdXRz
dGFuZGluZ0V2ZW50KEV2ZW50cyk7CiAKLSAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKHN0ZDo6
Y2hyb25vOjpzZWNvbmRzKTsKKyAgICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKFNlY29uZHMpOwog
CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIFN0cmluZyBldmVudHNEZXNjcmlwdGlvbihF
dmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA0ZTg3M2VhZDY1MTg1ZjY1OWQ5NjExYThhZjk5ZGIyM2Ez
ZGM3Nzg4Li4zNWVlNGViMWE0YWRhNzQ3YTE4Mzk5YmEzMTkxYTkzNjE4NzY0YjRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbQpAQCAtMjc1LDcgKzI3NSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5p
dGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhCiAjZW5kaWYK
IAogICAgIHBhcmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBb
ZGVmYXVsdHMgYm9vbEZvcktleTpXZWJLaXRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRl
ZmF1bHRzS2V5XTsKLSAgICBwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzKFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5ldHdvcmtM
b2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldKTsKKyAgICBwYXJhbWV0
ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKFtkZWZh
dWx0cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlz
ZWNvbmRzRGVmYXVsdHNLZXldKTsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDExMDAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBj
b29raWVTdG9yYWdlRGF0YSA9IGFkb3B0Q0YoQ0ZIVFRQQ29va2llU3RvcmFnZUNyZWF0ZUlkZW50
aWZ5aW5nRGF0YShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hh
cmVkSFRUUENvb2tpZVN0b3JhZ2VdIF9jb29raWVTdG9yYWdlXSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCmluZGV4IGI0NWYyMjc5ZTcyYmVlZTBh
ZTczM2M2ZTEwYWIxNDE5MmUwMWYyZTUuLjg1ZWMzODM3YzkxNWVlOGFjMjdkOWNmMTNlOGVjMzRj
NjNkZDliNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94
eS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhw
b3NlZFJlY3Qoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpGbG9hdFJlY3Q+IHZpZXcKICAgICBtX3Zp
ZXdFeHBvc2VkUmVjdCA9IHZpZXdFeHBvc2VkUmVjdDsKIAogICAgIGlmICghbV92aWV3RXhwb3Nl
ZFJlY3RDaGFuZ2VkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENo
YW5nZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5
Ojp2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA0NDBkZjlhMzNlZTY5
ODY3YjY0MjU4ZDAzMmUwNWU4MTlmMTNhODE0Li4wMDk5YTVmNjcxMDNjN2UzYzFiYjY5YWNiMWY4
ODZkZDMzMTEwM2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5jcHAKQEAgLTE4MCw3ICsxODAsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJv
eHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3JlU29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRo
aXMgbWFueSBzZWNvbmRzIGFmdGVyIHRoZSBsYXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5
IG91ciBiYWNraW5nIHN0b3JlIHRvIHNhdmUgbWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3Vs
ZCBiZSBzbWFydGVyIHRvIG1ha2UgdGhpcyBkZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBh
aW50aW5nIGlzLiBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29u
c3QgU2Vjb25kcyBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyX3M7CiAKICAgICBtX2Rpc2Nh
cmRCYWNraW5nU3RvcmVUaW1lci5zdGFydE9uZVNob3QoZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5
KTsKIH0KQEAgLTIxMSwxMyArMjExLDEzIEBAIGludCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJh
d2luZ01vbml0b3I6OndlYlZpZXdEcmF3Q2FsbGJhY2soRHJhd2luZ0FyZWFQcm94eUltCiAKIHZv
aWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdGFydChzdGQ6OmZ1bmN0
aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFjaykKIHsKLSAgICBtX3N0YXJ0
VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCk7CisgICAgbV9zdGFydFRpbWUg
PSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBtX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAjaWYg
UExBVEZPUk0oR1RLKQogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3dlYlBhZ2Uudmll
d1dpZGdldCgpLCAiZHJhdyIsIHJlaW50ZXJwcmV0X2Nhc3Q8R0NhbGxiYWNrPih3ZWJWaWV3RHJh
d0NhbGxiYWNrKSwgdGhpcyk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV90
aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygxKSk7CiAjZWxzZQotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApA
QCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25p
dG9yOjpzdG9wKCkKICNpZiBQTEFURk9STShHVEspCiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlz
Y29ubmVjdF9ieV9mdW5jKG1fd2ViUGFnZS52aWV3V2lkZ2V0KCksIHJlaW50ZXJwcmV0X2Nhc3Q8
Z3BvaW50ZXI+KHdlYlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlzKTsKICNlbmRpZgotICAgIG1fc3Rh
cnRUaW1lID0gMDsKKyAgICBtX3N0YXJ0VGltZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICBpZiAo
bV9jYWxsYmFjaykgewogICAgICAgICBtX2NhbGxiYWNrKENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5v
bmUpOwogICAgICAgICBtX2NhbGxiYWNrID0gbnVsbHB0cjsKQEAgLTIzOSwxMCArMjM5LDEwIEBA
IHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3KCkKICAg
ICAvLyBXZSB3YWl0IHVwIHRvIDEgc2Vjb25kIGZvciBkcmF3IGV2ZW50cy4gSWYgdGhlcmUgYXJl
IHNldmVyYWwgZHJhdyBldmVudHMgcXVldWVkIHF1aWNrbHksCiAgICAgLy8gd2Ugd2FudCB0byB3
YWl0IHVudGlsIGFsbCBvZiB0aGVtIGhhdmUgYmVlbiBwcm9jZXNzZWQsIHNvIGFmdGVyIHJlY2Vp
dmluZyBhIGRyYXcsIHdlIHdhaXQKICAgICAvLyB1cCB0byAxMDBtcyBmb3IgdGhlIG5leHQgb25l
IG9yIHN0b3AuCi0gICAgaWYgKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZU1TKCkgLSBtX3N0
YXJ0VGltZSA+IDEwMDApCisgICAgaWYgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9zdGFydFRp
bWUgPiAxX3MpCiAgICAgICAgIHN0b3AoKTsKICAgICBlbHNlCi0gICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDAuMTAwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC4xX3MpOwog
fQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3
aW5nKHN0ZDo6ZnVuY3Rpb248dm9pZChDYWxsYmFja0Jhc2U6OkVycm9yKT4gY2FsbGJhY2tGdW5j
dGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBs
LmgKaW5kZXggODljNzEzZmM4N2E3MzU0OTMwMzhhZDEwZDkwZGMxY2Y2MDYxZDQ1Ny4uNWFhNjZj
NmQwNDhiZDBmN2QyNmY4YzdjNjRlZDBkMWEyODJmN2Y2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgdm9pZCBkaWREcmF3KCk7CiAKICAgICAgICAgV2ViUGFnZVByb3h5JiBt
X3dlYlBhZ2U7Ci0gICAgICAgIGRvdWJsZSBtX3N0YXJ0VGltZSB7IDAgfTsKKyAgICAgICAgTW9u
b3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICAgICAgc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxs
YmFja0Jhc2U6OkVycm9yKT4gbV9jYWxsYmFjazsKICAgICAgICAgUnVuTG9vcDo6VGltZXI8RHJh
d2luZ01vbml0b3I+IG1fdGltZXI7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCA2NzdjZDY3Mzkx
YWY1NjlmNDJhZmZiZGY0NDBhYWUyMTU1MTVmNDNlLi5jZWE5ODJmNmUyMmM2MDQ5OGVhYjgyOTY5
NDNmNTA1MzJiOGI0MzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2Ft
ZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRv
dWJsZSBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gMSAvIDEyMC4wOworc3RhdGljIGNv
bnN0IFNlY29uZHMgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMSAvIDEy
MC4wKTsKIAogVUlHYW1lcGFkUHJvdmlkZXImIFVJR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24o
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAKaW5kZXggNTRkZmIzYjA1OGQ0ZmU5MDM3NDYxNTc5MmVmYTU2YjA4
ZmRkMGI2OC4uNDYwYmViZjVkYjA5OTM3NTVhNjYyYzMzYjI5ZDA3NDgxNGM3MGFiMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
UHJveHkuY3BwCkBAIC00NiwxMSArNDYsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1MaWZldGlt
ZSA9IDIgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nTWluaW11bUxpZmV0
aW1lID0gMzA7CitzdGF0aWMgY29uc3QgYXV0byBtaW5pbXVtTGlmZXRpbWUgPSAyX21pbjsKK3N0
YXRpYyBjb25zdCBhdXRvIHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSA9IDMwX3M7CiAKLXN0
YXRpYyBjb25zdCBkb3VibGUgc2h1dGRvd25UaW1lb3V0ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0
IGRvdWJsZSBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgPSAxNTsKK3N0YXRpYyBjb25zdCBh
dXRvIHNodXRkb3duVGltZW91dCA9IDFfbWluOworc3RhdGljIGNvbnN0IGF1dG8gc25hcHNob3R0
aW5nU2h1dGRvd25UaW1lb3V0ID0gMTVfczsKIAogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2Fs
bGJhY2tJRCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwCmluZGV4IDNlMWMyZWY1YWY2Njc3YTkyOTlkZTg1
NDk0NWY5MTQ1ODAzMzQ5ZTMuLmQ1ZmIxYjIzMWI0MzcwZjA2ZWRjMzEzNGYzNDVjNWMzY2NlY2Qw
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVn
aW5JbmZvQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0
ay9QbHVnaW5JbmZvQ2FjaGUuY3BwCkBAIC0xNjIsNyArMTYyLDcgQEAgdm9pZCBQbHVnaW5JbmZv
Q2FjaGU6OnVwZGF0ZVBsdWdpbkluZm8oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBjb25zdCBQ
bHVnaW5Nb2QKICAgICAgICAgaWYgKG1fc2F2ZVRvRmlsZUlkbGUuaXNBY3RpdmUoKSkKICAgICAg
ICAgICAgIHJldHVybjsKIAotICAgICAgICBtX3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9zYXZlVG9GaWxlSWRsZS5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAppbmRl
eCAyMjc1YmIzYjIyNmI3ZGJkNDhkMzNjZjBmMzZkMjM0OWQ4NTBiZWM2Li5jZDgyNWUxZWUwYTA5
YzU3ZjNlMmQ2MzEyYjc5ZTdkNGYxNzBlM2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogICAgIAotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByb2Nlc3NTdXNwZW5zaW9uVGlt
ZW91dCA9IDMwOworc3RhdGljIGNvbnN0IFNlY29uZHMgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0
ID0gMzBfczsKICAgICAKIFByb2Nlc3NUaHJvdHRsZXI6OlByb2Nlc3NUaHJvdHRsZXIoUHJvY2Vz
c1Rocm90dGxlckNsaWVudCYgcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCmluZGV4
IGZlYjQ2OWYwODQyYjVhZTY5YjM2ZjBmY2ZkNjg2MWM0MDY3ZWVmMmIuLjYwM2JjOWYxM2ZlOTY5
YmYzNGRiMzQ2MGFiYjQ3OGJiODk5YmRjM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0
ID0gMzsKK3N0YXRpYyBjb25zdCBhdXRvIHJlc3BvbnNpdmVuZXNzVGltZW91dCA9IDNfczsKIAog
UmVzcG9uc2l2ZW5lc3NUaW1lcjo6UmVzcG9uc2l2ZW5lc3NUaW1lcihSZXNwb25zaXZlbmVzc1Rp
bWVyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAppbmRleCBhM2ZiNzcwZjVjZGJj
ZGNiNWZhNzdhYjRkMmYwYjU0NzQ0ODkwZjZmLi4zZWQ1NTc1MzE2YmZkZDAzNjUwMzdhZDZhOGJk
N2Q0YWE4NDdiNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRl
ZExpbmtTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5r
U3RvcmUuY3BwCkBAIC05OCw3ICs5OCw3IEBAIHZvaWQgVmlzaXRlZExpbmtTdG9yZTo6YWRkVmlz
aXRlZExpbmtIYXNoKExpbmtIYXNoIGxpbmtIYXNoKQogICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5r
cy5hZGQobGlua0hhc2gpOwogCiAgICAgaWYgKCFtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIFZpc2l0ZWRMaW5rU3RvcmU6OnJlbW92ZUFsbCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCA5NzM2MThkMmM1ZjNhYjAy
ZDg1NmY3YWNmZWRiMzAwMGI3ZDJlZmEwLi5mMjg3ZjVhYTZlN2U1NGJkY2M0NjY3YzA2ZDM2Yzkx
NDU4ZTgwNjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBXZWJQcm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2woQVBJ
OjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX2Fsd2F5
c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eShtX2NvbmZpZ3VyYXRpb24tPmFsd2F5c1J1bnNBdEJh
Y2tncm91bmRQcmlvcml0eSgpKQogICAgICwgbV91c2VyT2JzZXJ2YWJsZVBhZ2VDb3VudGVyKFt0
aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsg
fSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWRGb3JQYWdlQ291bnRlcihbdGhp
c10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0p
Ci0gICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNd
KFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVT
aG90KDApOyB9KQorICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3Vu
dGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOyB9KQogICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVy
KFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdl
VGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KQogewogICAgIGZvciAoYXV0byYgc2NoZW1lIDog
bV9jb25maWd1cmF0aW9uLT5hbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMoKSkKQEAgLTU5NSw3
ICs1OTUsNyBAQCBXZWJQcm9jZXNzUHJveHkmIFdlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQ
cm9jZXNzKCkKIAogICAgIHBhcmFtZXRlcnMuaWNvbkRhdGFiYXNlRW5hYmxlZCA9ICFpY29uRGF0
YWJhc2VQYXRoKCkuaXNFbXB0eSgpOwogCi0gICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVv
dXQgPSAwOworICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMF9zOwogCiAgICAg
cGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0YXRlID0gVGV4dENoZWNrZXI6OnN0YXRlKCk7CiAKQEAg
LTE0MTYsMTAgKzE0MTYsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFn
ZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCgpCiAgICAgLy8gV2UncmUgZXN0aW1hdGluZyBh
biB1cHBlciBib3VuZCBmb3IgYSBzZXQgb2YgYmFja2dyb3VuZCB0aW1lciBmaXJlcyBmb3IgYSBw
YWdlIHRvIGJlIDIwMG1zCiAgICAgLy8gKGluY2x1ZGluZyBhbGwgdGltZXIgZmlyZXMsIGFsbCBw
YWdpbmctaW4sIGFuZCBhbnkgcmVzdWx0aW5nIEdDKS4gVG8gZW5zdXJlIHRoaXMgZG9lcyBub3QK
ICAgICAvLyByZXN1bHQgaW4gbW9yZSB0aGFuIDElIENQVSBsb2FkIGFsbG93IGZvciBvbmUgdGlt
ZXIgZmlyZSBwZXIgMTAweCB0aGlzIGR1cmF0aW9uLgotICAgIHN0YXRpYyBpbnQgbWF4aW11bVRp
bWVyVGhyb3R0bGVQZXJQYWdlSW5NUyA9IDIwMCAqIDEwMDsKKyAgICBzdGF0aWMgY29uc3QgYXV0
byBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2UgPSAyMDBfbXMgKiAxMDA7CiAKLSAgICBpbnQg
bGltaXRJbk1pbGxpc2Vjb25kcyA9IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgKiBt
X2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIudmFsdWUoKTsKLSAgICBz
ZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEhpZGRlblBhZ2VUaW1l
clRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0SW5NaWxsaXNlY29uZHMpKTsKKyAgICBhdXRv
IGxpbWl0ID0gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlICogbV9oaWRkZW5QYWdlVGhyb3R0
bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7CisgICAgc2VuZFRvQWxsUHJvY2Vzc2Vz
KE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVh
c2VMaW1pdChsaW1pdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAKaW5k
ZXggODU3NDVhYzMwYWM3YjgzZTE0ODI0YmZmZWViYTY5MDkxM2U5YjQ0YS4uM2IyMjM3N2M4Mzkx
ZDNiODM2YzhhZDcwMGMzODRkMDAzZWZlNmQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAKQEAgLTEwMSw3ICsxMDEs
NyBAQCB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjplbnN1cmVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2UoKQogdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6dXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1
YWdlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZGVmYXVsdExhbmd1YWdlcykKIHsKICAgICBtX3Nw
ZWxsQ2hlY2tpbmdMYW5ndWFnZXMgPSBkZWZhdWx0TGFuZ3VhZ2VzOwotICAgIG1fbGFuZ3VhZ2Vz
VXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fbGFuZ3VhZ2VzVXBkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6Omxhbmd1
YWdlc1VwZGF0ZVRpbWVyRmlyZWQoKQpAQCAtMTI4LDcgKzEyOCw3IEBAIFZlY3RvcjxTdHJpbmc+
IFRleHRDaGVja2VyQ2xpZW50RWZsOjpsb2FkZWRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKCkgY29u
c3QKIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6Y2FsbENvbnRpbnVvdXNTcGVsbENoZWNr
aW5nQ2hhbmdlQ2FsbGJhY2tBc3luYygpCiB7Ci0gICAgbV9zcGVsbENoZWNraW5nU2V0dGluZ0No
YW5nZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hh
bmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgVGV4dENoZWNrZXJDbGllbnRF
Zmw6OmlzQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkQ2FsbGJhY2soY29uc3Qgdm9pZCop
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIu
Y3BwCmluZGV4IDdlMTU3N2NiYThiMTU3MDUyNjRlNWJhNTQ3NWZmYzU5NjJkYWI4ODkuLjkzZGRk
NzY4ZGJhNGNiZTAzMGQ0MzFlNGI0ZDg1N2E2ODhkMGY5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC0xMjcsNyArMTI3
LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OmJlZ2luKERyYWdHZXN0
dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgsIGQKICAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0
a19ldmVudF9jb250cm9sbGVyX2dldF93aWRnZXQoR1RLX0VWRU5UX0NPTlRST0xMRVIoZ2VzdHVy
ZSkpOwogICAgIHVuc2lnbmVkIGRlbGF5OwogICAgIGdfb2JqZWN0X2dldChndGtfd2lkZ2V0X2dl
dF9zZXR0aW5ncyh3aWRnZXQpLCAiZ3RrLWxvbmctcHJlc3MtdGltZSIsICZkZWxheSwgbnVsbHB0
cik7Ci0gICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoZGVs
YXkgLyAxMDAwLjApOworICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRP
bmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoZGVsYXkpKTsKIH0KIAogdm9pZCBHZXN0
dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6OnVwZGF0ZShEcmFnR2VzdHVyZSogZHJhZ0dlc3R1
cmUsIGRvdWJsZSB4LCBkb3VibGUgeSwgR3RrR2VzdHVyZSogZ2VzdHVyZSkKQEAgLTIwNiw3ICsy
MDYsNyBAQCB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2Vk
KFpvb21HZXN0dXJlKiB6b29tR2VzdHVyZSwgZG91YgogICAgIGlmICh6b29tR2VzdHVyZS0+bV9p
ZGxlLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHpvb21HZXN0dXJlLT5tX2lk
bGUuc3RhcnRPbmVTaG90KDApOworICAgIHpvb21HZXN0dXJlLT5tX2lkbGUuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIEdlc3R1cmVDb250cm9sbGVyOjpab29tR2VzdHVyZTo6Wm9vbUdlc3R1cmUo
V2ViUGFnZVByb3h5JiBwYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Z3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcAppbmRleCBkYzE5OGQ4NThmMTNhM2MxMjM2ZTUx
MWQzOGRiNjg1MjYxMzc4NGE0Li41MzE3ZmVkOWQ4OTI5M2FiZDQyMTJjMjA4NWQ2NGMyYjk0Mzdh
MTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVu
dVByb3h5R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVw
TWVudVByb3h5R3RrLmNwcApAQCAtMjYxLDcgKzI2MSw3IEBAIHZvaWQgV2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKEd0a1dpZGdldCosIFdlYlBvcHVwTWVudVByb3h5
R3RrCiAgICAgLy8gV2hlbiBhbiBpdGVtIGlzIGFjdGl2YXRlZCwgdGhlIG1lbnUgaXMgZmlyc3Qg
aGlkZGVuIGFuZCB0aGVuIGFjdGl2YXRlIHNpZ25hbCBpcyBlbWl0dGVkLCBzbyBhdCB0aGlzIHBv
aW50IHdlIGRvbid0IGtub3cKICAgICAvLyBpZiB0aGUgbWVudSBoYXMgYmVlbiBoaWRkZW4gYmVj
YXVzZSBhbiBpdGVtIGhhcyBiZWVuIHNlbGVjdGVkIG9yIGJlY2F1c2UgdGhlIG1lbnUgaGFzIGJl
ZW4gZGlzbWlzc2VkLiBXYWl0IHVudGlsIHRoZSBuZXh0CiAgICAgLy8gbWFpbiBsb29wIGl0ZXJh
dGlvbiB0byBkaXNtaXNzIHRoZSBtZW51LCBpZiBhbiBpdGVtIGlzIGFjdGl2YXRlZCB0aGUgdGlt
ZXIgd2lsbCBiZSBjYW5jZWxsZWQuCi0gICAgcG9wdXBNZW51LT5tX2Rpc21pc3NNZW51VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIHBvcHVwTWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjpzZWxlY3RJdGVt
Q2FsbGJhY2soR3RrV2lkZ2V0KiBpdGVtLCBXZWJQb3B1cE1lbnVQcm94eUd0ayogcG9wdXBNZW51
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQ
cm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJv
eHlNYWMubW0KaW5kZXggODE4YmQzOTBkNDgzZDA4MjJiYWU3OTM0ZTEwNmZkYmIwY2RmZjg1NC4u
ZGZhZDMyZWNlZjhjNDA4YTEwYjI1OTFmOGIwMzc3ODYyMTUzMzQxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC01
Miw3ICs1Miw3IEBAIHN0YXRpYyBjb25zdCBOU1VJbnRlZ2VyIHdpbmRvd1N0eWxlTWFzayA9IE5T
V2luZG93U3R5bGVNYXNrVGl0bGVkIHwgTlNXaW5kb3dTdHlsCiAKIC8vIFRoZSB0aW1lIHdlIGtl
ZXAgb3VyIFdlYlZpZXcgYWxpdmUgYmVmb3JlIGNsb3NpbmcgaXQgYW5kIGl0cyBwcm9jZXNzLgog
Ly8gUmV1c2luZyB0aGUgV2ViVmlldyBpbXByb3ZlcyBzdGFydCB1cCB0aW1lIGZvciBwZW9wbGUg
dGhhdCBqdW1wIGluIGFuZCBvdXQgb2YgdGhlIEluc3BlY3Rvci4KLXN0YXRpYyBjb25zdCB1bnNp
Z25lZCB3ZWJWaWV3Q2xvc2VUaW1lb3V0ID0gNjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB3ZWJW
aWV3Q2xvc2VUaW1lb3V0ID0gNjBfczsKIAogLy8gV0tXZWJJbnNwZWN0b3JQcm94eU9iakNBZGFw
dGVyIGlzIGEgaGVscGVyIE9iakMgb2JqZWN0IHVzZWQgYXMgYSBkZWxlZ2F0ZSBvciBub3RpZmlj
YXRpb24gb2JzZXJ2ZXIKIC8vIGZvciB0aGUgc29sZSBwdXJwb3NlIG9mIGdldHRpbmcgYmFjayBp
bnRvIHRoZSBDKysgY29kZSBmcm9tIGFuIE9iakMgY2FsbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXgg
ZTg5MWNkMDMyYjJmNDM2NjRiNjdlMDZkYmVjY2M4ZWUwMzU4ZGQ4Zi4uYzVmY2RlOTc3YTk4MWEz
NjBkNTAyNjY0ZThiNTYwMDliZmM1MmEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC05MSwxNCArOTEs
MTQgQEAgUmVmUHRyPE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyPiBXZWJMb2FkZXJTdHJhdGVn
eTo6c2NoZWR1bGVQbHVnaW5TdHJlYW1Mb2FkKEYKICAgICByZXR1cm4gbG9hZGVyOwogfQogCi1z
dGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNo
ZWRSZXNvdXJjZSogcmVzb3VyY2UpCitzdGF0aWMgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGlt
ZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiB7CiAjaWYgIUVOQUJMRShORVRXT1JLX0NBQ0hF
KQotICAgIHJldHVybiAwbXM7CisgICAgcmV0dXJuIDBfczsKICNlbmRpZgogCiAgICAgaWYgKCFy
ZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIDBfczsKIAogICAg
IHN3aXRjaCAocmVzb3VyY2UtPnR5cGUoKSkgewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkNT
U1N0eWxlU2hlZXQ6CkBAIC0xMDcsOSArMTA3LDkgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNWR0ZvbnRSZXNvdXJjZToKICNlbmRpZgogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHM6Om1heCgpOworICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5p
dHkoKTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlOgotICAgICAgICBy
ZXR1cm4gNTAwbXM7CisgICAgICAgIHJldHVybiA1MDBfbXM7CiAgICAgY2FzZSBDYWNoZWRSZXNv
dXJjZTo6TWVkaWFSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNYWluUmVzb3Vy
Y2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6UmF3UmVzb3VyY2U6CkBAIC0xMjQsMTEgKzEy
NCwxMSBAQCBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5n
VGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2Fz
ZSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVldDoKICNlbmRpZgotICAgICAgICByZXR1cm4g
MG1zOworICAgICAgICByZXR1cm4gMF9zOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiAwbXM7CisgICAgcmV0dXJuIDBfczsKIH0KIAogdm9pZCBXZWJMb2Fk
ZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwg
Q2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBib29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBT
VG9IVFRQUmVkaXJlY3QpCkBAIC0yMzEsNyArMjMxLDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVn
eTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVz
b3UKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQo
V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyKQogewogICAgIG1faW50ZXJu
YWxseUZhaWxlZFJlc291cmNlTG9hZGVycy5hZGQoJnJlc291cmNlTG9hZGVyKTsKLSAgICBtX2lu
dGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faW50ZXJuYWxs
eUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJMb2FkZXJT
dHJhdGVneTo6aW50ZXJuYWxseUZhaWxlZExvYWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RN
YXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVu
dGltZU9iamVjdE1hcC5jcHAKaW5kZXggNDk5MjBmMmNhYTg0Zjc2OWI2MmQyNDYyYTljOTgwN2Y1
MjBjZjNlZC4uMWMxZWU2MjFkMjRiNzBhZjNhYWRhMTMzMTA2MjQyN2EzMDJjNjBjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGlt
ZU9iamVjdE1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKQEAgLTI5Myw3ICsyOTMsNyBAQCB2b2lkIE5Q
UnVudGltZU9iamVjdE1hcDo6YWRkVG9JbnZhbGlkYXRpb25RdWV1ZShOUE9iamVjdCogbnBPYmpl
Y3QpCiAgICAgaWYgKHRyeVNhZmVSZWxlYXNlTlBPYmplY3QobnBPYmplY3QpKQogICAgICAgICBy
ZXR1cm47CiAgICAgaWYgKG1fbnBPYmplY3RzVG9GaW5hbGl6ZS5pc0VtcHR5KCkpCi0gICAgICAg
IG1fZmluYWxpemF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ZpbmFsaXph
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIEFTU0VSVChtX2ZpbmFsaXphdGlvblRp
bWVyLmlzQWN0aXZlKCkpOwogICAgIG1fbnBPYmplY3RzVG9GaW5hbGl6ZS5hcHBlbmQobnBPYmpl
Y3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKaW5kZXggNWM5YTkxODI0NTY2YTQ2MzAx
MGMwZTczOTY4MDM0NTdlMzMzNDc3ZC4uMWNkZmVjZjNhOTA5N2Q1ZjhkM2FkYzczYjcxYjA5NDkw
YzgyYTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCkBAIC0zMjYsNyArMzI2LDcgQEAg
TmV0c2NhcGVQbHVnaW46OlRpbWVyOjp+VGltZXIoKQogCiB2b2lkIE5ldHNjYXBlUGx1Z2luOjpU
aW1lcjo6c3RhcnQoKQogewotICAgIGRvdWJsZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8g
MTAwMC4wOworICAgIGF1dG8gdGltZUludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25k
cyhtX2ludGVydmFsKTsKIAogICAgIGlmIChtX3JlcGVhdCkKICAgICAgICAgbV90aW1lci5zdGFy
dFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVh
bS5jcHAKaW5kZXggN2Q1NGQ4OGM3ZTg5OGM1Y2UwYmFkZjFkNzY5YjJlNWQzNWQ5YTI1NC4uMjM0
OTkxMzBjYzU5NjViY2E2MWI3YjgyODJlOTVkM2E3ZmY3YjdlZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFt
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0
c2NhcGVQbHVnaW5TdHJlYW0uY3BwCkBAIC0yMjIsNyArMjIyLDcgQEAgdm9pZCBOZXRzY2FwZVBs
dWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUb1BsdWdpbigpCiAKICAgICAgICAgaWYgKG51bUJ5dGVz
UGx1Z2luQ2FuSGFuZGxlIDw9IDApIHsKICAgICAgICAgICAgIC8vIFRoZSBwbHVnLWluIGNhbid0
IGhhbmRsZSBtb3JlIGRhdGEsIHdlJ2xsIHNlbmQgdGhlIHJlc3QgbGF0ZXIKLSAgICAgICAgICAg
IG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9kZWxp
dmVyeURhdGFUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCmluZGV4IGI5MjZk
YjA5MDJmNWI4Zjc1MDQ3ZmVhZGMyYzU0M2M2YWNjMmU1ZTAuLjUwNDQyYTdlNjg3MmUwOTExM2Zj
M2Q0YzYyNjVkOTIxNmVjYzMzNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1h
Yy5tbQpAQCAtNDUsNyArNDUsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiAjaWZuZGVmIE5QX05PX0NBUkJPTgotc3RhdGljIGNvbnN0IGRvdWJsZSBu
dWxsRXZlbnRJbnRlcnZhbEFjdGl2ZSA9IDAuMDI7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBudWxs
RXZlbnRJbnRlcnZhbEFjdGl2ZSA9IDAuMDJfczsKIAogc3RhdGljIHVuc2lnbmVkIGJ1dHRvblN0
YXRlRnJvbUxhc3RNb3VzZUV2ZW50OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXggYWMxZGFhYmFkMDYzYTQ5NjI2YjM3ZTA0MDJl
OWViZjU0OTJkM2IxYi4uMzkxYzBlODU4MzA5ZDEwYTkyZmYzN2Q4YTdkZDdkOTUzZTMyYWI4MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNw
cApAQCAtNzgsNyArNzgsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAvLyBUaGlzIHNpbXVsYXRlZCBtb3VzZSBjbGljayBkZWxheSBpbiBIVE1MUGx1
Z0luSW1hZ2VFbGVtZW50LmNwcCBzaG91bGQgZ2VuZXJhbGx5IGJlIHRoZSBzYW1lIG9yIHNob3J0
ZXIgdGhhbiB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGF1dG8gcGx1Z2luU25hcHNob3RUaW1l
ckRlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDExMDAgfTsKK3N0YXRpYyBjb25z
dCBhdXRvIHBsdWdpblNuYXBzaG90VGltZXJEZWxheSA9IDEuMV9zOwogCiBjbGFzcyBQbHVnaW5W
aWV3OjpVUkxSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8VVJMUmVxdWVzdD4gewogcHVibGlj
OgpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVz
dHNUaW1lckZpcmVkKCkKIAogICAgIC8vIElmIHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIHRvIHBl
cmZvcm0sIHJlc2NoZWR1bGUgdGhlIHRpbWVyLgogICAgIGlmICghbV9wZW5kaW5nVVJMUmVxdWVz
dHMuaXNFbXB0eSgpKQotICAgICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKICAgICAKICAgICBwZXJmb3JtVVJMUmVxdWVzdCh1cmxSZXF1ZXN0LmdldCgpKTsKIH0K
QEAgLTE0MjMsNyArMTQyMyw3IEBAIHZvaWQgUGx1Z2luVmlldzo6bG9hZFVSTCh1aW50NjRfdCBy
ZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmCiAgICAgICAgIGZy
YW1lTG9hZFJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJlZmVycmVy
KTsKIAogICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzLmFwcGVuZChVUkxSZXF1ZXN0OjpjcmVhdGUo
cmVxdWVzdElELCBmcmFtZUxvYWRSZXF1ZXN0LCBhbGxvd1BvcHVwcykpOwotICAgIG1fcGVuZGlu
Z1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VSTFJlcXVl
c3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6Y2FuY2Vs
U3RyZWFtTG9hZCh1aW50NjRfdCBzdHJlYW1JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAppbmRl
eCBiODc4ZmJjOTg0MmUzZWJhZDY3ZjZmZjk4ZDc5OTBjOWNhNjMwNWU1Li43NGUyYzIzMzc0Y2E5
ZjNjNDVlYTMwODk3MjYzZjNmNWExYjExZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBA
IC0zNDIsNyArMzQyLDcgQEAgdm9pZCBBY2NlbGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ01vZGVTb29uKCkKICAgICBpZiAoZXhpdEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlUGVuZGluZygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2V4aXRDb21wb3Np
dGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2V4aXRDb21wb3NpdGluZ1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJ
UFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdD
b29yZGluYXRvci5jcHAKaW5kZXggZjNkYWVmYzc4NzZkOTgzYmUxNWM5YmJjMmRhYWMxODI1ZThh
YmMyNy4uOGVlN2RkZjE5ODJkOTE3ZmFmNzE1NWQxOTgzODRkNDMxZDg3OTRhYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAK
QEAgLTE1NSwxMSArMTU1LDExIEBAIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c3luY0Rp
c3BsYXlTdGF0ZSgpCiB9CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi1k
b3VibGUgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkg
Y29uc3QKK1NlY29uZHMgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZp
Y2VUaW1lKCkgY29uc3QKIHsKICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RBbmltYXRp
b25GcmFtZSBzcGVjLCByQUYgY2FsbGJhY2tzIHNob3VsZCBub3QgYmUgZmFzdGVyIHRoYW4gNjBG
UFMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMg
PSAxLiAvIDYwLjsKLSAgICByZXR1cm4gc3RkOjptYXg8ZG91YmxlPigwLiwgTWluaW1hbFRpbWVv
dXRGb3JBbmltYXRpb25zIC0gdGltZXN0YW1wKCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGlt
ZSk7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25z
ID0gU2Vjb25kcygxLjAgLyA2MCk7CisgICAgcmV0dXJuIHN0ZDo6bWF4PFNlY29uZHM+KDBfcywg
TWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gU2Vjb25kcyh0aW1lc3RhbXAoKSArIG1fbGFz
dEFuaW1hdGlvblNlcnZpY2VUaW1lKSk7CiB9CiAjZW5kaWYKIApAQCAtMzk4LDcgKzM5OCw3IEBA
IGJvb2wgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6cGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6
ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmCiAgICAgcmV0dXJuIG1fdXBkYXRlQXRsYXNlcy5sYXN0
KCktPnBhaW50T25BdmFpbGFibGVCdWZmZXIoc2l6ZSwgYXRsYXNJRCwgb2Zmc2V0LCBjbGllbnQp
OwogfQogCi1jb25zdCBkb3VibGUgUmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwg
PSAwLjU7Citjb25zdCBTZWNvbmRzIFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFs
ID0gMC41X3M7CiAKIHZvaWQgQ29tcG9zaXRpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVSZWxlYXNl
SW5hY3RpdmVBdGxhc2VzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuaAppbmRleCBmOThhMzZiYzI3YTdmMmJjZTE3N2QxMjdjZjk3
ZjY5ZGJlMWM3NTFhLi5lYmY2NWJiN2Y5Y2RiN2VjZTI3YmNmMDEwMzM3NWQ0Y2ZkOGUyMzg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN5bmNEaXNwbGF5U3RhdGUo
KTsKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLSAgICBkb3VibGUgbmV4
dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0QW5pbWF0aW9u
U2VydmljZVRpbWUoKSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXgg
OWY2YTgzMjFlM2YyNTFhYTVlMzZlNTM3MThkOGNhYTk3NzgwOTU2YS4uYzQ3YmIwN2NkNWQ1ZjI2
MDdlODM3NWVhMGQ1YmU0NzJjNjQ0YTU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC03OSw3ICs3OSw3IEBA
IHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sYXll
ckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0OjpjYW5jZWxQZW5kaW5nTGF5ZXJGbHVzaCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDU0YjRl
YWQ5ODNmNzU2YmQxNDhlMWFmNGNiZWQ2NDczOTgwNzk0MmQuLjBkMWI1MTAxMDY4NTE4NWY4MDMx
OWU5MDhiZWNmNzQ4Y2E1NThiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9p
ZCBEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxlRGlzcGxheSgpCiAgICAgaWYgKG1fZGlzcGxheVRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZGlzcGxheVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAxMmY0MWFhNjlmODA3
NTE5MzUyODNmYjliOTA2MjM4NjQ5MDU3YzUwLi4wMzY5NjhiN2IwNmNjZWMyYWZjMjUyYWYwNTY5
MTNhMDRlZTRjNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC0yNTMsOSArMjUzLDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBhZ2VTY3JvbGxIeXN0
ZXJlc2lzU2Vjb25kcyA9IDAuMzsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMjAgfTsKLXN0YXRpYyBj
b25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRl
cnZhbCB7IDIgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzID0g
MC4zX3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJ
bnRlcnZhbCA9IDIwX21zOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUxheWVyVm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCguLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBMYXllcnMs
IF9fVkFfQVJHU19fKQogI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKC4uLikg
UkVMRUFTRV9MT0dfRVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVycywg
X19WQV9BUkdTX18pCkBAIC0zMTQsNyArMzE0LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRf
dCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKCp0aGlzKQogI2VuZGlmCi0gICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMo
W3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0
YXRlOjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVy
ZXNpc1NlY29uZHMpCisgICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3Rl
cmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVk
KSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpcykKICAgICAs
IG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKHBhcmFtZXRlcnMuY2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKQogICAgICwgbV9jYW5SdW5Nb2RhbChwYXJhbWV0ZXJzLmNhblJ1
bk1vZGFsKQogI2lmIFBMQVRGT1JNKElPUykKQEAgLTIwNTYsNyArMjA1Niw3IEBAIHZvaWQgV2Vi
UGFnZTo6Y2FsbFZvbGF0aWxpdHlDb21wbGV0aW9uSGFuZGxlcnMoKQogCiB2b2lkIFdlYlBhZ2U6
OmxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewotICAgIGF1dG8gbmV3SW50ZXJ2YWwgPSAy
ICogbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbE1TKCk7CisgICAgYXV0byBu
ZXdJbnRlcnZhbCA9IG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIucmVwZWF0SW50ZXJ2YWwoKSAqIDI7
CiAgICAgYm9vbCBkaWRTdWNjZWVkID0gbWFya0xheWVyc1ZvbGF0aWxlSW1tZWRpYXRlbHlJZlBv
c3NpYmxlKCk7CiAgICAgaWYgKGRpZFN1Y2NlZWQgfHwgbmV3SW50ZXJ2YWwgPiBtYXhpbXVtTGF5
ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCkgewogICAgICAgICBtX2xheWVyVm9sYXRpbGl0eVRp
bWVyLnN0b3AoKTsKQEAgLTIwNjUsNyArMjA2NSw3IEBAIHZvaWQgV2ViUGFnZTo6bGF5ZXJWb2xh
dGlsaXR5VGltZXJGaXJlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNF
X0xPR19FUlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBhbGwg
bGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQgbXMiLCB0aGlzLCBzdGF0aWNf
Y2FzdDxsb25nIGxvbmc+KG5ld0ludGVydmFsLmNvdW50KCkpKTsKKyAgICBSRUxFQVNFX0xPR19F
UlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJz
IGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICUuM2YgcyIsIHRoaXMsIG5ld0ludGVydmFsLnZh
bHVlKCkpOwogICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRpbmcobmV3SW50
ZXJ2YWwpOwogfQogCkBAIC0yMDk2LDcgKzIwOTYsNyBAQCB2b2lkIFdlYlBhZ2U6Om1hcmtMYXll
cnNWb2xhdGlsZShzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiJXAgLSBG
YWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQg
bXMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5jb3VudCgpKTsK
KyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXll
cnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgaW5pdGlhbExheWVy
Vm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlU
aW1lci5zdGFydFJlcGVhdGluZyhpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCk7
CiB9CiAKQEAgLTI1MzUsNyArMjUzNSw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlSXNJbldpbmRv
dyhib29sIGlzSW5pdGlhbFN0YXRlKQogICAgICAgICAvLyBpbiBvcmRlciB0byBnZXQgcGx1Zy1p
biBjb25uZWN0aW9ucywgYW5kIHRoZSBVSSBwcm9jZXNzIHdpbGwgYmUgd2FpdGluZyBmb3IgdGhl
IFdlYiBwcm9jZXNzIHRvIHVwZGF0ZSB0aGUgYmFja2luZwogICAgICAgICAvLyBzdG9yZSBhZnRl
ciBtb3ZpbmcgdGhlIHZpZXcgaW50byBhIHdpbmRvdywgdW50aWwgaXQgdGltZXMgb3V0IGFuZCBw
YWludHMgd2hpdGUuIFNlZSA8cmRhcjovL3Byb2JsZW0vOTI0Mjc3MT4uCiAgICAgICAgIGlmICht
X21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cpCi0gICAgICAgICAgICBtX3NldENhblN0YXJ0TWVk
aWFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5wYWdlRGlkRW50ZXJXaW5kb3cobV9wYWdlSUQpOwogICAgIH0KQEAgLTM4NjcsNyArMzg2Nyw3
IEBAIHZvaWQgV2ViUGFnZTo6YWRkUGx1Z2luVmlldyhQbHVnaW5WaWV3KiBwbHVnaW5WaWV3KQog
ICAgIG1faGFzU2VlblBsdWdpbiA9IHRydWU7CiAjaWYgRU5BQkxFKFBSSU1BUllfU05BUFNIT1RU
RURfUExVR0lOX0hFVVJJU1RJQykKICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBE
ZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0ZWN0aW9uIGZyb20gYWRkUGx1Z2luVmlldyglcCkiLCBw
bHVnaW5WaWV3KTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCiB9CiAKQEAgLTQ0MDQsNyArNDQwNCw3
IEBAIHZvaWQgV2ViUGFnZTo6c2V0TWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyhib29sIG1heVN0
YXJ0TWVkaWEpCiAKICAgICBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgPSBtYXlTdGFydE1l
ZGlhOwogICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgJiYgbV9wYWdlLT5pc0lu
V2luZG93KCkpCi0gICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgV2ViUGFnZTo6cnVuTW9kYWwoKQpAQCAtNTE4Miw3ICs1MTgyLDcgQEAgdm9pZCBX
ZWJQYWdlOjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAogICAgIG1fcmVhZHlUb0Zp
bmRQcmltYXJ5U25hcHNob3R0ZWRQbHVnaW4gPSB0cnVlOwogICAgIExPRyhQbHVnaW5zLCAiUHJp
bWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBkaWRGaW5p
c2hMb2FkIChtYXJraW5nIGFzIHJlYWR5IHRvIGRldGVjdCkuIik7Ci0gICAgbV9kZXRlcm1pbmVQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRl
cm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNl
bHNlCiAgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKICNlbmRpZgpAQCAtNTE5NCw3ICs1MTk0LDcg
QEAgc3RhdGljIGNvbnN0IGZsb2F0IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblNlYXJjaEJ1Y2tl
dFNpemUgPSAxLjE7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1p
bmltdW1XaWR0aCA9IDQwMDsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luTWluaW11bUhlaWdodCA9IDMwMDsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cyA9IDI7Ci1zdGF0aWMgY29uc3QgaW50
IGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAzOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rp
b25EZWxheSA9IDNfczsKIHN0YXRpYyBjb25zdCBmbG9hdCBvdmVybGFwcGluZ0ltYWdlQm91bmRz
U2NhbGUgPSAxLjE7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWluaW11bU92ZXJsYXBwaW5nSW1hZ2VU
b1BsdWdpbkRpbWVuc2lvblNjYWxlID0gLjk7CiAKQEAgLTUzMDIsNyArNTMwMiw3IEBAIHZvaWQg
V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKCkKICAgICBpZiAoIWNh
bmRpZGF0ZVBsdWdJbikgewogICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBE
ZXRlY3Rpb246IGZhaWwgLSBkaWQgbm90IGZpbmQgYSBjYW5kaWRhdGUgcGx1Zy1pbi4iKTsKICAg
ICAgICAgaWYgKG1fbnVtYmVyT2ZQcmltYXJ5U25hcHNob3REZXRlY3Rpb25BdHRlbXB0cyA8IG1h
eFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzKSB7Ci0gICAgICAgICAg
ICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBh
Z2FpbiBpbiAlZHMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25E
ZWxheSk7CisgICAgICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rp
b246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBpbiAlLjNmcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5LnZhbHVlKCkpOwogICAgICAgICAgICAgbV9kZXRlcm1p
bmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoZGVmZXJyZWRQcmlt
YXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CiAgICAgICAgIH0KICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggOWJkOTcwZjk0YTVhMGQ2MjlmYmY2NjVhYzYzYTYyZDZhNDkzNzg4OC4uZmI2MGNiMGFlMDg2
MjlmZTBiYTY0MDk3MzcxZDkyNWUyYTQ1ZmVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0zMDAsNyArMzAwLDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY3RpdmVQ
b3B1cE1lbnUoV2ViUG9wdXBNZW51Kik7CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGltaXQpCisg
ICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRz
IGxpbWl0KQogICAgIHsKICAgICAgICAgbV9wYWdlLT5zZXRUaW1lckFsaWdubWVudEludGVydmFs
SW5jcmVhc2VMaW1pdChsaW1pdCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0KaW5kZXggNWE2NzMzNGQ4YWEzYTQ2MWIzMzhlMGI4ZWE4NDA3MWRkYzhkMDdkNC4u
OTFkOGE1NjUxZjg3NjAzNTg0MzE0ZWM2ZGZmYjEyNzMxOGRjY2UwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCkBAIC0yODUsNyArMjg1LDcgQEAgVGlsZWRCYWNraW5n
KiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6bWFpbkZyYW1lVGlsZWRCYWNraW5nKCkgY29u
c3QKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyRmx1c2hJbW1lZGlhdGVseSgpCiB7Ci0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRP
bmVTaG90KDBtcyk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKCkKQEAgLTMwNCw5ICszMDQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJG
bHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IGF1dG8g
aW5pdGlhbEZsdXNoRGVsYXkgPSA1MDBtczsKLSAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAx
NTAwbXM7Ci0gICAgYXV0byB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNo
ZXMgPyAobV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkg
OiBmbHVzaERlbGF5KSA6IDBtczsKKyAgICBjb25zdCBhdXRvIGluaXRpYWxGbHVzaERlbGF5ID0g
MC41X3M7CisgICAgY29uc3QgYXV0byBmbHVzaERlbGF5ID0gMS41X3M7CisgICAgYXV0byB0aHJv
dHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9pc0luaXRpYWxUaHJv
dHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERlbGF5KSA6IDBfczsK
ICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsKIAogICAgIG1fbGF5
ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IGY0ZWVhMDFmZTZlYTU3MWMzYjVjYjQz
MGY5YzE4NzQzY2U5YTQwY2MuLmNjY2YxYWMyMDU1NzhkYzRjYWM1ZjE4ZmRhMTk4ZmM3ZTdkMWQw
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNDcy
LDcgKzQ3Miw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5
U3RhdGVEaWRDaGFuZ2UoQWN0aXZpdHlTdGF0ZTo6RmxhZ3MKICAgICB9CiAKICAgICBpZiAobV93
YW50c0RpZFVwZGF0ZUFjdGl2aXR5U3RhdGUgfHwgIW1fbmV4dEFjdGl2aXR5U3RhdGVDaGFuZ2VD
YWxsYmFja0lEcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5U3Rh
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5
U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYTo6ZGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZGQwMGExOGQ5YjYyMTY1ZDkz
NjJhOTgyZTRmZTc2NTg4NzFlNTE5YS4uMjYzMmRiYWZiMjRjNjcyYjVjZTM0NTQxYzU4NDg4ZmQ2
OTgwNjJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0x
NDIsNyArMTQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBzdGF0aWMgY29uc3QgZG91
YmxlIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBkYXRlVGhyZXNob2xkID0gMjkgKiAy
NCAqIDYwICogNjA7CiAKIC8vIFRoaXMgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aWxlUmV2YWxp
ZGF0aW9uVGltZW91dCBpbiBUaWxlQ29udHJvbGxlci4KLXN0YXRpYyBjb25zdCBkb3VibGUgbm9u
VmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMDsKK3N0YXRpYyBjb25zdCBhdXRvIG5vblZp
c2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTBfczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
QEAgLTIxMSw3ICsyMTEsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAgICAgaWYg
KG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICAKLSAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hv
dChzdGQ6OmNocm9ubzo6c2Vjb25kcyg1KSk7CisgICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRU
aW1lci5zdGFydE9uZVNob3QoNV9zKTsKICAgICB9KTsKIH0KIApAQCAtNTM4LDcgKzUzOCw3IEBA
IHZvaWQgV2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKICAgICB1bnNpZ25l
ZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFj
aXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0
byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMg
eyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogICAg
IHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogICAgIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6
ZXMoY2FjaGVNb2RlbCwgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwg
Y2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBh
Z2VDYWNoZVNpemUpOwogCkBAIC0xMjQ0LDEwICsxMjQ0LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6
ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IE9wdGlvCiAgICAgfQogfQogCi12b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCit2b2lkIFdlYlByb2Nlc3M6
OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQp
CiB7CiAgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQotICAgICAgICBw
YWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kcykpOworICAgICAgICBwYWdlLT5zZXRIaWRkZW5Q
YWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCk7CiB9CiAKICNpZiAhUExBVEZP
Uk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0
MWJmZDU0ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFhMWYyN2I1YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3
NTY2ZGIzODM0ZWY3YzRmOTA3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCkBAIC0xODgsNyArMTg4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQ
YWdlcygpOwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VM
aW1pdChpbnQgbWlsbGlzZWNvbmRzKTsKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgdm9pZCBwcm9jZXNzV2lsbFN1c3Bl
bmRJbW1pbmVudGx5KGJvb2wmIGhhbmRsZWQpOwogICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IDZkNzZlNTgzMjZlZDM1MjRhYWM1YTk4NmM0OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4
YTZlNGE5NzA2YjFmYzFkNjY5YjFlMWM2Yjc4MjAyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVz
c2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURh
dGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0
aW1lX3BvaW50IG1vZGlmaWVkU2luY2UpIC0+ICgpCiAgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JP
cmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6Oldl
YnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YT4gb3JpZ2lucykgLT4gKCkKIAotICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCisgICAgU2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICBTZXRQcm9jZXNz
U3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBT
ZXRRT1MoaW50IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGFmYjIyOTI4ODI5M2MwYjczYmRh
ZGJhOTY1MTc3YWYyYTM4ODVkMTUuLjQzNjlmNDEzN2RjMTY5OGRmYmZmM2RiMTU2Nzg2NGUwM2My
NGI1ZDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29w
LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE2LTEyLTAyICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIEFkb3B0IHRoZSBQ
Uk9EVUNUX0JVTkRMRV9JREVOVElGSUVSIGJ1aWxkIHNldHRpbmcKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5OGVlODA1
Y2M2ZmZlZDZmZTNkYi4uNWE0ODkyOGZjYjVmMDgyMTYxOGE4ZDJhNDdhYTUxOGZiZGQzYjU2MyAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1LDcgKzk1
LDcgQEAgVEVTVChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAgICAgICBE
ZXJpdmVkVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRPbmVT
aG90KDAuMSk7CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiAgICAgICAgIFV0
aWw6OnJ1bigmdGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CkBAIC0xMjksNyArMTI5LDcgQEAgVEVT
VChXVEZfUnVuTG9vcCwgUmVwZWF0aW5nVGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRU
aW1lciB0aW1lcih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygw
LjAxKTsKKyAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMV9zKTsKICAgICAgICAgVXRp
bDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296120</attachid>
            <date>2016-12-04 20:44:36 -0800</date>
            <delta_ts>2016-12-04 23:00:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161204204358.patch</filename>
            <type>text/plain</type>
            <size>380882</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZThlNTQyZjhiY2IxNzdmMjQ1NWEyOTczNzllNzg4NGQ5YTg1OGVmLi5mODJmNzE0ODNmMDAzMDQ0
YTIzNmNlNGUyZTA1OGQ5OTUwMjc5YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6
OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKToKKwogMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHog
YW5kIHBvcGNudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCA0ZjEyZWQzNGQ4NGU3MzgyMjViMDUwYzk3YmEyYmYxZTM1NjRmNGQ0
Li5hNjMyNjk2NWI5ZjJjNTY3MTU3YWIwOTJiZmVhNmQ0M2QyMWVlMGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAg
ICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJh
c2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvY2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdU
Rjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAg
ICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5M
b29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5j
cHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAq
IHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnQpOgorCiAyMDE2LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFN5bWJvbEltcGwgbGF5b3V0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZmFmYzg3YzQ3ZmM3NTJkNmMyMGI5ODkwNTU3ZTdmM2E2NTZmMDJmZC4uNzFmNDUwYjY4MDk5
YjA5M2YxNWFmZmI4NTFmMTE0NGZlNWYxNjIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyNyBA
QAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91Ymxl
cyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
Tm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6
OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpz
dGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZUNvbXBsZXRlZE9wZXJhdGlv
blRpbWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3Ap
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24p
OgorICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZp
c3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVs
ZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVu
dERlbGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29r
aWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRF
dmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5x
dWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01p
Y3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
Y2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRp
b25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNsZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFsdGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6
CisgICAgICAgICogZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0
b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVu
dFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vl
a1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRl
KToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnJlc3VtZSk6CisgICAgICAgICogaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICAoTWVk
aWFDb250cm9sbGVyOjpjdXJyZW50VGltZSk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlRXZlbnQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRh
dGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBo
dG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVudDo6
bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MpOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9u
OjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6CisgICAgICAgICogaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRT
dGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0
VG9IaWRlTWVzc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpsb3NlQ29udGV4dEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCk6
CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6c2NoZWR1bGVGb3JS
ZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6cmVzdW1lKToK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6
OnVwZGF0ZVNpemVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZU
VFJlZ2lvbjo6c3RhcnRUaW1lcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hl
ZHVsZUZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpkaXNwYXRj
aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjp0aW1l
ckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTZWdtZW50KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0
YUxvYWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1
YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5nRXZlbnQpOgorICAgICAgICAqIGxv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRp
b25TY2hlZHVsZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSk6CisgICAgICAgICogbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNhbGxiYWNr
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpDYWxs
YmFjayk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpwcnVuZVNvb24pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAg
ICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAgICogcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFu
Z2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjp1c2VyR2VzdHVyZVRv
a2VuVG9Gb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0pOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVGltZXI6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgICogcGFnZS9ET01UaW1lci5o
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0SW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VD
b250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjpN
YXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlv
blRyYWNrZXI6On5NYXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3Vz
ZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0
YXRlVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpwYXJzZUV2ZW50
U3RyZWFtTGluZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBh
Z2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUu
Y3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZW5hYmxlU3BlY3Vs
YXRpdmVUaWxpbmdJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
dXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5k
YWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6
c3RhcnRPbmVTaG90KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmlj
YXRpb25UaW1lcik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFy
dFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlKToKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
bik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldp
bmRvdy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJ
bmRpY2F0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1p
dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgor
ICAgICAgICAqIHBsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpIeXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3Nl
ZFBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
OjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6
OlRocmVhZFRpbWVycyk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJl
ZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50
ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0
ZWRFdmVudExvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NU
aGFuRnVuY3Rpb246Om9wZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpU
aW1lckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjpuZXh0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tD
b25zaXN0ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6
aGVhcFBvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cjo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vj
b25kc1RvTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJ
bnRlcnZhbE1TKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bV9sYXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0
U25hcFJ1YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVy
OjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXApOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dh
bWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW06CisgICAgICAgICog
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQWRkZWQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRlcm5h
bFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpu
ZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dC
bHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRj
aEJ1ZmZlclB1cmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250
cm9sbGVyOjpzZXRJc0luV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVy
OjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24pOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2
YWxpZGF0ZVRpbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29o
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxF
eHBpcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExh
c3RVc2VUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcDoKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpz
ZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoVmlkZW9SZW5kZXJSZXF1ZXN0U2NoZWR1bGVyOjpyZXF1ZXN0UmVuZGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVhZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFk
ZEFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JH
dGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycyk6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkxlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAg
ICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbik6CisgICAgICAgICogcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyTGludXguY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJh
clBhaW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRD
b250ZW50QXJlYVNjcm9sbGVkU29vbik6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjphdXRv
c2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrOjpzZXRPcmllbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRNb2Nr
Ojphc3luY1VwZGF0ZVBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25D
bGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNC
eU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJG
aXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9k
dWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWspOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJh
c2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGlu
Z1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9y
ZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGlu
Z1JlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxs
KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hcnF1ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
cnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6
Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6
Om1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJl
cGFpbnQpOgorICAgICAgICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRT
b29uKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgor
ICAgICAgICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAg
ICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6ZXZlbnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxh
eWluZ0lucHV0Q3Vyc29yLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZH
TG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29u
dGFpbmVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8p
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50
ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJl
cXVlc3Q6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnBy
ZXBhcmVUb1NlbmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIw
MTYtMTItMDQgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQ
YXJzZXJdIEVsaW1pbmF0ZSBpbi1wbGFjZSBsb3dlcmNhc2luZyBpbiB0aGUgcGFyc2VyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA2NjJjYTI0MTk1YWM0YjQ2MzFjMTczMjNhZTQxZWFmZjJjM2FhOTRjLi4zNmRiNGNk
NWNlZDk2NTk3MzEzNDVmZWE5ZmE3OGM2OTMyN2JkMDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VU
cmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChX
ZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVu
ZGluZ1JlcXVlc3RzKToKKwogMjAxNi0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdW1dLMV0gSW1wbGVtZW50IG5ldyBIVE1MIGludGVyYWN0aXZl
IGZvcm0gdmFsaWRhdGlvbiB1c2VyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGVjMTU5
MmNmYjA2NWNjNzk4NTI2ODMzZmJjYmZhMWIwMDVjZmU5MzIuLjllOTg2NWUxZjU2OWJjY2NlMmM3
NDYyNDZkZTNmM2E2ZDY0MzI4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBv
ciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omxv
YWRSZXF1ZXN0KToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
OgorICAgICAgICAoV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBf
c2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxNi0xMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHRoZSBiZWhhdmlvciBvZiBzY3JvbGwt
aW50by12aWV3IHdoZW4gdGhlIHRhcmdldCBpcyBpbnNpZGUgcG9zaXRpb246Zml4ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2ZTFkN2FiZTJlLi5h
Yzk5Y2ZkYzZmYTQwYjJlNWJlNjRmOTdiODk3NDNmN2FhZjVmNTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAg
ICAgKiBQbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
UGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblN0cmVh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAg
ICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
c2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6a2VlcEFsaXZlKToK
KyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZh
bGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJWaWV3OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYlZpZXc6OmNsb3NlV2luZG93U29v
bik6CisgICAgICAgIChXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisKIDIwMTYt
MTEtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dURl0gSW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdU
Rjo6T3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1NGVmM2JlNTJmMGNjNGZmNjhiMGZmYjBiMWMzMDA0
MjU0MzJmNWU5Li45YTgzYTgzZDU3YWMzOTU0NjQ3ZTQ0OTRlYmZkNzZmZThjYjEwNWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTY3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkg
U2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVG
YWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+
OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNz
OjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9k
ZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRUZXJtaW5hdGlvblRp
bWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVy
Ojppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgorICAgICAgICAqIFNo
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06CisgICAgICAgIChBUEk6
OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKToKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJv
Y2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVy
Ojpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxs
eUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6
OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNv
b24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdp
blZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbklu
V2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVs
eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAxNi0xMi0wMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gRXhwb3NlIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudCB2aWEgdGhl
IE9iamVjdGl2ZS1DIGJ1bmRsZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdl
NmViNTBhYzRiMDY0NWNjOWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFj
OTU3NTNlMTk5MTE3MmE0NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdh
cmJhZ2VDb2xsZWN0aW9uKEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNv
bGxlY3Rpb25FdmVudHNUYXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9S
dW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhi
Y2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4uNjNkMGM3OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZj
NDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtODgsMTAgKzg4LDggQEAgcHVibGljOgogICAgICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGljaXQgVGltZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgflRpbWVyQmFzZSgpOwogCi0gICAgICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdElu
dGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50
ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQotICAgICAgICB2b2lkIHN0
YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFsc2UpOyB9CisgICAgICAgIHZvaWQgc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1
ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
c3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2
YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQo
U2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CiAKICAgICAgICAgUnVuTG9v
cCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIu
aCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCmluZGV4IDM3ODBlNzZjMDMxMzEwNGFl
YzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLjZjNGZkNmVjMWE4MDVjNDEzNDA2MGY0N2U3NjQ2NDhk
NDdhZDc4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGlj
OgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFp
ciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxl
UGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJs
ZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJ
bnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAg
dm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsg
fQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNo
b3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMyZTIzYmE3YmY5NTczYzMx
YjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5Yzg4NTIwZWZlNWJlYTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiArNTIsMTIgQEAgc3RhdGlj
IHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dCkKICAgICB0
aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBSdW5Mb29wVGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxp
ZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9
IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRp
bWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgbV90
aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLnZhbHVl
KCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZvaWQgUnVuTG9vcFRpbWVy
QmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVsZVBhaXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThhOTg2ZGU5MjNlODcyOTI0
NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5OGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nm
L1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQp
CiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAgICAKICAgICBDRlJ1bkxv
b3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIENGVGlt
ZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZpcmVJbnRlcnZhbCA6IDA7
Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLCBy
ZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKKyAgICBDRlRpbWVJ
bnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwudmFsdWUo
KSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVy
dmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkp
OwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3AuZ2V0KCksIG1fdGlt
ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3NGM2NzUwZGFlNTk2Li42
MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZWZsL1J1
bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1bkxvb3A6OlRpbWVyQmFz
ZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1lci0+bV9pc1JlcGVhdGlu
ZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwogfQogCi12
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0aXZlKCkpCiAgICAgICAg
IHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgQVNTRVJUKCFtX3Rp
bWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwsIHJl
aW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCksIHRoaXMpOworICAgIG1f
dGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZWludGVy
cHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKIH0KIAogdm9pZCBS
dW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2Vu
ZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BH
ZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQxNjdlYzdiNWZkYTI2NjM4
Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEyICsyNjMsMTIgQEAgUnVu
TG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQor
dm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRhc2sgPSBTY2hlZHVsZWRU
YXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAgICB9LCBTZWNvbmRzKGlu
dGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVwZWF0aW5nKTsKICAgICBt
X3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNrKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1NjI3OGJhNmI3ZmYwMjFj
MGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0Njg3ODEzNjMzYTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQg
UnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAgIGdfc291cmNlX3NldF9y
ZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0KIAotdm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9p
ZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUludGVydmFsLCBib29sIHJl
cGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRp
b248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWxEdXJhdGlvbiA9IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBh
dXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29uZHM6Om1heCgpOwogICAg
IGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAgICAgICBzYWZlRHVyYXRp
b24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRz
PihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5M
b29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcAppbmRleCA0YjQ1
YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAyMWY3ZGI0Y2EyYTI4YjE5
ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVu
TG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCkBAIC0x
NTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0
b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIG1faXNSZXBlYXRp
bmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJzLnNldChtX0lELCB0aGlz
KTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNzYWdlV2luZG93LCBtX0lE
LCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRUaW1lcihtX3J1bkxvb3Au
bV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbC5taWxsaXNlY29u
ZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBmYWYyMTIwMmExMzBiOTJl
NWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLjYwYTk3NzhmYTY2OTdhZjViMWMxNWE3NDI3YzgyY2M3
MTEyZDZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IGNl
Yzk3Y2M5MDJlNDUwNjg5N2ZlZmJkM2VhZTJmOTc5MDdhYWNjMTYuLjU4NmM1OTY4NjFkYWI3MGRk
YzJiNjg2MWMyYzcxNjgxNzU5YTM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01OSwxMyArNTksMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBHZW9Ob3RpZmll
cjo6cnVuRXJyb3JDYWxsYmFjayhQb3NpdGlvbkVycm9yKiBlcnJvcikKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7CiAgICAgaWYgKG1fb3B0aW9ucy0+aGFzVGltZW91
dCgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX29wdGlvbnMtPnRpbWVvdXQoKSAv
IDEwMDAuMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHMobV9vcHRpb25zLT50aW1lb3V0KCkpKTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6
c3RvcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKaW5kZXggODVhZTQwZjYzNDE3NTMyNzE2NzJmM2EzNzdmZTk5M2RmNGEz
MThjMC4uYzA5YzM3OWIwMjk2NDNkYTkwY2Q4YzU2NDc0M2E3MTU1MDZmMGZkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAg
LTE5OCw3ICsxOTgsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQogICAgIEFjdGl2ZURP
TU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDA1ZGEwMmZiMjkwNzJjNWM1MGRjNmJiZDUxZmEwYjdlYzk2
NTk0ZDUuLmNiODFiODk0OGJkMGJhMGEyNWE3MTYwNzMxZDVkZWI0YzRmYTNlYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
QEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZVBlbmRpbmdP
cGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNl
LT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQpA
QCAtNDQyLDcgKzQ0Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlQ29tcGxldGVk
T3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFz
ZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVkT3BlcmF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9wZXJhdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggOTkxMDE1N2MyZDhiOWE4YTli
NTk2ZTI0N2I1YmMwYzVjYTdjMGZkNS4uZmJkYTFhZDEwMmE4MDUxN2E1YjlmMmI0ZDcxNWRjOWI4
OGUwMDhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNDk0LDcgKzE0OTQsNyBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpOwogCiAgICAgaWYg
KCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9X
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3YTMzNjlmMTBlNTMwZTRkYzg3ZTcxN2Q1
Njc1ZjcwOTExM2I4MGU5Li5jOTdhNDQ0ZDllOWJhMDA4YmJkNGQ2MmI2ZmIxYWE0OTdmZGM0NzQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGFza0RlbGF5SW50ZXJ2YWwg
PSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGFza0RlbGF5SW50ZXJ2YWwgPSAw
LjFfczsKIAogc3RydWN0IENsaWVudFN0YXRlIHsKICAgICBleHBsaWNpdCBDbGllbnRTdGF0ZShX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQsIHVpbnQ2NF90IGNvbnRleHRJZCkK
QEAgLTQyMyw4ICs0MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZmluZChX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQsIHVpbnQ2NAogCiB2b2lkIFdlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogewotICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gNjAgKiA2
MDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kID0gOCAqIDYwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IFNlY29uZHMoNjAgKiA2MCk7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSBTZWNv
bmRzKDggKiA2MCk7CiAKICAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tU
YXJnZXQtPmhhc0FjdGl2ZVJvdXRlKCkpIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3Ao
KTsKQEAgLTQ0MiwxNCArNDQyLDE0IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29u
ZmlndXJlV2F0Y2hkb2dUaW1lcigpCiAgICAgfQogCiAgICAgaWYgKHN0b3BUaW1lcikgewotICAg
ICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMDsKKyAgICAgICAgbV9jdXJyZW50V2F0
Y2hkb2dJbnRlcnZhbCA9IDBfczsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAg
ICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lciAtIHRpbWVyIHN0b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUg
aW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgYXV0
byBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBp
ZiAoaW50ZXJ2YWwgIT0gbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1Rp
bWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNo
b3QoaW50ZXJ2YWwpOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIs
IGludGVydmFsKTsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwg
aW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCA9IGludGVydmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1
N2Q1OGVmOTE0Y2IyM2YxOTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRj
NmQ0NmExM2FkM2MxZjExYjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0x
MDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4g
bV9wbGF5YmFja1RhcmdldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlv
blRhc2tzIG1fdGFza0ZsYWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWwgeyAwIH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
OwogICAgIGJvb2wgbV9leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3RhcmdldENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2Vy
RW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBh
YWZjMjFlMDU1Mjg0Yi4uZDY0ZWM2M2UzNTE0ODE0ZmFjMzUxMzBmYzExMzkyNzI0YTYzNjBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92
YWwoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8g
NS4gUmV0dXJuIGNvbnRyb2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBz
dGVwcyBhc3luY2hyb25vdXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0Owog
ICAgIG1fcGVuZGluZ1JlbW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFNvdXJjZUJ1ZmZlcjo6YWJvcnRJZlVwZGF0aW5nKCkKQEAgLTUzMyw3ICs1MzMsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkudXBkYXRl
c3RhcnRFdmVudCk7CiAKICAgICAvLyA2LiBBc3luY2hyb25vdXNseSBydW4gdGhlIGJ1ZmZlciBh
cHBlbmQgYWxnb3JpdGhtLgotICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICByZXBv
cnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkNTJhNDhhNTNkYWUyODhjODQ3
MTlmZGMxZTFlZWJkNDdlZTZlNTcuLjFmOWY3MTAzZGUyZWM5ZWYxNTk2OTgyMjhmMjUwMzIyZTk5
ODQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1
bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hlZHVsZWRBY3Rpdml0eUV2ZW50cy5hcHBl
bmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogCiAgICAgaWYgKCFt
X2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FjdGl2aXR5RXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50VGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCA1ZGQyZjFlNDFjZjUxMjI5NmQ3NGQyMGMxYmQ3YzQ4YmIyYjIy
ZDc5Li5hMmJlZmM1NDQ2M2ViZjQzNTAxYmI2MTM4ZGRlZDc1MzBkYjQ0YTU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlzcGF0Y2hF
dmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdU
Rk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBS
VENEVE1GU2VuZGVyOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCAw
NTFjNzAxNDlhZTJkYTEyZTYwMGE0MDUwZjA5YzFlYzhiZmQ1NzU2Li4yZGJjYWYxZjIxYmZkNDk4
ODAwNzBhM2Q4M2RiOGFlYTgyZTJlYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMjM3LDcgKzIzNyw3IEBA
IHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYg
ZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKIAog
ICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc2No
ZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2NoZWR1bGVkRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkx
Mjg3NWFiZjgwYjJkZGRlODM3YTdlNy4uYmI4NzE5ZDgyZjUyMDg2YTBlNDNiN2QwZTg0OGIxODIy
OGRhZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIC8v
IEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNo
b3VsZCBub3QgYmUgY2hhbmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCiAgICAgLy8gQnV0IHRoZSBy
ZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0
IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7Ci0gICAg
bV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3
NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGViZmUwLi45MjVlYjk2YTMxYzM4OGU2NjU4N2M5
OWM1NDZkZTg5MzdlZjY0NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQs
NyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZv
aWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNE
ZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBy
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVmcyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0
b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgfQogICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
ICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IDg2MDkxNDIwOWM4YmIzNDI4MDQwYWExNGZjOWZj
ZDAzZDBkZDVjNTkuLjMzYjAyMjBlOTQ3Zjg0MzcwNjI3YjE2MjExZTZlYzI0OTA5ZWQxYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAt
NzYsNyArNzYsNyBAQCBib29sIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0
ZXJuJiBwYXR0ZXJuKQogCiAgICAgbV9wYXR0ZXJuID0gc2FuaXRpemVkOwogCi0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBt
X3N0YXRlID0gU3RhdGU6OldhaXRpbmc7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBWaWJyYXRpb246OnRpbWVyRmlyZWQoKQogICAgICAgICBtX3ZpYnJhdGlv
bkNsaWVudC0+dmlicmF0ZShtX3BhdHRlcm5bMF0pOwogICAgICAgICBicmVhazsKICAgICB9Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9wYXR0ZXJuWzBdIC8gMTAwMC4wKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fcGF0dGVyblswXSkp
OwogICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggYmVkOTM2MjY3ZDU2ODRmYzc4ODE3
MDkxZjExZjA3YzQ1ZWFiM2I3OS4uMDhlMTJhMTYwMWM4YTI0ZTZhYjZjMjI0NDYyN2QxMGFkYzRm
MjkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6cmVzdW1lKCkKICAgICAg
ICAgbV9jaGFubmVsLT5yZXN1bWUoKTsKICAgICBlbHNlIGlmICghbV9wZW5kaW5nRXZlbnRzLmlz
RW1wdHkoKSAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIEZpcmUg
dGhlIHBlbmRpbmcgZXZlbnRzIGluIGEgdGltZXIgYXMgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4
ZWN1dGUgYXJiaXRyYXJ5IEpTIGZyb20gcmVzdW1lKCkuCi0gICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCmluZGV4IDgwZGJiNGJhMGVlM2IyYzQ3MzNjODFkMmUxYjg1OTdkOGJiZTc4YzQuLjY4Y2My
YzA2YjU4YjNlYjIyNWQ4MDJkY2VmZjRjOTJmMjkxNzc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4
aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpX
ZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCYgY2xpZW50LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZk
b2N1bWVudCkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Nl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5l
bD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhh
bmRzaGFrZSBtYXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBk
ZXJlZmVyZW5jZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAg
ICAgaWYgKG1fY2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1l
KTsKKyAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50
TGlmZXRpbWUgKiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0
cmluZyYgcmVhc29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
cmVzdW1lKCkKIHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVy
LmlzRW1wdHkoKSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQx
ZTgyMDVhMTE2MTJmMGRhZjg0MTBiOGU2MzE4OThhMWUyNmMwNzQuLjBmNGUxMWM1ZmI0YjJiMTE5
MmQ2NmU3ZWIxYWZiMjMxZmU5OTEyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdl
IG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQg
aW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMg
b2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nl
c3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOwor
c3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRp
b25JbnRlcnZhbCA9IDAuMDI1X3M7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5TGl2ZVJl
Z2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDJfczsKIAogQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9y
ZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVu
dCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3VzbHkpIHsKICAgICAg
ICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihvYmplY3QsIG5v
dGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iamVjdCwg
bm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBkMzYxYzJjYzRiMjQ5ZmYwODM1ODJlMjUuLmU2
ZTY1NjkwZDNiMmQxYmU0ZDEzZDkwZGRjNDA1NzFmOTIzYzE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEdD
Q29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29uKCkKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewogICAgIGlmICghbV9HQ1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fR0NUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdjVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAyNTY3MWMxZGUwOWI1NTBiZDcx
OWM5Y2Y1Yjk1OGU1ZmIyMjU1NjRkLi5kZGI4ZjhiM2M0MTgyMDE4OTBmODBjYzBmNmNlZjNjYmQx
YmJkYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTQ5Nyw3ICs0OTcsNyBA
QCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5ld1N0YXR1cykKICAgICB9CiAK
ICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykKLSAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDAgOiAz
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3
YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBpZiAobmV3U3RhdHVzID09IFN0
YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKaW5kZXggZTg0OTg4ZWJlMDZiNmY1NmUyMmM3ZmUyNDZjNmRhNGJlYmZiNmEyYi4uNDQwNDFk
NjNhNzBiZDY5ZWEyMjM2NDBiZDUwYzVhMzMyZjE1NzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9udCYgZm9udCkKICAgICAvLyBhZnRlciB0
aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBiZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4g
QmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRU
aW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQoKS4KICAgICBtX2RvY3VtZW50LT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVlc3RDb3VudChmb250KTsKLSAgICBtX2Jl
Z2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2JlZ2luTG9hZGluZ1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2Fk
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKaW5kZXggYTc1MjgzYTJiMjdjM2RlZDhkOTQzMTJkZTA0YTQxNThlZWNjMmY5My4uNGQ0
MDYxNzI2MzljNDllZmQ3NzUyYWRmZWEzZjkzZGU1YTZmOWY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMzksNyArMzksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbWVUb0tlZXBDYWNoZWRH
ZW5lcmF0ZWRJbWFnZXMgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRpbWVUb0tlZXBDYWNoZWRHZW5lcmF0ZWRJbWFnZXMgPSAzX3M7CiAKIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNz
VHlwZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCAxMGY2NWMzY2ViYzViNmFmZGEwMGMwMGU3M2RjYjhlYjQyYWJlNjVkLi45
YjFhYTBiMzFiZDE0MWVlOTgyNzAyZDVhODZjZDQzMzA2Y2FiNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM3LDEwICsxMjM3LDggQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBjb25zdAogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25D
YWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVkUHJv
cGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0aW9u
Q2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzCi0gICAgICAgICYmICFtX21hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7Ci0g
ICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1h
dGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKLSAgICB9CisgICAgICAg
ICYmICFtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KDYwX3Mp
OwogCiAgICAgQVNTRVJUKGhhc2gpOwogICAgIE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIGNh
Y2hlSXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZlZTU3OTI1YTE2ODk3ZjBlYTUy
OWEzZDg4MjlkODBkZWRmNzE4NTcuLjA5OTBkZTI2ZWI5MDRiOTljNTg0YzE4MjBiMWE1OWUwMzI2
MzU4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1OCw3ICsxMjU4LDcgQEAgdm9p
ZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxs
b3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSk7CisgICAgICAgIG1fdmlz
dWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2V0dGluZ3Mo
KS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSkpOwog
CiAgICAgaWYgKCF2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTc0
NSw3ICsxNzQ1LDcgQEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYygpCiAgICAg
Ly8gRklYTUU6IFdoeSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMgaXMgY2xlYXJseSBtaXNw
bGFjZWQuCiAgICAgaW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAgIAotICAgIG1fc3R5bGVS
ZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVs
ZVN0eWxlUmVjYWxjdWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lk
IERvY3VtZW50Ojp3cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9j
dW1lbnQpCiAgICAgd3JpdGUoV1RGTW92ZSh0ZXh0V2l0aE5ld2xpbmUpLCBvd25lckRvY3VtZW50
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwo
KSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJUaHJvdHRsaW5n
RW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0
CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hl
ZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudEludGVydmFsID0g
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNyw4ICs1MDI3LDggQEAgdm9pZCBEb2N1bWVudDo6
ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGluc2VydGVkIGNv
bnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9ucy4KICAgICAv
LyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBhY2Nlc3Mgc2lu
Y2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAgICAvLyBhbGl2
ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNldHRpbmcgLmlu
bmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0IGludCB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMg
PSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMp
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxp
dmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAg
YWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJl
bG9hZHMoKTsKQEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7CiAgICAgaWYgKCFt
X3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50
OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25G
b3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6
V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNj
aGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRp
bmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNjcmlwdFJ1bm5lcigpLT5yZXN1
bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNvbik7CiAgICAgcmVzdW1lU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBAIC01Njg3LDcgKzU2ODcsNyBA
QCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUgKDApOwogCiAgICAgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxlbWVudCA6IGRv
Y3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCkKQEAg
LTU4NTQsNyArNTg1NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5kaWRCZWNv
bWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiog
cmVuZGVyZXIpCkBAIC02MDU3LDcgKzYwNTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRM
b2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsKIAogICAg
IGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2ZW50RGVs
YXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCgpCkBAIC02
NzAxLDcgKzY3MDEsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChF
bGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NvY2lhdGVkRm9ybUNv
bnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2NzIxLDcgQEAgdm9pZCBEb2N1bWVu
dDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNvb2tpZXMpCiAgICAgQVNTRVJU
KCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNoZWRET01Db29raWVzID0gY29v
a2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlkIGF0IG1vc3QgdW50aWwgd2Ug
Z28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNvb2tpZUNhY2hlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTBlMmI4MzkyMmNhOWExZWExMzUyMjg0ZDYzMDE3Zjc5
ODEzMDI0MC4uYWYyYWM3ODAyYWFiNjAwZDNjMGY2NTgzYjljNzM3MTVhY2UxZDcwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwg
SlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2
YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJB
bGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZp
bmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRN
YXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVUaXRsZUZyb21U
aXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJl
Y3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXgg
OWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4uYmQ5M2JhNjJjZTZlMjIx
ZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1bWVudEV2ZW50UXVldWU6
OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBtX3F1ZXVlZEV2ZW50cy5h
ZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3RpdmUo
KSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4NzJkODVhMWE0NTUxYWQwMTk5
MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYzNjkyYmZlZTFlNzBjOWFiMDJj
NmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNjYsNyArNjYsNyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbihU
JiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFwcGVuZCgmc2VuZGVyKTsKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5
MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3ODAyNTUyMTY5ODk2MDIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90
YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAg
ZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rhc2smIHRh
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5YzczZGQ5
ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1YmxpY1VSTE1h
bmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQogICAgIHJl
dHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
b2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFk
anVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFsdWVzKCkp
CkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RN
aW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9CiB9CiAK
LXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQgaW1wbGVt
ZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWluaW11bSB0
aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRlZApAQCAt
NDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGlnbm1lbnRJ
bnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29uZHMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAog
ewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBjOTI5OGQz
MmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIwZThhZjRk
OGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25kcy4KLSAg
ICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0
TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7Cisg
ICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKICAgICB2
b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNo
ZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lckFsaWdu
bWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CiAKICAg
ICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdkMDlhNDA0
OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5M2Q5ODEwZGJkM2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3Jp
cHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7CiAgICAg
aWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1
bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKQEAgLTEw
MCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1Nj
cmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBl
bmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1NjcmlwdCktPnB0cigpKTsKICAg
ICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Ny
aXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRhNjc0MDE5
NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYxZjEwMjgz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2NoZWR1bGVE
ZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1bWVudC0+
ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVUaW1lc3Rh
bXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVsZURlbGF5
KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVkdWxlRGVs
YXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1bWVudC0+
dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2N2Y5Njg0
MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzljN2RmNWRiZjJkMGI5YjJmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBAQCBzdGF0
aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hl
KCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0YXRpYyBjb25zdCBpbnQgbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOworCiBj
bGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5UaW1lci5z
dGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwogICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBt
aW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAxMDA7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lLnZh
bHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENvdW50Owog
ICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWluaW11bVBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCBk
NWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42OWU5ZTNmZGRhZmVhZmJi
YmY3MTYxMTU1ZWJmMWJkMDdjZWEyNTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcigpCiAK
IHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRp
bWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ycmVj
dGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBhdXRvIGNvcnJlY3Rpb25Q
YW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAoIWlzQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVmYzE3YTM3Li4z
YmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZhMjJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246
OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0gICAgICAgIG1f
dGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2UodHJ1ZSk7CkBA
IC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogICAgIG1fZWRpdG9y
VUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRHcmFtbWFyID0gb3B0aW9ucyAmIEZy
YW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAmJiAhKG9wdGlvbnMgJiBGcmFtZVNl
bGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsKICAgICBtX2VkaXRvclVJVXBkYXRl
VGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6
RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCA2NzU5ZmYx
NzdmZTc2NzFjYmIxNjkzNWViMzYxMGQyYTU2OTdiNzg2Li44NzRiZDY4NmE2OWQ0ZGQyNWI1ZmE3
NmFmM2EyY2I1ZGQyM2NlZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcApAQCAtMjA1MCw3ICsyMDUwLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBC
ZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBp
biB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3VsZEJsaW5rICYmICFtX2NhcmV0Qmxp
bmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9
IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAg
aWYgKGF1dG8gYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJs
aW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0
aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRm
Y2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2NlMGM5YzdiYWM1MTliZmI1ODQ1Y2IzYmU3
M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2
LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNv
bnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdS
ZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAg
ICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3VjY2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0
IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFhN2I5MjUxMzQxMGU0MDZmNDM0NWRjODNj
ZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBhZGNiYTkzYTZiZDVkMGZhMjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2
b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxl
dGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMg
QVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3VzbHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5k
IGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzZGRh
N2E3YWMzZmY4NmFjNDk2MDVjNWQ3M2ZlYmRmYmRkYmNjMGJiLi5mMTJiYTUxMGJhMTQyNjIyYTgy
MTFkY2RhNzMyZWRjNDY4YzJlYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVsYXkgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNj
YW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrVGltZSA9IDAu
MjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41Owogc3RhdGljIGNv
bnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIEhp
ZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNl9zOwogCiBzdGF0aWMgdm9pZCBz
ZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtOTM3LDcgKzkz
Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKERlbGF5
ZWRBY3Rpb25UeXBlIGFjdGlvblR5cGUpCiAgICAgaWYgKGFjdGlvblR5cGUgJiBVcGRhdGVQbGF5
U3RhdGUpCiAgICAgICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBVcGRhdGVQbGF5
U3RhdGUpOwogCi0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAgLTk0NSw3ICs5NDUsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKICAgICAv
LyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3VyY2U+IGVsZW1lbnQgV0lU
SE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgogICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCVwKSAtIHNldHRpbmcg
JXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3VyY2UpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBMb2FkTWVkaWFSZXNvdXJj
ZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVu
ZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoY29uc3QgTWVkaWFQ
bGF5ZXIqKQpAQCAtMTk4NCw3ICsxOTg0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFy
dFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBp
dCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAg
LTMzNzEsNyArMzM3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhT
Y2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2Fu
UmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09
IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRp
bWVyLnN0YXJ0KDBfcywgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2Nh
blJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRTY2FubmluZygp
CkBAIC0zNDEwLDcgKzM0MTAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZp
cmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZl
bnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3
ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhU
aW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c3RhcnRQbGF5YmFja1Byb2dyZXNzVGltZXIoKQogewpAQCAtMzQ1Nyw3ICszNDU3LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChib29sIHBlcmlv
ZGljRXZlbnQpCiAgICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0
VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCi0gICAg
aWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5KQorICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeS52YWx1ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTb21lIG1l
ZGlhIGVuZ2luZXMgbWFrZSBtdWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFja3MgYXQgdGhl
IHNhbWUgdGltZSwgYnV0IHdlIG9ubHkgd2FudCBvbmUKQEAgLTQzODgsNyArNDM4OCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbihkb3VibGUg
cG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0NTcyMTk+IGZv
ciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9z
aXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0b3AoKTsK
LSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjUp
OworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAu
NV9zKTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNT
Y3J1YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYu
LjE1MTBjNTg5ZmRlZDJiMWUzOTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBI
VE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAg
ICBtX2Rpc3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxh
eWluZ1NuYXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50KSAmJiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBS
ZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRk
VXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjky
ZTM3MjgwZjNmOTk5NjdmY2IwYTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQzMzdkZGQzMGY5
YjIzNjczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwCkBAIC03MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQ
YWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3Rh
cnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBz
aG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0
YXRpYyBjb25zdCBhdXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyRGVsYXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXN0
YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFwc2hv
dFRpbWVyRGVsYXkgPSAxLjVfczsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHRpdGxl
VGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFjMGMzNjVhZjgx
NWU3ZjYzOWYuLmVkYWUwYzRjYjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUsNyArMTI1LDcg
QEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkKICAgICBpZiAo
bV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9l
cnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5k
aW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVu
dDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNvdXJjZUVsZW1l
bnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJl
c3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3Nob3Vs
ZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4ZDdiNDhhOWJh
MjQxYjRjNDcxZDU3OWY1NWU4YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRiMmE1NjJmNmM2
NDVlYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTE3
OCw3ICsxNzgsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBz
IGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8g
cnVuIHRvIGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50
Ojpsb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAK
aW5kZXggOTU0MDUyNTA5ZWI3ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uNmZiZjQ2YTNm
NzU2NTQ4ZTFiMDMzYzBkOWYxMDY4YTUxNjQwZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlh
Q29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9j
ayhDbG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4
dCkKICAgICAsIG1fdGltZXVwZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hl
ZHVsZVRpbWV1cGRhdGVFdmVudCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQog
ewogfQogCkBAIC0xNDgsNyArMTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVu
dFRpbWUoKSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlk
VGltZSgpKSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lk
ZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6
bWF4PGRvdWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUo
KSkpOwotICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAg
IHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9s
bGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAg
IG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0
cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQoKQpAQCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVy
OjpyZXR1cm5Ub1JlYWx0aW1lKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGlj
IHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAi
MTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29u
c3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBhdXRvIG5vdyA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIGF1dG8gdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91
c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVu
dEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNkMi4uYTkx
OTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwot
ICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRpbWVJbk5l
eHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBmZmUuLmNkNjZkMjg0
MDU4MmZiNDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6bWVk
aWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBsZXQgdGhlIHBsdWdp
biBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhpcyAKICAgICAvLyBm
dW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBlbmdpbmUgY2FsbGJh
Y2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRoZSBlbGVtZW50LCBt
ZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVs
ZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNkYTMuLjNk
MjU4YjYyNjM1YTAzYjE5NThjNGM4Zjc4YTJmNGExY2U5MzI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50
Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNv
bnRlbnRDaGVja0ludGVydmFsID0gMjUwX21zOwogCiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRSZWN0
TW9zdGx5SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogc3RhdGljIGJvb2wg
aXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50
JiwgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlk
Q2hhbmdlKGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Np
b246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCVwKSAtIGhhc1Rhcmdl
dHMgJXMiLCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDogIkZBTFNFIik7CiAKICAgICBtX2hh
c1BsYXliYWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAgbV90YXJnZXRBdmFpbGFiaWxpdHlD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4
ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUs
NyBAQCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAg
IC8vIEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAg
IC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4y
IGZyb20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwog
fQogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBj
YmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFiMmE2ZDVkN2FmMzA5MjA4Y2I0Yjdi
ODI3N2EyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNz
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApA
QCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBl
bHNlCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZh
bGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1l
ci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBA
IC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFu
ZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkg
KiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
c3RkOjptYXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9u
IC8gMTAwMC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBWYWxpZGF0
aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogCiAgICAgLy8gV2UgbXVzdCBub3Qg
bW9kaWZ5IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQgYnkgdGhlIHNhbWUgcmVhc29uIGFz
IHNldE1lc3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRo
aXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgbV90aW1lci0+
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBi
b29sIFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9k
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgwNzU2MDU1ZTU5Njk3ZDg5MTZhZDM0
OTRhNjI0YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZlODJiMmQzMTA5MjJhOGM5ZWE5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citj
b25zdCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMV9zOwogY29uc3QgaW50
IG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2
NjYsNyArNDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRl
eHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMg
ZGVmZXIgdGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVu
dAogICAgIC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rp
c3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3Bh
dGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQpAQCAtNDY4Myw3
ICs0NjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9yZVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApAQCAtNTYxNCw3ICs1NjE0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZl
bnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIG1fcmVzdG9yZUFs
bG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIGlmIChtX2NvbnRleHRMb3N0
TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxsb3dlZCkKLSAgICAgICAgbV9y
ZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXli
ZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVmUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUobV9hdHRyaWJ1dGVz
LCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRl
eHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBtX3Jlc3RvcmVUaW1l
ci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgICAgICAg
ICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRz
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkgc2hvdWxkbid0IGhh
cHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUgV2ViR0wgYXBwLgog
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDI4MzM3
ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJlYTAyN2E5
MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBIVE1M
UGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAgIC8vIEZJ
WE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3Rl
YWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBh
Z2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2Vy
LmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVlTmV4dENo
dW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBi
b29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5nU2NyaXB0
KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVs
ZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9jb250aW51
ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAg
cmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBt
X2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVO
ZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWEx
ZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUuLjVlMjllNjdkY2ZiZmIyMGJjMjNi
ZjUwNDkxZjViNzg5ZWRiZTA0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlz
IHJlcXVpcmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVs
LAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0
aGUgYm90dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQg
dHJhbnNpdGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRv
Y3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6
IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5w
YWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAg
IG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTE4OCwx
MCArMTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkK
ICAgICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24gPSBkb2N1bWVu
dCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlP
cGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3Bh
cXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxF
bGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsK
KyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2Uo
KS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQ
cm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlU
cmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwor
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24s
IGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyArMTMz
Niw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0
aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFj
a3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRp
YUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9h
ZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRmNWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0MGYz
My4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcxZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcgKzU4
LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJs
KQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGls
ZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUg
Zm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1v
ZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdl
MjIzZGQ0MzZjMDdkNTFiNi4uNjY2Njk0NzVhMGJlY2UyNzcwODIxZDEzNmJhODAxOTdlNzc3Mzc3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9
IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocyku
Ci1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc2Nyb2xsVGltZSA9IDQzM19tczsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxU
aW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggM2Q1NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uNmI1NmMxOGYyYWRl
ZjI3NzFlY2RlMDlmN2Y0NzA3ZTdkMTBjOTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFu
Z2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZs
b3csIGludCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnRO
b2RlSWQpOwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxv
dyogbmFtZWRGbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHAKaW5kZXggODNhMDI0YmNkZGQyMTMwOTc4NzU5ODcyMjQxMjcxZTBhOGZiM2YwZi4u
OTEyNzI2MmFlODhhY2NiYjRlNGVlMWY4NjE3ZDlkMzJmNDFlOGNkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogewogICAgIG1fZWxlbWVudHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZXZhbGlkYXRlU3R5bGVB
dHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA4YTM1YTE3
OWViOGJmNTliNGJjMDk4ZGM2ZWRjOTBjZGUwZGEwNTkzLi41MThhYWRmN2QxMjI2OGE0N2Y4ZjJi
NTMwOWZjM2Y1NDFhZTg1MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC04MCw3ICs4MCw3IEBA
IHB1YmxpYzoKIAogICAgICAgICBtX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKTsKICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAg
ICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogICAgICAgICAgICAg
bV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKG1f
bWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9tZXNzYWdlcy5pc0VtcHR5
KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAKaW5kZXggNWZjYTMxMGQwMGFjMjFkYzdiNjFiZTBhOWZlMDU1YzhiN2Y3YWFkOC4u
MTg2ZTcwMGJkYTJlYjI4NjBlMTUzNDJjNDU2NDEyNTBkNTVkMGU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTA5LDggKzUwOSw4IEBA
IHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCiAgICAgbV9wYWludFJlY3RzLmFwcGVuZChUaW1lUmVjdFBhaXIocmVtb3ZlVGltZSwgcm9v
dFJlY3QpKTsKIAogICAgIGlmICghbV9wYWludFJlY3RVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzID0g
MC4wMzI7Ci0gICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFp
bnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyk7CisgICAgICAgIGNvbnN0IGF1dG8gcGFpbnRS
ZWN0c1VwZGF0ZUludGVydmFsID0gMzJfbXM7CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGlt
ZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAg
ICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2RjNzhkMTI0YWRjZTE4
YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgwMjEzNTg2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3Bw
CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBs
YXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMKIAogICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQog
ICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQt
PnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAgICAgICAgLnNldFF1
ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyZDNjZDk1MGUzMTg0Mzkz
N2I4YjcwNWQzMTc1NGIzOGFhMzNiODU5Li45MGNlZTYyNjZhYWFjOTE2YzZiMjllYzQ2YTlmMTQ2
ZDE2ZDY2NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0
YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQog
ewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kYXRhTG9hZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJTUVSKQogICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJhbWUtPnBhZ2UoKS0+
c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkoKQogICAgIGlm
IChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJkNTU0
Mzc3YjE2NDUyNGE0NmYwMDExYjYyOTNkNmMxODg5NTFlYzYuLmIzZjY0M2FhZjFlZjNkMjc0ZTQ3
YTNjMGI2NjBiMWRhNjM0YjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
OjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLjc3OWJm
NzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0g
JmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50
VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJiYjU3NWI0ZTUuLjJi
ZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwogCiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb0ZvcndhcmQo
KSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91cmwsIGRlbGF5
KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9y
d2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91
cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCkudmFs
dWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0b3BU
aW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBAIC0y
NzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsK
IAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0
dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVk
KG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVl
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGlt
ZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtNTM5
LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjllNmVhYjY1ZjU2ZTI0
ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNlNjI5ODU0ODJmZDg1
NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7
IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNz
SXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8vIENoZWNrIGlmIHRo
ZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55IGhlYXJ0YmVhdHMg
bXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRoZSBsb2FkIGlzIGN1
cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRTdGFsbGVkSGVhcnRi
ZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApp
bmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4Li5iMjY2YzMzMTNi
MmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIG1f
Y3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpAQCAt
MTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdpb25zUGFyc2VkKCkK
QEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFy
c2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYx
N2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMwOTAxYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGlt
ZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUg
dGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGY2ODBjYzRmOTVk
MmVmNjQ3NDQ4ZDU1OWM5ZWM4OWY0OTNhMDlhOTkuLjY2YTlmOGYxZmM0YmFkZTNkYmYwZDUxZmFk
NzdjY2JjMjZhNjNhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUp
CiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JS
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0
KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTQyLDcgKzU0Miw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBp
ZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hl
OjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkK
KyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTksNyArODE5LDcgQEAgaW5saW5lIENhY2hlZFJlc291
cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBDYWNoZWRS
ZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIoKnRoaXMsICZDYWxs
YmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJm
M2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNjNjEyYWE5ODZjZTQz
ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJm
b3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMg
YSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzku
LjkxMDA3NDcxMWQyNzE5OTg4YzMzZDI3MTMzMDIzNjgwZDA5MGUwODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9
IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVj
b2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1
bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hp
Y2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMg
Y29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJv
bm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNpbmds
ZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZSgp
CiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAgIGlmIChtX3BydW5lVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAgICAgIHJldHVybjsKLSAg
ICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4ZjI4MmJlNThkMTcwZC4u
NzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisgICAg
dm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRvIHB1
dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAgdm9p
ZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5OSw3ICsxOTksNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5EZWFk
Q2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CisgICAg
U2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25l
ZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBi
eSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRTaXpl
OyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIgcmVz
b3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAzMGY1ZjY5NGUzMGJiMmQu
LjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0
aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMgZXhwaXJl
IG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9uVGltZSA9
IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1OyAK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1X3M7CiAKIHN0YXRpYyBi
b29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3ZDMxNWVkZmJmOWM1MGUw
YTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFkZmI5NzcyMzQ0NGRlYmQw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKQEAg
LTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGRvdWJsZSBh
dXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBh
blNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1h
a2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAu
MDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1X3M7CiAK
ICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQuLjAw
MDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJl
bmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXgg
OThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNWQ2Y2Q0OTM4NDVjZGJl
ODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0
aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJp
bmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhv
ZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBv
cgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0g
ICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
U3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKaW5kZXggYTk2OWQ5NDhlN2UzOWMwMjY5YzVhMzBmZjljZDAxN2M5MmRk
OTU4Yy4uMzI0NzYxNzMwNTI4YjQ0MzAxMDc1ZGRmOTk5NjBhMWYzYmE0NDhkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGlu
ZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0IGF1
dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBtczsg
Ly8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IDFf
czsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
SW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDFfczsgLy8gRW1waXJp
Y2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMgY29uc3Qg
aW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJlU3RhdGUg
ewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1lcnNNYXA6
OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBib29sIHNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
LCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2Vy
R2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJldHVy
biBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICAgICAg
JiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcKICAgICAg
ICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJkZWQg
dG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVU
b2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVydmFsLCBp
bnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGlu
dGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE3NSwx
MiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVzZXJHZXN0
dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6OkRPTVRp
bWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwg
Ym9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihj
b250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZlbCgp
KQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5hbEludGVy
dmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkKICAgICAs
IG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkpCiAgICAg
LCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChp
bnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERPTVRpbWVy
Ojp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91dCwg
Ym9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBhc3NlcyBv
d25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNvbnN0cnVj
dG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21hdGljYWxs
eSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAgLTIxMCw3
ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVmZXJUaW1l
b3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAgICAgIGlm
ICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2luZ2xlU2hv
dCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IDEwMF9tcyAm
JiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShX
S0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9i
c2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlm
IG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3
LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3Bl
bmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRp
bWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7Cisg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGlt
ZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVl
KCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBp
bnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRU
aW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIx
IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VS
VChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhE
T01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20g
JSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhp
cywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFs
KTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBl
YXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwg
dGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1
cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVy
dmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxp
bmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVy
dmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90
dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50
VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2
YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9N
aW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAg
QVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1
dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0
byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAv
LyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9u
ZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBA
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1zdGQ6Om9wdGlvbmFsPHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBmaXJlVGltZSkgY29uc3QKK3N0ZDo6b3B0aW9uYWw8TW9ub3Rv
bmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lIGZpcmVUaW1l
KSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwgPj0gbWF4VGlt
ZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAwbXMpCisgICAg
U2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7CisgICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBfcykKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byBpbml0aWFs
aXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91
YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3Jj
ZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJl
dHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBlLmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRv
IHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVu
dEludGVydmFscywgZS5nLgogICAgIC8vIGlmIGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCBy
YW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAu
Li4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6
ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJh
bmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRG
aXJlVGltZSAlIGFsaWdubWVudEludGVydmFsKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9t
aXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRl
cnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uOworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRG
aXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0
ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChhZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVw
b2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50
ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OwogfQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggMzlhMDQ2
MWRhZWVlZTI1ZWFiYTMzOTk2ZTdhMGRjOGRkOTFhNjc4NS4uODI4YjY0YjAwOWJiMjIxOTE1ZWM3
YWRiYTZhYTc0OGUxYWY2NjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0
LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+
LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGlt
ZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5p
bXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAg
ICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50
ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWlu
aW11bUludGVydmFsKCkgeyByZXR1cm4gNF9tczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1
bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDBfczsgfQorICAgIHN0YXRpYyBTZWNvbmRz
IGhpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDFfczsgfQogCiAgICAgLy8g
Q3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgc3RhcnRzIGl0CiAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBp
bnQgaW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5n
bGVTaG90KTsKKyAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2
YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApA
QCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRl
cmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01U
aW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CisgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwog
ICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0
bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdT
dGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZFN0b3AoKSBvdmVycmlkZTsKLSAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25p
Y1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fdGltZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90dGxlU3RhdGUgbV90
aHJvdHRsZVN0YXRlOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9jdXJyZW50VGlt
ZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IG1f
dXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJv
dHRsZVN0YXRlIHsgVW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYTljMDNjNDcxOGY5ZTJiY2I0MGM4YzE2
ODI2YjllYzc1OWZmOTcxYi4uMjNjYTIzNzVmYzk1ZTc5YjA3ZjlhMjZiNzc3NmI4ZTRhNGRjODE5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTY0LDcgKzk2NCw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cmIGNhbGxlCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBh
dXRvKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBtZXNzYWdlLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBzb3VyY2VPcmlnaW4sIGNhbGxlcldpbmRvdywgY2hhbm5lbHMucmVsZWFz
ZVJldHVyblZhbHVlKCksIFdURk1vdmUodGFyZ2V0KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0g
ICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMTY1NCw3ICsxNjU0LDcgQEAgRXhjZXB0aW9uT3I8
aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwor
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBET01X
aW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4Niw3ICsxNjg2LDcgQEAg
RXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxT
Y2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgq
Y29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVv
dXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0MzA5NTYzNDk2MjJh
ZTJlMTlmZDViNzYwMzg1Yzk1OTA0Y2MuLmVmZWYzNmJhMGY3OTIxOTk5NjI3ODU1NGEyYTk1OGI1
OGM2MWU1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcApAQCAt
NDgsNyArNDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVu
ZXIoRE9NV2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkpIHsKICAgICAgICAg
bV9sYXN0RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlmICghbV90aW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhNzU0MjdjYTQ2YzcxZjll
NjEzNDM3YWYwOTdhM2VkYWIxYjdlZDFiLi5lOTMzYmI0ZTRiNTY1MGY1MTBiZmMwMDg1NjkyYzU3
NTk3ZTM5NTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUg
KzE1NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRp
bWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAog
Ly8gZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29u
dGVudCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVy
YXRpb25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVz
ZWQuCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsK
LWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRv
dWJsZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFr
ZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMV9zOworY29uc3QgU2Vjb25kcyBmYWtl
TW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlTG9uZ0ludGVydmFsID0gMC4yNV9zOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NV
UFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRl
IG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8g
YmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBj
dXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUlu
dGVydmFsID0gMC4wMl9zOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNpemUgPSAxMjg7CiAj
ZW5kaWYKQEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNzIE1heGltdW1EdXJh
dGlvblRyYWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNr
ZXIoZG91YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyKFNlY29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVyYXRpb24obWF4RHVy
YXRpb24pCi0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
KyAgICAgICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgIHsKICAgICB9CiAK
ICAgICB+TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAgICAqbV9tYXhEdXJh
dGlvbiA9IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3RkOjptYXgobV9tYXhE
dXJhdGlvbiwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBtX3N0YXJ0OworICAg
IFNlY29uZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0OwogfTsK
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykK
QEAgLTQ2Myw3ICs0NjMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogICAgIG1fb3Jp
Z2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1fb3JpZ2luYXRpbmdU
b3VjaFBvaW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0
aW9uID0gMDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDBfczsKICAgICBtX2Jhc2VF
dmVudFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBm
YWxzZTsKIH0KQEAgLTE4MjEsNyArMTgyMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1v
dmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBw
cm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3Io
bV9mcmFtZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25U
cmFja2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlciBtYXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAg
aWYgKG1fZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91
c2VFdmVudChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjkwMiw3ICsyOTAyLDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQg
RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9o
b3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVO
QUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDli
Y2FjNzJjN2UyMTYzMjEwOTE1ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUz
YjM2ODliNmEyZDUyYTY5NDg4ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtNTcwLDcgKzU3MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAg
fTsKKyAgICBTZWNvbmRzIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZl
bnQ6OlR5cGUgbV9iYXNlRXZlbnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAg
Ym9vbCBtX2RpZFN0YXJ0RHJhZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVl
bEV2ZW50IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggZDU1
NTVlZDJjMGZiNTdiOTYzYjdiNjAwMjE5ODcxNzEyNmY2NWZkNy4uYjdhMDRmNDg1Zjg5YzhjODlk
Y2RmY2ZhZWQxZDE5M2E5ZmRjOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRf
dCBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29u
ZHMgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDNfczsKIAogaW5saW5lIEV2
ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBVUkwmIHVybCwgY29uc3QgSW5pdCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQpAQCAtMTMyLDEzICsxMzIsMTMgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVD
VElORyk7CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBtX2Nvbm5lY3RU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKICAgICBt
X3N0YXRlID0gQ09OTkVDVElORzsKLSAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9y
ZWNvbm5lY3REZWxheSAvIDEwMDAuMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90
KG1fcmVjb25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZAogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAyYmUzZjlmMWI3NWQzOWQ1M2IyZmUzOTEyOTNmNThj
YzBmMTgyNzgyLi5hNGU3ZGQ5YWM0NzQzMzFjOGI3ZTNmZWE3NjNmMDE3ZTI3YzYzMGE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uNzJjMzM5
MTdmN2ZiYjJiM2NmOGM4MWEwZGEwOGRiMGU0NzUwNDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzNfcyk7CiB9CiAKIHZv
aWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggMzkxNDEyZTVmNDgwYWQ2ZDNjYjVkYzQ3NjE4MGY1ZGNhNWYzNWJlNy4uYzE5
NjkzN2IzYjg1MDRlNWYzOWE0NmRjYTlmMzJkMmZiNzg1OTlmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWduZWQgc2Nyb2xs
RnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsRnJlcXVl
bmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xP
QkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODA2MWI3NTE0ZDk2NmQ2YzcyNTJmZDAy
ZWMzY2RkMTA4NjEyMTJmOS4uOTIxODhjYjhkMjZhZTYxNmVjODhlNTIxNTc2YzY0ZDg2ZjY2NjIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYwLDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIC8vIGRl
ZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlciB3ZSByZXR1
cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1cyBuZWVkIHRv
IHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBjeWNsZSB1bmxl
c3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIgaGVyZS4KLSAg
ICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
ICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAg
ICB9CkBAIC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAg
ICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2
ZW50KCk7CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJv
dHRsaW5nRGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZl
YWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29u
dGVudFJlY3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw4ICsyODQxLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3Nw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIC8vIERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dl
ciBmdXJ0aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKLSAgICBtX3NwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkp
OworICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3QoMC41X3Mp
OwogfQogCiB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVk
KCkKQEAgLTM0MzEsNyArMzQzMCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91
dFRhc2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIu
CiAgICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0
ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
MGE3Mzk3OTg2MjQ2Yzc4MWE4Y2E5YjcxMjM1ZjAyNGZmOTQ3YzFkMC4uMTdlOWEzMDdlYTJlNWU1
YTcwMTBkM2UyNDVmMTkxMGJhODhjNWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcg
KzEyNDMsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0
bGluZ1N0YXRlIHN0YXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGlu
Z1N0YXRlID0gc3RhdGU7Ci0gICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVw
ZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAg
dm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBz
dGF0ZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsK
ICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAg
LTEyODQsOCArMTI4NCw4IEBAIHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpCiAgICAgICAgIGlmIChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFs
aWdubWVudEludGVydmFsID0gbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZS50aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPihzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJv
dHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVu
dEludGVydmFsID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRl
TGFzdENoYW5nZWRUaW1lOwogICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0
LCBzZXQgdGhlIHRpbWVyLiBJZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBp
ZiAobV90aW1lckFsaWdubWVudEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5j
cmVhc2VMaW1pdCkKICAgICAgICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAyMjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2ZWQ2ZGVlMTI0YjRi
Li4zNWZhNTExMWEwYjI2MWJjNGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjI1LDcgKzIyNSw3IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dy
ZXNzKCkgY29uc3QgeyByZXR1cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRy
b2xsZXImIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9s
bGVyOyB9CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAg
ICBTZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElB
KQogICAgIGVudW0gVmlld01vZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNob3dBbGxQbHVnaW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0g
c2hvd0FsbDsgfQogICAgIGJvb2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRv
bWF0aW9uOyB9CiAgICAgdm9pZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJv
bGxlZCkgeyBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02Njcs
MTAgKzY2NywxMCBAQCBwcml2YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01F
RElBKQogCiAgICAgVGltZXJUaHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7
IFRpbWVyVGhyb3R0bGluZ1N0YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSB7IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBN
b25vdG9uaWNUaW1lIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAg
U2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdu
bWVudEludGVydmFsSW5jcmVhc2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25k
cyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lz
RWRpdGFibGU7CiAgICAgYm9vbCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcAppbmRleCBlNzBiY2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5l
OTAyYjAyNThkMWUxODlhNjAwMzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRp
YyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZmFkZUFuaW1hdGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0
YXRpYyBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQog
ewpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0
aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9m
YWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRp
b25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAg
bV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFs
KTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEyZDVhMWZiY2RhYzdm
YTFiN2RlYzVkLi5lYjhmODE5NDU0MWFjZTg2NTlmZDUwMjNkYmFjNDJmNjRkZmM3MDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY5LDE1ICsxNjksMTUgQEAgc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlVG9M
b2FkVmlkZW8gPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgZG91YmxlIGRl
ZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7
CisKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKIHN0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYK
Kwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5h
YmxlZCA9IGZhbHNlOwogCkBAIC0yMTEsNyArMjExLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBh
Z2UqIHBhZ2UpCiAgICAgLCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2Vu
ZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0g
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisg
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykK
ICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjpp
bWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoZmFsc2UpCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5n
czo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGlt
cG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRo
ZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8g
cmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBt
b3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1h
Z2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBw
cmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElG
cmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGRO
b3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRN
aW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKQEAgLTQ1
Nyw3ICs0NTcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKQogCiAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50
cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwob2xkVGlt
ZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11
bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhvbGRUaW1lckludGVydmFsKSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdlZmUwZWVkOTFhMDQwMDlhZTE1N2Q1NDM2Nzg5
YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNkMmE0NzA0NjNkNTNmZmYwYmYwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAg
IGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1f
bmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFs
aXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMg
bWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91dEludGVydmFs
KFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJ
bkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KLSAgICBkb3VibGUgdGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVy
biBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CisgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNv
bmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpAQCAtMzI2LDcgKzMyNiw3
IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxp
ZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJs
b2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIFNlY29uZHMgbV9sYXlv
dXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwogCiAg
ICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0
ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
IDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1l
cjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFhYWE2YWU0
YmM1ZGZkZDQ2YjI0YzU3NjQzNS4uMjg3NjI4NmM4YzA3MThmODM2MmRhYmMxNWYyYmYzZDQxMWQw
ZjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMywx
MCArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3Bl
bmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
YXZlZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCgwKQot
ICAgICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcsNyBAQCB2
b2lkIFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVkID0gZmFs
c2U7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhTZWNv
bmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3ICsxMDgs
MjcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hv
dChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChT
ZWNvbmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zYXZl
ZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBpbnRl
cnZhbDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gMF9zOwogICAgIH0KIH0KIAotZG91YmxlIFN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKK1NlY29uZHMgU3VzcGVuZGFibGVUaW1lcjo6cmVw
ZWF0SW50ZXJ2YWwoKSBjb25zdAogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIHJl
dHVybiBUaW1lckJhc2U6OnJlcGVhdEludGVydmFsKCk7CiAgICAgaWYgKG1fc2F2ZWRJc0FjdGl2
ZSkKICAgICAgICAgcmV0dXJuIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMF9zOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50Rmly
ZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAg
ICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3
LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUg
ZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zYXZlZElzQWN0aXZlID0gdHJ1ZTsKICAg
ICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBkZWx0YTsKLSAgICAgICAgbV9zYXZlZFJl
cGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMF9zOwog
ICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1l
ckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcwOTM3ODUwYTNhNjkwMWY3MjBjNWRlMWY2MDk5
MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4NTU1MTc4MWEwMzY1ZDE5MzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00MywxNyArNDMsMTIgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZl
KCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3Vz
cGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKTsKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwotICAg
IHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpOwotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGlu
dGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3Q7CiAKLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwp
IHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZv
aWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3Rh
cnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhy
ZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29u
ZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRz
KGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAKICAgICB1
c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsOwogICAgIHVzaW5nIFRp
bWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEsMTEgKzY2LDExIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1l
KCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVuZGVkOworICAgIFNlY29uZHMgbV9zYXZlZE5l
eHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7CiAKLSAg
ICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7Ci0gICAgZG91YmxlIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZTsKKyAgICBib29sIG1fc3VzcGVu
ZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZl
bnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNl
Mzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2JmZTViODNlMmY1ZjljMDJiY2E0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3Rh
cnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1f
dGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIu
c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRl
c3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXgg
OWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgxZGFkMmY3NWNlZC4uYTg1YmFhYTg5NjNjNmVi
MGM0ZmMzMWQ3YTQzOTUzZThmZmYyZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTQ4LDggKzQ4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNBbmltYXRpb25U
aW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNCZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRpYyBjb25zdCBhdXRvIGFuaW1hdGlvblRpbWVy
RGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsKK3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRh
dGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3ICs3MSw3IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSYgZnJhbWUpCiAgICAgOiBt
X2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCp0
aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKKyAgICAsIG1fYmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAg
ICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCgwKQogICAgICwgbV93YWl0aW5nRm9yQXN5
bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCkBA
IC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qCiAKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0g
MDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlOwogCiAgICAgY29uc3QgQ29tcG9zaXRl
QW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0
KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21wb3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkg
JiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNBbmltYXRpb25zKCkpCi0gICAgICAgIHRpbWVUb05l
eHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOworICAg
ICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHMoY29tcG9zaXRlQW5pbWF0aW9uLT50aW1l
VG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkg
JiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSB8fCBtX2FuaW1hdGlvblRpbWVy
Lm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1lVG9OZXh0U2VydmljZSkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYKIAogdm9pZCBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0Q2hhbmdl
ZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hhbmdlZCovKQogewotICAgIGRvdWJs
ZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpOwor
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZlcnQgcmVzdCBvZiBhbmltYXRpb25zIGNvZGUgdG8g
U2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4KKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNl
ID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKSk7CiAKLSAgICBMT0co
QW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAl
LjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOworICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5p
bWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUuMmZtcyIsIHRpbWVUb05leHRTZXJ2
aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAgIC8vIElmIHdlIHdhbnQgc2VydmljZSBpbW1lZGlh
dGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcgdGltZXIgdG8gcmVkdWNlIHRoZSBvdmVyaGVhZCBv
ZiBzdGFydGluZwogICAgIGlmICghdGltZVRvTmV4dFNlcnZpY2UpIHsKLSAgICAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRl
cnZhbCgpID09IDApCi0gICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5n
KGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlz
QWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAg
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoYW5pbWF0aW9uVGltZXJEZWxheSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHNlcnZp
Y2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSB0aW1lciBpcyBubyBsb25nZXIgcnVubmluZwot
ICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDApIHsKKyAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwX3MpIHsKICAgICAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgICAgICByZXR1cm47CkBAIC0y
MjIsNyArMjIzLDcgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6ZmlyZUV2ZW50
c0FuZFVwZGF0ZVN0eWxlKCkKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0
VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKQogewogICAgIGlmICghbV91cGRhdGVTdHls
ZUlmTmVlZGVkRGlzcGF0Y2hlci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVN0eWxlSWZO
ZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVTdHlsZUlm
TmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4g
ZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiBy
ZW5kZXJlciwKIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
KTsKLSAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0g
YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJu
IG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsK
ICAgICBpZiAoIW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAg
ICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMy
Njg5OTAzNjNjNGZkMGY2ZDE2YTI3MWUzNjkuLjM3OGRlYjBiMTdmYWFlZGNiNTgzOGI2OGJmN2Nl
NzI5ZTBmM2E1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0KQEAgLTc4LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRj
aGVkU3RhdGVEZWxheSA9IDAuMV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJy
ZW50TlNFdmVudFNsb3QoKQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRm
b3JtV2hlCiAgICAgLy8gcmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3Ag
dGhlIHRpbWVyLCBsZWF2aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAo
IW1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAg
IGlmIChldmVudC5pc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVu
ZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3Rh
dGVUaW1lb3V0KTsKKyAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1l
ci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgLy8gSWYgYW5vdGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRo
ZSB0aW1lciBtYW51YWxseSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5
LgogICAgICAgICBpZiAoZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5k
ZXggNTVlNGQ2NTk1ZWViNjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZh
ZTdhMWU3MjdjOTQ0ZGVkZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAg
ICBib29sIG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVy
QnV0dG9uKSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vj
b25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCop
IGNvbnN0OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwog
CiAgICAgc3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0
KiBhLCBjb25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAK
ICAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFu
Z2VUaW1lOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0
U2VsZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAog
ICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0
OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1
OTY0OTliZGY2MTZlZDQyMTFiOWE1MjM4MTVlNjIuLmU4ODQ5Mjk0NmE1YmFlZTE2OTRlMDRjNTI2
NzY5NzQ0ZWI5NGVlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9y
PExheW91dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBt
X2lzVGV4dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dp
dGhHYXBSZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEs
NyArMzkxLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGln
aGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpidWlsZFBv
dGVudGlhbEhpZ2hsaWdodHNJZk5lZWRlZCgpCkBAIC00MzMsMTUgKzQzMywxNSBAQCBib29sIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYg
aGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBob3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNv
bmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFo
aWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAg
ICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAwbXM7Cisg
ICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDAuMl9z
OwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0aW9uKCku
c2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAgbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAgIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMV9zOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQg
PSBtX21haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5tb3VzZVByZXNzZWQoKTsKIApAQCAtNDQ5LDE1
ICs0NDksMTQgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICAvLyBieSB2aXJ0dWUgb2Yg
YmVpbmcgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgZW50aXJlIHRlbGVwaG9uZSBudW1iZXIuIEhv
d2V2ZXIsIHdlIHdpbGwgc3RpbGwgYXZvaWQgaGlnaGxpZ2h0aW5nCiAgICAgLy8gdGVsZXBob25l
IG51bWJlcnMgd2hpbGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgaWYgKGhpZ2hsaWdodC0+dHlw
ZSgpID09IEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSkKLSAgICAgICAgcmV0dXJuIG1v
dXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMG1z
OworICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24gOiAwX3M7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAg
ICAgYXV0byB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0
aW9uQ2hhbmdlVGltZTsKICAgICBhdXRvIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9
IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2lu
Y2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBU
aW1lOworICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwX3Mg
OiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsKIAotICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBt
aW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWlu
KHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFj
dGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1
cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOwor
ICAgIHJldHVybiBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6
bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hs
aWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVk
KCkKQEAgLTcyMyw3ICs3MjIsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAv
LyBoaWdobGlnaHQsIGFuZCBvbmx5IHJlc2V0IHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVz
aXMgd2hlbiB0aGF0IGNoYW5nZXMuCiAgICAgICAgIGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQg
IT0gbmV3QWN0aXZlSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHQgPSBuZXdBY3RpdmVIaWdobGlnaHQ7Ci0gICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAg
ICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hs
aWdodCA9IG51bGxwdHI7CkBAIC03MzQsNyArNzMzLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3Rp
dmUKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
U2hvdWxkQmVTaG93biA9IHRoaXMtPnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24obmV3QWN0aXZlSGlnaGxpZ2h0LmdldCgpKTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
OjpkdXJhdGlvbjo6emVybygpKSB7CisgICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID4gMF9zKSB7CiAgICAgICAgICAgICBtX2RldGVybWluZUFjdGl2
ZUhpZ2hsaWdodFRpbWVyLnN0YXJ0T25lU2hvdChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNzY2LDcg
Kzc2NSw3IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVudChQYWdl
T3ZlcmxheSYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVuCiAgICAgICAgIFJlZlB0cjxIaWdobGln
aHQ+IG1vdXNlRG93bkhpZ2hsaWdodCA9IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxw
dHI7CiAKLSAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKIAogICAgICAgICBpZiAobW91c2VJc092ZXJBY3RpdmVIaWdobGlnaHRCdXR0b24gJiYg
bW91c2VEb3duSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBoYW5kbGVDbGljayhtX21vdXNlUG9z
aXRpb24sICptb3VzZURvd25IaWdobGlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTRlMjBkMjI3NjhjODgyZTkwMGIxMmI0MWZl
MDJlY2RmYjQ4ZjYyOC4uNTA0NGVhZjYyMDRhM2JjMmI4ZGRlNmFlNGE4NTk5YWI1MTE2YjFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCkBA
IC00NzUsNyArNDc1LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5kaWNh
dG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21fdGV4
dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dEluZGlj
YXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4dElu
ZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAgICAg
IG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHRpbWVC
ZWZvcmVGYWRlU3RhcnRzKSk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmNmU1NDZiOTg3MWM5MDgwNGJiNTc4
MTMwNWUxNDNjZWUyMWVjODk2Li44MWMzMDE0ZmE2NTI1ZTFmNmZkZjdkM2UwYzM2ZGNkMjI3NjI0
ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVy
QXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUgPSBz
Y3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3Jv
bGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi5lZDFk
N2Q2MTM5ZjIwNTJiNGJkOGExNjg1NzUwN2Q2MTI4ZjA0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21t
aXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUz
ZjQwZDYwMTQ0ZDA5NGY2ODUzNWY0MTM0ODhmYzRmOTMwOGY2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFi
NDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4uMzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5
NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBl
bmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZCht
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigp
LmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rp
c3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUyYTc0ODMwOWUwNjI4MjBlZGM4
MjM5ODBjMGIyZTEuLmFkNGViNzdhZTU3YmUzMmIzOTM3OGYzODMwOTliOTNkNDU4YWY3ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0zMCw3
ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBEZWZh
dWx0SHlzdGVyZXNpc0ludGVydmFsID0gNV9zOwogCiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lz
U3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewogcHVibGljOgotICAgIGV4cGxp
Y2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRl
KT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNT
ZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVz
aXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sg
PSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBE
ZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAg
ICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwg
bV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rp
dml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAgICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAg
ICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRv
dWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDg4MTgxZDMwNTdmNDY4OTRkZmViOWE5Nzdh
NTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1MzVlNzk4YTBkMGU4MDBlMzhiZjZkOTQyOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBA
IHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShTY3JvbGxiYXIqIHNjcm9sbGJhcikKICAgICBy
ZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPj0gdGh1bWJQb3MgJiYgc2Nyb2xsYmFyLT5w
cmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1iTGVuZ3RoOwogfQogCi12b2lkIFNjcm9sbGJh
cjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjph
dXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBh
bnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5vdGhpbmcgd2FzIHByZXNzZWQuCiAgICAgaWYg
KG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8IG1fcHJlc3NlZFBhcnQgPT0gTm9QYXJ0KQpA
QCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQo
ZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRpbWVySWZOZWVkZWQoZGVsYXkpOwogfQogCi12
b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Ny
b2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxheSkKIHsKICAgICAvLyBEb24n
dCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgogICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRo
dW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklm
TmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBt
X3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9zY3JvbGxUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIFNjcm9sbGJhcjo6c3RvcFRpbWVy
SWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAppbmRleCBmODZhOTYyYWZl
MDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFhLi5hMjM2YzdlOGViMTI3YWVhMzc1NjUyM2Vi
ZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaApAQCAtMTQ0
LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQcm9w
b3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBz
dGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXJJZk5l
ZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1lcklmTmVlZGVkKCk7Ci0gICAg
dm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIGF1dG9z
Y3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KTsKICAgICBTY3JvbGxEaXJlY3Rpb24gcHJl
c3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAgICBTY3JvbGxHcmFudWxhcml0eSBwcmVzc2Vk
UGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2JhNGEwZTNhMGRmYjQ3NjFkZDRhNjU3NWVkYmMu
LmZkYzVmOGQ1ZDY0NWRmMzJmNjAyOTFmNTQ2MGJlNTkzMmRkYzQ4NzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMTA1LDggKzEwNSw4IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFnZXMoKSB7IHJldHVybiBzdGQ6
Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBpbml0
aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1OyB9Ci0gICAgdmlydHVhbCBk
b3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjA1OyB9CisgICAgdmlydHVh
bCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMjVfczsg
fQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAu
MDVfczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNTkxMTk3OGFlZWMxOGYwODNmZGJmODVmMWFm
M2VkMjQxNzkwMTE2NS4uODczNTk0MmZiNjkwNTk2NDRjNGZhZWNiOTQ0NDI2YWUyZmYyMTZiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250LCBGb250RGVzY3JpcHRpb24m
KSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAgCiAgICAgLy8gSG93IGZhc3Qg
dGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJl
dEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29u
ZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41X3M7IH0KIAogICAgIC8v
IE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9p
ZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZFRpbWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
Y3BwCmluZGV4IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFhMTBmY2ZkYmNhNDQuLjZhMTg3
N2YxMzZmZTE3OWMxODMzZGRjMDRlN2IyNjcxYjc5YmYyMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhyZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlRpbWVy
LmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiAjaWYgUExBVEZPUk0oSU9T
KQogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcgKzQ0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVuZ3RoIG9mIHRpbWUsIGFuZCB0
aGVuIHF1aXQgdG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVzZXIgaW5wdXQgZXZlbnRzLgog
Ly8gMTAwbXMgaXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBpbiBVSSwgc28gdXNlIGEgaGFs
ZiBvZiB0aGF0IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0byBwcmV2ZW50IFVJIGZyZWV6
ZSB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFjaGluZSBwZXJmb3JtYW5jZSBp
cyBsb3cuCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAw
LjA1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSA1
MF9tczsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVkIGFuZCBmaXJlZCBvbiB0aGUg
c2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93biBUaHJlYWRUaW1lcnMKIC8v
IGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3VycmVudGx5IGZpcmluZyB0aW1l
cnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgbWF4RHVyYXRpb25PZkZp
cmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJlYWRUaW1lcnMoKQogICAgIDog
bV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMoZmFsc2UpCi0gICAgLCBtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYgKGlzVUlUaHJlYWQoKSkKICAg
ICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c2luZ2xldG9uKCkp
OwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2V0U2hhcmVkVGltZXIoU2hh
cmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJlZFRpbWVyKSB7CiAgICAgICAg
IG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0cik7CiAgICAgICAgIG1fc2hh
cmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9
IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgfQog
ICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFyZWRUaW1lcjsKQEAgLTgxLDE4ICs4MSwxOCBA
QCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIoKQogICAgICAgICByZXR1cm47
CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1RpbWVycyB8fCBtX3RpbWVySGVhcC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAg
IG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgICAgIG1fc2hhcmVkVGlt
ZXItPnN0b3AoKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUgbmV4dEZpcmVUaW1lID0g
bV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgICAgIGRvdWJsZSBjdXJy
ZW50TW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAg
ICBhdXRvIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1l
OworICAgICAgICBhdXRvIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKSB7CiAgICAgICAg
ICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlmIGJvdGggdGhlIHBlbmRpbmcg
ZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4gdGhlIHBhc3QuCiAgICAgICAg
ICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8PSBjdXJyZW50TW9ub3Rvbmlj
VGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25pY1RpbWUpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50
ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGlt
ZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoc3RkOjpt
YXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90b25pY1RpbWUsIDBfcykpOwog
ICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OnNoYXJl
ZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5nVGltZXJzKQogICAgICAgICBy
ZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAgIG1fcGVuZGluZ1NoYXJlZFRp
bWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07
CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
LSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4RHVyYXRpb25PZkZpcmluZ1Rp
bWVyczsKKyAgICBhdXRvIGZpcmVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgYXV0
byB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzOwogCiAg
ICAgd2hpbGUgKCFtX3RpbWVySGVhcC5pc0VtcHR5KCkgJiYgbV90aW1lckhlYXAuZmlyc3QoKS0+
bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRpbWUpIHsKICAgICAgICAgVGltZXJCYXNlKiB0aW1lciA9
IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0gICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IDA7
Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGltZSA9IDA7CisgICAgICAgIHRp
bWVyLT5tX25leHRGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsKKyAgICAgICAgdGltZXItPm1f
dW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgICAgICB0aW1lci0+
aGVhcERlbGV0ZU1pbigpOwogCi0gICAgICAgIGRvdWJsZSBpbnRlcnZhbCA9IHRpbWVyLT5yZXBl
YXRJbnRlcnZhbCgpOwotICAgICAgICB0aW1lci0+c2V0TmV4dEZpcmVUaW1lKGludGVydmFsID8g
ZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDApOworICAgICAgICBTZWNvbmRzIGludGVydmFsID0gdGlt
ZXItPnJlcGVhdEludGVydmFsKCk7CisgICAgICAgIHRpbWVyLT5zZXROZXh0RmlyZVRpbWUoaW50
ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogTW9ub3RvbmljVGltZSgpKTsKIAogICAgICAg
ICAvLyBPbmNlIHRoZSB0aW1lciBoYXMgYmVlbiBmaXJlZCwgaXQgbWF5IGJlIGRlbGV0ZWQsIHNv
IGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0IGFmdGVyIHRoaXMgcG9pbnQuCiAgICAgICAgIHRpbWVy
LT5maXJlZCgpOwogCiAgICAgICAgIC8vIENhdGNoIHRoZSBjYXNlIHdoZXJlIHRoZSB0aW1lciBh
c2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBhIG5lc3RlZCBldmVudCBsb29wLCBvciB3ZSBhcmUgb3Zl
ciB0aW1lIGxpbWl0LgotICAgICAgICBpZiAoIW1fZmlyaW5nVGltZXJzIHx8IHRpbWVUb1F1aXQg
PCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAgICAgaWYgKCFtX2ZpcmluZ1Rp
bWVycyB8fCB0aW1lVG9RdWl0IDwgTW9ub3RvbmljVGltZTo6bm93KCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICB9CiAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6Zmly
ZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIAogICAgIGlmIChtX3NoYXJlZFRpbWVyKSB7CiAg
ICAgICAgIG1fc2hhcmVkVGltZXItPmludmFsaWRhdGUoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hh
cmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSB7IH07CiAgICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGltZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIxZTgyNjY2MmU5YWJiMzA0ZTM4
M2YxN2IxZTcyOWE5Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2ZWM2OTE3MzlhODkwM2EwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpZm5kZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAorI2luY2x1
ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGltZXJIZWFwOwogICAgICAgICBT
aGFyZWRUaW1lciogbV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwgb2JqZWN0LCBjYW4gYmUgYSBy
dW4gbG9vcCBvbiBhIHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNldC9yZXNldCBieSB3b3JrZXIg
dGhyZWFkLgogICAgICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAvLyBSZWVudHJhbmN5IGd1YXJk
LgotICAgICAgICBkb3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKKyAgICAgICAg
TW9ub3RvbmljVGltZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lOwogICAgIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZlN2NjNTU4OTEyOTQ3NDYzOTc2
ZDhkMTg1ZjkxMTE0YmJhLi44ODg0YTE0NjVmNGQ2ZjI4M2RhOWI3ZTkyMTU3MTg3ODVkZDlmNjI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIsOCArMTcyLDggQEAgaW5saW5l
IGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0b3IoKShjb25zdCBUaW1lckJh
c2UqIGEsIGNvbnN0IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFyaXNvbnMgYmVsb3cgYXJlICJi
YWNrd2FyZHMiIGJlY2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFyZ2VzdCAKICAgICAvLyBlbGVt
ZW50IGZpcnN0IGFuZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0byBiZSB0aGUgZmlyc3Qgb25l
IGluIHRoZSBoZWFwLgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsK
LSAgICBkb3VibGUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3Rvbmlj
VGltZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIGJG
aXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChiRmlyZVRpbWUgIT0gYUZpcmVU
aW1lKQogICAgICAgICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVUaW1lOwogICAgIApAQCAtMTg2
LDExICsxODYsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVy
YXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQogLy8gLS0tLS0tLS0tLS0tLS0t
LQogCiBUaW1lckJhc2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25leHRGaXJlVGltZSgwKQotICAg
ICwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1fcmVwZWF0SW50ZXJ2YWwoMCkK
LSAgICAsIG1faGVhcEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhl
YXAoMCkKKyAgICA6IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxU
aW1lckhlYXAobnVsbHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAgLCBtX3RocmVhZChjdXJyZW50
VGhyZWFkKCkpCiAgICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBAIC0yMDcsMzIgKzIwNCwzMiBA
QCBUaW1lckJhc2U6On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAKLXZvaWQgVGltZXJCYXNlOjpz
dGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9p
ZCBUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhy
ZWFkKG1fdGhyZWFkKSk7CiAKICAgICBtX3JlcGVhdEludGVydmFsID0gcmVwZWF0SW50ZXJ2YWw7
Ci0gICAgc2V0TmV4dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgbmV4
dEZpcmVJbnRlcnZhbCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWU6Om5vdygp
ICsgbmV4dEZpcmVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJCYXNlOjpzdG9wKCkKIHsKICAg
ICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAK
LSAgICBtX3JlcGVhdEludGVydmFsID0gMDsKLSAgICBzZXROZXh0RmlyZVRpbWUoMCk7CisgICAg
bV9yZXBlYXRJbnRlcnZhbCA9IDBfczsKKyAgICBzZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGlt
ZSgpKTsKIAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAwKTsKLSAgICBBU1NFUlQobV9y
ZXBlYXRJbnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKKyAgICBB
U1NFUlQoIW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VSVCghaW5IZWFwKCkpOwogfQogCi1k
b3VibGUgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGltZXJC
YXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7
Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICBNb25vdG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBpZiAo
bV9uZXh0RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0
dXJuIDBfczsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBjdXJyZW50OwogfQogCkBAIC0y
NDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmNoZWNrSGVhcEluZGV4KCkg
Y29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0CiB7
CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBpZiBhbmQgb25seSBpZiB0aGV5
IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBBU1NFUlQoaW5IZWFwKCkgPT0g
KG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5IZWFwKCkgPT0gISFtX25leHRG
aXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBjaGVja0hlYXBJbmRleCgpOwog
fQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NFUlQobV9u
ZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAgICBjaGVj
a0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRhID0gdGltZXJIZWFwKCkuZGF0
YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvcihoZWFwRGF0YSksIFRpbWVySGVh
cEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwgVGltZXJIZWFwTGVzc1RoYW5G
dW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3Jl
YXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkKIHsKLSAgICBB
U1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7
CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAgICBtX2hl
YXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6
aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIHsKLSAgICBB
U1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7
CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAgICBt
X2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZvaWQgVGltZXJCYXNlOjpoZWFw
RGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwSW5jcmVhc2VLZXkoKQog
ewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAgICBBU1NFUlQobV9uZXh0Rmly
ZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVhc2VLZXkoKTsKIH0KQEAgLTI5
Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbnNlcnQoKQogaW5saW5l
IHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBUZW1wb3JhcmlseSBmb3JjZSB0
aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdlIGNhbiBwb3AgaXQuCi0gICAg
ZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAgbV9uZXh0RmlyZVRpbWUgPSAt
c3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOworICAgIE1vbm90b25pY1Rp
bWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25leHRGaXJlVGltZSA9IC1Nb25v
dG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogICAgIGhlYXBQ
b3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1lOwpAQCAtMzQ3LDcgKzM0NCw3
IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0
dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDEpICYmIGNo
aWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDIpOwogfQogCi12b2lk
IFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQordm9pZCBUaW1l
ckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRpbWUpCiB7CiAgICAg
aWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkpCiAgICAgICAgIHJl
dHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVl
ZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFwKCkgfHwgaGFzVmFsaWRIZWFw
UG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUoZG91Ymxl
IG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUg
bmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFk
KG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQpOwpAQCAtMzc5LDExICszNzYs
MTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGltZSkKICAg
ICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAmdGhyZWFkR2xvYmFsVGltZXJI
ZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUgY2hhbmdpbmcgdGhlIG5leHQt
ZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CisgICAgTW9u
b3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAgICAgLy8gRG9uJ3QgcmVhbGln
biB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkgewotICAgICAgICBpZiAoYXV0
byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNvbmRzVG9NUyhuZXdUaW1lKSkp
Ci0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3QWxpZ25lZFRpbWUudmFsdWUo
KSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0gYWxpZ25lZEZpcmVUaW1lKG5l
d1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWduZWRUaW1lLnZhbHVlKCk7CiAg
ICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpAQCAtNDE2LDEwICs0MTMsMTAg
QEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCkKICAgICBzZXRO
ZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwogfQogCi1kb3VibGUgVGltZXJC
YXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGltZXJCYXNl
OjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNBY3Rp
dmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAgcmV0dXJuIHN0ZDo6bWF4KG1f
dW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCksIDBfcyk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDUyYTE2
NmViYTJkMjMxOWQxNWExYjdlZDkwODJiNmIxNDMzZjNiMjQuLjMwZmQyMmQ5OGIwMmVlZDUxNjMw
YTdiNmY4ZTVmNTYyZTk4ODdjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisjaW5j
bHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgpAQCAt
NDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiBjbGFzcyBUaW1lckJhc2Ug
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlubGluZSBkb3VibGUgbXNUb1Nl
Y29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlvbikgeyByZXR1cm4gZHVyYXRp
b24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGluZSBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShkdXJhdGlv
biAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVGltZXJCYXNlKCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2
YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotICAgIHZvaWQg
c3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkg
eyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRlcnZhbCkpOyB9Ci0gICAgdm9p
ZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5n
KHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFy
dChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0g
ICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAw
KTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50
ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICB2b2lk
IHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLnZhbHVlKCks
IDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7
IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0YXJ0
T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3Q7
CiAKLSAgICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0OwotICAgIGRvdWJsZSBuZXh0
VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91YmxlIHJlcGVhdEludGVydmFs
KCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQotICAgIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsgcmV0dXJuIHNlY29uZHNUb01T
KHJlcGVhdEludGVydmFsKCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91
YmxlIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJlVGltZSArIGRlbHRhKTsgfQot
ICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRl
bHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZv
aWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2
YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICBTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwoKSBjb25z
dDsKKyAgICBTZWNvbmRzIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBT
ZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsg
fQogCi0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IGF1Z21l
bnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFsICs9IGRlbHRhOyB9Ci0gICAg
dm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0
YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZv
aWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdElu
dGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNl
Y29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZpcmVUaW1lICsgZGVsdGEpOyB9
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50
RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsgfQogCiAgICAg
dm9pZCBkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBAIC04OCwxNyArNzQsMTcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSA9IDA7CiAKLSAgICB2
aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4gYWxpZ25lZEZp
cmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsgfQorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb25vdG9uaWNUaW1lPiBhbGlnbmVk
RmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAK
ICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAgICB2b2lkIGNoZWNrSGVhcElu
ZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGltZShkb3VibGUpOworICAgIHZv
aWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAgICAgYm9vbCBpbkhlYXAoKSBj
b25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAgICAgYm9vbCBoYXNWYWxpZEhl
YXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRp
bWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAgICB2b2lkIGhlYXBEZWxldGUo
KTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8VGltZXJCYXNlKj4m
IHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFw
KTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsgfQogCi0gICAgZG91Ymxl
IG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAgZG91YmxlIG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50
IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7IC8vIDAgaWYgbm90IHJlcGVh
dGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7IC8vIDAgaWYgaW5hY3RpdmUK
KyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJl
VGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCisgICAgU2Vjb25kcyBtX3Jl
cGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAgICBpbnQgbV9oZWFwSW5kZXg7
IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9oZWFwSW5zZXJ0aW9uT3JkZXI7
IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJlLXRpbWUgdGltZXJzCiAgICAg
VmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsKQEAgLTE1
OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSBjb25zdAog
I2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkgfHwgcHRocmVhZF9tYWluX25w
KCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZiAvLyBQTEFURk9STShJ
T1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJldHVybiAhIW1fbmV4dEZpcmVU
aW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIDogcHJvdGVjdGVkIFRpbWVy
QmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGltZXJGaXJlZENsYXNzPgot
ICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQg
KFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmpl
Y3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBTZWNvbmRzIGRlbGF5KQog
ICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpiaW5kKGZ1bmN0aW9uLCAmb2Jq
ZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIo
c3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248dm9pZCAo
KT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogbV9mdW5jdGlvbihXVEZNb3Zl
KGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQogICAgICAgICAsIG1fc2hvdWxk
UmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcgKzE5OCw3IEBAIHByaXZhdGU6
CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rpb247CiAKLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25kcyBtX2RlbGF5OwogICAgIGJv
b2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUwMTkxNDRhMjFmZjRkM2RjMGUx
OGY5ZmM5MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlmMWU1ODNmNWM5MGM4ZDc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKQEAgLTQwLDcgKzQwLDcg
QEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRvbigpCiBWTm9kZVRyYWNrZXI6
OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2
ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZlbnQ6OkluY3JlbWVudCkgY2hl
Y2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJlV2FybmluZ1RpbWVyKCp0aGlz
LCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKQotICAgICwgbV9sYXN0
V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCisgICAgLCBtX2xh
c3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsKICAgICBwbGF0Zm9ybUluaXRp
YWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5vZGVUcmFja2VyOjpwcmVzc3Vy
ZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNvdW50ZXIudmFsdWUoKSA8PSBt
X3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xhc3RXYXJuaW5nVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFdhcm5pbmdU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWduZWQgdm5vZGVDb3VudCA9IG1f
dm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNhbCA9IHZub2RlQ291bnQgPiBt
X2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRpY2FsOjpObzsKICAgICBtX3By
ZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9yeVByZXNzdXJlLCAidm5vZGUg
cHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBvZiAldSAoY3JpdGljYWwgcHJl
c3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRlci52YWx1ZSgpLCB2bm9kZUNv
dW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIgOiAiTm8iKTsKIH0KIAotc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5leHRQcmVzc3VyZVdhcm5pbmdJ
bnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2Fybmlu
Z0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhlIHZub2RlIHByZXNzdXJlIGhh
bmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0YXRpYyBjb25zdCBhdXRvIG1p
bmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMwIH07Ci0gICAg
YXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11
bVdhcm5pbmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9
IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CiAgICAgaWYgKHRpbWVT
aW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZhbCkKLSAgICAgICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KG1p
bmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2FybmluZyk7Ci0gICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBtaW5pbXVt
V2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7CisKKyAgICByZXR1cm4gMF9z
OwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRy
YWNrZXIuaAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4NWFiZmUxODI2MGY0YTI0Li4w
NGZiMzc5NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHByZXNzdXJlV2FybmluZ1RpbWVy
RmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG5leHRQcmVzc3VyZVdhcm5p
bmdJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFByZXNzdXJlV2FybmluZ0ludGVy
dmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCkBAIC02Miw3
ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVyIG1fcHJlc3N1cmVIYW5kbGVy
OwogICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAgICBUaW1lciBtX3ByZXNzdXJl
V2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQg
bV9sYXN0V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RXYXJuaW5nVGltZTsK
IH07CiAKIGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJlc3N1cmVIYW5kbGVyKFByZXNz
dXJlSGFuZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2NzY2OWEyMDYwODQ4Y2M2ODEy
Y2Y0NmU0Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4ZDRjNDBjNzkzNjgxNjE1ZWI4
OTk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVs
YXkgPSAwLjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRs
ZURlbGF5ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBzdGF0aWMgY29uc3QgY2hhciog
c3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBzdGF0ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmluZGV4IDNlMThk
NGJmMDNiZjVlN2Y4NDExY2FjZDkzMTg3NWY1YjIxNzY3OTguLjhjMGE0YzYyOTkyMzBkNWZmM2Rk
YTVmYWY2YTBkMTczODUzYTgxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNDExLDcgKzQxMSw3IEBAIGJvb2wgU2Nyb2xs
Q29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lkIFNjcm9sbENv
bnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9jbGllbnQuc3Rh
cnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0YXJ0
UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJl
cGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2NsaWVudC5kZWZlclRlc3RzRm9y
UmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxl
QXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlJ1YmJlcmJhbmRJ
blByb2dyZXNzKTsKIH0KQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6
OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDc1MF9tczsKLSAg
ICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Nj
cm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSk7CiAgICAgc3RhcnREZWZl
cnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApAQCAtNjEwLDcgKzYxMCw3IEBA
IHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIoKQogCiAgICAgc3Rh
cnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKICAgICBtX2NsaWVudC5zdGFy
dFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5n
KDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29u
ZHMoMS4wIC8gNjApKTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdG9wU2Nyb2xsU25h
cFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29j
b2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4
IDZhNTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlkOTAuLmU0YzQyMjE2MjNlMWM4
MDA4NTdiMGVhNmM2NTBlZGVmZGNmYTQ0MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZ
X0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERpc2Nvbm5lY3ROb3RpZmljYXRp
bwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1zOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2X21zOwogCiBHYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURH
YW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMv
SElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlhMDUwZDE4YWE4NzA4OWU5NThlODEy
MTRlMWNkZmIxNGViLi4xYzZiNWQ4M2E4YTkwMzQ4MzUwOTQyNTEzMTMyNmU5Y2Y5YTczMjRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFk
UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJ
REdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25EZWxheUludGVydmFsID0gMC41
Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMC4wNTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUludGVydmFsID0gMC41X3M7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMC4wNV9zOwogCiBzdGF0
aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVp
bnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBAIC0yMDEsNyArMjAxLDcgQEAg
dm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKElPSElERGV2aWNlUmVmIGRldmlj
ZSkKICAgICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0aGUgY2xpZW50IGFib3V0
IGFueSBvZiB0aGVtLgogICAgICAgICAvLyBUaGUgbV9jb25uZWN0aW9uRGVsYXlUaW1lciBmaXJl
cyBpbiBhIHN1YnNlcXVlbnQgc3BpbiBvZiB0aGUgcnVubG9vcCBhZnRlciB3aGljaAogICAgICAg
ICAvLyBhbnkgY29ubmVjdGlvbiBldmVudHMgYXJlIGFjdHVhbCBuZXcgZGV2aWNlcy4KLSAgICAg
ICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29u
bmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICAgICAgTE9HKEdhbWVw
YWQsICJEZXZpY2UgJXAgd2FzIGFkZGVkIHdoaWxlIHN1cHByZXNzaW5nIGNhbGxiYWNrcywgc28g
dGhpcyBzaG91bGQgYmUgYW4gJ2FscmVhZHkgY29ubmVjdGVkJyBldmVudCIsIGRldmljZSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcApp
bmRleCAwYWM2M2ZiNDcyZDMxN2FkOWE5OTdhMzI4MWFkZTllNzA1YjRjMTNkLi43ZWZjMzlkNzBm
ODU1Y2YzNTQ2OGRhZTgxYzM4MjQ4YjRlYjVhY2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCkBAIC0yMjEsNyArMjIxLDcgQEAgdm9p
ZCBCaXRtYXBJbWFnZTo6Y2xlYXJUaW1lcigpCiAgICAgbV9mcmFtZVRpbWVyID0gbnVsbHB0cjsK
IH0KIAotdm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihkb3VibGUgZGVsYXkpCit2b2lkIEJp
dG1hcEltYWdlOjpzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpCiB7CiAgICAgQVNTRVJUKCFtX2Zy
YW1lVGltZXIpOwogICAgIG1fZnJhbWVUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0
aGlzLCAmQml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24pOwpAQCAtMjg1LDcgKzI4NSw3IEBA
IEJpdG1hcEltYWdlOjpTdGFydEFuaW1hdGlvblJlc3VsdCBCaXRtYXBJbWFnZTo6aW50ZXJuYWxT
dGFydEFuaW1hdGlvbigpCiAgICAgfQogCiAgICAgQVNTRVJUKCFtX2ZyYW1lVGltZXIpOwotICAg
IHN0YXJ0VGltZXIobV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgLSB0aW1lKTsKKyAgICBzdGFydFRp
bWVyKFNlY29uZHMobV9kZXNpcmVkRnJhbWVTdGFydFRpbWUgLSB0aW1lKSk7CiAgICAgcmV0dXJu
IFN0YXJ0QW5pbWF0aW9uUmVzdWx0OjpTdGFydGVkOwogfQogCkBAIC0yOTksNyArMjk5LDcgQEAg
dm9pZCBCaXRtYXBJbWFnZTo6YWR2YW5jZUFuaW1hdGlvbigpCiAgICAgICAgIGRvdWJsZSB0aW1l
ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIC8vIFN0YXJ0IGEgdGlt
ZXIgd2l0aCB0aGUgcmVtYWluaW5nIHRpbWUgZnJvbSBub3cgdGlsbCB0aGUgbV9kZXNpcmVkRnJh
bWVEZWNvZGVUaW1lLgogICAgICAgICBpZiAobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVz
dGluZyA+IHN0ZDo6bWF4KHRpbWUsIG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lKSkgewotICAgICAg
ICAgICAgc3RhcnRUaW1lcihtX2Rlc2lyZWRGcmFtZURlY29kZVRpbWVGb3JUZXN0aW5nIC0gdGlt
ZSk7CisgICAgICAgICAgICBzdGFydFRpbWVyKFNlY29uZHMobV9kZXNpcmVkRnJhbWVEZWNvZGVU
aW1lRm9yVGVzdGluZyAtIHRpbWUpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5o
CmluZGV4IDQxMjRmYTY1MzRkMTA4Mjc3OGE2ZWRlYjQwYTk5MmI2ODQ3NmFiMzUuLjg2ODZkM2Fl
OThjODc3YjVmYjE1ZTY3ZDg2Njg1ODkzNWNiOTM2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtMTg2LDcgKzE4Niw3IEBAIHByb3Rl
Y3RlZDoKIAogcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyVGltZXIoKTsKLSAgICB2b2lkIHN0YXJ0
VGltZXIoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXIoU2Vjb25kcyBkZWxheSk7
CiAgICAgYm9vbCBpc0JpdG1hcEltYWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZvaWQgZHVtcChUZXh0U3RyZWFtJikgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDAzYTc4ZTdh
ZmE4ZTQxZTVlZTQ1OWNmMTVkYzdmYWUwNmM2MWI2MGMuLmY1NjI5ZDhhZjY2MzNlY2UwNGNhNTlj
ZjgyYmM3NGRkYTQzN2Q0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmNwcApAQCAtMzI5LDcgKzMyOSw3IEBAIGNvbnN0IHVuc2lnbmVkIGNUYXJn
ZXRVbmRlck1lbW9yeVByZXNzdXJlSW5hY3RpdmVGb250RGF0YSA9IDMwOwogUmVmUHRyPEZvbnQ+
IEZvbnRDYWNoZTo6Zm9udEZvckZhbWlseShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRGZWF0dXJlU2V0
dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRG
YWNlVmFyaWFudFNldHRpbmdzLCBib29sIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSkKIHsKICAgICBp
ZiAoIW1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRP
bmVTaG90KDBtcyk7CisgICAgICAgIG1fcHVyZ2VUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAog
ICAgIEZvbnRQbGF0Zm9ybURhdGEqIHBsYXRmb3JtRGF0YSA9IGdldENhY2hlZEZvbnRQbGF0Zm9y
bURhdGEoZm9udERlc2NyaXB0aW9uLCBmYW1pbHksIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNl
VmFyaWFudFNldHRpbmdzLCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpOwogICAgIGlmICghcGxhdGZv
cm1EYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAppbmRleCA0OTMxNjg2YjMxNTEyNzcx
NjI1MDQ4ODhiNzE1ZTI4MWEyNzU5MjA2Li41ZTA3YzVmNzdmMzBiMTk2NmEyZDFmZGNlNTBhMjE5
M2YwMTJlYWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyLmNwcApAQCAtMzMsNyArMzMsNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcGVuZGluZ0Fj
dGlvbkludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBlbmRpbmdB
Y3Rpb25JbnRlcnZhbCA9IDAuMV9zOwogCiBNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpNZWRp
YVBsYXliYWNrVGFyZ2V0UGlja2VyKENsaWVudCYgY2xpZW50KQogICAgIDogbV9jbGllbnQoJmNs
aWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmNwcAppbmRleCAwZGM4OGM3ZDkzNGQxNGEzZjQ0Y2Q4MDc0ZDJmOGJiZGRmMzYzNjczLi5lM2M5
NzhhZTNiY2U1YjE2MDE4ODQ1NmE1YjU1OGFjZmJhZTk1ODgwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xMDk4LDcgKzEwOTgs
NyBAQCB2b2lkIE1lZGlhUGxheWVyOjpuZXR3b3JrU3RhdGVDaGFuZ2VkKCkKICAgICBpZiAobV9w
cml2YXRlLT5uZXR3b3JrU3RhdGUoKSA+PSBGb3JtYXRFcnJvciAmJiBtX3ByaXZhdGUtPnJlYWR5
U3RhdGUoKSA8IEhhdmVNZXRhZGF0YSkgewogICAgICAgICBtX2NsaWVudC5tZWRpYVBsYXllckVu
Z2luZUZhaWxlZFRvTG9hZCgpOwogICAgICAgICBpZiAoaW5zdGFsbGVkTWVkaWFFbmdpbmVzKCku
c2l6ZSgpID4gMSAmJiAobV9jb250ZW50TUlNRVR5cGUuaXNFbXB0eSgpIHx8IG5leHRCZXN0TWVk
aWFFbmdpbmUobV9jdXJyZW50TWVkaWFFbmdpbmUpKSkgewotICAgICAgICAgICAgbV9yZWxvYWRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3JlbG9hZFRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAppbmRleCAzMjlj
YTEwMDliY2E4ZGExYThjZTEwMTE4MjAzNTBmZmU5OTRhM2Y5Li5iMzQwNDJhYzViYjdjZWY1YTk0
M2IxOTU4YTIyMDgzNGQ0OTFiZWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TaGFkb3dCbHVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaGFkb3dCbHVyLmNwcApAQCAtMTI0LDcgKzEyNCw3IEBAIHB1YmxpYzoKICAgICAg
ICAgaWYgKG1fcHVyZ2VUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgbV9wdXJnZVRpbWVy
LnN0b3AoKTsKIAotICAgICAgICBjb25zdCBkb3VibGUgc2NyYXRjaEJ1ZmZlclB1cmdlSW50ZXJ2
YWwgPSAyOworICAgICAgICBjb25zdCBhdXRvIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0g
Ml9zOwogICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KHNjcmF0Y2hCdWZmZXJQdXJn
ZUludGVydmFsKTsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxl
Y3Rpb25Hcm91cEFWRk9iakMubW0KaW5kZXggNmVlOGJjNGVmYjMxN2FiZjE2NjM0YTRjMjkzNTRl
Yjg1YzQ5YWU2ZC4uOGRlZTA5Y2UwODZhZGFmNWJlMjdjMjAwOGFjYjI1ZGQ4OTJjMzVlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQpAQCAt
MTY2LDcgKzE2Niw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnVwZGF0ZU9w
dGlvbnMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGNoYXJhY3RlcmlzCiAKICAgICBBU1NFUlQobV9v
cHRpb25zLmNvbnRhaW5zKHByZWZlcnJlZE9wdGlvbikpOwogICAgIG1fc2VsZWN0ZWRPcHRpb24g
PSBtX29wdGlvbnMuZ2V0KHByZWZlcnJlZE9wdGlvbik7Ci0gICAgbV9zZWxlY3Rpb25UaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24o
TWVkaWFTZWxlY3Rpb25PcHRpb25BVkZPYmpDKiBvcHRpb24pCkBAIC0xNzgsNyArMTc4LDcgQEAg
dm9pZCBNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24oTWVkaWFT
ZWxlY3Rpb25PcHRpb25BVkZPYmpDKgogICAgIG1fc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247CiAg
ICAgaWYgKG1fc2VsZWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9zZWxlY3Rpb25U
aW1lci5zdG9wKCk7Ci0gICAgbV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9zZWxlY3Rpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNZWRpYVNlbGVj
dGlvbkdyb3VwQVZGT2JqQzo6c2VsZWN0aW9uVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMubW0KaW5kZXggZmYyOTk0ZmJhNjRhNzk4NjM2M2QyODNlZDRmNTI4ZGQ4ZTEzNjU2MS4u
NGZlMGY2MDE0MWY0YzNlNTc5MGI2NjdkZDZmYjZiNjJiNjgwMjcyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291
cmNlQVZGT2JqQy5tbQpAQCAtMjI4LDcgKzIyOCw3IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5
cGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzdXBwb3J0c1R5cGUoY29u
CiAgICAgICAgIG91dHB1dENvZGVjcyA9IFtnZXRBVlN0cmVhbURhdGFQYXJzZXJDbGFzcygpIG91
dHB1dE1JTUVDb2RlY1BhcmFtZXRlckZvcklucHV0TUlNRUNvZGVjUGFyYW1ldGVyOm91dHB1dENv
ZGVjc107CiAKICAgICBOU1N0cmluZyAqdHlwZVN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRo
Rm9ybWF0OkAiJUA7IGNvZGVjcz1cIiVAXCIiLCAoTlNTdHJpbmcgKilwYXJhbWV0ZXJzLnR5cGUs
IChOU1N0cmluZyAqKW91dHB1dENvZGVjc107Ci0gICAgcmV0dXJuIFtnZXRBVlVSTEFzc2V0Q2xh
c3MoKSBpc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlwZTp0eXBlU3RyaW5nXSA/IE1lZGlhUGxheWVy
OjpJc1N1cHBvcnRlZCA6IE1lZGlhUGxheWVyOjpNYXlCZVN1cHBvcnRlZDs7CisgICAgcmV0dXJu
IFtnZXRBVlVSTEFzc2V0Q2xhc3MoKSBpc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlwZTp0eXBlU3Ry
aW5nXSA/IE1lZGlhUGxheWVyOjpJc1N1cHBvcnRlZCA6IE1lZGlhUGxheWVyOjpNYXlCZVN1cHBv
cnRlZDsKIH0KIAogI3ByYWdtYSBtYXJrIC0KQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UoY29uc3Qg
TWVkaWFUaW1lJiB0aQogCiAgICAgaWYgKG1fc2Vla1RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IG1fc2Vla1RpbWVyLnN0b3AoKTsKLSAgICBtX3NlZWtUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpzZWVrSW50ZXJuYWwoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKaW5kZXggMGNmN2Y3N2U2
MTFhZDJiZDRlYjA3MjM1MDAxOGFkYzRiY2RiODQ1Zi4uMGNjNGZhYzU4YTMwNDJhYjY2ODRjZTE2
YmU3MGQ0YzI1MGFmOTdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvTGF5ZXJQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9MYXllclBvb2wuY3BwCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBMYXllclBvb2w6
OnNjaGVkdWxlUHJ1bmUoKQogewogICAgIGlmIChtX3BydW5lVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgcmV0dXJuOwotICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV9w
cnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogfQogCiB2b2lkIExheWVyUG9vbDo6cHJ1bmVU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb250cm9sbGVyLmNwcAppbmRleCBlNDI1YjgyZjgwMzQ3NDdlYWZlYzE4ZTgwZTBl
OTY4YWZkNWMwNDc3Li5iYzk0OTYxM2U2OTUxNDQyMjIzZTM0ZmI4ZGU1M2MyOTE5MjBlY2Y0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNv
bnRyb2xsZXIuY3BwCkBAIC00OSw3ICs0OSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGF1dG8gdGlsZVNpemVVcGRhdGVEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgeyA1MDAgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbGVTaXplVXBkYXRlRGVs
YXkgPSAwLjVfczsKIAogU3RyaW5nIFRpbGVDb250cm9sbGVyOjp0aWxlR3JpZENvbnRhaW5lckxh
eWVyTmFtZSgpCiB7CkBAIC0yNjYsNyArMjY2LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6c2V0
SXNJbldpbmRvdyhib29sIGlzSW5XaW5kb3cpCiAgICAgaWYgKG1faXNJbldpbmRvdykKICAgICAg
ICAgc2V0TmVlZHNSZXZhbGlkYXRlVGlsZXMoKTsKICAgICBlbHNlIHsKLSAgICAgICAgY29uc3Qg
ZG91YmxlIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0ID0gNDsKKyAgICAgICAgY29uc3QgU2Vjb25k
cyB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCA9IDRfczsKICAgICAgICAgc2NoZWR1bGVUaWxlUmV2
YWxpZGF0aW9uKHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0KTsKICAgICB9CiB9CkBAIC00NTYsNyAr
NDU2LDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChGbG9h
dFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXQKICNlbmRpZgogfQogCi12b2lkIFRpbGVD
b250cm9sbGVyOjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24oZG91YmxlIGludGVydmFsKQordm9p
ZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50ZXJ2
YWwpCiB7CiAgICAgaWYgKG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV90
aWxlUmV2YWxpZGF0aW9uVGltZXIubmV4dEZpcmVJbnRlcnZhbCgpIDwgaW50ZXJ2YWwpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlQ29udHJvbGxlci5oCmluZGV4IDhjODRjN2NjOTI3NjZjNDZmOTc1OTExNzExZjg5N2Jk
ZWJiMThkYTguLjhjYWU0NDc3ODNmYmQwZDQ3ZGU0NWZjODVjYWRlN2RiODMxNjY5ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xs
ZXIuaApAQCAtMTM0LDcgKzEzNCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgVGlsZUdyaWQm
IHRpbGVHcmlkKCkgeyByZXR1cm4gKm1fdGlsZUdyaWQ7IH0KIAotICAgIHZvaWQgc2NoZWR1bGVU
aWxlUmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCk7CisgICAgdm9pZCBzY2hlZHVsZVRpbGVS
ZXZhbGlkYXRpb24oU2Vjb25kcyBpbnRlcnZhbCk7CiAKICAgICBib29sIGlzSW5XaW5kb3coKSBj
b25zdCB7IHJldHVybiBtX2lzSW5XaW5kb3c7IH0KICAgICBmbG9hdCB0b3BDb250ZW50SW5zZXQo
KSBjb25zdCB7IHJldHVybiBtX3RvcENvbnRlbnRJbnNldDsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKaW5kZXgg
NzkyMzk2N2VmNTc1ZmFkMWJiMzJmMWFmMDNjOTg5OGZmYmIxNzE1Yy4uMzFkNmE1ODhlODkzZTc3
ZmJmNGM0MzA3OTk0NTlkZDg0NjBiOWIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCkBAIC03OSw3ICs3OSw3
IEBAIFRpbGVDb3ZlcmFnZU1hcDo6flRpbGVDb3ZlcmFnZU1hcCgpCiB2b2lkIFRpbGVDb3ZlcmFn
ZU1hcDo6c2V0TmVlZHNVcGRhdGUoKQogewogICAgIGlmICghbV91cGRhdGVUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91
cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6
OnVwZGF0ZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvVGlsZUdyaWQuY3BwCmluZGV4IDI4ZjI5Y2JkZThlMjFmNzE4MDFiODg2MjI3OTU2MWVm
OTIyZmExYzEuLjIzYjM4YTdjMjI3MGJmYjEzNzljNzIxNWFkOWNhMWZjYWYyNzJhZTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKQEAg
LTM0Miw3ICszNDIsNyBAQCB2b2lkIFRpbGVHcmlkOjpyZXZhbGlkYXRlVGlsZXMoVGlsZVZhbGlk
YXRpb25Qb2xpY3kgdmFsaWRhdGlvblBvbGljeSkKICAgICBUaWxlQ29ob3J0IGN1cnJDb2hvcnQg
PSBuZXh0VGlsZUNvaG9ydCgpOwogICAgIHVuc2lnbmVkIHRpbGVzSW5Db2hvcnQgPSAwOwogCi0g
ICAgZG91YmxlIG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uID0gc3RkOjpudW1lcmlj
X2xpbWl0czxkb3VibGU+OjptYXgoKTsKKyAgICBTZWNvbmRzIG1pbmltdW1SZXZhbGlkYXRpb25U
aW1lckR1cmF0aW9uID0gU2Vjb25kczo6aW5maW5pdHkoKTsKICAgICBib29sIG5lZWRzVGlsZVJl
dmFsaWRhdGlvbiA9IGZhbHNlOwogICAgIAogICAgIGF1dG8gdGlsZVNpemUgPSBtX2NvbnRyb2xs
ZXIudGlsZVNpemUoKTsKQEAgLTM4MSw4ICszODEsOCBAQCB2b2lkIFRpbGVHcmlkOjpyZXZhbGlk
YXRlVGlsZXMoVGlsZVZhbGlkYXRpb25Qb2xpY3kgdmFsaWRhdGlvblBvbGljeSkKICAgICAgICAg
ICAgICAgICBmb3IgKGF1dG8mIGNvaG9ydCA6IG1fY29ob3J0TGlzdCkgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoY29ob3J0LmNvaG9ydCAhPSB0aWxlSW5mby5jb2hvcnQpCiAgICAgICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgZG91YmxlIHRpbWVV
bnRpbENvaG9ydEV4cGlyZXMgPSBjb2hvcnQudGltZVVudGlsRXhwaXJhdGlvbigpOwotICAgICAg
ICAgICAgICAgICAgICBpZiAodGltZVVudGlsQ29ob3J0RXhwaXJlcyA+IDApIHsKKyAgICAgICAg
ICAgICAgICAgICAgYXV0byB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29ob3J0LnRpbWVVbnRp
bEV4cGlyYXRpb24oKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVVbnRpbENvaG9ydEV4
cGlyZXMgPiAwX3MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1SZXZhbGlkYXRp
b25UaW1lckR1cmF0aW9uID0gc3RkOjptaW4obWluaW11bVJldmFsaWRhdGlvblRpbWVyRHVyYXRp
b24sIHRpbWVVbnRpbENvaG9ydEV4cGlyZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgbmVl
ZHNUaWxlUmV2YWxpZGF0aW9uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCkBA
IC00NzgsNyArNDc4LDcgQEAgVGlsZUdyaWQ6OlRpbGVDb2hvcnQgVGlsZUdyaWQ6Om5leHRUaWxl
Q29ob3J0KCkgY29uc3QKIAogdm9pZCBUaWxlR3JpZDo6c3RhcnRlZE5ld0NvaG9ydChUaWxlQ29o
b3J0IGNvaG9ydCkKIHsKLSAgICBtX2NvaG9ydExpc3QuYXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNv
aG9ydCwgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpKTsKKyAgICBtX2NvaG9ydExpc3Qu
YXBwZW5kKFRpbGVDb2hvcnRJbmZvKGNvaG9ydCwgTW9ub3RvbmljVGltZTo6bm93KCkpKTsKICNp
ZiBQTEFURk9STShJT1MpCiAgICAgaWYgKCFtX2NvbnRyb2xsZXIuaXNJbldpbmRvdygpKQogICAg
ICAgICB0aWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXIoKS50aWxlQ29udHJvbGxlckdhaW5lZFVu
cGFyZW50ZWRUaWxlcygmbV9jb250cm9sbGVyKTsKQEAgLTQ5NywxNyArNDk3LDE3IEBAIFRpbGVH
cmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpvbGRlc3RUaWxlQ29ob3J0KCkgY29uc3QKIAogdm9p
ZCBUaWxlR3JpZDo6c2NoZWR1bGVDb2hvcnRSZW1vdmFsKCkKIHsKLSAgICBjb25zdCBkb3VibGUg
Y29ob3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyA9IDE7CisgICAgY29uc3QgYXV0byBjb2hvcnRSZW1v
dmFsSW50ZXJ2YWwgPSAxX3M7CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIsIG9yIHJlc2NoZWR1
bGUgdGhlIHRpbWVyIGZyb20gbm93IGlmIGl0J3MgYWxyZWFkeSBhY3RpdmUuCiAgICAgaWYgKCFt
X2NvaG9ydFJlbW92YWxUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2NvaG9ydFJlbW92YWxU
aW1lci5zdGFydFJlcGVhdGluZyhjb2hvcnRSZW1vdmFsVGltZXJTZWNvbmRzKTsKKyAgICAgICAg
bV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29ob3J0UmVtb3ZhbEludGVydmFs
KTsKIH0KIAotZG91YmxlIFRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJh
dGlvbigpCitTZWNvbmRzIFRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6dGltZVVudGlsRXhwaXJh
dGlvbigpCiB7Ci0gICAgZG91YmxlIGNvaG9ydExpZmVUaW1lU2Vjb25kcyA9IDI7Ci0gICAgZG91
YmxlIHRpbWVUaHJlc2hvbGQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGNvaG9y
dExpZmVUaW1lU2Vjb25kczsKKyAgICBjb25zdCBTZWNvbmRzIGNvaG9ydExpZmVUaW1lID0gU2Vj
b25kcygyKTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVUaHJlc2hvbGQgPSBNb25vdG9uaWNUaW1l
Ojpub3coKSAtIGNvaG9ydExpZmVUaW1lOwogICAgIHJldHVybiBjcmVhdGlvblRpbWUgLSB0aW1l
VGhyZXNob2xkOwogfQogCkBAIC01MTgsNyArNTE4LDcgQEAgdm9pZCBUaWxlR3JpZDo6Y29ob3J0
UmVtb3ZhbFRpbWVyRmlyZWQoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgd2hpbGUg
KCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgpLnRpbWVVbnRp
bEV4cGlyYXRpb24oKSA8IDApIHsKKyAgICB3aGlsZSAoIW1fY29ob3J0TGlzdC5pc0VtcHR5KCkg
JiYgbV9jb2hvcnRMaXN0LmZpcnN0KCkudGltZVVudGlsRXhwaXJhdGlvbigpIDwgMF9zKSB7CiAg
ICAgICAgIFRpbGVDb2hvcnRJbmZvIGZpcnN0Q29ob3J0ID0gbV9jb2hvcnRMaXN0LnRha2VGaXJz
dCgpOwogICAgICAgICByZW1vdmVUaWxlc0luQ29ob3J0KGZpcnN0Q29ob3J0LmNvaG9ydCk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgK
aW5kZXggMzI1MzM2ZjgxOTFlNDU4MjNjNzU1ZDg3ODJjNDJhYTBkZTU3NjUxZC4uNDI2OTM3NzRi
YTRmMWM1YWI0Y2QzNGUyOGEzMjdmZWU5OGFlMGM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCkBAIC0xMjEsMTMgKzEyMSwxMyBAQCBwcml2
YXRlOgogCiAgICAgc3RydWN0IFRpbGVDb2hvcnRJbmZvIHsKICAgICAgICAgVGlsZUNvaG9ydCBj
b2hvcnQ7Ci0gICAgICAgIGRvdWJsZSBjcmVhdGlvblRpbWU7IC8vIGluIG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpLgotICAgICAgICBUaWxlQ29ob3J0SW5mbyhUaWxlQ29ob3J0IGluQ29o
b3J0LCBkb3VibGUgaW5UaW1lKQorICAgICAgICBNb25vdG9uaWNUaW1lIGNyZWF0aW9uVGltZTsK
KyAgICAgICAgVGlsZUNvaG9ydEluZm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgTW9ub3RvbmljVGlt
ZSBpblRpbWUpCiAgICAgICAgICAgICA6IGNvaG9ydChpbkNvaG9ydCkKICAgICAgICAgICAgICwg
Y3JlYXRpb25UaW1lKGluVGltZSkKICAgICAgICAgeyB9CiAKLSAgICAgICAgZG91YmxlIHRpbWVV
bnRpbEV4cGlyYXRpb24oKTsKKyAgICAgICAgU2Vjb25kcyB0aW1lVW50aWxFeHBpcmF0aW9uKCk7
CiAgICAgfTsKIAogICAgIHZvaWQgcmVtb3ZlQWxsVGlsZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKaW5kZXggYjgx
ZDU4ZTYzZDE4YjI2YWY0ZGIxNGZhNWMzYThhMGZlMGJmZjE0OC4uZjk0ZjRhMTQ3MDQ3NzJlODgy
MWRhYmY2MTNlMzg3NDAzZTkzMmFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKQEAgLTMzLDggKzMzLDggQEAKICNp
bmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKLWNvbnN0
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgY29sbGVjdGlvbkludGVydmFsID0gNTAwbXM7Ci1j
b25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzdXJmYWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJs
ZSA9IDJzOworY29uc3QgU2Vjb25kcyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSAwLjVfczsKK2NvbnN0
IFNlY29uZHMgc3VyZmFjZUFnZUJlZm9yZU1hcmtpbmdQdXJnZWFibGUgPSAyX3M7CiBjb25zdCBz
aXplX3QgZGVmYXVsdE1heGltdW1CeXRlc0NhY2hlZCA9IDEwMjQgKiAxMDI0ICogNjQ7CiAKIC8v
IFdlJ2xsIG5ldmVyIGFsbG93IG1vcmUgdGhhbiAxLzIgb2YgdGhlIGNhY2hlIHRvIGJlIGZpbGxl
ZCB3aXRoIGluLXVzZSBzdXJmYWNlcywgYmVjYXVzZQpAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQg
SU9TdXJmYWNlUG9vbDo6Y29sbGVjdEluVXNlU3VyZmFjZXMoKQogYm9vbCBJT1N1cmZhY2VQb29s
OjptYXJrT2xkZXJTdXJmYWNlc1B1cmdlYWJsZSgpCiB7CiAgICAgYm9vbCBtYXJrZWRBbGxTdXJm
YWNlcyA9IHRydWU7Ci0gICAgYXV0byBtYXJrVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xv
Y2s6Om5vdygpOworICAgIGF1dG8gbWFya1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAog
ICAgIGZvciAoYXV0byYgc3VyZmFjZUFuZERldGFpbHMgOiBtX3N1cmZhY2VEZXRhaWxzKSB7CiAg
ICAgICAgIGlmIChzdXJmYWNlQW5kRGV0YWlscy52YWx1ZS5oYXNNYXJrZWRQdXJnZWFibGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQ
b29sLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29s
LmgKaW5kZXggMzQ5YTNiYzNkMjdjNTQ2OTZkN2I1YjU2Mzk1ZjNmM2UyZjI3ZjNjNC4uOTgyMWE0
ZmYwOTcxMDBmNTVlMWJmM2M0ODIwMDZlYmM5NGZlMTA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaApAQCAtNjMsOSArNjMs
OSBAQCBwcml2YXRlOgogICAgICAgICAgICAgOiBoYXNNYXJrZWRQdXJnZWFibGUoZmFsc2UpCiAg
ICAgICAgIHsgfQogCi0gICAgICAgIHZvaWQgcmVzZXRMYXN0VXNlVGltZSgpIHsgbGFzdFVzZVRp
bWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsgfQorICAgICAgICB2b2lkIHJl
c2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7IH0K
IAotICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IGxhc3RVc2VU
aW1lOworICAgICAgICBNb25vdG9uaWNUaW1lIGxhc3RVc2VUaW1lOwogICAgICAgICBib29sIGhh
c01hcmtlZFB1cmdlYWJsZTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwCmlu
ZGV4IDRmYWY3N2UyNTRlMmFhYzQwOGI0ZTgzNjNmNDhlM2VkMjMwZmZkNzYuLmRiZDNiMzIwMTIw
N2I1N2ZmNDgxODk0ODkxMTA1Y2E3MDQ2OWYzNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1N1YmltYWdlQ2FjaGVXaXRoVGltZXIu
Y3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNv
bnN0IGF1dG8gc3ViaW1hZ2VDYWNoZUNsZWFyRGVsYXkgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7
IDEgfTsKK3N0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVDbGVhckRlbGF5ID0gMV9zOwog
c3RhdGljIGNvbnN0IGludCBtYXhTdWJpbWFnZUNhY2hlU2l6ZSA9IDMwMDsKIAogc3RydWN0IFN1
YmltYWdlUmVxdWVzdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwCmluZGV4IGZlYWRkZGRhOGRjNDY0OTU2ZDU0MDUyZTA1YWRhNzcwNmQ0ODNmOTEu
Ljk5M2JlNTk4NjZmNzY5NmE2YTk1MWY3M2Y3ZGQ5MjRkNzBmMWE3ZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0zNjcsNyArMzY3LDcg
QEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5lU3RhdGUo
R3N0U3RhdGUgbmV3U3RhdGUpCiAgICAgaWYgKG5ld1N0YXRlID09IEdTVF9TVEFURV9SRUFEWSAm
JiAhbV9yZWFkeVRpbWVySGFuZGxlci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIE1heCBpbnRl
cnZhbCBpbiBzZWNvbmRzIHRvIHN0YXkgaW4gdGhlIFJFQURZIHN0YXRlIG9uIG1hbnVhbAogICAg
ICAgICAvLyBzdGF0ZSBjaGFuZ2UgcmVxdWVzdHMuCi0gICAgICAgIHN0YXRpYyBjb25zdCBkb3Vi
bGUgcmVhZHlTdGF0ZVRpbWVyRGVsYXkgPSA2MDsKKyAgICAgICAgc3RhdGljIGNvbnN0IFNlY29u
ZHMgcmVhZHlTdGF0ZVRpbWVyRGVsYXkgPSA2MF9zOwogICAgICAgICBtX3JlYWR5VGltZXJIYW5k
bGVyLnN0YXJ0T25lU2hvdChyZWFkeVN0YXRlVGltZXJEZWxheSk7CiAgICAgfSBlbHNlIGlmIChu
ZXdTdGF0ZSAhPSBHU1RfU1RBVEVfUkVBRFkpCiAgICAgICAgIG1fcmVhZHlUaW1lckhhbmRsZXIu
c3RvcCgpOwpAQCAtMTg1OCw3ICsxODU4LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OnNldERvd25sb2FkQnVmZmVyaW5nKCkKICAgICBpZiAoc2hvdWxkRG93bmxvYWQpIHsK
ICAgICAgICAgR1NUX0RFQlVHKCJFbmFibGluZyBvbi1kaXNrIGJ1ZmZlcmluZyIpOwogICAgICAg
ICBnX29iamVjdF9zZXQobV9waXBlbGluZS5nZXQoKSwgImZsYWdzIiwgZmxhZ3MgfCBmbGFnRG93
bmxvYWQsIG51bGxwdHIpOwotICAgICAgICBtX2ZpbGxUaW1lci5zdGFydFJlcGVhdGluZygwLjIp
OworICAgICAgICBtX2ZpbGxUaW1lci5zdGFydFJlcGVhdGluZygwLjJfcyk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgR1NUX0RFQlVHKCJEaXNhYmxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAg
ICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxpbmUuZ2V0KCksICJmbGFncyIsIGZsYWdzICYgfmZs
YWdEb3dubG9hZCwgbnVsbHB0cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggOTY5MzY5YTM1ZTc5NzE1OThlY2YxOGVmOWYy
NDgwOTFmYjVjZDU2OC4uYmVjZWYyMTNmZWY0NzE5ZjNlZjA5M2NhMmM4OTllMTQ2OTM4MTc1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
LmNwcApAQCAtNjUzLDcgKzY1Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZTo6dHJpZ2dlclJlcGFpbnQoR3N0U2FtcGxlKiBzYW1wbGUpCiAjaWYgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIGlmICghbV9wbGF5ZXItPmNsaWVudCgpLm1lZGlh
UGxheWVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoKSkgewogICAgICAgICBMb2NrSG9s
ZGVyIGxvY2tlcihtX2RyYXdNdXRleCk7Ci0gICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9kcmF3VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1f
ZHJhd0NvbmRpdGlvbi53YWl0KG1fZHJhd011dGV4KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
QEAgLTY3NSw3ICs2NzUsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBsZSogc2FtcGxlKQogICAgICAgICBBU1NFUlQoIWlzTWFp
blRocmVhZCgpKTsKIAogICAgICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2RyYXdNdXRleCk7Ci0g
ICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kcmF3VGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1fZHJhd0NvbmRpdGlvbi53YWl0KG1fZHJhd011
dGV4KTsKICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRl
eCBkMTgxZWNmMDE3OGNlMmE1N2RmMjFiMTUyMWMwNDFmNmI3Mjc5OTI4Li5jY2M2OTQxOTlkMTVh
ZDg1MTcwOWVhN2U4ZmI1MmY0MzRjNjQwNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVh
bWVyLmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9zYW1wbGUgPSBu
dWxscHRyOwogI2Vsc2UKICAgICAgICAgbV9zaW5rID0gc2luazsKLSAgICAgICAgbV90aW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAg
ICAgIG1fZGF0YUNvbmRpdGlvbi53YWl0KG1fc2FtcGxlTXV0ZXgpOwogI2VuZGlmCiAgICAgICAg
IHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCmluZGV4IDk2OGEyZDg4
YjY1MWJjYmIyMzA2MjI3MTMzZGY1NjBjMWVmMmZiNGYuLjE5ODIzNTE5MmZhMmI4MTNlZGM0ZjVm
N2U4Y2ZmN2IyZDYxZmM0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KQEAgLTY0
Nyw3ICs2NDcsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0OjpzZWVrKGNvbnN0IE1l
ZGlhVGltZSYgaW5UaW1lKQogICAgIGlmIChtYXhNZWRpYVRpbWVTZWVrYWJsZSgpID49IG1fc2Vl
a1RvKQogICAgICAgICBkb1NlZWsoKTsKICAgICBlbHNlIAotICAgICAgICBtX3NlZWtUaW1lci5z
dGFydCgwLCAwLjVmKTsKKyAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMF9zLCAwLjVfcyk7CiB9
CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQ6OmRvU2VlaygpIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29s
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0
dXJlUG9vbC5jcHAKaW5kZXggMWI0NmYzNzUyNDk4OTA3ZTAwYmMyODJkMmQ5ZDZmMWFmNzNiNDU5
ZS4uOTFjMDMyNDA4NjdiNDZlYzliOTc1ZGQzNDg5YmY3ZWMxYWFkMzBmZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29s
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFw
VGV4dHVyZVBvb2wuY3BwCkBAIC0zNCw3ICszNCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9IDM7
Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFRleHR1cmVzVGltZXJJbnRlcnZh
bCA9IDAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZFRleHR1cmVzVGlt
ZXJJbnRlcnZhbCA9IDAuNV9zOwogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogQml0bWFw
VGV4dHVyZVBvb2w6OkJpdG1hcFRleHR1cmVQb29sKFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4m
JiBjb250ZXh0M0QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQ
cm94eS5jcHAKaW5kZXggNWUzYzgyZjFmMzNhZDUyOTI1MDY2ODk2YzljMjE0YTMzYmY4YjMwNS4u
OWMyYjExYjNmOGExYTZjN2JlZGFmOGY1YzUxZTYwNTM4M2NjMjJjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcApAQCAtMzQsNyArMzQsNyBA
QAogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyLmgiCiAKIGNvbnN0
IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRTZWNvbmRzVG9sZXJhbmNlID0gMTsKLWNvbnN0IGRvdWJs
ZSBzX3JlbGVhc2VVbnVzZWRCdWZmZXJzVGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29u
ZHMgc19yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC0xNjMsNyArMTYzLDcgQEAgYm9vbCBUZXh0dXJlTWFwcGVyUGxh
dGZvcm1MYXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVhZChzdGQ6OmZ1
bmMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRl
RnVuY3Rpb24gPSBXVEZNb3ZlKHVwZGF0ZUZ1bmN0aW9uKTsKLSAgICBtX2NvbXBvc2l0b3JUaHJl
YWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fY29tcG9zaXRvclRocmVhZFVw
ZGF0ZVRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNw
cAppbmRleCAwNTVlZjk5NTQ5ZTY5NDI2MjQxMDNkODg4Y2JjNzU0ZDZmYjZkM2VjLi4wZGM2OTI1
YTUxOTE5MTgxMzIyZDhiNmM1YzcwMDMxNTg0MWM5OGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcApAQCAtMTIwMCw3ICsx
MjAwLDcgQEAgYm9vbCBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFkZEFuaW1hdGlvbihjb25z
dCBLZXlmcmFtZVZhbHVlTGlzdCYgdmFsdWVMaXN0LAogCiAgICAgbV9sYXN0QW5pbWF0aW9uU3Rh
cnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBkZWxheUFzTmVnYXRpdmVU
aW1lT2Zmc2V0OwogICAgIG1fYW5pbWF0aW9ucy5hZGQoVGV4dHVyZU1hcHBlckFuaW1hdGlvbihr
ZXlmcmFtZXNOYW1lLCB2YWx1ZUxpc3QsIGJveFNpemUsICphbmltLCBsaXN0c01hdGNoLCBtX2xh
c3RBbmltYXRpb25TdGFydFRpbWUsIDAsIFRleHR1cmVNYXBwZXJBbmltYXRpb246OkFuaW1hdGlv
blN0YXRlOjpQbGF5aW5nKSk7Ci0gICAgbV9hbmltYXRpb25TdGFydGVkVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIGRpZENoYW5nZUFuaW1hdGlvbnMoKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZEltYWdlQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCmluZGV4
IDNmNTY3M2U4ZmQ1MzY1ZjA4Y2ZkNjllZmMzZmFhZWM0MzIzMzZhNjEuLjZiODRiNjM0OWEwMGZk
NmNhNWExOTYwZmZjODMwYjc4NzJiNGU4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2lu
Zy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcApAQCAtMTQ0LDcgKzE0NCw3IEBAIHZv
aWQgQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmc6OnJlbGVhc2VTdXJmYWNlSWZOZWVkZWQoKQogICAg
IG1fc3VyZmFjZSA9IG51bGxwdHI7CiB9CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgY2xlYXJDb250
ZW50c1RpbWVySW50ZXJ2YWwgPSAzOworc3RhdGljIGNvbnN0IFNlY29uZHMgY2xlYXJDb250ZW50
c1RpbWVySW50ZXJ2YWwgPSBTZWNvbmRzKDMpOwogCiB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nOjp1cGRhdGVWaXNpYmlsaXR5SWZOZWVkZWQoYm9vbCYgY2hhbmdlZFRvVmlzaWJsZSkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3Bw
CmluZGV4IDEzZTYzNTRiMDkyNjEzNGQ4N2Y5ZmMwOWRmY2YxMjJhYzE5N2NkNWUuLmIyNGNmYTZh
MWY1ODc2NDcxYTY1MGYwNmRlNmNiMTk2ZDQ4NTc4OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcApAQCAtMTkxLDcgKzE5MSw3IEBA
IHZvaWQgU2Nyb2xsQW5pbWF0b3JHdGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZp
cmVkKCkKICAgICAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSB0aWNrVGltZSA9IDEgLyBmcmFtZVJh
dGU7CiAgICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVRpbWVySW50ZXJ2YWwgPSAu
MDAxOwogICAgICAgICBkb3VibGUgZGVsdGFUb05leHRGcmFtZSA9IHN0ZDo6bWF4KHRpY2tUaW1l
IC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gY3VycmVudFRpbWUpLCBtaW5pbXVt
VGltZXJJbnRlcnZhbCk7Ci0gICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVy
LnN0YXJ0T25lU2hvdChkZWx0YVRvTmV4dEZyYW1lKTsKKyAgICAgICAgbV9vdmVybGF5U2Nyb2xs
YmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoZGVsdGFUb05leHRGcmFtZSkp
OwogICAgIH0gZWxzZQogICAgICAgICBoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKTsKIH0KQEAgLTIx
Myw3ICsyMTMsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJh
cnMoKQogICAgIGlmIChtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UYXJnZXQgIT0gbV9vdmVy
bGF5U2Nyb2xsYmFyQW5pbWF0aW9uQ3VycmVudCkgewogICAgICAgICBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKICAg
ICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uRW5kVGltZSA9IG1fb3ZlcmxheVNjcm9s
bGJhckFuaW1hdGlvblN0YXJ0VGltZSArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkR1cmF0
aW9uOwotICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBoaWRlT3ZlcmxheVNjcm9sbGJhcnMoKTsK
IH0KQEAgLTIzMyw3ICsyMzMsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpoaWRlT3Zlcmxh
eVNjcm9sbGJhcnMoKQogICAgICAgICByZXR1cm47CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgKyBvdmVyZmxv
d1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXk7CiAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5p
bWF0aW9uRW5kVGltZSA9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSArIG92
ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkR1cmF0aW9uICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5p
bWF0aW9uSGlkZURlbGF5OwotICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0
YXJ0T25lU2hvdChvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkpOworICAgIG1f
b3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKG92ZXJm
bG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheSkpOwogfQogCiB2b2lkIFNjcm9sbEFuaW1h
dG9yR3RrOjptb3VzZUVudGVyZWRDb250ZW50QXJlYSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQppbmRleCA2NmEyNmUxZTY4ZTNjNGQ1NzdhYjNl
YjU2ODUxOGZhYzU4ZjU5NjllLi45YWMwNWZjNTUxNGUxNjQ2MGNiYWM3YTQ0N2JiYTc4ZDIxYTcy
OWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNh
Y2hlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUu
bW0KQEAgLTQyMCw3ICs0MjAsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVh
dGluZ1RpbGVzKGJvb2wgZGlkQ3JlYXRlVGlsZXMsIGJvb2wgY3JlYXRlTW9yZQogCiAgICAgLy8g
S2VlcCBjcmVhdGluZyB0aWxlcyB1bnRpbCB0aGUgd2hvbGUgY292ZXJSZWN0IGlzIGNvdmVyZWQu
CiAgICAgaWYgKGNyZWF0ZU1vcmUpCi0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6dGlsZUNyZWF0aW9uVGltZXJGaXJlZCgpCkBA
IC03ODIsNyArNzgyLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OnNldFNwZWN1bGF0aXZlVGls
ZUNyZWF0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2lz
U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkID0gZW5hYmxlZDsKICAgICBpZiAobV9pc1Nw
ZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxlZCkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIGJvb2wgTGVnYWN5VGlsZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhl
bWVJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5o
CmluZGV4IDc1NmQ0MDYwN2Y1NjNhNmNlNTk4ZTI5YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMx
MDYwMzY3ZTBmYzBmZmY2OGQ1M2Q0MzQ3YTA3NGIxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1Ymxp
YzoKICAgICAKICAgICBib29sIHN1cHBvcnRzQ29udHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRl
OworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7Cisg
ICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xs
YmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlP
Uy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpp
bmRleCA2ZTUyMGJlZjU0OGY1NDAyMDNhOWE2YTNjNzc3ZDgxNmRhYTUwOTkwLi5mZTI5MDc3NWJk
ZTM4OTNjYTY5MTYwZjMyMzI3YjNjNWZmMjA3M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50
IFNjcm9sbGJhclRoZW1lSU9TOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNp
emUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBf
czsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgp
CitTZWNvbmRzIFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0g
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KICAgICAKIFNjcm9sbGJhckJ1dHRvbnNQ
bGFjZW1lbnQgU2Nyb2xsYmFyVGhlbWVJT1M6OmJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IGNjNjJlM2E4ODRhZWYyOTUxOTdlMmJiNzZi
YjBmYTdlYzMwNzBiYTEuLmRkMTk2MzRiNzM3OTFjNWYzY2NmMmI1MmEyOWY2NzRkODRiZTkwMjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGlj
IGNvbnN0IGNoYXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSBEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25z
dCBhdXRvIGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxX3M7CiAKIEBjbGFzcyBXZWJB
Vk1lZGlhU2VsZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29u
KFdlYlZpZGVvRnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVl
bk1vZGUoSFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAK
ICAgICBpZiAoIW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9n
VGltZXIuc3RhcnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAg
ICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2
YWwpOwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCmluZGV4
IDQyMWM2MTYwZjg4OTEyNDY0NzczZDRlYTNmY2FlZDQ5NjNkNWE3ZmQuLmU4ZGVjNWU0NWZjM2Y5
ZGMyZWNhMjVlMjEyZDgyMzEyNWIzZTBhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKQEAg
LTI2OSw3ICsyNjksNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZlRpbWVy
RmlyZWQoKQogCiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZih1bnNpZ25lZCBz
ZWNvbmRzKQogewotICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzKTsKKyAg
ICBtX2hvbGRPZmZUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzZWNvbmRzKSk7CiB9CiAKIHN0
YXRpYyBzaXplX3QgcHJvY2Vzc01lbW9yeVVzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBhYzdmNGZkNGE5ODRkYzMxZGRk
NGZjODBiMTY5MzQxNTE5MDI1MDk1Li5mNzNkNzk2ODhlMmI4MDI1NDZmMjQzNTlmY2NiY2E1ODJk
MjZjZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5p
bWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1h
dG9yTWFjLm1tCkBAIC0xMzM4LDcgKzEzMzgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1
cGRhdGVTY3JvbGxlclN0eWxlKCkKIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3Jv
bGxiYXJQYWludFRpbWVyKCkKIHsKLSAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0
YXJ0T25lU2hvdCgwLjEpOworICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRP
bmVTaG90KDAuMV9zKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFp
bnRUaW1lcklzQWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xs
QW5pbWF0b3JNYWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUm
IGRlbHRhKQogICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0
YTsKIAogICAgIGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIAogICAgIGlmIChtX3doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAgICAgbV93aGVlbEV2
ZW50VGVzdFRyaWdnZXItPmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVl
bEV2ZW50VGVzdFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVs
RXZlbnRUZXN0VHJpZ2dlcjo6Q29udGVudFNjcm9sbEluUHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhNzI4Mjk4Yzhl
YmI1YzU1NTQ3ZDZkM2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFhOTExYmI5MmIwOGYwMWI3ZDk5MjY2
ZDAxM2E0NzZjN2RkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsYmFyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsYmFyVGhlbWVNYWMuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2Vz
T3ZlcmxheVNjcm9sbGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVTY3Jv
bGxiYXJPdmVybGF5U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Ny
b2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxU
aW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgp
IG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2Vt
ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxiYXJUaGVtZU1hYy5tbQppbmRleCBiMmUxNjE4YzAzMmZiN2M2NWYxZmUxOTE3ZjIw
NGUyOTY3NGMzODlmLi40MzU0OWNiNTYxOTgzZDUzMDc0MzljMzYyOTM2MDQzYjE2MGI1YWRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
CkBAIC0xMzAsOCArMTMwLDggQEAgc3RhdGljIGNvbnN0IGludCBjQnV0dG9uTGVuZ3RoW10gPSB7
IDE0LCAxMCB9Owogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25MZW5ndGhbXSA9IHsgMTYs
IDE0IH07IC8vIFRoZSBvdXRlciBidXR0b24gaW4gYSBkb3VibGUgYnV0dG9uIHBhaXIgaXMgYSBi
aXQgYmlnZ2VyLgogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25PdmVybGFwID0gMjsKIAot
c3RhdGljIGZsb2F0IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAwLjVmOwotc3RhdGljIGZsb2F0IGdB
dXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRpYyBTZWNvbmRzIGdJbml0aWFsQnV0
dG9uRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBTZWNvbmRzIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkg
PSAwLjA1X3M7CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGlj
IGJvb2wgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDgg
QEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBO
U1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdOwogICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25E
ZWxheSA9IFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwot
ICAgIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Nj
cm9sbGVyQnV0dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMo
W2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il0pOworICAgIGdB
dXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5T
U2Nyb2xsZXJCdXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVs
dHMgYm9vbEZvcktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNP
dmVybGF5U2Nyb2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQg
U2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXIm
IHNjcm9sbGJhcikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUg
U2Nyb2xsYmFyVGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRz
IFNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAg
IHJldHVybiBnSW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVN
YWM6OmF1dG9zY3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1
dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxh
eTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90
aW9uQ2xpZW50TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1v
dGlvbkNsaWVudE1vY2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMwNTU2MWM3YzFkNjA2N2FkZWM1
MTU5ZjIzNTQuLmJmMjczYmVmOTRhODRhYzcwZDBiNDRlMWEwMjY5NmYxNDAwMjM5YWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9j
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGll
bnRNb2NrLmNwcApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbihQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1vdGlvbikKIHsKICAgICBt
X21vdGlvbiA9IG1vdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZp
Y2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNl
MWZhNDMwZWUxZTI2NzJkOGQ2MTAxYzIuLjIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIx
YzIxMGJiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9p
ZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8
RGV2aWNlT3JpZW50YXRpb25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247
CiAgICAgaWYgKG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVu
dE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVu
dE1vY2suY3BwCmluZGV4IGI3Y2ZiOWJlMDZkY2JmZmM3YzE2YjNjZmU3NDY1MDEzMGZhNzAwZTUu
Ljc1NGE4MjVjYWU1NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAK
QEAgLTEwNiw3ICsxMDYsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRh
dGVQZXJtaXNzaW9uKCkKIHsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVybWlz
c2lvblN0YXRlVW5zZXQpOwogICAgIGlmICghbV9wZXJtaXNzaW9uVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Bl
cm1pc3Npb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNs
aWVudE1vY2s6OnBlcm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lk
IEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBB
U1NFUlQobV9jb250cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVy
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBp
Y2tlck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNr
VGFyZ2V0UGlja2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1
MTJmZTJmMjU1Yi4uYTc2YmMyNmZhNjA0ZDAzMzgxYTUzNTNmYWJlZmRhODVmZTk4YjA0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0
UGlja2VyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBs
YXliYWNrVGFyZ2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSB0aW1lckludGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVy
SW50ZXJ2YWwgPSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVu
dCYgY2xpZW50KQogICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmlu
ZGV4IDYwYmIwMTgxYWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJlMGRlNTkuLmM4MzEwZGYxNTQx
ZTVhMTU3MTYwMmYzMDUzODA1NWQxNGYyNjFhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAg
dm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAg
Ly8gUmV2ZXJzZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92
ZSBvcmRlcgogICAgIG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VD
YW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlk
YXRlVGltZXJGaXJlZCgpCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2lu
dDo6aWNlQ2FuZGlkYXRlVGltZXJGaXJlZCgpCiAKICAgICBpZiAoIW1fZmFrZUljZUNhbmRpZGF0
ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fY2xpZW50LmdvdEljZUNhbmRpZGF0ZShtX21pZHNb
MF0sIG1fZmFrZUljZUNhbmRpZGF0ZXMudGFrZUxhc3QoKSk7Ci0gICAgICAgIG1faWNlQ2FuZGlk
YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVy
aW5nQ2FuZGlkYXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9j
a01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ug
b3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAg
ICBtX2ljZVRyYW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5z
cG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRU
aW1lckZpcmVkKCkKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojpp
Y2VUcmFuc3BvcnRUaW1lckZpcmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFu
c3BvcnRTdGF0ZUNoYW5nZXMudGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRT
dGF0ZUNoYW5nZWQoc3RhdGVDaGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAg
ICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9y
dFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1
bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQoKQpAQCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgTW9ja01l
ZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCiAgICAgZm9yIChpbnQgaSA9
IG1fbWlkcy5zaXplKCkgLSAxOyBpID49IDA7IC0taSkKICAgICAgICAgbV9taWRzT2ZTb3VyY2Vz
VG9Vbm11dGUuYXBwZW5kKG1fbWlkc1tpXSk7CiAKLSAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBA
QCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291
cmNlLT5zZXRNdXRlZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRl
LmlzRW1wdHkoKSkKLSAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fdW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
UmVhbHRpbWVWaWRlb1NvdXJjZS5jcHAKaW5kZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0ZTM2
MTcxNDQxYjRjZGM2ZS4uNjRhMzVhNmQyN2JjZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRp
bWVWaWRlb1NvdXJjZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9
IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRp
bmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkp
OworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygo
bHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIE1v
Y2tSZWFsdGltZVZpZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVh
bHRpbWVNZWRpYVNvdXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFt
ZVJhdGUoZG91YmxlIHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAg
ICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3Vu
ZCgxMDAwIC8gcmF0ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0ZVNh
bXBsZUJ1ZmZlcigpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNw
cAppbmRleCBmM2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi5kOGE3YzA4
OTdmOTg1ZGZjOGM1ZjdlYTQxZDgwYzg2NTkzZjEwZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJN
b2NrLmNwcApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJN
b2NrOjpzcGVhayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNs
aWVudCgpLT5ib3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5j
ZUJvdW5kYXJ5LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUg
dGhlIGZha2Ugc3BlZWNoIGpvYiBzb21lIHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVu
Y3Rpb25zIGhhdmUgdGltZSB0byBiZSBjYWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGlt
ZXIuc3RhcnRPbmVTaG90KC4xKTsKKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9u
ZVNob3QoMC4xX3MpOwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpj
YW5jZWwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2
ZW50QmFzZWRNb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRC
YXNlZE1vY2suaAppbmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2Fj
Li44NjNmOWQ2NWI3NjkwMTZkMGQ5N2NkMjY4OWIyZDRmZjU3NjYyYWJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMs
NyArNjMsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6
OnRpbWVyRmlyZWQpCiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAg
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVT
aG90KDAuNV9zKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRl
eCA1ODc3M2FhMzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi5lMWM0MTBlZDE1MjU4
YWNhZjNmMGMzOTE5ZDg1YTA4MmEwOTI3ZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRp
YXRlbHkgPSA0OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25n
IGJlZm9yZSBzZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkg
PSAxX3M7CiAKIC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3Zlcndo
ZWxtIHNvbWUgZ2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5F
VCBpc3N1ZXMgd2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNp
bXVsdGFuZW91c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGlu
dCBnTWF4U2ltdWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVx
dWVzdHNUb1F1ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQg
Y291bGRuJ3QgYmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29s
dmVycyBhZnRlciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZp
bmdJblNlY29uZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXRyeVJlc29sdmluZ0Rl
bGF5ID0gMC4xX3M7CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0
b24oKQogewpAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29u
c3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVz
dHNUb1F1ZXVlKSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYg
KCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChn
Q29hbGVzY2VEZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChjb2FsZXNjZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIERO
U1Jlc29sdmVRdWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlz
RW1wdHkoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5T
ZWNvbmRzKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmV0cnlSZXNvbHZpbmdEZWxh
eSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXggYWJmYjQ2Y2VjZjgyMTQz
YjlmZmFjZDAxYmU1Nzg2YTUzYTAwOGVjMC4uNDVjYTFjNWMzNjJiNTQ1ZTg3ZWRjOGNkYjM1ZjIy
MDI4YmMyNmRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9E
YXRhVVJMRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9E
YXRhVVJMRGVjb2Rlci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmVm
KCk7CiAKICAgICAgICAgYXV0byBzY2hlZHVsZWRQYWlycyA9IG1fZGVjb2RlVGFzay0+c2NoZWR1
bGVDb250ZXh0LnNjaGVkdWxlZFBhaXJzOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV90aW1lci5z
Y2hlZHVsZShzY2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2YwYjhk
MDExZjJiYjljYjFiZDEuLjFhMGQ1Y2U2MjNhZGY4YTM0MDUzZDZmYWU4ZDBmNzYzOTAyYmQxN2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01
Myw3ICs1Myw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJl
c3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8v
IFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dGFydE9uZVNob3QoMTAwMF9taW4pOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggNjQ3ZjYw
NDE5YmZjZDBmZWU2Mzc1ZDlkMTg4MDc2NTkyYTFmOTIwYy4uMDBjMGQwMjljYzZmYzJjMWNjYTc5
N2M5OTI4MTRkMDcwNDc3ZTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVz
b3VyY2VIYW5kbGU+IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0CiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVy
ZVR5cGUgdHlwZSkKIHsKICAgICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAg
ICBkLT5tX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVU
aW1lckZpcmVkKCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXRE
ZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQogICAgICAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIu
c3RvcCgpOwogICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0Zh
aWx1cmUpIHsKICAgICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsK
LSAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBkLT5t
X2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBwbGF0Zm9ybVNl
dERlZmVyc0xvYWRpbmcoZGVmZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAppbmRl
eCA1NWFkZTIxOGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi5kNGQ5OGRhMzFmNjU3
NjEzYjVlZDhkNmRiMjJmZjliNzViMDFlNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKIHZvaWQgTmV0d29ya1N0
YXRlTm90aWZpZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3
b3JrU3RhdGVOb3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYs
IENGQXJyYXlSZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQg
YmUgZXhwZW5zaXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAg
IC8vIHdoZW4gdGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29y
a1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7
CisgICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0
YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6
Om5ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRl
eCA4ODdhOWVkNzk1ZDFjYjRlNThjY2RkZTU2ZTM4OGQ5OWNkYzBiZjNlLi5lY2YxODRjZTQwYmRm
OWVjNGQzMWJmNzMyMDYzMzc3MTIyZGU5YjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAt
NzUwLDcgKzc1MCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCgp
CiAjZW5kaWYKIAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+
IDApCi0gICAgICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoZC0+bV9maXJzdFJl
cXVlc3QudGltZW91dEludGVydmFsKCkpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3Rh
cnRPbmVTaG90KFNlY29uZHMoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpKTsK
IAogICAgIC8vIEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVy
YXRpb24sIHdoaWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJlZigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNw
cAppbmRleCBmYzg3YjcwMzI5MjM4NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi45ZWE0MTdk
ZDAzMGExY2Y0OWFlZjU1ZGM2NGJlYWFhNGFkYzRhZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsK
ICAgICBtX2luc3RhbGxlZCA9IHRydWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtl
X3VuaXF1ZTxDaGVja01lbW9yeVRpbWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5z
dGFydFJlcGVhdGluZyg2MC4wKTsKKyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5n
KDFfbWluKTsKIH0KIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5j
cHAKaW5kZXggYTFmZThmY2MxYzg4ZjI2ZTE2YTYzZjEyYjY0MzJkNWEwZTgxY2VkNi4uNWY1ZDA3
NjU3OWMyMTA0MDdjMGJjZmM2YjU4NjI3MzkwZDcyOTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBv
bGF0aW9uQ3V0b2ZmID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFs
aXR5VGltZVRocmVzaG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IGxvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41X3M7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xs
ZXI6OkltYWdlUXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykK
ICAgICA6IG1fcmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIElt
YWdlUXVhbGl0eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2
b2lkIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8
SW50ZXJwb2xhdGlvblF1YWxpdHk+IEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmludGVycG9sYXRp
b25RdWFsaXR5RnJvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNjM0
MjIxMzVjMWEzOWM1OWFjZjU5MjM5MTcxYzMxY2FlMzUwY2MyNC4uOTU4MGU0MGIyM2Y4ZDRjYmQx
YzgyODBkNGE1YmU3Zjk1YWM5ZjYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDExICs5MiwxMSBAQCBzdGF0aWMg
Y29uc3QgaW50IGNhbnZhc0FyZWFUaHJlc2hvbGRSZXF1aXJpbmdDb21wb3NpdGluZyA9IDUwICog
MTAwOwogI2VuZGlmCiAvLyBEdXJpbmcgcGFnZSBsb2FkaW5nIGRlbGF5IGxheWVyIGZsdXNoZXMg
dXAgdG8gdGhpcyBtYW55IHNlY29uZHMgdG8gYWxsb3cgdGhlbSBjb2FsZXNjZSwgcmVkdWNpbmcg
d29ya2xvYWQuCiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRs
ZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90
dGxlZExheWVyRmx1c2hEZWxheSA9IDEuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxl
ZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRo
cm90dGxlZExheWVyRmx1c2hEZWxheSA9IDEuNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBkb3Vi
bGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRv
dWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHRocm90dGxlZExheWVyRmx1c2hEZWxheSA9IDAuNV9zOwogI2VuZGlmCiAKIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC02MzQsNyArNjM0LDcgQEAgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmVuY2xvc2luZ0NvbXBvc2l0b3JGbHVzaGlu
Z0xheWVycygKIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5n
TGF5ZXJVcGRhdGUoKQogewogICAgIGlmICghbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNv
bXBvc2l0aW5nTGF5ZXJzVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRm
YzE1Ny4uYjc0MDk3Y2YyMWUxYTgyMjVhNmFlZDhmZDlhM2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBA
IHZvaWQgUmVuZGVyTWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsK
ICAgICB9CiAKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7Cisg
ICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVk
KCkpKTsKIH0KIAogdm9pZCBSZW5kZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAs
NyBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNw
ZWVkKCkgIT0gbWFycXVlZVNwZWVkKCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVl
ZCgpOwogICAgICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9
CiAgICAgCiAgICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBu
b3cgc3RvcC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1l
ZEZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxv
d1RocmVhZC5jcHAKaW5kZXggNDc1MDZhY2QzM2I3MDc0MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZl
Ni4uODY5YWY0MmEwOTk4MjY2ZWIwZjY1YzNmMTBmOTczODgxYTYxNTUyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUz
MCw3ICs1MzAsNyBAQCB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25P
dmVyc2V0Q2hhbmdlRXZlbnRJZk5lZWRlZCgpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRDaGFuZ2VSZWdpb25PdmVyc2V0KGRvY3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAK
ICAgICBpZiAoIW1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBu
YW1lZEZsb3coKS5oYXNFdmVudExpc3RlbmVycygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRD
aGFuZ2VFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0
Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJOYW1l
ZEZsb3dUaHJlYWQ6OnJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5kZXggOWExZjI0MGZhNWY5
YWZmODcwMWMxMzQ4Y2NjNTdkMzZhYjNlMGI4NC4uNTFhMzA4ZmJhMzcwYzQ3OTg5YzhjNWNlYWUw
YjA4Nzc0MmM5YzdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clByb2dyZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jl
c3MuY3BwCkBAIC04NSw3ICs4NSw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRp
bWVyRmlyZWQoKQogewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIu
aXNBY3RpdmUoKSAmJiBtX2FuaW1hdGluZykKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFy
dE9uZVNob3QobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwog
fQogCiB2b2lkIFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCkBAIC0xMDAs
NyArMTAwLDcgQEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQog
ICAgIG1fYW5pbWF0aW5nID0gYW5pbWF0aW5nOwogICAgIGlmIChtX2FuaW1hdGluZykgewogICAg
ICAgICBtX2FuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgp
OwotICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlvblJlcGVh
dEludGVydmFsKTsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25k
cyhtX2FuaW1hdGlvblJlcGVhdEludGVydmFsKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fYW5p
bWF0aW9uVGltZXIuc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2Nyb2xsYmFyVGhlbWUuaAppbmRleCBlZDQ5YmVkY2JkYjYxNWQwYTczMjcxN2Q3Y2FhMzhk
YmNjOGRkYjc3Li40MWJkODIzYWFhMDE0NjU2YjExYWI2ZDI2MTlkZDE2ZmEwZWI3ODY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAt
NDcsOCArNDcsOCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBo
YW5kbGVNb3VzZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3Jt
TW91c2VFdmVudCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRlIHsg
cmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChzY3Jv
bGxiYXIsIGV2ZW50LCBwcmVzc2VkUGFydCk7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUo
KS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIGRvdWJsZSBhdXRvc2Nyb2xs
VGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1
dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGlt
ZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRp
YWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3Jv
bGxUaW1lckRlbGF5KCk7IH0KIAogICAgIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFy
JiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnJl
Z2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJTY3JvbGxi
YXIoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1l
Ojp0aGVtZSgpLnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCmluZGV4IDM3YjA3NDE4NzhhMWJkOTgzOGVjNjI1M2Rl
ZDA3MTkxMDAxZmNjNDguLjY3OTVmNzI4NzMwYTBjNGNmNjgzZGQ3OWE1YWVlMDI3MjdmNzAwNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEwNyw3ICsxMDcs
NyBAQCBpbmxpbmUgU2VjdXJlVGV4dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVuZGVyVGV4dCYg
cmVuZGVyZXIpCiBpbmxpbmUgdm9pZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQodW5zaWduZWQg
b2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRBZnRlckxhc3RU
eXBlZENoYXJhY3RlciA9IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwotICAgIHN0YXJ0
T25lU2hvdChtX3JlbmRlcmVyLmZyYW1lKCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlv
bkluU2Vjb25kcygpKTsKKyAgICBzdGFydE9uZVNob3QoU2Vjb25kcyhtX3JlbmRlcmVyLmZyYW1l
KCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygpKSk7CiB9CiAKIGlu
bGluZSB1bnNpZ25lZCBTZWN1cmVUZXh0VGltZXI6OnRha2VPZmZzZXRBZnRlckxhc3RUeXBlZENo
YXJhY3RlcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDM1NDk5
YmJlNjkxMWY1ZmE4YzNkMDEzOGNlZjQwZWM4MjhmOWMyYmUuLjg5ZjRiOWM5ZTQ5NGZmZGVkNTkz
ZDBjZTI0MDRiMGFmMjAxYmE0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRl
IDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYv
U2Vjb25kcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE3NSw3ICsxNzYsNyBAQCBw
dWJsaWM6CiAjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2Uo
KTsKIAotICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0
dXJuIDAuNTsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25z
dCB7IHJldHVybiAwLjVfczsgfQogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9y
IENTUy4KICAgICB2b2lkIHN5c3RlbUZvbnQoQ1NTVmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlw
dGlvbiYpIGNvbnN0OwpAQCAtMjA0LDggKzIwNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJv
b2wgdXNlc01lZGlhQ29udHJvbFN0YXR1c0Rpc3BsYXkoKSB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCB1c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0Zh
ZGVJbkR1cmF0aW9uKCkgeyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFD
b250cm9sc0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vj
b25kcyBtZWRpYUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjFfczsgfQorICAg
IHZpcnR1YWwgU2Vjb25kcyBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4g
MC4zX3M7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9h
dCB0aW1lKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3Vy
cmVudFRpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKICAgICB2
aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJy
ZW50VGltZSwgZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwCmluZGV4IDkxYWMwODAwMjM4MWZhNjVjZjBiMjVhNThjOTAzMWY4YWE2ZDgx
N2QuLmVlNTM2YzA0NTdhNGVlZGJhYWFmOWVkY2NmOTEwZTNjODRjYTdmNzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCB2b2lkIFJl
bmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiByZW5kZXJlcikKICAgICBy
ZW5kZXJlci5zZXRSZW5kZXJCb3hOZWVkc0xhenlSZXBhaW50KHRydWUpOwogICAgIG1fcmVuZGVy
ZXJzTmVlZGluZ0xhenlSZXBhaW50LmFkZCgmcmVuZGVyZXIpOwogICAgIGlmICghbV9sYXp5UmVw
YWludFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBSZW5kZXJWaWV3Ojp1bnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiBy
ZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1
dEN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3Iu
Y3BwCmluZGV4IDk5NjQ5YmZlMjkwMzY2NzZhZDQ5NjhhMzZkZjFmNWMzYzYyZTBlZDkuLjViNDM0
OWZhOTM0ZjMyYjQxMDk1ZDVhMGY4NDQ5NjkxNGY4N2Y1MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcApAQCAtNTgsMTEgKzU4LDggQEAgdm9p
ZCBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8Tm9uZGV0
ZXJtaW5pc3RpY0lucHV0QmFzZT4KIHsKICAgICBBU1NFUlRfQVJHKGlucHV0LCBpbnB1dCk7CiAK
LSAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5wdXRRdWV1ZTo6RXZlbnRMb29wSW5wdXQpIHsK
LSAgICAgICAgLy8gRklYTUU6IHJld3JpdGUgdGhpcyAoYW5kIHJlbGF0ZWQgZGlzcGF0Y2ggY29k
ZSkgdG8gdXNlIHN0ZDo6Y2hyb25vLgotICAgICAgICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGltaW5ncygp
LmFwcGVuZChub3cpOwotICAgIH0KKyAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5wdXRRdWV1
ZTo6RXZlbnRMb29wSW5wdXQpCisgICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGltaW5ncygp
LmFwcGVuZChNb25vdG9uaWNUaW1lOjpub3coKSk7CiAKICAgICBtX3NlZ21lbnQtPnN0b3JhZ2Uo
KS5zdG9yZShXVEZNb3ZlKGlucHV0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxh
eS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDUxMDI5M2ZjMTZjNjRhYzliNWZi
NTFlN2I5OGQwOTBkOGI1MTM2NjcuLmIwN2QyNmZmODRmMzg3MTFkMzQ0MzViNDZiZWIwYmIxZWYz
MjViYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERp
c3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERp
c3BhdGNoZXIuY3BwCkBAIC01MSw4ICs1MSw2IEBAIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKFBhZ2UmIHBhZ2UsIFJlcGxheWluZ0lucHV0Q3VyCiAg
ICAgLCBtX3RpbWVyKCp0aGlzLCAmRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1lckZpcmVk
KQogICAgICwgbV9zcGVlZChEaXNwYXRjaFNwZWVkOjpGYXN0Rm9yd2FyZCkKIHsKLSAgICBtX2N1
cnJlbnRXb3JrLmlucHV0ID0gbnVsbHB0cjsKLSAgICBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCA9
IDAuMDsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnJ1bigpCkBAIC05MSw3
ICs4OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElucHV0U29v
bigpCiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5zdG9wKCk7
CiAKLSAgICBkb3VibGUgd2FpdEludGVydmFsID0gMDsKKyAgICBTZWNvbmRzIHdhaXRJbnRlcnZh
bDsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7CiAgICAg
ICAgIC8vIFRoZSBnb2FsIGlzIHRvIHJlcHJvZHVjZSB0aGUgZGlzcGF0Y2ggZGVsYXkgYmV0d2Vl
biBpbnB1dHMgYXMgaXQgd2FzCkBAIC0xMDIsMjIgKzEwMCwyMiBAQCB2b2lkIEV2ZW50TG9vcElu
cHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgICAgICBpZiAoIW1fcHJldmlv
dXNJbnB1dFRpbWVzdGFtcCkKICAgICAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCA9
IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogCi0gICAgICAgIGRvdWJsZSB0YXJnZXRJbnRlcnZh
bCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwot
ICAgICAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0g
bV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOworICAgICAgICBTZWNvbmRzIHRhcmdldEludGVy
dmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXA7
CisgICAgICAgIFNlY29uZHMgZWxhcHNlZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9wcmV2
aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgICAgICB3YWl0SW50ZXJ2YWwgPSB0YXJnZXRJbnRl
cnZhbCAtIGVsYXBzZWQ7CiAgICAgfQogCiAgICAgLy8gQSBuZWdhdGl2ZSB3YWl0IHRpbWUgbWVh
bnMgdGhhdCBkaXNwYXRjaCB0b29rIGxvbmdlciBvbiByZXBsYXkgdGhhbiBvbgogICAgIC8vIGNh
cHR1cmUuIEluIHRoaXMgY2FzZSwgcHJvY2VlZCB3aXRob3V0IHdhaXRpbmcgYXQgYWxsLgotICAg
IGlmICh3YWl0SW50ZXJ2YWwgPCAwKQotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOworICAgIGlm
ICh3YWl0SW50ZXJ2YWwgPCAwX3MpCisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsKIAotICAg
IGlmICh3YWl0SW50ZXJ2YWwgPiAxMDAwLjApIHsKKyAgICBpZiAod2FpdEludGVydmFsID4gMTAw
MF9zKSB7CiAgICAgICAgIExPR19FUlJPUigiJS0yMHMgVHJpZWQgdG8gd2FpdCBmb3Igb3ZlciAx
MDAwIHNlY29uZHMgYmVmb3JlIGRpc3BhdGNoaW5nIG5leHQgZXZlbnQgbG9vcCBpbnB1dDsgdGhp
cyBpcyBwcm9iYWJseSBhIGJ1Zy4iLCAiUmVwbGF5RXZlbnRzIik7Ci0gICAgICAgIHdhaXRJbnRl
cnZhbCA9IDA7CisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiAKLSAgICBMT0co
V2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIsIHdhaXRJ
bnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlUOiAlLjNm
IG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRzKHdhaXRJbnRlcnZhbCAqIDEwMDAuMCkubWls
bGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJbnRlcnZhbCk7CiB9
CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlz
cGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rpc3BhdGNoaW5nKTsKIAogICAgIGlmIChtX3Nw
ZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7Ci0gICAgICAgIG1fcHJldmlvdXNEaXNw
YXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAgICBt
X3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICAg
ICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50aW1lc3RhbXA7CiAg
ICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1ZTRjM2Y5YTUyMzIzNWIwYzc5NWYzNC4uNTkz
MmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFiNmI0NDBkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0LmgiCiAjaW5jbHVkZSAiUmVwbGF5aW5nSW5wdXRD
dXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAgcHJpdmF0ZToKIAogICAgIERpc3BhdGNoU3Bl
ZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBhdCB3aGljaCB0aGUgbGFzdCBpbnB1dCBkaXNw
YXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAgIGRvdWJsZSBtX3ByZXZpb3VzRGlzcGF0Y2hT
dGFydFRpbWUgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFy
dFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhlIGxhc3QgZGlzcGF0
Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wIHswLjB9Owor
ICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxh
eVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9u
U2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2RjMDQ0NmVlNDAwOGI4MWIzOWJmNmM0YTY1MTYy
YS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJlMDA4NDg5ZTMxZjM5MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBAIC00Nyw4ICs0Nyw4
IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVwbGF5U2Vzc2lvblNlZ21lbnQ6OmNyZWF0
ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2VnbWVudCgpCiAgICAg
OiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+KCkpCisg
ICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAsIG1faWRlbnRpZmll
cihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQotICAgICwgbV90aW1lc3RhbXAoY3VycmVudFRp
bWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5
U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2Vn
bWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0NjMyOTk3Y2ExOWY5NDhkZTIzYTJkOWMuLmY3
Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1MzM2NDU3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCkBAIC0zMCw2ICszMCw3IEBACiAjaWYg
RU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUg
PHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIwICs1MiwyMSBAQCBwdWJsaWM6CiAgICAgflJl
cGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlmaWVyKCkgY29uc3Qg
eyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgZG91YmxlIHRpbWVzdGFtcCgpIGNvbnN0IHsg
cmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAoKSBjb25z
dCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgU2VnbWVudGVkSW5w
dXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQotICAgIFZlY3Rvcjxk
b3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdz
OyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyBy
ZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHByaXZhdGU6CiAgICAgUmVwbGF5U2Vzc2lv
blNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+
IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9vcFRpbWluZ3M7Cisg
ICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1fZXZlbnRMb29wVGltaW5nczsKIAorICAgIE1v
bm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAgdW5zaWduZWQgbV9pZGVudGlmaWVyOwogICAg
IGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAgICBkb3VibGUgbV90aW1lc3RhbXA7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlp
bmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQyMGM4ZmFkNDRkZTUzYmMwMTUyZGJlOTc2YmRk
NmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVlYzIzNzdlMGRjNzc5NTFiYjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCkBAIC0zMCw2ICszMCw3
IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDxyZXBsYXkvSW5wdXRDdXJz
b3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsOCArNDIsOCBAQCBjbGFzcyBQYWdl
OwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKIHN0cnVjdCBFdmVudExvb3BJbnB1dERh
dGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0gICAgZG91YmxlIHRpbWVzdGFt
cDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0IHsgbnVsbHB0ciB9OworICAgIE1vbm90
b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xhc3MgUmVwbGF5aW5nSW5wdXRDdXJzb3IgZmlu
YWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcApp
bmRleCA4MjI3MGFkZDBmMmYwY2YzZWNkZDc2NTQ4ZTA1YzE0MTgyMGI4NWU2Li4zMDgwZDZhOGIx
NmJmODcxNDE4YTdmODg3YjcxZWE4MTgyMTk0ZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNj
b3BlLmNwcApAQCAtNTA3LDcgKzUwNyw3IEBAIHZvaWQgU2NvcGU6OnNjaGVkdWxlVXBkYXRlKFVw
ZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1fcGVuZGluZ1VwZGF0ZVRpbWVyLmlzQWN0aXZl
KCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BlbmRpbmdVcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgU2NvcGU6OmRpZENoYW5nZUFjdGl2ZVN0eWxlU2hlZXRDYW5kaWRhdGVzKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBmMDQxNWZjYTMwZjljZTRjNDEwMmZhNThkN2IzNTJm
YWZmODVlYzNjLi40MTk2MmFhNzNiNjVkOWJlNjI4MTY5ODgwMjUxOTIxZTc4YTk5OGFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBTVkdFbGVt
ZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZShib29sIHNlbmRQYXJlbnRMb2FkRXZlbnRz
KQogCiB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5bmNocm9u
b3VzbHkoKQogewotICAgIHN2Z0xvYWRFdmVudFRpbWVyKCktPnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTVkdF
bGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggY2JmM2I3YmE1ODQ4NTA3
NzM3ZTk3NWNkZDBhODE5MmQzMzVmYmY1MC4uNzUzZTQwMTRiY2MyMTJjYjMwOGQ4ZDY2N2NmZmVi
ZmQxM2M0NDVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlM
VGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlM
VGltZUNvbnRhaW5lci5jcHAKQEAgLTIwNSw3ICsyMDUsNyBAQCB2b2lkIFNNSUxUaW1lQ29udGFp
bmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBzZWQsIFNNSUxUaW1lIGZpcmVUaW1lLCBTTUlM
VGltZQogICAgICAgICByZXR1cm47CiAKICAgICBTTUlMVGltZSBkZWxheSA9IHN0ZDo6bWF4KGZp
cmVUaW1lIC0gZWxhcHNlZCwgbWluaW11bURlbGF5KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChkZWxheS52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRlbGF5
LnZhbHVlKCkpKTsKIH0KIAogdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA2MTFjOTJi
OGZiMzQ1MWNmYzZjZjk2YzhlZDM3ZTc4NWEzMmQ5N2Y4Li5hZmFmNWVkYWE4NmMyMzY5NWZmMmYz
Mzg2NzUyMzExOWFiNmYyZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpC
YWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgLCBtX2RlZmF1bHRWaWRlb1Bv
c3RlclVSTChzZXR0aW5ncy5kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoKSkKICAgICAsIG1fZm9yY2VQ
ZW5kaW5nV2ViR0xQb2xpY3koc2V0dGluZ3MuaXNGb3JjZVBlbmRpbmdXZWJHTFBvbGljeSgpKQot
ICAgICwgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KCkpCisgICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKCkp
CiAgICAgLCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3Ioc2V0dGlu
Z3MudXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpKQogICAgICwgbV9h
dXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKHNldHRpbmdzLmF1dG9zY3JvbGxGb3JEcmFn
QW5kRHJvcEVuYWJsZWQoKSkKICAgICAsIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFi
bGVkKHNldHRpbmdzLnF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCgpKQpAQCAtMTUy
LDcgKzE1Miw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oU2V0
dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgc2V0dGluZ3Muc2V0RGVmYXVsdFZpZGVvUG9z
dGVyVVJMKG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMKTsKICAgICBzZXR0aW5ncy5zZXRGb3JjZVBl
bmRpbmdXZWJHTFBvbGljeShtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KTsKLSAgICBzZXR0aW5n
cy5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhtX29yaWdp
bmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOworICAgIHNl
dHRpbmdzLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKG1f
dGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwogICAgIHNldHRp
bmdzLnNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IobV91c2VMZWdh
Y3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKTsKICAgICBzZXR0aW5ncy5zZXRBdXRv
c2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5h
YmxlZCk7CiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHko
bV9zaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSk7CkBAIC01MzYsNyArNTM2LDcgQEAg
RXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50ZXJ2
YWwoZG91YmxlIGludGVydmFsSW5TZWMKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdzKCkuc2V0
TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbEluU2Vjb25kcyAqIDEwMDApKSk7Cisg
ICAgc2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGludGVydmFs
SW5TZWNvbmRzKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNTYwLDcgKzU2MCw3IEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91c2VNb3Zl
bWVudEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNldFRp
bWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOworICAgIHNl
dHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMo
U2Vjb25kcyh0aW1lKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA1YTRmNmU0ZGFkNDg1Y2I1YWYzMTI3ZGVmODA3
OGRjNzc2MWMxOTQwLi5iZDYzZWJhYjc1MjcxZTkzOTZjOTQxMGJjOTRlMDQ2ZDlmNjE4NTNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTQzLDcgKzE0
Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29u
dHJvbFVJRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ltYWdlc0VuYWJsZWQ7CiAgICAgICAgIGJv
b2wgbV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKLSAgICAgICAgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOworICAgICAgICBTZWNvbmRzIG1fbWluaW11
bVRpbWVySW50ZXJ2YWw7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBib29sIG1f
c2hvdWxkRGlzcGxheVN1YnRpdGxlczsKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlDYXB0
aW9uczsKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAgIFN0cmlu
ZyBtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVuZGluZ1dl
YkdMUG9saWN5OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1l
bnRCZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX3RpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNlTGVnYWN5
QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1dG9zY3Jv
bGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQbHVnaW5S
ZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3NWM0YWEyM2Yu
LmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyArMTg3LDcgQEAg
dm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAKIGludCBXb3Jr
ZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9u
PiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgq
dGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQp
LCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0
aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9CiAKIHZv
aWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTk3
LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGlt
ZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6dW5pcXVl
X3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAgcmV0dXJu
IERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3Rh
bGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1l
b3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhckludGVydmFs
KGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA2
YjdkZThjY2VkYjIyNDhiN2M5NzIwM2NiZGU0OThkNTEyYWIyYmRlLi44ZDA3ZGJlMzcyZjA5ZTQz
MTgxNTZjNjdmZDQyMzRhNTFkYTYxZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVz
dDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4geyB9OwogCiAg
ICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0IG5ldHdv
cmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0IHdpdGggYSA2
MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0aW9uPGRvdWJs
ZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0TWlsbGlz
ZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGltZW91dFRpbWVy
LnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsKKyAgICBhdXRv
IGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxsaXNlY29u
ZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3RvbmljVGltZTo6bm93
KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3Rk
OjptYXgoMF9zLCBpbnRlcnZhbCkpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTQ5Niw3ICs0
OTYsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVxdWVzdDo6
cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9pZD4geyBF
eGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07CiAgICAgICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0
aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25ldHdvcmtF
cnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+IHsgfTsK
ICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVx
dWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRl
cnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNlIHsKICAg
ICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1pbGxpc2Vj
b25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9t
TWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykpOwogICAgICAgICB9CiAgICAgfQog
CkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChjb25zdCBS
ZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwogICAgICAg
ICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3Ao
KTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgbV9leGNlcHRpb25Db2RlID0gTkVUV09SS19FUlI7CkBAIC0xMTgzLDcgKzEx
ODMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUoKQogICAgIC8vIFdlIGFyZSBub3Qg
YWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBpbiByZXN1bWUoKSBzbyBkaXNwYXRjaAog
ICAgIC8vIHRoZSBlcnJvciBldmVudCBpbiBhIHRpbWVyLgogICAgIGlmIChtX2Rpc3BhdGNoRXJy
b3JPblJlc3VtaW5nICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVz
dW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZpcmVkKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggMDRhYmMwOWRkN2Y2YmI4YjhhOTVh
NTI0MTI3YzE0NjhjZmRhYzI3MS4uMmY4OGY1OTc0NzYwNDY2ZGU2MGJhOTYyNDBhMjJjOWQwY2Fm
OGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsyMzAsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya0Vycm9yVGltZXJGaXJlZCgpOwogCiAgICAgdW5z
aWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRzIHsgMCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5kaW5nVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1f
c2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90aW1lb3V0VGltZXI7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90
dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMwODczLi5l
NGM5OTU1MTA0MDYxMzI3M2FkZmUxNzU4M2I4YTA3ZjJmZDdkMjE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBk
b3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Qcm9ncmVz
c0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMgcGVyIHNw
ZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRo
cm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgPSA1MF9tczsg
Ly8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVudFRhcmdl
dCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEyIEBAIHZv
aWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhyb3R0bGVk
UHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJvdHRsZWRQcm9n
cmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhDb21wdXRh
YmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9n
cmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIHN0YXJ0UmVw
ZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAgICAgICAg
IG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmltdW1Qcm9n
cmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3QgZnJlcXVl
bnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVlbnQgZXZl
bnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApAQCAtMjA4
LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJl
c3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2YgYWN0aXZlIERPTSBvYmplY3RzIHRvIHJlc3VtZSB0
aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBldmVudC1oYW5kbGVyCiAgICAgLy8gY291bGQgaW5z
ZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMgdG8gdGhlIGxpc3QuCiAgICAgLy8gbV9kZWZlckV2
ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxsIGRlZmVycmVkIGV2ZW50cyBoYXZlIGJlZW4gZGlz
cGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXggOTcxYmQy
MzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUwMzQ4NGE4ZC4uMzQwZmI1YzAwZDE3M2ZiNjE2MWE3
NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAgLTU1LDcgKzU1LDcgQEAg
cHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0
IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHM7
CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGlu
Z0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAgICAgdm9pZCBkaXNwYXRj
aERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMu
Y3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTkuLmZhZjQ0
YmFmNDYyZjQ5ZDc3OGFiMTE3ZDRiYWUwNDZkMWY0MmM3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5nZXMsIGRv
bid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVwIGEgYmF0
Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhlIGZvbGxv
d2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRlcnZhbCA9
IDEuMDsKK3N0YXRpYyBjb25zdCBhdXRvIHN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxX3M7CiAKIC8v
IEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBzeW5jIGFs
bCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZlIHRoZSBy
ZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdlbmVyYWwu
CkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlSXRlbUZv
clN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUKIAogICAgIG1fY2hh
bmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZl
KCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2
YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZh
bCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0
byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmly
ZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNj
aGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9pdGVtc0Ns
ZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewotICAgICAg
ICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7CisgICAgICAg
IG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAogICAgICAg
ICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRl
blRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4K
QEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVDbG9zZURh
dGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsKICAgICAKICAgICBpZiAo
IW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVT
aG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNo
b3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICAvLyBUaGUgZm9sbG93
aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uIGlu
IHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3ICsxNzIs
NyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgICAgICAvLyBw
cmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwgc2NoZWR1bGUgaXQgYW55
d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9maW5hbFN5bmNTY2hlZHVs
ZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAg
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7Cisg
ICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3IEBAIHZv
aWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRpYWxTeW5j
KSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2luZywgdGhlbiB3ZSBuZWVk
IHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJ
bnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0lu
dGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFu
Y2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAg
ICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hlZHVsZUZp
bmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNw
cAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi5hZDc1N2Q4
OGRkMTY2ZTc2MTk1YTUwMzVhZDUzZjAwOTUwOTlmNzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFn
ZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUxLDggKzUxLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsKIAogLy8g
SWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFiYXNlLCBj
bG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQotLy8gYWZ0ZXIgaXQgaGFzIGJlZW4gaWRsZSBm
b3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBjb25zdCBk
b3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMDsKKy8vIGFmdGVy
IGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHNlY29u
ZHMuCitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
ID0gMzAwX3M7CiAgICAgCiB2b2lkIFN0b3JhZ2VUcmFja2VyOjppbml0aWFsaXplVHJhY2tlcihj
b25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdlVHJhY2tlckNsaWVudCogY2xpZW50KQog
ewpAQCAtOTcsNyArOTcsNyBAQCBTdG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIoY29uc3Qg
U3RyaW5nJiBzdG9yYWdlUGF0aCkKICAgICAsIG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlxdWU8U3Rv
cmFnZVRocmVhZD4oKSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX25lZWRzSW5p
dGlhbGl6YXRpb24oZmFsc2UpCi0gICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChE
ZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQorICAgICwgbV9zdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWwoZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmggYi9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBkMjJlOWEz
OWY5YjhjMDg5MzdmNTk0ZThmYTNiZGFjYTg4Li43MjZmMzI1MWIxZDFlZWY2YzFhYWYxMTI2MWMw
ZDI5OTdiNTkxNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRy
YWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaApAQCAt
NTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpc0FjdGl2ZSgpOwogCi0gICAg
ZG91YmxlIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3RvcmFnZURh
dGFiYXNlSWRsZUludGVydmFsOyB9Ci0gICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWwoZG91YmxlIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsID0g
aW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsg
cmV0dXJuIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9CisgICAgdm9pZCBzZXRTdG9y
YWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkgeyBtX3N0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CiAKICAgICB2b2lkIHN5bmNGaWxlU3lzdGVt
QW5kVHJhY2tlckRhdGFiYXNlKCk7CiAKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAg
IAogICAgIGJvb2wgbV9pc0FjdGl2ZTsKICAgICBib29sIG1fbmVlZHNJbml0aWFsaXphdGlvbjsK
LSAgICBkb3VibGUgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBt
X3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291
cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJl
c291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggMTFiY2UzYmVlMGUwYmExZDcwMmY3MmM2NjQ1
M2NjMmEyYmRlYjdmNi4uYTZjZjg0ZmMxOTUyNTk2M2Q0NmQyYmFjOTU3YWZhMmIzZmE4YTFhZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkU2NoZWR1bGVyOjpyZXN1bWVQZW5kaW5nUmVxdWVzdHMoKQogdm9pZCBXZWJSZXNvdXJjZUxv
YWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKQogewogICAgIGlmICgh
bV9yZXF1ZXN0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCBiOWFiOGEwZGRkY2M3NjQ3ZGE3ODYzMzk4
NDIzMjdjYTVjN2E5N2E5Li4wNmU5ZWQ2YzU3ZGI1NDcyMjdhZjQyYzVhMmYwNWFmZGFjZGVlZTE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0
ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC03NDQsNyArNzQ0LDcgQEAgdm9p
ZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKCkKICAgICBt
X3BsdWdpblJlcXVlc3RzLnJlbW92ZUZpcnN0KCk7CiAgICAgCiAgICAgaWYgKCFtX3BsdWdpblJl
cXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAKICAgICBw
ZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBAQCBOUEVy
cm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxSZXF1ZXN0
ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9IFBsdWdp
blJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQb3B1cHMp
OwogICAgICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJlcXVlc3Qp
KTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jl
cXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UgewogICAgICAgICBSZWZQ
dHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0+IHN0cmVhbSA9IEhvc3RlZE5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpjcmVhdGUodGhpcywgcmVxdWVzdElELCByZXF1ZXN0KTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KaW5k
ZXggMDVjYzRkNDcyZGE4NjEwYTM0YmE1YmRiZWM4YTE2M2U0YWQzOGI5NC4uZGIwYzAwZmU3YWM1
ZGM3ZGY3MGU5OTBiZjYwMWNlMTlmZWZmNWYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC01MjksNyArNTI5LDcg
QEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAgICAgICBp
ZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7CiAgICAgICAgICAgICAvLyBQbHVnLWluIGNhbid0IHJl
Y2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0IG5vdy4gU2VuZCBpdCBsYXRlci4KICAgICAgICAgICAg
IGlmICghbV9kZWxpdmVyRGF0YVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9k
ZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgICAgICBtX2RlbGl2
ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihkZWxpdmVy
eUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxCeXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4IGQ5ZTU4
ZTMzNjk0ZDUwY2MxZjY3NmIwNGZjMWY5OGUzZWZhNGJkM2UuLmMyYzY0ZTJhM2EwNTFmOTg1YmU5
YTRjMDU3YmJkNGZjNzNkYzRmYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIFdl
Yk5ldHNjYXBlUGx1Z2luVmlldyAqY3VycmVudFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5cGVkZWYg
c3RydWN0IE9wYXF1ZVBvcnRTdGF0ZSogUG9ydFN0YXRlOwogCi1zdGF0aWMgY29uc3QgZG91Ymxl
IFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1Oworc3RhdGljIGNvbnN0IGF1dG8gVGhyb3R0
bGVkVGltZXJJbnRlcnZhbCA9IDAuMjVfczsKIAogY2xhc3MgUGx1Z2luVGltZXIgOiBwdWJsaWMg
VGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0aW1lSW50ZXJ2
YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBhdXRvIHRpbWVJbnRlcnZhbCA9IFNl
Y29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICBp
ZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0aW1lSW50
ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0
b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZhZDVkNjBl
NGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2IwNWEyNzM5
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdl
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1t
CkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIHB0aHJlYWRfb25jZV90IHJlZ2lzdGVyTG9jYWxT
dG9yYWdlUGF0aCA9IFBUSFJFQURfT05DRV9JTklUOwogCiArICh2b2lkKXNldFN0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVydmFsCiB7Ci0gICAgV2ViS2l0OjpTdG9yYWdl
VHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChpbnRlcnZh
bCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKICsgKHZvaWQpY2xvc2VJ
ZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
aW5kZXggMTUyMjg5MzY4ODZiNWRjMDc5NDYwZjYwOTJhMDQzNDY0NTI4YWEzMS4uOWIwMWJhNDE0
N2ExODg4N2Y2NjVkY2Y1OTFhZDMyZmIzMTg2NzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQpAQCAtODMzNCw3ICs4MzM0LDcgQEAgc3RhdGljIFdlYkZyYW1lVmlldyAqY29u
dGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAgICAgdW5zaWduZWQgY2FjaGVUb3RhbENh
cGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7CiAgICAg
dW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9OworICAgIFNl
Y29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAgIHVuc2lnbmVkIHBh
Z2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDYxLDcgKzg0NjEsNyBAQCBzdGF0aWMgV2ViRnJhbWVW
aWV3ICpjb250YWluaW5nRnJhbWVWaWV3KE5TVmlldyAqdmlldykKICAgICAgICAgLy8gY2FuIHBy
b3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUgcmVncmVz
c2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heDx1bnNpZ25lZD4o
MjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFk
RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICNpZiBQTEFURk9STShJT1Mp
CiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJjMThkZWI3NWNjZDcwODI3YWZmYWU5
ZTA3NjIxZjIzNTAxZjU0ZWEuLjdkYjI3NmUwNzg0ZmFlMGMyNzE4NjAzYjhmMDQyYzY4MThjZDU1
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIu
Y3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0aW1lckludGVydmFsID0gMC4wMzM7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4wMzNfczsKIAogLy8gSFVE
IFNpemUKIHN0YXRpYyBjb25zdCBpbnQgd2luZG93SGVpZ2h0ID0gNTk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwIGIv
U291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcApp
bmRleCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li4xNzI5ZmZmNjNj
MGZmYTQ2NzVkMzc4MTNhYzZhYzcwZDc2NDlkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAgLTM5LDcg
KzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3MgRmxhc2gg
NjAgbWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRlbwogLy8g
cGxheWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tpbmcgaW50
byBoaWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldpbi5jcHAp
Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgPSAwLjAx
NjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZhbCA9IFNl
Y29uZHMoMC4wMTYpOwogCiAvLyBEdXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBtZXNzYWdl
cywgcHJvY2VzcyBvbmUgZXZlcnkgNW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlRGly
ZWN0UHJvY2Vzc2luZ0ludGVydmFsID0gMC4wMDU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lu
cy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCBiNjdmYTUzZmU4MGIxZWY4YzAxYWZmYzg2ZGE1ZDcx
NjMxNTVkZDI0Li4xNzU0YmRkNTRmMDczOWUyZGY2Y2FjYjc5ZTE1MTVhNDkyMTdjZjFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTY3LDcgKzY3
LDcgQEAgdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24oKQogICAgIEFTU0VSVCht
X21vZHVsZSk7CiAgICAgQVNTRVJUKCFtX2xvYWRDb3VudCk7CiAKLSAgICBtX2ZyZWVMaWJyYXJ5
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnJlZUxpYnJhcnlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3Bw
IGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCmluZGV4IDJlZjM5
NTViZTYxYThkMDU0MjRhZDEzOTk2MmRkMGQ3ZmE2YWU0NDQuLmRhODMzYWFmNGY4YmFlNDRiNDgw
NGIzNTIxZmNkMTc3YjhjYWRkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdp
bnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
blN0cmVhbS5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIFBsdWdpblN0cmVhbTo6ZGVsaXZl
ckRhdGEoKQogICAgICAgICBpbnQzMl90IGRlbGl2ZXJ5Qnl0ZXMgPSBtX3BsdWdpbkZ1bmNzLT53
cml0ZXJlYWR5KG1faW5zdGFuY2UsICZtX3N0cmVhbSk7CiAKICAgICAgICAgaWYgKGRlbGl2ZXJ5
Qnl0ZXMgPD0gMCkgewotICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRl
bGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNE
ZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5W
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5kZXgg
MjA3YTk2MTNjY2E4ZDljMTAzN2NmYjRkMWIxZTQyYTY4NTE5NTY5Ni4uNGVkNmQ1YjBiNTU5NDVm
MTcwMDNlY2MyNGYzOTZmYTg2NDQ5NjAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
UGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1Bs
dWdpblZpZXcuY3BwCkBAIC00NzMsNyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3OjpyZXF1ZXN0
VGltZXJGaXJlZCgpCiAgICAgLy8gU2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUgY2FsbGlu
ZyBwZXJmb3JtUmVxdWVzdCBzaW5jZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1SZXF1ZXN0
IGNhbiBjYXVzZSB0aGUgcGx1Z2luIHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAoIW1fcmVx
dWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgcGVyZm9y
bVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC00ODMsNyArNDgzLDcgQEAgdm9pZCBQbHVn
aW5WaWV3OjpzY2hlZHVsZVJlcXVlc3Qoc3RkOjp1bmlxdWVfcHRyPFBsdWdpblJlcXVlc3Q+IHJl
cXVlc3QpCiAgICAgbV9yZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAKICAgICBp
ZiAoIW1faXNKYXZhU2NyaXB0UGF1c2VkKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiBOUEVycm9yIFBsdWdpblZpZXc6OmxvYWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVM
b2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhKQpAQCAt
NjQ2LDcgKzY0Niw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNlZChib29s
IHBhdXNlZCkKICAgICBpZiAobV9pc0phdmFTY3JpcHRQYXVzZWQpCiAgICAgICAgIG1fcmVxdWVz
dFRpbWVyLnN0b3AoKTsKICAgICBlbHNlIGlmICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZlKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9Q
bHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCmluZGV4IDJmY2E5ZjNjOTVkNzNkYmEzYWMzMjYyNTll
YTg2ZGRjZGRhMjA3MGYuLmU1YzNjNTRhZjk3MWM2ZWQ5MzgxMjI2YzZiZjRkMDY2ODliMmZlZjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApAQCAtMzM0
LDcgKzMzNCw3IEBAIFBsdWdpblZpZXc6OnduZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2Us
IFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiAKICAgICAgICAgcHVzaFBvcHVwc0VuYWJs
ZWRTdGF0ZSh0cnVlKTsKIAotICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiAgICAgfQogCiAgICAgaWYgKG1lc3NhZ2UgPT0gV01fUFJJTlRDTElFTlQpIHsKQEAgLTgzOCw3
ICs4MzgsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KE5QUmVjdCogcmVjdCkK
ICAgICAgICAgaWYgKG1fcGx1Z2luLT5xdWlya3MoKS5jb250YWlucyhQbHVnaW5RdWlya1Rocm90
dGxlSW52YWxpZGF0ZSkpIHsKICAgICAgICAgICAgIG1faW52YWxpZFJlY3RzLmFwcGVuZChyKTsK
ICAgICAgICAgICAgIGlmICghbV9pbnZhbGlkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
ICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMC4wMDEpOworICAgICAgICAg
ICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgxX21zKTsKICAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChyKTsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENv
bXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIzODY5NzA4YjVhYjdj
N2E0YWQyMjI4Mi4uYTEwYTAyMDY0YmU5MzAxZTA4NDRiNWUwYjRjMDA5OGU2MDBmNGU5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcApAQCAtMzQ5LDcgKzM0OSw3IEBAIHZv
aWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAg
ICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAgICBtX2xheWVyRmx1
c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNV9zKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRlZENvbXBv
c2l0aW5nQ29udGV4dDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5j
cHAKaW5kZXggZDU3MDA0OGRhN2EyNjQwNmJjYWQwNmMyNWRlODY4ZmU1YWNiMmIwMy4uNGI0ZmNk
MTkxYTkwNzNjYWU5MDkwNzc2MGJlZjA0YTU5OWVhYjA3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAK
QEAgLTUyNSw3ICs1MjUsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVN
b2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAg
ICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hl
TWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0g
MDsKIApAQCAtNjM3LDcgKzYzNyw3IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2RlbChXZWJD
YWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVy
YWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNh
Y2hlTWF4RGVhZENhcGFjaXR5ID0gbWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkpOwogCi0g
ICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSA2
MF9zOwogCiAgICAgICAgIC8vIE1lbW9yeSBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMpCiAgICAg
ICAgIC8vIChUaGVzZSB2YWx1ZXMgYXJlIHNtYWxsIGJlY2F1c2UgV2ViQ29yZSBkb2VzIG1vc3Qg
Y2FjaGluZyBpdHNlbGYuKQpAQCAtMTUxNiw3ICsxNTE2LDcgQEAgdm9pZCBXZWJWaWV3OjpjbG9z
ZVdpbmRvd1Nvb24oKQogICAgIG1fY2xvc2VXaW5kb3dUaW1lciA9IFdpbmRvd0Nsb3NlVGltZXI6
OmNyZWF0ZSh0aGlzKTsKICAgICBpZiAoIW1fY2xvc2VXaW5kb3dUaW1lcikKICAgICAgICAgcmV0
dXJuOwotICAgIG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fY2xv
c2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBBZGRSZWYoKTsKIH0KQEAg
LTc0NjEsOCArNzQ2MSw3IEBAIEhSRVNVTFQgV2ViVmlldzo6c2V0TWluaW11bVRpbWVySW50ZXJ2
YWwoZG91YmxlIGludGVydmFsKQogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRV9G
QUlMOwogCi0gICAgYXV0byBpbnRlcnZhbE1TID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbCAqIDEwMDApKTsKLSAgICBw
YWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxNUyk7
CisgICAgcGFnZSgpLT5zZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29u
ZHMoaW50ZXJ2YWwpKTsKICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKaW5kZXggOWJmYTRlYzY0Yzg0
NzBjN2RiZWJjZTRmZmUzYmZjMDRjODU2M2I5MC4uOTRlMTQ3ZjUyOGE1ODNmZDBkZWNhNzExNTMw
MzYxOTMyZTEyNjRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0RhdGFUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrRGF0YVRhc2suY3BwCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNr
OjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSAh
PSBOb0ZhaWx1cmUpOwogICAgIG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgPSB0eXBlOwotICAgIG1f
ZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2s6OmRpZFJlY2VpdmVSZXNwb25z
ZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXIm
JiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtMb2FkLmNwcAppbmRleCA1MTdmODQ1YWFiZTUyM2YyZWZhOTYxODRlZWY3MjUzYWUyY2E0
ZDlmLi4wZjMwMDJkYWUyNWZhYTdhZTllYjI3OWI3NDM5Mjk0NGJkMDIxNzRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCkBAIC01MCw3ICs1MCw3
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogI2lmIFVTRShORVRXT1JLX1NFU1NJT04pCiAK
IHN0cnVjdCBOZXR3b3JrTG9hZDo6VGhyb3R0bGUgewotICAgIFRocm90dGxlKE5ldHdvcmtMb2Fk
JiBsb2FkLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNl
JiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQorICAgIFRo
cm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBTZWNvbmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNl
JiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQogICAgICAg
ICA6IHRpbWVyKGxvYWQsICZOZXR3b3JrTG9hZDo6dGhyb3R0bGVEZWxheUNvbXBsZXRlZCkKICAg
ICAgICAgLCByZXNwb25zZShXVEZNb3ZlKHJlc3BvbnNlKSkKICAgICAgICAgLCByZXNwb25zZUNv
bXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFuZGxlcikpCkBAIC0zMTIsNyArMzEyLDcgQEAgdm9p
ZCBOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24oUmVzb3VyY2VS
ZXNwb25zZSYmIHJlc3BvbnNlLAogICAgIH0KIAogICAgIGF1dG8gZGVsYXkgPSBOZXR3b3JrUHJv
Y2Vzczo6c2luZ2xldG9uKCkubG9hZFRocm90dGxlTGF0ZW5jeSgpOwotICAgIGlmIChkZWxheSA+
IDBtcykgeworICAgIGlmIChkZWxheSA+IDBfcykgewogICAgICAgICBtX3Rocm90dGxlID0gc3Rk
OjptYWtlX3VuaXF1ZTxUaHJvdHRsZT4oKnRoaXMsIGRlbGF5LCBXVEZNb3ZlKHJlc3BvbnNlKSwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggYzk2
ZDA4MjllMTViNmQ4OGJhZTE1Y2YwYzEyY2M0Y2QyMzhmMTEzYi4uOGM1YjdhNDg4NWZjNDQ5ZWVh
ZGUwNzQ0Y2Q5ZmM2MDI1YWNlNjFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xMTUsNyArMTE1LDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBncmFudFNhbmRib3hFeHRlbnNpb25zVG9EYXRhYmFzZVByb2Nlc3NGb3JCbG9icyhjb25z
dCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBGdW5jdGlvbjx2b2lkICgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKTsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9hZFRocm90dGxl
TGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsgfQorICAgIFNl
Y29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxl
TGF0ZW5jeTsgfQogCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBAIC0yMDcsNyAr
MjA3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRs
ZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaXNrQ2FjaGVJc0Rpc2FibGVkRm9yVGVzdGluZzsK
ICAgICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CisgICAgU2Vjb25k
cyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hh
ciosIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ+LCBQdHJIYXNoPGNv
bnN0IGNoYXIqPj4gTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwOwogICAgIE5ldHdvcmtQcm9j
ZXNzU3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKaW5kZXggZjQ1NjljOTQ2OWE1NzcyZTYwYjFjOWJmZjU2MDg1ZDNhY2I0M2MzZC4uNzA5
NTE1MzBlMzI5ZmExYzVmM2ZmOGU2NzJiOTM0MzA4YzU4ZjhhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQXR0YWNobWVudC5o
IgogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgi
CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTczLDcgKzc0LDcgQEAgc3RydWN0IE5l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIHNob3VsZFN1cHByZXNz
TWVtb3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIHNob3VsZFVzZVRlc3Rp
bmdOZXR3b3JrU2Vzc2lvbjsKICAgICBib29sIHVybFBhcnNlckVuYWJsZWQgeyBmYWxzZSB9Owot
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSB7IDBtcyB9
OworICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIFZlY3RvcjxTdHJpbmc+
IHVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xzOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBh
cmFtZXRlcnMuaAppbmRleCA0MjU1YWRlNDExNTBkYTk2OWYyMTExNzUxMmQ3ZGY2ZjdmN2M5YzRh
Li41YjI5ZTBlYmQ0M2EzOGJlNTJhZTY2ZGM1MjEwMzJlYzIwNjcwYWQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9h
ZElkZW50aWZpZXIgaWRlbnRpZmllciB7IDAgfTsKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hF
eHRlbnNpb24+PiByZXF1ZXN0Qm9keVNhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1dG9t
YXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IHJl
c291cmNlU2FuZGJveEV4dGVuc2lvbjsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUg
c2VuZGVyLgotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1Rp
bWUgeyAwbXMgfTsKKyAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA5MDEwNTk5NjhhMzkxMzAxZGEy
YWM5MjM3NGI3ZjkyNDVkNjk0ZGQ2Li4yYzdhZTNhYTc2YjcyOTc1NjQ4MDMwMzU2YmQ5ZjA3NDIw
ZWMyZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCB2b2lkIE5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QpCiAKICAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIAotICAgIGlmIChpc1N5
bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMG1zKQor
ICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdU
aW1lID4gMF9zKQogICAgICAgICBtX2J1ZmZlcmVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRl
KCk7CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9QaW5nTG9hZC5oCmluZGV4IDMwMGMzMDgxMjRmMzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVj
MjlkMTIuLmIxNDhhNWVkY2U5YmI5OTVmN2U1OTY4YzE2NTkyZjI3OTg0ODQyMDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJs
aWM6CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmpl
Y3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVy
b3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRP
bmVTaG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDEwMDBf
bWluKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCBjY2E5ODVmY2RhZjAxZDViNjhhNGIzZjE1N2Fj
NmYyYWQ5Y2ZhZGMzLi4xMjVkN2U4NWZlMzBjYjU0YWQwMzZjOTg4MTE3ODFiZTQ1YWI4MWU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAt
NDYsNyArNDYsNyBAQCBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAx
MHM7CitzdGF0aWMgY29uc3QgYXV0byBwcmVsb2FkZWRFbnRyeUxpZmV0aW1lID0gMTBfczsKIAog
I2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBIYXNoQ291bnRlZFNldDxTdHJpbmc+JiBhbGxTcGVj
dWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNz
LmNwcAppbmRleCAxMGE1MjAzZWZkODE4MGUwYWNhMzRiZTU0ZGY1MjU4MmY1OWM5NWY3Li44MjEy
Yzc2MzdjMzEyZGZmZjc3MWNiN2JhMDkxOWJlOTE5YjU4ZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0
aXN0aWNzLmNwcApAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFj
ZSBOZXR3b3JrQ2FjaGUgewogCiBzdGF0aWMgY29uc3QgY2hhciogU3RhdGlzdGljc0RhdGFiYXNl
TmFtZSA9ICJXZWJLaXRDYWNoZVN0YXRpc3RpY3MuZGIiOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbWluaW51bVdyaXRlSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzKDEwMDAwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmludW1Xcml0ZUludGVy
dmFsID0gMTBfczsKIAogc3RhdGljIGJvb2wgZXhlY3V0ZVNRTENvbW1hbmQoV2ViQ29yZTo6U1FM
aXRlRGF0YWJhc2UmIGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIHNxbCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rv
cmFnZS5jcHAKaW5kZXggNDUzMDgzYTRhNDliMDdmN2RhMDIzMDg5Yzk3YTg1NDE4MTdiN2RkNi4u
MDczYWQ2ZDJkYzlkMTliNmY4Y2VlNDdhNTkzMDU3NGNiMWY4YjgzNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rv
cmFnZS5jcHAKQEAgLTU2NSw3ICs1NjUsNyBAQCB2b2lkIFN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9w
ZXJhdGlvbihzdGQ6OnVuaXF1ZV9wdHI8UmVhZE9wZXJhdGlvbj4gcmVhZE9wZXJhdGlvbgogICAg
IG1fYWN0aXZlUmVhZE9wZXJhdGlvbnMuYWRkKFdURk1vdmUocmVhZE9wZXJhdGlvblB0cikpOwog
CiAgICAgLy8gSS9PIHByZXNzdXJlIG1heSBtYWtlIGRpc2sgb3BlcmF0aW9ucyBzbG93LiBJZiB0
aGV5IHN0YXJ0IHRha2luZyB2ZXJ5IGxvbmcgdGltZSB3ZSByYXRoZXIgZ28gdG8gbmV0d29yay4K
LSAgICBjb25zdCBhdXRvIHJlYWRUaW1lb3V0ID0gMTUwMG1zOworICAgIGNvbnN0IFNlY29uZHMg
cmVhZFRpbWVvdXQgPSAxLjVfczsKICAgICBtX3JlYWRPcGVyYXRpb25UaW1lb3V0VGltZXIuc3Rh
cnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKIAogICAgIGJvb2wgc2hvdWxkR2V0Qm9keUJsb2IgPSBt
YXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtleSk7CkBAIC03ODcsNyArNzg3LDcgQEAgdm9p
ZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJlY29yZCwgTWFwcGVkQm9keUhhbmRsZXIm
JiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8vIERlbGF5IHRoZSBzdGFydCBvZiB3cml0ZXMg
YSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5IHBhZ2UgbG9hZC4KICAgICAvLyBDb21wbGV0
aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUgd3JpdGVzIHdpdGhvdXQgZGVsYXkuCi0gICAg
c3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRlRGVsYXkgPSAxczsKKyAgICBzdGF0aWMgY29u
c3QgU2Vjb25kcyBpbml0aWFsV3JpdGVEZWxheSA9IDFfczsKICAgICBtX3dyaXRlT3BlcmF0aW9u
RGlzcGF0Y2hUaW1lci5zdGFydE9uZVNob3QoaW5pdGlhbFdyaXRlRGVsYXkpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRh
c2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtE
YXRhVGFza0NvY29hLm1tCmluZGV4IDRjZWZhOGViMzU3YWU0NGJkMjVhNTc0NmI0NWZmOWEwOGI0
ZTIwZGYuLjE4ZjBjY2Q4ZjcxNDEyM2M5OGE5NTE1NDkyZDc1ODYzNmU2ZWM0MzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0Nv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtE
YXRhVGFza0NvY29hLm1tCkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tD
b2NvYTo6Y2FuY2VsKCkKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7CiAg
ICAgaWYgKG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKQotICAgICAgICBtX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogICAgIFttX3Rhc2sgcmVzdW1lXTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKaW5kZXggOWFjNzZjNmQzOTQ3ZGUy
Njg3MWViNjg5MjA2NWJkYTZiNzc4Y2ZlMS4uZDA0NmFmNWRlMjA3MzYzMjdiMTA3NjgzMGVjYjli
OGE5ZWZlZDU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRD
b2RlcnMuY3BwCkBAIC0zMiw2ICszMiwzNiBAQAogCiBuYW1lc3BhY2UgSVBDIHsKIAordm9pZCBB
cmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29u
c3QgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1Np
bmNlRXBvY2goKS52YWx1ZSgpOworfQorCitib29sIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGlt
ZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQoreworICAg
IGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgdGltZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRz
KHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25kcykKK3sK
KyAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVy
PFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25kcykKK3sK
KyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1f
Y2xvY2s6OnRpbWVfcG9pbnQ+OjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBz
dGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50JiB0aW1lUG9pbnQpCiB7CiAgICAg
ZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxpbnQ2NF90Pih0aW1lUG9pbnQudGltZV9zaW5jZV9lcG9j
aCgpLmNvdW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Fy
Z3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2Rl
cnMuaAppbmRleCBmNmQ4OGI3Y2RiYjdkZTZmYTZhMmRjYjU0YWY4NmZhM2NhNzk3NmIyLi4wNzVi
ZmY1MzUxOWRmODk3Zjc1MDM2ODI1YmQyNjlmODdmMjY5YWUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaApAQCAtMTYzLDcgKzE2Myw2IEBAIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIEVsZW1lbnRzPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OnR1cGxl
PEVsZW1lbnRzLi4uPj4gewogICAgIH0KIH07CiAKLQogdGVtcGxhdGU8dHlwZW5hbWUgUmVwLCB0
eXBlbmFtZSBQZXJpb2Q+IHN0cnVjdCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpkdXJhdGlv
bjxSZXAsIFBlcmlvZD4+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2Rl
ciwgY29uc3Qgc3RkOjpjaHJvbm86OmR1cmF0aW9uPFJlcCwgUGVyaW9kPiYgZHVyYXRpb24pCiAg
ICAgewpAQCAtMzc5LDYgKzM3OCwxNiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVu
YW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZz4gc3RydWN0IEFyZ3VtZQogICAgIH0K
IH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1l
PiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6Ok1vbm90b25p
Y1RpbWUmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6TW9ub3Rvbmlj
VGltZSYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6OlNlY29u
ZHM+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6U2Vjb25k
cyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpTZWNvbmRzJik7Cit9
OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1f
Y2xvY2s6OnRpbWVfcG9pbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNv
bnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQmKTsKICAgICBzdGF0aWMg
Ym9vbCBkZWNvZGUoRGVjb2RlciYsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9p
bnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IGYwMTJh
MDFiNTRkZTdkMWZjZTIxNzk3ZTZmNDU1MDUwYzgzZTY4ODUuLjkwMmJlNGQxYTczZjhlMDQ3ZDky
MDlmMzJkNDVhMjg2YTk3MDMwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uaApAQCAtMTg2LDcgKzE4Niw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIGJvb2wga2lsbCgpOwotICAgIHZvaWQgdGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2
YWxJblNlY29uZHMpOworICAgIHZvaWQgdGVybWluYXRlU29vbihTZWNvbmRzKTsKICNlbmRpZgog
CiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0gYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5kZXggMjg5
OTUxMjk0NjNlODMxOTEwNzBiZWU4NWZkYmU4NzA1NDhlNTViMS4uNzA0NDY5MTU2YWY4MWJkNDE1
OGYxNzFlMDgxN2Q4OGVkYmZiMTdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQpAQCAtODAsMjAgKzgwLDIwIEBAIGVudW0gewogLy8g
ICAgdG8gZW5zdXJlIGl0IGhhcyBhIGNoYW5jZSB0byB0ZXJtaW5hdGUgY2xlYW5seS4KIGNsYXNz
IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgdm9p
ZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29u
bmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAg
IHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0
UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQog
ICAgIHsKLSAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5l
Y3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5h
dGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsKTsKICAgICB9CiAgICAgCiBwcml2
YXRlOgotICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19j
b25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCisg
ICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rp
b25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMgaW50ZXJ2YWwpCiAgICAgICAgIDogbV94cGND
b25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24pCiAgICAgICAgICwgbV93YXRjaGRvZ1RpbWVyKFJ1bkxv
b3A6Om1haW4oKSwgdGhpcywgJkNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjp3YXRjaGRv
Z1RpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICAsIG1fYXNzZXJ0aW9uKHN0
ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQcm9jZXNzQW5kVUlBc3NlcnRpb24+KHhwY19jb25uZWN0
aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdldCgpKSwgV2ViS2l0OjpBc3NlcnRpb25TdGF0
ZTo6QmFja2dyb3VuZCkpCiAjZW5kaWYKICAgICB7Ci0gICAgICAgIG1fd2F0Y2hkb2dUaW1lci5z
dGFydE9uZVNob3QoaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBtX3dhdGNoZG9nVGltZXIu
c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCB3YXRjaGRvZ1Rp
bWVyRmlyZWQoKQpAQCAtMTUxLDEwICsxNTEsMTAgQEAgdm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9y
bUludmFsaWRhdGUoKQogI2VuZGlmCiB9CiAgICAgCi12b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0
ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQordm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5h
dGVTb29uKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgaWYgKG1feHBjQ29ubmVjdGlvbikKLSAg
ICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJt
aW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAg
ICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1p
bmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiB9CiAgICAgCiB2b2lk
IENvbm5lY3Rpb246OnBsYXRmb3JtSW5pdGlhbGl6ZShJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQ
cm94eS5jcHAKaW5kZXggZGE5ZGIyMjRlZGMwZWEwY2JkMDAyZGMxNzEyYTBjMTg2ZDE5MzVlNC4u
MTczOTUyNTA5NTcxZDhmNDkwYTczZTdmYTk2OTU5M2M3YjgzMjRkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcApA
QCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpkZXN0cm95KCkK
ICAgICBpZiAobV9wbHVnaW5EZXN0cnVjdGlvblByb3RlY3RDb3VudCB8fCBtX2Nvbm5lY3Rpb24t
PmNvbm5lY3Rpb24oKS0+aW5TZW5kU3luYygpKSB7CiAgICAgICAgIC8vIFdlIGhhdmUgcGx1Zy1p
biBjb2RlIG9uIHRoZSBzdGFjayBzbyB3ZSBjYW4ndCBkZXN0cm95IGl0IHJpZ2h0IG5vdy4KICAg
ICAgICAgLy8gRGVzdHJveSBpdCBsYXRlci4KLSAgICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BsdWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjE1LDcgKzIxNSw3IEBAIHZv
aWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFydFBhaW50VGltZXIoKQogICAgICAgICByZXR1
cm47CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIuCi0gICAgbV9wYWludFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3BhaW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBtX3dh
aXRpbmdGb3JEaWRVcGRhdGUgPSB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKaW5kZXggYTcyNGViMDhmOTBkNTlkYjEyOTgyMzQ0MWU3
N2UwOGZlZWM3YjI1Yi4uMzk1ZDc2NGQ0NzFmNTFkZTk5ODBjNjEyMWU2MDMyY2ZhYzQ5ODJkNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCkBA
IC0yMjAsOSArMjIwLDkgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZv
ckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdE5hbWUKICAgICBwYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpQbHVnaW5Qcm9jZXNzUHJveHk6OkRpZERl
bGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNhbGxiYWNrSUQpLCAwKTsKIH0KIAotdm9pZCBQ
bHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoZG91YmxlIGxpZmV0aW1lKQordm9pZCBQ
bHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRpbWUoU2Vjb25kcyBsaWZldGltZSkKIHsKLSAg
ICBpZiAobGlmZXRpbWUgPD0gMC4wKQorICAgIGlmIChsaWZldGltZSA8PSAwX3MpCiAgICAgICAg
IHJldHVybjsKICAgICAKICAgICBkaXNhYmxlVGVybWluYXRpb24oKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKaW5kZXggOWE5MGU0YzI1MzkzYTdlZDQ2
Yzk4N2I1ZWU0NDQ5YTc0YWI5MjMzYi4uMjBhYzA2N2IwNDk1ZTZhYzc2MjJjMDA2MjAwMzhjMDFm
NWYzMDI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Q
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRp
YWxpemVQbHVnaW5Qcm9jZXNzKFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAg
ICAgCi0gICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRpbWUoZG91YmxlKTsKKyAgICB2b2lkIHNldE1p
bmltdW1MaWZldGltZShTZWNvbmRzKTsKICAgICB2b2lkIG1pbmltdW1MaWZldGltZVRpbWVyRmly
ZWQoKTsKICAgICAvLyBPdXIgd2ViIHByb2Nlc3MgY29ubmVjdGlvbnMuCiAgICAgVmVjdG9yPFJl
ZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCmluZGV4IDQwM2YzNGRmY2Q0YjdhZGM0OWJhMDQ2
MmI5ZmRlZmE2ZGVmM2ZkNDUuLmViZTZlZDJkMmU5MWE0Nzg5ZWExNWZjYjczNDM0OTBkNWQ3MTZk
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhD
YWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2ln
bmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5
LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwg
dW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQordm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNp
emVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwg
dW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2Fw
YWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVk
JiBwYWdlQ2FjaGVDYXBhY2l0eSkKIHsKICAgICB1aW50NjRfdCBtZW1vcnlTaXplID0gcmFtU2l6
ZSgpIC8gTUI7CiAKQEAgLTEwOSw3ICsxMDksNyBAQCB2b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hl
U2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaQog
ICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBq
dXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IHN0
ZDo6bWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkpOwogCi0gICAgICAgIGRlYWREZWNvZGVk
RGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDYwIH07CisgICAg
ICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSAxX21pbjsKIAogICAgICAgICBi
cmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2Rl
bC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaAppbmRleCBjZjQ3MzQ1NGZl
MmFjMzNkM2NhNDNhNzJmYTU5M2U0YzRlNTFkM2Q1Li4xZTA3NzY4OGVhNzhkYzg0Mjk4OGY0ZjVm
MDNhY2FiYjkzMTI0YTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVN
b2RlbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKQEAgLTI2LDgg
KzI2LDggQEAKICNpZm5kZWYgQ2FjaGVNb2RlbF9oCiAjZGVmaW5lIENhY2hlTW9kZWxfaAogCi0j
aW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNv
bmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0zNyw3ICszNyw3IEBAIGVudW0gQ2Fj
aGVNb2RlbCB7CiAgICAgQ2FjaGVNb2RlbFByaW1hcnlXZWJCcm93c2VyCiB9OwogCi12b2lkIGNh
bGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxD
YXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
YXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpzZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpOwordm9pZCBjYWxjdWxh
dGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNp
dHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVh
ZENhcGFjaXR5LCBTZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNp
Z25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpOwogdm9pZCBjYWxjdWxhdGVVUkxDYWNoZVNpemVzKENh
Y2hlTW9kZWwsIHVpbnQ2NF90IGRpc2tGcmVlU2l6ZSwgdW5zaWduZWQmIHVybENhY2hlTWVtb3J5
Q2FwYWNpdHksIHVpbnQ2NF90JiB1cmxDYWNoZURpc2tDYXBhY2l0eSk7CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcAppbmRleCAxNzU3
ODlmYjlhZTcxM2YxNmVlZWRiZmFiZTAwZDZmMzNlNjNjZjIzLi40OWI3OTQ2NWRmNmUxYjJhMTIx
YzNmYTUyZDAwM2ZiMTk1MWJjMjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNz
LmNwcApAQCAtMzMsOCArMzMsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIENoaWxkUHJvY2Vz
czo6Q2hpbGRQcm9jZXNzKCkKLSAgICA6IG1fdGVybWluYXRpb25UaW1lb3V0KDApCi0gICAgLCBt
X3Rlcm1pbmF0aW9uQ291bnRlcigwKQorICAgIDogbV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKICAg
ICAsIG1fdGVybWluYXRpb25UaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZDaGlsZFByb2Nl
c3M6OnRlcm1pbmF0aW9uVGltZXJGaXJlZCkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlz
YWJsZWQoIlByb2Nlc3MgU3VwcHJlc3Npb24gRGlzYWJsZWQgYnkgVUlQcm9jZXNzIikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCBhMDZlMzQ5YTM4YzI4MWY1YWNlOGQz
NjIyYTA1NDYxZjk0MDRkYTVjLi45ODVhZDZhNjFiMmE4MmFiNzg1MDI5ZmU0MmRlYzQ3NTJlZmM0
NmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCkBAIC04MSw3ICs4MSw3IEBA
IHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBDaGlsZFByb2Nlc3MoKTsKICAgICB2aXJ0dWFsIH5D
aGlsZFByb2Nlc3MoKTsKIAotICAgIHZvaWQgc2V0VGVybWluYXRpb25UaW1lb3V0KGRvdWJsZSBz
ZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25kczsgfQorICAgIHZvaWQgc2V0
VGVybWluYXRpb25UaW1lb3V0KFNlY29uZHMgc2Vjb25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91
dCA9IHNlY29uZHM7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzcyhjb25z
dCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKICAgICB2aXJ0dWFsIHZv
aWQgaW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9u
UGFyYW1ldGVycyYpOwpAQCAtMTE3LDcgKzExNyw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGUg
dGltZW91dCwgaW4gc2Vjb25kcywgYmVmb3JlIHRoaXMgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0
ZWQgaWYgdGVybWluYXRpb24KICAgICAvLyBoYXMgYmVlbiBlbmFibGVkLiBJZiB0aGUgdGltZW91
dCBpcyAwIHNlY29uZHMsIHRoZSBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZCBpbW1lZGlhdGVs
eS4KLSAgICBkb3VibGUgbV90ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtX3Rlcm1p
bmF0aW9uVGltZW91dDsKIAogICAgIC8vIEEgdGVybWluYXRpb24gY291bnRlcjsgd2hlbiB0aGUg
Y291bnRlciByZWFjaGVzIHplcm8sIHRoZSBwcm9jZXNzIHdpbGwgYmUgdGVybWluYXRlZAogICAg
IC8vIGFmdGVyIGEgZ2l2ZW4gcGVyaW9kIG9mIHRpbWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKaW5kZXggYTEyYTQ0NDViYjE2Y2FhZjY5MjczYjY0YTg2MzIxMDhlN2Q1NDlmNC4uYjFh
MzRhNGRmMWQyZDgyNTk4YWNhNmNmODQ1NGViNGZhMWNkZTZmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiQXR0YWNobWVudC5o
IgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NBdHRyaWJ1dGVzLmgiCisjaW5jbHVkZSA8d3RmL1Nl
Y29uZHMuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgPFdlYkNvcmUvTWFjaFNl
bmRSaWdodC5oPgpAQCAtNTEsOCArNTIsOCBAQCBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycyB7CiAgICAgUGx1Z2luUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGU7CiAgICAgYm9v
bCBzdXBwb3J0c0FzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uOwogCi0gICAgZG91Ymxl
IG1pbmltdW1MaWZldGltZTsKLSAgICBkb3VibGUgdGVybWluYXRpb25UaW1lb3V0OworICAgIFNl
Y29uZHMgbWluaW11bUxpZmV0aW1lOworICAgIFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0Owog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgV2ViQ29yZTo6TWFjaFNlbmRSaWdodCBhY2NlbGVy
YXRlZENvbXBvc2l0aW5nUG9ydDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKaW5kZXggZjBmZmI3NzI2YTUzZWU0Zjg0MjNkNDZiNzliYjBmZGFm
MDVkZTdjNC4uMzgwZTAxZTVlNzQ2MTczN2U1NzUzZTk2NjVhYzJlMzQ2MDU1MjYxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTEw
NiwzNiArMTA2LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogbmFtZXNwYWNlIElQQyB7
CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIsIGNvbnN0IE1vbm90b25pY1RpbWUmIHRpbWUpCi17Ci0gICAgZW5jb2RlciA8PCB0aW1l
LnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTW9ub3RvbmljVGltZSYgdGlt
ZSkKLXsKLSAgICBkb3VibGUgdmFsdWU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHRpbWUgPSBNb25vdG9uaWNUaW1lOjpmcm9t
UmF3U2Vjb25kcyh2YWx1ZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgQXJndW1lbnRD
b2RlcjxTZWNvbmRzPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNlY29uZHMmIHNl
Y29uZHMpCi17Ci0gICAgZW5jb2RlciA8PCBzZWNvbmRzLnZhbHVlKCk7Ci19Ci0KLWJvb2wgQXJn
dW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNlY29uZHMmIHNl
Y29uZHMpCi17Ci0gICAgZG91YmxlIHZhbHVlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFs
dWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1
ZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgQXJndW1lbnRDb2RlcjxBZmZpbmVUcmFu
c2Zvcm0+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBh
ZmZpbmVUcmFuc2Zvcm0pCiB7CiAgICAgU2ltcGxlQXJndW1lbnRDb2RlcjxBZmZpbmVUcmFuc2Zv
cm0+OjplbmNvZGUoZW5jb2RlciwgYWZmaW5lVHJhbnNmb3JtKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA0ODE5ZmNiYzA0YWM3MTYyNTY3
M2E4NDQ2N2Y3NDU0MmNjYjkyOTk1Li4zMTU0MDYyZDlkYzM1MmE5MWY0YjMzYmI2NTQzOTk1NmU1
ODgwOWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oCkBAIC0zMSwxMSArMzEsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvSW5kZXhlZERCLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9QYXltZW50SGVhZGVycy5oPgogCi1uYW1lc3BhY2UgV1RGIHsKLWNs
YXNzIE1vbm90b25pY1RpbWU7Ci1jbGFzcyBTZWNvbmRzOwotfQotCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZTsKQEAgLTE1MiwxNiArMTQ3LDYgQEAgdXNpbmcgSURCS2V5UGF0aCA9IFZhcmlhbnQ8U3RyaW5n
LCBWZWN0b3I8U3RyaW5nPj47CiAKIG5hbWVzcGFjZSBJUEMgewogCi10ZW1wbGF0ZTw+IHN0cnVj
dCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3RvbmljVGltZT4gewotICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpNb25vdG9uaWNUaW1lJik7Ci0gICAgc3RhdGljIGJv
b2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKLX07Ci0KLXRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpTZWNvbmRzPiB7Ci0gICAgc3RhdGljIHZvaWQg
ZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6OlNlY29uZHMmKTsKLSAgICBzdGF0aWMgYm9vbCBk
ZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25kcyYpOwotfTsKLQogdGVtcGxhdGU8PiBzdHJ1Y3Qg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0+IHsKICAgICBzdGF0aWMgdm9p
ZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwogICAg
IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKaW5kZXggMDUzZmE2
ZWEyOTczY2U3YjFkYjNjZmYzOTI3NTFlYWJmNGUxOGQxMC4uZGRlYTJhYmRjNDRlNGVhMDIyN2Uy
OWU3NmU0YmUzYWVjZWU2MDVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
Yk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlT
YW1wbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBXZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlT
YW1wbGVyKCkKICAgICA6IG1fc2FtcGxlVGltZXIoKnRoaXMsICZXZWJNZW1vcnlTYW1wbGVyOjpz
YW1wbGVUaW1lckZpcmVkKQogICAgICwgbV9zdG9wVGltZXIoKnRoaXMsICZXZWJNZW1vcnlTYW1w
bGVyOjpzdG9wVGltZXJGaXJlZCkKICAgICAsIG1faXNSdW5uaW5nKGZhbHNlKQotICAgICwgbV9y
dW5uaW5nVGltZSgwKQogewogfQogCkBAIC02Nyw3ICs2Niw3IEBAIHZvaWQgV2ViTWVtb3J5U2Ft
cGxlcjo6c3RhcnQoY29uc3QgZG91YmxlIGludGVydmFsKQogICAgICAgICByZXR1cm47CiAgICAg
CiAgICAgaW5pdGlhbGl6ZVRlbXBMb2dGaWxlKCk7Ci0gICAgaW5pdGlhbGl6ZVRpbWVycyhpbnRl
cnZhbCk7CisgICAgaW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKIHZv
aWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
JiBzYW1wbGVMb2dGaWxlSGFuZGxlLCBjb25zdCBTdHJpbmcmIHNhbXBsZUxvZ0ZpbGVQYXRoLCBj
b25zdCBkb3VibGUgaW50ZXJ2YWwpIApAQCAtODIsMTcgKzgxLDE3IEBAIHZvaWQgV2ViTWVtb3J5
U2FtcGxlcjo6c3RhcnQoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dG
aWxlSGFuZGxlCiAgICAgfQogICAgICAgICAKICAgICBpbml0aWFsaXplU2FuZGJveGVkTG9nRmls
ZShzYW1wbGVMb2dGaWxlSGFuZGxlLCBzYW1wbGVMb2dGaWxlUGF0aCk7Ci0gICAgaW5pdGlhbGl6
ZVRpbWVycyhpbnRlcnZhbCk7CisgICAgaW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzKGludGVydmFs
KSk7CiAgICAKIH0KIAotdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKGRv
dWJsZSBpbnRlcnZhbCkKK3ZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhT
ZWNvbmRzIGludGVydmFsKQogewotICAgIG1fc2FtcGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoMSk7
CisgICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEpKTsKICAgICBwcmlu
dGYoIlN0YXJ0ZWQgbWVtb3J5IHNhbXBsZXIgZm9yIHByb2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFt
ZSgpLnV0ZjgoKS5kYXRhKCksIGdldHBpZCgpKTsKLSAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7Cisg
ICAgaWYgKGludGVydmFsID4gMF9zKSB7CiAgICAgICAgIG1fc3RvcFRpbWVyLnN0YXJ0T25lU2hv
dChpbnRlcnZhbCk7Ci0gICAgICAgIHByaW50ZigiIGZvciBhIGludGVydmFsIG9mICVnIHNlY29u
ZHMiLCBpbnRlcnZhbCk7CisgICAgICAgIHByaW50ZigiIGZvciBhIGludGVydmFsIG9mICVnIHNl
Y29uZHMiLCBpbnRlcnZhbC52YWx1ZSgpKTsKICAgICB9CiAgICAgcHJpbnRmKCI7IFNhbXBsZXIg
bG9nIGZpbGUgc3RvcmVkIGF0OiAlc1xuIiwgbV9zYW1wbGVMb2dGaWxlUGF0aC51dGY4KCkuZGF0
YSgpKTsKICAgICBtX3J1bm5pbmdUaW1lID0gaW50ZXJ2YWw7CkBAIC0xNTksNyArMTU4LDcgQEAg
dm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCgpCiB7CiAgICAgaWYgKCFtX2lz
UnVubmluZykKICAgICAgICAgcmV0dXJuOwotICAgIHByaW50ZigiJWcgc2Vjb25kcyBlbGFwc2Vk
LiBTdG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9ydW5uaW5nVGltZSk7CisgICAgcHJp
bnRmKCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9yeSBzYW1wbGVyLi4uXG4iLCBt
X3J1bm5pbmdUaW1lLnZhbHVlKCkpOwogICAgIHN0b3AoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKaW5kZXggMjc4N2I1MTVkYWJjNTFlYmVjNWJjMDY0NmYx
M2JlZmU1MTI5ODYyMi4uZGE0Mjg4YjU4NDA5ZmZiYWFmOGQyNzNjYjM4NTg0NWIwZDFkODg2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCkBAIC04NCw3ICs4NCw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplVGVtcExvZ0ZpbGUoKTsKICAgICB2b2lk
IGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgd3JpdGVIZWFkZXJzKCk7Ci0gICAgdm9pZCBp
bml0aWFsaXplVGltZXJzKGRvdWJsZSk7CisgICAgdm9pZCBpbml0aWFsaXplVGltZXJzKFNlY29u
ZHMpOwogICAgIHZvaWQgc2FtcGxlVGltZXJGaXJlZCgpOwogICAgIHZvaWQgc3RvcFRpbWVyRmly
ZWQoKTsKICAgICB2b2lkIGFwcGVuZEN1cnJlbnRNZW1vcnlVc2FnZVRvRmlsZShXZWJDb3JlOjpQ
bGF0Zm9ybUZpbGVIYW5kbGUmKTsKQEAgLTEwMCw3ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIFdl
YkNvcmU6OlRpbWVyIG1fc2FtcGxlVGltZXI7CiAgICAgV2ViQ29yZTo6VGltZXIgbV9zdG9wVGlt
ZXI7CiAgICAgYm9vbCBtX2lzUnVubmluZzsKLSAgICBkb3VibGUgbV9ydW5uaW5nVGltZTsKKyAg
ICBTZWNvbmRzIG1fcnVubmluZ1RpbWU7CiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IG1f
c2FtcGxlTG9nU2FuZGJveEV4dGVuc2lvbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IGVjODZlMWUyMWZm
Y2NkNmQ4NzJhYWExZjJkNDE5ZTQ2NjZhMzI3ZGIuLjBkMzdiOWEzZWQ3ZTM2NGMxYzRiNjk5M2Y5
MDY3OTJhNWZlYWVlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTEzLDcgKzExMyw3IEBAIHN0cnVjdCBXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKIAogICAgIGJvb2wgaWNvbkRhdGFiYXNlRW5hYmxl
ZDsKIAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyB0ZXJtaW5h
dGlvblRpbWVvdXQ7CiAKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaAppbmRl
eCA2YWY3OTAyZGEzZjlmYTljMmVhYmRhYWEwZTVkNzg1ZjY1MzJlNmU3Li40MzY4Y2MyY2MxYjNm
NWM2ZDVhOGViM2IzODBiMmU4YmRiM2E0YTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCkBAIC0zMCw3ICszMCw3IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lPU3VyZmFj
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9uLmg+Ci0jaW5jbHVkZSA8Y2hyb25vPgorI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKIE9CSkNfQ0xBU1MgQ0FMYXllcjsKIApAQCAt
OTEsNyArOTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHNldEJ1ZmZlclZvbGF0aWxpdHkoQnVm
ZmVyVHlwZSB0eXBlLCBib29sIGlzVm9sYXRpbGUpOwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6dGltZV9wb2ludCBsYXN0RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xh
c3REaXNwbGF5VGltZTsgfQorICAgIE1vbm90b25pY1RpbWUgbGFzdERpc3BsYXlUaW1lKCkgY29u
c3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGRy
YXdJbkNvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgQ0dJbWFnZVJlZiBiYWNrSW1h
Z2UpOwpAQCAtMTAzLDggKzEwMywxMCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtQ0FMYXllclJl
bW90ZSogbV9sYXllcjsKIAogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3NpemU7Ci0gICAgZmxv
YXQgbV9zY2FsZTsKLSAgICBib29sIG1faXNPcGFxdWU7CisgICAgZmxvYXQgbV9zY2FsZSB7IDEg
fTsKKworICAgIGJvb2wgbV9pc09wYXF1ZSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2FjY2VsZXJh
dGVzRHJhd2luZyB7IGZhbHNlIH07CiAKICAgICBXZWJDb3JlOjpSZWdpb24gbV9kaXJ0eVJlZ2lv
bjsKIApAQCAtMTEyLDcgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTaGFyZWFi
bGVCaXRtYXA+IGJpdG1hcDsKICNpZiBVU0UoSU9TVVJGQUNFKQogICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBzdXJmYWNlOwotICAgICAgICBib29sIGlzVm9sYXRp
bGUgPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc1ZvbGF0aWxlIHsgZmFsc2UgfTsKICNlbmRpZgog
CiAgICAgICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdApAQCAtMTM4LDExICsxNDAs
OSBAQCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gbV9mcm9udENvbnRl
eHRQZW5kaW5nRmx1c2g7CiAKLSAgICBib29sIG1fYWNjZWxlcmF0ZXNEcmF3aW5nOwotCiAgICAg
V2ViQ29yZTo6UmVwYWludFJlY3RMaXN0IG1fcGFpbnRpbmdSZWN0czsKIAotICAgIHN0ZDo6Y2hy
b25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0RGlzcGxheVRpbWU7CisgICAgTW9u
b3RvbmljVGltZSBtX2xhc3REaXNwbGF5VGltZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUubW0KaW5kZXggZDU3MTlkZGExMmJlYWI4MjJkZjMyYjcyMTU4ZWJhNmE1ZTk5NDIwNS4u
Y2JjZjcxYzVmNzU0ZWVjM2U4NjBmZjEyZmM3M2ZmYTg1YzY3ZGQxMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCkBAIC02
Miw4ICs2Miw2IEBAIHN0YXRpYyBXZWJDb3JlOjpJT1N1cmZhY2U6OkZvcm1hdCBidWZmZXJGb3Jt
YXQoYm9vbCBpc09wYXF1ZSkKIAogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVy
QmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbGF5ZXIpCiAgICAgOiBtX2xheWVy
KGxheWVyKQotICAgICwgbV9pc09wYXF1ZShmYWxzZSkKLSAgICAsIG1fbGFzdERpc3BsYXlUaW1l
KHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQ6Om1pbigpKQogewogICAgIGlm
ICghbV9sYXllcikKICAgICAgICAgcmV0dXJuOwpAQCAtMjMxLDcgKzIyOSw3IEBAIGJvb2wgUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkoKQogewogICAgIEFTU0VSVCghbV9mcm9udENv
bnRleHRQZW5kaW5nRmx1c2gpOwogCi0gICAgbV9sYXN0RGlzcGxheVRpbWUgPSBzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBtX2xhc3REaXNwbGF5VGltZSA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOwogCiAgICAgYm9vbCBuZWVkVG9FbmNvZGVCYWNraW5nU3RvcmUgPSBmYWxz
ZTsKICAgICBpZiAoUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogY29udGV4dCA9IG1fbGF5ZXItPmNv
bnRleHQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCmluZGV4IGZlNDk3MWVlNzM5MjQxNGFi
YzExOTQwYWM3OWY4Zjc5MTRjYTQ4NjIuLmNkODNhMzhkOTg0NTVkYjVkNTRlZDNmNDY1Mzk4NmVl
ZDk3NDUzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaApAQCAtNjQsNyArNjQsNyBAQCBw
cml2YXRlOgogICAgIH07CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBWb2xhdGlsaXR5TWFya2luZ0Zs
YWdzOwogICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUmLCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdzIHZvbGF0aWxpdHlNYXJr
aW5nRmxhZ3MgPSAwKTsKLSAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVM
YXllckJhY2tpbmdTdG9yZSYsIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQg
bm93KTsKKyAgICBib29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tp
bmdTdG9yZSYsIE1vbm90b25pY1RpbWUgbm93KTsKIAogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3RvcmU7CiAgICAgSGFzaFNldDxSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJhY2tpbmdTdG9yZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb24ubW0KaW5kZXggMjY4MzZlN2JmMzg2NDdlNDgwMGE2NGIwYzc1Y2U2ZmZiMGNhMTRi
ZS4uNDYwY2Q5YmNjNTE4ZWM4ZDYxZmE0OWUxZmZjYzQ3NGVkZDgwNzAzNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb24ubW0KQEAgLTMwLDkgKzMwLDkgQEAKICNpbXBvcnQgIlJlbW90ZUxheWVy
QmFja2luZ1N0b3JlLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVDb250ZXh0LmgiCiAKLWNv
bnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xk
ID0gMXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxlU2Vjb25kYXJ5
QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMjAwbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFsID0gMjAwbXM7Citjb25zdCBhdXRvIHZv
bGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMV9zOworY29uc3QgYXV0byB2b2xhdGls
ZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDAuMl9zOworY29uc3QgYXV0byB2
b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDAuMl9zOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApA
QCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
OjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vCiAgICAgcmV0dXJuIHN1
Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZTsKIH0KIAotYm9vbCBSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVM
YXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG5vdykKK2Jvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
OjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tp
bmdTdG9yZSwgTW9ub3RvbmljVGltZSBub3cpCiB7CiAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9y
ZS5sYXN0RGlzcGxheVRpbWUoKSA8IHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKSB7
CiAgICAgICAgIGlmIChub3cgLSBiYWNraW5nU3RvcmUubGFzdERpc3BsYXlUaW1lKCkgPj0gdm9s
YXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQpCkBAIC0xNjQsNyArMTY0LDcg
QEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1l
ckZpcmVkKCkKIHsKICAgICBib29sIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGls
ZSA9IHRydWU7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgZm9yIChjb25z
dCBhdXRvJiBiYWNraW5nU3RvcmUgOiBtX2xpdmVCYWNraW5nU3RvcmUpCiAgICAgICAgIHN1Y2Nl
c3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRp
bGUoKmJhY2tpbmdTdG9yZSwgbm93KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29j
b2EubW0KaW5kZXggODM5NDVkZmVkMzFjNTkxODM1OGJlN2Y2NzE2YjFiZmU3MDE4OGI1OS4uMWI1
ZGQwMzYzOTFmMjJiOWViYzViNzIzZDkyMjNmODAyOTBlOWExOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIGlmICghbV9jb250ZXh0KSB7CiAgICAgICAgICAgICBtX2NvbnRleHQgPSBhZG9wdE5T
KFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDFfcyk7CiAgICAgICAg
IH0KICAgICAgICAgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IGQyNzcwMDU5NjFkMjlhZWQ2
NzUwOTM2OTRiMjNlNGU4MjU1ZTEwODYuLjExMzVmNzk3ODVlZDlmNzdjMGE1YWI5NTliZjEyNGQ3
MDZlOWU3MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
Y3BwCkBAIC01OTAsNyArNTkwLDcgQEAgdm9pZCBFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fZGlzcGxheVRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9k
aXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRXdrVmlldzo6c2V0Vmll
d3BvcnRQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBjb250ZW50c1Bvc2l0aW9uKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2Uu
Y3BwCmluZGV4IDA0YzdlOTU0NzI5OTU3Y2U0MjgyZWI0MGUxYzg3MTAzYzE0NDVmNWYuLmMyYmUz
NjVmNzFlOThmMzRmOWU4NWU0ZDZhZDE4OTNjZWM2OWYzZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKQEAgLTIx
OSw3ICsyMTksNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNjaGVkdWxlVXBkYXRl
QWN0aXZpdHlTdGF0ZShXZWJLaXRXZWJWaWV3QmFzZSogd2ViVgogICAgIGlmIChwcml2LT51cGRh
dGVBY3Rpdml0eVN0YXRlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
cHJpdi0+dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBwcml2
LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHN0YXRp
YyBnYm9vbGVhbiB0b3BsZXZlbFdpbmRvd0ZvY3VzSW5FdmVudChHdGtXaWRnZXQqIHdpZGdldCwg
R2RrRXZlbnRGb2N1cyosIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCmluZGV4IGZkOGJjNWFj
OWE5N2M4MzA1NWQ0OGI3NWJhODAwOTMzOTk2NTE3YjAuLjJkNmZlYjk0N2YxYzg2ODFlMzBiZjE0
YjBkYzc2NWM4MTQzMmY2M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
aGlsZFByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxk
UHJvY2Vzc1Byb3h5LmNwcApAQCAtMTkzLDcgKzE5Myw3IEBAIHZvaWQgQ2hpbGRQcm9jZXNzUHJv
eHk6OnNodXREb3duUHJvY2VzcygpCiAgICAgICAgIC8vIE9uIGlPUyBkZXBsb3kgYSB3YXRjaGRv
ZyBpbiB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhlIGNoaWxkIHByb2Nlc3MgbWF5IGJlIHN1c3Bl
bmRlZC4KICAgICAgICAgLy8gSWYgMzBzIGlzIGluc3VmZmljaWVudCBmb3IgYW55IG91dHN0YW5k
aW5nIGFjdGl2aXR5IHRvIGNvbXBsZXRlIGNsZWFubHksIHRoZW4gaXQgd2lsbCBiZSBraWxsZWQu
CiAgICAgICAgIEFTU0VSVChtX2Nvbm5lY3Rpb24pOwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnRl
cm1pbmF0ZVNvb24oMzApOworICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzBf
cyk7CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTdGF0ZTo6VGVybWluYXRlZDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3Rh
dGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1t
CmluZGV4IDQ1Mjk5MjJiNGZiZjZiZjUzMWM3YzA1YTdjMjIzYjYzNTE0MzI1NjAuLmY4MTZlN2Yw
YzMyMWFmMmE5ZDg2MjFhN2I0YzVmMWE4YTc4MDM5N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQpAQCAtODUyLDcgKzg1Miw3IEBA
IHZvaWQgTmF2aWdhdGlvblN0YXRlOjpkaWRDaGFuZ2VJc0xvYWRpbmcoKQogICAgIH0gZWxzZSB7
CiAgICAgICAgIC8vIERlbGF5IHJlbGVhc2luZyB0aGUgYmFja2dyb3VuZCBhY3Rpdml0eSBmb3Ig
MyBzZWNvbmRzIHRvIGdpdmUgdGhlIGFwcGxpY2F0aW9uIGEgY2hhbmNlIHRvIHN0YXJ0IGFub3Ro
ZXIgbmF2aWdhdGlvbgogICAgICAgICAvLyBiZWZvcmUgc3VzcGVuZGluZyB0aGUgV2ViQ29udGVu
dCBwcm9jZXNzIDxyZGFyOi8vcHJvYmxlbS8yNzkxMDk2ND4uCi0gICAgICAgIG1fcmVsZWFzZUFj
dGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNzKTsKKyAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlU
aW1lci5zdGFydE9uZVNob3QoM19zKTsKICAgICB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcApp
bmRleCA0OWYxOGUzNzhhNTI5ZDA1NjViMGQ3ZWU5ZTYxODgyMTJjZmRkMmI4Li40ZGJkNzhmNjQy
YzU4NWM0Y2FkNzcxODI2ZDA4MmI4YTBjOGFjM2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtNDAs
MTMgKzQwLDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1v
dmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uID0gM3M7
Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBzd2lwZVNuYXBzaG90UmVt
b3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgPSAyNTBtczsKK3N0YXRpYyBjb25zdCBh
dXRvIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlOb25FbXB0
eUxheW91dER1cmF0aW9uID0gM19zOworc3RhdGljIGNvbnN0IGF1dG8gc3dpcGVTbmFwc2hvdFJl
bW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMC4yNV9zOwogCiAjaWYgUExBVEZP
Uk0oTUFDKQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RS
ZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVT
bmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRp
b24gPSAzczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hk
b2dEdXJhdGlvbiA9IDNfczsKICNlbmRpZgogCiBzdGF0aWMgSGFzaE1hcDx1aW50NjRfdCwgVmll
d0dlc3R1cmVDb250cm9sbGVyKj4mIHZpZXdHZXN0dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygp
CkBAIC0yOTcsMTAgKzI5NywxMCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNo
b3RSZW1vdmFsVHJhY2tlcjo6d2F0Y2hkb2dUaW1lckZpcmVkKCkKICAgICBmaXJlUmVtb3ZhbENh
bGxiYWNrSW1tZWRpYXRlbHkoKTsKIH0KIAotdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNu
YXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMg
ZHVyYXRpb24pCit2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJh
Y2tlcjo6c3RhcnRXYXRjaGRvZyhTZWNvbmRzIGR1cmF0aW9uKQogewotICAgIGxvZyhTdHJpbmc6
OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICVsbGQgc2Vjb25kcyIsIGR1
cmF0aW9uLmNvdW50KCkpKTsKLSAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uLmNvdW50KCkpOworICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hk
b2cgdGltZXIgZm9yICUuM2Ygc2Vjb25kcyIsIGR1cmF0aW9uLnZhbHVlKCkpKTsKKyAgICBtX3dh
dGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dl
c3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dl
c3R1cmVDb250cm9sbGVyLmgKaW5kZXggNzU4ZDczNTBkYmQ4NDc1NzQ2NmNjZGJhODQzNmI2ZTQ5
ZDYyYmMyZC4uZTE0ZDczOTcxOTJhZDBjMDdmMTIyODA5ZmM4N2IxNDQ0NzZkNGRjMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRy
b2xsZXIuaApAQCAtMTU3LDcgKzE1Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlbnRP
Y2N1cnJlZChFdmVudHMpOwogICAgICAgICBib29sIGNhbmNlbE91dHN0YW5kaW5nRXZlbnQoRXZl
bnRzKTsKIAotICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMp
OworICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2coU2Vjb25kcyk7CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBzdGF0aWMgU3RyaW5nIGV2ZW50c0Rlc2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
CmluZGV4IDRlODczZWFkNjUxODVmNjU5ZDk2MTFhOGFmOTlkYjIzYTNkYzc3ODguLjM1ZWU0ZWIx
YTRhZGE3NDdhMTgzOTliYTMxOTFhOTM2MTg3NjRiNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0yNzUsNyAr
Mjc1LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1By
b2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmEKICNlbmRpZgogCiAgICAgcGFyYW1ldGVy
cy5zaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlciA9IFtkZWZhdWx0cyBib29sRm9y
S2V5OldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyRGVmYXVsdHNLZXldOwotICAg
IHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVu
Y3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOworICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxl
TGF0ZW5jeSA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JL
ZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tl
eV0pOwogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTEwMAogICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGNvb2tpZVN0b3JhZ2VEYXRh
ID0gYWRvcHRDRihDRkhUVFBDb29raWVTdG9yYWdlQ3JlYXRlSWRlbnRpZnlpbmdEYXRhKGtDRkFs
bG9jYXRvckRlZmF1bHQsIFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3Rv
cmFnZV0gX2Nvb2tpZVN0b3JhZ2VdKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5jcHAKaW5kZXggYjQ1ZjIyNzllNzJiZWVlMGFlNzMzYzZlMTBhYjE0MTky
ZTAxZjJlNS4uODVlYzM4MzdjOTE1ZWU4YWMyN2Q5Y2YxM2U4ZWMzNGM2M2RkOWI3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtODMsNyAr
ODMsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnNldFZpZXdFeHBvc2VkUmVjdChzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4gdmlldwogICAgIG1fdmlld0V4cG9zZWRSZWN0ID0g
dmlld0V4cG9zZWRSZWN0OwogCiAgICAgaWYgKCFtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnZpZXdFeHBvc2VkUmVj
dENoYW5nZWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDQ0MGRmOWEzM2VlNjk4NjdiNjQyNThkMDMyZTA1
ZTgxOWYxM2E4MTQuLjAwOTlhNWY2NzEwM2M3ZTNjMWJiNjlhY2IxZjg4NmRkMzMxMTAzYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNw
cApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc2NhcmRC
YWNraW5nU3RvcmVTb29uKCkKIAogICAgIC8vIFdlJ2xsIHdhaXQgdGhpcyBtYW55IHNlY29uZHMg
YWZ0ZXIgdGhlIGxhc3QgcGFpbnQgYmVmb3JlIHRocm93aW5nIGF3YXkgb3VyIGJhY2tpbmcgc3Rv
cmUgdG8gc2F2ZSBtZW1vcnkuCiAgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIHNtYXJ0ZXIgdG8g
bWFrZSB0aGlzIGRlbGF5IGJhc2VkIG9uIGhvdyBleHBlbnNpdmUgcGFpbnRpbmcgaXMuIFNlZSA8
aHR0cDovL3dlYmtpdC5vcmcvYi81NTczMz4uCi0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBkaXNj
YXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGRpc2Nh
cmRCYWNraW5nU3RvcmVEZWxheSA9IDJfczsKIAogICAgIG1fZGlzY2FyZEJhY2tpbmdTdG9yZVRp
bWVyLnN0YXJ0T25lU2hvdChkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkpOwogfQpAQCAtMjExLDEz
ICsyMTEsMTMgQEAgaW50IERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6d2Vi
Vmlld0RyYXdDYWxsYmFjayhEcmF3aW5nQXJlYVByb3h5SW0KIAogdm9pZCBEcmF3aW5nQXJlYVBy
b3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJh
Y2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrKQogewotICAgIG1fc3RhcnRUaW1lID0gbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lTVMoKTsKKyAgICBtX3N0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6
Om5vdygpOwogICAgIG1fY2FsbGJhY2sgPSBjYWxsYmFjazsKICNpZiBQTEFURk9STShHVEspCiAg
ICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1fd2ViUGFnZS52aWV3V2lkZ2V0KCksICJkcmF3
IiwgcmVpbnRlcnByZXRfY2FzdDxHQ2FsbGJhY2s+KHdlYlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlz
KTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChTZWNvbmRzKDEpKTsKICNlbHNlCi0gICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgogfQogCkBAIC0yMjcsNyArMjI3LDcg
QEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0b3AoKQogI2lm
IFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMo
bV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgcmVpbnRlcnByZXRfY2FzdDxncG9pbnRlcj4od2ViVmll
d0RyYXdDYWxsYmFjayksIHRoaXMpOwogI2VuZGlmCi0gICAgbV9zdGFydFRpbWUgPSAwOworICAg
IG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgIGlmIChtX2NhbGxiYWNrKSB7CiAg
ICAgICAgIG1fY2FsbGJhY2soQ2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSk7CiAgICAgICAgIG1f
Y2FsbGJhY2sgPSBudWxscHRyOwpAQCAtMjM5LDEwICsyMzksMTAgQEAgdm9pZCBEcmF3aW5nQXJl
YVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRpZERyYXcoKQogICAgIC8vIFdlIHdhaXQgdXAg
dG8gMSBzZWNvbmQgZm9yIGRyYXcgZXZlbnRzLiBJZiB0aGVyZSBhcmUgc2V2ZXJhbCBkcmF3IGV2
ZW50cyBxdWV1ZWQgcXVpY2tseSwKICAgICAvLyB3ZSB3YW50IHRvIHdhaXQgdW50aWwgYWxsIG9m
IHRoZW0gaGF2ZSBiZWVuIHByb2Nlc3NlZCwgc28gYWZ0ZXIgcmVjZWl2aW5nIGEgZHJhdywgd2Ug
d2FpdAogICAgIC8vIHVwIHRvIDEwMG1zIGZvciB0aGUgbmV4dCBvbmUgb3Igc3RvcC4KLSAgICBp
ZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKSAtIG1fc3RhcnRUaW1lID4gMTAwMCkK
KyAgICBpZiAoTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0VGltZSA+IDFfcykKICAgICAg
ICAgc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMC4xMDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiB9CiAKIHZvaWQgRHJhd2lu
Z0FyZWFQcm94eUltcGw6OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoc3RkOjpmdW5jdGlv
bjx2b2lkKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBjYWxsYmFja0Z1bmN0aW9uKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAppbmRleCA4OWM3MTNm
Yzg3YTczNTQ5MzAzOGFkMTBkOTBkYzFjZjYwNjFkNDU3Li41YWE2NmM2ZDA0OGJkMGY3ZDI2Zjhj
N2M2NGVkMGQxYTI4MmY3ZjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eUltcGwuaApAQCAtNzcsNyArNzcsNyBAQCBwcml2YXRlOgogICAgICAgICB2
b2lkIGRpZERyYXcoKTsKIAogICAgICAgICBXZWJQYWdlUHJveHkmIG1fd2ViUGFnZTsKLSAgICAg
ICAgZG91YmxlIG1fc3RhcnRUaW1lIHsgMCB9OworICAgICAgICBNb25vdG9uaWNUaW1lIG1fc3Rh
cnRUaW1lOwogICAgICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3Ip
PiBtX2NhbGxiYWNrOwogICAgICAgICBSdW5Mb29wOjpUaW1lcjxEcmF3aW5nTW9uaXRvcj4gbV90
aW1lcjsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVw
YWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVw
YWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4IDY3N2NkNjczOTFhZjU2OWY0MmFmZmJkZjQ0
MGFhZTIxNTUxNWY0M2UuLmNlYTk4MmY2ZTIyYzYwNDk4ZWFiODI5Njk0M2Y1MDUzMmI4YjQzNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFBy
b3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVw
YWRQcm92aWRlci5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heGltdW1HYW1l
cGFkVXBkYXRlSW50ZXJ2YWwgPSAxIC8gMTIwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhp
bXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gU2Vjb25kcygxIC8gMTIwLjApOwogCiBVSUdhbWVw
YWRQcm92aWRlciYgVUlHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNw
cAppbmRleCA1NGRmYjNiMDU4ZDRmZTkwMzc0NjE1NzkyZWZhNTZiMDhmZGQwYjY4Li40NjBiZWJm
NWRiMDk5Mzc1NWE2NjJjMzNiMjlkMDc0ODE0YzcwYWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ2
LDExICs0NiwxMSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bUxpZmV0aW1lID0gMiAqIDYwOwotc3Rh
dGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgPSAzMDsKK3N0YXRp
YyBjb25zdCBhdXRvIG1pbmltdW1MaWZldGltZSA9IDJfbWluOworc3RhdGljIGNvbnN0IGF1dG8g
c25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0gMzBfczsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBzaHV0ZG93blRpbWVvdXQgPSAxICogNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNuYXBzaG90
dGluZ1NodXRkb3duVGltZW91dCA9IDE1Oworc3RhdGljIGNvbnN0IGF1dG8gc2h1dGRvd25UaW1l
b3V0ID0gMV9taW47CitzdGF0aWMgY29uc3QgYXV0byBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVv
dXQgPSAxNV9zOwogCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVDYWxsYmFja0lEKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZv
Q2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbklu
Zm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVhZjY2NzdhOTI5OWRlODU0OTQ1ZjkxNDU4MDMzNDll
My4uZDVmYjFiMjMxYjQzNzBmMDZlZGMzMTM0ZjM0NWM1YzNjY2VjZDA5OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNo
ZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lkIFBsdWdpbkluZm9DYWNoZTo6dXBkYXRlUGx1
Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIGNvbnN0IFBsdWdpbk1vZAogICAgICAg
ICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Nh
dmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCmluZGV4IDIyNzViYjNiMjI2Yjdk
YmQ0OGQzM2NmMGYzNmQyMzQ5ZDg1MGJlYzYuLmNkODI1ZTFlZTBhMDljNTdmM2UyZDYzMTJiNzll
N2Q0ZjE3MGUzY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNz
VGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90
dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgCi1z
dGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0gMzA7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgPSAzMF9zOwogICAgIAog
UHJvY2Vzc1Rocm90dGxlcjo6UHJvY2Vzc1Rocm90dGxlcihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50
JiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKaW5kZXggZmViNDY5ZjA4NDJiNWFl
NjliMzZmMGZjZmQ2ODYxYzQwNjdlZWYyYi4uNjAzYmM5ZjEzZmU5NjliZjM0ZGIzNDYwYWJiNDc4
YmI4OTliZGMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNp
dmVuZXNzVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZl
bmVzc1RpbWVyLmNwcApAQCAtMjgsNyArMjgsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSByZXNwb25zaXZlbmVzc1RpbWVvdXQgPSAzOworc3RhdGljIGNv
bnN0IGF1dG8gcmVzcG9uc2l2ZW5lc3NUaW1lb3V0ID0gM19zOwogCiBSZXNwb25zaXZlbmVzc1Rp
bWVyOjpSZXNwb25zaXZlbmVzc1RpbWVyKFJlc3BvbnNpdmVuZXNzVGltZXI6OkNsaWVudCYgY2xp
ZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCmluZGV4IGEzZmI3NzBmNWNkYmNkY2I1ZmE3N2FiNGQyZjBi
NTQ3NDQ4OTBmNmYuLjNlZDU1NzUzMTZiZmRkMDM2NTAzN2FkNmE4YmQ3ZDRhYTg0N2I0ZjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKQEAgLTk4
LDcgKzk4LDcgQEAgdm9pZCBWaXNpdGVkTGlua1N0b3JlOjphZGRWaXNpdGVkTGlua0hhc2goTGlu
a0hhc2ggbGlua0hhc2gpCiAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzLmFkZChsaW5rSGFzaCk7
CiAKICAgICBpZiAoIW1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAg
bV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
VmlzaXRlZExpbmtTdG9yZTo6cmVtb3ZlQWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDk3MzYxOGQyYzVmM2FiMDJkODU2ZjdhY2ZlZGIzMDAw
YjdkMmVmYTAuLmYyODdmNWFhNmU3ZTU0YmRjYzQ2NjdjMDZkMzZjOTE0NThlODA2OTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTczLDcgKzE3
Myw3IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAgICAsIG1fYWx3YXlzUnVuc0F0QmFja2dyb3Vu
ZFByaW9yaXR5KG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5
KCkpCiAgICAgLCBtX3VzZXJPYnNlcnZhYmxlUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJF
dmVudCkgeyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQogICAgICwgbV9wcm9j
ZXNzU3VwcHJlc3Npb25EaXNhYmxlZEZvclBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZl
bnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKLSAgICAsIG1faGlkZGVu
UGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50
KSB7IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7IH0pCisgICAg
LCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNv
dW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7IH0pCiAgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nVGltZXIoUnVuTG9vcDo6bWFpbigp
LCB0aGlzLCAmV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0lu
Y3JlYXNlTGltaXQpCiB7CiAgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBtX2NvbmZpZ3VyYXRpb24t
PmFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcygpKQpAQCAtNTk1LDcgKzU5NSw3IEBAIFdlYlBy
b2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MoKQogCiAgICAg
cGFyYW1ldGVycy5pY29uRGF0YWJhc2VFbmFibGVkID0gIWljb25EYXRhYmFzZVBhdGgoKS5pc0Vt
cHR5KCk7CiAKLSAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDA7CisgICAgcGFy
YW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQgPSAwX3M7CiAKICAgICBwYXJhbWV0ZXJzLnRleHRD
aGVja2VyU3RhdGUgPSBUZXh0Q2hlY2tlcjo6c3RhdGUoKTsKIApAQCAtMTQxNiwxMCArMTQxNiwx
MCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9J
bmNyZWFzZUxpbWl0KCkKICAgICAvLyBXZSdyZSBlc3RpbWF0aW5nIGFuIHVwcGVyIGJvdW5kIGZv
ciBhIHNldCBvZiBiYWNrZ3JvdW5kIHRpbWVyIGZpcmVzIGZvciBhIHBhZ2UgdG8gYmUgMjAwbXMK
ICAgICAvLyAoaW5jbHVkaW5nIGFsbCB0aW1lciBmaXJlcywgYWxsIHBhZ2luZy1pbiwgYW5kIGFu
eSByZXN1bHRpbmcgR0MpLiBUbyBlbnN1cmUgdGhpcyBkb2VzIG5vdAogICAgIC8vIHJlc3VsdCBp
biBtb3JlIHRoYW4gMSUgQ1BVIGxvYWQgYWxsb3cgZm9yIG9uZSB0aW1lciBmaXJlIHBlciAxMDB4
IHRoaXMgZHVyYXRpb24uCi0gICAgc3RhdGljIGludCBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBh
Z2VJbk1TID0gMjAwICogMTAwOworICAgIHN0YXRpYyBjb25zdCBhdXRvIG1heGltdW1UaW1lclRo
cm90dGxlUGVyUGFnZSA9IDIwMF9tcyAqIDEwMDsKIAotICAgIGludCBsaW1pdEluTWlsbGlzZWNv
bmRzID0gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlSW5NUyAqIG1faGlkZGVuUGFnZVRocm90
dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgpOwotICAgIHNlbmRUb0FsbFByb2Nlc3Nl
cyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQobGltaXRJbk1pbGxpc2Vjb25kcykpOworICAgIGF1dG8gbGltaXQgPSBtYXhpbXVt
VGltZXJUaHJvdHRsZVBlclBhZ2UgKiBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNl
c0NvdW50ZXIudmFsdWUoKTsKKyAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlBy
b2Nlc3M6OlNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcAppbmRleCA4NTc0NWFjMzBhYzdi
ODNlMTQ4MjRiZmZlZWJhNjkwOTEzZTliNDRhLi4zYjIyMzc3YzgzOTFkM2I4MzZjOGFkNzAwYzM4
NGQwMDNlZmU2ZDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1Rl
eHRDaGVja2VyQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgVGV4dENo
ZWNrZXJDbGllbnRFZmw6OmVuc3VyZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZSgpCiB2b2lkIFRleHRD
aGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBkZWZhdWx0TGFuZ3VhZ2VzKQogewogICAgIG1fc3BlbGxDaGVja2luZ0xhbmd1
YWdlcyA9IGRlZmF1bHRMYW5ndWFnZXM7Ci0gICAgbV9sYW5ndWFnZXNVcGRhdGVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9sYW5ndWFnZXNVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6bGFuZ3VhZ2VzVXBkYXRlVGltZXJG
aXJlZCgpCkBAIC0xMjgsNyArMTI4LDcgQEAgVmVjdG9yPFN0cmluZz4gVGV4dENoZWNrZXJDbGll
bnRFZmw6OmxvYWRlZFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKSBjb25zdAogCiB2b2lkIFRleHRD
aGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxsQ2hlY2tpbmdDaGFuZ2VDYWxsYmFj
a0FzeW5jKCkKIHsKLSAgICBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogYm9vbCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6aXNDb250aW51b3Vz
U3BlbGxDaGVja2luZ0VuYWJsZWRDYWxsYmFjayhjb25zdCB2b2lkKikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggN2UxNTc3
Y2JhOGIxNTcwNTI2NGU1YmE1NDc1ZmZjNTk2MmRhYjg4OS4uOTNkZGQ3NjhkYmE0Y2JlMDMwZDQz
MWU0YjRkODU3YTY4OGQwZjkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIEdlc3R1
cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVnaW4oRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJl
LCBkb3VibGUgeCwgZAogICAgIEd0a1dpZGdldCogd2lkZ2V0ID0gZ3RrX2V2ZW50X2NvbnRyb2xs
ZXJfZ2V0X3dpZGdldChHVEtfRVZFTlRfQ09OVFJPTExFUihnZXN0dXJlKSk7CiAgICAgdW5zaWdu
ZWQgZGVsYXk7CiAgICAgZ19vYmplY3RfZ2V0KGd0a193aWRnZXRfZ2V0X3NldHRpbmdzKHdpZGdl
dCksICJndGstbG9uZy1wcmVzcy10aW1lIiwgJmRlbGF5LCBudWxscHRyKTsKLSAgICBkcmFnR2Vz
dHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdChkZWxheSAvIDEwMDAuMCk7Cisg
ICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoU2Vjb25kczo6
ZnJvbU1pbGxpc2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpE
cmFnR2VzdHVyZTo6dXBkYXRlKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgsIGRv
dWJsZSB5LCBHdGtHZXN0dXJlKiBnZXN0dXJlKQpAQCAtMjA2LDcgKzIwNiw3IEBAIHZvaWQgR2Vz
dHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpzY2FsZUNoYW5nZWQoWm9vbUdlc3R1cmUqIHpv
b21HZXN0dXJlLCBkb3ViCiAgICAgaWYgKHpvb21HZXN0dXJlLT5tX2lkbGUuaXNBY3RpdmUoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgem9vbUdlc3R1cmUtPm1faWRsZS5zdGFydE9uZVNob3Qo
MCk7CisgICAgem9vbUdlc3R1cmUtPm1faWRsZS5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogR2Vz
dHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpab29tR2VzdHVyZShXZWJQYWdlUHJveHkmIHBh
Z2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVu
dVByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51
UHJveHlHdGsuY3BwCmluZGV4IGRjMTk4ZDg1OGYxM2EzYzEyMzZlNTExZDM4ZGI2ODUyNjEzNzg0
YTQuLjUzMTdmZWQ5ZDg5MjkzYWJkNDIxMmMyMDg1ZDY0YzJiOTQzN2ExNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3Bw
CkBAIC0yNjEsNyArMjYxLDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6bWVudVVubWFw
cGVkQ2FsbGJhY2soR3RrV2lkZ2V0KiwgV2ViUG9wdXBNZW51UHJveHlHdGsKICAgICAvLyBXaGVu
IGFuIGl0ZW0gaXMgYWN0aXZhdGVkLCB0aGUgbWVudSBpcyBmaXJzdCBoaWRkZW4gYW5kIHRoZW4g
YWN0aXZhdGUgc2lnbmFsIGlzIGVtaXR0ZWQsIHNvIGF0IHRoaXMgcG9pbnQgd2UgZG9uJ3Qga25v
dwogICAgIC8vIGlmIHRoZSBtZW51IGhhcyBiZWVuIGhpZGRlbiBiZWNhdXNlIGFuIGl0ZW0gaGFz
IGJlZW4gc2VsZWN0ZWQgb3IgYmVjYXVzZSB0aGUgbWVudSBoYXMgYmVlbiBkaXNtaXNzZWQuIFdh
aXQgdW50aWwgdGhlIG5leHQKICAgICAvLyBtYWluIGxvb3AgaXRlcmF0aW9uIHRvIGRpc21pc3Mg
dGhlIG1lbnUsIGlmIGFuIGl0ZW0gaXMgYWN0aXZhdGVkIHRoZSB0aW1lciB3aWxsIGJlIGNhbmNl
bGxlZC4KLSAgICBwb3B1cE1lbnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgcG9wdXBNZW51LT5tX2Rpc21pc3NNZW51VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6OnNlbGVjdEl0ZW1DYWxsYmFjayhHdGtXaWRn
ZXQqIGl0ZW0sIFdlYlBvcHVwTWVudVByb3h5R3RrKiBwb3B1cE1lbnUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQppbmRleCA4
MThiZDM5MGQ0ODNkMDgyMmJhZTc5MzRlMTA2ZmRiYjBjZGZmODU0Li5kZmFkMzJlY2VmOGM0MDhh
MTBiMjU5MWY4YjAzNzc4NjIxNTMzNDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTUyLDcgKzUyLDcgQEAgc3Rh
dGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93U3R5bGVNYXNrID0gTlNXaW5kb3dTdHlsZU1hc2tU
aXRsZWQgfCBOU1dpbmRvd1N0eWwKIAogLy8gVGhlIHRpbWUgd2Uga2VlcCBvdXIgV2ViVmlldyBh
bGl2ZSBiZWZvcmUgY2xvc2luZyBpdCBhbmQgaXRzIHByb2Nlc3MuCiAvLyBSZXVzaW5nIHRoZSBX
ZWJWaWV3IGltcHJvdmVzIHN0YXJ0IHVwIHRpbWUgZm9yIHBlb3BsZSB0aGF0IGp1bXAgaW4gYW5k
IG91dCBvZiB0aGUgSW5zcGVjdG9yLgotc3RhdGljIGNvbnN0IHVuc2lnbmVkIHdlYlZpZXdDbG9z
ZVRpbWVvdXQgPSA2MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHdlYlZpZXdDbG9zZVRpbWVvdXQg
PSA2MF9zOwogCiAvLyBXS1dlYkluc3BlY3RvclByb3h5T2JqQ0FkYXB0ZXIgaXMgYSBoZWxwZXIg
T2JqQyBvYmplY3QgdXNlZCBhcyBhIGRlbGVnYXRlIG9yIG5vdGlmaWNhdGlvbiBvYnNlcnZlcgog
Ly8gZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2YgZ2V0dGluZyBiYWNrIGludG8gdGhlIEMrKyBjb2Rl
IGZyb20gYW4gT2JqQyBjYWxsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAppbmRleCBlODkxY2QwMzJiMmY0MzY2
NGI2N2UwNmRiZWNjYzhlZTAzNThkZDhmLi5jNWZjZGU5NzdhOTgxYTM2MGQ1MDI2NjRlOGI1NjAw
OWJmYzUyYTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTkxLDE0ICs5MSwxNCBAQCBSZWZQdHI8TmV0
c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI+IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZVBsdWdp
blN0cmVhbUxvYWQoRgogICAgIHJldHVybiBsb2FkZXI7CiB9CiAKLXN0YXRpYyBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNv
dXJjZSkKK3N0YXRpYyBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSkKIHsKICNpZiAhRU5BQkxFKE5FVFdPUktfQ0FDSEUpCi0gICAgcmV0dXJuIDBt
czsKKyAgICByZXR1cm4gMF9zOwogI2VuZGlmCiAKICAgICBpZiAoIXJlc291cmNlKQotICAgICAg
ICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gMF9zOwogCiAgICAgc3dpdGNoIChyZXNvdXJj
ZS0+dHlwZSgpKSB7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDoKQEAg
LTEwNyw5ICsxMDcsOSBAQCBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVt
QnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6U1ZHRm9udFJlc291cmNlOgogI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6Rm9udFJlc291cmNlOgotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
czo6bWF4KCk7CisgICAgICAgIHJldHVybiBTZWNvbmRzOjppbmZpbml0eSgpOwogICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiA1MDBtczsKKyAg
ICAgICAgcmV0dXJuIDUwMF9tczsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNZWRpYVJlc291
cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZToKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZToKQEAgLTEyNCwxMSArMTI0LDExIEBAIHN0YXRpYyBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpYU0xTdHlsZVNoZWV0OgogI2VuZGlmCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJl
dHVybiAwX3M7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IDBtczsKKyAgICByZXR1cm4gMF9zOwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hl
ZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdXJjZSog
cmVzb3VyY2UsIGJvb2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkK
QEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQo
UmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdQogdm9pZCBXZWJMb2Fk
ZXJTdHJhdGVneTo6c2NoZWR1bGVJbnRlcm5hbGx5RmFpbGVkTG9hZChXZWJDb3JlOjpSZXNvdXJj
ZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIpCiB7CiAgICAgbV9pbnRlcm5hbGx5RmFpbGVkUmVzb3Vy
Y2VMb2FkZXJzLmFkZCgmcmVzb3VyY2VMb2FkZXIpOwotICAgIG1faW50ZXJuYWxseUZhaWxlZExv
YWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjppbnRlcm5h
bGx5RmFpbGVkTG9hZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNw
cAppbmRleCA0OTkyMGYyY2FhODRmNzY5YjYyZDI0NjJhOWM5ODA3ZjUyMGNmM2VkLi4xYzFlZTYy
MWQyNGI3MGFmM2FhZGExMzMxMDYyNDI3YTMwMmM2MGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1l
T2JqZWN0TWFwLmNwcApAQCAtMjkzLDcgKzI5Myw3IEBAIHZvaWQgTlBSdW50aW1lT2JqZWN0TWFw
OjphZGRUb0ludmFsaWRhdGlvblF1ZXVlKE5QT2JqZWN0KiBucE9iamVjdCkKICAgICBpZiAodHJ5
U2FmZVJlbGVhc2VOUE9iamVjdChucE9iamVjdCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAo
bV9ucE9iamVjdHNUb0ZpbmFsaXplLmlzRW1wdHkoKSkKLSAgICAgICAgbV9maW5hbGl6YXRpb25U
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZmluYWxpemF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAgICAgQVNTRVJUKG1fZmluYWxpemF0aW9uVGltZXIuaXNBY3RpdmUoKSk7
CiAgICAgbV9ucE9iamVjdHNUb0ZpbmFsaXplLmFwcGVuZChucE9iamVjdCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW4uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05l
dHNjYXBlUGx1Z2luLmNwcAppbmRleCA1YzlhOTE4MjQ1NjZhNDYzMDEwYzBlNzM5NjgwMzQ1N2Uz
MzM0NzdkLi4xY2RmZWNmM2E5MDk3ZDVmOGQzYWRjNzNiNzFiMDk0OTBjODJhODcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTMyNiw3ICszMjYsNyBAQCBOZXRzY2FwZVBsdWdpbjo6
VGltZXI6On5UaW1lcigpCiAKIHZvaWQgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjpzdGFydCgpCiB7
Ci0gICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1faW50ZXJ2YWwgLyAxMDAwLjA7CisgICAgYXV0
byB0aW1lSW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1faW50ZXJ2YWwpOwog
CiAgICAgaWYgKG1fcmVwZWF0KQogICAgICAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHRpbWVJ
bnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcAppbmRleCA3ZDU0
ZDg4YzdlODk4YzVjZTBiYWRmMWQ3NjliMmU1ZDM1ZDlhMjU0Li4yMzQ5OTEzMGNjNTk2NWJjYTYx
YjdiODI4MmU5NWQzYTdmZjdiN2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVh
bS5jcHAKQEAgLTIyMiw3ICsyMjIsNyBAQCB2b2lkIE5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxp
dmVyRGF0YVRvUGx1Z2luKCkKIAogICAgICAgICBpZiAobnVtQnl0ZXNQbHVnaW5DYW5IYW5kbGUg
PD0gMCkgewogICAgICAgICAgICAgLy8gVGhlIHBsdWctaW4gY2FuJ3QgaGFuZGxlIG1vcmUgZGF0
YSwgd2UnbGwgc2VuZCB0aGUgcmVzdCBsYXRlcgotICAgICAgICAgICAgbV9kZWxpdmVyeURhdGFU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRz
Y2FwZVBsdWdpbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KaW5kZXggYjkyNmRiMDkwMmY1YjhmNzUwNDdm
ZWFkYzJjNTQzYzZhY2MyZTVlMC4uNTA0NDJhN2U2ODcyZTA5MTEzZmMzZDRjNjI2NWQ5MjE2ZWNj
MzM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCkBAIC00NSw3ICs0
NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNp
Zm5kZWYgTlBfTk9fQ0FSQk9OCi1zdGF0aWMgY29uc3QgZG91YmxlIG51bGxFdmVudEludGVydmFs
QWN0aXZlID0gMC4wMjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG51bGxFdmVudEludGVydmFsQWN0
aXZlID0gMC4wMl9zOwogCiBzdGF0aWMgdW5zaWduZWQgYnV0dG9uU3RhdGVGcm9tTGFzdE1vdXNl
RXZlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5W
aWV3LmNwcAppbmRleCBhYzFkYWFiYWQwNjNhNDk2MjZiMzdlMDQwMmU5ZWJmNTQ5MmQzYjFiLi4z
OTFjMGU4NTgzMDlkMTBhOTJmZjM3ZDhhN2RkN2Q5NTNlMzJhYjgwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC03OCw3ICs3OCw3
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIFRo
aXMgc2ltdWxhdGVkIG1vdXNlIGNsaWNrIGRlbGF5IGluIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQu
Y3BwIHNob3VsZCBnZW5lcmFsbHkgYmUgdGhlIHNhbWUgb3Igc2hvcnRlciB0aGFuIHRoaXMgZGVs
YXkuCi1zdGF0aWMgY29uc3QgYXV0byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIHsgMTEwMCB9Oworc3RhdGljIGNvbnN0IGF1dG8gcGx1Z2luU25h
cHNob3RUaW1lckRlbGF5ID0gMS4xX3M7CiAKIGNsYXNzIFBsdWdpblZpZXc6OlVSTFJlcXVlc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxVUkxSZXF1ZXN0PiB7CiBwdWJsaWM6CkBAIC0xMTY0LDcgKzEx
NjQsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnBlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQoKQog
CiAgICAgLy8gSWYgdGhlcmUgYXJlIG1vcmUgcmVxdWVzdHMgdG8gcGVyZm9ybSwgcmVzY2hlZHVs
ZSB0aGUgdGltZXIuCiAgICAgaWYgKCFtX3BlbmRpbmdVUkxSZXF1ZXN0cy5pc0VtcHR5KCkpCi0g
ICAgICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIAogICAg
IHBlcmZvcm1VUkxSZXF1ZXN0KHVybFJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtMTQyMyw3ICsxNDIz
LDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpsb2FkVVJMKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3Qg
U3RyaW5nJiBtZXRob2QsIGNvbnN0IFN0cmluZyYKICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5y
ZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQUmVmZXJyZXIocmVmZXJyZXIpOwogCiAgICAgbV9wZW5k
aW5nVVJMUmVxdWVzdHMuYXBwZW5kKFVSTFJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIGZyYW1l
TG9hZFJlcXVlc3QsIGFsbG93UG9wdXBzKSk7Ci0gICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5WaWV3OjpjYW5jZWxTdHJlYW1Mb2FkKHVpbnQ2
NF90IHN0cmVhbUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCmluZGV4IGI4NzhmYmM5ODQyZTNl
YmFkNjdmNmZmOThkNzk5MGM5Y2E2MzA1ZTUuLjc0ZTJjMjMzNzRjYTlmM2M0NWVhMzA4OTcyNjNm
M2Y1YTFiMTFmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTM0Miw3ICszNDIsNyBA
QCB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5n
TW9kZVNvb24oKQogICAgIGlmIChleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVQZW5kaW5n
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fZXhpdENvbXBvc2l0aW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApp
bmRleCBmM2RhZWZjNzg3NmQ5ODNiZTE1YzliYmMyZGFhYzE4MjVlOGFiYzI3Li44ZWU3ZGRmMTk4
MmQ5MTdmYWY3MTU1ZDE5ODM4NGQ0MzFkODc5NGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3Jk
aW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMTU1LDExICsxNTUs
MTEgQEAgdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzeW5jRGlzcGxheVN0YXRlKCkKIH0K
IAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLWRvdWJsZSBDb21wb3NpdGlu
Z0Nvb3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdAorU2Vjb25kcyBD
b21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdAog
ewogICAgIC8vIEFjY29yZGluZyB0byB0aGUgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHNwZWMsIHJB
RiBjYWxsYmFja3Mgc2hvdWxkIG5vdCBiZSBmYXN0ZXIgdGhhbiA2MEZQUy4KLSAgICBzdGF0aWMg
Y29uc3QgZG91YmxlIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyA9IDEuIC8gNjAuOwotICAg
IHJldHVybiBzdGQ6Om1heDxkb3VibGU+KDAuLCBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMg
LSB0aW1lc3RhbXAoKSArIG1fbGFzdEFuaW1hdGlvblNlcnZpY2VUaW1lKTsKKyAgICBzdGF0aWMg
Y29uc3QgU2Vjb25kcyBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgPSBTZWNvbmRzKDEuMCAv
IDYwKTsKKyAgICByZXR1cm4gc3RkOjptYXg8U2Vjb25kcz4oMF9zLCBNaW5pbWFsVGltZW91dEZv
ckFuaW1hdGlvbnMgLSBTZWNvbmRzKHRpbWVzdGFtcCgpICsgbV9sYXN0QW5pbWF0aW9uU2Vydmlj
ZVRpbWUpKTsKIH0KICNlbmRpZgogCkBAIC0zOTgsNyArMzk4LDcgQEAgYm9vbCBDb21wb3NpdGlu
Z0Nvb3JkaW5hdG9yOjpwYWludFRvU3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplLCBDb29yZGlu
YXRlZFN1cmYKICAgICByZXR1cm4gbV91cGRhdGVBdGxhc2VzLmxhc3QoKS0+cGFpbnRPbkF2YWls
YWJsZUJ1ZmZlcihzaXplLCBhdGxhc0lELCBvZmZzZXQsIGNsaWVudCk7CiB9CiAKLWNvbnN0IGRv
dWJsZSBSZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNl
Y29uZHMgUmVsZWFzZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAogdm9p
ZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVJlbGVhc2VJbmFjdGl2ZUF0bGFzZXMo
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGlu
YXRvci5oCmluZGV4IGY5OGEzNmJjMjdhN2YyYmNlMTc3ZDEyN2NmOTdmNjlkYmUxYzc1MWEuLmVi
ZjY1YmI3ZjljZGI3ZWNlMjdiY2YwMTAzMzc1ZDRjZmQ4ZTIzODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0
aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTg3LDcgKzg3
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3luY0Rpc3BsYXlTdGF0ZSgpOwogCiAjaWYgRU5BQkxF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotICAgIGRvdWJsZSBuZXh0QW5pbWF0aW9uU2Vydmlj
ZVRpbWUoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNv
bnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCA5ZjZhODMyMWUzZjI1MWFh
NWUzNmU1MzcxOGQ4Y2FhOTc3ODA5NTZhLi5jNDdiYjA3Y2Q1ZDVmMjYwN2U4Mzc1ZWEwZDViZTQ3
MmM2NDRhNTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIGlmICghbV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sYXllckZs
dXNoVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNhbmNl
bFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggNTRiNGVhZDk4M2Y3NTZiZDE0OGUx
YWY0Y2JlZDY0NzM5ODA3OTQyZC4uMGQxYjUxMDEwNjg1MTg1ZjgwMzE5ZTkwOGJlY2Y3NDhjYTU1
OGIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KCkKICAgICBpZiAobV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERyYXdpbmdB
cmVhSW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU4YmM4ODlkY2EwM2ViZGExMmFhNjQwZDkzOTVh
MjllNmVhNWNlMmQuLjViYThjYTk0ZWNkMjFkYjgzZDlmMThlMTM1ZDAzZWE4MTUwN2Y2ODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI1
Myw5ICsyNTMsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcGFnZVNjcm9sbEh5c3RlcmVzaXNTZWNvbmRzID0g
MC4zOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW5pdGlhbExheWVy
Vm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyMCB9Owotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25v
OjpzZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMiB9Oworc3Rh
dGljIGNvbnN0IFNlY29uZHMgcGFnZVNjcm9sbEh5c3RlcmVzaXMgPSAwLjNfczsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsID0gMjBfbXM7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZh
bCA9IDJfczsKIAogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKC4uLikgUkVMRUFTRV9M
T0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVycywgX19WQV9BUkdTX18pCiAj
ZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xPR19FUlJP
Ul9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJzLCBfX1ZBX0FSR1NfXykKQEAg
LTMxNSw3ICszMTUsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3Qg
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKnRoaXMp
CiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNp
c1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBh
Z2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzU2Vjb25kcykKKyAg
ICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRl
KSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Ny
b2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzKQogICAgICwgbV9jYW5SdW5CZWZvcmVV
bmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMuY2FuUnVuTW9kYWwpCiAjaWYgUExB
VEZPUk0oSU9TKQpAQCAtMjA2Miw3ICsyMDYyLDcgQEAgdm9pZCBXZWJQYWdlOjpjYWxsVm9sYXRp
bGl0eUNvbXBsZXRpb25IYW5kbGVycygpCiAKIHZvaWQgV2ViUGFnZTo6bGF5ZXJWb2xhdGlsaXR5
VGltZXJGaXJlZCgpCiB7Ci0gICAgYXV0byBuZXdJbnRlcnZhbCA9IDIgKiBtX2xheWVyVm9sYXRp
bGl0eVRpbWVyLnJlcGVhdEludGVydmFsTVMoKTsKKyAgICBhdXRvIG5ld0ludGVydmFsID0gbV9s
YXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbCgpICogMjsKICAgICBib29sIGRpZFN1
Y2NlZWQgPSBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKTsKICAgICBp
ZiAoZGlkU3VjY2VlZCB8fCBuZXdJbnRlcnZhbCA+IG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1l
ckludGVydmFsKSB7CiAgICAgICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RvcCgpOwpAQCAt
MjA3MSw3ICsyMDcxLDcgQEAgdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVk
KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FM
TE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRp
bGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIHN0YXRpY19jYXN0PGxvbmcgbG9uZz4o
bmV3SW50ZXJ2YWwuY291bnQoKSkpOworICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQo
IiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdp
bGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgbmV3SW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9s
YXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhuZXdJbnRlcnZhbCk7CiB9CiAKQEAg
LTIxMDIsNyArMjEwMiw3IEBAIHZvaWQgV2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKHN0ZDo6
ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBtYXJrIGFs
bCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIGluaXRp
YWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsLmNvdW50KCkpOworICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwg
d2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJ
bnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0YXJ0UmVwZWF0
aW5nKGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKTsKIH0KIApAQCAtMjU0MSw3
ICsyNTQxLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVJc0luV2luZG93KGJvb2wgaXNJbml0aWFs
U3RhdGUpCiAgICAgICAgIC8vIGluIG9yZGVyIHRvIGdldCBwbHVnLWluIGNvbm5lY3Rpb25zLCBh
bmQgdGhlIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIGZvciB0aGUgV2ViIHByb2Nlc3MgdG8g
dXBkYXRlIHRoZSBiYWNraW5nCiAgICAgICAgIC8vIHN0b3JlIGFmdGVyIG1vdmluZyB0aGUgdmll
dyBpbnRvIGEgd2luZG93LCB1bnRpbCBpdCB0aW1lcyBvdXQgYW5kIHBhaW50cyB3aGl0ZS4gU2Vl
IDxyZGFyOi8vcHJvYmxlbS85MjQyNzcxPi4KICAgICAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdo
ZW5JbldpbmRvdykKLSAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhZ2VEaWRFbnRlcldp
bmRvdyhtX3BhZ2VJRCk7CiAgICAgfQpAQCAtMzg3Myw3ICszODczLDcgQEAgdm9pZCBXZWJQYWdl
OjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCiAgICAgbV9oYXNTZWVuUGx1
Z2luID0gdHJ1ZTsKICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQU0hPVFRFRF9QTFVHSU5fSEVVUklT
VElDKQogICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dl
cmluZyBkZXRlY3Rpb24gZnJvbSBhZGRQbHVnaW5WaWV3KCVwKSIsIHBsdWdpblZpZXcpOwotICAg
IG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtNDQxMCw3ICs0NDEwLDcgQEAgdm9pZCBXZWJQYWdl
OjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wgbWF5U3RhcnRNZWRpYSkKIAogICAg
IG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9IG1heVN0YXJ0TWVkaWE7CiAgICAgaWYgKG1f
bWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyAmJiBtX3BhZ2UtPmlzSW5XaW5kb3coKSkKLSAgICAg
ICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Nl
dENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJQYWdl
OjpydW5Nb2RhbCgpCkBAIC01MTg4LDcgKzUxODgsNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZEZpbmlz
aExvYWQoV2ViRnJhbWUqIGZyYW1lKQogCiAgICAgbV9yZWFkeVRvRmluZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdpbiA9IHRydWU7CiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0
ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGRpZEZpbmlzaExvYWQgKG1hcmtpbmcg
YXMgcmVhZHkgdG8gZGV0ZWN0KS4iKTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRl
ZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFw
c2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2Vsc2UKICAgICBVTlVTRURf
UEFSQU0oZnJhbWUpOwogI2VuZGlmCkBAIC01MjAwLDcgKzUyMDAsNyBAQCBzdGF0aWMgY29uc3Qg
ZmxvYXQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luU2VhcmNoQnVja2V0U2l6ZSA9IDEuMTsKIHN0
YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bVdpZHRoID0gNDAw
Owogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVtSGVpZ2h0
ID0gMzAwOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
bkRldGVjdGlvbkF0dGVtcHRzID0gMjsKLXN0YXRpYyBjb25zdCBpbnQgZGVmZXJyZWRQcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gM19zOwog
c3RhdGljIGNvbnN0IGZsb2F0IG92ZXJsYXBwaW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEuMTsKIHN0
YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtT3ZlcmxhcHBpbmdJbWFnZVRvUGx1Z2luRGltZW5zaW9u
U2NhbGUgPSAuOTsKIApAQCAtNTMwOCw3ICs1MzA4LDcgQEAgdm9pZCBXZWJQYWdlOjpkZXRlcm1p
bmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgIGlmICghY2FuZGlkYXRlUGx1Z0luKSB7
CiAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogZmFpbCAt
IGRpZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBwbHVnLWluLiIpOwogICAgICAgICBpZiAobV9udW1i
ZXJPZlByaW1hcnlTbmFwc2hvdERldGVjdGlvbkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNuYXBzaG90
dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMpIHsKLSAgICAgICAgICAgIExPRyhQbHVnaW5zLCAi
UHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICVkcy4iLCBk
ZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKKyAgICAgICAg
ICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0
IGFnYWluIGluICUuM2ZzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0
aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAgICAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBs
dWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA5MDlkMmY5MTI2NmNk
OGZkNTE5NjE4ZWQwZDFjNTdlMDkyZmZjNTk4Li43NWJmNDZiMjNlMzk3Yzg1MTQxODRlMGZlMWJh
YjQ2MDlhYTc5YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKQEAgLTMwMCw3ICszMDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Fsd2F5c09uTG9n
Z2luZ0FsbG93ZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEFjdGl2ZVBvcHVwTWVudShXZWJQb3B1
cE1lbnUqKTsKIAotICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKKyAgICB2b2lkIHNldEhpZGRl
blBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiAgICAgewog
ICAgICAgICBtX3BhZ2UtPnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KGxp
bWl0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCA1
YTY3MzM0ZDhhYTNhNDYxYjMzOGUwYjhlYTg0MDcxZGRjOGQwN2Q0Li45MWQ4YTU2NTFmODc2MDM1
ODQzMTRlYzZkZmZiMTI3MzE4ZGNjZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0KQEAgLTI4NSw3ICsyODUsNyBAQCBUaWxlZEJhY2tpbmcqIFJlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhOjptYWluRnJhbWVUaWxlZEJhY2tpbmcoKSBjb25zdAogCiB2b2lkIFJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaEltbWVk
aWF0ZWx5KCkKIHsKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMG1zKTsKKyAg
ICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQpAQCAt
MzA0LDkgKzMwNCw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxl
Q29tcG9zaXRpbmdMYXllckZsdXNoKCkKICAgICBpZiAobV9sYXllckZsdXNoVGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgYXV0byBpbml0aWFsRmx1c2hEZWxh
eSA9IDUwMG1zOwotICAgIGNvbnN0IGF1dG8gZmx1c2hEZWxheSA9IDE1MDBtczsKLSAgICBhdXRv
IHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlh
bFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDog
MG1zOworICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZsdXNoRGVsYXkgPSAwLjVfczsKKyAgICBjb25z
dCBhdXRvIGZsdXNoRGVsYXkgPSAxLjVfczsKKyAgICBhdXRvIHRocm90dGxlRGVsYXkgPSBtX2lz
VGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2gg
PyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDogMF9zOwogICAgIG1faXNJbml0aWFs
VGhyb3R0bGVkTGF5ZXJGbHVzaCA9IGZhbHNlOwogCiAgICAgbV9sYXllckZsdXNoVGltZXIuc3Rh
cnRPbmVTaG90KHRocm90dGxlRGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW0KaW5kZXggZjRlZWEwMWZlNmVhNTcxYzNiNWNiNDMwZjljMTg3NDNjZTlhNDBj
Yy4uY2NjZjFhYzIwNTU3OGRjNGNhYzVmMThmZGExOThmYzdlN2QxZDA0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC00NzIsNyArNDcyLDcgQEAgdm9p
ZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShB
Y3Rpdml0eVN0YXRlOjpGbGFncwogICAgIH0KIAogICAgIGlmIChtX3dhbnRzRGlkVXBkYXRlQWN0
aXZpdHlTdGF0ZSB8fCAhbV9uZXh0QWN0aXZpdHlTdGF0ZUNoYW5nZUNhbGxiYWNrSURzLmlzRW1w
dHkoKSkKLSAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpk
aWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAppbmRleCBkZDAwYTE4ZDliNjIxNjVkOTM2MmE5ODJlNGZlNzY1ODg3
MWU1MTlhLi4yNjMyZGJhZmIyNGM2NzJiNWNlMzQ1NDFjNTg0ODhmZDY5ODA2MmU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE0Miw3ICsxNDIsNyBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHN0YXRpYyBjb25zdCBkb3VibGUgcGx1Z0luQXV0b1N0
YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgPSAyOSAqIDI0ICogNjAgKiA2MDsKIAog
Ly8gVGhpcyBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0IGlu
IFRpbGVDb250cm9sbGVyLgotc3RhdGljIGNvbnN0IGRvdWJsZSBub25WaXNpYmxlUHJvY2Vzc0Ns
ZWFudXBEZWxheSA9IDEwOworc3RhdGljIGNvbnN0IGF1dG8gbm9uVmlzaWJsZVByb2Nlc3NDbGVh
bnVwRGVsYXkgPSAxMF9zOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjExLDcgKzIxMSw3
IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgICAgICBpZiAobV9zdGF0aXN0aWNzQ2hh
bmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAg
ICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzKDUpKTsKKyAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hv
dCg1X3MpOwogICAgIH0pOwogfQogCkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBXZWJQcm9jZXNz
OjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBh
Y2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVu
c2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0
YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNv
bmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAgICAgdW5zaWduZWQgcGFnZUNh
Y2hlU2l6ZSA9IDA7CiAgICAgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhjYWNoZU1vZGVsLCBj
YWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBh
Y2l0eSwgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgcGFnZUNhY2hlU2l6ZSk7CiAK
QEAgLTEyNDQsMTAgKzEyNDQsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0
YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW8KICAgICB9CiB9
CiAKLXZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQoaW50IG1pbGxpc2Vjb25kcykKK3ZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBmb3IgKGF1
dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpCi0gICAgICAgIHBhZ2UtPnNldEhpZGRlblBh
Z2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMo
bWlsbGlzZWNvbmRzKSk7CisgICAgICAgIHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxp
bmdJbmNyZWFzZUxpbWl0KGxpbWl0KTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggMmE5NjQxYmZkNTRlODM0NzgyODRk
NjVhNWVhMzU3MWExZjI3YjViOS4uMzMzZmRiNmMxNjU1OWI5ODNjNzc1NjZkYjM4MzRlZjdjNGY5
MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTE4OCw3ICsx
ODgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAKLSAgICB2
b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNl
Y29uZHMpOworICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGlt
aXQoU2Vjb25kcyk7CiAKICAgICB2b2lkIHByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50bHkoYm9v
bCYgaGFuZGxlZCk7CiAgICAgdm9pZCBwcmVwYXJlVG9TdXNwZW5kKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNmQ3NmU1ODMy
NmVkMzUyNGFhYzVhOTg2YzQ5OTA2NzhhNTI0MTY2Yi4uMjU5MDQ0OThhNmU0YTk3MDZiMWZjMWQ2
NjliMWUxYzZiNzgyMDI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtODAsNyArODAsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9j
ZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEZWxldGVXZWJzaXRlRGF0YShXZWJDb3JlOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNp
dGVEYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9kaWZp
ZWRTaW5jZSkgLT4gKCkKICAgICBEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3
ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmln
aW5zKSAtPiAoKQogCi0gICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGlt
aXQoaW50IG1pbGxpc2Vjb25kcykKKyAgICBTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5j
cmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJs
ZWQoYm9vbCBmbGFnKQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNldFFPUyhpbnQgbGF0ZW5j
eVFPUywgaW50IHRocm91Z2hwdXRRT1MpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggMTZlMDU4YWU3ZGJkOTNjODFjMzc0NWVmNDY5ZGFlNTRjZmMz
YjYzYS4uYTM2MzZjM2ZhZmQyMGVlZDJjYmZkYTU0N2ZmOTg5M2M5NGZkOTkwZSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVz
IG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTYtMTItMDQgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBhIGJ1aWxkIGJyZWFrIG9uIEVGTCBz
aW5jZSByMjA5MzAzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
UnVuTG9vcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApp
bmRleCAxZGM3ZTkzOGE3NmU5OTRiZTk3Njk4ZWU4MDVjYzZmZmVkNmZlM2RiLi41YTQ4OTI4ZmNi
NWYwODIxNjE4YThkMmE0N2FhNTE4ZmJkZDNiNTYzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9SdW5Mb29wLmNwcApAQCAtOTUsNyArOTUsNyBAQCBURVNUKFdURl9SdW5Mb29wLCBP
bmVTaG90VGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1lcih0ZXN0Rmlu
aXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICAgICAgdGltZXIu
c3RhcnRPbmVTaG90KDAuMV9zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwog
ICAgIH0KIH0KQEAgLTEyOSw3ICsxMjksNyBAQCBURVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdU
aW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7
Ci0gICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDEpOworICAgICAgICB0aW1lci5zdGFy
dFJlcGVhdGluZygwLjAxX3MpOwogICAgICAgICBVdGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7CiAg
ICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296128</attachid>
            <date>2016-12-04 22:13:12 -0800</date>
            <delta_ts>2016-12-04 23:00:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161204221234.patch</filename>
            <type>text/plain</type>
            <size>381821</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZThlNTQyZjhiY2IxNzdmMjQ1NWEyOTczNzllNzg4NGQ5YTg1OGVmLi5mODJmNzE0ODNmMDAzMDQ0
YTIzNmNlNGUyZTA1OGQ5OTUwMjc5YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6
OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKToKKwogMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHog
YW5kIHBvcGNudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCA0ZjEyZWQzNGQ4NGU3MzgyMjViMDUwYzk3YmEyYmYxZTM1NjRmNGQ0
Li5hNjMyNjk2NWI5ZjJjNTY3MTU3YWIwOTJiZmVhNmQ0M2QyMWVlMGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAg
ICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJh
c2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvY2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdU
Rjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAg
ICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5M
b29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5j
cHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAq
IHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnQpOgorCiAyMDE2LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFN5bWJvbEltcGwgbGF5b3V0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZmFmYzg3YzQ3ZmM3NTJkNmMyMGI5ODkwNTU3ZTdmM2E2NTZmMDJmZC4uNzFmNDUwYjY4MDk5
YjA5M2YxNWFmZmI4NTFmMTE0NGZlNWYxNjIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyNyBA
QAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91Ymxl
cyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
Tm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6
OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpz
dGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZUNvbXBsZXRlZE9wZXJhdGlv
blRpbWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3Ap
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24p
OgorICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZp
c3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVs
ZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVu
dERlbGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29r
aWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRF
dmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5x
dWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01p
Y3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
Y2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRp
b25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNsZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFsdGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6
CisgICAgICAgICogZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0
b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVu
dFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vl
a1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRl
KToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnJlc3VtZSk6CisgICAgICAgICogaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICAoTWVk
aWFDb250cm9sbGVyOjpjdXJyZW50VGltZSk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlRXZlbnQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRh
dGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBo
dG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVudDo6
bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MpOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9u
OjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6CisgICAgICAgICogaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRT
dGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0
VG9IaWRlTWVzc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpsb3NlQ29udGV4dEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCk6
CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6c2NoZWR1bGVGb3JS
ZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6cmVzdW1lKToK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6
OnVwZGF0ZVNpemVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZU
VFJlZ2lvbjo6c3RhcnRUaW1lcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hl
ZHVsZUZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpkaXNwYXRj
aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjp0aW1l
ckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTZWdtZW50KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0
YUxvYWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1
YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5nRXZlbnQpOgorICAgICAgICAqIGxv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRp
b25TY2hlZHVsZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSk6CisgICAgICAgICogbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNhbGxiYWNr
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpDYWxs
YmFjayk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpwcnVuZVNvb24pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAg
ICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAgICogcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFu
Z2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjp1c2VyR2VzdHVyZVRv
a2VuVG9Gb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0pOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVGltZXI6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgICogcGFnZS9ET01UaW1lci5o
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0SW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VD
b250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjpN
YXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlv
blRyYWNrZXI6On5NYXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3Vz
ZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0
YXRlVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpwYXJzZUV2ZW50
U3RyZWFtTGluZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBh
Z2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUu
Y3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZW5hYmxlU3BlY3Vs
YXRpdmVUaWxpbmdJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
dXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5k
YWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6
c3RhcnRPbmVTaG90KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmlj
YXRpb25UaW1lcik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFy
dFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlKToKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
bik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldp
bmRvdy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJ
bmRpY2F0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1p
dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgor
ICAgICAgICAqIHBsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpIeXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3Nl
ZFBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
OjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6
OlRocmVhZFRpbWVycyk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJl
ZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50
ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0
ZWRFdmVudExvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NU
aGFuRnVuY3Rpb246Om9wZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpU
aW1lckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjpuZXh0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tD
b25zaXN0ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6
aGVhcFBvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cjo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vj
b25kc1RvTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJ
bnRlcnZhbE1TKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bV9sYXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0
U25hcFJ1YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVy
OjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXApOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dh
bWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW06CisgICAgICAgICog
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQWRkZWQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRlcm5h
bFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpu
ZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dC
bHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRj
aEJ1ZmZlclB1cmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250
cm9sbGVyOjpzZXRJc0luV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVy
OjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24pOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2
YWxpZGF0ZVRpbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29o
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxF
eHBpcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExh
c3RVc2VUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcDoKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpz
ZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoVmlkZW9SZW5kZXJSZXF1ZXN0U2NoZWR1bGVyOjpyZXF1ZXN0UmVuZGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVhZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFk
ZEFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JH
dGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycyk6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkxlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAg
ICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbik6CisgICAgICAgICogcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyTGludXguY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJh
clBhaW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRD
b250ZW50QXJlYVNjcm9sbGVkU29vbik6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjphdXRv
c2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrOjpzZXRPcmllbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRNb2Nr
Ojphc3luY1VwZGF0ZVBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25D
bGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNC
eU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJG
aXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9k
dWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWspOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJh
c2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGlu
Z1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9y
ZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGlu
Z1JlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxs
KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hcnF1ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
cnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6
Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6
Om1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJl
cGFpbnQpOgorICAgICAgICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRT
b29uKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgor
ICAgICAgICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAg
ICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6ZXZlbnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxh
eWluZ0lucHV0Q3Vyc29yLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZH
TG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29u
dGFpbmVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8p
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50
ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJl
cXVlc3Q6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnBy
ZXBhcmVUb1NlbmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIw
MTYtMTItMDQgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQ
YXJzZXJdIEVsaW1pbmF0ZSBpbi1wbGFjZSBsb3dlcmNhc2luZyBpbiB0aGUgcGFyc2VyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA2NjJjYTI0MTk1YWM0YjQ2MzFjMTczMjNhZTQxZWFmZjJjM2FhOTRjLi4zNmRiNGNk
NWNlZDk2NTk3MzEzNDVmZWE5ZmE3OGM2OTMyN2JkMDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VU
cmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChX
ZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVu
ZGluZ1JlcXVlc3RzKToKKwogMjAxNi0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdW1dLMV0gSW1wbGVtZW50IG5ldyBIVE1MIGludGVyYWN0aXZl
IGZvcm0gdmFsaWRhdGlvbiB1c2VyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGVjMTU5
MmNmYjA2NWNjNzk4NTI2ODMzZmJjYmZhMWIwMDVjZmU5MzIuLjllOTg2NWUxZjU2OWJjY2NlMmM3
NDYyNDZkZTNmM2E2ZDY0MzI4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBv
ciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omxv
YWRSZXF1ZXN0KToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
OgorICAgICAgICAoV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBf
c2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxNi0xMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHRoZSBiZWhhdmlvciBvZiBzY3JvbGwt
aW50by12aWV3IHdoZW4gdGhlIHRhcmdldCBpcyBpbnNpZGUgcG9zaXRpb246Zml4ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2ZTFkN2FiZTJlLi5h
Yzk5Y2ZkYzZmYTQwYjJlNWJlNjRmOTdiODk3NDNmN2FhZjVmNTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAg
ICAgKiBQbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
UGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblN0cmVh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAg
ICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
c2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6a2VlcEFsaXZlKToK
KyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZh
bGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJWaWV3OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYlZpZXc6OmNsb3NlV2luZG93U29v
bik6CisgICAgICAgIChXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisKIDIwMTYt
MTEtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dURl0gSW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdU
Rjo6T3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1NGVmM2JlNTJmMGNjNGZmNjhiMGZmYjBiMWMzMDA0
MjU0MzJmNWU5Li45YTgzYTgzZDU3YWMzOTU0NjQ3ZTQ0OTRlYmZkNzZmZThjYjEwNWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTY3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkg
U2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVG
YWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+
OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNz
OjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9k
ZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRUZXJtaW5hdGlvblRp
bWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVy
Ojppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgorICAgICAgICAqIFNo
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06CisgICAgICAgIChBUEk6
OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKToKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJv
Y2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVy
Ojpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxs
eUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6
OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNv
b24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdp
blZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbklu
V2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVs
eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAxNi0xMi0wMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gRXhwb3NlIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudCB2aWEgdGhl
IE9iamVjdGl2ZS1DIGJ1bmRsZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdl
NmViNTBhYzRiMDY0NWNjOWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFj
OTU3NTNlMTk5MTE3MmE0NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdh
cmJhZ2VDb2xsZWN0aW9uKEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNv
bGxlY3Rpb25FdmVudHNUYXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9S
dW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhi
Y2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4uNjNkMGM3OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZj
NDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtODgsMTAgKzg4LDggQEAgcHVibGljOgogICAgICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGljaXQgVGltZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgflRpbWVyQmFzZSgpOwogCi0gICAgICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdElu
dGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50
ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQotICAgICAgICB2b2lkIHN0
YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFsc2UpOyB9CisgICAgICAgIHZvaWQgc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1
ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
c3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2
YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQo
U2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CiAKICAgICAgICAgUnVuTG9v
cCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIu
aCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCmluZGV4IDM3ODBlNzZjMDMxMzEwNGFl
YzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLjZjNGZkNmVjMWE4MDVjNDEzNDA2MGY0N2U3NjQ2NDhk
NDdhZDc4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGlj
OgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFp
ciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxl
UGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJs
ZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJ
bnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAg
dm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsg
fQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNo
b3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMyZTIzYmE3YmY5NTczYzMx
YjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5Yzg4NTIwZWZlNWJlYTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiArNTIsMTIgQEAgc3RhdGlj
IHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dCkKICAgICB0
aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBSdW5Mb29wVGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxp
ZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9
IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRp
bWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgbV90
aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLnZhbHVl
KCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZvaWQgUnVuTG9vcFRpbWVy
QmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVsZVBhaXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThhOTg2ZGU5MjNlODcyOTI0
NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5OGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nm
L1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQp
CiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAgICAKICAgICBDRlJ1bkxv
b3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIENGVGlt
ZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZpcmVJbnRlcnZhbCA6IDA7
Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLCBy
ZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKKyAgICBDRlRpbWVJ
bnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwudmFsdWUo
KSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVy
dmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkp
OwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3AuZ2V0KCksIG1fdGlt
ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3NGM2NzUwZGFlNTk2Li42
MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZWZsL1J1
bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1bkxvb3A6OlRpbWVyQmFz
ZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1lci0+bV9pc1JlcGVhdGlu
ZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwogfQogCi12
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0aXZlKCkpCiAgICAgICAg
IHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgQVNTRVJUKCFtX3Rp
bWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwsIHJl
aW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCksIHRoaXMpOworICAgIG1f
dGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZWludGVy
cHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKIH0KIAogdm9pZCBS
dW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2Vu
ZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BH
ZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQxNjdlYzdiNWZkYTI2NjM4
Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEyICsyNjMsMTIgQEAgUnVu
TG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQor
dm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRhc2sgPSBTY2hlZHVsZWRU
YXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAgICB9LCBTZWNvbmRzKGlu
dGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVwZWF0aW5nKTsKICAgICBt
X3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNrKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1NjI3OGJhNmI3ZmYwMjFj
MGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0Njg3ODEzNjMzYTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQg
UnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAgIGdfc291cmNlX3NldF9y
ZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0KIAotdm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9p
ZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUludGVydmFsLCBib29sIHJl
cGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRp
b248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWxEdXJhdGlvbiA9IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBh
dXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29uZHM6Om1heCgpOwogICAg
IGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAgICAgICBzYWZlRHVyYXRp
b24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRz
PihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5M
b29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcAppbmRleCA0YjQ1
YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAyMWY3ZGI0Y2EyYTI4YjE5
ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVu
TG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCkBAIC0x
NTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0
b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIG1faXNSZXBlYXRp
bmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJzLnNldChtX0lELCB0aGlz
KTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNzYWdlV2luZG93LCBtX0lE
LCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRUaW1lcihtX3J1bkxvb3Au
bV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbC5taWxsaXNlY29u
ZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBmYWYyMTIwMmExMzBiOTJl
NWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLjYwYTk3NzhmYTY2OTdhZjViMWMxNWE3NDI3YzgyY2M3
MTEyZDZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IGNl
Yzk3Y2M5MDJlNDUwNjg5N2ZlZmJkM2VhZTJmOTc5MDdhYWNjMTYuLjU4NmM1OTY4NjFkYWI3MGRk
YzJiNjg2MWMyYzcxNjgxNzU5YTM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01OSwxMyArNTksMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBHZW9Ob3RpZmll
cjo6cnVuRXJyb3JDYWxsYmFjayhQb3NpdGlvbkVycm9yKiBlcnJvcikKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7CiAgICAgaWYgKG1fb3B0aW9ucy0+aGFzVGltZW91
dCgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX29wdGlvbnMtPnRpbWVvdXQoKSAv
IDEwMDAuMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHMobV9vcHRpb25zLT50aW1lb3V0KCkpKTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6
c3RvcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKaW5kZXggODVhZTQwZjYzNDE3NTMyNzE2NzJmM2EzNzdmZTk5M2RmNGEz
MThjMC4uYzA5YzM3OWIwMjk2NDNkYTkwY2Q4YzU2NDc0M2E3MTU1MDZmMGZkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAg
LTE5OCw3ICsxOTgsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQogICAgIEFjdGl2ZURP
TU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDA1ZGEwMmZiMjkwNzJjNWM1MGRjNmJiZDUxZmEwYjdlYzk2
NTk0ZDUuLmNiODFiODk0OGJkMGJhMGEyNWE3MTYwNzMxZDVkZWI0YzRmYTNlYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
QEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZVBlbmRpbmdP
cGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNl
LT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQpA
QCAtNDQyLDcgKzQ0Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlQ29tcGxldGVk
T3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFz
ZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVkT3BlcmF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9wZXJhdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggOTkxMDE1N2MyZDhiOWE4YTli
NTk2ZTI0N2I1YmMwYzVjYTdjMGZkNS4uZmJkYTFhZDEwMmE4MDUxN2E1YjlmMmI0ZDcxNWRjOWI4
OGUwMDhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNDk0LDcgKzE0OTQsNyBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpOwogCiAgICAgaWYg
KCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9X
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3YTMzNjlmMTBlNTMwZTRkYzg3ZTcxN2Q1
Njc1ZjcwOTExM2I4MGU5Li5jOTdhNDQ0ZDllOWJhMDA4YmJkNGQ2MmI2ZmIxYWE0OTdmZGM0NzQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGFza0RlbGF5SW50ZXJ2YWwg
PSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGFza0RlbGF5SW50ZXJ2YWwgPSAw
LjFfczsKIAogc3RydWN0IENsaWVudFN0YXRlIHsKICAgICBleHBsaWNpdCBDbGllbnRTdGF0ZShX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQsIHVpbnQ2NF90IGNvbnRleHRJZCkK
QEAgLTQyMyw4ICs0MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZmluZChX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQsIHVpbnQ2NAogCiB2b2lkIFdlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogewotICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gNjAgKiA2
MDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kID0gOCAqIDYwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IFNlY29uZHMoNjAgKiA2MCk7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSBTZWNv
bmRzKDggKiA2MCk7CiAKICAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tU
YXJnZXQtPmhhc0FjdGl2ZVJvdXRlKCkpIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3Ao
KTsKQEAgLTQ0MiwxNCArNDQyLDE0IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29u
ZmlndXJlV2F0Y2hkb2dUaW1lcigpCiAgICAgfQogCiAgICAgaWYgKHN0b3BUaW1lcikgewotICAg
ICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMDsKKyAgICAgICAgbV9jdXJyZW50V2F0
Y2hkb2dJbnRlcnZhbCA9IDBfczsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAg
ICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lciAtIHRpbWVyIHN0b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUg
aW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgYXV0
byBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBp
ZiAoaW50ZXJ2YWwgIT0gbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1Rp
bWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNo
b3QoaW50ZXJ2YWwpOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIs
IGludGVydmFsKTsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwg
aW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCA9IGludGVydmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1
N2Q1OGVmOTE0Y2IyM2YxOTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRj
NmQ0NmExM2FkM2MxZjExYjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0x
MDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4g
bV9wbGF5YmFja1RhcmdldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlv
blRhc2tzIG1fdGFza0ZsYWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWwgeyAwIH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
OwogICAgIGJvb2wgbV9leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3RhcmdldENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2Vy
RW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBh
YWZjMjFlMDU1Mjg0Yi4uZDY0ZWM2M2UzNTE0ODE0ZmFjMzUxMzBmYzExMzkyNzI0YTYzNjBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92
YWwoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8g
NS4gUmV0dXJuIGNvbnRyb2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBz
dGVwcyBhc3luY2hyb25vdXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0Owog
ICAgIG1fcGVuZGluZ1JlbW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFNvdXJjZUJ1ZmZlcjo6YWJvcnRJZlVwZGF0aW5nKCkKQEAgLTUzMyw3ICs1MzMsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkudXBkYXRl
c3RhcnRFdmVudCk7CiAKICAgICAvLyA2LiBBc3luY2hyb25vdXNseSBydW4gdGhlIGJ1ZmZlciBh
cHBlbmQgYWxnb3JpdGhtLgotICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICByZXBv
cnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkNTJhNDhhNTNkYWUyODhjODQ3
MTlmZGMxZTFlZWJkNDdlZTZlNTcuLjFmOWY3MTAzZGUyZWM5ZWYxNTk2OTgyMjhmMjUwMzIyZTk5
ODQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1
bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hlZHVsZWRBY3Rpdml0eUV2ZW50cy5hcHBl
bmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogCiAgICAgaWYgKCFt
X2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FjdGl2aXR5RXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50VGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCA1ZGQyZjFlNDFjZjUxMjI5NmQ3NGQyMGMxYmQ3YzQ4YmIyYjIy
ZDc5Li5hMmJlZmM1NDQ2M2ViZjQzNTAxYmI2MTM4ZGRlZDc1MzBkYjQ0YTU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlzcGF0Y2hF
dmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdU
Rk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBS
VENEVE1GU2VuZGVyOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCAw
NTFjNzAxNDlhZTJkYTEyZTYwMGE0MDUwZjA5YzFlYzhiZmQ1NzU2Li4yZGJjYWYxZjIxYmZkNDk4
ODAwNzBhM2Q4M2RiOGFlYTgyZTJlYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMjM3LDcgKzIzNyw3IEBA
IHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYg
ZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKIAog
ICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc2No
ZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2NoZWR1bGVkRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkx
Mjg3NWFiZjgwYjJkZGRlODM3YTdlNy4uYmI4NzE5ZDgyZjUyMDg2YTBlNDNiN2QwZTg0OGIxODIy
OGRhZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIC8v
IEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNo
b3VsZCBub3QgYmUgY2hhbmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCiAgICAgLy8gQnV0IHRoZSBy
ZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0
IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7Ci0gICAg
bV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3
NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGViZmUwLi45MjVlYjk2YTMxYzM4OGU2NjU4N2M5
OWM1NDZkZTg5MzdlZjY0NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQs
NyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZv
aWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNE
ZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBy
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVmcyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0
b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgfQogICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
ICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IDg2MDkxNDIwOWM4YmIzNDI4MDQwYWExNGZjOWZj
ZDAzZDBkZDVjNTkuLjMzYjAyMjBlOTQ3Zjg0MzcwNjI3YjE2MjExZTZlYzI0OTA5ZWQxYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAt
NzYsNyArNzYsNyBAQCBib29sIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0
ZXJuJiBwYXR0ZXJuKQogCiAgICAgbV9wYXR0ZXJuID0gc2FuaXRpemVkOwogCi0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBt
X3N0YXRlID0gU3RhdGU6OldhaXRpbmc7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBWaWJyYXRpb246OnRpbWVyRmlyZWQoKQogICAgICAgICBtX3ZpYnJhdGlv
bkNsaWVudC0+dmlicmF0ZShtX3BhdHRlcm5bMF0pOwogICAgICAgICBicmVhazsKICAgICB9Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9wYXR0ZXJuWzBdIC8gMTAwMC4wKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fcGF0dGVyblswXSkp
OwogICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggYmVkOTM2MjY3ZDU2ODRmYzc4ODE3
MDkxZjExZjA3YzQ1ZWFiM2I3OS4uMDhlMTJhMTYwMWM4YTI0ZTZhYjZjMjI0NDYyN2QxMGFkYzRm
MjkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6cmVzdW1lKCkKICAgICAg
ICAgbV9jaGFubmVsLT5yZXN1bWUoKTsKICAgICBlbHNlIGlmICghbV9wZW5kaW5nRXZlbnRzLmlz
RW1wdHkoKSAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIEZpcmUg
dGhlIHBlbmRpbmcgZXZlbnRzIGluIGEgdGltZXIgYXMgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4
ZWN1dGUgYXJiaXRyYXJ5IEpTIGZyb20gcmVzdW1lKCkuCi0gICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCmluZGV4IDgwZGJiNGJhMGVlM2IyYzQ3MzNjODFkMmUxYjg1OTdkOGJiZTc4YzQuLjY4Y2My
YzA2YjU4YjNlYjIyNWQ4MDJkY2VmZjRjOTJmMjkxNzc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4
aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpX
ZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCYgY2xpZW50LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZk
b2N1bWVudCkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Nl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5l
bD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhh
bmRzaGFrZSBtYXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBk
ZXJlZmVyZW5jZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAg
ICAgaWYgKG1fY2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1l
KTsKKyAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50
TGlmZXRpbWUgKiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0
cmluZyYgcmVhc29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
cmVzdW1lKCkKIHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVy
LmlzRW1wdHkoKSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQx
ZTgyMDVhMTE2MTJmMGRhZjg0MTBiOGU2MzE4OThhMWUyNmMwNzQuLjBmNGUxMWM1ZmI0YjJiMTE5
MmQ2NmU3ZWIxYWZiMjMxZmU5OTEyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdl
IG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQg
aW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMg
b2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nl
c3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOwor
c3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRp
b25JbnRlcnZhbCA9IDAuMDI1X3M7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5TGl2ZVJl
Z2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDJfczsKIAogQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9y
ZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVu
dCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3VzbHkpIHsKICAgICAg
ICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihvYmplY3QsIG5v
dGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iamVjdCwg
bm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBkMzYxYzJjYzRiMjQ5ZmYwODM1ODJlMjUuLmU2
ZTY1NjkwZDNiMmQxYmU0ZDEzZDkwZGRjNDA1NzFmOTIzYzE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEdD
Q29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29uKCkKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewogICAgIGlmICghbV9HQ1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fR0NUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdjVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAyNTY3MWMxZGUwOWI1NTBiZDcx
OWM5Y2Y1Yjk1OGU1ZmIyMjU1NjRkLi5kZGI4ZjhiM2M0MTgyMDE4OTBmODBjYzBmNmNlZjNjYmQx
YmJkYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTQ5Nyw3ICs0OTcsNyBA
QCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5ld1N0YXR1cykKICAgICB9CiAK
ICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykKLSAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDAgOiAz
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3
YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBpZiAobmV3U3RhdHVzID09IFN0
YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKaW5kZXggZTg0OTg4ZWJlMDZiNmY1NmUyMmM3ZmUyNDZjNmRhNGJlYmZiNmEyYi4uNDQwNDFk
NjNhNzBiZDY5ZWEyMjM2NDBiZDUwYzVhMzMyZjE1NzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9udCYgZm9udCkKICAgICAvLyBhZnRlciB0
aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBiZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4g
QmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRU
aW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQoKS4KICAgICBtX2RvY3VtZW50LT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVlc3RDb3VudChmb250KTsKLSAgICBtX2Jl
Z2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2JlZ2luTG9hZGluZ1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2Fk
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKaW5kZXggYTc1MjgzYTJiMjdjM2RlZDhkOTQzMTJkZTA0YTQxNThlZWNjMmY5My4uNGQ0
MDYxNzI2MzljNDllZmQ3NzUyYWRmZWEzZjkzZGU1YTZmOWY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMzksNyArMzksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbWVUb0tlZXBDYWNoZWRH
ZW5lcmF0ZWRJbWFnZXMgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRpbWVUb0tlZXBDYWNoZWRHZW5lcmF0ZWRJbWFnZXMgPSAzX3M7CiAKIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNz
VHlwZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCAxMGY2NWMzY2ViYzViNmFmZGEwMGMwMGU3M2RjYjhlYjQyYWJlNjVkLi45
YjFhYTBiMzFiZDE0MWVlOTgyNzAyZDVhODZjZDQzMzA2Y2FiNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM3LDEwICsxMjM3LDggQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBjb25zdAogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25D
YWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVkUHJv
cGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0aW9u
Q2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzCi0gICAgICAgICYmICFtX21hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7Ci0g
ICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1h
dGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKLSAgICB9CisgICAgICAg
ICYmICFtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KDYwX3Mp
OwogCiAgICAgQVNTRVJUKGhhc2gpOwogICAgIE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIGNh
Y2hlSXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZlZTU3OTI1YTE2ODk3ZjBlYTUy
OWEzZDg4MjlkODBkZWRmNzE4NTcuLjA5OTBkZTI2ZWI5MDRiOTljNTg0YzE4MjBiMWE1OWUwMzI2
MzU4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1OCw3ICsxMjU4LDcgQEAgdm9p
ZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxs
b3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSk7CisgICAgICAgIG1fdmlz
dWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2V0dGluZ3Mo
KS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSkpOwog
CiAgICAgaWYgKCF2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTc0
NSw3ICsxNzQ1LDcgQEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYygpCiAgICAg
Ly8gRklYTUU6IFdoeSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMgaXMgY2xlYXJseSBtaXNw
bGFjZWQuCiAgICAgaW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAgIAotICAgIG1fc3R5bGVS
ZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVs
ZVN0eWxlUmVjYWxjdWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lk
IERvY3VtZW50Ojp3cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9j
dW1lbnQpCiAgICAgd3JpdGUoV1RGTW92ZSh0ZXh0V2l0aE5ld2xpbmUpLCBvd25lckRvY3VtZW50
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwo
KSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJUaHJvdHRsaW5n
RW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0
CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hl
ZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudEludGVydmFsID0g
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNyw4ICs1MDI3LDggQEAgdm9pZCBEb2N1bWVudDo6
ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGluc2VydGVkIGNv
bnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9ucy4KICAgICAv
LyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBhY2Nlc3Mgc2lu
Y2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAgICAvLyBhbGl2
ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNldHRpbmcgLmlu
bmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0IGludCB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMg
PSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMp
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxp
dmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAg
YWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJl
bG9hZHMoKTsKQEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7CiAgICAgaWYgKCFt
X3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50
OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25G
b3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6
V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNj
aGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRp
bmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNjcmlwdFJ1bm5lcigpLT5yZXN1
bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNvbik7CiAgICAgcmVzdW1lU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBAIC01Njg3LDcgKzU2ODcsNyBA
QCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUgKDApOwogCiAgICAgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxlbWVudCA6IGRv
Y3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCkKQEAg
LTU4NTQsNyArNTg1NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5kaWRCZWNv
bWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiog
cmVuZGVyZXIpCkBAIC02MDU3LDcgKzYwNTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRM
b2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsKIAogICAg
IGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2ZW50RGVs
YXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCgpCkBAIC02
NzAxLDcgKzY3MDEsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChF
bGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NvY2lhdGVkRm9ybUNv
bnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2NzIxLDcgQEAgdm9pZCBEb2N1bWVu
dDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNvb2tpZXMpCiAgICAgQVNTRVJU
KCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNoZWRET01Db29raWVzID0gY29v
a2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlkIGF0IG1vc3QgdW50aWwgd2Ug
Z28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNvb2tpZUNhY2hlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTBlMmI4MzkyMmNhOWExZWExMzUyMjg0ZDYzMDE3Zjc5
ODEzMDI0MC4uYWYyYWM3ODAyYWFiNjAwZDNjMGY2NTgzYjljNzM3MTVhY2UxZDcwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwg
SlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2
YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJB
bGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZp
bmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRN
YXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVUaXRsZUZyb21U
aXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJl
Y3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXgg
OWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4uYmQ5M2JhNjJjZTZlMjIx
ZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1bWVudEV2ZW50UXVldWU6
OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBtX3F1ZXVlZEV2ZW50cy5h
ZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3RpdmUo
KSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4NzJkODVhMWE0NTUxYWQwMTk5
MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYzNjkyYmZlZTFlNzBjOWFiMDJj
NmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNjYsNyArNjYsNyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbihU
JiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFwcGVuZCgmc2VuZGVyKTsKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5
MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3ODAyNTUyMTY5ODk2MDIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90
YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAg
ZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rhc2smIHRh
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5YzczZGQ5
ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1YmxpY1VSTE1h
bmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQogICAgIHJl
dHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
b2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFk
anVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFsdWVzKCkp
CkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RN
aW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9CiB9CiAK
LXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQgaW1wbGVt
ZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWluaW11bSB0
aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRlZApAQCAt
NDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGlnbm1lbnRJ
bnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29uZHMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAog
ewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBjOTI5OGQz
MmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIwZThhZjRk
OGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25kcy4KLSAg
ICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0
TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7Cisg
ICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKICAgICB2
b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNo
ZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lckFsaWdu
bWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CiAKICAg
ICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdkMDlhNDA0
OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5M2Q5ODEwZGJkM2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3Jp
cHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7CiAgICAg
aWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1
bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKQEAgLTEw
MCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1Nj
cmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBl
bmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1NjcmlwdCktPnB0cigpKTsKICAg
ICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Ny
aXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRhNjc0MDE5
NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYxZjEwMjgz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2NoZWR1bGVE
ZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1bWVudC0+
ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVUaW1lc3Rh
bXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVsZURlbGF5
KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVkdWxlRGVs
YXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1bWVudC0+
dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2N2Y5Njg0
MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzljN2RmNWRiZjJkMGI5YjJmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBAQCBzdGF0
aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hl
KCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0YXRpYyBjb25zdCBpbnQgbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOworCiBj
bGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5UaW1lci5z
dGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwogICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBt
aW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAxMDA7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lLnZh
bHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENvdW50Owog
ICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWluaW11bVBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCBk
NWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42OWU5ZTNmZGRhZmVhZmJi
YmY3MTYxMTU1ZWJmMWJkMDdjZWEyNTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcigpCiAK
IHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRp
bWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ycmVj
dGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBhdXRvIGNvcnJlY3Rpb25Q
YW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAoIWlzQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVmYzE3YTM3Li4z
YmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZhMjJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246
OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0gICAgICAgIG1f
dGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2UodHJ1ZSk7CkBA
IC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogICAgIG1fZWRpdG9y
VUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRHcmFtbWFyID0gb3B0aW9ucyAmIEZy
YW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAmJiAhKG9wdGlvbnMgJiBGcmFtZVNl
bGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsKICAgICBtX2VkaXRvclVJVXBkYXRl
VGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6
RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCA2NzU5ZmYx
NzdmZTc2NzFjYmIxNjkzNWViMzYxMGQyYTU2OTdiNzg2Li44NzRiZDY4NmE2OWQ0ZGQyNWI1ZmE3
NmFmM2EyY2I1ZGQyM2NlZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcApAQCAtMjA1MCw3ICsyMDUwLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBC
ZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBp
biB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3VsZEJsaW5rICYmICFtX2NhcmV0Qmxp
bmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9
IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAg
aWYgKGF1dG8gYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJs
aW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0
aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRm
Y2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2NlMGM5YzdiYWM1MTliZmI1ODQ1Y2IzYmU3
M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2
LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNv
bnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdS
ZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAg
ICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3VjY2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0
IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFhN2I5MjUxMzQxMGU0MDZmNDM0NWRjODNj
ZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBhZGNiYTkzYTZiZDVkMGZhMjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2
b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxl
dGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMg
QVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3VzbHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5k
IGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzZGRh
N2E3YWMzZmY4NmFjNDk2MDVjNWQ3M2ZlYmRmYmRkYmNjMGJiLi5mMTJiYTUxMGJhMTQyNjIyYTgy
MTFkY2RhNzMyZWRjNDY4YzJlYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVsYXkgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNj
YW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrVGltZSA9IDAu
MjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41Owogc3RhdGljIGNv
bnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIEhp
ZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNl9zOwogCiBzdGF0aWMgdm9pZCBz
ZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtOTM3LDcgKzkz
Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKERlbGF5
ZWRBY3Rpb25UeXBlIGFjdGlvblR5cGUpCiAgICAgaWYgKGFjdGlvblR5cGUgJiBVcGRhdGVQbGF5
U3RhdGUpCiAgICAgICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBVcGRhdGVQbGF5
U3RhdGUpOwogCi0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAgLTk0NSw3ICs5NDUsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKICAgICAv
LyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3VyY2U+IGVsZW1lbnQgV0lU
SE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgogICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCVwKSAtIHNldHRpbmcg
JXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3VyY2UpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBMb2FkTWVkaWFSZXNvdXJj
ZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVu
ZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoY29uc3QgTWVkaWFQ
bGF5ZXIqKQpAQCAtMTk4NCw3ICsxOTg0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFy
dFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBp
dCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAg
LTMzNzEsNyArMzM3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhT
Y2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2Fu
UmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09
IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRp
bWVyLnN0YXJ0KDBfcywgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2Nh
blJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRTY2FubmluZygp
CkBAIC0zNDEwLDcgKzM0MTAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZp
cmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZl
bnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3
ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhU
aW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c3RhcnRQbGF5YmFja1Byb2dyZXNzVGltZXIoKQogewpAQCAtMzQ1Nyw3ICszNDU3LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChib29sIHBlcmlv
ZGljRXZlbnQpCiAgICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0
VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCi0gICAg
aWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5KQorICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeS52YWx1ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTb21lIG1l
ZGlhIGVuZ2luZXMgbWFrZSBtdWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFja3MgYXQgdGhl
IHNhbWUgdGltZSwgYnV0IHdlIG9ubHkgd2FudCBvbmUKQEAgLTQzODgsNyArNDM4OCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbihkb3VibGUg
cG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0NTcyMTk+IGZv
ciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9z
aXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0b3AoKTsK
LSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjUp
OworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAu
NV9zKTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNT
Y3J1YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYu
LjE1MTBjNTg5ZmRlZDJiMWUzOTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBI
VE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAg
ICBtX2Rpc3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxh
eWluZ1NuYXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50KSAmJiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBS
ZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRk
VXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjky
ZTM3MjgwZjNmOTk5NjdmY2IwYTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQzMzdkZGQzMGY5
YjIzNjczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwCkBAIC03MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQ
YWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3Rh
cnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBz
aG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0
YXRpYyBjb25zdCBhdXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyRGVsYXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXN0
YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFwc2hv
dFRpbWVyRGVsYXkgPSAxLjVfczsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHRpdGxl
VGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFjMGMzNjVhZjgx
NWU3ZjYzOWYuLmVkYWUwYzRjYjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUsNyArMTI1LDcg
QEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkKICAgICBpZiAo
bV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9l
cnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5k
aW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVu
dDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNvdXJjZUVsZW1l
bnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJl
c3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3Nob3Vs
ZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4ZDdiNDhhOWJh
MjQxYjRjNDcxZDU3OWY1NWU4YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRiMmE1NjJmNmM2
NDVlYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTE3
OCw3ICsxNzgsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBz
IGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8g
cnVuIHRvIGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50
Ojpsb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAK
aW5kZXggOTU0MDUyNTA5ZWI3ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uNmZiZjQ2YTNm
NzU2NTQ4ZTFiMDMzYzBkOWYxMDY4YTUxNjQwZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlh
Q29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9j
ayhDbG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4
dCkKICAgICAsIG1fdGltZXVwZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hl
ZHVsZVRpbWV1cGRhdGVFdmVudCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQog
ewogfQogCkBAIC0xNDgsNyArMTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVu
dFRpbWUoKSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlk
VGltZSgpKSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lk
ZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6
bWF4PGRvdWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUo
KSkpOwotICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAg
IHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9s
bGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAg
IG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0
cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQoKQpAQCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVy
OjpyZXR1cm5Ub1JlYWx0aW1lKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGlj
IHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAi
MTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29u
c3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBhdXRvIG5vdyA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIGF1dG8gdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91
c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVu
dEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNkMi4uYTkx
OTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwot
ICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRpbWVJbk5l
eHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBmZmUuLmNkNjZkMjg0
MDU4MmZiNDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6bWVk
aWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBsZXQgdGhlIHBsdWdp
biBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhpcyAKICAgICAvLyBm
dW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBlbmdpbmUgY2FsbGJh
Y2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRoZSBlbGVtZW50LCBt
ZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVs
ZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNkYTMuLjNk
MjU4YjYyNjM1YTAzYjE5NThjNGM4Zjc4YTJmNGExY2U5MzI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50
Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNv
bnRlbnRDaGVja0ludGVydmFsID0gMjUwX21zOwogCiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRSZWN0
TW9zdGx5SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogc3RhdGljIGJvb2wg
aXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50
JiwgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlk
Q2hhbmdlKGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Np
b246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCVwKSAtIGhhc1Rhcmdl
dHMgJXMiLCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDogIkZBTFNFIik7CiAKICAgICBtX2hh
c1BsYXliYWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAgbV90YXJnZXRBdmFpbGFiaWxpdHlD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4
ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUs
NyBAQCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAg
IC8vIEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAg
IC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4y
IGZyb20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwog
fQogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBj
YmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFiMmE2ZDVkN2FmMzA5MjA4Y2I0Yjdi
ODI3N2EyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNz
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApA
QCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBl
bHNlCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZh
bGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1l
ci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBA
IC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFu
ZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkg
KiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
c3RkOjptYXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9u
IC8gMTAwMC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBWYWxpZGF0
aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogCiAgICAgLy8gV2UgbXVzdCBub3Qg
bW9kaWZ5IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQgYnkgdGhlIHNhbWUgcmVhc29uIGFz
IHNldE1lc3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRo
aXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgbV90aW1lci0+
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBi
b29sIFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9k
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgwNzU2MDU1ZTU5Njk3ZDg5MTZhZDM0
OTRhNjI0YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZlODJiMmQzMTA5MjJhOGM5ZWE5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citj
b25zdCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMV9zOwogY29uc3QgaW50
IG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2
NjYsNyArNDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRl
eHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMg
ZGVmZXIgdGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVu
dAogICAgIC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rp
c3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3Bh
dGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQpAQCAtNDY4Myw3
ICs0NjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9yZVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApAQCAtNTYxNCw3ICs1NjE0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZl
bnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIG1fcmVzdG9yZUFs
bG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIGlmIChtX2NvbnRleHRMb3N0
TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxsb3dlZCkKLSAgICAgICAgbV9y
ZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXli
ZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVmUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUobV9hdHRyaWJ1dGVz
LCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRl
eHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBtX3Jlc3RvcmVUaW1l
ci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgICAgICAg
ICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRz
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkgc2hvdWxkbid0IGhh
cHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUgV2ViR0wgYXBwLgog
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDI4MzM3
ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJlYTAyN2E5
MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBIVE1M
UGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAgIC8vIEZJ
WE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3Rl
YWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBh
Z2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2Vy
LmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVlTmV4dENo
dW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBi
b29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5nU2NyaXB0
KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVs
ZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9jb250aW51
ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAg
cmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBt
X2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVO
ZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWEx
ZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUuLjVlMjllNjdkY2ZiZmIyMGJjMjNi
ZjUwNDkxZjViNzg5ZWRiZTA0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlz
IHJlcXVpcmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVs
LAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0
aGUgYm90dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQg
dHJhbnNpdGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRv
Y3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6
IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5w
YWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAg
IG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTE4OCwx
MCArMTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkK
ICAgICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24gPSBkb2N1bWVu
dCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlP
cGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3Bh
cXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxF
bGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsK
KyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2Uo
KS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQ
cm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlU
cmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwor
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24s
IGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyArMTMz
Niw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0
aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFj
a3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRp
YUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9h
ZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRmNWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0MGYz
My4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcxZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcgKzU4
LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJs
KQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGls
ZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUg
Zm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1v
ZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdl
MjIzZGQ0MzZjMDdkNTFiNi4uNjY2Njk0NzVhMGJlY2UyNzcwODIxZDEzNmJhODAxOTdlNzc3Mzc3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9
IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocyku
Ci1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc2Nyb2xsVGltZSA9IDQzM19tczsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxU
aW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggM2Q1NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uNmI1NmMxOGYyYWRl
ZjI3NzFlY2RlMDlmN2Y0NzA3ZTdkMTBjOTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFu
Z2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZs
b3csIGludCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnRO
b2RlSWQpOwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxv
dyogbmFtZWRGbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHAKaW5kZXggODNhMDI0YmNkZGQyMTMwOTc4NzU5ODcyMjQxMjcxZTBhOGZiM2YwZi4u
OTEyNzI2MmFlODhhY2NiYjRlNGVlMWY4NjE3ZDlkMzJmNDFlOGNkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogewogICAgIG1fZWxlbWVudHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZXZhbGlkYXRlU3R5bGVB
dHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA4YTM1YTE3
OWViOGJmNTliNGJjMDk4ZGM2ZWRjOTBjZGUwZGEwNTkzLi41MThhYWRmN2QxMjI2OGE0N2Y4ZjJi
NTMwOWZjM2Y1NDFhZTg1MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC04MCw3ICs4MCw3IEBA
IHB1YmxpYzoKIAogICAgICAgICBtX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKTsKICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAg
ICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogICAgICAgICAgICAg
bV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKG1f
bWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9tZXNzYWdlcy5pc0VtcHR5
KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAKaW5kZXggNWZjYTMxMGQwMGFjMjFkYzdiNjFiZTBhOWZlMDU1YzhiN2Y3YWFkOC4u
MTg2ZTcwMGJkYTJlYjI4NjBlMTUzNDJjNDU2NDEyNTBkNTVkMGU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTA5LDggKzUwOSw4IEBA
IHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCiAgICAgbV9wYWludFJlY3RzLmFwcGVuZChUaW1lUmVjdFBhaXIocmVtb3ZlVGltZSwgcm9v
dFJlY3QpKTsKIAogICAgIGlmICghbV9wYWludFJlY3RVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzID0g
MC4wMzI7Ci0gICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFp
bnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyk7CisgICAgICAgIGNvbnN0IGF1dG8gcGFpbnRS
ZWN0c1VwZGF0ZUludGVydmFsID0gMzJfbXM7CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGlt
ZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAg
ICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2RjNzhkMTI0YWRjZTE4
YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgwMjEzNTg2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3Bw
CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBs
YXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMKIAogICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQog
ICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQt
PnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAgICAgICAgLnNldFF1
ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyZDNjZDk1MGUzMTg0Mzkz
N2I4YjcwNWQzMTc1NGIzOGFhMzNiODU5Li45MGNlZTYyNjZhYWFjOTE2YzZiMjllYzQ2YTlmMTQ2
ZDE2ZDY2NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0
YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQog
ewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kYXRhTG9hZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJTUVSKQogICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJhbWUtPnBhZ2UoKS0+
c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkoKQogICAgIGlm
IChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJkNTU0
Mzc3YjE2NDUyNGE0NmYwMDExYjYyOTNkNmMxODg5NTFlYzYuLmIzZjY0M2FhZjFlZjNkMjc0ZTQ3
YTNjMGI2NjBiMWRhNjM0YjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
OjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLjc3OWJm
NzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0g
JmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50
VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJiYjU3NWI0ZTUuLjJi
ZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwogCiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb0ZvcndhcmQo
KSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91cmwsIGRlbGF5
KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9y
d2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91
cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCkudmFs
dWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0b3BU
aW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBAIC0y
NzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsK
IAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0
dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVk
KG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVl
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGlt
ZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtNTM5
LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjllNmVhYjY1ZjU2ZTI0
ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNlNjI5ODU0ODJmZDg1
NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7
IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNz
SXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8vIENoZWNrIGlmIHRo
ZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55IGhlYXJ0YmVhdHMg
bXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRoZSBsb2FkIGlzIGN1
cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRTdGFsbGVkSGVhcnRi
ZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApp
bmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4Li5iMjY2YzMzMTNi
MmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIG1f
Y3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpAQCAt
MTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdpb25zUGFyc2VkKCkK
QEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFy
c2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYx
N2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMwOTAxYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGlt
ZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUg
dGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGY2ODBjYzRmOTVk
MmVmNjQ3NDQ4ZDU1OWM5ZWM4OWY0OTNhMDlhOTkuLjY2YTlmOGYxZmM0YmFkZTNkYmYwZDUxZmFk
NzdjY2JjMjZhNjNhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUp
CiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JS
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0
KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTQyLDcgKzU0Miw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBp
ZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hl
OjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkK
KyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTksNyArODE5LDcgQEAgaW5saW5lIENhY2hlZFJlc291
cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBDYWNoZWRS
ZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIoKnRoaXMsICZDYWxs
YmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJm
M2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNjNjEyYWE5ODZjZTQz
ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJm
b3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMg
YSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzku
LjkxMDA3NDcxMWQyNzE5OTg4YzMzZDI3MTMzMDIzNjgwZDA5MGUwODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9
IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVj
b2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1
bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hp
Y2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMg
Y29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJv
bm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNpbmds
ZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZSgp
CiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAgIGlmIChtX3BydW5lVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAgICAgIHJldHVybjsKLSAg
ICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4ZjI4MmJlNThkMTcwZC4u
NzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisgICAg
dm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRvIHB1
dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAgdm9p
ZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5OSw3ICsxOTksNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5EZWFk
Q2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CisgICAg
U2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25l
ZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBi
eSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRTaXpl
OyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIgcmVz
b3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAzMGY1ZjY5NGUzMGJiMmQu
LjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0
aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMgZXhwaXJl
IG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9uVGltZSA9
IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1OyAK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1X3M7CiAKIHN0YXRpYyBi
b29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3ZDMxNWVkZmJmOWM1MGUw
YTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFkZmI5NzcyMzQ0NGRlYmQw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKQEAg
LTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGRvdWJsZSBh
dXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBh
blNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1h
a2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAu
MDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1X3M7CiAK
ICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQuLjAw
MDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJl
bmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXgg
OThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNWQ2Y2Q0OTM4NDVjZGJl
ODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0
aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJp
bmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhv
ZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBv
cgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0g
ICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
U3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKaW5kZXggYTk2OWQ5NDhlN2UzOWMwMjY5YzVhMzBmZjljZDAxN2M5MmRk
OTU4Yy4uMzI0NzYxNzMwNTI4YjQ0MzAxMDc1ZGRmOTk5NjBhMWYzYmE0NDhkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGlu
ZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0IGF1
dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBtczsg
Ly8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IDFf
czsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
SW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDFfczsgLy8gRW1waXJp
Y2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMgY29uc3Qg
aW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJlU3RhdGUg
ewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1lcnNNYXA6
OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBib29sIHNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
LCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2Vy
R2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJldHVy
biBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICAgICAg
JiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcKICAgICAg
ICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJkZWQg
dG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVU
b2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVydmFsLCBp
bnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGlu
dGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE3NSwx
MiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVzZXJHZXN0
dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6OkRPTVRp
bWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwg
Ym9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihj
b250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZlbCgp
KQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5hbEludGVy
dmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkKICAgICAs
IG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkpCiAgICAg
LCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChp
bnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERPTVRpbWVy
Ojp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91dCwg
Ym9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBhc3NlcyBv
d25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNvbnN0cnVj
dG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21hdGljYWxs
eSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAgLTIxMCw3
ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVmZXJUaW1l
b3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAgICAgIGlm
ICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2luZ2xlU2hv
dCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IDEwMF9tcyAm
JiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShX
S0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9i
c2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlm
IG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3
LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3Bl
bmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRp
bWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7Cisg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGlt
ZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVl
KCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBp
bnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRU
aW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIx
IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VS
VChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhE
T01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20g
JSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhp
cywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFs
KTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBl
YXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwg
dGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1
cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVy
dmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxp
bmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVy
dmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90
dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50
VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2
YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9N
aW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAg
QVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1
dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0
byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAv
LyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9u
ZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBA
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1zdGQ6Om9wdGlvbmFsPHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBmaXJlVGltZSkgY29uc3QKK3N0ZDo6b3B0aW9uYWw8TW9ub3Rv
bmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lIGZpcmVUaW1l
KSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwgPj0gbWF4VGlt
ZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAwbXMpCisgICAg
U2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7CisgICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBfcykKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byBpbml0aWFs
aXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91
YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3Jj
ZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJl
dHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBlLmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRv
IHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVu
dEludGVydmFscywgZS5nLgogICAgIC8vIGlmIGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCBy
YW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAu
Li4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6
ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJh
bmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRG
aXJlVGltZSAlIGFsaWdubWVudEludGVydmFsKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9t
aXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRl
cnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uOworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRG
aXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0
ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChhZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVw
b2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50
ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OwogfQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggMzlhMDQ2
MWRhZWVlZTI1ZWFiYTMzOTk2ZTdhMGRjOGRkOTFhNjc4NS4uODI4YjY0YjAwOWJiMjIxOTE1ZWM3
YWRiYTZhYTc0OGUxYWY2NjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0
LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+
LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGlt
ZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5p
bXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAg
ICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50
ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWlu
aW11bUludGVydmFsKCkgeyByZXR1cm4gNF9tczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1
bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDBfczsgfQorICAgIHN0YXRpYyBTZWNvbmRz
IGhpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDFfczsgfQogCiAgICAgLy8g
Q3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgc3RhcnRzIGl0CiAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBp
bnQgaW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5n
bGVTaG90KTsKKyAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2
YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApA
QCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRl
cmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01U
aW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CisgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwog
ICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0
bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdT
dGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZFN0b3AoKSBvdmVycmlkZTsKLSAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25p
Y1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fdGltZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90dGxlU3RhdGUgbV90
aHJvdHRsZVN0YXRlOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9jdXJyZW50VGlt
ZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IG1f
dXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJv
dHRsZVN0YXRlIHsgVW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYTljMDNjNDcxOGY5ZTJiY2I0MGM4YzE2
ODI2YjllYzc1OWZmOTcxYi4uMjNjYTIzNzVmYzk1ZTc5YjA3ZjlhMjZiNzc3NmI4ZTRhNGRjODE5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTY0LDcgKzk2NCw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cmIGNhbGxlCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBh
dXRvKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBtZXNzYWdlLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBzb3VyY2VPcmlnaW4sIGNhbGxlcldpbmRvdywgY2hhbm5lbHMucmVsZWFz
ZVJldHVyblZhbHVlKCksIFdURk1vdmUodGFyZ2V0KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0g
ICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMTY1NCw3ICsxNjU0LDcgQEAgRXhjZXB0aW9uT3I8
aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwor
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBET01X
aW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4Niw3ICsxNjg2LDcgQEAg
RXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxT
Y2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgq
Y29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVv
dXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0MzA5NTYzNDk2MjJh
ZTJlMTlmZDViNzYwMzg1Yzk1OTA0Y2MuLmVmZWYzNmJhMGY3OTIxOTk5NjI3ODU1NGEyYTk1OGI1
OGM2MWU1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcApAQCAt
NDgsNyArNDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVu
ZXIoRE9NV2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkpIHsKICAgICAgICAg
bV9sYXN0RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlmICghbV90aW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhNzU0MjdjYTQ2YzcxZjll
NjEzNDM3YWYwOTdhM2VkYWIxYjdlZDFiLi5lOTMzYmI0ZTRiNTY1MGY1MTBiZmMwMDg1NjkyYzU3
NTk3ZTM5NTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUg
KzE1NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRp
bWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAog
Ly8gZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29u
dGVudCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVy
YXRpb25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVz
ZWQuCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsK
LWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRv
dWJsZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFr
ZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMV9zOworY29uc3QgU2Vjb25kcyBmYWtl
TW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlTG9uZ0ludGVydmFsID0gMC4yNV9zOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NV
UFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRl
IG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8g
YmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBj
dXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUlu
dGVydmFsID0gMC4wMl9zOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNpemUgPSAxMjg7CiAj
ZW5kaWYKQEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNzIE1heGltdW1EdXJh
dGlvblRyYWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNr
ZXIoZG91YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyKFNlY29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVyYXRpb24obWF4RHVy
YXRpb24pCi0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
KyAgICAgICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgIHsKICAgICB9CiAK
ICAgICB+TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAgICAqbV9tYXhEdXJh
dGlvbiA9IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3RkOjptYXgobV9tYXhE
dXJhdGlvbiwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBtX3N0YXJ0OworICAg
IFNlY29uZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0OwogfTsK
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykK
QEAgLTQ2Myw3ICs0NjMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogICAgIG1fb3Jp
Z2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1fb3JpZ2luYXRpbmdU
b3VjaFBvaW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0
aW9uID0gMDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDBfczsKICAgICBtX2Jhc2VF
dmVudFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBm
YWxzZTsKIH0KQEAgLTE4MjEsNyArMTgyMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1v
dmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBw
cm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3Io
bV9mcmFtZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25U
cmFja2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlciBtYXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAg
aWYgKG1fZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91
c2VFdmVudChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjkwMiw3ICsyOTAyLDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQg
RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9o
b3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVO
QUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDli
Y2FjNzJjN2UyMTYzMjEwOTE1ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUz
YjM2ODliNmEyZDUyYTY5NDg4ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtNTcwLDcgKzU3MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAg
fTsKKyAgICBTZWNvbmRzIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZl
bnQ6OlR5cGUgbV9iYXNlRXZlbnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAg
Ym9vbCBtX2RpZFN0YXJ0RHJhZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVl
bEV2ZW50IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggZDU1
NTVlZDJjMGZiNTdiOTYzYjdiNjAwMjE5ODcxNzEyNmY2NWZkNy4uYjdhMDRmNDg1Zjg5YzhjODlk
Y2RmY2ZhZWQxZDE5M2E5ZmRjOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRf
dCBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29u
ZHMgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDNfczsKIAogaW5saW5lIEV2
ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBVUkwmIHVybCwgY29uc3QgSW5pdCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQpAQCAtMTMyLDEzICsxMzIsMTMgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVD
VElORyk7CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBtX2Nvbm5lY3RU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKICAgICBt
X3N0YXRlID0gQ09OTkVDVElORzsKLSAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9y
ZWNvbm5lY3REZWxheSAvIDEwMDAuMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90
KG1fcmVjb25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZAogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAyYmUzZjlmMWI3NWQzOWQ1M2IyZmUzOTEyOTNmNThj
YzBmMTgyNzgyLi5hNGU3ZGQ5YWM0NzQzMzFjOGI3ZTNmZWE3NjNmMDE3ZTI3YzYzMGE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uNzJjMzM5
MTdmN2ZiYjJiM2NmOGM4MWEwZGEwOGRiMGU0NzUwNDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzNfcyk7CiB9CiAKIHZv
aWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggMzkxNDEyZTVmNDgwYWQ2ZDNjYjVkYzQ3NjE4MGY1ZGNhNWYzNWJlNy4uYzE5
NjkzN2IzYjg1MDRlNWYzOWE0NmRjYTlmMzJkMmZiNzg1OTlmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWduZWQgc2Nyb2xs
RnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsRnJlcXVl
bmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xP
QkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODA2MWI3NTE0ZDk2NmQ2YzcyNTJmZDAy
ZWMzY2RkMTA4NjEyMTJmOS4uOTIxODhjYjhkMjZhZTYxNmVjODhlNTIxNTc2YzY0ZDg2ZjY2NjIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYwLDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIC8vIGRl
ZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlciB3ZSByZXR1
cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1cyBuZWVkIHRv
IHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBjeWNsZSB1bmxl
c3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIgaGVyZS4KLSAg
ICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
ICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAg
ICB9CkBAIC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAg
ICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2
ZW50KCk7CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJv
dHRsaW5nRGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZl
YWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29u
dGVudFJlY3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw4ICsyODQxLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3Nw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIC8vIERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dl
ciBmdXJ0aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKLSAgICBtX3NwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkp
OworICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3QoMC41X3Mp
OwogfQogCiB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVk
KCkKQEAgLTM0MzEsNyArMzQzMCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91
dFRhc2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIu
CiAgICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0
ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
MGE3Mzk3OTg2MjQ2Yzc4MWE4Y2E5YjcxMjM1ZjAyNGZmOTQ3YzFkMC4uMTdlOWEzMDdlYTJlNWU1
YTcwMTBkM2UyNDVmMTkxMGJhODhjNWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcg
KzEyNDMsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0
bGluZ1N0YXRlIHN0YXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGlu
Z1N0YXRlID0gc3RhdGU7Ci0gICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVw
ZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAg
dm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBz
dGF0ZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsK
ICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAg
LTEyODQsOCArMTI4NCw4IEBAIHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpCiAgICAgICAgIGlmIChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFs
aWdubWVudEludGVydmFsID0gbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZS50aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPihzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJv
dHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVu
dEludGVydmFsID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRl
TGFzdENoYW5nZWRUaW1lOwogICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0
LCBzZXQgdGhlIHRpbWVyLiBJZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBp
ZiAobV90aW1lckFsaWdubWVudEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5j
cmVhc2VMaW1pdCkKICAgICAgICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAyMjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2ZWQ2ZGVlMTI0YjRi
Li4zNWZhNTExMWEwYjI2MWJjNGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjI1LDcgKzIyNSw3IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dy
ZXNzKCkgY29uc3QgeyByZXR1cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRy
b2xsZXImIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9s
bGVyOyB9CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAg
ICBTZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElB
KQogICAgIGVudW0gVmlld01vZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNob3dBbGxQbHVnaW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0g
c2hvd0FsbDsgfQogICAgIGJvb2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRv
bWF0aW9uOyB9CiAgICAgdm9pZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJv
bGxlZCkgeyBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02Njcs
MTAgKzY2NywxMCBAQCBwcml2YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01F
RElBKQogCiAgICAgVGltZXJUaHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7
IFRpbWVyVGhyb3R0bGluZ1N0YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSB7IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBN
b25vdG9uaWNUaW1lIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAg
U2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdu
bWVudEludGVydmFsSW5jcmVhc2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25k
cyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lz
RWRpdGFibGU7CiAgICAgYm9vbCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcAppbmRleCBlNzBiY2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5l
OTAyYjAyNThkMWUxODlhNjAwMzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRp
YyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZmFkZUFuaW1hdGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0
YXRpYyBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQog
ewpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0
aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9m
YWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRp
b25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAg
bV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFs
KTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEyZDVhMWZiY2RhYzdm
YTFiN2RlYzVkLi5lYjhmODE5NDU0MWFjZTg2NTlmZDUwMjNkYmFjNDJmNjRkZmM3MDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY5LDE1ICsxNjksMTUgQEAgc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlVG9M
b2FkVmlkZW8gPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgZG91YmxlIGRl
ZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7
CisKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKIHN0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYK
Kwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5h
YmxlZCA9IGZhbHNlOwogCkBAIC0yMTEsNyArMjExLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBh
Z2UqIHBhZ2UpCiAgICAgLCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2Vu
ZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0g
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisg
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykK
ICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjpp
bWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoZmFsc2UpCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5n
czo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGlt
cG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRo
ZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8g
cmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBt
b3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1h
Z2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBw
cmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElG
cmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGRO
b3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRN
aW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKQEAgLTQ1
Nyw3ICs0NTcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKQogCiAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50
cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwob2xkVGlt
ZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11
bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhvbGRUaW1lckludGVydmFsKSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdlZmUwZWVkOTFhMDQwMDlhZTE1N2Q1NDM2Nzg5
YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNkMmE0NzA0NjNkNTNmZmYwYmYwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAg
IGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1f
bmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFs
aXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMg
bWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91dEludGVydmFs
KFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJ
bkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KLSAgICBkb3VibGUgdGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVy
biBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CisgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNv
bmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpAQCAtMzI2LDcgKzMyNiw3
IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxp
ZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJs
b2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIFNlY29uZHMgbV9sYXlv
dXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwogCiAg
ICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0
ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
IDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1l
cjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFhYWE2YWU0
YmM1ZGZkZDQ2YjI0YzU3NjQzNS4uMjg3NjI4NmM4YzA3MThmODM2MmRhYmMxNWYyYmYzZDQxMWQw
ZjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMywx
MCArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3Bl
bmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
YXZlZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCgwKQot
ICAgICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcsNyBAQCB2
b2lkIFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVkID0gZmFs
c2U7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhTZWNv
bmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3ICsxMDgs
MjcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hv
dChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChT
ZWNvbmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zYXZl
ZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBpbnRl
cnZhbDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gMF9zOwogICAgIH0KIH0KIAotZG91YmxlIFN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKK1NlY29uZHMgU3VzcGVuZGFibGVUaW1lcjo6cmVw
ZWF0SW50ZXJ2YWwoKSBjb25zdAogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIHJl
dHVybiBUaW1lckJhc2U6OnJlcGVhdEludGVydmFsKCk7CiAgICAgaWYgKG1fc2F2ZWRJc0FjdGl2
ZSkKICAgICAgICAgcmV0dXJuIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMF9zOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50Rmly
ZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAg
ICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3
LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUg
ZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zYXZlZElzQWN0aXZlID0gdHJ1ZTsKICAg
ICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBkZWx0YTsKLSAgICAgICAgbV9zYXZlZFJl
cGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMF9zOwog
ICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1l
ckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcwOTM3ODUwYTNhNjkwMWY3MjBjNWRlMWY2MDk5
MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4NTU1MTc4MWEwMzY1ZDE5MzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00MywxNyArNDMsMTIgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZl
KCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3Vz
cGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKTsKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwotICAg
IHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpOwotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGlu
dGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3Q7CiAKLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwp
IHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZv
aWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3Rh
cnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhy
ZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29u
ZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRz
KGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAKICAgICB1
c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsOwogICAgIHVzaW5nIFRp
bWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEsMTEgKzY2LDExIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1l
KCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVuZGVkOworICAgIFNlY29uZHMgbV9zYXZlZE5l
eHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7CiAKLSAg
ICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7Ci0gICAgZG91YmxlIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZTsKKyAgICBib29sIG1fc3VzcGVu
ZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZl
bnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNl
Mzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2JmZTViODNlMmY1ZjljMDJiY2E0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3Rh
cnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1f
dGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIu
c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRl
c3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXgg
OWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgxZGFkMmY3NWNlZC4uYTg1YmFhYTg5NjNjNmVi
MGM0ZmMzMWQ3YTQzOTUzZThmZmYyZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTQ4LDggKzQ4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNBbmltYXRpb25U
aW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNCZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRpYyBjb25zdCBhdXRvIGFuaW1hdGlvblRpbWVy
RGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsKK3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRh
dGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3ICs3MSw3IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSYgZnJhbWUpCiAgICAgOiBt
X2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCp0
aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKKyAgICAsIG1fYmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAg
ICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCgwKQogICAgICwgbV93YWl0aW5nRm9yQXN5
bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCkBA
IC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qCiAKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0g
MDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlOwogCiAgICAgY29uc3QgQ29tcG9zaXRl
QW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0
KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21wb3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkg
JiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNBbmltYXRpb25zKCkpCi0gICAgICAgIHRpbWVUb05l
eHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOworICAg
ICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHMoY29tcG9zaXRlQW5pbWF0aW9uLT50aW1l
VG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkg
JiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSB8fCBtX2FuaW1hdGlvblRpbWVy
Lm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1lVG9OZXh0U2VydmljZSkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYKIAogdm9pZCBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0Q2hhbmdl
ZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hhbmdlZCovKQogewotICAgIGRvdWJs
ZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpOwor
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZlcnQgcmVzdCBvZiBhbmltYXRpb25zIGNvZGUgdG8g
U2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4KKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNl
ID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKSk7CiAKLSAgICBMT0co
QW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAl
LjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOworICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5p
bWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUuMmZtcyIsIHRpbWVUb05leHRTZXJ2
aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAgIC8vIElmIHdlIHdhbnQgc2VydmljZSBpbW1lZGlh
dGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcgdGltZXIgdG8gcmVkdWNlIHRoZSBvdmVyaGVhZCBv
ZiBzdGFydGluZwogICAgIGlmICghdGltZVRvTmV4dFNlcnZpY2UpIHsKLSAgICAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRl
cnZhbCgpID09IDApCi0gICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5n
KGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlz
QWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAg
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoYW5pbWF0aW9uVGltZXJEZWxheSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHNlcnZp
Y2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSB0aW1lciBpcyBubyBsb25nZXIgcnVubmluZwot
ICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDApIHsKKyAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwX3MpIHsKICAgICAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgICAgICByZXR1cm47CkBAIC0y
MjIsNyArMjIzLDcgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6ZmlyZUV2ZW50
c0FuZFVwZGF0ZVN0eWxlKCkKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0
VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKQogewogICAgIGlmICghbV91cGRhdGVTdHls
ZUlmTmVlZGVkRGlzcGF0Y2hlci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVN0eWxlSWZO
ZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVTdHlsZUlm
TmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4g
ZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiBy
ZW5kZXJlciwKIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
KTsKLSAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0g
YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJu
IG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsK
ICAgICBpZiAoIW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAg
ICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMy
Njg5OTAzNjNjNGZkMGY2ZDE2YTI3MWUzNjkuLjM3OGRlYjBiMTdmYWFlZGNiNTgzOGI2OGJmN2Nl
NzI5ZTBmM2E1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0KQEAgLTc4LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRj
aGVkU3RhdGVEZWxheSA9IDAuMV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJy
ZW50TlNFdmVudFNsb3QoKQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRm
b3JtV2hlCiAgICAgLy8gcmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3Ag
dGhlIHRpbWVyLCBsZWF2aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAo
IW1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAg
IGlmIChldmVudC5pc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVu
ZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3Rh
dGVUaW1lb3V0KTsKKyAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1l
ci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgLy8gSWYgYW5vdGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRo
ZSB0aW1lciBtYW51YWxseSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5
LgogICAgICAgICBpZiAoZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5k
ZXggNTVlNGQ2NTk1ZWViNjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZh
ZTdhMWU3MjdjOTQ0ZGVkZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAg
ICBib29sIG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVy
QnV0dG9uKSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vj
b25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCop
IGNvbnN0OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwog
CiAgICAgc3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0
KiBhLCBjb25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAK
ICAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFu
Z2VUaW1lOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0
U2VsZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAog
ICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0
OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1
OTY0OTliZGY2MTZlZDQyMTFiOWE1MjM4MTVlNjIuLmU4ODQ5Mjk0NmE1YmFlZTE2OTRlMDRjNTI2
NzY5NzQ0ZWI5NGVlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9y
PExheW91dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBt
X2lzVGV4dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dp
dGhHYXBSZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEs
NyArMzkxLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGln
aGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpidWlsZFBv
dGVudGlhbEhpZ2hsaWdodHNJZk5lZWRlZCgpCkBAIC00MzMsMTUgKzQzMywxNSBAQCBib29sIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYg
aGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBob3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNv
bmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFo
aWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAg
ICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAwbXM7Cisg
ICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDAuMl9z
OwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0aW9uKCku
c2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAgbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAgIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMV9zOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQg
PSBtX21haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5tb3VzZVByZXNzZWQoKTsKIApAQCAtNDQ5LDE1
ICs0NDksMTQgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICAvLyBieSB2aXJ0dWUgb2Yg
YmVpbmcgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgZW50aXJlIHRlbGVwaG9uZSBudW1iZXIuIEhv
d2V2ZXIsIHdlIHdpbGwgc3RpbGwgYXZvaWQgaGlnaGxpZ2h0aW5nCiAgICAgLy8gdGVsZXBob25l
IG51bWJlcnMgd2hpbGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgaWYgKGhpZ2hsaWdodC0+dHlw
ZSgpID09IEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSkKLSAgICAgICAgcmV0dXJuIG1v
dXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMG1z
OworICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24gOiAwX3M7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAg
ICAgYXV0byB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0
aW9uQ2hhbmdlVGltZTsKICAgICBhdXRvIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9
IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2lu
Y2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBU
aW1lOworICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwX3Mg
OiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsKIAotICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBt
aW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWlu
KHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFj
dGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1
cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOwor
ICAgIHJldHVybiBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6
bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hs
aWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVk
KCkKQEAgLTcyMyw3ICs3MjIsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAv
LyBoaWdobGlnaHQsIGFuZCBvbmx5IHJlc2V0IHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVz
aXMgd2hlbiB0aGF0IGNoYW5nZXMuCiAgICAgICAgIGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQg
IT0gbmV3QWN0aXZlSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHQgPSBuZXdBY3RpdmVIaWdobGlnaHQ7Ci0gICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAg
ICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hs
aWdodCA9IG51bGxwdHI7CkBAIC03MzQsNyArNzMzLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3Rp
dmUKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
U2hvdWxkQmVTaG93biA9IHRoaXMtPnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24obmV3QWN0aXZlSGlnaGxpZ2h0LmdldCgpKTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
OjpkdXJhdGlvbjo6emVybygpKSB7CisgICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID4gMF9zKSB7CiAgICAgICAgICAgICBtX2RldGVybWluZUFjdGl2
ZUhpZ2hsaWdodFRpbWVyLnN0YXJ0T25lU2hvdChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNzY2LDcg
Kzc2NSw3IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVudChQYWdl
T3ZlcmxheSYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVuCiAgICAgICAgIFJlZlB0cjxIaWdobGln
aHQ+IG1vdXNlRG93bkhpZ2hsaWdodCA9IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxw
dHI7CiAKLSAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKIAogICAgICAgICBpZiAobW91c2VJc092ZXJBY3RpdmVIaWdobGlnaHRCdXR0b24gJiYg
bW91c2VEb3duSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBoYW5kbGVDbGljayhtX21vdXNlUG9z
aXRpb24sICptb3VzZURvd25IaWdobGlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTRlMjBkMjI3NjhjODgyZTkwMGIxMmI0MWZl
MDJlY2RmYjQ4ZjYyOC4uNTA0NGVhZjYyMDRhM2JjMmI4ZGRlNmFlNGE4NTk5YWI1MTE2YjFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCkBA
IC00NzUsNyArNDc1LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5kaWNh
dG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21fdGV4
dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dEluZGlj
YXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4dElu
ZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAgICAg
IG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHRpbWVC
ZWZvcmVGYWRlU3RhcnRzKSk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmNmU1NDZiOTg3MWM5MDgwNGJiNTc4
MTMwNWUxNDNjZWUyMWVjODk2Li44MWMzMDE0ZmE2NTI1ZTFmNmZkZjdkM2UwYzM2ZGNkMjI3NjI0
ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVy
QXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUgPSBz
Y3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3Jv
bGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi5lZDFk
N2Q2MTM5ZjIwNTJiNGJkOGExNjg1NzUwN2Q2MTI4ZjA0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21t
aXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUz
ZjQwZDYwMTQ0ZDA5NGY2ODUzNWY0MTM0ODhmYzRmOTMwOGY2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFi
NDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4uMzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5
NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBl
bmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZCht
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigp
LmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rp
c3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUyYTc0ODMwOWUwNjI4MjBlZGM4
MjM5ODBjMGIyZTEuLmFkNGViNzdhZTU3YmUzMmIzOTM3OGYzODMwOTliOTNkNDU4YWY3ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0zMCw3
ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBEZWZh
dWx0SHlzdGVyZXNpc0ludGVydmFsID0gNV9zOwogCiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lz
U3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewogcHVibGljOgotICAgIGV4cGxp
Y2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRl
KT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNT
ZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVz
aXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sg
PSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBE
ZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAg
ICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwg
bV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rp
dml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAgICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAg
ICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRv
dWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDg4MTgxZDMwNTdmNDY4OTRkZmViOWE5Nzdh
NTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1MzVlNzk4YTBkMGU4MDBlMzhiZjZkOTQyOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBA
IHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShTY3JvbGxiYXIqIHNjcm9sbGJhcikKICAgICBy
ZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPj0gdGh1bWJQb3MgJiYgc2Nyb2xsYmFyLT5w
cmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1iTGVuZ3RoOwogfQogCi12b2lkIFNjcm9sbGJh
cjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjph
dXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSkKIHsKICAgICAvLyBEb24ndCBkbyBh
bnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5vdGhpbmcgd2FzIHByZXNzZWQuCiAgICAgaWYg
KG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8IG1fcHJlc3NlZFBhcnQgPT0gTm9QYXJ0KQpA
QCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQo
ZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRpbWVySWZOZWVkZWQoZGVsYXkpOwogfQogCi12
b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKK3ZvaWQgU2Ny
b2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxheSkKIHsKICAgICAvLyBEb24n
dCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgogICAgIGlmIChtX3ByZXNzZWRQYXJ0ID09IFRo
dW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklm
TmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBt
X3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAgbV9zY3JvbGxUaW1lci5zdGFy
dE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIFNjcm9sbGJhcjo6c3RvcFRpbWVy
SWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAppbmRleCBmODZhOTYyYWZl
MDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFhLi5hMjM2YzdlOGViMTI3YWVhMzc1NjUyM2Vi
ZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaApAQCAtMTQ0
LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGh1bWJQcm9w
b3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZpcmVkKCk7Ci0gICAgdm9pZCBz
dGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIHN0YXJ0VGltZXJJZk5l
ZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1lcklmTmVlZGVkKCk7Ci0gICAg
dm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KTsKKyAgICB2b2lkIGF1dG9z
Y3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KTsKICAgICBTY3JvbGxEaXJlY3Rpb24gcHJl
c3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAgICBTY3JvbGxHcmFudWxhcml0eSBwcmVzc2Vk
UGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2JhNGEwZTNhMGRmYjQ3NjFkZDRhNjU3NWVkYmMu
LmZkYzVmOGQ1ZDY0NWRmMzJmNjAyOTFmNTQ2MGJlNTkzMmRkYzQ4NzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMTA1LDggKzEwNSw4IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFnZXMoKSB7IHJldHVybiBzdGQ6
Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBpbml0
aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1OyB9Ci0gICAgdmlydHVhbCBk
b3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjA1OyB9CisgICAgdmlydHVh
bCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAuMjVfczsg
fQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIDAu
MDVfczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNTkxMTk3OGFlZWMxOGYwODNmZGJmODVmMWFm
M2VkMjQxNzkwMTE2NS4uODczNTk0MmZiNjkwNTk2NDRjNGZhZWNiOTQ0NDI2YWUyZmYyMTZiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250LCBGb250RGVzY3JpcHRpb24m
KSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAgCiAgICAgLy8gSG93IGZhc3Qg
dGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJl
dEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29u
ZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41X3M7IH0KIAogICAgIC8v
IE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdlZAogICAgIHZpcnR1YWwgdm9p
ZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZFRpbWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
Y3BwCmluZGV4IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFhMTBmY2ZkYmNhNDQuLjZhMTg3
N2YxMzZmZTE3OWMxODMzZGRjMDRlN2IyNjcxYjc5YmYyMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhyZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlRpbWVy
LmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiAjaWYgUExBVEZPUk0oSU9T
KQogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcgKzQ0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVuZ3RoIG9mIHRpbWUsIGFuZCB0
aGVuIHF1aXQgdG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVzZXIgaW5wdXQgZXZlbnRzLgog
Ly8gMTAwbXMgaXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBpbiBVSSwgc28gdXNlIGEgaGFs
ZiBvZiB0aGF0IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0byBwcmV2ZW50IFVJIGZyZWV6
ZSB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFjaGluZSBwZXJmb3JtYW5jZSBp
cyBsb3cuCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSAw
LjA1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9uT2ZGaXJpbmdUaW1lcnMgPSA1
MF9tczsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVkIGFuZCBmaXJlZCBvbiB0aGUg
c2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93biBUaHJlYWRUaW1lcnMKIC8v
IGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3VycmVudGx5IGZpcmluZyB0aW1l
cnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgbWF4RHVyYXRpb25PZkZp
cmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJlYWRUaW1lcnMoKQogICAgIDog
bV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMoZmFsc2UpCi0gICAgLCBtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYgKGlzVUlUaHJlYWQoKSkKICAg
ICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c2luZ2xldG9uKCkp
OwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6c2V0U2hhcmVkVGltZXIoU2hh
cmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJlZFRpbWVyKSB7CiAgICAgICAg
IG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0cik7CiAgICAgICAgIG1fc2hh
cmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9
IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgfQog
ICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFyZWRUaW1lcjsKQEAgLTgxLDE4ICs4MSwxOCBA
QCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIoKQogICAgICAgICByZXR1cm47
CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1RpbWVycyB8fCBtX3RpbWVySGVhcC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAg
IG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgICAgIG1fc2hhcmVkVGlt
ZXItPnN0b3AoKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUgbmV4dEZpcmVUaW1lID0g
bV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7Ci0gICAgICAgIGRvdWJsZSBjdXJy
ZW50TW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAgICAg
ICBhdXRvIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0KCktPm1fbmV4dEZpcmVUaW1l
OworICAgICAgICBhdXRvIGN1cnJlbnRNb25vdG9uaWNUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKSB7CiAgICAgICAg
ICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlmIGJvdGggdGhlIHBlbmRpbmcg
ZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4gdGhlIHBhc3QuCiAgICAgICAg
ICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8PSBjdXJyZW50TW9ub3Rvbmlj
VGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25pY1RpbWUpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50
ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBjdXJyZW50TW9ub3RvbmljVGlt
ZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoc3RkOjpt
YXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90b25pY1RpbWUsIDBfcykpOwog
ICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBUaHJlYWRUaW1lcnM6OnNoYXJl
ZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5nVGltZXJzKQogICAgICAgICBy
ZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAgIG1fcGVuZGluZ1NoYXJlZFRp
bWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07
CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
LSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4RHVyYXRpb25PZkZpcmluZ1Rp
bWVyczsKKyAgICBhdXRvIGZpcmVUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgYXV0
byB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9mRmlyaW5nVGltZXJzOwogCiAg
ICAgd2hpbGUgKCFtX3RpbWVySGVhcC5pc0VtcHR5KCkgJiYgbV90aW1lckhlYXAuZmlyc3QoKS0+
bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRpbWUpIHsKICAgICAgICAgVGltZXJCYXNlKiB0aW1lciA9
IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0gICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IDA7
Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGltZSA9IDA7CisgICAgICAgIHRp
bWVyLT5tX25leHRGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsKKyAgICAgICAgdGltZXItPm1f
dW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgpOwogICAgICAgICB0aW1lci0+
aGVhcERlbGV0ZU1pbigpOwogCi0gICAgICAgIGRvdWJsZSBpbnRlcnZhbCA9IHRpbWVyLT5yZXBl
YXRJbnRlcnZhbCgpOwotICAgICAgICB0aW1lci0+c2V0TmV4dEZpcmVUaW1lKGludGVydmFsID8g
ZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDApOworICAgICAgICBTZWNvbmRzIGludGVydmFsID0gdGlt
ZXItPnJlcGVhdEludGVydmFsKCk7CisgICAgICAgIHRpbWVyLT5zZXROZXh0RmlyZVRpbWUoaW50
ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogTW9ub3RvbmljVGltZSgpKTsKIAogICAgICAg
ICAvLyBPbmNlIHRoZSB0aW1lciBoYXMgYmVlbiBmaXJlZCwgaXQgbWF5IGJlIGRlbGV0ZWQsIHNv
IGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0IGFmdGVyIHRoaXMgcG9pbnQuCiAgICAgICAgIHRpbWVy
LT5maXJlZCgpOwogCiAgICAgICAgIC8vIENhdGNoIHRoZSBjYXNlIHdoZXJlIHRoZSB0aW1lciBh
c2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBhIG5lc3RlZCBldmVudCBsb29wLCBvciB3ZSBhcmUgb3Zl
ciB0aW1lIGxpbWl0LgotICAgICAgICBpZiAoIW1fZmlyaW5nVGltZXJzIHx8IHRpbWVUb1F1aXQg
PCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAgICAgaWYgKCFtX2ZpcmluZ1Rp
bWVycyB8fCB0aW1lVG9RdWl0IDwgTW9ub3RvbmljVGltZTo6bm93KCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICB9CiAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6Zmly
ZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIAogICAgIGlmIChtX3NoYXJlZFRpbWVyKSB7CiAg
ICAgICAgIG1fc2hhcmVkVGltZXItPmludmFsaWRhdGUoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hh
cmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSB7IH07CiAgICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGltZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIxZTgyNjY2MmU5YWJiMzA0ZTM4
M2YxN2IxZTcyOWE5Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2ZWM2OTE3MzlhODkwM2EwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpZm5kZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAorI2luY2x1
ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGltZXJIZWFwOwogICAgICAgICBT
aGFyZWRUaW1lciogbV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwgb2JqZWN0LCBjYW4gYmUgYSBy
dW4gbG9vcCBvbiBhIHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNldC9yZXNldCBieSB3b3JrZXIg
dGhyZWFkLgogICAgICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAvLyBSZWVudHJhbmN5IGd1YXJk
LgotICAgICAgICBkb3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZTsKKyAgICAgICAg
TW9ub3RvbmljVGltZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lOwogICAgIH07CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZlN2NjNTU4OTEyOTQ3NDYzOTc2
ZDhkMTg1ZjkxMTE0YmJhLi44ODg0YTE0NjVmNGQ2ZjI4M2RhOWI3ZTkyMTU3MTg3ODVkZDlmNjI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIsOCArMTcyLDggQEAgaW5saW5l
IGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0b3IoKShjb25zdCBUaW1lckJh
c2UqIGEsIGNvbnN0IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFyaXNvbnMgYmVsb3cgYXJlICJi
YWNrd2FyZHMiIGJlY2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFyZ2VzdCAKICAgICAvLyBlbGVt
ZW50IGZpcnN0IGFuZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0byBiZSB0aGUgZmlyc3Qgb25l
IGluIHRoZSBoZWFwLgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsK
LSAgICBkb3VibGUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRpbWU7CisgICAgTW9ub3Rvbmlj
VGltZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIGJG
aXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChiRmlyZVRpbWUgIT0gYUZpcmVU
aW1lKQogICAgICAgICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVUaW1lOwogICAgIApAQCAtMTg2
LDExICsxODYsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNzVGhhbkZ1bmN0aW9uOjpvcGVy
YXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQogLy8gLS0tLS0tLS0tLS0tLS0t
LQogCiBUaW1lckJhc2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25leHRGaXJlVGltZSgwKQotICAg
ICwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1fcmVwZWF0SW50ZXJ2YWwoMCkK
LSAgICAsIG1faGVhcEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhl
YXAoMCkKKyAgICA6IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9jYWNoZWRUaHJlYWRHbG9iYWxU
aW1lckhlYXAobnVsbHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAgLCBtX3RocmVhZChjdXJyZW50
VGhyZWFkKCkpCiAgICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBAIC0yMDcsMzIgKzIwNCwzMiBA
QCBUaW1lckJhc2U6On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAKLXZvaWQgVGltZXJCYXNlOjpz
dGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9p
ZCBUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyByZXBl
YXRJbnRlcnZhbCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhy
ZWFkKG1fdGhyZWFkKSk7CiAKICAgICBtX3JlcGVhdEludGVydmFsID0gcmVwZWF0SW50ZXJ2YWw7
Ci0gICAgc2V0TmV4dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgbmV4
dEZpcmVJbnRlcnZhbCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWU6Om5vdygp
ICsgbmV4dEZpcmVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJCYXNlOjpzdG9wKCkKIHsKICAg
ICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAK
LSAgICBtX3JlcGVhdEludGVydmFsID0gMDsKLSAgICBzZXROZXh0RmlyZVRpbWUoMCk7CisgICAg
bV9yZXBlYXRJbnRlcnZhbCA9IDBfczsKKyAgICBzZXROZXh0RmlyZVRpbWUoTW9ub3RvbmljVGlt
ZSgpKTsKIAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAwKTsKLSAgICBBU1NFUlQobV9y
ZXBlYXRJbnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4dEZpcmVUaW1lKTsKKyAgICBB
U1NFUlQoIW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VSVCghaW5IZWFwKCkpOwogfQogCi1k
b3VibGUgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGltZXJC
YXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7
Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAg
ICBNb25vdG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBpZiAo
bV9uZXh0RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0
dXJuIDBfczsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBjdXJyZW50OwogfQogCkBAIC0y
NDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmNoZWNrSGVhcEluZGV4KCkg
Y29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25zaXN0ZW5jeSgpIGNvbnN0CiB7
CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBpZiBhbmQgb25seSBpZiB0aGV5
IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBBU1NFUlQoaW5IZWFwKCkgPT0g
KG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5IZWFwKCkgPT0gISFtX25leHRG
aXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBjaGVja0hlYXBJbmRleCgpOwog
fQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIHsKLSAgICBBU1NFUlQobV9u
ZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZpcmVUaW1lKTsKICAgICBjaGVj
a0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRhID0gdGltZXJIZWFwKCkuZGF0
YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvcihoZWFwRGF0YSksIFRpbWVySGVh
cEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwgVGltZXJIZWFwTGVzc1RoYW5G
dW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3Jl
YXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlKCkKIHsKLSAgICBB
U1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7
CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAgICBtX2hl
YXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6
aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIHsKLSAgICBB
U1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJUKCFtX25leHRGaXJlVGltZSk7
CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJlbW92ZUxhc3QoKTsKICAgICBt
X2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZvaWQgVGltZXJCYXNlOjpoZWFw
RGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwSW5jcmVhc2VLZXkoKQog
ewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAgICBBU1NFUlQobV9uZXh0Rmly
ZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVhc2VLZXkoKTsKIH0KQEAgLTI5
Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6OmhlYXBJbnNlcnQoKQogaW5saW5l
IHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBUZW1wb3JhcmlseSBmb3JjZSB0
aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdlIGNhbiBwb3AgaXQuCi0gICAg
ZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAgbV9uZXh0RmlyZVRpbWUgPSAt
c3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOworICAgIE1vbm90b25pY1Rp
bWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25leHRGaXJlVGltZSA9IC1Nb25v
dG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFzZUtleSgpOwogICAgIGhlYXBQ
b3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1lOwpAQCAtMzQ3LDcgKzM0NCw3
IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0
dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDEpICYmIGNo
aWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJbmRleDIpOwogfQogCi12b2lk
IFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQordm9pZCBUaW1l
ckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRpbWUpCiB7CiAgICAg
aWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0aW9uKCkpCiAgICAgICAgIHJl
dHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVl
ZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFwKCkgfHwgaGFzVmFsaWRIZWFw
UG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXROZXh0RmlyZVRpbWUoZG91Ymxl
IG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUg
bmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhyZWFk
KG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQpOwpAQCAtMzc5LDExICszNzYs
MTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShkb3VibGUgbmV3VGltZSkKICAg
ICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAmdGhyZWFkR2xvYmFsVGltZXJI
ZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUgY2hhbmdpbmcgdGhlIG5leHQt
ZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CisgICAgTW9u
b3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAgICAgLy8gRG9uJ3QgcmVhbGln
biB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkgewotICAgICAgICBpZiAoYXV0
byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNvbmRzVG9NUyhuZXdUaW1lKSkp
Ci0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3QWxpZ25lZFRpbWUudmFsdWUo
KSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0gYWxpZ25lZEZpcmVUaW1lKG5l
d1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWduZWRUaW1lLnZhbHVlKCk7CiAg
ICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpAQCAtNDE2LDEwICs0MTMsMTAg
QEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsKCkKICAgICBzZXRO
ZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwogfQogCi1kb3VibGUgVGltZXJC
YXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKK1NlY29uZHMgVGltZXJCYXNl
OjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNBY3Rp
dmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAgcmV0dXJuIHN0ZDo6bWF4KG1f
dW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6bm93KCksIDBfcyk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDUyYTE2
NmViYTJkMjMxOWQxNWExYjdlZDkwODJiNmIxNDMzZjNiMjQuLjMwZmQyMmQ5OGIwMmVlZDUxNjMw
YTdiNmY4ZTVmNTYyZTk4ODdjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisjaW5j
bHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgpAQCAt
NDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiBjbGFzcyBUaW1lckJhc2Ug
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlubGluZSBkb3VibGUgbXNUb1Nl
Y29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlvbikgeyByZXR1cm4gZHVyYXRp
b24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGluZSBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShkdXJhdGlv
biAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVGltZXJCYXNlKCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNlKCk7CiAKLSAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0SW50ZXJ2
YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVydmFsKTsgfQotICAgIHZvaWQg
c3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyByZXBlYXRJbnRlcnZhbCkg
eyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRlcnZhbCkpOyB9Ci0gICAgdm9p
ZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0UmVwZWF0aW5n
KHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFy
dChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpOwogCi0g
ICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAw
KTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50
ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICB2b2lk
IHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLnZhbHVlKCks
IDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFsKSB7
IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0YXJ0
T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwX3MpOyB9CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKICAgICBib29sIGlzQWN0aXZlKCkgY29uc3Q7
CiAKLSAgICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0OwotICAgIGRvdWJsZSBuZXh0
VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91YmxlIHJlcGVhdEludGVydmFs
KCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQotICAgIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsgcmV0dXJuIHNlY29uZHNUb01T
KHJlcGVhdEludGVydmFsKCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoZG91
YmxlIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJlVGltZSArIGRlbHRhKTsgfQot
ICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRl
bHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZv
aWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2
YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICBTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwoKSBjb25z
dDsKKyAgICBTZWNvbmRzIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBT
ZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsg
fQogCi0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IGF1Z21l
bnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFsICs9IGRlbHRhOyB9Ci0gICAg
dm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWx0
YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMoZGVsdGEpKTsgfQotICAgIHZv
aWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdElu
dGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgdm9pZCBhdWdtZW50RmlyZUludGVydmFsKFNl
Y29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZpcmVUaW1lICsgZGVsdGEpOyB9
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50
RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCArPSBkZWx0YTsgfQogCiAgICAg
dm9pZCBkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBAIC04OCwxNyArNzQsMTcgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmlyZWQoKSA9IDA7CiAKLSAgICB2
aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4gYWxpZ25lZEZp
cmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsgfQorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb25vdG9uaWNUaW1lPiBhbGlnbmVk
RmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3QgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAK
ICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAgICB2b2lkIGNoZWNrSGVhcElu
ZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGltZShkb3VibGUpOworICAgIHZv
aWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAgICAgYm9vbCBpbkhlYXAoKSBj
b25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAgICAgYm9vbCBoYXNWYWxpZEhl
YXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1lIG9sZFRp
bWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAgICB2b2lkIGhlYXBEZWxldGUo
KTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8VGltZXJCYXNlKj4m
IHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFw
KTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsgfQogCi0gICAgZG91Ymxl
IG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAgZG91YmxlIG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50
IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7IC8vIDAgaWYgbm90IHJlcGVh
dGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7IC8vIDAgaWYgaW5hY3RpdmUK
KyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJl
VGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCisgICAgU2Vjb25kcyBtX3Jl
cGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAgICBpbnQgbV9oZWFwSW5kZXg7
IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9oZWFwSW5zZXJ0aW9uT3JkZXI7
IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJlLXRpbWUgdGltZXJzCiAgICAg
VmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcDsKQEAgLTE1
OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6aXNBY3RpdmUoKSBjb25zdAog
I2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkgfHwgcHRocmVhZF9tYWluX25w
KCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNlbmRpZiAvLyBQTEFURk9STShJ
T1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJldHVybiAhIW1fbmV4dEZpcmVU
aW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVyIDogcHJvdGVjdGVkIFRpbWVy
QmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVGltZXJGaXJlZENsYXNzPgot
ICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQg
KFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENsYXNzJiBvYmpl
Y3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBTZWNvbmRzIGRlbGF5KQog
ICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpiaW5kKGZ1bmN0aW9uLCAmb2Jq
ZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIo
c3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0ZDo6ZnVuY3Rpb248dm9pZCAo
KT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDogbV9mdW5jdGlvbihXVEZNb3Zl
KGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQogICAgICAgICAsIG1fc2hvdWxk
UmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcgKzE5OCw3IEBAIHByaXZhdGU6
CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rpb247CiAKLSAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25kcyBtX2RlbGF5OwogICAgIGJv
b2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUwMTkxNDRhMjFmZjRkM2RjMGUx
OGY5ZmM5MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlmMWU1ODNmNWM5MGM4ZDc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5jcHAKQEAgLTQwLDcgKzQwLDcg
QEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRvbigpCiBWTm9kZVRyYWNrZXI6
OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2
ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZlbnQ6OkluY3JlbWVudCkgY2hl
Y2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJlV2FybmluZ1RpbWVyKCp0aGlz
LCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKQotICAgICwgbV9sYXN0
V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCisgICAgLCBtX2xh
c3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsKICAgICBwbGF0Zm9ybUluaXRp
YWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5vZGVUcmFja2VyOjpwcmVzc3Vy
ZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNvdW50ZXIudmFsdWUoKSA8PSBt
X3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xhc3RXYXJuaW5nVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFdhcm5pbmdU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWduZWQgdm5vZGVDb3VudCA9IG1f
dm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNhbCA9IHZub2RlQ291bnQgPiBt
X2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRpY2FsOjpObzsKICAgICBtX3By
ZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9yeVByZXNzdXJlLCAidm5vZGUg
cHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBvZiAldSAoY3JpdGljYWwgcHJl
c3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRlci52YWx1ZSgpLCB2bm9kZUNv
dW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIgOiAiTm8iKTsKIH0KIAotc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5leHRQcmVzc3VyZVdhcm5pbmdJ
bnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2Fybmlu
Z0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhlIHZub2RlIHByZXNzdXJlIGhh
bmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0YXRpYyBjb25zdCBhdXRvIG1p
bmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMwIH07Ci0gICAg
YXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11
bVdhcm5pbmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9
IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CiAgICAgaWYgKHRpbWVT
aW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZhbCkKLSAgICAgICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KG1p
bmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2FybmluZyk7Ci0gICAgcmV0dXJu
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAgICAgIHJldHVybiBtaW5pbXVt
V2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7CisKKyAgICByZXR1cm4gMF9z
OwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRy
YWNrZXIuaAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4NWFiZmUxODI2MGY0YTI0Li4w
NGZiMzc5NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHByZXNzdXJlV2FybmluZ1RpbWVy
RmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG5leHRQcmVzc3VyZVdhcm5p
bmdJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFByZXNzdXJlV2FybmluZ0ludGVy
dmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCkBAIC02Miw3
ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVyIG1fcHJlc3N1cmVIYW5kbGVy
OwogICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAgICBUaW1lciBtX3ByZXNzdXJl
V2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQg
bV9sYXN0V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RXYXJuaW5nVGltZTsK
IH07CiAKIGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJlc3N1cmVIYW5kbGVyKFByZXNz
dXJlSGFuZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2NzY2OWEyMDYwODQ4Y2M2ODEy
Y2Y0NmU0Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4ZDRjNDBjNzkzNjgxNjE1ZWI4
OTk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJpbmdUaW1lclRocm90dGxlRGVs
YXkgPSAwLjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVmZmVyaW5nVGltZXJUaHJvdHRs
ZURlbGF5ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBzdGF0aWMgY29uc3QgY2hhciog
c3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBzdGF0ZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCmluZGV4IDNlMThk
NGJmMDNiZjVlN2Y4NDExY2FjZDkzMTg3NWY1YjIxNzY3OTguLjhjMGE0YzYyOTkyMzBkNWZmM2Rk
YTVmYWY2YTBkMTczODUzYTgxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNDExLDcgKzQxMSw3IEBAIGJvb2wgU2Nyb2xs
Q29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0CiB2b2lkIFNjcm9sbENv
bnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7CiAgICAgbV9jbGllbnQuc3Rh
cnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnViYmVyYmFuZFRpbWVyLnN0YXJ0
UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJlcmJhbmRUaW1lci5zdGFydFJl
cGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2NsaWVudC5kZWZlclRlc3RzRm9y
UmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxl
QXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OlJ1YmJlcmJhbmRJ
blByb2dyZXNzKTsKIH0KQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lkIFNjcm9sbENvbnRyb2xsZXI6
OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSA9IDc1MF9tczsKLSAg
ICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Nj
cm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheSk7CiAgICAgc3RhcnREZWZl
cnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApAQCAtNjEwLDcgKzYxMCw3IEBA
IHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIoKQogCiAgICAgc3Rh
cnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKICAgICBtX2NsaWVudC5zdGFy
dFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5n
KDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29u
ZHMoMS4wIC8gNjApKTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9sbGVyOjpzdG9wU2Nyb2xsU25h
cFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29j
b2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZFByb3ZpZGVyLm1tCmluZGV4
IDZhNTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlkOTAuLmU0YzQyMjE2MjNlMWM4
MDA4NTdiMGVhNmM2NTBlZGVmZGNmYTQ0MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZ
X0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERpc2Nvbm5lY3ROb3RpZmljYXRp
bwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1zOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2X21zOwogCiBHYW1lQ29udHJvbGxlckdh
bWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXI6OnNpbmdsZXRvbigp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURH
YW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9tYWMv
SElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlhMDUwZDE4YWE4NzA4OWU5NThlODEy
MTRlMWNkZmIxNGViLi4xYzZiNWQ4M2E4YTkwMzQ4MzUwOTQyNTEzMTMyNmU5Y2Y5YTczMjRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL21hYy9ISURHYW1lcGFk
UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvbWFjL0hJ
REdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25EZWxheUludGVydmFsID0gMC41
Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMC4wNTsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUludGVydmFsID0gMC41X3M7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5ID0gMC4wNV9zOwogCiBzdGF0
aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0Y2hpbmdEaWN0aW9uYXJ5KHVp
bnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBAIC0yMDEsNyArMjAxLDcgQEAg
dm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKElPSElERGV2aWNlUmVmIGRldmlj
ZSkKICAgICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gdGVsbCB0aGUgY2xpZW50IGFib3V0
IGFueSBvZiB0aGVtLgogICAgICAgICAvLyBUaGUgbV9jb25uZWN0aW9uRGVsYXlUaW1lciBmaXJl
cyBpbiBhIHN1YnNlcXVlbnQgc3BpbiBvZiB0aGUgcnVubG9vcCBhZnRlciB3aGljaAogICAgICAg
ICAvLyBhbnkgY29ubmVjdGlvbiBldmVudHMgYXJlIGFjdHVhbCBuZXcgZGV2aWNlcy4KLSAgICAg
ICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY29u
bmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICAgICAgTE9HKEdhbWVw
YWQsICJEZXZpY2UgJXAgd2FzIGFkZGVkIHdoaWxlIHN1cHByZXNzaW5nIGNhbGxiYWNrcywgc28g
dGhpcyBzaG91bGQgYmUgYW4gJ2FscmVhZHkgY29ubmVjdGVkJyBldmVudCIsIGRldmljZSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFpblRocmVhZFNoYXJl
ZFRpbWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL01haW5UaHJlYWRT
aGFyZWRUaW1lckdMaWIuY3BwCmluZGV4IDI4NGY4YjE3ZWNkNjljMGMxNzIwMmExYzFhNDhkNjY2
MGRhNjI3ZjIuLmJiMzZhOGYxZGRiN2JhNWQ1ZTVlYTQ5ZjkwZGFmNjk0NGU4NDkwZjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFpblRocmVhZFNoYXJlZFRpbWVy
R0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9NYWluVGhyZWFkU2hh
cmVkVGltZXJHTGliLmNwcApAQCAtNDIsNyArNDIsNyBAQCBNYWluVGhyZWFkU2hhcmVkVGltZXI6
Ok1haW5UaHJlYWRTaGFyZWRUaW1lcigpCiB2b2lkIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c2V0
RmlyZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAgQVNTRVJUKG1fZmlyZWRGdW5j
dGlvbik7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwudmFsdWUoKSk7CisgICAg
bV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogfQogCiB2b2lkIE1haW5UaHJlYWRTaGFy
ZWRUaW1lcjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5jcHAKaW5kZXggMGFjNjNmYjQ3MmQzMTdhZDlhOTk3YTMyODFhZGU5ZTcwNWI0
YzEzZC4uN2VmYzM5ZDcwZjg1NWNmMzU0NjhkYWU4MWMzODI0OGI0ZWI1YWNmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMjIx
LDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGltZXIoKQogICAgIG1fZnJhbWVU
aW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6OnN0YXJ0VGltZXIoZG91Ymxl
IGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihTZWNvbmRzIGRlbGF5KQogewog
ICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1lVGltZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZhbmNlQW5pbWF0aW9uKTsKQEAg
LTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmltYXRpb25SZXN1bHQgQml0bWFw
SW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgIH0KIAogICAgIEFTU0VSVCghbV9m
cmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGlt
ZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lU3RhcnRUaW1lIC0gdGlt
ZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlvblJlc3VsdDo6U3RhcnRlZDsKIH0KIApAQCAt
Mjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFuY2VBbmltYXRpb24oKQogICAg
ICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogICAgICAg
ICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0aW1lIGZyb20gbm93IHRpbGwg
dGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAgaWYgKG1fZGVzaXJlZEZyYW1l
RGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBtX2Rlc2lyZWRGcmFtZVN0YXJ0
VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNpcmVkRnJhbWVEZWNvZGVUaW1l
Rm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVz
aXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKSk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaAppbmRleCA0MTI0ZmE2NTM0ZDEwODI3NzhhNmVkZWI0MGE5OTJiNjg0
NzZhYjM1Li44Njg2ZDNhZTk4Yzg3N2I1ZmIxNWU2N2Q4NjY4NTg5MzVjYjkzNjgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTE4Niw3
ICsxODYsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhclRpbWVyKCk7
Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxheSk7CisgICAgdm9pZCBzdGFydFRpbWVy
KFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRtYXBJbWFnZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAoVGV4dFN0cmVhbSYpIGNvbnN0IG92ZXJy
aWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTljZjE1ZGM3ZmFlMDZjNjFiNjBjLi5mNTYyOWQ4
YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0MzdkNDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMyOSw3ICszMjksNyBAQCBjb25z
dCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQcmVzc3VyZUluYWN0aXZlRm9udERhdGEgPSAz
MDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBjb25z
dCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFu
dFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9vbCBjaGVja2luZ0FsdGVybmF0
ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9w
dXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgICAgICBtX3B1cmdlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiBwbGF0Zm9ybURhdGEgPSBnZXRD
YWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCBmb250RmFjZUZl
YXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tpbmdBbHRlcm5hdGVOYW1lKTsK
ICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKaW5kZXgg
NDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIwNi4uNWUwN2M1Zjc3ZjMwYjE5
NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlci5jcHAK
QEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihDbGllbnQmIGNsaWVudCkKICAg
ICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRkMTRhM2Y0NGNkODA3NGQyZjhi
YmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAxODg0NTZhNWI1NThhY2ZiYWU5NTg4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApA
QCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6bmV0d29ya1N0YXRlQ2hhbmdl
ZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkgPj0gRm9ybWF0RXJyb3IgJiYg
bV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEpIHsKICAgICAgICAgbV9jbGll
bnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAgICAgICAgaWYgKGluc3RhbGxl
ZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVudE1JTUVUeXBlLmlzRW1wdHko
KSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlhRW5naW5lKSkpIHsKLSAgICAg
ICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9yZWxv
YWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
fQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1No
YWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1
ci5jcHAKaW5kZXggMzI5Y2ExMDA5YmNhOGRhMWE4Y2UxMDExODIwMzUwZmZlOTk0YTNmOS4uYjM0
MDQyYWM1YmI3Y2VmNWE5NDNiMTk1OGEyMjA4MzRkNDkxYmVlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBA
QCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAg
ICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29uc3QgZG91YmxlIHNjcmF0Y2hC
dWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3QgYXV0byBzY3JhdGNoQnVmZmVy
UHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdChz
Y3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9u
R3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmluZGV4IDZlZThiYzRlZmIzMTdh
YmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLjhkZWUwOWNlMDg2YWRhZjViZTI3YzIwMDhhY2Iy
NWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1lZGlhU2VsZWN0aW9uR3JvdXBB
VkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBjaGFyYWN0ZXJpcwog
CiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJyZWRPcHRpb24pKTsKICAgICBt
X3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJyZWRPcHRpb24pOwotICAgIG1f
c2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNl
dFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyogb3B0aW9uKQpAQCAt
MTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNldFNlbGVj
dGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoKICAgICBtX3NlbGVjdGVkT3B0
aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVyLmlzQWN0aXZlKCkpCiAgICAg
ICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZiYTY0YTc5ODYzNjNkMjgzZWQ0
ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFmNGMzZTU3OTBiNjY3ZGQ2ZmI2YjYyYjY4MDI3Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3ICsyMjgsNyBAQCBNZWRpYVBs
YXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBvdXRwdXRDb2RlY3MgPSBbZ2V0QVZTdHJlYW1EYXRh
UGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJGb3JJbnB1dE1JTUVDb2RlY1Bh
cmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcgKnR5cGVTdHJpbmcgPSBbTlNT
dHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIlQFwiIiwgKE5TU3RyaW5nICop
cGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2RlY3NdOwotICAgIHJldHVybiBb
Z2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmlu
Z10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0
ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVk
TUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBs
YXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFyayAtCkBAIC0zOTYsNyArMzk2
LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnNlZWtXaXRo
VG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlmIChtX3NlZWtUaW1lci5pc0Fj
dGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0gICAgbV9zZWVrVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla0ludGVybmFsKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9v
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9MYXllclBvb2wuY3Bw
CmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIwNzIzNTAwMThhZGM0YmNkYjg0NWYuLjBjYzRmYWM1
OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBhZjk3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApAQCAtMTEwLDcgKzExMCw3IEBA
IHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKCkKIHsKICAgICBpZiAobV9wcnVuZVRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BydW5lVGltZXIuc3RhcnRPbmVT
aG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMV9zKTsKIH0KIAogdm9pZCBM
YXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKaW5kZXggZTQyNWI4MmY4MDM0
NzQ3ZWFmZWMxOGU4MGUwZTk2OGFmZDVjMDQ3Ny4uYmM5NDk2MTNlNjk1MTQ0MjIyM2UzNGZiOGRl
NTNjMjkxOTIwZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtNDksNyArNDksNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbGVTaXplVXBkYXRlRGVsYXkgPSBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0
aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7CiAKIFN0cmluZyBUaWxlQ29udHJvbGxlcjo6dGls
ZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgVGls
ZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2luZG93KQogICAgIGlmIChtX2lz
SW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRpbGVzKCk7CiAgICAgZWxzZSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9uVGltZW91dCA9IDQ7CisgICAg
ICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVvdXQgPSA0X3M7CiAgICAgICAg
IHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0aW9uVGltZW91dCk7CiAgICAg
fQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVD
b3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0CiAjZW5kaWYK
IH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKGRvdWJs
ZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVkdWxlVGlsZVJldmFsaWRhdGlv
bihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVSZXZhbGlkYXRpb25UaW1lci5p
c0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5leHRGaXJlSW50ZXJ2YWwoKSA8
IGludGVydmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRleCA4Yzg0YzdjYzkyNzY2YzQ2
Zjk3NTkxMTcxMWY4OTdiZGViYjE4ZGE4Li44Y2FlNDQ3NzgzZmJkMGQ0N2RlNDVmYzg1Y2FkZTdk
YjgzMTY2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICptX3RpbGVHcmlkOyB9CiAKLSAg
ICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUgaW50ZXJ2YWwpOworICAgIHZv
aWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50ZXJ2YWwpOwogCiAgICAgYm9v
bCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2luZG93OyB9CiAgICAgZmxvYXQg
dG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFn
ZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ292ZXJh
Z2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFhZjAzYzk4OThmZmJiMTcxNWMu
LjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjliMTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvdmVyYWdlTWFwLmNw
cApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5UaWxlQ292ZXJhZ2VNYXAoKQog
dm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBk
YXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQg
VGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRleCAyOGYyOWNiZGU4ZTIxZjcx
ODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi4yM2IzOGE3YzIyNzBiZmIxMzc5YzcyMTVhZDljYTFm
Y2FmMjcyYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0
ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgVGlsZUNv
aG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAgICB1bnNpZ25lZCB0aWxlc0lu
Q29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlv
biA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CisgICAgU2Vjb25kcyBtaW5p
bXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAg
Ym9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAgICAKICAgICBhdXRvIHRpbGVT
aXplID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEsOCArMzgxLDggQEAgdm9pZCBU
aWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Q
b2xpY3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hvcnQgOiBtX2NvaG9ydExpc3Qp
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hvcnQgIT0gdGlsZUluZm8uY29o
b3J0KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29ob3J0LnRpbWVVbnRpbEV4cGly
YXRpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVVbnRpbENvaG9ydEV4cGlyZXMg
PiAwKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdGltZVVudGlsQ29ob3J0RXhwaXJlcyA9
IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIGlmICh0
aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMF9zKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBt
aW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bWluKG1pbmltdW1SZXZhbGlk
YXRpb25UaW1lckR1cmF0aW9uLCB0aW1lVW50aWxDb2hvcnRFeHBpcmVzKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IHRydWU7CiAgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZQpAQCAtNDc4LDcgKzQ3OCw3IEBAIFRpbGVHcmlkOjpUaWxlQ29ob3J0IFRp
bGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnN0YXJ0ZWRO
ZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hvcnQpCiB7Ci0gICAgbV9jb2hvcnRMaXN0LmFwcGVuZChU
aWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKSk7Cisg
ICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIE1vbm90b25pY1Rp
bWU6Om5vdygpKSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmICghbV9jb250cm9sbGVyLmlz
SW5XaW5kb3coKSkKICAgICAgICAgdGlsZUNvbnRyb2xsZXJNZW1vcnlIYW5kbGVyKCkudGlsZUNv
bnRyb2xsZXJHYWluZWRVbnBhcmVudGVkVGlsZXMoJm1fY29udHJvbGxlcik7CkBAIC00OTcsMTcg
KzQ5NywxNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3JpZDo6b2xkZXN0VGlsZUNvaG9y
dCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29ob3J0UmVtb3ZhbCgpCiB7Ci0g
ICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29uZHMgPSAxOworICAgIGNvbnN0
IGF1dG8gY29ob3J0UmVtb3ZhbEludGVydmFsID0gMV9zOwogCiAgICAgLy8gU3RhcnQgdGhlIHRp
bWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5vdyBpZiBpdCdzIGFscmVhZHkgYWN0
aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29ob3J0UmVtb3ZhbFRpbWVyU2Vj
b25kcyk7CisgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0YXJ0UmVwZWF0aW5nKGNvaG9y
dFJlbW92YWxJbnRlcnZhbCk7CiB9CiAKLWRvdWJsZSBUaWxlR3JpZDo6VGlsZUNvaG9ydEluZm86
OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3JpZDo6VGlsZUNvaG9ydEluZm86
OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBjb2hvcnRMaWZlVGltZVNlY29u
ZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAgY29uc3QgU2Vjb25kcyBjb2hv
cnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3RvbmljVGltZSB0aW1lVGhyZXNob2xk
ID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGltZTsKICAgICByZXR1cm4gY3Jl
YXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4LDcgKzUxOCw3IEBAIHZvaWQg
VGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHkoKSAmJiBtX2NvaG9ydExpc3Qu
Zmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7CisgICAgd2hpbGUgKCFtX2NvaG9y
dExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgpLnRpbWVVbnRpbEV4cGlyYXRp
b24oKSA8IDBfcykgewogICAgICAgICBUaWxlQ29ob3J0SW5mbyBmaXJzdENvaG9ydCA9IG1fY29o
b3J0TGlzdC50YWtlRmlyc3QoKTsKICAgICAgICAgcmVtb3ZlVGlsZXNJbkNvaG9ydChmaXJzdENv
aG9ydC5jb2hvcnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9UaWxlR3JpZC5oCmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIzYzc1NWQ4NzgyYzQyYWEwZGU1
NzY1MWQuLjQyNjkzNzc0YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVlOThhZTBjNGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaApAQCAtMTIxLDEz
ICsxMjEsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBUaWxlQ29ob3J0SW5mbyB7CiAgICAg
ICAgIFRpbGVDb2hvcnQgY29ob3J0OwotICAgICAgICBkb3VibGUgY3JlYXRpb25UaW1lOyAvLyBp
biBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAgICAgVGlsZUNvaG9ydEluZm8o
VGlsZUNvaG9ydCBpbkNvaG9ydCwgZG91YmxlIGluVGltZSkKKyAgICAgICAgTW9ub3RvbmljVGlt
ZSBjcmVhdGlvblRpbWU7CisgICAgICAgIFRpbGVDb2hvcnRJbmZvKFRpbGVDb2hvcnQgaW5Db2hv
cnQsIE1vbm90b25pY1RpbWUgaW5UaW1lKQogICAgICAgICAgICAgOiBjb2hvcnQoaW5Db2hvcnQp
CiAgICAgICAgICAgICAsIGNyZWF0aW9uVGltZShpblRpbWUpCiAgICAgICAgIHsgfQogCi0gICAg
ICAgIGRvdWJsZSB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAgIFNlY29uZHMgdGltZVVu
dGlsRXhwaXJhdGlvbigpOwogICAgIH07CiAKICAgICB2b2lkIHJlbW92ZUFsbFRpbGVzKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQ
b29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBv
b2wuY3BwCmluZGV4IGI4MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVjM2E4YTBmZTBiZmYxNDguLmY5
NGY0YTE0NzA0NzcyZTg4MjFkYWJmNjEzZTM4NzQwM2U5MzJhY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCkBAIC0z
Myw4ICszMyw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ry
b3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGNvbGxlY3Rpb25JbnRl
cnZhbCA9IDUwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3VyZmFjZUFnZUJlZm9y
ZU1hcmtpbmdQdXJnZWFibGUgPSAyczsKK2NvbnN0IFNlY29uZHMgY29sbGVjdGlvbkludGVydmFs
ID0gMC41X3M7Citjb25zdCBTZWNvbmRzIHN1cmZhY2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxl
ID0gMl9zOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0ZXNDYWNoZWQgPSAxMDI0ICog
MTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3JlIHRoYW4gMS8yIG9mIHRoZSBj
YWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMsIGJlY2F1c2UKQEAgLTI4Myw3
ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3RJblVzZVN1cmZhY2VzKCkKIGJv
b2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUoKQogewogICAgIGJv
b2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1dG8gbWFya1RpbWUgPSBzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG1hcmtUaW1lID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZhY2VBbmREZXRhaWxzIDogbV9zdXJm
YWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFuZERldGFpbHMudmFsdWUuaGFzTWFy
a2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3YzU0Njk2ZDdiNWI1NjM5NWYzZjNl
MmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgyMDA2ZWJjOTRmZTEwOTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29s
LmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIDogaGFzTWFya2VkUHVy
Z2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAgICB2b2lkIHJlc2V0TGFzdFVzZVRp
bWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7IH0K
KyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0VXNlVGltZSA9IE1vbm90b25p
Y1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGlt
ZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBsYXN0VXNlVGltZTsK
ICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3ViaW1hZ2VDYWNoZVdpdGhUaW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0MDhiNGU4MzYzZjQ4ZTNlZDIzMGZm
ZDc2Li5kYmQzYjMyMDEyMDdiNTdmZjQ4MTg5NDg5MTEwNWNhNzA0NjlmMzc4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRp
bWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFn
ZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVDbGVhckRlbGF5ID0gc3RkOjpj
aHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3QgYXV0byBzdWJpbWFnZUNhY2hlQ2xl
YXJEZWxheSA9IDFfczsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3ViaW1hZ2VDYWNoZVNpemUgPSAz
MDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZWFkZGRkYThkYzQ2NDk1NmQ1NDA1MmUw
NWFkYTc3MDZkNDgzZjkxLi45OTNiZTU5ODY2Zjc2OTZhNmE5NTFmNzNmN2RkOTI0ZDcwZjFhN2Q2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApA
QCAtMzY3LDcgKzM2Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpjaGFu
Z2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAgIGlmIChuZXdTdGF0ZSA9PSBH
U1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIuaXNBY3RpdmUoKSkgewogICAg
ICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5IGluIHRoZSBSRUFEWSBzdGF0
ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgotICAgICAgICBz
dGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjA7CisgICAgICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5ID0gNjBfczsKICAgICAgICAg
bV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlTdGF0ZVRpbWVyRGVsYXkpOwog
ICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JFQURZKQogICAgICAgICBtX3Jl
YWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1OCw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZlcmluZygpCiAgICAgaWYgKHNo
b3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5hYmxpbmcgb24tZGlzayBidWZm
ZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxpbmUuZ2V0KCksICJmbGFncyIs
IGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAgICAgbV9maWxsVGltZXIuc3Rh
cnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4y
X3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygiRGlzYWJsaW5nIG9uLWRpc2sg
YnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3BpcGVsaW5lLmdldCgpLCAiZmxh
Z3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IDk2OTM2OWEzNWU3
OTcxNTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLmJlY2VmMjEzZmVmNDcxOWYzZWYwOTNjYTJj
ODk5ZTE0NjkzODE3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdzdFNhbXBsZSogc2FtcGxlKQog
I2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKICAgICBpZiAoIW1fcGxheWVy
LT5jbGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkpIHsK
ICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CkBAIC02NzUsNyArNjc1LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1wbGUqIHNhbXBsZSkKICAgICAg
ICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIo
bV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRp
b24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dT
dHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIxYjE1MjFjMDQxZjZiNzI3OTky
OC4uY2NjNjk0MTk5ZDE1YWQ4NTE3MDllYTdlOGZiNTJmNDM0YzY0MDVhOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJl
YW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAgIG1fc2luayA9IHNpbms7Ci0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2FpdChtX3NhbXBsZU11dGV4KTsK
ICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZhdGVRVEtpdC5t
bQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYwYzFlZjJmYjRmLi4xOTgyMzUx
OTJmYTJiODEzZWRjNGY1ZjdlOGNmZjdiMmQ2MWZjNDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL01lZGlhUGxheWVyUHJpdmF0
ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVRVEtp
dDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBpZiAobWF4TWVkaWFUaW1lU2Vl
a2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7CiAgICAgZWxzZSAKLSAgICAg
ICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAgIG1fc2Vla1RpbWVyLnN0YXJ0
KDBfcywgMC41X3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Ojpkb1NlZWso
KSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9C
aXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IDFiNDZmMzc1MjQ5ODkwN2UwMGJjMjgy
ZDJkOWQ2ZjFhZjczYjQ1OWUuLjkxYzAzMjQwODY3YjQ2ZWM5Yjk3NWRkMzQ4OWJmN2VjMWFhZDMw
ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9C
aXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMzQsNyArMzQsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIHNfcmVsZWFzZVVudXNlZFNlY29u
ZHNUb2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzX3JlbGVhc2VVbnVzZWRUZXh0
dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzX3JlbGVhc2VV
bnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAogI2lmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0dXJlUG9vbChSZWZQdHI8R3Jh
cGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDVlM2M4MmYxZjMzYWQ1MjkyNTA2Njg5NmM5
YzIxNGEzM2JmOGIzMDUuLjljMmIxMWIzZjhhMWE2YzdiZWRhZjhmNWM1MWU2MDUzODNjYzIyY2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAK
QEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1
ZmZlci5oIgogCiBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkU2Vjb25kc1RvbGVyYW5jZSA9
IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVyc1RpbWVySW50ZXJ2YWwgPSAw
LjU7Citjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZEJ1ZmZlcnNUaW1lckludGVydmFsID0g
MC41X3M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTYzLDcgKzE2Myw3IEBAIGJvb2wg
VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1bGVVcGRhdGVPbkNvbXBvc2l0
b3JUaHJlYWQoc3RkOjpmdW5jCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1fY29tcG9z
aXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRhdGVGdW5jdGlvbik7Ci0gICAg
bV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nv
bXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDU1ZWY5OTU0OWU2OTQyNjI0MTAzZDg4OGNiYzc1NGQ2
ZmI2ZDNlYy4uMGRjNjkyNWE1MTkxOTE4MTMyMmQ4YjZjNWM3MDAzMTU4NDFjOThkOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5j
cHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjph
ZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwKIAogICAgIG1f
bGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0g
ZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1hdGlvbnMuYWRkKFRleHR1cmVN
YXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0LCBib3hTaXplLCAqYW5pbSwg
bGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAwLCBUZXh0dXJlTWFwcGVyQW5p
bWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAgIG1fYW5pbWF0aW9uU3RhcnRl
ZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlvblN0YXJ0ZWRUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25zKCk7CiAgICAgcmV0dXJuIHRy
dWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1hZ2VC
YWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5ZWZjM2ZhYWVjNDMyMzM2YTYx
Li42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRlOGQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRp
bmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdlQmFja2luZy5jcHAKQEAgLTE0
NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNraW5nOjpyZWxlYXNlU3VyZmFj
ZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwogfQogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsKK3N0YXRpYyBjb25zdCBTZWNv
bmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25kcygzKTsKIAogdm9pZCBDb29y
ZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlmTmVlZGVkKGJvb2wmIGNoYW5n
ZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRkODdmOWZjMDlkZmNmMTIyYWMx
OTdjZDVlLi5iMjRjZmE2YTFmNTg3NjQ3MWE2NTBmMDZkZTZjYjE5NmQ0ODU3ODljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKQEAg
LTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3RrOjpvdmVybGF5U2Nyb2xsYmFy
QW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBjb25zdCBkb3VibGUgdGlja1Rp
bWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIG1pbmltdW1U
aW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRlbHRhVG9OZXh0RnJhbWUgPSBz
dGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGN1cnJl
bnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAgICBtX292ZXJsYXlTY3JvbGxi
YXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05leHRGcmFtZSk7CisgICAgICAg
IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKGRl
bHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92ZXJsYXlTY3JvbGxi
YXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvckd0azo6c2hv
d092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
VGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1cnJlbnQpIHsKICAgICAgICAg
bV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3Jl
YXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUg
PSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJh
cnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9u
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UKICAgICAgICAgaGlkZU92ZXJs
YXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBTY3JvbGxBbmltYXRv
ckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5OwogICAgIG1fb3Zl
cmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbiArIG92ZXJm
bG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBtX292ZXJsYXlTY3JvbGxiYXJB
bmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlk
ZURlbGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25IaWRlRGVsYXkpKTsKIH0KIAog
dm9pZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29udGVudEFyZWEoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KaW5kZXggNjZhMjZl
MWU2OGUzYzRkNTc3YWIzZWI1Njg1MThmYWM1OGY1OTY5ZS4uOWFjMDVmYzU1MTRlMTY0NjBjYmFj
N2E0NDdiYmE3OGQyMWE3MjlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
TGVnYWN5VGlsZUNhY2hlLm1tCkBAIC00MjAsNyArNDIwLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2Fj
aGU6OmZpbmlzaGVkQ3JlYXRpbmdUaWxlcyhib29sIGRpZENyZWF0ZVRpbGVzLCBib29sIGNyZWF0
ZU1vcmUKIAogICAgIC8vIEtlZXAgY3JlYXRpbmcgdGlsZXMgdW50aWwgdGhlIHdob2xlIGNvdmVy
UmVjdCBpcyBjb3ZlcmVkLgogICAgIGlmIChjcmVhdGVNb3JlKQotICAgICAgICBtX3RpbGVDcmVh
dGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OnRpbGVDcmVhdGlv
blRpbWVyRmlyZWQoKQpAQCAtNzgyLDcgKzc4Miw3IEBAIHZvaWQgTGVnYWN5VGlsZUNhY2hlOjpz
ZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgICAgICBy
ZXR1cm47CiAgICAgbV9pc1NwZWN1bGF0aXZlVGlsZUNyZWF0aW9uRW5hYmxlZCA9IGVuYWJsZWQ7
CiAgICAgaWYgKG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQpCi0gICAgICAgIG1f
dGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbGVDcmVhdGlv
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIExlZ2FjeVRpbGVDYWNoZTo6aGFz
UGVuZGluZ0RyYXcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Ny
b2xsYmFyVGhlbWVJT1MuaAppbmRleCA3NTZkNDA2MDdmNTYzYTZjZTU5OGUyOWJiMjdiNDBlOTU1
ZWJhNjFmLi5hY2NkMjljMTA2MDM2N2UwZmMwZmZmNjhkNTNkNDM0N2EwNzRiMWUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaApAQCAtNDEs
OCArNDEsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBzdXBwb3J0c0NvbnRyb2xUaW50cygp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0
b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlk
ZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1BsYWNlbWVudCgpIGNv
bnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
U2Nyb2xsYmFyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xs
YmFyVGhlbWVJT1MubW0KaW5kZXggNmU1MjBiZWY1NDhmNTQwMjAzYTlhNmEzYzc3N2Q4MTZkYWE1
MDk5MC4uZmUyOTA3NzViZGUzODkzY2E2OTE2MGYzMjMyN2IzYzVmZjIwNzNkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQpAQCAtNjYs
MTQgKzY2LDE0IEBAIGludCBTY3JvbGxiYXJUaGVtZUlPUzo6c2Nyb2xsYmFyVGhpY2tuZXNzKFNj
cm9sbGJhckNvbnRyb2xTaXplKQogICAgIHJldHVybiAwOwogfQogCi1kb3VibGUgU2Nyb2xsYmFy
VGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJh
clRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAw
OworICAgIHJldHVybiAwX3M7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6YXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZUlPUzo6YXV0b3Njcm9sbFRp
bWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9CiAgICAgCiBT
Y3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IFNjcm9sbGJhclRoZW1lSU9TOjpidXR0b25zUGxhY2Vt
ZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCBjYzYyZTNhODg0
YWVmMjk1MTk3ZTJiYjc2YmIwZmE3ZWMzMDcwYmExLi5kZDE5NjM0YjczNzkxYzVmM2NjZjJiNTJh
MjlmNjc0ZDg0YmU5MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
V2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC04MSw3
ICs4MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5nKGJvb2wgdmFsKQogfQogI2Vu
ZGlmCiAKLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFdhdGNoZG9nVGltZXJJbnRlcnZhbCA9
IDE7CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMV9z
OwogCiBAY2xhc3MgV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbjsKIApAQCAtOTg2LDcgKzk4Niw3
IEBAIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxs
c2NyZWVuV2l0aFJlYXNvbihXZWJWaWRlb0Z1CiAgICAgbV92aWRlb0Z1bGxzY3JlZW5Nb2RlbC0+
cmVxdWVzdEZ1bGxzY3JlZW5Nb2RlKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2Ny
ZWVuTW9kZU5vbmUpOwogCiAgICAgaWYgKCFtX3dhdGNoZG9nVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChEZWZhdWx0V2F0Y2hkb2dUaW1lcklu
dGVydmFsKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkZWZhdWx0V2F0
Y2hkb2dUaW1lckludGVydmFsKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVByZXNzdXJlSGFuZGxl
ckxpbnV4LmNwcAppbmRleCA0MjFjNjE2MGY4ODkxMjQ2NDc3M2Q0ZWEzZmNhZWQ0OTYzZDVhN2Zk
Li5lOGRlYzVlNDVmYzNmOWRjMmVjYTI1ZTIxMmQ4MjMxMjViM2UwYTFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyTGludXguY3BwCkBAIC0yNjksNyArMjY5LDcgQEAgdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRs
ZXI6OmhvbGRPZmZUaW1lckZpcmVkKCkKIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6Omhv
bGRPZmYodW5zaWduZWQgc2Vjb25kcykKIHsKLSAgICBtX2hvbGRPZmZUaW1lci5zdGFydE9uZVNo
b3Qoc2Vjb25kcyk7CisgICAgbV9ob2xkT2ZmVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2Vj
b25kcykpOwogfQogCiBzdGF0aWMgc2l6ZV90IHByb2Nlc3NNZW1vcnlVc2FnZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KaW5kZXggYWM3
ZjRmZDRhOTg0ZGMzMWRkZDRmYzgwYjE2OTM0MTUxOTAyNTA5NS4uZjczZDc5Njg4ZTJiODAyNTQ2
ZjI0MzU5ZmNjYmNhNTgyZDI2Y2ZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTMzOCw3ICsxMzM4LDcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgpCiAKIHZvaWQgU2Nyb2xsQW5pbWF0
b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcigpCiB7Ci0gICAgbV9pbml0aWFsU2Nyb2xs
YmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICBtX2luaXRpYWxTY3JvbGxiYXJQ
YWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiB9CiAKIGJvb2wgU2Nyb2xsQW5pbWF0b3JN
YWM6OnNjcm9sbGJhclBhaW50VGltZXJJc0FjdGl2ZSgpIGNvbnN0CkBAIC0xMzY0LDcgKzEzNjQs
NyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVudEFyZWFTY3JvbGxlZFNvb24o
Y29uc3QgRmxvYXRTaXplJiBkZWx0YSkKICAgICBtX2NvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lclNj
cm9sbERlbHRhID0gZGVsdGE7CiAKICAgICBpZiAoIW1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NlbmRDb250ZW50QXJlYVNjcm9sbGVkVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBpZiAobV93aGVlbEV2ZW50VGVzdFRyaWdnZXIpCiAg
ICAgICAgIG1fd2hlZWxFdmVudFRlc3RUcmlnZ2VyLT5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50
ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZp
ZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OkNvbnRlbnRTY3JvbGxJblByb2dyZXNz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVt
ZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgK
aW5kZXggYTcyODI5OGM4ZWJiNWM1NTU0N2Q2ZDNjYmQ4ZDVlMTQ3NDBhNGU4Yy4uN2VhYTkxMWJi
OTJiMDhmMDFiN2Q5OTI2NmQwMTNhNDc2YzdkZDViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKQEAgLTQ4LDggKzQ4LDggQEAgcHVibGlj
OgogICAgIHZvaWQgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpIG92ZXJyaWRlOwogICAg
IHZvaWQgdXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhciYpICBvdmVycmlkZTsK
IAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAg
ICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGlu
aXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Nj
cm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1l
bnQgYnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KaW5kZXggYjJlMTYxOGMwMzJm
YjdjNjVmMWZlMTkxN2YyMDRlMjk2NzRjMzg5Zi4uNDM1NDljYjU2MTk4M2Q1MzA3NDM5YzM2Mjkz
NjA0M2IxNjBiNWFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbGJhclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxiYXJUaGVtZU1hYy5tbQpAQCAtMTMwLDggKzEzMCw4IEBAIHN0YXRpYyBjb25zdCBpbnQgY0J1
dHRvbkxlbmd0aFtdID0geyAxNCwgMTAgfTsKIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9u
TGVuZ3RoW10gPSB7IDE2LCAxNCB9OyAvLyBUaGUgb3V0ZXIgYnV0dG9uIGluIGEgZG91YmxlIGJ1
dHRvbiBwYWlyIGlzIGEgYml0IGJpZ2dlci4KIHN0YXRpYyBjb25zdCBpbnQgY091dGVyQnV0dG9u
T3ZlcmxhcCA9IDI7CiAKLXN0YXRpYyBmbG9hdCBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41ZjsK
LXN0YXRpYyBmbG9hdCBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gMC4wNWY7CitzdGF0aWMgU2Vj
b25kcyBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41X3M7CitzdGF0aWMgU2Vjb25kcyBnQXV0b3Nj
cm9sbEJ1dHRvbkRlbGF5ID0gMC4wNV9zOwogc3RhdGljIGJvb2wgZ0p1bXBPblRyYWNrQ2xpY2sg
PSBmYWxzZTsKIHN0YXRpYyBib29sIGdVc2VzT3ZlcmxheVNjcm9sbGJhcnMgPSBmYWxzZTsKIApA
QCAtMjM0LDggKzIzNCw4IEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hh
bmdlZCgpCiB7CiAgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKICAgICBbZGVmYXVsdHMgc3luY2hyb25pemVdOwotICAg
IGdJbml0aWFsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVy
QnV0dG9uRGVsYXkiXTsKLSAgICBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gW2RlZmF1bHRzIGZs
b2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlvZCJdOworICAgIGdJbml0aWFsQnV0dG9u
RGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25E
ZWxheSJdKTsKKyAgICBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gU2Vjb25kcyhbZGVmYXVsdHMg
ZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl0pOwogICAgIGdKdW1wT25UcmFj
a0NsaWNrID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6QCJBcHBsZVNjcm9sbGVyUGFnaW5nQmVoYXZp
b3IiXTsKICAgICB1c2VzT3ZlcmxheVNjcm9sbGJhcnNDaGFuZ2VkKCk7CiB9CkBAIC0yNzcsMTIg
KzI3NywxMiBAQCB2b2lkIFNjcm9sbGJhclRoZW1lTWFjOjp1cGRhdGVTY3JvbGxiYXJPdmVybGF5
U3R5bGUoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpCiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9O
UzsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1l
ckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0luaXRpYWxCdXR0b25EZWxheTsKIH0KIAotZG91Ymxl
IFNjcm9sbGJhclRoZW1lTWFjOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9s
bGJhclRoZW1lTWFjOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7CiAgICAgcmV0dXJuIGdBdXRv
c2Nyb2xsQnV0dG9uRGVsYXk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcAppbmRleCA5MjJhZDQzOTdhMDRjMDU1
NjFjN2MxZDYwNjdhZGVjNTE1OWYyMzU0Li5iZjI3M2JlZjk0YTg0YWM3MGQwYjQ0ZTFhMDI2OTZm
MTQwMDIzOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU1vdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
RGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VN
b3Rpb25DbGllbnRNb2NrOjpzZXRNb3Rpb24oUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBt
b3Rpb24pCiB7CiAgICAgbV9tb3Rpb24gPSBtb3Rpb247CiAgICAgaWYgKG1faXNVcGRhdGluZyAm
JiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEZXZpY2VNb3Rp
b25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmNwcAppbmRleCBh
ZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhkNjEwMWMyLi4yMWRmZWRkMzZhNTc1NDhk
YTg2YTk1NTU2ZmRhYWIyMWMyMTBiYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suY3BwCkBAIC01
OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrOjpzZXRPcmllbnRh
dGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0CiB7CiAgICAgbV9vcmllbnRhdGlv
biA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBkYXRpbmcgJiYgIW1fdGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2Nr
Ojp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
R2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAppbmRleCBiN2NmYjliZTA2ZGNiZmZjN2MxNmIzY2Zl
NzQ2NTAxMzBmYTcwMGU1Li43NTRhODI1Y2FlNTQ0NzllMTRkZDFlMzAwYzQyY2QxMmUzZmM5ODg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xp
ZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVu
dE1vY2s6OmFzeW5jVXBkYXRlUGVybWlzc2lvbigpCiB7CiAgICAgQVNTRVJUKG1fcGVybWlzc2lv
blN0YXRlICE9IFBlcm1pc3Npb25TdGF0ZVVuc2V0KTsKICAgICBpZiAoIW1fcGVybWlzc2lvblRp
bWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVybWlzc2lvblRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNzaW9uVGltZXJGaXJlZCgpCkBAIC0xNjUs
NyArMTY1LDcgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlQ29udHJv
bGxlcigpCiB7CiAgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CiAgICAgaWYgKG1faXNBY3RpdmUg
JiYgIW1fY29udHJvbGxlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fY29udHJvbGxlclRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpjb250cm9sbGVyVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCmluZGV4IDFhNjBjYTI0YmJjNjA5
NmI3YTk1ZTIxMDY2MDQ5NTEyZmUyZjI1NWIuLmE3NmJjMjZmYTYwNGQwMzM4MWE1MzUzZmFiZWZk
YTg1ZmU5OGIwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVk
aWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCkBAIC0zNyw3ICszNyw3
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0
YXRpYyBjb25zdCBkb3VibGUgdGltZXJJbnRlcnZhbCA9IDEuMCAvIDEwLjA7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4xX3M7CiAKIE1lZGlhUGxheWJhY2tUYXJnZXRQ
aWNrZXJNb2NrOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9jayhNZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IE1lZGlhUGxheWJhY2tUYXJnZXRQaWNr
ZXIoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
TWVkaWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRp
YUVuZHBvaW50LmNwcAppbmRleCA2MGJiMDE4MWFlOGNkM2I3N2I4OWVkZjQ5YTM2NTM4NGYyZTBk
ZTU5Li5jODMxMGRmMTU0MWU1YTE1NzE2MDJmMzA1MzgwNTVkMTRmMjYxYWY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcApAQCAt
MjQ1LDcgKzI0NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNh
bmRpZGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNlIHRha2VMYXN0KCkgd2hpbGUg
a2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2Zha2VJY2VDYW5kaWRhdGVzLnJldmVyc2Uo
KTsKIAotICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1faWNl
Q2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQpAQCAtMjU1LDcgKzI1NSw3IEBAIHZvaWQg
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQogCiAgICAgaWYgKCFt
X2Zha2VJY2VDYW5kaWRhdGVzLmlzRW1wdHkoKSkgewogICAgICAgICBtX2NsaWVudC5nb3RJY2VD
YW5kaWRhdGUobV9taWRzWzBdLCBtX2Zha2VJY2VDYW5kaWRhdGVzLnRha2VMYXN0KCkpOwotICAg
ICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9pY2VD
YW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9j
bGllbnQuZG9uZUdhdGhlcmluZ0NhbmRpZGF0ZXMobV9taWRzWzBdKTsKIH0KQEAgLTI5NCw3ICsy
OTQsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpzdGVwSWNlVHJhbnNwb3J0U3RhdGVzKCkK
ICAgICAvLyBSZXZlcnNlIG9yZGVyIHRvIHVzZSB0YWtlTGFzdCgpIHdoaWxlIGtlZXBpbmcgdGhl
IGFib3ZlIG9yZGVyCiAgICAgbV9pY2VUcmFuc3BvcnRTdGF0ZUNoYW5nZXMucmV2ZXJzZSgpOwog
Ci0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VUcmFu
c3BvcnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2lu
dDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCkBAIC0zMDUsNyArMzA1LDcgQEAgdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCiAgICAgYXV0byBzdGF0ZUNo
YW5nZSA9IG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnRha2VMYXN0KCk7CiAgICAgbV9jbGll
bnQuaWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKHN0YXRlQ2hhbmdlLmZpcnN0LCBzdGF0ZUNoYW5n
ZS5zZWNvbmQpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlkKCkKQEAgLTMyMCw3ICszMjAs
NyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1vdGVTb3VyY2VzQnlNaWQoKQog
ICAgIGZvciAoaW50IGkgPSBtX21pZHMuc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpCiAgICAgICAg
IG1fbWlkc09mU291cmNlc1RvVW5tdXRlLmFwcGVuZChtX21pZHNbaV0pOwogCi0gICAgbV91bm11
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJlZCgpCkBA
IC0zMzAsNyArMzMwLDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJGaXJl
ZCgpCiAgICAgICAgIHNvdXJjZS0+c2V0TXV0ZWQoZmFsc2UpOwogCiAgICAgaWYgKCFtX21pZHNP
ZlNvdXJjZXNUb1VubXV0ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fdW5tdXRlVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCmluZGV4IGVmOTcyNzZhNDQz
NDJhYmM1Yzc1YWVhNGUzNjE3MTQ0MWI0Y2RjNmUuLjY0YTM1YTZkMjdiY2U5NWM2NTliYzU5MWJl
NTA5MDRiYTgxMzYwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQg
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAgICAgfQogCiAg
ICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBtX3Rp
bWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMobHJvdW5kKDEwMDAg
LyBmcmFtZVJhdGUoKSkpKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHMoKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRlKCkpKSkpOwogfQogCiB2b2lk
IE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9wUHJvZHVjaW5nRGF0YSgpCkBAIC0xMzYsNyAr
MTM2LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6aW5pdGlhbGl6ZVN1cHBvcnRl
ZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2UKIGJvb2wgTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSByYXRlKQogewogICAgIGlmIChtX3RpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRS
ZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7
CiAKICAgICB1cGRhdGVTYW1wbGVCdWZmZXIoKTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
ck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHAKaW5kZXggZjNiYzcxYzBmNzMzZDI4MzNlYzM0ODVlODk0OTQ0OGQz
OGRkM2YxMS4uZDhhN2MwODk3Zjk4NWRmYzhjNWY3ZWE0MWQ4MGM4NjU5M2YxMGYzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNp
emVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKQEAgLTY4LDcgKzY4LDcgQEAgdm9pZCBQbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWsoUmVmUHRyPFBsYXRmb3JtU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmMKICAgICBjbGllbnQoKS0+Ym91bmRhcnlFdmVudE9jY3VycmVkKCptX3V0dGVyYW5j
ZSwgU3BlZWNoU2VudGVuY2VCb3VuZGFyeSwgbV91dHRlcmFuY2UtPnRleHQoKS5sZW5ndGgoKSk7
CiAKICAgICAvLyBHaXZlIHRoZSBmYWtlIHNwZWVjaCBqb2Igc29tZSB0aW1lIHNvIHRoYXQgcGF1
c2UgYW5kIG90aGVyIGZ1bmN0aW9ucyBoYXZlIHRpbWUgdG8gYmUgY2FsbGVkLgotICAgIG1fc3Bl
YWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hvdCguMSk7CisgICAgbV9zcGVha2luZ0Zpbmlz
aGVkVGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKIH0KIAogdm9pZCBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXggZGUwZThhOWZkNjU5NmIyZTJhYjczNzAz
MDQ3ZGU1ZWQzN2ZmZWNhYy4uODYzZjlkNjViNzY5MDE2ZDBkOTdjZDI2ODliMmQ0ZmY1NzY2MmFi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFz
ZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFz
ZWRNb2NrLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgICAgICAsIG1fdGltZXIoKnRo
aXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAgICAgICAsIG1fbm90aWZpZXIobm90aWZp
ZXIpCiAgICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjUpOworICAgICAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwLjVfcyk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+VGltZXJF
dmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jl
c29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHAKaW5kZXggNTg3NzNhYTMzMjkxY2E3YTY4OTU3NTg2ZWU4MjAzYzZiYWMyY2Zm
My4uZTFjNDEwZWQxNTI1OGFjYWYzZjBjMzkxOWQ4NWEwODJhMDkyN2Q5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcApAQCAt
MzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGdOYW1l
c1RvUmVzb2x2ZUltbWVkaWF0ZWx5ID0gNDsKIAogLy8gQ29hbGVzY2UgcHJlZmV0Y2ggcmVxdWVz
dHMgZm9yIHRoaXMgbG9uZyBiZWZvcmUgc2VuZGluZyB0aGVtIG91dC4KLXN0YXRpYyBjb25zdCBk
b3VibGUgZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMgPSAxLjA7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBjb2FsZXNjZURlbGF5ID0gMV9zOwogCiAvLyBTZW5kaW5nIG1hbnkgRE5TIHJlcXVlc3RzIGF0
IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBTZWUgPHJkYXI6Ly84MTA1NTUwPiBm
b3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0IHRocm90dGxpbmcuCiBzdGF0aWMg
Y29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7CkBAIC00OCw3ICs0OCw3IEBA
IHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVlc3RzID0gODsKIHN0YXRpYyBj
b25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0OwogCiAvLyBJZiB0aGVyZSB3ZXJlIHF1
ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2ltdWx0YW5lb3VzbHksIGNoZWNrIHRo
ZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBkb3Vi
bGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOworc3RhdGljIGNvbnN0IFNlY29uZHMg
cmV0cnlSZXNvbHZpbmdEZWxheSA9IDAuMV9zOwogCiBETlNSZXNvbHZlUXVldWUmIEROU1Jlc29s
dmVRdWV1ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIEROU1Jlc29s
dmVRdWV1ZTo6YWRkKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAgaWYgKG1fbmFtZXMuc2l6
ZSgpIDwgZ01heFJlcXVlc3RzVG9RdWV1ZSkgewogICAgICAgICBtX25hbWVzLmFkZChob3N0bmFt
ZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMpOworICAgICAgICAgICAgbV90
aW1lci5zdGFydE9uZVNob3QoY29hbGVzY2VEZWxheSk7CiAgICAgfQogfQogCkBAIC0xMjIsNyAr
MTIyLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnRpbWVyRmlyZWQoKQogICAgIH0KIAogICAg
IGlmICghbV9uYW1lcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGdS
ZXRyeVJlc29sdmluZ0luU2Vjb25kcyk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHJl
dHJ5UmVzb2x2aW5nRGVsYXkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCmluZGV4
IGFiZmI0NmNlY2Y4MjE0M2I5ZmZhY2QwMWJlNTc4NmE1M2EwMDhlYzAuLjQ1Y2ExYzVjMzYyYjU0
NWU4N2VkYzhjZGIzNWYyMjAyOGJjMjZkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCkBAIC03OSw3ICs3OSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIHJlZigpOwogCiAgICAgICAgIGF1dG8gc2NoZWR1bGVkUGFpcnMgPSBtX2Rl
Y29kZVRhc2stPnNjaGVkdWxlQ29udGV4dC5zY2hlZHVsZWRQYWlyczsKLSAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgICAgIG1fdGltZXIuc2NoZWR1bGUoc2NoZWR1bGVkUGFpcnMpOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QaW5nSGFuZGxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaAppbmRleCBjZDlmMmJmOTYw
MDYzZTcwM2Y4YzNmMGI4ZDAxMWYyYmI5Y2IxYmQxLi4xYTBkNWNlNjIzYWRmOGEzNDA1M2Q2ZmFl
OGQwZjc2MzkwMmJkMTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1BpbmdIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Bp
bmdIYW5kbGUuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhl
IHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3Jl
dmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2Fz
ZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAg
bV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDEwMDBfbWluKTsKICAgICB9CiAKIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCmluZGV4IDY0N2Y2MDQxOWJmY2QwZmVlNjM3NWQ5ZDE4ODA3NjU5MmExZjkyMGMuLjAwYzBk
MDI5Y2M2ZmMyYzFjY2E3OTdjOTkyODE0ZDA3MDQ3N2U3NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC0xMDUsNyArMTA1
LDcgQEAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdv
cmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2NoZWR1
bGVGYWlsdXJlKEZhaWx1cmVUeXBlIHR5cGUpCiB7CiAgICAgZC0+bV9zY2hlZHVsZWRGYWlsdXJl
VHlwZSA9IHR5cGU7Ci0gICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFJlc291cmNl
SGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCgpCkBAIC0yNTgsNyArMjU4LDcgQEAgdm9pZCBSZXNv
dXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKICAgICAgICAgICAgIGQt
Pm1fZmFpbHVyZVRpbWVyLnN0b3AoKTsKICAgICB9IGVsc2UgaWYgKGQtPm1fc2NoZWR1bGVkRmFp
bHVyZVR5cGUgIT0gTm9GYWlsdXJlKSB7CiAgICAgICAgIEFTU0VSVCghZC0+bV9mYWlsdXJlVGlt
ZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQog
CiAgICAgcGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3Rp
Zmllck1hYy5jcHAKaW5kZXggNTVhZGUyMThjMTM4ODhjMGNjMjZlYmVjYjc5MjYzZGNhNzAwOTE2
ZC4uZDRkOThkYTMxZjY1NzYxM2I1ZWQ4ZDZkYjIyZmY5Yjc1YjAxZTQyZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJN
YWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL05ldHdvcmtT
dGF0ZU5vdGlmaWVyTWFjLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU3RhdGVDaGFuZ2VUaW1lckludGVydmFsID0gMi4w
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RhdGVDaGFuZ2VUaW1lckludGVydmFsID0gMl9zOwog
CiB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjp1cGRhdGVTdGF0ZSgpCiB7CkBAIC03OCw3ICs3
OCw3IEBAIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9yZUNhbGxiYWNrKFND
RHluYW1pY1N0b3JlUmVmLCBDRkFycmF5UmVmLCB2CiAgICAgCiAgICAgLy8gQ2FsbGluZyB1cGRh
dGVTdGF0ZSgpIGNvdWxkIGJlIGV4cGVuc2l2ZSBzbyB3ZSBzY2hlZHVsZSBhIHRpbWVyIHRoYXQg
d2lsbCBkbyBpdCAKICAgICAvLyB3aGVuIHRoaW5ncyBoYXZlIGNvb2xlZCBkb3duLgotICAgIG5v
dGlmaWVyLT5tX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdChTdGF0ZUNoYW5n
ZVRpbWVySW50ZXJ2YWwpOworICAgIG5vdGlmaWVyLT5tX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVy
LnN0YXJ0T25lU2hvdChzdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIE5ldHdv
cmtTdGF0ZU5vdGlmaWVyOjpuZXR3b3JrU3RhdGVDaGFuZ2VUaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNv
dXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAKaW5kZXggODg3YTllZDc5NWQxY2I0ZTU4Y2NkZGU1NmUzODhkOTljZGMwYmYz
ZS4uZWNmMTg0Y2U0MGJkZjllYzRkMzFiZjczMjA2MzM3NzEyMmRlOWI0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAKQEAgLTc1MCw3ICs3NTAsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZW5k
UGVuZGluZ1JlcXVlc3QoKQogI2VuZGlmCiAKICAgICBpZiAoZC0+bV9maXJzdFJlcXVlc3QudGlt
ZW91dEludGVydmFsKCkgPiAwKQotICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVT
aG90KGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpKTsKKyAgICAgICAgZC0+bV90
aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChTZWNvbmRzKGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVv
dXRJbnRlcnZhbCgpKSk7CiAKICAgICAvLyBCYWxhbmNlZCBieSBhIGRlcmVmKCkgaW4gY2xlYW51
cFNvdXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBzaG91bGQgYWx3YXlzIHJ1bi4KICAgICByZWYo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNz
dXJlSGFuZGxlcldpbi5jcHAKaW5kZXggZmM4N2I3MDMyOTIzODcxNmQxYzYzNTg3OGNlMDc5MmRi
YjdkZmQzMi4uOWVhNDE3ZGQwMzBhMWNmNDlhZWY1NWRjNjRiZWFhYTRhZGM0YWRlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldp
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFu
ZGxlcldpbi5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxl
cjo6aW5zdGFsbCgpCiB7CiAgICAgbV9pbnN0YWxsZWQgPSB0cnVlOwogICAgIG1lbUNoZWNrVGlt
ZXIoKSA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hlY2tNZW1vcnlUaW1lcj4oKnRoaXMpOwotICAgIG1l
bUNoZWNrVGltZXIoKS0+c3RhcnRSZXBlYXRpbmcoNjAuMCk7CisgICAgbWVtQ2hlY2tUaW1lcigp
LT5zdGFydFJlcGVhdGluZygxX21pbik7CiB9CiAKIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVy
Ojp1bmluc3RhbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdl
UXVhbGl0eUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0ltYWdlUXVh
bGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IGExZmU4ZmNjMWM4OGYyNmUxNmE2M2YxMmI2NDMyZDVh
MGU4MWNlZDYuLjVmNWQwNzY1NzljMjEwNDA3YzBiY2ZjNmI1ODYyNzM5MGQ3MjkyMmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5j
cHAKQEAgLTM1LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0
IGRvdWJsZSBjSW50ZXJwb2xhdGlvbkN1dG9mZiA9IDgwMC4gKiA4MDAuOwotc3RhdGljIGNvbnN0
IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8gNTAwIG1zCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBsb3dRdWFsaXR5VGltZVRocmVzaG9sZCA9IDAuNV9zOwogCiBJbWFn
ZVF1YWxpdHlDb250cm9sbGVyOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyKGNvbnN0IFJlbmRlclZp
ZXcmIHJlbmRlclZpZXcpCiAgICAgOiBtX3JlbmRlclZpZXcocmVuZGVyVmlldykKQEAgLTk0LDcg
Kzk0LDcgQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpoaWdoUXVhbGl0eVJlcGFpbnRU
aW1lckZpcmVkKCkKIAogdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIo
KQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7
CisgICAgbV90aW1lci5zdGFydE9uZVNob3QobG93UXVhbGl0eVRpbWVUaHJlc2hvbGQpOwogfQog
CiBzdGQ6Om9wdGlvbmFsPEludGVycG9sYXRpb25RdWFsaXR5PiBJbWFnZVF1YWxpdHlDb250cm9s
bGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHlsZShjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCmluZGV4IDYzNDIyMTM1YzFhMzljNTlhY2Y1OTIzOTE3MWMzMWNhZTM1MGNjMjQuLjk1
ODBlNDBiMjNmOGQ0Y2JkMWM4MjgwZDRhNWJlN2Y5NWFjOWY2MmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC05MiwxMSAr
OTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBjYW52YXNBcmVhVGhyZXNob2xkUmVxdWlyaW5nQ29t
cG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRpZgogLy8gRHVyaW5nIHBhZ2UgbG9hZGluZyBkZWxh
eSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFueSBzZWNvbmRzIHRvIGFsbG93IHRoZW0gY29h
bGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgogI2lmIFBMQVRGT1JNKElPUykKLXN0YXRpYyBjb25z
dCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNv
bnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gMC41X3M7CitzdGF0aWMg
Y29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAxLjVfczsKICNlbHNlCi1z
dGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAuNTsK
LXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaERlbGF5ID0gLjU7CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5ID0gMC41X3M7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAwLjVfczsK
ICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpAQCAtNjM0LDcgKzYzNCw3IEBA
IFJlbmRlckxheWVyQ29tcG9zaXRvciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjplbmNsb3NpbmdD
b21wb3NpdG9yRmx1c2hpbmdMYXllcnMoCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2No
ZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fdXBkYXRlQ29tcG9z
aXRpbmdMYXllcnNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IDYwNTlkMjZkMWRmY2ZiMzYxNWJi
YmJlMTZjZmQyM2UyNWRkZmMxNTcuLmI3NDA5N2NmMjFlMWE4MjI1YTZhZWQ4ZmQ5YTNiMmE5YTUy
ZTlhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5jcHAKQEAg
LTE2OCw3ICsxNjgsNyBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnN0YXJ0KCkKICAgICAgICAgbV9z
dG9wcGVkID0gZmFsc2U7CiAgICAgfQogCi0gICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhzcGVl
ZCgpICogMC4wMDEpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhzcGVlZCgpKSk7CiB9CiAKIHZvaWQgUmVuZGVyTWFycXVlZTo6c3VzcGVuZCgp
CkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVlOjp1cGRhdGVNYXJxdWVlU3R5
bGUoKQogICAgIGlmIChzcGVlZCgpICE9IG1hcnF1ZWVTcGVlZCgpKSB7CiAgICAgICAgIG1fc3Bl
ZWQgPSBtYXJxdWVlU3BlZWQoKTsKICAgICAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQoKSAqIDAuMDAxKTsKKyAgICAg
ICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhz
cGVlZCgpKSk7CiAgICAgfQogICAgIAogICAgIC8vIENoZWNrIHRoZSBsb29wIGNvdW50IHRvIHNl
ZSBpZiB3ZSBzaG91bGQgbm93IHN0b3AuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IDQ3NTA2YWNkMzNiNzA3NDM1ZTU5ZTE2
NWNjNjA3MDNmZTY0ZTQ2ZTYuLjg2OWFmNDJhMDk5ODI2NmViMGY2NWMzZjEwZjk3Mzg4MWE2MTU1
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dU
aHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dU
aHJlYWQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6
OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQoKQogICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkQ2hhbmdlUmVnaW9uT3ZlcnNldChkb2N1bWVudCgpLCBuYW1l
ZEZsb3coKSk7CiAgICAgCiAgICAgaWYgKCFtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVy
LmlzQWN0aXZlKCkgJiYgbmFtZWRGbG93KCkuaGFzRXZlbnRMaXN0ZW5lcnMoKSkKLSAgICAgICAg
bV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9n
cmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCmlu
ZGV4IDlhMWYyNDBmYTVmOWFmZjg3MDFjMTM0OGNjYzU3ZDM2YWIzZTBiODQuLjUxYTMwOGZiYTM3
MGM0Nzk4OWM4YzVjZWFlMGIwODc3NDJjOWM3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODUsNyArODUsNyBAQCB2b2lkIFJlbmRlclByb2dy
ZXNzOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKICAgICByZXBhaW50KCk7CiAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV9hbmltYXRpbmcpCi0gICAgICAgIG1fYW5p
bWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpOworICAg
ICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKG1fYW5pbWF0aW9uUmVw
ZWF0SW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9u
U3RhdGUoKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFu
aW1hdGlvblN0YXRlKCkKICAgICBtX2FuaW1hdGluZyA9IGFuaW1hdGluZzsKICAgICBpZiAobV9h
bmltYXRpbmcpIHsKICAgICAgICAgbV9hbmltYXRpb25TdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
bV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogICAgIH0gZWxz
ZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKaW5kZXggZWQ0OWJlZGNiZGI2MTVk
MGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFiZDgyM2FhYTAxNDY1NmIxMWFiNmQyNjE5ZGQx
NmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9s
bGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAgcHVibGljOgogCiAgICAgU2Nyb2xsYmFyQnV0
dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2ZW50KFNjcm9sbGJhciYgc2Nyb2xsYmFy
LCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQ
YXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5oYW5kbGVNb3Vz
ZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwgcHJlc3NlZFBhcnQpOyB9CiAKLSAgICBkb3Vi
bGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gU2Nyb2xs
YmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KLSAgICBk
b3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJU
aGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBpbml0
aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVt
ZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQorICAgIFNlY29uZHMg
YXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6
dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAKICAgICB2b2lkIHJlZ2lzdGVyU2Ny
b2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJU
aGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIpOyB9CiAgICAgdm9pZCB1
bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7IHJldHVy
biBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJlZ2lzdGVyU2Nyb2xsYmFyKHNjcm9sbGJhcik7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCAzN2IwNzQxODc4
YTFiZDk4MzhlYzYyNTNkZWQwNzE5MTAwMWZjYzQ4Li42Nzk1ZjcyODczMGEwYzRjZjY4M2RkNzlh
NWFlZTAyNzI3ZjcwMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3Bw
CkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRUaW1lcjo6U2VjdXJlVGV4dFRp
bWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQgU2VjdXJlVGV4dFRpbWVyOjpy
ZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyKQogewogICAgIG1f
b2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFz
c3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7CisgICAgc3RhcnRPbmVTaG90KFNlY29uZHMo
bV9yZW5kZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29u
ZHMoKSkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4dFRpbWVyOjp0YWtlT2Zmc2V0
QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaAppbmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAxMzhjZWY0MGVjODI4ZjljMmJlLi44OWY0
YjljOWU0OTRmZmRlZDU5M2QwY2UyNDA0YjBhZjIwMWJhNDE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlNjcm9sbFR5
cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0x
NzUsNyArMTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHBsYXRmb3Jt
Q29sb3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2
YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlu
a0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41X3M7IH0KIAogICAgIC8vIFN5c3RlbSBmb250
cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0ZW1Gb250KENTU1ZhbHVlSUQsIEZv
bnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKQEAgLTIwNCw4ICsyMDUsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xTdGF0dXNEaXNwbGF5KCkgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlhQ29udHJvbFZvbHVtZVNsaWRl
cigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc1ZlcnRpY2Fs
Vm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZpcnR1YWwgZG91Ymxl
IG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJuIDAuMTsgfQotICAgIHZpcnR1
YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSB7IHJldHVybiAwLjM7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgeyByZXR1
cm4gMC4xX3M7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVPdXREdXJh
dGlvbigpIHsgcmV0dXJuIDAuM19zOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFD
b250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0
TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRUaW1lLCBmbG9hdCBkdXJhdGlv
bikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1JlbWFpbmlu
Z1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCA5MWFjMDgwMDIzODFmYTY1Y2YwYjI1
YTU4YzkwMzFmOGFhNmQ4MTdkLi5lZTUzNmMwNDU3YTRlZWRiYWFhZjllZGNjZjkxMGUzYzg0Y2E3
Zjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC0xNTEsNyAr
MTUxLDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYg
cmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2V0UmVuZGVyQm94TmVlZHNMYXp5UmVwYWludCh0cnVl
KTsKICAgICBtX3JlbmRlcmVyc05lZWRpbmdMYXp5UmVwYWludC5hZGQoJnJlbmRlcmVyKTsKICAg
ICBpZiAoIW1fbGF6eVJlcGFpbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xhenlSZXBh
aW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6dW5zY2hlZHVsZUxhenlSZXBh
aW50KFJlbmRlckJveCYgcmVuZGVyZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0NhcHR1
cmluZ0lucHV0Q3Vyc29yLmNwcAppbmRleCA5OTY0OWJmZTI5MDM2Njc2YWQ0OTY4YTM2ZGYxZjVj
M2M2MmUwZWQ5Li41YjQzNDlmYTkzNGYzMmI0MTA5NWQ1YTBmODQ0OTY5MTRmODdmNTI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKQEAgLTU4
LDExICs1OCw4IEBAIHZvaWQgQ2FwdHVyaW5nSW5wdXRDdXJzb3I6OnN0b3JlSW5wdXQoc3RkOjp1
bmlxdWVfcHRyPE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+CiB7CiAgICAgQVNTRVJUX0FSRyhp
bnB1dCwgaW5wdXQpOwogCi0gICAgaWYgKGlucHV0LT5xdWV1ZSgpID09IElucHV0UXVldWU6OkV2
ZW50TG9vcElucHV0KSB7Ci0gICAgICAgIC8vIEZJWE1FOiByZXdyaXRlIHRoaXMgKGFuZCByZWxh
dGVkIGRpc3BhdGNoIGNvZGUpIHRvIHVzZSBzdGQ6OmNocm9uby4KLSAgICAgICAgZG91YmxlIG5v
dyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAgICBtX3NlZ21lbnQtPmV2
ZW50TG9vcFRpbWluZ3MoKS5hcHBlbmQobm93KTsKLSAgICB9CisgICAgaWYgKGlucHV0LT5xdWV1
ZSgpID09IElucHV0UXVldWU6OkV2ZW50TG9vcElucHV0KQorICAgICAgICBtX3NlZ21lbnQtPmV2
ZW50TG9vcFRpbWluZ3MoKS5hcHBlbmQoTW9ub3RvbmljVGltZTo6bm93KCkpOwogCiAgICAgbV9z
ZWdtZW50LT5zdG9yYWdlKCkuc3RvcmUoV1RGTW92ZShpbnB1dCkpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAppbmRleCA1MTAy
OTNmYzE2YzY0YWM5YjVmYjUxZTdiOThkMDkwZDhiNTEzNjY3Li5iMDdkMjZmZjg0ZjM4NzExZDM0
NDM1YjQ2YmViMGJiMWVmMzI1YmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcApAQCAtNTEsOCArNTEsNiBAQCBFdmVudExvb3BJ
bnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcihQYWdlJiBwYWdlLCBSZXBs
YXlpbmdJbnB1dEN1cgogICAgICwgbV90aW1lcigqdGhpcywgJkV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6dGltZXJGaXJlZCkKICAgICAsIG1fc3BlZWQoRGlzcGF0Y2hTcGVlZDo6RmFzdEZvcndh
cmQpCiB7Ci0gICAgbV9jdXJyZW50V29yay5pbnB1dCA9IG51bGxwdHI7Ci0gICAgbV9jdXJyZW50
V29yay50aW1lc3RhbXAgPSAwLjA7CiB9CiAKIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVy
OjpydW4oKQpAQCAtOTEsNyArODksNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6
ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IG1fdGltZXIuc3RvcCgpOwogCi0gICAgZG91YmxlIHdhaXRJbnRlcnZhbCA9IDA7CisgICAgU2Vj
b25kcyB3YWl0SW50ZXJ2YWw7CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpS
ZWFsVGltZSkgewogICAgICAgICAvLyBUaGUgZ29hbCBpcyB0byByZXByb2R1Y2UgdGhlIGRpc3Bh
dGNoIGRlbGF5IGJldHdlZW4gaW5wdXRzIGFzIGl0IHdhcwpAQCAtMTAyLDIyICsxMDAsMjIgQEAg
dm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRTb29uKCkKICAgICAg
ICAgaWYgKCFtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXApCiAgICAgICAgICAgICBtX3ByZXZpb3Vz
SW5wdXRUaW1lc3RhbXAgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcDsKIAotICAgICAgICBkb3Vi
bGUgdGFyZ2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFtcCAtIG1fcHJldmlvdXNJ
bnB1dFRpbWVzdGFtcDsKLSAgICAgICAgZG91YmxlIGVsYXBzZWQgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKKyAgICAgICAgU2Vj
b25kcyB0YXJnZXRJbnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91
c0lucHV0VGltZXN0YW1wOworICAgICAgICBTZWNvbmRzIGVsYXBzZWQgPSBNb25vdG9uaWNUaW1l
Ojpub3coKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsKICAgICAgICAgd2FpdEludGVy
dmFsID0gdGFyZ2V0SW50ZXJ2YWwgLSBlbGFwc2VkOwogICAgIH0KIAogICAgIC8vIEEgbmVnYXRp
dmUgd2FpdCB0aW1lIG1lYW5zIHRoYXQgZGlzcGF0Y2ggdG9vayBsb25nZXIgb24gcmVwbGF5IHRo
YW4gb24KICAgICAvLyBjYXB0dXJlLiBJbiB0aGlzIGNhc2UsIHByb2NlZWQgd2l0aG91dCB3YWl0
aW5nIGF0IGFsbC4KLSAgICBpZiAod2FpdEludGVydmFsIDwgMCkKLSAgICAgICAgd2FpdEludGVy
dmFsID0gMDsKKyAgICBpZiAod2FpdEludGVydmFsIDwgMF9zKQorICAgICAgICB3YWl0SW50ZXJ2
YWwgPSAwX3M7CiAKLSAgICBpZiAod2FpdEludGVydmFsID4gMTAwMC4wKSB7CisgICAgaWYgKHdh
aXRJbnRlcnZhbCA+IDEwMDBfcykgewogICAgICAgICBMT0dfRVJST1IoIiUtMjBzIFRyaWVkIHRv
IHdhaXQgZm9yIG92ZXIgMTAwMCBzZWNvbmRzIGJlZm9yZSBkaXNwYXRjaGluZyBuZXh0IGV2ZW50
IGxvb3AgaW5wdXQ7IHRoaXMgaXMgcHJvYmFibHkgYSBidWcuIiwgIlJlcGxheUV2ZW50cyIpOwot
ICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOworICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwX3M7CiAg
ICAgfQogCi0gICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlUOiAlLjNmIG1zKSIsICJSZXBs
YXlFdmVudHMiLCB3YWl0SW50ZXJ2YWwgKiAxMDAwLjApOworICAgIExPRyhXZWJSZXBsYXksICIl
LTIwcyAoV0FJVDogJS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwgU2Vjb25kcyh3YWl0SW50ZXJ2
YWwgKiAxMDAwLjApLm1pbGxpc2Vjb25kcygpKTsKICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCh3
YWl0SW50ZXJ2YWwpOwogfQogCkBAIC0xMjcsNyArMTI1LDcgQEAgdm9pZCBFdmVudExvb3BJbnB1
dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXQoKQogICAgIEFTU0VSVCghbV9kaXNwYXRjaGluZyk7
CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpSZWFsVGltZSkgewotICAgICAg
ICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKTsKKyAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CiAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCA9IG1fY3VycmVudFdv
cmsudGltZXN0YW1wOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5
L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0RGlzcGF0Y2hlci5oCmluZGV4IDIwNjdlNzhkNDNmMjVhNWQyNWU0YzNmOWE1MjMy
MzViMGM3OTVmMzQuLjU5MzJiNDJiNmQ0MmMzODIwOTRlNTQ4MTQzNjBmMGRhYjZiNDQwZDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFdmVudExvb3BJbnB1dC5oIgogI2luY2x1ZGUg
IlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3
dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC04Niw5ICs4Nyw5IEBAIHByaXZhdGU6CiAK
ICAgICBEaXNwYXRjaFNwZWVkIG1fc3BlZWQ7CiAgICAgLy8gVGhlIHRpbWUgYXQgd2hpY2ggdGhl
IGxhc3QgaW5wdXQgZGlzcGF0Y2goKSBtZXRob2Qgd2FzIGNhbGxlZC4KLSAgICBkb3VibGUgbV9w
cmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lIHswLjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2
aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgIC8vIFRoZSB0aW1lc3RhbXAgc3BlY2lmaWVkIGJ5
IHRoZSBsYXN0IGRpc3BhdGNoZWQgaW5wdXQuCi0gICAgZG91YmxlIG1fcHJldmlvdXNJbnB1dFRp
bWVzdGFtcCB7MC4wfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFt
cDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCmluZGV4IGYxOGRkZjQxZmNkYzA0NDZlZTQwMDhi
ODFiMzliZjZjNGE2NTE2MmEuLjI4MTFlNzRiZjAzZjc4NGMzMTZjY2Q5MWZiZTAwODQ4OWUzMWYz
OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNw
cApAQCAtNDcsOCArNDcsOCBAQCBSZWY8UmVwbGF5U2Vzc2lvblNlZ21lbnQ+IFJlcGxheVNlc3Np
b25TZWdtZW50OjpjcmVhdGUoKQogCiBSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lv
blNlZ21lbnQoKQogICAgIDogbV9zdG9yYWdlKHN0ZDo6bWFrZV91bmlxdWU8U2VnbWVudGVkSW5w
dXRTdG9yYWdlPigpKQorICAgICwgbV90aW1lc3RhbXAoTW9ub3RvbmljVGltZTo6bm93KCkpCiAg
ICAgLCBtX2lkZW50aWZpZXIoc19uZXh0U2VnbWVudElkZW50aWZpZXIrKykKLSAgICAsIG1fdGlt
ZXN0YW1wKGN1cnJlbnRUaW1lTVMoKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
UmVwbGF5U2Vzc2lvblNlZ21lbnQuaAppbmRleCBkNTYyYjUzYzA0NDg0MTNmNDYzMjk5N2NhMTlm
OTQ4ZGUyM2EyZDljLi5mNzY3NDJjNjU4ZWRjMDEyMzJjZTMzYmZlZjc5NGYzNTMzNjQ1N2QzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaApAQCAtMzAs
NiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01MSwyMCArNTIsMjEgQEAg
cHVibGljOgogICAgIH5SZXBsYXlTZXNzaW9uU2VnbWVudCgpOwogCiAgICAgdW5zaWduZWQgaWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQotICAgIGRvdWJsZSB0aW1l
c3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorICAgIE1vbm90b25pY1RpbWUg
dGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0KKwogcHJvdGVjdGVkOgog
ICAgIFNlZ21lbnRlZElucHV0U3RvcmFnZSYgc3RvcmFnZSgpIHsgcmV0dXJuICptX3N0b3JhZ2U7
IH0KLSAgICBWZWN0b3I8ZG91YmxlLCAwPiYgZXZlbnRMb29wVGltaW5ncygpIHsgcmV0dXJuIG1f
ZXZlbnRMb29wVGltaW5nczsgfQorICAgIFZlY3RvcjxNb25vdG9uaWNUaW1lLCAwPiYgZXZlbnRM
b29wVGltaW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29wVGltaW5nczsgfQogCiBwcml2YXRlOgog
ICAgIFJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2VnbWVu
dGVkSW5wdXRTdG9yYWdlPiBtX3N0b3JhZ2U7Ci0gICAgVmVjdG9yPGRvdWJsZSwgMD4gbV9ldmVu
dExvb3BUaW1pbmdzOworICAgIFZlY3RvcjxNb25vdG9uaWNUaW1lLCAwPiBtX2V2ZW50TG9vcFRp
bWluZ3M7CiAKKyAgICBNb25vdG9uaWNUaW1lIG1fdGltZXN0YW1wOwogICAgIHVuc2lnbmVkIG1f
aWRlbnRpZmllcjsKICAgICBib29sIG1fY2FuQ2FwdHVyZSB7dHJ1ZX07Ci0gICAgZG91YmxlIG1f
dGltZXN0YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAppbmRleCA3N2MzYjk0MjBjOGZhZDQ0ZGU1
M2JjMDE1MmRiZTk3NmJkZDZiNjkyLi4wZmVkMTA5MjgxMDdiM2U4NGJhZTk1ZWMyMzc3ZTBkYzc3
OTUxYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRD
dXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3Iu
aApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSA8
cmVwbGF5L0lucHV0Q3Vyc29yLmg+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDggKzQy
LDggQEAgY2xhc3MgUGFnZTsKIGNsYXNzIFJlcGxheVNlc3Npb25TZWdtZW50OwogCiBzdHJ1Y3Qg
RXZlbnRMb29wSW5wdXREYXRhIHsKLSAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0OwotICAg
IGRvdWJsZSB0aW1lc3RhbXA7CisgICAgRXZlbnRMb29wSW5wdXRCYXNlKiBpbnB1dCB7IG51bGxw
dHIgfTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcDsKIH07CiAKIGNsYXNzIFJlcGxheWlu
Z0lucHV0Q3Vyc29yIGZpbmFsIDogcHVibGljIElucHV0Q3Vyc29yIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVTY29wZS5jcHAKaW5kZXggODIyNzBhZGQwZjJmMGNmM2VjZGQ3NjU0OGUwNWMxNDE4MjBi
ODVlNi4uMzA4MGQ2YThiMTZiZjg3MTQxOGE3Zjg4N2I3MWVhODE4MjE5NGY1ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKQEAgLTUwNyw3ICs1MDcsNyBAQCB2b2lkIFNjb3BlOjpz
Y2hlZHVsZVVwZGF0ZShVcGRhdGVUeXBlIHVwZGF0ZSkKIAogICAgIGlmIChtX3BlbmRpbmdVcGRh
dGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0gICAgbV9wZW5kaW5nVXBkYXRl
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1VwZGF0ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VBY3RpdmVTdHlsZVNoZWV0Q2Fu
ZGlkYXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5kZXggZjA0MTVmY2EzMGY5Y2U0
YzQxMDJmYTU4ZDdiMzUyZmFmZjg1ZWMzYy4uNDE5NjJhYTczYjY1ZDliZTYyODE2OTg4MDI1MTky
MWU3OGE5OThhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNjIxLDcgKzYyMSw3
IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElmUG9zc2libGUoYm9vbCBzZW5k
UGFyZW50TG9hZEV2ZW50cykKIAogdm9pZCBTVkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQ
b3NzaWJsZUFzeW5jaHJvbm91c2x5KCkKIHsKLSAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFy
dE9uZVNob3QoMCk7CisgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+c3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGltZXJGaXJlZCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCmluZGV4
IGNiZjNiN2JhNTg0ODUwNzczN2U5NzVjZGQwYTgxOTJkMzM1ZmJmNTAuLjc1M2U0MDE0YmNjMjEy
Y2IzMDhkOGQ2NjdjZmZlYmZkMTNjNDQ1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCkBAIC0yMDUsNyArMjA1LDcgQEAgdm9p
ZCBTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcihTTUlMVGltZSBlbGFwc2VkLCBTTUlMVGlt
ZSBmaXJlVGltZSwgU01JTFRpbWUKICAgICAgICAgcmV0dXJuOwogCiAgICAgU01JTFRpbWUgZGVs
YXkgPSBzdGQ6Om1heChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmltdW1EZWxheSk7Ci0gICAgbV90
aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kcyhkZWxheS52YWx1ZSgpKSk7CiB9CiAKIHZvaWQgU01JTFRpbWVDb250YWluZXI6
OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKaW5kZXggNjExYzkyYjhmYjM0NTFjZmM2Y2Y5NmM4ZWQzN2U3ODVhMzJkOTdmOC4uYWZhZjVl
ZGFhODZjMjM2OTVmZjJmMzM4Njc1MjMxMTlhYjZmMmYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIEludGVybmFsU2V0
dGluZ3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmdzJiBzZXR0aW5ncykKICNlbmRpZgogICAgICwg
bV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoc2V0dGluZ3MuZGVmYXVsdFZpZGVvUG9zdGVyVVJMKCkp
CiAgICAgLCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KHNldHRpbmdzLmlzRm9yY2VQZW5kaW5n
V2ViR0xQb2xpY3koKSkKLSAgICAsIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9scyhzZXR0aW5ncy50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scygpKQorICAgICwgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZv
cmVIaWRpbmdDb250cm9scyhzZXR0aW5ncy50aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scygpKQogICAgICwgbV91c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFu
ZEJlaGF2aW9yKHNldHRpbmdzLnVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZp
b3IoKSkKICAgICAsIG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZChzZXR0aW5ncy5h
dXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKCkpCiAgICAgLCBtX3F1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50RW5hYmxlZChzZXR0aW5ncy5xdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVu
YWJsZWQoKSkKQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1
cDo6cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICNlbmRpZgogICAgIHNldHRpbmdzLnNl
dERlZmF1bHRWaWRlb1Bvc3RlclVSTChtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTCk7CiAgICAgc2V0
dGluZ3Muc2V0Rm9yY2VQZW5kaW5nV2ViR0xQb2xpY3kobV9mb3JjZVBlbmRpbmdXZWJHTFBvbGlj
eSk7Ci0gICAgc2V0dGluZ3Muc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5n
Q29udHJvbHMobV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKTsKKyAgICBzZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9scyhtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKTsKICAgICBzZXR0aW5ncy5zZXRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJl
aGF2aW9yKG1fdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcik7CiAgICAg
c2V0dGluZ3Muc2V0QXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5hYmxlZChtX2F1dG9zY3JvbGxG
b3JEcmFnQW5kRHJvcEVuYWJsZWQpOwogICAgIHNldHRpbmdzLnNldFNob3VsZENvbnZlcnRQb3Np
dGlvblN0eWxlT25Db3B5KG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkpOwpAQCAt
NTM2LDcgKzUzNiw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldE1p
bmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbEluU2VjCiB7CiAgICAgaWYgKCFtX3Bh
Z2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAg
ICBzZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcCkoaW50ZXJ2YWxJblNlY29u
ZHMgKiAxMDAwKSkpOworICAgIHNldHRpbmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwo
U2Vjb25kcyhpbnRlcnZhbEluU2Vjb25kcykpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTU2
MCw3ICs1NjAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRUaW1l
V2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cgogewogICAgIGlmICghbV9wYWdl
KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07Ci0gICAg
c2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyh0aW1lKTsKKyAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9y
ZUhpZGluZ0NvbnRyb2xzKFNlY29uZHModGltZSkpOwogICAgIHJldHVybiB7IH07CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNWE0ZjZlNGRhZDQ4
NWNiNWFmMzEyN2RlZjgwNzhkYzc3NjFjMTk0MC4uYmQ2M2ViYWI3NTI3MWU5Mzk2Yzk0MTBiYzk0
ZTA0NmQ5ZjYxODUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fbGFuZ0F0dHJp
YnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9pbWFnZXNFbmFi
bGVkOwogICAgICAgICBib29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJbWFnZXM7Ci0gICAgICAgIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5pbXVtVGltZXJJbnRlcnZhbDsKKyAgICAgICAg
U2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOwogI2lmIEVOQUJMRShWSURFT19UUkFDSykK
ICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7CiAgICAgICAgIGJvb2wgbV9z
aG91bGREaXNwbGF5Q2FwdGlvbnM7CkBAIC0xNTEsNyArMTUxLDcgQEAgcHJpdmF0ZToKICNlbmRp
ZgogICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkw7CiAgICAgICAgIGJvb2wg
bV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKLSAgICAgICAgYm9vbCBtX29yaWdpbmFsVGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7CisgICAgICAgIFNlY29uZHMg
bV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKICAgICAgICAg
Ym9vbCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3I7CiAgICAgICAg
IGJvb2wgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkOwogICAgICAgICBib29sIG1f
cXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBlZDJmZWRhMmRkYzQzMDY0N2NiMjgzYTBk
OWZmMTk4NzVjNGFhMjNmLi5jNzE5NGVkZWFiM2E3ODdmY2VmNDY1MTZhN2FhY2I1MWIwNDhlMmVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAt
MTg3LDcgKzE4Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RUYXNrKFRhc2smJiB0
YXNrKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRy
PFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkKIHsKLSAgICByZXR1cm4gRE9N
VGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0
aGlzLCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCks
IHRydWUpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhclRpbWVvdXQoaW50IHRp
bWVvdXRJZCkKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVh
clRpbWVvdXQoaW50IHRpbWVvdXRJZCkKIAogaW50IFdvcmtlckdsb2JhbFNjb3BlOjpzZXRJbnRl
cnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0
KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24p
LCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBmYWxzZSk7CisgICAgcmV0dXJu
IERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21N
aWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKIH0KIAogdm9pZCBXb3JrZXJHbG9iYWxTY29w
ZTo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKaW5kZXggNmI3ZGU4Y2NlZGIyMjQ4YjdjOTcyMDNjYmRlNDk4ZDUxMmFiMmJkZS4u
OGQwN2RiZTM3MmYwOWU0MzE4MTU2YzY3ZmQ0MjM0YTUxZGE2MWZhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0yNDUsOCArMjQ1LDggQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gWE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVvdXQodW5zaWduZWQgdGltZW91dCkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAogICAgIC8vIElmIHRpbWVvdXQgaXMgemVybywgd2Ugc2hvdWxkIHVzZSB0
aGUgZGVmYXVsdCBuZXR3b3JrIHRpbWVvdXQuIEJ1dCB3ZSBkaXNhYmxlZCBpdCBzbyBsZXQncyBt
aW1pYyBpdCB3aXRoIGEgNjAgc2Vjb25kcyB0aW1lb3V0IHZhbHVlLgotICAgIHN0ZDo6Y2hyb25v
OjpkdXJhdGlvbjxkb3VibGU+IGludGVydmFsID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7
IG1fdGltZW91dE1pbGxpc2Vjb25kcyA/IG1fdGltZW91dE1pbGxpc2Vjb25kcyA6IDYwMDAwIH0g
LSAoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKLSAg
ICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgoMC4wLCBpbnRlcnZhbC5jb3Vu
dCgpKSk7CisgICAgYXV0byBpbnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV90
aW1lb3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDApIC0gKE1v
bm90b25pY1RpbWU6Om5vdygpIC0gbV9zZW5kaW5nVGltZSk7CisgICAgbV90aW1lb3V0VGltZXIu
c3RhcnRPbmVTaG90KHN0ZDo6bWF4KDBfcywgaW50ZXJ2YWwpKTsKICAgICByZXR1cm4geyB9Owog
fQogCkBAIC00OTYsNyArNDk2LDcgQEAgc3RkOjpvcHRpb25hbDxFeGNlcHRpb25Pcjx2b2lkPj4g
WE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQoKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHsgRXhjZXB0aW9uIHsgTkVUV09SS19FUlIgfSB9OwogICAgICAgICBzZXRQ
ZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0b3AoKTsKLSAg
ICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbmV0
d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybiBFeGNlcHRp
b25Pcjx2b2lkPiB7IH07CiAgICAgfQogCkBAIC02NzUsOCArNjc1LDggQEAgRXhjZXB0aW9uT3I8
dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoKQogICAgICAgICAgICAgcmVxdWVz
dC5zZXRUaW1lb3V0SW50ZXJ2YWwobV90aW1lb3V0TWlsbGlzZWNvbmRzIC8gMTAwMC4wKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVvdXRJbnRlcnZhbChzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpOwotICAgICAgICAgICAgbV9zZW5k
aW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwotICAgICAgICAgICAg
bV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyBt
X3RpbWVvdXRNaWxsaXNlY29uZHMgfSk7CisgICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0gTW9u
b3RvbmljVGltZTo6bm93KCk7CisgICAgICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxsaXNlY29uZHMpKTsKICAg
ICAgICAgfQogICAgIH0KIApAQCAtOTYwLDcgKzk2MCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6
OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAgICAgICAgIG1fc2VuZEZsYWcg
PSBmYWxzZTsKICAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRoaXMpOwogICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXhjZXB0aW9uQ29kZSA9IE5FVFdPUktfRVJS
OwpAQCAtMTE4Myw3ICsxMTgzLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVzdW1lKCkKICAg
ICAvLyBXZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgSlMgaW4gcmVzdW1l
KCkgc28gZGlzcGF0Y2gKICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgaW4gYSB0aW1lci4KICAgICBp
ZiAobV9kaXNwYXRjaEVycm9yT25SZXN1bWluZyAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN1
bWVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBYTUxIdHRwUmVxdWVzdDo6cmVz
dW1lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDA0YWJj
MDlkZDdmNmJiOGI4YTk1YTUyNDEyN2MxNDY4Y2ZkYWMyNzEuLjJmODhmNTk3NDc2MDQ2NmRlNjBi
YTk2MjQwYTIyYzlkMGNhZjhjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBA
IC0yMzAsNyArMjMwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5ldHdvcmtFcnJvclRpbWVyRmly
ZWQoKTsKIAogICAgIHVuc2lnbmVkIG1fdGltZW91dE1pbGxpc2Vjb25kcyB7IDAgfTsKLSAgICBz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fc2VuZGluZ1RpbWU7CisgICAg
TW9ub3RvbmljVGltZSBtX3NlbmRpbmdUaW1lOwogICAgIFRpbWVyIG1fdGltZW91dFRpbWVyOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXggMzY2NjI2NTZiNTFiZjhjOWU5ZjIyNWJjYjA2
NzZlNjBmNDYzMDg3My4uZTRjOTk1NTEwNDA2MTMyNzNhZGZlMTc1ODNiOGEwN2YyZmQ3ZDIxNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY29uc3QgZG91YmxlIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxl
OjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgPSAuMDU7
IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgorY29uc3QgU2Vjb25kcyBYTUxIdHRwUmVxdWVz
dFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0lu
dGVydmFsID0gNTBfbXM7IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgogCiBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKQEAgLTcz
LDEyICs3MywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpk
aXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZQogICAgICAgICBBU1NFUlQoIW1f
aGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAgZGlzcGF0Y2hFdmVudChYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucHJvZ3Jlc3NFdmVu
dCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwotICAgICAgICBzdGFydFJlcGVh
dGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMpOwor
ICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50
ZXJ2YWwpOwogICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNzRXZlbnQgPSBmYWxzZTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFjdGl2
ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNlY29uZHMgaXMg
dGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgorICAgIC8vIFRoZSB0aW1lciBpcyBhbHJlYWR5IGFj
dGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgaXMgdGhlIGxl
YXN0IGZyZXF1ZW50IGV2ZW50LgogICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IHRy
dWU7CiB9CiAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpyZXN1bWUoKQogICAgIC8vIHRoZSBsaXN0IG9mIGFjdGl2ZSBET00gb2Jq
ZWN0cyB0byByZXN1bWUgdGhlbSwgYW5kIGFueSBhY3RpdmF0ZWQgSlMgZXZlbnQtaGFuZGxlcgog
ICAgIC8vIGNvdWxkIGluc2VydCBuZXcgYWN0aXZlIERPTSBvYmplY3RzIHRvIHRoZSBsaXN0Lgog
ICAgIC8vIG1fZGVmZXJFdmVudHMgaXMga2VwdCB0cnVlIHVudGlsIGFsbCBkZWZlcnJlZCBldmVu
dHMgaGF2ZSBiZWVuIGRpc3BhdGNoZWQuCi0gICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGF0Y2hEZWZlcnJlZEV2ZW50c1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRs
ZS5oCmluZGV4IDk3MWJkMjM0MmMwNTZiMTE1OGI0MDE5ZmIyYjNhYTI1MDM0ODRhOGQuLjM0MGZi
NWMwMGQxNzNmYjYxNjFhNzRlNDE1YTAxMmJhZWZiNGY3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oCkBA
IC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3VtZSgpOwogCiBwcml2YXRlOgot
ICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNzRXZlbnREaXNwYXRjaGluZ0lu
dGVydmFsSW5TZWNvbmRzOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmltdW1Qcm9ncmVz
c0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbDsKIAogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpOwog
ICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
U3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCBhYzBkY2MxMjU2OTRkYWQ0YzRiOTIyODdhMDMxZWZh
MDkzNTRlYTE5Li5mYWY0NGJhZjQ2MmY0OWQ3NzhhYjExN2Q0YmFlMDQ2ZDFmNDJjNzJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcApAQCAtNDEsNyArNDEsNyBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gSWYgdGhlIFN0b3JhZ2VBcmVhIHVuZGVyZ29lcyBy
YXBpZCBjaGFuZ2VzLCBkb24ndCBzeW5jIGVhY2ggY2hhbmdlIHRvIGRpc2suCiAvLyBJbnN0ZWFk
LCBxdWV1ZSB1cCBhIGJhdGNoIG9mIGl0ZW1zIHRvIHN5bmMgYW5kIGFjdHVhbGx5IGRvIHRoZSBz
eW5jIGF0IHRoZSBmb2xsb3dpbmcgaW50ZXJ2YWwuCi1zdGF0aWMgY29uc3QgZG91YmxlIFN0b3Jh
Z2VTeW5jSW50ZXJ2YWwgPSAxLjA7CitzdGF0aWMgY29uc3QgYXV0byBzdG9yYWdlU3luY0ludGVy
dmFsID0gMV9zOwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93IG1hbnkgaXRlbXMgd2UnbGwgc2No
ZWR1bGUgdG8gc3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFrZXMgaXQKIC8vIG11Y2ggaGFyZGVy
IHRvIHN0YXJ2ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2UgYW5kIHRoZSBPUydzIElPIHN1YnN5
c3RlbSBpbiBnZW5lcmFsLgpAQCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5j
OjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZh
bHVlCiAKICAgICBtX2NoYW5nZWRJdGVtcy5zZXQoa2V5LCB2YWx1ZSk7CiAgICAgaWYgKCFtX3N5
bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChT
dG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0
b3JhZ2VTeW5jSW50ZXJ2YWwpOwogCiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYmFsYW5j
ZWQgYnkgdGhlIGNhbGwgdG8gZW5hYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhlCiAgICAgICAg
IC8vIHN5bmNUaW1lckZpcmVkIGZ1bmN0aW9uLgpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgU3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKCkKICAgICBtX2NoYW5nZWRJdGVtcy5jbGVhcigp
OwogICAgIG1faXRlbXNDbGVhcmVkID0gdHJ1ZTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0
aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50
ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2Fs
bCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVy
RmlyZWQgZnVuY3Rpb24uCkBAIC0xNTIsNyArMTUyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6
OnNjaGVkdWxlQ2xvc2VEYXRhYmFzZSgpCiAgICAgbV9zeW5jQ2xvc2VEYXRhYmFzZSA9IHRydWU7
CiAgICAgCiAgICAgaWYgKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3lu
Y1RpbWVyLnN0YXJ0T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5j
VGltZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAKICAgICAg
ICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbCB0byBlbmFibGVTdWRk
ZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1RpbWVyRmlyZWQgZnVuY3Rpb24u
CkBAIC0xNzIsNyArMTcyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVk
KCkKICAgICAgICAgLy8gcHJldmlvdXMgb25lLiBCdXQsIGlmIHdlJ3JlIHNodXR0aW5nIGRvd24s
IHNjaGVkdWxlIGl0IGFueXdheS4KICAgICAgICAgaWYgKG1fc3luY0luUHJvZ3Jlc3MgJiYgIW1f
ZmluYWxTeW5jU2NoZWR1bGVkKSB7CiAgICAgICAgICAgICBBU1NFUlQoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpOwotICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VT
eW5jSW50ZXJ2YWwpOworICAgICAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3Jh
Z2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTIx
OSw3ICsyMTksNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAg
IGlmIChwYXJ0aWFsU3luYykgewogICAgICAgICAvLyBJZiB3ZSBkaWRuJ3QgZmluaXNoIHN5bmNp
bmcsIHRoZW4gd2UgbmVlZCB0byBmaW5pc2ggdGhlIGpvYiBsYXRlci4KICAgICAgICAgQVNTRVJU
KCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVT
aG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNo
b3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVGhlIGZv
bGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbHMgdG8gZGlzYWJsZVN1ZGRlblRlcm1pbmF0
aW9uIGluIHRoZQogICAgICAgICAvLyBzY2hlZHVsZUl0ZW1Gb3JTeW5jLCBzY2hlZHVsZUNsZWFy
LCBhbmQgc2NoZWR1bGVGaW5hbFN5bmMgZnVuY3Rpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9T
dG9yYWdlVHJhY2tlci5jcHAKaW5kZXggNTlhMDBmZTMwYTk2M2Y1ODEzZDhiMGRkYTA0ZGI2MDgx
YTY2MjNiZC4uYWQ3NTdkODhkZDE2NmU3NjE5NWE1MDM1YWQ1M2YwMDk1MDk5Zjc1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBAIC01MSw4ICs1MSw4IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogc3RhdGljIFN0b3JhZ2VUcmFja2VyKiBzdG9yYWdlVHJhY2tlciA9
IG51bGxwdHI7CiAKIC8vIElmIHRoZXJlIGlzIG5vIGRvY3VtZW50IHJlZmVyZW5jaW5nIGEgc3Rv
cmFnZSBkYXRhYmFzZSwgY2xvc2UgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UKLS8vIGFmdGVyIGl0
IGhhcyBiZWVuIGlkbGUgZm9yIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsIHNlY29uZHMu
Ci1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwg
PSAzMDA7CisvLyBhZnRlciBpdCBoYXMgYmVlbiBpZGxlIGZvciBtX3N0b3JhZ2VEYXRhYmFzZUlk
bGVJbnRlcnZhbCBzZWNvbmRzLgorc3RhdGljIGNvbnN0IGF1dG8gZGVmYXVsdFN0b3JhZ2VEYXRh
YmFzZUlkbGVJbnRlcnZhbCA9IDMwMF9zOwogICAgIAogdm9pZCBTdG9yYWdlVHJhY2tlcjo6aW5p
dGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJD
bGllbnQqIGNsaWVudCkKIHsKQEAgLTk3LDcgKzk3LDcgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3Jh
Z2VUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgpCiAgICAgLCBtX3RocmVhZChzdGQ6
Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+KCkpCiAgICAgLCBtX2lzQWN0aXZlKGZhbHNlKQog
ICAgICwgbV9uZWVkc0luaXRpYWxpemF0aW9uKGZhbHNlKQotICAgICwgbV9TdG9yYWdlRGF0YWJh
c2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkKKyAgICAs
IG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRlZmF1bHRTdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9y
YWdlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5k
ZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3ZjU5NGU4ZmEzYmRhY2E4OC4uNzI2ZjMyNTFiMWQx
ZWVmNmMxYWFmMTEyNjFjMGQyOTk3YjU5MTRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
dG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmgKQEAgLTU5LDggKzU5LDggQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgaXNB
Y3RpdmUoKTsKIAotICAgIGRvdWJsZSBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJl
dHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQotICAgIHZvaWQgc2V0U3RvcmFn
ZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkgeyBtX1N0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vjb25kcyBzdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQor
ICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBpbnRlcnZhbDsgfQogCiAgICAgdm9p
ZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJEYXRhYmFzZSgpOwogCkBAIC0xMTAsNyArMTEwLDcg
QEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX25lZWRz
SW5pdGlhbGl6YXRpb247Ci0gICAgZG91YmxlIG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
OworICAgIFNlY29uZHMgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CiB9OwogICAgIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJDb3Jl
U3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJD
b3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCmluZGV4IDExYmNlM2JlZTBl
MGJhMWQ3MDJmNzJjNjY0NTNjYzJhMmJkZWI3ZjYuLmE2Y2Y4NGZjMTk1MjU5NjNkNDZkMmJhYzk1
N2FmYTJiM2ZhOGExYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQv
V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVT
dXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAgLTI4Niw3ICsyODYsNyBAQCB2
b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVzdW1lUGVuZGluZ1JlcXVlc3RzKCkKIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3Rz
KCkKIHsKICAgICBpZiAoIW1fcmVxdWVzdFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVx
dWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpyZXF1ZXN0
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KaW5kZXggYjlhYjhhMGRk
ZGNjNzY0N2RhNzg2MzM5ODQyMzI3Y2E1YzdhOTdhOS4uMDZlOWVkNmM1N2RiNTQ3MjI3YWY0MmM1
YTJmMDVhZmRhY2RlZWUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQpAQCAtNzQ0
LDcgKzc0NCw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5OjpyZXF1ZXN0VGlt
ZXJGaXJlZCgpCiAgICAgbV9wbHVnaW5SZXF1ZXN0cy5yZW1vdmVGaXJzdCgpOwogICAgIAogICAg
IGlmICghbV9wbHVnaW5SZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAgICAgCiAgICAgcGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC04MDAs
NyArODAwLDcgQEAgTlBFcnJvciBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OmxvYWRSZXF1
ZXN0KE5TVVJMUmVxdWVzdCAqcmVxdWVzdCwgY29uc3QgY2gKIAogICAgICAgICBhdXRvIHBsdWdp
blJlcXVlc3QgPSBQbHVnaW5SZXF1ZXN0OjpjcmVhdGUocmVxdWVzdElELCByZXF1ZXN0LCB0YXJn
ZXQsIGFsbG93UG9wdXBzKTsKICAgICAgICAgbV9wbHVnaW5SZXF1ZXN0cy5hcHBlbmQoV1RGTW92
ZShwbHVnaW5SZXF1ZXN0KSk7Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgUmVmUHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2luU3RyZWFtPiBzdHJlYW0gPSBI
b3N0ZWROZXRzY2FwZVBsdWdpblN0cmVhbTo6Y3JlYXRlKHRoaXMsIHJlcXVlc3RJRCwgcmVxdWVz
dCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQ
bHVnaW5TdHJlYW0ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1
Z2luU3RyZWFtLm1tCmluZGV4IDA1Y2M0ZDQ3MmRhODYxMGEzNGJhNWJkYmVjOGExNjNlNGFkMzhi
OTQuLmRiMGMwMGZlN2FjNWRjN2RmNzBlOTkwYmY2MDFjZTE5ZmVmZjVmMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQpA
QCAtNTI5LDcgKzUyOSw3IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJE
YXRhKCkKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkgewogICAgICAgICAgICAgLy8g
UGx1Zy1pbiBjYW4ndCByZWNlaXZlIGFueW1vcmUgZGF0YSByaWdodCBub3cuIFNlbmQgaXQgbGF0
ZXIuCiAgICAgICAgICAgICBpZiAoIW1fZGVsaXZlckRhdGFUaW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICAgICAgICAgIG1fZGVsaXZlckRhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWxpdmVyeUJ5dGVzID0g
c3RkOjptaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFsQnl0ZXNEZWxpdmVyZWQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdp
blZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQppbmRleCBkOWU1OGUzMzY5NGQ1MGNjMWY2NzZiMDRmYzFmOThlM2VmYTRiZDNlLi5jMmM2
NGUyYTNhMDUxZjk4NWJlOWE0YzA1N2JiZDRmYzczZGM0ZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQpAQCAtMTExLDcgKzEx
MSw3IEBAIHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdpblZpZXcgKmN1cnJlbnRQbHVnaW5WaWV3ID0g
bmlsOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQb3J0U3RhdGUqIFBvcnRTdGF0ZTsKIAotc3Rh
dGljIGNvbnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1lckludGVydmFsID0gMC4yNTsKK3N0YXRpYyBj
b25zdCBhdXRvIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1X3M7CiAKIGNsYXNzIFBsdWdp
blRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CiBwdWJsaWM6CkBAIC0xMzAsNyArMTMwLDcgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0FjdGl2ZSgpKTsKIAotICAgICAgICBk
b3VibGUgdGltZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICAgICAgYXV0byB0
aW1lSW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1faW50ZXJ2YWwpOwogICAg
ICAgICAKICAgICAgICAgaWYgKHRocm90dGxlKQogICAgICAgICAgICAgdGltZUludGVydmFsID0g
c3RkOjptYXgodGltZUludGVydmFsLCBUaHJvdHRsZWRUaW1lckludGVydmFsKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2VyLm1tCmluZGV4IDFmOWVhZTU1
ZWZkY2E1ZTZmYWQ1ZDYwZTRiZTBmMWI5ODc0MzY4NGQuLjExOGExMTM0NTZhZGM1ZWI1YWNlOTRh
OTk1MGIzYTdiMDVhMjczOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2Uv
V2ViU3RvcmFnZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJT
dG9yYWdlTWFuYWdlci5tbQpAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBwdGhyZWFkX29uY2Vf
dCByZWdpc3RlckxvY2FsU3RvcmFnZVBhdGggPSBQVEhSRUFEX09OQ0VfSU5JVDsKIAogKyAodm9p
ZClzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6KGRvdWJsZSlpbnRlcnZhbAogewotICAg
IFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxl
SW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIo
KS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQog
CiArICh2b2lkKWNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdGFiYXNlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCmluZGV4IDE1MjI4OTM2ODg2YjVkYzA3OTQ2MGY2MDkyYTA0MzQ2NDUy
OGFhMzEuLjliMDFiYTQxNDdhMTg4ODdmNjY1ZGNmNTkxYWQzMmZiMzE4NjczYTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTgzMzQsNyArODMzNCw3IEBAIHN0YXRpYyBX
ZWJGcmFtZVZpZXcgKmNvbnRhaW5pbmdGcmFtZVZpZXcoTlNWaWV3ICp2aWV3KQogICAgIHVuc2ln
bmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2Fw
YWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBh
dXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25k
cyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAK
ICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0gMDsKIApAQCAtODQ2MSw3ICs4NDYxLDcgQEAg
c3RhdGljIFdlYkZyYW1lVmlldyAqY29udGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAg
ICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1
c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gc3Rk
OjptYXg8dW5zaWduZWQ+KDI0LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAgICAgICAgZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgNjAg
fTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDFfbWluOwogCiAj
aWYgUExBVEZPUk0oSU9TKQogICAgICAgICBpZiAobWVtU2l6ZSA+PSAxMDI0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAppbmRleCBiYzE4ZGVi
NzVjY2Q3MDgyN2FmZmFlOWUwNzYyMWYyMzUwMWY1NGVhLi43ZGIyNzZlMDc4NGZhZTBjMjcxODYw
M2I4ZjA0MmM2ODE4Y2Q1NWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyLmNwcApAQCAtNTIsNyArNTIsNyBAQAogdXNpbmcgbmFtZXNwYWNlIHN0
ZDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgY29uc3QgZmxvYXQgdGltZXJJ
bnRlcnZhbCA9IDAuMDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCA9IDAu
MDMzX3M7CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50IHdpbmRvd0hlaWdodCA9IDU5
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhy
b3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRo
cm90dGxlcldpbi5jcHAKaW5kZXggYTUzYzMxNWMyMDE4NDM5NGYzYjQwNjRhM2Y1NDQ3NTczZWQy
Y2YwOS4uMTcyOWZmZjYzYzBmZmE0Njc1ZDM3ODEzYWM2YWM3MGQ3NjQ5ZDk5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJX
aW4uY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIFRoaXMgdmFs
dWUgYWxsb3dzIEZsYXNoIDYwIG1lc3NhZ2VzL3NlY29uZCwgd2hpY2ggc2hvdWxkIGJlIGVub3Vn
aCBmb3IgdmlkZW8KIC8vIHBsYXliYWNrLCBhbmQgYWxzbyBnZXRzIHVzIG92ZXIgdGhlIGxpbWl0
IGZvciBraWNraW5nIGludG8gaGlnaC1yZXNvbHV0aW9uCiAvLyB0aW1lciBtb2RlIChzZWUgU2hh
cmVkVGltZXJXaW4uY3BwKS4KLXN0YXRpYyBjb25zdCBkb3VibGUgTWVzc2FnZVRocm90dGxlVGlt
ZUludGVydmFsID0gMC4wMTY7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBNZXNzYWdlVGhyb3R0bGVU
aW1lSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDE2KTsKIAogLy8gRHVyaW5nIGEgY29udGludW91cyBz
dHJlYW0gb2YgbWVzc2FnZXMsIHByb2Nlc3Mgb25lIGV2ZXJ5IDVtcy4KIHN0YXRpYyBjb25zdCBk
b3VibGUgTWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZhbCA9IDAuMDA1OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5kZXggYjY3ZmE1M2ZlODBiMWVm
OGMwMWFmZmM4NmRhNWQ3MTYzMTU1ZGQyNC4uMTc1NGJkZDU0ZjA3MzllMmRmNmNhY2I3OWUxNTE1
YTQ5MjE3Y2YxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5Q
YWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2Uu
Y3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlTb29u
KCkKICAgICBBU1NFUlQobV9tb2R1bGUpOwogICAgIEFTU0VSVCghbV9sb2FkQ291bnQpOwogCi0g
ICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZyZWVMaWJyYXJ5
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUGx1Z2luUGFja2FnZTo6ZnJlZUxp
YnJhcnlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMv
UGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFt
LmNwcAppbmRleCAyZWYzOTU1YmU2MWE4ZDA1NDI0YWQxMzk5NjJkZDBkN2ZhNmFlNDQ0Li5kYTgz
M2FhZjRmOGJhZTQ0YjQ4MDRiMzUyMWZjZDE3N2I4Y2FkZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93
aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBQbHVn
aW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAgaW50MzJfdCBkZWxpdmVyeUJ5dGVzID0g
bV9wbHVnaW5GdW5jcy0+d3JpdGVyZWFkeShtX2luc3RhbmNlLCAmbV9zdHJlYW0pOwogCiAgICAg
ICAgIGlmIChkZWxpdmVyeUJ5dGVzIDw9IDApIHsKLSAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVy
eVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBkZWxpdmVyeUJ5dGVzID0gbWluKGRlbGl2ZXJ5Qnl0ZXMsIHRvdGFsQnl0
ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwCmluZGV4IDIwN2E5NjEzY2NhOGQ5YzEwMzdjZmI0ZDFiMWU0MmE2ODUxOTU2OTYu
LjRlZDZkNWIwYjU1OTQ1ZjE3MDAzZWNjMjRmMzk2ZmE4NjQ0OTYwMGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtNDczLDcgKzQ3Myw3IEBAIHZvaWQgUGx1
Z2luVmlldzo6cmVxdWVzdFRpbWVyRmlyZWQoKQogICAgIC8vIFNjaGVkdWxlIGEgbmV3IHJlcXVl
c3QgYmVmb3JlIGNhbGxpbmcgcGVyZm9ybVJlcXVlc3Qgc2luY2UgdGhlIGNhbGwgdG8KICAgICAv
LyBwZXJmb3JtUmVxdWVzdCBjYW4gY2F1c2UgdGhlIHBsdWdpbiB2aWV3IHRvIGJlIGRlbGV0ZWQu
CiAgICAgaWYgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIAogICAgIHBlcmZvcm1SZXF1ZXN0KHJlcXVlc3QuZ2V0KCkpOwogfQpAQCAtNDgzLDcgKzQ4
Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2NoZWR1bGVSZXF1ZXN0KHN0ZDo6dW5pcXVlX3B0cjxQ
bHVnaW5SZXF1ZXN0PiByZXF1ZXN0KQogICAgIG1fcmVxdWVzdHMuYXBwZW5kKFdURk1vdmUocmVx
dWVzdCkpOwogCiAgICAgaWYgKCFtX2lzSmF2YVNjcmlwdFBhdXNlZCkKLSAgICAgICAgbV9yZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogTlBFcnJvciBQbHVnaW5WaWV3Ojpsb2FkKGNvbnN0IEZyYW1lTG9h
ZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCog
bm90aWZ5RGF0YSkKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQoYm9vbCBwYXVzZWQpCiAgICAgaWYgKG1faXNKYXZhU2NyaXB0UGF1c2VkKQog
ICAgICAgICBtX3JlcXVlc3RUaW1lci5zdG9wKCk7CiAgICAgZWxzZSBpZiAoIW1fcmVxdWVzdHMu
aXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpCkBAIC0xMTczLDcgKzExNzMsNyBAQCB2b2lkIFBsdWdpblZpZXc6
OmtlZXBBbGl2ZSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlZigpOwotICAgIG1fbGlmZVN1
cHBvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9saWZlU3VwcG9ydFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwIGIvU291
cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcAppbmRleCAyZmNhOWYzYzk1
ZDczZGJhM2FjMzI2MjU5ZWE4NmRkY2RkYTIwNzBmLi5lNWMzYzU0YWY5NzFjNmVkOTM4MTIyNmM2
YmY0ZDA2Njg5YjJmZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1Bs
dWdpblZpZXdXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmll
d1dpbi5jcHAKQEAgLTMzNCw3ICszMzQsNyBAQCBQbHVnaW5WaWV3Ojp3bmRQcm9jKEhXTkQgaFdu
ZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogCiAgICAgICAg
IHB1c2hQb3B1cHNFbmFibGVkU3RhdGUodHJ1ZSk7CiAKLSAgICAgICAgbV9wb3BQb3B1cHNTdGF0
ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmIChtZXNzYWdlID09IFdNX1BSSU5UQ0xJ
RU5UKSB7CkBAIC04MzgsNyArODM4LDcgQEAgdm9pZCBQbHVnaW5WaWV3OjppbnZhbGlkYXRlUmVj
dChOUFJlY3QqIHJlY3QpCiAgICAgICAgIGlmIChtX3BsdWdpbi0+cXVpcmtzKCkuY29udGFpbnMo
UGx1Z2luUXVpcmtUaHJvdHRsZUludmFsaWRhdGUpKSB7CiAgICAgICAgICAgICBtX2ludmFsaWRS
ZWN0cy5hcHBlbmQocik7CiAgICAgICAgICAgICBpZiAoIW1faW52YWxpZGF0ZVRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAu
MDAxKTsKKyAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMV9t
cyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgaW52YWxpZGF0ZVJlY3Qocik7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCmluZGV4IGZjMGQxNTU3MGZlYWVj
OWRiMzg2OTcwOGI1YWI3YzdhNGFkMjIyODIuLmExMGEwMjA2NGJlOTMwMWUwODQ0YjVlMGI0YzAw
OThlNjAwZjRlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0
L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKQEAgLTM0
OSw3ICszNDksNyBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0OjpzY2hlZHVs
ZUxheWVyRmx1c2goKQogICAgIGlmIChtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNSk7
CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDAuMDVfcyk7CiB9CiAKIGJvb2wg
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVuZGluZ0xheWVyQ2hhbmdlcygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGQ1NzAwNDhkYTdhMjY0MDZiY2FkMDZjMjVkZTg2OGZl
NWFjYjJiMDMuLmQyYTNkMjU2ZmM0MzBiZmQzZWU1ZjA3MTM5MmNkYTkxZTA1ZTMwNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwCkBAIC01MjUsNyArNTI1LDcgQEAgdm9pZCBXZWJWaWV3OjpzZXRDYWNo
ZU1vZGVsKFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICB1bnNpZ25lZCBjYWNoZVRvdGFs
Q2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFjaXR5ID0gMDsKICAg
ICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0byBkZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAwIH07CisgICAg
U2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogCiAgICAgdW5zaWduZWQg
cGFnZUNhY2hlU2l6ZSA9IDA7CiAKQEAgLTYzNyw3ICs2MzcsNyBAQCB2b2lkIFdlYlZpZXc6OnNl
dENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgICAgICAvLyBjYW4gcHJv
dmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNz
aW9uLgogICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IG1heCgyNHUsIGNhY2hlTWF4RGVh
ZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0g
c3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxl
dGlvbkludGVydmFsID0gNjBfczsKIAogICAgICAgICAvLyBNZW1vcnkgY2FjaGUgY2FwYWNpdHkg
KGluIGJ5dGVzKQogICAgICAgICAvLyAoVGhlc2UgdmFsdWVzIGFyZSBzbWFsbCBiZWNhdXNlIFdl
YkNvcmUgZG9lcyBtb3N0IGNhY2hpbmcgaXRzZWxmLikKQEAgLTE1MTYsNyArMTUxNiw3IEBAIHZv
aWQgV2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKCkKICAgICBtX2Nsb3NlV2luZG93VGltZXIgPSBX
aW5kb3dDbG9zZVRpbWVyOjpjcmVhdGUodGhpcyk7CiAgICAgaWYgKCFtX2Nsb3NlV2luZG93VGlt
ZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25lU2hv
dCgwKTsKKyAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAg
QWRkUmVmKCk7CiB9CkBAIC03NDUyLDcgKzc0NTIsOCBAQCBIUkVTVUxUIFdlYlZpZXc6OmRlZmF1
bHRNaW5pbXVtVGltZXJJbnRlcnZhbChfT3V0XyBkb3VibGUqIGludGVydmFsKQogewogICAgIGlm
ICghaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0gICAgKmludGVydmFsID0g
RE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKS5jb3VudCgpIC8gMTAwMC47CisKKyAg
ICAqaW50ZXJ2YWwgPSBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLnZhbHVlKCk7
CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKQEAgLTc0NjEsOCArNzQ2Miw3IEBAIEhSRVNVTFQgV2Vi
Vmlldzo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGludGVydmFsKQogICAgIGlmICgh
bV9wYWdlKQogICAgICAgICByZXR1cm4gRV9GQUlMOwogCi0gICAgYXV0byBpbnRlcnZhbE1TID0g
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVw
KShpbnRlcnZhbCAqIDEwMDApKTsKLSAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURP
TVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxNUyk7CisgICAgcGFnZSgpLT5zZXR0aW5ncygpLnNldE1p
bmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMoaW50ZXJ2YWwpKTsKICAgICByZXR1cm4gU19P
SzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0RhdGFUYXNrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRh
VGFzay5jcHAKaW5kZXggOWJmYTRlYzY0Yzg0NzBjN2RiZWJjZTRmZmUzYmZjMDRjODU2M2I5MC4u
OTRlMTQ3ZjUyOGE1ODNmZDBkZWNhNzExNTMwMzYxOTMyZTEyNjRmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCkBAIC05MSw3ICs5
MSw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUg
dHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSAhPSBOb0ZhaWx1cmUpOwogICAgIG1fc2NoZWR1bGVk
RmFpbHVyZVR5cGUgPSB0eXBlOwotICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBOZXR3b3Jr
RGF0YVRhc2s6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2Us
IFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNwcAppbmRleCA1MTdmODQ1YWFi
ZTUyM2YyZWZhOTYxODRlZWY3MjUzYWUyY2E0ZDlmLi4wZjMwMDJkYWUyNWZhYTdhZTllYjI3OWI3
NDM5Mjk0NGJkMDIxNzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrTG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0xvYWQuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
I2lmIFVTRShORVRXT1JLX1NFU1NJT04pCiAKIHN0cnVjdCBOZXR3b3JrTG9hZDo6VGhyb3R0bGUg
ewotICAgIFRocm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlv
bkhhbmRsZXImJiBoYW5kbGVyKQorICAgIFRocm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBTZWNv
bmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlv
bkhhbmRsZXImJiBoYW5kbGVyKQogICAgICAgICA6IHRpbWVyKGxvYWQsICZOZXR3b3JrTG9hZDo6
dGhyb3R0bGVEZWxheUNvbXBsZXRlZCkKICAgICAgICAgLCByZXNwb25zZShXVEZNb3ZlKHJlc3Bv
bnNlKSkKICAgICAgICAgLCByZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoaGFuZGxl
cikpCkBAIC0zMTIsNyArMzEyLDcgQEAgdm9pZCBOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlTmV0d29ya1Nlc3Npb24oUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLAogICAgIH0KIAog
ICAgIGF1dG8gZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9hZFRocm90dGxl
TGF0ZW5jeSgpOwotICAgIGlmIChkZWxheSA+IDBtcykgeworICAgIGlmIChkZWxheSA+IDBfcykg
ewogICAgICAgICBtX3Rocm90dGxlID0gc3RkOjptYWtlX3VuaXF1ZTxUaHJvdHRsZT4oKnRoaXMs
IGRlbGF5LCBXVEZNb3ZlKHJlc3BvbnNlKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmgKaW5kZXggYzk2ZDA4MjllMTViNmQ4OGJhZTE1Y2YwYzEyY2M0Y2Qy
MzhmMTEzYi4uOGM1YjdhNDg4NWZjNDQ5ZWVhZGUwNzQ0Y2Q5ZmM2MDI1YWNlNjFhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0xMTUs
NyArMTE1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBncmFudFNhbmRib3hFeHRlbnNpb25zVG9E
YXRhYmFzZVByb2Nlc3NGb3JCbG9icyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgZmlsZW5hbWVzLCBG
dW5jdGlvbjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKIAotICAgIHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9h
ZFRocm90dGxlTGF0ZW5jeTsgfQorICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNv
bnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsgfQogCiBwcml2YXRlOgogICAgIE5l
dHdvcmtQcm9jZXNzKCk7CkBAIC0yMDcsNyArMjA3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
c3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaXNr
Q2FjaGVJc0Rpc2FibGVkRm9yVGVzdGluZzsKICAgICBib29sIG1fY2FuSGFuZGxlSFRUUFNTZXJ2
ZXJUcnVzdEV2YWx1YXRpb247Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtX2xvYWRU
aHJvdHRsZUxhdGVuY3k7CisgICAgU2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CiAKICAg
ICB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUHJv
Y2Vzc1N1cHBsZW1lbnQ+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPj4gTmV0d29ya1Byb2Nlc3NTdXBw
bGVtZW50TWFwOwogICAgIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZjQ1NjljOTQ2OWE1NzcyZTYw
YjFjOWJmZjU2MDg1ZDNhY2I0M2MzZC4uNzA5NTE1MzBlMzI5ZmExYzVmM2ZmOGU2NzJiOTM0MzA4
YzU4ZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0yOCw2ICsyOCw3
IEBACiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKICNp
bmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
QEAgLTczLDcgKzc0LDcgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
IHsKICAgICBib29sIHNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHsgZmFsc2Ug
fTsKICAgICBib29sIHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vzc2lvbjsKICAgICBib29sIHVy
bFBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bG9hZFRocm90dGxlTGF0ZW5jeSB7IDBtcyB9OworICAgIFNlY29uZHMgbG9hZFRocm90dGxlTGF0
ZW5jeTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9t
UHJvdG9jb2xzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCA0MjU1YWRlNDExNTBk
YTk2OWYyMTExNzUxMmQ3ZGY2ZjdmN2M5YzRhLi41YjI5ZTBlYmQ0M2EzOGJlNTJhZTY2ZGM1MjEw
MzJlYzIwNjcwYWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKQEAgLTUwLDcgKzUwLDcg
QEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZElkZW50aWZpZXIgaWRlbnRpZmllciB7IDAgfTsK
ICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiByZXF1ZXN0Qm9keVNhbmRib3hF
eHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCiAgICAg
UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IHJlc291cmNlU2FuZGJveEV4dGVuc2lvbjsgLy8gQ3Jl
YXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgotICAgIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUgeyAwbXMgfTsKKyAgICBTZWNvbmRzIG1heGlt
dW1CdWZmZXJpbmdUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAppbmRleCA5MDEwNTk5NjhhMzkxMzAxZGEyYWM5MjM3NGI3ZjkyNDVkNjk0ZGQ2Li4yYzdhZTNh
YTc2YjcyOTc1NjQ4MDMwMzU2YmQ5ZjA3NDIwZWMyZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTIw
OSw3ICsyMDksNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9h
ZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAKICAgICBjb25zdW1lU2FuZGJveEV4
dGVuc2lvbnMoKTsKIAotICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1h
eGltdW1CdWZmZXJpbmdUaW1lID4gMG1zKQorICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwgbV9w
YXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMF9zKQogICAgICAgICBtX2J1ZmZlcmVk
RGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNI
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCmluZGV4IDMwMGMzMDgx
MjRmMzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVjMjlkMTIuLmIxNDhhNWVkY2U5YmI5OTVmN2U1OTY4
YzE2NTkyZjI3OTg0ODQyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xv
YWQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZl
ciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgog
ICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAg
ICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAwKTsKKyAgICAgICAgbV90aW1l
b3V0VGltZXIuc3RhcnRPbmVTaG90KDEwMDBfbWluKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAppbmRleCBj
Y2E5ODVmY2RhZjAxZDViNjhhNGIzZjE1N2FjNmYyYWQ5Y2ZhZGMzLi4xMjVkN2U4NWZlMzBjYjU0
YWQwMzZjOTg4MTE3ODFiZTQ1YWI4MWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtNDYsNyArNDYsNyBAQCBuYW1lc3BhY2UgTmV0d29y
a0NhY2hlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBhdXRv
IHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAxMHM7CitzdGF0aWMgY29uc3QgYXV0byBwcmVsb2Fk
ZWRFbnRyeUxpZmV0aW1lID0gMTBfczsKIAogI2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBIYXNo
Q291bnRlZFNldDxTdHJpbmc+JiBhbGxTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2Fn
ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RhdGlzdGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAppbmRleCAxMGE1MjAzZWZkODE4MGUwYWNh
MzRiZTU0ZGY1MjU4MmY1OWM5NWY3Li44MjEyYzc2MzdjMzEyZGZmZjc3MWNiN2JhMDkxOWJlOTE5
YjU4ZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcApAQCAtNDQsNyArNDQsNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCiBzdGF0aWMgY29u
c3QgY2hhciogU3RhdGlzdGljc0RhdGFiYXNlTmFtZSA9ICJXZWJLaXRDYWNoZVN0YXRpc3RpY3Mu
ZGIiOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWluaW51bVdyaXRl
SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDEwMDAwKTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0gMTBfczsKIAogc3RhdGljIGJvb2wgZXhl
Y3V0ZVNRTENvbW1hbmQoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2UmIGRhdGFiYXNlLCBjb25zdCBT
dHJpbmcmIHNxbCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggNDUzMDgzYTRhNDliMDdm
N2RhMDIzMDg5Yzk3YTg1NDE4MTdiN2RkNi4uMDczYWQ2ZDJkYzlkMTliNmY4Y2VlNDdhNTkzMDU3
NGNiMWY4YjgzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTU2NSw3ICs1NjUsNyBAQCB2
b2lkIFN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbihzdGQ6OnVuaXF1ZV9wdHI8UmVhZE9w
ZXJhdGlvbj4gcmVhZE9wZXJhdGlvbgogICAgIG1fYWN0aXZlUmVhZE9wZXJhdGlvbnMuYWRkKFdU
Rk1vdmUocmVhZE9wZXJhdGlvblB0cikpOwogCiAgICAgLy8gSS9PIHByZXNzdXJlIG1heSBtYWtl
IGRpc2sgb3BlcmF0aW9ucyBzbG93LiBJZiB0aGV5IHN0YXJ0IHRha2luZyB2ZXJ5IGxvbmcgdGlt
ZSB3ZSByYXRoZXIgZ28gdG8gbmV0d29yay4KLSAgICBjb25zdCBhdXRvIHJlYWRUaW1lb3V0ID0g
MTUwMG1zOworICAgIGNvbnN0IFNlY29uZHMgcmVhZFRpbWVvdXQgPSAxLjVfczsKICAgICBtX3Jl
YWRPcGVyYXRpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKIAogICAg
IGJvb2wgc2hvdWxkR2V0Qm9keUJsb2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtl
eSk7CkBAIC03ODcsNyArNzg3LDcgQEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQm
IHJlY29yZCwgTWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8v
IERlbGF5IHRoZSBzdGFydCBvZiB3cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5
IHBhZ2UgbG9hZC4KICAgICAvLyBDb21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUg
d3JpdGVzIHdpdGhvdXQgZGVsYXkuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRl
RGVsYXkgPSAxczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsV3JpdGVEZWxheSA9
IDFfczsKICAgICBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lci5zdGFydE9uZVNob3QoaW5p
dGlhbFdyaXRlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDRjZWZhOGVi
MzU3YWU0NGJkMjVhNTc0NmI0NWZmOWEwOGI0ZTIwZGYuLjE4ZjBjY2Q4ZjcxNDEyM2M5OGE5NTE1
NDkyZDc1ODYzNmU2ZWM0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC0zMzMsNyArMzMz
LDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6Y2FuY2VsKCkKIHZvaWQgTmV0d29ya0Rh
dGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUg
IT0gTm9GYWlsdXJlKQotICAgICAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIFttX3Rhc2sgcmVz
dW1lXTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVy
cy5jcHAKaW5kZXggOWFjNzZjNmQzOTQ3ZGUyNjg3MWViNjg5MjA2NWJkYTZiNzc4Y2ZlMS4uZDA0
NmFmNWRlMjA3MzYzMjdiMTA3NjgzMGVjYjliOGE5ZWZlZDU4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0zMiw2ICszMiwzNiBAQAog
CiBuYW1lc3BhY2UgSVBDIHsKIAordm9pZCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+Ojpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAg
ICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOworfQorCitib29s
IEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBN
b25vdG9uaWNUaW1lJiB0aW1lKQoreworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdGltZSA9IE1v
bm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kwordm9pZCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgU2Vjb25kcyYgc2Vjb25kcykKK3sKKyAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUo
KTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVj
b2RlciwgU2Vjb25kcyYgc2Vjb25kcykKK3sKKyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHNlY29u
ZHMgPSBTZWNvbmRzKHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBBcmd1bWVu
dENvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+OjplbmNvZGUoSVBD
OjpFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50JiB0aW1lUG9pbnQpCiB7CiAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxpbnQ2NF90
Pih0aW1lUG9pbnQudGltZV9zaW5jZV9lcG9jaCgpLmNvdW50KCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaAppbmRleCBmNmQ4OGI3Y2RiYjdkZTZmYTZh
MmRjYjU0YWY4NmZhM2NhNzk3NmIyLi4wNzViZmY1MzUxOWRmODk3Zjc1MDM2ODI1YmQyNjlmODdm
MjY5YWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRD
b2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMu
aApAQCAtMTYzLDcgKzE2Myw2IEBAIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEVsZW1lbnRzPiBzdHJ1
Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OnR1cGxlPEVsZW1lbnRzLi4uPj4gewogICAgIH0KIH07CiAK
LQogdGVtcGxhdGU8dHlwZW5hbWUgUmVwLCB0eXBlbmFtZSBQZXJpb2Q+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlvZD4+IHsKICAgICBzdGF0aWMg
dm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86OmR1cmF0aW9u
PFJlcCwgUGVyaW9kPiYgZHVyYXRpb24pCiAgICAgewpAQCAtMzc5LDYgKzM3OCwxNiBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0
c0FyZz4gc3RydWN0IEFyZ3VtZQogICAgIH0KIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3Vt
ZW50Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1lPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVu
Y29kZXImLCBjb25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNv
ZGUoRGVjb2RlciYsIFdURjo6TW9ub3RvbmljVGltZSYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1
Y3QgQXJndW1lbnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUo
RW5jb2RlciYsIGNvbnN0IFdURjo6U2Vjb25kcyYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShE
ZWNvZGVyJiwgV1RGOjpTZWNvbmRzJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+IHsKICAgICBzdGF0
aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6
OnRpbWVfcG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIHN0ZDo6Y2hy
b25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9J
UEMvQ29ubmVjdGlvbi5oCmluZGV4IGYwMTJhMDFiNTRkZTdkMWZjZTIxNzk3ZTZmNDU1MDUwYzgz
ZTY4ODUuLjkwMmJlNGQxYTczZjhlMDQ3ZDkyMDlmMzJkNDVhMjg2YTk3MDMwZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaApAQCAtMTg2LDcgKzE4Niw3IEBAIHB1
YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wga2lsbCgpOwotICAgIHZvaWQg
dGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpOworICAgIHZvaWQgdGVybWlu
YXRlU29vbihTZWNvbmRzKTsKICNlbmRpZgogCiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1ZhbGlkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9J
UEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFj
L0Nvbm5lY3Rpb25NYWMubW0KaW5kZXggMjg5OTUxMjk0NjNlODMxOTEwNzBiZWU4NWZkYmU4NzA1
NDhlNTViMS4uNzA0NDY5MTU2YWY4MWJkNDE1OGYxNzFlMDgxN2Q4OGVkYmZiMTdhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQpAQCAt
ODAsMjAgKzgwLDIwIEBAIGVudW0gewogLy8gICAgdG8gZW5zdXJlIGl0IGhhcyBhIGNoYW5jZSB0
byB0ZXJtaW5hdGUgY2xlYW5seS4KIGNsYXNzIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9n
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25X
YXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgZG91
YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25u
ZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgIHsKLSAgICAgICAgbmV3IENvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAg
ICAgICAgbmV3IENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKHhwY0Nvbm5lY3Rpb24sIGlu
dGVydmFsKTsKICAgICB9CiAgICAgCiBwcml2YXRlOgotICAgIENvbm5lY3Rpb25UZXJtaW5hdGlv
bldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBk
b3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCisgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNlY29uZHMg
aW50ZXJ2YWwpCiAgICAgICAgIDogbV94cGNDb25uZWN0aW9uKHhwY0Nvbm5lY3Rpb24pCiAgICAg
ICAgICwgbV93YXRjaGRvZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkNvbm5lY3Rpb25U
ZXJtaW5hdGlvbldhdGNoZG9nOjp3YXRjaGRvZ1RpbWVyRmlyZWQpCiAjaWYgUExBVEZPUk0oSU9T
KQogICAgICAgICAsIG1fYXNzZXJ0aW9uKHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpQcm9jZXNz
QW5kVUlBc3NlcnRpb24+KHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9uLmdl
dCgpKSwgV2ViS2l0OjpBc3NlcnRpb25TdGF0ZTo6QmFja2dyb3VuZCkpCiAjZW5kaWYKICAgICB7
Ci0gICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWxJblNlY29uZHMp
OworICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICB9
CiAgICAgCiAgICAgdm9pZCB3YXRjaGRvZ1RpbWVyRmlyZWQoKQpAQCAtMTUxLDEwICsxNTEsMTAg
QEAgdm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUludmFsaWRhdGUoKQogI2VuZGlmCiB9CiAgICAg
Ci12b2lkIENvbm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRz
KQordm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAg
ICAgaWYgKG1feHBjQ29ubmVjdGlvbikKLSAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0
Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKG1feHBjQ29ubmVjdGlv
biwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRj
aGRvZzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9u
LCBpbnRlcnZhbCk7CiB9CiAgICAgCiB2b2lkIENvbm5lY3Rpb246OnBsYXRmb3JtSW5pdGlhbGl6
ZShJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKaW5kZXggZGE5ZGIyMjRlZGMwZWEw
Y2JkMDAyZGMxNzEyYTBjMTg2ZDE5MzVlNC4uMTczOTUyNTA5NTcxZDhmNDkwYTczZTdmYTk2OTU5
M2M3YjgzMjRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Db250cm9sbGVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmNwcApAQCAtMTQ3LDcgKzE0Nyw3IEBAIHZvaWQgUGx1Z2lu
Q29udHJvbGxlclByb3h5OjpkZXN0cm95KCkKICAgICBpZiAobV9wbHVnaW5EZXN0cnVjdGlvblBy
b3RlY3RDb3VudCB8fCBtX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS0+aW5TZW5kU3luYygpKSB7
CiAgICAgICAgIC8vIFdlIGhhdmUgcGx1Zy1pbiBjb2RlIG9uIHRoZSBzdGFjayBzbyB3ZSBjYW4n
dCBkZXN0cm95IGl0IHJpZ2h0IG5vdy4KICAgICAgICAgLy8gRGVzdHJveSBpdCBsYXRlci4KLSAg
ICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Bs
dWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgUGx1Z2luQ29udHJvbGxlclByb3h5OjpzdGFy
dFBhaW50VGltZXIoKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTdGFydCB0aGUgdGltZXIu
Ci0gICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BhaW50VGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAKICAgICBtX3dhaXRpbmdGb3JEaWRVcGRhdGUgPSB0cnVlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKaW5kZXgg
YTcyNGViMDhmOTBkNTlkYjEyOTgyMzQ0MWU3N2UwOGZlZWM3YjI1Yi4uMzk1ZDc2NGQ0NzFmNTFk
ZTk5ODBjNjEyMWU2MDMyY2ZhYzQ5ODJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwCkBAIC0yMjAsOSArMjIwLDkgQEAgdm9pZCBQbHVnaW5Q
cm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvckhvc3ROYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5n
PiYgaG9zdE5hbWUKICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2Vz
OjpQbHVnaW5Qcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNh
bGxiYWNrSUQpLCAwKTsKIH0KIAotdm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRp
bWUoZG91YmxlIGxpZmV0aW1lKQordm9pZCBQbHVnaW5Qcm9jZXNzOjpzZXRNaW5pbXVtTGlmZXRp
bWUoU2Vjb25kcyBsaWZldGltZSkKIHsKLSAgICBpZiAobGlmZXRpbWUgPD0gMC4wKQorICAgIGlm
IChsaWZldGltZSA8PSAwX3MpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBkaXNhYmxlVGVy
bWluYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmgKaW5kZXggOWE5MGU0YzI1MzkzYTdlZDQ2Yzk4N2I1ZWU0NDQ5YTc0YWI5MjMzYi4uMjBhYzA2
N2IwNDk1ZTZhYzc2MjJjMDA2MjAwMzhjMDFmNWYzMDI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKFBsdWdpblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgCi0gICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRp
bWUoZG91YmxlKTsKKyAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShTZWNvbmRzKTsKICAgICB2
b2lkIG1pbmltdW1MaWZldGltZVRpbWVyRmlyZWQoKTsKICAgICAvLyBPdXIgd2ViIHByb2Nlc3Mg
Y29ubmVjdGlvbnMuCiAgICAgVmVjdG9yPFJlZlB0cjxXZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1f
d2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0NhY2hlTW9kZWwuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCmlu
ZGV4IDQwM2YzNGRmY2Q0YjdhZGM0OWJhMDQ2MmI5ZmRlZmE2ZGVmM2ZkNDUuLmViZTZlZDJkMmU5
MWE0Nzg5ZWExNWZjYjczNDM0OTBkNWQ3MTZkNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9DYWNoZU1vZGVsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVN
b2RlbC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQg
Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVk
JiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5z
aWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQor
dm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5z
aWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5
LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0
YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSkKIHsKICAgICB1
aW50NjRfdCBtZW1vcnlTaXplID0gcmFtU2l6ZSgpIC8gTUI7CiAKQEAgLTEwOSw3ICsxMDksNyBA
QCB2b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1
bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaQogICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUg
b3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBqdXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAg
ICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IHN0ZDo6bWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNp
dHkpOwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNo
cm9ubzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWwgPSAxX21pbjsKIAogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nh
Y2hlTW9kZWwuaAppbmRleCBjZjQ3MzQ1NGZlMmFjMzNkM2NhNDNhNzJmYTU5M2U0YzRlNTFkM2Q1
Li4xZTA3NzY4OGVhNzhkYzg0Mjk4OGY0ZjVmMDNhY2FiYjkzMTI0YTczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DYWNoZU1vZGVsLmgKQEAgLTI2LDggKzI2LDggQEAKICNpZm5kZWYgQ2FjaGVNb2RlbF9o
CiAjZGVmaW5lIENhY2hlTW9kZWxfaAogCi0jaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHN0
ZGludC5oPgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC0zNyw3ICszNyw3IEBAIGVudW0gQ2FjaGVNb2RlbCB7CiAgICAgQ2FjaGVNb2RlbFByaW1h
cnlXZWJCcm93c2VyCiB9OwogCi12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVN
b2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVh
ZENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNh
Y2hlQ2FwYWNpdHkpOwordm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWws
IHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBh
Y2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNvbmRzJiBkZWFkRGVjb2Rl
ZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpOwogdm9p
ZCBjYWxjdWxhdGVVUkxDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVpbnQ2NF90IGRpc2tGcmVlU2l6
ZSwgdW5zaWduZWQmIHVybENhY2hlTWVtb3J5Q2FwYWNpdHksIHVpbnQ2NF90JiB1cmxDYWNoZURp
c2tDYXBhY2l0eSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmNwcAppbmRleCAxNzU3ODlmYjlhZTcxM2YxNmVlZWRiZmFiZTAwZDZmMzNl
NjNjZjIzLi40OWI3OTQ2NWRmNmUxYjJhMTIxYzNmYTUyZDAwM2ZiMTk1MWJjMjVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcApAQCAtMzMsOCArMzMsNyBAQAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKIENoaWxkUHJvY2Vzczo6Q2hpbGRQcm9jZXNzKCkKLSAgICA6IG1fdGVy
bWluYXRpb25UaW1lb3V0KDApCi0gICAgLCBtX3Rlcm1pbmF0aW9uQ291bnRlcigwKQorICAgIDog
bV90ZXJtaW5hdGlvbkNvdW50ZXIoMCkKICAgICAsIG1fdGVybWluYXRpb25UaW1lcihSdW5Mb29w
OjptYWluKCksIHRoaXMsICZDaGlsZFByb2Nlc3M6OnRlcm1pbmF0aW9uVGltZXJGaXJlZCkKICAg
ICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJsZWQoIlByb2Nlc3MgU3VwcHJlc3Npb24gRGlz
YWJsZWQgYnkgVUlQcm9jZXNzIikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DaGlsZFByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApp
bmRleCBhMDZlMzQ5YTM4YzI4MWY1YWNlOGQzNjIyYTA1NDYxZjk0MDRkYTVjLi45ODVhZDZhNjFi
MmE4MmFiNzg1MDI5ZmU0MmRlYzQ3NTJlZmM0NmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxk
UHJvY2Vzcy5oCkBAIC04MSw3ICs4MSw3IEBAIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBDaGls
ZFByb2Nlc3MoKTsKICAgICB2aXJ0dWFsIH5DaGlsZFByb2Nlc3MoKTsKIAotICAgIHZvaWQgc2V0
VGVybWluYXRpb25UaW1lb3V0KGRvdWJsZSBzZWNvbmRzKSB7IG1fdGVybWluYXRpb25UaW1lb3V0
ID0gc2Vjb25kczsgfQorICAgIHZvaWQgc2V0VGVybWluYXRpb25UaW1lb3V0KFNlY29uZHMgc2Vj
b25kcykgeyBtX3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KIAogICAgIHZpcnR1YWwg
dm9pZCBpbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMmKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3NOYW1lKGNvbnN0
IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwpAQCAtMTE3LDcgKzExNyw3
IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGUgdGltZW91dCwgaW4gc2Vjb25kcywgYmVmb3JlIHRo
aXMgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaWYgdGVybWluYXRpb24KICAgICAvLyBoYXMg
YmVlbiBlbmFibGVkLiBJZiB0aGUgdGltZW91dCBpcyAwIHNlY29uZHMsIHRoZSBwcm9jZXNzIHdp
bGwgYmUgdGVybWluYXRlZCBpbW1lZGlhdGVseS4KLSAgICBkb3VibGUgbV90ZXJtaW5hdGlvblRp
bWVvdXQ7CisgICAgU2Vjb25kcyBtX3Rlcm1pbmF0aW9uVGltZW91dDsKIAogICAgIC8vIEEgdGVy
bWluYXRpb24gY291bnRlcjsgd2hlbiB0aGUgY291bnRlciByZWFjaGVzIHplcm8sIHRoZSBwcm9j
ZXNzIHdpbGwgYmUgdGVybWluYXRlZAogICAgIC8vIGFmdGVyIGEgZ2l2ZW4gcGVyaW9kIG9mIHRp
bWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYTEyYTQ0NDViYjE2Y2FhZjY5
MjczYjY0YTg2MzIxMDhlN2Q1NDlmNC4uYjFhMzRhNGRmMWQyZDgyNTk4YWNhNmNmODQ1NGViNGZh
MWNkZTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMzAsNiArMzAsNyBA
QAogCiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NBdHRy
aWJ1dGVzLmgiCisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09B
KQogI2luY2x1ZGUgPFdlYkNvcmUvTWFjaFNlbmRSaWdodC5oPgpAQCAtNTEsOCArNTIsOCBAQCBz
dHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgUGx1Z2luUHJvY2Vz
c1R5cGUgcHJvY2Vzc1R5cGU7CiAgICAgYm9vbCBzdXBwb3J0c0FzeW5jaHJvbm91c1BsdWdpbklu
aXRpYWxpemF0aW9uOwogCi0gICAgZG91YmxlIG1pbmltdW1MaWZldGltZTsKLSAgICBkb3VibGUg
dGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbWluaW11bUxpZmV0aW1lOworICAgIFNl
Y29uZHMgdGVybWluYXRpb25UaW1lb3V0OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgV2Vi
Q29yZTo6TWFjaFNlbmRSaWdodCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nUG9ydDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggZjBmZmI3
NzI2YTUzZWU0Zjg0MjNkNDZiNzliYjBmZGFmMDVkZTdjNC4uMzgwZTAxZTVlNzQ2MTczN2U1NzUz
ZTk2NjVhYzJlMzQ2MDU1MjYxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTEwNiwzNiArMTA2LDYgQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYktpdDsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxNb25vdG9u
aWNUaW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25pY1RpbWUmIHRp
bWUpCi17Ci0gICAgZW5jb2RlciA8PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKTsK
LX0KLQotYm9vbCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBkb3VibGUgdmFsdWU7Ci0gICAg
aWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAg
IHRpbWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7Ci0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KLXZvaWQgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29uZHMpCi17Ci0gICAgZW5jb2RlciA8PCBzZWNv
bmRzLnZhbHVlKCk7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29uZHMpCi17Ci0gICAgZG91YmxlIHZhbHVlOwot
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
LSAgICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZv
aWQgQXJndW1lbnRDb2RlcjxBZmZpbmVUcmFuc2Zvcm0+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBhZmZpbmVUcmFuc2Zvcm0pCiB7CiAgICAgU2ltcGxl
QXJndW1lbnRDb2RlcjxBZmZpbmVUcmFuc2Zvcm0+OjplbmNvZGUoZW5jb2RlciwgYWZmaW5lVHJh
bnNmb3JtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aAppbmRleCA0ODE5ZmNiYzA0YWM3MTYyNTY3M2E4NDQ2N2Y3NDU0MmNjYjkyOTk1Li4zMTU0MDYy
ZDlkYzM1MmE5MWY0YjMzYmI2NTQzOTk1NmU1ODgwOWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC0zMSwxMSArMzEsNiBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvSW5kZXhlZERCLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QYXltZW50SGVhZGVy
cy5oPgogCi1uYW1lc3BhY2UgV1RGIHsKLWNsYXNzIE1vbm90b25pY1RpbWU7Ci1jbGFzcyBTZWNv
bmRzOwotfQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBj
bGFzcyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKQEAgLTE1MiwxNiArMTQ3LDYgQEAgdXNpbmcg
SURCS2V5UGF0aCA9IFZhcmlhbnQ8U3RyaW5nLCBWZWN0b3I8U3RyaW5nPj47CiAKIG5hbWVzcGFj
ZSBJUEMgewogCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3Rvbmlj
VGltZT4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpNb25v
dG9uaWNUaW1lJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1vbm90
b25pY1RpbWUmKTsKLX07Ci0KLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpT
ZWNvbmRzPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6OlNl
Y29uZHMmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25kcyYp
OwotfTsKLQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBZmZpbmVU
cmFuc2Zvcm0+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNv
cmU6OkFmZmluZVRyYW5zZm9ybSYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwg
V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5jcHAKaW5kZXggMDUzZmE2ZWEyOTczY2U3YjFkYjNjZmYzOTI3NTFlYWJmNGUx
OGQxMC4uZGRlYTJhYmRjNDRlNGVhMDIyN2UyOWU3NmU0YmUzYWVjZWU2MDVlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKCkKICAgICA6IG1fc2FtcGxlVGltZXIo
KnRoaXMsICZXZWJNZW1vcnlTYW1wbGVyOjpzYW1wbGVUaW1lckZpcmVkKQogICAgICwgbV9zdG9w
VGltZXIoKnRoaXMsICZXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGltZXJGaXJlZCkKICAgICAsIG1f
aXNSdW5uaW5nKGZhbHNlKQotICAgICwgbV9ydW5uaW5nVGltZSgwKQogewogfQogCkBAIC02Nyw3
ICs2Niw3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3QgZG91YmxlIGludGVy
dmFsKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaW5pdGlhbGl6ZVRlbXBMb2dGaWxlKCk7
Ci0gICAgaW5pdGlhbGl6ZVRpbWVycyhpbnRlcnZhbCk7CisgICAgaW5pdGlhbGl6ZVRpbWVycyhT
ZWNvbmRzKGludGVydmFsKSk7CiB9CiAKIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29u
c3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxlLCBjb25zdCBT
dHJpbmcmIHNhbXBsZUxvZ0ZpbGVQYXRoLCBjb25zdCBkb3VibGUgaW50ZXJ2YWwpIApAQCAtODIs
MTcgKzgxLDE3IEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c3RhcnQoY29uc3QgU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlJiBzYW1wbGVMb2dGaWxlSGFuZGxlCiAgICAgfQogICAgICAgICAKICAg
ICBpbml0aWFsaXplU2FuZGJveGVkTG9nRmlsZShzYW1wbGVMb2dGaWxlSGFuZGxlLCBzYW1wbGVM
b2dGaWxlUGF0aCk7Ci0gICAgaW5pdGlhbGl6ZVRpbWVycyhpbnRlcnZhbCk7CisgICAgaW5pdGlh
bGl6ZVRpbWVycyhTZWNvbmRzKGludGVydmFsKSk7CiAgICAKIH0KIAotdm9pZCBXZWJNZW1vcnlT
YW1wbGVyOjppbml0aWFsaXplVGltZXJzKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgV2ViTWVtb3J5
U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzIGludGVydmFsKQogewotICAgIG1fc2Ft
cGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoMSk7CisgICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVh
dGluZyhTZWNvbmRzKDEpKTsKICAgICBwcmludGYoIlN0YXJ0ZWQgbWVtb3J5IHNhbXBsZXIgZm9y
IHByb2Nlc3MgJXMgJWQiLCBwcm9jZXNzTmFtZSgpLnV0ZjgoKS5kYXRhKCksIGdldHBpZCgpKTsK
LSAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7CisgICAgaWYgKGludGVydmFsID4gMF9zKSB7CiAgICAg
ICAgIG1fc3RvcFRpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbCk7Ci0gICAgICAgIHByaW50Zigi
IGZvciBhIGludGVydmFsIG9mICVnIHNlY29uZHMiLCBpbnRlcnZhbCk7CisgICAgICAgIHByaW50
ZigiIGZvciBhIGludGVydmFsIG9mICVnIHNlY29uZHMiLCBpbnRlcnZhbC52YWx1ZSgpKTsKICAg
ICB9CiAgICAgcHJpbnRmKCI7IFNhbXBsZXIgbG9nIGZpbGUgc3RvcmVkIGF0OiAlc1xuIiwgbV9z
YW1wbGVMb2dGaWxlUGF0aC51dGY4KCkuZGF0YSgpKTsKICAgICBtX3J1bm5pbmdUaW1lID0gaW50
ZXJ2YWw7CkBAIC0xNTksNyArMTU4LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdG9wVGlt
ZXJGaXJlZCgpCiB7CiAgICAgaWYgKCFtX2lzUnVubmluZykKICAgICAgICAgcmV0dXJuOwotICAg
IHByaW50ZigiJWcgc2Vjb25kcyBlbGFwc2VkLiBTdG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxu
IiwgbV9ydW5uaW5nVGltZSk7CisgICAgcHJpbnRmKCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3Bw
aW5nIG1lbW9yeSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5pbmdUaW1lLnZhbHVlKCkpOwogICAgIHN0
b3AoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNh
bXBsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKaW5kZXgg
Mjc4N2I1MTVkYWJjNTFlYmVjNWJjMDY0NmYxM2JlZmU1MTI5ODYyMi4uZGE0Mjg4YjU4NDA5ZmZi
YWFmOGQyNzNjYjM4NTg0NWIwZDFkODg2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYk1lbW9yeVNhbXBsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5oCkBAIC04NCw3ICs4NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFs
aXplVGVtcExvZ0ZpbGUoKTsKICAgICB2b2lkIGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKGNv
bnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQg
d3JpdGVIZWFkZXJzKCk7Ci0gICAgdm9pZCBpbml0aWFsaXplVGltZXJzKGRvdWJsZSk7CisgICAg
dm9pZCBpbml0aWFsaXplVGltZXJzKFNlY29uZHMpOwogICAgIHZvaWQgc2FtcGxlVGltZXJGaXJl
ZCgpOwogICAgIHZvaWQgc3RvcFRpbWVyRmlyZWQoKTsKICAgICB2b2lkIGFwcGVuZEN1cnJlbnRN
ZW1vcnlVc2FnZVRvRmlsZShXZWJDb3JlOjpQbGF0Zm9ybUZpbGVIYW5kbGUmKTsKQEAgLTEwMCw3
ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OlRpbWVyIG1fc2FtcGxlVGltZXI7CiAg
ICAgV2ViQ29yZTo6VGltZXIgbV9zdG9wVGltZXI7CiAgICAgYm9vbCBtX2lzUnVubmluZzsKLSAg
ICBkb3VibGUgbV9ydW5uaW5nVGltZTsKKyAgICBTZWNvbmRzIG1fcnVubmluZ1RpbWU7CiAgICAg
UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IG1fc2FtcGxlTG9nU2FuZGJveEV4dGVuc2lvbjsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCmluZGV4IGVjODZlMWUyMWZmY2NkNmQ4NzJhYWExZjJkNDE5ZTQ2NjZhMzI3ZGIu
LjBkMzdiOWEzZWQ3ZTM2NGMxYzRiNjk5M2Y5MDY3OTJhNWZlYWVlZGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAt
MTEzLDcgKzExMyw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKIAog
ICAgIGJvb2wgaWNvbkRhdGFiYXNlRW5hYmxlZDsKIAotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRp
bWVvdXQ7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICAgICBWZWN0b3I8U3Ry
aW5nPiBsYW5ndWFnZXM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUuaAppbmRleCA2YWY3OTAyZGEzZjlmYTljMmVhYmRhYWEwZTVk
Nzg1ZjY1MzJlNmU3Li40MzY4Y2MyY2MxYjNmNWM2ZDVhOGViM2IzODBiMmU4YmRiM2E0YTNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdT
dG9yZS5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0lPU3VyZmFjZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVnaW9u
Lmg+Ci0jaW5jbHVkZSA8Y2hyb25vPgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAK
IE9CSkNfQ0xBU1MgQ0FMYXllcjsKIApAQCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CiAKICAgICBi
b29sIHNldEJ1ZmZlclZvbGF0aWxpdHkoQnVmZmVyVHlwZSB0eXBlLCBib29sIGlzVm9sYXRpbGUp
OwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0RGlzcGxh
eVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5VGltZTsgfQorICAgIE1vbm90b25p
Y1RpbWUgbGFzdERpc3BsYXlUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRpbWU7
IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGRyYXdJbkNvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0JiwgQ0dJbWFnZVJlZiBiYWNrSW1hZ2UpOwpAQCAtMTAzLDggKzEwMywxMCBAQCBwcml2
YXRlOgogICAgIFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbV9sYXllcjsKIAogICAgIFdlYkNvcmU6
OkZsb2F0U2l6ZSBtX3NpemU7Ci0gICAgZmxvYXQgbV9zY2FsZTsKLSAgICBib29sIG1faXNPcGFx
dWU7CisgICAgZmxvYXQgbV9zY2FsZSB7IDEgfTsKKworICAgIGJvb2wgbV9pc09wYXF1ZSB7IGZh
bHNlIH07CisgICAgYm9vbCBtX2FjY2VsZXJhdGVzRHJhd2luZyB7IGZhbHNlIH07CiAKICAgICBX
ZWJDb3JlOjpSZWdpb24gbV9kaXJ0eVJlZ2lvbjsKIApAQCAtMTEyLDcgKzExNCw3IEBAIHByaXZh
dGU6CiAgICAgICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGJpdG1hcDsKICNpZiBVU0UoSU9T
VVJGQUNFKQogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPiBzdXJm
YWNlOwotICAgICAgICBib29sIGlzVm9sYXRpbGUgPSBmYWxzZTsKKyAgICAgICAgYm9vbCBpc1Zv
bGF0aWxlIHsgZmFsc2UgfTsKICNlbmRpZgogCiAgICAgICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJv
b2woKSBjb25zdApAQCAtMTM4LDExICsxNDAsOSBAQCBwcml2YXRlOgogCiAgICAgUmV0YWluUHRy
PENHQ29udGV4dFJlZj4gbV9mcm9udENvbnRleHRQZW5kaW5nRmx1c2g7CiAKLSAgICBib29sIG1f
YWNjZWxlcmF0ZXNEcmF3aW5nOwotCiAgICAgV2ViQ29yZTo6UmVwYWludFJlY3RMaXN0IG1fcGFp
bnRpbmdSZWN0czsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQg
bV9sYXN0RGlzcGxheVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3REaXNwbGF5VGltZTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggZDU3MTlkZGExMmJlYWI4
MjJkZjMyYjcyMTU4ZWJhNmE1ZTk5NDIwNS4uY2JjZjcxYzVmNzU0ZWVjM2U4NjBmZjEyZmM3M2Zm
YTg1YzY3ZGQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLm1tCkBAIC02Miw4ICs2Miw2IEBAIHN0YXRpYyBXZWJDb3JlOjpJ
T1N1cmZhY2U6OkZvcm1hdCBidWZmZXJGb3JtYXQoYm9vbCBpc09wYXF1ZSkKIAogUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJl
bW90ZSogbGF5ZXIpCiAgICAgOiBtX2xheWVyKGxheWVyKQotICAgICwgbV9pc09wYXF1ZShmYWxz
ZSkKLSAgICAsIG1fbGFzdERpc3BsYXlUaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRp
bWVfcG9pbnQ6Om1pbigpKQogewogICAgIGlmICghbV9sYXllcikKICAgICAgICAgcmV0dXJuOwpA
QCAtMjMxLDcgKzIyOSw3IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXko
KQogewogICAgIEFTU0VSVCghbV9mcm9udENvbnRleHRQZW5kaW5nRmx1c2gpOwogCi0gICAgbV9s
YXN0RGlzcGxheVRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBt
X2xhc3REaXNwbGF5VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogCiAgICAgYm9vbCBuZWVk
VG9FbmNvZGVCYWNraW5nU3RvcmUgPSBmYWxzZTsKICAgICBpZiAoUmVtb3RlTGF5ZXJUcmVlQ29u
dGV4dCogY29udGV4dCA9IG1fbGF5ZXItPmNvbnRleHQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bi5oCmluZGV4IGZlNDk3MWVlNzM5MjQxNGFiYzExOTQwYWM3OWY4Zjc5MTRjYTQ4NjIuLmNkODNh
MzhkOTg0NTVkYjVkNTRlZDNmNDY1Mzk4NmVlZDk3NDUzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxl
Y3Rpb24uaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIH07CiAgICAgdHlwZWRlZiB1
bnNpZ25lZCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdzOwogICAgIGJvb2wgbWFya0JhY2tpbmdTdG9y
ZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBWb2xhdGlsaXR5
TWFya2luZ0ZsYWdzIHZvbGF0aWxpdHlNYXJraW5nRmxhZ3MgPSAwKTsKLSAgICBib29sIG1hcmtC
YWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93KTsKKyAgICBib29sIG1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIE1vbm90b25pY1RpbWUgbm93KTsK
IAogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3Rv
cmU7CiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJh
Y2tpbmdTdG9yZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggMjY4MzZlN2JmMzg2
NDdlNDgwMGE2NGIwYzc1Y2U2ZmZiMGNhMTRiZS4uNDYwY2Q5YmNjNTE4ZWM4ZDYxZmE0OWUxZmZj
YzQ3NGVkZDgwNzAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KQEAgLTMwLDkgKzMw
LDkgQEAKICNpbXBvcnQgIlJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgiCiAjaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVDb250ZXh0LmgiCiAKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHZvbGF0
aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMjAw
bXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVy
dmFsID0gMjAwbXM7Citjb25zdCBhdXRvIHZvbGF0aWxlQmFja2luZ1N0b3JlQWdlVGhyZXNob2xk
ID0gMV9zOworY29uc3QgYXV0byB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVz
aG9sZCA9IDAuMl9zOworY29uc3QgYXV0byB2b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDAuMl9z
OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1l
ZGlhdGVseShSZW1vCiAgICAgcmV0dXJuIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xh
dGlsZTsKIH0KIAotYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtC
YWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3Jl
LCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG5vdykKK2Jvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgTW9ub3RvbmljVGltZSBub3cpCiB7
CiAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA8IHZvbGF0aWxl
QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKSB7CiAgICAgICAgIGlmIChub3cgLSBiYWNraW5nU3Rv
cmUubGFzdERpc3BsYXlUaW1lKCkgPj0gdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQpCkBAIC0xNjQsNyArMTY0LDcgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKCkKIHsKICAgICBib29sIHN1Y2Nlc3Nm
dWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IHRydWU7CiAKLSAgICBhdXRvIG5vdyA9IHN0
ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAgICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5nU3RvcmUgOiBtX2xpdmVC
YWNraW5nU3RvcmUpCiAgICAgICAgIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGls
ZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoKmJhY2tpbmdTdG9yZSwgbm93KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVk
U2NyaXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
QVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KaW5kZXggODM5NDVkZmVkMzFjNTkxODM1
OGJlN2Y2NzE2YjFiZmU3MDE4OGI1OS4uMWI1ZGQwMzYzOTFmMjJiOWViYzViNzIzZDkyMjNmODAy
OTBlOWExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9B
UElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCkBAIC00Niw3
ICs0Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIGlmICghbV9jb250ZXh0KSB7CiAgICAg
ICAgICAgICBtX2NvbnRleHQgPSBhZG9wdE5TKFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XSk7Ci0g
ICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxKTsKKyAgICAgICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDFfcyk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fY29udGV4dC5n
ZXQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
Y3BwCmluZGV4IGQyNzcwMDU5NjFkMjlhZWQ2NzUwOTM2OTRiMjNlNGU4MjU1ZTEwODYuLjExMzVm
Nzk3ODVlZDlmNzdjMGE1YWI5NTliZjEyNGQ3MDZlOWU3MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC01OTAsNyArNTkwLDcgQEAgdm9pZCBF
d2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3BsYXkoKQogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAoIW1fZGlzcGxheVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fZGlzcGxheVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgRXdrVmlldzo6c2V0Vmlld3BvcnRQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JiBjb250ZW50c1Bvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDA0YzdlOTU0NzI5OTU3Y2U0Mjgy
ZWI0MGUxYzg3MTAzYzE0NDVmNWYuLmMyYmUzNjVmNzFlOThmMzRmOWU4NWU0ZDZhZDE4OTNjZWM2
OWYzZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3QmFzZS5jcHAKQEAgLTIxOSw3ICsyMTksNyBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRXZWJWaWV3QmFzZVNjaGVkdWxlVXBkYXRlQWN0aXZpdHlTdGF0ZShXZWJLaXRXZWJWaWV3QmFz
ZSogd2ViVgogICAgIGlmIChwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJpdi0+dXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB0b3BsZXZlbFdpbmRvd0ZvY3Vz
SW5FdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRGb2N1cyosIFdlYktpdFdlYlZpZXdC
YXNlKiB3ZWJWaWV3QmFzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
aGlsZFByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9j
ZXNzUHJveHkuY3BwCmluZGV4IGZkOGJjNWFjOWE5N2M4MzA1NWQ0OGI3NWJhODAwOTMzOTk2NTE3
YjAuLjJkNmZlYjk0N2YxYzg2ODFlMzBiZjE0YjBkYzc2NWM4MTQzMmY2M2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTkzLDcgKzE5
Myw3IEBAIHZvaWQgQ2hpbGRQcm9jZXNzUHJveHk6OnNodXREb3duUHJvY2VzcygpCiAgICAgICAg
IC8vIE9uIGlPUyBkZXBsb3kgYSB3YXRjaGRvZyBpbiB0aGUgVUkgcHJvY2Vzcywgc2luY2UgdGhl
IGNoaWxkIHByb2Nlc3MgbWF5IGJlIHN1c3BlbmRlZC4KICAgICAgICAgLy8gSWYgMzBzIGlzIGlu
c3VmZmljaWVudCBmb3IgYW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IHRvIGNvbXBsZXRlIGNsZWFu
bHksIHRoZW4gaXQgd2lsbCBiZSBraWxsZWQuCiAgICAgICAgIEFTU0VSVChtX2Nvbm5lY3Rpb24p
OwotICAgICAgICBtX2Nvbm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzApOworICAgICAgICBtX2Nv
bm5lY3Rpb24tPnRlcm1pbmF0ZVNvb24oMzBfcyk7CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBTdGF0ZTo6VGVybWluYXRlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCmluZGV4IDQ1Mjk5MjJiNGZiZjZiZjUzMWM3YzA1
YTdjMjIzYjYzNTE0MzI1NjAuLmY4MTZlN2YwYzMyMWFmMmE5ZDg2MjFhN2I0YzVmMWE4YTc4MDM5
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9u
U3RhdGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25T
dGF0ZS5tbQpAQCAtODUyLDcgKzg1Miw3IEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpkaWRDaGFu
Z2VJc0xvYWRpbmcoKQogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIERlbGF5IHJlbGVhc2luZyB0
aGUgYmFja2dyb3VuZCBhY3Rpdml0eSBmb3IgMyBzZWNvbmRzIHRvIGdpdmUgdGhlIGFwcGxpY2F0
aW9uIGEgY2hhbmNlIHRvIHN0YXJ0IGFub3RoZXIgbmF2aWdhdGlvbgogICAgICAgICAvLyBiZWZv
cmUgc3VzcGVuZGluZyB0aGUgV2ViQ29udGVudCBwcm9jZXNzIDxyZGFyOi8vcHJvYmxlbS8yNzkx
MDk2ND4uCi0gICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRPbmVTaG90KDNzKTsK
KyAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoM19zKTsKICAgICB9
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
Vmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA0OWYxOGUzNzhhNTI5ZDA1NjViMGQ3ZWU5
ZTYxODgyMTJjZmRkMmI4Li40ZGJkNzhmNjQyYzU4NWM0Y2FkNzcxODI2ZDA4MmI4YTBjOGFjM2M0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVD
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dl
c3R1cmVDb250cm9sbGVyLmNwcApAQCAtNDAsMTMgKzQwLDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25v
OjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dBZnRlckZpcnN0VmlzdWFsbHlO
b25FbXB0eUxheW91dER1cmF0aW9uID0gM3M7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2
YWwgPSAyNTBtczsKK3N0YXRpYyBjb25zdCBhdXRvIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hk
b2dBZnRlckZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dER1cmF0aW9uID0gM19zOworc3RhdGlj
IGNvbnN0IGF1dG8gc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVy
dmFsID0gMC4yNV9zOwogCiAjaWYgUExBVEZPUk0oTUFDKQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hy
b25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9u
ID0gNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNu
YXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzczsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNfczsKICNlbmRpZgogCiBz
dGF0aWMgSGFzaE1hcDx1aW50NjRfdCwgVmlld0dlc3R1cmVDb250cm9sbGVyKj4mIHZpZXdHZXN0
dXJlQ29udHJvbGxlcnNGb3JBbGxQYWdlcygpCkBAIC0yOTcsMTAgKzI5NywxMCBAQCB2b2lkIFZp
ZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6d2F0Y2hkb2dUaW1l
ckZpcmVkKCkKICAgICBmaXJlUmVtb3ZhbENhbGxiYWNrSW1tZWRpYXRlbHkoKTsKIH0KIAotdm9p
ZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0V2F0
Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMgZHVyYXRpb24pCit2b2lkIFZpZXdHZXN0dXJlQ29u
dHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhTZWNvbmRzIGR1
cmF0aW9uKQogewotICAgIGxvZyhTdHJpbmc6OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cg
dGltZXIgZm9yICVsbGQgc2Vjb25kcyIsIGR1cmF0aW9uLmNvdW50KCkpKTsKLSAgICBtX3dhdGNo
ZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uLmNvdW50KCkpOworICAgIGxvZyhTdHJpbmc6
OmZvcm1hdCgiKHJlKXN0YXJ0ZWQgd2F0Y2hkb2cgdGltZXIgZm9yICUuM2Ygc2Vjb25kcyIsIGR1
cmF0aW9uLnZhbHVlKCkpKTsKKyAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0
aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggNzU4ZDcz
NTBkYmQ4NDc1NzQ2NmNjZGJhODQzNmI2ZTQ5ZDYyYmMyZC4uZTE0ZDczOTcxOTJhZDBjMDdmMTIy
ODA5ZmM4N2IxNDQ0NzZkNGRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMTU3LDcgKzE1Nyw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIGJvb2wgZXZlbnRPY2N1cnJlZChFdmVudHMpOwogICAgICAgICBib29s
IGNhbmNlbE91dHN0YW5kaW5nRXZlbnQoRXZlbnRzKTsKIAotICAgICAgICB2b2lkIHN0YXJ0V2F0
Y2hkb2coc3RkOjpjaHJvbm86OnNlY29uZHMpOworICAgICAgICB2b2lkIHN0YXJ0V2F0Y2hkb2co
U2Vjb25kcyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgU3RyaW5nIGV2ZW50c0Rl
c2NyaXB0aW9uKEV2ZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDRlODczZWFkNjUxODVmNjU5ZDk2MTFh
OGFmOTlkYjIzYTNkYzc3ODguLjM1ZWU0ZWIxYTRhZGE3NDdhMTgzOTliYTMxOTFhOTM2MTg3NjRi
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCkBAIC0yNzUsNyArMjc1LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6
cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmEKICNlbmRpZgogCiAgICAgcGFyYW1ldGVycy5zaG91bGRTdXBwcmVzc01lbW9yeVByZXNzdXJl
SGFuZGxlciA9IFtkZWZhdWx0cyBib29sRm9yS2V5OldlYktpdFN1cHByZXNzTWVtb3J5UHJlc3N1
cmVIYW5kbGVyRGVmYXVsdHNLZXldOwotICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5j
eSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2Vi
S2l0TmV0d29ya0xvYWRUaHJvdHRsZUxhdGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOwor
ICAgIHBhcmFtZXRlcnMubG9hZFRocm90dGxlTGF0ZW5jeSA9IFNlY29uZHM6OmZyb21NaWxsaXNl
Y29uZHMoW2RlZmF1bHRzIGludGVnZXJGb3JLZXk6V2ViS2l0TmV0d29ya0xvYWRUaHJvdHRsZUxh
dGVuY3lNaWxsaXNlY29uZHNEZWZhdWx0c0tleV0pOwogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTEwMAogICAgIFJldGFpblB0cjxD
RkRhdGFSZWY+IGNvb2tpZVN0b3JhZ2VEYXRhID0gYWRvcHRDRihDRkhUVFBDb29raWVTdG9yYWdl
Q3JlYXRlSWRlbnRpZnlpbmdEYXRhKGtDRkFsbG9jYXRvckRlZmF1bHQsIFtbTlNIVFRQQ29va2ll
U3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gX2Nvb2tpZVN0b3JhZ2VdKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKaW5kZXggYjQ1ZjIy
NzllNzJiZWVlMGFlNzMzYzZlMTBhYjE0MTkyZTAxZjJlNS4uODVlYzM4MzdjOTE1ZWU4YWMyN2Q5
Y2YxM2U4ZWMzNGM2M2RkOWI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5LmNwcApAQCAtODMsNyArODMsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHk6
OnNldFZpZXdFeHBvc2VkUmVjdChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UmVjdD4gdmll
dwogICAgIG1fdmlld0V4cG9zZWRSZWN0ID0gdmlld0V4cG9zZWRSZWN0OwogCiAgICAgaWYgKCFt
X3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3ZpZXdF
eHBvc2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdmlld0V4
cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERyYXdp
bmdBcmVhUHJveHk6OnZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lckZpcmVkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDQ0
MGRmOWEzM2VlNjk4NjdiNjQyNThkMDMyZTA1ZTgxOWYxM2E4MTQuLjAwOTlhNWY2NzEwM2M3ZTNj
MWJiNjlhY2IxZjg4NmRkMzMxMTAzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgRHJh
d2luZ0FyZWFQcm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3RvcmVTb29uKCkKIAogICAgIC8vIFdl
J2xsIHdhaXQgdGhpcyBtYW55IHNlY29uZHMgYWZ0ZXIgdGhlIGxhc3QgcGFpbnQgYmVmb3JlIHRo
cm93aW5nIGF3YXkgb3VyIGJhY2tpbmcgc3RvcmUgdG8gc2F2ZSBtZW1vcnkuCiAgICAgLy8gRklY
TUU6IEl0IHdvdWxkIGJlIHNtYXJ0ZXIgdG8gbWFrZSB0aGlzIGRlbGF5IGJhc2VkIG9uIGhvdyBl
eHBlbnNpdmUgcGFpbnRpbmcgaXMuIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi81NTczMz4uCi0g
ICAgc3RhdGljIGNvbnN0IGRvdWJsZSBkaXNjYXJkQmFja2luZ1N0b3JlRGVsYXkgPSAyOworICAg
IHN0YXRpYyBjb25zdCBTZWNvbmRzIGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSA9IDJfczsKIAog
ICAgIG1fZGlzY2FyZEJhY2tpbmdTdG9yZVRpbWVyLnN0YXJ0T25lU2hvdChkaXNjYXJkQmFja2lu
Z1N0b3JlRGVsYXkpOwogfQpAQCAtMjExLDEzICsyMTEsMTMgQEAgaW50IERyYXdpbmdBcmVhUHJv
eHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6d2ViVmlld0RyYXdDYWxsYmFjayhEcmF3aW5nQXJlYVBy
b3h5SW0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0
KHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrKQogewot
ICAgIG1fc3RhcnRUaW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTVMoKTsKKyAgICBt
X3N0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIG1fY2FsbGJhY2sgPSBjYWxs
YmFjazsKICNpZiBQTEFURk9STShHVEspCiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1f
d2ViUGFnZS52aWV3V2lkZ2V0KCksICJkcmF3IiwgcmVpbnRlcnByZXRfY2FzdDxHQ2FsbGJhY2s+
KHdlYlZpZXdEcmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgx
KTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKDEpKTsKICNlbHNlCi0gICAgbV90
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNl
bmRpZgogfQogCkBAIC0yMjcsNyArMjI3LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6
RHJhd2luZ01vbml0b3I6OnN0b3AoKQogI2lmIFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9o
YW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgcmVpbnRl
cnByZXRfY2FzdDxncG9pbnRlcj4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwogI2VuZGlm
Ci0gICAgbV9zdGFydFRpbWUgPSAwOworICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgIGlmIChtX2NhbGxiYWNrKSB7CiAgICAgICAgIG1fY2FsbGJhY2soQ2FsbGJhY2tCYXNl
OjpFcnJvcjo6Tm9uZSk7CiAgICAgICAgIG1fY2FsbGJhY2sgPSBudWxscHRyOwpAQCAtMjM5LDEw
ICsyMzksMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OmRp
ZERyYXcoKQogICAgIC8vIFdlIHdhaXQgdXAgdG8gMSBzZWNvbmQgZm9yIGRyYXcgZXZlbnRzLiBJ
ZiB0aGVyZSBhcmUgc2V2ZXJhbCBkcmF3IGV2ZW50cyBxdWV1ZWQgcXVpY2tseSwKICAgICAvLyB3
ZSB3YW50IHRvIHdhaXQgdW50aWwgYWxsIG9mIHRoZW0gaGF2ZSBiZWVuIHByb2Nlc3NlZCwgc28g
YWZ0ZXIgcmVjZWl2aW5nIGEgZHJhdywgd2Ugd2FpdAogICAgIC8vIHVwIHRvIDEwMG1zIGZvciB0
aGUgbmV4dCBvbmUgb3Igc3RvcC4KLSAgICBpZiAobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
TVMoKSAtIG1fc3RhcnRUaW1lID4gMTAwMCkKKyAgICBpZiAoTW9ub3RvbmljVGltZTo6bm93KCkg
LSBtX3N0YXJ0VGltZSA+IDFfcykKICAgICAgICAgc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMC4xMDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwLjFfcyk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmRpc3BhdGNoQWZ0ZXJF
bnN1cmluZ0RyYXdpbmcoc3RkOjpmdW5jdGlvbjx2b2lkKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBj
YWxsYmFja0Z1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuaAppbmRleCA4OWM3MTNmYzg3YTczNTQ5MzAzOGFkMTBkOTBkYzFjZjYwNjFk
NDU3Li41YWE2NmM2ZDA0OGJkMGY3ZDI2ZjhjN2M2NGVkMGQxYTI4MmY3ZjZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaApAQCAtNzcsNyAr
NzcsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGRpZERyYXcoKTsKIAogICAgICAgICBXZWJQ
YWdlUHJveHkmIG1fd2ViUGFnZTsKLSAgICAgICAgZG91YmxlIG1fc3RhcnRUaW1lIHsgMCB9Owor
ICAgICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgICAgICBzdGQ6OmZ1bmN0aW9u
PHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBtX2NhbGxiYWNrOwogICAgICAgICBSdW5Mb29w
OjpUaW1lcjxEcmF3aW5nTW9uaXRvcj4gbV90aW1lcjsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCmluZGV4
IDY3N2NkNjczOTFhZjU2OWY0MmFmZmJkZjQ0MGFhZTIxNTUxNWY0M2UuLmNlYTk4MmY2ZTIyYzYw
NDk4ZWFiODI5Njk0M2Y1MDUzMmI4YjQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM5LDcgKzM5LDcg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0
aWMgY29uc3QgZG91YmxlIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgPSAxIC8gMTIwLjA7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtR2FtZXBhZFVwZGF0ZUludGVydmFsID0gU2Vj
b25kcygxIC8gMTIwLjApOwogCiBVSUdhbWVwYWRQcm92aWRlciYgVUlHYW1lcGFkUHJvdmlkZXI6
OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA1NGRmYjNiMDU4ZDRmZTkwMzc0NjE1
NzkyZWZhNTZiMDhmZGQwYjY4Li40NjBiZWJmNWRiMDk5Mzc1NWE2NjJjMzNiMjlkMDc0ODE0Yzcw
YWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ2LDExICs0NiwxMSBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWlu
aW11bUxpZmV0aW1lID0gMiAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdN
aW5pbXVtTGlmZXRpbWUgPSAzMDsKK3N0YXRpYyBjb25zdCBhdXRvIG1pbmltdW1MaWZldGltZSA9
IDJfbWluOworc3RhdGljIGNvbnN0IGF1dG8gc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0g
MzBfczsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBzaHV0ZG93blRpbWVvdXQgPSAxICogNjA7Ci1z
dGF0aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1Oworc3Rh
dGljIGNvbnN0IGF1dG8gc2h1dGRvd25UaW1lb3V0ID0gMV9taW47CitzdGF0aWMgY29uc3QgYXV0
byBzbmFwc2hvdHRpbmdTaHV0ZG93blRpbWVvdXQgPSAxNV9zOwogCiBzdGF0aWMgdWludDY0X3Qg
Z2VuZXJhdGVDYWxsYmFja0lEKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKaW5kZXggM2UxYzJlZjVhZjY2
NzdhOTI5OWRlODU0OTQ1ZjkxNDU4MDMzNDllMy4uZDVmYjFiMjMxYjQzNzBmMDZlZGMzMTM0ZjM0
NWM1YzNjY2VjZDA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAKQEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lk
IFBsdWdpbkluZm9DYWNoZTo6dXBkYXRlUGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBh
dGgsIGNvbnN0IFBsdWdpbk1vZAogICAgICAgICBpZiAobV9zYXZlVG9GaWxlSWRsZS5pc0FjdGl2
ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nl
c3NUaHJvdHRsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRs
ZXIuY3BwCmluZGV4IDIyNzViYjNiMjI2YjdkYmQ0OGQzM2NmMGYzNmQyMzQ5ZDg1MGJlYzYuLmNk
ODI1ZTFlZTBhMDljNTdmM2UyZDYzMTJiNzllN2Q0ZjE3MGUzY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAgICAgCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgcHJvY2Vzc1N1
c3BlbnNpb25UaW1lb3V0ID0gMzA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9jZXNzU3VzcGVu
c2lvblRpbWVvdXQgPSAzMF9zOwogICAgIAogUHJvY2Vzc1Rocm90dGxlcjo6UHJvY2Vzc1Rocm90
dGxlcihQcm9jZXNzVGhyb3R0bGVyQ2xpZW50JiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHBy
b2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5l
c3NUaW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1l
ci5jcHAKaW5kZXggZmViNDY5ZjA4NDJiNWFlNjliMzZmMGZjZmQ2ODYxYzQwNjdlZWYyYi4uNjAz
YmM5ZjEzZmU5NjliZjM0ZGIzNDYwYWJiNDc4YmI4OTliZGMzYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcApAQCAtMjgsNyArMjgsNyBA
QAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSByZXNwb25zaXZl
bmVzc1RpbWVvdXQgPSAzOworc3RhdGljIGNvbnN0IGF1dG8gcmVzcG9uc2l2ZW5lc3NUaW1lb3V0
ID0gM19zOwogCiBSZXNwb25zaXZlbmVzc1RpbWVyOjpSZXNwb25zaXZlbmVzc1RpbWVyKFJlc3Bv
bnNpdmVuZXNzVGltZXI6OkNsaWVudCYgY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCmluZGV4IGEz
ZmI3NzBmNWNkYmNkY2I1ZmE3N2FiNGQyZjBiNTQ3NDQ4OTBmNmYuLjNlZDU1NzUzMTZiZmRkMDM2
NTAzN2FkNmE4YmQ3ZDRhYTg0N2I0ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
VmlzaXRlZExpbmtTdG9yZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAgdm9pZCBWaXNpdGVkTGlua1N0
b3JlOjphZGRWaXNpdGVkTGlua0hhc2goTGlua0hhc2ggbGlua0hhc2gpCiAgICAgbV9wZW5kaW5n
VmlzaXRlZExpbmtzLmFkZChsaW5rSGFzaCk7CiAKICAgICBpZiAoIW1fcGVuZGluZ1Zpc2l0ZWRM
aW5rc1RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVmlzaXRlZExpbmtTdG9yZTo6cmVtb3ZlQWxsKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDk3MzYx
OGQyYzVmM2FiMDJkODU2ZjdhY2ZlZGIzMDAwYjdkMmVmYTAuLmYyODdmNWFhNmU3ZTU0YmRjYzQ2
NjdjMDZkMzZjOTE0NThlODA2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQcm9j
ZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKICAg
ICAsIG1fYWx3YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KG1fY29uZmlndXJhdGlvbi0+YWx3
YXlzUnVuc0F0QmFja2dyb3VuZFByaW9yaXR5KCkpCiAgICAgLCBtX3VzZXJPYnNlcnZhYmxlUGFn
ZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Np
b25TdGF0ZSgpOyB9KQogICAgICwgbV9wcm9jZXNzU3VwcHJlc3Npb25EaXNhYmxlZEZvclBhZ2VD
b3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBkYXRlUHJvY2Vzc1N1cHByZXNzaW9u
U3RhdGUoKTsgfSkKLSAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291
bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1l
ci5zdGFydE9uZVNob3QoMCk7IH0pCisgICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0lu
Y3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRlblBhZ2VUaHJv
dHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7IH0pCiAgICAgLCBtX2hpZGRlblBhZ2VUaHJv
dHRsaW5nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0
ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQpCiB7CiAgICAgZm9yIChhdXRv
JiBzY2hlbWUgOiBtX2NvbmZpZ3VyYXRpb24tPmFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcygp
KQpAQCAtNTk1LDcgKzU5NSw3IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViUHJvY2Vzc1Bvb2w6OmNy
ZWF0ZU5ld1dlYlByb2Nlc3MoKQogCiAgICAgcGFyYW1ldGVycy5pY29uRGF0YWJhc2VFbmFibGVk
ID0gIWljb25EYXRhYmFzZVBhdGgoKS5pc0VtcHR5KCk7CiAKLSAgICBwYXJhbWV0ZXJzLnRlcm1p
bmF0aW9uVGltZW91dCA9IDA7CisgICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQgPSAw
X3M7CiAKICAgICBwYXJhbWV0ZXJzLnRleHRDaGVja2VyU3RhdGUgPSBUZXh0Q2hlY2tlcjo6c3Rh
dGUoKTsKIApAQCAtMTQxNiwxMCArMTQxNiwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp1cGRh
dGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0KCkKICAgICAvLyBXZSdyZSBl
c3RpbWF0aW5nIGFuIHVwcGVyIGJvdW5kIGZvciBhIHNldCBvZiBiYWNrZ3JvdW5kIHRpbWVyIGZp
cmVzIGZvciBhIHBhZ2UgdG8gYmUgMjAwbXMKICAgICAvLyAoaW5jbHVkaW5nIGFsbCB0aW1lciBm
aXJlcywgYWxsIHBhZ2luZy1pbiwgYW5kIGFueSByZXN1bHRpbmcgR0MpLiBUbyBlbnN1cmUgdGhp
cyBkb2VzIG5vdAogICAgIC8vIHJlc3VsdCBpbiBtb3JlIHRoYW4gMSUgQ1BVIGxvYWQgYWxsb3cg
Zm9yIG9uZSB0aW1lciBmaXJlIHBlciAxMDB4IHRoaXMgZHVyYXRpb24uCi0gICAgc3RhdGljIGlu
dCBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TID0gMjAwICogMTAwOworICAgIHN0YXRp
YyBjb25zdCBhdXRvIG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZSA9IDIwMF9tcyAqIDEwMDsK
IAotICAgIGludCBsaW1pdEluTWlsbGlzZWNvbmRzID0gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQ
YWdlSW5NUyAqIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1
ZSgpOwotICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlk
ZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXRJbk1pbGxpc2Vjb25kcykp
OworICAgIGF1dG8gbGltaXQgPSBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2UgKiBtX2hpZGRl
blBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIudmFsdWUoKTsKKyAgICBzZW5kVG9B
bGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNsaWVu
dEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50
RWZsLmNwcAppbmRleCA4NTc0NWFjMzBhYzdiODNlMTQ4MjRiZmZlZWJhNjkwOTEzZTliNDRhLi4z
YjIyMzc3YzgzOTFkM2I4MzZjOGFkNzAwYzM4NGQwMDNlZmU2ZDE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBAIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OmVuc3VyZVNwZWxsQ2hl
Y2tpbmdMYW5ndWFnZSgpCiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENo
ZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkZWZhdWx0TGFuZ3VhZ2VzKQog
ewogICAgIG1fc3BlbGxDaGVja2luZ0xhbmd1YWdlcyA9IGRlZmF1bHRMYW5ndWFnZXM7Ci0gICAg
bV9sYW5ndWFnZXNVcGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9sYW5ndWFnZXNV
cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVu
dEVmbDo6bGFuZ3VhZ2VzVXBkYXRlVGltZXJGaXJlZCgpCkBAIC0xMjgsNyArMTI4LDcgQEAgVmVj
dG9yPFN0cmluZz4gVGV4dENoZWNrZXJDbGllbnRFZmw6OmxvYWRlZFNwZWxsQ2hlY2tpbmdMYW5n
dWFnZXMoKSBjb25zdAogCiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91
c1NwZWxsQ2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKCkKIHsKLSAgICBtX3NwZWxsQ2hlY2tp
bmdTZXR0aW5nQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc3BlbGxDaGVja2lu
Z1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogYm9vbCBUZXh0Q2hl
Y2tlckNsaWVudEVmbDo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRDYWxsYmFjayhj
b25zdCB2b2lkKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2Vz
dHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJl
Q29udHJvbGxlci5jcHAKaW5kZXggN2UxNTc3Y2JhOGIxNTcwNTI2NGU1YmE1NDc1ZmZjNTk2MmRh
Yjg4OS4uOTNkZGQ3NjhkYmE0Y2JlMDMwZDQzMWU0YjRkODU3YTY4OGQwZjkxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAKQEAg
LTEyNyw3ICsxMjcsNyBAQCB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6YmVn
aW4oRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZAogICAgIEd0a1dpZGdldCog
d2lkZ2V0ID0gZ3RrX2V2ZW50X2NvbnRyb2xsZXJfZ2V0X3dpZGdldChHVEtfRVZFTlRfQ09OVFJP
TExFUihnZXN0dXJlKSk7CiAgICAgdW5zaWduZWQgZGVsYXk7CiAgICAgZ19vYmplY3RfZ2V0KGd0
a193aWRnZXRfZ2V0X3NldHRpbmdzKHdpZGdldCksICJndGstbG9uZy1wcmVzcy10aW1lIiwgJmRl
bGF5LCBudWxscHRyKTsKLSAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0
T25lU2hvdChkZWxheSAvIDEwMDAuMCk7CisgICAgZHJhZ0dlc3R1cmUtPm1fbG9uZ1ByZXNzVGlt
ZW91dC5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhkZWxheSkpOwogfQog
CiB2b2lkIEdlc3R1cmVDb250cm9sbGVyOjpEcmFnR2VzdHVyZTo6dXBkYXRlKERyYWdHZXN0dXJl
KiBkcmFnR2VzdHVyZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBHdGtHZXN0dXJlKiBnZXN0dXJlKQpA
QCAtMjA2LDcgKzIwNiw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpz
Y2FsZUNoYW5nZWQoWm9vbUdlc3R1cmUqIHpvb21HZXN0dXJlLCBkb3ViCiAgICAgaWYgKHpvb21H
ZXN0dXJlLT5tX2lkbGUuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgem9vbUdl
c3R1cmUtPm1faWRsZS5zdGFydE9uZVNob3QoMCk7CisgICAgem9vbUdlc3R1cmUtPm1faWRsZS5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogR2VzdHVyZUNvbnRyb2xsZXI6Olpvb21HZXN0dXJlOjpa
b29tR2VzdHVyZShXZWJQYWdlUHJveHkmIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCmluZGV4IGRjMTk4ZDg1OGYx
M2EzYzEyMzZlNTExZDM4ZGI2ODUyNjEzNzg0YTQuLjUzMTdmZWQ5ZDg5MjkzYWJkNDIxMmMyMDg1
ZDY0YzJiOTQzN2ExNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsv
V2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCkBAIC0yNjEsNyArMjYxLDcgQEAgdm9pZCBXZWJQ
b3B1cE1lbnVQcm94eUd0azo6bWVudVVubWFwcGVkQ2FsbGJhY2soR3RrV2lkZ2V0KiwgV2ViUG9w
dXBNZW51UHJveHlHdGsKICAgICAvLyBXaGVuIGFuIGl0ZW0gaXMgYWN0aXZhdGVkLCB0aGUgbWVu
dSBpcyBmaXJzdCBoaWRkZW4gYW5kIHRoZW4gYWN0aXZhdGUgc2lnbmFsIGlzIGVtaXR0ZWQsIHNv
IGF0IHRoaXMgcG9pbnQgd2UgZG9uJ3Qga25vdwogICAgIC8vIGlmIHRoZSBtZW51IGhhcyBiZWVu
IGhpZGRlbiBiZWNhdXNlIGFuIGl0ZW0gaGFzIGJlZW4gc2VsZWN0ZWQgb3IgYmVjYXVzZSB0aGUg
bWVudSBoYXMgYmVlbiBkaXNtaXNzZWQuIFdhaXQgdW50aWwgdGhlIG5leHQKICAgICAvLyBtYWlu
IGxvb3AgaXRlcmF0aW9uIHRvIGRpc21pc3MgdGhlIG1lbnUsIGlmIGFuIGl0ZW0gaXMgYWN0aXZh
dGVkIHRoZSB0aW1lciB3aWxsIGJlIGNhbmNlbGxlZC4KLSAgICBwb3B1cE1lbnUtPm1fZGlzbWlz
c01lbnVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgcG9wdXBNZW51LT5tX2Rpc21pc3NNZW51
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6
OnNlbGVjdEl0ZW1DYWxsYmFjayhHdGtXaWRnZXQqIGl0ZW0sIFdlYlBvcHVwTWVudVByb3h5R3Rr
KiBwb3B1cE1lbnUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbQppbmRleCA4MThiZDM5MGQ0ODNkMDgyMmJhZTc5MzRlMTA2ZmRi
YjBjZGZmODU0Li5kZmFkMzJlY2VmOGM0MDhhMTBiMjU5MWY4YjAzNzc4NjIxNTMzNDFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlN
YWMubW0KQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93U3R5
bGVNYXNrID0gTlNXaW5kb3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0eWwKIAogLy8gVGhl
IHRpbWUgd2Uga2VlcCBvdXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xvc2luZyBpdCBhbmQgaXRz
IHByb2Nlc3MuCiAvLyBSZXVzaW5nIHRoZSBXZWJWaWV3IGltcHJvdmVzIHN0YXJ0IHVwIHRpbWUg
Zm9yIHBlb3BsZSB0aGF0IGp1bXAgaW4gYW5kIG91dCBvZiB0aGUgSW5zcGVjdG9yLgotc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MDsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIHdlYlZpZXdDbG9zZVRpbWVvdXQgPSA2MF9zOwogCiAvLyBXS1dlYkluc3BlY3RvclBy
b3h5T2JqQ0FkYXB0ZXIgaXMgYSBoZWxwZXIgT2JqQyBvYmplY3QgdXNlZCBhcyBhIGRlbGVnYXRl
IG9yIG5vdGlmaWNhdGlvbiBvYnNlcnZlcgogLy8gZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2YgZ2V0
dGluZyBiYWNrIGludG8gdGhlIEMrKyBjb2RlIGZyb20gYW4gT2JqQyBjYWxsZXIuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3ku
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5
LmNwcAppbmRleCBlODkxY2QwMzJiMmY0MzY2NGI2N2UwNmRiZWNjYzhlZTAzNThkZDhmLi5jNWZj
ZGU5NzdhOTgxYTM2MGQ1MDI2NjRlOGI1NjAwOWJmYzUyYTAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAg
LTkxLDE0ICs5MSwxNCBAQCBSZWZQdHI8TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXI+IFdlYkxv
YWRlclN0cmF0ZWd5OjpzY2hlZHVsZVBsdWdpblN0cmVhbUxvYWQoRgogICAgIHJldHVybiBsb2Fk
ZXI7CiB9CiAKLXN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJp
bmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK3N0YXRpYyBTZWNvbmRzIG1heGltdW1C
dWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICNpZiAhRU5BQkxFKE5F
VFdPUktfQ0FDSEUpCi0gICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4gMF9zOwogI2VuZGlmCiAK
ICAgICBpZiAoIXJlc291cmNlKQotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4g
MF9zOwogCiAgICAgc3dpdGNoIChyZXNvdXJjZS0+dHlwZSgpKSB7CiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDoKQEAgLTEwNyw5ICsxMDcsOSBAQCBzdGF0aWMgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSog
cmVzb3VyY2UpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJlc291cmNlOgogI2Vu
ZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgotICAgICAgICByZXR1
cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCk7CisgICAgICAgIHJldHVybiBTZWNv
bmRzOjppbmZpbml0eSgpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2U6
Ci0gICAgICAgIHJldHVybiA1MDBtczsKKyAgICAgICAgcmV0dXJuIDUwMF9tczsKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpNZWRpYVJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6
Ok1haW5SZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZToKQEAg
LTEyNCwxMSArMTI0LDExIEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGlt
dW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKICNpZiBFTkFCTEUoWFNM
VCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0OgogI2VuZGlmCi0gICAg
ICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAgICAgfQogCiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDBtczsKKyAgICByZXR1cm4gMF9zOwogfQogCiB2
b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291
cmNlTG9hZGVyLCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJvb2wgc2hvdWxkQ2xlYXJSZWZl
cnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKQEAgLTIzMSw3ICsyMzEsNyBAQCB2b2lkIFdlYkxv
YWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNlTG9hZGVy
LCBDYWNoZWRSZXNvdQogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVJbnRlcm5hbGx5
RmFpbGVkTG9hZChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIpCiB7CiAg
ICAgbV9pbnRlcm5hbGx5RmFpbGVkUmVzb3VyY2VMb2FkZXJzLmFkZCgmcmVzb3VyY2VMb2FkZXIp
OwotICAgIG1faW50ZXJuYWxseUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFdlYkxvYWRlclN0cmF0ZWd5OjppbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVu
dGltZU9iamVjdE1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcAppbmRleCA0OTkyMGYyY2FhODRmNzY5YjYyZDI0
NjJhOWM5ODA3ZjUyMGNmM2VkLi4xYzFlZTYyMWQyNGI3MGFmM2FhZGExMzMxMDYyNDI3YTMwMmM2
MGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcApAQCAtMjkzLDcgKzI5Myw3
IEBAIHZvaWQgTlBSdW50aW1lT2JqZWN0TWFwOjphZGRUb0ludmFsaWRhdGlvblF1ZXVlKE5QT2Jq
ZWN0KiBucE9iamVjdCkKICAgICBpZiAodHJ5U2FmZVJlbGVhc2VOUE9iamVjdChucE9iamVjdCkp
CiAgICAgICAgIHJldHVybjsKICAgICBpZiAobV9ucE9iamVjdHNUb0ZpbmFsaXplLmlzRW1wdHko
KSkKLSAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fZmluYWxpemF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgQVNTRVJUKG1fZmlu
YWxpemF0aW9uVGltZXIuaXNBY3RpdmUoKSk7CiAgICAgbV9ucE9iamVjdHNUb0ZpbmFsaXplLmFw
cGVuZChucE9iamVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAppbmRleCA1YzlhOTE4
MjQ1NjZhNDYzMDEwYzBlNzM5NjgwMzQ1N2UzMzM0NzdkLi4xY2RmZWNmM2E5MDk3ZDVmOGQzYWRj
NzNiNzFiMDk0OTBjODJhODcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKQEAgLTMyNiw3
ICszMjYsNyBAQCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6On5UaW1lcigpCiAKIHZvaWQgTmV0c2Nh
cGVQbHVnaW46OlRpbWVyOjpzdGFydCgpCiB7Ci0gICAgZG91YmxlIHRpbWVJbnRlcnZhbCA9IG1f
aW50ZXJ2YWwgLyAxMDAwLjA7CisgICAgYXV0byB0aW1lSW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9t
TWlsbGlzZWNvbmRzKG1faW50ZXJ2YWwpOwogCiAgICAgaWYgKG1fcmVwZWF0KQogICAgICAgICBt
X3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHRpbWVJbnRlcnZhbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0u
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBl
UGx1Z2luU3RyZWFtLmNwcAppbmRleCA3ZDU0ZDg4YzdlODk4YzVjZTBiYWRmMWQ3NjliMmU1ZDM1
ZDlhMjU0Li4yMzQ5OTEzMGNjNTk2NWJjYTYxYjdiODI4MmU5NWQzYTdmZjdiN2VlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW5TdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKQEAgLTIyMiw3ICsyMjIsNyBAQCB2b2lk
IE5ldHNjYXBlUGx1Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKCkKIAogICAgICAgICBp
ZiAobnVtQnl0ZXNQbHVnaW5DYW5IYW5kbGUgPD0gMCkgewogICAgICAgICAgICAgLy8gVGhlIHBs
dWctaW4gY2FuJ3QgaGFuZGxlIG1vcmUgZGF0YSwgd2UnbGwgc2VuZCB0aGUgcmVzdCBsYXRlcgot
ICAgICAgICAgICAgbV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0K
aW5kZXggYjkyNmRiMDkwMmY1YjhmNzUwNDdmZWFkYzJjNTQzYzZhY2MyZTVlMC4uNTA0NDJhN2U2
ODcyZTA5MTEzZmMzZDRjNjI2NWQ5MjE2ZWNjMzM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNj
YXBlUGx1Z2luTWFjLm1tCkBAIC00NSw3ICs0NSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZm5kZWYgTlBfTk9fQ0FSQk9OCi1zdGF0aWMgY29u
c3QgZG91YmxlIG51bGxFdmVudEludGVydmFsQWN0aXZlID0gMC4wMjsKK3N0YXRpYyBjb25zdCBT
ZWNvbmRzIG51bGxFdmVudEludGVydmFsQWN0aXZlID0gMC4wMl9zOwogCiBzdGF0aWMgdW5zaWdu
ZWQgYnV0dG9uU3RhdGVGcm9tTGFzdE1vdXNlRXZlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAppbmRleCBhYzFkYWFiYWQwNjNhNDk2
MjZiMzdlMDQwMmU5ZWJmNTQ5MmQzYjFiLi4zOTFjMGU4NTgzMDlkMTBhOTJmZjM3ZDhhN2RkN2Q5
NTNlMzJhYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblZpZXcuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
bmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIFRoaXMgc2ltdWxhdGVkIG1vdXNlIGNsaWNrIGRlbGF5
IGluIEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwIHNob3VsZCBnZW5lcmFsbHkgYmUgdGhlIHNh
bWUgb3Igc2hvcnRlciB0aGFuIHRoaXMgZGVsYXkuCi1zdGF0aWMgY29uc3QgYXV0byBwbHVnaW5T
bmFwc2hvdFRpbWVyRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgMTEwMCB9Owor
c3RhdGljIGNvbnN0IGF1dG8gcGx1Z2luU25hcHNob3RUaW1lckRlbGF5ID0gMS4xX3M7CiAKIGNs
YXNzIFBsdWdpblZpZXc6OlVSTFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxVUkxSZXF1ZXN0
PiB7CiBwdWJsaWM6CkBAIC0xMTY0LDcgKzExNjQsNyBAQCB2b2lkIFBsdWdpblZpZXc6OnBlbmRp
bmdVUkxSZXF1ZXN0c1RpbWVyRmlyZWQoKQogCiAgICAgLy8gSWYgdGhlcmUgYXJlIG1vcmUgcmVx
dWVzdHMgdG8gcGVyZm9ybSwgcmVzY2hlZHVsZSB0aGUgdGltZXIuCiAgICAgaWYgKCFtX3BlbmRp
bmdVUkxSZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAgICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgIAogICAgIHBlcmZvcm1VUkxSZXF1ZXN0KHVybFJlcXVlc3Qu
Z2V0KCkpOwogfQpAQCAtMTQyMyw3ICsxNDIzLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpsb2FkVVJM
KHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IFN0cmluZyYK
ICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5zZXRIVFRQUmVmZXJy
ZXIocmVmZXJyZXIpOwogCiAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHMuYXBwZW5kKFVSTFJlcXVl
c3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIGZyYW1lTG9hZFJlcXVlc3QsIGFsbG93UG9wdXBzKSk7Ci0g
ICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9wZW5k
aW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5W
aWV3OjpjYW5jZWxTdHJlYW1Mb2FkKHVpbnQ2NF90IHN0cmVhbUlEKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0Fy
ZWEuY3BwCmluZGV4IGI4NzhmYmM5ODQyZTNlYmFkNjdmNmZmOThkNzk5MGM5Y2E2MzA1ZTUuLjc0
ZTJjMjMzNzRjYTlmM2M0NWVhMzA4OTcyNjNmM2Y1YTFiMTFmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5n
QXJlYS5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lkIEFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6
OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNvb24oKQogICAgIGlmIChleGl0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ01vZGVQZW5kaW5nKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
ZXhpdENvbXBvc2l0aW5nVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXhpdENvbXBvc2l0
aW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfTVVMVElQUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmM2RhZWZjNzg3NmQ5ODNiZTE1YzliYmMy
ZGFhYzE4MjVlOGFiYzI3Li44ZWU3ZGRmMTk4MmQ5MTdmYWY3MTU1ZDE5ODM4NGQ0MzFkODc5NGFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3Jk
aW5hdG9yLmNwcApAQCAtMTU1LDExICsxNTUsMTEgQEAgdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5h
dG9yOjpzeW5jRGlzcGxheVN0YXRlKCkKIH0KIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkKLWRvdWJsZSBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2Vy
dmljZVRpbWUoKSBjb25zdAorU2Vjb25kcyBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpuZXh0QW5p
bWF0aW9uU2VydmljZVRpbWUoKSBjb25zdAogewogICAgIC8vIEFjY29yZGluZyB0byB0aGUgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lIHNwZWMsIHJBRiBjYWxsYmFja3Mgc2hvdWxkIG5vdCBiZSBmYXN0
ZXIgdGhhbiA2MEZQUy4KLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIE1pbmltYWxUaW1lb3V0Rm9y
QW5pbWF0aW9ucyA9IDEuIC8gNjAuOwotICAgIHJldHVybiBzdGQ6Om1heDxkb3VibGU+KDAuLCBN
aW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgLSB0aW1lc3RhbXAoKSArIG1fbGFzdEFuaW1hdGlv
blNlcnZpY2VUaW1lKTsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBNaW5pbWFsVGltZW91dEZv
ckFuaW1hdGlvbnMgPSBTZWNvbmRzKDEuMCAvIDYwKTsKKyAgICByZXR1cm4gc3RkOjptYXg8U2Vj
b25kcz4oMF9zLCBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgLSBTZWNvbmRzKHRpbWVzdGFt
cCgpICsgbV9sYXN0QW5pbWF0aW9uU2VydmljZVRpbWUpKTsKIH0KICNlbmRpZgogCkBAIC0zOTgs
NyArMzk4LDcgQEAgYm9vbCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpwYWludFRvU3VyZmFjZShj
b25zdCBJbnRTaXplJiBzaXplLCBDb29yZGluYXRlZFN1cmYKICAgICByZXR1cm4gbV91cGRhdGVB
dGxhc2VzLmxhc3QoKS0+cGFpbnRPbkF2YWlsYWJsZUJ1ZmZlcihzaXplLCBhdGxhc0lELCBvZmZz
ZXQsIGNsaWVudCk7CiB9CiAKLWNvbnN0IGRvdWJsZSBSZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGlt
ZXJJbnRlcnZhbCA9IDAuNTsKK2NvbnN0IFNlY29uZHMgUmVsZWFzZUluYWN0aXZlQXRsYXNlc1Rp
bWVySW50ZXJ2YWwgPSAwLjVfczsKIAogdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpzY2hl
ZHVsZVJlbGVhc2VJbmFjdGl2ZUF0bGFzZXMoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29y
ZGluYXRvci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCmluZGV4IGY5OGEzNmJjMjdhN2YyYmNl
MTc3ZDEyN2NmOTdmNjlkYmUxYzc1MWEuLmViZjY1YmI3ZjljZGI3ZWNlMjdiY2YwMTAzMzc1ZDRj
ZmQ4ZTIzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGlu
Z0Nvb3JkaW5hdG9yLmgKQEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3luY0Rp
c3BsYXlTdGF0ZSgpOwogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotICAg
IGRvdWJsZSBuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5l
eHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
LmNwcAppbmRleCA5ZjZhODMyMWUzZjI1MWFhNWUzNmU1MzcxOGQ4Y2FhOTc3ODA5NTZhLi5jNDdi
YjA3Y2Q1ZDVmMjYwN2U4Mzc1ZWEwZDViZTQ3MmM2NDRhNTRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZExheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTc5
LDcgKzc5LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJG
bHVzaCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9sYXllckZsdXNoVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OmNhbmNlbFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAK
aW5kZXggNTRiNGVhZDk4M2Y3NTZiZDE0OGUxYWY0Y2JlZDY0NzM5ODA3OTQyZC4uMGQxYjUxMDEw
Njg1MTg1ZjgwMzE5ZTkwOGJlY2Y3NDhjYTU1OGIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM0Miw3ICsz
NDIsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVEaXNwbGF5KCkKICAgICBpZiAo
bV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kaXNw
bGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU4
YmM4ODlkY2EwM2ViZGExMmFhNjQwZDkzOTVhMjllNmVhNWNlMmQuLjViYThjYTk0ZWNkMjFkYjgz
ZDlmMThlMTM1ZDAzZWE4MTUwN2Y2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI1Myw5ICsyNTMsOSBAQCB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcGFn
ZVNjcm9sbEh5c3RlcmVzaXNTZWNvbmRzID0gMC4zOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyMCB9
Owotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxp
dHlUaW1lckludGVydmFsIHsgMiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGFnZVNjcm9sbEh5
c3RlcmVzaXMgPSAwLjNfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxMYXllclZvbGF0
aWxpdHlUaW1lckludGVydmFsID0gMjBfbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVt
TGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDJfczsKIAogI2RlZmluZSBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2Vk
KCksIExheWVycywgX19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FM
TE9XRUQoLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQo
KSwgTGF5ZXJzLCBfX1ZBX0FSR1NfXykKQEAgLTMxNSw3ICszMTUsNyBAQCBXZWJQYWdlOjpXZWJQ
YWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFy
YW1ldGVycykKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXIoKnRoaXMpCiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVk
SHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBI
eXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VT
Y3JvbGxIeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhb
dGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3Rh
dGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJl
c2lzKQogICAgICwgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5j
YW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFt
ZXRlcnMuY2FuUnVuTW9kYWwpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMjA2Miw3ICsyMDYyLDcg
QEAgdm9pZCBXZWJQYWdlOjpjYWxsVm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycygpCiAKIHZv
aWQgV2ViUGFnZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7Ci0gICAgYXV0byBuZXdJ
bnRlcnZhbCA9IDIgKiBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsTVMoKTsK
KyAgICBhdXRvIG5ld0ludGVydmFsID0gbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRl
cnZhbCgpICogMjsKICAgICBib29sIGRpZFN1Y2NlZWQgPSBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1l
ZGlhdGVseUlmUG9zc2libGUoKTsKICAgICBpZiAoZGlkU3VjY2VlZCB8fCBuZXdJbnRlcnZhbCA+
IG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKSB7CiAgICAgICAgIG1fbGF5ZXJW
b2xhdGlsaXR5VGltZXIuc3RvcCgpOwpAQCAtMjA3MSw3ICsyMDcxLDcgQEAgdm9pZCBXZWJQYWdl
OjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0
byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRo
aXMsIHN0YXRpY19jYXN0PGxvbmcgbG9uZz4obmV3SW50ZXJ2YWwuY291bnQoKSkpOworICAgIFJF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJr
IGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgbmV3
SW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVh
dGluZyhuZXdJbnRlcnZhbCk7CiB9CiAKQEAgLTIxMDIsNyArMjEwMiw3IEBAIHZvaWQgV2ViUGFn
ZTo6bWFya0xheWVyc1ZvbGF0aWxlKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhh
bmRsZXIpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCIlcCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0
cnkgaW4gJWxsZCBtcyIsIHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFs
LmNvdW50KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1h
cmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBp
bml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVy
Vm9sYXRpbGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1l
ckludGVydmFsKTsKIH0KIApAQCAtMjU0MSw3ICsyNTQxLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRh
dGVJc0luV2luZG93KGJvb2wgaXNJbml0aWFsU3RhdGUpCiAgICAgICAgIC8vIGluIG9yZGVyIHRv
IGdldCBwbHVnLWluIGNvbm5lY3Rpb25zLCBhbmQgdGhlIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0
aW5nIGZvciB0aGUgV2ViIHByb2Nlc3MgdG8gdXBkYXRlIHRoZSBiYWNraW5nCiAgICAgICAgIC8v
IHN0b3JlIGFmdGVyIG1vdmluZyB0aGUgdmlldyBpbnRvIGEgd2luZG93LCB1bnRpbCBpdCB0aW1l
cyBvdXQgYW5kIHBhaW50cyB3aGl0ZS4gU2VlIDxyZGFyOi8vcHJvYmxlbS85MjQyNzcxPi4KICAg
ICAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdykKLSAgICAgICAgICAgIG1fc2V0
Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fc2V0Q2Fu
U3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLnBhZ2VEaWRFbnRlcldpbmRvdyhtX3BhZ2VJRCk7CiAgICAgfQpAQCAtMzg3
Myw3ICszODczLDcgQEAgdm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBs
dWdpblZpZXcpCiAgICAgbV9oYXNTZWVuUGx1Z2luID0gdHJ1ZTsKICNpZiBFTkFCTEUoUFJJTUFS
WV9TTkFQU0hPVFRFRF9QTFVHSU5fSEVVUklTVElDKQogICAgIExPRyhQbHVnaW5zLCAiUHJpbWFy
eSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBhZGRQbHVnaW5W
aWV3KCVwKSIsIHBsdWdpblZpZXcpOwotICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVk
UGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBz
aG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtNDQx
MCw3ICs0NDEwLDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93
KGJvb2wgbWF5U3RhcnRNZWRpYSkKIAogICAgIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9
IG1heVN0YXJ0TWVkaWE7CiAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyAmJiBt
X3BhZ2UtPmlzSW5XaW5kb3coKSkKLSAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpydW5Nb2RhbCgpCkBAIC01MTg4LDcgKzUxODgs
NyBAQCB2b2lkIFdlYlBhZ2U6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUqIGZyYW1lKQogCiAgICAg
bV9yZWFkeVRvRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbiA9IHRydWU7CiAgICAgTE9HKFBs
dWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBm
cm9tIGRpZEZpbmlzaExvYWQgKG1hcmtpbmcgYXMgcmVhZHkgdG8gZGV0ZWN0KS4iKTsKLSAgICBt
X2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlmCkBAIC01MjAw
LDcgKzUyMDAsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
U2VhcmNoQnVja2V0U2l6ZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90
dGVkUGx1Z0luTWluaW11bVdpZHRoID0gNDAwOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25h
cHNob3R0ZWRQbHVnSW5NaW5pbXVtSGVpZ2h0ID0gMzAwOwogc3RhdGljIGNvbnN0IHVuc2lnbmVk
IG1heFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzID0gMjsKLXN0YXRp
YyBjb25zdCBpbnQgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxh
eSA9IDM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBs
dWdJbkRldGVjdGlvbkRlbGF5ID0gM19zOwogc3RhdGljIGNvbnN0IGZsb2F0IG92ZXJsYXBwaW5n
SW1hZ2VCb3VuZHNTY2FsZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtT3Zlcmxh
cHBpbmdJbWFnZVRvUGx1Z2luRGltZW5zaW9uU2NhbGUgPSAuOTsKIApAQCAtNTMwOCw3ICs1MzA4
LDcgQEAgdm9pZCBXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQog
ICAgIGlmICghY2FuZGlkYXRlUGx1Z0luKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFy
eSBQbHVnLUluIERldGVjdGlvbjogZmFpbCAtIGRpZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBwbHVn
LWluLiIpOwogICAgICAgICBpZiAobV9udW1iZXJPZlByaW1hcnlTbmFwc2hvdERldGVjdGlvbkF0
dGVtcHRzIDwgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMpIHsK
LSAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2ls
bCBhdHRlbXB0IGFnYWluIGluICVkcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
bkRldGVjdGlvbkRlbGF5KTsKKyAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVn
LUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICUuM2ZzLiIsIGRlZmVycmVkUHJp
bWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAgICAg
ICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChk
ZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAgICAg
fQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAppbmRleCA5MDlkMmY5MTI2NmNkOGZkNTE5NjE4ZWQwZDFjNTdlMDkyZmZjNTk4Li43
NWJmNDZiMjNlMzk3Yzg1MTQxODRlMGZlMWJhYjQ2MDlhYTc5YWFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTMwMCw3ICszMDAsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKICAgICB2b2lk
IHNldEFjdGl2ZVBvcHVwTWVudShXZWJQb3B1cE1lbnUqKTsKIAotICAgIHZvaWQgc2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyBsaW1pdCkKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxp
bWl0KFNlY29uZHMgbGltaXQpCiAgICAgewogICAgICAgICBtX3BhZ2UtPnNldFRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0KGxpbWl0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCA1YTY3MzM0ZDhhYTNhNDYxYjMzOGUwYjhlYTg0MDcx
ZGRjOGQwN2Q0Li45MWQ4YTU2NTFmODc2MDM1ODQzMTRlYzZkZmZiMTI3MzE4ZGNjZTBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTI4NSw3ICsyODUsNyBAQCBU
aWxlZEJhY2tpbmcqIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjptYWluRnJhbWVUaWxlZEJh
Y2tpbmcoKSBjb25zdAogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5KCkKIHsKLSAgICBtX2xheWVyRmx1c2hU
aW1lci5zdGFydE9uZVNob3QoMG1zKTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVD
b21wb3NpdGluZ0xheWVyRmx1c2goKQpAQCAtMzA0LDkgKzMwNCw5IEBAIHZvaWQgUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKICAgICBp
ZiAobV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
Y29uc3QgYXV0byBpbml0aWFsRmx1c2hEZWxheSA9IDUwMG1zOwotICAgIGNvbnN0IGF1dG8gZmx1
c2hEZWxheSA9IDE1MDBtczsKLSAgICBhdXRvIHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGlu
Z0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFs
Rmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDogMG1zOworICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZs
dXNoRGVsYXkgPSAwLjVfczsKKyAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxLjVfczsKKyAg
ICBhdXRvIHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lz
SW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVs
YXkpIDogMF9zOwogICAgIG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA9IGZhbHNlOwog
CiAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxlRGVsYXkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggZjRlZWEwMWZlNmVh
NTcxYzNiNWNiNDMwZjljMTg3NDNjZTlhNDBjYy4uY2NjZjFhYzIwNTU3OGRjNGNhYzVmMThmZGEx
OThmYzdlN2QxZDA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
Lm1tCkBAIC00NzIsNyArNDcyLDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShBY3Rpdml0eVN0YXRlOjpGbGFncwogICAgIH0KIAog
ICAgIGlmIChtX3dhbnRzRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZSB8fCAhbV9uZXh0QWN0aXZpdHlT
dGF0ZUNoYW5nZUNhbGxiYWNrSURzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZW5kRGlkVXBkYXRl
QWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kRGlkVXBk
YXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBkZDAwYTE4
ZDliNjIxNjVkOTM2MmE5ODJlNGZlNzY1ODg3MWU1MTlhLi4yNjMyZGJhZmIyNGM2NzJiNWNlMzQ1
NDFjNTg0ODhmZDY5ODA2MmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKQEAgLTE0Miw3ICsxNDIsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHN0YXRp
YyBjb25zdCBkb3VibGUgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hv
bGQgPSAyOSAqIDI0ICogNjAgKiA2MDsKIAogLy8gVGhpcyBzaG91bGQgYmUgZ3JlYXRlciB0aGFu
IHRpbGVSZXZhbGlkYXRpb25UaW1lb3V0IGluIFRpbGVDb250cm9sbGVyLgotc3RhdGljIGNvbnN0
IGRvdWJsZSBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IDEwOworc3RhdGljIGNvbnN0
IGF1dG8gbm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMF9zOwogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIApAQCAtMjExLDcgKzIxMSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQog
ICAgICAgICBpZiAobV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIu
c3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUpKTsKKyAgICAgICAgbV9zdGF0aXN0
aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCg1X3MpOwogICAgIH0pOwogfQogCkBAIC01Mzgs
NyArNTM4LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQog
ICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVN
aW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0g
MDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50
ZXJ2YWw7CiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAgICAgY2FsY3VsYXRlTWVt
b3J5Q2FjaGVTaXplcyhjYWNoZU1vZGVsLCBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hlTWluRGVh
ZENhcGFjaXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCwgcGFnZUNhY2hlU2l6ZSk7CiAKQEAgLTEyNDQsMTAgKzEyNDQsMTAgQEAgdm9pZCBX
ZWJQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgT3B0aW8KICAgICB9CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKK3ZvaWQg
V2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vj
b25kcyBsaW1pdCkKIHsKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkp
Ci0gICAgICAgIHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0
KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMobWlsbGlzZWNvbmRzKSk7CisgICAgICAgIHBhZ2Ut
PnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KTsKIH0KIAog
I2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
aW5kZXggMmE5NjQxYmZkNTRlODM0NzgyODRkNjVhNWVhMzU3MWExZjI3YjViOS4uMzMzZmRiNmMx
NjU1OWI5ODNjNzc1NjZkYjM4MzRlZjdjNGY5MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKQEAgLTE4OCw3ICsxODgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVw
ZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxp
bmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpOworICAgIHZvaWQgc2V0SGlkZGVuUGFn
ZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyk7CiAKICAgICB2b2lkIHByb2Nl
c3NXaWxsU3VzcGVuZEltbWluZW50bHkoYm9vbCYgaGFuZGxlZCk7CiAgICAgdm9pZCBwcmVwYXJl
VG9TdXNwZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4KaW5kZXggNmQ3NmU1ODMyNmVkMzUyNGFhYzVhOTg2YzQ5OTA2NzhhNTI0MTY2
Yi4uMjU5MDQ0OThhNmU0YTk3MDZiMWZjMWQ2NjliMWUxYzZiNzgyMDI4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtODAsNyAr
ODAsNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEZWxl
dGVXZWJzaXRlRGF0YShXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vi
S2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0
ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9kaWZpZWRTaW5jZSkgLT4gKCkKICAgICBEZWxldGVXZWJz
aXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0
PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zKSAtPiAoKQogCi0gICAgU2V0SGlkZGVuUGFn
ZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKKyAgICBTZXRI
aWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogICAg
IFNldFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKQogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIFNldFFPUyhpbnQgbGF0ZW5jeVFPUywgaW50IHRocm91Z2hwdXRRT1MpCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTZlMDU4YWU3
ZGJkOTNjODFjMzc0NWVmNDY5ZGFlNTRjZmMzYjYzYS4uYTM2MzZjM2ZhZmQyMGVlZDJjYmZkYTU0
N2ZmOTg5M2M5NGZkOTkwZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9u
bHkgU2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTYt
MTItMDQgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAg
IEZpeCBhIGJ1aWxkIGJyZWFrIG9uIEVGTCBzaW5jZSByMjA5MzAzLgpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAppbmRleCAxZGM3ZTkzOGE3NmU5OTRiZTk3Njk4ZWU4
MDVjYzZmZmVkNmZlM2RiLi41YTQ4OTI4ZmNiNWYwODIxNjE4YThkMmE0N2FhNTE4ZmJkZDNiNTYz
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApAQCAtOTUsNyAr
OTUsNyBAQCBURVNUKFdURl9SdW5Mb29wLCBPbmVTaG90VGltZXIpCiAKICAgICB7CiAgICAgICAg
IERlcml2ZWRUaW1lciB0aW1lcih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydE9u
ZVNob3QoMC4xKTsKKyAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKICAgICAgICAg
VXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0KIH0KQEAgLTEyOSw3ICsxMjksNyBAQCBU
RVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZl
ZFRpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5n
KDAuMDEpOworICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygwLjAxX3MpOwogICAgICAgICBV
dGlsOjpydW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296129</attachid>
            <date>2016-12-04 23:00:56 -0800</date>
            <delta_ts>2016-12-05 09:21:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161204230017.patch</filename>
            <type>text/plain</type>
            <size>383179</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZThlNTQyZjhiY2IxNzdmMjQ1NWEyOTczNzllNzg4NGQ5YTg1OGVmLi5mODJmNzE0ODNmMDAzMDQ0
YTIzNmNlNGUyZTA1OGQ5OTUwMjc5YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6
OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKToKKwogMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHog
YW5kIHBvcGNudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCA0ZjEyZWQzNGQ4NGU3MzgyMjViMDUwYzk3YmEyYmYxZTM1NjRmNGQ0
Li5hNjMyNjk2NWI5ZjJjNTY3MTU3YWIwOTJiZmVhNmQ0M2QyMWVlMGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAg
ICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJh
c2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvY2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdU
Rjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAg
ICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5M
b29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5j
cHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAq
IHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnQpOgorCiAyMDE2LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFN5bWJvbEltcGwgbGF5b3V0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZmFmYzg3YzQ3ZmM3NTJkNmMyMGI5ODkwNTU3ZTdmM2E2NTZmMDJmZC4uNzFmNDUwYjY4MDk5
YjA5M2YxNWFmZmI4NTFmMTE0NGZlNWYxNjIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyNyBA
QAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91Ymxl
cyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
Tm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6
OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpz
dGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZUNvbXBsZXRlZE9wZXJhdGlv
blRpbWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3Ap
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24p
OgorICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZp
c3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVs
ZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVu
dERlbGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29r
aWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRF
dmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5x
dWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01p
Y3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
Y2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRp
b25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNsZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFsdGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6
CisgICAgICAgICogZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0
b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVu
dFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vl
a1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRl
KToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnJlc3VtZSk6CisgICAgICAgICogaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICAoTWVk
aWFDb250cm9sbGVyOjpjdXJyZW50VGltZSk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlRXZlbnQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRh
dGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBo
dG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVudDo6
bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MpOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9u
OjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6CisgICAgICAgICogaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRT
dGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0
VG9IaWRlTWVzc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpsb3NlQ29udGV4dEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCk6
CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6c2NoZWR1bGVGb3JS
ZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6cmVzdW1lKToK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6
OnVwZGF0ZVNpemVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZU
VFJlZ2lvbjo6c3RhcnRUaW1lcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hl
ZHVsZUZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpkaXNwYXRj
aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjp0aW1l
ckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTZWdtZW50KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0
YUxvYWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1
YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5nRXZlbnQpOgorICAgICAgICAqIGxv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRp
b25TY2hlZHVsZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSk6CisgICAgICAgICogbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNhbGxiYWNr
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpDYWxs
YmFjayk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpwcnVuZVNvb24pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAg
ICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAgICogcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFu
Z2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjp1c2VyR2VzdHVyZVRv
a2VuVG9Gb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0pOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVGltZXI6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgICogcGFnZS9ET01UaW1lci5o
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0SW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VD
b250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjpN
YXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlv
blRyYWNrZXI6On5NYXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3Vz
ZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0
YXRlVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpwYXJzZUV2ZW50
U3RyZWFtTGluZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBh
Z2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUu
Y3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZW5hYmxlU3BlY3Vs
YXRpdmVUaWxpbmdJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
dXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5k
YWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6
c3RhcnRPbmVTaG90KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmlj
YXRpb25UaW1lcik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFy
dFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlKToKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
bik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldp
bmRvdy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJ
bmRpY2F0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1p
dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgor
ICAgICAgICAqIHBsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpIeXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3Nl
ZFBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
OjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6
OlRocmVhZFRpbWVycyk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJl
ZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50
ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0
ZWRFdmVudExvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NU
aGFuRnVuY3Rpb246Om9wZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpU
aW1lckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjpuZXh0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tD
b25zaXN0ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6
aGVhcFBvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cjo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vj
b25kc1RvTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJ
bnRlcnZhbE1TKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bV9sYXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0
U25hcFJ1YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVy
OjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXApOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dh
bWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW06CisgICAgICAgICog
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQWRkZWQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRlcm5h
bFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpu
ZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dC
bHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRj
aEJ1ZmZlclB1cmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250
cm9sbGVyOjpzZXRJc0luV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVy
OjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24pOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2
YWxpZGF0ZVRpbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29o
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxF
eHBpcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExh
c3RVc2VUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcDoKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpz
ZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoVmlkZW9SZW5kZXJSZXF1ZXN0U2NoZWR1bGVyOjpyZXF1ZXN0UmVuZGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVhZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFk
ZEFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JH
dGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycyk6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkxlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAg
ICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbik6CisgICAgICAgICogcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyTGludXguY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJh
clBhaW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRD
b250ZW50QXJlYVNjcm9sbGVkU29vbik6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjphdXRv
c2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrOjpzZXRPcmllbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRNb2Nr
Ojphc3luY1VwZGF0ZVBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25D
bGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNC
eU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJG
aXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9k
dWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWspOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJh
c2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGlu
Z1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9y
ZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGlu
Z1JlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxs
KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hcnF1ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
cnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6
Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6
Om1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJl
cGFpbnQpOgorICAgICAgICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRT
b29uKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgor
ICAgICAgICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAg
ICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6ZXZlbnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxh
eWluZ0lucHV0Q3Vyc29yLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZH
TG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29u
dGFpbmVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8p
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50
ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJl
cXVlc3Q6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnBy
ZXBhcmVUb1NlbmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIw
MTYtMTItMDQgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQ
YXJzZXJdIEVsaW1pbmF0ZSBpbi1wbGFjZSBsb3dlcmNhc2luZyBpbiB0aGUgcGFyc2VyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA2NjJjYTI0MTk1YWM0YjQ2MzFjMTczMjNhZTQxZWFmZjJjM2FhOTRjLi4zNmRiNGNk
NWNlZDk2NTk3MzEzNDVmZWE5ZmE3OGM2OTMyN2JkMDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VU
cmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChX
ZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVu
ZGluZ1JlcXVlc3RzKToKKwogMjAxNi0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdW1dLMV0gSW1wbGVtZW50IG5ldyBIVE1MIGludGVyYWN0aXZl
IGZvcm0gdmFsaWRhdGlvbiB1c2VyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGVjMTU5
MmNmYjA2NWNjNzk4NTI2ODMzZmJjYmZhMWIwMDVjZmU5MzIuLjllOTg2NWUxZjU2OWJjY2NlMmM3
NDYyNDZkZTNmM2E2ZDY0MzI4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBv
ciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omxv
YWRSZXF1ZXN0KToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
OgorICAgICAgICAoV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBf
c2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxNi0xMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHRoZSBiZWhhdmlvciBvZiBzY3JvbGwt
aW50by12aWV3IHdoZW4gdGhlIHRhcmdldCBpcyBpbnNpZGUgcG9zaXRpb246Zml4ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2ZTFkN2FiZTJlLi5h
Yzk5Y2ZkYzZmYTQwYjJlNWJlNjRmOTdiODk3NDNmN2FhZjVmNTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAg
ICAgKiBQbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
UGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblN0cmVh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAg
ICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
c2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6a2VlcEFsaXZlKToK
KyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZh
bGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJWaWV3OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYlZpZXc6OmNsb3NlV2luZG93U29v
bik6CisgICAgICAgIChXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisKIDIwMTYt
MTEtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dURl0gSW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdU
Rjo6T3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1NGVmM2JlNTJmMGNjNGZmNjhiMGZmYjBiMWMzMDA0
MjU0MzJmNWU5Li45YTgzYTgzZDU3YWMzOTU0NjQ3ZTQ0OTRlYmZkNzZmZThjYjEwNWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTY3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkg
U2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVG
YWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+
OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNz
OjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9k
ZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRUZXJtaW5hdGlvblRp
bWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVy
Ojppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgorICAgICAgICAqIFNo
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06CisgICAgICAgIChBUEk6
OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKToKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJv
Y2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVy
Ojpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxs
eUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6
OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNv
b24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdp
blZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbklu
V2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVs
eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAxNi0xMi0wMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gRXhwb3NlIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudCB2aWEgdGhl
IE9iamVjdGl2ZS1DIGJ1bmRsZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdl
NmViNTBhYzRiMDY0NWNjOWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFj
OTU3NTNlMTk5MTE3MmE0NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdh
cmJhZ2VDb2xsZWN0aW9uKEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNv
bGxlY3Rpb25FdmVudHNUYXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9S
dW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhi
Y2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4uNjNkMGM3OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZj
NDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtODgsMTAgKzg4LDggQEAgcHVibGljOgogICAgICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGljaXQgVGltZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgflRpbWVyQmFzZSgpOwogCi0gICAgICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdElu
dGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50
ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQotICAgICAgICB2b2lkIHN0
YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFsc2UpOyB9CisgICAgICAgIHZvaWQgc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1
ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
c3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2
YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQo
U2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CiAKICAgICAgICAgUnVuTG9v
cCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIu
aCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCmluZGV4IDM3ODBlNzZjMDMxMzEwNGFl
YzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLjZjNGZkNmVjMWE4MDVjNDEzNDA2MGY0N2U3NjQ2NDhk
NDdhZDc4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGlj
OgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFp
ciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxl
UGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJs
ZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJ
bnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAg
dm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsg
fQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNo
b3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMyZTIzYmE3YmY5NTczYzMx
YjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5Yzg4NTIwZWZlNWJlYTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiArNTIsMTIgQEAgc3RhdGlj
IHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dCkKICAgICB0
aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBSdW5Mb29wVGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxp
ZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9
IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRp
bWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgbV90
aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLnZhbHVl
KCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZvaWQgUnVuTG9vcFRpbWVy
QmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVsZVBhaXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThhOTg2ZGU5MjNlODcyOTI0
NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5OGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nm
L1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQp
CiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAgICAKICAgICBDRlJ1bkxv
b3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIENGVGlt
ZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZpcmVJbnRlcnZhbCA6IDA7
Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLCBy
ZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKKyAgICBDRlRpbWVJ
bnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwudmFsdWUo
KSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVy
dmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkp
OwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3AuZ2V0KCksIG1fdGlt
ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3NGM2NzUwZGFlNTk2Li42
MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZWZsL1J1
bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1bkxvb3A6OlRpbWVyQmFz
ZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1lci0+bV9pc1JlcGVhdGlu
ZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwogfQogCi12
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0aXZlKCkpCiAgICAgICAg
IHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgQVNTRVJUKCFtX3Rp
bWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwsIHJl
aW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCksIHRoaXMpOworICAgIG1f
dGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZWludGVy
cHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKIH0KIAogdm9pZCBS
dW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2Vu
ZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BH
ZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQxNjdlYzdiNWZkYTI2NjM4
Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEyICsyNjMsMTIgQEAgUnVu
TG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQor
dm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRhc2sgPSBTY2hlZHVsZWRU
YXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAgICB9LCBTZWNvbmRzKGlu
dGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVwZWF0aW5nKTsKICAgICBt
X3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNrKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1NjI3OGJhNmI3ZmYwMjFj
MGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0Njg3ODEzNjMzYTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQg
UnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAgIGdfc291cmNlX3NldF9y
ZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0KIAotdm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9p
ZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUludGVydmFsLCBib29sIHJl
cGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRp
b248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWxEdXJhdGlvbiA9IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBh
dXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29uZHM6Om1heCgpOwogICAg
IGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAgICAgICBzYWZlRHVyYXRp
b24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRz
PihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5M
b29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcAppbmRleCA0YjQ1
YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAyMWY3ZGI0Y2EyYTI4YjE5
ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVu
TG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCkBAIC0x
NTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0
b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIG1faXNSZXBlYXRp
bmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJzLnNldChtX0lELCB0aGlz
KTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNzYWdlV2luZG93LCBtX0lE
LCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRUaW1lcihtX3J1bkxvb3Au
bV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbC5taWxsaXNlY29u
ZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBmYWYyMTIwMmExMzBiOTJl
NWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLjYwYTk3NzhmYTY2OTdhZjViMWMxNWE3NDI3YzgyY2M3
MTEyZDZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IGNl
Yzk3Y2M5MDJlNDUwNjg5N2ZlZmJkM2VhZTJmOTc5MDdhYWNjMTYuLjU4NmM1OTY4NjFkYWI3MGRk
YzJiNjg2MWMyYzcxNjgxNzU5YTM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01OSwxMyArNTksMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBHZW9Ob3RpZmll
cjo6cnVuRXJyb3JDYWxsYmFjayhQb3NpdGlvbkVycm9yKiBlcnJvcikKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7CiAgICAgaWYgKG1fb3B0aW9ucy0+aGFzVGltZW91
dCgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX29wdGlvbnMtPnRpbWVvdXQoKSAv
IDEwMDAuMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHMobV9vcHRpb25zLT50aW1lb3V0KCkpKTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6
c3RvcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKaW5kZXggODVhZTQwZjYzNDE3NTMyNzE2NzJmM2EzNzdmZTk5M2RmNGEz
MThjMC4uYzA5YzM3OWIwMjk2NDNkYTkwY2Q4YzU2NDc0M2E3MTU1MDZmMGZkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAg
LTE5OCw3ICsxOTgsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQogICAgIEFjdGl2ZURP
TU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDA1ZGEwMmZiMjkwNzJjNWM1MGRjNmJiZDUxZmEwYjdlYzk2
NTk0ZDUuLmNiODFiODk0OGJkMGJhMGEyNWE3MTYwNzMxZDVkZWI0YzRmYTNlYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
QEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZVBlbmRpbmdP
cGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNl
LT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQpA
QCAtNDQyLDcgKzQ0Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlQ29tcGxldGVk
T3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFz
ZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVkT3BlcmF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9wZXJhdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggOTkxMDE1N2MyZDhiOWE4YTli
NTk2ZTI0N2I1YmMwYzVjYTdjMGZkNS4uZmJkYTFhZDEwMmE4MDUxN2E1YjlmMmI0ZDcxNWRjOWI4
OGUwMDhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNDk0LDcgKzE0OTQsNyBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpOwogCiAgICAgaWYg
KCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9X
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3YTMzNjlmMTBlNTMwZTRkYzg3ZTcxN2Q1
Njc1ZjcwOTExM2I4MGU5Li5jOTdhNDQ0ZDllOWJhMDA4YmJkNGQ2MmI2ZmIxYWE0OTdmZGM0NzQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGFza0RlbGF5SW50ZXJ2YWwg
PSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGFza0RlbGF5SW50ZXJ2YWwgPSAw
LjFfczsKIAogc3RydWN0IENsaWVudFN0YXRlIHsKICAgICBleHBsaWNpdCBDbGllbnRTdGF0ZShX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQsIHVpbnQ2NF90IGNvbnRleHRJZCkK
QEAgLTQyMyw4ICs0MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZmluZChX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQsIHVpbnQ2NAogCiB2b2lkIFdlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogewotICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gNjAgKiA2
MDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kID0gOCAqIDYwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IFNlY29uZHMoNjAgKiA2MCk7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSBTZWNv
bmRzKDggKiA2MCk7CiAKICAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tU
YXJnZXQtPmhhc0FjdGl2ZVJvdXRlKCkpIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3Ao
KTsKQEAgLTQ0MiwxNCArNDQyLDE0IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29u
ZmlndXJlV2F0Y2hkb2dUaW1lcigpCiAgICAgfQogCiAgICAgaWYgKHN0b3BUaW1lcikgewotICAg
ICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMDsKKyAgICAgICAgbV9jdXJyZW50V2F0
Y2hkb2dJbnRlcnZhbCA9IDBfczsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAg
ICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lciAtIHRpbWVyIHN0b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUg
aW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgYXV0
byBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBp
ZiAoaW50ZXJ2YWwgIT0gbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1Rp
bWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNo
b3QoaW50ZXJ2YWwpOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIs
IGludGVydmFsKTsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwg
aW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCA9IGludGVydmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1
N2Q1OGVmOTE0Y2IyM2YxOTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRj
NmQ0NmExM2FkM2MxZjExYjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0x
MDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4g
bV9wbGF5YmFja1RhcmdldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlv
blRhc2tzIG1fdGFza0ZsYWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWwgeyAwIH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
OwogICAgIGJvb2wgbV9leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3RhcmdldENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2Vy
RW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBh
YWZjMjFlMDU1Mjg0Yi4uZDY0ZWM2M2UzNTE0ODE0ZmFjMzUxMzBmYzExMzkyNzI0YTYzNjBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92
YWwoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8g
NS4gUmV0dXJuIGNvbnRyb2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBz
dGVwcyBhc3luY2hyb25vdXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0Owog
ICAgIG1fcGVuZGluZ1JlbW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFNvdXJjZUJ1ZmZlcjo6YWJvcnRJZlVwZGF0aW5nKCkKQEAgLTUzMyw3ICs1MzMsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkudXBkYXRl
c3RhcnRFdmVudCk7CiAKICAgICAvLyA2LiBBc3luY2hyb25vdXNseSBydW4gdGhlIGJ1ZmZlciBh
cHBlbmQgYWxnb3JpdGhtLgotICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICByZXBv
cnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkNTJhNDhhNTNkYWUyODhjODQ3
MTlmZGMxZTFlZWJkNDdlZTZlNTcuLjFmOWY3MTAzZGUyZWM5ZWYxNTk2OTgyMjhmMjUwMzIyZTk5
ODQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1
bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hlZHVsZWRBY3Rpdml0eUV2ZW50cy5hcHBl
bmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogCiAgICAgaWYgKCFt
X2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FjdGl2aXR5RXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50VGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCA1ZGQyZjFlNDFjZjUxMjI5NmQ3NGQyMGMxYmQ3YzQ4YmIyYjIy
ZDc5Li5hMmJlZmM1NDQ2M2ViZjQzNTAxYmI2MTM4ZGRlZDc1MzBkYjQ0YTU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlzcGF0Y2hF
dmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdU
Rk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBS
VENEVE1GU2VuZGVyOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCAw
NTFjNzAxNDlhZTJkYTEyZTYwMGE0MDUwZjA5YzFlYzhiZmQ1NzU2Li4yZGJjYWYxZjIxYmZkNDk4
ODAwNzBhM2Q4M2RiOGFlYTgyZTJlYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMjM3LDcgKzIzNyw3IEBA
IHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYg
ZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKIAog
ICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc2No
ZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2NoZWR1bGVkRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkx
Mjg3NWFiZjgwYjJkZGRlODM3YTdlNy4uYmI4NzE5ZDgyZjUyMDg2YTBlNDNiN2QwZTg0OGIxODIy
OGRhZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIC8v
IEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNo
b3VsZCBub3QgYmUgY2hhbmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCiAgICAgLy8gQnV0IHRoZSBy
ZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0
IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7Ci0gICAg
bV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3
NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGViZmUwLi45MjVlYjk2YTMxYzM4OGU2NjU4N2M5
OWM1NDZkZTg5MzdlZjY0NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQs
NyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZv
aWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNE
ZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBy
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVmcyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0
b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgfQogICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
ICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IDg2MDkxNDIwOWM4YmIzNDI4MDQwYWExNGZjOWZj
ZDAzZDBkZDVjNTkuLjMzYjAyMjBlOTQ3Zjg0MzcwNjI3YjE2MjExZTZlYzI0OTA5ZWQxYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAt
NzYsNyArNzYsNyBAQCBib29sIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0
ZXJuJiBwYXR0ZXJuKQogCiAgICAgbV9wYXR0ZXJuID0gc2FuaXRpemVkOwogCi0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBt
X3N0YXRlID0gU3RhdGU6OldhaXRpbmc7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBWaWJyYXRpb246OnRpbWVyRmlyZWQoKQogICAgICAgICBtX3ZpYnJhdGlv
bkNsaWVudC0+dmlicmF0ZShtX3BhdHRlcm5bMF0pOwogICAgICAgICBicmVhazsKICAgICB9Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9wYXR0ZXJuWzBdIC8gMTAwMC4wKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fcGF0dGVyblswXSkp
OwogICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggYmVkOTM2MjY3ZDU2ODRmYzc4ODE3
MDkxZjExZjA3YzQ1ZWFiM2I3OS4uMDhlMTJhMTYwMWM4YTI0ZTZhYjZjMjI0NDYyN2QxMGFkYzRm
MjkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6cmVzdW1lKCkKICAgICAg
ICAgbV9jaGFubmVsLT5yZXN1bWUoKTsKICAgICBlbHNlIGlmICghbV9wZW5kaW5nRXZlbnRzLmlz
RW1wdHkoKSAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIEZpcmUg
dGhlIHBlbmRpbmcgZXZlbnRzIGluIGEgdGltZXIgYXMgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4
ZWN1dGUgYXJiaXRyYXJ5IEpTIGZyb20gcmVzdW1lKCkuCi0gICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCmluZGV4IDgwZGJiNGJhMGVlM2IyYzQ3MzNjODFkMmUxYjg1OTdkOGJiZTc4YzQuLjY4Y2My
YzA2YjU4YjNlYjIyNWQ4MDJkY2VmZjRjOTJmMjkxNzc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4
aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpX
ZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCYgY2xpZW50LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZk
b2N1bWVudCkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Nl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5l
bD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhh
bmRzaGFrZSBtYXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBk
ZXJlZmVyZW5jZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAg
ICAgaWYgKG1fY2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1l
KTsKKyAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50
TGlmZXRpbWUgKiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0
cmluZyYgcmVhc29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
cmVzdW1lKCkKIHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVy
LmlzRW1wdHkoKSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQx
ZTgyMDVhMTE2MTJmMGRhZjg0MTBiOGU2MzE4OThhMWUyNmMwNzQuLjBmNGUxMWM1ZmI0YjJiMTE5
MmQ2NmU3ZWIxYWZiMjMxZmU5OTEyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdl
IG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQg
aW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMg
b2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nl
c3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOwor
c3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRp
b25JbnRlcnZhbCA9IDAuMDI1X3M7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5TGl2ZVJl
Z2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDJfczsKIAogQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9y
ZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVu
dCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3VzbHkpIHsKICAgICAg
ICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihvYmplY3QsIG5v
dGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iamVjdCwg
bm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBkMzYxYzJjYzRiMjQ5ZmYwODM1ODJlMjUuLmU2
ZTY1NjkwZDNiMmQxYmU0ZDEzZDkwZGRjNDA1NzFmOTIzYzE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEdD
Q29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29uKCkKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewogICAgIGlmICghbV9HQ1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fR0NUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdjVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAyNTY3MWMxZGUwOWI1NTBiZDcx
OWM5Y2Y1Yjk1OGU1ZmIyMjU1NjRkLi5kZGI4ZjhiM2M0MTgyMDE4OTBmODBjYzBmNmNlZjNjYmQx
YmJkYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTQ5Nyw3ICs0OTcsNyBA
QCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5ld1N0YXR1cykKICAgICB9CiAK
ICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykKLSAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDAgOiAz
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3
YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBpZiAobmV3U3RhdHVzID09IFN0
YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKaW5kZXggZTg0OTg4ZWJlMDZiNmY1NmUyMmM3ZmUyNDZjNmRhNGJlYmZiNmEyYi4uNDQwNDFk
NjNhNzBiZDY5ZWEyMjM2NDBiZDUwYzVhMzMyZjE1NzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9udCYgZm9udCkKICAgICAvLyBhZnRlciB0
aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBiZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4g
QmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRU
aW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQoKS4KICAgICBtX2RvY3VtZW50LT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVlc3RDb3VudChmb250KTsKLSAgICBtX2Jl
Z2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2JlZ2luTG9hZGluZ1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2Fk
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKaW5kZXggYTc1MjgzYTJiMjdjM2RlZDhkOTQzMTJkZTA0YTQxNThlZWNjMmY5My4uNGQ0
MDYxNzI2MzljNDllZmQ3NzUyYWRmZWEzZjkzZGU1YTZmOWY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMzksNyArMzksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbWVUb0tlZXBDYWNoZWRH
ZW5lcmF0ZWRJbWFnZXMgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRpbWVUb0tlZXBDYWNoZWRHZW5lcmF0ZWRJbWFnZXMgPSAzX3M7CiAKIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNz
VHlwZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCAxMGY2NWMzY2ViYzViNmFmZGEwMGMwMGU3M2RjYjhlYjQyYWJlNjVkLi45
YjFhYTBiMzFiZDE0MWVlOTgyNzAyZDVhODZjZDQzMzA2Y2FiNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM3LDEwICsxMjM3LDggQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBjb25zdAogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25D
YWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVkUHJv
cGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0aW9u
Q2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzCi0gICAgICAgICYmICFtX21hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7Ci0g
ICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1h
dGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKLSAgICB9CisgICAgICAg
ICYmICFtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KDYwX3Mp
OwogCiAgICAgQVNTRVJUKGhhc2gpOwogICAgIE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIGNh
Y2hlSXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZlZTU3OTI1YTE2ODk3ZjBlYTUy
OWEzZDg4MjlkODBkZWRmNzE4NTcuLjA5OTBkZTI2ZWI5MDRiOTljNTg0YzE4MjBiMWE1OWUwMzI2
MzU4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1OCw3ICsxMjU4LDcgQEAgdm9p
ZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxs
b3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSk7CisgICAgICAgIG1fdmlz
dWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2V0dGluZ3Mo
KS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSkpOwog
CiAgICAgaWYgKCF2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTc0
NSw3ICsxNzQ1LDcgQEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYygpCiAgICAg
Ly8gRklYTUU6IFdoeSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMgaXMgY2xlYXJseSBtaXNw
bGFjZWQuCiAgICAgaW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAgIAotICAgIG1fc3R5bGVS
ZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVs
ZVN0eWxlUmVjYWxjdWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lk
IERvY3VtZW50Ojp3cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9j
dW1lbnQpCiAgICAgd3JpdGUoV1RGTW92ZSh0ZXh0V2l0aE5ld2xpbmUpLCBvd25lckRvY3VtZW50
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwo
KSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJUaHJvdHRsaW5n
RW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0
CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hl
ZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudEludGVydmFsID0g
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNyw4ICs1MDI3LDggQEAgdm9pZCBEb2N1bWVudDo6
ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGluc2VydGVkIGNv
bnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9ucy4KICAgICAv
LyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBhY2Nlc3Mgc2lu
Y2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAgICAvLyBhbGl2
ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNldHRpbmcgLmlu
bmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0IGludCB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMg
PSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMp
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxp
dmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAg
YWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJl
bG9hZHMoKTsKQEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7CiAgICAgaWYgKCFt
X3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50
OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25G
b3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6
V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNj
aGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRp
bmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNjcmlwdFJ1bm5lcigpLT5yZXN1
bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNvbik7CiAgICAgcmVzdW1lU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBAIC01Njg3LDcgKzU2ODcsNyBA
QCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUgKDApOwogCiAgICAgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxlbWVudCA6IGRv
Y3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCkKQEAg
LTU4NTQsNyArNTg1NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5kaWRCZWNv
bWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiog
cmVuZGVyZXIpCkBAIC02MDU3LDcgKzYwNTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRM
b2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsKIAogICAg
IGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2ZW50RGVs
YXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCgpCkBAIC02
NzAxLDcgKzY3MDEsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChF
bGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NvY2lhdGVkRm9ybUNv
bnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2NzIxLDcgQEAgdm9pZCBEb2N1bWVu
dDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNvb2tpZXMpCiAgICAgQVNTRVJU
KCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNoZWRET01Db29raWVzID0gY29v
a2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlkIGF0IG1vc3QgdW50aWwgd2Ug
Z28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNvb2tpZUNhY2hlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTBlMmI4MzkyMmNhOWExZWExMzUyMjg0ZDYzMDE3Zjc5
ODEzMDI0MC4uYWYyYWM3ODAyYWFiNjAwZDNjMGY2NTgzYjljNzM3MTVhY2UxZDcwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwg
SlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2
YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJB
bGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZp
bmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRN
YXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVUaXRsZUZyb21U
aXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJl
Y3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXgg
OWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4uYmQ5M2JhNjJjZTZlMjIx
ZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1bWVudEV2ZW50UXVldWU6
OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBtX3F1ZXVlZEV2ZW50cy5h
ZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3RpdmUo
KSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4NzJkODVhMWE0NTUxYWQwMTk5
MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYzNjkyYmZlZTFlNzBjOWFiMDJj
NmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNjYsNyArNjYsNyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbihU
JiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFwcGVuZCgmc2VuZGVyKTsKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5
MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3ODAyNTUyMTY5ODk2MDIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90
YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAg
ZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rhc2smIHRh
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5YzczZGQ5
ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1YmxpY1VSTE1h
bmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQogICAgIHJl
dHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
b2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFk
anVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFsdWVzKCkp
CkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RN
aW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9CiB9CiAK
LXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQgaW1wbGVt
ZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWluaW11bSB0
aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRlZApAQCAt
NDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGlnbm1lbnRJ
bnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29uZHMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAog
ewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBjOTI5OGQz
MmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIwZThhZjRk
OGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25kcy4KLSAg
ICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0
TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7Cisg
ICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKICAgICB2
b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNo
ZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lckFsaWdu
bWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CiAKICAg
ICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdkMDlhNDA0
OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5M2Q5ODEwZGJkM2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3Jp
cHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7CiAgICAg
aWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1
bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKQEAgLTEw
MCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1Nj
cmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBl
bmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1NjcmlwdCktPnB0cigpKTsKICAg
ICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Ny
aXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRhNjc0MDE5
NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYxZjEwMjgz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2NoZWR1bGVE
ZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1bWVudC0+
ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVUaW1lc3Rh
bXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVsZURlbGF5
KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVkdWxlRGVs
YXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1bWVudC0+
dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2N2Y5Njg0
MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzljN2RmNWRiZjJkMGI5YjJmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBAQCBzdGF0
aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hl
KCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0YXRpYyBjb25zdCBpbnQgbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOworCiBj
bGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5UaW1lci5z
dGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwogICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBt
aW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAxMDA7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lLnZh
bHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENvdW50Owog
ICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWluaW11bVBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCBk
NWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42OWU5ZTNmZGRhZmVhZmJi
YmY3MTYxMTU1ZWJmMWJkMDdjZWEyNTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcigpCiAK
IHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRp
bWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ycmVj
dGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBhdXRvIGNvcnJlY3Rpb25Q
YW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAoIWlzQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVmYzE3YTM3Li4z
YmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZhMjJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246
OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0gICAgICAgIG1f
dGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2UodHJ1ZSk7CkBA
IC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogICAgIG1fZWRpdG9y
VUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRHcmFtbWFyID0gb3B0aW9ucyAmIEZy
YW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAmJiAhKG9wdGlvbnMgJiBGcmFtZVNl
bGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsKICAgICBtX2VkaXRvclVJVXBkYXRl
VGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6
RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCA2NzU5ZmYx
NzdmZTc2NzFjYmIxNjkzNWViMzYxMGQyYTU2OTdiNzg2Li44NzRiZDY4NmE2OWQ0ZGQyNWI1ZmE3
NmFmM2EyY2I1ZGQyM2NlZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcApAQCAtMjA1MCw3ICsyMDUwLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBC
ZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBp
biB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3VsZEJsaW5rICYmICFtX2NhcmV0Qmxp
bmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9
IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAg
aWYgKGF1dG8gYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJs
aW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0
aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRm
Y2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2NlMGM5YzdiYWM1MTliZmI1ODQ1Y2IzYmU3
M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2
LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNv
bnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdS
ZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAg
ICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3VjY2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0
IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFhN2I5MjUxMzQxMGU0MDZmNDM0NWRjODNj
ZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBhZGNiYTkzYTZiZDVkMGZhMjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2
b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxl
dGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMg
QVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3VzbHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5k
IGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzZGRh
N2E3YWMzZmY4NmFjNDk2MDVjNWQ3M2ZlYmRmYmRkYmNjMGJiLi5mMTJiYTUxMGJhMTQyNjIyYTgy
MTFkY2RhNzMyZWRjNDY4YzJlYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVsYXkgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNj
YW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrVGltZSA9IDAu
MjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41Owogc3RhdGljIGNv
bnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIEhp
ZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNl9zOwogCiBzdGF0aWMgdm9pZCBz
ZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtOTM3LDcgKzkz
Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKERlbGF5
ZWRBY3Rpb25UeXBlIGFjdGlvblR5cGUpCiAgICAgaWYgKGFjdGlvblR5cGUgJiBVcGRhdGVQbGF5
U3RhdGUpCiAgICAgICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBVcGRhdGVQbGF5
U3RhdGUpOwogCi0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAgLTk0NSw3ICs5NDUsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKICAgICAv
LyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3VyY2U+IGVsZW1lbnQgV0lU
SE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgogICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCVwKSAtIHNldHRpbmcg
JXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3VyY2UpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBMb2FkTWVkaWFSZXNvdXJj
ZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVu
ZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoY29uc3QgTWVkaWFQ
bGF5ZXIqKQpAQCAtMTk4NCw3ICsxOTg0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFy
dFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBp
dCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAg
LTMzNzEsNyArMzM3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhT
Y2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2Fu
UmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09
IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRp
bWVyLnN0YXJ0KDBfcywgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2Nh
blJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRTY2FubmluZygp
CkBAIC0zNDEwLDcgKzM0MTAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZp
cmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZl
bnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3
ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhU
aW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c3RhcnRQbGF5YmFja1Byb2dyZXNzVGltZXIoKQogewpAQCAtMzQ1Nyw3ICszNDU3LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChib29sIHBlcmlv
ZGljRXZlbnQpCiAgICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0
VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCi0gICAg
aWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5KQorICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeS52YWx1ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTb21lIG1l
ZGlhIGVuZ2luZXMgbWFrZSBtdWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFja3MgYXQgdGhl
IHNhbWUgdGltZSwgYnV0IHdlIG9ubHkgd2FudCBvbmUKQEAgLTQzODgsNyArNDM4OCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbihkb3VibGUg
cG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0NTcyMTk+IGZv
ciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9z
aXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0b3AoKTsK
LSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjUp
OworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAu
NV9zKTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNT
Y3J1YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYu
LjE1MTBjNTg5ZmRlZDJiMWUzOTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBI
VE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAg
ICBtX2Rpc3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxh
eWluZ1NuYXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50KSAmJiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBS
ZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRk
VXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjky
ZTM3MjgwZjNmOTk5NjdmY2IwYTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQzMzdkZGQzMGY5
YjIzNjczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwCkBAIC03MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQ
YWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3Rh
cnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBz
aG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0
YXRpYyBjb25zdCBhdXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyRGVsYXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXN0
YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFwc2hv
dFRpbWVyRGVsYXkgPSAxLjVfczsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHRpdGxl
VGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFjMGMzNjVhZjgx
NWU3ZjYzOWYuLmVkYWUwYzRjYjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUsNyArMTI1LDcg
QEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkKICAgICBpZiAo
bV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9l
cnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5k
aW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVu
dDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNvdXJjZUVsZW1l
bnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJl
c3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3Nob3Vs
ZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4ZDdiNDhhOWJh
MjQxYjRjNDcxZDU3OWY1NWU4YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRiMmE1NjJmNmM2
NDVlYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTE3
OCw3ICsxNzgsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBz
IGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8g
cnVuIHRvIGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50
Ojpsb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAK
aW5kZXggOTU0MDUyNTA5ZWI3ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uNmZiZjQ2YTNm
NzU2NTQ4ZTFiMDMzYzBkOWYxMDY4YTUxNjQwZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlh
Q29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9j
ayhDbG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4
dCkKICAgICAsIG1fdGltZXVwZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hl
ZHVsZVRpbWV1cGRhdGVFdmVudCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQog
ewogfQogCkBAIC0xNDgsNyArMTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVu
dFRpbWUoKSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlk
VGltZSgpKSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lk
ZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6
bWF4PGRvdWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUo
KSkpOwotICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAg
IHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9s
bGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAg
IG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0
cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQoKQpAQCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVy
OjpyZXR1cm5Ub1JlYWx0aW1lKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGlj
IHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAi
MTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29u
c3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBhdXRvIG5vdyA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIGF1dG8gdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91
c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVu
dEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNkMi4uYTkx
OTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwot
ICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRpbWVJbk5l
eHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBmZmUuLmNkNjZkMjg0
MDU4MmZiNDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6bWVk
aWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBsZXQgdGhlIHBsdWdp
biBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhpcyAKICAgICAvLyBm
dW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBlbmdpbmUgY2FsbGJh
Y2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRoZSBlbGVtZW50LCBt
ZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVs
ZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNkYTMuLjNk
MjU4YjYyNjM1YTAzYjE5NThjNGM4Zjc4YTJmNGExY2U5MzI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50
Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNv
bnRlbnRDaGVja0ludGVydmFsID0gMjUwX21zOwogCiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRSZWN0
TW9zdGx5SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogc3RhdGljIGJvb2wg
aXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50
JiwgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlk
Q2hhbmdlKGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Np
b246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCVwKSAtIGhhc1Rhcmdl
dHMgJXMiLCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDogIkZBTFNFIik7CiAKICAgICBtX2hh
c1BsYXliYWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAgbV90YXJnZXRBdmFpbGFiaWxpdHlD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4
ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUs
NyBAQCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAg
IC8vIEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAg
IC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4y
IGZyb20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwog
fQogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBj
YmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFiMmE2ZDVkN2FmMzA5MjA4Y2I0Yjdi
ODI3N2EyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNz
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApA
QCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBl
bHNlCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZh
bGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1l
ci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBA
IC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFu
ZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkg
KiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
c3RkOjptYXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9u
IC8gMTAwMC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBWYWxpZGF0
aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogCiAgICAgLy8gV2UgbXVzdCBub3Qg
bW9kaWZ5IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQgYnkgdGhlIHNhbWUgcmVhc29uIGFz
IHNldE1lc3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRo
aXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgbV90aW1lci0+
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBi
b29sIFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9k
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgwNzU2MDU1ZTU5Njk3ZDg5MTZhZDM0
OTRhNjI0YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZlODJiMmQzMTA5MjJhOGM5ZWE5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citj
b25zdCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMV9zOwogY29uc3QgaW50
IG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2
NjYsNyArNDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRl
eHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMg
ZGVmZXIgdGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVu
dAogICAgIC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rp
c3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3Bh
dGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQpAQCAtNDY4Myw3
ICs0NjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9yZVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApAQCAtNTYxNCw3ICs1NjE0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZl
bnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIG1fcmVzdG9yZUFs
bG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIGlmIChtX2NvbnRleHRMb3N0
TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxsb3dlZCkKLSAgICAgICAgbV9y
ZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXli
ZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVmUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUobV9hdHRyaWJ1dGVz
LCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRl
eHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBtX3Jlc3RvcmVUaW1l
ci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgICAgICAg
ICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRz
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkgc2hvdWxkbid0IGhh
cHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUgV2ViR0wgYXBwLgog
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDI4MzM3
ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJlYTAyN2E5
MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBIVE1M
UGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAgIC8vIEZJ
WE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3Rl
YWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBh
Z2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2Vy
LmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVlTmV4dENo
dW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBi
b29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5nU2NyaXB0
KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVs
ZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9jb250aW51
ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAg
cmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBt
X2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVO
ZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWEx
ZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUuLjVlMjllNjdkY2ZiZmIyMGJjMjNi
ZjUwNDkxZjViNzg5ZWRiZTA0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlz
IHJlcXVpcmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVs
LAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0
aGUgYm90dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQg
dHJhbnNpdGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRv
Y3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6
IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5w
YWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAg
IG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTE4OCwx
MCArMTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkK
ICAgICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24gPSBkb2N1bWVu
dCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlP
cGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3Bh
cXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxF
bGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsK
KyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2Uo
KS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQ
cm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlU
cmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwor
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24s
IGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyArMTMz
Niw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0
aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFj
a3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRp
YUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9h
ZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRmNWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0MGYz
My4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcxZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcgKzU4
LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJs
KQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGls
ZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUg
Zm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1v
ZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdl
MjIzZGQ0MzZjMDdkNTFiNi4uNjY2Njk0NzVhMGJlY2UyNzcwODIxZDEzNmJhODAxOTdlNzc3Mzc3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9
IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocyku
Ci1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc2Nyb2xsVGltZSA9IDQzM19tczsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxU
aW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggM2Q1NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uNmI1NmMxOGYyYWRl
ZjI3NzFlY2RlMDlmN2Y0NzA3ZTdkMTBjOTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFu
Z2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZs
b3csIGludCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnRO
b2RlSWQpOwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxv
dyogbmFtZWRGbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHAKaW5kZXggODNhMDI0YmNkZGQyMTMwOTc4NzU5ODcyMjQxMjcxZTBhOGZiM2YwZi4u
OTEyNzI2MmFlODhhY2NiYjRlNGVlMWY4NjE3ZDlkMzJmNDFlOGNkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogewogICAgIG1fZWxlbWVudHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZXZhbGlkYXRlU3R5bGVB
dHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA4YTM1YTE3
OWViOGJmNTliNGJjMDk4ZGM2ZWRjOTBjZGUwZGEwNTkzLi41MThhYWRmN2QxMjI2OGE0N2Y4ZjJi
NTMwOWZjM2Y1NDFhZTg1MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC04MCw3ICs4MCw3IEBA
IHB1YmxpYzoKIAogICAgICAgICBtX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKTsKICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAg
ICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogICAgICAgICAgICAg
bV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKG1f
bWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9tZXNzYWdlcy5pc0VtcHR5
KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAKaW5kZXggNWZjYTMxMGQwMGFjMjFkYzdiNjFiZTBhOWZlMDU1YzhiN2Y3YWFkOC4u
MTg2ZTcwMGJkYTJlYjI4NjBlMTUzNDJjNDU2NDEyNTBkNTVkMGU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTA5LDggKzUwOSw4IEBA
IHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCiAgICAgbV9wYWludFJlY3RzLmFwcGVuZChUaW1lUmVjdFBhaXIocmVtb3ZlVGltZSwgcm9v
dFJlY3QpKTsKIAogICAgIGlmICghbV9wYWludFJlY3RVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzID0g
MC4wMzI7Ci0gICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFp
bnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyk7CisgICAgICAgIGNvbnN0IGF1dG8gcGFpbnRS
ZWN0c1VwZGF0ZUludGVydmFsID0gMzJfbXM7CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGlt
ZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAg
ICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2RjNzhkMTI0YWRjZTE4
YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgwMjEzNTg2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3Bw
CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBs
YXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMKIAogICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQog
ICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQt
PnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAgICAgICAgLnNldFF1
ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyZDNjZDk1MGUzMTg0Mzkz
N2I4YjcwNWQzMTc1NGIzOGFhMzNiODU5Li45MGNlZTYyNjZhYWFjOTE2YzZiMjllYzQ2YTlmMTQ2
ZDE2ZDY2NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0
YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQog
ewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kYXRhTG9hZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJTUVSKQogICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJhbWUtPnBhZ2UoKS0+
c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkoKQogICAgIGlm
IChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJkNTU0
Mzc3YjE2NDUyNGE0NmYwMDExYjYyOTNkNmMxODg5NTFlYzYuLmIzZjY0M2FhZjFlZjNkMjc0ZTQ3
YTNjMGI2NjBiMWRhNjM0YjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
OjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLjc3OWJm
NzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0g
JmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50
VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJiYjU3NWI0ZTUuLjJi
ZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwogCiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb0ZvcndhcmQo
KSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91cmwsIGRlbGF5
KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9y
d2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91
cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCkudmFs
dWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0b3BU
aW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBAIC0y
NzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsK
IAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0
dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVk
KG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVl
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGlt
ZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtNTM5
LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjllNmVhYjY1ZjU2ZTI0
ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNlNjI5ODU0ODJmZDg1
NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7
IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNz
SXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8vIENoZWNrIGlmIHRo
ZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55IGhlYXJ0YmVhdHMg
bXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRoZSBsb2FkIGlzIGN1
cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRTdGFsbGVkSGVhcnRi
ZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApp
bmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4Li5iMjY2YzMzMTNi
MmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIG1f
Y3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpAQCAt
MTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdpb25zUGFyc2VkKCkK
QEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFy
c2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYx
N2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMwOTAxYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGlt
ZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUg
dGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGY2ODBjYzRmOTVk
MmVmNjQ3NDQ4ZDU1OWM5ZWM4OWY0OTNhMDlhOTkuLjY2YTlmOGYxZmM0YmFkZTNkYmYwZDUxZmFk
NzdjY2JjMjZhNjNhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUp
CiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JS
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0
KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTQyLDcgKzU0Miw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBp
ZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hl
OjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkK
KyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTksNyArODE5LDcgQEAgaW5saW5lIENhY2hlZFJlc291
cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBDYWNoZWRS
ZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIoKnRoaXMsICZDYWxs
YmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJm
M2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNjNjEyYWE5ODZjZTQz
ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJm
b3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMg
YSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzku
LjkxMDA3NDcxMWQyNzE5OTg4YzMzZDI3MTMzMDIzNjgwZDA5MGUwODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9
IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVj
b2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1
bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hp
Y2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMg
Y29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJv
bm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNpbmds
ZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZSgp
CiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAgIGlmIChtX3BydW5lVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAgICAgIHJldHVybjsKLSAg
ICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4ZjI4MmJlNThkMTcwZC4u
NzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisgICAg
dm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRvIHB1
dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAgdm9p
ZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5OSw3ICsxOTksNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5EZWFk
Q2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CisgICAg
U2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25l
ZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBi
eSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRTaXpl
OyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIgcmVz
b3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAzMGY1ZjY5NGUzMGJiMmQu
LjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0
aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMgZXhwaXJl
IG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9uVGltZSA9
IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1OyAK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1X3M7CiAKIHN0YXRpYyBi
b29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3ZDMxNWVkZmJmOWM1MGUw
YTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFkZmI5NzcyMzQ0NGRlYmQw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKQEAg
LTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGRvdWJsZSBh
dXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBh
blNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1h
a2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAu
MDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1X3M7CiAK
ICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQuLjAw
MDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJl
bmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXgg
OThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNWQ2Y2Q0OTM4NDVjZGJl
ODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0
aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJp
bmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhv
ZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBv
cgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0g
ICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
U3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKaW5kZXggYTk2OWQ5NDhlN2UzOWMwMjY5YzVhMzBmZjljZDAxN2M5MmRk
OTU4Yy4uMzI0NzYxNzMwNTI4YjQ0MzAxMDc1ZGRmOTk5NjBhMWYzYmE0NDhkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGlu
ZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0IGF1
dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBtczsg
Ly8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IDFf
czsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
SW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDFfczsgLy8gRW1waXJp
Y2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMgY29uc3Qg
aW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJlU3RhdGUg
ewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1lcnNNYXA6
OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBib29sIHNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
LCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2Vy
R2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJldHVy
biBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICAgICAg
JiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcKICAgICAg
ICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJkZWQg
dG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVU
b2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVydmFsLCBp
bnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGlu
dGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE3NSwx
MiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVzZXJHZXN0
dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6OkRPTVRp
bWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwg
Ym9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihj
b250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZlbCgp
KQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5hbEludGVy
dmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkKICAgICAs
IG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkpCiAgICAg
LCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChp
bnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERPTVRpbWVy
Ojp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91dCwg
Ym9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBhc3NlcyBv
d25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNvbnN0cnVj
dG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21hdGljYWxs
eSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAgLTIxMCw3
ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVmZXJUaW1l
b3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAgICAgIGlm
ICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2luZ2xlU2hv
dCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IDEwMF9tcyAm
JiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShX
S0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9i
c2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlm
IG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3
LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3Bl
bmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRp
bWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7Cisg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGlt
ZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVl
KCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBp
bnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRU
aW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIx
IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VS
VChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhE
T01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20g
JSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhp
cywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFs
KTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBl
YXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwg
dGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1
cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVy
dmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxp
bmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVy
dmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90
dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50
VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2
YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9N
aW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAg
QVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1
dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0
byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAv
LyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9u
ZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBA
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1zdGQ6Om9wdGlvbmFsPHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBmaXJlVGltZSkgY29uc3QKK3N0ZDo6b3B0aW9uYWw8TW9ub3Rv
bmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lIGZpcmVUaW1l
KSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwgPj0gbWF4VGlt
ZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAwbXMpCisgICAg
U2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7CisgICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBfcykKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byBpbml0aWFs
aXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91
YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3Jj
ZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJl
dHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBlLmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRv
IHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVu
dEludGVydmFscywgZS5nLgogICAgIC8vIGlmIGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCBy
YW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAu
Li4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6
ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJh
bmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRG
aXJlVGltZSAlIGFsaWdubWVudEludGVydmFsKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9t
aXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRl
cnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uOworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRG
aXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0
ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChhZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVw
b2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50
ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OwogfQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggMzlhMDQ2
MWRhZWVlZTI1ZWFiYTMzOTk2ZTdhMGRjOGRkOTFhNjc4NS4uODI4YjY0YjAwOWJiMjIxOTE1ZWM3
YWRiYTZhYTc0OGUxYWY2NjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0
LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+
LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGlt
ZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5p
bXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAg
ICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50
ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWlu
aW11bUludGVydmFsKCkgeyByZXR1cm4gNF9tczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1
bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDBfczsgfQorICAgIHN0YXRpYyBTZWNvbmRz
IGhpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDFfczsgfQogCiAgICAgLy8g
Q3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgc3RhcnRzIGl0CiAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBp
bnQgaW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5n
bGVTaG90KTsKKyAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2
YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApA
QCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRl
cmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01U
aW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CisgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwog
ICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0
bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdT
dGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZFN0b3AoKSBvdmVycmlkZTsKLSAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25p
Y1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fdGltZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90dGxlU3RhdGUgbV90
aHJvdHRsZVN0YXRlOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9jdXJyZW50VGlt
ZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IG1f
dXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJv
dHRsZVN0YXRlIHsgVW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYTljMDNjNDcxOGY5ZTJiY2I0MGM4YzE2
ODI2YjllYzc1OWZmOTcxYi4uMjNjYTIzNzVmYzk1ZTc5YjA3ZjlhMjZiNzc3NmI4ZTRhNGRjODE5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTY0LDcgKzk2NCw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cmIGNhbGxlCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBh
dXRvKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBtZXNzYWdlLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBzb3VyY2VPcmlnaW4sIGNhbGxlcldpbmRvdywgY2hhbm5lbHMucmVsZWFz
ZVJldHVyblZhbHVlKCksIFdURk1vdmUodGFyZ2V0KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0g
ICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMTY1NCw3ICsxNjU0LDcgQEAgRXhjZXB0aW9uT3I8
aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwor
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBET01X
aW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4Niw3ICsxNjg2LDcgQEAg
RXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxT
Y2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgq
Y29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVv
dXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0MzA5NTYzNDk2MjJh
ZTJlMTlmZDViNzYwMzg1Yzk1OTA0Y2MuLmVmZWYzNmJhMGY3OTIxOTk5NjI3ODU1NGEyYTk1OGI1
OGM2MWU1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcApAQCAt
NDgsNyArNDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVu
ZXIoRE9NV2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkpIHsKICAgICAgICAg
bV9sYXN0RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlmICghbV90aW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhNzU0MjdjYTQ2YzcxZjll
NjEzNDM3YWYwOTdhM2VkYWIxYjdlZDFiLi5lOTMzYmI0ZTRiNTY1MGY1MTBiZmMwMDg1NjkyYzU3
NTk3ZTM5NTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUg
KzE1NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRp
bWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAog
Ly8gZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29u
dGVudCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVy
YXRpb25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVz
ZWQuCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsK
LWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRv
dWJsZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFr
ZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMV9zOworY29uc3QgU2Vjb25kcyBmYWtl
TW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlTG9uZ0ludGVydmFsID0gMC4yNV9zOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NV
UFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRl
IG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8g
YmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBj
dXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUlu
dGVydmFsID0gMC4wMl9zOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNpemUgPSAxMjg7CiAj
ZW5kaWYKQEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNzIE1heGltdW1EdXJh
dGlvblRyYWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNr
ZXIoZG91YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyKFNlY29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVyYXRpb24obWF4RHVy
YXRpb24pCi0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
KyAgICAgICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgIHsKICAgICB9CiAK
ICAgICB+TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAgICAqbV9tYXhEdXJh
dGlvbiA9IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3RkOjptYXgobV9tYXhE
dXJhdGlvbiwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBtX3N0YXJ0OworICAg
IFNlY29uZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0OwogfTsK
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykK
QEAgLTQ2Myw3ICs0NjMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogICAgIG1fb3Jp
Z2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1fb3JpZ2luYXRpbmdU
b3VjaFBvaW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0
aW9uID0gMDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDBfczsKICAgICBtX2Jhc2VF
dmVudFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBm
YWxzZTsKIH0KQEAgLTE4MjEsNyArMTgyMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1v
dmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBw
cm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3Io
bV9mcmFtZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25U
cmFja2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlciBtYXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAg
aWYgKG1fZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91
c2VFdmVudChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjkwMiw3ICsyOTAyLDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQg
RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9o
b3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVO
QUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDli
Y2FjNzJjN2UyMTYzMjEwOTE1ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUz
YjM2ODliNmEyZDUyYTY5NDg4ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtNTcwLDcgKzU3MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAg
fTsKKyAgICBTZWNvbmRzIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZl
bnQ6OlR5cGUgbV9iYXNlRXZlbnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAg
Ym9vbCBtX2RpZFN0YXJ0RHJhZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVl
bEV2ZW50IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggZDU1
NTVlZDJjMGZiNTdiOTYzYjdiNjAwMjE5ODcxNzEyNmY2NWZkNy4uYjdhMDRmNDg1Zjg5YzhjODlk
Y2RmY2ZhZWQxZDE5M2E5ZmRjOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRf
dCBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29u
ZHMgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDNfczsKIAogaW5saW5lIEV2
ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBVUkwmIHVybCwgY29uc3QgSW5pdCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQpAQCAtMTMyLDEzICsxMzIsMTMgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVD
VElORyk7CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBtX2Nvbm5lY3RU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKICAgICBt
X3N0YXRlID0gQ09OTkVDVElORzsKLSAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9y
ZWNvbm5lY3REZWxheSAvIDEwMDAuMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90
KG1fcmVjb25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZAogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAyYmUzZjlmMWI3NWQzOWQ1M2IyZmUzOTEyOTNmNThj
YzBmMTgyNzgyLi5hNGU3ZGQ5YWM0NzQzMzFjOGI3ZTNmZWE3NjNmMDE3ZTI3YzYzMGE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uNzJjMzM5
MTdmN2ZiYjJiM2NmOGM4MWEwZGEwOGRiMGU0NzUwNDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzNfcyk7CiB9CiAKIHZv
aWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggMzkxNDEyZTVmNDgwYWQ2ZDNjYjVkYzQ3NjE4MGY1ZGNhNWYzNWJlNy4uYzE5
NjkzN2IzYjg1MDRlNWYzOWE0NmRjYTlmMzJkMmZiNzg1OTlmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWduZWQgc2Nyb2xs
RnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsRnJlcXVl
bmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xP
QkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODA2MWI3NTE0ZDk2NmQ2YzcyNTJmZDAy
ZWMzY2RkMTA4NjEyMTJmOS4uOTIxODhjYjhkMjZhZTYxNmVjODhlNTIxNTc2YzY0ZDg2ZjY2NjIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYwLDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIC8vIGRl
ZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlciB3ZSByZXR1
cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1cyBuZWVkIHRv
IHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBjeWNsZSB1bmxl
c3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIgaGVyZS4KLSAg
ICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
ICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAg
ICB9CkBAIC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAg
ICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2
ZW50KCk7CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJv
dHRsaW5nRGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZl
YWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29u
dGVudFJlY3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw4ICsyODQxLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3Nw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIC8vIERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dl
ciBmdXJ0aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKLSAgICBtX3NwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkp
OworICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3QoMC41X3Mp
OwogfQogCiB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVk
KCkKQEAgLTM0MzEsNyArMzQzMCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91
dFRhc2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIu
CiAgICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0
ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
MGE3Mzk3OTg2MjQ2Yzc4MWE4Y2E5YjcxMjM1ZjAyNGZmOTQ3YzFkMC4uMTdlOWEzMDdlYTJlNWU1
YTcwMTBkM2UyNDVmMTkxMGJhODhjNWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcg
KzEyNDMsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0
bGluZ1N0YXRlIHN0YXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGlu
Z1N0YXRlID0gc3RhdGU7Ci0gICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVw
ZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAg
dm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBz
dGF0ZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsK
ICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAg
LTEyODQsOCArMTI4NCw4IEBAIHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpCiAgICAgICAgIGlmIChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFs
aWdubWVudEludGVydmFsID0gbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZS50aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPihzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJv
dHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVu
dEludGVydmFsID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRl
TGFzdENoYW5nZWRUaW1lOwogICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0
LCBzZXQgdGhlIHRpbWVyLiBJZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBp
ZiAobV90aW1lckFsaWdubWVudEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5j
cmVhc2VMaW1pdCkKICAgICAgICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAyMjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2ZWQ2ZGVlMTI0YjRi
Li4zNWZhNTExMWEwYjI2MWJjNGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjI1LDcgKzIyNSw3IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dy
ZXNzKCkgY29uc3QgeyByZXR1cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRy
b2xsZXImIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9s
bGVyOyB9CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAg
ICBTZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElB
KQogICAgIGVudW0gVmlld01vZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNob3dBbGxQbHVnaW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0g
c2hvd0FsbDsgfQogICAgIGJvb2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRv
bWF0aW9uOyB9CiAgICAgdm9pZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJv
bGxlZCkgeyBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02Njcs
MTAgKzY2NywxMCBAQCBwcml2YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01F
RElBKQogCiAgICAgVGltZXJUaHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7
IFRpbWVyVGhyb3R0bGluZ1N0YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSB7IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBN
b25vdG9uaWNUaW1lIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAg
U2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdu
bWVudEludGVydmFsSW5jcmVhc2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25k
cyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lz
RWRpdGFibGU7CiAgICAgYm9vbCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcAppbmRleCBlNzBiY2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5l
OTAyYjAyNThkMWUxODlhNjAwMzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRp
YyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZmFkZUFuaW1hdGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0
YXRpYyBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQog
ewpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0
aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9m
YWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRp
b25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAg
bV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFs
KTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEyZDVhMWZiY2RhYzdm
YTFiN2RlYzVkLi5lYjhmODE5NDU0MWFjZTg2NTlmZDUwMjNkYmFjNDJmNjRkZmM3MDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY5LDE1ICsxNjksMTUgQEAgc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlVG9M
b2FkVmlkZW8gPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgZG91YmxlIGRl
ZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7
CisKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKIHN0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYK
Kwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5h
YmxlZCA9IGZhbHNlOwogCkBAIC0yMTEsNyArMjExLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBh
Z2UqIHBhZ2UpCiAgICAgLCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2Vu
ZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0g
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisg
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykK
ICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjpp
bWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoZmFsc2UpCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5n
czo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGlt
cG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRo
ZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8g
cmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBt
b3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1h
Z2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBw
cmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElG
cmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGRO
b3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRN
aW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKQEAgLTQ1
Nyw3ICs0NTcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKQogCiAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50
cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwob2xkVGlt
ZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11
bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhvbGRUaW1lckludGVydmFsKSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdlZmUwZWVkOTFhMDQwMDlhZTE1N2Q1NDM2Nzg5
YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNkMmE0NzA0NjNkNTNmZmYwYmYwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAg
IGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1f
bmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFs
aXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMg
bWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91dEludGVydmFs
KFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJ
bkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KLSAgICBkb3VibGUgdGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVy
biBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CisgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNv
bmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpAQCAtMzI2LDcgKzMyNiw3
IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxp
ZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJs
b2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIFNlY29uZHMgbV9sYXlv
dXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwogCiAg
ICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0
ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
IDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1l
cjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFhYWE2YWU0
YmM1ZGZkZDQ2YjI0YzU3NjQzNS4uMjg3NjI4NmM4YzA3MThmODM2MmRhYmMxNWYyYmYzZDQxMWQw
ZjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMywx
MCArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3Bl
bmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
YXZlZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCgwKQot
ICAgICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcsNyBAQCB2
b2lkIFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVkID0gZmFs
c2U7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhTZWNv
bmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3ICsxMDgs
MjcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hv
dChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChT
ZWNvbmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zYXZl
ZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBpbnRl
cnZhbDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gMF9zOwogICAgIH0KIH0KIAotZG91YmxlIFN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKK1NlY29uZHMgU3VzcGVuZGFibGVUaW1lcjo6cmVw
ZWF0SW50ZXJ2YWwoKSBjb25zdAogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIHJl
dHVybiBUaW1lckJhc2U6OnJlcGVhdEludGVydmFsKCk7CiAgICAgaWYgKG1fc2F2ZWRJc0FjdGl2
ZSkKICAgICAgICAgcmV0dXJuIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMF9zOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50Rmly
ZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAg
ICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3
LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUg
ZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zYXZlZElzQWN0aXZlID0gdHJ1ZTsKICAg
ICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBkZWx0YTsKLSAgICAgICAgbV9zYXZlZFJl
cGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMF9zOwog
ICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1l
ckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcwOTM3ODUwYTNhNjkwMWY3MjBjNWRlMWY2MDk5
MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4NTU1MTc4MWEwMzY1ZDE5MzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00MywxNyArNDMsMTIgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZl
KCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3Vz
cGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKTsKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwotICAg
IHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpOwotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGlu
dGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3Q7CiAKLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwp
IHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZv
aWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3Rh
cnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhy
ZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29u
ZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRz
KGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAKICAgICB1
c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsOwogICAgIHVzaW5nIFRp
bWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEsMTEgKzY2LDExIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1l
KCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVuZGVkOworICAgIFNlY29uZHMgbV9zYXZlZE5l
eHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7CiAKLSAg
ICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7Ci0gICAgZG91YmxlIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZTsKKyAgICBib29sIG1fc3VzcGVu
ZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZl
bnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNl
Mzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2JmZTViODNlMmY1ZjljMDJiY2E0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3Rh
cnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1f
dGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIu
c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRl
c3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXgg
OWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgxZGFkMmY3NWNlZC4uYTg1YmFhYTg5NjNjNmVi
MGM0ZmMzMWQ3YTQzOTUzZThmZmYyZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTQ4LDggKzQ4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNBbmltYXRpb25U
aW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNCZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRpYyBjb25zdCBhdXRvIGFuaW1hdGlvblRpbWVy
RGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsKK3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRh
dGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3ICs3MSw3IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSYgZnJhbWUpCiAgICAgOiBt
X2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCp0
aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKKyAgICAsIG1fYmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAg
ICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCgwKQogICAgICwgbV93YWl0aW5nRm9yQXN5
bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCkBA
IC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qCiAKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0g
MDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlOwogCiAgICAgY29uc3QgQ29tcG9zaXRl
QW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0
KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21wb3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkg
JiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNBbmltYXRpb25zKCkpCi0gICAgICAgIHRpbWVUb05l
eHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOworICAg
ICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHMoY29tcG9zaXRlQW5pbWF0aW9uLT50aW1l
VG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkg
JiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSB8fCBtX2FuaW1hdGlvblRpbWVy
Lm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1lVG9OZXh0U2VydmljZSkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYKIAogdm9pZCBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0Q2hhbmdl
ZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hhbmdlZCovKQogewotICAgIGRvdWJs
ZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpOwor
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZlcnQgcmVzdCBvZiBhbmltYXRpb25zIGNvZGUgdG8g
U2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4KKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNl
ID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKSk7CiAKLSAgICBMT0co
QW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAl
LjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOworICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5p
bWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUuMmZtcyIsIHRpbWVUb05leHRTZXJ2
aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAgIC8vIElmIHdlIHdhbnQgc2VydmljZSBpbW1lZGlh
dGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcgdGltZXIgdG8gcmVkdWNlIHRoZSBvdmVyaGVhZCBv
ZiBzdGFydGluZwogICAgIGlmICghdGltZVRvTmV4dFNlcnZpY2UpIHsKLSAgICAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRl
cnZhbCgpID09IDApCi0gICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5n
KGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlz
QWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAg
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoYW5pbWF0aW9uVGltZXJEZWxheSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHNlcnZp
Y2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSB0aW1lciBpcyBubyBsb25nZXIgcnVubmluZwot
ICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDApIHsKKyAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwX3MpIHsKICAgICAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgICAgICByZXR1cm47CkBAIC0y
MjIsNyArMjIzLDcgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6ZmlyZUV2ZW50
c0FuZFVwZGF0ZVN0eWxlKCkKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0
VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKQogewogICAgIGlmICghbV91cGRhdGVTdHls
ZUlmTmVlZGVkRGlzcGF0Y2hlci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVN0eWxlSWZO
ZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVTdHlsZUlm
TmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4g
ZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiBy
ZW5kZXJlciwKIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
KTsKLSAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0g
YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJu
IG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsK
ICAgICBpZiAoIW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAg
ICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMy
Njg5OTAzNjNjNGZkMGY2ZDE2YTI3MWUzNjkuLjM3OGRlYjBiMTdmYWFlZGNiNTgzOGI2OGJmN2Nl
NzI5ZTBmM2E1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0KQEAgLTc4LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRj
aGVkU3RhdGVEZWxheSA9IDAuMV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJy
ZW50TlNFdmVudFNsb3QoKQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRm
b3JtV2hlCiAgICAgLy8gcmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3Ag
dGhlIHRpbWVyLCBsZWF2aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAo
IW1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAg
IGlmIChldmVudC5pc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVu
ZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3Rh
dGVUaW1lb3V0KTsKKyAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1l
ci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgLy8gSWYgYW5vdGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRo
ZSB0aW1lciBtYW51YWxseSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5
LgogICAgICAgICBpZiAoZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5k
ZXggNTVlNGQ2NTk1ZWViNjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZh
ZTdhMWU3MjdjOTQ0ZGVkZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAg
ICBib29sIG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVy
QnV0dG9uKSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vj
b25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCop
IGNvbnN0OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwog
CiAgICAgc3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0
KiBhLCBjb25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAK
ICAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFu
Z2VUaW1lOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0
U2VsZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAog
ICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0
OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1
OTY0OTliZGY2MTZlZDQyMTFiOWE1MjM4MTVlNjIuLmU4ODQ5Mjk0NmE1YmFlZTE2OTRlMDRjNTI2
NzY5NzQ0ZWI5NGVlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9y
PExheW91dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBt
X2lzVGV4dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dp
dGhHYXBSZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEs
NyArMzkxLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGln
aGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpidWlsZFBv
dGVudGlhbEhpZ2hsaWdodHNJZk5lZWRlZCgpCkBAIC00MzMsMTUgKzQzMywxNSBAQCBib29sIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYg
aGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBob3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNv
bmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFo
aWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAg
ICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAwbXM7Cisg
ICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDAuMl9z
OwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0aW9uKCku
c2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAgbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAgIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMV9zOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQg
PSBtX21haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5tb3VzZVByZXNzZWQoKTsKIApAQCAtNDQ5LDE1
ICs0NDksMTQgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICAvLyBieSB2aXJ0dWUgb2Yg
YmVpbmcgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgZW50aXJlIHRlbGVwaG9uZSBudW1iZXIuIEhv
d2V2ZXIsIHdlIHdpbGwgc3RpbGwgYXZvaWQgaGlnaGxpZ2h0aW5nCiAgICAgLy8gdGVsZXBob25l
IG51bWJlcnMgd2hpbGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgaWYgKGhpZ2hsaWdodC0+dHlw
ZSgpID09IEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSkKLSAgICAgICAgcmV0dXJuIG1v
dXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMG1z
OworICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24gOiAwX3M7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAg
ICAgYXV0byB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0
aW9uQ2hhbmdlVGltZTsKICAgICBhdXRvIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9
IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2lu
Y2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBU
aW1lOworICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwX3Mg
OiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsKIAotICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBt
aW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWlu
KHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFj
dGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1
cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOwor
ICAgIHJldHVybiBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6
bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hs
aWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVk
KCkKQEAgLTcyMyw3ICs3MjIsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAv
LyBoaWdobGlnaHQsIGFuZCBvbmx5IHJlc2V0IHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVz
aXMgd2hlbiB0aGF0IGNoYW5nZXMuCiAgICAgICAgIGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQg
IT0gbmV3QWN0aXZlSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHQgPSBuZXdBY3RpdmVIaWdobGlnaHQ7Ci0gICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAg
ICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hs
aWdodCA9IG51bGxwdHI7CkBAIC03MzQsNyArNzMzLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3Rp
dmUKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
U2hvdWxkQmVTaG93biA9IHRoaXMtPnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24obmV3QWN0aXZlSGlnaGxpZ2h0LmdldCgpKTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
OjpkdXJhdGlvbjo6emVybygpKSB7CisgICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID4gMF9zKSB7CiAgICAgICAgICAgICBtX2RldGVybWluZUFjdGl2
ZUhpZ2hsaWdodFRpbWVyLnN0YXJ0T25lU2hvdChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNzY2LDcg
Kzc2NSw3IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVudChQYWdl
T3ZlcmxheSYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVuCiAgICAgICAgIFJlZlB0cjxIaWdobGln
aHQ+IG1vdXNlRG93bkhpZ2hsaWdodCA9IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxw
dHI7CiAKLSAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKIAogICAgICAgICBpZiAobW91c2VJc092ZXJBY3RpdmVIaWdobGlnaHRCdXR0b24gJiYg
bW91c2VEb3duSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBoYW5kbGVDbGljayhtX21vdXNlUG9z
aXRpb24sICptb3VzZURvd25IaWdobGlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTRlMjBkMjI3NjhjODgyZTkwMGIxMmI0MWZl
MDJlY2RmYjQ4ZjYyOC4uNTA0NGVhZjYyMDRhM2JjMmI4ZGRlNmFlNGE4NTk5YWI1MTE2YjFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCkBA
IC00NzUsNyArNDc1LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5kaWNh
dG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21fdGV4
dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dEluZGlj
YXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4dElu
ZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAgICAg
IG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHRpbWVC
ZWZvcmVGYWRlU3RhcnRzKSk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmNmU1NDZiOTg3MWM5MDgwNGJiNTc4
MTMwNWUxNDNjZWUyMWVjODk2Li44MWMzMDE0ZmE2NTI1ZTFmNmZkZjdkM2UwYzM2ZGNkMjI3NjI0
ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVy
QXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUgPSBz
Y3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3Jv
bGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi5lZDFk
N2Q2MTM5ZjIwNTJiNGJkOGExNjg1NzUwN2Q2MTI4ZjA0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21t
aXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUz
ZjQwZDYwMTQ0ZDA5NGY2ODUzNWY0MTM0ODhmYzRmOTMwOGY2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFi
NDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4uMzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5
NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBl
bmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZCht
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigp
LmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rp
c3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUyYTc0ODMwOWUwNjI4MjBlZGM4
MjM5ODBjMGIyZTEuLmFkNGViNzdhZTU3YmUzMmIzOTM3OGYzODMwOTliOTNkNDU4YWY3ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0zMCw3
ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBEZWZh
dWx0SHlzdGVyZXNpc0ludGVydmFsID0gNV9zOwogCiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lz
U3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewogcHVibGljOgotICAgIGV4cGxp
Y2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRl
KT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNT
ZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVz
aXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sg
PSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBE
ZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAg
ICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwg
bV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rp
dml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAgICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAg
ICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRv
dWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCmluZGV4IGM4
ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2NGVlNzYuLjBlNjVhN2IxMTMwNmIwYTdj
NTJiY2I1ZTJiMDk2MGRhYzk3OWMyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAtNDI0LDcgKzQyNCw3IEBAIHZvaWQgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIpCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3Rh
cnROZXh0VGltZXIoZG91YmxlIGRlbGF5KQogewotICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KGRlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5KSk7CiB9CiAjZWxzZQogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4
dFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDg4MTgxZDMw
NTdmNDY4OTRkZmViOWE5NzdhNTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1MzVlNzk4YTBk
MGU4MDBlMzhiZjZkOTQyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApA
QCAtMTgzLDcgKzE4Myw3IEBAIHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShTY3JvbGxiYXIq
IHNjcm9sbGJhcikKICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPj0gdGh1bWJQ
b3MgJiYgc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1iTGVuZ3RoOwog
fQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkK
K3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSkKIHsK
ICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5vdGhpbmcgd2Fz
IHByZXNzZWQuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8IG1fcHJlc3Nl
ZFBhcnQgPT0gTm9QYXJ0KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjphdXRv
c2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRpbWVySWZOZWVk
ZWQoZGVsYXkpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJs
ZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxh
eSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgogICAgIGlmICht
X3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNjcm9s
bGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAg
bV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIFNj
cm9sbGJhcjo6c3RvcFRpbWVySWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
aAppbmRleCBmODZhOTYyYWZlMDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFhLi5hMjM2Yzdl
OGViMTI3YWVhMzc1NjUyM2ViZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaApAQCAtMTQ0LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZp
cmVkKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKKyAgICB2
b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1l
cklmTmVlZGVkKCk7Ci0gICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5
KTsKKyAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KTsKICAgICBT
Y3JvbGxEaXJlY3Rpb24gcHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAgICBTY3JvbGxH
cmFudWxhcml0eSBwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2JhNGEwZTNhMGRm
YjQ3NjFkZDRhNjU3NWVkYmMuLmZkYzVmOGQ1ZDY0NWRmMzJmNjAyOTFmNTQ2MGJlNTkzMmRkYzQ4
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMTA1LDgg
KzEwNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFn
ZXMoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9CiAKLSAgICB2
aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1
OyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAw
LjA1OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IHsgcmV0dXJuIDAuMjVfczsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIHsgcmV0dXJuIDAuMDVfczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Ny
b2xsYmFyKFNjcm9sbGJhciYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xs
YmFyKFNjcm9sbGJhciYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNTkxMTk3OGFl
ZWMxOGYwODNmZGJmODVmMWFmM2VkMjQxNzkwMTE2NS4uODczNTk0MmZiNjkwNTk2NDRjNGZhZWNi
OTQ0NDI2YWUyZmYyMTZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250
LCBGb250RGVzY3JpcHRpb24mKSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAg
CiAgICAgLy8gSG93IGZhc3QgdGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2
aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
MC41X3M7IH0KIAogICAgIC8vIE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdl
ZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCmluZGV4IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFh
MTBmY2ZkYmNhNDQuLjZhMTg3N2YxMzZmZTE3OWMxODMzZGRjMDRlN2IyNjcxYjc5YmYyMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBA
QAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgog
CiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcg
KzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVu
Z3RoIG9mIHRpbWUsIGFuZCB0aGVuIHF1aXQgdG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVz
ZXIgaW5wdXQgZXZlbnRzLgogLy8gMTAwbXMgaXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBp
biBVSSwgc28gdXNlIGEgaGFsZiBvZiB0aGF0IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0
byBwcmV2ZW50IFVJIGZyZWV6ZSB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFj
aGluZSBwZXJmb3JtYW5jZSBpcyBsb3cuCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSA1MF9tczsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVk
IGFuZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93
biBUaHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3Vy
cmVudGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJl
YWRUaW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMo
ZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYg
KGlzVUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRU
aW1lcjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6
c2V0U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJl
ZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0
cik7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hh
cmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSB7IH07CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFyZWRUaW1lcjsK
QEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIo
KQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1RpbWVycyB8fCBt
X3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJl
VGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAg
ICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3Vi
bGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7Ci0g
ICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOworICAgICAgICBhdXRvIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0
KCktPm1fbmV4dEZpcmVUaW1lOworICAgICAgICBhdXRvIGN1cnJlbnRNb25vdG9uaWNUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lKSB7CiAgICAgICAgICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlm
IGJvdGggdGhlIHBlbmRpbmcgZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4g
dGhlIHBhc3QuCiAgICAgICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8
PSBjdXJyZW50TW9ub3RvbmljVGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25p
Y1RpbWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJl
ZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBj
dXJyZW50TW9ub3RvbmljVGltZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRG
aXJlSW50ZXJ2YWwoc3RkOjptYXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90
b25pY1RpbWUsIDBfcykpOwogICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBU
aHJlYWRUaW1lcnM6OnNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5n
VGltZXJzKQogICAgICAgICByZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAg
IG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRp
bWVyRmlyZVRpbWUgPSB7IH07CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4
RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKKyAgICBhdXRvIGZpcmVUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CisgICAgYXV0byB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9m
RmlyaW5nVGltZXJzOwogCiAgICAgd2hpbGUgKCFtX3RpbWVySGVhcC5pc0VtcHR5KCkgJiYgbV90
aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRpbWUpIHsKICAgICAgICAg
VGltZXJCYXNlKiB0aW1lciA9IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0gICAgICAgIHRpbWVyLT5t
X25leHRGaXJlVGltZSA9IDA7Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZSA9IDA7CisgICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsK
KyAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgICAgICB0aW1lci0+aGVhcERlbGV0ZU1pbigpOwogCi0gICAgICAgIGRvdWJsZSBpbnRl
cnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwotICAgICAgICB0aW1lci0+c2V0TmV4dEZp
cmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDApOworICAgICAgICBTZWNv
bmRzIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7CisgICAgICAgIHRpbWVyLT5z
ZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogTW9ub3Rvbmlj
VGltZSgpKTsKIAogICAgICAgICAvLyBPbmNlIHRoZSB0aW1lciBoYXMgYmVlbiBmaXJlZCwgaXQg
bWF5IGJlIGRlbGV0ZWQsIHNvIGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0IGFmdGVyIHRoaXMgcG9p
bnQuCiAgICAgICAgIHRpbWVyLT5maXJlZCgpOwogCiAgICAgICAgIC8vIENhdGNoIHRoZSBjYXNl
IHdoZXJlIHRoZSB0aW1lciBhc2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBhIG5lc3RlZCBldmVudCBs
b29wLCBvciB3ZSBhcmUgb3ZlciB0aW1lIGxpbWl0LgotICAgICAgICBpZiAoIW1fZmlyaW5nVGlt
ZXJzIHx8IHRpbWVUb1F1aXQgPCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAg
ICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgTW9ub3RvbmljVGltZTo6bm93
KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lk
IFRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIAogICAgIGlmICht
X3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPmludmFsaWRhdGUoKTsKLSAg
ICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGlu
Z1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGlt
ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIx
ZTgyNjY2MmU5YWJiMzA0ZTM4M2YxN2IxZTcyOWE5Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2
ZWM2OTE3MzlhODkwM2EwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFk
VGltZXJzX2gKIAorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGlt
ZXJIZWFwOwogICAgICAgICBTaGFyZWRUaW1lciogbV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwg
b2JqZWN0LCBjYW4gYmUgYSBydW4gbG9vcCBvbiBhIHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNl
dC9yZXNldCBieSB3b3JrZXIgdGhyZWFkLgogICAgICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAv
LyBSZWVudHJhbmN5IGd1YXJkLgotICAgICAgICBkb3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJG
aXJlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVU
aW1lOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZl
N2NjNTU4OTEyOTQ3NDYzOTc2ZDhkMTg1ZjkxMTE0YmJhLi44ODg0YTE0NjVmNGQ2ZjI4M2RhOWI3
ZTkyMTU3MTg3ODVkZDlmNjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIs
OCArMTcyLDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0
b3IoKShjb25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFy
aXNvbnMgYmVsb3cgYXJlICJiYWNrd2FyZHMiIGJlY2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFy
Z2VzdCAKICAgICAvLyBlbGVtZW50IGZpcnN0IGFuZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0
byBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBoZWFwLgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBh
LT5tX25leHRGaXJlVGltZTsKLSAgICBkb3VibGUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRp
bWU7CisgICAgTW9ub3RvbmljVGltZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAg
ICBNb25vdG9uaWNUaW1lIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChi
RmlyZVRpbWUgIT0gYUZpcmVUaW1lKQogICAgICAgICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVU
aW1lOwogICAgIApAQCAtMTg2LDExICsxODYsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNz
VGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQog
Ly8gLS0tLS0tLS0tLS0tLS0tLQogCiBUaW1lckJhc2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25l
eHRGaXJlVGltZSgwKQotICAgICwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1f
cmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1faGVhcEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRU
aHJlYWRHbG9iYWxUaW1lckhlYXAoMCkKKyAgICA6IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9j
YWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAobnVsbHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAg
LCBtX3RocmVhZChjdXJyZW50VGhyZWFkKCkpCiAgICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBA
IC0yMDcsMzIgKzIwNCwzMiBAQCBUaW1lckJhc2U6On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAK
LXZvaWQgVGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKICAgICBtX3JlcGVhdEludGVydmFs
ID0gcmVwZWF0SW50ZXJ2YWw7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpICsgbmV4dEZpcmVJbnRlcnZhbCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1v
bm90b25pY1RpbWU6Om5vdygpICsgbmV4dEZpcmVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJC
YXNlOjpzdG9wKCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhy
ZWFkKG1fdGhyZWFkKSk7CiAKLSAgICBtX3JlcGVhdEludGVydmFsID0gMDsKLSAgICBzZXROZXh0
RmlyZVRpbWUoMCk7CisgICAgbV9yZXBlYXRJbnRlcnZhbCA9IDBfczsKKyAgICBzZXROZXh0Rmly
ZVRpbWUoTW9ub3RvbmljVGltZSgpKTsKIAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAw
KTsKLSAgICBBU1NFUlQobV9yZXBlYXRJbnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4
dEZpcmVUaW1lKTsKKyAgICBBU1NFUlQoIW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VSVCgh
aW5IZWFwKCkpOwogfQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29u
c3QKK1NlY29uZHMgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBB
U1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICBpZiAobV9uZXh0RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBj
dXJyZW50OwogfQogCkBAIC0yNDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6
OmNoZWNrSGVhcEluZGV4KCkgY29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25z
aXN0ZW5jeSgpIGNvbnN0CiB7CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBp
ZiBhbmQgb25seSBpZiB0aGV5IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBB
U1NFUlQoaW5IZWFwKCkgPT0gKG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5I
ZWFwKCkgPT0gISFtX25leHRGaXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBj
aGVja0hlYXBJbmRleCgpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkK
IHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZp
cmVUaW1lKTsKICAgICBjaGVja0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRh
ID0gdGltZXJIZWFwKCkuZGF0YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvciho
ZWFwRGF0YSksIFRpbWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwg
VGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRp
bWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFw
RGVsZXRlKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92
ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGlu
ZSB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVs
ZXRlTWluKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJl
bW92ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZv
aWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpo
ZWFwSW5jcmVhc2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAg
ICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVh
c2VLZXkoKTsKIH0KQEAgLTI5Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6Omhl
YXBJbnNlcnQoKQogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBU
ZW1wb3JhcmlseSBmb3JjZSB0aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdl
IGNhbiBwb3AgaXQuCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAg
bV9uZXh0RmlyZVRpbWUgPSAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
OworICAgIE1vbm90b25pY1RpbWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25l
eHRGaXJlVGltZSA9IC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFz
ZUtleSgpOwogICAgIGhlYXBQb3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1l
OwpAQCAtMzQ3LDcgKzM0NCw3IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlv
bigpIGNvbnN0CiAgICAgcmV0dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwg
Y2hpbGRJbmRleDEpICYmIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJ
bmRleDIpOwogfQogCi12b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKQordm9pZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1l
IG9sZFRpbWUpCiB7CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0
aW9uKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFz
ZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFw
KCkgfHwgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXRO
ZXh0RmlyZVRpbWUoZG91YmxlIG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVU
aW1lKE1vbm90b25pY1RpbWUgbmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFk
TG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQp
OwpAQCAtMzc5LDExICszNzYsMTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShk
b3VibGUgbmV3VGltZSkKICAgICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAm
dGhyZWFkR2xvYmFsVGltZXJIZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUg
Y2hhbmdpbmcgdGhlIG5leHQtZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0
RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAg
ICAgLy8gRG9uJ3QgcmVhbGlnbiB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkg
ewotICAgICAgICBpZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNv
bmRzVG9NUyhuZXdUaW1lKSkpCi0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3
QWxpZ25lZFRpbWUudmFsdWUoKSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0g
YWxpZ25lZEZpcmVUaW1lKG5ld1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWdu
ZWRUaW1lLnZhbHVlKCk7CiAgICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpA
QCAtNDE2LDEwICs0MTMsMTAgQEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudElu
dGVydmFsKCkKICAgICBzZXROZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwog
fQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QK
K1NlY29uZHMgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lIC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAg
cmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6
bm93KCksIDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCmluZGV4IDUyYTE2NmViYTJkMjMxOWQxNWExYjdlZDkwODJiNmIxNDMzZjNiMjQuLjMw
ZmQyMmQ5OGIwMmVlZDUxNjMwYTdiNmY4ZTVmNTYyZTk4ODdjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUg
PGZ1bmN0aW9uYWw+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgpAQCAtNDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7
CiBjbGFzcyBUaW1lckJhc2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlu
bGluZSBkb3VibGUgbXNUb1NlY29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlv
bikgeyByZXR1cm4gZHVyYXRpb24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGlu
ZSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikg
eyByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kczo6cmVwKShkdXJhdGlvbiAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgVGltZXJCYXNlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNl
KCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVy
dmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVy
dmFsKTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRl
cnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7
IHN0YXJ0KGludGVydmFsLCAwKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVy
dmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0
KGludGVydmFsLnZhbHVlKCksIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRz
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVy
dmFsLCAwX3MpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKICAgICBib29s
IGlzQWN0aXZlKCkgY29uc3Q7CiAKLSAgICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0
OwotICAgIGRvdWJsZSBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91
YmxlIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQot
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsg
cmV0dXJuIHNlY29uZHNUb01TKHJlcGVhdEludGVydmFsKCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21l
bnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJl
VGltZSArIGRlbHRhKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICBTZWNvbmRzIG5leHRG
aXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2
YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
bV9yZXBlYXRJbnRlcnZhbDsgfQogCi0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91
YmxlIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFs
ICs9IGRlbHRhOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEp
IHsgYXVnbWVudFJlcGVhdEludGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZp
cmVUaW1lICsgZGVsdGEpOyB9CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25k
cyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCAr
PSBkZWx0YTsgfQogCiAgICAgdm9pZCBkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBA
IC04OCwxNyArNzQsMTcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmly
ZWQoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0
IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb25v
dG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3QgeyByZXR1cm4g
c3RkOjpudWxsb3B0OyB9CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAg
ICB2b2lkIGNoZWNrSGVhcEluZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGlt
ZShkb3VibGUpOworICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAg
ICAgYm9vbCBpbkhlYXAoKSBjb25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAg
ICAgYm9vbCBoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVh
cElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChN
b25vdG9uaWNUaW1lIG9sZFRpbWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAg
ICB2b2lkIGhlYXBEZWxldGUoKTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBW
ZWN0b3I8VGltZXJCYXNlKj4mIHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhy
ZWFkR2xvYmFsVGltZXJIZWFwKTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVh
cDsgfQogCi0gICAgZG91YmxlIG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAg
ZG91YmxlIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29u
c2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7
IC8vIDAgaWYgbm90IHJlcGVhdGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7
IC8vIDAgaWYgaW5hY3RpdmUKKyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVU
aW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFs
CisgICAgU2Vjb25kcyBtX3JlcGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAg
ICBpbnQgbV9oZWFwSW5kZXg7IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9o
ZWFwSW5zZXJ0aW9uT3JkZXI7IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJl
LXRpbWUgdGltZXJzCiAgICAgVmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2Jh
bFRpbWVySGVhcDsKQEAgLTE1OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6
aXNBY3RpdmUoKSBjb25zdAogI2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkg
fHwgcHRocmVhZF9tYWluX25wKCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNl
bmRpZiAvLyBQTEFURk9STShJT1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJl
dHVybiAhIW1fbmV4dEZpcmVUaW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVy
IDogcHJvdGVjdGVkIFRpbWVyQmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VGltZXJGaXJlZENsYXNzPgotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENs
YXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGlt
ZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgp
LCBTZWNvbmRzIGRlbGF5KQogICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpi
aW5kKGZ1bmN0aW9uLCAmb2JqZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVy
cmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0
ZDo6ZnVuY3Rpb248dm9pZCAoKT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDog
bV9mdW5jdGlvbihXVEZNb3ZlKGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQog
ICAgICAgICAsIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcg
KzE5OCw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rp
b247CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25k
cyBtX2RlbGF5OwogICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUw
MTkxNDRhMjFmZjRkM2RjMGUxOGY5ZmM5MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlm
MWU1ODNmNWM5MGM4ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9k
ZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRv
bigpCiBWTm9kZVRyYWNrZXI6OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihb
dGhpc10oUmVmQ291bnRlckV2ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZl
bnQ6OkluY3JlbWVudCkgY2hlY2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJl
V2FybmluZ1RpbWVyKCp0aGlzLCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZp
cmVkKQotICAgICwgbV9sYXN0V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
bm93KCkpCisgICAgLCBtX2xhc3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsK
ICAgICBwbGF0Zm9ybUluaXRpYWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5v
ZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNv
dW50ZXIudmFsdWUoKSA8PSBtX3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAg
ICBtX2xhc3RXYXJuaW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwor
ICAgIG1fbGFzdFdhcm5pbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWdu
ZWQgdm5vZGVDb3VudCA9IG1fdm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNh
bCA9IHZub2RlQ291bnQgPiBtX2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRp
Y2FsOjpObzsKICAgICBtX3ByZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9y
eVByZXNzdXJlLCAidm5vZGUgcHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBv
ZiAldSAoY3JpdGljYWwgcHJlc3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRl
ci52YWx1ZSgpLCB2bm9kZUNvdW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIg
OiAiTm8iKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5l
eHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6
bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhl
IHZub2RlIHByZXNzdXJlIGhhbmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0
YXRpYyBjb25zdCBhdXRvIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDMwIH07Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgbWluaW11bVdhcm5pbmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1l
U2luY2VMYXN0V2FybmluZyA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1Rp
bWU7CiAgICAgaWYgKHRpbWVTaW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZh
bCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHM+KG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2Fy
bmluZyk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAg
ICAgIHJldHVybiBtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7
CisKKyAgICByZXR1cm4gMF9zOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4
NWFiZmUxODI2MGY0YTI0Li4wNGZiMzc5NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHBy
ZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFBy
ZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZSgpOwogCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVy
IG1fcHJlc3N1cmVIYW5kbGVyOwogICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAg
ICBUaW1lciBtX3ByZXNzdXJlV2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X2xhc3RXYXJuaW5nVGltZTsKIH07CiAKIGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJl
c3N1cmVIYW5kbGVyKFByZXNzdXJlSGFuZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2
NzY2OWEyMDYwODQ4Y2M2ODEyY2Y0NmU0Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4
ZDRjNDBjNzkzNjgxNjE1ZWI4OTk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkgPSAwLjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVm
ZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBz
dGF0aWMgY29uc3QgY2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBz
dGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLm1tCmluZGV4IDNlMThkNGJmMDNiZjVlN2Y4NDExY2FjZDkzMTg3NWY1YjIxNzY3OTguLjhj
MGE0YzYyOTkyMzBkNWZmM2RkYTVmYWY2YTBkMTczODUzYTgxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNDExLDcgKzQx
MSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNv
bnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7
CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnVi
YmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2Ns
aWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNzKTsKIH0KQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAg
IHJldHVybjsKIAogICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBE
ZWxheSA9IDc1MF9tczsKLSAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRP
bmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVz
c1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxh
eSk7CiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApA
QCAtNjEwLDcgKzYxMCw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFw
VGltZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsK
ICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9s
bGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IDZhNTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlk
OTAuLmU0YzQyMjE2MjNlMWM4MDA4NTdiMGVhNmM2NTBlZGVmZGNmYTQ0MGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1l
cGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2Nv
YS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZU
X0xJTktfQ09OU1RBTlRfTUFZX0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERp
c2Nvbm5lY3ROb3RpZmljYXRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1z
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2X21zOwog
CiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJv
dmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlhMDUw
ZDE4YWE4NzA4OWU5NThlODEyMTRlMWNkZmIxNGViLi4xYzZiNWQ4M2E4YTkwMzQ4MzUwOTQyNTEz
MTMyNmU5Y2Y5YTczMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25E
ZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlv
bkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUludGVy
dmFsID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5
ID0gMC4wNV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0
Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBA
IC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKElP
SElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gdGVs
bCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAgICAgICAvLyBUaGUgbV9jb25uZWN0
aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQgc3BpbiBvZiB0aGUgcnVubG9vcCBh
ZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlvbiBldmVudHMgYXJlIGFjdHVhbCBu
ZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAK
ICAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAgd2FzIGFkZGVkIHdoaWxlIHN1cHByZXNz
aW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUgYW4gJ2FscmVhZHkgY29ubmVjdGVkJyBl
dmVudCIsIGRldmljZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ds
aWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCmluZGV4IDI4NGY4YjE3ZWNkNjlj
MGMxNzIwMmExYzFhNDhkNjY2MGRhNjI3ZjIuLmJiMzZhOGYxZGRiN2JhNWQ1ZTVlYTQ5ZjkwZGFm
Njk0NGU4NDkwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFp
blRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcApAQCAtNDIsNyArNDIsNyBAQCBNYWlu
VGhyZWFkU2hhcmVkVGltZXI6Ok1haW5UaHJlYWRTaGFyZWRUaW1lcigpCiB2b2lkIE1haW5UaHJl
YWRTaGFyZWRUaW1lcjo6c2V0RmlyZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAg
QVNTRVJUKG1fZmlyZWRGdW5jdGlvbik7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2
YWwudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogfQogCiB2
b2lkIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMGFjNjNmYjQ3MmQzMTdhZDlh
OTk3YTMyODFhZGU5ZTcwNWI0YzEzZC4uN2VmYzM5ZDcwZjg1NWNmMzU0NjhkYWU4MWMzODI0OGI0
ZWI1YWNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGlt
ZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6
OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihT
ZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1l
VGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmlt
YXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgIH0K
IAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlvblJlc3VsdDo6
U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0
aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAg
aWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBt
X2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNp
cmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAgICAgc3RhcnRU
aW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA0MTI0ZmE2NTM0ZDEwODI3
NzhhNmVkZWI0MGE5OTJiNjg0NzZhYjM1Li44Njg2ZDNhZTk4Yzg3N2I1ZmIxNWU2N2Q4NjY4NTg5
MzVjYjkzNjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAg
dm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxheSk7Cisg
ICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRtYXBJbWFn
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAoVGV4dFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTljZjE1ZGM3ZmFl
MDZjNjFiNjBjLi5mNTYyOWQ4YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0MzdkNDk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMy
OSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQcmVzc3VyZUlu
YWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1p
bHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVz
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9v
bCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgICAgICBt
X3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiBw
bGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwg
ZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tp
bmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIw
Ni4uNWUwN2M1Zjc3ZjMwYjE5NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEw
LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAwLjFfczsK
IAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihD
bGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRk
MTRhM2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAxODg0NTZhNWI1
NThhY2ZiYWU5NTg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6
bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkg
Pj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEp
IHsKICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAg
ICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVu
dE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlh
RW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggMzI5Y2ExMDA5YmNhOGRhMWE4Y2UxMDExODIw
MzUwZmZlOTk0YTNmOS4uYjM0MDQyYWM1YmI3Y2VmNWE5NDNiMTk1OGEyMjA4MzRkNDkxYmVlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
QEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNB
Y3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29u
c3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3Qg
YXV0byBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAgICAgbV9wdXJnZVRp
bWVyLnN0YXJ0T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmlu
ZGV4IDZlZThiYzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLjhkZWUwOWNlMDg2
YWRhZjViZTI3YzIwMDhhY2IyNWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBjaGFyYWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJy
ZWRPcHRpb24pKTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJy
ZWRPcHRpb24pOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZG
T2JqQyogb3B0aW9uKQpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoK
ICAgICBtX3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2Vs
ZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVj
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZi
YTY0YTc5ODYzNjNkMjgzZWQ0ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFmNGMzZTU3OTBiNjY3
ZGQ2ZmI2YjYyYjY4MDI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3
ICsyMjgsNyBAQCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBvdXRwdXRDb2RlY3Mg
PSBbZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJG
b3JJbnB1dE1JTUVDb2RlY1BhcmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcg
KnR5cGVTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIl
QFwiIiwgKE5TU3RyaW5nICopcGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2Rl
Y3NdOwotICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVk
TUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBs
YXllcjo6TWF5QmVTdXBwb3J0ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkg
aXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNT
dXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFy
ayAtCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlm
IChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0g
ICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIwNzIzNTAwMThhZGM0
YmNkYjg0NWYuLjBjYzRmYWM1OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBhZjk3YTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApA
QCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKCkKIHsKICAg
ICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3By
dW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3Qo
MV9zKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAK
aW5kZXggZTQyNWI4MmY4MDM0NzQ3ZWFmZWMxOGU4MGUwZTk2OGFmZDVjMDQ3Ny4uYmM5NDk2MTNl
Njk1MTQ0MjIyM2UzNGZiOGRlNTNjMjkxOTIwZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtNDksNyAr
NDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbGVT
aXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7CiAKIFN0cmluZyBU
aWxlQ29udHJvbGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcg
KzI2Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2lu
ZG93KQogICAgIGlmIChtX2lzSW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRp
bGVzKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9u
VGltZW91dCA9IDQ7CisgICAgICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVv
dXQgPSA0X3M7CiAgICAgICAgIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0
aW9uVGltZW91dCk7CiAgICAgfQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRy
b2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNv
bnN0IEZsb2F0CiAjZW5kaWYKIH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxl
UmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVS
ZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5l
eHRGaXJlSW50ZXJ2YWwoKSA8IGludGVydmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRl
eCA4Yzg0YzdjYzkyNzY2YzQ2Zjk3NTkxMTcxMWY4OTdiZGViYjE4ZGE4Li44Y2FlNDQ3NzgzZmJk
MGQ0N2RlNDVmYzg1Y2FkZTdkYjgzMTY2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICpt
X3RpbGVHcmlkOyB9CiAKLSAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUg
aW50ZXJ2YWwpOworICAgIHZvaWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50
ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2lu
ZG93OyB9CiAgICAgZmxvYXQgdG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BD
b250ZW50SW5zZXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFh
ZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjli
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVD
b3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5U
aWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkK
IHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRl
eCAyOGYyOWNiZGU4ZTIxZjcxODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi4yM2IzOGE3YzIyNzBi
ZmIxMzc5YzcyMTVhZDljYTFmY2FmMjcyYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBU
aWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Q
b2xpY3kpCiAgICAgVGlsZUNvaG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAg
ICB1bnNpZ25lZCB0aWxlc0luQ29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxp
ZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7
CisgICAgU2Vjb25kcyBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6
OmluZmluaXR5KCk7CiAgICAgYm9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAg
ICAKICAgICBhdXRvIHRpbGVTaXplID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEs
OCArMzgxLDggQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9u
UG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hv
cnQgOiBtX2NvaG9ydExpc3QpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hv
cnQgIT0gdGlsZUluZm8uY29ob3J0KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29o
b3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVV
bnRpbENvaG9ydEV4cGlyZXMgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdGltZVVu
dGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMF9zKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6
bWluKG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uLCB0aW1lVW50aWxDb2hvcnRFeHBp
cmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDc4LDcgKzQ3OCw3IEBAIFRpbGVH
cmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQg
VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hvcnQpCiB7Ci0gICAgbV9j
b2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpKSk7CisgICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhj
b2hvcnQsIE1vbm90b25pY1RpbWU6Om5vdygpKSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlm
ICghbV9jb250cm9sbGVyLmlzSW5XaW5kb3coKSkKICAgICAgICAgdGlsZUNvbnRyb2xsZXJNZW1v
cnlIYW5kbGVyKCkudGlsZUNvbnRyb2xsZXJHYWluZWRVbnBhcmVudGVkVGlsZXMoJm1fY29udHJv
bGxlcik7CkBAIC00OTcsMTcgKzQ5NywxNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3Jp
ZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29o
b3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29u
ZHMgPSAxOworICAgIGNvbnN0IGF1dG8gY29ob3J0UmVtb3ZhbEludGVydmFsID0gMV9zOwogCiAg
ICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5vdyBp
ZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29o
b3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyk7CisgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKGNvaG9ydFJlbW92YWxJbnRlcnZhbCk7CiB9CiAKLWRvdWJsZSBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBj
b2hvcnRMaWZlVGltZVNlY29uZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAg
Y29uc3QgU2Vjb25kcyBjb2hvcnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3Rvbmlj
VGltZSB0aW1lVGhyZXNob2xkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGlt
ZTsKICAgICByZXR1cm4gY3JlYXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4
LDcgKzUxOCw3IEBAIHZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHko
KSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7Cisg
ICAgd2hpbGUgKCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgp
LnRpbWVVbnRpbEV4cGlyYXRpb24oKSA8IDBfcykgewogICAgICAgICBUaWxlQ29ob3J0SW5mbyBm
aXJzdENvaG9ydCA9IG1fY29ob3J0TGlzdC50YWtlRmlyc3QoKTsKICAgICAgICAgcmVtb3ZlVGls
ZXNJbkNvaG9ydChmaXJzdENvaG9ydC5jb2hvcnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIz
Yzc1NWQ4NzgyYzQyYWEwZGU1NzY1MWQuLjQyNjkzNzc0YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVl
OThhZTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuaApAQCAtMTIxLDEzICsxMjEsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBUaWxl
Q29ob3J0SW5mbyB7CiAgICAgICAgIFRpbGVDb2hvcnQgY29ob3J0OwotICAgICAgICBkb3VibGUg
Y3JlYXRpb25UaW1lOyAvLyBpbiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAg
ICAgVGlsZUNvaG9ydEluZm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgZG91YmxlIGluVGltZSkKKyAg
ICAgICAgTW9ub3RvbmljVGltZSBjcmVhdGlvblRpbWU7CisgICAgICAgIFRpbGVDb2hvcnRJbmZv
KFRpbGVDb2hvcnQgaW5Db2hvcnQsIE1vbm90b25pY1RpbWUgaW5UaW1lKQogICAgICAgICAgICAg
OiBjb2hvcnQoaW5Db2hvcnQpCiAgICAgICAgICAgICAsIGNyZWF0aW9uVGltZShpblRpbWUpCiAg
ICAgICAgIHsgfQogCi0gICAgICAgIGRvdWJsZSB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAg
ICAgIFNlY29uZHMgdGltZVVudGlsRXhwaXJhdGlvbigpOwogICAgIH07CiAKICAgICB2b2lkIHJl
bW92ZUFsbFRpbGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCmluZGV4IGI4MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVj
M2E4YTBmZTBiZmYxNDguLmY5NGY0YTE0NzA0NzcyZTg4MjFkYWJmNjEzZTM4NzQwM2U5MzJhY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFj
ZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3Vy
ZmFjZVBvb2wuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9IDUwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgc3VyZmFjZUFnZUJlZm9yZU1hcmtpbmdQdXJnZWFibGUgPSAyczsKK2NvbnN0IFNlY29uZHMg
Y29sbGVjdGlvbkludGVydmFsID0gMC41X3M7Citjb25zdCBTZWNvbmRzIHN1cmZhY2VBZ2VCZWZv
cmVNYXJraW5nUHVyZ2VhYmxlID0gMl9zOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0
ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3Jl
IHRoYW4gMS8yIG9mIHRoZSBjYWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMs
IGJlY2F1c2UKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3RJ
blVzZVN1cmZhY2VzKCkKIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJn
ZWFibGUoKQogewogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1dG8g
bWFya1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG1h
cmtUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZhY2VB
bmREZXRhaWxzIDogbV9zdXJmYWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFuZERl
dGFpbHMudmFsdWUuaGFzTWFya2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3YzU0
Njk2ZDdiNWI1NjM5NWYzZjNlMmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgyMDA2
ZWJjOTRmZTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIDogaGFzTWFya2VkUHVyZ2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAgICB2
b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6bm93KCk7IH0KKyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0
VXNlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3Rvbmlj
VGltZSBsYXN0VXNlVGltZTsKICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3Vi
aW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0MDhi
NGU4MzYzZjQ4ZTNlZDIzMGZmZDc2Li5kYmQzYjMyMDEyMDdiNTdmZjQ4MTg5NDg5MTEwNWNhNzA0
NjlmMzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9T
dWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVD
bGVhckRlbGF5ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3QgYXV0
byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IDFfczsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3Vi
aW1hZ2VDYWNoZVNpemUgPSAzMDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZWFkZGRk
YThkYzQ2NDk1NmQ1NDA1MmUwNWFkYTc3MDZkNDgzZjkxLi45OTNiZTU5ODY2Zjc2OTZhNmE5NTFm
NzNmN2RkOTI0ZDcwZjFhN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcApAQCAtMzY3LDcgKzM2Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAg
IGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIu
aXNBY3RpdmUoKSkgewogICAgICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5
IGluIHRoZSBSRUFEWSBzdGF0ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJl
cXVlc3RzLgotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjA7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjBfczsKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlT
dGF0ZVRpbWVyRGVsYXkpOwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JF
QURZKQogICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1
OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZl
cmluZygpCiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5h
Ymxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxp
bmUuZ2V0KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAg
ICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIu
c3RhcnRSZXBlYXRpbmcoMC4yX3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygi
RGlzYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3Bp
cGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3Bw
CmluZGV4IDk2OTM2OWEzNWU3OTcxNTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLmJlY2VmMjEz
ZmVmNDcxOWYzZWYwOTNjYTJjODk5ZTE0NjkzODE3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdz
dFNhbXBsZSogc2FtcGxlKQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkK
ICAgICBpZiAoIW1fcGxheWVyLT5jbGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgp
OwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2Ry
YXdNdXRleCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzUsNyArNjc1LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1w
bGUqIHNhbXBsZSkKICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAg
TG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
ICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRl
b1NpbmtHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIx
YjE1MjFjMDQxZjZiNzI3OTkyOC4uY2NjNjk0MTk5ZDE1YWQ4NTE3MDllYTdlOGZiNTJmNDM0YzY0
MDVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTks
NyBAQCBwdWJsaWM6CiAgICAgICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAg
IG1fc2luayA9IHNpbms7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2Fp
dChtX3NhbXBsZU11dGV4KTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYw
YzFlZjJmYjRmLi4xOTgyMzUxOTJmYTJiODEzZWRjNGY1ZjdlOGNmZjdiMmQ2MWZjNDhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBp
ZiAobWF4TWVkaWFUaW1lU2Vla2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7
CiAgICAgZWxzZSAKLSAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAg
IG1fc2Vla1RpbWVyLnN0YXJ0KDBfcywgMC41X3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Ojpkb1NlZWsoKSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IDFiNDZm
Mzc1MjQ5ODkwN2UwMGJjMjgyZDJkOWQ2ZjFhZjczYjQ1OWUuLjkxYzAzMjQwODY3YjQ2ZWM5Yjk3
NWRkMzQ4OWJmN2VjMWFhZDMwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMzQs
NyArMzQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIHNf
cmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBz
X3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAog
I2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0
dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDVlM2M4MmYx
ZjMzYWQ1MjkyNTA2Njg5NmM5YzIxNGEzM2JmOGIzMDUuLjljMmIxMWIzZjhhMWE2YzdiZWRhZjhm
NWM1MWU2MDUzODNjYzIyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllckJ1ZmZlci5oIgogCiBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2Vk
U2Vjb25kc1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVy
c1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZEJ1ZmZl
cnNUaW1lckludGVydmFsID0gMC41X3M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTYz
LDcgKzE2Myw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1
bGVVcGRhdGVPbkNvbXBvc2l0b3JUaHJlYWQoc3RkOjpmdW5jCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRh
dGVGdW5jdGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDU1ZWY5OTU0OWU2OTQy
NjI0MTAzZDg4OGNiYzc1NGQ2ZmI2ZDNlYy4uMGRjNjkyNWE1MTkxOTE4MTMyMmQ4YjZjNWM3MDAz
MTU4NDFjOThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZh
bHVlTGlzdCwKIAogICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1h
dGlvbnMuYWRkKFRleHR1cmVNYXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0
LCBib3hTaXplLCAqYW5pbSwgbGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAw
LCBUZXh0dXJlTWFwcGVyQW5pbWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAg
IG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlv
blN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25z
KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5
ZWZjM2ZhYWVjNDMyMzM2YTYxLi42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRl
OGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdl
QmFja2luZy5jcHAKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nOjpyZWxlYXNlU3VyZmFjZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwog
fQogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25k
cygzKTsKIAogdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlm
TmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRk
ODdmOWZjMDlkZmNmMTIyYWMxOTdjZDVlLi5iMjRjZmE2YTFmNTg3NjQ3MWE2NTBmMDZkZTZjYjE5
NmQ0ODU3ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xs
QW5pbWF0b3JHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3Rr
OjpvdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29u
c3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRl
bHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05l
eHRGcmFtZSk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKGRlbHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAg
aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1
cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUg
KyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UK
ICAgICAgICAgaGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAg
dm9pZCBTY3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlk
ZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRp
b25EdXJhdGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3Jv
bGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25I
aWRlRGVsYXkpKTsKIH0KIAogdm9pZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29u
dGVudEFyZWEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2Fj
eVRpbGVDYWNoZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2Fj
aGUubW0KaW5kZXggNjZhMjZlMWU2OGUzYzRkNTc3YWIzZWI1Njg1MThmYWM1OGY1OTY5ZS4uOWFj
MDVmYzU1MTRlMTY0NjBjYmFjN2E0NDdiYmE3OGQyMWE3MjlmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCkBAIC00MjAsNyArNDIwLDcgQEAg
dm9pZCBMZWdhY3lUaWxlQ2FjaGU6OmZpbmlzaGVkQ3JlYXRpbmdUaWxlcyhib29sIGRpZENyZWF0
ZVRpbGVzLCBib29sIGNyZWF0ZU1vcmUKIAogICAgIC8vIEtlZXAgY3JlYXRpbmcgdGlsZXMgdW50
aWwgdGhlIHdob2xlIGNvdmVyUmVjdCBpcyBjb3ZlcmVkLgogICAgIGlmIChjcmVhdGVNb3JlKQot
ICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90
aWxlQ3JlYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBMZWdhY3lUaWxl
Q2FjaGU6OnRpbGVDcmVhdGlvblRpbWVyRmlyZWQoKQpAQCAtNzgyLDcgKzc4Miw3IEBAIHZvaWQg
TGVnYWN5VGlsZUNhY2hlOjpzZXRTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVuYWJsZWQoYm9vbCBl
bmFibGVkKQogICAgICAgICByZXR1cm47CiAgICAgbV9pc1NwZWN1bGF0aXZlVGlsZUNyZWF0aW9u
RW5hYmxlZCA9IGVuYWJsZWQ7CiAgICAgaWYgKG1faXNTcGVjdWxhdGl2ZVRpbGVDcmVhdGlvbkVu
YWJsZWQpCi0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIExl
Z2FjeVRpbGVDYWNoZTo6aGFzUGVuZGluZ0RyYXcoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJhclRoZW1lSU9TLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaAppbmRleCA3NTZkNDA2MDdmNTYzYTZj
ZTU5OGUyOWJiMjdiNDBlOTU1ZWJhNjFmLi5hY2NkMjljMTA2MDM2N2UwZmMwZmZmNjhkNTNkNDM0
N2EwNzRiMWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xs
YmFyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFy
VGhlbWVJT1MuaApAQCAtNDEsOCArNDEsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBzdXBw
b3J0c0NvbnRyb2xUaW50cygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotICAg
IGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKLSAgICBkb3Vi
bGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKKyAgICBTZWNvbmRzIGluaXRpYWxB
dXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgYXV0b3Njcm9sbFRp
bWVyRGVsYXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0
dG9uc1BsYWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KaW5kZXggNmU1MjBiZWY1NDhmNTQwMjAz
YTlhNmEzYzc3N2Q4MTZkYWE1MDk5MC4uZmUyOTA3NzViZGUzODkzY2E2OTE2MGYzMjMyN2IzYzVm
ZjIwNzNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbGJh
clRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJU
aGVtZUlPUy5tbQpAQCAtNjYsMTQgKzY2LDE0IEBAIGludCBTY3JvbGxiYXJUaGVtZUlPUzo6c2Ny
b2xsYmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplKQogICAgIHJldHVybiAwOwogfQog
Ci1kb3VibGUgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
CitTZWNvbmRzIFNjcm9sbGJhclRoZW1lSU9TOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXko
KQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiAwX3M7CiB9CiAKLWRvdWJsZSBTY3JvbGxi
YXJUaGVtZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVt
ZUlPUzo6YXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewotICAgIHJldHVybiAwOworICAgIHJldHVy
biAwX3M7CiB9CiAgICAgCiBTY3JvbGxiYXJCdXR0b25zUGxhY2VtZW50IFNjcm9sbGJhclRoZW1l
SU9TOjpidXR0b25zUGxhY2VtZW50KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5t
bQppbmRleCBjYzYyZTNhODg0YWVmMjk1MTk3ZTJiYjc2YmIwZmE3ZWMzMDcwYmExLi5kZDE5NjM0
YjczNzkxYzVmM2NjZjJiNTJhMjlmNjc0ZDg0YmU5MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0Lm1tCkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBib29sU3RyaW5n
KGJvb2wgdmFsKQogfQogI2VuZGlmCiAKLXN0YXRpYyBjb25zdCBkb3VibGUgRGVmYXVsdFdhdGNo
ZG9nVGltZXJJbnRlcnZhbCA9IDE7CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0V2F0Y2hkb2dU
aW1lckludGVydmFsID0gMV9zOwogCiBAY2xhc3MgV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbjsK
IApAQCAtOTg2LDcgKzk4Niw3IEBAIGJvb2wgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQ6OnNob3VsZEV4aXRGdWxsc2NyZWVuV2l0aFJlYXNvbihXZWJWaWRlb0Z1CiAgICAgbV92aWRl
b0Z1bGxzY3JlZW5Nb2RlbC0+cmVxdWVzdEZ1bGxzY3JlZW5Nb2RlKEhUTUxNZWRpYUVsZW1lbnRF
bnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogCiAgICAgaWYgKCFtX3dhdGNoZG9nVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChEZWZh
dWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0
T25lU2hvdChkZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsKTsKIAogICAgIHJldHVybiBmYWxz
ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01lbW9yeVBy
ZXNzdXJlSGFuZGxlckxpbnV4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xpbnV4L01l
bW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAppbmRleCA0MjFjNjE2MGY4ODkxMjQ2NDc3M2Q0
ZWEzZmNhZWQ0OTYzZDVhN2ZkLi5lOGRlYzVlNDVmYzNmOWRjMmVjYTI1ZTIxMmQ4MjMxMjViM2Uw
YTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9saW51eC9NZW1vcnlQcmVz
c3VyZUhhbmRsZXJMaW51eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGludXgv
TWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCkBAIC0yNjksNyArMjY5LDcgQEAgdm9pZCBN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OmhvbGRPZmZUaW1lckZpcmVkKCkKIAogdm9pZCBNZW1vcnlQ
cmVzc3VyZUhhbmRsZXI6OmhvbGRPZmYodW5zaWduZWQgc2Vjb25kcykKIHsKLSAgICBtX2hvbGRP
ZmZUaW1lci5zdGFydE9uZVNob3Qoc2Vjb25kcyk7CisgICAgbV9ob2xkT2ZmVGltZXIuc3RhcnRP
bmVTaG90KFNlY29uZHMoc2Vjb25kcykpOwogfQogCiBzdGF0aWMgc2l6ZV90IHByb2Nlc3NNZW1v
cnlVc2FnZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
QW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0
b3JNYWMubW0KaW5kZXggYWM3ZjRmZDRhOTg0ZGMzMWRkZDRmYzgwYjE2OTM0MTUxOTAyNTA5NS4u
ZjczZDc5Njg4ZTJiODAyNTQ2ZjI0MzU5ZmNjYmNhNTgyZDI2Y2ZlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtMTMzOCw3ICsx
MzM4LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgpCiAK
IHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcigpCiB7Ci0g
ICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICBt
X2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiB9CiAKIGJv
b2wgU2Nyb2xsQW5pbWF0b3JNYWM6OnNjcm9sbGJhclBhaW50VGltZXJJc0FjdGl2ZSgpIGNvbnN0
CkBAIC0xMzY0LDcgKzEzNjQsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpzZW5kQ29udGVu
dEFyZWFTY3JvbGxlZFNvb24oY29uc3QgRmxvYXRTaXplJiBkZWx0YSkKICAgICBtX2NvbnRlbnRB
cmVhU2Nyb2xsZWRUaW1lclNjcm9sbERlbHRhID0gZGVsdGE7CiAKICAgICBpZiAoIW1fc2VuZENv
bnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3NlbmRDb250ZW50
QXJlYVNjcm9sbGVkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NlbmRDb250ZW50
QXJlYVNjcm9sbGVkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBpZiAobV93aGVlbEV2
ZW50VGVzdFRyaWdnZXIpCiAgICAgICAgIG1fd2hlZWxFdmVudFRlc3RUcmlnZ2VyLT5kZWZlclRl
c3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RUcmlnZ2VyOjpTY3Jv
bGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRyaWdnZXI6OkNvbnRl
bnRTY3JvbGxJblByb2dyZXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Nj
cm9sbGJhclRoZW1lTWFjLmgKaW5kZXggYTcyODI5OGM4ZWJiNWM1NTU0N2Q2ZDNjYmQ4ZDVlMTQ3
NDBhNGU4Yy4uN2VhYTkxMWJiOTJiMDhmMDFiN2Q5OTI2NmQwMTNhNDc2YzdkZDViOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgKQEAgLTQ4
LDggKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQgdXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdl
ZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgdXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9s
bGJhciYpICBvdmVycmlkZTsKIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVs
YXkoKSBvdmVycmlkZTsKLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlk
ZTsKKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwor
ICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZTsKIAogICAgIFNjcm9s
bGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0K
aW5kZXggYjJlMTYxOGMwMzJmYjdjNjVmMWZlMTkxN2YyMDRlMjk2NzRjMzg5Zi4uNDM1NDljYjU2
MTk4M2Q1MzA3NDM5YzM2MjkzNjA0M2IxNjBiNWFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQpAQCAtMTMwLDggKzEzMCw4IEBAIHN0
YXRpYyBjb25zdCBpbnQgY0J1dHRvbkxlbmd0aFtdID0geyAxNCwgMTAgfTsKIHN0YXRpYyBjb25z
dCBpbnQgY091dGVyQnV0dG9uTGVuZ3RoW10gPSB7IDE2LCAxNCB9OyAvLyBUaGUgb3V0ZXIgYnV0
dG9uIGluIGEgZG91YmxlIGJ1dHRvbiBwYWlyIGlzIGEgYml0IGJpZ2dlci4KIHN0YXRpYyBjb25z
dCBpbnQgY091dGVyQnV0dG9uT3ZlcmxhcCA9IDI7CiAKLXN0YXRpYyBmbG9hdCBnSW5pdGlhbEJ1
dHRvbkRlbGF5ID0gMC41ZjsKLXN0YXRpYyBmbG9hdCBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0g
MC4wNWY7CitzdGF0aWMgU2Vjb25kcyBnSW5pdGlhbEJ1dHRvbkRlbGF5ID0gMC41X3M7CitzdGF0
aWMgU2Vjb25kcyBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0gMC4wNV9zOwogc3RhdGljIGJvb2wg
Z0p1bXBPblRyYWNrQ2xpY2sgPSBmYWxzZTsKIHN0YXRpYyBib29sIGdVc2VzT3ZlcmxheVNjcm9s
bGJhcnMgPSBmYWxzZTsKIApAQCAtMjM0LDggKzIzNCw4IEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVN
YWM6OnByZWZlcmVuY2VzQ2hhbmdlZCgpCiB7CiAgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRz
ID0gW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKICAgICBbZGVmYXVsdHMg
c3luY2hyb25pemVdOwotICAgIGdJbml0aWFsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRG
b3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uRGVsYXkiXTsKLSAgICBnQXV0b3Njcm9sbEJ1dHRvbkRl
bGF5ID0gW2RlZmF1bHRzIGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvblBlcmlvZCJdOwor
ICAgIGdJbml0aWFsQnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpA
Ik5TU2Nyb2xsZXJCdXR0b25EZWxheSJdKTsKKyAgICBnQXV0b3Njcm9sbEJ1dHRvbkRlbGF5ID0g
U2Vjb25kcyhbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0dG9uUGVyaW9kIl0p
OwogICAgIGdKdW1wT25UcmFja0NsaWNrID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6QCJBcHBsZVNj
cm9sbGVyUGFnaW5nQmVoYXZpb3IiXTsKICAgICB1c2VzT3ZlcmxheVNjcm9sbGJhcnNDaGFuZ2Vk
KCk7CiB9CkBAIC0yNzcsMTIgKzI3NywxMiBAQCB2b2lkIFNjcm9sbGJhclRoZW1lTWFjOjp1cGRh
dGVTY3JvbGxiYXJPdmVybGF5U3R5bGUoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpCiAgICAgRU5EX0JM
T0NLX09CSkNfRVhDRVBUSU9OUzsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lTWFjOjppbml0
aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQorU2Vjb25kcyBTY3JvbGxiYXJUaGVtZU1hYzo6aW5p
dGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0luaXRpYWxCdXR0b25E
ZWxheTsKIH0KIAotZG91YmxlIFNjcm9sbGJhclRoZW1lTWFjOjphdXRvc2Nyb2xsVGltZXJEZWxh
eSgpCitTZWNvbmRzIFNjcm9sbGJhclRoZW1lTWFjOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7
CiAgICAgcmV0dXJuIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcAppbmRl
eCA5MjJhZDQzOTdhMDRjMDU1NjFjN2MxZDYwNjdhZGVjNTE1OWYyMzU0Li5iZjI3M2JlZjk0YTg0
YWM3MGQwYjQ0ZTFhMDI2OTZmMTQwMDIzOWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVudE1vY2suY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5
LDcgQEAgdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjpzZXRNb3Rpb24oUGFzc1JlZlB0cjxE
ZXZpY2VNb3Rpb25EYXRhPiBtb3Rpb24pCiB7CiAgICAgbV9tb3Rpb24gPSBtb3Rpb247CiAgICAg
aWYgKG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBEZXZpY2VNb3Rpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2Nr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRpb25DbGll
bnRNb2NrLmNwcAppbmRleCBhZjBhODM0YzMyMDQyMmIzZTFmYTQzMGVlMWUyNjcyZDhkNjEwMWMy
Li4yMWRmZWRkMzZhNTc1NDhkYTg2YTk1NTU2ZmRhYWIyMWMyMTBiYjg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwCkBAIC01OSw3ICs1OSw3IEBAIHZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGll
bnRNb2NrOjpzZXRPcmllbnRhdGlvbihQYXNzUmVmUHRyPERldmljZU9yaWVudGF0aW9uRGF0CiB7
CiAgICAgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogICAgIGlmIChtX2lzVXBkYXRpbmcg
JiYgIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAppbmRleCBiN2NmYjli
ZTA2ZGNiZmZjN2MxNmIzY2ZlNzQ2NTAxMzBmYTcwMGU1Li43NTRhODI1Y2FlNTQ0NzllMTRkZDFl
MzAwYzQyY2QxMmUzZmM5ODg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgdm9p
ZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6OmFzeW5jVXBkYXRlUGVybWlzc2lvbigpCiB7CiAgICAg
QVNTRVJUKG1fcGVybWlzc2lvblN0YXRlICE9IFBlcm1pc3Npb25TdGF0ZVVuc2V0KTsKICAgICBp
ZiAoIW1fcGVybWlzc2lvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcGVybWlzc2lvblRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRNb2NrOjpwZXJtaXNzaW9uVGlt
ZXJGaXJlZCgpCkBAIC0xNjUsNyArMTY1LDcgQEAgdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6
OmFzeW5jVXBkYXRlQ29udHJvbGxlcigpCiB7CiAgICAgQVNTRVJUKG1fY29udHJvbGxlcik7CiAg
ICAgaWYgKG1faXNBY3RpdmUgJiYgIW1fY29udHJvbGxlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fY29udHJvbGxlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9jb250cm9s
bGVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb25DbGllbnRN
b2NrOjpjb250cm9sbGVyVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCmlu
ZGV4IDFhNjBjYTI0YmJjNjA5NmI3YTk1ZTIxMDY2MDQ5NTEyZmUyZjI1NWIuLmE3NmJjMjZmYTYw
NGQwMzM4MWE1MzUzZmFiZWZkYTg1ZmU5OGIwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2su
Y3BwCkBAIC0zNyw3ICszNyw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGltZXJJbnRlcnZhbCA9IDEuMCAv
IDEwLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4xX3M7CiAKIE1l
ZGlhUGxheWJhY2tUYXJnZXRQaWNrZXJNb2NrOjpNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9j
ayhNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyOjpDbGllbnQmIGNsaWVudCkKICAgICA6IE1lZGlh
UGxheWJhY2tUYXJnZXRQaWNrZXIoY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFFbmRwb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcAppbmRleCA2MGJiMDE4MWFlOGNkM2I3N2I4
OWVkZjQ5YTM2NTM4NGYyZTBkZTU5Li5jODMxMGRmMTU0MWU1YTE1NzE2MDJmMzA1MzgwNTVkMTRm
MjYxYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRp
YUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRp
YUVuZHBvaW50LmNwcApAQCAtMjQ1LDcgKzI0NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6
OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8gdXNl
IHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2Zha2VJY2VD
YW5kaWRhdGVzLnJldmVyc2UoKTsKIAotICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1faWNlQ2FuZGlkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAK
IHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQoKQpAQCAtMjU1
LDcgKzI1NSw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmly
ZWQoKQogCiAgICAgaWYgKCFtX2Zha2VJY2VDYW5kaWRhdGVzLmlzRW1wdHkoKSkgewogICAgICAg
ICBtX2NsaWVudC5nb3RJY2VDYW5kaWRhdGUobV9taWRzWzBdLCBtX2Zha2VJY2VDYW5kaWRhdGVz
LnRha2VMYXN0KCkpOwotICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9
IGVsc2UKICAgICAgICAgbV9jbGllbnQuZG9uZUdhdGhlcmluZ0NhbmRpZGF0ZXMobV9taWRzWzBd
KTsKIH0KQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjpzdGVwSWNl
VHJhbnNwb3J0U3RhdGVzKCkKICAgICAvLyBSZXZlcnNlIG9yZGVyIHRvIHVzZSB0YWtlTGFzdCgp
IHdoaWxlIGtlZXBpbmcgdGhlIGFib3ZlIG9yZGVyCiAgICAgbV9pY2VUcmFuc3BvcnRTdGF0ZUNo
YW5nZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgpCkBAIC0zMDUsNyAr
MzA1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlVHJhbnNwb3J0VGltZXJGaXJlZCgp
CiAgICAgYXV0byBzdGF0ZUNoYW5nZSA9IG1faWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VzLnRha2VM
YXN0KCk7CiAgICAgbV9jbGllbnQuaWNlVHJhbnNwb3J0U3RhdGVDaGFuZ2VkKHN0YXRlQ2hhbmdl
LmZpcnN0LCBzdGF0ZUNoYW5nZS5zZWNvbmQpOwogCi0gICAgbV9pY2VUcmFuc3BvcnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VUcmFuc3BvcnRUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlUmVtb3RlU291cmNlc0J5TWlk
KCkKQEAgLTMyMCw3ICszMjAsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1v
dGVTb3VyY2VzQnlNaWQoKQogICAgIGZvciAoaW50IGkgPSBtX21pZHMuc2l6ZSgpIC0gMTsgaSA+
PSAwOyAtLWkpCiAgICAgICAgIG1fbWlkc09mU291cmNlc1RvVW5tdXRlLmFwcGVuZChtX21pZHNb
aV0pOwogCi0gICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV91bm11dGVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6dW5t
dXRlVGltZXJGaXJlZCgpCkBAIC0zMzAsNyArMzMwLDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2lu
dDo6dW5tdXRlVGltZXJGaXJlZCgpCiAgICAgICAgIHNvdXJjZS0+c2V0TXV0ZWQoZmFsc2UpOwog
CiAgICAgaWYgKCFtX21pZHNPZlNvdXJjZXNUb1VubXV0ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1f
dW5tdXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3Bw
CmluZGV4IGVmOTcyNzZhNDQzNDJhYmM1Yzc1YWVhNGUzNjE3MTQ0MWI0Y2RjNmUuLjY0YTM1YTZk
MjdiY2U5NWM2NTliYzU5MWJlNTA5MDRiYTgxMzYwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuY3BwCkBAIC04
NCw3ICs4NCw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5n
RGF0YSgpCiAgICAgfQogCiAgICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2lu
Z1RpbWUoKTsKLSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMobHJvdW5kKDEwMDAgLyBmcmFtZVJhdGUoKSkpKTsKKyAgICBtX3RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMoKGxyb3VuZCgxMDAwIC8gZnJhbWVSYXRl
KCkpKSkpOwogfQogCiB2b2lkIE1vY2tSZWFsdGltZVZpZGVvU291cmNlOjpzdG9wUHJvZHVjaW5n
RGF0YSgpCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6
aW5pdGlhbGl6ZVN1cHBvcnRlZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2UKIGJvb2wg
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5RnJhbWVSYXRlKGRvdWJsZSByYXRlKQogewog
ICAgIGlmIChtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRp
bmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIHJhdGUpKSk7CisgICAg
ICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhscm91
bmQoMTAwMCAvIHJhdGUpKSk7CiAKICAgICB1cGRhdGVTYW1wbGVCdWZmZXIoKTsKICAgICByZXR1
cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svUGxhdGZv
cm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKaW5kZXggZjNiYzcxYzBmNzMzZDI4
MzNlYzM0ODVlODk0OTQ0OGQzOGRkM2YxMS4uZDhhN2MwODk3Zjk4NWRmYzhjNWY3ZWE0MWQ4MGM4
NjU5M2YxMGYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9QbGF0
Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAKQEAgLTY4LDcgKzY4LDcg
QEAgdm9pZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6c3BlYWsoUmVmUHRyPFBsYXRm
b3JtU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmMKICAgICBjbGllbnQoKS0+Ym91bmRhcnlFdmVudE9j
Y3VycmVkKCptX3V0dGVyYW5jZSwgU3BlZWNoU2VudGVuY2VCb3VuZGFyeSwgbV91dHRlcmFuY2Ut
PnRleHQoKS5sZW5ndGgoKSk7CiAKICAgICAvLyBHaXZlIHRoZSBmYWtlIHNwZWVjaCBqb2Igc29t
ZSB0aW1lIHNvIHRoYXQgcGF1c2UgYW5kIG90aGVyIGZ1bmN0aW9ucyBoYXZlIHRpbWUgdG8gYmUg
Y2FsbGVkLgotICAgIG1fc3BlYWtpbmdGaW5pc2hlZFRpbWVyLnN0YXJ0T25lU2hvdCguMSk7Cisg
ICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKIH0KIAogdm9p
ZCBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jazo6Y2FuY2VsKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svVGltZXJFdmVudEJhc2VkTW9jay5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKaW5kZXggZGUwZThh
OWZkNjU5NmIyZTJhYjczNzAzMDQ3ZGU1ZWQzN2ZmZWNhYy4uODYzZjlkNjViNzY5MDE2ZDBkOTdj
ZDI2ODliMmQ0ZmY1NzY2MmFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9UaW1lckV2ZW50QmFzZWRNb2NrLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAg
ICAgICAsIG1fdGltZXIoKnRoaXMsICZUaW1lckV2ZW50Ojp0aW1lckZpcmVkKQogICAgICAgICAs
IG1fbm90aWZpZXIobm90aWZpZXIpCiAgICAgewotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwLjUpOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjVfcyk7CiAgICAgfQogCiAg
ICAgdmlydHVhbCB+VGltZXJFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKaW5kZXggNTg3NzNhYTMzMjkxY2E3YTY4OTU3
NTg2ZWU4MjAzYzZiYWMyY2ZmMy4uZTFjNDEwZWQxNTI1OGFjYWYzZjBjMzkxOWQ4NWEwODJhMDky
N2Q5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlNSZXNv
bHZlUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVz
b2x2ZVF1ZXVlLmNwcApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0
aWMgY29uc3QgaW50IGdOYW1lc1RvUmVzb2x2ZUltbWVkaWF0ZWx5ID0gNDsKIAogLy8gQ29hbGVz
Y2UgcHJlZmV0Y2ggcmVxdWVzdHMgZm9yIHRoaXMgbG9uZyBiZWZvcmUgc2VuZGluZyB0aGVtIG91
dC4KLXN0YXRpYyBjb25zdCBkb3VibGUgZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMgPSAxLjA7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBjb2FsZXNjZURlbGF5ID0gMV9zOwogCiAvLyBTZW5kaW5nIG1h
bnkgRE5TIHJlcXVlc3RzIGF0IG9uY2UgY2FuIG92ZXJ3aGVsbSBzb21lIGdhdGV3YXlzLiBTZWUg
PHJkYXI6Ly84MTA1NTUwPiBmb3Igc3BlY2lmaWMgQ0ZORVQgaXNzdWVzIHdpdGggQ0ZIb3N0IHRo
cm90dGxpbmcuCiBzdGF0aWMgY29uc3QgaW50IGdNYXhTaW11bHRhbmVvdXNSZXF1ZXN0cyA9IDg7
CkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91c1JlcXVl
c3RzID0gODsKIHN0YXRpYyBjb25zdCBpbnQgZ01heFJlcXVlc3RzVG9RdWV1ZSA9IDY0OwogCiAv
LyBJZiB0aGVyZSB3ZXJlIHF1ZXVlZCBuYW1lcyB0aGF0IGNvdWxkbid0IGJlIHNlbnQgc2ltdWx0
YW5lb3VzbHksIGNoZWNrIHRoZSBzdGF0ZSBvZiByZXNvbHZlcnMgYWZ0ZXIgdGhpcyBkZWxheS4K
LXN0YXRpYyBjb25zdCBkb3VibGUgZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzID0gMC4xOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgcmV0cnlSZXNvbHZpbmdEZWxheSA9IDAuMV9zOwogCiBETlNSZXNv
bHZlUXVldWUmIEROU1Jlc29sdmVRdWV1ZTo6c2luZ2xldG9uKCkKIHsKQEAgLTEwMSw3ICsxMDEs
NyBAQCB2b2lkIEROU1Jlc29sdmVRdWV1ZTo6YWRkKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAg
ICAgaWYgKG1fbmFtZXMuc2l6ZSgpIDwgZ01heFJlcXVlc3RzVG9RdWV1ZSkgewogICAgICAgICBt
X25hbWVzLmFkZChob3N0bmFtZSk7CiAgICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ0NvYWxlc2NlRGVsYXlJblNlY29uZHMp
OworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoY29hbGVzY2VEZWxheSk7CiAgICAg
fQogfQogCkBAIC0xMjIsNyArMTIyLDcgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnRpbWVyRmly
ZWQoKQogICAgIH0KIAogICAgIGlmICghbV9uYW1lcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KGdSZXRyeVJlc29sdmluZ0luU2Vjb25kcyk7CisgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KHJldHJ5UmVzb2x2aW5nRGVsYXkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Rh
dGFVUkxEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVS
TERlY29kZXIuY3BwCmluZGV4IGFiZmI0NmNlY2Y4MjE0M2I5ZmZhY2QwMWJlNTc4NmE1M2EwMDhl
YzAuLjQ1Y2ExYzVjMzYyYjU0NWU4N2VkYzhjZGIzNWYyMjAyOGJjMjZkYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwCkBAIC03
OSw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJlZigpOwogCiAgICAgICAgIGF1dG8gc2No
ZWR1bGVkUGFpcnMgPSBtX2RlY29kZVRhc2stPnNjaGVkdWxlQ29udGV4dC5zY2hlZHVsZWRQYWly
czsKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAgICAgICAgIG1fdGltZXIuc2NoZWR1bGUoc2NoZWR1bGVkUGFpcnMp
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Q
aW5nSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUu
aAppbmRleCBjZDlmMmJmOTYwMDYzZTcwM2Y4YzNmMGI4ZDAxMWYyYmI5Y2IxYmQxLi4xYTBkNWNl
NjIzYWRmOGEzNDA1M2Q2ZmFlOGQwZjc2MzkwMmJkMTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAK
ICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2ls
bCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRp
bWVvdXQsIGp1c3QgaW4gY2FzZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90
KDYwMDAwKTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDEwMDBfbWluKTsK
ICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDY0N2Y2MDQxOWJmY2QwZmVlNjM3NWQ5ZDE4ODA3
NjU5MmExZjkyMGMuLjAwYzBkMDI5Y2M2ZmMyYzFjY2E3OTdjOTkyODE0ZDA3MDQ3N2U3NzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCkBAIC0xMDUsNyArMTA1LDcgQEAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBSZXNvdXJjZUhh
bmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdAogdm9pZCBSZXNv
dXJjZUhhbmRsZTo6c2NoZWR1bGVGYWlsdXJlKEZhaWx1cmVUeXBlIHR5cGUpCiB7CiAgICAgZC0+
bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSA9IHR5cGU7Ci0gICAgZC0+bV9mYWlsdXJlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCgpCkBAIC0yNTgsNyAr
MjU4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVy
cykKICAgICAgICAgICAgIGQtPm1fZmFpbHVyZVRpbWVyLnN0b3AoKTsKICAgICB9IGVsc2UgaWYg
KGQtPm1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKSB7CiAgICAgICAgIEFTU0VS
VCghZC0+bV9mYWlsdXJlVGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIGQtPm1fZmFpbHVyZVRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAgICAgfQogCiAgICAgcGxhdGZvcm1TZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9OZXR3b3Jr
U3RhdGVOb3RpZmllck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21h
Yy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKaW5kZXggNTVhZGUyMThjMTM4ODhjMGNjMjZl
YmVjYjc5MjYzZGNhNzAwOTE2ZC4uZDRkOThkYTMxZjY1NzYxM2I1ZWQ4ZDZkYjIyZmY5Yjc1YjAx
ZTQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0
d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcApAQCAtMzEsNyArMzEsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgU3RhdGVDaGFuZ2VU
aW1lckludGVydmFsID0gMi4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3RhdGVDaGFuZ2VUaW1l
ckludGVydmFsID0gMl9zOwogCiB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjp1cGRhdGVTdGF0
ZSgpCiB7CkBAIC03OCw3ICs3OCw3IEBAIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFt
aWNTdG9yZUNhbGxiYWNrKFNDRHluYW1pY1N0b3JlUmVmLCBDRkFycmF5UmVmLCB2CiAgICAgCiAg
ICAgLy8gQ2FsbGluZyB1cGRhdGVTdGF0ZSgpIGNvdWxkIGJlIGV4cGVuc2l2ZSBzbyB3ZSBzY2hl
ZHVsZSBhIHRpbWVyIHRoYXQgd2lsbCBkbyBpdCAKICAgICAvLyB3aGVuIHRoaW5ncyBoYXZlIGNv
b2xlZCBkb3duLgotICAgIG5vdGlmaWVyLT5tX25ldHdvcmtTdGF0ZUNoYW5nZVRpbWVyLnN0YXJ0
T25lU2hvdChTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwpOworICAgIG5vdGlmaWVyLT5tX25ldHdv
cmtTdGF0ZUNoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdChzdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwp
OwogfQogCiB2b2lkIE5ldHdvcmtTdGF0ZU5vdGlmaWVyOjpuZXR3b3JrU3RhdGVDaGFuZ2VUaW1l
ckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggODg3YTllZDc5NWQxY2I0ZTU4Y2Nk
ZGU1NmUzODhkOTljZGMwYmYzZS4uZWNmMTg0Y2U0MGJkZjllYzRkMzFiZjczMjA2MzM3NzEyMmRl
OWI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jl
c291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTc1MCw3ICs3NTAsNyBAQCB2b2lkIFJl
c291cmNlSGFuZGxlOjpzZW5kUGVuZGluZ1JlcXVlc3QoKQogI2VuZGlmCiAKICAgICBpZiAoZC0+
bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkgPiAwKQotICAgICAgICBkLT5tX3RpbWVv
dXRTb3VyY2Uuc3RhcnRPbmVTaG90KGQtPm1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgp
KTsKKyAgICAgICAgZC0+bV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChTZWNvbmRzKGQtPm1f
Zmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpKSk7CiAKICAgICAvLyBCYWxhbmNlZCBieSBh
IGRlcmVmKCkgaW4gY2xlYW51cFNvdXBSZXF1ZXN0T3BlcmF0aW9uLCB3aGljaCBzaG91bGQgYWx3
YXlzIHJ1bi4KICAgICByZWYoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAKaW5kZXggZmM4N2I3MDMyOTIzODcx
NmQxYzYzNTg3OGNlMDc5MmRiYjdkZmQzMi4uOWVhNDE3ZGQwMzBhMWNmNDlhZWY1NWRjNjRiZWFh
YTRhZGM0YWRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL01lbW9y
eVByZXNzdXJlSGFuZGxlcldpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIE1l
bW9yeVByZXNzdXJlSGFuZGxlcjo6aW5zdGFsbCgpCiB7CiAgICAgbV9pbnN0YWxsZWQgPSB0cnVl
OwogICAgIG1lbUNoZWNrVGltZXIoKSA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hlY2tNZW1vcnlUaW1l
cj4oKnRoaXMpOwotICAgIG1lbUNoZWNrVGltZXIoKS0+c3RhcnRSZXBlYXRpbmcoNjAuMCk7Cisg
ICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVhdGluZygxX21pbik7CiB9CiAKIHZvaWQgTWVt
b3J5UHJlc3N1cmVIYW5kbGVyOjp1bmluc3RhbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCmluZGV4IGExZmU4ZmNjMWM4OGYy
NmUxNmE2M2YxMmI2NDMyZDVhMGU4MWNlZDYuLjVmNWQwNzY1NzljMjEwNDA3YzBiY2ZjNmI1ODYy
NzM5MGQ3MjkyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbWFnZVF1
YWxpdHlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VR
dWFsaXR5Q29udHJvbGxlci5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogc3RhdGljIGNvbnN0IGRvdWJsZSBjSW50ZXJwb2xhdGlvbkN1dG9mZiA9IDgwMC4gKiA4
MDAuOwotc3RhdGljIGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUw
MDsgLy8gNTAwIG1zCitzdGF0aWMgY29uc3QgU2Vjb25kcyBsb3dRdWFsaXR5VGltZVRocmVzaG9s
ZCA9IDAuNV9zOwogCiBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpJbWFnZVF1YWxpdHlDb250cm9s
bGVyKGNvbnN0IFJlbmRlclZpZXcmIHJlbmRlclZpZXcpCiAgICAgOiBtX3JlbmRlclZpZXcocmVu
ZGVyVmlldykKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpo
aWdoUXVhbGl0eVJlcGFpbnRUaW1lckZpcmVkKCkKIAogdm9pZCBJbWFnZVF1YWxpdHlDb250cm9s
bGVyOjpyZXN0YXJ0VGltZXIoKQogewotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KGNMb3dRdWFs
aXR5VGltZVRocmVzaG9sZCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QobG93UXVhbGl0eVRp
bWVUaHJlc2hvbGQpOwogfQogCiBzdGQ6Om9wdGlvbmFsPEludGVycG9sYXRpb25RdWFsaXR5PiBJ
bWFnZVF1YWxpdHlDb250cm9sbGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHlsZShjb25z
dCBSZW5kZXJTdHlsZSYgc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDYzNDIyMTM1YzFhMzljNTlhY2Y1OTIzOTE3
MWMzMWNhZTM1MGNjMjQuLjk1ODBlNDBiMjNmOGQ0Y2JkMWM4MjgwZDRhNWJlN2Y5NWFjOWY2MmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCkBAIC05MiwxMSArOTIsMTEgQEAgc3RhdGljIGNvbnN0IGludCBjYW52YXNBcmVhVGhy
ZXNob2xkUmVxdWlyaW5nQ29tcG9zaXRpbmcgPSA1MCAqIDEwMDsKICNlbmRpZgogLy8gRHVyaW5n
IHBhZ2UgbG9hZGluZyBkZWxheSBsYXllciBmbHVzaGVzIHVwIHRvIHRoaXMgbWFueSBzZWNvbmRz
IHRvIGFsbG93IHRoZW0gY29hbGVzY2UsIHJlZHVjaW5nIHdvcmtsb2FkLgogI2lmIFBMQVRGT1JN
KElPUykKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxh
eSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkgPSAx
LjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5pdGlhbERlbGF5
ID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoRGVsYXkg
PSAxLjVfczsKICNlbHNlCi1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVyRmx1c2hJ
bml0aWFsRGVsYXkgPSAuNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0bGVkTGF5ZXJGbHVz
aERlbGF5ID0gLjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZsdXNoSW5p
dGlhbERlbGF5ID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aHJvdHRsZWRMYXllckZs
dXNoRGVsYXkgPSAwLjVfczsKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwpA
QCAtNjM0LDcgKzYzNCw3IEBAIFJlbmRlckxheWVyQ29tcG9zaXRvciogUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjplbmNsb3NpbmdDb21wb3NpdG9yRmx1c2hpbmdMYXllcnMoCiB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKCkKIHsKICAgICBp
ZiAoIW1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCmluZGV4IDYw
NTlkMjZkMWRmY2ZiMzYxNWJiYmJlMTZjZmQyM2UyNWRkZmMxNTcuLmI3NDA5N2NmMjFlMWE4MjI1
YTZhZWQ4ZmQ5YTNiMmE5YTUyZTlhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5jcHAKQEAgLTE2OCw3ICsxNjgsNyBAQCB2b2lkIFJlbmRlck1hcnF1ZWU6OnN0
YXJ0KCkKICAgICAgICAgbV9zdG9wcGVkID0gZmFsc2U7CiAgICAgfQogCi0gICAgbV90aW1lci5z
dGFydFJlcGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgIG1fdGltZXIuc3RhcnRSZXBlYXRp
bmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhzcGVlZCgpKSk7CiB9CiAKIHZvaWQgUmVuZGVy
TWFycXVlZTo6c3VzcGVuZCgpCkBAIC0yMzAsNyArMjMwLDcgQEAgdm9pZCBSZW5kZXJNYXJxdWVl
Ojp1cGRhdGVNYXJxdWVlU3R5bGUoKQogICAgIGlmIChzcGVlZCgpICE9IG1hcnF1ZWVTcGVlZCgp
KSB7CiAgICAgICAgIG1fc3BlZWQgPSBtYXJxdWVlU3BlZWQoKTsKICAgICAgICAgaWYgKG1fdGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3BlZWQo
KSAqIDAuMDAxKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6
ZnJvbU1pbGxpc2Vjb25kcyhzcGVlZCgpKSk7CiAgICAgfQogICAgIAogICAgIC8vIENoZWNrIHRo
ZSBsb29wIGNvdW50IHRvIHNlZSBpZiB3ZSBzaG91bGQgbm93IHN0b3AuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCmluZGV4IDQ3NTA2
YWNkMzNiNzA3NDM1ZTU5ZTE2NWNjNjA3MDNmZTY0ZTQ2ZTYuLjg2OWFmNDJhMDk5ODI2NmViMGY2
NWMzZjEwZjk3Mzg4MWE2MTU1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgdm9pZCBSZW5k
ZXJOYW1lZEZsb3dUaHJlYWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVk
ZWQoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2hhbmdlUmVnaW9uT3ZlcnNl
dChkb2N1bWVudCgpLCBuYW1lZEZsb3coKSk7CiAgICAgCiAgICAgaWYgKCFtX3JlZ2lvbk92ZXJz
ZXRDaGFuZ2VFdmVudFRpbWVyLmlzQWN0aXZlKCkgJiYgbmFtZWRGbG93KCkuaGFzRXZlbnRMaXN0
ZW5lcnMoKSkKLSAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZlbnRUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpyZWdpb25PdmVy
c2V0Q2hhbmdlRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUHJvZ3Jlc3MuY3BwCmluZGV4IDlhMWYyNDBmYTVmOWFmZjg3MDFjMTM0OGNjYzU3ZDM2YWIz
ZTBiODQuLjUxYTMwOGZiYTM3MGM0Nzk4OWM4YzVjZWFlMGIwODc3NDJjOWM3Y2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcApAQCAtODUsNyArODUsNyBA
QCB2b2lkIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25UaW1lckZpcmVkKCkKIHsKICAgICByZXBh
aW50KCk7CiAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgJiYgbV9hbmltYXRp
bmcpCi0gICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KG1fYW5pbWF0aW9uUmVw
ZWF0SW50ZXJ2YWwpOworICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNv
bmRzKG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBSZW5kZXJQcm9ncmVz
czo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQpAQCAtMTAwLDcgKzEwMCw3IEBAIHZvaWQgUmVuZGVy
UHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlvblN0YXRlKCkKICAgICBtX2FuaW1hdGluZyA9IGFuaW1h
dGluZzsKICAgICBpZiAobV9hbmltYXRpbmcpIHsKICAgICAgICAgbV9hbmltYXRpb25TdGFydFRp
bWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICAgICAgbV9hbmltYXRpb25U
aW1lci5zdGFydE9uZVNob3QobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1f
YW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRl
cnZhbCkpOwogICAgIH0gZWxzZQogICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0b3AoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVt
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKaW5k
ZXggZWQ0OWJlZGNiZGI2MTVkMGE3MzI3MTdkN2NhYTM4ZGJjYzhkZGI3Ny4uNDFiZDgyM2FhYTAx
NDY1NmIxMWFiNmQyNjE5ZGQxNmZhMGViNzg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmgKQEAgLTQ3LDggKzQ3LDggQEAgcHVibGljOgog
CiAgICAgU2Nyb2xsYmFyQnV0dG9uUHJlc3NBY3Rpb24gaGFuZGxlTW91c2VQcmVzc0V2ZW50KFNj
cm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50LCBTY3Jv
bGxiYXJQYXJ0IHByZXNzZWRQYXJ0KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6
dGhlbWUoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQoc2Nyb2xsYmFyLCBldmVudCwgcHJlc3NlZFBh
cnQpOyB9CiAKLSAgICBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJp
ZGUgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuaW5pdGlhbEF1dG9zY3JvbGxUaW1l
ckRlbGF5KCk7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7
IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9
CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJl
dHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXko
KTsgfQorICAgIFNlY29uZHMgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJldHVy
biBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5hdXRvc2Nyb2xsVGltZXJEZWxheSgpOyB9CiAKICAg
ICB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKSBvdmVycmlkZSB7
IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxi
YXIpOyB9CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFy
KSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS51bnJlZ2lzdGVyU2Ny
b2xsYmFyKHNjcm9sbGJhcik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNw
cAppbmRleCAzN2IwNzQxODc4YTFiZDk4MzhlYzYyNTNkZWQwNzE5MTAwMWZjYzQ4Li42Nzk1Zjcy
ODczMGEwYzRjZjY4M2RkNzlhNWFlZTAyNzI3ZjcwMDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5saW5lIFNlY3VyZVRleHRU
aW1lcjo6U2VjdXJlVGV4dFRpbWVyKFJlbmRlclRleHQmIHJlbmRlcmVyKQogaW5saW5lIHZvaWQg
U2VjdXJlVGV4dFRpbWVyOjpyZXN0YXJ0KHVuc2lnbmVkIG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hh
cmFjdGVyKQogewogICAgIG1fb2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIgPSBvZmZzZXRB
ZnRlckxhc3RUeXBlZENoYXJhY3RlcjsKLSAgICBzdGFydE9uZVNob3QobV9yZW5kZXJlci5mcmFt
ZSgpLnNldHRpbmdzKCkucGFzc3dvcmRFY2hvRHVyYXRpb25JblNlY29uZHMoKSk7CisgICAgc3Rh
cnRPbmVTaG90KFNlY29uZHMobV9yZW5kZXJlci5mcmFtZSgpLnNldHRpbmdzKCkucGFzc3dvcmRF
Y2hvRHVyYXRpb25JblNlY29uZHMoKSkpOwogfQogCiBpbmxpbmUgdW5zaWduZWQgU2VjdXJlVGV4
dFRpbWVyOjp0YWtlT2Zmc2V0QWZ0ZXJMYXN0VHlwZWRDaGFyYWN0ZXIoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCAzNTQ5OWJiZTY5MTFmNWZhOGMzZDAxMzhjZWY0
MGVjODI4ZjljMmJlLi44OWY0YjljOWU0OTRmZmRlZDU5M2QwY2UyNDA0YjBhZjIwMWJhNDE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMzUsNiArMzUsNyBAQAog
I2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC0xNzUsNyArMTc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmly
dHVhbCB2b2lkIHBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCk7CiAKLSAgICB2aXJ0dWFsIGRvdWJs
ZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0KKyAgICB2aXJ0dWFs
IFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4gMC41X3M7IH0KIAog
ICAgIC8vIFN5c3RlbSBmb250cyBhbmQgY29sb3JzIGZvciBDU1MuCiAgICAgdm9pZCBzeXN0ZW1G
b250KENTU1ZhbHVlSUQsIEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mKSBjb25zdDsKQEAgLTIwNCw4
ICsyMDUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHVzZXNNZWRpYUNvbnRyb2xTdGF0
dXNEaXNwbGF5KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgdXNlc01lZGlh
Q29udHJvbFZvbHVtZVNsaWRlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFs
IGJvb2wgdXNlc1ZlcnRpY2FsVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQot
ICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlSW5EdXJhdGlvbigpIHsgcmV0dXJu
IDAuMTsgfQotICAgIHZpcnR1YWwgZG91YmxlIG1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24o
KSB7IHJldHVybiAwLjM7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFDb250cm9sc0ZhZGVJ
bkR1cmF0aW9uKCkgeyByZXR1cm4gMC4xX3M7IH0KKyAgICB2aXJ0dWFsIFNlY29uZHMgbWVkaWFD
b250cm9sc0ZhZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuM19zOyB9CiAgICAgdmlydHVhbCBT
dHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc1RpbWUoZmxvYXQgdGltZSkgY29uc3Q7CiAgICAgdmly
dHVhbCBTdHJpbmcgZm9ybWF0TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lKGZsb2F0IGN1cnJlbnRU
aW1lLCBmbG9hdCBkdXJhdGlvbikgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0TWVk
aWFDb250cm9sc1JlbWFpbmluZ1RpbWUoZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9u
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCA5MWFj
MDgwMDIzODFmYTY1Y2YwYjI1YTU4YzkwMzFmOGFhNmQ4MTdkLi5lZTUzNmMwNDU3YTRlZWRiYWFh
ZjllZGNjZjkxMGUzYzg0Y2E3Zjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwCkBAIC0xNTEsNyArMTUxLDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpzY2hlZHVsZUxhenlS
ZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCiAgICAgcmVuZGVyZXIuc2V0UmVuZGVyQm94TmVl
ZHNMYXp5UmVwYWludCh0cnVlKTsKICAgICBtX3JlbmRlcmVyc05lZWRpbmdMYXp5UmVwYWludC5h
ZGQoJnJlbmRlcmVyKTsKICAgICBpZiAoIW1fbGF6eVJlcGFpbnRUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2xhenlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xh
enlSZXBhaW50VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVuZGVyVmlldzo6
dW5zY2hlZHVsZUxhenlSZXBhaW50KFJlbmRlckJveCYgcmVuZGVyZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcAppbmRleCA5OTY0OWJmZTI5MDM2
Njc2YWQ0OTY4YTM2ZGYxZjVjM2M2MmUwZWQ5Li41YjQzNDlmYTkzNGYzMmI0MTA5NWQ1YTBmODQ0
OTY5MTRmODdmNTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5n
SW5wdXRDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1
dEN1cnNvci5jcHAKQEAgLTU4LDExICs1OCw4IEBAIHZvaWQgQ2FwdHVyaW5nSW5wdXRDdXJzb3I6
OnN0b3JlSW5wdXQoc3RkOjp1bmlxdWVfcHRyPE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2U+CiB7
CiAgICAgQVNTRVJUX0FSRyhpbnB1dCwgaW5wdXQpOwogCi0gICAgaWYgKGlucHV0LT5xdWV1ZSgp
ID09IElucHV0UXVldWU6OkV2ZW50TG9vcElucHV0KSB7Ci0gICAgICAgIC8vIEZJWE1FOiByZXdy
aXRlIHRoaXMgKGFuZCByZWxhdGVkIGRpc3BhdGNoIGNvZGUpIHRvIHVzZSBzdGQ6OmNocm9uby4K
LSAgICAgICAgZG91YmxlIG5vdyA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAg
ICAgICBtX3NlZ21lbnQtPmV2ZW50TG9vcFRpbWluZ3MoKS5hcHBlbmQobm93KTsKLSAgICB9Cisg
ICAgaWYgKGlucHV0LT5xdWV1ZSgpID09IElucHV0UXVldWU6OkV2ZW50TG9vcElucHV0KQorICAg
ICAgICBtX3NlZ21lbnQtPmV2ZW50TG9vcFRpbWluZ3MoKS5hcHBlbmQoTW9ub3RvbmljVGltZTo6
bm93KCkpOwogCiAgICAgbV9zZWdtZW50LT5zdG9yYWdlKCkuc3RvcmUoV1RGTW92ZShpbnB1dCkp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlz
cGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRj
aGVyLmNwcAppbmRleCA1MTAyOTNmYzE2YzY0YWM5YjVmYjUxZTdiOThkMDkwZDhiNTEzNjY3Li5i
MDdkMjZmZjg0ZjM4NzExZDM0NDM1YjQ2YmViMGJiMWVmMzI1YmJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcApAQCAtNTEsOCAr
NTEsNiBAQCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hl
cihQYWdlJiBwYWdlLCBSZXBsYXlpbmdJbnB1dEN1cgogICAgICwgbV90aW1lcigqdGhpcywgJkV2
ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6dGltZXJGaXJlZCkKICAgICAsIG1fc3BlZWQoRGlzcGF0
Y2hTcGVlZDo6RmFzdEZvcndhcmQpCiB7Ci0gICAgbV9jdXJyZW50V29yay5pbnB1dCA9IG51bGxw
dHI7Ci0gICAgbV9jdXJyZW50V29yay50aW1lc3RhbXAgPSAwLjA7CiB9CiAKIHZvaWQgRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyOjpydW4oKQpAQCAtOTEsNyArODksNyBAQCB2b2lkIEV2ZW50TG9v
cElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgIGlmIChtX3RpbWVyLmlz
QWN0aXZlKCkpCiAgICAgICAgIG1fdGltZXIuc3RvcCgpOwogCi0gICAgZG91YmxlIHdhaXRJbnRl
cnZhbCA9IDA7CisgICAgU2Vjb25kcyB3YWl0SW50ZXJ2YWw7CiAKICAgICBpZiAobV9zcGVlZCA9
PSBEaXNwYXRjaFNwZWVkOjpSZWFsVGltZSkgewogICAgICAgICAvLyBUaGUgZ29hbCBpcyB0byBy
ZXByb2R1Y2UgdGhlIGRpc3BhdGNoIGRlbGF5IGJldHdlZW4gaW5wdXRzIGFzIGl0IHdhcwpAQCAt
MTAyLDIyICsxMDAsMjIgQEAgdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNo
SW5wdXRTb29uKCkKICAgICAgICAgaWYgKCFtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXApCiAgICAg
ICAgICAgICBtX3ByZXZpb3VzSW5wdXRUaW1lc3RhbXAgPSBtX2N1cnJlbnRXb3JrLnRpbWVzdGFt
cDsKIAotICAgICAgICBkb3VibGUgdGFyZ2V0SW50ZXJ2YWwgPSBtX2N1cnJlbnRXb3JrLnRpbWVz
dGFtcCAtIG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcDsKLSAgICAgICAgZG91YmxlIGVsYXBzZWQg
PSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0
VGltZTsKKyAgICAgICAgU2Vjb25kcyB0YXJnZXRJbnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGlt
ZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOworICAgICAgICBTZWNvbmRzIGVsYXBz
ZWQgPSBNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fcHJldmlvdXNEaXNwYXRjaFN0YXJ0VGltZTsK
ICAgICAgICAgd2FpdEludGVydmFsID0gdGFyZ2V0SW50ZXJ2YWwgLSBlbGFwc2VkOwogICAgIH0K
IAogICAgIC8vIEEgbmVnYXRpdmUgd2FpdCB0aW1lIG1lYW5zIHRoYXQgZGlzcGF0Y2ggdG9vayBs
b25nZXIgb24gcmVwbGF5IHRoYW4gb24KICAgICAvLyBjYXB0dXJlLiBJbiB0aGlzIGNhc2UsIHBy
b2NlZWQgd2l0aG91dCB3YWl0aW5nIGF0IGFsbC4KLSAgICBpZiAod2FpdEludGVydmFsIDwgMCkK
LSAgICAgICAgd2FpdEludGVydmFsID0gMDsKKyAgICBpZiAod2FpdEludGVydmFsIDwgMF9zKQor
ICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwX3M7CiAKLSAgICBpZiAod2FpdEludGVydmFsID4gMTAw
MC4wKSB7CisgICAgaWYgKHdhaXRJbnRlcnZhbCA+IDEwMDBfcykgewogICAgICAgICBMT0dfRVJS
T1IoIiUtMjBzIFRyaWVkIHRvIHdhaXQgZm9yIG92ZXIgMTAwMCBzZWNvbmRzIGJlZm9yZSBkaXNw
YXRjaGluZyBuZXh0IGV2ZW50IGxvb3AgaW5wdXQ7IHRoaXMgaXMgcHJvYmFibHkgYSBidWcuIiwg
IlJlcGxheUV2ZW50cyIpOwotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOworICAgICAgICB3YWl0
SW50ZXJ2YWwgPSAwX3M7CiAgICAgfQogCi0gICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlU
OiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCB3YWl0SW50ZXJ2YWwgKiAxMDAwLjApOworICAg
IExPRyhXZWJSZXBsYXksICIlLTIwcyAoV0FJVDogJS4zZiBtcykiLCAiUmVwbGF5RXZlbnRzIiwg
U2Vjb25kcyh3YWl0SW50ZXJ2YWwgKiAxMDAwLjApLm1pbGxpc2Vjb25kcygpKTsKICAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdCh3YWl0SW50ZXJ2YWwpOwogfQogCkBAIC0xMjcsNyArMTI1LDcgQEAg
dm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXQoKQogICAgIEFTU0VS
VCghbV9kaXNwYXRjaGluZyk7CiAKICAgICBpZiAobV9zcGVlZCA9PSBEaXNwYXRjaFNwZWVkOjpS
ZWFsVGltZSkgewotICAgICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyAgICAgICAgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRU
aW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVz
dGFtcCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dl
YkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCmluZGV4IDIwNjdlNzhkNDNm
MjVhNWQyNWU0YzNmOWE1MjMyMzViMGM3OTVmMzQuLjU5MzJiNDJiNmQ0MmMzODIwOTRlNTQ4MTQz
NjBmMGRhYjZiNDQwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExv
b3BJbnB1dERpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFdmVudExvb3BJ
bnB1dC5oIgogI2luY2x1ZGUgIlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC04Niw5ICs4
Nyw5IEBAIHByaXZhdGU6CiAKICAgICBEaXNwYXRjaFNwZWVkIG1fc3BlZWQ7CiAgICAgLy8gVGhl
IHRpbWUgYXQgd2hpY2ggdGhlIGxhc3QgaW5wdXQgZGlzcGF0Y2goKSBtZXRob2Qgd2FzIGNhbGxl
ZC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lIHswLjB9OworICAgIE1v
bm90b25pY1RpbWUgbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgIC8vIFRoZSB0aW1l
c3RhbXAgc3BlY2lmaWVkIGJ5IHRoZSBsYXN0IGRpc3BhdGNoZWQgaW5wdXQuCi0gICAgZG91Ymxl
IG1fcHJldmlvdXNJbnB1dFRpbWVzdGFtcCB7MC4wfTsKKyAgICBNb25vdG9uaWNUaW1lIG1fcHJl
dmlvdXNJbnB1dFRpbWVzdGFtcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCmluZGV4IGYxOGRk
ZjQxZmNkYzA0NDZlZTQwMDhiODFiMzliZjZjNGE2NTE2MmEuLjI4MTFlNzRiZjAzZjc4NGMzMTZj
Y2Q5MWZiZTAwODQ4OWUzMWYzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxh
eVNlc3Npb25TZWdtZW50LmNwcApAQCAtNDcsOCArNDcsOCBAQCBSZWY8UmVwbGF5U2Vzc2lvblNl
Z21lbnQ+IFJlcGxheVNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQogCiBSZXBsYXlTZXNzaW9uU2Vn
bWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQoKQogICAgIDogbV9zdG9yYWdlKHN0ZDo6bWFrZV91
bmlxdWU8U2VnbWVudGVkSW5wdXRTdG9yYWdlPigpKQorICAgICwgbV90aW1lc3RhbXAoTW9ub3Rv
bmljVGltZTo6bm93KCkpCiAgICAgLCBtX2lkZW50aWZpZXIoc19uZXh0U2VnbWVudElkZW50aWZp
ZXIrKykKLSAgICAsIG1fdGltZXN0YW1wKGN1cnJlbnRUaW1lTVMoKSkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuaAppbmRleCBkNTYyYjUzYzA0
NDg0MTNmNDYzMjk5N2NhMTlmOTQ4ZGUyM2EyZDljLi5mNzY3NDJjNjU4ZWRjMDEyMzJjZTMzYmZl
Zjc5NGYzNTMzNjQ1N2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5
U2Vzc2lvblNlZ21lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lv
blNlZ21lbnQuaApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBA
IC01MSwyMCArNTIsMjEgQEAgcHVibGljOgogICAgIH5SZXBsYXlTZXNzaW9uU2VnbWVudCgpOwog
CiAgICAgdW5zaWduZWQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsg
fQotICAgIGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQor
ICAgIE1vbm90b25pY1RpbWUgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7
IH0KKwogcHJvdGVjdGVkOgogICAgIFNlZ21lbnRlZElucHV0U3RvcmFnZSYgc3RvcmFnZSgpIHsg
cmV0dXJuICptX3N0b3JhZ2U7IH0KLSAgICBWZWN0b3I8ZG91YmxlLCAwPiYgZXZlbnRMb29wVGlt
aW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29wVGltaW5nczsgfQorICAgIFZlY3RvcjxNb25vdG9u
aWNUaW1lLCAwPiYgZXZlbnRMb29wVGltaW5ncygpIHsgcmV0dXJuIG1fZXZlbnRMb29wVGltaW5n
czsgfQogCiBwcml2YXRlOgogICAgIFJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8U2VnbWVudGVkSW5wdXRTdG9yYWdlPiBtX3N0b3JhZ2U7Ci0gICAgVmVjdG9y
PGRvdWJsZSwgMD4gbV9ldmVudExvb3BUaW1pbmdzOworICAgIFZlY3RvcjxNb25vdG9uaWNUaW1l
LCAwPiBtX2V2ZW50TG9vcFRpbWluZ3M7CiAKKyAgICBNb25vdG9uaWNUaW1lIG1fdGltZXN0YW1w
OwogICAgIHVuc2lnbmVkIG1faWRlbnRpZmllcjsKICAgICBib29sIG1fY2FuQ2FwdHVyZSB7dHJ1
ZX07Ci0gICAgZG91YmxlIG1fdGltZXN0YW1wOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29y
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAppbmRleCA3
N2MzYjk0MjBjOGZhZDQ0ZGU1M2JjMDE1MmRiZTk3NmJkZDZiNjkyLi4wZmVkMTA5MjgxMDdiM2U4
NGJhZTk1ZWMyMzc3ZTBkYzc3OTUxYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBs
YXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVw
bGF5aW5nSW5wdXRDdXJzb3IuaApAQCAtMzAsNiArMzAsNyBAQAogI2lmIEVOQUJMRShXRUJfUkVQ
TEFZKQogCiAjaW5jbHVkZSA8cmVwbGF5L0lucHV0Q3Vyc29yLmg+CisjaW5jbHVkZSA8d3RmL01v
bm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQxLDggKzQyLDggQEAgY2xhc3MgUGFnZTsKIGNsYXNzIFJlcGxheVNlc3Npb25T
ZWdtZW50OwogCiBzdHJ1Y3QgRXZlbnRMb29wSW5wdXREYXRhIHsKLSAgICBFdmVudExvb3BJbnB1
dEJhc2UqIGlucHV0OwotICAgIGRvdWJsZSB0aW1lc3RhbXA7CisgICAgRXZlbnRMb29wSW5wdXRC
YXNlKiBpbnB1dCB7IG51bGxwdHIgfTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcDsKIH07
CiAKIGNsYXNzIFJlcGxheWluZ0lucHV0Q3Vyc29yIGZpbmFsIDogcHVibGljIElucHV0Q3Vyc29y
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKaW5kZXggODIyNzBhZGQwZjJmMGNmM2Vj
ZGQ3NjU0OGUwNWMxNDE4MjBiODVlNi4uMzA4MGQ2YThiMTZiZjg3MTQxOGE3Zjg4N2I3MWVhODE4
MjE5NGY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTY29wZS5jcHAKQEAgLTUwNyw3ICs1MDcs
NyBAQCB2b2lkIFNjb3BlOjpzY2hlZHVsZVVwZGF0ZShVcGRhdGVUeXBlIHVwZGF0ZSkKIAogICAg
IGlmIChtX3BlbmRpbmdVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47Ci0g
ICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVuZGluZ1Vw
ZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjb3BlOjpkaWRDaGFuZ2VB
Y3RpdmVTdHlsZVNoZWV0Q2FuZGlkYXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKaW5k
ZXggZjA0MTVmY2EzMGY5Y2U0YzQxMDJmYTU4ZDdiMzUyZmFmZjg1ZWMzYy4uNDE5NjJhYTczYjY1
ZDliZTYyODE2OTg4MDI1MTkyMWU3OGE5OThhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cApAQCAtNjIxLDcgKzYyMSw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6c2VuZFNWR0xvYWRFdmVudElm
UG9zc2libGUoYm9vbCBzZW5kUGFyZW50TG9hZEV2ZW50cykKIAogdm9pZCBTVkdFbGVtZW50Ojpz
ZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KCkKIHsKLSAgICBzdmdMb2Fk
RXZlbnRUaW1lcigpLT5zdGFydE9uZVNob3QoMCk7CisgICAgc3ZnTG9hZEV2ZW50VGltZXIoKS0+
c3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU1ZHRWxlbWVudDo6c3ZnTG9hZEV2ZW50VGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxU
aW1lQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVD
b250YWluZXIuY3BwCmluZGV4IGNiZjNiN2JhNTg0ODUwNzczN2U5NzVjZGQwYTgxOTJkMzM1ZmJm
NTAuLjc1M2U0MDE0YmNjMjEyY2IzMDhkOGQ2NjdjZmZlYmZkMTNjNDQ1YTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwCkBAIC0y
MDUsNyArMjA1LDcgQEAgdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6c3RhcnRUaW1lcihTTUlMVGlt
ZSBlbGFwc2VkLCBTTUlMVGltZSBmaXJlVGltZSwgU01JTFRpbWUKICAgICAgICAgcmV0dXJuOwog
CiAgICAgU01JTFRpbWUgZGVsYXkgPSBzdGQ6Om1heChmaXJlVGltZSAtIGVsYXBzZWQsIG1pbmlt
dW1EZWxheSk7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkudmFsdWUoKSk7CisgICAg
bV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheS52YWx1ZSgpKSk7CiB9CiAKIHZvaWQg
U01JTFRpbWVDb250YWluZXI6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggNjExYzkyYjhmYjM0NTFjZmM2Y2Y5NmM4ZWQzN2U3
ODVhMzJkOTdmOC4uYWZhZjVlZGFhODZjMjM2OTVmZjJmMzM4Njc1MjMxMTlhYjZmMmYyYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC02Nyw3ICs2
Nyw3IEBAIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmdzJiBzZXR0aW5n
cykKICNlbmRpZgogICAgICwgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoc2V0dGluZ3MuZGVmYXVs
dFZpZGVvUG9zdGVyVVJMKCkpCiAgICAgLCBtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KHNldHRp
bmdzLmlzRm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koKSkKLSAgICAsIG1fb3JpZ2luYWxUaW1lV2l0
aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhzZXR0aW5ncy50aW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpKQorICAgICwgbV90aW1lV2l0aG91
dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhzZXR0aW5ncy50aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scygpKQogICAgICwgbV91c2VMZWdhY3lCYWNr
Z3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKHNldHRpbmdzLnVzZUxlZ2FjeUJhY2tncm91bmRT
aXplU2hvcnRoYW5kQmVoYXZpb3IoKSkKICAgICAsIG1fYXV0b3Njcm9sbEZvckRyYWdBbmREcm9w
RW5hYmxlZChzZXR0aW5ncy5hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKCkpCiAgICAg
LCBtX3F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChzZXR0aW5ncy5xdWlja1RpbWVQ
bHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoKSkKQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIEludGVy
bmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICNlbmRp
ZgogICAgIHNldHRpbmdzLnNldERlZmF1bHRWaWRlb1Bvc3RlclVSTChtX2RlZmF1bHRWaWRlb1Bv
c3RlclVSTCk7CiAgICAgc2V0dGluZ3Muc2V0Rm9yY2VQZW5kaW5nV2ViR0xQb2xpY3kobV9mb3Jj
ZVBlbmRpbmdXZWJHTFBvbGljeSk7Ci0gICAgc2V0dGluZ3Muc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMobV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3Zl
bWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKTsKKyAgICBzZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVu
dEJlZm9yZUhpZGluZ0NvbnRyb2xzKTsKICAgICBzZXR0aW5ncy5zZXRVc2VMZWdhY3lCYWNrZ3Jv
dW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKG1fdXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhh
bmRCZWhhdmlvcik7CiAgICAgc2V0dGluZ3Muc2V0QXV0b3Njcm9sbEZvckRyYWdBbmREcm9wRW5h
YmxlZChtX2F1dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQpOwogICAgIHNldHRpbmdzLnNl
dFNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KG1fc2hvdWxkQ29udmVydFBvc2l0aW9u
U3R5bGVPbkNvcHkpOwpAQCAtNTM2LDcgKzUzNiw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVy
bmFsU2V0dGluZ3M6OnNldE1pbmltdW1UaW1lckludGVydmFsKGRvdWJsZSBpbnRlcnZhbEluU2Vj
CiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElE
X0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFs
KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJl
cCkoaW50ZXJ2YWxJblNlY29uZHMgKiAxMDAwKSkpOworICAgIHNldHRpbmdzKCkuc2V0TWluaW11
bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbEluU2Vjb25kcykpOwogICAgIHJldHVy
biB7IH07CiB9CiAKQEAgLTU2MCw3ICs1NjAsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5h
bFNldHRpbmdzOjpzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cgog
ewogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07Ci0gICAgc2V0dGluZ3MoKS5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9scyh0aW1lKTsKKyAgICBzZXR0aW5ncygpLnNldFRpbWVXaXRob3V0
TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKFNlY29uZHModGltZSkpOwogICAgIHJl
dHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgK
aW5kZXggNWE0ZjZlNGRhZDQ4NWNiNWFmMzEyN2RlZjgwNzhkYzc3NjFjMTk0MC4uYmQ2M2ViYWI3
NTI3MWU5Mzk2Yzk0MTBiYzk0ZTA0NmQ5ZjYxODUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTE0Myw3ICsxNDMsNyBAQCBwcml2YXRlOgogICAgICAg
ICBib29sIG1fbGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQ7CiAgICAgICAg
IGJvb2wgbV9pbWFnZXNFbmFibGVkOwogICAgICAgICBib29sIG1fcHJlZmVyTUlNRVR5cGVGb3JJ
bWFnZXM7Ci0gICAgICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9taW5pbXVtVGltZXJJ
bnRlcnZhbDsKKyAgICAgICAgU2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOwogI2lmIEVO
QUJMRShWSURFT19UUkFDSykKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXM7
CiAgICAgICAgIGJvb2wgbV9zaG91bGREaXNwbGF5Q2FwdGlvbnM7CkBAIC0xNTEsNyArMTUxLDcg
QEAgcHJpdmF0ZToKICNlbmRpZgogICAgICAgICBTdHJpbmcgbV9kZWZhdWx0VmlkZW9Qb3N0ZXJV
Ukw7CiAgICAgICAgIGJvb2wgbV9mb3JjZVBlbmRpbmdXZWJHTFBvbGljeTsKLSAgICAgICAgYm9v
bCBtX29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHM7
CisgICAgICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdD
b250cm9sczsKICAgICAgICAgYm9vbCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5k
QmVoYXZpb3I7CiAgICAgICAgIGJvb2wgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVk
OwogICAgICAgICBib29sIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBlZDJmZWRh
MmRkYzQzMDY0N2NiMjgzYTBkOWZmMTk4NzVjNGFhMjNmLi5jNzE5NGVkZWFiM2E3ODdmY2VmNDY1
MTZhN2FhY2I1MWIwNDhlMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlLmNwcApAQCAtMTg3LDcgKzE4Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6
OnBvc3RUYXNrKFRhc2smJiB0YXNrKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVv
dXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0aW9uLCBpbnQgdGltZW91dCkK
IHsKLSAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CisgICAgcmV0dXJuIERP
TVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHModGltZW91dCksIHRydWUpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpj
bGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKQEAgLTE5Nyw3ICsxOTcsNyBAQCB2b2lkIFdvcmtl
ckdsb2JhbFNjb3BlOjpjbGVhclRpbWVvdXQoaW50IHRpbWVvdXRJZCkKIAogaW50IFdvcmtlckds
b2JhbFNjb3BlOjpzZXRJbnRlcnZhbChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBh
Y3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqdGhp
cywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVvdXQpLCBm
YWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlv
biksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKIH0KIAogdm9p
ZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJJbnRlcnZhbChpbnQgdGltZW91dElkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggNmI3ZGU4Y2NlZGIyMjQ4YjdjOTcyMDNj
YmRlNDk4ZDUxMmFiMmJkZS4uOGQwN2RiZTM3MmYwOWU0MzE4MTU2YzY3ZmQ0MjM0YTUxZGE2MWZh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0yNDUsOCArMjQ1LDgg
QEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OnNldFRpbWVvdXQodW5zaWduZWQg
dGltZW91dCkKICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIC8vIElmIHRpbWVvdXQgaXMgemVy
bywgd2Ugc2hvdWxkIHVzZSB0aGUgZGVmYXVsdCBuZXR3b3JrIHRpbWVvdXQuIEJ1dCB3ZSBkaXNh
YmxlZCBpdCBzbyBsZXQncyBtaW1pYyBpdCB3aXRoIGEgNjAgc2Vjb25kcyB0aW1lb3V0IHZhbHVl
LgotICAgIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+IGludGVydmFsID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1pbGxpc2Vjb25kcyA/IG1fdGltZW91dE1pbGxp
c2Vjb25kcyA6IDYwMDAwIH0gLSAoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBt
X3NlbmRpbmdUaW1lKTsKLSAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNob3Qoc3RkOjptYXgo
MC4wLCBpbnRlcnZhbC5jb3VudCgpKSk7CisgICAgYXV0byBpbnRlcnZhbCA9IFNlY29uZHM6OmZy
b21NaWxsaXNlY29uZHMobV90aW1lb3V0TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNv
bmRzIDogNjAwMDApIC0gKE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9zZW5kaW5nVGltZSk7Cisg
ICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6bWF4KDBfcywgaW50ZXJ2YWwpKTsK
ICAgICByZXR1cm4geyB9OwogfQogCkBAIC00OTYsNyArNDk2LDcgQEAgc3RkOjpvcHRpb25hbDxF
eGNlcHRpb25Pcjx2b2lkPj4gWE1MSHR0cFJlcXVlc3Q6OnByZXBhcmVUb1NlbmQoKQogICAgICAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+IHsgRXhjZXB0aW9uIHsgTkVUV09SS19FUlIg
fSB9OwogICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91
dFRpbWVyLnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb25Pcjx2b2lkPiB7IH07CiAgICAgfQogCkBAIC02NzUsOCArNjc1
LDggQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJlcXVlc3QoKQog
ICAgICAgICAgICAgcmVxdWVzdC5zZXRUaW1lb3V0SW50ZXJ2YWwobV90aW1lb3V0TWlsbGlzZWNv
bmRzIC8gMTAwMC4wKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICByZXF1ZXN0LnNldFRp
bWVvdXRJbnRlcnZhbChzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkpOwot
ICAgICAgICAgICAgbV9zZW5kaW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5v
dygpOwotICAgICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgeyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgfSk7CisgICAgICAgICAgICBt
X3NlbmRpbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgICAgICAgICBtX3RpbWVv
dXRUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRN
aWxsaXNlY29uZHMpKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtOTYwLDcgKzk2MCw3IEBAIHZv
aWQgWE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAg
ICAgICAgIG1fc2VuZEZsYWcgPSBmYWxzZTsKICAgICAgICAgc2V0UGVuZGluZ0FjdGl2aXR5KHRo
aXMpOwogICAgICAgICBtX3RpbWVvdXRUaW1lci5zdG9wKCk7Ci0gICAgICAgIG1fbmV0d29ya0Vy
cm9yVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX25ldHdvcmtFcnJvclRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIG1fZXhjZXB0aW9u
Q29kZSA9IE5FVFdPUktfRVJSOwpAQCAtMTE4Myw3ICsxMTgzLDcgQEAgdm9pZCBYTUxIdHRwUmVx
dWVzdDo6cmVzdW1lKCkKICAgICAvLyBXZSBhcmUgbm90IGFsbG93ZWQgdG8gZXhlY3V0ZSBhcmJp
dHJhcnkgSlMgaW4gcmVzdW1lKCkgc28gZGlzcGF0Y2gKICAgICAvLyB0aGUgZXJyb3IgZXZlbnQg
aW4gYSB0aW1lci4KICAgICBpZiAobV9kaXNwYXRjaEVycm9yT25SZXN1bWluZyAmJiAhbV9yZXN1
bWVUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBY
TUxIdHRwUmVxdWVzdDo6cmVzdW1lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCmluZGV4IDA0YWJjMDlkZDdmNmJiOGI4YTk1YTUyNDEyN2MxNDY4Y2ZkYWMyNzEuLjJm
ODhmNTk3NDc2MDQ2NmRlNjBiYTk2MjQwYTIyYzlkMGNhZjhjNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oCkBAIC0yMzAsNyArMjMwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIG5l
dHdvcmtFcnJvclRpbWVyRmlyZWQoKTsKIAogICAgIHVuc2lnbmVkIG1fdGltZW91dE1pbGxpc2Vj
b25kcyB7IDAgfTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1f
c2VuZGluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX3NlbmRpbmdUaW1lOwogICAgIFRpbWVy
IG1fdGltZW91dFRpbWVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5jcHAKaW5kZXggMzY2NjI2NTZi
NTFiZjhjOWU5ZjIyNWJjYjA2NzZlNjBmNDYzMDg3My4uZTRjOTk1NTEwNDA2MTMyNzNhZGZlMTc1
ODNiOGEwN2YyZmQ3ZDIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUuY3BwCkBAIC0zMyw3ICszMyw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgZG91YmxlIFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2
YWxJblNlY29uZHMgPSAuMDU7IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0aW9uLgorY29uc3QgU2Vj
b25kcyBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6bWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsID0gNTBfbXM7IC8vIDUwIG1zIHBlciBzcGVjaWZpY2F0
aW9uLgogCiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZTo6WE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUoRXZlbnRUYXJnZXQqIHRhcmdldCkKICAgICA6IG1fdGFy
Z2V0KHRhcmdldCkKQEAgLTczLDEyICs3MywxMiBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQoYm9vbCBsZQog
ICAgICAgICBBU1NFUlQoIW1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCk7CiAKICAgICAgICAg
ZGlzcGF0Y2hFdmVudChYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkucHJvZ3Jlc3NFdmVudCwgbGVuZ3RoQ29tcHV0YWJsZSwgbG9hZGVkLCB0b3RhbCkpOwot
ICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50
ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBzdGFydFJlcGVhdGluZyhtaW5pbXVtUHJvZ3Jlc3NF
dmVudERpc3BhdGNoaW5nSW50ZXJ2YWwpOwogICAgICAgICBtX2hhc1Rocm90dGxlZFByb2dyZXNz
RXZlbnQgPSBmYWxzZTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFRoZSB0aW1l
ciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50
ZXJ2YWxJblNlY29uZHMgaXMgdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgorICAgIC8vIFRoZSB0
aW1lciBpcyBhbHJlYWR5IGFjdGl2ZSBzbyBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5n
SW50ZXJ2YWwgaXMgdGhlIGxlYXN0IGZyZXF1ZW50IGV2ZW50LgogICAgIG1faGFzVGhyb3R0bGVk
UHJvZ3Jlc3NFdmVudCA9IHRydWU7CiB9CiAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlOjpyZXN1bWUoKQogICAgIC8vIHRoZSBsaXN0
IG9mIGFjdGl2ZSBET00gb2JqZWN0cyB0byByZXN1bWUgdGhlbSwgYW5kIGFueSBhY3RpdmF0ZWQg
SlMgZXZlbnQtaGFuZGxlcgogICAgIC8vIGNvdWxkIGluc2VydCBuZXcgYWN0aXZlIERPTSBvYmpl
Y3RzIHRvIHRoZSBsaXN0LgogICAgIC8vIG1fZGVmZXJFdmVudHMgaXMga2VwdCB0cnVlIHVudGls
IGFsbCBkZWZlcnJlZCBldmVudHMgaGF2ZSBiZWVuIGRpc3BhdGNoZWQuCi0gICAgbV9kaXNwYXRj
aERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGF0Y2hEZWZl
cnJlZEV2ZW50c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50VGhyb3R0bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnRUaHJvdHRsZS5oCmluZGV4IDk3MWJkMjM0MmMwNTZiMTE1OGI0MDE5ZmIyYjNh
YTI1MDM0ODRhOGQuLjM0MGZiNWMwMGQxNzNmYjYxNjFhNzRlNDE1YTAxMmJhZWZiNGY3ODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnRUaHJvdHRsZS5oCkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc3Vt
ZSgpOwogCiBwcml2YXRlOgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbWluaW11bVByb2dyZXNz
RXZlbnREaXNwYXRjaGluZ0ludGVydmFsSW5TZWNvbmRzOworICAgIHN0YXRpYyBjb25zdCBTZWNv
bmRzIG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbDsKIAogICAgIHZpcnR1
YWwgdm9pZCBmaXJlZCgpOwogICAgIHZvaWQgZGlzcGF0Y2hEZWZlcnJlZEV2ZW50cygpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcAppbmRleCBhYzBkY2MxMjU2OTRk
YWQ0YzRiOTIyODdhMDMxZWZhMDkzNTRlYTE5Li5mYWY0NGJhZjQ2MmY0OWQ3NzhhYjExN2Q0YmFl
MDQ2ZDFmNDJjNzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFy
ZWFTeW5jLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNw
cApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gSWYgdGhlIFN0b3Jh
Z2VBcmVhIHVuZGVyZ29lcyByYXBpZCBjaGFuZ2VzLCBkb24ndCBzeW5jIGVhY2ggY2hhbmdlIHRv
IGRpc2suCiAvLyBJbnN0ZWFkLCBxdWV1ZSB1cCBhIGJhdGNoIG9mIGl0ZW1zIHRvIHN5bmMgYW5k
IGFjdHVhbGx5IGRvIHRoZSBzeW5jIGF0IHRoZSBmb2xsb3dpbmcgaW50ZXJ2YWwuCi1zdGF0aWMg
Y29uc3QgZG91YmxlIFN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxLjA7CitzdGF0aWMgY29uc3QgYXV0
byBzdG9yYWdlU3luY0ludGVydmFsID0gMV9zOwogCiAvLyBBIHNhbmUgbGltaXQgb24gaG93IG1h
bnkgaXRlbXMgd2UnbGwgc2NoZWR1bGUgdG8gc3luYyBhbGwgYXQgb25jZS4gIFRoaXMgbWFrZXMg
aXQKIC8vIG11Y2ggaGFyZGVyIHRvIHN0YXJ2ZSB0aGUgcmVzdCBvZiBMb2NhbFN0b3JhZ2UgYW5k
IHRoZSBPUydzIElPIHN1YnN5c3RlbSBpbiBnZW5lcmFsLgpAQCAtMTE3LDcgKzExNyw3IEBAIHZv
aWQgU3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKGNvbnN0IFN0cmluZyYga2V5
LCBjb25zdCBTdHJpbmcmIHZhbHVlCiAKICAgICBtX2NoYW5nZWRJdGVtcy5zZXQoa2V5LCB2YWx1
ZSk7CiAgICAgaWYgKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIG1fc3luY1Rp
bWVyLnN0YXJ0T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFsKTsKKyAgICAgICAgbV9zeW5jVGlt
ZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogCiAgICAgICAgIC8vIFRoZSBm
b2xsb3dpbmcgaXMgYmFsYW5jZWQgYnkgdGhlIGNhbGwgdG8gZW5hYmxlU3VkZGVuVGVybWluYXRp
b24gaW4gdGhlCiAgICAgICAgIC8vIHN5bmNUaW1lckZpcmVkIGZ1bmN0aW9uLgpAQCAtMTMzLDcg
KzEzMyw3IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKCkKICAgICBtX2No
YW5nZWRJdGVtcy5jbGVhcigpOwogICAgIG1faXRlbXNDbGVhcmVkID0gdHJ1ZTsKICAgICBpZiAo
IW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVT
aG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNo
b3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBi
YWxhbmNlZCBieSB0aGUgY2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAg
ICAgICAgLy8gc3luY1RpbWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xNTIsNyArMTUyLDcgQEAgdm9p
ZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlQ2xvc2VEYXRhYmFzZSgpCiAgICAgbV9zeW5jQ2xv
c2VEYXRhYmFzZSA9IHRydWU7CiAgICAgCiAgICAgaWYgKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgp
KSB7Ci0gICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChTdG9yYWdlU3luY0ludGVydmFs
KTsKKyAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwp
OwogICAgICAgICAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUg
Y2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1Rp
bWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xNzIsNyArMTcyLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5
bmM6OnN5bmNUaW1lckZpcmVkKCkKICAgICAgICAgLy8gcHJldmlvdXMgb25lLiBCdXQsIGlmIHdl
J3JlIHNodXR0aW5nIGRvd24sIHNjaGVkdWxlIGl0IGFueXdheS4KICAgICAgICAgaWYgKG1fc3lu
Y0luUHJvZ3Jlc3MgJiYgIW1fZmluYWxTeW5jU2NoZWR1bGVkKSB7CiAgICAgICAgICAgICBBU1NF
UlQoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpOwotICAgICAgICAgICAgbV9zeW5jVGltZXIuc3Rh
cnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICAgICAgbV9zeW5jVGltZXIu
c3RhcnRPbmVTaG90KHN0b3JhZ2VTeW5jSW50ZXJ2YWwpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKQEAgLTIxOSw3ICsyMTksNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3lu
Y1RpbWVyRmlyZWQoKQogICAgIGlmIChwYXJ0aWFsU3luYykgewogICAgICAgICAvLyBJZiB3ZSBk
aWRuJ3QgZmluaXNoIHN5bmNpbmcsIHRoZW4gd2UgbmVlZCB0byBmaW5pc2ggdGhlIGpvYiBsYXRl
ci4KICAgICAgICAgQVNTRVJUKCFtX3N5bmNUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAgbV9z
eW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5
bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUgY2FsbHMgdG8gZGlz
YWJsZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzY2hlZHVsZUl0ZW1Gb3JT
eW5jLCBzY2hlZHVsZUNsZWFyLCBhbmQgc2NoZWR1bGVGaW5hbFN5bmMgZnVuY3Rpb25zLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKaW5kZXggNTlhMDBmZTMwYTk2M2Y1
ODEzZDhiMGRkYTA0ZGI2MDgxYTY2MjNiZC4uYWQ3NTdkODhkZDE2NmU3NjE5NWE1MDM1YWQ1M2Yw
MDk1MDk5Zjc1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFj
a2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBA
IC01MSw4ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogc3RhdGljIFN0b3JhZ2VUcmFja2Vy
KiBzdG9yYWdlVHJhY2tlciA9IG51bGxwdHI7CiAKIC8vIElmIHRoZXJlIGlzIG5vIGRvY3VtZW50
IHJlZmVyZW5jaW5nIGEgc3RvcmFnZSBkYXRhYmFzZSwgY2xvc2UgdGhlIHVuZGVybHlpbmcgZGF0
YWJhc2UKLS8vIGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fU3RvcmFnZURhdGFiYXNlSWRs
ZUludGVydmFsIHNlY29uZHMuCi1zdGF0aWMgY29uc3QgZG91YmxlIERlZmF1bHRTdG9yYWdlRGF0
YWJhc2VJZGxlSW50ZXJ2YWwgPSAzMDA7CisvLyBhZnRlciBpdCBoYXMgYmVlbiBpZGxlIGZvciBt
X3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCBzZWNvbmRzLgorc3RhdGljIGNvbnN0IGF1dG8g
ZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMF9zOwogICAgIAogdm9pZCBT
dG9yYWdlVHJhY2tlcjo6aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0
aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqIGNsaWVudCkKIHsKQEAgLTk3LDcgKzk3LDcgQEAgU3Rv
cmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgpCiAg
ICAgLCBtX3RocmVhZChzdGQ6Om1ha2VfdW5pcXVlPFN0b3JhZ2VUaHJlYWQ+KCkpCiAgICAgLCBt
X2lzQWN0aXZlKGZhbHNlKQogICAgICwgbV9uZWVkc0luaXRpYWxpemF0aW9uKGZhbHNlKQotICAg
ICwgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlk
bGVJbnRlcnZhbCkKKyAgICAsIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRlZmF1bHRT
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0
b3JhZ2VUcmFja2VyLmgKaW5kZXggNTVkNWIwZDIyZTlhMzlmOWI4YzA4OTM3ZjU5NGU4ZmEzYmRh
Y2E4OC4uNzI2ZjMyNTFiMWQxZWVmNmMxYWFmMTEyNjFjMGQyOTk3YjU5MTRkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dl
YktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKQEAgLTU5LDggKzU5LDggQEAgcHVibGljOgog
ICAgIAogICAgIGJvb2wgaXNBY3RpdmUoKTsKIAotICAgIGRvdWJsZSBzdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsgfQot
ICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKGRvdWJsZSBpbnRlcnZhbCkg
eyBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CisgICAgU2Vjb25k
cyBzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoKSB7IHJldHVybiBtX3N0b3JhZ2VEYXRhYmFz
ZUlkbGVJbnRlcnZhbDsgfQorICAgIHZvaWQgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
KFNlY29uZHMgaW50ZXJ2YWwpIHsgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgPSBpbnRl
cnZhbDsgfQogCiAgICAgdm9pZCBzeW5jRmlsZVN5c3RlbUFuZFRyYWNrZXJEYXRhYmFzZSgpOwog
CkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBib29sIG1faXNBY3RpdmU7
CiAgICAgYm9vbCBtX25lZWRzSW5pdGlhbGl6YXRpb247Ci0gICAgZG91YmxlIG1fU3RvcmFnZURh
dGFiYXNlSWRsZUludGVydmFsOworICAgIFNlY29uZHMgbV9zdG9yYWdlRGF0YWJhc2VJZGxlSW50
ZXJ2YWw7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3Bw
CmluZGV4IDExYmNlM2JlZTBlMGJhMWQ3MDJmNzJjNjY0NTNjYzJhMmJkZWI3ZjYuLmE2Y2Y4NGZj
MTk1MjU5NjNkNDZkMmJhYzk1N2FmYTJiM2ZhOGExYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAg
LTI4Niw3ICsyODYsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6cmVzdW1lUGVu
ZGluZ1JlcXVlc3RzKCkKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNl
cnZlUGVuZGluZ1JlcXVlc3RzKCkKIHsKICAgICBpZiAoIW1fcmVxdWVzdFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9y
ZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyOjpyZXF1ZXN0VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
bW0KaW5kZXggYjlhYjhhMGRkZGNjNzY0N2RhNzg2MzM5ODQyMzI3Y2E1YzdhOTdhOS4uMDZlOWVk
NmM1N2RiNTQ3MjI3YWY0MmM1YTJmMDVhZmRhY2RlZWUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFu
Y2VQcm94eS5tbQpAQCAtNzQ0LDcgKzc0NCw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5OjpyZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgbV9wbHVnaW5SZXF1ZXN0cy5yZW1vdmVG
aXJzdCgpOwogICAgIAogICAgIGlmICghbV9wbHVnaW5SZXF1ZXN0cy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgCiAgICAgcGVyZm9ybVJlcXVlc3QocmVxdWVzdC5n
ZXQoKSk7CiB9CkBAIC04MDAsNyArODAwLDcgQEAgTlBFcnJvciBOZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHk6OmxvYWRSZXF1ZXN0KE5TVVJMUmVxdWVzdCAqcmVxdWVzdCwgY29uc3QgY2gKIAog
ICAgICAgICBhdXRvIHBsdWdpblJlcXVlc3QgPSBQbHVnaW5SZXF1ZXN0OjpjcmVhdGUocmVxdWVz
dElELCByZXF1ZXN0LCB0YXJnZXQsIGFsbG93UG9wdXBzKTsKICAgICAgICAgbV9wbHVnaW5SZXF1
ZXN0cy5hcHBlbmQoV1RGTW92ZShwbHVnaW5SZXF1ZXN0KSk7Ci0gICAgICAgIG1fcmVxdWVzdFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgUmVmUHRyPEhvc3RlZE5ldHNjYXBlUGx1Z2lu
U3RyZWFtPiBzdHJlYW0gPSBIb3N0ZWROZXRzY2FwZVBsdWdpblN0cmVhbTo6Y3JlYXRlKHRoaXMs
IHJlcXVlc3RJRCwgcmVxdWVzdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0ubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCmluZGV4IDA1Y2M0ZDQ3MmRhODYxMGEzNGJh
NWJkYmVjOGExNjNlNGFkMzhiOTQuLmRiMGMwMGZlN2FjNWRjN2RmNzBlOTkwYmY2MDFjZTE5ZmVm
ZjVmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQ
bHVnaW5TdHJlYW0ubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2Fw
ZVBsdWdpblN0cmVhbS5tbQpAQCAtNTI5LDcgKzUyOSw3IEBAIHZvaWQgV2ViTmV0c2NhcGVQbHVn
aW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAgaWYgKGRlbGl2ZXJ5Qnl0ZXMgPD0gMCkg
ewogICAgICAgICAgICAgLy8gUGx1Zy1pbiBjYW4ndCByZWNlaXZlIGFueW1vcmUgZGF0YSByaWdo
dCBub3cuIFNlbmQgaXQgbGF0ZXIuCiAgICAgICAgICAgICBpZiAoIW1fZGVsaXZlckRhdGFUaW1l
ci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgICAgIG1fZGVsaXZlckRhdGFUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgICAgICAgICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICBkZWxpdmVyeUJ5dGVzID0gc3RkOjptaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRv
dGFsQnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dl
Yk5ldHNjYXBlUGx1Z2luVmlldy5tbQppbmRleCBkOWU1OGUzMzY5NGQ1MGNjMWY2NzZiMDRmYzFm
OThlM2VmYTRiZDNlLi5jMmM2NGUyYTNhMDUxZjk4NWJlOWE0YzA1N2JiZDRmYzczZGM0ZmEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQpAQCAtMTExLDcgKzExMSw3IEBAIHN0YXRpYyBXZWJOZXRzY2FwZVBsdWdpblZpZXcgKmN1
cnJlbnRQbHVnaW5WaWV3ID0gbmlsOwogCiB0eXBlZGVmIHN0cnVjdCBPcGFxdWVQb3J0U3RhdGUq
IFBvcnRTdGF0ZTsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBUaHJvdHRsZWRUaW1lckludGVydmFs
ID0gMC4yNTsKK3N0YXRpYyBjb25zdCBhdXRvIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1
X3M7CiAKIGNsYXNzIFBsdWdpblRpbWVyIDogcHVibGljIFRpbWVyQmFzZSB7CiBwdWJsaWM6CkBA
IC0xMzAsNyArMTMwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKCFpc0FjdGl2
ZSgpKTsKIAotICAgICAgICBkb3VibGUgdGltZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAu
MDsKKyAgICAgICAgYXV0byB0aW1lSW50ZXJ2YWwgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KG1faW50ZXJ2YWwpOwogICAgICAgICAKICAgICAgICAgaWYgKHRocm90dGxlKQogICAgICAgICAg
ICAgdGltZUludGVydmFsID0gc3RkOjptYXgodGltZUludGVydmFsLCBUaHJvdHRsZWRUaW1lcklu
dGVydmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFn
ZU1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5hZ2Vy
Lm1tCmluZGV4IDFmOWVhZTU1ZWZkY2E1ZTZmYWQ1ZDYwZTRiZTBmMWI5ODc0MzY4NGQuLjExOGEx
MTM0NTZhZGM1ZWI1YWNlOTRhOTk1MGIzYTdiMDVhMjczOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktp
dC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbQpAQCAtMTE2LDcgKzExNiw3IEBAIHN0
YXRpYyBwdGhyZWFkX29uY2VfdCByZWdpc3RlckxvY2FsU3RvcmFnZVBhdGggPSBQVEhSRUFEX09O
Q0VfSU5JVDsKIAogKyAodm9pZClzZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw6KGRvdWJs
ZSlpbnRlcnZhbAogewotICAgIFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRT
dG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIFdlYktpdDo6U3RvcmFn
ZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25k
cyhpbnRlcnZhbCkpOwogfQogCiArICh2b2lkKWNsb3NlSWRsZUxvY2FsU3RvcmFnZURhdGFiYXNl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDE1MjI4OTM2ODg2YjVkYzA3
OTQ2MGY2MDkyYTA0MzQ2NDUyOGFhMzEuLjliMDFiYTQxNDdhMTg4ODdmNjY1ZGNmNTkxYWQzMmZi
MzE4NjczYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTgzMzQsNyAr
ODMzNCw3IEBAIHN0YXRpYyBXZWJGcmFtZVZpZXcgKmNvbnRhaW5pbmdGcmFtZVZpZXcoTlNWaWV3
ICp2aWV3KQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWdu
ZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENh
cGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBz
dGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0gMDsKIApAQCAt
ODQ2MSw3ICs4NDYxLDcgQEAgc3RhdGljIFdlYkZyYW1lVmlldyAqY29udGFpbmluZ0ZyYW1lVmll
dyhOU1ZpZXcgKnZpZXcpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5
c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4
RGVhZENhcGFjaXR5ID0gc3RkOjptYXg8dW5zaWduZWQ+KDI0LCBjYWNoZU1heERlYWRDYXBhY2l0
eSk7CiAKLSAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hy
b25vOjpzZWNvbmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRl
cnZhbCA9IDFfbWluOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICBpZiAobWVtU2l6ZSA+
PSAxMDI0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmNwcAppbmRleCBiYzE4ZGViNzVjY2Q3MDgyN2FmZmFlOWUwNzYyMWYyMzUwMWY1NGVhLi43ZGIy
NzZlMDc4NGZhZTBjMjcxODYwM2I4ZjA0MmM2ODE4Y2Q1NWUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcApAQCAtNTIsNyArNTIsNyBAQAog
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMg
Y29uc3QgZmxvYXQgdGltZXJJbnRlcnZhbCA9IDAuMDMzOworc3RhdGljIGNvbnN0IFNlY29uZHMg
dGltZXJJbnRlcnZhbCA9IDAuMDMzX3M7CiAKIC8vIEhVRCBTaXplCiBzdGF0aWMgY29uc3QgaW50
IHdpbmRvd0hlaWdodCA9IDU5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lu
cy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdp
bnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKaW5kZXggYTUzYzMxNWMyMDE4NDM5NGYz
YjQwNjRhM2Y1NDQ3NTczZWQyY2YwOS4uMTcyOWZmZjYzYzBmZmE0Njc1ZDM3ODEzYWM2YWM3MGQ3
NjQ5ZDk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNz
YWdlVGhyb3R0bGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
bk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIC8vIFRoaXMgdmFsdWUgYWxsb3dzIEZsYXNoIDYwIG1lc3NhZ2VzL3NlY29uZCwgd2hp
Y2ggc2hvdWxkIGJlIGVub3VnaCBmb3IgdmlkZW8KIC8vIHBsYXliYWNrLCBhbmQgYWxzbyBnZXRz
IHVzIG92ZXIgdGhlIGxpbWl0IGZvciBraWNraW5nIGludG8gaGlnaC1yZXNvbHV0aW9uCiAvLyB0
aW1lciBtb2RlIChzZWUgU2hhcmVkVGltZXJXaW4uY3BwKS4KLXN0YXRpYyBjb25zdCBkb3VibGUg
TWVzc2FnZVRocm90dGxlVGltZUludGVydmFsID0gMC4wMTY7CitzdGF0aWMgY29uc3QgU2Vjb25k
cyBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwgPSBTZWNvbmRzKDAuMDE2KTsKIAogLy8gRHVy
aW5nIGEgY29udGludW91cyBzdHJlYW0gb2YgbWVzc2FnZXMsIHByb2Nlc3Mgb25lIGV2ZXJ5IDVt
cy4KIHN0YXRpYyBjb25zdCBkb3VibGUgTWVzc2FnZURpcmVjdFByb2Nlc3NpbmdJbnRlcnZhbCA9
IDAuMDA1OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5QYWNr
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKaW5k
ZXggYjY3ZmE1M2ZlODBiMWVmOGMwMWFmZmM4NmRhNWQ3MTYzMTU1ZGQyNC4uMTc1NGJkZDU0ZjA3
MzllMmRmNmNhY2I3OWUxNTE1YTQ5MjE3Y2YxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vUGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblBhY2thZ2UuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHZvaWQgUGx1Z2luUGFja2Fn
ZTo6ZnJlZUxpYnJhcnlTb29uKCkKICAgICBBU1NFUlQobV9tb2R1bGUpOwogICAgIEFTU0VSVCgh
bV9sb2FkQ291bnQpOwogCi0gICAgbV9mcmVlTGlicmFyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2ZyZWVMaWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUGx1
Z2luUGFja2FnZTo6ZnJlZUxpYnJhcnlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1Bs
dWdpbnMvUGx1Z2luU3RyZWFtLmNwcAppbmRleCAyZWYzOTU1YmU2MWE4ZDA1NDI0YWQxMzk5NjJk
ZDBkN2ZhNmFlNDQ0Li5kYTgzM2FhZjRmOGJhZTQ0YjQ4MDRiMzUyMWZjZDE3N2I4Y2FkZDRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblN0cmVhbS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCkBAIC0zNDksNyAr
MzQ5LDcgQEAgdm9pZCBQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKCkKICAgICAgICAgaW50MzJf
dCBkZWxpdmVyeUJ5dGVzID0gbV9wbHVnaW5GdW5jcy0+d3JpdGVyZWFkeShtX2luc3RhbmNlLCAm
bV9zdHJlYW0pOwogCiAgICAgICAgIGlmIChkZWxpdmVyeUJ5dGVzIDw9IDApIHsKLSAgICAgICAg
ICAgIG1fZGVsYXlEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1f
ZGVsYXlEZWxpdmVyeVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBkZWxpdmVyeUJ5dGVzID0gbWluKGRlbGl2
ZXJ5Qnl0ZXMsIHRvdGFsQnl0ZXMgLSB0b3RhbEJ5dGVzRGVsaXZlcmVkKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IDIwN2E5NjEzY2NhOGQ5YzEwMzdjZmI0
ZDFiMWU0MmE2ODUxOTU2OTYuLjRlZDZkNWIwYjU1OTQ1ZjE3MDAzZWNjMjRmMzk2ZmE4NjQ0OTYw
MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtNDczLDcg
KzQ3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6cmVxdWVzdFRpbWVyRmlyZWQoKQogICAgIC8vIFNj
aGVkdWxlIGEgbmV3IHJlcXVlc3QgYmVmb3JlIGNhbGxpbmcgcGVyZm9ybVJlcXVlc3Qgc2luY2Ug
dGhlIGNhbGwgdG8KICAgICAvLyBwZXJmb3JtUmVxdWVzdCBjYW4gY2F1c2UgdGhlIHBsdWdpbiB2
aWV3IHRvIGJlIGRlbGV0ZWQuCiAgICAgaWYgKCFtX3JlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAg
ICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHBlcmZvcm1SZXF1ZXN0KHJlcXVlc3QuZ2V0KCkp
OwogfQpAQCAtNDgzLDcgKzQ4Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2NoZWR1bGVSZXF1ZXN0
KHN0ZDo6dW5pcXVlX3B0cjxQbHVnaW5SZXF1ZXN0PiByZXF1ZXN0KQogICAgIG1fcmVxdWVzdHMu
YXBwZW5kKFdURk1vdmUocmVxdWVzdCkpOwogCiAgICAgaWYgKCFtX2lzSmF2YVNjcmlwdFBhdXNl
ZCkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jl
cXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogTlBFcnJvciBQbHVnaW5WaWV3Ojps
b2FkKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5v
dGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSkKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIFBs
dWdpblZpZXc6OnNldEphdmFTY3JpcHRQYXVzZWQoYm9vbCBwYXVzZWQpCiAgICAgaWYgKG1faXNK
YXZhU2NyaXB0UGF1c2VkKQogICAgICAgICBtX3JlcXVlc3RUaW1lci5zdG9wKCk7CiAgICAgZWxz
ZSBpZiAoIW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCkBAIC0xMTczLDcgKzExNzMsNyBA
QCB2b2lkIFBsdWdpblZpZXc6OmtlZXBBbGl2ZSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIHJl
ZigpOwotICAgIG1fbGlmZVN1cHBvcnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9saWZl
U3VwcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdp
blZpZXdXaW4uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNw
cAppbmRleCAyZmNhOWYzYzk1ZDczZGJhM2FjMzI2MjU5ZWE4NmRkY2RkYTIwNzBmLi5lNWMzYzU0
YWY5NzFjNmVkOTM4MTIyNmM2YmY0ZDA2Njg5YjJmZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAKQEAgLTMzNCw3ICszMzQsNyBAQCBQbHVnaW5WaWV3
Ojp3bmRQcm9jKEhXTkQgaFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0g
bFBhcmFtKQogCiAgICAgICAgIHB1c2hQb3B1cHNFbmFibGVkU3RhdGUodHJ1ZSk7CiAKLSAgICAg
ICAgbV9wb3BQb3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wb3BQ
b3B1cHNTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmIChtZXNz
YWdlID09IFdNX1BSSU5UQ0xJRU5UKSB7CkBAIC04MzgsNyArODM4LDcgQEAgdm9pZCBQbHVnaW5W
aWV3OjppbnZhbGlkYXRlUmVjdChOUFJlY3QqIHJlY3QpCiAgICAgICAgIGlmIChtX3BsdWdpbi0+
cXVpcmtzKCkuY29udGFpbnMoUGx1Z2luUXVpcmtUaHJvdHRsZUludmFsaWRhdGUpKSB7CiAgICAg
ICAgICAgICBtX2ludmFsaWRSZWN0cy5hcHBlbmQocik7CiAgICAgICAgICAgICBpZiAoIW1faW52
YWxpZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAgICAgbV9pbnZhbGlkYXRlVGlt
ZXIuc3RhcnRPbmVTaG90KDAuMDAxKTsKKyAgICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1l
ci5zdGFydE9uZVNob3QoMV9tcyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgaW52YWxp
ZGF0ZVJlY3Qocik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCmlu
ZGV4IGZjMGQxNTU3MGZlYWVjOWRiMzg2OTcwOGI1YWI3YzdhNGFkMjIyODIuLmExMGEwMjA2NGJl
OTMwMWUwODQ0YjVlMGI0YzAwOThlNjAwZjRlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0aW5n
Q29udGV4dC5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdDb250ZXh0OjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAgIGlmIChtX2xheWVyRmx1c2hUaW1l
ci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2xheWVyRmx1c2hUaW1lci5z
dGFydE9uZVNob3QoMC4wNSk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDAu
MDVfcyk7CiB9CiAKIGJvb2wgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OmZsdXNoUGVu
ZGluZ0xheWVyQ2hhbmdlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCmluZGV4IGQ1NzAwNDhkYTdhMjY0
MDZiY2FkMDZjMjVkZTg2OGZlNWFjYjJiMDMuLmQyYTNkMjU2ZmM0MzBiZmQzZWU1ZjA3MTM5MmNk
YTkxZTA1ZTMwNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBAIC01MjUsNyArNTI1LDcgQEAgdm9p
ZCBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKFdlYkNhY2hlTW9kZWwgY2FjaGVNb2RlbCkKICAgICB1
bnNpZ25lZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVh
ZENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0g
ICAgYXV0byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNl
Y29uZHMgeyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFs
OwogCiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAKQEAgLTYzNyw3ICs2MzcsNyBA
QCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQog
ICAgICAgICAvLyBjYW4gcHJvdmUgdGhhdCB0aGUgb3ZlcmFsbCBzeXN0ZW0gZ2FpbiB3b3VsZCBq
dXN0aWZ5IHRoZSByZWdyZXNzaW9uLgogICAgICAgICBjYWNoZU1heERlYWRDYXBhY2l0eSA9IG1h
eCgyNHUsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBk
ZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gNjBfczsKIAogICAgICAgICAvLyBNZW1v
cnkgY2FjaGUgY2FwYWNpdHkgKGluIGJ5dGVzKQogICAgICAgICAvLyAoVGhlc2UgdmFsdWVzIGFy
ZSBzbWFsbCBiZWNhdXNlIFdlYkNvcmUgZG9lcyBtb3N0IGNhY2hpbmcgaXRzZWxmLikKQEAgLTE1
MTYsNyArMTUxNiw3IEBAIHZvaWQgV2ViVmlldzo6Y2xvc2VXaW5kb3dTb29uKCkKICAgICBtX2Ns
b3NlV2luZG93VGltZXIgPSBXaW5kb3dDbG9zZVRpbWVyOjpjcmVhdGUodGhpcyk7CiAgICAgaWYg
KCFtX2Nsb3NlV2luZG93VGltZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2Nsb3NlV2luZG93
VGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Nsb3NlV2luZG93VGltZXItPnN0YXJ0T25l
U2hvdCgwX3MpOwogCiAgICAgQWRkUmVmKCk7CiB9CkBAIC03NDUyLDcgKzc0NTIsOCBAQCBIUkVT
VUxUIFdlYlZpZXc6OmRlZmF1bHRNaW5pbXVtVGltZXJJbnRlcnZhbChfT3V0XyBkb3VibGUqIGlu
dGVydmFsKQogewogICAgIGlmICghaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7
Ci0gICAgKmludGVydmFsID0gRE9NVGltZXI6OmRlZmF1bHRNaW5pbXVtSW50ZXJ2YWwoKS5jb3Vu
dCgpIC8gMTAwMC47CisKKyAgICAqaW50ZXJ2YWwgPSBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1J
bnRlcnZhbCgpLnZhbHVlKCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKQEAgLTc0NjEsOCArNzQ2
Miw3IEBAIEhSRVNVTFQgV2ViVmlldzo6c2V0TWluaW11bVRpbWVySW50ZXJ2YWwoZG91YmxlIGlu
dGVydmFsKQogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gRV9GQUlMOwogCi0gICAg
YXV0byBpbnRlcnZhbE1TID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbCAqIDEwMDApKTsKLSAgICBwYWdlKCktPnNldHRp
bmdzKCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxNUyk7CisgICAgcGFnZSgp
LT5zZXR0aW5ncygpLnNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMoaW50ZXJ2YWwp
KTsKICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKaW5kZXggOWJmYTRlYzY0Yzg0NzBjN2RiZWJjZTRm
ZmUzYmZjMDRjODU2M2I5MC4uOTRlMTQ3ZjUyOGE1ODNmZDBkZWNhNzExNTMwMzYxOTMyZTEyNjRm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFU
YXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRh
c2suY3BwCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrOjpzY2hlZHVsZUZh
aWx1cmUoRmFpbHVyZVR5cGUgdHlwZSkKIHsKICAgICBBU1NFUlQodHlwZSAhPSBOb0ZhaWx1cmUp
OwogICAgIG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgPSB0eXBlOwotICAgIG1fZmFpbHVyZVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2s6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJl
c3BvbnNlJiYgcmVzcG9uc2UsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9u
SGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtMb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkLmNw
cAppbmRleCA1MTdmODQ1YWFiZTUyM2YyZWZhOTYxODRlZWY3MjUzYWUyY2E0ZDlmLi4wZjMwMDJk
YWUyNWZhYTdhZTllYjI3OWI3NDM5Mjk0NGJkMDIxNzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCkBAIC01MCw3ICs1MCw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogI2lmIFVTRShORVRXT1JLX1NFU1NJT04pCiAKIHN0cnVjdCBOZXR3
b3JrTG9hZDo6VGhyb3R0bGUgewotICAgIFRocm90dGxlKE5ldHdvcmtMb2FkJiBsb2FkLCBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2Us
IFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQorICAgIFRocm90dGxlKE5ldHdv
cmtMb2FkJiBsb2FkLCBTZWNvbmRzIGRlbGF5LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2Us
IFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQogICAgICAgICA6IHRpbWVyKGxv
YWQsICZOZXR3b3JrTG9hZDo6dGhyb3R0bGVEZWxheUNvbXBsZXRlZCkKICAgICAgICAgLCByZXNw
b25zZShXVEZNb3ZlKHJlc3BvbnNlKSkKICAgICAgICAgLCByZXNwb25zZUNvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUoaGFuZGxlcikpCkBAIC0zMTIsNyArMzEyLDcgQEAgdm9pZCBOZXR3b3JrTG9h
ZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24oUmVzb3VyY2VSZXNwb25zZSYmIHJl
c3BvbnNlLAogICAgIH0KIAogICAgIGF1dG8gZGVsYXkgPSBOZXR3b3JrUHJvY2Vzczo6c2luZ2xl
dG9uKCkubG9hZFRocm90dGxlTGF0ZW5jeSgpOwotICAgIGlmIChkZWxheSA+IDBtcykgeworICAg
IGlmIChkZWxheSA+IDBfcykgewogICAgICAgICBtX3Rocm90dGxlID0gc3RkOjptYWtlX3VuaXF1
ZTxUaHJvdHRsZT4oKnRoaXMsIGRlbGF5LCBXVEZNb3ZlKHJlc3BvbnNlKSwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggYzk2ZDA4MjllMTViNmQ4
OGJhZTE1Y2YwYzEyY2M0Y2QyMzhmMTEzYi4uOGM1YjdhNDg4NWZjNDQ5ZWVhZGUwNzQ0Y2Q5ZmM2
MDI1YWNlNjFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oCkBAIC0xMTUsNyArMTE1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBncmFudFNh
bmRib3hFeHRlbnNpb25zVG9EYXRhYmFzZVByb2Nlc3NGb3JCbG9icyhjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgZmlsZW5hbWVzLCBGdW5jdGlvbjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsK
IAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSgpIGNv
bnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsgfQorICAgIFNlY29uZHMgbG9hZFRo
cm90dGxlTGF0ZW5jeSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsgfQog
CiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CkBAIC0yMDcsNyArMjA3LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1fc3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9kaXNrQ2FjaGVJc0Rpc2FibGVkRm9yVGVzdGluZzsKICAgICBib29sIG1f
Y2FuSGFuZGxlSFRUUFNTZXJ2ZXJUcnVzdEV2YWx1YXRpb247Ci0gICAgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7CisgICAgU2Vjb25kcyBtX2xvYWRUaHJv
dHRsZUxhdGVuY3k7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIHN0ZDo6dW5p
cXVlX3B0cjxOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQ+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPj4g
TmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwOwogICAgIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVu
dE1hcCBtX3N1cHBsZW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXgg
ZjQ1NjljOTQ2OWE1NzcyZTYwYjFjOWJmZjU2MDg1ZDNhY2I0M2MzZC4uNzA5NTE1MzBlMzI5ZmEx
YzVmM2ZmOGU2NzJiOTM0MzA4YzU4ZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUg
IkNhY2hlTW9kZWwuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8
d3RmL1NlY29uZHMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKQEAgLTczLDcgKzc0LDcgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIHNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1
cmVIYW5kbGVyIHsgZmFsc2UgfTsKICAgICBib29sIHNob3VsZFVzZVRlc3RpbmdOZXR3b3JrU2Vz
c2lvbjsKICAgICBib29sIHVybFBhcnNlckVuYWJsZWQgeyBmYWxzZSB9OwotICAgIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgbG9hZFRocm90dGxlTGF0ZW5jeSB7IDBtcyB9OworICAgIFNlY29u
ZHMgbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNS
ZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApp
bmRleCA0MjU1YWRlNDExNTBkYTk2OWYyMTExNzUxMmQ3ZGY2ZjdmN2M5YzRhLi41YjI5ZTBlYmQ0
M2EzOGJlNTJhZTY2ZGM1MjEwMzJlYzIwNjcwYWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIFJlc291cmNlTG9hZElkZW50aWZpZXIg
aWRlbnRpZmllciB7IDAgfTsKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiBy
ZXF1ZXN0Qm9keVNhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkgZm9y
IHRoZSBzZW5kZXIuCiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IHJlc291cmNlU2FuZGJv
eEV4dGVuc2lvbjsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgotICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUgeyAwbXMgfTsK
KyAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA5MDEwNTk5NjhhMzkxMzAxZGEyYWM5MjM3NGI3Zjky
NDVkNjk0ZGQ2Li4yYzdhZTNhYTc2YjcyOTc1NjQ4MDMwMzU2YmQ5ZjA3NDIwZWMyZjkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6c3RhcnROZXR3b3JrTG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCiAKICAg
ICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIAotICAgIGlmIChpc1N5bmNocm9ub3VzKCkg
fHwgbV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMG1zKQorICAgIGlmIChpc1N5
bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMF9zKQog
ICAgICAgICBtX2J1ZmZlcmVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAKICNpZiBF
TkFCTEUoTkVUV09SS19DQUNIRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL1BpbmdMb2FkLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9h
ZC5oCmluZGV4IDMwMGMzMDgxMjRmMzRjYTY3YTlkYTViYjc0MDU0ZTYwMmVjMjlkMTIuLmIxNDhh
NWVkY2U5YmI5OTVmN2U1OTY4YzE2NTkyZjI3OTg0ODQyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvUGluZ0xvYWQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICAg
ICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qgd2lsbCBoYW5n
IGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3VzIHRpbWVvdXQs
IGp1c3QgaW4gY2FzZS4KLSAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDYwMDAw
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KDEwMDBfbWluKTsKICAgICB9
CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcAppbmRleCBjY2E5ODVmY2RhZjAxZDViNjhhNGIzZjE1N2FjNmYyYWQ5Y2ZhZGMz
Li4xMjVkN2U4NWZlMzBjYjU0YWQwMzZjOTg4MTE3ODFiZTQ1YWI4MWU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcApAQCAtNDYsNyArNDYsNyBA
QCBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
LXN0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAxMHM7CitzdGF0aWMg
Y29uc3QgYXV0byBwcmVsb2FkZWRFbnRyeUxpZmV0aW1lID0gMTBfczsKIAogI2lmICFMT0dfRElT
QUJMRUQKIHN0YXRpYyBIYXNoQ291bnRlZFNldDxTdHJpbmc+JiBhbGxTcGVjdWxhdGl2ZUxvYWRp
bmdEaWFnbm9zdGljTWVzc2FnZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAppbmRleCAx
MGE1MjAzZWZkODE4MGUwYWNhMzRiZTU0ZGY1MjU4MmY1OWM5NWY3Li44MjEyYzc2MzdjMzEyZGZm
Zjc3MWNiN2JhMDkxOWJlOTE5YjU4ZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdGF0aXN0aWNzLmNwcApA
QCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFjZSBOZXR3b3JrQ2Fj
aGUgewogCiBzdGF0aWMgY29uc3QgY2hhciogU3RhdGlzdGljc0RhdGFiYXNlTmFtZSA9ICJXZWJL
aXRDYWNoZVN0YXRpc3RpY3MuZGIiOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbWluaW51bVdyaXRlSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDEw
MDAwKTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1pbmludW1Xcml0ZUludGVydmFsID0gMTBfczsK
IAogc3RhdGljIGJvb2wgZXhlY3V0ZVNRTENvbW1hbmQoV2ViQ29yZTo6U1FMaXRlRGF0YWJhc2Um
IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIHNxbCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5k
ZXggNDUzMDgzYTRhNDliMDdmN2RhMDIzMDg5Yzk3YTg1NDE4MTdiN2RkNi4uMDczYWQ2ZDJkYzlk
MTliNmY4Y2VlNDdhNTkzMDU3NGNiMWY4YjgzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAg
LTU2NSw3ICs1NjUsNyBAQCB2b2lkIFN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbihzdGQ6
OnVuaXF1ZV9wdHI8UmVhZE9wZXJhdGlvbj4gcmVhZE9wZXJhdGlvbgogICAgIG1fYWN0aXZlUmVh
ZE9wZXJhdGlvbnMuYWRkKFdURk1vdmUocmVhZE9wZXJhdGlvblB0cikpOwogCiAgICAgLy8gSS9P
IHByZXNzdXJlIG1heSBtYWtlIGRpc2sgb3BlcmF0aW9ucyBzbG93LiBJZiB0aGV5IHN0YXJ0IHRh
a2luZyB2ZXJ5IGxvbmcgdGltZSB3ZSByYXRoZXIgZ28gdG8gbmV0d29yay4KLSAgICBjb25zdCBh
dXRvIHJlYWRUaW1lb3V0ID0gMTUwMG1zOworICAgIGNvbnN0IFNlY29uZHMgcmVhZFRpbWVvdXQg
PSAxLjVfczsKICAgICBtX3JlYWRPcGVyYXRpb25UaW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJl
YWRUaW1lb3V0KTsKIAogICAgIGJvb2wgc2hvdWxkR2V0Qm9keUJsb2IgPSBtYXlDb250YWluQmxv
YihyZWFkT3BlcmF0aW9uLmtleSk7CkBAIC03ODcsNyArNzg3LDcgQEAgdm9pZCBTdG9yYWdlOjpz
dG9yZShjb25zdCBSZWNvcmQmIHJlY29yZCwgTWFwcGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5
SGFuZGxlcikKIAogICAgIC8vIERlbGF5IHRoZSBzdGFydCBvZiB3cml0ZXMgYSBiaXQgdG8gYXZv
aWQgYWZmZWN0aW5nIGVhcmx5IHBhZ2UgbG9hZC4KICAgICAvLyBDb21wbGV0aW5nIHdyaXRlcyB3
aWxsIGRpc3BhdGNoIG1vcmUgd3JpdGVzIHdpdGhvdXQgZGVsYXkuCi0gICAgc3RhdGljIGNvbnN0
IGF1dG8gaW5pdGlhbFdyaXRlRGVsYXkgPSAxczsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBp
bml0aWFsV3JpdGVEZWxheSA9IDFfczsKICAgICBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1l
ci5zdGFydE9uZVNob3QoaW5pdGlhbFdyaXRlRGVsYXkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29h
Lm1tCmluZGV4IDRjZWZhOGViMzU3YWU0NGJkMjVhNTc0NmI0NWZmOWEwOGI0ZTIwZGYuLjE4ZjBj
Y2Q4ZjcxNDEyM2M5OGE5NTE1NDkyZDc1ODYzNmU2ZWM0MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29h
Lm1tCkBAIC0zMzMsNyArMzMzLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6Y2FuY2Vs
KCkKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2No
ZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKQotICAgICAgICBtX2ZhaWx1cmVUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIFttX3Rhc2sgcmVzdW1lXTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKaW5kZXggM2I1
NWMyZGQxN2ZlOWY2M2E2NDU4MTFkYzMwMjdkNmRlOTU3MDM1OS4uZDZhODZhMjRlNGYxMmJjYmUy
ODQ3MDRiMGJhYzQ4ZTU5Mjg3MzVhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCkBAIC0yODMsNyAr
MjgzLDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjp0aW1lb3V0RmlyZWQoKQogdm9pZCBO
ZXR3b3JrRGF0YVRhc2tTb3VwOjpzdGFydFRpbWVvdXQoKQogewogICAgIGlmIChtX2ZpcnN0UmVx
dWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAgICAgIG1fdGltZW91dFNvdXJjZS5zdGFy
dE9uZVNob3QobV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpOworICAgICAgICBtX3Rp
bWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90KFNlY29uZHMobV9maXJzdFJlcXVlc3QudGltZW91dElu
dGVydmFsKCkpKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjpzdG9wVGltZW91dCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMu
Y3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcAppbmRl
eCA5YWM3NmM2ZDM5NDdkZTI2ODcxZWI2ODkyMDY1YmRhNmI3NzhjZmUxLi5kMDQ2YWY1ZGUyMDcz
NjMyN2IxMDc2ODMwZWNiOWI4YTllZmVkNTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKQEAgLTMyLDYgKzMyLDM2IEBACiAKIG5hbWVzcGFj
ZSBJUEMgewogCit2b2lkIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBNb25vdG9uaWNUaW1lJiB0aW1lKQoreworICAgIGVuY29kZXIg
PDwgdGltZS5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1lbnRD
b2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1vbm90b25pY1Rp
bWUmIHRpbWUpCit7CisgICAgZG91YmxlIHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
dmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB0aW1lID0gTW9ub3RvbmljVGlt
ZTo6ZnJvbVJhd1NlY29uZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEFy
Z3VtZW50Q29kZXI8U2Vjb25kcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTZWNv
bmRzJiBzZWNvbmRzKQoreworICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgpOworfQorCiti
b29sIEFyZ3VtZW50Q29kZXI8U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZWNv
bmRzJiBzZWNvbmRzKQoreworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc2Vjb25kcyA9IFNlY29u
ZHModmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIEFyZ3VtZW50Q29kZXI8c3Rk
OjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludD46OmVuY29kZShJUEM6OkVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQmIHRp
bWVQb2ludCkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludDY0X3Q+KHRpbWVQb2lu
dC50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0lQQy9Bcmd1bWVudENvZGVycy5oCmluZGV4IGY2ZDg4YjdjZGJiN2RlNmZhNmEyZGNiNTRhZjg2
ZmEzY2E3OTc2YjIuLjA3NWJmZjUzNTE5ZGY4OTdmNzUwMzY4MjViZDI2OWY4N2YyNjlhZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oCkBAIC0xNjMs
NyArMTYzLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gRWxlbWVudHM+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPHN0ZDo6dHVwbGU8RWxlbWVudHMuLi4+PiB7CiAgICAgfQogfTsKIAotCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBSZXAsIHR5cGVuYW1lIFBlcmlvZD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3Rk
OjpjaHJvbm86OmR1cmF0aW9uPFJlcCwgUGVyaW9kPj4gewogICAgIHN0YXRpYyB2b2lkIGVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQZXJp
b2Q+JiBkdXJhdGlvbikKICAgICB7CkBAIC0zNzksNiArMzc4LDE2IEBAIHRlbXBsYXRlPHR5cGVu
YW1lIEtleUFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnPiBzdHJ1
Y3QgQXJndW1lCiAgICAgfQogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxX
VEY6Ok1vbm90b25pY1RpbWU+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNv
bnN0IFdURjo6TW9ub3RvbmljVGltZSYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVy
JiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdURjo6U2Vjb25kcz4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwg
Y29uc3QgV1RGOjpTZWNvbmRzJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBX
VEY6OlNlY29uZHMmKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3Rk
OjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludD4gewogICAgIHN0YXRpYyB2b2lkIGVu
Y29kZShFbmNvZGVyJiwgY29uc3Qgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2lu
dCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgc3RkOjpjaHJvbm86OnN5c3Rl
bV9jbG9jazo6dGltZV9wb2ludCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vSVBDL0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0
aW9uLmgKaW5kZXggZjAxMmEwMWI1NGRlN2QxZmNlMjE3OTdlNmY0NTUwNTBjODNlNjg4NS4uOTAy
YmU0ZDFhNzNmOGUwNDdkOTIwOWYzMmQ0NWEyODZhOTcwMzBkYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCkBAIC0xODYsNyArMTg2LDcgQEAgcHVibGljOgogCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBraWxsKCk7Ci0gICAgdm9pZCB0ZXJtaW5hdGVT
b29uKGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgdm9pZCB0ZXJtaW5hdGVTb29uKFNl
Y29uZHMpOwogI2VuZGlmCiAKICAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2lz
VmFsaWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29u
bmVjdGlvbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlv
bk1hYy5tbQppbmRleCAyODk5NTEyOTQ2M2U4MzE5MTA3MGJlZTg1ZmRiZTg3MDU0OGU1NWIxLi43
MDQ0NjkxNTZhZjgxYmQ0MTU4ZjE3MWUwODE3ZDg4ZWRiZmIxN2E4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCkBAIC04MCwyMCArODAs
MjAgQEAgZW51bSB7CiAvLyAgICB0byBlbnN1cmUgaXQgaGFzIGEgY2hhbmNlIHRvIHRlcm1pbmF0
ZSBjbGVhbmx5LgogY2xhc3MgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cgewogcHVibGlj
OgotICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nKE9T
T2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGNDb25uZWN0aW9uLCBkb3VibGUgaW50ZXJ2
YWxJblNlY29uZHMpCisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9u
V2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIFNl
Y29uZHMgaW50ZXJ2YWwpCiAgICAgewotICAgICAgICBuZXcgQ29ubmVjdGlvblRlcm1pbmF0aW9u
V2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWxJblNlY29uZHMpOworICAgICAgICBuZXcg
Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coeHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwog
ICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2co
T1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4mIHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRl
cnZhbEluU2Vjb25kcykKKyAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVj
dFB0cjx4cGNfY29ubmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkK
ICAgICAgICAgOiBtX3hwY0Nvbm5lY3Rpb24oeHBjQ29ubmVjdGlvbikKICAgICAgICAgLCBtX3dh
dGNoZG9nVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ29ubmVjdGlvblRlcm1pbmF0aW9u
V2F0Y2hkb2c6OndhdGNoZG9nVGltZXJGaXJlZCkKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAg
ICwgbV9hc3NlcnRpb24oc3RkOjptYWtlX3VuaXF1ZTxXZWJLaXQ6OlByb2Nlc3NBbmRVSUFzc2Vy
dGlvbj4oeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCkpLCBXZWJL
aXQ6OkFzc2VydGlvblN0YXRlOjpCYWNrZ3JvdW5kKSkKICNlbmRpZgogICAgIHsKLSAgICAgICAg
bV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChpbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAg
IG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogICAgIH0KICAgICAKICAg
ICB2b2lkIHdhdGNoZG9nVGltZXJGaXJlZCgpCkBAIC0xNTEsMTAgKzE1MSwxMCBAQCB2b2lkIENv
bm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSgpCiAjZW5kaWYKIH0KICAgICAKLXZvaWQgQ29u
bmVjdGlvbjo6dGVybWluYXRlU29vbihkb3VibGUgaW50ZXJ2YWxJblNlY29uZHMpCit2b2lkIENv
bm5lY3Rpb246OnRlcm1pbmF0ZVNvb24oU2Vjb25kcyBpbnRlcnZhbCkKIHsKICAgICBpZiAobV94
cGNDb25uZWN0aW9uKQotICAgICAgICBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Y3Jl
YXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cobV94cGNDb25uZWN0aW9uLCBpbnRlcnZh
bEluU2Vjb25kcyk7CisgICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVh
dGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFs
KTsKIH0KICAgICAKIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1Jbml0aWFsaXplKElkZW50aWZp
ZXIgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAppbmRleCBkYTlkYjIyNGVkYzBlYTBjYmQwMDJkYzE3
MTJhMGMxODZkMTkzNWU0Li4xNzM5NTI1MDk1NzFkOGY0OTBhNzNlN2ZhOTY5NTkzYzdiODMyNGQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250
cm9sbGVyUHJveHkuY3BwCkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVy
UHJveHk6OmRlc3Ryb3koKQogICAgIGlmIChtX3BsdWdpbkRlc3RydWN0aW9uUHJvdGVjdENvdW50
IHx8IG1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpLT5pblNlbmRTeW5jKCkpIHsKICAgICAgICAg
Ly8gV2UgaGF2ZSBwbHVnLWluIGNvZGUgb24gdGhlIHN0YWNrIHNvIHdlIGNhbid0IGRlc3Ryb3kg
aXQgcmlnaHQgbm93LgogICAgICAgICAvLyBEZXN0cm95IGl0IGxhdGVyLgotICAgICAgICBtX3Bs
dWdpbkRlc3Ryb3lUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGx1Z2luRGVzdHJv
eVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0y
MTUsNyArMjE1LDcgQEAgdm9pZCBQbHVnaW5Db250cm9sbGVyUHJveHk6OnN0YXJ0UGFpbnRUaW1l
cigpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFN0YXJ0IHRoZSB0aW1lci4KLSAgICBtX3Bh
aW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGFpbnRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIAogICAgIG1fd2FpdGluZ0ZvckRpZFVwZGF0ZSA9IHRydWU7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcAppbmRleCBhNzI0ZWIwOGY5
MGQ1OWRiMTI5ODIzNDQxZTc3ZTA4ZmVlYzdiMjViLi4zOTVkNzY0ZDQ3MWY1MWRlOTk4MGM2MTIx
ZTYwMzJjZmFjNDk4MmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5jcHAKQEAgLTIyMCw5ICsyMjAsOSBAQCB2b2lkIFBsdWdpblByb2Nlc3M6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9ySG9zdE5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0TmFt
ZQogICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OlBsdWdpblBy
b2Nlc3NQcm94eTo6RGlkRGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMoY2FsbGJhY2tJRCks
IDApOwogfQogCi12b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZShkb3VibGUg
bGlmZXRpbWUpCit2b2lkIFBsdWdpblByb2Nlc3M6OnNldE1pbmltdW1MaWZldGltZShTZWNvbmRz
IGxpZmV0aW1lKQogewotICAgIGlmIChsaWZldGltZSA8PSAwLjApCisgICAgaWYgKGxpZmV0aW1l
IDw9IDBfcykKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGRpc2FibGVUZXJtaW5hdGlvbigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCA5
YTkwZTRjMjUzOTNhN2VkNDZjOTg3YjVlZTQ0NDlhNzRhYjkyMzNiLi4yMGFjMDY3YjA0OTVlNmFj
NzYyMmMwMDYyMDAzOGMwMWY1ZjMwMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMTAyLDcgKzEwMiw3IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVBsdWdpblByb2Nlc3MoUGx1Z2luUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycyYmKTsKICAgICAKLSAgICB2b2lkIHNldE1pbmltdW1MaWZldGltZShkb3VibGUp
OworICAgIHZvaWQgc2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMpOwogICAgIHZvaWQgbWluaW11
bUxpZmV0aW1lVGltZXJGaXJlZCgpOwogICAgIC8vIE91ciB3ZWIgcHJvY2VzcyBjb25uZWN0aW9u
cy4KICAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nlc3NDb25uZWN0aW9uPj4gbV93ZWJQcm9jZXNz
Q29ubmVjdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2Rl
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKaW5kZXggNDAzZjM0
ZGZjZDRiN2FkYzQ5YmEwNDYyYjlmZGVmYTZkZWYzZmQ0NS4uZWJlNmVkMmQyZTkxYTQ3ODllYTE1
ZmNiNzM0MzQ5MGQ1ZDcxNmQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nh
Y2hlTW9kZWwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcApA
QCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBjYWxjdWxhdGVN
ZW1vcnlDYWNoZVNpemVzKENhY2hlTW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90
YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNpZ25lZCYgY2Fj
aGVNYXhEZWFkQ2FwYWNpdHksIHN0ZDo6Y2hyb25vOjpzZWNvbmRzJiBkZWFkRGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hlQ2FwYWNpdHkpCit2b2lkIGNhbGN1
bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBjYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2Fj
aGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVk
JiBjYWNoZU1heERlYWRDYXBhY2l0eSwgU2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25J
bnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KQogewogICAgIHVpbnQ2NF90IG1l
bW9yeVNpemUgPSByYW1TaXplKCkgLyBNQjsKIApAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgY2Fs
Y3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBj
YWNoZVRvdGFsQ2FwYWNpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRoZSBvdmVyYWxsIHN5
c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAgICAgIGNhY2hlTWF4
RGVhZENhcGFjaXR5ID0gc3RkOjptYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKLSAg
ICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIHsgNjAgfTsKKyAgICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDFf
bWluOwogCiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9DYWNoZU1vZGVsLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5o
CmluZGV4IGNmNDczNDU0ZmUyYWMzM2QzY2E0M2E3MmZhNTkzZTRjNGU1MWQzZDUuLjFlMDc3Njg4
ZWE3OGRjODQyOTg4ZjRmNWYwM2FjYWJiOTMxMjRhNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hl
TW9kZWwuaApAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBDYWNoZU1vZGVsX2gKICNkZWZpbmUg
Q2FjaGVNb2RlbF9oCiAKLSNpbmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVkZSA8c3RkaW50Lmg+Cisj
aW5jbHVkZSA8d3RmL1NlY29uZHMuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTM3LDcg
KzM3LDcgQEAgZW51bSBDYWNoZU1vZGVsIHsKICAgICBDYWNoZU1vZGVsUHJpbWFyeVdlYkJyb3dz
ZXIKIH07CiAKLXZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1bnNp
Z25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHks
IHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJvbm86OnNlY29uZHMmIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0
eSk7Cit2b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdW5zaWduZWQm
IGNhY2hlVG90YWxDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWluRGVhZENhcGFjaXR5LCB1bnNp
Z25lZCYgY2FjaGVNYXhEZWFkQ2FwYWNpdHksIFNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBwYWdlQ2FjaGVDYXBhY2l0eSk7CiB2b2lkIGNhbGN1bGF0
ZVVSTENhY2hlU2l6ZXMoQ2FjaGVNb2RlbCwgdWludDY0X3QgZGlza0ZyZWVTaXplLCB1bnNpZ25l
ZCYgdXJsQ2FjaGVNZW1vcnlDYXBhY2l0eSwgdWludDY0X3QmIHVybENhY2hlRGlza0NhcGFjaXR5
KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ2hpbGRQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nl
c3MuY3BwCmluZGV4IDE3NTc4OWZiOWFlNzEzZjE2ZWVlZGJmYWJlMDBkNmYzM2U2M2NmMjMuLjQ5
Yjc5NDY1ZGY2ZTFiMmExMjFjM2ZhNTJkMDAzZmIxOTUxYmMyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuY3BwCkBAIC0zMyw4ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogQ2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MoKQotICAgIDogbV90ZXJtaW5hdGlvblRp
bWVvdXQoMCkKLSAgICAsIG1fdGVybWluYXRpb25Db3VudGVyKDApCisgICAgOiBtX3Rlcm1pbmF0
aW9uQ291bnRlcigwKQogICAgICwgbV90ZXJtaW5hdGlvblRpbWVyKFJ1bkxvb3A6Om1haW4oKSwg
dGhpcywgJkNoaWxkUHJvY2Vzczo6dGVybWluYXRpb25UaW1lckZpcmVkKQogICAgICwgbV9wcm9j
ZXNzU3VwcHJlc3Npb25EaXNhYmxlZCgiUHJvY2VzcyBTdXBwcmVzc2lvbiBEaXNhYmxlZCBieSBV
SVByb2Nlc3MiKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IGEwNmUz
NDlhMzhjMjgxZjVhY2U4ZDM2MjJhMDU0NjFmOTQwNGRhNWMuLjk4NWFkNmE2MWIyYTgyYWI3ODUw
MjlmZTQyZGVjNDc1MmVmYzQ2Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9D
aGlsZFByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgK
QEAgLTgxLDcgKzgxLDcgQEAgcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IENoaWxkUHJvY2Vzcygp
OwogICAgIHZpcnR1YWwgfkNoaWxkUHJvY2VzcygpOwogCi0gICAgdm9pZCBzZXRUZXJtaW5hdGlv
blRpbWVvdXQoZG91YmxlIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRz
OyB9CisgICAgdm9pZCBzZXRUZXJtaW5hdGlvblRpbWVvdXQoU2Vjb25kcyBzZWNvbmRzKSB7IG1f
dGVybWluYXRpb25UaW1lb3V0ID0gc2Vjb25kczsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluaXRp
YWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYp
OwogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplUHJvY2Vzc05hbWUoY29uc3QgQ2hpbGRQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CkBAIC0xMTcsNyArMTE3LDcgQEAgcHJpdmF0
ZToKIAogICAgIC8vIFRoZSB0aW1lb3V0LCBpbiBzZWNvbmRzLCBiZWZvcmUgdGhpcyBwcm9jZXNz
IHdpbGwgYmUgdGVybWluYXRlZCBpZiB0ZXJtaW5hdGlvbgogICAgIC8vIGhhcyBiZWVuIGVuYWJs
ZWQuIElmIHRoZSB0aW1lb3V0IGlzIDAgc2Vjb25kcywgdGhlIHByb2Nlc3Mgd2lsbCBiZSB0ZXJt
aW5hdGVkIGltbWVkaWF0ZWx5LgotICAgIGRvdWJsZSBtX3Rlcm1pbmF0aW9uVGltZW91dDsKKyAg
ICBTZWNvbmRzIG1fdGVybWluYXRpb25UaW1lb3V0OwogCiAgICAgLy8gQSB0ZXJtaW5hdGlvbiBj
b3VudGVyOyB3aGVuIHRoZSBjb3VudGVyIHJlYWNoZXMgemVybywgdGhlIHByb2Nlc3Mgd2lsbCBi
ZSB0ZXJtaW5hdGVkCiAgICAgLy8gYWZ0ZXIgYSBnaXZlbiBwZXJpb2Qgb2YgdGltZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhMTJhNDQ0NWJiMTZjYWFmNjkyNzNiNjRhODYz
MjEwOGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJkODI1OThhY2E2Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNs
dWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCIK
KyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVk
ZSA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+CkBAIC01MSw4ICs1Miw4IEBAIHN0cnVjdCBQbHVn
aW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBQbHVnaW5Qcm9jZXNzVHlwZSBwcm9j
ZXNzVHlwZTsKICAgICBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRp
b247CiAKLSAgICBkb3VibGUgbWluaW11bUxpZmV0aW1lOwotICAgIGRvdWJsZSB0ZXJtaW5hdGlv
blRpbWVvdXQ7CisgICAgU2Vjb25kcyBtaW5pbXVtTGlmZXRpbWU7CisgICAgU2Vjb25kcyB0ZXJt
aW5hdGlvblRpbWVvdXQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBXZWJDb3JlOjpNYWNo
U2VuZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBmMGZmYjc3MjZhNTNlZTRm
ODQyM2Q0NmI3OWJiMGZkYWYwNWRlN2M0Li4zODBlMDFlNWU3NDYxNzM3ZTU3NTNlOTY2NWFjMmUz
NDYwNTUyNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcApAQCAtMTA2LDM2ICsxMDYsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
CiBuYW1lc3BhY2UgSVBDIHsKIAotdm9pZCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+Ojpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgTW9ub3RvbmljVGltZSYgdGltZSkKLXsKLSAg
ICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1NpbmNlRXBvY2goKS52YWx1ZSgpOwotfQotCi1ib29s
IEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBN
b25vdG9uaWNUaW1lJiB0aW1lKQotewotICAgIGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgdGltZSA9IE1v
bm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQotdm9pZCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgU2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBlbmNvZGVyIDw8IHNlY29uZHMudmFsdWUo
KTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVj
b2RlciwgU2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBkb3VibGUgdmFsdWU7Ci0gICAgaWYgKCFk
ZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHNlY29u
ZHMgPSBTZWNvbmRzKHZhbHVlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBBcmd1bWVu
dENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBB
ZmZpbmVUcmFuc2Zvcm0mIGFmZmluZVRyYW5zZm9ybSkKIHsKICAgICBTaW1wbGVBcmd1bWVudENv
ZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShlbmNvZGVyLCBhZmZpbmVUcmFuc2Zvcm0pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDQ4
MTlmY2JjMDRhYzcxNjI1NjczYTg0NDY3Zjc0NTQyY2NiOTI5OTUuLjMxNTQwNjJkOWRjMzUyYTkx
ZjRiMzNiYjY1NDM5OTU2ZTU4ODA5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMxLDExICszMSw2IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9JbmRleGVkREIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BheW1lbnRIZWFkZXJzLmg+CiAKLW5h
bWVzcGFjZSBXVEYgewotY2xhc3MgTW9ub3RvbmljVGltZTsKLWNsYXNzIFNlY29uZHM7Ci19Ci0K
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlOwpAQCAtMTUyLDE2ICsxNDcsNiBAQCB1c2luZyBJREJLZXlQYXRo
ID0gVmFyaWFudDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+PjsKIAogbmFtZXNwYWNlIElQQyB7CiAK
LXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpNb25vdG9uaWNUaW1lPiB7Ci0g
ICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6Ok1vbm90b25pY1RpbWUm
KTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6TW9ub3RvbmljVGltZSYp
OwotfTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXVEY6OlNlY29uZHM+IHsK
LSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdURjo6U2Vjb25kcyYpOwot
ICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV1RGOjpTZWNvbmRzJik7Ci19OwotCiB0
ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybT4g
ewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6QWZmaW5l
VHJhbnNmb3JtJik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpB
ZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJN
ZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVy
LmNwcAppbmRleCAwNTNmYTZlYTI5NzNjZTdiMWRiM2NmZjM5Mjc1MWVhYmY0ZTE4ZDEwLi5kZGVh
MmFiZGM0NGU0ZWEwMjI3ZTI5ZTc2ZTRiZTNhZWNlZTYwNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC01Nyw3ICs1Nyw2IEBAIFdlYk1lbW9yeVNh
bXBsZXI6OldlYk1lbW9yeVNhbXBsZXIoKQogICAgIDogbV9zYW1wbGVUaW1lcigqdGhpcywgJldl
Yk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQpCiAgICAgLCBtX3N0b3BUaW1lcigqdGhp
cywgJldlYk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZpcmVkKQogICAgICwgbV9pc1J1bm5pbmco
ZmFsc2UpCi0gICAgLCBtX3J1bm5pbmdUaW1lKDApCiB7CiB9CiAKQEAgLTY3LDcgKzY2LDcgQEAg
dm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBkb3VibGUgaW50ZXJ2YWwpCiAgICAg
ICAgIHJldHVybjsKICAgICAKICAgICBpbml0aWFsaXplVGVtcExvZ0ZpbGUoKTsKLSAgICBpbml0
aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50
ZXJ2YWwpKTsKIH0KIAogdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIGNvbnN0IFN0cmluZyYgc2Ft
cGxlTG9nRmlsZVBhdGgsIGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkgCkBAIC04MiwxNyArODEsMTcg
QEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUKICAgICB9CiAgICAgICAgIAogICAgIGluaXRpYWxp
emVTYW5kYm94ZWRMb2dGaWxlKHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIHNhbXBsZUxvZ0ZpbGVQYXRo
KTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAgICBpbml0aWFsaXplVGltZXJz
KFNlY29uZHMoaW50ZXJ2YWwpKTsKICAgIAogfQogCi12b2lkIFdlYk1lbW9yeVNhbXBsZXI6Omlu
aXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVydmFsKQordm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpp
bml0aWFsaXplVGltZXJzKFNlY29uZHMgaW50ZXJ2YWwpCiB7Ci0gICAgbV9zYW1wbGVUaW1lci5z
dGFydFJlcGVhdGluZygxKTsKKyAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29u
ZHMoMSkpOwogICAgIHByaW50ZigiU3RhcnRlZCBtZW1vcnkgc2FtcGxlciBmb3IgcHJvY2VzcyAl
cyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgpLmRhdGEoKSwgZ2V0cGlkKCkpOwotICAgIGlmIChp
bnRlcnZhbCA+IDApIHsKKyAgICBpZiAoaW50ZXJ2YWwgPiAwX3MpIHsKICAgICAgICAgbV9zdG9w
VGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKLSAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50
ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsKTsKKyAgICAgICAgcHJpbnRmKCIgZm9yIGEg
aW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsLnZhbHVlKCkpOwogICAgIH0KICAgICBw
cmludGYoIjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQgYXQ6ICVzXG4iLCBtX3NhbXBsZUxvZ0Zp
bGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwogICAgIG1fcnVubmluZ1RpbWUgPSBpbnRlcnZhbDsKQEAg
LTE1OSw3ICsxNTgsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZpcmVkKCkK
IHsKICAgICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAgICByZXR1cm47Ci0gICAgcHJpbnRmKCIl
ZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9yeSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5p
bmdUaW1lKTsKKyAgICBwcmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5
IHNhbXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUudmFsdWUoKSk7CiAgICAgc3RvcCgpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAppbmRleCAyNzg3YjUxNWRh
YmM1MWViZWM1YmMwNjQ2ZjEzYmVmZTUxMjk4NjIyLi5kYTQyODhiNTg0MDlmZmJhYWY4ZDI3M2Ni
Mzg1ODQ1YjBkMWQ4ODYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVy
LmgKQEAgLTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemVUZW1wTG9n
RmlsZSgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVNhbmRib3hlZExvZ0ZpbGUoY29uc3QgU2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlJiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCB3cml0ZUhlYWRl
cnMoKTsKLSAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMoZG91YmxlKTsKKyAgICB2b2lkIGluaXRp
YWxpemVUaW1lcnMoU2Vjb25kcyk7CiAgICAgdm9pZCBzYW1wbGVUaW1lckZpcmVkKCk7CiAgICAg
dm9pZCBzdG9wVGltZXJGaXJlZCgpOwogICAgIHZvaWQgYXBwZW5kQ3VycmVudE1lbW9yeVVzYWdl
VG9GaWxlKFdlYkNvcmU6OlBsYXRmb3JtRmlsZUhhbmRsZSYpOwpAQCAtMTAwLDcgKzEwMCw3IEBA
IHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VGltZXIgbV9zYW1wbGVUaW1lcjsKICAgICBXZWJDb3Jl
OjpUaW1lciBtX3N0b3BUaW1lcjsKICAgICBib29sIG1faXNSdW5uaW5nOwotICAgIGRvdWJsZSBt
X3J1bm5pbmdUaW1lOworICAgIFNlY29uZHMgbV9ydW5uaW5nVGltZTsKICAgICBSZWZQdHI8U2Fu
ZGJveEV4dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94RXh0ZW5zaW9uOwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgK
aW5kZXggZWM4NmUxZTIxZmZjY2Q2ZDg3MmFhYTFmMmQ0MTllNDY2NmEzMjdkYi4uMGQzN2I5YTNl
ZDdlMzY0YzFjNGI2OTkzZjkwNjc5MmE1ZmVhZWVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xMTMsNyArMTEz
LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogCiAgICAgYm9vbCBp
Y29uRGF0YWJhc2VFbmFibGVkOwogCi0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAg
ICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogICAgIFZlY3RvcjxTdHJpbmc+IGxhbmd1
YWdlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXll
ckJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5oCmluZGV4IDZhZjc5MDJkYTNmOWZhOWMyZWFiZGFhYTBlNWQ3ODVmNjUzMmU2
ZTcuLjQzNjhjYzJjYzFiM2Y1YzZkNWE4ZWIzYjM4MGIyZThiZGIzYTRhM2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAg
LTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvSU9TdXJmYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdpb24uaD4KLSNpbmNs
dWRlIDxjaHJvbm8+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KIAogT0JKQ19DTEFT
UyBDQUxheWVyOwogCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgc2V0QnVm
ZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlIHR5cGUsIGJvb2wgaXNWb2xhdGlsZSk7CiAKLSAgICBz
dGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IGxhc3REaXNwbGF5VGltZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9CisgICAgTW9ub3RvbmljVGltZSBsYXN0
RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5VGltZTsgfQogCiBwcml2
YXRlOgogICAgIHZvaWQgZHJhd0luQ29udGV4dChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQmLCBD
R0ltYWdlUmVmIGJhY2tJbWFnZSk7CkBAIC0xMDMsOCArMTAzLDEwIEBAIHByaXZhdGU6CiAgICAg
UGxhdGZvcm1DQUxheWVyUmVtb3RlKiBtX2xheWVyOwogCiAgICAgV2ViQ29yZTo6RmxvYXRTaXpl
IG1fc2l6ZTsKLSAgICBmbG9hdCBtX3NjYWxlOwotICAgIGJvb2wgbV9pc09wYXF1ZTsKKyAgICBm
bG9hdCBtX3NjYWxlIHsgMSB9OworCisgICAgYm9vbCBtX2lzT3BhcXVlIHsgZmFsc2UgfTsKKyAg
ICBib29sIG1fYWNjZWxlcmF0ZXNEcmF3aW5nIHsgZmFsc2UgfTsKIAogICAgIFdlYkNvcmU6OlJl
Z2lvbiBtX2RpcnR5UmVnaW9uOwogCkBAIC0xMTIsNyArMTE0LDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwOwogI2lmIFVTRShJT1NVUkZBQ0UpCiAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJT1N1cmZhY2U+IHN1cmZhY2U7Ci0gICAg
ICAgIGJvb2wgaXNWb2xhdGlsZSA9IGZhbHNlOworICAgICAgICBib29sIGlzVm9sYXRpbGUgeyBm
YWxzZSB9OwogI2VuZGlmCiAKICAgICAgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0
CkBAIC0xMzgsMTEgKzE0MCw5IEBAIHByaXZhdGU6CiAKICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0
UmVmPiBtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaDsKIAotICAgIGJvb2wgbV9hY2NlbGVyYXRl
c0RyYXdpbmc7Ci0KICAgICBXZWJDb3JlOjpSZXBhaW50UmVjdExpc3QgbV9wYWludGluZ1JlY3Rz
OwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3REaXNw
bGF5VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFzdERpc3BsYXlUaW1lOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCBkNTcxOWRkYTEyYmVhYjgyMmRmMzJiNzIx
NThlYmE2YTVlOTk0MjA1Li5jYmNmNzFjNWY3NTRlZWMzZTg2MGZmMTJmYzczZmZhODVjNjdkZDEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUubW0KQEAgLTYyLDggKzYyLDYgQEAgc3RhdGljIFdlYkNvcmU6OklPU3VyZmFjZTo6
Rm9ybWF0IGJ1ZmZlckZvcm1hdChib29sIGlzT3BhcXVlKQogCiBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZTo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBsYXll
cikKICAgICA6IG1fbGF5ZXIobGF5ZXIpCi0gICAgLCBtX2lzT3BhcXVlKGZhbHNlKQotICAgICwg
bV9sYXN0RGlzcGxheVRpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludDo6
bWluKCkpCiB7CiAgICAgaWYgKCFtX2xheWVyKQogICAgICAgICByZXR1cm47CkBAIC0yMzEsNyAr
MjI5LDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheSgpCiB7CiAgICAg
QVNTRVJUKCFtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaCk7CiAKLSAgICBtX2xhc3REaXNwbGF5
VGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdERpc3Bs
YXlUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBib29sIG5lZWRUb0VuY29kZUJh
Y2tpbmdTdG9yZSA9IGZhbHNlOwogICAgIGlmIChSZW1vdGVMYXllclRyZWVDb250ZXh0KiBjb250
ZXh0ID0gbV9sYXllci0+Y29udGV4dCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKaW5kZXgg
ZmU0OTcxZWU3MzkyNDE0YWJjMTE5NDBhYzc5ZjhmNzkxNGNhNDg2Mi4uY2Q4M2EzOGQ5ODQ1NWRi
NWQ1NGVkM2Y0NjUzOTg2ZWVkOTc0NTMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCkBA
IC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICB0eXBlZGVmIHVuc2lnbmVkIFZv
bGF0aWxpdHlNYXJraW5nRmxhZ3M7CiAgICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJ
bW1lZGlhdGVseShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIFZvbGF0aWxpdHlNYXJraW5nRmxh
Z3Mgdm9sYXRpbGl0eU1hcmtpbmdGbGFncyA9IDApOwotICAgIGJvb2wgbWFya0JhY2tpbmdTdG9y
ZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgc3RkOjpjaHJvbm86OnN0ZWFkeV9j
bG9jazo6dGltZV9wb2ludCBub3cpOworICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxl
KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgTW9ub3RvbmljVGltZSBub3cpOwogCiAgICAgSGFz
aFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fbGl2ZUJhY2tpbmdTdG9yZTsKICAgICBI
YXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV91bnBhcmVudGVkQmFja2luZ1N0b3Jl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRleCAyNjgzNmU3YmYzODY0N2U0ODAwYTY0
YjBjNzVjZTZmZmIwY2ExNGJlLi40NjBjZDliY2M1MThlYzhkNjFmYTQ5ZTFmZmNjNDc0ZWRkODA3
MDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQpAQCAtMzAsOSArMzAsOSBAQAogI2lt
cG9ydCAiUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJl
ZUNvbnRleHQuaCIKIAotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgdm9sYXRpbGVCYWNraW5n
U3RvcmVBZ2VUaHJlc2hvbGQgPSAxczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
dm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAyMDBtczsKLWNvbnN0
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAyMDBt
czsKK2NvbnN0IGF1dG8gdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAxX3M7Citj
b25zdCBhdXRvIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkID0gMC4y
X3M7Citjb25zdCBhdXRvIHZvbGF0aWxpdHlUaW1lckludGVydmFsID0gMC4yX3M7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCkBAIC0xMjAsNyArMTIwLDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJl
bW8KICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlOwogfQog
Ci1ib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9y
ZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUsIHN0ZDo6Y2hy
b25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93KQorYm9vbCBSZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJh
Y2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBNb25vdG9uaWNUaW1lIG5vdykKIHsKICAgICBpZiAo
bm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGltZSgpIDwgdm9sYXRpbGVCYWNraW5nU3Rv
cmVBZ2VUaHJlc2hvbGQpIHsKICAgICAgICAgaWYgKG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlz
cGxheVRpbWUoKSA+PSB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkK
QEAgLTE2NCw3ICsxNjQsNyBAQCB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewogICAgIGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJh
Y2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIAotICAgIGF1dG8gbm93ID0gc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGJhY2tpbmdTdG9yZSA6IG1fbGl2ZUJhY2tpbmdTdG9y
ZSkKICAgICAgICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlICY9IG1hcmtC
YWNraW5nU3RvcmVWb2xhdGlsZSgqYmFja2luZ1N0b3JlLCBub3cpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxp
emVkU2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0NWRmZWQzMWM1OTE4MzU4YmU3ZjY3MTZi
MWJmZTcwMTg4YjU5Li4xYjVkZDAzNjM5MWYyMmI5ZWJjNWI3MjNkOTIyM2Y4MDI5MGU5YTE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KQEAgLTQ2LDcgKzQ2LDcgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgaWYgKCFtX2NvbnRleHQpIHsKICAgICAgICAgICAgIG1f
Y29udGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxsb2NdIGluaXRdKTsKLSAgICAgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNo
b3QoMV9zKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9jb250ZXh0LmdldCgpOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXgg
ZDI3NzAwNTk2MWQyOWFlZDY3NTA5MzY5NGIyM2U0ZTgyNTVlMTA4Ni4uMTEzNWY3OTc4NWVkOWY3
N2MwYTVhYjk1OWJmMTI0ZDcwNmU5ZTcyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTU5MCw3ICs1OTAsNyBAQCB2b2lkIEV3a1ZpZXc6OnNj
aGVkdWxlVXBkYXRlRGlzcGxheSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9kaXNw
bGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBFd2tWaWV3OjpzZXRWaWV3cG9ydFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRz
UG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggMDRjN2U5NTQ3Mjk5NTdjZTQyODJlYjQwZTFjODcx
MDNjMTQ0NWY1Zi4uYzJiZTM2NWY3MWU5OGYzNGY5ZTg1ZTRkNmFkMTg5M2NlYzY5ZjNkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXdCYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdC
YXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWCiAg
ICAgaWYgKHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5pc0FjdGl2ZSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBwcml2LT51cGRhdGVBY3Rpdml0eVN0YXRlVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogc3RhdGljIGdib29sZWFuIHRvcGxldmVsV2luZG93Rm9jdXNJbkV2ZW50KEd0
a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEZvY3VzKiwgV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZp
ZXdCYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vz
c1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5j
cHAKaW5kZXggZmQ4YmM1YWM5YTk3YzgzMDU1ZDQ4Yjc1YmE4MDA5MzM5OTY1MTdiMC4uMmQ2ZmVi
OTQ3ZjFjODY4MWUzMGJmMTRiMGRjNzY1YzgxNDMyZjYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9p
ZCBDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKCkKICAgICAgICAgLy8gT24gaU9T
IGRlcGxveSBhIHdhdGNoZG9nIGluIHRoZSBVSSBwcm9jZXNzLCBzaW5jZSB0aGUgY2hpbGQgcHJv
Y2VzcyBtYXkgYmUgc3VzcGVuZGVkLgogICAgICAgICAvLyBJZiAzMHMgaXMgaW5zdWZmaWNpZW50
IGZvciBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgdG8gY29tcGxldGUgY2xlYW5seSwgdGhlbiBp
dCB3aWxsIGJlIGtpbGxlZC4KICAgICAgICAgQVNTRVJUKG1fY29ubmVjdGlvbik7Ci0gICAgICAg
IG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMCk7CisgICAgICAgIG1fY29ubmVjdGlvbi0+
dGVybWluYXRlU29vbigzMF9zKTsKICNlbmRpZgogICAgICAgICBicmVhazsKICAgICBjYXNlIFN0
YXRlOjpUZXJtaW5hdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNDUyOTkyMmI0ZmJmNmJmNTMxYzdjMDVhN2MyMjNiNjM1
MTQzMjU2MC4uZjgxNmU3ZjBjMzIxYWYyYTlkODYyMWE3YjRjNWYxYThhNzgwMzk3YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBA
IC04NTIsNyArODUyLDcgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGlu
ZygpCiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gRGVsYXkgcmVsZWFzaW5nIHRoZSBiYWNrZ3Jv
dW5kIGFjdGl2aXR5IGZvciAzIHNlY29uZHMgdG8gZ2l2ZSB0aGUgYXBwbGljYXRpb24gYSBjaGFu
Y2UgdG8gc3RhcnQgYW5vdGhlciBuYXZpZ2F0aW9uCiAgICAgICAgIC8vIGJlZm9yZSBzdXNwZW5k
aW5nIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgPHJkYXI6Ly9wcm9ibGVtLzI3OTEwOTY0Pi4KLSAg
ICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFydE9uZVNob3QoM3MpOworICAgICAgICBt
X3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hvdCgzX3MpOwogICAgIH0KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVD
b250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQ5ZjE4ZTM3OGE1MjlkMDU2NWIwZDdlZTllNjE4ODIxMmNm
ZGQyYjguLjRkYmQ3OGY2NDJjNTg1YzRjYWQ3NzE4MjZkMDgyYjhhMGM4YWMzYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRy
b2xsZXIuY3BwCkBAIC00MCwxMyArNDAsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMg
c3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MG1z
Oworc3RhdGljIGNvbnN0IGF1dG8gc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVyRmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzX3M7CitzdGF0aWMgY29uc3QgYXV0
byBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRNb25pdG9yaW5nSW50ZXJ2YWwgPSAwLjI1
X3M7CiAKICNpZiBQTEFURk9STShNQUMpCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNXM7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSA1X3M7CiAj
ZWxzZQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1v
dmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNzOworc3RhdGljIGNvbnN0IFNlY29uZHMgc3dpcGVTbmFw
c2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM19zOwogI2VuZGlmCiAKIHN0YXRpYyBIYXNo
TWFwPHVpbnQ2NF90LCBWaWV3R2VzdHVyZUNvbnRyb2xsZXIqPiYgdmlld0dlc3R1cmVDb250cm9s
bGVyc0ZvckFsbFBhZ2VzKCkKQEAgLTI5NywxMCArMjk3LDEwIEBAIHZvaWQgVmlld0dlc3R1cmVD
b250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjp3YXRjaGRvZ1RpbWVyRmlyZWQoKQog
ICAgIGZpcmVSZW1vdmFsQ2FsbGJhY2tJbW1lZGlhdGVseSgpOwogfQogCi12b2lkIFZpZXdHZXN0
dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyhzdGQ6
OmNocm9ubzo6c2Vjb25kcyBkdXJhdGlvbikKK3ZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpT
bmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKFNlY29uZHMgZHVyYXRpb24pCiB7
Ci0gICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3Ig
JWxsZCBzZWNvbmRzIiwgZHVyYXRpb24uY291bnQoKSkpOwotICAgIG1fd2F0Y2hkb2dUaW1lci5z
dGFydE9uZVNob3QoZHVyYXRpb24uY291bnQoKSk7CisgICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIo
cmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJS4zZiBzZWNvbmRzIiwgZHVyYXRpb24udmFs
dWUoKSkpOworICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24pOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAppbmRleCA3NThkNzM1MGRiZDg0NzU3
NDY2Y2NkYmE4NDM2YjZlNDlkNjJiYzJkLi5lMTRkNzM5NzE5MmFkMGMwN2YxMjI4MDlmYzg3YjE0
NDQ3NmQ0ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmll
d0dlc3R1cmVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCkBAIC0xNTcsNyArMTU3LDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgYm9vbCBldmVudE9jY3VycmVkKEV2ZW50cyk7CiAgICAgICAgIGJvb2wgY2FuY2VsT3V0
c3RhbmRpbmdFdmVudChFdmVudHMpOwogCi0gICAgICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhzdGQ6
OmNocm9ubzo6c2Vjb25kcyk7CisgICAgICAgIHZvaWQgc3RhcnRXYXRjaGRvZyhTZWNvbmRzKTsK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZXZlbnRzRGVzY3JpcHRpb24o
RXZlbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0KaW5kZXggNGU4NzNlYWQ2NTE4NWY2NTlkOTYxMWE4YWY5OWRiMjNh
M2RjNzc4OC4uMzVlZTRlYjFhNGFkYTc0N2ExODM5OWJhMzE5MWE5MzYxODc2NGI0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29j
b2EubW0KQEAgLTI3NSw3ICsyNzUsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUlu
aXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYQogI2VuZGlm
CiAKICAgICBwYXJhbWV0ZXJzLnNob3VsZFN1cHByZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyID0g
W2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0U3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJE
ZWZhdWx0c0tleV07Ci0gICAgcGFyYW1ldGVycy5sb2FkVGhyb3R0bGVMYXRlbmN5ID0gc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyhbZGVmYXVsdHMgaW50ZWdlckZvcktleTpXZWJLaXROZXR3b3Jr
TG9hZFRocm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25kc0RlZmF1bHRzS2V5XSk7CisgICAgcGFyYW1l
dGVycy5sb2FkVGhyb3R0bGVMYXRlbmN5ID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhbZGVm
YXVsdHMgaW50ZWdlckZvcktleTpXZWJLaXROZXR3b3JrTG9hZFRocm90dGxlTGF0ZW5jeU1pbGxp
c2Vjb25kc0RlZmF1bHRzS2V5XSk7CiAKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMTAwCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4g
Y29va2llU3RvcmFnZURhdGEgPSBhZG9wdENGKENGSFRUUENvb2tpZVN0b3JhZ2VDcmVhdGVJZGVu
dGlmeWluZ0RhdGEoa0NGQWxsb2NhdG9yRGVmYXVsdCwgW1tOU0hUVFBDb29raWVTdG9yYWdlIHNo
YXJlZEhUVFBDb29raWVTdG9yYWdlXSBfY29va2llU3RvcmFnZV0pKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAppbmRleCBiNDVmMjI3OWU3MmJlZWUw
YWU3MzNjNmUxMGFiMTQxOTJlMDFmMmU1Li44NWVjMzgzN2M5MTVlZThhYzI3ZDljZjEzZThlYzM0
YzYzZGQ5Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4
cG9zZWRSZWN0KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRSZWN0PiB2aWV3CiAgICAgbV92
aWV3RXhwb3NlZFJlY3QgPSB2aWV3RXhwb3NlZFJlY3Q7CiAKICAgICBpZiAoIW1fdmlld0V4cG9z
ZWRSZWN0Q2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdmlld0V4cG9zZWRSZWN0
Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94
eTo6dmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKaW5kZXggNDQwZGY5YTMzZWU2
OTg2N2I2NDI1OGQwMzJlMDVlODE5ZjEzYTgxNC4uMDA5OWE1ZjY3MTAzYzdlM2MxYmI2OWFjYjFm
ODg2ZGQzMzExMDNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgdm9pZCBEcmF3aW5nQXJlYVBy
b3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24oKQogCiAgICAgLy8gV2UnbGwgd2FpdCB0
aGlzIG1hbnkgc2Vjb25kcyBhZnRlciB0aGUgbGFzdCBwYWludCBiZWZvcmUgdGhyb3dpbmcgYXdh
eSBvdXIgYmFja2luZyBzdG9yZSB0byBzYXZlIG1lbW9yeS4KICAgICAvLyBGSVhNRTogSXQgd291
bGQgYmUgc21hcnRlciB0byBtYWtlIHRoaXMgZGVsYXkgYmFzZWQgb24gaG93IGV4cGVuc2l2ZSBw
YWludGluZyBpcy4gU2VlIDxodHRwOi8vd2Via2l0Lm9yZy9iLzU1NzMzPi4KLSAgICBzdGF0aWMg
Y29uc3QgZG91YmxlIGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSA9IDI7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5ID0gMl9zOwogCiAgICAgbV9kaXNj
YXJkQmFja2luZ1N0b3JlVGltZXIuc3RhcnRPbmVTaG90KGRpc2NhcmRCYWNraW5nU3RvcmVEZWxh
eSk7CiB9CkBAIC0yMTEsMTMgKzIxMSwxMyBAQCBpbnQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRy
YXdpbmdNb25pdG9yOjp3ZWJWaWV3RHJhd0NhbGxiYWNrKERyYXdpbmdBcmVhUHJveHlJbQogCiB2
b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RhcnQoc3RkOjpmdW5j
dGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4gY2FsbGJhY2spCiB7Ci0gICAgbV9zdGFy
dFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpOworICAgIG1fc3RhcnRUaW1l
ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgbV9jYWxsYmFjayA9IGNhbGxiYWNrOwogI2lm
IFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV93ZWJQYWdlLnZp
ZXdXaWRnZXQoKSwgImRyYXciLCByZWludGVycHJldF9jYXN0PEdDYWxsYmFjaz4od2ViVmlld0Ry
YXdDYWxsYmFjayksIHRoaXMpOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1f
dGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwogI2Vsc2UKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCiB9CiAK
QEAgLTIyNyw3ICsyMjcsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9u
aXRvcjo6c3RvcCgpCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rp
c2Nvbm5lY3RfYnlfZnVuYyhtX3dlYlBhZ2Uudmlld1dpZGdldCgpLCByZWludGVycHJldF9jYXN0
PGdwb2ludGVyPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7CiAjZW5kaWYKLSAgICBtX3N0
YXJ0VGltZSA9IDA7CisgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lKCk7CiAgICAgaWYg
KG1fY2FsbGJhY2spIHsKICAgICAgICAgbV9jYWxsYmFjayhDYWxsYmFja0Jhc2U6OkVycm9yOjpO
b25lKTsKICAgICAgICAgbV9jYWxsYmFjayA9IG51bGxwdHI7CkBAIC0yMzksMTAgKzIzOSwxMCBA
QCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6ZGlkRHJhdygpCiAg
ICAgLy8gV2Ugd2FpdCB1cCB0byAxIHNlY29uZCBmb3IgZHJhdyBldmVudHMuIElmIHRoZXJlIGFy
ZSBzZXZlcmFsIGRyYXcgZXZlbnRzIHF1ZXVlZCBxdWlja2x5LAogICAgIC8vIHdlIHdhbnQgdG8g
d2FpdCB1bnRpbCBhbGwgb2YgdGhlbSBoYXZlIGJlZW4gcHJvY2Vzc2VkLCBzbyBhZnRlciByZWNl
aXZpbmcgYSBkcmF3LCB3ZSB3YWl0CiAgICAgLy8gdXAgdG8gMTAwbXMgZm9yIHRoZSBuZXh0IG9u
ZSBvciBzdG9wLgotICAgIGlmIChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNUygpIC0gbV9z
dGFydFRpbWUgPiAxMDAwKQorICAgIGlmIChNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fc3RhcnRU
aW1lID4gMV9zKQogICAgICAgICBzdG9wKCk7CiAgICAgZWxzZQotICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwLjEwMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsK
IH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJh
d2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IGNhbGxiYWNrRnVu
Y3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oCmluZGV4IDg5YzcxM2ZjODdhNzM1NDkzMDM4YWQxMGQ5MGRjMWNmNjA2MWQ0NTcuLjVhYTY2
YzZkMDQ4YmQwZjdkMjZmOGM3YzY0ZWQwZDFhMjgyZjdmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIHZvaWQgZGlkRHJhdygpOwogCiAgICAgICAgIFdlYlBhZ2VQcm94eSYg
bV93ZWJQYWdlOwotICAgICAgICBkb3VibGUgbV9zdGFydFRpbWUgeyAwIH07CisgICAgICAgIE1v
bm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2Fs
bGJhY2tCYXNlOjpFcnJvcik+IG1fY2FsbGJhY2s7CiAgICAgICAgIFJ1bkxvb3A6OlRpbWVyPERy
YXdpbmdNb25pdG9yPiBtX3RpbWVyOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAKaW5kZXggNjc3Y2Q2NzM5
MWFmNTY5ZjQyYWZmYmRmNDQwYWFlMjE1NTE1ZjQzZS4uY2VhOTgyZjZlMjJjNjA0OThlYWI4Mjk2
OTQzZjUwNTMyYjhiNDM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dh
bWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApAQCAtMzksNyArMzksNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBk
b3VibGUgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZhbCA9IDEgLyAxMjAuMDsKK3N0YXRpYyBj
b25zdCBTZWNvbmRzIG1heGltdW1HYW1lcGFkVXBkYXRlSW50ZXJ2YWwgPSBTZWNvbmRzKDEgLyAx
MjAuMCk7CiAKIFVJR2FtZXBhZFByb3ZpZGVyJiBVSUdhbWVwYWRQcm92aWRlcjo6c2luZ2xldG9u
KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IDU0ZGZiM2IwNThkNGZlOTAzNzQ2MTU3OTJlZmE1NmIw
OGZkZDBiNjguLjQ2MGJlYmY1ZGIwOTkzNzU1YTY2MmMzM2IyOWQwNzQ4MTRjNzBhYjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c1Byb3h5LmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtaW5pbXVtTGlmZXRp
bWUgPSAyICogNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ01pbmltdW1MaWZl
dGltZSA9IDMwOworc3RhdGljIGNvbnN0IGF1dG8gbWluaW11bUxpZmV0aW1lID0gMl9taW47Citz
dGF0aWMgY29uc3QgYXV0byBzbmFwc2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgPSAzMF9zOwogCi1z
dGF0aWMgY29uc3QgZG91YmxlIHNodXRkb3duVGltZW91dCA9IDEgKiA2MDsKLXN0YXRpYyBjb25z
dCBkb3VibGUgc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0ID0gMTU7CitzdGF0aWMgY29uc3Qg
YXV0byBzaHV0ZG93blRpbWVvdXQgPSAxX21pbjsKK3N0YXRpYyBjb25zdCBhdXRvIHNuYXBzaG90
dGluZ1NodXRkb3duVGltZW91dCA9IDE1X3M7CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNh
bGxiYWNrSUQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAppbmRleCAzZTFjMmVmNWFmNjY3N2E5Mjk5ZGU4
NTQ5NDVmOTE0NTgwMzM0OWUzLi5kNWZiMWIyMzFiNDM3MGYwNmVkYzMxMzRmMzQ1YzVjM2NjZWNk
MDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1
Z2luSW5mb0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9n
dGsvUGx1Z2luSW5mb0NhY2hlLmNwcApAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQgUGx1Z2luSW5m
b0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgY29uc3Qg
UGx1Z2luTW9kCiAgICAgICAgIGlmIChtX3NhdmVUb0ZpbGVJZGxlLmlzQWN0aXZlKCkpCiAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9zYXZlVG9GaWxlSWRsZS5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAKaW5k
ZXggMjI3NWJiM2IyMjZiN2RiZDQ4ZDMzY2YwZjM2ZDIzNDlkODUwYmVjNi4uY2Q4MjVlMWVlMGEw
OWM1N2YzZTJkNjMxMmI3OWU3ZDRmMTcwZTNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKICAgICAKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBwcm9jZXNzU3VzcGVuc2lvblRp
bWVvdXQgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91
dCA9IDMwX3M7CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVyOjpQcm9jZXNzVGhyb3R0bGVyKFByb2Nl
c3NUaHJvdHRsZXJDbGllbnQmIHByb2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAppbmRl
eCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFjNDA2N2VlZjJiLi42MDNiYzlmMTNmZTk2
OWJmMzRkYjM0NjBhYmI0NzhiYjg5OWJkYzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHJlc3BvbnNpdmVuZXNzVGltZW91
dCA9IDM7CitzdGF0aWMgY29uc3QgYXV0byByZXNwb25zaXZlbmVzc1RpbWVvdXQgPSAzX3M7CiAK
IFJlc3BvbnNpdmVuZXNzVGltZXI6OlJlc3BvbnNpdmVuZXNzVGltZXIoUmVzcG9uc2l2ZW5lc3NU
aW1lcjo6Q2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKaW5kZXggYTNmYjc3MGY1Y2Ri
Y2RjYjVmYTc3YWI0ZDJmMGI1NDc0NDg5MGY2Zi4uM2VkNTU3NTMxNmJmZGQwMzY1MDM3YWQ2YThi
ZDdkNGFhODQ3YjRmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0
ZWRMaW5rU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1N0b3JlLmNwcApAQCAtOTgsNyArOTgsNyBAQCB2b2lkIFZpc2l0ZWRMaW5rU3RvcmU6OmFkZFZp
c2l0ZWRMaW5rSGFzaChMaW5rSGFzaCBsaW5rSGFzaCkKICAgICBtX3BlbmRpbmdWaXNpdGVkTGlu
a3MuYWRkKGxpbmtIYXNoKTsKIAogICAgIGlmICghbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBWaXNpdGVkTGlua1N0b3JlOjpyZW1vdmVBbGwoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOTczNjE4ZDJjNWYzYWIw
MmQ4NTZmN2FjZmVkYjMwMDBiN2QyZWZhMC4uZjI4N2Y1YWE2ZTdlNTRiZGNjNDY2N2MwNmQzNmM5
MTQ1OGU4MDY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCkBAIC0xNzMsNyArMTczLDcgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29sKEFQ
STo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgICwgbV9hbHdh
eXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkobV9jb25maWd1cmF0aW9uLT5hbHdheXNSdW5zQXRC
YWNrZ3JvdW5kUHJpb3JpdHkoKSkKICAgICAsIG1fdXNlck9ic2VydmFibGVQYWdlQ291bnRlcihb
dGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7
IH0pCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkRm9yUGFnZUNvdW50ZXIoW3Ro
aXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9
KQotICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlz
XShSZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsgfSkKKyAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291
bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsgfSkKICAgICAsIG1faGlkZGVuUGFnZVRocm90dGxpbmdUaW1l
cihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFn
ZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCkKIHsKICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6
IG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzKCkpCkBAIC01OTUs
NyArNTk1LDcgQEAgV2ViUHJvY2Vzc1Byb3h5JiBXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2Vi
UHJvY2VzcygpCiAKICAgICBwYXJhbWV0ZXJzLmljb25EYXRhYmFzZUVuYWJsZWQgPSAhaWNvbkRh
dGFiYXNlUGF0aCgpLmlzRW1wdHkoKTsKIAotICAgIHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1l
b3V0ID0gMDsKKyAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IDBfczsKIAogICAg
IHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSA9IFRleHRDaGVja2VyOjpzdGF0ZSgpOwogCkBA
IC0xNDE2LDEwICsxNDE2LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBh
Z2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQoKQogICAgIC8vIFdlJ3JlIGVzdGltYXRpbmcg
YW4gdXBwZXIgYm91bmQgZm9yIGEgc2V0IG9mIGJhY2tncm91bmQgdGltZXIgZmlyZXMgZm9yIGEg
cGFnZSB0byBiZSAyMDBtcwogICAgIC8vIChpbmNsdWRpbmcgYWxsIHRpbWVyIGZpcmVzLCBhbGwg
cGFnaW5nLWluLCBhbmQgYW55IHJlc3VsdGluZyBHQykuIFRvIGVuc3VyZSB0aGlzIGRvZXMgbm90
CiAgICAgLy8gcmVzdWx0IGluIG1vcmUgdGhhbiAxJSBDUFUgbG9hZCBhbGxvdyBmb3Igb25lIHRp
bWVyIGZpcmUgcGVyIDEwMHggdGhpcyBkdXJhdGlvbi4KLSAgICBzdGF0aWMgaW50IG1heGltdW1U
aW1lclRocm90dGxlUGVyUGFnZUluTVMgPSAyMDAgKiAxMDA7CisgICAgc3RhdGljIGNvbnN0IGF1
dG8gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlID0gMjAwX21zICogMTAwOwogCi0gICAgaW50
IGxpbWl0SW5NaWxsaXNlY29uZHMgPSBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBhZ2VJbk1TICog
bV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyLnZhbHVlKCk7Ci0gICAg
c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRIaWRkZW5QYWdlVGlt
ZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdEluTWlsbGlzZWNvbmRzKSk7CisgICAgYXV0
byBsaW1pdCA9IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZSAqIG1faGlkZGVuUGFnZVRocm90
dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgpOworICAgIHNlbmRUb0FsbFByb2Nlc3Nl
cyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQobGltaXQpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCmlu
ZGV4IDg1NzQ1YWMzMGFjN2I4M2UxNDgyNGJmZmVlYmE2OTA5MTNlOWI0NGEuLjNiMjIzNzdjODM5
MWQzYjgzNmM4YWQ3MDBjMzg0ZDAwM2VmZTZkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwCkBAIC0xMDEsNyArMTAx
LDcgQEAgdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6ZW5zdXJlU3BlbGxDaGVja2luZ0xhbmd1
YWdlKCkKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5n
dWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRlZmF1bHRMYW5ndWFnZXMpCiB7CiAgICAgbV9z
cGVsbENoZWNraW5nTGFuZ3VhZ2VzID0gZGVmYXVsdExhbmd1YWdlczsKLSAgICBtX2xhbmd1YWdl
c1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRleHRDaGVja2VyQ2xpZW50RWZsOjpsYW5n
dWFnZXNVcGRhdGVUaW1lckZpcmVkKCkKQEAgLTEyOCw3ICsxMjgsNyBAQCBWZWN0b3I8U3RyaW5n
PiBUZXh0Q2hlY2tlckNsaWVudEVmbDo6bG9hZGVkU3BlbGxDaGVja2luZ0xhbmd1YWdlcygpIGNv
bnN0CiAKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6OmNhbGxDb250aW51b3VzU3BlbGxDaGVj
a2luZ0NoYW5nZUNhbGxiYWNrQXN5bmMoKQogewotICAgIG1fc3BlbGxDaGVja2luZ1NldHRpbmdD
aGFuZ2VUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zcGVsbENoZWNraW5nU2V0dGluZ0No
YW5nZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIFRleHRDaGVja2VyQ2xpZW50
RWZsOjppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZENhbGxiYWNrKGNvbnN0IHZvaWQq
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9HZXN0dXJlQ29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVy
LmNwcAppbmRleCA3ZTE1NzdjYmE4YjE1NzA1MjY0ZTViYTU0NzVmZmM1OTYyZGFiODg5Li45M2Rk
ZDc2OGRiYTRjYmUwMzBkNDMxZTRiNGQ4NTdhNjg4ZDBmOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcApAQCAtMTI3LDcgKzEy
Nyw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjpiZWdpbihEcmFnR2Vz
dHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkCiAgICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBn
dGtfZXZlbnRfY29udHJvbGxlcl9nZXRfd2lkZ2V0KEdUS19FVkVOVF9DT05UUk9MTEVSKGdlc3R1
cmUpKTsKICAgICB1bnNpZ25lZCBkZWxheTsKICAgICBnX29iamVjdF9nZXQoZ3RrX3dpZGdldF9n
ZXRfc2V0dGluZ3Mod2lkZ2V0KSwgImd0ay1sb25nLXByZXNzLXRpbWUiLCAmZGVsYXksIG51bGxw
dHIpOwotICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KGRl
bGF5IC8gMTAwMC4wKTsKKyAgICBkcmFnR2VzdHVyZS0+bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0
T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKGRlbGF5KSk7CiB9CiAKIHZvaWQgR2Vz
dHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjp1cGRhdGUoRHJhZ0dlc3R1cmUqIGRyYWdHZXN0
dXJlLCBkb3VibGUgeCwgZG91YmxlIHksIEd0a0dlc3R1cmUqIGdlc3R1cmUpCkBAIC0yMDYsNyAr
MjA2LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1cmU6OnNjYWxlQ2hhbmdl
ZChab29tR2VzdHVyZSogem9vbUdlc3R1cmUsIGRvdWIKICAgICBpZiAoem9vbUdlc3R1cmUtPm1f
aWRsZS5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICB6b29tR2VzdHVyZS0+bV9p
ZGxlLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiBHZXN0dXJlQ29udHJvbGxlcjo6Wm9vbUdlc3R1cmU6Olpvb21HZXN0dXJl
KFdlYlBhZ2VQcm94eSYgcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKaW5kZXggZGMxOThkODU4ZjEzYTNjMTIzNmU1
MTFkMzhkYjY4NTI2MTM3ODRhNC4uNTMxN2ZlZDlkODkyOTNhYmQ0MjEyYzIwODVkNjRjMmI5NDM3
YTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1l
bnVQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1
cE1lbnVQcm94eUd0ay5jcHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIFdlYlBvcHVwTWVudVBy
b3h5R3RrOjptZW51VW5tYXBwZWRDYWxsYmFjayhHdGtXaWRnZXQqLCBXZWJQb3B1cE1lbnVQcm94
eUd0awogICAgIC8vIFdoZW4gYW4gaXRlbSBpcyBhY3RpdmF0ZWQsIHRoZSBtZW51IGlzIGZpcnN0
IGhpZGRlbiBhbmQgdGhlbiBhY3RpdmF0ZSBzaWduYWwgaXMgZW1pdHRlZCwgc28gYXQgdGhpcyBw
b2ludCB3ZSBkb24ndCBrbm93CiAgICAgLy8gaWYgdGhlIG1lbnUgaGFzIGJlZW4gaGlkZGVuIGJl
Y2F1c2UgYW4gaXRlbSBoYXMgYmVlbiBzZWxlY3RlZCBvciBiZWNhdXNlIHRoZSBtZW51IGhhcyBi
ZWVuIGRpc21pc3NlZC4gV2FpdCB1bnRpbCB0aGUgbmV4dAogICAgIC8vIG1haW4gbG9vcCBpdGVy
YXRpb24gdG8gZGlzbWlzcyB0aGUgbWVudSwgaWYgYW4gaXRlbSBpcyBhY3RpdmF0ZWQgdGhlIHRp
bWVyIHdpbGwgYmUgY2FuY2VsbGVkLgotICAgIHBvcHVwTWVudS0+bV9kaXNtaXNzTWVudVRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBwb3B1cE1lbnUtPm1fZGlzbWlzc01lbnVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6c2VsZWN0SXRl
bUNhbGxiYWNrKEd0a1dpZGdldCogaXRlbSwgV2ViUG9wdXBNZW51UHJveHlHdGsqIHBvcHVwTWVu
dSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9y
UHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclBy
b3h5TWFjLm1tCmluZGV4IDgxOGJkMzkwZDQ4M2QwODIyYmFlNzkzNGUxMDZmZGJiMGNkZmY4NTQu
LmRmYWQzMmVjZWY4YzQwOGExMGIyNTkxZjhiMDM3Nzg2MjE1MzM0MWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAt
NTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgTlNVSW50ZWdlciB3aW5kb3dTdHlsZU1hc2sgPSBO
U1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8IE5TV2luZG93U3R5bAogCiAvLyBUaGUgdGltZSB3ZSBr
ZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9zaW5nIGl0IGFuZCBpdHMgcHJvY2Vzcy4K
IC8vIFJldXNpbmcgdGhlIFdlYlZpZXcgaW1wcm92ZXMgc3RhcnQgdXAgdGltZSBmb3IgcGVvcGxl
IHRoYXQganVtcCBpbiBhbmQgb3V0IG9mIHRoZSBJbnNwZWN0b3IuCi1zdGF0aWMgY29uc3QgdW5z
aWduZWQgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgd2Vi
Vmlld0Nsb3NlVGltZW91dCA9IDYwX3M7CiAKIC8vIFdLV2ViSW5zcGVjdG9yUHJveHlPYmpDQWRh
cHRlciBpcyBhIGhlbHBlciBPYmpDIG9iamVjdCB1c2VkIGFzIGEgZGVsZWdhdGUgb3Igbm90aWZp
Y2F0aW9uIG9ic2VydmVyCiAvLyBmb3IgdGhlIHNvbGUgcHVycG9zZSBvZiBnZXR0aW5nIGJhY2sg
aW50byB0aGUgQysrIGNvZGUgZnJvbSBhbiBPYmpDIGNhbGxlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4
IGU4OTFjZDAzMmIyZjQzNjY0YjY3ZTA2ZGJlY2NjOGVlMDM1OGRkOGYuLmM1ZmNkZTk3N2E5ODFh
MzYwZDUwMjY2NGU4YjU2MDA5YmZjNTJhMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApAQCAtOTEsMTQgKzkx
LDE0IEBAIFJlZlB0cjxOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcj4gV2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlUGx1Z2luU3RyZWFtTG9hZChGCiAgICAgcmV0dXJuIGxvYWRlcjsKIH0KIAot
c3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2Fj
aGVkUmVzb3VyY2UqIHJlc291cmNlKQorc3RhdGljIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1Rp
bWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogewogI2lmICFFTkFCTEUoTkVUV09SS19DQUNI
RSkKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVybiAwX3M7CiAjZW5kaWYKIAogICAgIGlmICgh
cmVzb3VyY2UpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKICAg
ICBzd2l0Y2ggKHJlc291cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpD
U1NTdHlsZVNoZWV0OgpAQCAtMTA3LDkgKzEwNyw5IEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdGb250UmVzb3VyY2U6CiAjZW5kaWYKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAgICAgICAgcmV0dXJuIFNlY29uZHM6OmluZmlu
aXR5KCk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKLSAgICAgICAg
cmV0dXJuIDUwMG1zOworICAgICAgICByZXR1cm4gNTAwX21zOwogICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6Ok1lZGlhUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWFpblJlc291
cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlJhd1Jlc291cmNlOgpAQCAtMTI0LDExICsx
MjQsMTEgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmlu
Z1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogI2lmIEVOQUJMRShYU0xUKQogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6CiAjZW5kaWYKLSAgICAgICAgcmV0dXJu
IDBtczsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVybiAwX3M7CiB9CiAKIHZvaWQgV2ViTG9h
ZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIs
IENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQ
U1RvSFRUUFJlZGlyZWN0KQpAQCAtMjMxLDcgKzIzMSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRl
Z3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJl
c291CiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUludGVybmFsbHlGYWlsZWRMb2Fk
KFdlYkNvcmU6OlJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlcikKIHsKICAgICBtX2ludGVy
bmFsbHlGYWlsZWRSZXNvdXJjZUxvYWRlcnMuYWRkKCZyZXNvdXJjZUxvYWRlcik7Ci0gICAgbV9p
bnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ludGVybmFs
bHlGYWlsZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViTG9hZGVy
U3RyYXRlZ3k6OmludGVybmFsbHlGYWlsZWRMb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0
TWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwCmluZGV4IDQ5OTIwZjJjYWE4NGY3NjliNjJkMjQ2MmE5Yzk4MDdm
NTIwY2YzZWQuLjFjMWVlNjIxZDI0YjcwYWYzYWFkYTEzMzEwNjI0MjdhMzAyYzYwY2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRp
bWVPYmplY3RNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCkBAIC0yOTMsNyArMjkzLDcgQEAgdm9pZCBO
UFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0aW9uUXVldWUoTlBPYmplY3QqIG5wT2Jq
ZWN0KQogICAgIGlmICh0cnlTYWZlUmVsZWFzZU5QT2JqZWN0KG5wT2JqZWN0KSkKICAgICAgICAg
cmV0dXJuOwogICAgIGlmIChtX25wT2JqZWN0c1RvRmluYWxpemUuaXNFbXB0eSgpKQotICAgICAg
ICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9maW5hbGl6
YXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBBU1NFUlQobV9maW5hbGl6YXRpb25U
aW1lci5pc0FjdGl2ZSgpKTsKICAgICBtX25wT2JqZWN0c1RvRmluYWxpemUuYXBwZW5kKG5wT2Jq
ZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwCmluZGV4IDVjOWE5MTgyNDU2NmE0NjMw
MTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2QuLjFjZGZlY2YzYTkwOTdkNWY4ZDNhZGM3M2I3MWIwOTQ5
MGM4MmE4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcApAQCAtMzI2LDcgKzMyNiw3IEBA
IE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6flRpbWVyKCkKIAogdm9pZCBOZXRzY2FwZVBsdWdpbjo6
VGltZXI6OnN0YXJ0KCkKIHsKLSAgICBkb3VibGUgdGltZUludGVydmFsID0gbV9pbnRlcnZhbCAv
IDEwMDAuMDsKKyAgICBhdXRvIHRpbWVJbnRlcnZhbCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29u
ZHMobV9pbnRlcnZhbCk7CiAKICAgICBpZiAobV9yZXBlYXQpCiAgICAgICAgIG1fdGltZXIuc3Rh
cnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJl
YW0uY3BwCmluZGV4IDdkNTRkODhjN2U4OThjNWNlMGJhZGYxZDc2OWIyZTVkMzVkOWEyNTQuLjIz
NDk5MTMwY2M1OTY1YmNhNjFiN2I4MjgyZTk1ZDNhN2ZmN2I3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVh
bS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05l
dHNjYXBlUGx1Z2luU3RyZWFtLmNwcApAQCAtMjIyLDcgKzIyMiw3IEBAIHZvaWQgTmV0c2NhcGVQ
bHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVnaW4oKQogCiAgICAgICAgIGlmIChudW1CeXRl
c1BsdWdpbkNhbkhhbmRsZSA8PSAwKSB7CiAgICAgICAgICAgICAvLyBUaGUgcGx1Zy1pbiBjYW4n
dCBoYW5kbGUgbW9yZSBkYXRhLCB3ZSdsbCBzZW5kIHRoZSByZXN0IGxhdGVyCi0gICAgICAgICAg
ICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fZGVs
aXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQppbmRleCBiOTI2
ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1NDNjNmFjYzJlNWUwLi41MDQ0MmE3ZTY4NzJlMDkxMTNm
YzNkNGM2MjY1ZDkyMTZlY2MzMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5N
YWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogI2lmbmRlZiBOUF9OT19DQVJCT04KLXN0YXRpYyBjb25zdCBkb3VibGUg
bnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyOworc3RhdGljIGNvbnN0IFNlY29uZHMgbnVs
bEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyX3M7CiAKIHN0YXRpYyB1bnNpZ25lZCBidXR0b25T
dGF0ZUZyb21MYXN0TW91c2VFdmVudDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGFjMWRhYWJhZDA2M2E0OTYyNmIzN2UwNDAy
ZTllYmY1NDkyZDNiMWIuLjM5MWMwZTg1ODMwOWQxMGE5MmZmMzdkOGE3ZGQ3ZDk1M2UzMmFiODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHAKQEAgLTc4LDcgKzc4LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogLy8gVGhpcyBzaW11bGF0ZWQgbW91c2UgY2xpY2sgZGVsYXkgaW4gSFRNTFBs
dWdJbkltYWdlRWxlbWVudC5jcHAgc2hvdWxkIGdlbmVyYWxseSBiZSB0aGUgc2FtZSBvciBzaG9y
dGVyIHRoYW4gdGhpcyBkZWxheS4KLXN0YXRpYyBjb25zdCBhdXRvIHBsdWdpblNuYXBzaG90VGlt
ZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAxMTAwIH07CitzdGF0aWMgY29u
c3QgYXV0byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkgPSAxLjFfczsKIAogY2xhc3MgUGx1Z2lu
Vmlldzo6VVJMUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFVSTFJlcXVlc3Q+IHsKIHB1Ymxp
YzoKQEAgLTExNjQsNyArMTE2NCw3IEBAIHZvaWQgUGx1Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVl
c3RzVGltZXJGaXJlZCgpCiAKICAgICAvLyBJZiB0aGVyZSBhcmUgbW9yZSByZXF1ZXN0cyB0byBw
ZXJmb3JtLCByZXNjaGVkdWxlIHRoZSB0aW1lci4KICAgICBpZiAoIW1fcGVuZGluZ1VSTFJlcXVl
c3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wZW5kaW5nVVJMUmVxdWVzdHNUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgCiAgICAgcGVyZm9ybVVSTFJlcXVlc3QodXJsUmVxdWVzdC5nZXQoKSk7CiB9
CkBAIC0xNDIzLDcgKzE0MjMsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmxvYWRVUkwodWludDY0X3Qg
cmVxdWVzdElELCBjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgU3RyaW5nJgogICAgICAgICBm
cmFtZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnNldEhUVFBSZWZlcnJlcihyZWZlcnJl
cik7CiAKICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0cy5hcHBlbmQoVVJMUmVxdWVzdDo6Y3JlYXRl
KHJlcXVlc3RJRCwgZnJhbWVMb2FkUmVxdWVzdCwgYWxsb3dQb3B1cHMpKTsKLSAgICBtX3BlbmRp
bmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3BlbmRpbmdVUkxSZXF1
ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFBsdWdpblZpZXc6OmNhbmNl
bFN0cmVhbUxvYWQodWludDY0X3Qgc3RyZWFtSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5k
ZXggYjg3OGZiYzk4NDJlM2ViYWQ2N2Y2ZmY5OGQ3OTkwYzljYTYzMDVlNS4uNzRlMmMyMzM3NGNh
OWYzYzQ1ZWEzMDg5NzI2M2YzZjVhMWIxMWYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcApA
QCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgQWNjZWxlcmF0ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdNb2RlU29vbigpCiAgICAgaWYgKGV4aXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nTW9kZVBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9leGl0Q29tcG9z
aXRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5z
dGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxU
SVBST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5n
Q29vcmRpbmF0b3IuY3BwCmluZGV4IGYzZGFlZmM3ODc2ZDk4M2JlMTVjOWJiYzJkYWFjMTgyNWU4
YWJjMjcuLjhlZTdkZGYxOTgyZDkxN2ZhZjcxNTVkMTk4Mzg0ZDQzMWQ4Nzk0YWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3Bw
CkBAIC0xNTUsMTEgKzE1NSwxMSBAQCB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnN5bmNE
aXNwbGF5U3RhdGUoKQogfQogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQot
ZG91YmxlIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6Om5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgp
IGNvbnN0CitTZWNvbmRzIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6Om5leHRBbmltYXRpb25TZXJ2
aWNlVGltZSgpIGNvbnN0CiB7CiAgICAgLy8gQWNjb3JkaW5nIHRvIHRoZSByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUgc3BlYywgckFGIGNhbGxiYWNrcyBzaG91bGQgbm90IGJlIGZhc3RlciB0aGFuIDYw
RlBTLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25z
ID0gMS4gLyA2MC47Ci0gICAgcmV0dXJuIHN0ZDo6bWF4PGRvdWJsZT4oMC4sIE1pbmltYWxUaW1l
b3V0Rm9yQW5pbWF0aW9ucyAtIHRpbWVzdGFtcCgpICsgbV9sYXN0QW5pbWF0aW9uU2VydmljZVRp
bWUpOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9u
cyA9IFNlY29uZHMoMS4wIC8gNjApOworICAgIHJldHVybiBzdGQ6Om1heDxTZWNvbmRzPigwX3Ms
IE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyAtIFNlY29uZHModGltZXN0YW1wKCkgKyBtX2xh
c3RBbmltYXRpb25TZXJ2aWNlVGltZSkpOwogfQogI2VuZGlmCiAKQEAgLTM5OCw3ICszOTgsNyBA
QCBib29sIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnBhaW50VG9TdXJmYWNlKGNvbnN0IEludFNp
emUmIHNpemUsIENvb3JkaW5hdGVkU3VyZgogICAgIHJldHVybiBtX3VwZGF0ZUF0bGFzZXMubGFz
dCgpLT5wYWludE9uQXZhaWxhYmxlQnVmZmVyKHNpemUsIGF0bGFzSUQsIG9mZnNldCwgY2xpZW50
KTsKIH0KIAotY29uc3QgZG91YmxlIFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFs
ID0gMC41OworY29uc3QgU2Vjb25kcyBSZWxlYXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZh
bCA9IDAuNV9zOwogCiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFz
ZUluYWN0aXZlQXRsYXNlcygpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggZjk4YTM2YmMyN2E3ZjJiY2UxNzdkMTI3Y2Y5
N2Y2OWRiZTFjNzUxYS4uZWJmNjViYjdmOWNkYjdlY2UyN2JjZjAxMDMzNzVkNGNmZDhlMjM4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0
b3IuaApAQCAtODcsNyArODcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzeW5jRGlzcGxheVN0YXRl
KCk7CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi0gICAgZG91YmxlIG5l
eHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dEFuaW1hdGlv
blNlcnZpY2VUaW1lKCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCmluZGV4
IDlmNmE4MzIxZTNmMjUxYWE1ZTM2ZTUzNzE4ZDhjYWE5Nzc4MDk1NmEuLmM0N2JiMDdjZDVkNWYy
NjA3ZTgzNzVlYTBkNWJlNDcyYzY0NGE1NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtNzksNyArNzksNyBA
QCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6c2NoZWR1bGVMYXllckZsdXNoKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2xheWVyRmx1c2hUaW1lci5pc0FjdGl2ZSgpKQot
ICAgICAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF5
ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdDo6Y2FuY2VsUGVuZGluZ0xheWVyRmx1c2goKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAppbmRleCA1NGI0
ZWFkOTgzZjc1NmJkMTQ4ZTFhZjRjYmVkNjQ3Mzk4MDc5NDJkLi4wZDFiNTEwMTA2ODUxODVmODAz
MTllOTA4YmVjZjc0OGNhNTU4YjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZv
aWQgRHJhd2luZ0FyZWFJbXBsOjpzY2hlZHVsZURpc3BsYXkoKQogICAgIGlmIChtX2Rpc3BsYXlU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Rpc3BsYXlUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpkaXNwbGF5VGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZThiYzg4OWRjYTAz
ZWJkYTEyYWE2NDBkOTM5NWEyOWU2ZWE1Y2UyZC4uNWJhOGNhOTRlY2QyMWRiODNkOWYxOGUxMzVk
MDNlYTgxNTA3ZjY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcApAQCAtMjUzLDkgKzI1Myw5IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBwYWdlU2Nyb2xsSHlz
dGVyZXNpc1NlY29uZHMgPSAwLjM7Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCB7IDIwIH07Ci1zdGF0aWMg
Y29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgbWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50
ZXJ2YWwgeyAyIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwYWdlU2Nyb2xsSHlzdGVyZXNpcyA9
IDAuM19zOworc3RhdGljIGNvbnN0IFNlY29uZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVy
SW50ZXJ2YWwgPSAyMF9tczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1MYXllclZvbGF0
aWxpdHlUaW1lckludGVydmFsID0gMl9zOwogCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJz
LCBfX1ZBX0FSR1NfXykKICNkZWZpbmUgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRCguLi4p
IFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBMYXllcnMs
IF9fVkFfQVJHU19fKQpAQCAtMzE1LDcgKzMxNSw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0
X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLCBtX3VzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlcigqdGhpcykKICNlbmRpZgotICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lz
KFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNT
dGF0ZTo6U3RvcHBlZCkgcGFnZVN0b3BwZWRTY3JvbGxpbmcoKTsgfSwgcGFnZVNjcm9sbEh5c3Rl
cmVzaXNTZWNvbmRzKQorICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShIeXN0
ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBl
ZCkgcGFnZVN0b3BwZWRTY3JvbGxpbmcoKTsgfSwgcGFnZVNjcm9sbEh5c3RlcmVzaXMpCiAgICAg
LCBtX2NhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChwYXJhbWV0ZXJzLmNhblJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbCkKICAgICAsIG1fY2FuUnVuTW9kYWwocGFyYW1ldGVycy5jYW5S
dW5Nb2RhbCkKICNpZiBQTEFURk9STShJT1MpCkBAIC0yMDYyLDcgKzIwNjIsNyBAQCB2b2lkIFdl
YlBhZ2U6OmNhbGxWb2xhdGlsaXR5Q29tcGxldGlvbkhhbmRsZXJzKCkKIAogdm9pZCBXZWJQYWdl
OjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKCkKIHsKLSAgICBhdXRvIG5ld0ludGVydmFsID0g
MiAqIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIucmVwZWF0SW50ZXJ2YWxNUygpOworICAgIGF1dG8g
bmV3SW50ZXJ2YWwgPSBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsKCkgKiAy
OwogICAgIGJvb2wgZGlkU3VjY2VlZCA9IG1hcmtMYXllcnNWb2xhdGlsZUltbWVkaWF0ZWx5SWZQ
b3NzaWJsZSgpOwogICAgIGlmIChkaWRTdWNjZWVkIHx8IG5ld0ludGVydmFsID4gbWF4aW11bUxh
eWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwpIHsKICAgICAgICAgbV9sYXllclZvbGF0aWxpdHlU
aW1lci5zdG9wKCk7CkBAIC0yMDcxLDcgKzIwNzEsNyBAQCB2b2lkIFdlYlBhZ2U6OmxheWVyVm9s
YXRpbGl0eVRpbWVyRmlyZWQoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFT
RV9MT0dfRVJST1JfSUZfQUxMT1dFRCgiJXAgLSBXZWJQYWdlIC0gRmFpbGVkIHRvIG1hcmsgYWxs
IGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlbGxkIG1zIiwgdGhpcywgc3RhdGlj
X2Nhc3Q8bG9uZyBsb25nPihuZXdJbnRlcnZhbC5jb3VudCgpKSk7CisgICAgUkVMRUFTRV9MT0df
RVJST1JfSUZfQUxMT1dFRCgiJXAgLSBXZWJQYWdlIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVy
cyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBuZXdJbnRlcnZhbC52
YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKG5ld0lu
dGVydmFsKTsKIH0KIApAQCAtMjEwMiw3ICsyMTAyLDcgQEAgdm9pZCBXZWJQYWdlOjptYXJrTGF5
ZXJzVm9sYXRpbGUoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21wbGV0aW9uSGFuZGxlcikKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0g
RmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlbGxk
IG1zIiwgdGhpcywgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwuY291bnQoKSk7
CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiJXAgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5
ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICUuM2YgcyIsIHRoaXMsIGluaXRpYWxMYXll
clZvbGF0aWxpdHlUaW1lckludGVydmFsLnZhbHVlKCkpOwogICAgIG1fbGF5ZXJWb2xhdGlsaXR5
VGltZXIuc3RhcnRSZXBlYXRpbmcoaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwp
OwogfQogCkBAIC0yNTQxLDcgKzI1NDEsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZUlzSW5XaW5k
b3coYm9vbCBpc0luaXRpYWxTdGF0ZSkKICAgICAgICAgLy8gaW4gb3JkZXIgdG8gZ2V0IHBsdWct
aW4gY29ubmVjdGlvbnMsIGFuZCB0aGUgVUkgcHJvY2VzcyB3aWxsIGJlIHdhaXRpbmcgZm9yIHRo
ZSBXZWIgcHJvY2VzcyB0byB1cGRhdGUgdGhlIGJhY2tpbmcKICAgICAgICAgLy8gc3RvcmUgYWZ0
ZXIgbW92aW5nIHRoZSB2aWV3IGludG8gYSB3aW5kb3csIHVudGlsIGl0IHRpbWVzIG91dCBhbmQg
cGFpbnRzIHdoaXRlLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzkyNDI3NzE+LgogICAgICAgICBpZiAo
bV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93KQotICAgICAgICAgICAgbV9zZXRDYW5TdGFydE1l
ZGlhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlh
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkucGFnZURpZEVudGVyV2luZG93KG1fcGFnZUlEKTsKICAgICB9CkBAIC0zODczLDcgKzM4NzMs
NyBAQCB2b2lkIFdlYlBhZ2U6OmFkZFBsdWdpblZpZXcoUGx1Z2luVmlldyogcGx1Z2luVmlldykK
ICAgICBtX2hhc1NlZW5QbHVnaW4gPSB0cnVlOwogI2lmIEVOQUJMRShQUklNQVJZX1NOQVBTSE9U
VEVEX1BMVUdJTl9IRVVSSVNUSUMpCiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4g
RGV0ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGFkZFBsdWdpblZpZXcoJXApIiwg
cGx1Z2luVmlldyk7Ci0gICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVn
SW5UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNlbmRpZgogfQogCkBAIC00NDEwLDcgKzQ0MTAs
NyBAQCB2b2lkIFdlYlBhZ2U6OnNldE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3coYm9vbCBtYXlT
dGFydE1lZGlhKQogCiAgICAgbV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ID0gbWF5U3RhcnRN
ZWRpYTsKICAgICBpZiAobV9tYXlTdGFydE1lZGlhV2hlbkluV2luZG93ICYmIG1fcGFnZS0+aXNJ
bldpbmRvdygpKQotICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIFdlYlBhZ2U6OnJ1bk1vZGFsKCkKQEAgLTUxODgsNyArNTE4OCw3IEBAIHZvaWQg
V2ViUGFnZTo6ZGlkRmluaXNoTG9hZChXZWJGcmFtZSogZnJhbWUpCiAKICAgICBtX3JlYWR5VG9G
aW5kUHJpbWFyeVNuYXBzaG90dGVkUGx1Z2luID0gdHJ1ZTsKICAgICBMT0coUGx1Z2lucywgIlBy
aW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0ZWN0aW9uIGZyb20gZGlkRmlu
aXNoTG9hZCAobWFya2luZyBhcyByZWFkeSB0byBkZXRlY3QpLiIpOwotICAgIG1fZGV0ZXJtaW5l
UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGV0
ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAj
ZWxzZQogICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAjZW5kaWYKQEAgLTUyMDAsNyArNTIwMCw3
IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5TZWFyY2hCdWNr
ZXRTaXplID0gMS4xOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5N
aW5pbXVtV2lkdGggPSA0MDA7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBs
dWdJbk1pbmltdW1IZWlnaHQgPSAzMDA7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4UHJpbWFy
eVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMgPSAyOwotc3RhdGljIGNvbnN0IGlu
dCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0gMzsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0
aW9uRGVsYXkgPSAzX3M7CiBzdGF0aWMgY29uc3QgZmxvYXQgb3ZlcmxhcHBpbmdJbWFnZUJvdW5k
c1NjYWxlID0gMS4xOwogc3RhdGljIGNvbnN0IGZsb2F0IG1pbmltdW1PdmVybGFwcGluZ0ltYWdl
VG9QbHVnaW5EaW1lbnNpb25TY2FsZSA9IC45OwogCkBAIC01MzA4LDcgKzUzMDgsNyBAQCB2b2lk
IFdlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbigpCiAgICAgaWYgKCFj
YW5kaWRhdGVQbHVnSW4pIHsKICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4g
RGV0ZWN0aW9uOiBmYWlsIC0gZGlkIG5vdCBmaW5kIGEgY2FuZGlkYXRlIHBsdWctaW4uIik7CiAg
ICAgICAgIGlmIChtX251bWJlck9mUHJpbWFyeVNuYXBzaG90RGV0ZWN0aW9uQXR0ZW1wdHMgPCBt
YXhQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cykgewotICAgICAgICAg
ICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB3aWxsIGF0dGVtcHQg
YWdhaW4gaW4gJWRzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9u
RGVsYXkpOworICAgICAgICAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0
aW9uOiB3aWxsIGF0dGVtcHQgYWdhaW4gaW4gJS4zZnMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNo
b3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheS52YWx1ZSgpKTsKICAgICAgICAgICAgIG1fZGV0ZXJt
aW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KGRlZmVycmVkUHJp
bWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkpOwogICAgICAgICB9CiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmlu
ZGV4IDkwOWQyZjkxMjY2Y2Q4ZmQ1MTk2MThlZDBkMWM1N2UwOTJmZmM1OTguLjc1YmY0NmIyM2Uz
OTdjODUxNDE4NGUwZmUxYmFiNDYwOWFhNzlhYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMzAwLDcgKzMwMCw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0OwogICAgIHZvaWQgc2V0QWN0aXZl
UG9wdXBNZW51KFdlYlBvcHVwTWVudSopOwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJU
aHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxpbWl0KQor
ICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25k
cyBsaW1pdCkKICAgICB7CiAgICAgICAgIG1fcGFnZS0+c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZh
bEluY3JlYXNlTGltaXQobGltaXQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLm1tCmluZGV4IDVhNjczMzRkOGFhM2E0NjFiMzM4ZTBiOGVhODQwNzFkZGM4ZDA3ZDQu
LjkxZDhhNTY1MWY4NzYwMzU4NDMxNGVjNmRmZmIxMjczMThkY2NlMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMjg1LDcgKzI4NSw3IEBAIFRpbGVkQmFja2lu
ZyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6Om1haW5GcmFtZVRpbGVkQmFja2luZygpIGNv
bnN0CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRp
bmdMYXllckZsdXNoSW1tZWRpYXRlbHkoKQogewotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0
T25lU2hvdCgwbXMpOworICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5n
TGF5ZXJGbHVzaCgpCkBAIC0zMDQsOSArMzA0LDkgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogICAgIGlmIChtX2xheWVy
Rmx1c2hUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25zdCBhdXRv
IGluaXRpYWxGbHVzaERlbGF5ID0gNTAwbXM7Ci0gICAgY29uc3QgYXV0byBmbHVzaERlbGF5ID0g
MTUwMG1zOwotICAgIGF1dG8gdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5nTGF5ZXJGbHVz
aGVzID8gKG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxGbHVzaERlbGF5
IDogZmx1c2hEZWxheSkgOiAwbXM7CisgICAgY29uc3QgYXV0byBpbml0aWFsRmx1c2hEZWxheSA9
IDAuNV9zOworICAgIGNvbnN0IGF1dG8gZmx1c2hEZWxheSA9IDEuNV9zOworICAgIGF1dG8gdGhy
b3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5nTGF5ZXJGbHVzaGVzID8gKG1faXNJbml0aWFsVGhy
b3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxGbHVzaERlbGF5IDogZmx1c2hEZWxheSkgOiAwX3M7
CiAgICAgbV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID0gZmFsc2U7CiAKICAgICBtX2xh
eWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QodGhyb3R0bGVEZWxheSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQppbmRleCBmNGVlYTAxZmU2ZWE1NzFjM2I1Y2I0
MzBmOWMxODc0M2NlOWE0MGNjLi5jY2NmMWFjMjA1NTc4ZGM0Y2FjNWYxOGZkYTE5OGZjN2U3ZDFk
MDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTQ3
Miw3ICs0NzIsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjphY3Rpdml0
eVN0YXRlRGlkQ2hhbmdlKEFjdGl2aXR5U3RhdGU6OkZsYWdzCiAgICAgfQogCiAgICAgaWYgKG1f
d2FudHNEaWRVcGRhdGVBY3Rpdml0eVN0YXRlIHx8ICFtX25leHRBY3Rpdml0eVN0YXRlQ2hhbmdl
Q2FsbGJhY2tJRHMuaXNFbXB0eSgpKQotICAgICAgICBtX3NlbmREaWRVcGRhdGVBY3Rpdml0eVN0
YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3NlbmREaWRVcGRhdGVBY3Rpdml0
eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZUFjdGl2aXR5U3RhdGVUaW1lckZpcmVkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGRkMDBhMThkOWI2MjE2NWQ5
MzYyYTk4MmU0ZmU3NjU4ODcxZTUxOWEuLjI2MzJkYmFmYjI0YzY3MmI1Y2UzNDU0MWM1ODQ4OGZk
Njk4MDYyZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAt
MTQyLDcgKzE0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogc3RhdGljIGNvbnN0IGRv
dWJsZSBwbHVnSW5BdXRvU3RhcnRFeHBpcmF0aW9uVGltZVVwZGF0ZVRocmVzaG9sZCA9IDI5ICog
MjQgKiA2MCAqIDYwOwogCiAvLyBUaGlzIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGlsZVJldmFs
aWRhdGlvblRpbWVvdXQgaW4gVGlsZUNvbnRyb2xsZXIuCi1zdGF0aWMgY29uc3QgZG91YmxlIG5v
blZpc2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTA7CitzdGF0aWMgY29uc3QgYXV0byBub25W
aXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IDEwX3M7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC0yMTEsNyArMjExLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAgICAgICAgIGlm
IChtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgCi0gICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5zdGFydE9uZVNo
b3Qoc3RkOjpjaHJvbm86OnNlY29uZHMoNSkpOworICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2Vk
VGltZXIuc3RhcnRPbmVTaG90KDVfcyk7CiAgICAgfSk7CiB9CiAKQEAgLTUzOCw3ICs1MzgsNyBA
QCB2b2lkIFdlYlByb2Nlc3M6OnNldENhY2hlTW9kZWwodWludDMyX3QgY20pCiAgICAgdW5zaWdu
ZWQgY2FjaGVUb3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBh
Y2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1
dG8gZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRz
IHsgMCB9OworICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKICAg
ICB1bnNpZ25lZCBwYWdlQ2FjaGVTaXplID0gMDsKICAgICBjYWxjdWxhdGVNZW1vcnlDYWNoZVNp
emVzKGNhY2hlTW9kZWwsIGNhY2hlVG90YWxDYXBhY2l0eSwgY2FjaGVNaW5EZWFkQ2FwYWNpdHks
IGNhY2hlTWF4RGVhZENhcGFjaXR5LCBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCBw
YWdlQ2FjaGVTaXplKTsKIApAQCAtMTI0NCwxMCArMTI0NCwxMCBAQCB2b2lkIFdlYlByb2Nlc3M6
OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBPcHRpbwogICAgIH0KIH0KIAotdm9pZCBXZWJQcm9jZXNzOjpzZXRIaWRkZW5QYWdlVGltZXJU
aHJvdHRsaW5nSW5jcmVhc2VMaW1pdChpbnQgbWlsbGlzZWNvbmRzKQordm9pZCBXZWJQcm9jZXNz
OjpzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0
KQogewogICAgIGZvciAoYXV0byYgcGFnZSA6IG1fcGFnZU1hcC52YWx1ZXMoKSkKLSAgICAgICAg
cGFnZS0+c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyhtaWxsaXNlY29uZHMpKTsKKyAgICAgICAgcGFnZS0+c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXQpOwogfQogCiAjaWYgIVBMQVRG
T1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCAyYTk2
NDFiZmQ1NGU4MzQ3ODI4NGQ2NWE1ZWEzNTcxYTFmMjdiNWI5Li4zMzNmZGI2YzE2NTU5Yjk4M2M3
NzU2NmRiMzgzNGVmN2M0ZjkwN2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaApAQCAtMTg4LDcgKzE4OCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBkYXRlQWN0aXZl
UGFnZXMoKTsKIAotICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNl
TGltaXQoaW50IG1pbGxpc2Vjb25kcyk7CisgICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJv
dHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIHZvaWQgcHJvY2Vzc1dpbGxTdXNw
ZW5kSW1taW5lbnRseShib29sJiBoYW5kbGVkKTsKICAgICB2b2lkIHByZXBhcmVUb1N1c3BlbmQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgppbmRleCA2ZDc2ZTU4MzI2ZWQzNTI0YWFjNWE5ODZjNDk5MDY3OGE1MjQxNjZiLi4yNTkwNDQ5
OGE2ZTRhOTcwNmIxZmMxZDY2OWIxZTFjNmI3ODIwMjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC04MCw3ICs4MCw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIERlbGV0ZVdlYnNpdGVE
YXRhKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNp
dGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6
dGltZV9wb2ludCBtb2RpZmllZFNpbmNlKSAtPiAoKQogICAgIERlbGV0ZVdlYnNpdGVEYXRhRm9y
T3JpZ2lucyhXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpX
ZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbkRhdGE+IG9yaWdpbnMpIC0+ICgpCiAKLSAgICBTZXRIaWRkZW5QYWdlVGltZXJUaHJv
dHRsaW5nSW5jcmVhc2VMaW1pdChpbnQgbWlsbGlzZWNvbmRzKQorICAgIFNldEhpZGRlblBhZ2VU
aW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiAgICAgU2V0UHJvY2Vz
c1N1cHByZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
U2V0UU9TKGludCBsYXRlbmN5UU9TLCBpbnQgdGhyb3VnaHB1dFFPUykKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNmUwNThhZTdkYmQ5M2M4MWMz
NzQ1ZWY0NjlkYWU1NGNmYzNiNjNhLi5hMzYzNmMzZmFmZDIwZWVkMmNiZmRhNTQ3ZmY5ODkzYzk0
ZmQ5OTBlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9v
cC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNi0xMi0wNCAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IGEgYnVp
bGQgYnJlYWsgb24gRUZMIHNpbmNlIHIyMDkzMDMuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1J1bkxvb3AuY3BwCmluZGV4IDFkYzdlOTM4YTc2ZTk5NGJlOTc2OThlZTgwNWNjNmZmZWQ2
ZmUzZGIuLjVhNDg5MjhmY2I1ZjA4MjE2MThhOGQyYTQ3YWE1MThmYmRkM2I1NjMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwCkBAIC05NSw3ICs5NSw3IEBAIFRF
U1QoV1RGX1J1bkxvb3AsIE9uZVNob3RUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRp
bWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjEp
OworICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMC4xX3MpOwogICAgICAgICBVdGlsOjpydW4o
JnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQpAQCAtMTI5LDcgKzEyOSw3IEBAIFRFU1QoV1RGX1J1
bkxvb3AsIFJlcGVhdGluZ1RpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGltZXIgdGlt
ZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMSk7Cisg
ICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDFfcyk7CiAgICAgICAgIFV0aWw6OnJ1bigm
dGVzdEZpbmlzaGVkKTsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296130</attachid>
            <date>2016-12-04 23:13:55 -0800</date>
            <delta_ts>2016-12-05 09:21:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161204231316.patch</filename>
            <type>text/plain</type>
            <size>385391</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZThlNTQyZjhiY2IxNzdmMjQ1NWEyOTczNzllNzg4NGQ5YTg1OGVmLi5mODJmNzE0ODNmMDAzMDQ0
YTIzNmNlNGUyZTA1OGQ5OTUwMjc5YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6
OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKToKKwogMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHog
YW5kIHBvcGNudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCA0ZjEyZWQzNGQ4NGU3MzgyMjViMDUwYzk3YmEyYmYxZTM1NjRmNGQ0
Li5hNjMyNjk2NWI5ZjJjNTY3MTU3YWIwOTJiZmVhNmQ0M2QyMWVlMGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAg
ICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJh
c2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvY2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdU
Rjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAg
ICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5M
b29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5j
cHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAq
IHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnQpOgorCiAyMDE2LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFN5bWJvbEltcGwgbGF5b3V0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZmFmYzg3YzQ3ZmM3NTJkNmMyMGI5ODkwNTU3ZTdmM2E2NTZmMDJmZC4uNzFmNDUwYjY4MDk5
YjA5M2YxNWFmZmI4NTFmMTE0NGZlNWYxNjIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyNyBA
QAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91Ymxl
cyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
Tm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6
OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpz
dGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZUNvbXBsZXRlZE9wZXJhdGlv
blRpbWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3Ap
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24p
OgorICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZp
c3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVs
ZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVu
dERlbGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29r
aWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRF
dmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5x
dWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01p
Y3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
Y2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRp
b25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNsZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFsdGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6
CisgICAgICAgICogZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0
b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVu
dFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vl
a1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRl
KToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnJlc3VtZSk6CisgICAgICAgICogaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICAoTWVk
aWFDb250cm9sbGVyOjpjdXJyZW50VGltZSk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlRXZlbnQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRh
dGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBo
dG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVudDo6
bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MpOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9u
OjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6CisgICAgICAgICogaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRT
dGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0
VG9IaWRlTWVzc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpsb3NlQ29udGV4dEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCk6
CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6c2NoZWR1bGVGb3JS
ZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6cmVzdW1lKToK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6
OnVwZGF0ZVNpemVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZU
VFJlZ2lvbjo6c3RhcnRUaW1lcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hl
ZHVsZUZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpkaXNwYXRj
aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjp0aW1l
ckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTZWdtZW50KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0
YUxvYWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1
YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5nRXZlbnQpOgorICAgICAgICAqIGxv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRp
b25TY2hlZHVsZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSk6CisgICAgICAgICogbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNhbGxiYWNr
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpDYWxs
YmFjayk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpwcnVuZVNvb24pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAg
ICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAgICogcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFu
Z2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjp1c2VyR2VzdHVyZVRv
a2VuVG9Gb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0pOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVGltZXI6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgICogcGFnZS9ET01UaW1lci5o
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0SW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VD
b250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjpN
YXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlv
blRyYWNrZXI6On5NYXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3Vz
ZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0
YXRlVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpwYXJzZUV2ZW50
U3RyZWFtTGluZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBh
Z2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUu
Y3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZW5hYmxlU3BlY3Vs
YXRpdmVUaWxpbmdJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
dXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5k
YWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6
c3RhcnRPbmVTaG90KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmlj
YXRpb25UaW1lcik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFy
dFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlKToKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
bik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldp
bmRvdy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJ
bmRpY2F0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1p
dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgor
ICAgICAgICAqIHBsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpIeXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3Nl
ZFBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
OjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6
OlRocmVhZFRpbWVycyk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJl
ZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50
ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0
ZWRFdmVudExvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NU
aGFuRnVuY3Rpb246Om9wZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpU
aW1lckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjpuZXh0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tD
b25zaXN0ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6
aGVhcFBvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cjo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vj
b25kc1RvTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJ
bnRlcnZhbE1TKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bV9sYXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0
U25hcFJ1YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVy
OjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXApOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dh
bWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW06CisgICAgICAgICog
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQWRkZWQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRlcm5h
bFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpu
ZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dC
bHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRj
aEJ1ZmZlclB1cmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250
cm9sbGVyOjpzZXRJc0luV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVy
OjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24pOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2
YWxpZGF0ZVRpbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29o
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxF
eHBpcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExh
c3RVc2VUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcDoKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpz
ZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoVmlkZW9SZW5kZXJSZXF1ZXN0U2NoZWR1bGVyOjpyZXF1ZXN0UmVuZGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVhZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFk
ZEFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JH
dGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycyk6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkxlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAg
ICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbik6CisgICAgICAgICogcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyTGludXguY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJh
clBhaW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRD
b250ZW50QXJlYVNjcm9sbGVkU29vbik6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjphdXRv
c2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrOjpzZXRPcmllbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRNb2Nr
Ojphc3luY1VwZGF0ZVBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25D
bGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNC
eU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJG
aXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9k
dWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWspOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJh
c2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGlu
Z1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9y
ZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGlu
Z1JlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxs
KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hcnF1ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
cnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6
Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6
Om1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJl
cGFpbnQpOgorICAgICAgICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRT
b29uKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgor
ICAgICAgICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAg
ICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6ZXZlbnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxh
eWluZ0lucHV0Q3Vyc29yLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZH
TG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29u
dGFpbmVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8p
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50
ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJl
cXVlc3Q6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnBy
ZXBhcmVUb1NlbmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIw
MTYtMTItMDQgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQ
YXJzZXJdIEVsaW1pbmF0ZSBpbi1wbGFjZSBsb3dlcmNhc2luZyBpbiB0aGUgcGFyc2VyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA2NjJjYTI0MTk1YWM0YjQ2MzFjMTczMjNhZTQxZWFmZjJjM2FhOTRjLi4zNmRiNGNk
NWNlZDk2NTk3MzEzNDVmZWE5ZmE3OGM2OTMyN2JkMDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VU
cmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChX
ZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVu
ZGluZ1JlcXVlc3RzKToKKwogMjAxNi0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdW1dLMV0gSW1wbGVtZW50IG5ldyBIVE1MIGludGVyYWN0aXZl
IGZvcm0gdmFsaWRhdGlvbiB1c2VyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGVjMTU5
MmNmYjA2NWNjNzk4NTI2ODMzZmJjYmZhMWIwMDVjZmU5MzIuLjllOTg2NWUxZjU2OWJjY2NlMmM3
NDYyNDZkZTNmM2E2ZDY0MzI4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBv
ciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omxv
YWRSZXF1ZXN0KToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
OgorICAgICAgICAoV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBf
c2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxNi0xMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHRoZSBiZWhhdmlvciBvZiBzY3JvbGwt
aW50by12aWV3IHdoZW4gdGhlIHRhcmdldCBpcyBpbnNpZGUgcG9zaXRpb246Zml4ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2ZTFkN2FiZTJlLi5h
Yzk5Y2ZkYzZmYTQwYjJlNWJlNjRmOTdiODk3NDNmN2FhZjVmNTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAg
ICAgKiBQbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
UGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblN0cmVh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAg
ICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
c2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6a2VlcEFsaXZlKToK
KyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZh
bGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJWaWV3OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYlZpZXc6OmNsb3NlV2luZG93U29v
bik6CisgICAgICAgIChXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisKIDIwMTYt
MTEtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dURl0gSW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdU
Rjo6T3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1NGVmM2JlNTJmMGNjNGZmNjhiMGZmYjBiMWMzMDA0
MjU0MzJmNWU5Li45YTgzYTgzZDU3YWMzOTU0NjQ3ZTQ0OTRlYmZkNzZmZThjYjEwNWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTY3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkg
U2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVG
YWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+
OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNz
OjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9k
ZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRUZXJtaW5hdGlvblRp
bWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVy
Ojppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgorICAgICAgICAqIFNo
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06CisgICAgICAgIChBUEk6
OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKToKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJv
Y2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVy
Ojpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxs
eUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6
OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNv
b24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdp
blZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbklu
V2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVs
eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAxNi0xMi0wMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gRXhwb3NlIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudCB2aWEgdGhl
IE9iamVjdGl2ZS1DIGJ1bmRsZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdl
NmViNTBhYzRiMDY0NWNjOWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFj
OTU3NTNlMTk5MTE3MmE0NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdh
cmJhZ2VDb2xsZWN0aW9uKEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNv
bGxlY3Rpb25FdmVudHNUYXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9S
dW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhi
Y2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4uNjNkMGM3OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZj
NDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtODgsMTAgKzg4LDggQEAgcHVibGljOgogICAgICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGljaXQgVGltZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgflRpbWVyQmFzZSgpOwogCi0gICAgICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdElu
dGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50
ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQotICAgICAgICB2b2lkIHN0
YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFsc2UpOyB9CisgICAgICAgIHZvaWQgc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1
ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
c3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2
YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQo
U2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CiAKICAgICAgICAgUnVuTG9v
cCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIu
aCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCmluZGV4IDM3ODBlNzZjMDMxMzEwNGFl
YzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLjZjNGZkNmVjMWE4MDVjNDEzNDA2MGY0N2U3NjQ2NDhk
NDdhZDc4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGlj
OgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFp
ciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxl
UGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJs
ZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJ
bnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAg
dm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsg
fQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNo
b3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMyZTIzYmE3YmY5NTczYzMx
YjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5Yzg4NTIwZWZlNWJlYTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiArNTIsMTIgQEAgc3RhdGlj
IHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dCkKICAgICB0
aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBSdW5Mb29wVGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxp
ZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9
IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRp
bWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgbV90
aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLnZhbHVl
KCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZvaWQgUnVuTG9vcFRpbWVy
QmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVsZVBhaXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThhOTg2ZGU5MjNlODcyOTI0
NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5OGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nm
L1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQp
CiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAgICAKICAgICBDRlJ1bkxv
b3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIENGVGlt
ZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZpcmVJbnRlcnZhbCA6IDA7
Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLCBy
ZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKKyAgICBDRlRpbWVJ
bnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwudmFsdWUo
KSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVy
dmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkp
OwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3AuZ2V0KCksIG1fdGlt
ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3NGM2NzUwZGFlNTk2Li42
MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZWZsL1J1
bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1bkxvb3A6OlRpbWVyQmFz
ZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1lci0+bV9pc1JlcGVhdGlu
ZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwogfQogCi12
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0aXZlKCkpCiAgICAgICAg
IHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgQVNTRVJUKCFtX3Rp
bWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwsIHJl
aW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCksIHRoaXMpOworICAgIG1f
dGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZWludGVy
cHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKIH0KIAogdm9pZCBS
dW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2Vu
ZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BH
ZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQxNjdlYzdiNWZkYTI2NjM4
Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEyICsyNjMsMTIgQEAgUnVu
TG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQor
dm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRhc2sgPSBTY2hlZHVsZWRU
YXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAgICB9LCBTZWNvbmRzKGlu
dGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVwZWF0aW5nKTsKICAgICBt
X3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNrKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1NjI3OGJhNmI3ZmYwMjFj
MGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0Njg3ODEzNjMzYTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQg
UnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAgIGdfc291cmNlX3NldF9y
ZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0KIAotdm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9p
ZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUludGVydmFsLCBib29sIHJl
cGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRp
b248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWxEdXJhdGlvbiA9IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBh
dXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29uZHM6Om1heCgpOwogICAg
IGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAgICAgICBzYWZlRHVyYXRp
b24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRz
PihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5M
b29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcAppbmRleCA0YjQ1
YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAyMWY3ZGI0Y2EyYTI4YjE5
ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVu
TG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCkBAIC0x
NTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0
b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIG1faXNSZXBlYXRp
bmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJzLnNldChtX0lELCB0aGlz
KTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNzYWdlV2luZG93LCBtX0lE
LCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRUaW1lcihtX3J1bkxvb3Au
bV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbC5taWxsaXNlY29u
ZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBmYWYyMTIwMmExMzBiOTJl
NWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLjYwYTk3NzhmYTY2OTdhZjViMWMxNWE3NDI3YzgyY2M3
MTEyZDZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IGNl
Yzk3Y2M5MDJlNDUwNjg5N2ZlZmJkM2VhZTJmOTc5MDdhYWNjMTYuLjU4NmM1OTY4NjFkYWI3MGRk
YzJiNjg2MWMyYzcxNjgxNzU5YTM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01OSwxMyArNTksMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBHZW9Ob3RpZmll
cjo6cnVuRXJyb3JDYWxsYmFjayhQb3NpdGlvbkVycm9yKiBlcnJvcikKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7CiAgICAgaWYgKG1fb3B0aW9ucy0+aGFzVGltZW91
dCgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX29wdGlvbnMtPnRpbWVvdXQoKSAv
IDEwMDAuMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHMobV9vcHRpb25zLT50aW1lb3V0KCkpKTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6
c3RvcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKaW5kZXggODVhZTQwZjYzNDE3NTMyNzE2NzJmM2EzNzdmZTk5M2RmNGEz
MThjMC4uYzA5YzM3OWIwMjk2NDNkYTkwY2Q4YzU2NDc0M2E3MTU1MDZmMGZkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAg
LTE5OCw3ICsxOTgsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQogICAgIEFjdGl2ZURP
TU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDA1ZGEwMmZiMjkwNzJjNWM1MGRjNmJiZDUxZmEwYjdlYzk2
NTk0ZDUuLmNiODFiODk0OGJkMGJhMGEyNWE3MTYwNzMxZDVkZWI0YzRmYTNlYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
QEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZVBlbmRpbmdP
cGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNl
LT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQpA
QCAtNDQyLDcgKzQ0Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlQ29tcGxldGVk
T3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFz
ZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVkT3BlcmF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9wZXJhdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggOTkxMDE1N2MyZDhiOWE4YTli
NTk2ZTI0N2I1YmMwYzVjYTdjMGZkNS4uZmJkYTFhZDEwMmE4MDUxN2E1YjlmMmI0ZDcxNWRjOWI4
OGUwMDhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNDk0LDcgKzE0OTQsNyBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpOwogCiAgICAgaWYg
KCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9X
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3YTMzNjlmMTBlNTMwZTRkYzg3ZTcxN2Q1
Njc1ZjcwOTExM2I4MGU5Li5jOTdhNDQ0ZDllOWJhMDA4YmJkNGQ2MmI2ZmIxYWE0OTdmZGM0NzQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGFza0RlbGF5SW50ZXJ2YWwg
PSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGFza0RlbGF5SW50ZXJ2YWwgPSAw
LjFfczsKIAogc3RydWN0IENsaWVudFN0YXRlIHsKICAgICBleHBsaWNpdCBDbGllbnRTdGF0ZShX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQsIHVpbnQ2NF90IGNvbnRleHRJZCkK
QEAgLTQyMyw4ICs0MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZmluZChX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQsIHVpbnQ2NAogCiB2b2lkIFdlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogewotICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gNjAgKiA2
MDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kID0gOCAqIDYwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IFNlY29uZHMoNjAgKiA2MCk7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSBTZWNv
bmRzKDggKiA2MCk7CiAKICAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tU
YXJnZXQtPmhhc0FjdGl2ZVJvdXRlKCkpIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3Ao
KTsKQEAgLTQ0MiwxNCArNDQyLDE0IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29u
ZmlndXJlV2F0Y2hkb2dUaW1lcigpCiAgICAgfQogCiAgICAgaWYgKHN0b3BUaW1lcikgewotICAg
ICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMDsKKyAgICAgICAgbV9jdXJyZW50V2F0
Y2hkb2dJbnRlcnZhbCA9IDBfczsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAg
ICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lciAtIHRpbWVyIHN0b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUg
aW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgYXV0
byBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBp
ZiAoaW50ZXJ2YWwgIT0gbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1Rp
bWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNo
b3QoaW50ZXJ2YWwpOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIs
IGludGVydmFsKTsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwg
aW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCA9IGludGVydmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1
N2Q1OGVmOTE0Y2IyM2YxOTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRj
NmQ0NmExM2FkM2MxZjExYjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0x
MDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4g
bV9wbGF5YmFja1RhcmdldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlv
blRhc2tzIG1fdGFza0ZsYWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWwgeyAwIH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
OwogICAgIGJvb2wgbV9leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3RhcmdldENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2Vy
RW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBh
YWZjMjFlMDU1Mjg0Yi4uZDY0ZWM2M2UzNTE0ODE0ZmFjMzUxMzBmYzExMzkyNzI0YTYzNjBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92
YWwoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8g
NS4gUmV0dXJuIGNvbnRyb2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBz
dGVwcyBhc3luY2hyb25vdXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0Owog
ICAgIG1fcGVuZGluZ1JlbW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFNvdXJjZUJ1ZmZlcjo6YWJvcnRJZlVwZGF0aW5nKCkKQEAgLTUzMyw3ICs1MzMsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkudXBkYXRl
c3RhcnRFdmVudCk7CiAKICAgICAvLyA2LiBBc3luY2hyb25vdXNseSBydW4gdGhlIGJ1ZmZlciBh
cHBlbmQgYWxnb3JpdGhtLgotICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICByZXBv
cnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkNTJhNDhhNTNkYWUyODhjODQ3
MTlmZGMxZTFlZWJkNDdlZTZlNTcuLjFmOWY3MTAzZGUyZWM5ZWYxNTk2OTgyMjhmMjUwMzIyZTk5
ODQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1
bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hlZHVsZWRBY3Rpdml0eUV2ZW50cy5hcHBl
bmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogCiAgICAgaWYgKCFt
X2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FjdGl2aXR5RXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50VGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCA1ZGQyZjFlNDFjZjUxMjI5NmQ3NGQyMGMxYmQ3YzQ4YmIyYjIy
ZDc5Li5hMmJlZmM1NDQ2M2ViZjQzNTAxYmI2MTM4ZGRlZDc1MzBkYjQ0YTU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlzcGF0Y2hF
dmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdU
Rk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBS
VENEVE1GU2VuZGVyOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCAw
NTFjNzAxNDlhZTJkYTEyZTYwMGE0MDUwZjA5YzFlYzhiZmQ1NzU2Li4yZGJjYWYxZjIxYmZkNDk4
ODAwNzBhM2Q4M2RiOGFlYTgyZTJlYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMjM3LDcgKzIzNyw3IEBA
IHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYg
ZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKIAog
ICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc2No
ZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2NoZWR1bGVkRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkx
Mjg3NWFiZjgwYjJkZGRlODM3YTdlNy4uYmI4NzE5ZDgyZjUyMDg2YTBlNDNiN2QwZTg0OGIxODIy
OGRhZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIC8v
IEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNo
b3VsZCBub3QgYmUgY2hhbmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCiAgICAgLy8gQnV0IHRoZSBy
ZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0
IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7Ci0gICAg
bV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3
NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGViZmUwLi45MjVlYjk2YTMxYzM4OGU2NjU4N2M5
OWM1NDZkZTg5MzdlZjY0NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQs
NyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZv
aWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNE
ZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBy
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVmcyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0
b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgfQogICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
ICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IDg2MDkxNDIwOWM4YmIzNDI4MDQwYWExNGZjOWZj
ZDAzZDBkZDVjNTkuLjMzYjAyMjBlOTQ3Zjg0MzcwNjI3YjE2MjExZTZlYzI0OTA5ZWQxYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAt
NzYsNyArNzYsNyBAQCBib29sIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0
ZXJuJiBwYXR0ZXJuKQogCiAgICAgbV9wYXR0ZXJuID0gc2FuaXRpemVkOwogCi0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBt
X3N0YXRlID0gU3RhdGU6OldhaXRpbmc7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBWaWJyYXRpb246OnRpbWVyRmlyZWQoKQogICAgICAgICBtX3ZpYnJhdGlv
bkNsaWVudC0+dmlicmF0ZShtX3BhdHRlcm5bMF0pOwogICAgICAgICBicmVhazsKICAgICB9Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9wYXR0ZXJuWzBdIC8gMTAwMC4wKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fcGF0dGVyblswXSkp
OwogICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggYmVkOTM2MjY3ZDU2ODRmYzc4ODE3
MDkxZjExZjA3YzQ1ZWFiM2I3OS4uMDhlMTJhMTYwMWM4YTI0ZTZhYjZjMjI0NDYyN2QxMGFkYzRm
MjkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6cmVzdW1lKCkKICAgICAg
ICAgbV9jaGFubmVsLT5yZXN1bWUoKTsKICAgICBlbHNlIGlmICghbV9wZW5kaW5nRXZlbnRzLmlz
RW1wdHkoKSAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIEZpcmUg
dGhlIHBlbmRpbmcgZXZlbnRzIGluIGEgdGltZXIgYXMgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4
ZWN1dGUgYXJiaXRyYXJ5IEpTIGZyb20gcmVzdW1lKCkuCi0gICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCmluZGV4IDgwZGJiNGJhMGVlM2IyYzQ3MzNjODFkMmUxYjg1OTdkOGJiZTc4YzQuLjY4Y2My
YzA2YjU4YjNlYjIyNWQ4MDJkY2VmZjRjOTJmMjkxNzc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4
aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpX
ZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCYgY2xpZW50LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZk
b2N1bWVudCkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Nl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5l
bD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhh
bmRzaGFrZSBtYXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBk
ZXJlZmVyZW5jZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAg
ICAgaWYgKG1fY2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1l
KTsKKyAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50
TGlmZXRpbWUgKiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0
cmluZyYgcmVhc29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
cmVzdW1lKCkKIHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVy
LmlzRW1wdHkoKSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQx
ZTgyMDVhMTE2MTJmMGRhZjg0MTBiOGU2MzE4OThhMWUyNmMwNzQuLjBmNGUxMWM1ZmI0YjJiMTE5
MmQ2NmU3ZWIxYWZiMjMxZmU5OTEyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdl
IG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQg
aW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMg
b2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nl
c3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOwor
c3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRp
b25JbnRlcnZhbCA9IDAuMDI1X3M7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5TGl2ZVJl
Z2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDJfczsKIAogQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9y
ZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVu
dCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3VzbHkpIHsKICAgICAg
ICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihvYmplY3QsIG5v
dGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iamVjdCwg
bm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBkMzYxYzJjYzRiMjQ5ZmYwODM1ODJlMjUuLmU2
ZTY1NjkwZDNiMmQxYmU0ZDEzZDkwZGRjNDA1NzFmOTIzYzE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEdD
Q29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29uKCkKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewogICAgIGlmICghbV9HQ1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fR0NUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdjVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAyNTY3MWMxZGUwOWI1NTBiZDcx
OWM5Y2Y1Yjk1OGU1ZmIyMjU1NjRkLi5kZGI4ZjhiM2M0MTgyMDE4OTBmODBjYzBmNmNlZjNjYmQx
YmJkYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTQ5Nyw3ICs0OTcsNyBA
QCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5ld1N0YXR1cykKICAgICB9CiAK
ICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykKLSAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDAgOiAz
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3
YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBpZiAobmV3U3RhdHVzID09IFN0
YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKaW5kZXggZTg0OTg4ZWJlMDZiNmY1NmUyMmM3ZmUyNDZjNmRhNGJlYmZiNmEyYi4uNDQwNDFk
NjNhNzBiZDY5ZWEyMjM2NDBiZDUwYzVhMzMyZjE1NzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9udCYgZm9udCkKICAgICAvLyBhZnRlciB0
aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBiZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4g
QmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRU
aW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQoKS4KICAgICBtX2RvY3VtZW50LT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVlc3RDb3VudChmb250KTsKLSAgICBtX2Jl
Z2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2JlZ2luTG9hZGluZ1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2Fk
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKaW5kZXggYTc1MjgzYTJiMjdjM2RlZDhkOTQzMTJkZTA0YTQxNThlZWNjMmY5My4uNGQ0
MDYxNzI2MzljNDllZmQ3NzUyYWRmZWEzZjkzZGU1YTZmOWY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMzksNyArMzksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbWVUb0tlZXBDYWNoZWRH
ZW5lcmF0ZWRJbWFnZXMgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRpbWVUb0tlZXBDYWNoZWRHZW5lcmF0ZWRJbWFnZXMgPSAzX3M7CiAKIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNz
VHlwZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCAxMGY2NWMzY2ViYzViNmFmZGEwMGMwMGU3M2RjYjhlYjQyYWJlNjVkLi45
YjFhYTBiMzFiZDE0MWVlOTgyNzAyZDVhODZjZDQzMzA2Y2FiNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM3LDEwICsxMjM3LDggQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBjb25zdAogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25D
YWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVkUHJv
cGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0aW9u
Q2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzCi0gICAgICAgICYmICFtX21hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7Ci0g
ICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1h
dGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKLSAgICB9CisgICAgICAg
ICYmICFtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KDYwX3Mp
OwogCiAgICAgQVNTRVJUKGhhc2gpOwogICAgIE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIGNh
Y2hlSXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZlZTU3OTI1YTE2ODk3ZjBlYTUy
OWEzZDg4MjlkODBkZWRmNzE4NTcuLjA5OTBkZTI2ZWI5MDRiOTljNTg0YzE4MjBiMWE1OWUwMzI2
MzU4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1OCw3ICsxMjU4LDcgQEAgdm9p
ZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxs
b3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSk7CisgICAgICAgIG1fdmlz
dWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2V0dGluZ3Mo
KS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSkpOwog
CiAgICAgaWYgKCF2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTc0
NSw3ICsxNzQ1LDcgQEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYygpCiAgICAg
Ly8gRklYTUU6IFdoeSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMgaXMgY2xlYXJseSBtaXNw
bGFjZWQuCiAgICAgaW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAgIAotICAgIG1fc3R5bGVS
ZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVs
ZVN0eWxlUmVjYWxjdWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lk
IERvY3VtZW50Ojp3cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9j
dW1lbnQpCiAgICAgd3JpdGUoV1RGTW92ZSh0ZXh0V2l0aE5ld2xpbmUpLCBvd25lckRvY3VtZW50
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwo
KSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJUaHJvdHRsaW5n
RW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0
CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hl
ZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudEludGVydmFsID0g
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNyw4ICs1MDI3LDggQEAgdm9pZCBEb2N1bWVudDo6
ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGluc2VydGVkIGNv
bnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9ucy4KICAgICAv
LyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBhY2Nlc3Mgc2lu
Y2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAgICAvLyBhbGl2
ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNldHRpbmcgLmlu
bmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0IGludCB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMg
PSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMp
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxp
dmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAg
YWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJl
bG9hZHMoKTsKQEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7CiAgICAgaWYgKCFt
X3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50
OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25G
b3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6
V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNj
aGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRp
bmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNjcmlwdFJ1bm5lcigpLT5yZXN1
bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNvbik7CiAgICAgcmVzdW1lU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBAIC01Njg3LDcgKzU2ODcsNyBA
QCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUgKDApOwogCiAgICAgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxlbWVudCA6IGRv
Y3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCkKQEAg
LTU4NTQsNyArNTg1NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5kaWRCZWNv
bWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiog
cmVuZGVyZXIpCkBAIC02MDU3LDcgKzYwNTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRM
b2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsKIAogICAg
IGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2ZW50RGVs
YXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCgpCkBAIC02
NzAxLDcgKzY3MDEsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChF
bGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NvY2lhdGVkRm9ybUNv
bnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2NzIxLDcgQEAgdm9pZCBEb2N1bWVu
dDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNvb2tpZXMpCiAgICAgQVNTRVJU
KCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNoZWRET01Db29raWVzID0gY29v
a2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlkIGF0IG1vc3QgdW50aWwgd2Ug
Z28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNvb2tpZUNhY2hlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTBlMmI4MzkyMmNhOWExZWExMzUyMjg0ZDYzMDE3Zjc5
ODEzMDI0MC4uYWYyYWM3ODAyYWFiNjAwZDNjMGY2NTgzYjljNzM3MTVhY2UxZDcwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwg
SlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2
YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJB
bGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZp
bmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRN
YXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVUaXRsZUZyb21U
aXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJl
Y3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXgg
OWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4uYmQ5M2JhNjJjZTZlMjIx
ZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1bWVudEV2ZW50UXVldWU6
OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBtX3F1ZXVlZEV2ZW50cy5h
ZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3RpdmUo
KSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4NzJkODVhMWE0NTUxYWQwMTk5
MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYzNjkyYmZlZTFlNzBjOWFiMDJj
NmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNjYsNyArNjYsNyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbihU
JiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFwcGVuZCgmc2VuZGVyKTsKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5
MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3ODAyNTUyMTY5ODk2MDIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90
YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAg
ZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rhc2smIHRh
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5YzczZGQ5
ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1YmxpY1VSTE1h
bmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQogICAgIHJl
dHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
b2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFk
anVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFsdWVzKCkp
CkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RN
aW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9CiB9CiAK
LXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQgaW1wbGVt
ZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWluaW11bSB0
aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRlZApAQCAt
NDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGlnbm1lbnRJ
bnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29uZHMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAog
ewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBjOTI5OGQz
MmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIwZThhZjRk
OGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25kcy4KLSAg
ICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0
TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7Cisg
ICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKICAgICB2
b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNo
ZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lckFsaWdu
bWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CiAKICAg
ICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdkMDlhNDA0
OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5M2Q5ODEwZGJkM2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3Jp
cHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7CiAgICAg
aWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1
bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKQEAgLTEw
MCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1Nj
cmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBl
bmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1NjcmlwdCktPnB0cigpKTsKICAg
ICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Ny
aXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRhNjc0MDE5
NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYxZjEwMjgz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2NoZWR1bGVE
ZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1bWVudC0+
ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVUaW1lc3Rh
bXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVsZURlbGF5
KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVkdWxlRGVs
YXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1bWVudC0+
dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2N2Y5Njg0
MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzljN2RmNWRiZjJkMGI5YjJmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBAQCBzdGF0
aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hl
KCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0YXRpYyBjb25zdCBpbnQgbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOworCiBj
bGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5UaW1lci5z
dGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwogICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBt
aW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAxMDA7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lLnZh
bHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENvdW50Owog
ICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWluaW11bVBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCBk
NWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42OWU5ZTNmZGRhZmVhZmJi
YmY3MTYxMTU1ZWJmMWJkMDdjZWEyNTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcigpCiAK
IHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRp
bWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ycmVj
dGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBhdXRvIGNvcnJlY3Rpb25Q
YW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAoIWlzQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVmYzE3YTM3Li4z
YmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZhMjJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246
OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0gICAgICAgIG1f
dGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2UodHJ1ZSk7CkBA
IC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogICAgIG1fZWRpdG9y
VUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRHcmFtbWFyID0gb3B0aW9ucyAmIEZy
YW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAmJiAhKG9wdGlvbnMgJiBGcmFtZVNl
bGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsKICAgICBtX2VkaXRvclVJVXBkYXRl
VGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6
RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCA2NzU5ZmYx
NzdmZTc2NzFjYmIxNjkzNWViMzYxMGQyYTU2OTdiNzg2Li44NzRiZDY4NmE2OWQ0ZGQyNWI1ZmE3
NmFmM2EyY2I1ZGQyM2NlZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcApAQCAtMjA1MCw3ICsyMDUwLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBC
ZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBp
biB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3VsZEJsaW5rICYmICFtX2NhcmV0Qmxp
bmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9
IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAg
aWYgKGF1dG8gYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJs
aW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0
aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRm
Y2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2NlMGM5YzdiYWM1MTliZmI1ODQ1Y2IzYmU3
M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2
LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNv
bnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdS
ZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAg
ICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3VjY2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0
IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFhN2I5MjUxMzQxMGU0MDZmNDM0NWRjODNj
ZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBhZGNiYTkzYTZiZDVkMGZhMjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2
b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxl
dGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMg
QVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3VzbHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5k
IGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzZGRh
N2E3YWMzZmY4NmFjNDk2MDVjNWQ3M2ZlYmRmYmRkYmNjMGJiLi5mMTJiYTUxMGJhMTQyNjIyYTgy
MTFkY2RhNzMyZWRjNDY4YzJlYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVsYXkgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNj
YW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrVGltZSA9IDAu
MjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41Owogc3RhdGljIGNv
bnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIEhp
ZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNl9zOwogCiBzdGF0aWMgdm9pZCBz
ZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtOTM3LDcgKzkz
Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKERlbGF5
ZWRBY3Rpb25UeXBlIGFjdGlvblR5cGUpCiAgICAgaWYgKGFjdGlvblR5cGUgJiBVcGRhdGVQbGF5
U3RhdGUpCiAgICAgICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBVcGRhdGVQbGF5
U3RhdGUpOwogCi0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAgLTk0NSw3ICs5NDUsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKICAgICAv
LyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3VyY2U+IGVsZW1lbnQgV0lU
SE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgogICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCVwKSAtIHNldHRpbmcg
JXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3VyY2UpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBMb2FkTWVkaWFSZXNvdXJj
ZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVu
ZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoY29uc3QgTWVkaWFQ
bGF5ZXIqKQpAQCAtMTk4NCw3ICsxOTg0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFy
dFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBp
dCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAg
LTMzNzEsNyArMzM3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhT
Y2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2Fu
UmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09
IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRp
bWVyLnN0YXJ0KDBfcywgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2Nh
blJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRTY2FubmluZygp
CkBAIC0zNDEwLDcgKzM0MTAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZp
cmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZl
bnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3
ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhU
aW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c3RhcnRQbGF5YmFja1Byb2dyZXNzVGltZXIoKQogewpAQCAtMzQ1Nyw3ICszNDU3LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChib29sIHBlcmlv
ZGljRXZlbnQpCiAgICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0
VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCi0gICAg
aWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5KQorICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeS52YWx1ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTb21lIG1l
ZGlhIGVuZ2luZXMgbWFrZSBtdWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFja3MgYXQgdGhl
IHNhbWUgdGltZSwgYnV0IHdlIG9ubHkgd2FudCBvbmUKQEAgLTQzODgsNyArNDM4OCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbihkb3VibGUg
cG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0NTcyMTk+IGZv
ciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9z
aXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0b3AoKTsK
LSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjUp
OworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAu
NV9zKTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNT
Y3J1YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYu
LjE1MTBjNTg5ZmRlZDJiMWUzOTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBI
VE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAg
ICBtX2Rpc3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxh
eWluZ1NuYXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50KSAmJiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBS
ZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRk
VXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjky
ZTM3MjgwZjNmOTk5NjdmY2IwYTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQzMzdkZGQzMGY5
YjIzNjczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwCkBAIC03MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQ
YWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3Rh
cnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBz
aG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0
YXRpYyBjb25zdCBhdXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyRGVsYXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXN0
YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFwc2hv
dFRpbWVyRGVsYXkgPSAxLjVfczsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHRpdGxl
VGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFjMGMzNjVhZjgx
NWU3ZjYzOWYuLmVkYWUwYzRjYjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUsNyArMTI1LDcg
QEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkKICAgICBpZiAo
bV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9l
cnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5k
aW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVu
dDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNvdXJjZUVsZW1l
bnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJl
c3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3Nob3Vs
ZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4ZDdiNDhhOWJh
MjQxYjRjNDcxZDU3OWY1NWU4YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRiMmE1NjJmNmM2
NDVlYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTE3
OCw3ICsxNzgsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBz
IGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8g
cnVuIHRvIGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50
Ojpsb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAK
aW5kZXggOTU0MDUyNTA5ZWI3ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uNmZiZjQ2YTNm
NzU2NTQ4ZTFiMDMzYzBkOWYxMDY4YTUxNjQwZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlh
Q29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9j
ayhDbG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4
dCkKICAgICAsIG1fdGltZXVwZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hl
ZHVsZVRpbWV1cGRhdGVFdmVudCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQog
ewogfQogCkBAIC0xNDgsNyArMTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVu
dFRpbWUoKSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlk
VGltZSgpKSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lk
ZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6
bWF4PGRvdWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUo
KSkpOwotICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAg
IHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9s
bGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAg
IG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0
cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQoKQpAQCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVy
OjpyZXR1cm5Ub1JlYWx0aW1lKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGlj
IHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAi
MTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29u
c3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBhdXRvIG5vdyA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIGF1dG8gdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91
c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVu
dEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNkMi4uYTkx
OTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwot
ICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRpbWVJbk5l
eHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBmZmUuLmNkNjZkMjg0
MDU4MmZiNDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6bWVk
aWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBsZXQgdGhlIHBsdWdp
biBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhpcyAKICAgICAvLyBm
dW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBlbmdpbmUgY2FsbGJh
Y2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRoZSBlbGVtZW50LCBt
ZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVs
ZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNkYTMuLjNk
MjU4YjYyNjM1YTAzYjE5NThjNGM4Zjc4YTJmNGExY2U5MzI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50
Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNv
bnRlbnRDaGVja0ludGVydmFsID0gMjUwX21zOwogCiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRSZWN0
TW9zdGx5SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogc3RhdGljIGJvb2wg
aXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50
JiwgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlk
Q2hhbmdlKGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Np
b246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCVwKSAtIGhhc1Rhcmdl
dHMgJXMiLCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDogIkZBTFNFIik7CiAKICAgICBtX2hh
c1BsYXliYWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAgbV90YXJnZXRBdmFpbGFiaWxpdHlD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4
ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUs
NyBAQCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAg
IC8vIEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAg
IC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4y
IGZyb20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwog
fQogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBj
YmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFiMmE2ZDVkN2FmMzA5MjA4Y2I0Yjdi
ODI3N2EyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNz
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApA
QCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBl
bHNlCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZh
bGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1l
ci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBA
IC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFu
ZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkg
KiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
c3RkOjptYXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9u
IC8gMTAwMC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBWYWxpZGF0
aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogCiAgICAgLy8gV2UgbXVzdCBub3Qg
bW9kaWZ5IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQgYnkgdGhlIHNhbWUgcmVhc29uIGFz
IHNldE1lc3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRo
aXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgbV90aW1lci0+
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBi
b29sIFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9k
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgwNzU2MDU1ZTU5Njk3ZDg5MTZhZDM0
OTRhNjI0YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZlODJiMmQzMTA5MjJhOGM5ZWE5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citj
b25zdCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMV9zOwogY29uc3QgaW50
IG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2
NjYsNyArNDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRl
eHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMg
ZGVmZXIgdGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVu
dAogICAgIC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rp
c3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3Bh
dGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQpAQCAtNDY4Myw3
ICs0NjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9yZVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApAQCAtNTYxNCw3ICs1NjE0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZl
bnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIG1fcmVzdG9yZUFs
bG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIGlmIChtX2NvbnRleHRMb3N0
TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxsb3dlZCkKLSAgICAgICAgbV9y
ZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXli
ZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVmUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUobV9hdHRyaWJ1dGVz
LCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRl
eHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBtX3Jlc3RvcmVUaW1l
ci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgICAgICAg
ICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRz
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkgc2hvdWxkbid0IGhh
cHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUgV2ViR0wgYXBwLgog
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDI4MzM3
ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJlYTAyN2E5
MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBIVE1M
UGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAgIC8vIEZJ
WE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3Rl
YWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBh
Z2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2Vy
LmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVlTmV4dENo
dW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBi
b29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5nU2NyaXB0
KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVs
ZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9jb250aW51
ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAg
cmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBt
X2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVO
ZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWEx
ZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUuLjVlMjllNjdkY2ZiZmIyMGJjMjNi
ZjUwNDkxZjViNzg5ZWRiZTA0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlz
IHJlcXVpcmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVs
LAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0
aGUgYm90dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQg
dHJhbnNpdGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRv
Y3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6
IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5w
YWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAg
IG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTE4OCwx
MCArMTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkK
ICAgICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24gPSBkb2N1bWVu
dCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlP
cGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3Bh
cXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxF
bGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsK
KyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2Uo
KS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQ
cm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlU
cmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwor
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24s
IGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyArMTMz
Niw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0
aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFj
a3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRp
YUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9h
ZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRmNWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0MGYz
My4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcxZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcgKzU4
LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJs
KQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGls
ZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUg
Zm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1v
ZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdl
MjIzZGQ0MzZjMDdkNTFiNi4uNjY2Njk0NzVhMGJlY2UyNzcwODIxZDEzNmJhODAxOTdlNzc3Mzc3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9
IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocyku
Ci1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc2Nyb2xsVGltZSA9IDQzM19tczsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxU
aW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggM2Q1NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uNmI1NmMxOGYyYWRl
ZjI3NzFlY2RlMDlmN2Y0NzA3ZTdkMTBjOTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFu
Z2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZs
b3csIGludCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnRO
b2RlSWQpOwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxv
dyogbmFtZWRGbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHAKaW5kZXggODNhMDI0YmNkZGQyMTMwOTc4NzU5ODcyMjQxMjcxZTBhOGZiM2YwZi4u
OTEyNzI2MmFlODhhY2NiYjRlNGVlMWY4NjE3ZDlkMzJmNDFlOGNkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogewogICAgIG1fZWxlbWVudHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZXZhbGlkYXRlU3R5bGVB
dHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA4YTM1YTE3
OWViOGJmNTliNGJjMDk4ZGM2ZWRjOTBjZGUwZGEwNTkzLi41MThhYWRmN2QxMjI2OGE0N2Y4ZjJi
NTMwOWZjM2Y1NDFhZTg1MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC04MCw3ICs4MCw3IEBA
IHB1YmxpYzoKIAogICAgICAgICBtX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKTsKICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAg
ICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogICAgICAgICAgICAg
bV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKG1f
bWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9tZXNzYWdlcy5pc0VtcHR5
KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAKaW5kZXggNWZjYTMxMGQwMGFjMjFkYzdiNjFiZTBhOWZlMDU1YzhiN2Y3YWFkOC4u
MTg2ZTcwMGJkYTJlYjI4NjBlMTUzNDJjNDU2NDEyNTBkNTVkMGU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTA5LDggKzUwOSw4IEBA
IHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCiAgICAgbV9wYWludFJlY3RzLmFwcGVuZChUaW1lUmVjdFBhaXIocmVtb3ZlVGltZSwgcm9v
dFJlY3QpKTsKIAogICAgIGlmICghbV9wYWludFJlY3RVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzID0g
MC4wMzI7Ci0gICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFp
bnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyk7CisgICAgICAgIGNvbnN0IGF1dG8gcGFpbnRS
ZWN0c1VwZGF0ZUludGVydmFsID0gMzJfbXM7CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGlt
ZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAg
ICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2RjNzhkMTI0YWRjZTE4
YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgwMjEzNTg2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3Bw
CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBs
YXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMKIAogICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQog
ICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQt
PnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAgICAgICAgLnNldFF1
ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyZDNjZDk1MGUzMTg0Mzkz
N2I4YjcwNWQzMTc1NGIzOGFhMzNiODU5Li45MGNlZTYyNjZhYWFjOTE2YzZiMjllYzQ2YTlmMTQ2
ZDE2ZDY2NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0
YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQog
ewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kYXRhTG9hZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJTUVSKQogICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJhbWUtPnBhZ2UoKS0+
c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkoKQogICAgIGlm
IChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJkNTU0
Mzc3YjE2NDUyNGE0NmYwMDExYjYyOTNkNmMxODg5NTFlYzYuLmIzZjY0M2FhZjFlZjNkMjc0ZTQ3
YTNjMGI2NjBiMWRhNjM0YjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
OjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLjc3OWJm
NzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0g
JmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50
VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJiYjU3NWI0ZTUuLjJi
ZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwogCiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb0ZvcndhcmQo
KSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91cmwsIGRlbGF5
KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9y
d2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91
cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCkudmFs
dWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0b3BU
aW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBAIC0y
NzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsK
IAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0
dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVk
KG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVl
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGlt
ZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtNTM5
LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjllNmVhYjY1ZjU2ZTI0
ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNlNjI5ODU0ODJmZDg1
NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7
IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNz
SXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8vIENoZWNrIGlmIHRo
ZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55IGhlYXJ0YmVhdHMg
bXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRoZSBsb2FkIGlzIGN1
cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRTdGFsbGVkSGVhcnRi
ZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApp
bmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4Li5iMjY2YzMzMTNi
MmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIG1f
Y3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpAQCAt
MTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdpb25zUGFyc2VkKCkK
QEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFy
c2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYx
N2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMwOTAxYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGlt
ZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUg
dGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGY2ODBjYzRmOTVk
MmVmNjQ3NDQ4ZDU1OWM5ZWM4OWY0OTNhMDlhOTkuLjY2YTlmOGYxZmM0YmFkZTNkYmYwZDUxZmFk
NzdjY2JjMjZhNjNhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUp
CiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JS
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0
KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTQyLDcgKzU0Miw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBp
ZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hl
OjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkK
KyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTksNyArODE5LDcgQEAgaW5saW5lIENhY2hlZFJlc291
cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBDYWNoZWRS
ZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIoKnRoaXMsICZDYWxs
YmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJm
M2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNjNjEyYWE5ODZjZTQz
ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJm
b3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMg
YSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzku
LjkxMDA3NDcxMWQyNzE5OTg4YzMzZDI3MTMzMDIzNjgwZDA5MGUwODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9
IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVj
b2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1
bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hp
Y2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMg
Y29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJv
bm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNpbmds
ZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZSgp
CiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAgIGlmIChtX3BydW5lVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAgICAgIHJldHVybjsKLSAg
ICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4ZjI4MmJlNThkMTcwZC4u
NzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisgICAg
dm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRvIHB1
dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAgdm9p
ZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5OSw3ICsxOTksNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5EZWFk
Q2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CisgICAg
U2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25l
ZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBi
eSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRTaXpl
OyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIgcmVz
b3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAzMGY1ZjY5NGUzMGJiMmQu
LjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0
aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMgZXhwaXJl
IG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9uVGltZSA9
IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1OyAK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1X3M7CiAKIHN0YXRpYyBi
b29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3ZDMxNWVkZmJmOWM1MGUw
YTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFkZmI5NzcyMzQ0NGRlYmQw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKQEAg
LTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGRvdWJsZSBh
dXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBh
blNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1h
a2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAu
MDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1X3M7CiAK
ICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQuLjAw
MDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJl
bmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXgg
OThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNWQ2Y2Q0OTM4NDVjZGJl
ODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0
aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJp
bmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhv
ZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBv
cgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0g
ICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
U3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKaW5kZXggYTk2OWQ5NDhlN2UzOWMwMjY5YzVhMzBmZjljZDAxN2M5MmRk
OTU4Yy4uMzI0NzYxNzMwNTI4YjQ0MzAxMDc1ZGRmOTk5NjBhMWYzYmE0NDhkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGlu
ZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0IGF1
dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBtczsg
Ly8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IDFf
czsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
SW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDFfczsgLy8gRW1waXJp
Y2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMgY29uc3Qg
aW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJlU3RhdGUg
ewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1lcnNNYXA6
OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBib29sIHNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
LCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2Vy
R2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJldHVy
biBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICAgICAg
JiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcKICAgICAg
ICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJkZWQg
dG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVU
b2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVydmFsLCBp
bnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGlu
dGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE3NSwx
MiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVzZXJHZXN0
dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6OkRPTVRp
bWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwg
Ym9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihj
b250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZlbCgp
KQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5hbEludGVy
dmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkKICAgICAs
IG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkpCiAgICAg
LCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChp
bnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERPTVRpbWVy
Ojp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91dCwg
Ym9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBhc3NlcyBv
d25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNvbnN0cnVj
dG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21hdGljYWxs
eSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAgLTIxMCw3
ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVmZXJUaW1l
b3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAgICAgIGlm
ICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2luZ2xlU2hv
dCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IDEwMF9tcyAm
JiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShX
S0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9i
c2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlm
IG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3
LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3Bl
bmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRp
bWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7Cisg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGlt
ZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVl
KCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBp
bnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRU
aW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIx
IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VS
VChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhE
T01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20g
JSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhp
cywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFs
KTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBl
YXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwg
dGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1
cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVy
dmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxp
bmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVy
dmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90
dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50
VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2
YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9N
aW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAg
QVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1
dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0
byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAv
LyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9u
ZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBA
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1zdGQ6Om9wdGlvbmFsPHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBmaXJlVGltZSkgY29uc3QKK3N0ZDo6b3B0aW9uYWw8TW9ub3Rv
bmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lIGZpcmVUaW1l
KSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwgPj0gbWF4VGlt
ZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAwbXMpCisgICAg
U2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7CisgICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBfcykKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byBpbml0aWFs
aXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91
YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3Jj
ZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJl
dHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBlLmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRv
IHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVu
dEludGVydmFscywgZS5nLgogICAgIC8vIGlmIGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCBy
YW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAu
Li4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6
ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJh
bmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRG
aXJlVGltZSAlIGFsaWdubWVudEludGVydmFsKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9t
aXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRl
cnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uOworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRG
aXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0
ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChhZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVw
b2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50
ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OwogfQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggMzlhMDQ2
MWRhZWVlZTI1ZWFiYTMzOTk2ZTdhMGRjOGRkOTFhNjc4NS4uODI4YjY0YjAwOWJiMjIxOTE1ZWM3
YWRiYTZhYTc0OGUxYWY2NjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0
LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+
LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGlt
ZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5p
bXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAg
ICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50
ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWlu
aW11bUludGVydmFsKCkgeyByZXR1cm4gNF9tczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1
bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDBfczsgfQorICAgIHN0YXRpYyBTZWNvbmRz
IGhpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDFfczsgfQogCiAgICAgLy8g
Q3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgc3RhcnRzIGl0CiAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBp
bnQgaW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5n
bGVTaG90KTsKKyAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2
YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApA
QCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRl
cmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01U
aW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CisgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwog
ICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0
bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdT
dGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZFN0b3AoKSBvdmVycmlkZTsKLSAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25p
Y1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fdGltZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90dGxlU3RhdGUgbV90
aHJvdHRsZVN0YXRlOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9jdXJyZW50VGlt
ZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IG1f
dXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJv
dHRsZVN0YXRlIHsgVW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYTljMDNjNDcxOGY5ZTJiY2I0MGM4YzE2
ODI2YjllYzc1OWZmOTcxYi4uMjNjYTIzNzVmYzk1ZTc5YjA3ZjlhMjZiNzc3NmI4ZTRhNGRjODE5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTY0LDcgKzk2NCw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cmIGNhbGxlCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBh
dXRvKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBtZXNzYWdlLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBzb3VyY2VPcmlnaW4sIGNhbGxlcldpbmRvdywgY2hhbm5lbHMucmVsZWFz
ZVJldHVyblZhbHVlKCksIFdURk1vdmUodGFyZ2V0KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0g
ICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMTY1NCw3ICsxNjU0LDcgQEAgRXhjZXB0aW9uT3I8
aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwor
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBET01X
aW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4Niw3ICsxNjg2LDcgQEAg
RXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxT
Y2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgq
Y29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVv
dXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0MzA5NTYzNDk2MjJh
ZTJlMTlmZDViNzYwMzg1Yzk1OTA0Y2MuLmVmZWYzNmJhMGY3OTIxOTk5NjI3ODU1NGEyYTk1OGI1
OGM2MWU1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcApAQCAt
NDgsNyArNDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVu
ZXIoRE9NV2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkpIHsKICAgICAgICAg
bV9sYXN0RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlmICghbV90aW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhNzU0MjdjYTQ2YzcxZjll
NjEzNDM3YWYwOTdhM2VkYWIxYjdlZDFiLi5lOTMzYmI0ZTRiNTY1MGY1MTBiZmMwMDg1NjkyYzU3
NTk3ZTM5NTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUg
KzE1NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRp
bWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAog
Ly8gZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29u
dGVudCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVy
YXRpb25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVz
ZWQuCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsK
LWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRv
dWJsZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFr
ZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMV9zOworY29uc3QgU2Vjb25kcyBmYWtl
TW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlTG9uZ0ludGVydmFsID0gMC4yNV9zOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NV
UFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRl
IG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8g
YmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBj
dXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUlu
dGVydmFsID0gMC4wMl9zOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNpemUgPSAxMjg7CiAj
ZW5kaWYKQEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNzIE1heGltdW1EdXJh
dGlvblRyYWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNr
ZXIoZG91YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyKFNlY29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVyYXRpb24obWF4RHVy
YXRpb24pCi0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
KyAgICAgICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgIHsKICAgICB9CiAK
ICAgICB+TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAgICAqbV9tYXhEdXJh
dGlvbiA9IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3RkOjptYXgobV9tYXhE
dXJhdGlvbiwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBtX3N0YXJ0OworICAg
IFNlY29uZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0OwogfTsK
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykK
QEAgLTQ2Myw3ICs0NjMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogICAgIG1fb3Jp
Z2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1fb3JpZ2luYXRpbmdU
b3VjaFBvaW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0
aW9uID0gMDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDBfczsKICAgICBtX2Jhc2VF
dmVudFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBm
YWxzZTsKIH0KQEAgLTE4MjEsNyArMTgyMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1v
dmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBw
cm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3Io
bV9mcmFtZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25U
cmFja2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlciBtYXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAg
aWYgKG1fZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91
c2VFdmVudChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjkwMiw3ICsyOTAyLDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQg
RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9o
b3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVO
QUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDli
Y2FjNzJjN2UyMTYzMjEwOTE1ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUz
YjM2ODliNmEyZDUyYTY5NDg4ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtNTcwLDcgKzU3MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAg
fTsKKyAgICBTZWNvbmRzIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZl
bnQ6OlR5cGUgbV9iYXNlRXZlbnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAg
Ym9vbCBtX2RpZFN0YXJ0RHJhZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVl
bEV2ZW50IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggZDU1
NTVlZDJjMGZiNTdiOTYzYjdiNjAwMjE5ODcxNzEyNmY2NWZkNy4uYjdhMDRmNDg1Zjg5YzhjODlk
Y2RmY2ZhZWQxZDE5M2E5ZmRjOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRf
dCBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29u
ZHMgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDNfczsKIAogaW5saW5lIEV2
ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBVUkwmIHVybCwgY29uc3QgSW5pdCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQpAQCAtMTMyLDEzICsxMzIsMTMgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVD
VElORyk7CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBtX2Nvbm5lY3RU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKICAgICBt
X3N0YXRlID0gQ09OTkVDVElORzsKLSAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9y
ZWNvbm5lY3REZWxheSAvIDEwMDAuMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90
KG1fcmVjb25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZAogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAyYmUzZjlmMWI3NWQzOWQ1M2IyZmUzOTEyOTNmNThj
YzBmMTgyNzgyLi5hNGU3ZGQ5YWM0NzQzMzFjOGI3ZTNmZWE3NjNmMDE3ZTI3YzYzMGE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uNzJjMzM5
MTdmN2ZiYjJiM2NmOGM4MWEwZGEwOGRiMGU0NzUwNDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzNfcyk7CiB9CiAKIHZv
aWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggMzkxNDEyZTVmNDgwYWQ2ZDNjYjVkYzQ3NjE4MGY1ZGNhNWYzNWJlNy4uYzE5
NjkzN2IzYjg1MDRlNWYzOWE0NmRjYTlmMzJkMmZiNzg1OTlmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWduZWQgc2Nyb2xs
RnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsRnJlcXVl
bmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xP
QkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODA2MWI3NTE0ZDk2NmQ2YzcyNTJmZDAy
ZWMzY2RkMTA4NjEyMTJmOS4uOTIxODhjYjhkMjZhZTYxNmVjODhlNTIxNTc2YzY0ZDg2ZjY2NjIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYwLDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIC8vIGRl
ZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlciB3ZSByZXR1
cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1cyBuZWVkIHRv
IHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBjeWNsZSB1bmxl
c3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIgaGVyZS4KLSAg
ICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
ICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAg
ICB9CkBAIC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAg
ICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2
ZW50KCk7CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJv
dHRsaW5nRGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZl
YWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29u
dGVudFJlY3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw4ICsyODQxLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3Nw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIC8vIERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dl
ciBmdXJ0aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKLSAgICBtX3NwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkp
OworICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3QoMC41X3Mp
OwogfQogCiB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVk
KCkKQEAgLTM0MzEsNyArMzQzMCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91
dFRhc2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIu
CiAgICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0
ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
MGE3Mzk3OTg2MjQ2Yzc4MWE4Y2E5YjcxMjM1ZjAyNGZmOTQ3YzFkMC4uMTdlOWEzMDdlYTJlNWU1
YTcwMTBkM2UyNDVmMTkxMGJhODhjNWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcg
KzEyNDMsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0
bGluZ1N0YXRlIHN0YXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGlu
Z1N0YXRlID0gc3RhdGU7Ci0gICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVw
ZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAg
dm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBz
dGF0ZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsK
ICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAg
LTEyODQsOCArMTI4NCw4IEBAIHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpCiAgICAgICAgIGlmIChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFs
aWdubWVudEludGVydmFsID0gbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZS50aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPihzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJv
dHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVu
dEludGVydmFsID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRl
TGFzdENoYW5nZWRUaW1lOwogICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0
LCBzZXQgdGhlIHRpbWVyLiBJZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBp
ZiAobV90aW1lckFsaWdubWVudEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5j
cmVhc2VMaW1pdCkKICAgICAgICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAyMjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2ZWQ2ZGVlMTI0YjRi
Li4zNWZhNTExMWEwYjI2MWJjNGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjI1LDcgKzIyNSw3IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dy
ZXNzKCkgY29uc3QgeyByZXR1cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRy
b2xsZXImIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9s
bGVyOyB9CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAg
ICBTZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElB
KQogICAgIGVudW0gVmlld01vZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNob3dBbGxQbHVnaW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0g
c2hvd0FsbDsgfQogICAgIGJvb2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRv
bWF0aW9uOyB9CiAgICAgdm9pZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJv
bGxlZCkgeyBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02Njcs
MTAgKzY2NywxMCBAQCBwcml2YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01F
RElBKQogCiAgICAgVGltZXJUaHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7
IFRpbWVyVGhyb3R0bGluZ1N0YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSB7IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBN
b25vdG9uaWNUaW1lIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAg
U2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdu
bWVudEludGVydmFsSW5jcmVhc2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25k
cyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lz
RWRpdGFibGU7CiAgICAgYm9vbCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcAppbmRleCBlNzBiY2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5l
OTAyYjAyNThkMWUxODlhNjAwMzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRp
YyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZmFkZUFuaW1hdGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0
YXRpYyBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQog
ewpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0
aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9m
YWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRp
b25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAg
bV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFs
KTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEyZDVhMWZiY2RhYzdm
YTFiN2RlYzVkLi5lYjhmODE5NDU0MWFjZTg2NTlmZDUwMjNkYmFjNDJmNjRkZmM3MDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY5LDE1ICsxNjksMTUgQEAgc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlVG9M
b2FkVmlkZW8gPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgZG91YmxlIGRl
ZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7
CisKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKIHN0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYK
Kwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5h
YmxlZCA9IGZhbHNlOwogCkBAIC0yMTEsNyArMjExLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBh
Z2UqIHBhZ2UpCiAgICAgLCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2Vu
ZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0g
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisg
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykK
ICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjpp
bWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoZmFsc2UpCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5n
czo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGlt
cG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRo
ZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8g
cmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBt
b3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1h
Z2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBw
cmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElG
cmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGRO
b3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRN
aW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKQEAgLTQ1
Nyw3ICs0NTcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKQogCiAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50
cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwob2xkVGlt
ZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11
bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhvbGRUaW1lckludGVydmFsKSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdlZmUwZWVkOTFhMDQwMDlhZTE1N2Q1NDM2Nzg5
YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNkMmE0NzA0NjNkNTNmZmYwYmYwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAg
IGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1f
bmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFs
aXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMg
bWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91dEludGVydmFs
KFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJ
bkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KLSAgICBkb3VibGUgdGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVy
biBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CisgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNv
bmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpAQCAtMzI2LDcgKzMyNiw3
IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxp
ZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJs
b2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIFNlY29uZHMgbV9sYXlv
dXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwogCiAg
ICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0
ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
IDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1l
cjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFhYWE2YWU0
YmM1ZGZkZDQ2YjI0YzU3NjQzNS4uMjg3NjI4NmM4YzA3MThmODM2MmRhYmMxNWYyYmYzZDQxMWQw
ZjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMywx
MCArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3Bl
bmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
YXZlZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCgwKQot
ICAgICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcsNyBAQCB2
b2lkIFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVkID0gZmFs
c2U7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhTZWNv
bmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3ICsxMDgs
MjcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hv
dChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChT
ZWNvbmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zYXZl
ZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBpbnRl
cnZhbDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gMF9zOwogICAgIH0KIH0KIAotZG91YmxlIFN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKK1NlY29uZHMgU3VzcGVuZGFibGVUaW1lcjo6cmVw
ZWF0SW50ZXJ2YWwoKSBjb25zdAogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIHJl
dHVybiBUaW1lckJhc2U6OnJlcGVhdEludGVydmFsKCk7CiAgICAgaWYgKG1fc2F2ZWRJc0FjdGl2
ZSkKICAgICAgICAgcmV0dXJuIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMF9zOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50Rmly
ZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAg
ICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3
LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUg
ZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zYXZlZElzQWN0aXZlID0gdHJ1ZTsKICAg
ICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBkZWx0YTsKLSAgICAgICAgbV9zYXZlZFJl
cGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMF9zOwog
ICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1l
ckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcwOTM3ODUwYTNhNjkwMWY3MjBjNWRlMWY2MDk5
MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4NTU1MTc4MWEwMzY1ZDE5MzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00MywxNyArNDMsMTIgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZl
KCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3Vz
cGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKTsKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwotICAg
IHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpOwotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGlu
dGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3Q7CiAKLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwp
IHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZv
aWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3Rh
cnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhy
ZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29u
ZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRz
KGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAKICAgICB1
c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsOwogICAgIHVzaW5nIFRp
bWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEsMTEgKzY2LDExIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1l
KCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVuZGVkOworICAgIFNlY29uZHMgbV9zYXZlZE5l
eHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7CiAKLSAg
ICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7Ci0gICAgZG91YmxlIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZTsKKyAgICBib29sIG1fc3VzcGVu
ZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZl
bnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNl
Mzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2JmZTViODNlMmY1ZjljMDJiY2E0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3Rh
cnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1f
dGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIu
c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRl
c3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXgg
OWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgxZGFkMmY3NWNlZC4uYTg1YmFhYTg5NjNjNmVi
MGM0ZmMzMWQ3YTQzOTUzZThmZmYyZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTQ4LDggKzQ4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNBbmltYXRpb25U
aW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNCZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRpYyBjb25zdCBhdXRvIGFuaW1hdGlvblRpbWVy
RGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsKK3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRh
dGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3ICs3MSw3IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSYgZnJhbWUpCiAgICAgOiBt
X2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCp0
aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKKyAgICAsIG1fYmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAg
ICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCgwKQogICAgICwgbV93YWl0aW5nRm9yQXN5
bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCkBA
IC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qCiAKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0g
MDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlOwogCiAgICAgY29uc3QgQ29tcG9zaXRl
QW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0
KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21wb3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkg
JiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNBbmltYXRpb25zKCkpCi0gICAgICAgIHRpbWVUb05l
eHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOworICAg
ICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHMoY29tcG9zaXRlQW5pbWF0aW9uLT50aW1l
VG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkg
JiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSB8fCBtX2FuaW1hdGlvblRpbWVy
Lm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1lVG9OZXh0U2VydmljZSkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYKIAogdm9pZCBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0Q2hhbmdl
ZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hhbmdlZCovKQogewotICAgIGRvdWJs
ZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpOwor
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZlcnQgcmVzdCBvZiBhbmltYXRpb25zIGNvZGUgdG8g
U2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4KKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNl
ID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKSk7CiAKLSAgICBMT0co
QW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAl
LjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOworICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5p
bWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUuMmZtcyIsIHRpbWVUb05leHRTZXJ2
aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAgIC8vIElmIHdlIHdhbnQgc2VydmljZSBpbW1lZGlh
dGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcgdGltZXIgdG8gcmVkdWNlIHRoZSBvdmVyaGVhZCBv
ZiBzdGFydGluZwogICAgIGlmICghdGltZVRvTmV4dFNlcnZpY2UpIHsKLSAgICAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRl
cnZhbCgpID09IDApCi0gICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5n
KGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlz
QWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAg
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoYW5pbWF0aW9uVGltZXJEZWxheSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHNlcnZp
Y2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSB0aW1lciBpcyBubyBsb25nZXIgcnVubmluZwot
ICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDApIHsKKyAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwX3MpIHsKICAgICAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgICAgICByZXR1cm47CkBAIC0y
MjIsNyArMjIzLDcgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6ZmlyZUV2ZW50
c0FuZFVwZGF0ZVN0eWxlKCkKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0
VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKQogewogICAgIGlmICghbV91cGRhdGVTdHls
ZUlmTmVlZGVkRGlzcGF0Y2hlci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVN0eWxlSWZO
ZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVTdHlsZUlm
TmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4g
ZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiBy
ZW5kZXJlciwKIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
KTsKLSAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0g
YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJu
IG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsK
ICAgICBpZiAoIW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAg
ICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMy
Njg5OTAzNjNjNGZkMGY2ZDE2YTI3MWUzNjkuLjM3OGRlYjBiMTdmYWFlZGNiNTgzOGI2OGJmN2Nl
NzI5ZTBmM2E1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0KQEAgLTc4LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRj
aGVkU3RhdGVEZWxheSA9IDAuMV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJy
ZW50TlNFdmVudFNsb3QoKQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRm
b3JtV2hlCiAgICAgLy8gcmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3Ag
dGhlIHRpbWVyLCBsZWF2aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAo
IW1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAg
IGlmIChldmVudC5pc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVu
ZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3Rh
dGVUaW1lb3V0KTsKKyAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1l
ci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgLy8gSWYgYW5vdGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRo
ZSB0aW1lciBtYW51YWxseSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5
LgogICAgICAgICBpZiAoZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5k
ZXggNTVlNGQ2NTk1ZWViNjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZh
ZTdhMWU3MjdjOTQ0ZGVkZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAg
ICBib29sIG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVy
QnV0dG9uKSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vj
b25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCop
IGNvbnN0OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwog
CiAgICAgc3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0
KiBhLCBjb25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAK
ICAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFu
Z2VUaW1lOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0
U2VsZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAog
ICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0
OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1
OTY0OTliZGY2MTZlZDQyMTFiOWE1MjM4MTVlNjIuLmU4ODQ5Mjk0NmE1YmFlZTE2OTRlMDRjNTI2
NzY5NzQ0ZWI5NGVlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9y
PExheW91dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBt
X2lzVGV4dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dp
dGhHYXBSZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEs
NyArMzkxLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGln
aGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpidWlsZFBv
dGVudGlhbEhpZ2hsaWdodHNJZk5lZWRlZCgpCkBAIC00MzMsMTUgKzQzMywxNSBAQCBib29sIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYg
aGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBob3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNv
bmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFo
aWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAg
ICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAwbXM7Cisg
ICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDAuMl9z
OwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0aW9uKCku
c2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAgbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAgIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMV9zOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQg
PSBtX21haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5tb3VzZVByZXNzZWQoKTsKIApAQCAtNDQ5LDE1
ICs0NDksMTQgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICAvLyBieSB2aXJ0dWUgb2Yg
YmVpbmcgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgZW50aXJlIHRlbGVwaG9uZSBudW1iZXIuIEhv
d2V2ZXIsIHdlIHdpbGwgc3RpbGwgYXZvaWQgaGlnaGxpZ2h0aW5nCiAgICAgLy8gdGVsZXBob25l
IG51bWJlcnMgd2hpbGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgaWYgKGhpZ2hsaWdodC0+dHlw
ZSgpID09IEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSkKLSAgICAgICAgcmV0dXJuIG1v
dXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMG1z
OworICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24gOiAwX3M7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAg
ICAgYXV0byB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0
aW9uQ2hhbmdlVGltZTsKICAgICBhdXRvIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9
IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2lu
Y2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBU
aW1lOworICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwX3Mg
OiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsKIAotICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBt
aW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWlu
KHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFj
dGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1
cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOwor
ICAgIHJldHVybiBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6
bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hs
aWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVk
KCkKQEAgLTcyMyw3ICs3MjIsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAv
LyBoaWdobGlnaHQsIGFuZCBvbmx5IHJlc2V0IHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVz
aXMgd2hlbiB0aGF0IGNoYW5nZXMuCiAgICAgICAgIGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQg
IT0gbmV3QWN0aXZlSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHQgPSBuZXdBY3RpdmVIaWdobGlnaHQ7Ci0gICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAg
ICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hs
aWdodCA9IG51bGxwdHI7CkBAIC03MzQsNyArNzMzLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3Rp
dmUKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
U2hvdWxkQmVTaG93biA9IHRoaXMtPnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24obmV3QWN0aXZlSGlnaGxpZ2h0LmdldCgpKTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
OjpkdXJhdGlvbjo6emVybygpKSB7CisgICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID4gMF9zKSB7CiAgICAgICAgICAgICBtX2RldGVybWluZUFjdGl2
ZUhpZ2hsaWdodFRpbWVyLnN0YXJ0T25lU2hvdChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNzY2LDcg
Kzc2NSw3IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVudChQYWdl
T3ZlcmxheSYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVuCiAgICAgICAgIFJlZlB0cjxIaWdobGln
aHQ+IG1vdXNlRG93bkhpZ2hsaWdodCA9IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxw
dHI7CiAKLSAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKIAogICAgICAgICBpZiAobW91c2VJc092ZXJBY3RpdmVIaWdobGlnaHRCdXR0b24gJiYg
bW91c2VEb3duSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBoYW5kbGVDbGljayhtX21vdXNlUG9z
aXRpb24sICptb3VzZURvd25IaWdobGlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTRlMjBkMjI3NjhjODgyZTkwMGIxMmI0MWZl
MDJlY2RmYjQ4ZjYyOC4uNTA0NGVhZjYyMDRhM2JjMmI4ZGRlNmFlNGE4NTk5YWI1MTE2YjFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCkBA
IC00NzUsNyArNDc1LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5kaWNh
dG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21fdGV4
dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dEluZGlj
YXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4dElu
ZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAgICAg
IG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHRpbWVC
ZWZvcmVGYWRlU3RhcnRzKSk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmNmU1NDZiOTg3MWM5MDgwNGJiNTc4
MTMwNWUxNDNjZWUyMWVjODk2Li44MWMzMDE0ZmE2NTI1ZTFmNmZkZjdkM2UwYzM2ZGNkMjI3NjI0
ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVy
QXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUgPSBz
Y3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3Jv
bGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi5lZDFk
N2Q2MTM5ZjIwNTJiNGJkOGExNjg1NzUwN2Q2MTI4ZjA0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21t
aXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUz
ZjQwZDYwMTQ0ZDA5NGY2ODUzNWY0MTM0ODhmYzRmOTMwOGY2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFi
NDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4uMzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5
NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBl
bmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZCht
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigp
LmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rp
c3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUyYTc0ODMwOWUwNjI4MjBlZGM4
MjM5ODBjMGIyZTEuLmFkNGViNzdhZTU3YmUzMmIzOTM3OGYzODMwOTliOTNkNDU4YWY3ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0zMCw3
ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBEZWZh
dWx0SHlzdGVyZXNpc0ludGVydmFsID0gNV9zOwogCiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lz
U3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewogcHVibGljOgotICAgIGV4cGxp
Y2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRl
KT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNT
ZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVz
aXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sg
PSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBE
ZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAg
ICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwg
bV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rp
dml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAgICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAg
ICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRv
dWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCmluZGV4IGM4
ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2NGVlNzYuLjBlNjVhN2IxMTMwNmIwYTdj
NTJiY2I1ZTJiMDk2MGRhYzk3OWMyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAtNDI0LDcgKzQyNCw3IEBAIHZvaWQgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIpCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3Rh
cnROZXh0VGltZXIoZG91YmxlIGRlbGF5KQogewotICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KGRlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5KSk7CiB9CiAjZWxzZQogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4
dFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDg4MTgxZDMw
NTdmNDY4OTRkZmViOWE5NzdhNTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1MzVlNzk4YTBk
MGU4MDBlMzhiZjZkOTQyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApA
QCAtMTgzLDcgKzE4Myw3IEBAIHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShTY3JvbGxiYXIq
IHNjcm9sbGJhcikKICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPj0gdGh1bWJQ
b3MgJiYgc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1iTGVuZ3RoOwog
fQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkK
K3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSkKIHsK
ICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5vdGhpbmcgd2Fz
IHByZXNzZWQuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8IG1fcHJlc3Nl
ZFBhcnQgPT0gTm9QYXJ0KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjphdXRv
c2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRpbWVySWZOZWVk
ZWQoZGVsYXkpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJs
ZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxh
eSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgogICAgIGlmICht
X3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNjcm9s
bGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAg
bV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIFNj
cm9sbGJhcjo6c3RvcFRpbWVySWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
aAppbmRleCBmODZhOTYyYWZlMDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFhLi5hMjM2Yzdl
OGViMTI3YWVhMzc1NjUyM2ViZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaApAQCAtMTQ0LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZp
cmVkKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKKyAgICB2
b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1l
cklmTmVlZGVkKCk7Ci0gICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5
KTsKKyAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KTsKICAgICBT
Y3JvbGxEaXJlY3Rpb24gcHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAgICBTY3JvbGxH
cmFudWxhcml0eSBwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2JhNGEwZTNhMGRm
YjQ3NjFkZDRhNjU3NWVkYmMuLmZkYzVmOGQ1ZDY0NWRmMzJmNjAyOTFmNTQ2MGJlNTkzMmRkYzQ4
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMTA1LDgg
KzEwNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFn
ZXMoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9CiAKLSAgICB2
aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1
OyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAw
LjA1OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IHsgcmV0dXJuIDAuMjVfczsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIHsgcmV0dXJuIDAuMDVfczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Ny
b2xsYmFyKFNjcm9sbGJhciYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xs
YmFyKFNjcm9sbGJhciYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNTkxMTk3OGFl
ZWMxOGYwODNmZGJmODVmMWFmM2VkMjQxNzkwMTE2NS4uODczNTk0MmZiNjkwNTk2NDRjNGZhZWNi
OTQ0NDI2YWUyZmYyMTZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250
LCBGb250RGVzY3JpcHRpb24mKSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAg
CiAgICAgLy8gSG93IGZhc3QgdGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2
aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
MC41X3M7IH0KIAogICAgIC8vIE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdl
ZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCmluZGV4IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFh
MTBmY2ZkYmNhNDQuLjZhMTg3N2YxMzZmZTE3OWMxODMzZGRjMDRlN2IyNjcxYjc5YmYyMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBA
QAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgog
CiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcg
KzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVu
Z3RoIG9mIHRpbWUsIGFuZCB0aGVuIHF1aXQgdG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVz
ZXIgaW5wdXQgZXZlbnRzLgogLy8gMTAwbXMgaXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBp
biBVSSwgc28gdXNlIGEgaGFsZiBvZiB0aGF0IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0
byBwcmV2ZW50IFVJIGZyZWV6ZSB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFj
aGluZSBwZXJmb3JtYW5jZSBpcyBsb3cuCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSA1MF9tczsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVk
IGFuZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93
biBUaHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3Vy
cmVudGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJl
YWRUaW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMo
ZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYg
KGlzVUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRU
aW1lcjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6
c2V0U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJl
ZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0
cik7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hh
cmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSB7IH07CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFyZWRUaW1lcjsK
QEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIo
KQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1RpbWVycyB8fCBt
X3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJl
VGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAg
ICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3Vi
bGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7Ci0g
ICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOworICAgICAgICBhdXRvIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0
KCktPm1fbmV4dEZpcmVUaW1lOworICAgICAgICBhdXRvIGN1cnJlbnRNb25vdG9uaWNUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lKSB7CiAgICAgICAgICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlm
IGJvdGggdGhlIHBlbmRpbmcgZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4g
dGhlIHBhc3QuCiAgICAgICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8
PSBjdXJyZW50TW9ub3RvbmljVGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25p
Y1RpbWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJl
ZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBj
dXJyZW50TW9ub3RvbmljVGltZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRG
aXJlSW50ZXJ2YWwoc3RkOjptYXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90
b25pY1RpbWUsIDBfcykpOwogICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBU
aHJlYWRUaW1lcnM6OnNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5n
VGltZXJzKQogICAgICAgICByZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAg
IG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRp
bWVyRmlyZVRpbWUgPSB7IH07CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4
RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKKyAgICBhdXRvIGZpcmVUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CisgICAgYXV0byB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9m
RmlyaW5nVGltZXJzOwogCiAgICAgd2hpbGUgKCFtX3RpbWVySGVhcC5pc0VtcHR5KCkgJiYgbV90
aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRpbWUpIHsKICAgICAgICAg
VGltZXJCYXNlKiB0aW1lciA9IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0gICAgICAgIHRpbWVyLT5t
X25leHRGaXJlVGltZSA9IDA7Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZSA9IDA7CisgICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsK
KyAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgICAgICB0aW1lci0+aGVhcERlbGV0ZU1pbigpOwogCi0gICAgICAgIGRvdWJsZSBpbnRl
cnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwotICAgICAgICB0aW1lci0+c2V0TmV4dEZp
cmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDApOworICAgICAgICBTZWNv
bmRzIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7CisgICAgICAgIHRpbWVyLT5z
ZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogTW9ub3Rvbmlj
VGltZSgpKTsKIAogICAgICAgICAvLyBPbmNlIHRoZSB0aW1lciBoYXMgYmVlbiBmaXJlZCwgaXQg
bWF5IGJlIGRlbGV0ZWQsIHNvIGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0IGFmdGVyIHRoaXMgcG9p
bnQuCiAgICAgICAgIHRpbWVyLT5maXJlZCgpOwogCiAgICAgICAgIC8vIENhdGNoIHRoZSBjYXNl
IHdoZXJlIHRoZSB0aW1lciBhc2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBhIG5lc3RlZCBldmVudCBs
b29wLCBvciB3ZSBhcmUgb3ZlciB0aW1lIGxpbWl0LgotICAgICAgICBpZiAoIW1fZmlyaW5nVGlt
ZXJzIHx8IHRpbWVUb1F1aXQgPCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAg
ICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgTW9ub3RvbmljVGltZTo6bm93
KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lk
IFRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIAogICAgIGlmICht
X3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPmludmFsaWRhdGUoKTsKLSAg
ICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGlu
Z1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGlt
ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIx
ZTgyNjY2MmU5YWJiMzA0ZTM4M2YxN2IxZTcyOWE5Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2
ZWM2OTE3MzlhODkwM2EwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFk
VGltZXJzX2gKIAorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGlt
ZXJIZWFwOwogICAgICAgICBTaGFyZWRUaW1lciogbV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwg
b2JqZWN0LCBjYW4gYmUgYSBydW4gbG9vcCBvbiBhIHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNl
dC9yZXNldCBieSB3b3JrZXIgdGhyZWFkLgogICAgICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAv
LyBSZWVudHJhbmN5IGd1YXJkLgotICAgICAgICBkb3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJG
aXJlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVU
aW1lOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZl
N2NjNTU4OTEyOTQ3NDYzOTc2ZDhkMTg1ZjkxMTE0YmJhLi44ODg0YTE0NjVmNGQ2ZjI4M2RhOWI3
ZTkyMTU3MTg3ODVkZDlmNjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIs
OCArMTcyLDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0
b3IoKShjb25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFy
aXNvbnMgYmVsb3cgYXJlICJiYWNrd2FyZHMiIGJlY2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFy
Z2VzdCAKICAgICAvLyBlbGVtZW50IGZpcnN0IGFuZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0
byBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBoZWFwLgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBh
LT5tX25leHRGaXJlVGltZTsKLSAgICBkb3VibGUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRp
bWU7CisgICAgTW9ub3RvbmljVGltZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAg
ICBNb25vdG9uaWNUaW1lIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChi
RmlyZVRpbWUgIT0gYUZpcmVUaW1lKQogICAgICAgICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVU
aW1lOwogICAgIApAQCAtMTg2LDExICsxODYsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNz
VGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQog
Ly8gLS0tLS0tLS0tLS0tLS0tLQogCiBUaW1lckJhc2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25l
eHRGaXJlVGltZSgwKQotICAgICwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1f
cmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1faGVhcEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRU
aHJlYWRHbG9iYWxUaW1lckhlYXAoMCkKKyAgICA6IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9j
YWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAobnVsbHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAg
LCBtX3RocmVhZChjdXJyZW50VGhyZWFkKCkpCiAgICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBA
IC0yMDcsMzIgKzIwNCwzMiBAQCBUaW1lckJhc2U6On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAK
LXZvaWQgVGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKICAgICBtX3JlcGVhdEludGVydmFs
ID0gcmVwZWF0SW50ZXJ2YWw7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpICsgbmV4dEZpcmVJbnRlcnZhbCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1v
bm90b25pY1RpbWU6Om5vdygpICsgbmV4dEZpcmVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJC
YXNlOjpzdG9wKCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhy
ZWFkKG1fdGhyZWFkKSk7CiAKLSAgICBtX3JlcGVhdEludGVydmFsID0gMDsKLSAgICBzZXROZXh0
RmlyZVRpbWUoMCk7CisgICAgbV9yZXBlYXRJbnRlcnZhbCA9IDBfczsKKyAgICBzZXROZXh0Rmly
ZVRpbWUoTW9ub3RvbmljVGltZSgpKTsKIAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAw
KTsKLSAgICBBU1NFUlQobV9yZXBlYXRJbnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4
dEZpcmVUaW1lKTsKKyAgICBBU1NFUlQoIW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VSVCgh
aW5IZWFwKCkpOwogfQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29u
c3QKK1NlY29uZHMgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBB
U1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICBpZiAobV9uZXh0RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBj
dXJyZW50OwogfQogCkBAIC0yNDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6
OmNoZWNrSGVhcEluZGV4KCkgY29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25z
aXN0ZW5jeSgpIGNvbnN0CiB7CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBp
ZiBhbmQgb25seSBpZiB0aGV5IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBB
U1NFUlQoaW5IZWFwKCkgPT0gKG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5I
ZWFwKCkgPT0gISFtX25leHRGaXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBj
aGVja0hlYXBJbmRleCgpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkK
IHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZp
cmVUaW1lKTsKICAgICBjaGVja0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRh
ID0gdGltZXJIZWFwKCkuZGF0YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvciho
ZWFwRGF0YSksIFRpbWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwg
VGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRp
bWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFw
RGVsZXRlKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92
ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGlu
ZSB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVs
ZXRlTWluKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJl
bW92ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZv
aWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpo
ZWFwSW5jcmVhc2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAg
ICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVh
c2VLZXkoKTsKIH0KQEAgLTI5Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6Omhl
YXBJbnNlcnQoKQogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBU
ZW1wb3JhcmlseSBmb3JjZSB0aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdl
IGNhbiBwb3AgaXQuCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAg
bV9uZXh0RmlyZVRpbWUgPSAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
OworICAgIE1vbm90b25pY1RpbWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25l
eHRGaXJlVGltZSA9IC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFz
ZUtleSgpOwogICAgIGhlYXBQb3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1l
OwpAQCAtMzQ3LDcgKzM0NCw3IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlv
bigpIGNvbnN0CiAgICAgcmV0dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwg
Y2hpbGRJbmRleDEpICYmIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJ
bmRleDIpOwogfQogCi12b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKQordm9pZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1l
IG9sZFRpbWUpCiB7CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0
aW9uKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFz
ZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFw
KCkgfHwgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXRO
ZXh0RmlyZVRpbWUoZG91YmxlIG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVU
aW1lKE1vbm90b25pY1RpbWUgbmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFk
TG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQp
OwpAQCAtMzc5LDExICszNzYsMTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShk
b3VibGUgbmV3VGltZSkKICAgICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAm
dGhyZWFkR2xvYmFsVGltZXJIZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUg
Y2hhbmdpbmcgdGhlIG5leHQtZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0
RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAg
ICAgLy8gRG9uJ3QgcmVhbGlnbiB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkg
ewotICAgICAgICBpZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNv
bmRzVG9NUyhuZXdUaW1lKSkpCi0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3
QWxpZ25lZFRpbWUudmFsdWUoKSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0g
YWxpZ25lZEZpcmVUaW1lKG5ld1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWdu
ZWRUaW1lLnZhbHVlKCk7CiAgICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpA
QCAtNDE2LDEwICs0MTMsMTAgQEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudElu
dGVydmFsKCkKICAgICBzZXROZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwog
fQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QK
K1NlY29uZHMgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lIC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAg
cmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6
bm93KCksIDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCmluZGV4IDUyYTE2NmViYTJkMjMxOWQxNWExYjdlZDkwODJiNmIxNDMzZjNiMjQuLjMw
ZmQyMmQ5OGIwMmVlZDUxNjMwYTdiNmY4ZTVmNTYyZTk4ODdjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUg
PGZ1bmN0aW9uYWw+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgpAQCAtNDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7
CiBjbGFzcyBUaW1lckJhc2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlu
bGluZSBkb3VibGUgbXNUb1NlY29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlv
bikgeyByZXR1cm4gZHVyYXRpb24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGlu
ZSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikg
eyByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kczo6cmVwKShkdXJhdGlvbiAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgVGltZXJCYXNlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNl
KCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVy
dmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVy
dmFsKTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRl
cnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7
IHN0YXJ0KGludGVydmFsLCAwKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVy
dmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0
KGludGVydmFsLnZhbHVlKCksIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRz
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVy
dmFsLCAwX3MpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKICAgICBib29s
IGlzQWN0aXZlKCkgY29uc3Q7CiAKLSAgICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0
OwotICAgIGRvdWJsZSBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91
YmxlIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQot
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsg
cmV0dXJuIHNlY29uZHNUb01TKHJlcGVhdEludGVydmFsKCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21l
bnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJl
VGltZSArIGRlbHRhKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICBTZWNvbmRzIG5leHRG
aXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2
YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
bV9yZXBlYXRJbnRlcnZhbDsgfQogCi0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91
YmxlIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFs
ICs9IGRlbHRhOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEp
IHsgYXVnbWVudFJlcGVhdEludGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZp
cmVUaW1lICsgZGVsdGEpOyB9CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25k
cyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCAr
PSBkZWx0YTsgfQogCiAgICAgdm9pZCBkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBA
IC04OCwxNyArNzQsMTcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmly
ZWQoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0
IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb25v
dG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3QgeyByZXR1cm4g
c3RkOjpudWxsb3B0OyB9CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAg
ICB2b2lkIGNoZWNrSGVhcEluZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGlt
ZShkb3VibGUpOworICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAg
ICAgYm9vbCBpbkhlYXAoKSBjb25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAg
ICAgYm9vbCBoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVh
cElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChN
b25vdG9uaWNUaW1lIG9sZFRpbWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAg
ICB2b2lkIGhlYXBEZWxldGUoKTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBW
ZWN0b3I8VGltZXJCYXNlKj4mIHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhy
ZWFkR2xvYmFsVGltZXJIZWFwKTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVh
cDsgfQogCi0gICAgZG91YmxlIG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAg
ZG91YmxlIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29u
c2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7
IC8vIDAgaWYgbm90IHJlcGVhdGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7
IC8vIDAgaWYgaW5hY3RpdmUKKyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVU
aW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFs
CisgICAgU2Vjb25kcyBtX3JlcGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAg
ICBpbnQgbV9oZWFwSW5kZXg7IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9o
ZWFwSW5zZXJ0aW9uT3JkZXI7IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJl
LXRpbWUgdGltZXJzCiAgICAgVmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2Jh
bFRpbWVySGVhcDsKQEAgLTE1OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6
aXNBY3RpdmUoKSBjb25zdAogI2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkg
fHwgcHRocmVhZF9tYWluX25wKCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNl
bmRpZiAvLyBQTEFURk9STShJT1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJl
dHVybiAhIW1fbmV4dEZpcmVUaW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVy
IDogcHJvdGVjdGVkIFRpbWVyQmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VGltZXJGaXJlZENsYXNzPgotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENs
YXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGlt
ZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgp
LCBTZWNvbmRzIGRlbGF5KQogICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpi
aW5kKGZ1bmN0aW9uLCAmb2JqZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVy
cmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0
ZDo6ZnVuY3Rpb248dm9pZCAoKT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDog
bV9mdW5jdGlvbihXVEZNb3ZlKGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQog
ICAgICAgICAsIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcg
KzE5OCw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rp
b247CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25k
cyBtX2RlbGF5OwogICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUw
MTkxNDRhMjFmZjRkM2RjMGUxOGY5ZmM5MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlm
MWU1ODNmNWM5MGM4ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9k
ZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRv
bigpCiBWTm9kZVRyYWNrZXI6OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihb
dGhpc10oUmVmQ291bnRlckV2ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZl
bnQ6OkluY3JlbWVudCkgY2hlY2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJl
V2FybmluZ1RpbWVyKCp0aGlzLCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZp
cmVkKQotICAgICwgbV9sYXN0V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
bm93KCkpCisgICAgLCBtX2xhc3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsK
ICAgICBwbGF0Zm9ybUluaXRpYWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5v
ZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNv
dW50ZXIudmFsdWUoKSA8PSBtX3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAg
ICBtX2xhc3RXYXJuaW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwor
ICAgIG1fbGFzdFdhcm5pbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWdu
ZWQgdm5vZGVDb3VudCA9IG1fdm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNh
bCA9IHZub2RlQ291bnQgPiBtX2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRp
Y2FsOjpObzsKICAgICBtX3ByZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9y
eVByZXNzdXJlLCAidm5vZGUgcHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBv
ZiAldSAoY3JpdGljYWwgcHJlc3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRl
ci52YWx1ZSgpLCB2bm9kZUNvdW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIg
OiAiTm8iKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5l
eHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6
bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhl
IHZub2RlIHByZXNzdXJlIGhhbmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0
YXRpYyBjb25zdCBhdXRvIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDMwIH07Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgbWluaW11bVdhcm5pbmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1l
U2luY2VMYXN0V2FybmluZyA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1Rp
bWU7CiAgICAgaWYgKHRpbWVTaW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZh
bCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHM+KG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2Fy
bmluZyk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAg
ICAgIHJldHVybiBtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7
CisKKyAgICByZXR1cm4gMF9zOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4
NWFiZmUxODI2MGY0YTI0Li4wNGZiMzc5NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHBy
ZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFBy
ZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZSgpOwogCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVy
IG1fcHJlc3N1cmVIYW5kbGVyOwogICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAg
ICBUaW1lciBtX3ByZXNzdXJlV2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X2xhc3RXYXJuaW5nVGltZTsKIH07CiAKIGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJl
c3N1cmVIYW5kbGVyKFByZXNzdXJlSGFuZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2
NzY2OWEyMDYwODQ4Y2M2ODEyY2Y0NmU0Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4
ZDRjNDBjNzkzNjgxNjE1ZWI4OTk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkgPSAwLjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVm
ZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBz
dGF0aWMgY29uc3QgY2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBz
dGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLm1tCmluZGV4IDNlMThkNGJmMDNiZjVlN2Y4NDExY2FjZDkzMTg3NWY1YjIxNzY3OTguLjhj
MGE0YzYyOTkyMzBkNWZmM2RkYTVmYWY2YTBkMTczODUzYTgxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNDExLDcgKzQx
MSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNv
bnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7
CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnVi
YmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2Ns
aWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNzKTsKIH0KQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAg
IHJldHVybjsKIAogICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBE
ZWxheSA9IDc1MF9tczsKLSAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRP
bmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVz
c1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxh
eSk7CiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApA
QCAtNjEwLDcgKzYxMCw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFw
VGltZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsK
ICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9s
bGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IDZhNTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlk
OTAuLmU0YzQyMjE2MjNlMWM4MDA4NTdiMGVhNmM2NTBlZGVmZGNmYTQ0MGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1l
cGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2Nv
YS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZU
X0xJTktfQ09OU1RBTlRfTUFZX0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERp
c2Nvbm5lY3ROb3RpZmljYXRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1z
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2X21zOwog
CiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJv
dmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlhMDUw
ZDE4YWE4NzA4OWU5NThlODEyMTRlMWNkZmIxNGViLi4xYzZiNWQ4M2E4YTkwMzQ4MzUwOTQyNTEz
MTMyNmU5Y2Y5YTczMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25E
ZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlv
bkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUludGVy
dmFsID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5
ID0gMC4wNV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0
Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBA
IC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKElP
SElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gdGVs
bCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAgICAgICAvLyBUaGUgbV9jb25uZWN0
aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQgc3BpbiBvZiB0aGUgcnVubG9vcCBh
ZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlvbiBldmVudHMgYXJlIGFjdHVhbCBu
ZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAK
ICAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAgd2FzIGFkZGVkIHdoaWxlIHN1cHByZXNz
aW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUgYW4gJ2FscmVhZHkgY29ubmVjdGVkJyBl
dmVudCIsIGRldmljZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ds
aWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCmluZGV4IDI4NGY4YjE3ZWNkNjlj
MGMxNzIwMmExYzFhNDhkNjY2MGRhNjI3ZjIuLmJiMzZhOGYxZGRiN2JhNWQ1ZTVlYTQ5ZjkwZGFm
Njk0NGU4NDkwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFp
blRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcApAQCAtNDIsNyArNDIsNyBAQCBNYWlu
VGhyZWFkU2hhcmVkVGltZXI6Ok1haW5UaHJlYWRTaGFyZWRUaW1lcigpCiB2b2lkIE1haW5UaHJl
YWRTaGFyZWRUaW1lcjo6c2V0RmlyZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAg
QVNTRVJUKG1fZmlyZWRGdW5jdGlvbik7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2
YWwudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogfQogCiB2
b2lkIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMGFjNjNmYjQ3MmQzMTdhZDlh
OTk3YTMyODFhZGU5ZTcwNWI0YzEzZC4uN2VmYzM5ZDcwZjg1NWNmMzU0NjhkYWU4MWMzODI0OGI0
ZWI1YWNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGlt
ZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6
OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihT
ZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1l
VGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmlt
YXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgIH0K
IAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlvblJlc3VsdDo6
U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0
aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAg
aWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBt
X2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNp
cmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAgICAgc3RhcnRU
aW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA0MTI0ZmE2NTM0ZDEwODI3
NzhhNmVkZWI0MGE5OTJiNjg0NzZhYjM1Li44Njg2ZDNhZTk4Yzg3N2I1ZmIxNWU2N2Q4NjY4NTg5
MzVjYjkzNjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAg
dm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxheSk7Cisg
ICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRtYXBJbWFn
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAoVGV4dFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTljZjE1ZGM3ZmFl
MDZjNjFiNjBjLi5mNTYyOWQ4YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0MzdkNDk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMy
OSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQcmVzc3VyZUlu
YWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1p
bHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVz
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9v
bCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgICAgICBt
X3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiBw
bGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwg
ZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tp
bmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIw
Ni4uNWUwN2M1Zjc3ZjMwYjE5NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEw
LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAwLjFfczsK
IAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihD
bGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRk
MTRhM2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAxODg0NTZhNWI1
NThhY2ZiYWU5NTg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6
bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkg
Pj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEp
IHsKICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAg
ICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVu
dE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlh
RW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggMzI5Y2ExMDA5YmNhOGRhMWE4Y2UxMDExODIw
MzUwZmZlOTk0YTNmOS4uYjM0MDQyYWM1YmI3Y2VmNWE5NDNiMTk1OGEyMjA4MzRkNDkxYmVlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
QEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNB
Y3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29u
c3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3Qg
YXV0byBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAgICAgbV9wdXJnZVRp
bWVyLnN0YXJ0T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmlu
ZGV4IDZlZThiYzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLjhkZWUwOWNlMDg2
YWRhZjViZTI3YzIwMDhhY2IyNWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBjaGFyYWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJy
ZWRPcHRpb24pKTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJy
ZWRPcHRpb24pOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZG
T2JqQyogb3B0aW9uKQpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoK
ICAgICBtX3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2Vs
ZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVj
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZi
YTY0YTc5ODYzNjNkMjgzZWQ0ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFmNGMzZTU3OTBiNjY3
ZGQ2ZmI2YjYyYjY4MDI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3
ICsyMjgsNyBAQCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBvdXRwdXRDb2RlY3Mg
PSBbZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJG
b3JJbnB1dE1JTUVDb2RlY1BhcmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcg
KnR5cGVTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIl
QFwiIiwgKE5TU3RyaW5nICopcGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2Rl
Y3NdOwotICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVk
TUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBs
YXllcjo6TWF5QmVTdXBwb3J0ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkg
aXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNT
dXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFy
ayAtCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlm
IChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0g
ICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIwNzIzNTAwMThhZGM0
YmNkYjg0NWYuLjBjYzRmYWM1OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBhZjk3YTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApA
QCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKCkKIHsKICAg
ICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3By
dW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3Qo
MV9zKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAK
aW5kZXggZTQyNWI4MmY4MDM0NzQ3ZWFmZWMxOGU4MGUwZTk2OGFmZDVjMDQ3Ny4uYmM5NDk2MTNl
Njk1MTQ0MjIyM2UzNGZiOGRlNTNjMjkxOTIwZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtNDksNyAr
NDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbGVT
aXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7CiAKIFN0cmluZyBU
aWxlQ29udHJvbGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcg
KzI2Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2lu
ZG93KQogICAgIGlmIChtX2lzSW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRp
bGVzKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9u
VGltZW91dCA9IDQ7CisgICAgICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVv
dXQgPSA0X3M7CiAgICAgICAgIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0
aW9uVGltZW91dCk7CiAgICAgfQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRy
b2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNv
bnN0IEZsb2F0CiAjZW5kaWYKIH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxl
UmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVS
ZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5l
eHRGaXJlSW50ZXJ2YWwoKSA8IGludGVydmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRl
eCA4Yzg0YzdjYzkyNzY2YzQ2Zjk3NTkxMTcxMWY4OTdiZGViYjE4ZGE4Li44Y2FlNDQ3NzgzZmJk
MGQ0N2RlNDVmYzg1Y2FkZTdkYjgzMTY2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICpt
X3RpbGVHcmlkOyB9CiAKLSAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUg
aW50ZXJ2YWwpOworICAgIHZvaWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50
ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2lu
ZG93OyB9CiAgICAgZmxvYXQgdG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BD
b250ZW50SW5zZXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFh
ZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjli
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVD
b3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5U
aWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkK
IHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRl
eCAyOGYyOWNiZGU4ZTIxZjcxODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi4yM2IzOGE3YzIyNzBi
ZmIxMzc5YzcyMTVhZDljYTFmY2FmMjcyYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBU
aWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Q
b2xpY3kpCiAgICAgVGlsZUNvaG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAg
ICB1bnNpZ25lZCB0aWxlc0luQ29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxp
ZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7
CisgICAgU2Vjb25kcyBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6
OmluZmluaXR5KCk7CiAgICAgYm9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAg
ICAKICAgICBhdXRvIHRpbGVTaXplID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEs
OCArMzgxLDggQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9u
UG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hv
cnQgOiBtX2NvaG9ydExpc3QpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hv
cnQgIT0gdGlsZUluZm8uY29ob3J0KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29o
b3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVV
bnRpbENvaG9ydEV4cGlyZXMgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdGltZVVu
dGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMF9zKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6
bWluKG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uLCB0aW1lVW50aWxDb2hvcnRFeHBp
cmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDc4LDcgKzQ3OCw3IEBAIFRpbGVH
cmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQg
VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hvcnQpCiB7Ci0gICAgbV9j
b2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpKSk7CisgICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhj
b2hvcnQsIE1vbm90b25pY1RpbWU6Om5vdygpKSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlm
ICghbV9jb250cm9sbGVyLmlzSW5XaW5kb3coKSkKICAgICAgICAgdGlsZUNvbnRyb2xsZXJNZW1v
cnlIYW5kbGVyKCkudGlsZUNvbnRyb2xsZXJHYWluZWRVbnBhcmVudGVkVGlsZXMoJm1fY29udHJv
bGxlcik7CkBAIC00OTcsMTcgKzQ5NywxNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3Jp
ZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29o
b3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29u
ZHMgPSAxOworICAgIGNvbnN0IGF1dG8gY29ob3J0UmVtb3ZhbEludGVydmFsID0gMV9zOwogCiAg
ICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5vdyBp
ZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29o
b3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyk7CisgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKGNvaG9ydFJlbW92YWxJbnRlcnZhbCk7CiB9CiAKLWRvdWJsZSBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBj
b2hvcnRMaWZlVGltZVNlY29uZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAg
Y29uc3QgU2Vjb25kcyBjb2hvcnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3Rvbmlj
VGltZSB0aW1lVGhyZXNob2xkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGlt
ZTsKICAgICByZXR1cm4gY3JlYXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4
LDcgKzUxOCw3IEBAIHZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHko
KSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7Cisg
ICAgd2hpbGUgKCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgp
LnRpbWVVbnRpbEV4cGlyYXRpb24oKSA8IDBfcykgewogICAgICAgICBUaWxlQ29ob3J0SW5mbyBm
aXJzdENvaG9ydCA9IG1fY29ob3J0TGlzdC50YWtlRmlyc3QoKTsKICAgICAgICAgcmVtb3ZlVGls
ZXNJbkNvaG9ydChmaXJzdENvaG9ydC5jb2hvcnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIz
Yzc1NWQ4NzgyYzQyYWEwZGU1NzY1MWQuLjQyNjkzNzc0YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVl
OThhZTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuaApAQCAtMTIxLDEzICsxMjEsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBUaWxl
Q29ob3J0SW5mbyB7CiAgICAgICAgIFRpbGVDb2hvcnQgY29ob3J0OwotICAgICAgICBkb3VibGUg
Y3JlYXRpb25UaW1lOyAvLyBpbiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAg
ICAgVGlsZUNvaG9ydEluZm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgZG91YmxlIGluVGltZSkKKyAg
ICAgICAgTW9ub3RvbmljVGltZSBjcmVhdGlvblRpbWU7CisgICAgICAgIFRpbGVDb2hvcnRJbmZv
KFRpbGVDb2hvcnQgaW5Db2hvcnQsIE1vbm90b25pY1RpbWUgaW5UaW1lKQogICAgICAgICAgICAg
OiBjb2hvcnQoaW5Db2hvcnQpCiAgICAgICAgICAgICAsIGNyZWF0aW9uVGltZShpblRpbWUpCiAg
ICAgICAgIHsgfQogCi0gICAgICAgIGRvdWJsZSB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAg
ICAgIFNlY29uZHMgdGltZVVudGlsRXhwaXJhdGlvbigpOwogICAgIH07CiAKICAgICB2b2lkIHJl
bW92ZUFsbFRpbGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCmluZGV4IGI4MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVj
M2E4YTBmZTBiZmYxNDguLmY5NGY0YTE0NzA0NzcyZTg4MjFkYWJmNjEzZTM4NzQwM2U5MzJhY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFj
ZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3Vy
ZmFjZVBvb2wuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9IDUwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgc3VyZmFjZUFnZUJlZm9yZU1hcmtpbmdQdXJnZWFibGUgPSAyczsKK2NvbnN0IFNlY29uZHMg
Y29sbGVjdGlvbkludGVydmFsID0gMC41X3M7Citjb25zdCBTZWNvbmRzIHN1cmZhY2VBZ2VCZWZv
cmVNYXJraW5nUHVyZ2VhYmxlID0gMl9zOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0
ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3Jl
IHRoYW4gMS8yIG9mIHRoZSBjYWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMs
IGJlY2F1c2UKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3RJ
blVzZVN1cmZhY2VzKCkKIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJn
ZWFibGUoKQogewogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1dG8g
bWFya1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG1h
cmtUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZhY2VB
bmREZXRhaWxzIDogbV9zdXJmYWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFuZERl
dGFpbHMudmFsdWUuaGFzTWFya2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3YzU0
Njk2ZDdiNWI1NjM5NWYzZjNlMmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgyMDA2
ZWJjOTRmZTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIDogaGFzTWFya2VkUHVyZ2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAgICB2
b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6bm93KCk7IH0KKyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0
VXNlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3Rvbmlj
VGltZSBsYXN0VXNlVGltZTsKICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3Vi
aW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0MDhi
NGU4MzYzZjQ4ZTNlZDIzMGZmZDc2Li5kYmQzYjMyMDEyMDdiNTdmZjQ4MTg5NDg5MTEwNWNhNzA0
NjlmMzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9T
dWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVD
bGVhckRlbGF5ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3QgYXV0
byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IDFfczsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3Vi
aW1hZ2VDYWNoZVNpemUgPSAzMDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZWFkZGRk
YThkYzQ2NDk1NmQ1NDA1MmUwNWFkYTc3MDZkNDgzZjkxLi45OTNiZTU5ODY2Zjc2OTZhNmE5NTFm
NzNmN2RkOTI0ZDcwZjFhN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcApAQCAtMzY3LDcgKzM2Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAg
IGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIu
aXNBY3RpdmUoKSkgewogICAgICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5
IGluIHRoZSBSRUFEWSBzdGF0ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJl
cXVlc3RzLgotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjA7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjBfczsKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlT
dGF0ZVRpbWVyRGVsYXkpOwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JF
QURZKQogICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1
OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZl
cmluZygpCiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5h
Ymxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxp
bmUuZ2V0KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAg
ICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIu
c3RhcnRSZXBlYXRpbmcoMC4yX3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygi
RGlzYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3Bp
cGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3Bw
CmluZGV4IDk2OTM2OWEzNWU3OTcxNTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLmJlY2VmMjEz
ZmVmNDcxOWYzZWYwOTNjYTJjODk5ZTE0NjkzODE3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdz
dFNhbXBsZSogc2FtcGxlKQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkK
ICAgICBpZiAoIW1fcGxheWVyLT5jbGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgp
OwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2Ry
YXdNdXRleCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzUsNyArNjc1LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1w
bGUqIHNhbXBsZSkKICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAg
TG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
ICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRl
b1NpbmtHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIx
YjE1MjFjMDQxZjZiNzI3OTkyOC4uY2NjNjk0MTk5ZDE1YWQ4NTE3MDllYTdlOGZiNTJmNDM0YzY0
MDVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTks
NyBAQCBwdWJsaWM6CiAgICAgICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAg
IG1fc2luayA9IHNpbms7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2Fp
dChtX3NhbXBsZU11dGV4KTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYw
YzFlZjJmYjRmLi4xOTgyMzUxOTJmYTJiODEzZWRjNGY1ZjdlOGNmZjdiMmQ2MWZjNDhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBp
ZiAobWF4TWVkaWFUaW1lU2Vla2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7
CiAgICAgZWxzZSAKLSAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAg
IG1fc2Vla1RpbWVyLnN0YXJ0KDBfcywgMC41X3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Ojpkb1NlZWsoKSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IDFiNDZm
Mzc1MjQ5ODkwN2UwMGJjMjgyZDJkOWQ2ZjFhZjczYjQ1OWUuLjkxYzAzMjQwODY3YjQ2ZWM5Yjk3
NWRkMzQ4OWJmN2VjMWFhZDMwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMzQs
NyArMzQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIHNf
cmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBz
X3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAog
I2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0
dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDVlM2M4MmYx
ZjMzYWQ1MjkyNTA2Njg5NmM5YzIxNGEzM2JmOGIzMDUuLjljMmIxMWIzZjhhMWE2YzdiZWRhZjhm
NWM1MWU2MDUzODNjYzIyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllckJ1ZmZlci5oIgogCiBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2Vk
U2Vjb25kc1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVy
c1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZEJ1ZmZl
cnNUaW1lckludGVydmFsID0gMC41X3M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTYz
LDcgKzE2Myw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1
bGVVcGRhdGVPbkNvbXBvc2l0b3JUaHJlYWQoc3RkOjpmdW5jCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRh
dGVGdW5jdGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDU1ZWY5OTU0OWU2OTQy
NjI0MTAzZDg4OGNiYzc1NGQ2ZmI2ZDNlYy4uMGRjNjkyNWE1MTkxOTE4MTMyMmQ4YjZjNWM3MDAz
MTU4NDFjOThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZh
bHVlTGlzdCwKIAogICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1h
dGlvbnMuYWRkKFRleHR1cmVNYXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0
LCBib3hTaXplLCAqYW5pbSwgbGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAw
LCBUZXh0dXJlTWFwcGVyQW5pbWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAg
IG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlv
blN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25z
KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5
ZWZjM2ZhYWVjNDMyMzM2YTYxLi42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRl
OGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdl
QmFja2luZy5jcHAKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nOjpyZWxlYXNlU3VyZmFjZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwog
fQogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25k
cygzKTsKIAogdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlm
TmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRk
ODdmOWZjMDlkZmNmMTIyYWMxOTdjZDVlLi5iMjRjZmE2YTFmNTg3NjQ3MWE2NTBmMDZkZTZjYjE5
NmQ0ODU3ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xs
QW5pbWF0b3JHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3Rr
OjpvdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29u
c3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRl
bHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05l
eHRGcmFtZSk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKGRlbHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAg
aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1
cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUg
KyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UK
ICAgICAgICAgaGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAg
dm9pZCBTY3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlk
ZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRp
b25EdXJhdGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3Jv
bGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25I
aWRlRGVsYXkpKTsKIH0KIAogdm9pZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29u
dGVudEFyZWEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bGJhclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhl
bWVHdGsuaAppbmRleCA1MWJkZDI1OWRiY2U2NDZkMjI1NDQ1OTkxMGM2OTg1YjUzOTAxODZmLi45
Y2I0N2NkZDc3ODUzOGUxNjUxNTBmZGRiYTFmZTQ2Y2YxNTY1NTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaApAQCAtNTIsOCArNTIsOCBA
QCBwdWJsaWM6CiAgICAgaW50IG1pbmltdW1UaHVtYkxlbmd0aChTY3JvbGxiYXImKSBvdmVycmlk
ZTsKIAogICAgIC8vIFRPRE86IFRoZXNlIGFyZSB0aGUgZGVmYXVsdCBHVEsrIHZhbHVlcy4gQXQg
c29tZSBwb2ludCB3ZSBzaG91bGQgcHVsbCB0aGVzZSBmcm9tIHRoZSB0aGVtZSBpdHNlbGYuCi0g
ICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJu
IDAuMjA7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJl
dHVybiAwLjAyOyB9CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBv
dmVycmlkZSB7IHJldHVybiAyMDBfbXM7IH0KKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRl
bGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gMjBfbXM7IH0KICAgICB2b2lkIHRoZW1lQ2hhbmdlZCgp
IG92ZXJyaWRlOwogICAgIGJvb2wgdXNlc092ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV91c2VzT3ZlcmxheVNjcm9sbGJhcnM7IH0KICAgICAvLyBXaGVuIHVzaW5n
IG92ZXJsYXkgc2Nyb2xsYmFycywgYWx3YXlzIGludmFsaWRhdGUgdGhlIHdob2xlIHNjcm9sbGJh
ciB3aGVuIGVudGVyaW5nL2xlYXZpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L0xlZ2FjeVRpbGVDYWNoZS5tbQppbmRleCA2NmEyNmUxZTY4ZTNjNGQ1NzdhYjNlYjU2ODUxOGZh
YzU4ZjU5NjllLi45YWMwNWZjNTUxNGUxNjQ2MGNiYWM3YTQ0N2JiYTc4ZDIxYTcyOWY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KQEAgLTQy
MCw3ICs0MjAsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVz
KGJvb2wgZGlkQ3JlYXRlVGlsZXMsIGJvb2wgY3JlYXRlTW9yZQogCiAgICAgLy8gS2VlcCBjcmVh
dGluZyB0aWxlcyB1bnRpbCB0aGUgd2hvbGUgY292ZXJSZWN0IGlzIGNvdmVyZWQuCiAgICAgaWYg
KGNyZWF0ZU1vcmUpCi0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2
b2lkIExlZ2FjeVRpbGVDYWNoZTo6dGlsZUNyZWF0aW9uVGltZXJGaXJlZCgpCkBAIC03ODIsNyAr
NzgyLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OnNldFNwZWN1bGF0aXZlVGlsZUNyZWF0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2lzU3BlY3VsYXRp
dmVUaWxlQ3JlYXRpb25FbmFibGVkID0gZW5hYmxlZDsKICAgICBpZiAobV9pc1NwZWN1bGF0aXZl
VGlsZUNyZWF0aW9uRW5hYmxlZCkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIGJvb2wgTGVnYWN5VGlsZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1
NmQ0MDYwN2Y1NjNhNmNlNTk4ZTI5YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBm
YzBmZmY2OGQ1M2Q0MzQ3YTA3NGIxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAK
ICAgICBib29sIHN1cHBvcnRzQ29udHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJy
aWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNl
Y29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25k
cyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9u
c1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUy
MGJlZjU0OGY1NDAyMDNhOWE2YTNjNzc3ZDgxNmRhYTUwOTkwLi5mZTI5MDc3NWJkZTM4OTNjYTY5
MTYwZjMyMzI3YjNjNWZmMjA3M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJh
clRoZW1lSU9TOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAg
cmV0dXJuIDA7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAot
ZG91YmxlIFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRz
IFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIDBfczsKIH0KICAgICAKIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQg
U2Nyb2xsYmFyVGhlbWVJT1M6OmJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lm1tCmluZGV4IGNjNjJlM2E4ODRhZWYyOTUxOTdlMmJiNzZiYjBmYTdlYzMw
NzBiYTEuLmRkMTk2MzRiNzM3OTFjNWYzY2NmMmI1MmEyOWY2NzRkODRiZTkwMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IGNo
YXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBhdXRvIGRl
ZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxX3M7CiAKIEBjbGFzcyBXZWJBVk1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKFdlYlZpZGVv
RnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVlbk1vZGUoSFRN
TE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAgICBpZiAo
IW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3Rh
cnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dhdGNo
ZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwogCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCmluZGV4IDQyMWM2MTYw
Zjg4OTEyNDY0NzczZDRlYTNmY2FlZDQ5NjNkNWE3ZmQuLmU4ZGVjNWU0NWZjM2Y5ZGMyZWNhMjVl
MjEyZDgyMzEyNWIzZTBhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKQEAgLTI2OSw3ICsy
NjksNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZlRpbWVyRmlyZWQoKQog
CiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZih1bnNpZ25lZCBzZWNvbmRzKQog
ewotICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzKTsKKyAgICBtX2hvbGRP
ZmZUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzZWNvbmRzKSk7CiB9CiAKIHN0YXRpYyBzaXpl
X3QgcHJvY2Vzc01lbW9yeVVzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBhYzdmNGZkNGE5ODRkYzMxZGRkNGZjODBiMTY5
MzQxNTE5MDI1MDk1Li5mNzNkNzk2ODhlMmI4MDI1NDZmMjQzNTlmY2NiY2E1ODJkMjZjZmUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1t
CkBAIC0xMzM4LDcgKzEzMzgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3Jv
bGxlclN0eWxlKCkKIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWlu
dFRpbWVyKCkKIHsKLSAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hv
dCgwLjEpOworICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAu
MV9zKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRUaW1lcklz
QWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIGRlbHRhKQog
ICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsKIAogICAg
IGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAg
IGlmIChtX3doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAgICAgbV93aGVlbEV2ZW50VGVzdFRy
aWdnZXItPmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVz
dFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0
VHJpZ2dlcjo6Q29udGVudFNjcm9sbEluUHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhNzI4Mjk4YzhlYmI1YzU1NTQ3
ZDZkM2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFhOTExYmI5MmIwOGYwMWI3ZDk5MjY2ZDAxM2E0NzZj
N2RkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFy
VGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhl
bWVNYWMuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2VzT3ZlcmxheVNj
cm9sbGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxiYXJPdmVy
bGF5U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGluaXRpYWxBdXRv
c2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRl
OwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29u
c3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxi
YXJUaGVtZU1hYy5tbQppbmRleCBiMmUxNjE4YzAzMmZiN2M2NWYxZmUxOTE3ZjIwNGUyOTY3NGMz
ODlmLi40MzU0OWNiNTYxOTgzZDUzMDc0MzljMzYyOTM2MDQzYjE2MGI1YWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC0xMzAs
OCArMTMwLDggQEAgc3RhdGljIGNvbnN0IGludCBjQnV0dG9uTGVuZ3RoW10gPSB7IDE0LCAxMCB9
Owogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25MZW5ndGhbXSA9IHsgMTYsIDE0IH07IC8v
IFRoZSBvdXRlciBidXR0b24gaW4gYSBkb3VibGUgYnV0dG9uIHBhaXIgaXMgYSBiaXQgYmlnZ2Vy
Lgogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25PdmVybGFwID0gMjsKIAotc3RhdGljIGZs
b2F0IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAwLjVmOwotc3RhdGljIGZsb2F0IGdBdXRvc2Nyb2xs
QnV0dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRpYyBTZWNvbmRzIGdJbml0aWFsQnV0dG9uRGVsYXkg
PSAwLjVfczsKK3N0YXRpYyBTZWNvbmRzIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1X3M7
CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1Vz
ZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBT
Y3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZh
dWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwog
ICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtk
ZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRv
c2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0
dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRz
IGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xs
QnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJC
dXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZv
cktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Ny
b2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFy
VGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJh
cikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFy
VGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJh
clRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBn
SW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxU
aW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVu
dE1vY2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMwNTU2MWM3YzFkNjA2N2FkZWM1MTU5ZjIzNTQu
LmJmMjczYmVmOTRhODRhYzcwZDBiNDRlMWEwMjY5NmYxNDAwMjM5YWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNw
cApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnNldE1vdGlv
bihQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1vdGlvbikKIHsKICAgICBtX21vdGlvbiA9
IG1vdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNlMWZhNDMwZWUx
ZTI2NzJkOGQ2MTAxYzIuLjIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIxYzIxMGJiODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3Jp
ZW50YXRpb25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiAgICAgaWYg
KG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
CmluZGV4IGI3Y2ZiOWJlMDZkY2JmZmM3YzE2YjNjZmU3NDY1MDEzMGZhNzAwZTUuLjc1NGE4MjVj
YWU1NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTEwNiw3
ICsxMDYsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVQZXJtaXNz
aW9uKCkKIHsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVybWlzc2lvblN0YXRl
VW5zZXQpOwogICAgIGlmICghbV9wZXJtaXNzaW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Blcm1pc3Npb25U
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6
OnBlcm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEdlb2xvY2F0
aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBBU1NFUlQobV9j
b250cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVyVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9s
b2NhdGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1
Yi4uYTc2YmMyNmZhNjA0ZDAzMzgxYTUzNTNmYWJlZmRhODVmZTk4YjA0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9j
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lcklu
dGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwg
PSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50
KQogICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDYwYmIw
MTgxYWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJlMGRlNTkuLmM4MzEwZGYxNTQxZTVhMTU3MTYw
MmYzMDUzODA1NWQxNGYyNjFhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAgLy8gUmV2ZXJz
ZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgog
ICAgIG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VDYW5kaWRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJG
aXJlZCgpCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2Fu
ZGlkYXRlVGltZXJGaXJlZCgpCiAKICAgICBpZiAoIW1fZmFrZUljZUNhbmRpZGF0ZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIG1fY2xpZW50LmdvdEljZUNhbmRpZGF0ZShtX21pZHNbMF0sIG1fZmFr
ZUljZUNhbmRpZGF0ZXMudGFrZUxhc3QoKSk7Ci0gICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVyaW5nQ2FuZGlk
YXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8g
dXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2ljZVRy
YW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVk
KCkKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3Bv
cnRUaW1lckZpcmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFuc3BvcnRTdGF0
ZUNoYW5nZXMudGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRTdGF0ZUNoYW5n
ZWQoc3RhdGVDaGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAgICBtX2ljZVRy
YW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1v
dGVTb3VyY2VzQnlNaWQoKQpAQCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9p
bnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCiAgICAgZm9yIChpbnQgaSA9IG1fbWlkcy5z
aXplKCkgLSAxOyBpID49IDA7IC0taSkKICAgICAgICAgbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUu
YXBwZW5kKG1fbWlkc1tpXSk7CiAKLSAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1v
Y2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRN
dXRlZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHko
KSkKLSAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5t
dXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVW
aWRlb1NvdXJjZS5jcHAKaW5kZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0ZTM2MTcxNDQxYjRj
ZGM2ZS4uNjRhMzVhNmQyN2JjZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBmMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6
c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpOworICAgIG1f
dGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygobHJvdW5kKDEw
MDAgLyBmcmFtZVJhdGUoKSkpKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6
OnN0b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIE1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVhbHRpbWVNZWRp
YVNvdXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFtZVJhdGUoZG91
YmxlIHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8g
cmF0ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0ZVNhbXBsZUJ1ZmZl
cigpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBm
M2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi5kOGE3YzA4OTdmOTg1ZGZj
OGM1ZjdlYTQxZDgwYzg2NTkzZjEwZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApA
QCAtNjgsNyArNjgsNyBAQCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVh
ayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5i
b3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5
LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ug
c3BlZWNoIGpvYiBzb21lIHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhh
dmUgdGltZSB0byBiZSBjYWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRP
bmVTaG90KC4xKTsKKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoMC4x
X3MpOwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpjYW5jZWwoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRN
b2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2su
aAppbmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2FjLi44NjNmOWQ2
NWI3NjkwMTZkMGQ5N2NkMjY4OWIyZDRmZjU3NjYyYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMsNyArNjMsNyBA
QCBwdWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6OnRpbWVyRmly
ZWQpCiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNV9z
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCA1ODc3M2Fh
MzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi5lMWM0MTBlZDE1MjU4YWNhZjNmMGMz
OTE5ZDg1YTA4MmEwOTI3ZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRpYXRlbHkgPSA0
OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25nIGJlZm9yZSBz
ZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VEZWxheUluU2Vj
b25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkgPSAxX3M7CiAK
IC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNvbWUg
Z2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1ZXMg
d2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91
c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4U2lt
dWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNUb1F1
ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRuJ3Qg
YmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBhZnRl
ciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNlY29u
ZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXRyeVJlc29sdmluZ0RlbGF5ID0gMC4x
X3M7CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0b24oKQogewpA
QCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29uc3QgU3RyaW5n
JiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVzdHNUb1F1ZXVl
KSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYgKCFtX3RpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjb2FsZXNj
ZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIEROU1Jlc29sdmVR
dWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlzRW1wdHkoKSkK
LSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzKTsK
KyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmV0cnlSZXNvbHZpbmdEZWxheSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXggYWJmYjQ2Y2VjZjgyMTQzYjlmZmFjZDAx
YmU1Nzg2YTUzYTAwOGVjMC4uNDVjYTFjNWMzNjJiNTQ1ZTg3ZWRjOGNkYjM1ZjIyMDI4YmMyNmRi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmVmKCk7CiAKICAg
ICAgICAgYXV0byBzY2hlZHVsZWRQYWlycyA9IG1fZGVjb2RlVGFzay0+c2NoZWR1bGVDb250ZXh0
LnNjaGVkdWxlZFBhaXJzOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV90aW1lci5zY2hlZHVsZShz
Y2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2YwYjhkMDExZjJiYjlj
YjFiZDEuLjFhMGQ1Y2U2MjNhZGY4YTM0MDUzZDZmYWU4ZDBmNzYzOTAyYmQxN2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3
IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0
aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZl
cnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1l
ci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3QoMTAwMF9taW4pOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggNjQ3ZjYwNDE5YmZjZDBm
ZWU2Mzc1ZDlkMTg4MDc2NTkyYTFmOTIwYy4uMDBjMGQwMjljYzZmYzJjMWNjYTc5N2M5OTI4MTRk
MDcwNDc3ZTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5k
bGU+IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0CiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlw
ZSkKIHsKICAgICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVk
KCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2Fk
aW5nKGJvb2wgZGVmZXJzKQogICAgICAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RvcCgpOwog
ICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpIHsK
ICAgICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAg
ZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBkLT5tX2ZhaWx1cmVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBwbGF0Zm9ybVNldERlZmVyc0xv
YWRpbmcoZGVmZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAppbmRleCA1NWFkZTIx
OGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi5kNGQ5OGRhMzFmNjU3NjEzYjVlZDhk
NmRiMjJmZjliNzViMDFlNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCkBAIC0z
MSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBz
dGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZp
ZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlS
ZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQgYmUgZXhwZW5z
aXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAgIC8vIHdoZW4g
dGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hh
bmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CisgICAgbm90
aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlQ2hhbmdl
VGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6Om5ldHdvcmtT
dGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA4ODdhOWVk
Nzk1ZDFjYjRlNThjY2RkZTU2ZTM4OGQ5OWNkYzBiZjNlLi5lY2YxODRjZTQwYmRmOWVjNGQzMWJm
NzMyMDYzMzc3MTIyZGU5YjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNzUwLDcgKzc1
MCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCgpCiAjZW5kaWYK
IAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAg
ICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoZC0+bV9maXJzdFJlcXVlc3QudGlt
ZW91dEludGVydmFsKCkpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90
KFNlY29uZHMoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpKTsKIAogICAgIC8v
IEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdo
aWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJlZigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBm
Yzg3YjcwMzI5MjM4NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi45ZWE0MTdkZDAzMGExY2Y0
OWFlZjU1ZGM2NGJlYWFhNGFkYzRhZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEw
MSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2lu
c3RhbGxlZCA9IHRydWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxD
aGVja01lbW9yeVRpbWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVh
dGluZyg2MC4wKTsKKyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKDFfbWluKTsK
IH0KIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXgg
YTFmZThmY2MxYzg4ZjI2ZTE2YTYzZjEyYjY0MzJkNWEwZTgxY2VkNi4uNWY1ZDA3NjU3OWMyMTA0
MDdjMGJjZmM2YjU4NjI3MzkwZDcyOTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0aW9uQ3V0
b2ZmID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRo
cmVzaG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvd1F1YWxp
dHlUaW1lVGhyZXNob2xkID0gMC41X3M7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OkltYWdl
UXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6IG1f
cmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVhbGl0
eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2b2lkIEltYWdl
UXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8SW50ZXJwb2xh
dGlvblF1YWxpdHk+IEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmludGVycG9sYXRpb25RdWFsaXR5
RnJvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNjM0MjIxMzVjMWEz
OWM1OWFjZjU5MjM5MTcxYzMxY2FlMzUwY2MyNC4uOTU4MGU0MGIyM2Y4ZDRjYmQxYzgyODBkNGE1
YmU3Zjk1YWM5ZjYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDExICs5MiwxMSBAQCBzdGF0aWMgY29uc3QgaW50
IGNhbnZhc0FyZWFUaHJlc2hvbGRSZXF1aXJpbmdDb21wb3NpdGluZyA9IDUwICogMTAwOwogI2Vu
ZGlmCiAvLyBEdXJpbmcgcGFnZSBsb2FkaW5nIGRlbGF5IGxheWVyIGZsdXNoZXMgdXAgdG8gdGhp
cyBtYW55IHNlY29uZHMgdG8gYWxsb3cgdGhlbSBjb2FsZXNjZSwgcmVkdWNpbmcgd29ya2xvYWQu
CiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZs
dXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVy
Rmx1c2hEZWxheSA9IDEuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1
c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExh
eWVyRmx1c2hEZWxheSA9IDEuNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0
bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJv
dHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxl
ZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRo
cm90dGxlZExheWVyRmx1c2hEZWxheSA9IDAuNV9zOwogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFj
ZSBIVE1MTmFtZXM7CkBAIC02MzQsNyArNjM0LDcgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmVuY2xvc2luZ0NvbXBvc2l0b3JGbHVzaGluZ0xheWVycygK
IHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUoKQogewogICAgIGlmICghbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uYjc0
MDk3Y2YyMWUxYTgyMjVhNmFlZDhmZDlhM2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVu
ZGVyTWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAK
LSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKIH0K
IAogdm9pZCBSZW5kZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lk
IFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0g
bWFycXVlZVNwZWVkKCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAg
ICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVh
dGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAgCiAg
ICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3RvcC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5j
cHAKaW5kZXggNDc1MDZhY2QzM2I3MDc0MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uODY5YWY0
MmEwOTk4MjY2ZWIwZjY1YzNmMTBmOTczODgxYTYxNTUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1MzAs
NyBAQCB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hh
bmdlRXZlbnRJZk5lZWRlZCgpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFu
Z2VSZWdpb25PdmVyc2V0KGRvY3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAo
IW1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3co
KS5oYXNFdmVudExpc3RlbmVycygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVu
dFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OnJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5kZXggOWExZjI0MGZhNWY5YWZmODcwMWMx
MzQ4Y2NjNTdkMzZhYjNlMGI4NC4uNTFhMzA4ZmJhMzcwYzQ3OTg5YzhjNWNlYWUwYjA4Nzc0MmM5
YzdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBA
IC04NSw3ICs4NSw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQo
KQogewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUo
KSAmJiBtX2FuaW1hdGluZykKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
bV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogfQogCiB2b2lk
IFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCkBAIC0xMDAsNyArMTAwLDcg
QEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQogICAgIG1fYW5p
bWF0aW5nID0gYW5pbWF0aW5nOwogICAgIGlmIChtX2FuaW1hdGluZykgewogICAgICAgICBtX2Fu
aW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFs
KTsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhtX2FuaW1h
dGlvblJlcGVhdEludGVydmFsKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fYW5pbWF0aW9uVGlt
ZXIuc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaAppbmRleCBlZDQ5YmVkY2JkYjYxNWQwYTczMjcxN2Q3Y2FhMzhkYmNjOGRkYjc3
Li40MWJkODIzYWFhMDE0NjU2YjExYWI2ZDI2MTlkZDE2ZmEwZWI3ODY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAtNDcsOCArNDcs
OCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRlIHsgcmV0dXJuIFNj
cm9sbGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChzY3JvbGxiYXIsIGV2
ZW50LCBwcmVzc2VkUGFydCk7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxU
aW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92
ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KIAogICAgIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJiBzY3JvbGxi
YXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnJlZ2lzdGVyU2Ny
b2xsYmFyKHNjcm9sbGJhcik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xs
YmFyJiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgp
LnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCmluZGV4IDM3YjA3NDE4NzhhMWJkOTgzOGVjNjI1M2RlZDA3MTkxMDAx
ZmNjNDguLjY3OTVmNzI4NzMwYTBjNGNmNjgzZGQ3OWE1YWVlMDI3MjdmNzAwNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBpbmxp
bmUgU2VjdXJlVGV4dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVuZGVyVGV4dCYgcmVuZGVyZXIp
CiBpbmxpbmUgdm9pZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQodW5zaWduZWQgb2Zmc2V0QWZ0
ZXJMYXN0VHlwZWRDaGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlciA9IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwotICAgIHN0YXJ0T25lU2hvdCht
X3JlbmRlcmVyLmZyYW1lKCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25k
cygpKTsKKyAgICBzdGFydE9uZVNob3QoU2Vjb25kcyhtX3JlbmRlcmVyLmZyYW1lKCkuc2V0dGlu
Z3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygpKSk7CiB9CiAKIGlubGluZSB1bnNp
Z25lZCBTZWN1cmVUZXh0VGltZXI6OnRha2VPZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3Rlcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDM1NDk5YmJlNjkxMWY1
ZmE4YzNkMDEzOGNlZjQwZWM4MjhmOWMyYmUuLjg5ZjRiOWM5ZTQ5NGZmZGVkNTkzZDBjZTI0MDRi
MGFmMjAxYmE0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE3NSw3ICsxNzYsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAg
IHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsg
fQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biAwLjVfczsgfQogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9yIENTUy4KICAg
ICB2b2lkIHN5c3RlbUZvbnQoQ1NTVmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYpIGNv
bnN0OwpAQCAtMjA0LDggKzIwNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc01l
ZGlhQ29udHJvbFN0YXR1c0Rpc3BsYXkoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCB1c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0
aW9uKCkgeyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjFfczsgfQorICAgIHZpcnR1YWwg
U2Vjb25kcyBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zX3M7IH0K
ICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBj
b25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUo
ZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0
cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwg
ZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUd0ay5jcHAKaW5kZXggZmE4MGIyODE3M2NjYmQ0NzEwMmY2NDY2OWQwNjBjOGJiNzEwNjU2
YS4uMmU0ZDU3ZTlmZGU4N2I1MzhkNmYzNjRlYTU1ZmZmZDIyYjdmY2VmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCkBAIC0xODAyLDcgKzE4MDIsNyBA
QCBib29sIFJlbmRlclRoZW1lR3RrOjpwYWludElubmVyU3BpbkJ1dHRvbihjb25zdCBSZW5kZXJP
YmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogfQogI2VuZGlmIC8vIEdUS19DSEVDS19WRVJTSU9O
KDMsIDIwLCAwKQogCi1kb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgp
IGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25z
dAogewogICAgIEd0a1NldHRpbmdzKiBzZXR0aW5ncyA9IGd0a19zZXR0aW5nc19nZXRfZGVmYXVs
dCgpOwogCkBAIC0xODEyLDkgKzE4MTIsOSBAQCBkb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0
QmxpbmtJbnRlcnZhbCgpIGNvbnN0CiAgICAgZ19vYmplY3RfZ2V0KHNldHRpbmdzLCAiZ3RrLWN1
cnNvci1ibGluayIsICZzaG91bGRCbGluaywgImd0ay1jdXJzb3ItYmxpbmstdGltZSIsICZ0aW1l
LCBudWxscHRyKTsKIAogICAgIGlmICghc2hvdWxkQmxpbmspCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gMF9zOwogCi0gICAgcmV0dXJuIHRpbWUgLyAyMDAwLjsKKyAgICByZXR1
cm4gU2Vjb25kcyh0aW1lIC8gMjAwMC4pOwogfQogCiBlbnVtIFN0eWxlQ29sb3JUeXBlIHsgU3R5
bGVDb2xvckJhY2tncm91bmQsIFN0eWxlQ29sb3JGb3JlZ3JvdW5kIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDkxNzIzNDU1Zjc3M2NhMjc1M2Q4NjFh
YzM3N2JiZjI1OWY5OWE4YmUuLjdiODJkOTMxNDY0NDRmZDRlZmVlNTYxNGU1YzExZDc2ZGIxZWQ4
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCkBAIC04MSw3
ICs4MSw3IEBAIHB1YmxpYzoKICAgICBDb2xvciBwbGF0Zm9ybUluYWN0aXZlTGlzdEJveFNlbGVj
dGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIENvbG9yIHBsYXRmb3Jt
SW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
U2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQg
cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDkxYWMwODAwMjM4MWZhNjVjZjBiMjVhNThjOTAzMWY4
YWE2ZDgxN2QuLmVlNTM2YzA0NTdhNGVlZGJhYWFmOWVkY2NmOTEwZTNjODRjYTdmNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCB2
b2lkIFJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiByZW5kZXJlcikK
ICAgICByZW5kZXJlci5zZXRSZW5kZXJCb3hOZWVkc0xhenlSZXBhaW50KHRydWUpOwogICAgIG1f
cmVuZGVyZXJzTmVlZGluZ0xhenlSZXBhaW50LmFkZCgmcmVuZGVyZXIpOwogICAgIGlmICghbV9s
YXp5UmVwYWludFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBSZW5kZXJWaWV3Ojp1bnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVy
Qm94JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJp
bmdJbnB1dEN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRD
dXJzb3IuY3BwCmluZGV4IDk5NjQ5YmZlMjkwMzY2NzZhZDQ5NjhhMzZkZjFmNWMzYzYyZTBlZDku
LjViNDM0OWZhOTM0ZjMyYjQxMDk1ZDVhMGY4NDQ5NjkxNGY4N2Y1MjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcApAQCAtNTgsMTEgKzU4LDgg
QEAgdm9pZCBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4KIHsKICAgICBBU1NFUlRfQVJHKGlucHV0LCBpbnB1
dCk7CiAKLSAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5wdXRRdWV1ZTo6RXZlbnRMb29wSW5w
dXQpIHsKLSAgICAgICAgLy8gRklYTUU6IHJld3JpdGUgdGhpcyAoYW5kIHJlbGF0ZWQgZGlzcGF0
Y2ggY29kZSkgdG8gdXNlIHN0ZDo6Y2hyb25vLgotICAgICAgICBkb3VibGUgbm93ID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChub3cpOwotICAgIH0KKyAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5w
dXRRdWV1ZTo6RXZlbnRMb29wSW5wdXQpCisgICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChNb25vdG9uaWNUaW1lOjpub3coKSk7CiAKICAgICBtX3NlZ21lbnQtPnN0
b3JhZ2UoKS5zdG9yZShXVEZNb3ZlKGlucHV0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDUxMDI5M2ZjMTZjNjRh
YzliNWZiNTFlN2I5OGQwOTBkOGI1MTM2NjcuLmIwN2QyNmZmODRmMzg3MTFkMzQ0MzViNDZiZWIw
YmIxZWYzMjViYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCkBAIC01MSw4ICs1MSw2IEBAIEV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKFBhZ2UmIHBhZ2UsIFJlcGxheWluZ0lucHV0
Q3VyCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1l
ckZpcmVkKQogICAgICwgbV9zcGVlZChEaXNwYXRjaFNwZWVkOjpGYXN0Rm9yd2FyZCkKIHsKLSAg
ICBtX2N1cnJlbnRXb3JrLmlucHV0ID0gbnVsbHB0cjsKLSAgICBtX2N1cnJlbnRXb3JrLnRpbWVz
dGFtcCA9IDAuMDsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnJ1bigpCkBA
IC05MSw3ICs4OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElu
cHV0U29vbigpCiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5z
dG9wKCk7CiAKLSAgICBkb3VibGUgd2FpdEludGVydmFsID0gMDsKKyAgICBTZWNvbmRzIHdhaXRJ
bnRlcnZhbDsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7
CiAgICAgICAgIC8vIFRoZSBnb2FsIGlzIHRvIHJlcHJvZHVjZSB0aGUgZGlzcGF0Y2ggZGVsYXkg
YmV0d2VlbiBpbnB1dHMgYXMgaXQgd2FzCkBAIC0xMDIsMjIgKzEwMCwyMiBAQCB2b2lkIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgICAgICBpZiAoIW1f
cHJldmlvdXNJbnB1dFRpbWVzdGFtcCkKICAgICAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVz
dGFtcCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogCi0gICAgICAgIGRvdWJsZSB0YXJnZXRJ
bnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0VGltZXN0
YW1wOwotICAgICAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpIC0gbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOworICAgICAgICBTZWNvbmRzIHRhcmdl
dEludGVydmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1l
c3RhbXA7CisgICAgICAgIFNlY29uZHMgZWxhcHNlZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgICAgICB3YWl0SW50ZXJ2YWwgPSB0YXJn
ZXRJbnRlcnZhbCAtIGVsYXBzZWQ7CiAgICAgfQogCiAgICAgLy8gQSBuZWdhdGl2ZSB3YWl0IHRp
bWUgbWVhbnMgdGhhdCBkaXNwYXRjaCB0b29rIGxvbmdlciBvbiByZXBsYXkgdGhhbiBvbgogICAg
IC8vIGNhcHR1cmUuIEluIHRoaXMgY2FzZSwgcHJvY2VlZCB3aXRob3V0IHdhaXRpbmcgYXQgYWxs
LgotICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwKQotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOwor
ICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwX3MpCisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsK
IAotICAgIGlmICh3YWl0SW50ZXJ2YWwgPiAxMDAwLjApIHsKKyAgICBpZiAod2FpdEludGVydmFs
ID4gMTAwMF9zKSB7CiAgICAgICAgIExPR19FUlJPUigiJS0yMHMgVHJpZWQgdG8gd2FpdCBmb3Ig
b3ZlciAxMDAwIHNlY29uZHMgYmVmb3JlIGRpc3BhdGNoaW5nIG5leHQgZXZlbnQgbG9vcCBpbnB1
dDsgdGhpcyBpcyBwcm9iYWJseSBhIGJ1Zy4iLCAiUmVwbGF5RXZlbnRzIik7Ci0gICAgICAgIHdh
aXRJbnRlcnZhbCA9IDA7CisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiAKLSAg
ICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIs
IHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlU
OiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRzKHdhaXRJbnRlcnZhbCAqIDEwMDAu
MCkubWlsbGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJbnRlcnZh
bCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hl
cjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rpc3BhdGNoaW5nKTsKIAogICAgIGlm
IChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7Ci0gICAgICAgIG1fcHJldmlv
dXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAg
ICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsK
ICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50aW1lc3Rh
bXA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1ZTRjM2Y5YTUyMzIzNWIwYzc5NWYz
NC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFiNmI0NDBkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0LmgiCiAjaW5jbHVkZSAiUmVwbGF5aW5n
SW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAgcHJpdmF0ZToKIAogICAgIERpc3Bh
dGNoU3BlZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBhdCB3aGljaCB0aGUgbGFzdCBpbnB1
dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAgIGRvdWJsZSBtX3ByZXZpb3VzRGlz
cGF0Y2hTdGFydFRpbWUgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzRGlzcGF0
Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhlIGxhc3Qg
ZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wIHsw
LjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5
L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2RjMDQ0NmVlNDAwOGI4MWIzOWJmNmM0
YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJlMDA4NDg5ZTMxZjM5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBAIC00Nyw4
ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2VnbWVudCgp
CiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+
KCkpCisgICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAsIG1faWRl
bnRpZmllcihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQotICAgICwgbV90aW1lc3RhbXAoY3Vy
cmVudFRpbWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
UmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNz
aW9uU2VnbWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0NjMyOTk3Y2ExOWY5NDhkZTIzYTJk
OWMuLmY3Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1MzM2NDU3ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCkBAIC0zMCw2ICszMCw3IEBA
CiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIwICs1MiwyMSBAQCBwdWJsaWM6CiAg
ICAgflJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgZG91YmxlIHRpbWVzdGFtcCgpIGNv
bnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAo
KSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgU2VnbWVu
dGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQotICAgIFZl
Y3Rvcjxkb3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BU
aW1pbmdzOyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+JiBldmVudExvb3BUaW1pbmdz
KCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHByaXZhdGU6CiAgICAgUmVwbGF5
U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTZWdtZW50ZWRJbnB1dFN0
b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9vcFRpbWlu
Z3M7CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1fZXZlbnRMb29wVGltaW5nczsKIAor
ICAgIE1vbm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAgdW5zaWduZWQgbV9pZGVudGlmaWVy
OwogICAgIGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAgICBkb3VibGUgbV90aW1lc3RhbXA7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlpbmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQyMGM4ZmFkNDRkZTUzYmMwMTUyZGJl
OTc2YmRkNmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVlYzIzNzdlMGRjNzc5NTFiYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCkBAIC0zMCw2
ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDxyZXBsYXkvSW5w
dXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsOCArNDIsOCBAQCBjbGFz
cyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKIHN0cnVjdCBFdmVudExvb3BJ
bnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0gICAgZG91YmxlIHRp
bWVzdGFtcDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0IHsgbnVsbHB0ciB9OworICAg
IE1vbm90b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xhc3MgUmVwbGF5aW5nSW5wdXRDdXJz
b3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
LmNwcAppbmRleCA4MjI3MGFkZDBmMmYwY2YzZWNkZDc2NTQ4ZTA1YzE0MTgyMGI4NWU2Li4zMDgw
ZDZhOGIxNmJmODcxNDE4YTdmODg3YjcxZWE4MTgyMTk0ZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlLmNwcApAQCAtNTA3LDcgKzUwNyw3IEBAIHZvaWQgU2NvcGU6OnNjaGVkdWxlVXBk
YXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1fcGVuZGluZ1VwZGF0ZVRpbWVyLmlz
QWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BlbmRpbmdVcGRhdGVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgU2NvcGU6OmRpZENoYW5nZUFjdGl2ZVN0eWxlU2hlZXRDYW5kaWRhdGVzKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBmMDQxNWZjYTMwZjljZTRjNDEwMmZhNThk
N2IzNTJmYWZmODVlYzNjLi40MTk2MmFhNzNiNjVkOWJlNjI4MTY5ODgwMjUxOTIxZTc4YTk5OGFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBT
VkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZShib29sIHNlbmRQYXJlbnRMb2Fk
RXZlbnRzKQogCiB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5
bmNocm9ub3VzbHkoKQogewotICAgIHN2Z0xvYWRFdmVudFRpbWVyKCktPnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTVkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggY2JmM2I3YmE1
ODQ4NTA3NzM3ZTk3NWNkZDBhODE5MmQzMzVmYmY1MC4uNzUzZTQwMTRiY2MyMTJjYjMwOGQ4ZDY2
N2NmZmViZmQxM2M0NDVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAgLTIwNSw3ICsyMDUsNyBAQCB2b2lkIFNNSUxUaW1l
Q29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBzZWQsIFNNSUxUaW1lIGZpcmVUaW1l
LCBTTUlMVGltZQogICAgICAgICByZXR1cm47CiAKICAgICBTTUlMVGltZSBkZWxheSA9IHN0ZDo6
bWF4KGZpcmVUaW1lIC0gZWxhcHNlZCwgbWluaW11bURlbGF5KTsKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChkZWxheS52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5LnZhbHVlKCkpKTsKIH0KIAogdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA2
MTFjOTJiOGZiMzQ1MWNmYzZjZjk2YzhlZDM3ZTc4NWEzMmQ5N2Y4Li5hZmFmNWVkYWE4NmMyMzY5
NWZmMmYzMzg2NzUyMzExOWFiNmYyZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFj
a3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgLCBtX2RlZmF1bHRW
aWRlb1Bvc3RlclVSTChzZXR0aW5ncy5kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoKSkKICAgICAsIG1f
Zm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koc2V0dGluZ3MuaXNGb3JjZVBlbmRpbmdXZWJHTFBvbGlj
eSgpKQotICAgICwgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKCkpCisgICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKCkpCiAgICAgLCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3Io
c2V0dGluZ3MudXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpKQogICAg
ICwgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKHNldHRpbmdzLmF1dG9zY3JvbGxG
b3JEcmFnQW5kRHJvcEVuYWJsZWQoKSkKICAgICAsIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1l
bnRFbmFibGVkKHNldHRpbmdzLnF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCgpKQpA
QCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3Jl
VG8oU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgc2V0dGluZ3Muc2V0RGVmYXVsdFZp
ZGVvUG9zdGVyVVJMKG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMKTsKICAgICBzZXR0aW5ncy5zZXRG
b3JjZVBlbmRpbmdXZWJHTFBvbGljeShtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KTsKLSAgICBz
ZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyht
X29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwor
ICAgIHNldHRpbmdzLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwogICAg
IHNldHRpbmdzLnNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IobV91
c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKTsKICAgICBzZXR0aW5ncy5z
ZXRBdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKG1fYXV0b3Njcm9sbEZvckRyYWdBbmRE
cm9wRW5hYmxlZCk7CiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVP
bkNvcHkobV9zaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSk7CkBAIC01MzYsNyArNTM2
LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVy
SW50ZXJ2YWwoZG91YmxlIGludGVydmFsSW5TZWMKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdz
KCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbEluU2Vjb25kcyAqIDEwMDAp
KSk7CisgICAgc2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGlu
dGVydmFsSW5TZWNvbmRzKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNTYwLDcgKzU2MCw3
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygp
LnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOwor
ICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoU2Vjb25kcyh0aW1lKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA1YTRmNmU0ZGFkNDg1Y2I1YWYzMTI3
ZGVmODA3OGRjNzc2MWMxOTQwLi5iZDYzZWJhYjc1MjcxZTkzOTZjOTQxMGJjOTRlMDQ2ZDlmNjE4
NTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTQz
LDcgKzE0Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0cmlidXRlQXdhcmVG
b3JtQ29udHJvbFVJRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ltYWdlc0VuYWJsZWQ7CiAgICAg
ICAgIGJvb2wgbV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKLSAgICAgICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOworICAgICAgICBTZWNvbmRzIG1f
bWluaW11bVRpbWVySW50ZXJ2YWw7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBi
b29sIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlczsKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3Bs
YXlDYXB0aW9uczsKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAg
IFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVu
ZGluZ1dlYkdMUG9saWN5OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX3RpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNl
TGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1
dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQ
bHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3NWM0
YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyArMTg3
LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAKIGlu
dCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVk
QWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5z
dGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRp
bWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1v
dmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9
CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpA
QCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChp
bnQgdGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAg
cmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6
Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25k
cyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhcklu
dGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApp
bmRleCA2YjdkZThjY2VkYjIyNDhiN2M5NzIwM2NiZGU0OThkNTEyYWIyYmRlLi44ZDA3ZGJlMzcy
ZjA5ZTQzMTgxNTZjNjdmZDQyMzRhNTFkYTYxZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRw
UmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4geyB9
OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0
IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0IHdp
dGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0aW9u
PGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0
TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGltZW91
dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsKKyAg
ICBhdXRvIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxs
aXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3RvbmljVGlt
ZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoMF9zLCBpbnRlcnZhbCkpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTQ5
Niw3ICs0OTYsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVx
dWVzdDo6cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9p
ZD4geyBFeGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07CiAgICAgICAgIHNldFBlbmRpbmdBY3Rp
dml0eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25l
dHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+
IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxI
dHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVv
dXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0g
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRU
aW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1p
bGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykpOwogICAgICAgICB9CiAg
ICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwog
ICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVy
LnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgbV9leGNlcHRpb25Db2RlID0gTkVUV09SS19FUlI7CkBAIC0xMTgz
LDcgKzExODMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUoKQogICAgIC8vIFdlIGFy
ZSBub3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBpbiByZXN1bWUoKSBzbyBkaXNw
YXRjaAogICAgIC8vIHRoZSBlcnJvciBldmVudCBpbiBhIHRpbWVyLgogICAgIGlmIChtX2Rpc3Bh
dGNoRXJyb3JPblJlc3VtaW5nICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggMDRhYmMwOWRkN2Y2YmI4
YjhhOTVhNTI0MTI3YzE0NjhjZmRhYzI3MS4uMmY4OGY1OTc0NzYwNDY2ZGU2MGJhOTYyNDBhMjJj
OWQwY2FmOGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya0Vycm9yVGltZXJGaXJlZCgpOwogCiAg
ICAgdW5zaWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRzIHsgMCB9OwotICAgIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5kaW5nVGltZTsKKyAgICBNb25vdG9uaWNU
aW1lIG1fc2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90aW1lb3V0VGltZXI7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMw
ODczLi5lNGM5OTU1MTA0MDYxMzI3M2FkZmUxNzU4M2I4YTA3ZjJmZDdkMjE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMg
cGVyIHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgPSA1
MF9tczsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVu
dFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEy
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhy
b3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJvdHRs
ZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhD
b21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIHN0
YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAg
ICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3Qg
ZnJlcXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVl
bnQgZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApA
QCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGU6OnJlc3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2YgYWN0aXZlIERPTSBvYmplY3RzIHRvIHJl
c3VtZSB0aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBldmVudC1oYW5kbGVyCiAgICAgLy8gY291
bGQgaW5zZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMgdG8gdGhlIGxpc3QuCiAgICAgLy8gbV9k
ZWZlckV2ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxsIGRlZmVycmVkIGV2ZW50cyBoYXZlIGJl
ZW4gZGlzcGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXgg
OTcxYmQyMzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUwMzQ4NGE4ZC4uMzQwZmI1YzAwZDE3M2Zi
NjE2MWE3NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAgLTU1LDcgKzU1
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNl
Y29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAgICAgdm9pZCBk
aXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTku
LmZhZjQ0YmFmNDYyZjQ5ZDc3OGFiMTE3ZDRiYWUwNDZkMWY0MmM3MmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5n
ZXMsIGRvbid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVw
IGEgYmF0Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhl
IGZvbGxvd2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRl
cnZhbCA9IDEuMDsKK3N0YXRpYyBjb25zdCBhdXRvIHN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxX3M7
CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBz
eW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZl
IHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdl
bmVyYWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxl
SXRlbUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUKIAogICAg
IG1fY2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5j
SW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJ
bnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUg
Y2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1Rp
bWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5
bmM6OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9p
dGVtc0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewot
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7Cisg
ICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAog
ICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJs
ZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5j
dGlvbi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsKICAgICAKICAg
ICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3Rh
cnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFy
dE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICAvLyBUaGUg
Zm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0
aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3
ICsxNzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgICAg
ICAvLyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwgc2NoZWR1bGUg
aXQgYW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9maW5hbFN5bmNT
Y2hlZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7
Ci0gICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZh
bCk7CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3
IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRp
YWxTeW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2luZywgdGhlbiB3
ZSBuZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQoIW1fc3luY1Rp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFn
ZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdl
U3luY0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGJhbGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhl
CiAgICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hl
ZHVsZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFj
a2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi5h
ZDc1N2Q4OGRkMTY2ZTc2MTk1YTUwMzVhZDUzZjAwOTUwOTlmNzVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUxLDggKzUxLDggQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsK
IAogLy8gSWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFi
YXNlLCBjbG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQotLy8gYWZ0ZXIgaXQgaGFzIGJlZW4g
aWRsZSBmb3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBj
b25zdCBkb3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMDsKKy8v
IGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
IHNlY29uZHMuCitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsID0gMzAwX3M7CiAgICAgCiB2b2lkIFN0b3JhZ2VUcmFja2VyOjppbml0aWFsaXplVHJh
Y2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdlVHJhY2tlckNsaWVudCogY2xp
ZW50KQogewpAQCAtOTcsNyArOTcsNyBAQCBTdG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIo
Y29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCkKICAgICAsIG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlx
dWU8U3RvcmFnZVRocmVhZD4oKSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX25l
ZWRzSW5pdGlhbGl6YXRpb24oZmFsc2UpCi0gICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbChEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQorICAgICwgbV9zdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWwoZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBk
MjJlOWEzOWY5YjhjMDg5MzdmNTk0ZThmYTNiZGFjYTg4Li43MjZmMzI1MWIxZDFlZWY2YzFhYWYx
MTI2MWMwZDI5OTdiNTkxNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIu
aApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpc0FjdGl2ZSgpOwog
Ci0gICAgZG91YmxlIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9Ci0gICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bCgpIHsgcmV0dXJuIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9CisgICAgdm9pZCBz
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkgeyBtX3N0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CiAKICAgICB2b2lkIHN5bmNGaWxl
U3lzdGVtQW5kVHJhY2tlckRhdGFiYXNlKCk7CiAKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRl
OgogICAgIAogICAgIGJvb2wgbV9pc0FjdGl2ZTsKICAgICBib29sIG1fbmVlZHNJbml0aWFsaXph
dGlvbjsKLSAgICBkb3VibGUgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vj
b25kcyBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKIH07CiAgICAgCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0
L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggMTFiY2UzYmVlMGUwYmExZDcwMmY3
MmM2NjQ1M2NjMmEyYmRlYjdmNi4uYTZjZjg0ZmMxOTUyNTk2M2Q0NmQyYmFjOTU3YWZhMmIzZmE4
YTFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2Vi
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpyZXN1bWVQZW5kaW5nUmVxdWVzdHMoKQogdm9pZCBXZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKQogewogICAg
IGlmICghbV9yZXF1ZXN0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCBiOWFiOGEwZGRkY2M3NjQ3ZGE3
ODYzMzk4NDIzMjdjYTVjN2E5N2E5Li4wNmU5ZWQ2YzU3ZGI1NDcyMjdhZjQyYzVhMmYwNWFmZGFj
ZGVlZTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC03NDQsNyArNzQ0LDcg
QEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKCkK
ICAgICBtX3BsdWdpblJlcXVlc3RzLnJlbW92ZUZpcnN0KCk7CiAgICAgCiAgICAgaWYgKCFtX3Bs
dWdpblJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAK
ICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBA
QCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9
IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQ
b3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJl
cXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBSZWZQdHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0+IHN0cmVhbSA9IEhvc3RlZE5ldHNj
YXBlUGx1Z2luU3RyZWFtOjpjcmVhdGUodGhpcywgcmVxdWVzdElELCByZXF1ZXN0KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0u
bW0KaW5kZXggMDVjYzRkNDcyZGE4NjEwYTM0YmE1YmRiZWM4YTE2M2U0YWQzOGI5NC4uZGIwYzAw
ZmU3YWM1ZGM3ZGY3MGU5OTBiZjYwMWNlMTlmZWZmNWYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC01MjksNyAr
NTI5LDcgQEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAg
ICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7CiAgICAgICAgICAgICAvLyBQbHVnLWluIGNh
bid0IHJlY2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0IG5vdy4gU2VuZCBpdCBsYXRlci4KICAgICAg
ICAgICAgIGlmICghbV9kZWxpdmVyRGF0YVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAg
ICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgICAgICBt
X2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihk
ZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxCeXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4
IGQ5ZTU4ZTMzNjk0ZDUwY2MxZjY3NmIwNGZjMWY5OGUzZWZhNGJkM2UuLmMyYzY0ZTJhM2EwNTFm
OTg1YmU5YTRjMDU3YmJkNGZjNzNkYzRmYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xMTEsNyArMTExLDcgQEAgc3Rh
dGljIFdlYk5ldHNjYXBlUGx1Z2luVmlldyAqY3VycmVudFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5
cGVkZWYgc3RydWN0IE9wYXF1ZVBvcnRTdGF0ZSogUG9ydFN0YXRlOwogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1Oworc3RhdGljIGNvbnN0IGF1dG8g
VGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjVfczsKIAogY2xhc3MgUGx1Z2luVGltZXIgOiBw
dWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAg
ICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0aW1l
SW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBhdXRvIHRpbWVJbnRlcnZh
bCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAgICAgICAgIAogICAg
ICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0
aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZh
ZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2Iw
NWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdl
TWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5h
Z2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIHB0aHJlYWRfb25jZV90IHJlZ2lzdGVy
TG9jYWxTdG9yYWdlUGF0aCA9IFBUSFJFQURfT05DRV9JTklUOwogCiArICh2b2lkKXNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVydmFsCiB7Ci0gICAgV2ViS2l0OjpT
dG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChp
bnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKICsgKHZvaWQp
Y2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KaW5kZXggMTUyMjg5MzY4ODZiNWRjMDc5NDYwZjYwOTJhMDQzNDY0NTI4YWEzMS4uOWIw
MWJhNDE0N2ExODg4N2Y2NjVkY2Y1OTFhZDMyZmIzMTg2NzNhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtODMzNCw3ICs4MzM0LDcgQEAgc3RhdGljIFdlYkZyYW1lVmll
dyAqY29udGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAgICAgdW5zaWduZWQgY2FjaGVU
b3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7
CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9Owor
ICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAgIHVuc2ln
bmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDYxLDcgKzg0NjEsNyBAQCBzdGF0aWMgV2Vi
RnJhbWVWaWV3ICpjb250YWluaW5nRnJhbWVWaWV3KE5TVmlldyAqdmlldykKICAgICAgICAgLy8g
Y2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUg
cmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heDx1bnNp
Z25lZD4oMjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAg
ICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJjMThkZWI3NWNjZDcwODI3
YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLjdkYjI3NmUwNzg0ZmFlMGMyNzE4NjAzYjhmMDQyYzY4
MThjZDU1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0aW1lckludGVydmFsID0g
MC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4wMzNfczsKIAog
Ly8gSFVEIFNpemUKIHN0YXRpYyBjb25zdCBpbnQgd2luZG93SGVpZ2h0ID0gNTk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4u
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2lu
LmNwcAppbmRleCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li4xNzI5
ZmZmNjNjMGZmYTQ2NzVkMzc4MTNhYzZhYzcwZDc2NDlkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAg
LTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3Mg
Rmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRl
bwogLy8gcGxheWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tp
bmcgaW50byBoaWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldp
bi5jcHApLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwg
PSAwLjAxNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZh
bCA9IFNlY29uZHMoMC4wMTYpOwogCiAvLyBEdXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBt
ZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZlcnkgNW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNz
YWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVydmFsID0gMC4wMDU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwIGIvU291cmNlL1dlYktpdC93aW4v
UGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCBiNjdmYTUzZmU4MGIxZWY4YzAxYWZmYzg2
ZGE1ZDcxNjMxNTVkZDI0Li4xNzU0YmRkNTRmMDczOWUyZGY2Y2FjYjc5ZTE1MTVhNDkyMTdjZjFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTY3
LDcgKzY3LDcgQEAgdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24oKQogICAgIEFT
U0VSVChtX21vZHVsZSk7CiAgICAgQVNTRVJUKCFtX2xvYWRDb3VudCk7CiAKLSAgICBtX2ZyZWVM
aWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnJlZUxpYnJhcnlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJl
YW0uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCmluZGV4
IDJlZjM5NTViZTYxYThkMDU0MjRhZDEzOTk2MmRkMGQ3ZmE2YWU0NDQuLmRhODMzYWFmNGY4YmFl
NDRiNDgwNGIzNTIxZmNkMTc3YjhjYWRkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblN0cmVhbS5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIFBsdWdpblN0cmVhbTo6
ZGVsaXZlckRhdGEoKQogICAgICAgICBpbnQzMl90IGRlbGl2ZXJ5Qnl0ZXMgPSBtX3BsdWdpbkZ1
bmNzLT53cml0ZXJlYWR5KG1faW5zdGFuY2UsICZtX3N0cmVhbSk7CiAKICAgICAgICAgaWYgKGRl
bGl2ZXJ5Qnl0ZXMgPD0gMCkgewotICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFs
Qnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
aW5kZXggMjA3YTk2MTNjY2E4ZDljMTAzN2NmYjRkMWIxZTQyYTY4NTE5NTY5Ni4uNGVkNmQ1YjBi
NTU5NDVmMTcwMDNlY2MyNGYzOTZmYTg2NDQ5NjAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC00NzMsNyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpy
ZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgLy8gU2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUg
Y2FsbGluZyBwZXJmb3JtUmVxdWVzdCBzaW5jZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1S
ZXF1ZXN0IGNhbiBjYXVzZSB0aGUgcGx1Z2luIHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAo
IW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAg
cGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC00ODMsNyArNDgzLDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpzY2hlZHVsZVJlcXVlc3Qoc3RkOjp1bmlxdWVfcHRyPFBsdWdpblJlcXVl
c3Q+IHJlcXVlc3QpCiAgICAgbV9yZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAK
ICAgICBpZiAoIW1faXNKYXZhU2NyaXB0UGF1c2VkKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBOUEVycm9yIFBsdWdpblZpZXc6OmxvYWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYg
ZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRh
KQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNl
ZChib29sIHBhdXNlZCkKICAgICBpZiAobV9pc0phdmFTY3JpcHRQYXVzZWQpCiAgICAgICAgIG1f
cmVxdWVzdFRpbWVyLnN0b3AoKTsKICAgICBlbHNlIGlmICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZl
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCmluZGV4IDJmY2E5ZjNjOTVkNzNkYmEzYWMz
MjYyNTllYTg2ZGRjZGRhMjA3MGYuLmU1YzNjNTRhZjk3MWM2ZWQ5MzgxMjI2YzZiZjRkMDY2ODli
MmZlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dp
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApA
QCAtMzM0LDcgKzMzNCw3IEBAIFBsdWdpblZpZXc6OnduZFByb2MoSFdORCBoV25kLCBVSU5UIG1l
c3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiAKICAgICAgICAgcHVzaFBvcHVw
c0VuYWJsZWRTdGF0ZSh0cnVlKTsKIAotICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgfQogCiAgICAgaWYgKG1lc3NhZ2UgPT0gV01fUFJJTlRDTElFTlQpIHsKQEAg
LTgzOCw3ICs4MzgsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KE5QUmVjdCog
cmVjdCkKICAgICAgICAgaWYgKG1fcGx1Z2luLT5xdWlya3MoKS5jb250YWlucyhQbHVnaW5RdWly
a1Rocm90dGxlSW52YWxpZGF0ZSkpIHsKICAgICAgICAgICAgIG1faW52YWxpZFJlY3RzLmFwcGVu
ZChyKTsKICAgICAgICAgICAgIGlmICghbV9pbnZhbGlkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMC4wMDEpOworICAg
ICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgxX21zKTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChyKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIzODY5NzA4
YjVhYjdjN2E0YWQyMjI4Mi4uYTEwYTAyMDY0YmU5MzAxZTA4NDRiNWUwYjRjMDA5OGU2MDBmNGU5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcApAQCAtMzQ5LDcgKzM0OSw3
IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVz
aCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAgICBtX2xh
eWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNV9zKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAKaW5kZXggZDU3MDA0OGRhN2EyNjQwNmJjYWQwNmMyNWRlODY4ZmU1YWNiMmIwMy4u
ZDJhM2QyNTZmYzQzMGJmZDNlZTVmMDcxMzkyY2RhOTFlMDVlMzA1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5jcHAKQEAgLTUyNSw3ICs1MjUsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2Vi
Q2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9
IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVk
IGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVT
aXplID0gMDsKIApAQCAtNjM3LDcgKzYzNyw3IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2Rl
bChXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRo
ZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAg
ICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gbWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkp
OwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwgPSA2MF9zOwogCiAgICAgICAgIC8vIE1lbW9yeSBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMp
CiAgICAgICAgIC8vIChUaGVzZSB2YWx1ZXMgYXJlIHNtYWxsIGJlY2F1c2UgV2ViQ29yZSBkb2Vz
IG1vc3QgY2FjaGluZyBpdHNlbGYuKQpAQCAtMTUxNiw3ICsxNTE2LDcgQEAgdm9pZCBXZWJWaWV3
OjpjbG9zZVdpbmRvd1Nvb24oKQogICAgIG1fY2xvc2VXaW5kb3dUaW1lciA9IFdpbmRvd0Nsb3Nl
VGltZXI6OmNyZWF0ZSh0aGlzKTsKICAgICBpZiAoIW1fY2xvc2VXaW5kb3dUaW1lcikKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBBZGRSZWYoKTsK
IH0KQEAgLTc0NTIsNyArNzQ1Miw4IEBAIEhSRVNVTFQgV2ViVmlldzo6ZGVmYXVsdE1pbmltdW1U
aW1lckludGVydmFsKF9PdXRfIGRvdWJsZSogaW50ZXJ2YWwpCiB7CiAgICAgaWYgKCFpbnRlcnZh
bCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqaW50ZXJ2YWwgPSBET01UaW1lcjo6
ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLmNvdW50KCkgLyAxMDAwLjsKKworICAgICppbnRlcnZh
bCA9IERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkudmFsdWUoKTsKICAgICByZXR1
cm4gU19PSzsKIH0KIApAQCAtNzQ2MSw4ICs3NDYyLDcgQEAgSFJFU1VMVCBXZWJWaWV3OjpzZXRN
aW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCiAgICAgaWYgKCFtX3BhZ2UpCiAg
ICAgICAgIHJldHVybiBFX0ZBSUw7CiAKLSAgICBhdXRvIGludGVydmFsTVMgPSBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGludGVydmFs
ICogMTAwMCkpOwotICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRl
cnZhbChpbnRlcnZhbE1TKTsKKyAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURPTVRp
bWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgIHJldHVybiBTX09LOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2su
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcApp
bmRleCA5YmZhNGVjNjRjODQ3MGM3ZGJlYmNlNGZmZTNiZmMwNGM4NTYzYjkwLi45NGUxNDdmNTI4
YTU4M2ZkMGRlY2E3MTE1MzAzNjE5MzJlMTI2NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9p
ZCBOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQogewog
ICAgIEFTU0VSVCh0eXBlICE9IE5vRmFpbHVyZSk7CiAgICAgbV9zY2hlZHVsZWRGYWlsdXJlVHlw
ZSA9IHR5cGU7Ci0gICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZmFp
bHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VD
b21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCmluZGV4IDUxN2Y4NDVhYWJlNTIzZjJlZmE5
NjE4NGVlZjcyNTNhZTJjYTRkOWYuLjBmMzAwMmRhZTI1ZmFhN2FlOWViMjc5Yjc0MzkyOTQ0YmQw
MjE3NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5j
cHAKQEAgLTUwLDcgKzUwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAjaWYgVVNFKE5F
VFdPUktfU0VTU0lPTikKIAogc3RydWN0IE5ldHdvcmtMb2FkOjpUaHJvdHRsZSB7Ci0gICAgVGhy
b3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXks
IFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCisgICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIFNlY29uZHMgZGVsYXks
IFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCiAgICAgICAgIDogdGltZXIobG9hZCwgJk5ldHdvcmtMb2FkOjp0aHJvdHRsZURl
bGF5Q29tcGxldGVkKQogICAgICAgICAsIHJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2UpKQogICAg
ICAgICAsIHJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKQEAgLTMx
Miw3ICszMTIsNyBAQCB2b2lkIE5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3Jr
U2Vzc2lvbihSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsCiAgICAgfQogCiAgICAgYXV0byBk
ZWxheSA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5sb2FkVGhyb3R0bGVMYXRlbmN5KCk7
Ci0gICAgaWYgKGRlbGF5ID4gMG1zKSB7CisgICAgaWYgKGRlbGF5ID4gMF9zKSB7CiAgICAgICAg
IG1fdGhyb3R0bGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFRocm90dGxlPigqdGhpcywgZGVsYXksIFdU
Rk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAppbmRleCBjOTZkMDgyOWUxNWI2ZDg4YmFlMTVjZjBjMTJjYzRjZDIzOGYxMTNiLi44
YzViN2E0ODg1ZmM0NDllZWFkZTA3NDRjZDlmYzYwMjVhY2U2MWE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTExNSw3ICsxMTUsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGdyYW50U2FuZGJveEV4dGVuc2lvbnNUb0RhdGFiYXNlUHJv
Y2Vzc0ZvckJsb2JzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZ1bmN0aW9uPHZv
aWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVM
YXRlbmN5OyB9CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1
cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CiAKIHByaXZhdGU6CiAgICAgTmV0d29ya1Byb2Nl
c3MoKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zdXBwcmVzc01l
bW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2tDYWNoZUlzRGlz
YWJsZWRGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZh
bHVhdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0
ZW5jeTsKKyAgICBTZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIHR5cGVkZWYg
SGFzaE1hcDxjb25zdCBjaGFyKiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQcm9jZXNzU3VwcGxl
bWVudD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+PiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXA7
CiAgICAgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBmNDU2OWM5NDY5YTU3NzJlNjBiMWM5YmZmNTYw
ODVkM2FjYjQzYzNkLi43MDk1MTUzMGUzMjlmYTFjNWYzZmY4ZTY3MmI5MzQzMDhjNThmOGFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNs
dWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIlNh
bmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNzMsNyAr
NzQsNyBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJv
b2wgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJv
b2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOwogICAgIGJvb2wgdXJsUGFyc2VyRW5h
YmxlZCB7IGZhbHNlIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0
bGVMYXRlbmN5IHsgMG1zIH07CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5OwogCiAg
ICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHM7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCmluZGV4IDQyNTVhZGU0MTE1MGRhOTY5ZjIxMTE3
NTEyZDdkZjZmN2Y3YzljNGEuLjViMjllMGViZDQzYTM4YmU1MmFlNjZkYzUyMTAzMmVjMjA2NzBh
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6
CiAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBpZGVudGlmaWVyIHsgMCB9OwogICAgIFZlY3Rv
cjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IHJlcXVlc3RCb2R5U2FuZGJveEV4dGVuc2lvbnM7
IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBSZWZQdHI8U2Fu
ZGJveEV4dGVuc2lvbj4gcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOyAvLyBDcmVhdGVkIGF1dG9t
YXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBt
YXhpbXVtQnVmZmVyaW5nVGltZSB7IDBtcyB9OworICAgIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmlu
Z1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkw
MTA1OTk2OGEzOTEzMDFkYTJhYzkyMzc0YjdmOTI0NWQ2OTRkZDYuLjJjN2FlM2FhNzZiNzI5NzU2
NDgwMzAzNTZiZDlmMDc0MjBlYzJmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjA5LDcgKzIwOSw3
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIAogICAgIGNvbnN1bWVTYW5kYm94RXh0ZW5zaW9ucygp
OwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMubWF4aW11bUJ1ZmZl
cmluZ1RpbWUgPiAwbXMpCisgICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMu
bWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiAwX3MpCiAgICAgICAgIG1fYnVmZmVyZWREYXRhID0gU2hh
cmVkQnVmZmVyOjpjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKaW5kZXggMzAwYzMwODEyNGYzNGNhNjdh
OWRhNWJiNzQwNTRlNjAyZWMyOWQxMi4uYjE0OGE1ZWRjZTliYjk5NWY3ZTU5NjhjMTY1OTJmMjc5
ODQ4NDIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xv
YWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCkBAIC00
Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJl
c3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8v
IFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dGFydE9uZVNob3QoMTAwMF9taW4pOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGNjYTk4NWZjZGFm
MDFkNWI2OGE0YjNmMTU3YWM2ZjJhZDljZmFkYzMuLjEyNWQ3ZTg1ZmUzMGNiNTRhZDAzNmM5ODgx
MTc4MWJlNDVhYjgxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVk
RW50cnlMaWZldGltZSA9IDEwczsKK3N0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlm
ZXRpbWUgPSAxMF9zOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIEhhc2hDb3VudGVkU2V0
PFN0cmluZz4mIGFsbFNwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdlcygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
dGF0aXN0aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0YXRpc3RpY3MuY3BwCmluZGV4IDEwYTUyMDNlZmQ4MTgwZTBhY2EzNGJlNTRkZjUy
NTgyZjU5Yzk1ZjcuLjgyMTJjNzYzN2MzMTJkZmZmNzcxY2I3YmEwOTE5YmU5MTliNThlNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBT
dGF0aXN0aWNzRGF0YWJhc2VOYW1lID0gIldlYktpdENhY2hlU3RhdGlzdGljcy5kYiI7Ci1zdGF0
aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCA9
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoMTAwMDApOworc3RhdGljIGNvbnN0IFNlY29uZHMg
bWluaW51bVdyaXRlSW50ZXJ2YWwgPSAxMF9zOwogCiBzdGF0aWMgYm9vbCBleGVjdXRlU1FMQ29t
bWFuZChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgc3Fs
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCA0NTMwODNhNGE0OWIwN2Y3ZGEwMjMwODlj
OTdhODU0MTgxN2I3ZGQ2Li4wNzNhZDZkMmRjOWQxOWI2ZjhjZWU0N2E1OTMwNTc0Y2IxZjhiODM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtNTY1LDcgKzU2NSw3IEBAIHZvaWQgU3RvcmFn
ZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9uPiBy
ZWFkT3BlcmF0aW9uCiAgICAgbV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92ZShyZWFk
T3BlcmF0aW9uUHRyKSk7CiAKICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVy
YXRpb25zIHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhl
ciBnbyB0byBuZXR3b3JrLgotICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7Cisg
ICAgY29uc3QgU2Vjb25kcyByZWFkVGltZW91dCA9IDEuNV9zOwogICAgIG1fcmVhZE9wZXJhdGlv
blRpbWVvdXRUaW1lci5zdGFydE9uZVNob3QocmVhZFRpbWVvdXQpOwogCiAgICAgYm9vbCBzaG91
bGRHZXRCb2R5QmxvYiA9IG1heUNvbnRhaW5CbG9iKHJlYWRPcGVyYXRpb24ua2V5KTsKQEAgLTc4
Nyw3ICs3ODcsNyBAQCB2b2lkIFN0b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBN
YXBwZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJvZHlIYW5kbGVyKQogCiAgICAgLy8gRGVsYXkgdGhl
IHN0YXJ0IG9mIHdyaXRlcyBhIGJpdCB0byBhdm9pZCBhZmZlY3RpbmcgZWFybHkgcGFnZSBsb2Fk
LgogICAgIC8vIENvbXBsZXRpbmcgd3JpdGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3cml0ZXMgd2l0
aG91dCBkZWxheS4KLSAgICBzdGF0aWMgY29uc3QgYXV0byBpbml0aWFsV3JpdGVEZWxheSA9IDFz
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxXcml0ZURlbGF5ID0gMV9zOwogICAg
IG1fd3JpdGVPcGVyYXRpb25EaXNwYXRjaFRpbWVyLnN0YXJ0T25lU2hvdChpbml0aWFsV3JpdGVE
ZWxheSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggNGNlZmE4ZWIzNTdhZTQ0YmQy
NWE1NzQ2YjQ1ZmY5YTA4YjRlMjBkZi4uMThmMGNjZDhmNzE0MTIzYzk4YTk1MTU0OTJkNzU4NjM2
ZTZlYzQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTMzMyw3ICszMzMsNyBAQCB2b2lk
IE5ldHdvcmtEYXRhVGFza0NvY29hOjpjYW5jZWwoKQogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2Nv
YTo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1
cmUpCi0gICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9m
YWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgW21fdGFzayByZXN1bWVdOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtE
YXRhVGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3
b3JrRGF0YVRhc2tTb3VwLmNwcAppbmRleCAzYjU1YzJkZDE3ZmU5ZjYzYTY0NTgxMWRjMzAyN2Q2
ZGU5NTcwMzU5Li5kNmE4NmEyNGU0ZjEyYmNiZTI4NDcwNGIwYmFjNDhlNTkyODczNWEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFz
a1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a0RhdGFUYXNrU291cC5jcHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFz
a1NvdXA6OnRpbWVvdXRGaXJlZCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnN0YXJ0VGlt
ZW91dCgpCiB7CiAgICAgaWYgKG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkK
LSAgICAgICAgbV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChtX2ZpcnN0UmVxdWVzdC50aW1l
b3V0SW50ZXJ2YWwoKSk7CisgICAgICAgIG1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoU2Vj
b25kcyhtX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSkpOwogfQogCiB2b2lkIE5ldHdv
cmtEYXRhVGFza1NvdXA6OnN0b3BUaW1lb3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDlhYzc2YzZkMzk0N2RlMjY4NzFlYjY4OTIw
NjViZGE2Yjc3OGNmZTEuLmQwNDZhZjVkZTIwNzM2MzI3YjEwNzY4MzBlY2I5YjhhOWVmZWQ1ODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcApA
QCAtMzIsNiArMzIsMzYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25p
Y1RpbWUmIHRpbWUpCit7CisgICAgZW5jb2RlciA8PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCku
dmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBkb3VibGUgdmFs
dWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIHRpbWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZW5jb2Rl
ciA8PCBzZWNvbmRzLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZG91Ymxl
IHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50Pjo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86
OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYgdGltZVBvaW50KQogewogICAgIGVuY29kZXIgPDwg
c3RhdGljX2Nhc3Q8aW50NjRfdD4odGltZVBvaW50LnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKaW5kZXgg
ZjZkODhiN2NkYmI3ZGU2ZmE2YTJkY2I1NGFmODZmYTNjYTc5NzZiMi4uMDc1YmZmNTM1MTlkZjg5
N2Y3NTAzNjgyNWJkMjY5Zjg3ZjI2OWFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTE2Myw3ICsxNjMsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZS4uLiBFbGVtZW50cz4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjp0dXBsZTxFbGVtZW50cy4u
Lj4+IHsKICAgICB9CiB9OwogCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFJlcCwgdHlwZW5hbWUgUGVy
aW9kPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQZXJp
b2Q+PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlvZD4mIGR1cmF0aW9uKQogICAgIHsKQEAgLTM3
OSw2ICszNzgsMTYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBIYXNoQXJn
LCB0eXBlbmFtZSBLZXlUcmFpdHNBcmc+IHN0cnVjdCBBcmd1bWUKICAgICB9CiB9OwogCit0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3RvbmljVGltZT4geworICAgIHN0
YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpNb25vdG9uaWNUaW1lJik7Cisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKK307
CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpTZWNvbmRzPiB7CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6OlNlY29uZHMmKTsKKyAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25kcyYpOworfTsKKwogdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBzdGQ6OmNo
cm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2Rl
KERlY29kZXImLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCBmMDEyYTAxYjU0ZGU3ZDFm
Y2UyMTc5N2U2ZjQ1NTA1MGM4M2U2ODg1Li45MDJiZTRkMWE3M2Y4ZTA0N2Q5MjA5ZjMyZDQ1YTI4
NmE5NzAzMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAg
LTE4Niw3ICsxODYsNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGtpbGwoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRz
KTsKKyAgICB2b2lkIHRlcm1pbmF0ZVNvb24oU2Vjb25kcyk7CiAjZW5kaWYKIAogICAgIGJvb2wg
aXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmluZGV4IDI4OTk1MTI5NDYzZTgz
MTkxMDcwYmVlODVmZGJlODcwNTQ4ZTU1YjEuLjcwNDQ2OTE1NmFmODFiZDQxNThmMTcxZTA4MTdk
ODhlZGJmYjE3YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMv
Q29ubmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nv
bm5lY3Rpb25NYWMubW0KQEAgLTgwLDIwICs4MCwyMCBAQCBlbnVtIHsKIC8vICAgIHRvIGVuc3Vy
ZSBpdCBoYXMgYSBjaGFuY2UgdG8gdGVybWluYXRlIGNsZWFubHkuCiBjbGFzcyBDb25uZWN0aW9u
VGVybWluYXRpb25XYXRjaGRvZyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4m
IHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBzdGF0aWMgdm9p
ZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29u
bmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICB7Ci0gICAg
ICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRl
cnZhbEluU2Vjb25kcyk7CisgICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90
PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIENvbm5lY3Rp
b25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGND
b25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgICAgICA6IG1feHBjQ29ubmVjdGlvbih4
cGNDb25uZWN0aW9uKQogICAgICAgICAsIG1fd2F0Y2hkb2dUaW1lcihSdW5Mb29wOjptYWluKCks
IHRoaXMsICZDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6d2F0Y2hkb2dUaW1lckZpcmVk
KQogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgLCBtX2Fzc2VydGlvbihzdGQ6Om1ha2VfdW5p
cXVlPFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNfY29ubmVjdGlvbl9nZXRfcGlk
KG1feHBjQ29ubmVjdGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91
bmQpKQogI2VuZGlmCiAgICAgewotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90
KGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hv
dChpbnRlcnZhbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgd2F0Y2hkb2dUaW1lckZpcmVkKCkK
QEAgLTE1MSwxMCArMTUxLDEwIEBAIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1JbnZhbGlkYXRl
KCkKICNlbmRpZgogfQogICAgIAotdm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKGRvdWJs
ZSBpbnRlcnZhbEluU2Vjb25kcykKK3ZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihTZWNv
bmRzIGludGVydmFsKQogewogICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCi0gICAgICAgIENvbm5l
Y3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRj
aGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgQ29ubmVj
dGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNo
ZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogfQogICAgIAogdm9pZCBDb25uZWN0aW9u
OjpwbGF0Zm9ybUluaXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCmlu
ZGV4IGRhOWRiMjI0ZWRjMGVhMGNiZDAwMmRjMTcxMmEwYzE4NmQxOTM1ZTQuLjE3Mzk1MjUwOTU3
MWQ4ZjQ5MGE3M2U3ZmE5Njk1OTNjN2I4MzI0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTE0Nyw3ICsx
NDcsNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSgpCiAgICAgaWYgKG1f
cGx1Z2luRGVzdHJ1Y3Rpb25Qcm90ZWN0Q291bnQgfHwgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9u
KCktPmluU2VuZFN5bmMoKSkgewogICAgICAgICAvLyBXZSBoYXZlIHBsdWctaW4gY29kZSBvbiB0
aGUgc3RhY2sgc28gd2UgY2FuJ3QgZGVzdHJveSBpdCByaWdodCBub3cuCiAgICAgICAgIC8vIERl
c3Ryb3kgaXQgbGF0ZXIuCi0gICAgICAgIG1fcGx1Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIxNSw3ICsyMTUsNyBAQCB2b2lkIFBsdWdpbkNv
bnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
Ly8gU3RhcnQgdGhlIHRpbWVyLgotICAgIG1fcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgbV93YWl0aW5nRm9yRGlk
VXBkYXRlID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuY3BwCmluZGV4IGE3MjRlYjA4ZjkwZDU5ZGIxMjk4MjM0NDFlNzdlMDhmZWVjN2Iy
NWIuLjM5NWQ3NjRkNDcxZjUxZGU5OTgwYzYxMjFlNjAzMmNmYWM0OTgyZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMjIwLDkgKzIy
MCw5IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRl
RGF0YUZvckhvc3ROYW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0
aW1lIDw9IDAuMCkKKyAgICBpZiAobGlmZXRpbWUgPD0gMF9zKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgZGlzYWJsZVRlcm1pbmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDlhOTBlNGMyNTM5M2E3ZWQ0NmM5ODdiNWVlNDQ0
OWE3NGFiOTIzM2IuLjIwYWMwNjdiMDQ5NWU2YWM3NjIyYzAwNjIwMDM4YzAxZjVmMzAyOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0xMDIs
NyArMTAyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2lu
UHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIAotICAgIHZv
aWQgc2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRp
bWUoU2Vjb25kcyk7CiAgICAgdm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCk7CiAgICAg
Ly8gT3VyIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb25zLgogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DYWNoZU1vZGVsLmNwcAppbmRleCA0MDNmMzRkZmNkNGI3YWRjNDliYTA0NjJiOWZkZWZhNmRl
ZjNmZDQ1Li5lYmU2ZWQyZDJlOTFhNDc4OWVhMTVmY2I3MzQzNDkwZDVkNzE2ZDRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
aW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJv
bm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBw
YWdlQ2FjaGVDYXBhY2l0eSkKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1v
ZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBj
YWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNv
bmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hl
Q2FwYWNpdHkpCiB7CiAgICAgdWludDY0X3QgbWVtb3J5U2l6ZSA9IHJhbVNpemUoKSAvIE1COwog
CkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hl
TW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2kKICAgICAgICAgLy8g
Y2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUg
cmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heCgyNHUs
IGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICAgICAgICAgYnJlYWs7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKaW5kZXggY2Y0NzM0NTRmZTJhYzMzZDNjYTQz
YTcyZmE1OTNlNGM0ZTUxZDNkNS4uMWUwNzc2ODhlYTc4ZGM4NDI5ODhmNGY1ZjAzYWNhYmI5MzEy
NGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCkBAIC0yNiw4ICsyNiw4IEBACiAj
aWZuZGVmIENhY2hlTW9kZWxfaAogI2RlZmluZSBDYWNoZU1vZGVsX2gKIAotI2luY2x1ZGUgPGNo
cm9ubz4KICNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzcsNyArMzcsNyBAQCBlbnVtIENhY2hlTW9kZWwgewog
ICAgIENhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlcgogfTsKIAotdm9pZCBjYWxjdWxhdGVNZW1v
cnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVu
c2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFj
aXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2Fj
aGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25l
ZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwg
U2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VD
YWNoZUNhcGFjaXR5KTsKIHZvaWQgY2FsY3VsYXRlVVJMQ2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1
aW50NjRfdCBkaXNrRnJlZVNpemUsIHVuc2lnbmVkJiB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1
aW50NjRfdCYgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXggMTc1Nzg5ZmI5YWU3MTNm
MTZlZWVkYmZhYmUwMGQ2ZjMzZTYzY2YyMy4uNDliNzk0NjVkZjZlMWIyYTEyMWMzZmE1MmQwMDNm
YjE5NTFiYzI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMz
LDggKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJv
Y2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlv
bkNvdW50ZXIoMCkKKyAgICA6IG1fdGVybWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1p
bmF0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9j
ZXNzIFN1cHByZXNzaW9uIERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggYTA2ZTM0OWEzOGMyODFmNWFjZThkMzYyMmEwNTQ2MWY5
NDA0ZGE1Yy4uOTg1YWQ2YTYxYjJhODJhYjc4NTAyOWZlNDJkZWM0NzUyZWZjNDZjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNz
KCk7CiAKLSAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBt
X3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9u
VGltZW91dChTZWNvbmRzIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRz
OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxp
emVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
KTsKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGlu
IHNlY29uZHMsIGJlZm9yZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1p
bmF0aW9uCiAgICAgLy8gaGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNv
bmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91
YmxlIG1fdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVv
dXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVh
Y2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBh
IGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4
IGExMmE0NDQ1YmIxNmNhYWY2OTI3M2I2NGE4NjMyMTA4ZTdkNTQ5ZjQuLmIxYTM0YTRkZjFkMmQ4
MjU5OGFjYTZjZjg0NTRlYjRmYTFjZGU2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRl
ICJQbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAK
ICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlIDxXZWJDb3JlL01hY2hTZW5kUmlnaHQuaD4K
QEAgLTUxLDggKzUyLDggQEAgc3RydWN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
ewogICAgIFBsdWdpblByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlOwogICAgIGJvb2wgc3VwcG9ydHNB
c3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbjsKIAotICAgIGRvdWJsZSBtaW5pbXVtTGlm
ZXRpbWU7Ci0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1pbmlt
dW1MaWZldGltZTsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQogICAgIFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQgYWNjZWxlcmF0ZWRDb21wb3Np
dGluZ1BvcnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwCmluZGV4IGYwZmZiNzcyNmE1M2VlNGY4NDIzZDQ2Yjc5YmIwZmRhZjA1ZGU3YzQuLjM4
MGUwMWU1ZTc0NjE3MzdlNTc1M2U5NjY1YWMyZTM0NjA1NTI2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0xMDYsMzYgKzEwNiw2
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBJUEMgewogCi12b2lkIEFy
Z3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAgIGVuY29kZXIgPDwgdGltZS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCk7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1l
Pjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1vbm90b25pY1RpbWUmIHRpbWUpCi17Ci0gICAg
ZG91YmxlIHZhbHVlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICB0aW1lID0gTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMo
dmFsdWUpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIEFyZ3VtZW50Q29kZXI8U2Vjb25k
cz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTZWNvbmRzJiBzZWNvbmRzKQotewot
ICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8
U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZWNvbmRzJiBzZWNvbmRzKQotewot
ICAgIGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgc2Vjb25kcyA9IFNlY29uZHModmFsdWUpOwotICAgIHJl
dHVybiB0cnVlOwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWZmaW5lVHJhbnNm
b3JtKQogewogICAgIFNpbXBsZUFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5jb2Rl
KGVuY29kZXIsIGFmZmluZVRyYW5zZm9ybSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNDgxOWZjYmMwNGFjNzE2MjU2NzNhODQ0NjdmNzQ1
NDJjY2I5Mjk5NS4uMzE1NDA2MmQ5ZGMzNTJhOTFmNGIzM2JiNjU0Mzk5NTZlNTg4MDliNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEs
MTEgKzMxLDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0luZGV4ZWREQi5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGF5bWVudEhlYWRlcnMuaD4KIAotbmFtZXNwYWNlIFdURiB7Ci1jbGFzcyBNb25vdG9u
aWNUaW1lOwotY2xhc3MgU2Vjb25kczsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CkBAIC0xNTIs
MTYgKzE0Nyw2IEBAIHVzaW5nIElEQktleVBhdGggPSBWYXJpYW50PFN0cmluZywgVmVjdG9yPFN0
cmluZz4+OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2Rl
ciYsIGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShE
ZWNvZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Ci19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFdURjo6U2Vjb25kcz4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNv
ZGVyJiwgY29uc3QgV1RGOjpTZWNvbmRzJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29k
ZXImLCBXVEY6OlNlY29uZHMmKTsKLX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVu
Y29kZXImLCBjb25zdCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKICAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA1M2ZhNmVhMjk3M2NlN2Ix
ZGIzY2ZmMzkyNzUxZWFiZjRlMThkMTAuLmRkZWEyYWJkYzQ0ZTRlYTAyMjdlMjllNzZlNGJlM2Fl
Y2VlNjA1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1w
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAK
QEAgLTU3LDcgKzU3LDYgQEAgV2ViTWVtb3J5U2FtcGxlcjo6V2ViTWVtb3J5U2FtcGxlcigpCiAg
ICAgOiBtX3NhbXBsZVRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJG
aXJlZCkKICAgICAsIG1fc3RvcFRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c3RvcFRp
bWVyRmlyZWQpCiAgICAgLCBtX2lzUnVubmluZyhmYWxzZSkKLSAgICAsIG1fcnVubmluZ1RpbWUo
MCkKIHsKIH0KIApAQCAtNjcsNyArNjYsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0
KGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGluaXRp
YWxpemVUZW1wTG9nRmlsZSgpOwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAg
IGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQogCiB2b2lkIFdlYk1lbW9y
eVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9n
RmlsZUhhbmRsZSwgY29uc3QgU3RyaW5nJiBzYW1wbGVMb2dGaWxlUGF0aCwgY29uc3QgZG91Ymxl
IGludGVydmFsKSAKQEAgLTgyLDE3ICs4MSwxNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0
YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZQog
ICAgIH0KICAgICAgICAgCiAgICAgaW5pdGlhbGl6ZVNhbmRib3hlZExvZ0ZpbGUoc2FtcGxlTG9n
RmlsZUhhbmRsZSwgc2FtcGxlTG9nRmlsZVBhdGgpOwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50
ZXJ2YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgCiB9
CiAKLXZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2
YWwpCit2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKLSAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEpOworICAgIG1fc2Ft
cGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxKSk7CiAgICAgcHJpbnRmKCJTdGFydGVk
IG1lbW9yeSBzYW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJvY2Vzc05hbWUoKS51dGY4KCku
ZGF0YSgpLCBnZXRwaWQoKSk7Ci0gICAgaWYgKGludGVydmFsID4gMCkgeworICAgIGlmIChpbnRl
cnZhbCA+IDBfcykgewogICAgICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwp
OwotICAgICAgICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2
YWwpOworICAgICAgICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50
ZXJ2YWwudmFsdWUoKSk7CiAgICAgfQogICAgIHByaW50ZigiOyBTYW1wbGVyIGxvZyBmaWxlIHN0
b3JlZCBhdDogJXNcbiIsIG1fc2FtcGxlTG9nRmlsZVBhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAg
bV9ydW5uaW5nVGltZSA9IGludGVydmFsOwpAQCAtMTU5LDcgKzE1OCw3IEBAIHZvaWQgV2ViTWVt
b3J5U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQoKQogewogICAgIGlmICghbV9pc1J1bm5pbmcpCiAg
ICAgICAgIHJldHVybjsKLSAgICBwcmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4gU3RvcHBpbmcg
bWVtb3J5IHNhbXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUpOworICAgIHByaW50ZigiJWcgc2Vj
b25kcyBlbGFwc2VkLiBTdG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9ydW5uaW5nVGlt
ZS52YWx1ZSgpKTsKICAgICBzdG9wKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5oCmluZGV4IDI3ODdiNTE1ZGFiYzUxZWJlYzViYzA2NDZmMTNiZWZlNTEyOTg2
MjIuLmRhNDI4OGI1ODQwOWZmYmFhZjhkMjczY2IzODU4NDViMGQxZDg4NjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaApAQCAtODQsNyArODQsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgaW5pdGlhbGl6ZVRlbXBMb2dGaWxlKCk7CiAgICAgdm9pZCBpbml0aWFsaXpl
U2FuZGJveGVkTG9nRmlsZShjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmLCBjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHdyaXRlSGVhZGVycygpOwotICAgIHZvaWQgaW5pdGlhbGl6ZVRp
bWVycyhkb3VibGUpOworICAgIHZvaWQgaW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzKTsKICAgICB2
b2lkIHNhbXBsZVRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHN0b3BUaW1lckZpcmVkKCk7CiAgICAg
dm9pZCBhcHBlbmRDdXJyZW50TWVtb3J5VXNhZ2VUb0ZpbGUoV2ViQ29yZTo6UGxhdGZvcm1GaWxl
SGFuZGxlJik7CkBAIC0xMDAsNyArMTAwLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpUaW1l
ciBtX3NhbXBsZVRpbWVyOwogICAgIFdlYkNvcmU6OlRpbWVyIG1fc3RvcFRpbWVyOwogICAgIGJv
b2wgbV9pc1J1bm5pbmc7Ci0gICAgZG91YmxlIG1fcnVubmluZ1RpbWU7CisgICAgU2Vjb25kcyBt
X3J1bm5pbmdUaW1lOwogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX3NhbXBsZUxvZ1Nh
bmRib3hFeHRlbnNpb247CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBlYzg2ZTFlMjFmZmNjZDZkODcyYWFh
MWYyZDQxOWU0NjY2YTMyN2RiLi4wZDM3YjlhM2VkN2UzNjRjMWM0YjY5OTNmOTA2NzkyYTVmZWFl
ZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKQEAgLTExMyw3ICsxMTMsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyB7CiAKICAgICBib29sIGljb25EYXRhYmFzZUVuYWJsZWQ7CiAKLSAgICBk
b3VibGUgdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0
OwogCiAgICAgVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKaW5kZXggNmFmNzkwMmRh
M2Y5ZmE5YzJlYWJkYWFhMGU1ZDc4NWY2NTMyZTZlNy4uNDM2OGNjMmNjMWIzZjVjNmQ1YThlYjNi
MzgwYjJlOGJkYjNhNGEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1JlZ2lvbi5oPgotI2luY2x1ZGUgPGNocm9ubz4KKyNpbmNsdWRlIDx3dGYv
TW9ub3RvbmljVGltZS5oPgogCiBPQkpDX0NMQVNTIENBTGF5ZXI7CiAKQEAgLTkxLDcgKzkxLDcg
QEAgcHVibGljOgogCiAgICAgYm9vbCBzZXRCdWZmZXJWb2xhdGlsaXR5KEJ1ZmZlclR5cGUgdHlw
ZSwgYm9vbCBpc1ZvbGF0aWxlKTsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRp
bWVfcG9pbnQgbGFzdERpc3BsYXlUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRp
bWU7IH0KKyAgICBNb25vdG9uaWNUaW1lIGxhc3REaXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbGFzdERpc3BsYXlUaW1lOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBkcmF3SW5Db250ZXh0
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIENHSW1hZ2VSZWYgYmFja0ltYWdlKTsKQEAgLTEw
Myw4ICsxMDMsMTAgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIG1fbGF5
ZXI7CiAKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9zaXplOwotICAgIGZsb2F0IG1fc2NhbGU7
Ci0gICAgYm9vbCBtX2lzT3BhcXVlOworICAgIGZsb2F0IG1fc2NhbGUgeyAxIH07CisKKyAgICBi
b29sIG1faXNPcGFxdWUgeyBmYWxzZSB9OworICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmcg
eyBmYWxzZSB9OwogCiAgICAgV2ViQ29yZTo6UmVnaW9uIG1fZGlydHlSZWdpb247CiAKQEAgLTEx
Miw3ICsxMTQsNyBAQCBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBi
aXRtYXA7CiAjaWYgVVNFKElPU1VSRkFDRSkKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OklPU3VyZmFjZT4gc3VyZmFjZTsKLSAgICAgICAgYm9vbCBpc1ZvbGF0aWxlID0gZmFsc2U7
CisgICAgICAgIGJvb2wgaXNWb2xhdGlsZSB7IGZhbHNlIH07CiAjZW5kaWYKIAogICAgICAgICBl
eHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QKQEAgLTEzOCwxMSArMTQwLDkgQEAgcHJpdmF0
ZToKIAogICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IG1fZnJvbnRDb250ZXh0UGVuZGluZ0Zs
dXNoOwogCi0gICAgYm9vbCBtX2FjY2VsZXJhdGVzRHJhd2luZzsKLQogICAgIFdlYkNvcmU6OlJl
cGFpbnRSZWN0TGlzdCBtX3BhaW50aW5nUmVjdHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5
X2Nsb2NrOjp0aW1lX3BvaW50IG1fbGFzdERpc3BsYXlUaW1lOworICAgIE1vbm90b25pY1RpbWUg
bV9sYXN0RGlzcGxheVRpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCmlu
ZGV4IGQ1NzE5ZGRhMTJiZWFiODIyZGYzMmI3MjE1OGViYTZhNWU5OTQyMDUuLmNiY2Y3MWM1Zjc1
NGVlYzNlODYwZmYxMmZjNzNmZmE4NWM2N2RkMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtNjIsOCArNjIsNiBA
QCBzdGF0aWMgV2ViQ29yZTo6SU9TdXJmYWNlOjpGb3JtYXQgYnVmZmVyRm9ybWF0KGJvb2wgaXNP
cGFxdWUpCiAKIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZShQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIGxheWVyKQogICAgIDogbV9sYXllcihsYXllcikKLSAg
ICAsIG1faXNPcGFxdWUoZmFsc2UpCi0gICAgLCBtX2xhc3REaXNwbGF5VGltZShzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50OjptaW4oKSkKIHsKICAgICBpZiAoIW1fbGF5ZXIp
CiAgICAgICAgIHJldHVybjsKQEAgLTIzMSw3ICsyMjksNyBAQCBib29sIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjpkaXNwbGF5KCkKIHsKICAgICBBU1NFUlQoIW1fZnJvbnRDb250ZXh0UGVuZGlu
Z0ZsdXNoKTsKIAotICAgIG1fbGFzdERpc3BsYXlUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9j
bG9jazo6bm93KCk7CisgICAgbV9sYXN0RGlzcGxheVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKIAogICAgIGJvb2wgbmVlZFRvRW5jb2RlQmFja2luZ1N0b3JlID0gZmFsc2U7CiAgICAgaWYg
KFJlbW90ZUxheWVyVHJlZUNvbnRleHQqIGNvbnRleHQgPSBtX2xheWVyLT5jb250ZXh0KCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCBmZTQ5NzFlZTczOTI0MTRhYmMxMTk0MGFjNzlm
OGY3OTE0Y2E0ODYyLi5jZDgzYTM4ZDk4NDU1ZGI1ZDU0ZWQzZjQ2NTM5ODZlZWQ5NzQ1MzIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKICAg
ICB9OwogICAgIHR5cGVkZWYgdW5zaWduZWQgVm9sYXRpbGl0eU1hcmtpbmdGbGFnczsKICAgICBi
b29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlJiwgVm9sYXRpbGl0eU1hcmtpbmdGbGFncyB2b2xhdGlsaXR5TWFya2luZ0ZsYWdzID0g
MCk7Ci0gICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUmLCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG5vdyk7CisgICAg
Ym9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBN
b25vdG9uaWNUaW1lIG5vdyk7CiAKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Kj4gbV9saXZlQmFja2luZ1N0b3JlOwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUqPiBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1t
CmluZGV4IDI2ODM2ZTdiZjM4NjQ3ZTQ4MDBhNjRiMGM3NWNlNmZmYjBjYTE0YmUuLjQ2MGNkOWJj
YzUxOGVjOGQ2MWZhNDllMWZmY2M0NzRlZGQ4MDcwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0
aW9uLm1tCkBAIC0zMCw5ICszMCw5IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZS5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oIgogCi1jb25zdCBzdGQ6OmNo
cm9ubzo6c2Vjb25kcyB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDFzOwotY29u
c3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9y
ZUFnZVRocmVzaG9sZCA9IDIwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2
b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDIwMG1zOworY29uc3QgYXV0byB2b2xhdGlsZUJhY2tp
bmdTdG9yZUFnZVRocmVzaG9sZCA9IDFfczsKK2NvbnN0IGF1dG8gdm9sYXRpbGVTZWNvbmRhcnlC
YWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAwLjJfczsKK2NvbnN0IGF1dG8gdm9sYXRpbGl0eVRp
bWVySW50ZXJ2YWwgPSAwLjJfczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTEyMCw3ICsx
MjAsNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tp
bmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVtbwogICAgIHJldHVybiBzdWNjZXNzZnVsbHlN
YWRlQmFja2luZ1N0b3JlVm9sYXRpbGU7CiB9CiAKLWJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUmIGJhY2tpbmdTdG9yZSwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2lu
dCBub3cpCitib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tp
bmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUsIE1v
bm90b25pY1RpbWUgbm93KQogewogICAgIGlmIChub3cgLSBiYWNraW5nU3RvcmUubGFzdERpc3Bs
YXlUaW1lKCkgPCB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkgewogICAgICAgICBp
ZiAobm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGltZSgpID49IHZvbGF0aWxlU2Vjb25k
YXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKQpAQCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7
CiAgICAgYm9vbCBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgPSB0cnVlOwog
Ci0gICAgYXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBh
dXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGZvciAoY29uc3QgYXV0byYgYmFj
a2luZ1N0b3JlIDogbV9saXZlQmFja2luZ1N0b3JlKQogICAgICAgICBzdWNjZXNzZnVsbHlNYWRl
QmFja2luZ1N0b3JlVm9sYXRpbGUgJj0gbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKCpiYWNraW5n
U3RvcmUsIG5vdyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCmluZGV4
IDgzOTQ1ZGZlZDMxYzU5MTgzNThiZTdmNjcxNmIxYmZlNzAxODhiNTkuLjFiNWRkMDM2MzkxZjIy
YjllYmM1YjcyM2Q5MjIzZjgwMjkwZTlhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFs
dWVDb2NvYS5tbQpAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAo
IW1fY29udGV4dCkgewogICAgICAgICAgICAgbV9jb250ZXh0ID0gYWRvcHROUyhbW0pTQ29udGV4
dCBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7Cisg
ICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogICAgICAgICB9CiAgICAgICAg
IHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCBkMjc3MDA1OTYxZDI5YWVkNjc1MDkzNjk0YjIz
ZTRlODI1NWUxMDg2Li4xMTM1Zjc5Nzg1ZWQ5Zjc3YzBhNWFiOTU5YmYxMjRkNzA2ZTllNzI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNTkw
LDcgKzU5MCw3IEBAIHZvaWQgRXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlzcGxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEV3a1ZpZXc6OnNldFZpZXdwb3J0UG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYgY29udGVudHNQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCAw
NGM3ZTk1NDcyOTk1N2NlNDI4MmViNDBlMWM4NzEwM2MxNDQ1ZjVmLi5jMmJlMzY1ZjcxZTk4ZjM0
ZjllODVlNGQ2YWQxODkzY2VjNjlmM2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yMTksNyArMjE5LDcg
QEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTY2hlZHVsZVVwZGF0ZUFjdGl2aXR5U3Rh
dGUoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlYKICAgICBpZiAocHJpdi0+dXBkYXRlQWN0aXZpdHlT
dGF0ZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHByaXYtPnVwZGF0
ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgcHJpdi0+dXBkYXRlQWN0
aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4g
dG9wbGV2ZWxXaW5kb3dGb2N1c0luRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50Rm9j
dXMqLCBXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBmZDhiYzVhYzlhOTdjODMwNTVk
NDhiNzViYTgwMDkzMzk5NjUxN2IwLi4yZDZmZWI5NDdmMWM4NjgxZTMwYmYxNGIwZGM3NjVjODE0
MzJmNjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94
eS5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCB2b2lkIENoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93
blByb2Nlc3MoKQogICAgICAgICAvLyBPbiBpT1MgZGVwbG95IGEgd2F0Y2hkb2cgaW4gdGhlIFVJ
IHByb2Nlc3MsIHNpbmNlIHRoZSBjaGlsZCBwcm9jZXNzIG1heSBiZSBzdXNwZW5kZWQuCiAgICAg
ICAgIC8vIElmIDMwcyBpcyBpbnN1ZmZpY2llbnQgZm9yIGFueSBvdXRzdGFuZGluZyBhY3Rpdml0
eSB0byBjb21wbGV0ZSBjbGVhbmx5LCB0aGVuIGl0IHdpbGwgYmUga2lsbGVkLgogICAgICAgICBB
U1NFUlQobV9jb25uZWN0aW9uKTsKLSAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29u
KDMwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwX3MpOwogI2VuZGlm
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3RhdGU6OlRlcm1pbmF0ZWQ6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQppbmRleCA0NTI5
OTIyYjRmYmY2YmY1MzFjN2MwNWE3YzIyM2I2MzUxNDMyNTYwLi5mODE2ZTdmMGMzMjFhZjJhOWQ4
NjIxYTdiNGM1ZjFhOGE3ODAzOTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTg1Miw3ICs4NTIsNyBAQCB2b2lkIE5hdmln
YXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKCkKICAgICB9IGVsc2UgewogICAgICAgICAv
LyBEZWxheSByZWxlYXNpbmcgdGhlIGJhY2tncm91bmQgYWN0aXZpdHkgZm9yIDMgc2Vjb25kcyB0
byBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhIGNoYW5jZSB0byBzdGFydCBhbm90aGVyIG5hdmlnYXRp
b24KICAgICAgICAgLy8gYmVmb3JlIHN1c3BlbmRpbmcgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyA8
cmRhcjovL3Byb2JsZW0vMjc5MTA5NjQ+LgotICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVy
LnN0YXJ0T25lU2hvdCgzcyk7CisgICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRP
bmVTaG90KDNfcyk7CiAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggNDlmMThl
Mzc4YTUyOWQwNTY1YjBkN2VlOWU2MTg4MjEyY2ZkZDJiOC4uNGRiZDc4ZjY0MmM1ODVjNGNhZDc3
MTgyNmQwODJiOGEwYzhhYzNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTQwLDEzICs0MCwxMyBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRp
YyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9n
QWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNv
bnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVM
b2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwbXM7CitzdGF0aWMgY29uc3QgYXV0byBzd2lwZVNu
YXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJh
dGlvbiA9IDNfczsKK3N0YXRpYyBjb25zdCBhdXRvIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZl
TG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDAuMjVfczsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0
YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNo
ZG9nRHVyYXRpb24gPSA1czsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1v
dmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVfczsKICNlbHNlCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJv
bm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24g
PSAzX3M7CiAjZW5kaWYKIAogc3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFZpZXdHZXN0dXJlQ29u
dHJvbGxlcio+JiB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKQpAQCAtMjk3LDEw
ICsyOTcsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRy
YWNrZXI6OndhdGNoZG9nVGltZXJGaXJlZCgpCiAgICAgZmlyZVJlbW92YWxDYWxsYmFja0ltbWVk
aWF0ZWx5KCk7CiB9CiAKLXZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGR1cmF0aW9uKQor
dm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0
V2F0Y2hkb2coU2Vjb25kcyBkdXJhdGlvbikKIHsKLSAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihy
ZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlbGxkIHNlY29uZHMiLCBkdXJhdGlvbi5jb3Vu
dCgpKSk7Ci0gICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbi5jb3VudCgp
KTsKKyAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZv
ciAlLjNmIHNlY29uZHMiLCBkdXJhdGlvbi52YWx1ZSgpKSk7CisgICAgbV93YXRjaGRvZ1RpbWVy
LnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5oCmluZGV4IDc1OGQ3MzUwZGJkODQ3NTc0NjZjY2RiYTg0MzZiNmU0OWQ2MmJjMmQuLmUx
NGQ3Mzk3MTkyYWQwYzA3ZjEyMjgwOWZjODdiMTQ0NDc2ZDRkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAg
LTE1Nyw3ICsxNTcsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZW50T2NjdXJyZWQoRXZl
bnRzKTsKICAgICAgICAgYm9vbCBjYW5jZWxPdXRzdGFuZGluZ0V2ZW50KEV2ZW50cyk7CiAKLSAg
ICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKTsKKyAgICAgICAg
dm9pZCBzdGFydFdhdGNoZG9nKFNlY29uZHMpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3Rh
dGljIFN0cmluZyBldmVudHNEZXNjcmlwdGlvbihFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA0ZTg3
M2VhZDY1MTg1ZjY1OWQ5NjExYThhZjk5ZGIyM2EzZGM3Nzg4Li4zNWVlNGViMWE0YWRhNzQ3YTE4
Mzk5YmEzMTkxYTkzNjE4NzY0YjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMjc1LDcgKzI3NSw3IEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhCiAjZW5kaWYKIAogICAgIHBhcmFtZXRlcnMuc2hvdWxkU3Vw
cHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJLaXRT
dXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5XTsKLSAgICBwYXJhbWV0ZXJz
LmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKFtkZWZhdWx0
cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNv
bmRzRGVmYXVsdHNLZXldKTsKKyAgICBwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5l
dHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldKTsKIAogI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEx
MDAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBjb29raWVTdG9yYWdlRGF0YSA9IGFkb3B0Q0Yo
Q0ZIVFRQQ29va2llU3RvcmFnZUNyZWF0ZUlkZW50aWZ5aW5nRGF0YShrQ0ZBbGxvY2F0b3JEZWZh
dWx0LCBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIF9jb29r
aWVTdG9yYWdlXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuY3BwCmluZGV4IGI0NWYyMjc5ZTcyYmVlZTBhZTczM2M2ZTEwYWIxNDE5MmUwMWYyZTUuLjg1
ZWMzODM3YzkxNWVlOGFjMjdkOWNmMTNlOGVjMzRjNjNkZDliNzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgdm9p
ZCBEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhwb3NlZFJlY3Qoc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpGbG9hdFJlY3Q+IHZpZXcKICAgICBtX3ZpZXdFeHBvc2VkUmVjdCA9IHZpZXdFeHBvc2Vk
UmVjdDsKIAogICAgIGlmICghbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojp2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcAppbmRleCA0NDBkZjlhMzNlZTY5ODY3YjY0MjU4ZDAzMmUwNWU4MTlmMTNhODE0
Li4wMDk5YTVmNjcxMDNjN2UzYzFiYjY5YWNiMWY4ODZkZDMzMTEwM2E4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTE4MCw3
ICsxODAsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3Jl
U29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRoaXMgbWFueSBzZWNvbmRzIGFmdGVyIHRoZSBs
YXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5IG91ciBiYWNraW5nIHN0b3JlIHRvIHNhdmUg
bWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBzbWFydGVyIHRvIG1ha2UgdGhpcyBk
ZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBhaW50aW5nIGlzLiBTZWUgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGlzY2FyZEJhY2tpbmdT
dG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkaXNjYXJkQmFja2luZ1N0
b3JlRGVsYXkgPSAyX3M7CiAKICAgICBtX2Rpc2NhcmRCYWNraW5nU3RvcmVUaW1lci5zdGFydE9u
ZVNob3QoZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5KTsKIH0KQEAgLTIxMSwxMyArMjExLDEzIEBA
IGludCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OndlYlZpZXdEcmF3Q2Fs
bGJhY2soRHJhd2luZ0FyZWFQcm94eUltCiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRy
YXdpbmdNb25pdG9yOjpzdGFydChzdGQ6OmZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJy
b3IpPiBjYWxsYmFjaykKIHsKLSAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZU1TKCk7CisgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAg
ICBtX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIGdfc2lnbmFs
X2Nvbm5lY3Rfc3dhcHBlZChtX3dlYlBhZ2Uudmlld1dpZGdldCgpLCAiZHJhdyIsIHJlaW50ZXJw
cmV0X2Nhc3Q8R0NhbGxiYWNrPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7Ci0gICAgbV90
aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygx
KSk7CiAjZWxzZQotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgRHJh
d2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKCkKICNpZiBQTEFURk9STShH
VEspCiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKG1fd2ViUGFnZS52
aWV3V2lkZ2V0KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KHdlYlZpZXdEcmF3Q2FsbGJh
Y2spLCB0aGlzKTsKICNlbmRpZgotICAgIG1fc3RhcnRUaW1lID0gMDsKKyAgICBtX3N0YXJ0VGlt
ZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICBpZiAobV9jYWxsYmFjaykgewogICAgICAgICBtX2Nh
bGxiYWNrKENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpOwogICAgICAgICBtX2NhbGxiYWNrID0g
bnVsbHB0cjsKQEAgLTIzOSwxMCArMjM5LDEwIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6
OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3KCkKICAgICAvLyBXZSB3YWl0IHVwIHRvIDEgc2Vjb25k
IGZvciBkcmF3IGV2ZW50cy4gSWYgdGhlcmUgYXJlIHNldmVyYWwgZHJhdyBldmVudHMgcXVldWVk
IHF1aWNrbHksCiAgICAgLy8gd2Ugd2FudCB0byB3YWl0IHVudGlsIGFsbCBvZiB0aGVtIGhhdmUg
YmVlbiBwcm9jZXNzZWQsIHNvIGFmdGVyIHJlY2VpdmluZyBhIGRyYXcsIHdlIHdhaXQKICAgICAv
LyB1cCB0byAxMDBtcyBmb3IgdGhlIG5leHQgb25lIG9yIHN0b3AuCi0gICAgaWYgKG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZU1TKCkgLSBtX3N0YXJ0VGltZSA+IDEwMDApCisgICAgaWYgKE1v
bm90b25pY1RpbWU6Om5vdygpIC0gbV9zdGFydFRpbWUgPiAxX3MpCiAgICAgICAgIHN0b3AoKTsK
ICAgICBlbHNlCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuMTAwKTsKKyAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMC4xX3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJ
bXBsOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKHN0ZDo6ZnVuY3Rpb248dm9pZChDYWxs
YmFja0Jhc2U6OkVycm9yKT4gY2FsbGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggODljNzEzZmM4N2E3MzU0OTMw
MzhhZDEwZDkwZGMxY2Y2MDYxZDQ1Ny4uNWFhNjZjNmQwNDhiZDBmN2QyNmY4YzdjNjRlZDBkMWEy
ODJmN2Y2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBkaWREcmF3
KCk7CiAKICAgICAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2U7Ci0gICAgICAgIGRvdWJsZSBt
X3N0YXJ0VGltZSB7IDAgfTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAg
ICAgICAgc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4gbV9jYWxsYmFj
azsKICAgICAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2luZ01vbml0b3I+IG1fdGltZXI7CiAgICAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBh
ZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBh
ZFByb3ZpZGVyLmNwcAppbmRleCA2NzdjZDY3MzkxYWY1NjlmNDJhZmZiZGY0NDBhYWUyMTU1MTVm
NDNlLi5jZWE5ODJmNmUyMmM2MDQ5OGVhYjgyOTY5NDNmNTA1MzJiOGI0MzZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIu
Y3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhpbXVtR2FtZXBhZFVwZGF0ZUlu
dGVydmFsID0gMSAvIDEyMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUdhbWVwYWRV
cGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMSAvIDEyMC4wKTsKIAogVUlHYW1lcGFkUHJvdmlkZXIm
IFVJR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXggNTRk
ZmIzYjA1OGQ0ZmU5MDM3NDYxNTc5MmVmYTU2YjA4ZmRkMGI2OC4uNDYwYmViZjVkYjA5OTM3NTVh
NjYyYzMzYjI5ZDA3NDgxNGM3MGFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00NiwxMSArNDYsMTEg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0
aWMgY29uc3QgZG91YmxlIG1pbmltdW1MaWZldGltZSA9IDIgKiA2MDsKLXN0YXRpYyBjb25zdCBk
b3VibGUgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0gMzA7CitzdGF0aWMgY29uc3QgYXV0
byBtaW5pbXVtTGlmZXRpbWUgPSAyX21pbjsKK3N0YXRpYyBjb25zdCBhdXRvIHNuYXBzaG90dGlu
Z01pbmltdW1MaWZldGltZSA9IDMwX3M7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgc2h1dGRvd25U
aW1lb3V0ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdTaHV0ZG93
blRpbWVvdXQgPSAxNTsKK3N0YXRpYyBjb25zdCBhdXRvIHNodXRkb3duVGltZW91dCA9IDFfbWlu
Oworc3RhdGljIGNvbnN0IGF1dG8gc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0ID0gMTVfczsK
IAogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3Bw
CmluZGV4IDNlMWMyZWY1YWY2Njc3YTkyOTlkZTg1NDk0NWY5MTQ1ODAzMzQ5ZTMuLmQ1ZmIxYjIz
MWI0MzcwZjA2ZWRjMzEzNGYzNDVjNWMzY2NlY2QwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwCkBAIC0x
NjIsNyArMTYyLDcgQEAgdm9pZCBQbHVnaW5JbmZvQ2FjaGU6OnVwZGF0ZVBsdWdpbkluZm8oY29u
c3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBjb25zdCBQbHVnaW5Nb2QKICAgICAgICAgaWYgKG1fc2F2
ZVRvRmlsZUlkbGUuaXNBY3RpdmUoKSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBt
X3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zYXZlVG9GaWxlSWRs
ZS5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAppbmRleCAyMjc1YmIzYjIyNmI3ZGJkNDhkMzNjZjBm
MzZkMjM0OWQ4NTBiZWM2Li5jZDgyNWUxZWUwYTA5YzU3ZjNlMmQ2MzEyYjc5ZTdkNGYxNzBlM2Ni
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBA
IC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIAotc3RhdGljIGNvbnN0
IHVuc2lnbmVkIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91dCA9IDMwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0gMzBfczsKICAgICAKIFByb2Nlc3NUaHJv
dHRsZXI6OlByb2Nlc3NUaHJvdHRsZXIoUHJvY2Vzc1Rocm90dGxlckNsaWVudCYgcHJvY2VzcykK
ICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCmluZGV4IGZlYjQ2OWYwODQyYjVhZTY5YjM2ZjBmY2Zk
Njg2MWM0MDY3ZWVmMmIuLjYwM2JjOWYxM2ZlOTY5YmYzNGRiMzQ2MGFiYjQ3OGJiODk5YmRjM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5j
cHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0ID0gMzsKK3N0YXRpYyBjb25zdCBhdXRvIHJl
c3BvbnNpdmVuZXNzVGltZW91dCA9IDNfczsKIAogUmVzcG9uc2l2ZW5lc3NUaW1lcjo6UmVzcG9u
c2l2ZW5lc3NUaW1lcihSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQmIGNsaWVudCkKICAgICA6
IG1fY2xpZW50KGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9W
aXNpdGVkTGlua1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1N0b3JlLmNwcAppbmRleCBhM2ZiNzcwZjVjZGJjZGNiNWZhNzdhYjRkMmYwYjU0NzQ0ODkwZjZm
Li4zZWQ1NTc1MzE2YmZkZDAzNjUwMzdhZDZhOGJkN2Q0YWE4NDdiNGY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCkBAIC05OCw3ICs5OCw3IEBA
IHZvaWQgVmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKExpbmtIYXNoIGxpbmtI
YXNoKQogICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rcy5hZGQobGlua0hhc2gpOwogCiAgICAgaWYg
KCFtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRp
bmdWaXNpdGVkTGlua3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1Zp
c2l0ZWRMaW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFZpc2l0ZWRMaW5r
U3RvcmU6OnJlbW92ZUFsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAppbmRleCA5NzM2MThkMmM1ZjNhYjAyZDg1NmY3YWNmZWRiMzAwMGI3ZDJlZmEwLi5m
Mjg3ZjVhYTZlN2U1NGJkY2M0NjY3YzA2ZDM2YzkxNDU4ZTgwNjkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBXZWJQ
cm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSht
X2NvbmZpZ3VyYXRpb24tPmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSgpKQogICAgICwg
bV91c2VyT2JzZXJ2YWJsZVBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBk
YXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNz
aW9uRGlzYWJsZWRGb3JQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0
ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCi0gICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRs
aW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRl
blBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDApOyB9KQorICAgICwgbV9oaWRkZW5Q
YWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQp
IHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOyB9KQogICAg
ICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJldl
YlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0
KQogewogICAgIGZvciAoYXV0byYgc2NoZW1lIDogbV9jb25maWd1cmF0aW9uLT5hbHdheXNSZXZh
bGlkYXRlZFVSTFNjaGVtZXMoKSkKQEAgLTU5NSw3ICs1OTUsNyBAQCBXZWJQcm9jZXNzUHJveHkm
IFdlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkKIAogICAgIHBhcmFtZXRlcnMu
aWNvbkRhdGFiYXNlRW5hYmxlZCA9ICFpY29uRGF0YWJhc2VQYXRoKCkuaXNFbXB0eSgpOwogCi0g
ICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQgPSAwOworICAgIHBhcmFtZXRlcnMudGVy
bWluYXRpb25UaW1lb3V0ID0gMF9zOwogCiAgICAgcGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0YXRl
ID0gVGV4dENoZWNrZXI6OnN0YXRlKCk7CiAKQEAgLTE0MTYsMTAgKzE0MTYsMTAgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1p
dCgpCiAgICAgLy8gV2UncmUgZXN0aW1hdGluZyBhbiB1cHBlciBib3VuZCBmb3IgYSBzZXQgb2Yg
YmFja2dyb3VuZCB0aW1lciBmaXJlcyBmb3IgYSBwYWdlIHRvIGJlIDIwMG1zCiAgICAgLy8gKGlu
Y2x1ZGluZyBhbGwgdGltZXIgZmlyZXMsIGFsbCBwYWdpbmctaW4sIGFuZCBhbnkgcmVzdWx0aW5n
IEdDKS4gVG8gZW5zdXJlIHRoaXMgZG9lcyBub3QKICAgICAvLyByZXN1bHQgaW4gbW9yZSB0aGFu
IDElIENQVSBsb2FkIGFsbG93IGZvciBvbmUgdGltZXIgZmlyZSBwZXIgMTAweCB0aGlzIGR1cmF0
aW9uLgotICAgIHN0YXRpYyBpbnQgbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlSW5NUyA9IDIw
MCAqIDEwMDsKKyAgICBzdGF0aWMgY29uc3QgYXV0byBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBh
Z2UgPSAyMDBfbXMgKiAxMDA7CiAKLSAgICBpbnQgbGltaXRJbk1pbGxpc2Vjb25kcyA9IG1heGlt
dW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgKiBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0lu
Y3JlYXNlc0NvdW50ZXIudmFsdWUoKTsKLSAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6
OldlYlByb2Nlc3M6OlNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxp
bWl0SW5NaWxsaXNlY29uZHMpKTsKKyAgICBhdXRvIGxpbWl0ID0gbWF4aW11bVRpbWVyVGhyb3R0
bGVQZXJQYWdlICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyLnZh
bHVlKCk7CisgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRI
aWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCkpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAKaW5kZXggODU3NDVhYzMwYWM3YjgzZTE0ODI0YmZm
ZWViYTY5MDkxM2U5YjQ0YS4uM2IyMjM3N2M4MzkxZDNiODM2YzhhZDcwMGMzODRkMDAzZWZlNmQx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNs
aWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tl
ckNsaWVudEVmbC5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFRleHRDaGVja2VyQ2xpZW50
RWZsOjplbnN1cmVTcGVsbENoZWNraW5nTGFuZ3VhZ2UoKQogdm9pZCBUZXh0Q2hlY2tlckNsaWVu
dEVmbDo6dXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYg
ZGVmYXVsdExhbmd1YWdlcykKIHsKICAgICBtX3NwZWxsQ2hlY2tpbmdMYW5ndWFnZXMgPSBkZWZh
dWx0TGFuZ3VhZ2VzOwotICAgIG1fbGFuZ3VhZ2VzVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fbGFuZ3VhZ2VzVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgVGV4dENoZWNrZXJDbGllbnRFZmw6Omxhbmd1YWdlc1VwZGF0ZVRpbWVyRmlyZWQoKQpAQCAt
MTI4LDcgKzEyOCw3IEBAIFZlY3RvcjxTdHJpbmc+IFRleHRDaGVja2VyQ2xpZW50RWZsOjpsb2Fk
ZWRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKCkgY29uc3QKIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVu
dEVmbDo6Y2FsbENvbnRpbnVvdXNTcGVsbENoZWNraW5nQ2hhbmdlQ2FsbGJhY2tBc3luYygpCiB7
Ci0gICAgbV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIGJvb2wgVGV4dENoZWNrZXJDbGllbnRFZmw6OmlzQ29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkQ2FsbGJhY2soY29uc3Qgdm9pZCopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDdlMTU3N2NiYThiMTU3MDUy
NjRlNWJhNTQ3NWZmYzU5NjJkYWI4ODkuLjkzZGRkNzY4ZGJhNGNiZTAzMGQ0MzFlNGI0ZDg1N2E2
ODhkMGY5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxl
cjo6RHJhZ0dlc3R1cmU6OmJlZ2luKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgs
IGQKICAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF93aWRn
ZXQoR1RLX0VWRU5UX0NPTlRST0xMRVIoZ2VzdHVyZSkpOwogICAgIHVuc2lnbmVkIGRlbGF5Owog
ICAgIGdfb2JqZWN0X2dldChndGtfd2lkZ2V0X2dldF9zZXR0aW5ncyh3aWRnZXQpLCAiZ3RrLWxv
bmctcHJlc3MtdGltZSIsICZkZWxheSwgbnVsbHB0cik7Ci0gICAgZHJhZ0dlc3R1cmUtPm1fbG9u
Z1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoZGVsYXkgLyAxMDAwLjApOworICAgIGRyYWdHZXN0
dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNl
Y29uZHMoZGVsYXkpKTsKIH0KIAogdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6
OnVwZGF0ZShEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkb3VibGUgeSwgR3Rr
R2VzdHVyZSogZ2VzdHVyZSkKQEAgLTIwNiw3ICsyMDYsNyBAQCB2b2lkIEdlc3R1cmVDb250cm9s
bGVyOjpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKFpvb21HZXN0dXJlKiB6b29tR2VzdHVyZSwg
ZG91YgogICAgIGlmICh6b29tR2VzdHVyZS0+bV9pZGxlLmlzQWN0aXZlKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIHpvb21HZXN0dXJlLT5tX2lkbGUuc3RhcnRPbmVTaG90KDApOworICAgIHpv
b21HZXN0dXJlLT5tX2lkbGUuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIEdlc3R1cmVDb250cm9s
bGVyOjpab29tR2VzdHVyZTo6Wm9vbUdlc3R1cmUoV2ViUGFnZVByb3h5JiBwYWdlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNw
cAppbmRleCBkYzE5OGQ4NThmMTNhM2MxMjM2ZTUxMWQzOGRiNjg1MjYxMzc4NGE0Li41MzE3ZmVk
OWQ4OTI5M2FiZDQyMTJjMjA4NWQ2NGMyYjk0MzdhMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcApAQCAtMjYxLDcg
KzI2MSw3IEBAIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNr
KEd0a1dpZGdldCosIFdlYlBvcHVwTWVudVByb3h5R3RrCiAgICAgLy8gV2hlbiBhbiBpdGVtIGlz
IGFjdGl2YXRlZCwgdGhlIG1lbnUgaXMgZmlyc3QgaGlkZGVuIGFuZCB0aGVuIGFjdGl2YXRlIHNp
Z25hbCBpcyBlbWl0dGVkLCBzbyBhdCB0aGlzIHBvaW50IHdlIGRvbid0IGtub3cKICAgICAvLyBp
ZiB0aGUgbWVudSBoYXMgYmVlbiBoaWRkZW4gYmVjYXVzZSBhbiBpdGVtIGhhcyBiZWVuIHNlbGVj
dGVkIG9yIGJlY2F1c2UgdGhlIG1lbnUgaGFzIGJlZW4gZGlzbWlzc2VkLiBXYWl0IHVudGlsIHRo
ZSBuZXh0CiAgICAgLy8gbWFpbiBsb29wIGl0ZXJhdGlvbiB0byBkaXNtaXNzIHRoZSBtZW51LCBp
ZiBhbiBpdGVtIGlzIGFjdGl2YXRlZCB0aGUgdGltZXIgd2lsbCBiZSBjYW5jZWxsZWQuCi0gICAg
cG9wdXBNZW51LT5tX2Rpc21pc3NNZW51VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHBvcHVw
TWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YlBvcHVwTWVudVByb3h5R3RrOjpzZWxlY3RJdGVtQ2FsbGJhY2soR3RrV2lkZ2V0KiBpdGVtLCBX
ZWJQb3B1cE1lbnVQcm94eUd0ayogcG9wdXBNZW51KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggODE4YmQzOTBkNDgz
ZDA4MjJiYWU3OTM0ZTEwNmZkYmIwY2RmZjg1NC4uZGZhZDMyZWNlZjhjNDA4YTEwYjI1OTFmOGIw
Mzc3ODYyMTUzMzQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
ZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBjb25zdCBO
U1VJbnRlZ2VyIHdpbmRvd1N0eWxlTWFzayA9IE5TV2luZG93U3R5bGVNYXNrVGl0bGVkIHwgTlNX
aW5kb3dTdHlsCiAKIC8vIFRoZSB0aW1lIHdlIGtlZXAgb3VyIFdlYlZpZXcgYWxpdmUgYmVmb3Jl
IGNsb3NpbmcgaXQgYW5kIGl0cyBwcm9jZXNzLgogLy8gUmV1c2luZyB0aGUgV2ViVmlldyBpbXBy
b3ZlcyBzdGFydCB1cCB0aW1lIGZvciBwZW9wbGUgdGhhdCBqdW1wIGluIGFuZCBvdXQgb2YgdGhl
IEluc3BlY3Rvci4KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCB3ZWJWaWV3Q2xvc2VUaW1lb3V0ID0g
NjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB3ZWJWaWV3Q2xvc2VUaW1lb3V0ID0gNjBfczsKIAog
Ly8gV0tXZWJJbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyIGlzIGEgaGVscGVyIE9iakMgb2JqZWN0
IHVzZWQgYXMgYSBkZWxlZ2F0ZSBvciBub3RpZmljYXRpb24gb2JzZXJ2ZXIKIC8vIGZvciB0aGUg
c29sZSBwdXJwb3NlIG9mIGdldHRpbmcgYmFjayBpbnRvIHRoZSBDKysgY29kZSBmcm9tIGFuIE9i
akMgY2FsbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggZTg5MWNkMDMyYjJmNDM2NjRiNjdlMDZkYmVj
Y2M4ZWUwMzU4ZGQ4Zi4uYzVmY2RlOTc3YTk4MWEzNjBkNTAyNjY0ZThiNTYwMDliZmM1MmEwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0
cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwCkBAIC05MSwxNCArOTEsMTQgQEAgUmVmUHRyPE5ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyPiBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVQbHVnaW5TdHJlYW1Mb2Fk
KEYKICAgICByZXR1cm4gbG9hZGVyOwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCitzdGF0
aWMgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2Up
CiB7CiAjaWYgIUVOQUJMRShORVRXT1JLX0NBQ0hFKQotICAgIHJldHVybiAwbXM7CisgICAgcmV0
dXJuIDBfczsKICNlbmRpZgogCiAgICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuIDBt
czsKKyAgICAgICAgcmV0dXJuIDBfczsKIAogICAgIHN3aXRjaCAocmVzb3VyY2UtPnR5cGUoKSkg
ewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQ6CkBAIC0xMDcsOSArMTA3
LDkgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1Rp
bWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNW
R0ZvbnRSZXNvdXJjZToKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNv
dXJjZToKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6Om1heCgpOwor
ICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpJbWFnZVJlc291cmNlOgotICAgICAgICByZXR1cm4gNTAwbXM7CisgICAgICAgIHJldHVy
biA1MDBfbXM7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWVkaWFSZXNvdXJjZToKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpNYWluUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6UmF3UmVzb3VyY2U6CkBAIC0xMjQsMTEgKzEyNCwxMSBAQCBzdGF0aWMgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVT
aGVldDoKICNlbmRpZgotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gMF9zOwog
ICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwbXM7CisgICAg
cmV0dXJuIDBfczsKIH0KIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJl
c291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBi
b29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCkBAIC0yMzEsNyAr
MjMxLDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9h
ZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6
OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXImIHJl
c291cmNlTG9hZGVyKQogewogICAgIG1faW50ZXJuYWxseUZhaWxlZFJlc291cmNlTG9hZGVycy5h
ZGQoJnJlc291cmNlTG9hZGVyKTsKLSAgICBtX2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1faW50ZXJuYWxseUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6aW50ZXJuYWxseUZhaWxlZExv
YWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKaW5kZXggNDk5
MjBmMmNhYTg0Zjc2OWI2MmQyNDYyYTljOTgwN2Y1MjBjZjNlZC4uMWMxZWU2MjFkMjRiNzBhZjNh
YWRhMTMzMTA2MjQyN2EzMDJjNjBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5j
cHAKQEAgLTI5Myw3ICsyOTMsNyBAQCB2b2lkIE5QUnVudGltZU9iamVjdE1hcDo6YWRkVG9JbnZh
bGlkYXRpb25RdWV1ZShOUE9iamVjdCogbnBPYmplY3QpCiAgICAgaWYgKHRyeVNhZmVSZWxlYXNl
TlBPYmplY3QobnBPYmplY3QpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fbnBPYmplY3Rz
VG9GaW5hbGl6ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fZmluYWxpemF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIEFTU0VSVChtX2ZpbmFsaXphdGlvblRpbWVyLmlzQWN0aXZlKCkpOwogICAgIG1fbnBP
YmplY3RzVG9GaW5hbGl6ZS5hcHBlbmQobnBPYmplY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdp
bi5jcHAKaW5kZXggNWM5YTkxODI0NTY2YTQ2MzAxMGMwZTczOTY4MDM0NTdlMzMzNDc3ZC4uMWNk
ZmVjZjNhOTA5N2Q1ZjhkM2FkYzczYjcxYjA5NDkwYzgyYTg3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW4uY3BwCkBAIC0zMjYsNyArMzI2LDcgQEAgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjp+VGlt
ZXIoKQogCiB2b2lkIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQoKQogewotICAgIGRvdWJs
ZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgIGF1dG8gdGltZUludGVy
dmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX2ludGVydmFsKTsKIAogICAgIGlmICht
X3JlcGVhdCkKICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05l
dHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKaW5kZXggN2Q1NGQ4OGM3ZTg5OGM1
Y2UwYmFkZjFkNzY5YjJlNWQzNWQ5YTI1NC4uMjM0OTkxMzBjYzU5NjViY2E2MWI3YjgyODJlOTVk
M2E3ZmY3YjdlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCkBAIC0y
MjIsNyArMjIyLDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUb1Bs
dWdpbigpCiAKICAgICAgICAgaWYgKG51bUJ5dGVzUGx1Z2luQ2FuSGFuZGxlIDw9IDApIHsKICAg
ICAgICAgICAgIC8vIFRoZSBwbHVnLWluIGNhbid0IGhhbmRsZSBtb3JlIGRhdGEsIHdlJ2xsIHNl
bmQgdGhlIHJlc3QgbGF0ZXIKLSAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICAgICAgbV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5N
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTWFjLm1tCmluZGV4IGI5MjZkYjA5MDJmNWI4Zjc1MDQ3ZmVhZGMyYzU0M2M2
YWNjMmU1ZTAuLjUwNDQyYTdlNjg3MmUwOTExM2ZjM2Q0YzYyNjVkOTIxNmVjYzMzNTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0
c2NhcGVQbHVnaW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQpAQCAtNDUsNyArNDUsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWZuZGVmIE5QX05P
X0NBUkJPTgotc3RhdGljIGNvbnN0IGRvdWJsZSBudWxsRXZlbnRJbnRlcnZhbEFjdGl2ZSA9IDAu
MDI7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBudWxsRXZlbnRJbnRlcnZhbEFjdGl2ZSA9IDAuMDJf
czsKIAogc3RhdGljIHVuc2lnbmVkIGJ1dHRvblN0YXRlRnJvbUxhc3RNb3VzZUV2ZW50OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5k
ZXggYWMxZGFhYmFkMDYzYTQ5NjI2YjM3ZTA0MDJlOWViZjU0OTJkM2IxYi4uMzkxYzBlODU4MzA5
ZDEwYTkyZmYzN2Q4YTdkZDdkOTUzZTMyYWI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtNzgsNyArNzgsNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBUaGlzIHNpbXVsYXRl
ZCBtb3VzZSBjbGljayBkZWxheSBpbiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBzaG91bGQg
Z2VuZXJhbGx5IGJlIHRoZSBzYW1lIG9yIHNob3J0ZXIgdGhhbiB0aGlzIGRlbGF5Lgotc3RhdGlj
IGNvbnN0IGF1dG8gcGx1Z2luU25hcHNob3RUaW1lckRlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyB7IDExMDAgfTsKK3N0YXRpYyBjb25zdCBhdXRvIHBsdWdpblNuYXBzaG90VGltZXJE
ZWxheSA9IDEuMV9zOwogCiBjbGFzcyBQbHVnaW5WaWV3OjpVUkxSZXF1ZXN0IDogcHVibGljIFJl
ZkNvdW50ZWQ8VVJMUmVxdWVzdD4gewogcHVibGljOgpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1lckZpcmVkKCkKIAogICAgIC8vIElm
IHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIHRvIHBlcmZvcm0sIHJlc2NoZWR1bGUgdGhlIHRpbWVy
LgogICAgIGlmICghbV9wZW5kaW5nVVJMUmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3Bl
bmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5n
VVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAKICAgICBwZXJmb3JtVVJM
UmVxdWVzdCh1cmxSZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTE0MjMsNyArMTQyMyw3IEBAIHZvaWQg
UGx1Z2luVmlldzo6bG9hZFVSTCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgbWV0
aG9kLCBjb25zdCBTdHJpbmcmCiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3QucmVzb3VyY2VSZXF1
ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKIAogICAgIG1fcGVuZGluZ1VSTFJlcXVl
c3RzLmFwcGVuZChVUkxSZXF1ZXN0OjpjcmVhdGUocmVxdWVzdElELCBmcmFtZUxvYWRSZXF1ZXN0
LCBhbGxvd1BvcHVwcykpOwotICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6Y2FuY2VsU3RyZWFtTG9hZCh1aW50NjRfdCBzdHJlYW1J
RCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVy
YXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9B
Y2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAppbmRleCBiODc4ZmJjOTg0MmUzZWJhZDY3ZjZmZjk4
ZDc5OTBjOWNhNjMwNWU1Li43NGUyYzIzMzc0Y2E5ZjNjNDVlYTMwODk3MjYzZjNmNWExYjExZjMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0
ZWREcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBBY2Nl
bGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVTb29uKCkK
ICAgICBpZiAoZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlUGVuZGluZygpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2V4aXRDb21wb3NpdGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2V4aXRDb21wb3NpdGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0
aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKaW5kZXggZjNkYWVm
Yzc4NzZkOTgzYmUxNWM5YmJjMmRhYWMxODI1ZThhYmMyNy4uYTMyODk1MmM1NDM3NDE4ZDVhNDk2
YzNlNGUyYjI3ZjBkNTA2ZTEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTE1NSwxMSArMTU1LDExIEBAIHZvaWQg
Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6c3luY0Rpc3BsYXlTdGF0ZSgpCiB9CiAKICNpZiBFTkFC
TEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi1kb3VibGUgQ29tcG9zaXRpbmdDb29yZGluYXRv
cjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QKK1NlY29uZHMgQ29tcG9zaXRpbmdD
b29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QKIHsKICAgICAvLyBB
Y2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBzcGVjLCByQUYgY2FsbGJhY2tz
IHNob3VsZCBub3QgYmUgZmFzdGVyIHRoYW4gNjBGUFMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJs
ZSBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgPSAxLiAvIDYwLjsKLSAgICByZXR1cm4gc3Rk
OjptYXg8ZG91YmxlPigwLiwgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gdGltZXN0YW1w
KCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGltZSk7CisgICAgc3RhdGljIGNvbnN0IFNlY29u
ZHMgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zID0gU2Vjb25kcygxLjAgLyA2MCk7CisgICAg
cmV0dXJuIHN0ZDo6bWF4PFNlY29uZHM+KDBfcywgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25z
IC0gU2Vjb25kcyh0aW1lc3RhbXAoKSArIG1fbGFzdEFuaW1hdGlvblNlcnZpY2VUaW1lKSk7CiB9
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdD
b29yZGluYXRvci5oCmluZGV4IGY5OGEzNmJjMjdhN2YyYmNlMTc3ZDEyN2NmOTdmNjlkYmUxYzc1
MWEuLmViZjY1YmI3ZjljZGI3ZWNlMjdiY2YwMTAzMzc1ZDRjZmQ4ZTIzODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTg3
LDcgKzg3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3luY0Rpc3BsYXlTdGF0ZSgpOwogCiAjaWYg
RU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotICAgIGRvdWJsZSBuZXh0QW5pbWF0aW9u
U2VydmljZVRpbWUoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRBbmltYXRpb25TZXJ2aWNlVGlt
ZSgpIGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCA5ZjZhODMyMWUz
ZjI1MWFhNWUzNmU1MzcxOGQ4Y2FhOTc3ODA5NTZhLi5jNDdiYjA3Y2Q1ZDVmMjYwN2U4Mzc1ZWEw
ZDViZTQ3MmM2NDRhNTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIGlmICghbV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9s
YXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2xheWVyRmx1c2hUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6
OmNhbmNlbFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXggNTRiNGVhZDk4M2Y3NTZi
ZDE0OGUxYWY0Y2JlZDY0NzM5ODA3OTQyZC4uMGQxYjUxMDEwNjg1MTg1ZjgwMzE5ZTkwOGJlY2Y3
NDhjYTU1OGIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM0Miw3ICszNDIsNyBAQCB2b2lkIERyYXdpbmdB
cmVhSW1wbDo6c2NoZWR1bGVEaXNwbGF5KCkKICAgICBpZiAobV9kaXNwbGF5VGltZXIuaXNBY3Rp
dmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kaXNwbGF5VGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERy
YXdpbmdBcmVhSW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU4YmM4ODlkY2EwM2ViZGExMmFhNjQw
ZDkzOTVhMjllNmVhNWNlMmQuLjViYThjYTk0ZWNkMjFkYjgzZDlmMThlMTM1ZDAzZWE4MTUwN2Y2
ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
QEAgLTI1Myw5ICsyNTMsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcGFnZVNjcm9sbEh5c3RlcmVzaXNTZWNv
bmRzID0gMC4zOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW5pdGlh
bExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyMCB9Owotc3RhdGljIGNvbnN0IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMiB9
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGFnZVNjcm9sbEh5c3RlcmVzaXMgPSAwLjNfczsKK3N0
YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsID0g
MjBfbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJ
bnRlcnZhbCA9IDJfczsKIAogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKC4uLikgUkVM
RUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVycywgX19WQV9BUkdT
X18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoLi4uKSBSRUxFQVNFX0xP
R19FUlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5ZXJzLCBfX1ZBX0FSR1Nf
XykKQEAgLTMxNSw3ICszMTUsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwg
Y29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIo
KnRoaXMpCiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlz
dGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3Bw
ZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzU2Vjb25k
cykKKyAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRl
IHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9w
cGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzKQogICAgICwgbV9jYW5SdW5C
ZWZvcmVVbmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5jYW5SdW5CZWZvcmVVbmxvYWRDb25m
aXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMuY2FuUnVuTW9kYWwpCiAj
aWYgUExBVEZPUk0oSU9TKQpAQCAtMjA2Miw3ICsyMDYyLDcgQEAgdm9pZCBXZWJQYWdlOjpjYWxs
Vm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycygpCiAKIHZvaWQgV2ViUGFnZTo6bGF5ZXJWb2xh
dGlsaXR5VGltZXJGaXJlZCgpCiB7Ci0gICAgYXV0byBuZXdJbnRlcnZhbCA9IDIgKiBtX2xheWVy
Vm9sYXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsTVMoKTsKKyAgICBhdXRvIG5ld0ludGVydmFs
ID0gbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbCgpICogMjsKICAgICBib29s
IGRpZFN1Y2NlZWQgPSBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKTsK
ICAgICBpZiAoZGlkU3VjY2VlZCB8fCBuZXdJbnRlcnZhbCA+IG1heGltdW1MYXllclZvbGF0aWxp
dHlUaW1lckludGVydmFsKSB7CiAgICAgICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RvcCgp
OwpAQCAtMjA3MSw3ICsyMDcxLDcgQEAgdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1l
ckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0VSUk9S
X0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMg
dm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIHN0YXRpY19jYXN0PGxvbmcg
bG9uZz4obmV3SW50ZXJ2YWwuY291bnQoKSkpOworICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FM
TE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRp
bGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgbmV3SW50ZXJ2YWwudmFsdWUoKSk7CiAg
ICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhuZXdJbnRlcnZhbCk7CiB9
CiAKQEAgLTIxMDIsNyArMjEwMiw3IEBAIHZvaWQgV2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxl
KHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBt
YXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMs
IGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsLmNvdW50KCkpOworICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xh
dGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5
VGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0YXJ0
UmVwZWF0aW5nKGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKTsKIH0KIApAQCAt
MjU0MSw3ICsyNTQxLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVJc0luV2luZG93KGJvb2wgaXNJ
bml0aWFsU3RhdGUpCiAgICAgICAgIC8vIGluIG9yZGVyIHRvIGdldCBwbHVnLWluIGNvbm5lY3Rp
b25zLCBhbmQgdGhlIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIGZvciB0aGUgV2ViIHByb2Nl
c3MgdG8gdXBkYXRlIHRoZSBiYWNraW5nCiAgICAgICAgIC8vIHN0b3JlIGFmdGVyIG1vdmluZyB0
aGUgdmlldyBpbnRvIGEgd2luZG93LCB1bnRpbCBpdCB0aW1lcyBvdXQgYW5kIHBhaW50cyB3aGl0
ZS4gU2VlIDxyZGFyOi8vcHJvYmxlbS85MjQyNzcxPi4KICAgICAgICAgaWYgKG1fbWF5U3RhcnRN
ZWRpYVdoZW5JbldpbmRvdykKLSAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhZ2VEaWRF
bnRlcldpbmRvdyhtX3BhZ2VJRCk7CiAgICAgfQpAQCAtMzg3Myw3ICszODczLDcgQEAgdm9pZCBX
ZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZpZXcpCiAgICAgbV9oYXNT
ZWVuUGx1Z2luID0gdHJ1ZTsKICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQU0hPVFRFRF9QTFVHSU5f
SEVVUklTVElDKQogICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjog
dHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBhZGRQbHVnaW5WaWV3KCVwKSIsIHBsdWdpblZpZXcp
OwotICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luVGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtNDQxMCw3ICs0NDEwLDcgQEAgdm9pZCBX
ZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wgbWF5U3RhcnRNZWRpYSkK
IAogICAgIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9IG1heVN0YXJ0TWVkaWE7CiAgICAg
aWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyAmJiBtX3BhZ2UtPmlzSW5XaW5kb3coKSkK
LSAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBX
ZWJQYWdlOjpydW5Nb2RhbCgpCkBAIC01MTg4LDcgKzUxODgsNyBAQCB2b2lkIFdlYlBhZ2U6OmRp
ZEZpbmlzaExvYWQoV2ViRnJhbWUqIGZyYW1lKQogCiAgICAgbV9yZWFkeVRvRmluZFByaW1hcnlT
bmFwc2hvdHRlZFBsdWdpbiA9IHRydWU7CiAgICAgTE9HKFBsdWdpbnMsICJQcmltYXJ5IFBsdWct
SW4gRGV0ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGRpZEZpbmlzaExvYWQgKG1h
cmtpbmcgYXMgcmVhZHkgdG8gZGV0ZWN0KS4iKTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFw
c2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1h
cnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2Vsc2UKICAgICBV
TlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlmCkBAIC01MjAwLDcgKzUyMDAsNyBAQCBzdGF0aWMg
Y29uc3QgZmxvYXQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luU2VhcmNoQnVja2V0U2l6ZSA9IDEu
MTsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luTWluaW11bVdpZHRo
ID0gNDAwOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5NaW5pbXVt
SGVpZ2h0ID0gMzAwOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFByaW1hcnlTbmFwc2hvdHRl
ZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzID0gMjsKLXN0YXRpYyBjb25zdCBpbnQgZGVmZXJyZWRQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDM7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5ID0g
M19zOwogc3RhdGljIGNvbnN0IGZsb2F0IG92ZXJsYXBwaW5nSW1hZ2VCb3VuZHNTY2FsZSA9IDEu
MTsKIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtT3ZlcmxhcHBpbmdJbWFnZVRvUGx1Z2luRGlt
ZW5zaW9uU2NhbGUgPSAuOTsKIApAQCAtNTMwOCw3ICs1MzA4LDcgQEAgdm9pZCBXZWJQYWdlOjpk
ZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgIGlmICghY2FuZGlkYXRlUGx1
Z0luKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjog
ZmFpbCAtIGRpZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBwbHVnLWluLiIpOwogICAgICAgICBpZiAo
bV9udW1iZXJPZlByaW1hcnlTbmFwc2hvdERldGVjdGlvbkF0dGVtcHRzIDwgbWF4UHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMpIHsKLSAgICAgICAgICAgIExPRyhQbHVn
aW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICVk
cy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKKyAg
ICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBh
dHRlbXB0IGFnYWluIGluICUuM2ZzLiIsIGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
RGV0ZWN0aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAgICAgICBtX2RldGVybWluZVByaW1hcnlT
bmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChkZWZlcnJlZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA5MDlkMmY5
MTI2NmNkOGZkNTE5NjE4ZWQwZDFjNTdlMDkyZmZjNTk4Li43NWJmNDZiMjNlMzk3Yzg1MTQxODRl
MGZlMWJhYjQ2MDlhYTc5YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKQEAgLTMwMCw3ICszMDAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0Fsd2F5
c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEFjdGl2ZVBvcHVwTWVudShX
ZWJQb3B1cE1lbnUqKTsKIAotICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0lu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKKyAgICB2b2lkIHNl
dEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCiAg
ICAgewogICAgICAgICBtX3BhZ2UtPnNldFRpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxp
bWl0KGxpbWl0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpp
bmRleCA1YTY3MzM0ZDhhYTNhNDYxYjMzOGUwYjhlYTg0MDcxZGRjOGQwN2Q0Li45MWQ4YTU2NTFm
ODc2MDM1ODQzMTRlYzZkZmZiMTI3MzE4ZGNjZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEubW0KQEAgLTI4NSw3ICsyODUsNyBAQCBUaWxlZEJhY2tpbmcqIFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhOjptYWluRnJhbWVUaWxlZEJhY2tpbmcoKSBjb25zdAogCiB2b2lk
IFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVz
aEltbWVkaWF0ZWx5KCkKIHsKLSAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMG1z
KTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2go
KQpAQCAtMzA0LDkgKzMwNCw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNj
aGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKICAgICBpZiAobV9sYXllckZsdXNoVGltZXIu
aXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgYXV0byBpbml0aWFsRmx1
c2hEZWxheSA9IDUwMG1zOwotICAgIGNvbnN0IGF1dG8gZmx1c2hEZWxheSA9IDE1MDBtczsKLSAg
ICBhdXRvIHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lz
SW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVs
YXkpIDogMG1zOworICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZsdXNoRGVsYXkgPSAwLjVfczsKKyAg
ICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxLjVfczsKKyAgICBhdXRvIHRocm90dGxlRGVsYXkg
PSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90dGxlZExheWVy
Rmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDogMF9zOwogICAgIG1faXNJ
bml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA9IGZhbHNlOwogCiAgICAgbV9sYXllckZsdXNoVGlt
ZXIuc3RhcnRPbmVTaG90KHRocm90dGxlRGVsYXkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5t
bSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggZjRlZWEwMWZlNmVhNTcxYzNiNWNiNDMwZjljMTg3NDNj
ZTlhNDBjYy4uY2NjZjFhYzIwNTU3OGRjNGNhYzVmMThmZGExOThmYzdlN2QxZDA0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBAIC00NzIsNyArNDcyLDcg
QEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWN0aXZpdHlTdGF0ZURpZENo
YW5nZShBY3Rpdml0eVN0YXRlOjpGbGFncwogICAgIH0KIAogICAgIGlmIChtX3dhbnRzRGlkVXBk
YXRlQWN0aXZpdHlTdGF0ZSB8fCAhbV9uZXh0QWN0aXZpdHlTdGF0ZUNoYW5nZUNhbGxiYWNrSURz
LmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjpkaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBkZDAwYTE4ZDliNjIxNjVkOTM2MmE5ODJlNGZl
NzY1ODg3MWU1MTlhLi4yNjMyZGJhZmIyNGM2NzJiNWNlMzQ1NDFjNTg0ODhmZDY5ODA2MmU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE0Miw3ICsxNDIs
NyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHN0YXRpYyBjb25zdCBkb3VibGUgcGx1Z0lu
QXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgPSAyOSAqIDI0ICogNjAgKiA2
MDsKIAogLy8gVGhpcyBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRpbGVSZXZhbGlkYXRpb25UaW1l
b3V0IGluIFRpbGVDb250cm9sbGVyLgotc3RhdGljIGNvbnN0IGRvdWJsZSBub25WaXNpYmxlUHJv
Y2Vzc0NsZWFudXBEZWxheSA9IDEwOworc3RhdGljIGNvbnN0IGF1dG8gbm9uVmlzaWJsZVByb2Nl
c3NDbGVhbnVwRGVsYXkgPSAxMF9zOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjExLDcg
KzIxMSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgICAgICBpZiAobV9zdGF0aXN0
aWNzQ2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IAotICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6Y2hy
b25vOjpzZWNvbmRzKDUpKTsKKyAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0
T25lU2hvdCg1X3MpOwogICAgIH0pOwogfQogCkBAIC01MzgsNyArNTM4LDcgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQogICAgIHVuc2lnbmVkIGNhY2hlVG90
YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwog
ICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAg
ICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAgICAgdW5zaWduZWQg
cGFnZUNhY2hlU2l6ZSA9IDA7CiAgICAgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhjYWNoZU1v
ZGVsLCBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hlTWluRGVhZENhcGFjaXR5LCBjYWNoZU1heERl
YWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgcGFnZUNhY2hlU2l6
ZSk7CiAKQEAgLTEyNDQsMTAgKzEyNDQsMTAgQEAgdm9pZCBXZWJQcm9jZXNzOjpkZWxldGVXZWJz
aXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW8KICAg
ICB9CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0lu
Y3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKK3ZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsKICAgICBm
b3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpCi0gICAgICAgIHBhZ2UtPnNldEhp
ZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMobWlsbGlzZWNvbmRzKSk7CisgICAgICAgIHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KTsKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggMmE5NjQxYmZkNTRlODM0
NzgyODRkNjVhNWVhMzU3MWExZjI3YjViOS4uMzMzZmRiNmMxNjU1OWI5ODNjNzc1NjZkYjM4MzRl
ZjdjNGY5MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTE4
OCw3ICsxODgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZUFjdGl2ZVBhZ2VzKCk7CiAK
LSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBt
aWxsaXNlY29uZHMpOworICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQoU2Vjb25kcyk7CiAKICAgICB2b2lkIHByb2Nlc3NXaWxsU3VzcGVuZEltbWluZW50
bHkoYm9vbCYgaGFuZGxlZCk7CiAgICAgdm9pZCBwcmVwYXJlVG9TdXNwZW5kKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggNmQ3
NmU1ODMyNmVkMzUyNGFhYzVhOTg2YzQ5OTA2NzhhNTI0MTY2Yi4uMjU5MDQ0OThhNmU0YTk3MDZi
MWZjMWQ2NjliMWUxYzZiNzgyMDI4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtODAsNyArODAsNyBAQCBtZXNzYWdlcyAtPiBX
ZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEZWxldGVXZWJzaXRlRGF0YShXZWJDb3Jl
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+
IHdlYnNpdGVEYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQg
bW9kaWZpZWRTaW5jZSkgLT4gKCkKICAgICBEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2Vi
Q29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFU
eXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRh
PiBvcmlnaW5zKSAtPiAoKQogCi0gICAgU2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3Jl
YXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKKyAgICBTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRs
aW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogICAgIFNldFByb2Nlc3NTdXBwcmVzc2lv
bkVuYWJsZWQoYm9vbCBmbGFnKQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFNldFFPUyhpbnQg
bGF0ZW5jeVFPUywgaW50IHRocm91Z2hwdXRRT1MpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTZlMDU4YWU3ZGJkOTNjODFjMzc0NWVmNDY5ZGFl
NTRjZmMzYjYzYS4uYTM2MzZjM2ZhZmQyMGVlZDJjYmZkYTU0N2ZmOTg5M2M5NGZkOTkwZSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTYtMTItMDQgIEd5dXlvdW5nIEtpbSAg
PGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBhIGJ1aWxkIGJyZWFrIG9u
IEVGTCBzaW5jZSByMjA5MzAzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvUnVuTG9vcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29w
LmNwcAppbmRleCAxZGM3ZTkzOGE3NmU5OTRiZTk3Njk4ZWU4MDVjYzZmZmVkNmZlM2RiLi41YTQ4
OTI4ZmNiNWYwODIxNjE4YThkMmE0N2FhNTE4ZmJkZDNiNTYzIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApAQCAtOTUsNyArOTUsNyBAQCBURVNUKFdURl9SdW5M
b29wLCBPbmVTaG90VGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1lcih0
ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydE9uZVNob3QoMC4xKTsKKyAgICAgICAg
dGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNo
ZWQpOwogICAgIH0KIH0KQEAgLTEyOSw3ICsxMjksNyBAQCBURVNUKFdURl9SdW5Mb29wLCBSZXBl
YXRpbmdUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVyIHRpbWVyKHRlc3RGaW5p
c2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDEpOworICAgICAgICB0aW1l
ci5zdGFydFJlcGVhdGluZygwLjAxX3MpOwogICAgICAgICBVdGlsOjpydW4oJnRlc3RGaW5pc2hl
ZCk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296131</attachid>
            <date>2016-12-04 23:24:36 -0800</date>
            <delta_ts>2016-12-05 09:21:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161204232357.patch</filename>
            <type>text/plain</type>
            <size>386375</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZThlNTQyZjhiY2IxNzdmMjQ1NWEyOTczNzllNzg4NGQ5YTg1OGVmLi5mODJmNzE0ODNmMDAzMDQ0
YTIzNmNlNGUyZTA1OGQ5OTUwMjc5YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6
OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKToKKwogMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHog
YW5kIHBvcGNudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCA0ZjEyZWQzNGQ4NGU3MzgyMjViMDUwYzk3YmEyYmYxZTM1NjRmNGQ0
Li5hNjMyNjk2NWI5ZjJjNTY3MTU3YWIwOTJiZmVhNmQ0M2QyMWVlMGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAg
ICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJh
c2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvY2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdU
Rjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAg
ICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5M
b29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5j
cHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAq
IHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnQpOgorCiAyMDE2LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFN5bWJvbEltcGwgbGF5b3V0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZmFmYzg3YzQ3ZmM3NTJkNmMyMGI5ODkwNTU3ZTdmM2E2NTZmMDJmZC4uNzFmNDUwYjY4MDk5
YjA5M2YxNWFmZmI4NTFmMTE0NGZlNWYxNjIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyNyBA
QAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91Ymxl
cyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
Tm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6
OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpz
dGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZUNvbXBsZXRlZE9wZXJhdGlv
blRpbWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3Ap
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24p
OgorICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZp
c3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVs
ZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVu
dERlbGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29r
aWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRF
dmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5x
dWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01p
Y3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
Y2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRp
b25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNsZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFsdGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6
CisgICAgICAgICogZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0
b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVu
dFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vl
a1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRl
KToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnJlc3VtZSk6CisgICAgICAgICogaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICAoTWVk
aWFDb250cm9sbGVyOjpjdXJyZW50VGltZSk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlRXZlbnQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRh
dGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBo
dG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVudDo6
bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MpOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9u
OjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6CisgICAgICAgICogaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRT
dGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0
VG9IaWRlTWVzc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpsb3NlQ29udGV4dEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCk6
CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6c2NoZWR1bGVGb3JS
ZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6cmVzdW1lKToK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6
OnVwZGF0ZVNpemVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZU
VFJlZ2lvbjo6c3RhcnRUaW1lcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hl
ZHVsZUZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpkaXNwYXRj
aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjp0aW1l
ckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTZWdtZW50KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0
YUxvYWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1
YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5nRXZlbnQpOgorICAgICAgICAqIGxv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRp
b25TY2hlZHVsZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSk6CisgICAgICAgICogbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNhbGxiYWNr
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpDYWxs
YmFjayk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpwcnVuZVNvb24pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAg
ICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAgICogcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFu
Z2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjp1c2VyR2VzdHVyZVRv
a2VuVG9Gb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0pOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVGltZXI6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgICogcGFnZS9ET01UaW1lci5o
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0SW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VD
b250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjpN
YXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlv
blRyYWNrZXI6On5NYXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3Vz
ZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0
YXRlVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpwYXJzZUV2ZW50
U3RyZWFtTGluZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBh
Z2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUu
Y3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZW5hYmxlU3BlY3Vs
YXRpdmVUaWxpbmdJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
dXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5k
YWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6
c3RhcnRPbmVTaG90KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmlj
YXRpb25UaW1lcik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFy
dFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlKToKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
bik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldp
bmRvdy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJ
bmRpY2F0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1p
dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgor
ICAgICAgICAqIHBsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpIeXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3Nl
ZFBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
OjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6
OlRocmVhZFRpbWVycyk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJl
ZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50
ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0
ZWRFdmVudExvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NU
aGFuRnVuY3Rpb246Om9wZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpU
aW1lckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjpuZXh0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tD
b25zaXN0ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6
aGVhcFBvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cjo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vj
b25kc1RvTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJ
bnRlcnZhbE1TKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bV9sYXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0
U25hcFJ1YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVy
OjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXApOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dh
bWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW06CisgICAgICAgICog
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQWRkZWQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRlcm5h
bFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpu
ZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dC
bHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRj
aEJ1ZmZlclB1cmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250
cm9sbGVyOjpzZXRJc0luV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVy
OjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24pOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2
YWxpZGF0ZVRpbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29o
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxF
eHBpcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExh
c3RVc2VUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcDoKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpz
ZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoVmlkZW9SZW5kZXJSZXF1ZXN0U2NoZWR1bGVyOjpyZXF1ZXN0UmVuZGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVhZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFk
ZEFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JH
dGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycyk6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkxlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAg
ICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbik6CisgICAgICAgICogcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyTGludXguY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJh
clBhaW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRD
b250ZW50QXJlYVNjcm9sbGVkU29vbik6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjphdXRv
c2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrOjpzZXRPcmllbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRNb2Nr
Ojphc3luY1VwZGF0ZVBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25D
bGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNC
eU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJG
aXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9k
dWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWspOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJh
c2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGlu
Z1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9y
ZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGlu
Z1JlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxs
KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hcnF1ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
cnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6
Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6
Om1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJl
cGFpbnQpOgorICAgICAgICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRT
b29uKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgor
ICAgICAgICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAg
ICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6ZXZlbnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxh
eWluZ0lucHV0Q3Vyc29yLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZH
TG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29u
dGFpbmVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8p
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50
ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJl
cXVlc3Q6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnBy
ZXBhcmVUb1NlbmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIw
MTYtMTItMDQgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQ
YXJzZXJdIEVsaW1pbmF0ZSBpbi1wbGFjZSBsb3dlcmNhc2luZyBpbiB0aGUgcGFyc2VyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA2NjJjYTI0MTk1YWM0YjQ2MzFjMTczMjNhZTQxZWFmZjJjM2FhOTRjLi4zNmRiNGNk
NWNlZDk2NTk3MzEzNDVmZWE5ZmE3OGM2OTMyN2JkMDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VU
cmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChX
ZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVu
ZGluZ1JlcXVlc3RzKToKKwogMjAxNi0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdW1dLMV0gSW1wbGVtZW50IG5ldyBIVE1MIGludGVyYWN0aXZl
IGZvcm0gdmFsaWRhdGlvbiB1c2VyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGVjMTU5
MmNmYjA2NWNjNzk4NTI2ODMzZmJjYmZhMWIwMDVjZmU5MzIuLjllOTg2NWUxZjU2OWJjY2NlMmM3
NDYyNDZkZTNmM2E2ZDY0MzI4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBv
ciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omxv
YWRSZXF1ZXN0KToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
OgorICAgICAgICAoV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBf
c2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxNi0xMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHRoZSBiZWhhdmlvciBvZiBzY3JvbGwt
aW50by12aWV3IHdoZW4gdGhlIHRhcmdldCBpcyBpbnNpZGUgcG9zaXRpb246Zml4ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2ZTFkN2FiZTJlLi5h
Yzk5Y2ZkYzZmYTQwYjJlNWJlNjRmOTdiODk3NDNmN2FhZjVmNTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAg
ICAgKiBQbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
UGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblN0cmVh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAg
ICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
c2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6a2VlcEFsaXZlKToK
KyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZh
bGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJWaWV3OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYlZpZXc6OmNsb3NlV2luZG93U29v
bik6CisgICAgICAgIChXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisKIDIwMTYt
MTEtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dURl0gSW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdU
Rjo6T3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1NGVmM2JlNTJmMGNjNGZmNjhiMGZmYjBiMWMzMDA0
MjU0MzJmNWU5Li45YTgzYTgzZDU3YWMzOTU0NjQ3ZTQ0OTRlYmZkNzZmZThjYjEwNWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTY3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkg
U2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVG
YWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+
OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNz
OjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9k
ZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRUZXJtaW5hdGlvblRp
bWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVy
Ojppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgorICAgICAgICAqIFNo
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06CisgICAgICAgIChBUEk6
OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKToKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJv
Y2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVy
Ojpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxs
eUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6
OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNv
b24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdp
blZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbklu
V2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVs
eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAxNi0xMi0wMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gRXhwb3NlIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudCB2aWEgdGhl
IE9iamVjdGl2ZS1DIGJ1bmRsZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdl
NmViNTBhYzRiMDY0NWNjOWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFj
OTU3NTNlMTk5MTE3MmE0NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdh
cmJhZ2VDb2xsZWN0aW9uKEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNv
bGxlY3Rpb25FdmVudHNUYXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9S
dW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhi
Y2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4uNjNkMGM3OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZj
NDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtODgsMTAgKzg4LDggQEAgcHVibGljOgogICAgICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGljaXQgVGltZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgflRpbWVyQmFzZSgpOwogCi0gICAgICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdElu
dGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50
ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQotICAgICAgICB2b2lkIHN0
YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFsc2UpOyB9CisgICAgICAgIHZvaWQgc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1
ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
c3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2
YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQo
U2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CiAKICAgICAgICAgUnVuTG9v
cCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIu
aCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCmluZGV4IDM3ODBlNzZjMDMxMzEwNGFl
YzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLjZjNGZkNmVjMWE4MDVjNDEzNDA2MGY0N2U3NjQ2NDhk
NDdhZDc4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGlj
OgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFp
ciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxl
UGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJs
ZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJ
bnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAg
dm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsg
fQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNo
b3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMyZTIzYmE3YmY5NTczYzMx
YjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5Yzg4NTIwZWZlNWJlYTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiArNTIsMTIgQEAgc3RhdGlj
IHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dCkKICAgICB0
aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBSdW5Mb29wVGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxp
ZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9
IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRp
bWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgbV90
aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLnZhbHVl
KCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZvaWQgUnVuTG9vcFRpbWVy
QmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVsZVBhaXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThhOTg2ZGU5MjNlODcyOTI0
NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5OGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nm
L1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQp
CiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAgICAKICAgICBDRlJ1bkxv
b3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIENGVGlt
ZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZpcmVJbnRlcnZhbCA6IDA7
Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLCBy
ZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKKyAgICBDRlRpbWVJ
bnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwudmFsdWUo
KSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVy
dmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkp
OwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3AuZ2V0KCksIG1fdGlt
ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3NGM2NzUwZGFlNTk2Li42
MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZWZsL1J1
bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1bkxvb3A6OlRpbWVyQmFz
ZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1lci0+bV9pc1JlcGVhdGlu
ZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwogfQogCi12
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0aXZlKCkpCiAgICAgICAg
IHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgQVNTRVJUKCFtX3Rp
bWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwsIHJl
aW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCksIHRoaXMpOworICAgIG1f
dGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZWludGVy
cHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKIH0KIAogdm9pZCBS
dW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2Vu
ZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BH
ZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQxNjdlYzdiNWZkYTI2NjM4
Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEyICsyNjMsMTIgQEAgUnVu
TG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQor
dm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRhc2sgPSBTY2hlZHVsZWRU
YXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAgICB9LCBTZWNvbmRzKGlu
dGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVwZWF0aW5nKTsKICAgICBt
X3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNrKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1NjI3OGJhNmI3ZmYwMjFj
MGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0Njg3ODEzNjMzYTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQg
UnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAgIGdfc291cmNlX3NldF9y
ZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0KIAotdm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9p
ZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUludGVydmFsLCBib29sIHJl
cGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRp
b248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWxEdXJhdGlvbiA9IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBh
dXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29uZHM6Om1heCgpOwogICAg
IGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAgICAgICBzYWZlRHVyYXRp
b24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRz
PihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5M
b29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcAppbmRleCA0YjQ1
YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAyMWY3ZGI0Y2EyYTI4YjE5
ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVu
TG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCkBAIC0x
NTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0
b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIG1faXNSZXBlYXRp
bmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJzLnNldChtX0lELCB0aGlz
KTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNzYWdlV2luZG93LCBtX0lE
LCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRUaW1lcihtX3J1bkxvb3Au
bV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbC5taWxsaXNlY29u
ZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBmYWYyMTIwMmExMzBiOTJl
NWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLjYwYTk3NzhmYTY2OTdhZjViMWMxNWE3NDI3YzgyY2M3
MTEyZDZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IGNl
Yzk3Y2M5MDJlNDUwNjg5N2ZlZmJkM2VhZTJmOTc5MDdhYWNjMTYuLjU4NmM1OTY4NjFkYWI3MGRk
YzJiNjg2MWMyYzcxNjgxNzU5YTM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01OSwxMyArNTksMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBHZW9Ob3RpZmll
cjo6cnVuRXJyb3JDYWxsYmFjayhQb3NpdGlvbkVycm9yKiBlcnJvcikKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7CiAgICAgaWYgKG1fb3B0aW9ucy0+aGFzVGltZW91
dCgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX29wdGlvbnMtPnRpbWVvdXQoKSAv
IDEwMDAuMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHMobV9vcHRpb25zLT50aW1lb3V0KCkpKTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6
c3RvcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKaW5kZXggODVhZTQwZjYzNDE3NTMyNzE2NzJmM2EzNzdmZTk5M2RmNGEz
MThjMC4uYzA5YzM3OWIwMjk2NDNkYTkwY2Q4YzU2NDc0M2E3MTU1MDZmMGZkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAg
LTE5OCw3ICsxOTgsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQogICAgIEFjdGl2ZURP
TU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDA1ZGEwMmZiMjkwNzJjNWM1MGRjNmJiZDUxZmEwYjdlYzk2
NTk0ZDUuLmNiODFiODk0OGJkMGJhMGEyNWE3MTYwNzMxZDVkZWI0YzRmYTNlYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
QEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZVBlbmRpbmdP
cGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNl
LT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQpA
QCAtNDQyLDcgKzQ0Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlQ29tcGxldGVk
T3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFz
ZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVkT3BlcmF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9wZXJhdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggOTkxMDE1N2MyZDhiOWE4YTli
NTk2ZTI0N2I1YmMwYzVjYTdjMGZkNS4uZmJkYTFhZDEwMmE4MDUxN2E1YjlmMmI0ZDcxNWRjOWI4
OGUwMDhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNDk0LDcgKzE0OTQsNyBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpOwogCiAgICAgaWYg
KCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9X
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3YTMzNjlmMTBlNTMwZTRkYzg3ZTcxN2Q1
Njc1ZjcwOTExM2I4MGU5Li5jOTdhNDQ0ZDllOWJhMDA4YmJkNGQ2MmI2ZmIxYWE0OTdmZGM0NzQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGFza0RlbGF5SW50ZXJ2YWwg
PSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGFza0RlbGF5SW50ZXJ2YWwgPSAw
LjFfczsKIAogc3RydWN0IENsaWVudFN0YXRlIHsKICAgICBleHBsaWNpdCBDbGllbnRTdGF0ZShX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQsIHVpbnQ2NF90IGNvbnRleHRJZCkK
QEAgLTQyMyw4ICs0MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZmluZChX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQsIHVpbnQ2NAogCiB2b2lkIFdlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogewotICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gNjAgKiA2
MDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kID0gOCAqIDYwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IFNlY29uZHMoNjAgKiA2MCk7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSBTZWNv
bmRzKDggKiA2MCk7CiAKICAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tU
YXJnZXQtPmhhc0FjdGl2ZVJvdXRlKCkpIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3Ao
KTsKQEAgLTQ0MiwxNCArNDQyLDE0IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29u
ZmlndXJlV2F0Y2hkb2dUaW1lcigpCiAgICAgfQogCiAgICAgaWYgKHN0b3BUaW1lcikgewotICAg
ICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMDsKKyAgICAgICAgbV9jdXJyZW50V2F0
Y2hkb2dJbnRlcnZhbCA9IDBfczsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAg
ICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lciAtIHRpbWVyIHN0b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUg
aW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgYXV0
byBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBp
ZiAoaW50ZXJ2YWwgIT0gbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1Rp
bWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNo
b3QoaW50ZXJ2YWwpOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIs
IGludGVydmFsKTsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwg
aW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCA9IGludGVydmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1
N2Q1OGVmOTE0Y2IyM2YxOTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRj
NmQ0NmExM2FkM2MxZjExYjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0x
MDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4g
bV9wbGF5YmFja1RhcmdldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlv
blRhc2tzIG1fdGFza0ZsYWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWwgeyAwIH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
OwogICAgIGJvb2wgbV9leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3RhcmdldENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2Vy
RW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBh
YWZjMjFlMDU1Mjg0Yi4uZDY0ZWM2M2UzNTE0ODE0ZmFjMzUxMzBmYzExMzkyNzI0YTYzNjBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92
YWwoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8g
NS4gUmV0dXJuIGNvbnRyb2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBz
dGVwcyBhc3luY2hyb25vdXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0Owog
ICAgIG1fcGVuZGluZ1JlbW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFNvdXJjZUJ1ZmZlcjo6YWJvcnRJZlVwZGF0aW5nKCkKQEAgLTUzMyw3ICs1MzMsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkudXBkYXRl
c3RhcnRFdmVudCk7CiAKICAgICAvLyA2LiBBc3luY2hyb25vdXNseSBydW4gdGhlIGJ1ZmZlciBh
cHBlbmQgYWxnb3JpdGhtLgotICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICByZXBv
cnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkNTJhNDhhNTNkYWUyODhjODQ3
MTlmZGMxZTFlZWJkNDdlZTZlNTcuLjFmOWY3MTAzZGUyZWM5ZWYxNTk2OTgyMjhmMjUwMzIyZTk5
ODQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1
bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hlZHVsZWRBY3Rpdml0eUV2ZW50cy5hcHBl
bmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogCiAgICAgaWYgKCFt
X2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FjdGl2aXR5RXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50VGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCA1ZGQyZjFlNDFjZjUxMjI5NmQ3NGQyMGMxYmQ3YzQ4YmIyYjIy
ZDc5Li5hMmJlZmM1NDQ2M2ViZjQzNTAxYmI2MTM4ZGRlZDc1MzBkYjQ0YTU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlzcGF0Y2hF
dmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdU
Rk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBS
VENEVE1GU2VuZGVyOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCAw
NTFjNzAxNDlhZTJkYTEyZTYwMGE0MDUwZjA5YzFlYzhiZmQ1NzU2Li4yZGJjYWYxZjIxYmZkNDk4
ODAwNzBhM2Q4M2RiOGFlYTgyZTJlYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMjM3LDcgKzIzNyw3IEBA
IHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYg
ZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKIAog
ICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc2No
ZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2NoZWR1bGVkRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkx
Mjg3NWFiZjgwYjJkZGRlODM3YTdlNy4uYmI4NzE5ZDgyZjUyMDg2YTBlNDNiN2QwZTg0OGIxODIy
OGRhZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIC8v
IEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNo
b3VsZCBub3QgYmUgY2hhbmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCiAgICAgLy8gQnV0IHRoZSBy
ZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0
IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7Ci0gICAg
bV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3
NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGViZmUwLi45MjVlYjk2YTMxYzM4OGU2NjU4N2M5
OWM1NDZkZTg5MzdlZjY0NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQs
NyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZv
aWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNE
ZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBy
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVmcyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0
b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgfQogICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
ICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IDg2MDkxNDIwOWM4YmIzNDI4MDQwYWExNGZjOWZj
ZDAzZDBkZDVjNTkuLjMzYjAyMjBlOTQ3Zjg0MzcwNjI3YjE2MjExZTZlYzI0OTA5ZWQxYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAt
NzYsNyArNzYsNyBAQCBib29sIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0
ZXJuJiBwYXR0ZXJuKQogCiAgICAgbV9wYXR0ZXJuID0gc2FuaXRpemVkOwogCi0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBt
X3N0YXRlID0gU3RhdGU6OldhaXRpbmc7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBWaWJyYXRpb246OnRpbWVyRmlyZWQoKQogICAgICAgICBtX3ZpYnJhdGlv
bkNsaWVudC0+dmlicmF0ZShtX3BhdHRlcm5bMF0pOwogICAgICAgICBicmVhazsKICAgICB9Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9wYXR0ZXJuWzBdIC8gMTAwMC4wKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fcGF0dGVyblswXSkp
OwogICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggYmVkOTM2MjY3ZDU2ODRmYzc4ODE3
MDkxZjExZjA3YzQ1ZWFiM2I3OS4uMDhlMTJhMTYwMWM4YTI0ZTZhYjZjMjI0NDYyN2QxMGFkYzRm
MjkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6cmVzdW1lKCkKICAgICAg
ICAgbV9jaGFubmVsLT5yZXN1bWUoKTsKICAgICBlbHNlIGlmICghbV9wZW5kaW5nRXZlbnRzLmlz
RW1wdHkoKSAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIEZpcmUg
dGhlIHBlbmRpbmcgZXZlbnRzIGluIGEgdGltZXIgYXMgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4
ZWN1dGUgYXJiaXRyYXJ5IEpTIGZyb20gcmVzdW1lKCkuCi0gICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCmluZGV4IDgwZGJiNGJhMGVlM2IyYzQ3MzNjODFkMmUxYjg1OTdkOGJiZTc4YzQuLjY4Y2My
YzA2YjU4YjNlYjIyNWQ4MDJkY2VmZjRjOTJmMjkxNzc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4
aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpX
ZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCYgY2xpZW50LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZk
b2N1bWVudCkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Nl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5l
bD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhh
bmRzaGFrZSBtYXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBk
ZXJlZmVyZW5jZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAg
ICAgaWYgKG1fY2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1l
KTsKKyAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50
TGlmZXRpbWUgKiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0
cmluZyYgcmVhc29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
cmVzdW1lKCkKIHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVy
LmlzRW1wdHkoKSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQx
ZTgyMDVhMTE2MTJmMGRhZjg0MTBiOGU2MzE4OThhMWUyNmMwNzQuLjBmNGUxMWM1ZmI0YjJiMTE5
MmQ2NmU3ZWIxYWZiMjMxZmU5OTEyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdl
IG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQg
aW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMg
b2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nl
c3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOwor
c3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRp
b25JbnRlcnZhbCA9IDAuMDI1X3M7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5TGl2ZVJl
Z2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDJfczsKIAogQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9y
ZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVu
dCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3VzbHkpIHsKICAgICAg
ICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihvYmplY3QsIG5v
dGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iamVjdCwg
bm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBkMzYxYzJjYzRiMjQ5ZmYwODM1ODJlMjUuLmU2
ZTY1NjkwZDNiMmQxYmU0ZDEzZDkwZGRjNDA1NzFmOTIzYzE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEdD
Q29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29uKCkKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewogICAgIGlmICghbV9HQ1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fR0NUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdjVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAyNTY3MWMxZGUwOWI1NTBiZDcx
OWM5Y2Y1Yjk1OGU1ZmIyMjU1NjRkLi5kZGI4ZjhiM2M0MTgyMDE4OTBmODBjYzBmNmNlZjNjYmQx
YmJkYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTQ5Nyw3ICs0OTcsNyBA
QCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5ld1N0YXR1cykKICAgICB9CiAK
ICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykKLSAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDAgOiAz
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3
YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBpZiAobmV3U3RhdHVzID09IFN0
YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKaW5kZXggZTg0OTg4ZWJlMDZiNmY1NmUyMmM3ZmUyNDZjNmRhNGJlYmZiNmEyYi4uNDQwNDFk
NjNhNzBiZDY5ZWEyMjM2NDBiZDUwYzVhMzMyZjE1NzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9udCYgZm9udCkKICAgICAvLyBhZnRlciB0
aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBiZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4g
QmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRU
aW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQoKS4KICAgICBtX2RvY3VtZW50LT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVlc3RDb3VudChmb250KTsKLSAgICBtX2Jl
Z2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2JlZ2luTG9hZGluZ1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2Fk
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKaW5kZXggYTc1MjgzYTJiMjdjM2RlZDhkOTQzMTJkZTA0YTQxNThlZWNjMmY5My4uNGQ0
MDYxNzI2MzljNDllZmQ3NzUyYWRmZWEzZjkzZGU1YTZmOWY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMzksNyArMzksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbWVUb0tlZXBDYWNoZWRH
ZW5lcmF0ZWRJbWFnZXMgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRpbWVUb0tlZXBDYWNoZWRHZW5lcmF0ZWRJbWFnZXMgPSAzX3M7CiAKIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNz
VHlwZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCAxMGY2NWMzY2ViYzViNmFmZGEwMGMwMGU3M2RjYjhlYjQyYWJlNjVkLi45
YjFhYTBiMzFiZDE0MWVlOTgyNzAyZDVhODZjZDQzMzA2Y2FiNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM3LDEwICsxMjM3LDggQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBjb25zdAogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25D
YWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVkUHJv
cGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0aW9u
Q2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzCi0gICAgICAgICYmICFtX21hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7Ci0g
ICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1h
dGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKLSAgICB9CisgICAgICAg
ICYmICFtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KDYwX3Mp
OwogCiAgICAgQVNTRVJUKGhhc2gpOwogICAgIE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIGNh
Y2hlSXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZlZTU3OTI1YTE2ODk3ZjBlYTUy
OWEzZDg4MjlkODBkZWRmNzE4NTcuLjA5OTBkZTI2ZWI5MDRiOTljNTg0YzE4MjBiMWE1OWUwMzI2
MzU4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1OCw3ICsxMjU4LDcgQEAgdm9p
ZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxs
b3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSk7CisgICAgICAgIG1fdmlz
dWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2V0dGluZ3Mo
KS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSkpOwog
CiAgICAgaWYgKCF2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTc0
NSw3ICsxNzQ1LDcgQEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYygpCiAgICAg
Ly8gRklYTUU6IFdoeSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMgaXMgY2xlYXJseSBtaXNw
bGFjZWQuCiAgICAgaW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAgIAotICAgIG1fc3R5bGVS
ZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVs
ZVN0eWxlUmVjYWxjdWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lk
IERvY3VtZW50Ojp3cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9j
dW1lbnQpCiAgICAgd3JpdGUoV1RGTW92ZSh0ZXh0V2l0aE5ld2xpbmUpLCBvd25lckRvY3VtZW50
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwo
KSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJUaHJvdHRsaW5n
RW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0
CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hl
ZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudEludGVydmFsID0g
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNyw4ICs1MDI3LDggQEAgdm9pZCBEb2N1bWVudDo6
ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGluc2VydGVkIGNv
bnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9ucy4KICAgICAv
LyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBhY2Nlc3Mgc2lu
Y2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAgICAvLyBhbGl2
ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNldHRpbmcgLmlu
bmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0IGludCB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMg
PSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMp
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxp
dmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAg
YWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJl
bG9hZHMoKTsKQEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7CiAgICAgaWYgKCFt
X3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50
OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25G
b3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6
V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNj
aGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRp
bmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNjcmlwdFJ1bm5lcigpLT5yZXN1
bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNvbik7CiAgICAgcmVzdW1lU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBAIC01Njg3LDcgKzU2ODcsNyBA
QCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUgKDApOwogCiAgICAgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxlbWVudCA6IGRv
Y3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCkKQEAg
LTU4NTQsNyArNTg1NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5kaWRCZWNv
bWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiog
cmVuZGVyZXIpCkBAIC02MDU3LDcgKzYwNTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRM
b2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsKIAogICAg
IGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2ZW50RGVs
YXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCgpCkBAIC02
NzAxLDcgKzY3MDEsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChF
bGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NvY2lhdGVkRm9ybUNv
bnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2NzIxLDcgQEAgdm9pZCBEb2N1bWVu
dDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNvb2tpZXMpCiAgICAgQVNTRVJU
KCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNoZWRET01Db29raWVzID0gY29v
a2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlkIGF0IG1vc3QgdW50aWwgd2Ug
Z28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNvb2tpZUNhY2hlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTBlMmI4MzkyMmNhOWExZWExMzUyMjg0ZDYzMDE3Zjc5
ODEzMDI0MC4uYWYyYWM3ODAyYWFiNjAwZDNjMGY2NTgzYjljNzM3MTVhY2UxZDcwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwg
SlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2
YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJB
bGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZp
bmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRN
YXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVUaXRsZUZyb21U
aXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJl
Y3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXgg
OWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4uYmQ5M2JhNjJjZTZlMjIx
ZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1bWVudEV2ZW50UXVldWU6
OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBtX3F1ZXVlZEV2ZW50cy5h
ZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3RpdmUo
KSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4NzJkODVhMWE0NTUxYWQwMTk5
MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYzNjkyYmZlZTFlNzBjOWFiMDJj
NmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNjYsNyArNjYsNyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbihU
JiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFwcGVuZCgmc2VuZGVyKTsKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5
MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3ODAyNTUyMTY5ODk2MDIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90
YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAg
ZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rhc2smIHRh
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5YzczZGQ5
ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1YmxpY1VSTE1h
bmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQogICAgIHJl
dHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
b2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFk
anVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFsdWVzKCkp
CkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RN
aW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9CiB9CiAK
LXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQgaW1wbGVt
ZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWluaW11bSB0
aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRlZApAQCAt
NDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGlnbm1lbnRJ
bnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29uZHMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAog
ewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBjOTI5OGQz
MmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIwZThhZjRk
OGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25kcy4KLSAg
ICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0
TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7Cisg
ICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKICAgICB2
b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNo
ZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lckFsaWdu
bWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CiAKICAg
ICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdkMDlhNDA0
OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5M2Q5ODEwZGJkM2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3Jp
cHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7CiAgICAg
aWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1
bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKQEAgLTEw
MCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1Nj
cmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBl
bmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1NjcmlwdCktPnB0cigpKTsKICAg
ICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Ny
aXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRhNjc0MDE5
NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYxZjEwMjgz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2NoZWR1bGVE
ZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1bWVudC0+
ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVUaW1lc3Rh
bXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVsZURlbGF5
KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVkdWxlRGVs
YXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1bWVudC0+
dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2N2Y5Njg0
MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzljN2RmNWRiZjJkMGI5YjJmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBAQCBzdGF0
aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hl
KCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0YXRpYyBjb25zdCBpbnQgbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOworCiBj
bGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5UaW1lci5z
dGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwogICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBt
aW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAxMDA7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lLnZh
bHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENvdW50Owog
ICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWluaW11bVBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCBk
NWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42OWU5ZTNmZGRhZmVhZmJi
YmY3MTYxMTU1ZWJmMWJkMDdjZWEyNTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcigpCiAK
IHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRp
bWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ycmVj
dGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBhdXRvIGNvcnJlY3Rpb25Q
YW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAoIWlzQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVmYzE3YTM3Li4z
YmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZhMjJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246
OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0gICAgICAgIG1f
dGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2UodHJ1ZSk7CkBA
IC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogICAgIG1fZWRpdG9y
VUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRHcmFtbWFyID0gb3B0aW9ucyAmIEZy
YW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAmJiAhKG9wdGlvbnMgJiBGcmFtZVNl
bGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsKICAgICBtX2VkaXRvclVJVXBkYXRl
VGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6
RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCA2NzU5ZmYx
NzdmZTc2NzFjYmIxNjkzNWViMzYxMGQyYTU2OTdiNzg2Li44NzRiZDY4NmE2OWQ0ZGQyNWI1ZmE3
NmFmM2EyY2I1ZGQyM2NlZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcApAQCAtMjA1MCw3ICsyMDUwLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBC
ZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBp
biB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3VsZEJsaW5rICYmICFtX2NhcmV0Qmxp
bmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9
IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAg
aWYgKGF1dG8gYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJs
aW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0
aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRm
Y2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2NlMGM5YzdiYWM1MTliZmI1ODQ1Y2IzYmU3
M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2
LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNv
bnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdS
ZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAg
ICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3VjY2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0
IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFhN2I5MjUxMzQxMGU0MDZmNDM0NWRjODNj
ZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBhZGNiYTkzYTZiZDVkMGZhMjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2
b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxl
dGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMg
QVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3VzbHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5k
IGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzZGRh
N2E3YWMzZmY4NmFjNDk2MDVjNWQ3M2ZlYmRmYmRkYmNjMGJiLi5mMTJiYTUxMGJhMTQyNjIyYTgy
MTFkY2RhNzMyZWRjNDY4YzJlYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVsYXkgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNj
YW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrVGltZSA9IDAu
MjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41Owogc3RhdGljIGNv
bnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIEhp
ZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNl9zOwogCiBzdGF0aWMgdm9pZCBz
ZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtOTM3LDcgKzkz
Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKERlbGF5
ZWRBY3Rpb25UeXBlIGFjdGlvblR5cGUpCiAgICAgaWYgKGFjdGlvblR5cGUgJiBVcGRhdGVQbGF5
U3RhdGUpCiAgICAgICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBVcGRhdGVQbGF5
U3RhdGUpOwogCi0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAgLTk0NSw3ICs5NDUsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKICAgICAv
LyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3VyY2U+IGVsZW1lbnQgV0lU
SE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgogICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCVwKSAtIHNldHRpbmcg
JXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3VyY2UpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBMb2FkTWVkaWFSZXNvdXJj
ZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVu
ZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoY29uc3QgTWVkaWFQ
bGF5ZXIqKQpAQCAtMTk4NCw3ICsxOTg0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFy
dFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBp
dCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAg
LTMzNzEsNyArMzM3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhT
Y2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2Fu
UmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09
IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRp
bWVyLnN0YXJ0KDBfcywgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2Nh
blJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRTY2FubmluZygp
CkBAIC0zNDEwLDcgKzM0MTAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZp
cmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZl
bnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3
ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhU
aW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c3RhcnRQbGF5YmFja1Byb2dyZXNzVGltZXIoKQogewpAQCAtMzQ1Nyw3ICszNDU3LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChib29sIHBlcmlv
ZGljRXZlbnQpCiAgICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0
VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCi0gICAg
aWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5KQorICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeS52YWx1ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTb21lIG1l
ZGlhIGVuZ2luZXMgbWFrZSBtdWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFja3MgYXQgdGhl
IHNhbWUgdGltZSwgYnV0IHdlIG9ubHkgd2FudCBvbmUKQEAgLTQzODgsNyArNDM4OCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbihkb3VibGUg
cG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0NTcyMTk+IGZv
ciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9z
aXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0b3AoKTsK
LSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjUp
OworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAu
NV9zKTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNT
Y3J1YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYu
LjE1MTBjNTg5ZmRlZDJiMWUzOTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBI
VE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAg
ICBtX2Rpc3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxh
eWluZ1NuYXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50KSAmJiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBS
ZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRk
VXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjky
ZTM3MjgwZjNmOTk5NjdmY2IwYTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQzMzdkZGQzMGY5
YjIzNjczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwCkBAIC03MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQ
YWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3Rh
cnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBz
aG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0
YXRpYyBjb25zdCBhdXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyRGVsYXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXN0
YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFwc2hv
dFRpbWVyRGVsYXkgPSAxLjVfczsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHRpdGxl
VGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFjMGMzNjVhZjgx
NWU3ZjYzOWYuLmVkYWUwYzRjYjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUsNyArMTI1LDcg
QEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkKICAgICBpZiAo
bV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9l
cnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5k
aW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVu
dDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNvdXJjZUVsZW1l
bnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJl
c3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3Nob3Vs
ZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4ZDdiNDhhOWJh
MjQxYjRjNDcxZDU3OWY1NWU4YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRiMmE1NjJmNmM2
NDVlYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTE3
OCw3ICsxNzgsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBz
IGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8g
cnVuIHRvIGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50
Ojpsb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAK
aW5kZXggOTU0MDUyNTA5ZWI3ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uNmZiZjQ2YTNm
NzU2NTQ4ZTFiMDMzYzBkOWYxMDY4YTUxNjQwZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlh
Q29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9j
ayhDbG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4
dCkKICAgICAsIG1fdGltZXVwZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hl
ZHVsZVRpbWV1cGRhdGVFdmVudCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQog
ewogfQogCkBAIC0xNDgsNyArMTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVu
dFRpbWUoKSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlk
VGltZSgpKSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lk
ZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6
bWF4PGRvdWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUo
KSkpOwotICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAg
IHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9s
bGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAg
IG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0
cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQoKQpAQCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVy
OjpyZXR1cm5Ub1JlYWx0aW1lKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGlj
IHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAi
MTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29u
c3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBhdXRvIG5vdyA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIGF1dG8gdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91
c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVu
dEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNkMi4uYTkx
OTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwot
ICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRpbWVJbk5l
eHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBmZmUuLmNkNjZkMjg0
MDU4MmZiNDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6bWVk
aWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBsZXQgdGhlIHBsdWdp
biBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhpcyAKICAgICAvLyBm
dW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBlbmdpbmUgY2FsbGJh
Y2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRoZSBlbGVtZW50LCBt
ZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVs
ZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNkYTMuLjNk
MjU4YjYyNjM1YTAzYjE5NThjNGM4Zjc4YTJmNGExY2U5MzI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50
Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNv
bnRlbnRDaGVja0ludGVydmFsID0gMjUwX21zOwogCiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRSZWN0
TW9zdGx5SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogc3RhdGljIGJvb2wg
aXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50
JiwgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlk
Q2hhbmdlKGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Np
b246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCVwKSAtIGhhc1Rhcmdl
dHMgJXMiLCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDogIkZBTFNFIik7CiAKICAgICBtX2hh
c1BsYXliYWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAgbV90YXJnZXRBdmFpbGFiaWxpdHlD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4
ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUs
NyBAQCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAg
IC8vIEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAg
IC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4y
IGZyb20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwog
fQogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBj
YmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFiMmE2ZDVkN2FmMzA5MjA4Y2I0Yjdi
ODI3N2EyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNz
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApA
QCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBl
bHNlCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZh
bGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1l
ci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBA
IC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFu
ZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkg
KiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
c3RkOjptYXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9u
IC8gMTAwMC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBWYWxpZGF0
aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogCiAgICAgLy8gV2UgbXVzdCBub3Qg
bW9kaWZ5IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQgYnkgdGhlIHNhbWUgcmVhc29uIGFz
IHNldE1lc3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRo
aXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgbV90aW1lci0+
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBi
b29sIFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9k
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgwNzU2MDU1ZTU5Njk3ZDg5MTZhZDM0
OTRhNjI0YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZlODJiMmQzMTA5MjJhOGM5ZWE5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citj
b25zdCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMV9zOwogY29uc3QgaW50
IG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2
NjYsNyArNDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRl
eHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMg
ZGVmZXIgdGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVu
dAogICAgIC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rp
c3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3Bh
dGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQpAQCAtNDY4Myw3
ICs0NjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9yZVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApAQCAtNTYxNCw3ICs1NjE0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZl
bnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIG1fcmVzdG9yZUFs
bG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIGlmIChtX2NvbnRleHRMb3N0
TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxsb3dlZCkKLSAgICAgICAgbV9y
ZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXli
ZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVmUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUobV9hdHRyaWJ1dGVz
LCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRl
eHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBtX3Jlc3RvcmVUaW1l
ci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgICAgICAg
ICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRz
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkgc2hvdWxkbid0IGhh
cHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUgV2ViR0wgYXBwLgog
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDI4MzM3
ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJlYTAyN2E5
MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBIVE1M
UGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAgIC8vIEZJ
WE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3Rl
YWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBh
Z2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2Vy
LmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVlTmV4dENo
dW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBi
b29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5nU2NyaXB0
KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVs
ZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9jb250aW51
ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAg
cmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBt
X2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVO
ZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWEx
ZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUuLjVlMjllNjdkY2ZiZmIyMGJjMjNi
ZjUwNDkxZjViNzg5ZWRiZTA0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlz
IHJlcXVpcmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVs
LAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0
aGUgYm90dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQg
dHJhbnNpdGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRv
Y3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6
IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5w
YWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAg
IG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTE4OCwx
MCArMTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkK
ICAgICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24gPSBkb2N1bWVu
dCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlP
cGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3Bh
cXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxF
bGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsK
KyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2Uo
KS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQ
cm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlU
cmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwor
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24s
IGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyArMTMz
Niw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0
aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFj
a3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRp
YUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9h
ZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRmNWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0MGYz
My4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcxZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcgKzU4
LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJs
KQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGls
ZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUg
Zm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1v
ZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdl
MjIzZGQ0MzZjMDdkNTFiNi4uNjY2Njk0NzVhMGJlY2UyNzcwODIxZDEzNmJhODAxOTdlNzc3Mzc3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9
IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocyku
Ci1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc2Nyb2xsVGltZSA9IDQzM19tczsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxU
aW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggM2Q1NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uNmI1NmMxOGYyYWRl
ZjI3NzFlY2RlMDlmN2Y0NzA3ZTdkMTBjOTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFu
Z2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZs
b3csIGludCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnRO
b2RlSWQpOwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxv
dyogbmFtZWRGbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHAKaW5kZXggODNhMDI0YmNkZGQyMTMwOTc4NzU5ODcyMjQxMjcxZTBhOGZiM2YwZi4u
OTEyNzI2MmFlODhhY2NiYjRlNGVlMWY4NjE3ZDlkMzJmNDFlOGNkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogewogICAgIG1fZWxlbWVudHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZXZhbGlkYXRlU3R5bGVB
dHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA4YTM1YTE3
OWViOGJmNTliNGJjMDk4ZGM2ZWRjOTBjZGUwZGEwNTkzLi41MThhYWRmN2QxMjI2OGE0N2Y4ZjJi
NTMwOWZjM2Y1NDFhZTg1MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC04MCw3ICs4MCw3IEBA
IHB1YmxpYzoKIAogICAgICAgICBtX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKTsKICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAg
ICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogICAgICAgICAgICAg
bV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKG1f
bWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9tZXNzYWdlcy5pc0VtcHR5
KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAKaW5kZXggNWZjYTMxMGQwMGFjMjFkYzdiNjFiZTBhOWZlMDU1YzhiN2Y3YWFkOC4u
MTg2ZTcwMGJkYTJlYjI4NjBlMTUzNDJjNDU2NDEyNTBkNTVkMGU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTA5LDggKzUwOSw4IEBA
IHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCiAgICAgbV9wYWludFJlY3RzLmFwcGVuZChUaW1lUmVjdFBhaXIocmVtb3ZlVGltZSwgcm9v
dFJlY3QpKTsKIAogICAgIGlmICghbV9wYWludFJlY3RVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzID0g
MC4wMzI7Ci0gICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFp
bnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyk7CisgICAgICAgIGNvbnN0IGF1dG8gcGFpbnRS
ZWN0c1VwZGF0ZUludGVydmFsID0gMzJfbXM7CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGlt
ZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAg
ICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2RjNzhkMTI0YWRjZTE4
YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgwMjEzNTg2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3Bw
CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBs
YXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMKIAogICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQog
ICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQt
PnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAgICAgICAgLnNldFF1
ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyZDNjZDk1MGUzMTg0Mzkz
N2I4YjcwNWQzMTc1NGIzOGFhMzNiODU5Li45MGNlZTYyNjZhYWFjOTE2YzZiMjllYzQ2YTlmMTQ2
ZDE2ZDY2NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0
YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQog
ewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kYXRhTG9hZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJTUVSKQogICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJhbWUtPnBhZ2UoKS0+
c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkoKQogICAgIGlm
IChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJkNTU0
Mzc3YjE2NDUyNGE0NmYwMDExYjYyOTNkNmMxODg5NTFlYzYuLmIzZjY0M2FhZjFlZjNkMjc0ZTQ3
YTNjMGI2NjBiMWRhNjM0YjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
OjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLjc3OWJm
NzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0g
JmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50
VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJiYjU3NWI0ZTUuLjJi
ZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwogCiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb0ZvcndhcmQo
KSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91cmwsIGRlbGF5
KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9y
d2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91
cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCkudmFs
dWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0b3BU
aW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBAIC0y
NzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsK
IAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0
dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVk
KG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVl
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGlt
ZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtNTM5
LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjllNmVhYjY1ZjU2ZTI0
ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNlNjI5ODU0ODJmZDg1
NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7
IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNz
SXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8vIENoZWNrIGlmIHRo
ZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55IGhlYXJ0YmVhdHMg
bXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRoZSBsb2FkIGlzIGN1
cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRTdGFsbGVkSGVhcnRi
ZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApp
bmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4Li5iMjY2YzMzMTNi
MmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIG1f
Y3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpAQCAt
MTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdpb25zUGFyc2VkKCkK
QEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFy
c2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYx
N2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMwOTAxYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGlt
ZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUg
dGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGY2ODBjYzRmOTVk
MmVmNjQ3NDQ4ZDU1OWM5ZWM4OWY0OTNhMDlhOTkuLjY2YTlmOGYxZmM0YmFkZTNkYmYwZDUxZmFk
NzdjY2JjMjZhNjNhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUp
CiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JS
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0
KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTQyLDcgKzU0Miw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBp
ZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hl
OjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkK
KyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTksNyArODE5LDcgQEAgaW5saW5lIENhY2hlZFJlc291
cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBDYWNoZWRS
ZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIoKnRoaXMsICZDYWxs
YmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJm
M2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNjNjEyYWE5ODZjZTQz
ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJm
b3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMg
YSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzku
LjkxMDA3NDcxMWQyNzE5OTg4YzMzZDI3MTMzMDIzNjgwZDA5MGUwODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9
IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVj
b2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1
bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hp
Y2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMg
Y29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJv
bm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNpbmds
ZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZSgp
CiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAgIGlmIChtX3BydW5lVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAgICAgIHJldHVybjsKLSAg
ICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4ZjI4MmJlNThkMTcwZC4u
NzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisgICAg
dm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRvIHB1
dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAgdm9p
ZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5OSw3ICsxOTksNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5EZWFk
Q2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CisgICAg
U2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25l
ZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBi
eSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRTaXpl
OyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIgcmVz
b3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAzMGY1ZjY5NGUzMGJiMmQu
LjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0
aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMgZXhwaXJl
IG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9uVGltZSA9
IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1OyAK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1X3M7CiAKIHN0YXRpYyBi
b29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3ZDMxNWVkZmJmOWM1MGUw
YTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFkZmI5NzcyMzQ0NGRlYmQw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKQEAg
LTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGRvdWJsZSBh
dXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBh
blNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1h
a2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAu
MDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1X3M7CiAK
ICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQuLjAw
MDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJl
bmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXgg
OThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNWQ2Y2Q0OTM4NDVjZGJl
ODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0
aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJp
bmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhv
ZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBv
cgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0g
ICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
U3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKaW5kZXggYTk2OWQ5NDhlN2UzOWMwMjY5YzVhMzBmZjljZDAxN2M5MmRk
OTU4Yy4uMzI0NzYxNzMwNTI4YjQ0MzAxMDc1ZGRmOTk5NjBhMWYzYmE0NDhkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGlu
ZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0IGF1
dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBtczsg
Ly8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IDFf
czsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
SW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDFfczsgLy8gRW1waXJp
Y2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMgY29uc3Qg
aW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJlU3RhdGUg
ewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1lcnNNYXA6
OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBib29sIHNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
LCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2Vy
R2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJldHVy
biBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICAgICAg
JiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcKICAgICAg
ICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJkZWQg
dG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVU
b2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVydmFsLCBp
bnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGlu
dGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE3NSwx
MiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVzZXJHZXN0
dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6OkRPTVRp
bWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwg
Ym9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihj
b250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZlbCgp
KQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5hbEludGVy
dmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkKICAgICAs
IG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkpCiAgICAg
LCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChp
bnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERPTVRpbWVy
Ojp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91dCwg
Ym9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBhc3NlcyBv
d25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNvbnN0cnVj
dG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21hdGljYWxs
eSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAgLTIxMCw3
ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVmZXJUaW1l
b3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAgICAgIGlm
ICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2luZ2xlU2hv
dCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IDEwMF9tcyAm
JiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShX
S0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9i
c2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlm
IG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3
LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3Bl
bmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRp
bWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7Cisg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGlt
ZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVl
KCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBp
bnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRU
aW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIx
IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VS
VChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhE
T01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20g
JSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhp
cywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFs
KTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBl
YXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwg
dGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1
cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVy
dmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxp
bmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVy
dmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90
dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50
VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2
YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9N
aW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAg
QVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1
dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0
byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAv
LyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9u
ZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBA
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1zdGQ6Om9wdGlvbmFsPHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBmaXJlVGltZSkgY29uc3QKK3N0ZDo6b3B0aW9uYWw8TW9ub3Rv
bmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lIGZpcmVUaW1l
KSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwgPj0gbWF4VGlt
ZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAwbXMpCisgICAg
U2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7CisgICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBfcykKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byBpbml0aWFs
aXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91
YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3Jj
ZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJl
dHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBlLmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRv
IHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVu
dEludGVydmFscywgZS5nLgogICAgIC8vIGlmIGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCBy
YW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAu
Li4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6
ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJh
bmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRG
aXJlVGltZSAlIGFsaWdubWVudEludGVydmFsKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9t
aXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRl
cnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uOworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRG
aXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0
ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChhZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVw
b2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50
ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OwogfQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggMzlhMDQ2
MWRhZWVlZTI1ZWFiYTMzOTk2ZTdhMGRjOGRkOTFhNjc4NS4uODI4YjY0YjAwOWJiMjIxOTE1ZWM3
YWRiYTZhYTc0OGUxYWY2NjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0
LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+
LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGlt
ZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5p
bXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAg
ICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50
ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWlu
aW11bUludGVydmFsKCkgeyByZXR1cm4gNF9tczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1
bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDBfczsgfQorICAgIHN0YXRpYyBTZWNvbmRz
IGhpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDFfczsgfQogCiAgICAgLy8g
Q3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgc3RhcnRzIGl0CiAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBp
bnQgaW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5n
bGVTaG90KTsKKyAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2
YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApA
QCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRl
cmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01U
aW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CisgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwog
ICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0
bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdT
dGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZFN0b3AoKSBvdmVycmlkZTsKLSAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25p
Y1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fdGltZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90dGxlU3RhdGUgbV90
aHJvdHRsZVN0YXRlOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9jdXJyZW50VGlt
ZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IG1f
dXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJv
dHRsZVN0YXRlIHsgVW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYTljMDNjNDcxOGY5ZTJiY2I0MGM4YzE2
ODI2YjllYzc1OWZmOTcxYi4uMjNjYTIzNzVmYzk1ZTc5YjA3ZjlhMjZiNzc3NmI4ZTRhNGRjODE5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTY0LDcgKzk2NCw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cmIGNhbGxlCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBh
dXRvKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBtZXNzYWdlLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBzb3VyY2VPcmlnaW4sIGNhbGxlcldpbmRvdywgY2hhbm5lbHMucmVsZWFz
ZVJldHVyblZhbHVlKCksIFdURk1vdmUodGFyZ2V0KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0g
ICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMTY1NCw3ICsxNjU0LDcgQEAgRXhjZXB0aW9uT3I8
aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwor
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBET01X
aW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4Niw3ICsxNjg2LDcgQEAg
RXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxT
Y2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgq
Y29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVv
dXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0MzA5NTYzNDk2MjJh
ZTJlMTlmZDViNzYwMzg1Yzk1OTA0Y2MuLmVmZWYzNmJhMGY3OTIxOTk5NjI3ODU1NGEyYTk1OGI1
OGM2MWU1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcApAQCAt
NDgsNyArNDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVu
ZXIoRE9NV2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkpIHsKICAgICAgICAg
bV9sYXN0RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlmICghbV90aW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhNzU0MjdjYTQ2YzcxZjll
NjEzNDM3YWYwOTdhM2VkYWIxYjdlZDFiLi5lOTMzYmI0ZTRiNTY1MGY1MTBiZmMwMDg1NjkyYzU3
NTk3ZTM5NTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUg
KzE1NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRp
bWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAog
Ly8gZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29u
dGVudCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVy
YXRpb25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVz
ZWQuCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsK
LWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRv
dWJsZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFr
ZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMV9zOworY29uc3QgU2Vjb25kcyBmYWtl
TW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlTG9uZ0ludGVydmFsID0gMC4yNV9zOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NV
UFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRl
IG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8g
YmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBj
dXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUlu
dGVydmFsID0gMC4wMl9zOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNpemUgPSAxMjg7CiAj
ZW5kaWYKQEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNzIE1heGltdW1EdXJh
dGlvblRyYWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNr
ZXIoZG91YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyKFNlY29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVyYXRpb24obWF4RHVy
YXRpb24pCi0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
KyAgICAgICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgIHsKICAgICB9CiAK
ICAgICB+TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAgICAqbV9tYXhEdXJh
dGlvbiA9IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3RkOjptYXgobV9tYXhE
dXJhdGlvbiwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBtX3N0YXJ0OworICAg
IFNlY29uZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0OwogfTsK
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykK
QEAgLTQ2Myw3ICs0NjMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogICAgIG1fb3Jp
Z2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1fb3JpZ2luYXRpbmdU
b3VjaFBvaW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0
aW9uID0gMDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDBfczsKICAgICBtX2Jhc2VF
dmVudFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBm
YWxzZTsKIH0KQEAgLTE4MjEsNyArMTgyMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1v
dmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBw
cm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3Io
bV9mcmFtZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25U
cmFja2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlciBtYXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAg
aWYgKG1fZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91
c2VFdmVudChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjkwMiw3ICsyOTAyLDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQg
RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9o
b3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVO
QUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDli
Y2FjNzJjN2UyMTYzMjEwOTE1ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUz
YjM2ODliNmEyZDUyYTY5NDg4ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtNTcwLDcgKzU3MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAg
fTsKKyAgICBTZWNvbmRzIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZl
bnQ6OlR5cGUgbV9iYXNlRXZlbnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAg
Ym9vbCBtX2RpZFN0YXJ0RHJhZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVl
bEV2ZW50IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggZDU1
NTVlZDJjMGZiNTdiOTYzYjdiNjAwMjE5ODcxNzEyNmY2NWZkNy4uYjdhMDRmNDg1Zjg5YzhjODlk
Y2RmY2ZhZWQxZDE5M2E5ZmRjOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRf
dCBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29u
ZHMgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDNfczsKIAogaW5saW5lIEV2
ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBVUkwmIHVybCwgY29uc3QgSW5pdCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQpAQCAtMTMyLDEzICsxMzIsMTMgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVD
VElORyk7CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBtX2Nvbm5lY3RU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKICAgICBt
X3N0YXRlID0gQ09OTkVDVElORzsKLSAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9y
ZWNvbm5lY3REZWxheSAvIDEwMDAuMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90
KG1fcmVjb25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZAogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAyYmUzZjlmMWI3NWQzOWQ1M2IyZmUzOTEyOTNmNThj
YzBmMTgyNzgyLi5hNGU3ZGQ5YWM0NzQzMzFjOGI3ZTNmZWE3NjNmMDE3ZTI3YzYzMGE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uNzJjMzM5
MTdmN2ZiYjJiM2NmOGM4MWEwZGEwOGRiMGU0NzUwNDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzNfcyk7CiB9CiAKIHZv
aWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggMzkxNDEyZTVmNDgwYWQ2ZDNjYjVkYzQ3NjE4MGY1ZGNhNWYzNWJlNy4uYzE5
NjkzN2IzYjg1MDRlNWYzOWE0NmRjYTlmMzJkMmZiNzg1OTlmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWduZWQgc2Nyb2xs
RnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsRnJlcXVl
bmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xP
QkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODA2MWI3NTE0ZDk2NmQ2YzcyNTJmZDAy
ZWMzY2RkMTA4NjEyMTJmOS4uOTIxODhjYjhkMjZhZTYxNmVjODhlNTIxNTc2YzY0ZDg2ZjY2NjIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYwLDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIC8vIGRl
ZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlciB3ZSByZXR1
cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1cyBuZWVkIHRv
IHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBjeWNsZSB1bmxl
c3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIgaGVyZS4KLSAg
ICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
ICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAg
ICB9CkBAIC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAg
ICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2
ZW50KCk7CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJv
dHRsaW5nRGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZl
YWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29u
dGVudFJlY3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw4ICsyODQxLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3Nw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIC8vIERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dl
ciBmdXJ0aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKLSAgICBtX3NwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkp
OworICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3QoMC41X3Mp
OwogfQogCiB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVk
KCkKQEAgLTM0MzEsNyArMzQzMCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91
dFRhc2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIu
CiAgICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0
ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
MGE3Mzk3OTg2MjQ2Yzc4MWE4Y2E5YjcxMjM1ZjAyNGZmOTQ3YzFkMC4uMTdlOWEzMDdlYTJlNWU1
YTcwMTBkM2UyNDVmMTkxMGJhODhjNWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcg
KzEyNDMsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0
bGluZ1N0YXRlIHN0YXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGlu
Z1N0YXRlID0gc3RhdGU7Ci0gICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVw
ZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAg
dm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBz
dGF0ZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsK
ICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAg
LTEyODQsOCArMTI4NCw4IEBAIHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpCiAgICAgICAgIGlmIChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFs
aWdubWVudEludGVydmFsID0gbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZS50aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPihzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJv
dHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVu
dEludGVydmFsID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRl
TGFzdENoYW5nZWRUaW1lOwogICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0
LCBzZXQgdGhlIHRpbWVyLiBJZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBp
ZiAobV90aW1lckFsaWdubWVudEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5j
cmVhc2VMaW1pdCkKICAgICAgICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAyMjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2ZWQ2ZGVlMTI0YjRi
Li4zNWZhNTExMWEwYjI2MWJjNGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjI1LDcgKzIyNSw3IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dy
ZXNzKCkgY29uc3QgeyByZXR1cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRy
b2xsZXImIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9s
bGVyOyB9CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAg
ICBTZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElB
KQogICAgIGVudW0gVmlld01vZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNob3dBbGxQbHVnaW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0g
c2hvd0FsbDsgfQogICAgIGJvb2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRv
bWF0aW9uOyB9CiAgICAgdm9pZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJv
bGxlZCkgeyBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02Njcs
MTAgKzY2NywxMCBAQCBwcml2YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01F
RElBKQogCiAgICAgVGltZXJUaHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7
IFRpbWVyVGhyb3R0bGluZ1N0YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSB7IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBN
b25vdG9uaWNUaW1lIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAg
U2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdu
bWVudEludGVydmFsSW5jcmVhc2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25k
cyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lz
RWRpdGFibGU7CiAgICAgYm9vbCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcAppbmRleCBlNzBiY2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5l
OTAyYjAyNThkMWUxODlhNjAwMzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRp
YyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZmFkZUFuaW1hdGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0
YXRpYyBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQog
ewpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0
aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9m
YWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRp
b25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAg
bV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFs
KTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEyZDVhMWZiY2RhYzdm
YTFiN2RlYzVkLi5lYjhmODE5NDU0MWFjZTg2NTlmZDUwMjNkYmFjNDJmNjRkZmM3MDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY5LDE1ICsxNjksMTUgQEAgc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlVG9M
b2FkVmlkZW8gPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgZG91YmxlIGRl
ZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7
CisKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKIHN0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYK
Kwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5h
YmxlZCA9IGZhbHNlOwogCkBAIC0yMTEsNyArMjExLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBh
Z2UqIHBhZ2UpCiAgICAgLCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2Vu
ZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0g
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisg
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykK
ICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjpp
bWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoZmFsc2UpCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5n
czo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGlt
cG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRo
ZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8g
cmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBt
b3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1h
Z2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBw
cmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElG
cmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGRO
b3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRN
aW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKQEAgLTQ1
Nyw3ICs0NTcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKQogCiAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50
cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwob2xkVGlt
ZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11
bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhvbGRUaW1lckludGVydmFsKSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdlZmUwZWVkOTFhMDQwMDlhZTE1N2Q1NDM2Nzg5
YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNkMmE0NzA0NjNkNTNmZmYwYmYwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAg
IGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1f
bmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFs
aXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMg
bWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91dEludGVydmFs
KFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJ
bkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KLSAgICBkb3VibGUgdGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVy
biBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CisgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNv
bmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpAQCAtMzI2LDcgKzMyNiw3
IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxp
ZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJs
b2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIFNlY29uZHMgbV9sYXlv
dXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwogCiAg
ICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0
ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
IDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1l
cjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFhYWE2YWU0
YmM1ZGZkZDQ2YjI0YzU3NjQzNS4uMjg3NjI4NmM4YzA3MThmODM2MmRhYmMxNWYyYmYzZDQxMWQw
ZjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMywx
MCArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3Bl
bmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
YXZlZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCgwKQot
ICAgICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcsNyBAQCB2
b2lkIFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVkID0gZmFs
c2U7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhTZWNv
bmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3ICsxMDgs
MjcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hv
dChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChT
ZWNvbmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zYXZl
ZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBpbnRl
cnZhbDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gMF9zOwogICAgIH0KIH0KIAotZG91YmxlIFN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKK1NlY29uZHMgU3VzcGVuZGFibGVUaW1lcjo6cmVw
ZWF0SW50ZXJ2YWwoKSBjb25zdAogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIHJl
dHVybiBUaW1lckJhc2U6OnJlcGVhdEludGVydmFsKCk7CiAgICAgaWYgKG1fc2F2ZWRJc0FjdGl2
ZSkKICAgICAgICAgcmV0dXJuIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMF9zOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50Rmly
ZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAg
ICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3
LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUg
ZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zYXZlZElzQWN0aXZlID0gdHJ1ZTsKICAg
ICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBkZWx0YTsKLSAgICAgICAgbV9zYXZlZFJl
cGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMF9zOwog
ICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1l
ckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcwOTM3ODUwYTNhNjkwMWY3MjBjNWRlMWY2MDk5
MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4NTU1MTc4MWEwMzY1ZDE5MzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00MywxNyArNDMsMTIgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZl
KCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3Vz
cGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKTsKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwotICAg
IHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpOwotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGlu
dGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3Q7CiAKLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwp
IHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZv
aWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3Rh
cnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhy
ZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29u
ZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRz
KGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAKICAgICB1
c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsOwogICAgIHVzaW5nIFRp
bWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEsMTEgKzY2LDExIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1l
KCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVuZGVkOworICAgIFNlY29uZHMgbV9zYXZlZE5l
eHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7CiAKLSAg
ICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7Ci0gICAgZG91YmxlIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZTsKKyAgICBib29sIG1fc3VzcGVu
ZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZl
bnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNl
Mzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2JmZTViODNlMmY1ZjljMDJiY2E0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3Rh
cnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1f
dGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIu
c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRl
c3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXgg
OWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgxZGFkMmY3NWNlZC4uYTg1YmFhYTg5NjNjNmVi
MGM0ZmMzMWQ3YTQzOTUzZThmZmYyZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTQ4LDggKzQ4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNBbmltYXRpb25U
aW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNCZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRpYyBjb25zdCBhdXRvIGFuaW1hdGlvblRpbWVy
RGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsKK3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRh
dGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3ICs3MSw3IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSYgZnJhbWUpCiAgICAgOiBt
X2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCp0
aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKKyAgICAsIG1fYmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAg
ICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCgwKQogICAgICwgbV93YWl0aW5nRm9yQXN5
bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCkBA
IC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qCiAKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0g
MDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlOwogCiAgICAgY29uc3QgQ29tcG9zaXRl
QW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0
KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21wb3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkg
JiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNBbmltYXRpb25zKCkpCi0gICAgICAgIHRpbWVUb05l
eHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOworICAg
ICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHMoY29tcG9zaXRlQW5pbWF0aW9uLT50aW1l
VG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkg
JiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSB8fCBtX2FuaW1hdGlvblRpbWVy
Lm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1lVG9OZXh0U2VydmljZSkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYKIAogdm9pZCBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0Q2hhbmdl
ZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hhbmdlZCovKQogewotICAgIGRvdWJs
ZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpOwor
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZlcnQgcmVzdCBvZiBhbmltYXRpb25zIGNvZGUgdG8g
U2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4KKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNl
ID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKSk7CiAKLSAgICBMT0co
QW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAl
LjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOworICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5p
bWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUuMmZtcyIsIHRpbWVUb05leHRTZXJ2
aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAgIC8vIElmIHdlIHdhbnQgc2VydmljZSBpbW1lZGlh
dGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcgdGltZXIgdG8gcmVkdWNlIHRoZSBvdmVyaGVhZCBv
ZiBzdGFydGluZwogICAgIGlmICghdGltZVRvTmV4dFNlcnZpY2UpIHsKLSAgICAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRl
cnZhbCgpID09IDApCi0gICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5n
KGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlz
QWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAg
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoYW5pbWF0aW9uVGltZXJEZWxheSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHNlcnZp
Y2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSB0aW1lciBpcyBubyBsb25nZXIgcnVubmluZwot
ICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDApIHsKKyAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwX3MpIHsKICAgICAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgICAgICByZXR1cm47CkBAIC0y
MjIsNyArMjIzLDcgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6ZmlyZUV2ZW50
c0FuZFVwZGF0ZVN0eWxlKCkKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0
VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKQogewogICAgIGlmICghbV91cGRhdGVTdHls
ZUlmTmVlZGVkRGlzcGF0Y2hlci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVN0eWxlSWZO
ZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVTdHlsZUlm
TmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4g
ZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiBy
ZW5kZXJlciwKIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
KTsKLSAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0g
YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJu
IG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsK
ICAgICBpZiAoIW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAg
ICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMy
Njg5OTAzNjNjNGZkMGY2ZDE2YTI3MWUzNjkuLjM3OGRlYjBiMTdmYWFlZGNiNTgzOGI2OGJmN2Nl
NzI5ZTBmM2E1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0KQEAgLTc4LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRj
aGVkU3RhdGVEZWxheSA9IDAuMV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJy
ZW50TlNFdmVudFNsb3QoKQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRm
b3JtV2hlCiAgICAgLy8gcmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3Ag
dGhlIHRpbWVyLCBsZWF2aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAo
IW1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAg
IGlmIChldmVudC5pc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVu
ZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3Rh
dGVUaW1lb3V0KTsKKyAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1l
ci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgLy8gSWYgYW5vdGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRo
ZSB0aW1lciBtYW51YWxseSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5
LgogICAgICAgICBpZiAoZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5k
ZXggNTVlNGQ2NTk1ZWViNjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZh
ZTdhMWU3MjdjOTQ0ZGVkZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAg
ICBib29sIG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVy
QnV0dG9uKSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vj
b25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCop
IGNvbnN0OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwog
CiAgICAgc3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0
KiBhLCBjb25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAK
ICAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFu
Z2VUaW1lOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0
U2VsZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAog
ICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0
OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1
OTY0OTliZGY2MTZlZDQyMTFiOWE1MjM4MTVlNjIuLmU4ODQ5Mjk0NmE1YmFlZTE2OTRlMDRjNTI2
NzY5NzQ0ZWI5NGVlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9y
PExheW91dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBt
X2lzVGV4dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dp
dGhHYXBSZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEs
NyArMzkxLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGln
aGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpidWlsZFBv
dGVudGlhbEhpZ2hsaWdodHNJZk5lZWRlZCgpCkBAIC00MzMsMTUgKzQzMywxNSBAQCBib29sIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYg
aGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBob3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNv
bmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFo
aWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAg
ICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAwbXM7Cisg
ICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDAuMl9z
OwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0aW9uKCku
c2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAgbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAgIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMV9zOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQg
PSBtX21haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5tb3VzZVByZXNzZWQoKTsKIApAQCAtNDQ5LDE1
ICs0NDksMTQgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICAvLyBieSB2aXJ0dWUgb2Yg
YmVpbmcgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgZW50aXJlIHRlbGVwaG9uZSBudW1iZXIuIEhv
d2V2ZXIsIHdlIHdpbGwgc3RpbGwgYXZvaWQgaGlnaGxpZ2h0aW5nCiAgICAgLy8gdGVsZXBob25l
IG51bWJlcnMgd2hpbGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgaWYgKGhpZ2hsaWdodC0+dHlw
ZSgpID09IEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSkKLSAgICAgICAgcmV0dXJuIG1v
dXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMG1z
OworICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24gOiAwX3M7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAg
ICAgYXV0byB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0
aW9uQ2hhbmdlVGltZTsKICAgICBhdXRvIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9
IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2lu
Y2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBU
aW1lOworICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwX3Mg
OiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsKIAotICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBt
aW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWlu
KHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFj
dGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1
cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOwor
ICAgIHJldHVybiBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6
bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hs
aWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVk
KCkKQEAgLTcyMyw3ICs3MjIsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAv
LyBoaWdobGlnaHQsIGFuZCBvbmx5IHJlc2V0IHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVz
aXMgd2hlbiB0aGF0IGNoYW5nZXMuCiAgICAgICAgIGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQg
IT0gbmV3QWN0aXZlSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHQgPSBuZXdBY3RpdmVIaWdobGlnaHQ7Ci0gICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAg
ICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hs
aWdodCA9IG51bGxwdHI7CkBAIC03MzQsNyArNzMzLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3Rp
dmUKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
U2hvdWxkQmVTaG93biA9IHRoaXMtPnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24obmV3QWN0aXZlSGlnaGxpZ2h0LmdldCgpKTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
OjpkdXJhdGlvbjo6emVybygpKSB7CisgICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID4gMF9zKSB7CiAgICAgICAgICAgICBtX2RldGVybWluZUFjdGl2
ZUhpZ2hsaWdodFRpbWVyLnN0YXJ0T25lU2hvdChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNzY2LDcg
Kzc2NSw3IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVudChQYWdl
T3ZlcmxheSYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVuCiAgICAgICAgIFJlZlB0cjxIaWdobGln
aHQ+IG1vdXNlRG93bkhpZ2hsaWdodCA9IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxw
dHI7CiAKLSAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKIAogICAgICAgICBpZiAobW91c2VJc092ZXJBY3RpdmVIaWdobGlnaHRCdXR0b24gJiYg
bW91c2VEb3duSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBoYW5kbGVDbGljayhtX21vdXNlUG9z
aXRpb24sICptb3VzZURvd25IaWdobGlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTRlMjBkMjI3NjhjODgyZTkwMGIxMmI0MWZl
MDJlY2RmYjQ4ZjYyOC4uNTA0NGVhZjYyMDRhM2JjMmI4ZGRlNmFlNGE4NTk5YWI1MTE2YjFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCkBA
IC00NzUsNyArNDc1LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5kaWNh
dG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21fdGV4
dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dEluZGlj
YXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4dElu
ZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAgICAg
IG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHRpbWVC
ZWZvcmVGYWRlU3RhcnRzKSk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmNmU1NDZiOTg3MWM5MDgwNGJiNTc4
MTMwNWUxNDNjZWUyMWVjODk2Li44MWMzMDE0ZmE2NTI1ZTFmNmZkZjdkM2UwYzM2ZGNkMjI3NjI0
ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVy
QXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUgPSBz
Y3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3Jv
bGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi5lZDFk
N2Q2MTM5ZjIwNTJiNGJkOGExNjg1NzUwN2Q2MTI4ZjA0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21t
aXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUz
ZjQwZDYwMTQ0ZDA5NGY2ODUzNWY0MTM0ODhmYzRmOTMwOGY2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFi
NDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4uMzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5
NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBl
bmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZCht
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigp
LmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rp
c3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUyYTc0ODMwOWUwNjI4MjBlZGM4
MjM5ODBjMGIyZTEuLmFkNGViNzdhZTU3YmUzMmIzOTM3OGYzODMwOTliOTNkNDU4YWY3ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0zMCw3
ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBEZWZh
dWx0SHlzdGVyZXNpc0ludGVydmFsID0gNV9zOwogCiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lz
U3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewogcHVibGljOgotICAgIGV4cGxp
Y2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRl
KT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNT
ZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVz
aXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sg
PSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBE
ZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAg
ICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwg
bV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rp
dml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAgICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAg
ICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRv
dWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCmluZGV4IGM4
ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2NGVlNzYuLjBlNjVhN2IxMTMwNmIwYTdj
NTJiY2I1ZTJiMDk2MGRhYzk3OWMyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAtNDI0LDcgKzQyNCw3IEBAIHZvaWQgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIpCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3Rh
cnROZXh0VGltZXIoZG91YmxlIGRlbGF5KQogewotICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KGRlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5KSk7CiB9CiAjZWxzZQogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4
dFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDg4MTgxZDMw
NTdmNDY4OTRkZmViOWE5NzdhNTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1MzVlNzk4YTBk
MGU4MDBlMzhiZjZkOTQyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApA
QCAtMTgzLDcgKzE4Myw3IEBAIHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShTY3JvbGxiYXIq
IHNjcm9sbGJhcikKICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPj0gdGh1bWJQ
b3MgJiYgc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1iTGVuZ3RoOwog
fQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkK
K3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSkKIHsK
ICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5vdGhpbmcgd2Fz
IHByZXNzZWQuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8IG1fcHJlc3Nl
ZFBhcnQgPT0gTm9QYXJ0KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjphdXRv
c2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRpbWVySWZOZWVk
ZWQoZGVsYXkpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJs
ZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxh
eSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgogICAgIGlmICht
X3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNjcm9s
bGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAg
bV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIFNj
cm9sbGJhcjo6c3RvcFRpbWVySWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
aAppbmRleCBmODZhOTYyYWZlMDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFhLi5hMjM2Yzdl
OGViMTI3YWVhMzc1NjUyM2ViZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaApAQCAtMTQ0LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZp
cmVkKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKKyAgICB2
b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1l
cklmTmVlZGVkKCk7Ci0gICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5
KTsKKyAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KTsKICAgICBT
Y3JvbGxEaXJlY3Rpb24gcHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAgICBTY3JvbGxH
cmFudWxhcml0eSBwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2JhNGEwZTNhMGRm
YjQ3NjFkZDRhNjU3NWVkYmMuLmZkYzVmOGQ1ZDY0NWRmMzJmNjAyOTFmNTQ2MGJlNTkzMmRkYzQ4
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMTA1LDgg
KzEwNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFn
ZXMoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9CiAKLSAgICB2
aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1
OyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAw
LjA1OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IHsgcmV0dXJuIDAuMjVfczsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIHsgcmV0dXJuIDAuMDVfczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Ny
b2xsYmFyKFNjcm9sbGJhciYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xs
YmFyKFNjcm9sbGJhciYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNTkxMTk3OGFl
ZWMxOGYwODNmZGJmODVmMWFmM2VkMjQxNzkwMTE2NS4uODczNTk0MmZiNjkwNTk2NDRjNGZhZWNi
OTQ0NDI2YWUyZmYyMTZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250
LCBGb250RGVzY3JpcHRpb24mKSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAg
CiAgICAgLy8gSG93IGZhc3QgdGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2
aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
MC41X3M7IH0KIAogICAgIC8vIE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdl
ZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCmluZGV4IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFh
MTBmY2ZkYmNhNDQuLjZhMTg3N2YxMzZmZTE3OWMxODMzZGRjMDRlN2IyNjcxYjc5YmYyMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBA
QAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgog
CiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcg
KzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVu
Z3RoIG9mIHRpbWUsIGFuZCB0aGVuIHF1aXQgdG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVz
ZXIgaW5wdXQgZXZlbnRzLgogLy8gMTAwbXMgaXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBp
biBVSSwgc28gdXNlIGEgaGFsZiBvZiB0aGF0IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0
byBwcmV2ZW50IFVJIGZyZWV6ZSB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFj
aGluZSBwZXJmb3JtYW5jZSBpcyBsb3cuCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSA1MF9tczsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVk
IGFuZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93
biBUaHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3Vy
cmVudGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJl
YWRUaW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMo
ZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYg
KGlzVUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRU
aW1lcjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6
c2V0U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJl
ZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0
cik7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hh
cmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSB7IH07CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFyZWRUaW1lcjsK
QEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIo
KQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1RpbWVycyB8fCBt
X3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJl
VGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAg
ICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3Vi
bGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7Ci0g
ICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOworICAgICAgICBhdXRvIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0
KCktPm1fbmV4dEZpcmVUaW1lOworICAgICAgICBhdXRvIGN1cnJlbnRNb25vdG9uaWNUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lKSB7CiAgICAgICAgICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlm
IGJvdGggdGhlIHBlbmRpbmcgZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4g
dGhlIHBhc3QuCiAgICAgICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8
PSBjdXJyZW50TW9ub3RvbmljVGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25p
Y1RpbWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJl
ZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBj
dXJyZW50TW9ub3RvbmljVGltZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRG
aXJlSW50ZXJ2YWwoc3RkOjptYXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90
b25pY1RpbWUsIDBfcykpOwogICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBU
aHJlYWRUaW1lcnM6OnNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5n
VGltZXJzKQogICAgICAgICByZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAg
IG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRp
bWVyRmlyZVRpbWUgPSB7IH07CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4
RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKKyAgICBhdXRvIGZpcmVUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CisgICAgYXV0byB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9m
RmlyaW5nVGltZXJzOwogCiAgICAgd2hpbGUgKCFtX3RpbWVySGVhcC5pc0VtcHR5KCkgJiYgbV90
aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRpbWUpIHsKICAgICAgICAg
VGltZXJCYXNlKiB0aW1lciA9IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0gICAgICAgIHRpbWVyLT5t
X25leHRGaXJlVGltZSA9IDA7Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZSA9IDA7CisgICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsK
KyAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgICAgICB0aW1lci0+aGVhcERlbGV0ZU1pbigpOwogCi0gICAgICAgIGRvdWJsZSBpbnRl
cnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwotICAgICAgICB0aW1lci0+c2V0TmV4dEZp
cmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDApOworICAgICAgICBTZWNv
bmRzIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7CisgICAgICAgIHRpbWVyLT5z
ZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogTW9ub3Rvbmlj
VGltZSgpKTsKIAogICAgICAgICAvLyBPbmNlIHRoZSB0aW1lciBoYXMgYmVlbiBmaXJlZCwgaXQg
bWF5IGJlIGRlbGV0ZWQsIHNvIGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0IGFmdGVyIHRoaXMgcG9p
bnQuCiAgICAgICAgIHRpbWVyLT5maXJlZCgpOwogCiAgICAgICAgIC8vIENhdGNoIHRoZSBjYXNl
IHdoZXJlIHRoZSB0aW1lciBhc2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBhIG5lc3RlZCBldmVudCBs
b29wLCBvciB3ZSBhcmUgb3ZlciB0aW1lIGxpbWl0LgotICAgICAgICBpZiAoIW1fZmlyaW5nVGlt
ZXJzIHx8IHRpbWVUb1F1aXQgPCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAg
ICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgTW9ub3RvbmljVGltZTo6bm93
KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lk
IFRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIAogICAgIGlmICht
X3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPmludmFsaWRhdGUoKTsKLSAg
ICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGlu
Z1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGlt
ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIx
ZTgyNjY2MmU5YWJiMzA0ZTM4M2YxN2IxZTcyOWE5Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2
ZWM2OTE3MzlhODkwM2EwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFk
VGltZXJzX2gKIAorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGlt
ZXJIZWFwOwogICAgICAgICBTaGFyZWRUaW1lciogbV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwg
b2JqZWN0LCBjYW4gYmUgYSBydW4gbG9vcCBvbiBhIHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNl
dC9yZXNldCBieSB3b3JrZXIgdGhyZWFkLgogICAgICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAv
LyBSZWVudHJhbmN5IGd1YXJkLgotICAgICAgICBkb3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJG
aXJlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVU
aW1lOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZl
N2NjNTU4OTEyOTQ3NDYzOTc2ZDhkMTg1ZjkxMTE0YmJhLi44ODg0YTE0NjVmNGQ2ZjI4M2RhOWI3
ZTkyMTU3MTg3ODVkZDlmNjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIs
OCArMTcyLDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0
b3IoKShjb25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFy
aXNvbnMgYmVsb3cgYXJlICJiYWNrd2FyZHMiIGJlY2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFy
Z2VzdCAKICAgICAvLyBlbGVtZW50IGZpcnN0IGFuZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0
byBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBoZWFwLgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBh
LT5tX25leHRGaXJlVGltZTsKLSAgICBkb3VibGUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRp
bWU7CisgICAgTW9ub3RvbmljVGltZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAg
ICBNb25vdG9uaWNUaW1lIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChi
RmlyZVRpbWUgIT0gYUZpcmVUaW1lKQogICAgICAgICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVU
aW1lOwogICAgIApAQCAtMTg2LDExICsxODYsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNz
VGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQog
Ly8gLS0tLS0tLS0tLS0tLS0tLQogCiBUaW1lckJhc2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25l
eHRGaXJlVGltZSgwKQotICAgICwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1f
cmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1faGVhcEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRU
aHJlYWRHbG9iYWxUaW1lckhlYXAoMCkKKyAgICA6IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9j
YWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAobnVsbHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAg
LCBtX3RocmVhZChjdXJyZW50VGhyZWFkKCkpCiAgICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBA
IC0yMDcsMzIgKzIwNCwzMiBAQCBUaW1lckJhc2U6On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAK
LXZvaWQgVGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKICAgICBtX3JlcGVhdEludGVydmFs
ID0gcmVwZWF0SW50ZXJ2YWw7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpICsgbmV4dEZpcmVJbnRlcnZhbCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1v
bm90b25pY1RpbWU6Om5vdygpICsgbmV4dEZpcmVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJC
YXNlOjpzdG9wKCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhy
ZWFkKG1fdGhyZWFkKSk7CiAKLSAgICBtX3JlcGVhdEludGVydmFsID0gMDsKLSAgICBzZXROZXh0
RmlyZVRpbWUoMCk7CisgICAgbV9yZXBlYXRJbnRlcnZhbCA9IDBfczsKKyAgICBzZXROZXh0Rmly
ZVRpbWUoTW9ub3RvbmljVGltZSgpKTsKIAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAw
KTsKLSAgICBBU1NFUlQobV9yZXBlYXRJbnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4
dEZpcmVUaW1lKTsKKyAgICBBU1NFUlQoIW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VSVCgh
aW5IZWFwKCkpOwogfQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29u
c3QKK1NlY29uZHMgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBB
U1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICBpZiAobV9uZXh0RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBj
dXJyZW50OwogfQogCkBAIC0yNDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6
OmNoZWNrSGVhcEluZGV4KCkgY29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25z
aXN0ZW5jeSgpIGNvbnN0CiB7CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBp
ZiBhbmQgb25seSBpZiB0aGV5IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBB
U1NFUlQoaW5IZWFwKCkgPT0gKG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5I
ZWFwKCkgPT0gISFtX25leHRGaXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBj
aGVja0hlYXBJbmRleCgpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkK
IHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZp
cmVUaW1lKTsKICAgICBjaGVja0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRh
ID0gdGltZXJIZWFwKCkuZGF0YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvciho
ZWFwRGF0YSksIFRpbWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwg
VGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRp
bWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFw
RGVsZXRlKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92
ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGlu
ZSB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVs
ZXRlTWluKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJl
bW92ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZv
aWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpo
ZWFwSW5jcmVhc2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAg
ICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVh
c2VLZXkoKTsKIH0KQEAgLTI5Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6Omhl
YXBJbnNlcnQoKQogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBU
ZW1wb3JhcmlseSBmb3JjZSB0aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdl
IGNhbiBwb3AgaXQuCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAg
bV9uZXh0RmlyZVRpbWUgPSAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
OworICAgIE1vbm90b25pY1RpbWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25l
eHRGaXJlVGltZSA9IC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFz
ZUtleSgpOwogICAgIGhlYXBQb3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1l
OwpAQCAtMzQ3LDcgKzM0NCw3IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlv
bigpIGNvbnN0CiAgICAgcmV0dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwg
Y2hpbGRJbmRleDEpICYmIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJ
bmRleDIpOwogfQogCi12b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKQordm9pZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1l
IG9sZFRpbWUpCiB7CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0
aW9uKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFz
ZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFw
KCkgfHwgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXRO
ZXh0RmlyZVRpbWUoZG91YmxlIG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVU
aW1lKE1vbm90b25pY1RpbWUgbmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFk
TG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQp
OwpAQCAtMzc5LDExICszNzYsMTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShk
b3VibGUgbmV3VGltZSkKICAgICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAm
dGhyZWFkR2xvYmFsVGltZXJIZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUg
Y2hhbmdpbmcgdGhlIG5leHQtZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0
RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAg
ICAgLy8gRG9uJ3QgcmVhbGlnbiB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkg
ewotICAgICAgICBpZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNv
bmRzVG9NUyhuZXdUaW1lKSkpCi0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3
QWxpZ25lZFRpbWUudmFsdWUoKSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0g
YWxpZ25lZEZpcmVUaW1lKG5ld1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWdu
ZWRUaW1lLnZhbHVlKCk7CiAgICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpA
QCAtNDE2LDEwICs0MTMsMTAgQEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudElu
dGVydmFsKCkKICAgICBzZXROZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwog
fQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QK
K1NlY29uZHMgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lIC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAg
cmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6
bm93KCksIDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCmluZGV4IDUyYTE2NmViYTJkMjMxOWQxNWExYjdlZDkwODJiNmIxNDMzZjNiMjQuLjMw
ZmQyMmQ5OGIwMmVlZDUxNjMwYTdiNmY4ZTVmNTYyZTk4ODdjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUg
PGZ1bmN0aW9uYWw+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgpAQCAtNDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7
CiBjbGFzcyBUaW1lckJhc2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlu
bGluZSBkb3VibGUgbXNUb1NlY29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlv
bikgeyByZXR1cm4gZHVyYXRpb24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGlu
ZSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikg
eyByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kczo6cmVwKShkdXJhdGlvbiAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgVGltZXJCYXNlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNl
KCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVy
dmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVy
dmFsKTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRl
cnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7
IHN0YXJ0KGludGVydmFsLCAwKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVy
dmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0
KGludGVydmFsLnZhbHVlKCksIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRz
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVy
dmFsLCAwX3MpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKICAgICBib29s
IGlzQWN0aXZlKCkgY29uc3Q7CiAKLSAgICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0
OwotICAgIGRvdWJsZSBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91
YmxlIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQot
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsg
cmV0dXJuIHNlY29uZHNUb01TKHJlcGVhdEludGVydmFsKCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21l
bnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJl
VGltZSArIGRlbHRhKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICBTZWNvbmRzIG5leHRG
aXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2
YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
bV9yZXBlYXRJbnRlcnZhbDsgfQogCi0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91
YmxlIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFs
ICs9IGRlbHRhOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEp
IHsgYXVnbWVudFJlcGVhdEludGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZp
cmVUaW1lICsgZGVsdGEpOyB9CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25k
cyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCAr
PSBkZWx0YTsgfQogCiAgICAgdm9pZCBkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBA
IC04OCwxNyArNzQsMTcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmly
ZWQoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0
IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb25v
dG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3QgeyByZXR1cm4g
c3RkOjpudWxsb3B0OyB9CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAg
ICB2b2lkIGNoZWNrSGVhcEluZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGlt
ZShkb3VibGUpOworICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAg
ICAgYm9vbCBpbkhlYXAoKSBjb25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAg
ICAgYm9vbCBoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVh
cElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChN
b25vdG9uaWNUaW1lIG9sZFRpbWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAg
ICB2b2lkIGhlYXBEZWxldGUoKTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBW
ZWN0b3I8VGltZXJCYXNlKj4mIHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhy
ZWFkR2xvYmFsVGltZXJIZWFwKTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVh
cDsgfQogCi0gICAgZG91YmxlIG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAg
ZG91YmxlIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29u
c2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7
IC8vIDAgaWYgbm90IHJlcGVhdGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7
IC8vIDAgaWYgaW5hY3RpdmUKKyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVU
aW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFs
CisgICAgU2Vjb25kcyBtX3JlcGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAg
ICBpbnQgbV9oZWFwSW5kZXg7IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9o
ZWFwSW5zZXJ0aW9uT3JkZXI7IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJl
LXRpbWUgdGltZXJzCiAgICAgVmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2Jh
bFRpbWVySGVhcDsKQEAgLTE1OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6
aXNBY3RpdmUoKSBjb25zdAogI2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkg
fHwgcHRocmVhZF9tYWluX25wKCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNl
bmRpZiAvLyBQTEFURk9STShJT1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJl
dHVybiAhIW1fbmV4dEZpcmVUaW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVy
IDogcHJvdGVjdGVkIFRpbWVyQmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VGltZXJGaXJlZENsYXNzPgotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENs
YXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGlt
ZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgp
LCBTZWNvbmRzIGRlbGF5KQogICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpi
aW5kKGZ1bmN0aW9uLCAmb2JqZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVy
cmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0
ZDo6ZnVuY3Rpb248dm9pZCAoKT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDog
bV9mdW5jdGlvbihXVEZNb3ZlKGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQog
ICAgICAgICAsIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcg
KzE5OCw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rp
b247CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25k
cyBtX2RlbGF5OwogICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUw
MTkxNDRhMjFmZjRkM2RjMGUxOGY5ZmM5MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlm
MWU1ODNmNWM5MGM4ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9k
ZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRv
bigpCiBWTm9kZVRyYWNrZXI6OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihb
dGhpc10oUmVmQ291bnRlckV2ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZl
bnQ6OkluY3JlbWVudCkgY2hlY2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJl
V2FybmluZ1RpbWVyKCp0aGlzLCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZp
cmVkKQotICAgICwgbV9sYXN0V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
bm93KCkpCisgICAgLCBtX2xhc3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsK
ICAgICBwbGF0Zm9ybUluaXRpYWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5v
ZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNv
dW50ZXIudmFsdWUoKSA8PSBtX3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAg
ICBtX2xhc3RXYXJuaW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwor
ICAgIG1fbGFzdFdhcm5pbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWdu
ZWQgdm5vZGVDb3VudCA9IG1fdm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNh
bCA9IHZub2RlQ291bnQgPiBtX2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRp
Y2FsOjpObzsKICAgICBtX3ByZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9y
eVByZXNzdXJlLCAidm5vZGUgcHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBv
ZiAldSAoY3JpdGljYWwgcHJlc3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRl
ci52YWx1ZSgpLCB2bm9kZUNvdW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIg
OiAiTm8iKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5l
eHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6
bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhl
IHZub2RlIHByZXNzdXJlIGhhbmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0
YXRpYyBjb25zdCBhdXRvIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDMwIH07Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgbWluaW11bVdhcm5pbmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1l
U2luY2VMYXN0V2FybmluZyA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1Rp
bWU7CiAgICAgaWYgKHRpbWVTaW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZh
bCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHM+KG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2Fy
bmluZyk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAg
ICAgIHJldHVybiBtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7
CisKKyAgICByZXR1cm4gMF9zOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4
NWFiZmUxODI2MGY0YTI0Li4wNGZiMzc5NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHBy
ZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFBy
ZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZSgpOwogCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVy
IG1fcHJlc3N1cmVIYW5kbGVyOwogICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAg
ICBUaW1lciBtX3ByZXNzdXJlV2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X2xhc3RXYXJuaW5nVGltZTsKIH07CiAKIGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJl
c3N1cmVIYW5kbGVyKFByZXNzdXJlSGFuZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2
NzY2OWEyMDYwODQ4Y2M2ODEyY2Y0NmU0Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4
ZDRjNDBjNzkzNjgxNjE1ZWI4OTk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkgPSAwLjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVm
ZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBz
dGF0aWMgY29uc3QgY2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBz
dGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLm1tCmluZGV4IDNlMThkNGJmMDNiZjVlN2Y4NDExY2FjZDkzMTg3NWY1YjIxNzY3OTguLjhj
MGE0YzYyOTkyMzBkNWZmM2RkYTVmYWY2YTBkMTczODUzYTgxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNDExLDcgKzQx
MSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNv
bnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7
CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnVi
YmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2Ns
aWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNzKTsKIH0KQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAg
IHJldHVybjsKIAogICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBE
ZWxheSA9IDc1MF9tczsKLSAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRP
bmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVz
c1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxh
eSk7CiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApA
QCAtNjEwLDcgKzYxMCw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFw
VGltZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsK
ICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9s
bGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IDZhNTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlk
OTAuLmU0YzQyMjE2MjNlMWM4MDA4NTdiMGVhNmM2NTBlZGVmZGNmYTQ0MGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1l
cGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2Nv
YS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZU
X0xJTktfQ09OU1RBTlRfTUFZX0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERp
c2Nvbm5lY3ROb3RpZmljYXRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1z
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2X21zOwog
CiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJv
dmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlhMDUw
ZDE4YWE4NzA4OWU5NThlODEyMTRlMWNkZmIxNGViLi4xYzZiNWQ4M2E4YTkwMzQ4MzUwOTQyNTEz
MTMyNmU5Y2Y5YTczMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25E
ZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlv
bkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUludGVy
dmFsID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5
ID0gMC4wNV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0
Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBA
IC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKElP
SElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gdGVs
bCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAgICAgICAvLyBUaGUgbV9jb25uZWN0
aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQgc3BpbiBvZiB0aGUgcnVubG9vcCBh
ZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlvbiBldmVudHMgYXJlIGFjdHVhbCBu
ZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAK
ICAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAgd2FzIGFkZGVkIHdoaWxlIHN1cHByZXNz
aW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUgYW4gJ2FscmVhZHkgY29ubmVjdGVkJyBl
dmVudCIsIGRldmljZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ds
aWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCmluZGV4IDI4NGY4YjE3ZWNkNjlj
MGMxNzIwMmExYzFhNDhkNjY2MGRhNjI3ZjIuLmJiMzZhOGYxZGRiN2JhNWQ1ZTVlYTQ5ZjkwZGFm
Njk0NGU4NDkwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFp
blRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcApAQCAtNDIsNyArNDIsNyBAQCBNYWlu
VGhyZWFkU2hhcmVkVGltZXI6Ok1haW5UaHJlYWRTaGFyZWRUaW1lcigpCiB2b2lkIE1haW5UaHJl
YWRTaGFyZWRUaW1lcjo6c2V0RmlyZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAg
QVNTRVJUKG1fZmlyZWRGdW5jdGlvbik7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2
YWwudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogfQogCiB2
b2lkIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMGFjNjNmYjQ3MmQzMTdhZDlh
OTk3YTMyODFhZGU5ZTcwNWI0YzEzZC4uN2VmYzM5ZDcwZjg1NWNmMzU0NjhkYWU4MWMzODI0OGI0
ZWI1YWNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGlt
ZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6
OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihT
ZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1l
VGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmlt
YXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgIH0K
IAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlvblJlc3VsdDo6
U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0
aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAg
aWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBt
X2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNp
cmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAgICAgc3RhcnRU
aW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA0MTI0ZmE2NTM0ZDEwODI3
NzhhNmVkZWI0MGE5OTJiNjg0NzZhYjM1Li44Njg2ZDNhZTk4Yzg3N2I1ZmIxNWU2N2Q4NjY4NTg5
MzVjYjkzNjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAg
dm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxheSk7Cisg
ICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRtYXBJbWFn
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAoVGV4dFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTljZjE1ZGM3ZmFl
MDZjNjFiNjBjLi5mNTYyOWQ4YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0MzdkNDk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMy
OSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQcmVzc3VyZUlu
YWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1p
bHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVz
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9v
bCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgICAgICBt
X3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiBw
bGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwg
ZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tp
bmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIw
Ni4uNWUwN2M1Zjc3ZjMwYjE5NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEw
LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAwLjFfczsK
IAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihD
bGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRk
MTRhM2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAxODg0NTZhNWI1
NThhY2ZiYWU5NTg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6
bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkg
Pj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEp
IHsKICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAg
ICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVu
dE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlh
RW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggMzI5Y2ExMDA5YmNhOGRhMWE4Y2UxMDExODIw
MzUwZmZlOTk0YTNmOS4uYjM0MDQyYWM1YmI3Y2VmNWE5NDNiMTk1OGEyMjA4MzRkNDkxYmVlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
QEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNB
Y3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29u
c3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3Qg
YXV0byBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAgICAgbV9wdXJnZVRp
bWVyLnN0YXJ0T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmlu
ZGV4IDZlZThiYzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLjhkZWUwOWNlMDg2
YWRhZjViZTI3YzIwMDhhY2IyNWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBjaGFyYWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJy
ZWRPcHRpb24pKTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJy
ZWRPcHRpb24pOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZG
T2JqQyogb3B0aW9uKQpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoK
ICAgICBtX3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2Vs
ZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVj
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZi
YTY0YTc5ODYzNjNkMjgzZWQ0ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFmNGMzZTU3OTBiNjY3
ZGQ2ZmI2YjYyYjY4MDI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3
ICsyMjgsNyBAQCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBvdXRwdXRDb2RlY3Mg
PSBbZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJG
b3JJbnB1dE1JTUVDb2RlY1BhcmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcg
KnR5cGVTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIl
QFwiIiwgKE5TU3RyaW5nICopcGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2Rl
Y3NdOwotICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVk
TUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBs
YXllcjo6TWF5QmVTdXBwb3J0ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkg
aXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNT
dXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFy
ayAtCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlm
IChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0g
ICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIwNzIzNTAwMThhZGM0
YmNkYjg0NWYuLjBjYzRmYWM1OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBhZjk3YTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApA
QCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKCkKIHsKICAg
ICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3By
dW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3Qo
MV9zKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAK
aW5kZXggZTQyNWI4MmY4MDM0NzQ3ZWFmZWMxOGU4MGUwZTk2OGFmZDVjMDQ3Ny4uYmM5NDk2MTNl
Njk1MTQ0MjIyM2UzNGZiOGRlNTNjMjkxOTIwZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtNDksNyAr
NDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbGVT
aXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7CiAKIFN0cmluZyBU
aWxlQ29udHJvbGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcg
KzI2Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2lu
ZG93KQogICAgIGlmIChtX2lzSW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRp
bGVzKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9u
VGltZW91dCA9IDQ7CisgICAgICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVv
dXQgPSA0X3M7CiAgICAgICAgIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0
aW9uVGltZW91dCk7CiAgICAgfQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRy
b2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNv
bnN0IEZsb2F0CiAjZW5kaWYKIH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxl
UmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVS
ZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5l
eHRGaXJlSW50ZXJ2YWwoKSA8IGludGVydmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRl
eCA4Yzg0YzdjYzkyNzY2YzQ2Zjk3NTkxMTcxMWY4OTdiZGViYjE4ZGE4Li44Y2FlNDQ3NzgzZmJk
MGQ0N2RlNDVmYzg1Y2FkZTdkYjgzMTY2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICpt
X3RpbGVHcmlkOyB9CiAKLSAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUg
aW50ZXJ2YWwpOworICAgIHZvaWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50
ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2lu
ZG93OyB9CiAgICAgZmxvYXQgdG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BD
b250ZW50SW5zZXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFh
ZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjli
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVD
b3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5U
aWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkK
IHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRl
eCAyOGYyOWNiZGU4ZTIxZjcxODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi4yM2IzOGE3YzIyNzBi
ZmIxMzc5YzcyMTVhZDljYTFmY2FmMjcyYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBU
aWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Q
b2xpY3kpCiAgICAgVGlsZUNvaG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAg
ICB1bnNpZ25lZCB0aWxlc0luQ29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxp
ZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7
CisgICAgU2Vjb25kcyBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6
OmluZmluaXR5KCk7CiAgICAgYm9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAg
ICAKICAgICBhdXRvIHRpbGVTaXplID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEs
OCArMzgxLDggQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9u
UG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hv
cnQgOiBtX2NvaG9ydExpc3QpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hv
cnQgIT0gdGlsZUluZm8uY29ob3J0KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29o
b3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVV
bnRpbENvaG9ydEV4cGlyZXMgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdGltZVVu
dGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMF9zKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6
bWluKG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uLCB0aW1lVW50aWxDb2hvcnRFeHBp
cmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDc4LDcgKzQ3OCw3IEBAIFRpbGVH
cmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQg
VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hvcnQpCiB7Ci0gICAgbV9j
b2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpKSk7CisgICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhj
b2hvcnQsIE1vbm90b25pY1RpbWU6Om5vdygpKSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlm
ICghbV9jb250cm9sbGVyLmlzSW5XaW5kb3coKSkKICAgICAgICAgdGlsZUNvbnRyb2xsZXJNZW1v
cnlIYW5kbGVyKCkudGlsZUNvbnRyb2xsZXJHYWluZWRVbnBhcmVudGVkVGlsZXMoJm1fY29udHJv
bGxlcik7CkBAIC00OTcsMTcgKzQ5NywxNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3Jp
ZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29o
b3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29u
ZHMgPSAxOworICAgIGNvbnN0IGF1dG8gY29ob3J0UmVtb3ZhbEludGVydmFsID0gMV9zOwogCiAg
ICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5vdyBp
ZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29o
b3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyk7CisgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKGNvaG9ydFJlbW92YWxJbnRlcnZhbCk7CiB9CiAKLWRvdWJsZSBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBj
b2hvcnRMaWZlVGltZVNlY29uZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAg
Y29uc3QgU2Vjb25kcyBjb2hvcnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3Rvbmlj
VGltZSB0aW1lVGhyZXNob2xkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGlt
ZTsKICAgICByZXR1cm4gY3JlYXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4
LDcgKzUxOCw3IEBAIHZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHko
KSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7Cisg
ICAgd2hpbGUgKCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgp
LnRpbWVVbnRpbEV4cGlyYXRpb24oKSA8IDBfcykgewogICAgICAgICBUaWxlQ29ob3J0SW5mbyBm
aXJzdENvaG9ydCA9IG1fY29ob3J0TGlzdC50YWtlRmlyc3QoKTsKICAgICAgICAgcmVtb3ZlVGls
ZXNJbkNvaG9ydChmaXJzdENvaG9ydC5jb2hvcnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIz
Yzc1NWQ4NzgyYzQyYWEwZGU1NzY1MWQuLjQyNjkzNzc0YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVl
OThhZTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuaApAQCAtMTIxLDEzICsxMjEsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBUaWxl
Q29ob3J0SW5mbyB7CiAgICAgICAgIFRpbGVDb2hvcnQgY29ob3J0OwotICAgICAgICBkb3VibGUg
Y3JlYXRpb25UaW1lOyAvLyBpbiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAg
ICAgVGlsZUNvaG9ydEluZm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgZG91YmxlIGluVGltZSkKKyAg
ICAgICAgTW9ub3RvbmljVGltZSBjcmVhdGlvblRpbWU7CisgICAgICAgIFRpbGVDb2hvcnRJbmZv
KFRpbGVDb2hvcnQgaW5Db2hvcnQsIE1vbm90b25pY1RpbWUgaW5UaW1lKQogICAgICAgICAgICAg
OiBjb2hvcnQoaW5Db2hvcnQpCiAgICAgICAgICAgICAsIGNyZWF0aW9uVGltZShpblRpbWUpCiAg
ICAgICAgIHsgfQogCi0gICAgICAgIGRvdWJsZSB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAg
ICAgIFNlY29uZHMgdGltZVVudGlsRXhwaXJhdGlvbigpOwogICAgIH07CiAKICAgICB2b2lkIHJl
bW92ZUFsbFRpbGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCmluZGV4IGI4MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVj
M2E4YTBmZTBiZmYxNDguLmY5NGY0YTE0NzA0NzcyZTg4MjFkYWJmNjEzZTM4NzQwM2U5MzJhY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFj
ZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3Vy
ZmFjZVBvb2wuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9IDUwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgc3VyZmFjZUFnZUJlZm9yZU1hcmtpbmdQdXJnZWFibGUgPSAyczsKK2NvbnN0IFNlY29uZHMg
Y29sbGVjdGlvbkludGVydmFsID0gMC41X3M7Citjb25zdCBTZWNvbmRzIHN1cmZhY2VBZ2VCZWZv
cmVNYXJraW5nUHVyZ2VhYmxlID0gMl9zOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0
ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3Jl
IHRoYW4gMS8yIG9mIHRoZSBjYWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMs
IGJlY2F1c2UKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3RJ
blVzZVN1cmZhY2VzKCkKIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJn
ZWFibGUoKQogewogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1dG8g
bWFya1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG1h
cmtUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZhY2VB
bmREZXRhaWxzIDogbV9zdXJmYWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFuZERl
dGFpbHMudmFsdWUuaGFzTWFya2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3YzU0
Njk2ZDdiNWI1NjM5NWYzZjNlMmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgyMDA2
ZWJjOTRmZTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIDogaGFzTWFya2VkUHVyZ2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAgICB2
b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6bm93KCk7IH0KKyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0
VXNlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3Rvbmlj
VGltZSBsYXN0VXNlVGltZTsKICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3Vi
aW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0MDhi
NGU4MzYzZjQ4ZTNlZDIzMGZmZDc2Li5kYmQzYjMyMDEyMDdiNTdmZjQ4MTg5NDg5MTEwNWNhNzA0
NjlmMzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9T
dWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVD
bGVhckRlbGF5ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3QgYXV0
byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IDFfczsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3Vi
aW1hZ2VDYWNoZVNpemUgPSAzMDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZWFkZGRk
YThkYzQ2NDk1NmQ1NDA1MmUwNWFkYTc3MDZkNDgzZjkxLi45OTNiZTU5ODY2Zjc2OTZhNmE5NTFm
NzNmN2RkOTI0ZDcwZjFhN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcApAQCAtMzY3LDcgKzM2Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAg
IGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIu
aXNBY3RpdmUoKSkgewogICAgICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5
IGluIHRoZSBSRUFEWSBzdGF0ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJl
cXVlc3RzLgotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjA7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjBfczsKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlT
dGF0ZVRpbWVyRGVsYXkpOwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JF
QURZKQogICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1
OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZl
cmluZygpCiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5h
Ymxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxp
bmUuZ2V0KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAg
ICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIu
c3RhcnRSZXBlYXRpbmcoMC4yX3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygi
RGlzYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3Bp
cGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3Bw
CmluZGV4IDk2OTM2OWEzNWU3OTcxNTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLmJlY2VmMjEz
ZmVmNDcxOWYzZWYwOTNjYTJjODk5ZTE0NjkzODE3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdz
dFNhbXBsZSogc2FtcGxlKQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkK
ICAgICBpZiAoIW1fcGxheWVyLT5jbGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgp
OwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2Ry
YXdNdXRleCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzUsNyArNjc1LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1w
bGUqIHNhbXBsZSkKICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAg
TG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
ICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRl
b1NpbmtHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIx
YjE1MjFjMDQxZjZiNzI3OTkyOC4uY2NjNjk0MTk5ZDE1YWQ4NTE3MDllYTdlOGZiNTJmNDM0YzY0
MDVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTks
NyBAQCBwdWJsaWM6CiAgICAgICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAg
IG1fc2luayA9IHNpbms7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2Fp
dChtX3NhbXBsZU11dGV4KTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYw
YzFlZjJmYjRmLi4xOTgyMzUxOTJmYTJiODEzZWRjNGY1ZjdlOGNmZjdiMmQ2MWZjNDhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBp
ZiAobWF4TWVkaWFUaW1lU2Vla2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7
CiAgICAgZWxzZSAKLSAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAg
IG1fc2Vla1RpbWVyLnN0YXJ0KDBfcywgMC41X3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Ojpkb1NlZWsoKSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IDFiNDZm
Mzc1MjQ5ODkwN2UwMGJjMjgyZDJkOWQ2ZjFhZjczYjQ1OWUuLjkxYzAzMjQwODY3YjQ2ZWM5Yjk3
NWRkMzQ4OWJmN2VjMWFhZDMwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMzQs
NyArMzQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIHNf
cmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBz
X3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAog
I2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0
dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDVlM2M4MmYx
ZjMzYWQ1MjkyNTA2Njg5NmM5YzIxNGEzM2JmOGIzMDUuLjljMmIxMWIzZjhhMWE2YzdiZWRhZjhm
NWM1MWU2MDUzODNjYzIyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllckJ1ZmZlci5oIgogCiBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2Vk
U2Vjb25kc1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVy
c1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZEJ1ZmZl
cnNUaW1lckludGVydmFsID0gMC41X3M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTYz
LDcgKzE2Myw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1
bGVVcGRhdGVPbkNvbXBvc2l0b3JUaHJlYWQoc3RkOjpmdW5jCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRh
dGVGdW5jdGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDU1ZWY5OTU0OWU2OTQy
NjI0MTAzZDg4OGNiYzc1NGQ2ZmI2ZDNlYy4uMGRjNjkyNWE1MTkxOTE4MTMyMmQ4YjZjNWM3MDAz
MTU4NDFjOThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZh
bHVlTGlzdCwKIAogICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1h
dGlvbnMuYWRkKFRleHR1cmVNYXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0
LCBib3hTaXplLCAqYW5pbSwgbGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAw
LCBUZXh0dXJlTWFwcGVyQW5pbWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAg
IG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlv
blN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25z
KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5
ZWZjM2ZhYWVjNDMyMzM2YTYxLi42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRl
OGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdl
QmFja2luZy5jcHAKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nOjpyZWxlYXNlU3VyZmFjZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwog
fQogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25k
cygzKTsKIAogdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlm
TmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRk
ODdmOWZjMDlkZmNmMTIyYWMxOTdjZDVlLi5iMjRjZmE2YTFmNTg3NjQ3MWE2NTBmMDZkZTZjYjE5
NmQ0ODU3ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xs
QW5pbWF0b3JHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3Rr
OjpvdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29u
c3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRl
bHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05l
eHRGcmFtZSk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKGRlbHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAg
aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1
cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUg
KyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UK
ICAgICAgICAgaGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAg
dm9pZCBTY3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlk
ZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRp
b25EdXJhdGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3Jv
bGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25I
aWRlRGVsYXkpKTsKIH0KIAogdm9pZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29u
dGVudEFyZWEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bGJhclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhl
bWVHdGsuaAppbmRleCA1MWJkZDI1OWRiY2U2NDZkMjI1NDQ1OTkxMGM2OTg1YjUzOTAxODZmLi45
Y2I0N2NkZDc3ODUzOGUxNjUxNTBmZGRiYTFmZTQ2Y2YxNTY1NTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaApAQCAtNTIsOCArNTIsOCBA
QCBwdWJsaWM6CiAgICAgaW50IG1pbmltdW1UaHVtYkxlbmd0aChTY3JvbGxiYXImKSBvdmVycmlk
ZTsKIAogICAgIC8vIFRPRE86IFRoZXNlIGFyZSB0aGUgZGVmYXVsdCBHVEsrIHZhbHVlcy4gQXQg
c29tZSBwb2ludCB3ZSBzaG91bGQgcHVsbCB0aGVzZSBmcm9tIHRoZSB0aGVtZSBpdHNlbGYuCi0g
ICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJu
IDAuMjA7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJl
dHVybiAwLjAyOyB9CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBv
dmVycmlkZSB7IHJldHVybiAyMDBfbXM7IH0KKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRl
bGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gMjBfbXM7IH0KICAgICB2b2lkIHRoZW1lQ2hhbmdlZCgp
IG92ZXJyaWRlOwogICAgIGJvb2wgdXNlc092ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV91c2VzT3ZlcmxheVNjcm9sbGJhcnM7IH0KICAgICAvLyBXaGVuIHVzaW5n
IG92ZXJsYXkgc2Nyb2xsYmFycywgYWx3YXlzIGludmFsaWRhdGUgdGhlIHdob2xlIHNjcm9sbGJh
ciB3aGVuIGVudGVyaW5nL2xlYXZpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L0xlZ2FjeVRpbGVDYWNoZS5tbQppbmRleCA2NmEyNmUxZTY4ZTNjNGQ1NzdhYjNlYjU2ODUxOGZh
YzU4ZjU5NjllLi45YWMwNWZjNTUxNGUxNjQ2MGNiYWM3YTQ0N2JiYTc4ZDIxYTcyOWY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KQEAgLTQy
MCw3ICs0MjAsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVz
KGJvb2wgZGlkQ3JlYXRlVGlsZXMsIGJvb2wgY3JlYXRlTW9yZQogCiAgICAgLy8gS2VlcCBjcmVh
dGluZyB0aWxlcyB1bnRpbCB0aGUgd2hvbGUgY292ZXJSZWN0IGlzIGNvdmVyZWQuCiAgICAgaWYg
KGNyZWF0ZU1vcmUpCi0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2
b2lkIExlZ2FjeVRpbGVDYWNoZTo6dGlsZUNyZWF0aW9uVGltZXJGaXJlZCgpCkBAIC03ODIsNyAr
NzgyLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OnNldFNwZWN1bGF0aXZlVGlsZUNyZWF0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2lzU3BlY3VsYXRp
dmVUaWxlQ3JlYXRpb25FbmFibGVkID0gZW5hYmxlZDsKICAgICBpZiAobV9pc1NwZWN1bGF0aXZl
VGlsZUNyZWF0aW9uRW5hYmxlZCkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIGJvb2wgTGVnYWN5VGlsZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1
NmQ0MDYwN2Y1NjNhNmNlNTk4ZTI5YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBm
YzBmZmY2OGQ1M2Q0MzQ3YTA3NGIxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAK
ICAgICBib29sIHN1cHBvcnRzQ29udHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJy
aWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNl
Y29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25k
cyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9u
c1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUy
MGJlZjU0OGY1NDAyMDNhOWE2YTNjNzc3ZDgxNmRhYTUwOTkwLi5mZTI5MDc3NWJkZTM4OTNjYTY5
MTYwZjMyMzI3YjNjNWZmMjA3M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJh
clRoZW1lSU9TOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAg
cmV0dXJuIDA7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAot
ZG91YmxlIFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRz
IFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIDBfczsKIH0KICAgICAKIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQg
U2Nyb2xsYmFyVGhlbWVJT1M6OmJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lm1tCmluZGV4IGNjNjJlM2E4ODRhZWYyOTUxOTdlMmJiNzZiYjBmYTdlYzMw
NzBiYTEuLmRkMTk2MzRiNzM3OTFjNWYzY2NmMmI1MmEyOWY2NzRkODRiZTkwMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IGNo
YXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBhdXRvIGRl
ZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxX3M7CiAKIEBjbGFzcyBXZWJBVk1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKFdlYlZpZGVv
RnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVlbk1vZGUoSFRN
TE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAgICBpZiAo
IW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3Rh
cnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dhdGNo
ZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwogCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCmluZGV4IDQyMWM2MTYw
Zjg4OTEyNDY0NzczZDRlYTNmY2FlZDQ5NjNkNWE3ZmQuLmU4ZGVjNWU0NWZjM2Y5ZGMyZWNhMjVl
MjEyZDgyMzEyNWIzZTBhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKQEAgLTI2OSw3ICsy
NjksNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZlRpbWVyRmlyZWQoKQog
CiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZih1bnNpZ25lZCBzZWNvbmRzKQog
ewotICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzKTsKKyAgICBtX2hvbGRP
ZmZUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzZWNvbmRzKSk7CiB9CiAKIHN0YXRpYyBzaXpl
X3QgcHJvY2Vzc01lbW9yeVVzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBhYzdmNGZkNGE5ODRkYzMxZGRkNGZjODBiMTY5
MzQxNTE5MDI1MDk1Li5mNzNkNzk2ODhlMmI4MDI1NDZmMjQzNTlmY2NiY2E1ODJkMjZjZmUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1t
CkBAIC0xMzM4LDcgKzEzMzgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3Jv
bGxlclN0eWxlKCkKIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWlu
dFRpbWVyKCkKIHsKLSAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hv
dCgwLjEpOworICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAu
MV9zKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRUaW1lcklz
QWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIGRlbHRhKQog
ICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsKIAogICAg
IGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAg
IGlmIChtX3doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAgICAgbV93aGVlbEV2ZW50VGVzdFRy
aWdnZXItPmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVz
dFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0
VHJpZ2dlcjo6Q29udGVudFNjcm9sbEluUHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhNzI4Mjk4YzhlYmI1YzU1NTQ3
ZDZkM2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFhOTExYmI5MmIwOGYwMWI3ZDk5MjY2ZDAxM2E0NzZj
N2RkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFy
VGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhl
bWVNYWMuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2VzT3ZlcmxheVNj
cm9sbGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxiYXJPdmVy
bGF5U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGluaXRpYWxBdXRv
c2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRl
OwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29u
c3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxi
YXJUaGVtZU1hYy5tbQppbmRleCBiMmUxNjE4YzAzMmZiN2M2NWYxZmUxOTE3ZjIwNGUyOTY3NGMz
ODlmLi40MzU0OWNiNTYxOTgzZDUzMDc0MzljMzYyOTM2MDQzYjE2MGI1YWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC0xMzAs
OCArMTMwLDggQEAgc3RhdGljIGNvbnN0IGludCBjQnV0dG9uTGVuZ3RoW10gPSB7IDE0LCAxMCB9
Owogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25MZW5ndGhbXSA9IHsgMTYsIDE0IH07IC8v
IFRoZSBvdXRlciBidXR0b24gaW4gYSBkb3VibGUgYnV0dG9uIHBhaXIgaXMgYSBiaXQgYmlnZ2Vy
Lgogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25PdmVybGFwID0gMjsKIAotc3RhdGljIGZs
b2F0IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAwLjVmOwotc3RhdGljIGZsb2F0IGdBdXRvc2Nyb2xs
QnV0dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRpYyBTZWNvbmRzIGdJbml0aWFsQnV0dG9uRGVsYXkg
PSAwLjVfczsKK3N0YXRpYyBTZWNvbmRzIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1X3M7
CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1Vz
ZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBT
Y3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZh
dWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwog
ICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtk
ZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRv
c2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0
dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRz
IGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xs
QnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJC
dXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZv
cktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Ny
b2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFy
VGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJh
cikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFy
VGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJh
clRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBn
SW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxU
aW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVu
dE1vY2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMwNTU2MWM3YzFkNjA2N2FkZWM1MTU5ZjIzNTQu
LmJmMjczYmVmOTRhODRhYzcwZDBiNDRlMWEwMjY5NmYxNDAwMjM5YWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNw
cApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnNldE1vdGlv
bihQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1vdGlvbikKIHsKICAgICBtX21vdGlvbiA9
IG1vdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNlMWZhNDMwZWUx
ZTI2NzJkOGQ2MTAxYzIuLjIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIxYzIxMGJiODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3Jp
ZW50YXRpb25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiAgICAgaWYg
KG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
CmluZGV4IGI3Y2ZiOWJlMDZkY2JmZmM3YzE2YjNjZmU3NDY1MDEzMGZhNzAwZTUuLjc1NGE4MjVj
YWU1NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTEwNiw3
ICsxMDYsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVQZXJtaXNz
aW9uKCkKIHsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVybWlzc2lvblN0YXRl
VW5zZXQpOwogICAgIGlmICghbV9wZXJtaXNzaW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Blcm1pc3Npb25U
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6
OnBlcm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEdlb2xvY2F0
aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBBU1NFUlQobV9j
b250cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVyVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9s
b2NhdGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1
Yi4uYTc2YmMyNmZhNjA0ZDAzMzgxYTUzNTNmYWJlZmRhODVmZTk4YjA0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9j
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lcklu
dGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwg
PSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50
KQogICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDYwYmIw
MTgxYWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJlMGRlNTkuLmM4MzEwZGYxNTQxZTVhMTU3MTYw
MmYzMDUzODA1NWQxNGYyNjFhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAgLy8gUmV2ZXJz
ZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgog
ICAgIG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VDYW5kaWRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJG
aXJlZCgpCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2Fu
ZGlkYXRlVGltZXJGaXJlZCgpCiAKICAgICBpZiAoIW1fZmFrZUljZUNhbmRpZGF0ZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIG1fY2xpZW50LmdvdEljZUNhbmRpZGF0ZShtX21pZHNbMF0sIG1fZmFr
ZUljZUNhbmRpZGF0ZXMudGFrZUxhc3QoKSk7Ci0gICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVyaW5nQ2FuZGlk
YXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8g
dXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2ljZVRy
YW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVk
KCkKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3Bv
cnRUaW1lckZpcmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFuc3BvcnRTdGF0
ZUNoYW5nZXMudGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRTdGF0ZUNoYW5n
ZWQoc3RhdGVDaGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAgICBtX2ljZVRy
YW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1v
dGVTb3VyY2VzQnlNaWQoKQpAQCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9p
bnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCiAgICAgZm9yIChpbnQgaSA9IG1fbWlkcy5z
aXplKCkgLSAxOyBpID49IDA7IC0taSkKICAgICAgICAgbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUu
YXBwZW5kKG1fbWlkc1tpXSk7CiAKLSAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1v
Y2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRN
dXRlZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHko
KSkKLSAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5t
dXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVW
aWRlb1NvdXJjZS5jcHAKaW5kZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0ZTM2MTcxNDQxYjRj
ZGM2ZS4uNjRhMzVhNmQyN2JjZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBmMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6
c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpOworICAgIG1f
dGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygobHJvdW5kKDEw
MDAgLyBmcmFtZVJhdGUoKSkpKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6
OnN0b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIE1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVhbHRpbWVNZWRp
YVNvdXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFtZVJhdGUoZG91
YmxlIHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8g
cmF0ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0ZVNhbXBsZUJ1ZmZl
cigpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBm
M2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi5kOGE3YzA4OTdmOTg1ZGZj
OGM1ZjdlYTQxZDgwYzg2NTkzZjEwZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApA
QCAtNjgsNyArNjgsNyBAQCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVh
ayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5i
b3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5
LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ug
c3BlZWNoIGpvYiBzb21lIHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhh
dmUgdGltZSB0byBiZSBjYWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRP
bmVTaG90KC4xKTsKKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoMC4x
X3MpOwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpjYW5jZWwoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRN
b2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2su
aAppbmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2FjLi44NjNmOWQ2
NWI3NjkwMTZkMGQ5N2NkMjY4OWIyZDRmZjU3NjYyYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMsNyArNjMsNyBA
QCBwdWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6OnRpbWVyRmly
ZWQpCiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNV9z
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCA1ODc3M2Fh
MzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi5lMWM0MTBlZDE1MjU4YWNhZjNmMGMz
OTE5ZDg1YTA4MmEwOTI3ZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRpYXRlbHkgPSA0
OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25nIGJlZm9yZSBz
ZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VEZWxheUluU2Vj
b25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkgPSAxX3M7CiAK
IC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNvbWUg
Z2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1ZXMg
d2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91
c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4U2lt
dWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNUb1F1
ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRuJ3Qg
YmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBhZnRl
ciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNlY29u
ZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXRyeVJlc29sdmluZ0RlbGF5ID0gMC4x
X3M7CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0b24oKQogewpA
QCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29uc3QgU3RyaW5n
JiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVzdHNUb1F1ZXVl
KSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYgKCFtX3RpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjb2FsZXNj
ZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIEROU1Jlc29sdmVR
dWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlzRW1wdHkoKSkK
LSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzKTsK
KyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmV0cnlSZXNvbHZpbmdEZWxheSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXggYWJmYjQ2Y2VjZjgyMTQzYjlmZmFjZDAx
YmU1Nzg2YTUzYTAwOGVjMC4uNDVjYTFjNWMzNjJiNTQ1ZTg3ZWRjOGNkYjM1ZjIyMDI4YmMyNmRi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmVmKCk7CiAKICAg
ICAgICAgYXV0byBzY2hlZHVsZWRQYWlycyA9IG1fZGVjb2RlVGFzay0+c2NoZWR1bGVDb250ZXh0
LnNjaGVkdWxlZFBhaXJzOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV90aW1lci5zY2hlZHVsZShz
Y2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2YwYjhkMDExZjJiYjlj
YjFiZDEuLjFhMGQ1Y2U2MjNhZGY4YTM0MDUzZDZmYWU4ZDBmNzYzOTAyYmQxN2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3
IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0
aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZl
cnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1l
ci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3QoMTAwMF9taW4pOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggNjQ3ZjYwNDE5YmZjZDBm
ZWU2Mzc1ZDlkMTg4MDc2NTkyYTFmOTIwYy4uMDBjMGQwMjljYzZmYzJjMWNjYTc5N2M5OTI4MTRk
MDcwNDc3ZTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5k
bGU+IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0CiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlw
ZSkKIHsKICAgICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVk
KCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2Fk
aW5nKGJvb2wgZGVmZXJzKQogICAgICAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RvcCgpOwog
ICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpIHsK
ICAgICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAg
ZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBkLT5tX2ZhaWx1cmVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBwbGF0Zm9ybVNldERlZmVyc0xv
YWRpbmcoZGVmZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAppbmRleCA1NWFkZTIx
OGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi5kNGQ5OGRhMzFmNjU3NjEzYjVlZDhk
NmRiMjJmZjliNzViMDFlNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCkBAIC0z
MSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBz
dGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZp
ZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlS
ZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQgYmUgZXhwZW5z
aXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAgIC8vIHdoZW4g
dGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hh
bmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CisgICAgbm90
aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlQ2hhbmdl
VGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6Om5ldHdvcmtT
dGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA4ODdhOWVk
Nzk1ZDFjYjRlNThjY2RkZTU2ZTM4OGQ5OWNkYzBiZjNlLi5lY2YxODRjZTQwYmRmOWVjNGQzMWJm
NzMyMDYzMzc3MTIyZGU5YjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNzUwLDcgKzc1
MCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCgpCiAjZW5kaWYK
IAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAg
ICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoZC0+bV9maXJzdFJlcXVlc3QudGlt
ZW91dEludGVydmFsKCkpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90
KFNlY29uZHMoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpKTsKIAogICAgIC8v
IEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdo
aWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJlZigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBm
Yzg3YjcwMzI5MjM4NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi45ZWE0MTdkZDAzMGExY2Y0
OWFlZjU1ZGM2NGJlYWFhNGFkYzRhZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEw
MSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2lu
c3RhbGxlZCA9IHRydWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxD
aGVja01lbW9yeVRpbWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVh
dGluZyg2MC4wKTsKKyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKDFfbWluKTsK
IH0KIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXgg
YTFmZThmY2MxYzg4ZjI2ZTE2YTYzZjEyYjY0MzJkNWEwZTgxY2VkNi4uNWY1ZDA3NjU3OWMyMTA0
MDdjMGJjZmM2YjU4NjI3MzkwZDcyOTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0aW9uQ3V0
b2ZmID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRo
cmVzaG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvd1F1YWxp
dHlUaW1lVGhyZXNob2xkID0gMC41X3M7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OkltYWdl
UXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6IG1f
cmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVhbGl0
eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2b2lkIEltYWdl
UXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8SW50ZXJwb2xh
dGlvblF1YWxpdHk+IEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmludGVycG9sYXRpb25RdWFsaXR5
RnJvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNjM0MjIxMzVjMWEz
OWM1OWFjZjU5MjM5MTcxYzMxY2FlMzUwY2MyNC4uOTU4MGU0MGIyM2Y4ZDRjYmQxYzgyODBkNGE1
YmU3Zjk1YWM5ZjYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDExICs5MiwxMSBAQCBzdGF0aWMgY29uc3QgaW50
IGNhbnZhc0FyZWFUaHJlc2hvbGRSZXF1aXJpbmdDb21wb3NpdGluZyA9IDUwICogMTAwOwogI2Vu
ZGlmCiAvLyBEdXJpbmcgcGFnZSBsb2FkaW5nIGRlbGF5IGxheWVyIGZsdXNoZXMgdXAgdG8gdGhp
cyBtYW55IHNlY29uZHMgdG8gYWxsb3cgdGhlbSBjb2FsZXNjZSwgcmVkdWNpbmcgd29ya2xvYWQu
CiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZs
dXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVy
Rmx1c2hEZWxheSA9IDEuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1
c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExh
eWVyRmx1c2hEZWxheSA9IDEuNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0
bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJv
dHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxl
ZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRo
cm90dGxlZExheWVyRmx1c2hEZWxheSA9IDAuNV9zOwogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFj
ZSBIVE1MTmFtZXM7CkBAIC02MzQsNyArNjM0LDcgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmVuY2xvc2luZ0NvbXBvc2l0b3JGbHVzaGluZ0xheWVycygK
IHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUoKQogewogICAgIGlmICghbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uYjc0
MDk3Y2YyMWUxYTgyMjVhNmFlZDhmZDlhM2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVu
ZGVyTWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAK
LSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKIH0K
IAogdm9pZCBSZW5kZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lk
IFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0g
bWFycXVlZVNwZWVkKCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAg
ICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVh
dGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAgCiAg
ICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3RvcC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5j
cHAKaW5kZXggNDc1MDZhY2QzM2I3MDc0MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uODY5YWY0
MmEwOTk4MjY2ZWIwZjY1YzNmMTBmOTczODgxYTYxNTUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1MzAs
NyBAQCB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hh
bmdlRXZlbnRJZk5lZWRlZCgpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFu
Z2VSZWdpb25PdmVyc2V0KGRvY3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAo
IW1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3co
KS5oYXNFdmVudExpc3RlbmVycygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVu
dFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OnJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5kZXggOWExZjI0MGZhNWY5YWZmODcwMWMx
MzQ4Y2NjNTdkMzZhYjNlMGI4NC4uNTFhMzA4ZmJhMzcwYzQ3OTg5YzhjNWNlYWUwYjA4Nzc0MmM5
YzdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBA
IC04NSw3ICs4NSw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQo
KQogewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUo
KSAmJiBtX2FuaW1hdGluZykKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
bV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogfQogCiB2b2lk
IFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCkBAIC0xMDAsNyArMTAwLDcg
QEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQogICAgIG1fYW5p
bWF0aW5nID0gYW5pbWF0aW5nOwogICAgIGlmIChtX2FuaW1hdGluZykgewogICAgICAgICBtX2Fu
aW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFs
KTsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhtX2FuaW1h
dGlvblJlcGVhdEludGVydmFsKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fYW5pbWF0aW9uVGlt
ZXIuc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaAppbmRleCBlZDQ5YmVkY2JkYjYxNWQwYTczMjcxN2Q3Y2FhMzhkYmNjOGRkYjc3
Li40MWJkODIzYWFhMDE0NjU2YjExYWI2ZDI2MTlkZDE2ZmEwZWI3ODY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAtNDcsOCArNDcs
OCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRlIHsgcmV0dXJuIFNj
cm9sbGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChzY3JvbGxiYXIsIGV2
ZW50LCBwcmVzc2VkUGFydCk7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxU
aW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92
ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KIAogICAgIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJiBzY3JvbGxi
YXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnJlZ2lzdGVyU2Ny
b2xsYmFyKHNjcm9sbGJhcik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xs
YmFyJiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgp
LnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCmluZGV4IDM3YjA3NDE4NzhhMWJkOTgzOGVjNjI1M2RlZDA3MTkxMDAx
ZmNjNDguLjY3OTVmNzI4NzMwYTBjNGNmNjgzZGQ3OWE1YWVlMDI3MjdmNzAwNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBpbmxp
bmUgU2VjdXJlVGV4dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVuZGVyVGV4dCYgcmVuZGVyZXIp
CiBpbmxpbmUgdm9pZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQodW5zaWduZWQgb2Zmc2V0QWZ0
ZXJMYXN0VHlwZWRDaGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlciA9IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwotICAgIHN0YXJ0T25lU2hvdCht
X3JlbmRlcmVyLmZyYW1lKCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25k
cygpKTsKKyAgICBzdGFydE9uZVNob3QoU2Vjb25kcyhtX3JlbmRlcmVyLmZyYW1lKCkuc2V0dGlu
Z3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygpKSk7CiB9CiAKIGlubGluZSB1bnNp
Z25lZCBTZWN1cmVUZXh0VGltZXI6OnRha2VPZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3Rlcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDM1NDk5YmJlNjkxMWY1
ZmE4YzNkMDEzOGNlZjQwZWM4MjhmOWMyYmUuLjg5ZjRiOWM5ZTQ5NGZmZGVkNTkzZDBjZTI0MDRi
MGFmMjAxYmE0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE3NSw3ICsxNzYsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAg
IHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsg
fQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biAwLjVfczsgfQogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9yIENTUy4KICAg
ICB2b2lkIHN5c3RlbUZvbnQoQ1NTVmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYpIGNv
bnN0OwpAQCAtMjA0LDggKzIwNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc01l
ZGlhQ29udHJvbFN0YXR1c0Rpc3BsYXkoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCB1c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0
aW9uKCkgeyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjFfczsgfQorICAgIHZpcnR1YWwg
U2Vjb25kcyBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zX3M7IH0K
ICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBj
b25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUo
ZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0
cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwg
ZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUd0ay5jcHAKaW5kZXggZmE4MGIyODE3M2NjYmQ0NzEwMmY2NDY2OWQwNjBjOGJiNzEwNjU2
YS4uMmU0ZDU3ZTlmZGU4N2I1MzhkNmYzNjRlYTU1ZmZmZDIyYjdmY2VmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCkBAIC0xODAyLDcgKzE4MDIsNyBA
QCBib29sIFJlbmRlclRoZW1lR3RrOjpwYWludElubmVyU3BpbkJ1dHRvbihjb25zdCBSZW5kZXJP
YmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogfQogI2VuZGlmIC8vIEdUS19DSEVDS19WRVJTSU9O
KDMsIDIwLCAwKQogCi1kb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgp
IGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25z
dAogewogICAgIEd0a1NldHRpbmdzKiBzZXR0aW5ncyA9IGd0a19zZXR0aW5nc19nZXRfZGVmYXVs
dCgpOwogCkBAIC0xODEyLDkgKzE4MTIsOSBAQCBkb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0
QmxpbmtJbnRlcnZhbCgpIGNvbnN0CiAgICAgZ19vYmplY3RfZ2V0KHNldHRpbmdzLCAiZ3RrLWN1
cnNvci1ibGluayIsICZzaG91bGRCbGluaywgImd0ay1jdXJzb3ItYmxpbmstdGltZSIsICZ0aW1l
LCBudWxscHRyKTsKIAogICAgIGlmICghc2hvdWxkQmxpbmspCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gMF9zOwogCi0gICAgcmV0dXJuIHRpbWUgLyAyMDAwLjsKKyAgICByZXR1
cm4gU2Vjb25kcyh0aW1lIC8gMjAwMC4pOwogfQogCiBlbnVtIFN0eWxlQ29sb3JUeXBlIHsgU3R5
bGVDb2xvckJhY2tncm91bmQsIFN0eWxlQ29sb3JGb3JlZ3JvdW5kIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDkxNzIzNDU1Zjc3M2NhMjc1M2Q4NjFh
YzM3N2JiZjI1OWY5OWE4YmUuLjdiODJkOTMxNDY0NDRmZDRlZmVlNTYxNGU1YzExZDc2ZGIxZWQ4
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCkBAIC04MSw3
ICs4MSw3IEBAIHB1YmxpYzoKICAgICBDb2xvciBwbGF0Zm9ybUluYWN0aXZlTGlzdEJveFNlbGVj
dGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIENvbG9yIHBsYXRmb3Jt
SW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
U2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQg
cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDkxYWMwODAwMjM4MWZhNjVjZjBiMjVhNThjOTAzMWY4
YWE2ZDgxN2QuLmVlNTM2YzA0NTdhNGVlZGJhYWFmOWVkY2NmOTEwZTNjODRjYTdmNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCB2
b2lkIFJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiByZW5kZXJlcikK
ICAgICByZW5kZXJlci5zZXRSZW5kZXJCb3hOZWVkc0xhenlSZXBhaW50KHRydWUpOwogICAgIG1f
cmVuZGVyZXJzTmVlZGluZ0xhenlSZXBhaW50LmFkZCgmcmVuZGVyZXIpOwogICAgIGlmICghbV9s
YXp5UmVwYWludFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBSZW5kZXJWaWV3Ojp1bnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVy
Qm94JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJp
bmdJbnB1dEN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRD
dXJzb3IuY3BwCmluZGV4IDk5NjQ5YmZlMjkwMzY2NzZhZDQ5NjhhMzZkZjFmNWMzYzYyZTBlZDku
LjViNDM0OWZhOTM0ZjMyYjQxMDk1ZDVhMGY4NDQ5NjkxNGY4N2Y1MjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcApAQCAtNTgsMTEgKzU4LDgg
QEAgdm9pZCBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4KIHsKICAgICBBU1NFUlRfQVJHKGlucHV0LCBpbnB1
dCk7CiAKLSAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5wdXRRdWV1ZTo6RXZlbnRMb29wSW5w
dXQpIHsKLSAgICAgICAgLy8gRklYTUU6IHJld3JpdGUgdGhpcyAoYW5kIHJlbGF0ZWQgZGlzcGF0
Y2ggY29kZSkgdG8gdXNlIHN0ZDo6Y2hyb25vLgotICAgICAgICBkb3VibGUgbm93ID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChub3cpOwotICAgIH0KKyAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5w
dXRRdWV1ZTo6RXZlbnRMb29wSW5wdXQpCisgICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChNb25vdG9uaWNUaW1lOjpub3coKSk7CiAKICAgICBtX3NlZ21lbnQtPnN0
b3JhZ2UoKS5zdG9yZShXVEZNb3ZlKGlucHV0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDUxMDI5M2ZjMTZjNjRh
YzliNWZiNTFlN2I5OGQwOTBkOGI1MTM2NjcuLmIwN2QyNmZmODRmMzg3MTFkMzQ0MzViNDZiZWIw
YmIxZWYzMjViYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCkBAIC01MSw4ICs1MSw2IEBAIEV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKFBhZ2UmIHBhZ2UsIFJlcGxheWluZ0lucHV0
Q3VyCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1l
ckZpcmVkKQogICAgICwgbV9zcGVlZChEaXNwYXRjaFNwZWVkOjpGYXN0Rm9yd2FyZCkKIHsKLSAg
ICBtX2N1cnJlbnRXb3JrLmlucHV0ID0gbnVsbHB0cjsKLSAgICBtX2N1cnJlbnRXb3JrLnRpbWVz
dGFtcCA9IDAuMDsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnJ1bigpCkBA
IC05MSw3ICs4OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElu
cHV0U29vbigpCiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5z
dG9wKCk7CiAKLSAgICBkb3VibGUgd2FpdEludGVydmFsID0gMDsKKyAgICBTZWNvbmRzIHdhaXRJ
bnRlcnZhbDsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7
CiAgICAgICAgIC8vIFRoZSBnb2FsIGlzIHRvIHJlcHJvZHVjZSB0aGUgZGlzcGF0Y2ggZGVsYXkg
YmV0d2VlbiBpbnB1dHMgYXMgaXQgd2FzCkBAIC0xMDIsMjIgKzEwMCwyMiBAQCB2b2lkIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgICAgICBpZiAoIW1f
cHJldmlvdXNJbnB1dFRpbWVzdGFtcCkKICAgICAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVz
dGFtcCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogCi0gICAgICAgIGRvdWJsZSB0YXJnZXRJ
bnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0VGltZXN0
YW1wOwotICAgICAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpIC0gbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOworICAgICAgICBTZWNvbmRzIHRhcmdl
dEludGVydmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1l
c3RhbXA7CisgICAgICAgIFNlY29uZHMgZWxhcHNlZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgICAgICB3YWl0SW50ZXJ2YWwgPSB0YXJn
ZXRJbnRlcnZhbCAtIGVsYXBzZWQ7CiAgICAgfQogCiAgICAgLy8gQSBuZWdhdGl2ZSB3YWl0IHRp
bWUgbWVhbnMgdGhhdCBkaXNwYXRjaCB0b29rIGxvbmdlciBvbiByZXBsYXkgdGhhbiBvbgogICAg
IC8vIGNhcHR1cmUuIEluIHRoaXMgY2FzZSwgcHJvY2VlZCB3aXRob3V0IHdhaXRpbmcgYXQgYWxs
LgotICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwKQotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOwor
ICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwX3MpCisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsK
IAotICAgIGlmICh3YWl0SW50ZXJ2YWwgPiAxMDAwLjApIHsKKyAgICBpZiAod2FpdEludGVydmFs
ID4gMTAwMF9zKSB7CiAgICAgICAgIExPR19FUlJPUigiJS0yMHMgVHJpZWQgdG8gd2FpdCBmb3Ig
b3ZlciAxMDAwIHNlY29uZHMgYmVmb3JlIGRpc3BhdGNoaW5nIG5leHQgZXZlbnQgbG9vcCBpbnB1
dDsgdGhpcyBpcyBwcm9iYWJseSBhIGJ1Zy4iLCAiUmVwbGF5RXZlbnRzIik7Ci0gICAgICAgIHdh
aXRJbnRlcnZhbCA9IDA7CisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiAKLSAg
ICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIs
IHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlU
OiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRzKHdhaXRJbnRlcnZhbCAqIDEwMDAu
MCkubWlsbGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJbnRlcnZh
bCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hl
cjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rpc3BhdGNoaW5nKTsKIAogICAgIGlm
IChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7Ci0gICAgICAgIG1fcHJldmlv
dXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAg
ICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsK
ICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50aW1lc3Rh
bXA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1ZTRjM2Y5YTUyMzIzNWIwYzc5NWYz
NC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFiNmI0NDBkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0LmgiCiAjaW5jbHVkZSAiUmVwbGF5aW5n
SW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAgcHJpdmF0ZToKIAogICAgIERpc3Bh
dGNoU3BlZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBhdCB3aGljaCB0aGUgbGFzdCBpbnB1
dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAgIGRvdWJsZSBtX3ByZXZpb3VzRGlz
cGF0Y2hTdGFydFRpbWUgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzRGlzcGF0
Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhlIGxhc3Qg
ZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wIHsw
LjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5
L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2RjMDQ0NmVlNDAwOGI4MWIzOWJmNmM0
YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJlMDA4NDg5ZTMxZjM5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBAIC00Nyw4
ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2VnbWVudCgp
CiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+
KCkpCisgICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAsIG1faWRl
bnRpZmllcihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQotICAgICwgbV90aW1lc3RhbXAoY3Vy
cmVudFRpbWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
UmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNz
aW9uU2VnbWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0NjMyOTk3Y2ExOWY5NDhkZTIzYTJk
OWMuLmY3Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1MzM2NDU3ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCkBAIC0zMCw2ICszMCw3IEBA
CiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIwICs1MiwyMSBAQCBwdWJsaWM6CiAg
ICAgflJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgZG91YmxlIHRpbWVzdGFtcCgpIGNv
bnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAo
KSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgU2VnbWVu
dGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQotICAgIFZl
Y3Rvcjxkb3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BU
aW1pbmdzOyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+JiBldmVudExvb3BUaW1pbmdz
KCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHByaXZhdGU6CiAgICAgUmVwbGF5
U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTZWdtZW50ZWRJbnB1dFN0
b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9vcFRpbWlu
Z3M7CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1fZXZlbnRMb29wVGltaW5nczsKIAor
ICAgIE1vbm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAgdW5zaWduZWQgbV9pZGVudGlmaWVy
OwogICAgIGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAgICBkb3VibGUgbV90aW1lc3RhbXA7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlpbmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQyMGM4ZmFkNDRkZTUzYmMwMTUyZGJl
OTc2YmRkNmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVlYzIzNzdlMGRjNzc5NTFiYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCkBAIC0zMCw2
ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDxyZXBsYXkvSW5w
dXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsOCArNDIsOCBAQCBjbGFz
cyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKIHN0cnVjdCBFdmVudExvb3BJ
bnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0gICAgZG91YmxlIHRp
bWVzdGFtcDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0IHsgbnVsbHB0ciB9OworICAg
IE1vbm90b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xhc3MgUmVwbGF5aW5nSW5wdXRDdXJz
b3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
LmNwcAppbmRleCA4MjI3MGFkZDBmMmYwY2YzZWNkZDc2NTQ4ZTA1YzE0MTgyMGI4NWU2Li4zMDgw
ZDZhOGIxNmJmODcxNDE4YTdmODg3YjcxZWE4MTgyMTk0ZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlLmNwcApAQCAtNTA3LDcgKzUwNyw3IEBAIHZvaWQgU2NvcGU6OnNjaGVkdWxlVXBk
YXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1fcGVuZGluZ1VwZGF0ZVRpbWVyLmlz
QWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BlbmRpbmdVcGRhdGVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgU2NvcGU6OmRpZENoYW5nZUFjdGl2ZVN0eWxlU2hlZXRDYW5kaWRhdGVzKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBmMDQxNWZjYTMwZjljZTRjNDEwMmZhNThk
N2IzNTJmYWZmODVlYzNjLi40MTk2MmFhNzNiNjVkOWJlNjI4MTY5ODgwMjUxOTIxZTc4YTk5OGFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBT
VkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZShib29sIHNlbmRQYXJlbnRMb2Fk
RXZlbnRzKQogCiB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5
bmNocm9ub3VzbHkoKQogewotICAgIHN2Z0xvYWRFdmVudFRpbWVyKCktPnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTVkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggY2JmM2I3YmE1
ODQ4NTA3NzM3ZTk3NWNkZDBhODE5MmQzMzVmYmY1MC4uNzUzZTQwMTRiY2MyMTJjYjMwOGQ4ZDY2
N2NmZmViZmQxM2M0NDVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAgLTIwNSw3ICsyMDUsNyBAQCB2b2lkIFNNSUxUaW1l
Q29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBzZWQsIFNNSUxUaW1lIGZpcmVUaW1l
LCBTTUlMVGltZQogICAgICAgICByZXR1cm47CiAKICAgICBTTUlMVGltZSBkZWxheSA9IHN0ZDo6
bWF4KGZpcmVUaW1lIC0gZWxhcHNlZCwgbWluaW11bURlbGF5KTsKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChkZWxheS52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5LnZhbHVlKCkpKTsKIH0KIAogdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA2
MTFjOTJiOGZiMzQ1MWNmYzZjZjk2YzhlZDM3ZTc4NWEzMmQ5N2Y4Li5hZmFmNWVkYWE4NmMyMzY5
NWZmMmYzMzg2NzUyMzExOWFiNmYyZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFj
a3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgLCBtX2RlZmF1bHRW
aWRlb1Bvc3RlclVSTChzZXR0aW5ncy5kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoKSkKICAgICAsIG1f
Zm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koc2V0dGluZ3MuaXNGb3JjZVBlbmRpbmdXZWJHTFBvbGlj
eSgpKQotICAgICwgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKCkpCisgICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKCkpCiAgICAgLCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3Io
c2V0dGluZ3MudXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpKQogICAg
ICwgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKHNldHRpbmdzLmF1dG9zY3JvbGxG
b3JEcmFnQW5kRHJvcEVuYWJsZWQoKSkKICAgICAsIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1l
bnRFbmFibGVkKHNldHRpbmdzLnF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCgpKQpA
QCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3Jl
VG8oU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgc2V0dGluZ3Muc2V0RGVmYXVsdFZp
ZGVvUG9zdGVyVVJMKG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMKTsKICAgICBzZXR0aW5ncy5zZXRG
b3JjZVBlbmRpbmdXZWJHTFBvbGljeShtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KTsKLSAgICBz
ZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyht
X29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwor
ICAgIHNldHRpbmdzLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwogICAg
IHNldHRpbmdzLnNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IobV91
c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKTsKICAgICBzZXR0aW5ncy5z
ZXRBdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKG1fYXV0b3Njcm9sbEZvckRyYWdBbmRE
cm9wRW5hYmxlZCk7CiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVP
bkNvcHkobV9zaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSk7CkBAIC01MzYsNyArNTM2
LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVy
SW50ZXJ2YWwoZG91YmxlIGludGVydmFsSW5TZWMKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdz
KCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbEluU2Vjb25kcyAqIDEwMDAp
KSk7CisgICAgc2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGlu
dGVydmFsSW5TZWNvbmRzKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNTYwLDcgKzU2MCw3
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygp
LnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOwor
ICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoU2Vjb25kcyh0aW1lKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA1YTRmNmU0ZGFkNDg1Y2I1YWYzMTI3
ZGVmODA3OGRjNzc2MWMxOTQwLi5iZDYzZWJhYjc1MjcxZTkzOTZjOTQxMGJjOTRlMDQ2ZDlmNjE4
NTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTQz
LDcgKzE0Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0cmlidXRlQXdhcmVG
b3JtQ29udHJvbFVJRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ltYWdlc0VuYWJsZWQ7CiAgICAg
ICAgIGJvb2wgbV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKLSAgICAgICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOworICAgICAgICBTZWNvbmRzIG1f
bWluaW11bVRpbWVySW50ZXJ2YWw7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBi
b29sIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlczsKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3Bs
YXlDYXB0aW9uczsKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAg
IFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVu
ZGluZ1dlYkdMUG9saWN5OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX3RpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNl
TGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1
dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQ
bHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3NWM0
YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyArMTg3
LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAKIGlu
dCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVk
QWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5z
dGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRp
bWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1v
dmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9
CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpA
QCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChp
bnQgdGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAg
cmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6
Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25k
cyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhcklu
dGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApp
bmRleCA2YjdkZThjY2VkYjIyNDhiN2M5NzIwM2NiZGU0OThkNTEyYWIyYmRlLi44ZDA3ZGJlMzcy
ZjA5ZTQzMTgxNTZjNjdmZDQyMzRhNTFkYTYxZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRw
UmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4geyB9
OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0
IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0IHdp
dGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0aW9u
PGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0
TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGltZW91
dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsKKyAg
ICBhdXRvIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxs
aXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3RvbmljVGlt
ZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoMF9zLCBpbnRlcnZhbCkpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTQ5
Niw3ICs0OTYsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVx
dWVzdDo6cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9p
ZD4geyBFeGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07CiAgICAgICAgIHNldFBlbmRpbmdBY3Rp
dml0eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25l
dHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+
IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxI
dHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVv
dXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0g
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRU
aW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1p
bGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykpOwogICAgICAgICB9CiAg
ICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwog
ICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVy
LnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgbV9leGNlcHRpb25Db2RlID0gTkVUV09SS19FUlI7CkBAIC0xMTgz
LDcgKzExODMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUoKQogICAgIC8vIFdlIGFy
ZSBub3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBpbiByZXN1bWUoKSBzbyBkaXNw
YXRjaAogICAgIC8vIHRoZSBlcnJvciBldmVudCBpbiBhIHRpbWVyLgogICAgIGlmIChtX2Rpc3Bh
dGNoRXJyb3JPblJlc3VtaW5nICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggMDRhYmMwOWRkN2Y2YmI4
YjhhOTVhNTI0MTI3YzE0NjhjZmRhYzI3MS4uMmY4OGY1OTc0NzYwNDY2ZGU2MGJhOTYyNDBhMjJj
OWQwY2FmOGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya0Vycm9yVGltZXJGaXJlZCgpOwogCiAg
ICAgdW5zaWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRzIHsgMCB9OwotICAgIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5kaW5nVGltZTsKKyAgICBNb25vdG9uaWNU
aW1lIG1fc2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90aW1lb3V0VGltZXI7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMw
ODczLi5lNGM5OTU1MTA0MDYxMzI3M2FkZmUxNzU4M2I4YTA3ZjJmZDdkMjE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMg
cGVyIHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgPSA1
MF9tczsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVu
dFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEy
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhy
b3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJvdHRs
ZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhD
b21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIHN0
YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAg
ICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3Qg
ZnJlcXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVl
bnQgZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApA
QCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGU6OnJlc3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2YgYWN0aXZlIERPTSBvYmplY3RzIHRvIHJl
c3VtZSB0aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBldmVudC1oYW5kbGVyCiAgICAgLy8gY291
bGQgaW5zZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMgdG8gdGhlIGxpc3QuCiAgICAgLy8gbV9k
ZWZlckV2ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxsIGRlZmVycmVkIGV2ZW50cyBoYXZlIGJl
ZW4gZGlzcGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXgg
OTcxYmQyMzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUwMzQ4NGE4ZC4uMzQwZmI1YzAwZDE3M2Zi
NjE2MWE3NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAgLTU1LDcgKzU1
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNl
Y29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAgICAgdm9pZCBk
aXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTku
LmZhZjQ0YmFmNDYyZjQ5ZDc3OGFiMTE3ZDRiYWUwNDZkMWY0MmM3MmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5n
ZXMsIGRvbid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVw
IGEgYmF0Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhl
IGZvbGxvd2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRl
cnZhbCA9IDEuMDsKK3N0YXRpYyBjb25zdCBhdXRvIHN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxX3M7
CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBz
eW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZl
IHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdl
bmVyYWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxl
SXRlbUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUKIAogICAg
IG1fY2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5j
SW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJ
bnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUg
Y2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1Rp
bWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5
bmM6OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9p
dGVtc0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewot
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7Cisg
ICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAog
ICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJs
ZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5j
dGlvbi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsKICAgICAKICAg
ICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3Rh
cnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFy
dE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICAvLyBUaGUg
Zm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0
aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3
ICsxNzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgICAg
ICAvLyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwgc2NoZWR1bGUg
aXQgYW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9maW5hbFN5bmNT
Y2hlZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7
Ci0gICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZh
bCk7CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3
IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRp
YWxTeW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2luZywgdGhlbiB3
ZSBuZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQoIW1fc3luY1Rp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFn
ZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdl
U3luY0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGJhbGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhl
CiAgICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hl
ZHVsZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFj
a2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi5h
ZDc1N2Q4OGRkMTY2ZTc2MTk1YTUwMzVhZDUzZjAwOTUwOTlmNzVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUxLDggKzUxLDggQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsK
IAogLy8gSWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFi
YXNlLCBjbG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQotLy8gYWZ0ZXIgaXQgaGFzIGJlZW4g
aWRsZSBmb3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBj
b25zdCBkb3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMDsKKy8v
IGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
IHNlY29uZHMuCitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsID0gMzAwX3M7CiAgICAgCiB2b2lkIFN0b3JhZ2VUcmFja2VyOjppbml0aWFsaXplVHJh
Y2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdlVHJhY2tlckNsaWVudCogY2xp
ZW50KQogewpAQCAtOTcsNyArOTcsNyBAQCBTdG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIo
Y29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCkKICAgICAsIG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlx
dWU8U3RvcmFnZVRocmVhZD4oKSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX25l
ZWRzSW5pdGlhbGl6YXRpb24oZmFsc2UpCi0gICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbChEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQorICAgICwgbV9zdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWwoZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBk
MjJlOWEzOWY5YjhjMDg5MzdmNTk0ZThmYTNiZGFjYTg4Li43MjZmMzI1MWIxZDFlZWY2YzFhYWYx
MTI2MWMwZDI5OTdiNTkxNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIu
aApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpc0FjdGl2ZSgpOwog
Ci0gICAgZG91YmxlIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9Ci0gICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bCgpIHsgcmV0dXJuIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9CisgICAgdm9pZCBz
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkgeyBtX3N0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CiAKICAgICB2b2lkIHN5bmNGaWxl
U3lzdGVtQW5kVHJhY2tlckRhdGFiYXNlKCk7CiAKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRl
OgogICAgIAogICAgIGJvb2wgbV9pc0FjdGl2ZTsKICAgICBib29sIG1fbmVlZHNJbml0aWFsaXph
dGlvbjsKLSAgICBkb3VibGUgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vj
b25kcyBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKIH07CiAgICAgCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0
L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggMTFiY2UzYmVlMGUwYmExZDcwMmY3
MmM2NjQ1M2NjMmEyYmRlYjdmNi4uYTZjZjg0ZmMxOTUyNTk2M2Q0NmQyYmFjOTU3YWZhMmIzZmE4
YTFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2Vi
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpyZXN1bWVQZW5kaW5nUmVxdWVzdHMoKQogdm9pZCBXZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKQogewogICAg
IGlmICghbV9yZXF1ZXN0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCBiOWFiOGEwZGRkY2M3NjQ3ZGE3
ODYzMzk4NDIzMjdjYTVjN2E5N2E5Li4wNmU5ZWQ2YzU3ZGI1NDcyMjdhZjQyYzVhMmYwNWFmZGFj
ZGVlZTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC03NDQsNyArNzQ0LDcg
QEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKCkK
ICAgICBtX3BsdWdpblJlcXVlc3RzLnJlbW92ZUZpcnN0KCk7CiAgICAgCiAgICAgaWYgKCFtX3Bs
dWdpblJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAK
ICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBA
QCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9
IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQ
b3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJl
cXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBSZWZQdHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0+IHN0cmVhbSA9IEhvc3RlZE5ldHNj
YXBlUGx1Z2luU3RyZWFtOjpjcmVhdGUodGhpcywgcmVxdWVzdElELCByZXF1ZXN0KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0u
bW0KaW5kZXggMDVjYzRkNDcyZGE4NjEwYTM0YmE1YmRiZWM4YTE2M2U0YWQzOGI5NC4uZGIwYzAw
ZmU3YWM1ZGM3ZGY3MGU5OTBiZjYwMWNlMTlmZWZmNWYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC01MjksNyAr
NTI5LDcgQEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAg
ICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7CiAgICAgICAgICAgICAvLyBQbHVnLWluIGNh
bid0IHJlY2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0IG5vdy4gU2VuZCBpdCBsYXRlci4KICAgICAg
ICAgICAgIGlmICghbV9kZWxpdmVyRGF0YVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAg
ICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgICAgICBt
X2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihk
ZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxCeXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4
IGQ5ZTU4ZTMzNjk0ZDUwY2MxZjY3NmIwNGZjMWY5OGUzZWZhNGJkM2UuLmMyYzY0ZTJhM2EwNTFm
OTg1YmU5YTRjMDU3YmJkNGZjNzNkYzRmYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xMTEsNyArMTExLDcgQEAgc3Rh
dGljIFdlYk5ldHNjYXBlUGx1Z2luVmlldyAqY3VycmVudFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5
cGVkZWYgc3RydWN0IE9wYXF1ZVBvcnRTdGF0ZSogUG9ydFN0YXRlOwogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1Oworc3RhdGljIGNvbnN0IGF1dG8g
VGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjVfczsKIAogY2xhc3MgUGx1Z2luVGltZXIgOiBw
dWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAg
ICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0aW1l
SW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBhdXRvIHRpbWVJbnRlcnZh
bCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAgICAgICAgIAogICAg
ICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0
aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZh
ZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2Iw
NWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdl
TWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5h
Z2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIHB0aHJlYWRfb25jZV90IHJlZ2lzdGVy
TG9jYWxTdG9yYWdlUGF0aCA9IFBUSFJFQURfT05DRV9JTklUOwogCiArICh2b2lkKXNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVydmFsCiB7Ci0gICAgV2ViS2l0OjpT
dG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChp
bnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKICsgKHZvaWQp
Y2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KaW5kZXggMTUyMjg5MzY4ODZiNWRjMDc5NDYwZjYwOTJhMDQzNDY0NTI4YWEzMS4uOWIw
MWJhNDE0N2ExODg4N2Y2NjVkY2Y1OTFhZDMyZmIzMTg2NzNhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtODMzNCw3ICs4MzM0LDcgQEAgc3RhdGljIFdlYkZyYW1lVmll
dyAqY29udGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAgICAgdW5zaWduZWQgY2FjaGVU
b3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7
CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9Owor
ICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAgIHVuc2ln
bmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDYxLDcgKzg0NjEsNyBAQCBzdGF0aWMgV2Vi
RnJhbWVWaWV3ICpjb250YWluaW5nRnJhbWVWaWV3KE5TVmlldyAqdmlldykKICAgICAgICAgLy8g
Y2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUg
cmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heDx1bnNp
Z25lZD4oMjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAg
ICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJjMThkZWI3NWNjZDcwODI3
YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLjdkYjI3NmUwNzg0ZmFlMGMyNzE4NjAzYjhmMDQyYzY4
MThjZDU1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0aW1lckludGVydmFsID0g
MC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4wMzNfczsKIAog
Ly8gSFVEIFNpemUKIHN0YXRpYyBjb25zdCBpbnQgd2luZG93SGVpZ2h0ID0gNTk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4u
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2lu
LmNwcAppbmRleCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li4xNzI5
ZmZmNjNjMGZmYTQ2NzVkMzc4MTNhYzZhYzcwZDc2NDlkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAg
LTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3Mg
Rmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRl
bwogLy8gcGxheWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tp
bmcgaW50byBoaWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldp
bi5jcHApLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwg
PSAwLjAxNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZh
bCA9IFNlY29uZHMoMC4wMTYpOwogCiAvLyBEdXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBt
ZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZlcnkgNW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNz
YWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVydmFsID0gMC4wMDU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwIGIvU291cmNlL1dlYktpdC93aW4v
UGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCBiNjdmYTUzZmU4MGIxZWY4YzAxYWZmYzg2
ZGE1ZDcxNjMxNTVkZDI0Li4xNzU0YmRkNTRmMDczOWUyZGY2Y2FjYjc5ZTE1MTVhNDkyMTdjZjFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTY3
LDcgKzY3LDcgQEAgdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24oKQogICAgIEFT
U0VSVChtX21vZHVsZSk7CiAgICAgQVNTRVJUKCFtX2xvYWRDb3VudCk7CiAKLSAgICBtX2ZyZWVM
aWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnJlZUxpYnJhcnlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJl
YW0uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCmluZGV4
IDJlZjM5NTViZTYxYThkMDU0MjRhZDEzOTk2MmRkMGQ3ZmE2YWU0NDQuLmRhODMzYWFmNGY4YmFl
NDRiNDgwNGIzNTIxZmNkMTc3YjhjYWRkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblN0cmVhbS5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIFBsdWdpblN0cmVhbTo6
ZGVsaXZlckRhdGEoKQogICAgICAgICBpbnQzMl90IGRlbGl2ZXJ5Qnl0ZXMgPSBtX3BsdWdpbkZ1
bmNzLT53cml0ZXJlYWR5KG1faW5zdGFuY2UsICZtX3N0cmVhbSk7CiAKICAgICAgICAgaWYgKGRl
bGl2ZXJ5Qnl0ZXMgPD0gMCkgewotICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFs
Qnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
aW5kZXggMjA3YTk2MTNjY2E4ZDljMTAzN2NmYjRkMWIxZTQyYTY4NTE5NTY5Ni4uNGVkNmQ1YjBi
NTU5NDVmMTcwMDNlY2MyNGYzOTZmYTg2NDQ5NjAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC00NzMsNyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpy
ZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgLy8gU2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUg
Y2FsbGluZyBwZXJmb3JtUmVxdWVzdCBzaW5jZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1S
ZXF1ZXN0IGNhbiBjYXVzZSB0aGUgcGx1Z2luIHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAo
IW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAg
cGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC00ODMsNyArNDgzLDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpzY2hlZHVsZVJlcXVlc3Qoc3RkOjp1bmlxdWVfcHRyPFBsdWdpblJlcXVl
c3Q+IHJlcXVlc3QpCiAgICAgbV9yZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAK
ICAgICBpZiAoIW1faXNKYXZhU2NyaXB0UGF1c2VkKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBOUEVycm9yIFBsdWdpblZpZXc6OmxvYWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYg
ZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRh
KQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNl
ZChib29sIHBhdXNlZCkKICAgICBpZiAobV9pc0phdmFTY3JpcHRQYXVzZWQpCiAgICAgICAgIG1f
cmVxdWVzdFRpbWVyLnN0b3AoKTsKICAgICBlbHNlIGlmICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZl
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCmluZGV4IDJmY2E5ZjNjOTVkNzNkYmEzYWMz
MjYyNTllYTg2ZGRjZGRhMjA3MGYuLmU1YzNjNTRhZjk3MWM2ZWQ5MzgxMjI2YzZiZjRkMDY2ODli
MmZlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dp
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApA
QCAtMzM0LDcgKzMzNCw3IEBAIFBsdWdpblZpZXc6OnduZFByb2MoSFdORCBoV25kLCBVSU5UIG1l
c3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiAKICAgICAgICAgcHVzaFBvcHVw
c0VuYWJsZWRTdGF0ZSh0cnVlKTsKIAotICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgfQogCiAgICAgaWYgKG1lc3NhZ2UgPT0gV01fUFJJTlRDTElFTlQpIHsKQEAg
LTgzOCw3ICs4MzgsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KE5QUmVjdCog
cmVjdCkKICAgICAgICAgaWYgKG1fcGx1Z2luLT5xdWlya3MoKS5jb250YWlucyhQbHVnaW5RdWly
a1Rocm90dGxlSW52YWxpZGF0ZSkpIHsKICAgICAgICAgICAgIG1faW52YWxpZFJlY3RzLmFwcGVu
ZChyKTsKICAgICAgICAgICAgIGlmICghbV9pbnZhbGlkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMC4wMDEpOworICAg
ICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgxX21zKTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChyKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIzODY5NzA4
YjVhYjdjN2E0YWQyMjI4Mi4uYTEwYTAyMDY0YmU5MzAxZTA4NDRiNWUwYjRjMDA5OGU2MDBmNGU5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcApAQCAtMzQ5LDcgKzM0OSw3
IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVz
aCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAgICBtX2xh
eWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNV9zKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAKaW5kZXggZDU3MDA0OGRhN2EyNjQwNmJjYWQwNmMyNWRlODY4ZmU1YWNiMmIwMy4u
ZDJhM2QyNTZmYzQzMGJmZDNlZTVmMDcxMzkyY2RhOTFlMDVlMzA1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5jcHAKQEAgLTUyNSw3ICs1MjUsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2Vi
Q2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9
IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVk
IGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVT
aXplID0gMDsKIApAQCAtNjM3LDcgKzYzNyw3IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2Rl
bChXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRo
ZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAg
ICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gbWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkp
OwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwgPSA2MF9zOwogCiAgICAgICAgIC8vIE1lbW9yeSBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMp
CiAgICAgICAgIC8vIChUaGVzZSB2YWx1ZXMgYXJlIHNtYWxsIGJlY2F1c2UgV2ViQ29yZSBkb2Vz
IG1vc3QgY2FjaGluZyBpdHNlbGYuKQpAQCAtMTUxNiw3ICsxNTE2LDcgQEAgdm9pZCBXZWJWaWV3
OjpjbG9zZVdpbmRvd1Nvb24oKQogICAgIG1fY2xvc2VXaW5kb3dUaW1lciA9IFdpbmRvd0Nsb3Nl
VGltZXI6OmNyZWF0ZSh0aGlzKTsKICAgICBpZiAoIW1fY2xvc2VXaW5kb3dUaW1lcikKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBBZGRSZWYoKTsK
IH0KQEAgLTc0NTIsNyArNzQ1Miw4IEBAIEhSRVNVTFQgV2ViVmlldzo6ZGVmYXVsdE1pbmltdW1U
aW1lckludGVydmFsKF9PdXRfIGRvdWJsZSogaW50ZXJ2YWwpCiB7CiAgICAgaWYgKCFpbnRlcnZh
bCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqaW50ZXJ2YWwgPSBET01UaW1lcjo6
ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLmNvdW50KCkgLyAxMDAwLjsKKworICAgICppbnRlcnZh
bCA9IERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkudmFsdWUoKTsKICAgICByZXR1
cm4gU19PSzsKIH0KIApAQCAtNzQ2MSw4ICs3NDYyLDcgQEAgSFJFU1VMVCBXZWJWaWV3OjpzZXRN
aW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCiAgICAgaWYgKCFtX3BhZ2UpCiAg
ICAgICAgIHJldHVybiBFX0ZBSUw7CiAKLSAgICBhdXRvIGludGVydmFsTVMgPSBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGludGVydmFs
ICogMTAwMCkpOwotICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRl
cnZhbChpbnRlcnZhbE1TKTsKKyAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURPTVRp
bWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgIHJldHVybiBTX09LOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2su
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcApp
bmRleCA5YmZhNGVjNjRjODQ3MGM3ZGJlYmNlNGZmZTNiZmMwNGM4NTYzYjkwLi45NGUxNDdmNTI4
YTU4M2ZkMGRlY2E3MTE1MzAzNjE5MzJlMTI2NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9p
ZCBOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQogewog
ICAgIEFTU0VSVCh0eXBlICE9IE5vRmFpbHVyZSk7CiAgICAgbV9zY2hlZHVsZWRGYWlsdXJlVHlw
ZSA9IHR5cGU7Ci0gICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZmFp
bHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VD
b21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCmluZGV4IDUxN2Y4NDVhYWJlNTIzZjJlZmE5
NjE4NGVlZjcyNTNhZTJjYTRkOWYuLjBmMzAwMmRhZTI1ZmFhN2FlOWViMjc5Yjc0MzkyOTQ0YmQw
MjE3NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5j
cHAKQEAgLTUwLDcgKzUwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAjaWYgVVNFKE5F
VFdPUktfU0VTU0lPTikKIAogc3RydWN0IE5ldHdvcmtMb2FkOjpUaHJvdHRsZSB7Ci0gICAgVGhy
b3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXks
IFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCisgICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIFNlY29uZHMgZGVsYXks
IFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCiAgICAgICAgIDogdGltZXIobG9hZCwgJk5ldHdvcmtMb2FkOjp0aHJvdHRsZURl
bGF5Q29tcGxldGVkKQogICAgICAgICAsIHJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2UpKQogICAg
ICAgICAsIHJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKQEAgLTMx
Miw3ICszMTIsNyBAQCB2b2lkIE5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3Jr
U2Vzc2lvbihSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsCiAgICAgfQogCiAgICAgYXV0byBk
ZWxheSA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5sb2FkVGhyb3R0bGVMYXRlbmN5KCk7
Ci0gICAgaWYgKGRlbGF5ID4gMG1zKSB7CisgICAgaWYgKGRlbGF5ID4gMF9zKSB7CiAgICAgICAg
IG1fdGhyb3R0bGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFRocm90dGxlPigqdGhpcywgZGVsYXksIFdU
Rk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAppbmRleCBjOTZkMDgyOWUxNWI2ZDg4YmFlMTVjZjBjMTJjYzRjZDIzOGYxMTNiLi44
YzViN2E0ODg1ZmM0NDllZWFkZTA3NDRjZDlmYzYwMjVhY2U2MWE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTExNSw3ICsxMTUsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGdyYW50U2FuZGJveEV4dGVuc2lvbnNUb0RhdGFiYXNlUHJv
Y2Vzc0ZvckJsb2JzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZ1bmN0aW9uPHZv
aWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVM
YXRlbmN5OyB9CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1
cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CiAKIHByaXZhdGU6CiAgICAgTmV0d29ya1Byb2Nl
c3MoKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zdXBwcmVzc01l
bW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2tDYWNoZUlzRGlz
YWJsZWRGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZh
bHVhdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0
ZW5jeTsKKyAgICBTZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIHR5cGVkZWYg
SGFzaE1hcDxjb25zdCBjaGFyKiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQcm9jZXNzU3VwcGxl
bWVudD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+PiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXA7
CiAgICAgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBmNDU2OWM5NDY5YTU3NzJlNjBiMWM5YmZmNTYw
ODVkM2FjYjQzYzNkLi43MDk1MTUzMGUzMjlmYTFjNWYzZmY4ZTY3MmI5MzQzMDhjNThmOGFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNs
dWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIlNh
bmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNzMsNyAr
NzQsNyBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJv
b2wgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJv
b2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOwogICAgIGJvb2wgdXJsUGFyc2VyRW5h
YmxlZCB7IGZhbHNlIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0
bGVMYXRlbmN5IHsgMG1zIH07CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5OwogCiAg
ICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHM7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCmluZGV4IDQyNTVhZGU0MTE1MGRhOTY5ZjIxMTE3
NTEyZDdkZjZmN2Y3YzljNGEuLjViMjllMGViZDQzYTM4YmU1MmFlNjZkYzUyMTAzMmVjMjA2NzBh
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6
CiAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBpZGVudGlmaWVyIHsgMCB9OwogICAgIFZlY3Rv
cjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IHJlcXVlc3RCb2R5U2FuZGJveEV4dGVuc2lvbnM7
IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBSZWZQdHI8U2Fu
ZGJveEV4dGVuc2lvbj4gcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOyAvLyBDcmVhdGVkIGF1dG9t
YXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBt
YXhpbXVtQnVmZmVyaW5nVGltZSB7IDBtcyB9OworICAgIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmlu
Z1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkw
MTA1OTk2OGEzOTEzMDFkYTJhYzkyMzc0YjdmOTI0NWQ2OTRkZDYuLjJjN2FlM2FhNzZiNzI5NzU2
NDgwMzAzNTZiZDlmMDc0MjBlYzJmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjA5LDcgKzIwOSw3
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIAogICAgIGNvbnN1bWVTYW5kYm94RXh0ZW5zaW9ucygp
OwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMubWF4aW11bUJ1ZmZl
cmluZ1RpbWUgPiAwbXMpCisgICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMu
bWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiAwX3MpCiAgICAgICAgIG1fYnVmZmVyZWREYXRhID0gU2hh
cmVkQnVmZmVyOjpjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKaW5kZXggMzAwYzMwODEyNGYzNGNhNjdh
OWRhNWJiNzQwNTRlNjAyZWMyOWQxMi4uYjE0OGE1ZWRjZTliYjk5NWY3ZTU5NjhjMTY1OTJmMjc5
ODQ4NDIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xv
YWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCkBAIC00
Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJl
c3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8v
IFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dGFydE9uZVNob3QoMTAwMF9taW4pOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGNjYTk4NWZjZGFm
MDFkNWI2OGE0YjNmMTU3YWM2ZjJhZDljZmFkYzMuLjEyNWQ3ZTg1ZmUzMGNiNTRhZDAzNmM5ODgx
MTc4MWJlNDVhYjgxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVk
RW50cnlMaWZldGltZSA9IDEwczsKK3N0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlm
ZXRpbWUgPSAxMF9zOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIEhhc2hDb3VudGVkU2V0
PFN0cmluZz4mIGFsbFNwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdlcygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
dGF0aXN0aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0YXRpc3RpY3MuY3BwCmluZGV4IDEwYTUyMDNlZmQ4MTgwZTBhY2EzNGJlNTRkZjUy
NTgyZjU5Yzk1ZjcuLjgyMTJjNzYzN2MzMTJkZmZmNzcxY2I3YmEwOTE5YmU5MTliNThlNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBT
dGF0aXN0aWNzRGF0YWJhc2VOYW1lID0gIldlYktpdENhY2hlU3RhdGlzdGljcy5kYiI7Ci1zdGF0
aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCA9
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoMTAwMDApOworc3RhdGljIGNvbnN0IFNlY29uZHMg
bWluaW51bVdyaXRlSW50ZXJ2YWwgPSAxMF9zOwogCiBzdGF0aWMgYm9vbCBleGVjdXRlU1FMQ29t
bWFuZChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgc3Fs
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCA0NTMwODNhNGE0OWIwN2Y3ZGEwMjMwODlj
OTdhODU0MTgxN2I3ZGQ2Li4wNzNhZDZkMmRjOWQxOWI2ZjhjZWU0N2E1OTMwNTc0Y2IxZjhiODM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtNTY1LDcgKzU2NSw3IEBAIHZvaWQgU3RvcmFn
ZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9uPiBy
ZWFkT3BlcmF0aW9uCiAgICAgbV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92ZShyZWFk
T3BlcmF0aW9uUHRyKSk7CiAKICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVy
YXRpb25zIHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhl
ciBnbyB0byBuZXR3b3JrLgotICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7Cisg
ICAgY29uc3QgU2Vjb25kcyByZWFkVGltZW91dCA9IDEuNV9zOwogICAgIG1fcmVhZE9wZXJhdGlv
blRpbWVvdXRUaW1lci5zdGFydE9uZVNob3QocmVhZFRpbWVvdXQpOwogCiAgICAgYm9vbCBzaG91
bGRHZXRCb2R5QmxvYiA9IG1heUNvbnRhaW5CbG9iKHJlYWRPcGVyYXRpb24ua2V5KTsKQEAgLTc4
Nyw3ICs3ODcsNyBAQCB2b2lkIFN0b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBN
YXBwZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJvZHlIYW5kbGVyKQogCiAgICAgLy8gRGVsYXkgdGhl
IHN0YXJ0IG9mIHdyaXRlcyBhIGJpdCB0byBhdm9pZCBhZmZlY3RpbmcgZWFybHkgcGFnZSBsb2Fk
LgogICAgIC8vIENvbXBsZXRpbmcgd3JpdGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3cml0ZXMgd2l0
aG91dCBkZWxheS4KLSAgICBzdGF0aWMgY29uc3QgYXV0byBpbml0aWFsV3JpdGVEZWxheSA9IDFz
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxXcml0ZURlbGF5ID0gMV9zOwogICAg
IG1fd3JpdGVPcGVyYXRpb25EaXNwYXRjaFRpbWVyLnN0YXJ0T25lU2hvdChpbml0aWFsV3JpdGVE
ZWxheSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggNGNlZmE4ZWIzNTdhZTQ0YmQy
NWE1NzQ2YjQ1ZmY5YTA4YjRlMjBkZi4uMThmMGNjZDhmNzE0MTIzYzk4YTk1MTU0OTJkNzU4NjM2
ZTZlYzQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTMzMyw3ICszMzMsNyBAQCB2b2lk
IE5ldHdvcmtEYXRhVGFza0NvY29hOjpjYW5jZWwoKQogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2Nv
YTo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1
cmUpCi0gICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9m
YWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgW21fdGFzayByZXN1bWVdOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtE
YXRhVGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3
b3JrRGF0YVRhc2tTb3VwLmNwcAppbmRleCAzYjU1YzJkZDE3ZmU5ZjYzYTY0NTgxMWRjMzAyN2Q2
ZGU5NTcwMzU5Li5kNmE4NmEyNGU0ZjEyYmNiZTI4NDcwNGIwYmFjNDhlNTkyODczNWEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFz
a1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a0RhdGFUYXNrU291cC5jcHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFz
a1NvdXA6OnRpbWVvdXRGaXJlZCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnN0YXJ0VGlt
ZW91dCgpCiB7CiAgICAgaWYgKG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkK
LSAgICAgICAgbV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChtX2ZpcnN0UmVxdWVzdC50aW1l
b3V0SW50ZXJ2YWwoKSk7CisgICAgICAgIG1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoU2Vj
b25kcyhtX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSkpOwogfQogCiB2b2lkIE5ldHdv
cmtEYXRhVGFza1NvdXA6OnN0b3BUaW1lb3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDlhYzc2YzZkMzk0N2RlMjY4NzFlYjY4OTIw
NjViZGE2Yjc3OGNmZTEuLmQwNDZhZjVkZTIwNzM2MzI3YjEwNzY4MzBlY2I5YjhhOWVmZWQ1ODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcApA
QCAtMzIsNiArMzIsMzYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25p
Y1RpbWUmIHRpbWUpCit7CisgICAgZW5jb2RlciA8PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCku
dmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBkb3VibGUgdmFs
dWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIHRpbWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZW5jb2Rl
ciA8PCBzZWNvbmRzLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZG91Ymxl
IHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50Pjo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86
OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYgdGltZVBvaW50KQogewogICAgIGVuY29kZXIgPDwg
c3RhdGljX2Nhc3Q8aW50NjRfdD4odGltZVBvaW50LnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKaW5kZXgg
ZjZkODhiN2NkYmI3ZGU2ZmE2YTJkY2I1NGFmODZmYTNjYTc5NzZiMi4uMDc1YmZmNTM1MTlkZjg5
N2Y3NTAzNjgyNWJkMjY5Zjg3ZjI2OWFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTE2Myw3ICsxNjMsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZS4uLiBFbGVtZW50cz4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjp0dXBsZTxFbGVtZW50cy4u
Lj4+IHsKICAgICB9CiB9OwogCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFJlcCwgdHlwZW5hbWUgUGVy
aW9kPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQZXJp
b2Q+PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlvZD4mIGR1cmF0aW9uKQogICAgIHsKQEAgLTM3
OSw2ICszNzgsMTYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBIYXNoQXJn
LCB0eXBlbmFtZSBLZXlUcmFpdHNBcmc+IHN0cnVjdCBBcmd1bWUKICAgICB9CiB9OwogCit0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3RvbmljVGltZT4geworICAgIHN0
YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpNb25vdG9uaWNUaW1lJik7Cisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKK307
CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpTZWNvbmRzPiB7CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6OlNlY29uZHMmKTsKKyAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25kcyYpOworfTsKKwogdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBzdGQ6OmNo
cm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2Rl
KERlY29kZXImLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCBmMDEyYTAxYjU0ZGU3ZDFm
Y2UyMTc5N2U2ZjQ1NTA1MGM4M2U2ODg1Li45MDJiZTRkMWE3M2Y4ZTA0N2Q5MjA5ZjMyZDQ1YTI4
NmE5NzAzMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAg
LTE4Niw3ICsxODYsNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGtpbGwoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRz
KTsKKyAgICB2b2lkIHRlcm1pbmF0ZVNvb24oU2Vjb25kcyk7CiAjZW5kaWYKIAogICAgIGJvb2wg
aXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmluZGV4IDI4OTk1MTI5NDYzZTgz
MTkxMDcwYmVlODVmZGJlODcwNTQ4ZTU1YjEuLjcwNDQ2OTE1NmFmODFiZDQxNThmMTcxZTA4MTdk
ODhlZGJmYjE3YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMv
Q29ubmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nv
bm5lY3Rpb25NYWMubW0KQEAgLTgwLDIwICs4MCwyMCBAQCBlbnVtIHsKIC8vICAgIHRvIGVuc3Vy
ZSBpdCBoYXMgYSBjaGFuY2UgdG8gdGVybWluYXRlIGNsZWFubHkuCiBjbGFzcyBDb25uZWN0aW9u
VGVybWluYXRpb25XYXRjaGRvZyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4m
IHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBzdGF0aWMgdm9p
ZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29u
bmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICB7Ci0gICAg
ICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRl
cnZhbEluU2Vjb25kcyk7CisgICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90
PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIENvbm5lY3Rp
b25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGND
b25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgICAgICA6IG1feHBjQ29ubmVjdGlvbih4
cGNDb25uZWN0aW9uKQogICAgICAgICAsIG1fd2F0Y2hkb2dUaW1lcihSdW5Mb29wOjptYWluKCks
IHRoaXMsICZDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6d2F0Y2hkb2dUaW1lckZpcmVk
KQogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgLCBtX2Fzc2VydGlvbihzdGQ6Om1ha2VfdW5p
cXVlPFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNfY29ubmVjdGlvbl9nZXRfcGlk
KG1feHBjQ29ubmVjdGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91
bmQpKQogI2VuZGlmCiAgICAgewotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90
KGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hv
dChpbnRlcnZhbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgd2F0Y2hkb2dUaW1lckZpcmVkKCkK
QEAgLTE1MSwxMCArMTUxLDEwIEBAIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1JbnZhbGlkYXRl
KCkKICNlbmRpZgogfQogICAgIAotdm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKGRvdWJs
ZSBpbnRlcnZhbEluU2Vjb25kcykKK3ZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihTZWNv
bmRzIGludGVydmFsKQogewogICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCi0gICAgICAgIENvbm5l
Y3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRj
aGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgQ29ubmVj
dGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNo
ZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogfQogICAgIAogdm9pZCBDb25uZWN0aW9u
OjpwbGF0Zm9ybUluaXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCmlu
ZGV4IGRhOWRiMjI0ZWRjMGVhMGNiZDAwMmRjMTcxMmEwYzE4NmQxOTM1ZTQuLjE3Mzk1MjUwOTU3
MWQ4ZjQ5MGE3M2U3ZmE5Njk1OTNjN2I4MzI0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTE0Nyw3ICsx
NDcsNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSgpCiAgICAgaWYgKG1f
cGx1Z2luRGVzdHJ1Y3Rpb25Qcm90ZWN0Q291bnQgfHwgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9u
KCktPmluU2VuZFN5bmMoKSkgewogICAgICAgICAvLyBXZSBoYXZlIHBsdWctaW4gY29kZSBvbiB0
aGUgc3RhY2sgc28gd2UgY2FuJ3QgZGVzdHJveSBpdCByaWdodCBub3cuCiAgICAgICAgIC8vIERl
c3Ryb3kgaXQgbGF0ZXIuCi0gICAgICAgIG1fcGx1Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIxNSw3ICsyMTUsNyBAQCB2b2lkIFBsdWdpbkNv
bnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
Ly8gU3RhcnQgdGhlIHRpbWVyLgotICAgIG1fcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgbV93YWl0aW5nRm9yRGlk
VXBkYXRlID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuY3BwCmluZGV4IGE3MjRlYjA4ZjkwZDU5ZGIxMjk4MjM0NDFlNzdlMDhmZWVjN2Iy
NWIuLjM5NWQ3NjRkNDcxZjUxZGU5OTgwYzYxMjFlNjAzMmNmYWM0OTgyZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMjIwLDkgKzIy
MCw5IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRl
RGF0YUZvckhvc3ROYW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0
aW1lIDw9IDAuMCkKKyAgICBpZiAobGlmZXRpbWUgPD0gMF9zKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgZGlzYWJsZVRlcm1pbmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDlhOTBlNGMyNTM5M2E3ZWQ0NmM5ODdiNWVlNDQ0
OWE3NGFiOTIzM2IuLjIwYWMwNjdiMDQ5NWU2YWM3NjIyYzAwNjIwMDM4YzAxZjVmMzAyOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0xMDIs
NyArMTAyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2lu
UHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIAotICAgIHZv
aWQgc2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRp
bWUoU2Vjb25kcyk7CiAgICAgdm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCk7CiAgICAg
Ly8gT3VyIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb25zLgogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DYWNoZU1vZGVsLmNwcAppbmRleCA0MDNmMzRkZmNkNGI3YWRjNDliYTA0NjJiOWZkZWZhNmRl
ZjNmZDQ1Li5lYmU2ZWQyZDJlOTFhNDc4OWVhMTVmY2I3MzQzNDkwZDVkNzE2ZDRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
aW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJv
bm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBw
YWdlQ2FjaGVDYXBhY2l0eSkKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1v
ZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBj
YWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNv
bmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hl
Q2FwYWNpdHkpCiB7CiAgICAgdWludDY0X3QgbWVtb3J5U2l6ZSA9IHJhbVNpemUoKSAvIE1COwog
CkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hl
TW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2kKICAgICAgICAgLy8g
Y2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUg
cmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heCgyNHUs
IGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICAgICAgICAgYnJlYWs7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKaW5kZXggY2Y0NzM0NTRmZTJhYzMzZDNjYTQz
YTcyZmE1OTNlNGM0ZTUxZDNkNS4uMWUwNzc2ODhlYTc4ZGM4NDI5ODhmNGY1ZjAzYWNhYmI5MzEy
NGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCkBAIC0yNiw4ICsyNiw4IEBACiAj
aWZuZGVmIENhY2hlTW9kZWxfaAogI2RlZmluZSBDYWNoZU1vZGVsX2gKIAotI2luY2x1ZGUgPGNo
cm9ubz4KICNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzcsNyArMzcsNyBAQCBlbnVtIENhY2hlTW9kZWwgewog
ICAgIENhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlcgogfTsKIAotdm9pZCBjYWxjdWxhdGVNZW1v
cnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVu
c2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFj
aXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2Fj
aGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25l
ZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwg
U2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VD
YWNoZUNhcGFjaXR5KTsKIHZvaWQgY2FsY3VsYXRlVVJMQ2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1
aW50NjRfdCBkaXNrRnJlZVNpemUsIHVuc2lnbmVkJiB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1
aW50NjRfdCYgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXggMTc1Nzg5ZmI5YWU3MTNm
MTZlZWVkYmZhYmUwMGQ2ZjMzZTYzY2YyMy4uNDliNzk0NjVkZjZlMWIyYTEyMWMzZmE1MmQwMDNm
YjE5NTFiYzI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMz
LDggKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJv
Y2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlv
bkNvdW50ZXIoMCkKKyAgICA6IG1fdGVybWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1p
bmF0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9j
ZXNzIFN1cHByZXNzaW9uIERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggYTA2ZTM0OWEzOGMyODFmNWFjZThkMzYyMmEwNTQ2MWY5
NDA0ZGE1Yy4uOTg1YWQ2YTYxYjJhODJhYjc4NTAyOWZlNDJkZWM0NzUyZWZjNDZjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNz
KCk7CiAKLSAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBt
X3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9u
VGltZW91dChTZWNvbmRzIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRz
OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxp
emVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
KTsKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGlu
IHNlY29uZHMsIGJlZm9yZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1p
bmF0aW9uCiAgICAgLy8gaGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNv
bmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91
YmxlIG1fdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVv
dXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVh
Y2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBh
IGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4
IGExMmE0NDQ1YmIxNmNhYWY2OTI3M2I2NGE4NjMyMTA4ZTdkNTQ5ZjQuLmIxYTM0YTRkZjFkMmQ4
MjU5OGFjYTZjZjg0NTRlYjRmYTFjZGU2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRl
ICJQbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5oIgorI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAK
ICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlIDxXZWJDb3JlL01hY2hTZW5kUmlnaHQuaD4K
QEAgLTUxLDggKzUyLDggQEAgc3RydWN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
ewogICAgIFBsdWdpblByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlOwogICAgIGJvb2wgc3VwcG9ydHNB
c3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbjsKIAotICAgIGRvdWJsZSBtaW5pbXVtTGlm
ZXRpbWU7Ci0gICAgZG91YmxlIHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIG1pbmlt
dW1MaWZldGltZTsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAogI2lmIFBMQVRG
T1JNKENPQ09BKQogICAgIFdlYkNvcmU6Ok1hY2hTZW5kUmlnaHQgYWNjZWxlcmF0ZWRDb21wb3Np
dGluZ1BvcnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwCmluZGV4IGYwZmZiNzcyNmE1M2VlNGY4NDIzZDQ2Yjc5YmIwZmRhZjA1ZGU3YzQuLjM4
MGUwMWU1ZTc0NjE3MzdlNTc1M2U5NjY1YWMyZTM0NjA1NTI2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC0xMDYsMzYgKzEwNiw2
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIG5hbWVzcGFjZSBJUEMgewogCi12b2lkIEFy
Z3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAgIGVuY29kZXIgPDwgdGltZS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnZhbHVlKCk7Ci19Ci0KLWJvb2wgQXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1l
Pjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE1vbm90b25pY1RpbWUmIHRpbWUpCi17Ci0gICAg
ZG91YmxlIHZhbHVlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICB0aW1lID0gTW9ub3RvbmljVGltZTo6ZnJvbVJhd1NlY29uZHMo
dmFsdWUpOwotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIEFyZ3VtZW50Q29kZXI8U2Vjb25k
cz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTZWNvbmRzJiBzZWNvbmRzKQotewot
ICAgIGVuY29kZXIgPDwgc2Vjb25kcy52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8
U2Vjb25kcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBTZWNvbmRzJiBzZWNvbmRzKQotewot
ICAgIGRvdWJsZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgc2Vjb25kcyA9IFNlY29uZHModmFsdWUpOwotICAgIHJl
dHVybiB0cnVlOwotfQotCiB2b2lkIEFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWZmaW5lVHJhbnNm
b3JtKQogewogICAgIFNpbXBsZUFyZ3VtZW50Q29kZXI8QWZmaW5lVHJhbnNmb3JtPjo6ZW5jb2Rl
KGVuY29kZXIsIGFmZmluZVRyYW5zZm9ybSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNDgxOWZjYmMwNGFjNzE2MjU2NzNhODQ0NjdmNzQ1
NDJjY2I5Mjk5NS4uMzE1NDA2MmQ5ZGMzNTJhOTFmNGIzM2JiNjU0Mzk5NTZlNTg4MDliNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtMzEs
MTEgKzMxLDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0luZGV4ZWREQi5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGF5bWVudEhlYWRlcnMuaD4KIAotbmFtZXNwYWNlIFdURiB7Ci1jbGFzcyBNb25vdG9u
aWNUaW1lOwotY2xhc3MgU2Vjb25kczsKLX0KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CkBAIC0xNTIs
MTYgKzE0Nyw2IEBAIHVzaW5nIElEQktleVBhdGggPSBWYXJpYW50PFN0cmluZywgVmVjdG9yPFN0
cmluZz4+OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxXVEY6Ok1vbm90b25pY1RpbWU+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2Rl
ciYsIGNvbnN0IFdURjo6TW9ub3RvbmljVGltZSYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShE
ZWNvZGVyJiwgV1RGOjpNb25vdG9uaWNUaW1lJik7Ci19OwotCi10ZW1wbGF0ZTw+IHN0cnVjdCBB
cmd1bWVudENvZGVyPFdURjo6U2Vjb25kcz4gewotICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNv
ZGVyJiwgY29uc3QgV1RGOjpTZWNvbmRzJik7Ci0gICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29k
ZXImLCBXVEY6OlNlY29uZHMmKTsKLX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVu
Y29kZXImLCBjb25zdCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKICAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA1M2ZhNmVhMjk3M2NlN2Ix
ZGIzY2ZmMzkyNzUxZWFiZjRlMThkMTAuLmRkZWEyYWJkYzQ0ZTRlYTAyMjdlMjllNzZlNGJlM2Fl
Y2VlNjA1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1w
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAK
QEAgLTU3LDcgKzU3LDYgQEAgV2ViTWVtb3J5U2FtcGxlcjo6V2ViTWVtb3J5U2FtcGxlcigpCiAg
ICAgOiBtX3NhbXBsZVRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJG
aXJlZCkKICAgICAsIG1fc3RvcFRpbWVyKCp0aGlzLCAmV2ViTWVtb3J5U2FtcGxlcjo6c3RvcFRp
bWVyRmlyZWQpCiAgICAgLCBtX2lzUnVubmluZyhmYWxzZSkKLSAgICAsIG1fcnVubmluZ1RpbWUo
MCkKIHsKIH0KIApAQCAtNjcsNyArNjYsNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0YXJ0
KGNvbnN0IGRvdWJsZSBpbnRlcnZhbCkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGluaXRp
YWxpemVUZW1wTG9nRmlsZSgpOwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50ZXJ2YWwpOworICAg
IGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogfQogCiB2b2lkIFdlYk1lbW9y
eVNhbXBsZXI6OnN0YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9n
RmlsZUhhbmRsZSwgY29uc3QgU3RyaW5nJiBzYW1wbGVMb2dGaWxlUGF0aCwgY29uc3QgZG91Ymxl
IGludGVydmFsKSAKQEAgLTgyLDE3ICs4MSwxNyBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnN0
YXJ0KGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgc2FtcGxlTG9nRmlsZUhhbmRsZQog
ICAgIH0KICAgICAgICAgCiAgICAgaW5pdGlhbGl6ZVNhbmRib3hlZExvZ0ZpbGUoc2FtcGxlTG9n
RmlsZUhhbmRsZSwgc2FtcGxlTG9nRmlsZVBhdGgpOwotICAgIGluaXRpYWxpemVUaW1lcnMoaW50
ZXJ2YWwpOworICAgIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgCiB9
CiAKLXZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6aW5pdGlhbGl6ZVRpbWVycyhkb3VibGUgaW50ZXJ2
YWwpCit2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKLSAgICBtX3NhbXBsZVRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEpOworICAgIG1fc2Ft
cGxlVGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kcygxKSk7CiAgICAgcHJpbnRmKCJTdGFydGVk
IG1lbW9yeSBzYW1wbGVyIGZvciBwcm9jZXNzICVzICVkIiwgcHJvY2Vzc05hbWUoKS51dGY4KCku
ZGF0YSgpLCBnZXRwaWQoKSk7Ci0gICAgaWYgKGludGVydmFsID4gMCkgeworICAgIGlmIChpbnRl
cnZhbCA+IDBfcykgewogICAgICAgICBtX3N0b3BUaW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwp
OwotICAgICAgICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50ZXJ2
YWwpOworICAgICAgICBwcmludGYoIiBmb3IgYSBpbnRlcnZhbCBvZiAlZyBzZWNvbmRzIiwgaW50
ZXJ2YWwudmFsdWUoKSk7CiAgICAgfQogICAgIHByaW50ZigiOyBTYW1wbGVyIGxvZyBmaWxlIHN0
b3JlZCBhdDogJXNcbiIsIG1fc2FtcGxlTG9nRmlsZVBhdGgudXRmOCgpLmRhdGEoKSk7CiAgICAg
bV9ydW5uaW5nVGltZSA9IGludGVydmFsOwpAQCAtMTU5LDcgKzE1OCw3IEBAIHZvaWQgV2ViTWVt
b3J5U2FtcGxlcjo6c3RvcFRpbWVyRmlyZWQoKQogewogICAgIGlmICghbV9pc1J1bm5pbmcpCiAg
ICAgICAgIHJldHVybjsKLSAgICBwcmludGYoIiVnIHNlY29uZHMgZWxhcHNlZC4gU3RvcHBpbmcg
bWVtb3J5IHNhbXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUpOworICAgIHByaW50ZigiJWcgc2Vj
b25kcyBlbGFwc2VkLiBTdG9wcGluZyBtZW1vcnkgc2FtcGxlci4uLlxuIiwgbV9ydW5uaW5nVGlt
ZS52YWx1ZSgpKTsKICAgICBzdG9wKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVt
b3J5U2FtcGxlci5oCmluZGV4IDI3ODdiNTE1ZGFiYzUxZWJlYzViYzA2NDZmMTNiZWZlNTEyOTg2
MjIuLmRhNDI4OGI1ODQwOWZmYmFhZjhkMjczY2IzODU4NDViMGQxZDg4NjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaApAQCAtODQsNyArODQsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgaW5pdGlhbGl6ZVRlbXBMb2dGaWxlKCk7CiAgICAgdm9pZCBpbml0aWFsaXpl
U2FuZGJveGVkTG9nRmlsZShjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmLCBjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHdyaXRlSGVhZGVycygpOwotICAgIHZvaWQgaW5pdGlhbGl6ZVRp
bWVycyhkb3VibGUpOworICAgIHZvaWQgaW5pdGlhbGl6ZVRpbWVycyhTZWNvbmRzKTsKICAgICB2
b2lkIHNhbXBsZVRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHN0b3BUaW1lckZpcmVkKCk7CiAgICAg
dm9pZCBhcHBlbmRDdXJyZW50TWVtb3J5VXNhZ2VUb0ZpbGUoV2ViQ29yZTo6UGxhdGZvcm1GaWxl
SGFuZGxlJik7CkBAIC0xMDAsNyArMTAwLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpUaW1l
ciBtX3NhbXBsZVRpbWVyOwogICAgIFdlYkNvcmU6OlRpbWVyIG1fc3RvcFRpbWVyOwogICAgIGJv
b2wgbV9pc1J1bm5pbmc7Ci0gICAgZG91YmxlIG1fcnVubmluZ1RpbWU7CisgICAgU2Vjb25kcyBt
X3J1bm5pbmdUaW1lOwogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiBtX3NhbXBsZUxvZ1Nh
bmRib3hFeHRlbnNpb247CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBlYzg2ZTFlMjFmZmNjZDZkODcyYWFh
MWYyZDQxOWU0NjY2YTMyN2RiLi4wZDM3YjlhM2VkN2UzNjRjMWM0YjY5OTNmOTA2NzkyYTVmZWFl
ZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKQEAgLTExMyw3ICsxMTMsNyBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycyB7CiAKICAgICBib29sIGljb25EYXRhYmFzZUVuYWJsZWQ7CiAKLSAgICBk
b3VibGUgdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgdGVybWluYXRpb25UaW1lb3V0
OwogCiAgICAgVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKaW5kZXggNmFmNzkwMmRh
M2Y5ZmE5YzJlYWJkYWFhMGU1ZDc4NWY2NTMyZTZlNy4uNDM2OGNjMmNjMWIzZjVjNmQ1YThlYjNi
MzgwYjJlOGJkYjNhNGEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1JlZ2lvbi5oPgotI2luY2x1ZGUgPGNocm9ubz4KKyNpbmNsdWRlIDx3dGYv
TW9ub3RvbmljVGltZS5oPgogCiBPQkpDX0NMQVNTIENBTGF5ZXI7CiAKQEAgLTkxLDcgKzkxLDcg
QEAgcHVibGljOgogCiAgICAgYm9vbCBzZXRCdWZmZXJWb2xhdGlsaXR5KEJ1ZmZlclR5cGUgdHlw
ZSwgYm9vbCBpc1ZvbGF0aWxlKTsKIAotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRp
bWVfcG9pbnQgbGFzdERpc3BsYXlUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0RGlzcGxheVRp
bWU7IH0KKyAgICBNb25vdG9uaWNUaW1lIGxhc3REaXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbGFzdERpc3BsYXlUaW1lOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBkcmF3SW5Db250ZXh0
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYsIENHSW1hZ2VSZWYgYmFja0ltYWdlKTsKQEAgLTEw
Myw4ICsxMDMsMTAgQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIG1fbGF5
ZXI7CiAKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9zaXplOwotICAgIGZsb2F0IG1fc2NhbGU7
Ci0gICAgYm9vbCBtX2lzT3BhcXVlOworICAgIGZsb2F0IG1fc2NhbGUgeyAxIH07CisKKyAgICBi
b29sIG1faXNPcGFxdWUgeyBmYWxzZSB9OworICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmcg
eyBmYWxzZSB9OwogCiAgICAgV2ViQ29yZTo6UmVnaW9uIG1fZGlydHlSZWdpb247CiAKQEAgLTEx
Miw3ICsxMTQsNyBAQCBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBi
aXRtYXA7CiAjaWYgVVNFKElPU1VSRkFDRSkKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OklPU3VyZmFjZT4gc3VyZmFjZTsKLSAgICAgICAgYm9vbCBpc1ZvbGF0aWxlID0gZmFsc2U7
CisgICAgICAgIGJvb2wgaXNWb2xhdGlsZSB7IGZhbHNlIH07CiAjZW5kaWYKIAogICAgICAgICBl
eHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QKQEAgLTEzOCwxMSArMTQwLDkgQEAgcHJpdmF0
ZToKIAogICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IG1fZnJvbnRDb250ZXh0UGVuZGluZ0Zs
dXNoOwogCi0gICAgYm9vbCBtX2FjY2VsZXJhdGVzRHJhd2luZzsKLQogICAgIFdlYkNvcmU6OlJl
cGFpbnRSZWN0TGlzdCBtX3BhaW50aW5nUmVjdHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5
X2Nsb2NrOjp0aW1lX3BvaW50IG1fbGFzdERpc3BsYXlUaW1lOworICAgIE1vbm90b25pY1RpbWUg
bV9sYXN0RGlzcGxheVRpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCmlu
ZGV4IGQ1NzE5ZGRhMTJiZWFiODIyZGYzMmI3MjE1OGViYTZhNWU5OTQyMDUuLmNiY2Y3MWM1Zjc1
NGVlYzNlODYwZmYxMmZjNzNmZmE4NWM2N2RkMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtNjIsOCArNjIsNiBA
QCBzdGF0aWMgV2ViQ29yZTo6SU9TdXJmYWNlOjpGb3JtYXQgYnVmZmVyRm9ybWF0KGJvb2wgaXNP
cGFxdWUpCiAKIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZShQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIGxheWVyKQogICAgIDogbV9sYXllcihsYXllcikKLSAg
ICAsIG1faXNPcGFxdWUoZmFsc2UpCi0gICAgLCBtX2xhc3REaXNwbGF5VGltZShzdGQ6OmNocm9u
bzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50OjptaW4oKSkKIHsKICAgICBpZiAoIW1fbGF5ZXIp
CiAgICAgICAgIHJldHVybjsKQEAgLTIzMSw3ICsyMjksNyBAQCBib29sIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjpkaXNwbGF5KCkKIHsKICAgICBBU1NFUlQoIW1fZnJvbnRDb250ZXh0UGVuZGlu
Z0ZsdXNoKTsKIAotICAgIG1fbGFzdERpc3BsYXlUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9j
bG9jazo6bm93KCk7CisgICAgbV9sYXN0RGlzcGxheVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3co
KTsKIAogICAgIGJvb2wgbmVlZFRvRW5jb2RlQmFja2luZ1N0b3JlID0gZmFsc2U7CiAgICAgaWYg
KFJlbW90ZUxheWVyVHJlZUNvbnRleHQqIGNvbnRleHQgPSBtX2xheWVyLT5jb250ZXh0KCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCBmZTQ5NzFlZTczOTI0MTRhYmMxMTk0MGFjNzlm
OGY3OTE0Y2E0ODYyLi5jZDgzYTM4ZDk4NDU1ZGI1ZDU0ZWQzZjQ2NTM5ODZlZWQ5NzQ1MzIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKICAg
ICB9OwogICAgIHR5cGVkZWYgdW5zaWduZWQgVm9sYXRpbGl0eU1hcmtpbmdGbGFnczsKICAgICBi
b29sIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlJiwgVm9sYXRpbGl0eU1hcmtpbmdGbGFncyB2b2xhdGlsaXR5TWFya2luZ0ZsYWdzID0g
MCk7Ci0gICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUmLCBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG5vdyk7CisgICAg
Ym9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBN
b25vdG9uaWNUaW1lIG5vdyk7CiAKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Kj4gbV9saXZlQmFja2luZ1N0b3JlOwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUqPiBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1t
CmluZGV4IDI2ODM2ZTdiZjM4NjQ3ZTQ4MDBhNjRiMGM3NWNlNmZmYjBjYTE0YmUuLjQ2MGNkOWJj
YzUxOGVjOGQ2MWZhNDllMWZmY2M0NzRlZGQ4MDcwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0
aW9uLm1tCkBAIC0zMCw5ICszMCw5IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZS5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oIgogCi1jb25zdCBzdGQ6OmNo
cm9ubzo6c2Vjb25kcyB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDFzOwotY29u
c3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9y
ZUFnZVRocmVzaG9sZCA9IDIwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB2
b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDIwMG1zOworY29uc3QgYXV0byB2b2xhdGlsZUJhY2tp
bmdTdG9yZUFnZVRocmVzaG9sZCA9IDFfczsKK2NvbnN0IGF1dG8gdm9sYXRpbGVTZWNvbmRhcnlC
YWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAwLjJfczsKK2NvbnN0IGF1dG8gdm9sYXRpbGl0eVRp
bWVySW50ZXJ2YWwgPSAwLjJfczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTEyMCw3ICsx
MjAsNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tp
bmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVtbwogICAgIHJldHVybiBzdWNjZXNzZnVsbHlN
YWRlQmFja2luZ1N0b3JlVm9sYXRpbGU7CiB9CiAKLWJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUmIGJhY2tpbmdTdG9yZSwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2lu
dCBub3cpCitib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tp
bmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUsIE1v
bm90b25pY1RpbWUgbm93KQogewogICAgIGlmIChub3cgLSBiYWNraW5nU3RvcmUubGFzdERpc3Bs
YXlUaW1lKCkgPCB2b2xhdGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkgewogICAgICAgICBp
ZiAobm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGltZSgpID49IHZvbGF0aWxlU2Vjb25k
YXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKQpAQCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7
CiAgICAgYm9vbCBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgPSB0cnVlOwog
Ci0gICAgYXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBh
dXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGZvciAoY29uc3QgYXV0byYgYmFj
a2luZ1N0b3JlIDogbV9saXZlQmFja2luZ1N0b3JlKQogICAgICAgICBzdWNjZXNzZnVsbHlNYWRl
QmFja2luZ1N0b3JlVm9sYXRpbGUgJj0gbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKCpiYWNraW5n
U3RvcmUsIG5vdyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCmluZGV4
IDgzOTQ1ZGZlZDMxYzU5MTgzNThiZTdmNjcxNmIxYmZlNzAxODhiNTkuLjFiNWRkMDM2MzkxZjIy
YjllYmM1YjcyM2Q5MjIzZjgwMjkwZTlhMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFs
dWVDb2NvYS5tbQpAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBpZiAo
IW1fY29udGV4dCkgewogICAgICAgICAgICAgbV9jb250ZXh0ID0gYWRvcHROUyhbW0pTQ29udGV4
dCBhbGxvY10gaW5pdF0pOwotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMSk7Cisg
ICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgxX3MpOwogICAgICAgICB9CiAgICAgICAg
IHJldHVybiBtX2NvbnRleHQuZ2V0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCBkMjc3MDA1OTYxZDI5YWVkNjc1MDkzNjk0YjIz
ZTRlODI1NWUxMDg2Li4xMTM1Zjc5Nzg1ZWQ5Zjc3YzBhNWFiOTU5YmYxMjRkNzA2ZTllNzI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtNTkw
LDcgKzU5MCw3IEBAIHZvaWQgRXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2Rpc3BsYXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAg
ICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlzcGxheVRpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEV3a1ZpZXc6OnNldFZpZXdwb3J0UG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYgY29udGVudHNQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCAw
NGM3ZTk1NDcyOTk1N2NlNDI4MmViNDBlMWM4NzEwM2MxNDQ1ZjVmLi5jMmJlMzY1ZjcxZTk4ZjM0
ZjllODVlNGQ2YWQxODkzY2VjNjlmM2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yMTksNyArMjE5LDcg
QEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTY2hlZHVsZVVwZGF0ZUFjdGl2aXR5U3Rh
dGUoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlYKICAgICBpZiAocHJpdi0+dXBkYXRlQWN0aXZpdHlT
dGF0ZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHByaXYtPnVwZGF0
ZUFjdGl2aXR5U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgcHJpdi0+dXBkYXRlQWN0
aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4g
dG9wbGV2ZWxXaW5kb3dGb2N1c0luRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50Rm9j
dXMqLCBXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBmZDhiYzVhYzlhOTdjODMwNTVk
NDhiNzViYTgwMDkzMzk5NjUxN2IwLi4yZDZmZWI5NDdmMWM4NjgxZTMwYmYxNGIwZGM3NjVjODE0
MzJmNjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9DaGlsZFByb2Nlc3NQcm94
eS5jcHAKQEAgLTE5Myw3ICsxOTMsNyBAQCB2b2lkIENoaWxkUHJvY2Vzc1Byb3h5OjpzaHV0RG93
blByb2Nlc3MoKQogICAgICAgICAvLyBPbiBpT1MgZGVwbG95IGEgd2F0Y2hkb2cgaW4gdGhlIFVJ
IHByb2Nlc3MsIHNpbmNlIHRoZSBjaGlsZCBwcm9jZXNzIG1heSBiZSBzdXNwZW5kZWQuCiAgICAg
ICAgIC8vIElmIDMwcyBpcyBpbnN1ZmZpY2llbnQgZm9yIGFueSBvdXRzdGFuZGluZyBhY3Rpdml0
eSB0byBjb21wbGV0ZSBjbGVhbmx5LCB0aGVuIGl0IHdpbGwgYmUga2lsbGVkLgogICAgICAgICBB
U1NFUlQobV9jb25uZWN0aW9uKTsKLSAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29u
KDMwKTsKKyAgICAgICAgbV9jb25uZWN0aW9uLT50ZXJtaW5hdGVTb29uKDMwX3MpOwogI2VuZGlm
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3RhdGU6OlRlcm1pbmF0ZWQ6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQppbmRleCA0NTI5
OTIyYjRmYmY2YmY1MzFjN2MwNWE3YzIyM2I2MzUxNDMyNTYwLi5mODE2ZTdmMGMzMjFhZjJhOWQ4
NjIxYTdiNGM1ZjFhOGE3ODAzOTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAgLTg1Miw3ICs4NTIsNyBAQCB2b2lkIE5hdmln
YXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKCkKICAgICB9IGVsc2UgewogICAgICAgICAv
LyBEZWxheSByZWxlYXNpbmcgdGhlIGJhY2tncm91bmQgYWN0aXZpdHkgZm9yIDMgc2Vjb25kcyB0
byBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhIGNoYW5jZSB0byBzdGFydCBhbm90aGVyIG5hdmlnYXRp
b24KICAgICAgICAgLy8gYmVmb3JlIHN1c3BlbmRpbmcgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyA8
cmRhcjovL3Byb2JsZW0vMjc5MTA5NjQ+LgotICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVy
LnN0YXJ0T25lU2hvdCgzcyk7CisgICAgICAgIG1fcmVsZWFzZUFjdGl2aXR5VGltZXIuc3RhcnRP
bmVTaG90KDNfcyk7CiAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggNDlmMThl
Mzc4YTUyOWQwNTY1YjBkN2VlOWU2MTg4MjEyY2ZkZDJiOC4uNGRiZDc4ZjY0MmM1ODVjNGNhZDc3
MTgyNmQwODJiOGEwYzhhYzNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTQwLDEzICs0MCwxMyBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRp
YyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9n
QWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOwotc3RhdGljIGNv
bnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxBY3RpdmVM
b2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwbXM7CitzdGF0aWMgY29uc3QgYXV0byBzd2lwZVNu
YXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJh
dGlvbiA9IDNfczsKK3N0YXRpYyBjb25zdCBhdXRvIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZl
TG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDAuMjVfczsKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0
YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNo
ZG9nRHVyYXRpb24gPSA1czsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHN3aXBlU25hcHNob3RSZW1v
dmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVfczsKICNlbHNlCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJv
bm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7Citz
dGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24g
PSAzX3M7CiAjZW5kaWYKIAogc3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFZpZXdHZXN0dXJlQ29u
dHJvbGxlcio+JiB2aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKQpAQCAtMjk3LDEw
ICsyOTcsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRy
YWNrZXI6OndhdGNoZG9nVGltZXJGaXJlZCgpCiAgICAgZmlyZVJlbW92YWxDYWxsYmFja0ltbWVk
aWF0ZWx5KCk7CiB9CiAKLXZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92
YWxUcmFja2VyOjpzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzIGR1cmF0aW9uKQor
dm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OlNuYXBzaG90UmVtb3ZhbFRyYWNrZXI6OnN0YXJ0
V2F0Y2hkb2coU2Vjb25kcyBkdXJhdGlvbikKIHsKLSAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihy
ZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZvciAlbGxkIHNlY29uZHMiLCBkdXJhdGlvbi5jb3Vu
dCgpKSk7Ci0gICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbi5jb3VudCgp
KTsKKyAgICBsb2coU3RyaW5nOjpmb3JtYXQoIihyZSlzdGFydGVkIHdhdGNoZG9nIHRpbWVyIGZv
ciAlLjNmIHNlY29uZHMiLCBkdXJhdGlvbi52YWx1ZSgpKSk7CisgICAgbV93YXRjaGRvZ1RpbWVy
LnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJv
bGxlci5oCmluZGV4IDc1OGQ3MzUwZGJkODQ3NTc0NjZjY2RiYTg0MzZiNmU0OWQ2MmJjMmQuLmUx
NGQ3Mzk3MTkyYWQwYzA3ZjEyMjgwOWZjODdiMTQ0NDc2ZDRkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKQEAg
LTE1Nyw3ICsxNTcsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZW50T2NjdXJyZWQoRXZl
bnRzKTsKICAgICAgICAgYm9vbCBjYW5jZWxPdXRzdGFuZGluZ0V2ZW50KEV2ZW50cyk7CiAKLSAg
ICAgICAgdm9pZCBzdGFydFdhdGNoZG9nKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKTsKKyAgICAgICAg
dm9pZCBzdGFydFdhdGNoZG9nKFNlY29uZHMpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3Rh
dGljIFN0cmluZyBldmVudHNEZXNjcmlwdGlvbihFdmVudHMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCA0ZTg3
M2VhZDY1MTg1ZjY1OWQ5NjExYThhZjk5ZGIyM2EzZGM3Nzg4Li4zNWVlNGViMWE0YWRhNzQ3YTE4
Mzk5YmEzMTkxYTkzNjE4NzY0YjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMjc1LDcgKzI3NSw3IEBAIHZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhCiAjZW5kaWYKIAogICAgIHBhcmFtZXRlcnMuc2hvdWxkU3Vw
cHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJLaXRT
dXBwcmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5XTsKLSAgICBwYXJhbWV0ZXJz
LmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKFtkZWZhdWx0
cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5ldHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNv
bmRzRGVmYXVsdHNLZXldKTsKKyAgICBwYXJhbWV0ZXJzLmxvYWRUaHJvdHRsZUxhdGVuY3kgPSBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKFtkZWZhdWx0cyBpbnRlZ2VyRm9yS2V5OldlYktpdE5l
dHdvcmtMb2FkVGhyb3R0bGVMYXRlbmN5TWlsbGlzZWNvbmRzRGVmYXVsdHNLZXldKTsKIAogI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEx
MDAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBjb29raWVTdG9yYWdlRGF0YSA9IGFkb3B0Q0Yo
Q0ZIVFRQQ29va2llU3RvcmFnZUNyZWF0ZUlkZW50aWZ5aW5nRGF0YShrQ0ZBbGxvY2F0b3JEZWZh
dWx0LCBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIF9jb29r
aWVTdG9yYWdlXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuY3BwCmluZGV4IGI0NWYyMjc5ZTcyYmVlZTBhZTczM2M2ZTEwYWIxNDE5MmUwMWYyZTUuLjg1
ZWMzODM3YzkxNWVlOGFjMjdkOWNmMTNlOGVjMzRjNjNkZDliNzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgdm9p
ZCBEcmF3aW5nQXJlYVByb3h5OjpzZXRWaWV3RXhwb3NlZFJlY3Qoc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpGbG9hdFJlY3Q+IHZpZXcKICAgICBtX3ZpZXdFeHBvc2VkUmVjdCA9IHZpZXdFeHBvc2Vk
UmVjdDsKIAogICAgIGlmICghbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3ZpZXdFeHBvc2VkUmVjdENoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5Ojp2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcAppbmRleCA0NDBkZjlhMzNlZTY5ODY3YjY0MjU4ZDAzMmUwNWU4MTlmMTNhODE0
Li4wMDk5YTVmNjcxMDNjN2UzYzFiYjY5YWNiMWY4ODZkZDMzMTEwM2E4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTE4MCw3
ICsxODAsNyBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0b3Jl
U29vbigpCiAKICAgICAvLyBXZSdsbCB3YWl0IHRoaXMgbWFueSBzZWNvbmRzIGFmdGVyIHRoZSBs
YXN0IHBhaW50IGJlZm9yZSB0aHJvd2luZyBhd2F5IG91ciBiYWNraW5nIHN0b3JlIHRvIHNhdmUg
bWVtb3J5LgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBzbWFydGVyIHRvIG1ha2UgdGhpcyBk
ZWxheSBiYXNlZCBvbiBob3cgZXhwZW5zaXZlIHBhaW50aW5nIGlzLiBTZWUgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvNTU3MzM+LgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgZGlzY2FyZEJhY2tpbmdT
dG9yZURlbGF5ID0gMjsKKyAgICBzdGF0aWMgY29uc3QgU2Vjb25kcyBkaXNjYXJkQmFja2luZ1N0
b3JlRGVsYXkgPSAyX3M7CiAKICAgICBtX2Rpc2NhcmRCYWNraW5nU3RvcmVUaW1lci5zdGFydE9u
ZVNob3QoZGlzY2FyZEJhY2tpbmdTdG9yZURlbGF5KTsKIH0KQEAgLTIxMSwxMyArMjExLDEzIEBA
IGludCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OndlYlZpZXdEcmF3Q2Fs
bGJhY2soRHJhd2luZ0FyZWFQcm94eUltCiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OkRy
YXdpbmdNb25pdG9yOjpzdGFydChzdGQ6OmZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJy
b3IpPiBjYWxsYmFjaykKIHsKLSAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZU1TKCk7CisgICAgbV9zdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAg
ICBtX2NhbGxiYWNrID0gY2FsbGJhY2s7CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIGdfc2lnbmFs
X2Nvbm5lY3Rfc3dhcHBlZChtX3dlYlBhZ2Uudmlld1dpZGdldCgpLCAiZHJhdyIsIHJlaW50ZXJw
cmV0X2Nhc3Q8R0NhbGxiYWNrPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwgdGhpcyk7Ci0gICAgbV90
aW1lci5zdGFydE9uZVNob3QoMSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoU2Vjb25kcygx
KSk7CiAjZWxzZQotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgRHJh
d2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKCkKICNpZiBQTEFURk9STShH
VEspCiAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKG1fd2ViUGFnZS52
aWV3V2lkZ2V0KCksIHJlaW50ZXJwcmV0X2Nhc3Q8Z3BvaW50ZXI+KHdlYlZpZXdEcmF3Q2FsbGJh
Y2spLCB0aGlzKTsKICNlbmRpZgotICAgIG1fc3RhcnRUaW1lID0gMDsKKyAgICBtX3N0YXJ0VGlt
ZSA9IE1vbm90b25pY1RpbWUoKTsKICAgICBpZiAobV9jYWxsYmFjaykgewogICAgICAgICBtX2Nh
bGxiYWNrKENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpOwogICAgICAgICBtX2NhbGxiYWNrID0g
bnVsbHB0cjsKQEAgLTIzOSwxMCArMjM5LDEwIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6
OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3KCkKICAgICAvLyBXZSB3YWl0IHVwIHRvIDEgc2Vjb25k
IGZvciBkcmF3IGV2ZW50cy4gSWYgdGhlcmUgYXJlIHNldmVyYWwgZHJhdyBldmVudHMgcXVldWVk
IHF1aWNrbHksCiAgICAgLy8gd2Ugd2FudCB0byB3YWl0IHVudGlsIGFsbCBvZiB0aGVtIGhhdmUg
YmVlbiBwcm9jZXNzZWQsIHNvIGFmdGVyIHJlY2VpdmluZyBhIGRyYXcsIHdlIHdhaXQKICAgICAv
LyB1cCB0byAxMDBtcyBmb3IgdGhlIG5leHQgb25lIG9yIHN0b3AuCi0gICAgaWYgKG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZU1TKCkgLSBtX3N0YXJ0VGltZSA+IDEwMDApCisgICAgaWYgKE1v
bm90b25pY1RpbWU6Om5vdygpIC0gbV9zdGFydFRpbWUgPiAxX3MpCiAgICAgICAgIHN0b3AoKTsK
ICAgICBlbHNlCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuMTAwKTsKKyAgICAgICAg
bV90aW1lci5zdGFydE9uZVNob3QoMC4xX3MpOwogfQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJ
bXBsOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKHN0ZDo6ZnVuY3Rpb248dm9pZChDYWxs
YmFja0Jhc2U6OkVycm9yKT4gY2FsbGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggODljNzEzZmM4N2E3MzU0OTMw
MzhhZDEwZDkwZGMxY2Y2MDYxZDQ1Ny4uNWFhNjZjNmQwNDhiZDBmN2QyNmY4YzdjNjRlZDBkMWEy
ODJmN2Y2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmgKQEAgLTc3LDcgKzc3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBkaWREcmF3
KCk7CiAKICAgICAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2U7Ci0gICAgICAgIGRvdWJsZSBt
X3N0YXJ0VGltZSB7IDAgfTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAg
ICAgICAgc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4gbV9jYWxsYmFj
azsKICAgICAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2luZ01vbml0b3I+IG1fdGltZXI7CiAgICAg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBh
ZFByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBh
ZFByb3ZpZGVyLmNwcAppbmRleCA2NzdjZDY3MzkxYWY1NjlmNDJhZmZiZGY0NDBhYWUyMTU1MTVm
NDNlLi5jZWE5ODJmNmUyMmM2MDQ5OGVhYjgyOTY5NDNmNTA1MzJiOGI0MzZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIu
Y3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBtYXhpbXVtR2FtZXBhZFVwZGF0ZUlu
dGVydmFsID0gMSAvIDEyMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUdhbWVwYWRV
cGRhdGVJbnRlcnZhbCA9IFNlY29uZHMoMSAvIDEyMC4wKTsKIAogVUlHYW1lcGFkUHJvdmlkZXIm
IFVJR2FtZXBhZFByb3ZpZGVyOjpzaW5nbGV0b24oKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKaW5kZXggNTRk
ZmIzYjA1OGQ0ZmU5MDM3NDYxNTc5MmVmYTU2YjA4ZmRkMGI2OC4uNDYwYmViZjVkYjA5OTM3NTVh
NjYyYzMzYjI5ZDA3NDgxNGM3MGFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCkBAIC00NiwxMSArNDYsMTEg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0
aWMgY29uc3QgZG91YmxlIG1pbmltdW1MaWZldGltZSA9IDIgKiA2MDsKLXN0YXRpYyBjb25zdCBk
b3VibGUgc25hcHNob3R0aW5nTWluaW11bUxpZmV0aW1lID0gMzA7CitzdGF0aWMgY29uc3QgYXV0
byBtaW5pbXVtTGlmZXRpbWUgPSAyX21pbjsKK3N0YXRpYyBjb25zdCBhdXRvIHNuYXBzaG90dGlu
Z01pbmltdW1MaWZldGltZSA9IDMwX3M7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgc2h1dGRvd25U
aW1lb3V0ID0gMSAqIDYwOwotc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFwc2hvdHRpbmdTaHV0ZG93
blRpbWVvdXQgPSAxNTsKK3N0YXRpYyBjb25zdCBhdXRvIHNodXRkb3duVGltZW91dCA9IDFfbWlu
Oworc3RhdGljIGNvbnN0IGF1dG8gc25hcHNob3R0aW5nU2h1dGRvd25UaW1lb3V0ID0gMTVfczsK
IAogc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQ2FsbGJhY2tJRCgpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3Bw
CmluZGV4IDNlMWMyZWY1YWY2Njc3YTkyOTlkZTg1NDk0NWY5MTQ1ODAzMzQ5ZTMuLmQ1ZmIxYjIz
MWI0MzcwZjA2ZWRjMzEzNGYzNDVjNWMzY2NlY2QwOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvQ2FjaGUuY3BwCkBAIC0x
NjIsNyArMTYyLDcgQEAgdm9pZCBQbHVnaW5JbmZvQ2FjaGU6OnVwZGF0ZVBsdWdpbkluZm8oY29u
c3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBjb25zdCBQbHVnaW5Nb2QKICAgICAgICAgaWYgKG1fc2F2
ZVRvRmlsZUlkbGUuaXNBY3RpdmUoKSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBt
X3NhdmVUb0ZpbGVJZGxlLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zYXZlVG9GaWxlSWRs
ZS5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcAppbmRleCAyMjc1YmIzYjIyNmI3ZGJkNDhkMzNjZjBm
MzZkMjM0OWQ4NTBiZWM2Li5jZDgyNWUxZWUwYTA5YzU3ZjNlMmQ2MzEyYjc5ZTdkNGYxNzBlM2Ni
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCkBA
IC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIAotc3RhdGljIGNvbnN0
IHVuc2lnbmVkIHByb2Nlc3NTdXNwZW5zaW9uVGltZW91dCA9IDMwOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgcHJvY2Vzc1N1c3BlbnNpb25UaW1lb3V0ID0gMzBfczsKICAgICAKIFByb2Nlc3NUaHJv
dHRsZXI6OlByb2Nlc3NUaHJvdHRsZXIoUHJvY2Vzc1Rocm90dGxlckNsaWVudCYgcHJvY2VzcykK
ICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCmluZGV4IGZlYjQ2OWYwODQyYjVhZTY5YjM2ZjBmY2Zk
Njg2MWM0MDY3ZWVmMmIuLjYwM2JjOWYxM2ZlOTY5YmYzNGRiMzQ2MGFiYjQ3OGJiODk5YmRjM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5j
cHAKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25z
dCBkb3VibGUgcmVzcG9uc2l2ZW5lc3NUaW1lb3V0ID0gMzsKK3N0YXRpYyBjb25zdCBhdXRvIHJl
c3BvbnNpdmVuZXNzVGltZW91dCA9IDNfczsKIAogUmVzcG9uc2l2ZW5lc3NUaW1lcjo6UmVzcG9u
c2l2ZW5lc3NUaW1lcihSZXNwb25zaXZlbmVzc1RpbWVyOjpDbGllbnQmIGNsaWVudCkKICAgICA6
IG1fY2xpZW50KGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9W
aXNpdGVkTGlua1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1N0b3JlLmNwcAppbmRleCBhM2ZiNzcwZjVjZGJjZGNiNWZhNzdhYjRkMmYwYjU0NzQ0ODkwZjZm
Li4zZWQ1NTc1MzE2YmZkZDAzNjUwMzdhZDZhOGJkN2Q0YWE4NDdiNGY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCkBAIC05OCw3ICs5OCw3IEBA
IHZvaWQgVmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKExpbmtIYXNoIGxpbmtI
YXNoKQogICAgIG1fcGVuZGluZ1Zpc2l0ZWRMaW5rcy5hZGQobGlua0hhc2gpOwogCiAgICAgaWYg
KCFtX3BlbmRpbmdWaXNpdGVkTGlua3NUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3BlbmRp
bmdWaXNpdGVkTGlua3NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1Zp
c2l0ZWRMaW5rc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFZpc2l0ZWRMaW5r
U3RvcmU6OnJlbW92ZUFsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAppbmRleCA5NzM2MThkMmM1ZjNhYjAyZDg1NmY3YWNmZWRiMzAwMGI3ZDJlZmEwLi5m
Mjg3ZjVhYTZlN2U1NGJkY2M0NjY3YzA2ZDM2YzkxNDU4ZTgwNjkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTE3Myw3ICsxNzMsNyBAQCBXZWJQ
cm9jZXNzUG9vbDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX2Fsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSht
X2NvbmZpZ3VyYXRpb24tPmFsd2F5c1J1bnNBdEJhY2tncm91bmRQcmlvcml0eSgpKQogICAgICwg
bV91c2VyT2JzZXJ2YWJsZVBhZ2VDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgdXBk
YXRlUHJvY2Vzc1N1cHByZXNzaW9uU3RhdGUoKTsgfSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNz
aW9uRGlzYWJsZWRGb3JQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0
ZVByb2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCi0gICAgLCBtX2hpZGRlblBhZ2VUaHJvdHRs
aW5nQXV0b0luY3JlYXNlc0NvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyBtX2hpZGRl
blBhZ2VUaHJvdHRsaW5nVGltZXIuc3RhcnRPbmVTaG90KDApOyB9KQorICAgICwgbV9oaWRkZW5Q
YWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQp
IHsgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOyB9KQogICAg
ICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ1RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJldl
YlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxpbWl0
KQogewogICAgIGZvciAoYXV0byYgc2NoZW1lIDogbV9jb25maWd1cmF0aW9uLT5hbHdheXNSZXZh
bGlkYXRlZFVSTFNjaGVtZXMoKSkKQEAgLTU5NSw3ICs1OTUsNyBAQCBXZWJQcm9jZXNzUHJveHkm
IFdlYlByb2Nlc3NQb29sOjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkKIAogICAgIHBhcmFtZXRlcnMu
aWNvbkRhdGFiYXNlRW5hYmxlZCA9ICFpY29uRGF0YWJhc2VQYXRoKCkuaXNFbXB0eSgpOwogCi0g
ICAgcGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQgPSAwOworICAgIHBhcmFtZXRlcnMudGVy
bWluYXRpb25UaW1lb3V0ID0gMF9zOwogCiAgICAgcGFyYW1ldGVycy50ZXh0Q2hlY2tlclN0YXRl
ID0gVGV4dENoZWNrZXI6OnN0YXRlKCk7CiAKQEAgLTE0MTYsMTAgKzE0MTYsMTAgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1p
dCgpCiAgICAgLy8gV2UncmUgZXN0aW1hdGluZyBhbiB1cHBlciBib3VuZCBmb3IgYSBzZXQgb2Yg
YmFja2dyb3VuZCB0aW1lciBmaXJlcyBmb3IgYSBwYWdlIHRvIGJlIDIwMG1zCiAgICAgLy8gKGlu
Y2x1ZGluZyBhbGwgdGltZXIgZmlyZXMsIGFsbCBwYWdpbmctaW4sIGFuZCBhbnkgcmVzdWx0aW5n
IEdDKS4gVG8gZW5zdXJlIHRoaXMgZG9lcyBub3QKICAgICAvLyByZXN1bHQgaW4gbW9yZSB0aGFu
IDElIENQVSBsb2FkIGFsbG93IGZvciBvbmUgdGltZXIgZmlyZSBwZXIgMTAweCB0aGlzIGR1cmF0
aW9uLgotICAgIHN0YXRpYyBpbnQgbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlSW5NUyA9IDIw
MCAqIDEwMDsKKyAgICBzdGF0aWMgY29uc3QgYXV0byBtYXhpbXVtVGltZXJUaHJvdHRsZVBlclBh
Z2UgPSAyMDBfbXMgKiAxMDA7CiAKLSAgICBpbnQgbGltaXRJbk1pbGxpc2Vjb25kcyA9IG1heGlt
dW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgKiBtX2hpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0lu
Y3JlYXNlc0NvdW50ZXIudmFsdWUoKTsKLSAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6
OldlYlByb2Nlc3M6OlNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxp
bWl0SW5NaWxsaXNlY29uZHMpKTsKKyAgICBhdXRvIGxpbWl0ID0gbWF4aW11bVRpbWVyVGhyb3R0
bGVQZXJQYWdlICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXNDb3VudGVyLnZh
bHVlKCk7CisgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRI
aWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCkpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvVGV4dENoZWNrZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9UZXh0Q2hlY2tlckNsaWVudEVmbC5jcHAKaW5kZXggODU3NDVhYzMwYWM3YjgzZTE0ODI0YmZm
ZWViYTY5MDkxM2U5YjQ0YS4uM2IyMjM3N2M4MzkxZDNiODM2YzhhZDcwMGMzODRkMDAzZWZlNmQx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tlckNs
aWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9UZXh0Q2hlY2tl
ckNsaWVudEVmbC5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIFRleHRDaGVja2VyQ2xpZW50
RWZsOjplbnN1cmVTcGVsbENoZWNraW5nTGFuZ3VhZ2UoKQogdm9pZCBUZXh0Q2hlY2tlckNsaWVu
dEVmbDo6dXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYg
ZGVmYXVsdExhbmd1YWdlcykKIHsKICAgICBtX3NwZWxsQ2hlY2tpbmdMYW5ndWFnZXMgPSBkZWZh
dWx0TGFuZ3VhZ2VzOwotICAgIG1fbGFuZ3VhZ2VzVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fbGFuZ3VhZ2VzVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZv
aWQgVGV4dENoZWNrZXJDbGllbnRFZmw6Omxhbmd1YWdlc1VwZGF0ZVRpbWVyRmlyZWQoKQpAQCAt
MTI4LDcgKzEyOCw3IEBAIFZlY3RvcjxTdHJpbmc+IFRleHRDaGVja2VyQ2xpZW50RWZsOjpsb2Fk
ZWRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKCkgY29uc3QKIAogdm9pZCBUZXh0Q2hlY2tlckNsaWVu
dEVmbDo6Y2FsbENvbnRpbnVvdXNTcGVsbENoZWNraW5nQ2hhbmdlQ2FsbGJhY2tBc3luYygpCiB7
Ci0gICAgbV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3NwZWxsQ2hlY2tpbmdTZXR0aW5nQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIGJvb2wgVGV4dENoZWNrZXJDbGllbnRFZmw6OmlzQ29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkQ2FsbGJhY2soY29uc3Qgdm9pZCopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvR2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDdlMTU3N2NiYThiMTU3MDUy
NjRlNWJhNTQ3NWZmYzU5NjJkYWI4ODkuLjkzZGRkNzY4ZGJhNGNiZTAzMGQ0MzFlNGI0ZDg1N2E2
ODhkMGY5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvR2VzdHVy
ZUNvbnRyb2xsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxl
cjo6RHJhZ0dlc3R1cmU6OmJlZ2luKERyYWdHZXN0dXJlKiBkcmFnR2VzdHVyZSwgZG91YmxlIHgs
IGQKICAgICBHdGtXaWRnZXQqIHdpZGdldCA9IGd0a19ldmVudF9jb250cm9sbGVyX2dldF93aWRn
ZXQoR1RLX0VWRU5UX0NPTlRST0xMRVIoZ2VzdHVyZSkpOwogICAgIHVuc2lnbmVkIGRlbGF5Owog
ICAgIGdfb2JqZWN0X2dldChndGtfd2lkZ2V0X2dldF9zZXR0aW5ncyh3aWRnZXQpLCAiZ3RrLWxv
bmctcHJlc3MtdGltZSIsICZkZWxheSwgbnVsbHB0cik7Ci0gICAgZHJhZ0dlc3R1cmUtPm1fbG9u
Z1ByZXNzVGltZW91dC5zdGFydE9uZVNob3QoZGVsYXkgLyAxMDAwLjApOworICAgIGRyYWdHZXN0
dXJlLT5tX2xvbmdQcmVzc1RpbWVvdXQuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxsaXNl
Y29uZHMoZGVsYXkpKTsKIH0KIAogdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6RHJhZ0dlc3R1cmU6
OnVwZGF0ZShEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkb3VibGUgeSwgR3Rr
R2VzdHVyZSogZ2VzdHVyZSkKQEAgLTIwNiw3ICsyMDYsNyBAQCB2b2lkIEdlc3R1cmVDb250cm9s
bGVyOjpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKFpvb21HZXN0dXJlKiB6b29tR2VzdHVyZSwg
ZG91YgogICAgIGlmICh6b29tR2VzdHVyZS0+bV9pZGxlLmlzQWN0aXZlKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIHpvb21HZXN0dXJlLT5tX2lkbGUuc3RhcnRPbmVTaG90KDApOworICAgIHpv
b21HZXN0dXJlLT5tX2lkbGUuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIEdlc3R1cmVDb250cm9s
bGVyOjpab29tR2VzdHVyZTo6Wm9vbUdlc3R1cmUoV2ViUGFnZVByb3h5JiBwYWdlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNw
cAppbmRleCBkYzE5OGQ4NThmMTNhM2MxMjM2ZTUxMWQzOGRiNjg1MjYxMzc4NGE0Li41MzE3ZmVk
OWQ4OTI5M2FiZDQyMTJjMjA4NWQ2NGMyYjk0MzdhMTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcApAQCAtMjYxLDcg
KzI2MSw3IEBAIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNr
KEd0a1dpZGdldCosIFdlYlBvcHVwTWVudVByb3h5R3RrCiAgICAgLy8gV2hlbiBhbiBpdGVtIGlz
IGFjdGl2YXRlZCwgdGhlIG1lbnUgaXMgZmlyc3QgaGlkZGVuIGFuZCB0aGVuIGFjdGl2YXRlIHNp
Z25hbCBpcyBlbWl0dGVkLCBzbyBhdCB0aGlzIHBvaW50IHdlIGRvbid0IGtub3cKICAgICAvLyBp
ZiB0aGUgbWVudSBoYXMgYmVlbiBoaWRkZW4gYmVjYXVzZSBhbiBpdGVtIGhhcyBiZWVuIHNlbGVj
dGVkIG9yIGJlY2F1c2UgdGhlIG1lbnUgaGFzIGJlZW4gZGlzbWlzc2VkLiBXYWl0IHVudGlsIHRo
ZSBuZXh0CiAgICAgLy8gbWFpbiBsb29wIGl0ZXJhdGlvbiB0byBkaXNtaXNzIHRoZSBtZW51LCBp
ZiBhbiBpdGVtIGlzIGFjdGl2YXRlZCB0aGUgdGltZXIgd2lsbCBiZSBjYW5jZWxsZWQuCi0gICAg
cG9wdXBNZW51LT5tX2Rpc21pc3NNZW51VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHBvcHVw
TWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YlBvcHVwTWVudVByb3h5R3RrOjpzZWxlY3RJdGVtQ2FsbGJhY2soR3RrV2lkZ2V0KiBpdGVtLCBX
ZWJQb3B1cE1lbnVQcm94eUd0ayogcG9wdXBNZW51KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggODE4YmQzOTBkNDgz
ZDA4MjJiYWU3OTM0ZTEwNmZkYmIwY2RmZjg1NC4uZGZhZDMyZWNlZjhjNDA4YTEwYjI1OTFmOGIw
Mzc3ODYyMTUzMzQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
ZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBjb25zdCBO
U1VJbnRlZ2VyIHdpbmRvd1N0eWxlTWFzayA9IE5TV2luZG93U3R5bGVNYXNrVGl0bGVkIHwgTlNX
aW5kb3dTdHlsCiAKIC8vIFRoZSB0aW1lIHdlIGtlZXAgb3VyIFdlYlZpZXcgYWxpdmUgYmVmb3Jl
IGNsb3NpbmcgaXQgYW5kIGl0cyBwcm9jZXNzLgogLy8gUmV1c2luZyB0aGUgV2ViVmlldyBpbXBy
b3ZlcyBzdGFydCB1cCB0aW1lIGZvciBwZW9wbGUgdGhhdCBqdW1wIGluIGFuZCBvdXQgb2YgdGhl
IEluc3BlY3Rvci4KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCB3ZWJWaWV3Q2xvc2VUaW1lb3V0ID0g
NjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB3ZWJWaWV3Q2xvc2VUaW1lb3V0ID0gNjBfczsKIAog
Ly8gV0tXZWJJbnNwZWN0b3JQcm94eU9iakNBZGFwdGVyIGlzIGEgaGVscGVyIE9iakMgb2JqZWN0
IHVzZWQgYXMgYSBkZWxlZ2F0ZSBvciBub3RpZmljYXRpb24gb2JzZXJ2ZXIKIC8vIGZvciB0aGUg
c29sZSBwdXJwb3NlIG9mIGdldHRpbmcgYmFjayBpbnRvIHRoZSBDKysgY29kZSBmcm9tIGFuIE9i
akMgY2FsbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggZTg5MWNkMDMyYjJmNDM2NjRiNjdlMDZkYmVj
Y2M4ZWUwMzU4ZGQ4Zi4uYzVmY2RlOTc3YTk4MWEzNjBkNTAyNjY0ZThiNTYwMDliZmM1MmEwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0
cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwCkBAIC05MSwxNCArOTEsMTQgQEAgUmVmUHRyPE5ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyPiBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVQbHVnaW5TdHJlYW1Mb2Fk
KEYKICAgICByZXR1cm4gbG9hZGVyOwogfQogCi1zdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCitzdGF0
aWMgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2Up
CiB7CiAjaWYgIUVOQUJMRShORVRXT1JLX0NBQ0hFKQotICAgIHJldHVybiAwbXM7CisgICAgcmV0
dXJuIDBfczsKICNlbmRpZgogCiAgICAgaWYgKCFyZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuIDBt
czsKKyAgICAgICAgcmV0dXJuIDBfczsKIAogICAgIHN3aXRjaCAocmVzb3VyY2UtPnR5cGUoKSkg
ewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQ6CkBAIC0xMDcsOSArMTA3
LDkgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1Rp
bWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNW
R0ZvbnRSZXNvdXJjZToKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNv
dXJjZToKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6Om1heCgpOwor
ICAgICAgICByZXR1cm4gU2Vjb25kczo6aW5maW5pdHkoKTsKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpJbWFnZVJlc291cmNlOgotICAgICAgICByZXR1cm4gNTAwbXM7CisgICAgICAgIHJldHVy
biA1MDBfbXM7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWVkaWFSZXNvdXJjZToKICAgICBj
YXNlIENhY2hlZFJlc291cmNlOjpNYWluUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6UmF3UmVzb3VyY2U6CkBAIC0xMjQsMTEgKzEyNCwxMSBAQCBzdGF0aWMgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3Vy
Y2UpCiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVT
aGVldDoKICNlbmRpZgotICAgICAgICByZXR1cm4gMG1zOworICAgICAgICByZXR1cm4gMF9zOwog
ICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwbXM7CisgICAg
cmV0dXJuIDBfczsKIH0KIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJl
c291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBi
b29sIHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpCkBAIC0yMzEsNyAr
MjMxLDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9h
ZGVyJiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6
OnNjaGVkdWxlSW50ZXJuYWxseUZhaWxlZExvYWQoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXImIHJl
c291cmNlTG9hZGVyKQogewogICAgIG1faW50ZXJuYWxseUZhaWxlZFJlc291cmNlTG9hZGVycy5h
ZGQoJnJlc291cmNlTG9hZGVyKTsKLSAgICBtX2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgIG1faW50ZXJuYWxseUZhaWxlZExvYWRUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6aW50ZXJuYWxseUZhaWxlZExv
YWRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKaW5kZXggNDk5
MjBmMmNhYTg0Zjc2OWI2MmQyNDYyYTljOTgwN2Y1MjBjZjNlZC4uMWMxZWU2MjFkMjRiNzBhZjNh
YWRhMTMzMTA2MjQyN2EzMDJjNjBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QUnVudGltZU9iamVjdE1hcC5j
cHAKQEAgLTI5Myw3ICsyOTMsNyBAQCB2b2lkIE5QUnVudGltZU9iamVjdE1hcDo6YWRkVG9JbnZh
bGlkYXRpb25RdWV1ZShOUE9iamVjdCogbnBPYmplY3QpCiAgICAgaWYgKHRyeVNhZmVSZWxlYXNl
TlBPYmplY3QobnBPYmplY3QpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKG1fbnBPYmplY3Rz
VG9GaW5hbGl6ZS5pc0VtcHR5KCkpCi0gICAgICAgIG1fZmluYWxpemF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIEFTU0VSVChtX2ZpbmFsaXphdGlvblRpbWVyLmlzQWN0aXZlKCkpOwogICAgIG1fbnBP
YmplY3RzVG9GaW5hbGl6ZS5hcHBlbmQobnBPYmplY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdp
bi5jcHAKaW5kZXggNWM5YTkxODI0NTY2YTQ2MzAxMGMwZTczOTY4MDM0NTdlMzMzNDc3ZC4uMWNk
ZmVjZjNhOTA5N2Q1ZjhkM2FkYzczYjcxYjA5NDkwYzgyYTg3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQ
bHVnaW4uY3BwCkBAIC0zMjYsNyArMzI2LDcgQEAgTmV0c2NhcGVQbHVnaW46OlRpbWVyOjp+VGlt
ZXIoKQogCiB2b2lkIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6c3RhcnQoKQogewotICAgIGRvdWJs
ZSB0aW1lSW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgIGF1dG8gdGltZUludGVy
dmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX2ludGVydmFsKTsKIAogICAgIGlmICht
X3JlcGVhdCkKICAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyh0aW1lSW50ZXJ2YWwpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05l
dHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKaW5kZXggN2Q1NGQ4OGM3ZTg5OGM1
Y2UwYmFkZjFkNzY5YjJlNWQzNWQ5YTI1NC4uMjM0OTkxMzBjYzU5NjViY2E2MWI3YjgyODJlOTVk
M2E3ZmY3YjdlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCkBAIC0y
MjIsNyArMjIyLDcgQEAgdm9pZCBOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGFUb1Bs
dWdpbigpCiAKICAgICAgICAgaWYgKG51bUJ5dGVzUGx1Z2luQ2FuSGFuZGxlIDw9IDApIHsKICAg
ICAgICAgICAgIC8vIFRoZSBwbHVnLWluIGNhbid0IGhhbmRsZSBtb3JlIGRhdGEsIHdlJ2xsIHNl
bmQgdGhlIHJlc3QgbGF0ZXIKLSAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICAgICAgbV9kZWxpdmVyeURhdGFUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5N
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTWFjLm1tCmluZGV4IGI5MjZkYjA5MDJmNWI4Zjc1MDQ3ZmVhZGMyYzU0M2M2
YWNjMmU1ZTAuLjUwNDQyYTdlNjg3MmUwOTExM2ZjM2Q0YzYyNjVkOTIxNmVjYzMzNTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0
c2NhcGVQbHVnaW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQpAQCAtNDUsNyArNDUsNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWZuZGVmIE5QX05P
X0NBUkJPTgotc3RhdGljIGNvbnN0IGRvdWJsZSBudWxsRXZlbnRJbnRlcnZhbEFjdGl2ZSA9IDAu
MDI7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBudWxsRXZlbnRJbnRlcnZhbEFjdGl2ZSA9IDAuMDJf
czsKIAogc3RhdGljIHVuc2lnbmVkIGJ1dHRvblN0YXRlRnJvbUxhc3RNb3VzZUV2ZW50OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKaW5k
ZXggYWMxZGFhYmFkMDYzYTQ5NjI2YjM3ZTA0MDJlOWViZjU0OTJkM2IxYi4uMzkxYzBlODU4MzA5
ZDEwYTkyZmYzN2Q4YTdkZDdkOTUzZTMyYWI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcApAQCAtNzgsNyArNzgsNyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBUaGlzIHNpbXVsYXRl
ZCBtb3VzZSBjbGljayBkZWxheSBpbiBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBzaG91bGQg
Z2VuZXJhbGx5IGJlIHRoZSBzYW1lIG9yIHNob3J0ZXIgdGhhbiB0aGlzIGRlbGF5Lgotc3RhdGlj
IGNvbnN0IGF1dG8gcGx1Z2luU25hcHNob3RUaW1lckRlbGF5ID0gc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyB7IDExMDAgfTsKK3N0YXRpYyBjb25zdCBhdXRvIHBsdWdpblNuYXBzaG90VGltZXJE
ZWxheSA9IDEuMV9zOwogCiBjbGFzcyBQbHVnaW5WaWV3OjpVUkxSZXF1ZXN0IDogcHVibGljIFJl
ZkNvdW50ZWQ8VVJMUmVxdWVzdD4gewogcHVibGljOgpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpwZW5kaW5nVVJMUmVxdWVzdHNUaW1lckZpcmVkKCkKIAogICAgIC8vIElm
IHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIHRvIHBlcmZvcm0sIHJlc2NoZWR1bGUgdGhlIHRpbWVy
LgogICAgIGlmICghbV9wZW5kaW5nVVJMUmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3Bl
bmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9wZW5kaW5n
VVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAKICAgICBwZXJmb3JtVVJM
UmVxdWVzdCh1cmxSZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTE0MjMsNyArMTQyMyw3IEBAIHZvaWQg
UGx1Z2luVmlldzo6bG9hZFVSTCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFN0cmluZyYgbWV0
aG9kLCBjb25zdCBTdHJpbmcmCiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3QucmVzb3VyY2VSZXF1
ZXN0KCkuc2V0SFRUUFJlZmVycmVyKHJlZmVycmVyKTsKIAogICAgIG1fcGVuZGluZ1VSTFJlcXVl
c3RzLmFwcGVuZChVUkxSZXF1ZXN0OjpjcmVhdGUocmVxdWVzdElELCBmcmFtZUxvYWRSZXF1ZXN0
LCBhbGxvd1BvcHVwcykpOwotICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgIG1fcGVuZGluZ1VSTFJlcXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgUGx1Z2luVmlldzo6Y2FuY2VsU3RyZWFtTG9hZCh1aW50NjRfdCBzdHJlYW1J
RCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVy
YXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9B
Y2NlbGVyYXRlZERyYXdpbmdBcmVhLmNwcAppbmRleCBiODc4ZmJjOTg0MmUzZWJhZDY3ZjZmZjk4
ZDc5OTBjOWNhNjMwNWU1Li43NGUyYzIzMzc0Y2E5ZjNjNDVlYTMwODk3MjYzZjNmNWExYjExZjMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0
ZWREcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0FjY2VsZXJhdGVkRHJhd2luZ0FyZWEuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBBY2Nl
bGVyYXRlZERyYXdpbmdBcmVhOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVTb29uKCkK
ICAgICBpZiAoZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlUGVuZGluZygpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX2V4aXRDb21wb3NpdGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX2V4aXRDb21wb3NpdGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiAjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTX01VTFRJUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0
aW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKaW5kZXggZjNkYWVm
Yzc4NzZkOTgzYmUxNWM5YmJjMmRhYWMxODI1ZThhYmMyNy4uMWNlNzYxZDFhNTBkODAwMGJjYWI4
M2UyM2M3ODFkNDE5MzA3ZDBlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAKQEAgLTE1NSwxMSArMTU1LDExIEBAIHZvaWQg
Q29tcG9zaXRpbmdDb29yZGluYXRvcjo6c3luY0Rpc3BsYXlTdGF0ZSgpCiB9CiAKICNpZiBFTkFC
TEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi1kb3VibGUgQ29tcG9zaXRpbmdDb29yZGluYXRv
cjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QKK1NlY29uZHMgQ29tcG9zaXRpbmdD
b29yZGluYXRvcjo6bmV4dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3QKIHsKICAgICAvLyBB
Y2NvcmRpbmcgdG8gdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSBzcGVjLCByQUYgY2FsbGJhY2tz
IHNob3VsZCBub3QgYmUgZmFzdGVyIHRoYW4gNjBGUFMuCi0gICAgc3RhdGljIGNvbnN0IGRvdWJs
ZSBNaW5pbWFsVGltZW91dEZvckFuaW1hdGlvbnMgPSAxLiAvIDYwLjsKLSAgICByZXR1cm4gc3Rk
OjptYXg8ZG91YmxlPigwLiwgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zIC0gdGltZXN0YW1w
KCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGltZSk7CisgICAgc3RhdGljIGNvbnN0IFNlY29u
ZHMgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25zID0gU2Vjb25kcygxLjAgLyA2MCk7CisgICAg
cmV0dXJuIHN0ZDo6bWF4PFNlY29uZHM+KDBfcywgTWluaW1hbFRpbWVvdXRGb3JBbmltYXRpb25z
IC0gU2Vjb25kcyh0aW1lc3RhbXAoKSArIG1fbGFzdEFuaW1hdGlvblNlcnZpY2VUaW1lKSk7CiB9
CiAjZW5kaWYKIApAQCAtMzk4LDcgKzM5OCw3IEBAIGJvb2wgQ29tcG9zaXRpbmdDb29yZGluYXRv
cjo6cGFpbnRUb1N1cmZhY2UoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29vcmRpbmF0ZWRTdXJmCiAg
ICAgcmV0dXJuIG1fdXBkYXRlQXRsYXNlcy5sYXN0KCktPnBhaW50T25BdmFpbGFibGVCdWZmZXIo
c2l6ZSwgYXRsYXNJRCwgb2Zmc2V0LCBjbGllbnQpOwogfQogCi1jb25zdCBkb3VibGUgUmVsZWFz
ZUluYWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIFJlbGVh
c2VJbmFjdGl2ZUF0bGFzZXNUaW1lckludGVydmFsID0gMC41X3M7CiAKIHZvaWQgQ29tcG9zaXRp
bmdDb29yZGluYXRvcjo6c2NoZWR1bGVSZWxlYXNlSW5hY3RpdmVBdGxhc2VzKCkKIHsKQEAgLTQx
NCw3ICs0MTQsNyBAQCB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnJlbGVhc2VJbmFjdGl2
ZUF0bGFzZXNUaW1lckZpcmVkKCkKICAgICBmb3IgKGludCBpID0gbV91cGRhdGVBdGxhc2VzLnNp
emUoKSAtIDE7ICBpID49IDA7IC0taSkgewogICAgICAgICBVcGRhdGVBdGxhcyogYXRsYXMgPSBt
X3VwZGF0ZUF0bGFzZXNbaV0uZ2V0KCk7CiAgICAgICAgIGlmICghYXRsYXMtPmlzSW5Vc2UoKSkK
LSAgICAgICAgICAgIGF0bGFzLT5hZGRUaW1lSW5hY3RpdmUoUmVsZWFzZUluYWN0aXZlQXRsYXNl
c1RpbWVySW50ZXJ2YWwpOworICAgICAgICAgICAgYXRsYXMtPmFkZFRpbWVJbmFjdGl2ZShSZWxl
YXNlSW5hY3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICAgICAgYm9vbCB1
c2FibGVGb3JSb290Q29udGVudHNMYXllciA9ICFhdGxhcy0+c3VwcG9ydHNBbHBoYSgpOwogICAg
ICAgICBpZiAoYXRsYXMtPmlzSW5hY3RpdmUoKSkgewogICAgICAgICAgICAgaWYgKCFmb3VuZEFj
dGl2ZUF0bGFzRm9yUm9vdENvbnRlbnRzTGF5ZXIgJiYgIWF0bGFzVG9LZWVwQW55d2F5ICYmIHVz
YWJsZUZvclJvb3RDb250ZW50c0xheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5oCmluZGV4IGY5OGEzNmJjMjdhN2YyYmNlMTc3ZDEy
N2NmOTdmNjlkYmUxYzc1MWEuLmViZjY1YmI3ZjljZGI3ZWNlMjdiY2YwMTAzMzc1ZDRjZmQ4ZTIz
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nvb3Jk
aW5hdG9yLmgKQEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3luY0Rpc3BsYXlT
dGF0ZSgpOwogCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotICAgIGRvdWJs
ZSBuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRBbmlt
YXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApp
bmRleCA5ZjZhODMyMWUzZjI1MWFhNWUzNmU1MzcxOGQ4Y2FhOTc3ODA5NTZhLi5jNDdiYjA3Y2Q1
ZDVmMjYwN2U4Mzc1ZWEwZDViZTQ3MmM2NDRhNTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTc5LDcgKzc5
LDcgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCgp
CiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUo
KSkKLSAgICAgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBt
X2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OmNhbmNlbFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKaW5kZXgg
NTRiNGVhZDk4M2Y3NTZiZDE0OGUxYWY0Y2JlZDY0NzM5ODA3OTQyZC4uMGQxYjUxMDEwNjg1MTg1
ZjgwMzE5ZTkwOGJlY2Y3NDhjYTU1OGIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTM0Miw3ICszNDIsNyBA
QCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6c2NoZWR1bGVEaXNwbGF5KCkKICAgICBpZiAobV9kaXNw
bGF5VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kaXNwbGF5VGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGlzcGxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlzcGxheVRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU4YmM4ODlk
Y2EwM2ViZGExMmFhNjQwZDkzOTVhMjllNmVhNWNlMmQuLjViYThjYTk0ZWNkMjFkYjgzZDlmMThl
MTM1ZDAzZWE4MTUwN2Y2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTI1Myw5ICsyNTMsOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgcGFnZVNjcm9s
bEh5c3RlcmVzaXNTZWNvbmRzID0gMC4zOwotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyMCB9Owotc3Rh
dGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIG1heGltdW1MYXllclZvbGF0aWxpdHlUaW1l
ckludGVydmFsIHsgMiB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgcGFnZVNjcm9sbEh5c3RlcmVz
aXMgPSAwLjNfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlU
aW1lckludGVydmFsID0gMjBfbXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtTGF5ZXJW
b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDJfczsKIAogI2RlZmluZSBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExh
eWVycywgX19WQV9BUkdTX18pCiAjZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQo
Li4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTGF5
ZXJzLCBfX1ZBX0FSR1NfXykKQEAgLTMxNSw3ICszMTUsNyBAQCBXZWJQYWdlOjpXZWJQYWdlKHVp
bnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgICwgbV91c2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXIoKnRoaXMpCiAjZW5kaWYKLSAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVy
ZXNpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJl
c2lzU3RhdGU6OlN0b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxI
eXN0ZXJlc2lzU2Vjb25kcykKKyAgICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10o
SHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0
b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzKQog
ICAgICwgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5jYW5SdW5C
ZWZvcmVVbmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMu
Y2FuUnVuTW9kYWwpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtMjA2Miw3ICsyMDYyLDcgQEAgdm9p
ZCBXZWJQYWdlOjpjYWxsVm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycygpCiAKIHZvaWQgV2Vi
UGFnZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCgpCiB7Ci0gICAgYXV0byBuZXdJbnRlcnZh
bCA9IDIgKiBtX2xheWVyVm9sYXRpbGl0eVRpbWVyLnJlcGVhdEludGVydmFsTVMoKTsKKyAgICBh
dXRvIG5ld0ludGVydmFsID0gbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbCgp
ICogMjsKICAgICBib29sIGRpZFN1Y2NlZWQgPSBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVs
eUlmUG9zc2libGUoKTsKICAgICBpZiAoZGlkU3VjY2VlZCB8fCBuZXdJbnRlcnZhbCA+IG1heGlt
dW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsKSB7CiAgICAgICAgIG1fbGF5ZXJWb2xhdGls
aXR5VGltZXIuc3RvcCgpOwpAQCAtMjA3MSw3ICsyMDcxLDcgQEAgdm9pZCBXZWJQYWdlOjpsYXll
clZvbGF0aWxpdHlUaW1lckZpcmVkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJr
IGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWxsZCBtcyIsIHRoaXMsIHN0
YXRpY19jYXN0PGxvbmcgbG9uZz4obmV3SW50ZXJ2YWwuY291bnQoKSkpOworICAgIFJFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoIiVwIC0gV2ViUGFnZSAtIEZhaWxlZCB0byBtYXJrIGFsbCBs
YXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgbmV3SW50ZXJ2
YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhu
ZXdJbnRlcnZhbCk7CiB9CiAKQEAgLTIxMDIsNyArMjEwMiw3IEBAIHZvaWQgV2ViUGFnZTo6bWFy
a0xheWVyc1ZvbGF0aWxlKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY29tcGxldGlvbkhhbmRsZXIp
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIl
cCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4g
JWxsZCBtcyIsIHRoaXMsIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIiVwIC0gRmFpbGVkIHRvIG1hcmsgYWxs
IGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlLjNmIHMiLCB0aGlzLCBpbml0aWFs
TGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBtX2xheWVyVm9sYXRp
bGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVy
dmFsKTsKIH0KIApAQCAtMjU0MSw3ICsyNTQxLDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVJc0lu
V2luZG93KGJvb2wgaXNJbml0aWFsU3RhdGUpCiAgICAgICAgIC8vIGluIG9yZGVyIHRvIGdldCBw
bHVnLWluIGNvbm5lY3Rpb25zLCBhbmQgdGhlIFVJIHByb2Nlc3Mgd2lsbCBiZSB3YWl0aW5nIGZv
ciB0aGUgV2ViIHByb2Nlc3MgdG8gdXBkYXRlIHRoZSBiYWNraW5nCiAgICAgICAgIC8vIHN0b3Jl
IGFmdGVyIG1vdmluZyB0aGUgdmlldyBpbnRvIGEgd2luZG93LCB1bnRpbCBpdCB0aW1lcyBvdXQg
YW5kIHBhaW50cyB3aGl0ZS4gU2VlIDxyZGFyOi8vcHJvYmxlbS85MjQyNzcxPi4KICAgICAgICAg
aWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdykKLSAgICAgICAgICAgIG1fc2V0Q2FuU3Rh
cnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgIG1fc2V0Q2FuU3RhcnRN
ZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLnBhZ2VEaWRFbnRlcldpbmRvdyhtX3BhZ2VJRCk7CiAgICAgfQpAQCAtMzg3Myw3ICsz
ODczLDcgQEAgdm9pZCBXZWJQYWdlOjphZGRQbHVnaW5WaWV3KFBsdWdpblZpZXcqIHBsdWdpblZp
ZXcpCiAgICAgbV9oYXNTZWVuUGx1Z2luID0gdHJ1ZTsKICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQ
U0hPVFRFRF9QTFVHSU5fSEVVUklTVElDKQogICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVn
LUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBhZGRQbHVnaW5WaWV3KCVw
KSIsIHBsdWdpblZpZXcpOwotICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0lu
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVk
UGx1Z0luVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAjZW5kaWYKIH0KIApAQCAtNDQxMCw3ICs0
NDEwLDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wg
bWF5U3RhcnRNZWRpYSkKIAogICAgIG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyA9IG1heVN0
YXJ0TWVkaWE7CiAgICAgaWYgKG1fbWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyAmJiBtX3BhZ2Ut
PmlzSW5XaW5kb3coKSkKLSAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBXZWJQYWdlOjpydW5Nb2RhbCgpCkBAIC01MTg4LDcgKzUxODgsNyBAQCB2
b2lkIFdlYlBhZ2U6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUqIGZyYW1lKQogCiAgICAgbV9yZWFk
eVRvRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbiA9IHRydWU7CiAgICAgTE9HKFBsdWdpbnMs
ICJQcmltYXJ5IFBsdWctSW4gRGV0ZWN0aW9uOiB0cmlnZ2VyaW5nIGRldGVjdGlvbiBmcm9tIGRp
ZEZpbmlzaExvYWQgKG1hcmtpbmcgYXMgcmVhZHkgdG8gZGV0ZWN0KS4iKTsKLSAgICBtX2RldGVy
bWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwogI2VuZGlmCkBAIC01MjAwLDcgKzUy
MDAsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgcHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luU2VhcmNo
QnVja2V0U2l6ZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luTWluaW11bVdpZHRoID0gNDAwOwogc3RhdGljIGNvbnN0IGludCBwcmltYXJ5U25hcHNob3R0
ZWRQbHVnSW5NaW5pbXVtSGVpZ2h0ID0gMzAwOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFBy
aW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzID0gMjsKLXN0YXRpYyBjb25z
dCBpbnQgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSA9IDM7
CitzdGF0aWMgY29uc3QgU2Vjb25kcyBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRl
dGVjdGlvbkRlbGF5ID0gM19zOwogc3RhdGljIGNvbnN0IGZsb2F0IG92ZXJsYXBwaW5nSW1hZ2VC
b3VuZHNTY2FsZSA9IDEuMTsKIHN0YXRpYyBjb25zdCBmbG9hdCBtaW5pbXVtT3ZlcmxhcHBpbmdJ
bWFnZVRvUGx1Z2luRGltZW5zaW9uU2NhbGUgPSAuOTsKIApAQCAtNTMwOCw3ICs1MzA4LDcgQEAg
dm9pZCBXZWJQYWdlOjpkZXRlcm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW4oKQogICAgIGlm
ICghY2FuZGlkYXRlUGx1Z0luKSB7CiAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVn
LUluIERldGVjdGlvbjogZmFpbCAtIGRpZCBub3QgZmluZCBhIGNhbmRpZGF0ZSBwbHVnLWluLiIp
OwogICAgICAgICBpZiAobV9udW1iZXJPZlByaW1hcnlTbmFwc2hvdERldGVjdGlvbkF0dGVtcHRz
IDwgbWF4UHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uQXR0ZW1wdHMpIHsKLSAgICAg
ICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERldGVjdGlvbjogd2lsbCBhdHRl
bXB0IGFnYWluIGluICVkcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVj
dGlvbkRlbGF5KTsKKyAgICAgICAgICAgIExPRyhQbHVnaW5zLCAiUHJpbWFyeSBQbHVnLUluIERl
dGVjdGlvbjogd2lsbCBhdHRlbXB0IGFnYWluIGluICUuM2ZzLiIsIGRlZmVycmVkUHJpbWFyeVNu
YXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkudmFsdWUoKSk7CiAgICAgICAgICAgICBtX2Rl
dGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVyLnN0YXJ0T25lU2hvdChkZWZlcnJl
ZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5KTsKICAgICAgICAgfQogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAppbmRleCA5MDlkMmY5MTI2NmNkOGZkNTE5NjE4ZWQwZDFjNTdlMDkyZmZjNTk4Li43NWJmNDZi
MjNlMzk3Yzg1MTQxODRlMGZlMWJhYjQ2MDlhYTc5YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTMwMCw3ICszMDAsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEFj
dGl2ZVBvcHVwTWVudShXZWJQb3B1cE1lbnUqKTsKIAotICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1p
dCkKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNl
Y29uZHMgbGltaXQpCiAgICAgewogICAgICAgICBtX3BhZ2UtPnNldFRpbWVyQWxpZ25tZW50SW50
ZXJ2YWxJbmNyZWFzZUxpbWl0KGxpbWl0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1t
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYS5tbQppbmRleCA1YTY3MzM0ZDhhYTNhNDYxYjMzOGUwYjhlYTg0MDcxZGRjOGQw
N2Q0Li45MWQ4YTU2NTFmODc2MDM1ODQzMTRlYzZkZmZiMTI3MzE4ZGNjZTBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTI4NSw3ICsyODUsNyBAQCBUaWxlZEJh
Y2tpbmcqIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjptYWluRnJhbWVUaWxlZEJhY2tpbmco
KSBjb25zdAogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBv
c2l0aW5nTGF5ZXJGbHVzaEltbWVkaWF0ZWx5KCkKIHsKLSAgICBtX2xheWVyRmx1c2hUaW1lci5z
dGFydE9uZVNob3QoMG1zKTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3Np
dGluZ0xheWVyRmx1c2goKQpAQCAtMzA0LDkgKzMwNCw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKICAgICBpZiAobV9s
YXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3Qg
YXV0byBpbml0aWFsRmx1c2hEZWxheSA9IDUwMG1zOwotICAgIGNvbnN0IGF1dG8gZmx1c2hEZWxh
eSA9IDE1MDBtczsKLSAgICBhdXRvIHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVy
Rmx1c2hlcyA/IChtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hE
ZWxheSA6IGZsdXNoRGVsYXkpIDogMG1zOworICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZsdXNoRGVs
YXkgPSAwLjVfczsKKyAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxLjVfczsKKyAgICBhdXRv
IHRocm90dGxlRGVsYXkgPSBtX2lzVGhyb3R0bGluZ0xheWVyRmx1c2hlcyA/IChtX2lzSW5pdGlh
bFRocm90dGxlZExheWVyRmx1c2ggPyBpbml0aWFsRmx1c2hEZWxheSA6IGZsdXNoRGVsYXkpIDog
MF9zOwogICAgIG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA9IGZhbHNlOwogCiAgICAg
bV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KHRocm90dGxlRGVsYXkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KaW5kZXggZjRlZWEwMWZlNmVhNTcxYzNi
NWNiNDMwZjljMTg3NDNjZTlhNDBjYy4uY2NjZjFhYzIwNTU3OGRjNGNhYzVmMThmZGExOThmYzdl
N2QxZDA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCkBA
IC00NzIsNyArNDcyLDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6YWN0
aXZpdHlTdGF0ZURpZENoYW5nZShBY3Rpdml0eVN0YXRlOjpGbGFncwogICAgIH0KIAogICAgIGlm
IChtX3dhbnRzRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZSB8fCAhbV9uZXh0QWN0aXZpdHlTdGF0ZUNo
YW5nZUNhbGxiYWNrSURzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0aXZp
dHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zZW5kRGlkVXBkYXRlQWN0
aXZpdHlTdGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRVcGRhdGVBY3Rpdml0eVN0YXRlVGltZXJGaXJlZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBkZDAwYTE4ZDliNjIx
NjVkOTM2MmE5ODJlNGZlNzY1ODg3MWU1MTlhLi4yNjMyZGJhZmIyNGM2NzJiNWNlMzQ1NDFjNTg0
ODhmZDY5ODA2MmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
QEAgLTE0Miw3ICsxNDIsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHN0YXRpYyBjb25z
dCBkb3VibGUgcGx1Z0luQXV0b1N0YXJ0RXhwaXJhdGlvblRpbWVVcGRhdGVUaHJlc2hvbGQgPSAy
OSAqIDI0ICogNjAgKiA2MDsKIAogLy8gVGhpcyBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRpbGVS
ZXZhbGlkYXRpb25UaW1lb3V0IGluIFRpbGVDb250cm9sbGVyLgotc3RhdGljIGNvbnN0IGRvdWJs
ZSBub25WaXNpYmxlUHJvY2Vzc0NsZWFudXBEZWxheSA9IDEwOworc3RhdGljIGNvbnN0IGF1dG8g
bm9uVmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMF9zOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtMjExLDcgKzIxMSw3IEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgICAg
ICBpZiAobV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIAotICAgICAgICBtX3N0YXRpc3RpY3NDaGFuZ2VkVGltZXIuc3RhcnRP
bmVTaG90KHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUpKTsKKyAgICAgICAgbV9zdGF0aXN0aWNzQ2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCg1X3MpOwogICAgIH0pOwogfQogCkBAIC01MzgsNyArNTM4
LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQogICAgIHVu
c2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFk
Q2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAg
ICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7
CiAgICAgdW5zaWduZWQgcGFnZUNhY2hlU2l6ZSA9IDA7CiAgICAgY2FsY3VsYXRlTWVtb3J5Q2Fj
aGVTaXplcyhjYWNoZU1vZGVsLCBjYWNoZVRvdGFsQ2FwYWNpdHksIGNhY2hlTWluRGVhZENhcGFj
aXR5LCBjYWNoZU1heERlYWRDYXBhY2l0eSwgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bCwgcGFnZUNhY2hlU2l6ZSk7CiAKQEAgLTEyNDQsMTAgKzEyNDQsMTAgQEAgdm9pZCBXZWJQcm9j
ZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgT3B0aW8KICAgICB9CiB9CiAKLXZvaWQgV2ViUHJvY2Vzczo6c2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKK3ZvaWQgV2ViUHJv
Y2Vzczo6c2V0SGlkZGVuUGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBs
aW1pdCkKIHsKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAudmFsdWVzKCkpCi0gICAg
ICAgIHBhZ2UtPnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMobWlsbGlzZWNvbmRzKSk7CisgICAgICAgIHBhZ2UtPnNldEhp
ZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KGxpbWl0KTsKIH0KIAogI2lmICFQ
TEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXgg
MmE5NjQxYmZkNTRlODM0NzgyODRkNjVhNWVhMzU3MWExZjI3YjViOS4uMzMzZmRiNmMxNjU1OWI5
ODNjNzc1NjZkYjM4MzRlZjdjNGY5MDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTE4OCw3ICsxODgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZUFj
dGl2ZVBhZ2VzKCk7CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNy
ZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpOworICAgIHZvaWQgc2V0SGlkZGVuUGFnZVRpbWVy
VGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyk7CiAKICAgICB2b2lkIHByb2Nlc3NXaWxs
U3VzcGVuZEltbWluZW50bHkoYm9vbCYgaGFuZGxlZCk7CiAgICAgdm9pZCBwcmVwYXJlVG9TdXNw
ZW5kKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KaW5kZXggNmQ3NmU1ODMyNmVkMzUyNGFhYzVhOTg2YzQ5OTA2NzhhNTI0MTY2Yi4uMjU5
MDQ0OThhNmU0YTk3MDZiMWZjMWQ2NjliMWUxYzZiNzgyMDI4NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtODAsNyArODAsNyBA
QCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEZWxldGVXZWJz
aXRlRGF0YShXZWJDb3JlOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpX
ZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xv
Y2s6OnRpbWVfcG9pbnQgbW9kaWZpZWRTaW5jZSkgLT4gKCkKICAgICBEZWxldGVXZWJzaXRlRGF0
YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktp
dDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zKSAtPiAoKQogCi0gICAgU2V0SGlkZGVuUGFnZVRpbWVy
VGhyb3R0bGluZ0luY3JlYXNlTGltaXQoaW50IG1pbGxpc2Vjb25kcykKKyAgICBTZXRIaWRkZW5Q
YWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRzIGxpbWl0KQogICAgIFNldFBy
b2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKQogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIFNldFFPUyhpbnQgbGF0ZW5jeVFPUywgaW50IHRocm91Z2hwdXRRT1MpCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTZlMDU4YWU3ZGJkOTNj
ODFjMzc0NWVmNDY5ZGFlNTRjZmMzYjYzYS4uYTM2MzZjM2ZhZmQyMGVlZDJjYmZkYTU0N2ZmOTg5
M2M5NGZkOTkwZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vj
b25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1
bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTYtMTItMDQg
IEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBh
IGJ1aWxkIGJyZWFrIG9uIEVGTCBzaW5jZSByMjA5MzAzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9SdW5Mb29wLmNwcAppbmRleCAxZGM3ZTkzOGE3NmU5OTRiZTk3Njk4ZWU4MDVjYzZm
ZmVkNmZlM2RiLi41YTQ4OTI4ZmNiNWYwODIxNjE4YThkMmE0N2FhNTE4ZmJkZDNiNTYzIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcApAQCAtOTUsNyArOTUsNyBA
QCBURVNUKFdURl9SdW5Mb29wLCBPbmVTaG90VGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2
ZWRUaW1lciB0aW1lcih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydE9uZVNob3Qo
MC4xKTsKKyAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKICAgICAgICAgVXRpbDo6
cnVuKCZ0ZXN0RmluaXNoZWQpOwogICAgIH0KIH0KQEAgLTEyOSw3ICsxMjksNyBAQCBURVNUKFdU
Rl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIAogICAgIHsKICAgICAgICAgRGVyaXZlZFRpbWVy
IHRpbWVyKHRlc3RGaW5pc2hlZCk7Ci0gICAgICAgIHRpbWVyLnN0YXJ0UmVwZWF0aW5nKDAuMDEp
OworICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygwLjAxX3MpOwogICAgICAgICBVdGlsOjpy
dW4oJnRlc3RGaW5pc2hlZCk7CiAgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296143</attachid>
            <date>2016-12-05 09:13:46 -0800</date>
            <delta_ts>2016-12-05 09:13:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161205091306.patch</filename>
            <type>text/plain</type>
            <size>387225</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZThlNTQyZjhiY2IxNzdmMjQ1NWEyOTczNzllNzg4NGQ5YTg1OGVmLi5mODJmNzE0ODNmMDAzMDQ0
YTIzNmNlNGUyZTA1OGQ5OTUwMjc5YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6
OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKToKKwogMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHog
YW5kIHBvcGNudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCA0ZjEyZWQzNGQ4NGU3MzgyMjViMDUwYzk3YmEyYmYxZTM1NjRmNGQ0
Li5hNjMyNjk2NWI5ZjJjNTY3MTU3YWIwOTJiZmVhNmQ0M2QyMWVlMGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAg
ICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJh
c2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvY2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdU
Rjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAg
ICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5M
b29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5j
cHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAq
IHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnQpOgorCiAyMDE2LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFN5bWJvbEltcGwgbGF5b3V0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZmFmYzg3YzQ3ZmM3NTJkNmMyMGI5ODkwNTU3ZTdmM2E2NTZmMDJmZC4uNzFmNDUwYjY4MDk5
YjA5M2YxNWFmZmI4NTFmMTE0NGZlNWYxNjIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyNyBA
QAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91Ymxl
cyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
Tm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6
OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpz
dGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZUNvbXBsZXRlZE9wZXJhdGlv
blRpbWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3Ap
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24p
OgorICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZp
c3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVs
ZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVu
dERlbGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29r
aWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRF
dmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5x
dWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01p
Y3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
Y2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRp
b25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNsZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFsdGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6
CisgICAgICAgICogZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0
b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVu
dFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vl
a1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRl
KToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnJlc3VtZSk6CisgICAgICAgICogaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICAoTWVk
aWFDb250cm9sbGVyOjpjdXJyZW50VGltZSk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlRXZlbnQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRh
dGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBo
dG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVudDo6
bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MpOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9u
OjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6CisgICAgICAgICogaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRT
dGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0
VG9IaWRlTWVzc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpsb3NlQ29udGV4dEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCk6
CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6c2NoZWR1bGVGb3JS
ZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6cmVzdW1lKToK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6
OnVwZGF0ZVNpemVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZU
VFJlZ2lvbjo6c3RhcnRUaW1lcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hl
ZHVsZUZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpkaXNwYXRj
aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjp0aW1l
ckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTZWdtZW50KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0
YUxvYWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1
YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5nRXZlbnQpOgorICAgICAgICAqIGxv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRp
b25TY2hlZHVsZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSk6CisgICAgICAgICogbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNhbGxiYWNr
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpDYWxs
YmFjayk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpwcnVuZVNvb24pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAg
ICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAgICogcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFu
Z2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjp1c2VyR2VzdHVyZVRv
a2VuVG9Gb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0pOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVGltZXI6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgICogcGFnZS9ET01UaW1lci5o
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0SW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VD
b250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjpN
YXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlv
blRyYWNrZXI6On5NYXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3Vz
ZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0
YXRlVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpwYXJzZUV2ZW50
U3RyZWFtTGluZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBh
Z2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUu
Y3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZW5hYmxlU3BlY3Vs
YXRpdmVUaWxpbmdJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
dXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5k
YWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6
c3RhcnRPbmVTaG90KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmlj
YXRpb25UaW1lcik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFy
dFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlKToKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
bik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldp
bmRvdy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJ
bmRpY2F0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1p
dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgor
ICAgICAgICAqIHBsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpIeXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3Nl
ZFBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
OjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6
OlRocmVhZFRpbWVycyk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJl
ZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50
ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0
ZWRFdmVudExvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NU
aGFuRnVuY3Rpb246Om9wZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpU
aW1lckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjpuZXh0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tD
b25zaXN0ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6
aGVhcFBvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cjo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vj
b25kc1RvTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJ
bnRlcnZhbE1TKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bV9sYXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0
U25hcFJ1YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVy
OjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXApOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dh
bWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW06CisgICAgICAgICog
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQWRkZWQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRlcm5h
bFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpu
ZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dC
bHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRj
aEJ1ZmZlclB1cmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250
cm9sbGVyOjpzZXRJc0luV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVy
OjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24pOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2
YWxpZGF0ZVRpbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29o
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxF
eHBpcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExh
c3RVc2VUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcDoKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpz
ZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoVmlkZW9SZW5kZXJSZXF1ZXN0U2NoZWR1bGVyOjpyZXF1ZXN0UmVuZGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVhZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFk
ZEFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JH
dGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycyk6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkxlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAg
ICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbik6CisgICAgICAgICogcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyTGludXguY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJh
clBhaW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRD
b250ZW50QXJlYVNjcm9sbGVkU29vbik6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjphdXRv
c2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrOjpzZXRPcmllbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRNb2Nr
Ojphc3luY1VwZGF0ZVBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25D
bGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNC
eU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJG
aXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9k
dWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWspOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJh
c2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGlu
Z1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9y
ZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGlu
Z1JlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxs
KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hcnF1ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
cnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6
Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6
Om1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJl
cGFpbnQpOgorICAgICAgICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRT
b29uKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgor
ICAgICAgICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAg
ICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6ZXZlbnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxh
eWluZ0lucHV0Q3Vyc29yLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZH
TG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29u
dGFpbmVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8p
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50
ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJl
cXVlc3Q6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnBy
ZXBhcmVUb1NlbmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIw
MTYtMTItMDQgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQ
YXJzZXJdIEVsaW1pbmF0ZSBpbi1wbGFjZSBsb3dlcmNhc2luZyBpbiB0aGUgcGFyc2VyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA2NjJjYTI0MTk1YWM0YjQ2MzFjMTczMjNhZTQxZWFmZjJjM2FhOTRjLi4zNmRiNGNk
NWNlZDk2NTk3MzEzNDVmZWE5ZmE3OGM2OTMyN2JkMDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VU
cmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChX
ZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVu
ZGluZ1JlcXVlc3RzKToKKwogMjAxNi0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdW1dLMV0gSW1wbGVtZW50IG5ldyBIVE1MIGludGVyYWN0aXZl
IGZvcm0gdmFsaWRhdGlvbiB1c2VyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGVjMTU5
MmNmYjA2NWNjNzk4NTI2ODMzZmJjYmZhMWIwMDVjZmU5MzIuLjllOTg2NWUxZjU2OWJjY2NlMmM3
NDYyNDZkZTNmM2E2ZDY0MzI4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBv
ciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omxv
YWRSZXF1ZXN0KToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
OgorICAgICAgICAoV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBf
c2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxNi0xMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHRoZSBiZWhhdmlvciBvZiBzY3JvbGwt
aW50by12aWV3IHdoZW4gdGhlIHRhcmdldCBpcyBpbnNpZGUgcG9zaXRpb246Zml4ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2ZTFkN2FiZTJlLi5h
Yzk5Y2ZkYzZmYTQwYjJlNWJlNjRmOTdiODk3NDNmN2FhZjVmNTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAg
ICAgKiBQbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
UGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblN0cmVh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAg
ICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
c2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6a2VlcEFsaXZlKToK
KyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZh
bGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJWaWV3OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYlZpZXc6OmNsb3NlV2luZG93U29v
bik6CisgICAgICAgIChXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisKIDIwMTYt
MTEtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dURl0gSW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdU
Rjo6T3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1NGVmM2JlNTJmMGNjNGZmNjhiMGZmYjBiMWMzMDA0
MjU0MzJmNWU5Li45YTgzYTgzZDU3YWMzOTU0NjQ3ZTQ0OTRlYmZkNzZmZThjYjEwNWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTY3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkg
U2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVG
YWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+
OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNz
OjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9k
ZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRUZXJtaW5hdGlvblRp
bWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVy
Ojppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgorICAgICAgICAqIFNo
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06CisgICAgICAgIChBUEk6
OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKToKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJv
Y2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVy
Ojpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxs
eUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6
OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNv
b24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdp
blZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbklu
V2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVs
eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAxNi0xMi0wMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gRXhwb3NlIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudCB2aWEgdGhl
IE9iamVjdGl2ZS1DIGJ1bmRsZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdl
NmViNTBhYzRiMDY0NWNjOWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFj
OTU3NTNlMTk5MTE3MmE0NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdh
cmJhZ2VDb2xsZWN0aW9uKEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNv
bGxlY3Rpb25FdmVudHNUYXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9S
dW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhi
Y2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4uNjNkMGM3OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZj
NDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtODgsMTAgKzg4LDggQEAgcHVibGljOgogICAgICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGljaXQgVGltZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgflRpbWVyQmFzZSgpOwogCi0gICAgICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdElu
dGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50
ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQotICAgICAgICB2b2lkIHN0
YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFsc2UpOyB9CisgICAgICAgIHZvaWQgc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1
ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
c3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2
YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQo
U2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CiAKICAgICAgICAgUnVuTG9v
cCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIu
aCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCmluZGV4IDM3ODBlNzZjMDMxMzEwNGFl
YzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLjZjNGZkNmVjMWE4MDVjNDEzNDA2MGY0N2U3NjQ2NDhk
NDdhZDc4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGlj
OgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFp
ciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxl
UGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJs
ZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJ
bnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAg
dm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsg
fQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNo
b3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMyZTIzYmE3YmY5NTczYzMx
YjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5Yzg4NTIwZWZlNWJlYTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiArNTIsMTIgQEAgc3RhdGlj
IHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dCkKICAgICB0
aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBSdW5Mb29wVGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxp
ZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9
IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRp
bWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgbV90
aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLnZhbHVl
KCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZvaWQgUnVuTG9vcFRpbWVy
QmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVsZVBhaXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThhOTg2ZGU5MjNlODcyOTI0
NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5OGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nm
L1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQp
CiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAgICAKICAgICBDRlJ1bkxv
b3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIENGVGlt
ZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZpcmVJbnRlcnZhbCA6IDA7
Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLCBy
ZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKKyAgICBDRlRpbWVJ
bnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwudmFsdWUo
KSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVy
dmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkp
OwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3AuZ2V0KCksIG1fdGlt
ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3NGM2NzUwZGFlNTk2Li42
MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZWZsL1J1
bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1bkxvb3A6OlRpbWVyQmFz
ZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1lci0+bV9pc1JlcGVhdGlu
ZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwogfQogCi12
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0aXZlKCkpCiAgICAgICAg
IHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgQVNTRVJUKCFtX3Rp
bWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwsIHJl
aW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCksIHRoaXMpOworICAgIG1f
dGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZWludGVy
cHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKIH0KIAogdm9pZCBS
dW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2Vu
ZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BH
ZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQxNjdlYzdiNWZkYTI2NjM4
Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEyICsyNjMsMTIgQEAgUnVu
TG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQor
dm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRhc2sgPSBTY2hlZHVsZWRU
YXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAgICB9LCBTZWNvbmRzKGlu
dGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVwZWF0aW5nKTsKICAgICBt
X3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNrKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1NjI3OGJhNmI3ZmYwMjFj
MGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0Njg3ODEzNjMzYTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQg
UnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAgIGdfc291cmNlX3NldF9y
ZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0KIAotdm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9p
ZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUludGVydmFsLCBib29sIHJl
cGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRp
b248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWxEdXJhdGlvbiA9IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBh
dXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29uZHM6Om1heCgpOwogICAg
IGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAgICAgICBzYWZlRHVyYXRp
b24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRz
PihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5M
b29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcAppbmRleCA0YjQ1
YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAyMWY3ZGI0Y2EyYTI4YjE5
ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVu
TG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCkBAIC0x
NTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0
b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIG1faXNSZXBlYXRp
bmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJzLnNldChtX0lELCB0aGlz
KTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNzYWdlV2luZG93LCBtX0lE
LCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRUaW1lcihtX3J1bkxvb3Au
bV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbC5taWxsaXNlY29u
ZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBmYWYyMTIwMmExMzBiOTJl
NWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLjYwYTk3NzhmYTY2OTdhZjViMWMxNWE3NDI3YzgyY2M3
MTEyZDZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IGNl
Yzk3Y2M5MDJlNDUwNjg5N2ZlZmJkM2VhZTJmOTc5MDdhYWNjMTYuLjU4NmM1OTY4NjFkYWI3MGRk
YzJiNjg2MWMyYzcxNjgxNzU5YTM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01OSwxMyArNTksMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBHZW9Ob3RpZmll
cjo6cnVuRXJyb3JDYWxsYmFjayhQb3NpdGlvbkVycm9yKiBlcnJvcikKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7CiAgICAgaWYgKG1fb3B0aW9ucy0+aGFzVGltZW91
dCgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX29wdGlvbnMtPnRpbWVvdXQoKSAv
IDEwMDAuMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHMobV9vcHRpb25zLT50aW1lb3V0KCkpKTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6
c3RvcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKaW5kZXggODVhZTQwZjYzNDE3NTMyNzE2NzJmM2EzNzdmZTk5M2RmNGEz
MThjMC4uYzA5YzM3OWIwMjk2NDNkYTkwY2Q4YzU2NDc0M2E3MTU1MDZmMGZkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAg
LTE5OCw3ICsxOTgsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQogICAgIEFjdGl2ZURP
TU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDA1ZGEwMmZiMjkwNzJjNWM1MGRjNmJiZDUxZmEwYjdlYzk2
NTk0ZDUuLmNiODFiODk0OGJkMGJhMGEyNWE3MTYwNzMxZDVkZWI0YzRmYTNlYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
QEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZVBlbmRpbmdP
cGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNl
LT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQpA
QCAtNDQyLDcgKzQ0Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlQ29tcGxldGVk
T3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFz
ZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVkT3BlcmF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9wZXJhdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggOTkxMDE1N2MyZDhiOWE4YTli
NTk2ZTI0N2I1YmMwYzVjYTdjMGZkNS4uZmJkYTFhZDEwMmE4MDUxN2E1YjlmMmI0ZDcxNWRjOWI4
OGUwMDhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNDk0LDcgKzE0OTQsNyBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpOwogCiAgICAgaWYg
KCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9X
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3YTMzNjlmMTBlNTMwZTRkYzg3ZTcxN2Q1
Njc1ZjcwOTExM2I4MGU5Li5jOTdhNDQ0ZDllOWJhMDA4YmJkNGQ2MmI2ZmIxYWE0OTdmZGM0NzQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGFza0RlbGF5SW50ZXJ2YWwg
PSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGFza0RlbGF5SW50ZXJ2YWwgPSAw
LjFfczsKIAogc3RydWN0IENsaWVudFN0YXRlIHsKICAgICBleHBsaWNpdCBDbGllbnRTdGF0ZShX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQsIHVpbnQ2NF90IGNvbnRleHRJZCkK
QEAgLTQyMyw4ICs0MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZmluZChX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQsIHVpbnQ2NAogCiB2b2lkIFdlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogewotICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gNjAgKiA2
MDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kID0gOCAqIDYwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IFNlY29uZHMoNjAgKiA2MCk7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSBTZWNv
bmRzKDggKiA2MCk7CiAKICAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tU
YXJnZXQtPmhhc0FjdGl2ZVJvdXRlKCkpIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3Ao
KTsKQEAgLTQ0MiwxNCArNDQyLDE0IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29u
ZmlndXJlV2F0Y2hkb2dUaW1lcigpCiAgICAgfQogCiAgICAgaWYgKHN0b3BUaW1lcikgewotICAg
ICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMDsKKyAgICAgICAgbV9jdXJyZW50V2F0
Y2hkb2dJbnRlcnZhbCA9IDBfczsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAg
ICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lciAtIHRpbWVyIHN0b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUg
aW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgYXV0
byBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBp
ZiAoaW50ZXJ2YWwgIT0gbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1Rp
bWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNo
b3QoaW50ZXJ2YWwpOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIs
IGludGVydmFsKTsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwg
aW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCA9IGludGVydmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1
N2Q1OGVmOTE0Y2IyM2YxOTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRj
NmQ0NmExM2FkM2MxZjExYjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0x
MDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4g
bV9wbGF5YmFja1RhcmdldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlv
blRhc2tzIG1fdGFza0ZsYWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWwgeyAwIH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
OwogICAgIGJvb2wgbV9leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3RhcmdldENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2Vy
RW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBh
YWZjMjFlMDU1Mjg0Yi4uZDY0ZWM2M2UzNTE0ODE0ZmFjMzUxMzBmYzExMzkyNzI0YTYzNjBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92
YWwoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8g
NS4gUmV0dXJuIGNvbnRyb2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBz
dGVwcyBhc3luY2hyb25vdXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0Owog
ICAgIG1fcGVuZGluZ1JlbW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFNvdXJjZUJ1ZmZlcjo6YWJvcnRJZlVwZGF0aW5nKCkKQEAgLTUzMyw3ICs1MzMsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkudXBkYXRl
c3RhcnRFdmVudCk7CiAKICAgICAvLyA2LiBBc3luY2hyb25vdXNseSBydW4gdGhlIGJ1ZmZlciBh
cHBlbmQgYWxnb3JpdGhtLgotICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICByZXBv
cnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkNTJhNDhhNTNkYWUyODhjODQ3
MTlmZGMxZTFlZWJkNDdlZTZlNTcuLjFmOWY3MTAzZGUyZWM5ZWYxNTk2OTgyMjhmMjUwMzIyZTk5
ODQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1
bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hlZHVsZWRBY3Rpdml0eUV2ZW50cy5hcHBl
bmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogCiAgICAgaWYgKCFt
X2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FjdGl2aXR5RXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50VGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCA1ZGQyZjFlNDFjZjUxMjI5NmQ3NGQyMGMxYmQ3YzQ4YmIyYjIy
ZDc5Li5hMmJlZmM1NDQ2M2ViZjQzNTAxYmI2MTM4ZGRlZDc1MzBkYjQ0YTU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlzcGF0Y2hF
dmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdU
Rk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBS
VENEVE1GU2VuZGVyOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCAw
NTFjNzAxNDlhZTJkYTEyZTYwMGE0MDUwZjA5YzFlYzhiZmQ1NzU2Li4yZGJjYWYxZjIxYmZkNDk4
ODAwNzBhM2Q4M2RiOGFlYTgyZTJlYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMjM3LDcgKzIzNyw3IEBA
IHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYg
ZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKIAog
ICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc2No
ZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2NoZWR1bGVkRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkx
Mjg3NWFiZjgwYjJkZGRlODM3YTdlNy4uYmI4NzE5ZDgyZjUyMDg2YTBlNDNiN2QwZTg0OGIxODIy
OGRhZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIC8v
IEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNo
b3VsZCBub3QgYmUgY2hhbmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCiAgICAgLy8gQnV0IHRoZSBy
ZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0
IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7Ci0gICAg
bV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3
NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGViZmUwLi45MjVlYjk2YTMxYzM4OGU2NjU4N2M5
OWM1NDZkZTg5MzdlZjY0NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQs
NyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZv
aWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNE
ZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBy
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVmcyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0
b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgfQogICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
ICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IDg2MDkxNDIwOWM4YmIzNDI4MDQwYWExNGZjOWZj
ZDAzZDBkZDVjNTkuLjMzYjAyMjBlOTQ3Zjg0MzcwNjI3YjE2MjExZTZlYzI0OTA5ZWQxYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAt
NzYsNyArNzYsNyBAQCBib29sIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0
ZXJuJiBwYXR0ZXJuKQogCiAgICAgbV9wYXR0ZXJuID0gc2FuaXRpemVkOwogCi0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBt
X3N0YXRlID0gU3RhdGU6OldhaXRpbmc7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBWaWJyYXRpb246OnRpbWVyRmlyZWQoKQogICAgICAgICBtX3ZpYnJhdGlv
bkNsaWVudC0+dmlicmF0ZShtX3BhdHRlcm5bMF0pOwogICAgICAgICBicmVhazsKICAgICB9Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9wYXR0ZXJuWzBdIC8gMTAwMC4wKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fcGF0dGVyblswXSkp
OwogICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggYmVkOTM2MjY3ZDU2ODRmYzc4ODE3
MDkxZjExZjA3YzQ1ZWFiM2I3OS4uMDhlMTJhMTYwMWM4YTI0ZTZhYjZjMjI0NDYyN2QxMGFkYzRm
MjkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6cmVzdW1lKCkKICAgICAg
ICAgbV9jaGFubmVsLT5yZXN1bWUoKTsKICAgICBlbHNlIGlmICghbV9wZW5kaW5nRXZlbnRzLmlz
RW1wdHkoKSAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIEZpcmUg
dGhlIHBlbmRpbmcgZXZlbnRzIGluIGEgdGltZXIgYXMgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4
ZWN1dGUgYXJiaXRyYXJ5IEpTIGZyb20gcmVzdW1lKCkuCi0gICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCmluZGV4IDgwZGJiNGJhMGVlM2IyYzQ3MzNjODFkMmUxYjg1OTdkOGJiZTc4YzQuLjY4Y2My
YzA2YjU4YjNlYjIyNWQ4MDJkY2VmZjRjOTJmMjkxNzc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4
aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpX
ZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCYgY2xpZW50LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZk
b2N1bWVudCkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Nl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5l
bD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhh
bmRzaGFrZSBtYXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBk
ZXJlZmVyZW5jZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAg
ICAgaWYgKG1fY2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1l
KTsKKyAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50
TGlmZXRpbWUgKiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0
cmluZyYgcmVhc29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
cmVzdW1lKCkKIHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVy
LmlzRW1wdHkoKSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQx
ZTgyMDVhMTE2MTJmMGRhZjg0MTBiOGU2MzE4OThhMWUyNmMwNzQuLjBmNGUxMWM1ZmI0YjJiMTE5
MmQ2NmU3ZWIxYWZiMjMxZmU5OTEyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdl
IG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQg
aW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMg
b2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nl
c3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOwor
c3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRp
b25JbnRlcnZhbCA9IDAuMDI1X3M7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5TGl2ZVJl
Z2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDJfczsKIAogQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9y
ZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVu
dCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3VzbHkpIHsKICAgICAg
ICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihvYmplY3QsIG5v
dGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iamVjdCwg
bm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBkMzYxYzJjYzRiMjQ5ZmYwODM1ODJlMjUuLmU2
ZTY1NjkwZDNiMmQxYmU0ZDEzZDkwZGRjNDA1NzFmOTIzYzE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEdD
Q29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29uKCkKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewogICAgIGlmICghbV9HQ1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fR0NUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdjVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAyNTY3MWMxZGUwOWI1NTBiZDcx
OWM5Y2Y1Yjk1OGU1ZmIyMjU1NjRkLi5kZGI4ZjhiM2M0MTgyMDE4OTBmODBjYzBmNmNlZjNjYmQx
YmJkYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTQ5Nyw3ICs0OTcsNyBA
QCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5ld1N0YXR1cykKICAgICB9CiAK
ICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykKLSAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDAgOiAz
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3
YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBpZiAobmV3U3RhdHVzID09IFN0
YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKaW5kZXggZTg0OTg4ZWJlMDZiNmY1NmUyMmM3ZmUyNDZjNmRhNGJlYmZiNmEyYi4uNDQwNDFk
NjNhNzBiZDY5ZWEyMjM2NDBiZDUwYzVhMzMyZjE1NzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9udCYgZm9udCkKICAgICAvLyBhZnRlciB0
aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBiZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4g
QmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRU
aW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQoKS4KICAgICBtX2RvY3VtZW50LT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVlc3RDb3VudChmb250KTsKLSAgICBtX2Jl
Z2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2JlZ2luTG9hZGluZ1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2Fk
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKaW5kZXggYTc1MjgzYTJiMjdjM2RlZDhkOTQzMTJkZTA0YTQxNThlZWNjMmY5My4uNGQ0
MDYxNzI2MzljNDllZmQ3NzUyYWRmZWEzZjkzZGU1YTZmOWY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMzksNyArMzksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbWVUb0tlZXBDYWNoZWRH
ZW5lcmF0ZWRJbWFnZXMgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRpbWVUb0tlZXBDYWNoZWRHZW5lcmF0ZWRJbWFnZXMgPSAzX3M7CiAKIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNz
VHlwZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCAxMGY2NWMzY2ViYzViNmFmZGEwMGMwMGU3M2RjYjhlYjQyYWJlNjVkLi45
YjFhYTBiMzFiZDE0MWVlOTgyNzAyZDVhODZjZDQzMzA2Y2FiNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM3LDEwICsxMjM3LDggQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBjb25zdAogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25D
YWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVkUHJv
cGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0aW9u
Q2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzCi0gICAgICAgICYmICFtX21hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7Ci0g
ICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1h
dGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKLSAgICB9CisgICAgICAg
ICYmICFtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KDYwX3Mp
OwogCiAgICAgQVNTRVJUKGhhc2gpOwogICAgIE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIGNh
Y2hlSXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZlZTU3OTI1YTE2ODk3ZjBlYTUy
OWEzZDg4MjlkODBkZWRmNzE4NTcuLjA5OTBkZTI2ZWI5MDRiOTljNTg0YzE4MjBiMWE1OWUwMzI2
MzU4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1OCw3ICsxMjU4LDcgQEAgdm9p
ZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxs
b3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSk7CisgICAgICAgIG1fdmlz
dWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2V0dGluZ3Mo
KS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSkpOwog
CiAgICAgaWYgKCF2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTc0
NSw3ICsxNzQ1LDcgQEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYygpCiAgICAg
Ly8gRklYTUU6IFdoeSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMgaXMgY2xlYXJseSBtaXNw
bGFjZWQuCiAgICAgaW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAgIAotICAgIG1fc3R5bGVS
ZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVs
ZVN0eWxlUmVjYWxjdWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lk
IERvY3VtZW50Ojp3cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9j
dW1lbnQpCiAgICAgd3JpdGUoV1RGTW92ZSh0ZXh0V2l0aE5ld2xpbmUpLCBvd25lckRvY3VtZW50
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwo
KSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJUaHJvdHRsaW5n
RW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0
CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hl
ZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudEludGVydmFsID0g
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNyw4ICs1MDI3LDggQEAgdm9pZCBEb2N1bWVudDo6
ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGluc2VydGVkIGNv
bnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9ucy4KICAgICAv
LyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBhY2Nlc3Mgc2lu
Y2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAgICAvLyBhbGl2
ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNldHRpbmcgLmlu
bmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0IGludCB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMg
PSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMp
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxp
dmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAg
YWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJl
bG9hZHMoKTsKQEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7CiAgICAgaWYgKCFt
X3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50
OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25G
b3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6
V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNj
aGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRp
bmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNjcmlwdFJ1bm5lcigpLT5yZXN1
bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNvbik7CiAgICAgcmVzdW1lU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBAIC01Njg3LDcgKzU2ODcsNyBA
QCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUgKDApOwogCiAgICAgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxlbWVudCA6IGRv
Y3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCkKQEAg
LTU4NTQsNyArNTg1NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5kaWRCZWNv
bWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiog
cmVuZGVyZXIpCkBAIC02MDU3LDcgKzYwNTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRM
b2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsKIAogICAg
IGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2ZW50RGVs
YXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCgpCkBAIC02
NzAxLDcgKzY3MDEsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChF
bGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NvY2lhdGVkRm9ybUNv
bnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2NzIxLDcgQEAgdm9pZCBEb2N1bWVu
dDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNvb2tpZXMpCiAgICAgQVNTRVJU
KCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNoZWRET01Db29raWVzID0gY29v
a2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlkIGF0IG1vc3QgdW50aWwgd2Ug
Z28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNvb2tpZUNhY2hlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTBlMmI4MzkyMmNhOWExZWExMzUyMjg0ZDYzMDE3Zjc5
ODEzMDI0MC4uYWYyYWM3ODAyYWFiNjAwZDNjMGY2NTgzYjljNzM3MTVhY2UxZDcwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwg
SlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2
YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJB
bGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZp
bmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRN
YXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVUaXRsZUZyb21U
aXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJl
Y3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXgg
OWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4uYmQ5M2JhNjJjZTZlMjIx
ZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1bWVudEV2ZW50UXVldWU6
OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBtX3F1ZXVlZEV2ZW50cy5h
ZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3RpdmUo
KSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4NzJkODVhMWE0NTUxYWQwMTk5
MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYzNjkyYmZlZTFlNzBjOWFiMDJj
NmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNjYsNyArNjYsNyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbihU
JiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFwcGVuZCgmc2VuZGVyKTsKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5
MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3ODAyNTUyMTY5ODk2MDIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90
YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAg
ZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rhc2smIHRh
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5YzczZGQ5
ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1YmxpY1VSTE1h
bmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQogICAgIHJl
dHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
b2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFk
anVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFsdWVzKCkp
CkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RN
aW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9CiB9CiAK
LXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQgaW1wbGVt
ZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWluaW11bSB0
aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRlZApAQCAt
NDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGlnbm1lbnRJ
bnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29uZHMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAog
ewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBjOTI5OGQz
MmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIwZThhZjRk
OGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25kcy4KLSAg
ICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0
TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7Cisg
ICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKICAgICB2
b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNo
ZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lckFsaWdu
bWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CiAKICAg
ICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdkMDlhNDA0
OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5M2Q5ODEwZGJkM2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3Jp
cHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7CiAgICAg
aWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1
bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKQEAgLTEw
MCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1Nj
cmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBl
bmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1NjcmlwdCktPnB0cigpKTsKICAg
ICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Ny
aXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRhNjc0MDE5
NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYxZjEwMjgz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2NoZWR1bGVE
ZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1bWVudC0+
ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVUaW1lc3Rh
bXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVsZURlbGF5
KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVkdWxlRGVs
YXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1bWVudC0+
dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2N2Y5Njg0
MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzljN2RmNWRiZjJkMGI5YjJmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBAQCBzdGF0
aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hl
KCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0YXRpYyBjb25zdCBpbnQgbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOworCiBj
bGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5UaW1lci5z
dGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwogICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBt
aW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAxMDA7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lLnZh
bHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENvdW50Owog
ICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWluaW11bVBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCBk
NWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42OWU5ZTNmZGRhZmVhZmJi
YmY3MTYxMTU1ZWJmMWJkMDdjZWEyNTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcigpCiAK
IHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRp
bWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ycmVj
dGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBhdXRvIGNvcnJlY3Rpb25Q
YW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAoIWlzQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVmYzE3YTM3Li4z
YmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZhMjJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246
OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0gICAgICAgIG1f
dGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2UodHJ1ZSk7CkBA
IC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogICAgIG1fZWRpdG9y
VUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRHcmFtbWFyID0gb3B0aW9ucyAmIEZy
YW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAmJiAhKG9wdGlvbnMgJiBGcmFtZVNl
bGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsKICAgICBtX2VkaXRvclVJVXBkYXRl
VGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6
RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCA2NzU5ZmYx
NzdmZTc2NzFjYmIxNjkzNWViMzYxMGQyYTU2OTdiNzg2Li44NzRiZDY4NmE2OWQ0ZGQyNWI1ZmE3
NmFmM2EyY2I1ZGQyM2NlZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcApAQCAtMjA1MCw3ICsyMDUwLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBC
ZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBp
biB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3VsZEJsaW5rICYmICFtX2NhcmV0Qmxp
bmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9
IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAg
aWYgKGF1dG8gYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJs
aW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0
aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRm
Y2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2NlMGM5YzdiYWM1MTliZmI1ODQ1Y2IzYmU3
M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2
LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNv
bnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdS
ZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAg
ICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3VjY2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0
IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFhN2I5MjUxMzQxMGU0MDZmNDM0NWRjODNj
ZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBhZGNiYTkzYTZiZDVkMGZhMjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2
b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxl
dGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMg
QVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3VzbHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5k
IGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzZGRh
N2E3YWMzZmY4NmFjNDk2MDVjNWQ3M2ZlYmRmYmRkYmNjMGJiLi5mMTJiYTUxMGJhMTQyNjIyYTgy
MTFkY2RhNzMyZWRjNDY4YzJlYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVsYXkgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNj
YW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrVGltZSA9IDAu
MjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41Owogc3RhdGljIGNv
bnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIEhp
ZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNl9zOwogCiBzdGF0aWMgdm9pZCBz
ZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtOTM3LDcgKzkz
Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKERlbGF5
ZWRBY3Rpb25UeXBlIGFjdGlvblR5cGUpCiAgICAgaWYgKGFjdGlvblR5cGUgJiBVcGRhdGVQbGF5
U3RhdGUpCiAgICAgICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBVcGRhdGVQbGF5
U3RhdGUpOwogCi0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAgLTk0NSw3ICs5NDUsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKICAgICAv
LyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3VyY2U+IGVsZW1lbnQgV0lU
SE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgogICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCVwKSAtIHNldHRpbmcg
JXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3VyY2UpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBMb2FkTWVkaWFSZXNvdXJj
ZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVu
ZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoY29uc3QgTWVkaWFQ
bGF5ZXIqKQpAQCAtMTk4NCw3ICsxOTg0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFy
dFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBp
dCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAg
LTMzNzEsNyArMzM3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhT
Y2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2Fu
UmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09
IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRp
bWVyLnN0YXJ0KDBfcywgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2Nh
blJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRTY2FubmluZygp
CkBAIC0zNDEwLDcgKzM0MTAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZp
cmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZl
bnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3
ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhU
aW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c3RhcnRQbGF5YmFja1Byb2dyZXNzVGltZXIoKQogewpAQCAtMzQ1Nyw3ICszNDU3LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChib29sIHBlcmlv
ZGljRXZlbnQpCiAgICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0
VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCi0gICAg
aWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5KQorICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeS52YWx1ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTb21lIG1l
ZGlhIGVuZ2luZXMgbWFrZSBtdWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFja3MgYXQgdGhl
IHNhbWUgdGltZSwgYnV0IHdlIG9ubHkgd2FudCBvbmUKQEAgLTQzODgsNyArNDM4OCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbihkb3VibGUg
cG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0NTcyMTk+IGZv
ciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9z
aXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0b3AoKTsK
LSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjUp
OworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAu
NV9zKTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNT
Y3J1YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYu
LjE1MTBjNTg5ZmRlZDJiMWUzOTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBI
VE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAg
ICBtX2Rpc3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxh
eWluZ1NuYXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50KSAmJiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBS
ZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRk
VXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjky
ZTM3MjgwZjNmOTk5NjdmY2IwYTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQzMzdkZGQzMGY5
YjIzNjczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwCkBAIC03MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQ
YWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3Rh
cnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBz
aG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0
YXRpYyBjb25zdCBhdXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyRGVsYXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXN0
YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFwc2hv
dFRpbWVyRGVsYXkgPSAxLjVfczsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHRpdGxl
VGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFjMGMzNjVhZjgx
NWU3ZjYzOWYuLmVkYWUwYzRjYjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUsNyArMTI1LDcg
QEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkKICAgICBpZiAo
bV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9l
cnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5k
aW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVu
dDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNvdXJjZUVsZW1l
bnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJl
c3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3Nob3Vs
ZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4ZDdiNDhhOWJh
MjQxYjRjNDcxZDU3OWY1NWU4YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRiMmE1NjJmNmM2
NDVlYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTE3
OCw3ICsxNzgsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBz
IGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8g
cnVuIHRvIGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50
Ojpsb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAK
aW5kZXggOTU0MDUyNTA5ZWI3ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uNmZiZjQ2YTNm
NzU2NTQ4ZTFiMDMzYzBkOWYxMDY4YTUxNjQwZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlh
Q29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9j
ayhDbG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4
dCkKICAgICAsIG1fdGltZXVwZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hl
ZHVsZVRpbWV1cGRhdGVFdmVudCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQog
ewogfQogCkBAIC0xNDgsNyArMTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVu
dFRpbWUoKSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlk
VGltZSgpKSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lk
ZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6
bWF4PGRvdWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUo
KSkpOwotICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAg
IHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9s
bGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAg
IG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0
cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQoKQpAQCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVy
OjpyZXR1cm5Ub1JlYWx0aW1lKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGlj
IHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAi
MTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29u
c3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBhdXRvIG5vdyA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIGF1dG8gdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91
c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVu
dEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNkMi4uYTkx
OTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwot
ICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRpbWVJbk5l
eHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBmZmUuLmNkNjZkMjg0
MDU4MmZiNDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6bWVk
aWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBsZXQgdGhlIHBsdWdp
biBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhpcyAKICAgICAvLyBm
dW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBlbmdpbmUgY2FsbGJh
Y2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRoZSBlbGVtZW50LCBt
ZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVs
ZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNkYTMuLjNk
MjU4YjYyNjM1YTAzYjE5NThjNGM4Zjc4YTJmNGExY2U5MzI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50
Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNv
bnRlbnRDaGVja0ludGVydmFsID0gMjUwX21zOwogCiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRSZWN0
TW9zdGx5SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogc3RhdGljIGJvb2wg
aXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50
JiwgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlk
Q2hhbmdlKGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Np
b246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCVwKSAtIGhhc1Rhcmdl
dHMgJXMiLCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDogIkZBTFNFIik7CiAKICAgICBtX2hh
c1BsYXliYWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAgbV90YXJnZXRBdmFpbGFiaWxpdHlD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4
ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUs
NyBAQCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAg
IC8vIEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAg
IC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4y
IGZyb20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwog
fQogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBj
YmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFiMmE2ZDVkN2FmMzA5MjA4Y2I0Yjdi
ODI3N2EyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNz
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApA
QCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBl
bHNlCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZh
bGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1l
ci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBA
IC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFu
ZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkg
KiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
c3RkOjptYXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9u
IC8gMTAwMC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBWYWxpZGF0
aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogCiAgICAgLy8gV2UgbXVzdCBub3Qg
bW9kaWZ5IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQgYnkgdGhlIHNhbWUgcmVhc29uIGFz
IHNldE1lc3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRo
aXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgbV90aW1lci0+
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBi
b29sIFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9k
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgwNzU2MDU1ZTU5Njk3ZDg5MTZhZDM0
OTRhNjI0YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZlODJiMmQzMTA5MjJhOGM5ZWE5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citj
b25zdCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMV9zOwogY29uc3QgaW50
IG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2
NjYsNyArNDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRl
eHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMg
ZGVmZXIgdGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVu
dAogICAgIC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rp
c3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3Bh
dGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQpAQCAtNDY4Myw3
ICs0NjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9yZVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApAQCAtNTYxNCw3ICs1NjE0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZl
bnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIG1fcmVzdG9yZUFs
bG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIGlmIChtX2NvbnRleHRMb3N0
TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxsb3dlZCkKLSAgICAgICAgbV9y
ZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXli
ZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVmUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUobV9hdHRyaWJ1dGVz
LCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRl
eHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBtX3Jlc3RvcmVUaW1l
ci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgICAgICAg
ICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRz
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkgc2hvdWxkbid0IGhh
cHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUgV2ViR0wgYXBwLgog
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDI4MzM3
ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJlYTAyN2E5
MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBIVE1M
UGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAgIC8vIEZJ
WE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3Rl
YWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBh
Z2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2Vy
LmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVlTmV4dENo
dW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBi
b29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5nU2NyaXB0
KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVs
ZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9jb250aW51
ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAg
cmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBt
X2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVO
ZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWEx
ZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUuLjVlMjllNjdkY2ZiZmIyMGJjMjNi
ZjUwNDkxZjViNzg5ZWRiZTA0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlz
IHJlcXVpcmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVs
LAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0
aGUgYm90dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQg
dHJhbnNpdGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRv
Y3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6
IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5w
YWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAg
IG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTE4OCwx
MCArMTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkK
ICAgICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24gPSBkb2N1bWVu
dCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlP
cGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3Bh
cXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxF
bGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsK
KyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2Uo
KS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQ
cm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlU
cmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwor
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24s
IGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyArMTMz
Niw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0
aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFj
a3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRp
YUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9h
ZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRmNWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0MGYz
My4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcxZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcgKzU4
LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJs
KQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGls
ZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUg
Zm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1v
ZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdl
MjIzZGQ0MzZjMDdkNTFiNi4uNjY2Njk0NzVhMGJlY2UyNzcwODIxZDEzNmJhODAxOTdlNzc3Mzc3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9
IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocyku
Ci1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc2Nyb2xsVGltZSA9IDQzM19tczsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxU
aW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggM2Q1NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uNmI1NmMxOGYyYWRl
ZjI3NzFlY2RlMDlmN2Y0NzA3ZTdkMTBjOTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFu
Z2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZs
b3csIGludCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnRO
b2RlSWQpOwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxv
dyogbmFtZWRGbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHAKaW5kZXggODNhMDI0YmNkZGQyMTMwOTc4NzU5ODcyMjQxMjcxZTBhOGZiM2YwZi4u
OTEyNzI2MmFlODhhY2NiYjRlNGVlMWY4NjE3ZDlkMzJmNDFlOGNkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogewogICAgIG1fZWxlbWVudHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZXZhbGlkYXRlU3R5bGVB
dHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA4YTM1YTE3
OWViOGJmNTliNGJjMDk4ZGM2ZWRjOTBjZGUwZGEwNTkzLi41MThhYWRmN2QxMjI2OGE0N2Y4ZjJi
NTMwOWZjM2Y1NDFhZTg1MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC04MCw3ICs4MCw3IEBA
IHB1YmxpYzoKIAogICAgICAgICBtX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKTsKICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAg
ICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogICAgICAgICAgICAg
bV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKG1f
bWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9tZXNzYWdlcy5pc0VtcHR5
KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAKaW5kZXggNWZjYTMxMGQwMGFjMjFkYzdiNjFiZTBhOWZlMDU1YzhiN2Y3YWFkOC4u
MTg2ZTcwMGJkYTJlYjI4NjBlMTUzNDJjNDU2NDEyNTBkNTVkMGU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTA5LDggKzUwOSw4IEBA
IHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCiAgICAgbV9wYWludFJlY3RzLmFwcGVuZChUaW1lUmVjdFBhaXIocmVtb3ZlVGltZSwgcm9v
dFJlY3QpKTsKIAogICAgIGlmICghbV9wYWludFJlY3RVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzID0g
MC4wMzI7Ci0gICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFp
bnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyk7CisgICAgICAgIGNvbnN0IGF1dG8gcGFpbnRS
ZWN0c1VwZGF0ZUludGVydmFsID0gMzJfbXM7CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGlt
ZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAg
ICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2RjNzhkMTI0YWRjZTE4
YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgwMjEzNTg2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3Bw
CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBs
YXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMKIAogICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQog
ICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQt
PnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAgICAgICAgLnNldFF1
ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyZDNjZDk1MGUzMTg0Mzkz
N2I4YjcwNWQzMTc1NGIzOGFhMzNiODU5Li45MGNlZTYyNjZhYWFjOTE2YzZiMjllYzQ2YTlmMTQ2
ZDE2ZDY2NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0
YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQog
ewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kYXRhTG9hZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJTUVSKQogICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJhbWUtPnBhZ2UoKS0+
c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkoKQogICAgIGlm
IChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJkNTU0
Mzc3YjE2NDUyNGE0NmYwMDExYjYyOTNkNmMxODg5NTFlYzYuLmIzZjY0M2FhZjFlZjNkMjc0ZTQ3
YTNjMGI2NjBiMWRhNjM0YjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
OjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLjc3OWJm
NzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0g
JmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50
VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJiYjU3NWI0ZTUuLjJi
ZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwogCiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb0ZvcndhcmQo
KSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91cmwsIGRlbGF5
KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9y
d2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91
cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCkudmFs
dWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0b3BU
aW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBAIC0y
NzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsK
IAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0
dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVk
KG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVl
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGlt
ZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtNTM5
LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjllNmVhYjY1ZjU2ZTI0
ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNlNjI5ODU0ODJmZDg1
NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7
IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNz
SXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8vIENoZWNrIGlmIHRo
ZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55IGhlYXJ0YmVhdHMg
bXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRoZSBsb2FkIGlzIGN1
cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRTdGFsbGVkSGVhcnRi
ZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApp
bmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4Li5iMjY2YzMzMTNi
MmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIG1f
Y3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpAQCAt
MTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdpb25zUGFyc2VkKCkK
QEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFy
c2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYx
N2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMwOTAxYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGlt
ZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUg
dGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGY2ODBjYzRmOTVk
MmVmNjQ3NDQ4ZDU1OWM5ZWM4OWY0OTNhMDlhOTkuLjY2YTlmOGYxZmM0YmFkZTNkYmYwZDUxZmFk
NzdjY2JjMjZhNjNhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUp
CiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JS
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0
KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTQyLDcgKzU0Miw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBp
ZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hl
OjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkK
KyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTksNyArODE5LDcgQEAgaW5saW5lIENhY2hlZFJlc291
cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBDYWNoZWRS
ZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIoKnRoaXMsICZDYWxs
YmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJm
M2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNjNjEyYWE5ODZjZTQz
ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJm
b3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMg
YSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzku
LjkxMDA3NDcxMWQyNzE5OTg4YzMzZDI3MTMzMDIzNjgwZDA5MGUwODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9
IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVj
b2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1
bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hp
Y2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMg
Y29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJv
bm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNpbmds
ZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZSgp
CiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAgIGlmIChtX3BydW5lVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAgICAgIHJldHVybjsKLSAg
ICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4ZjI4MmJlNThkMTcwZC4u
NzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisgICAg
dm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRvIHB1
dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAgdm9p
ZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5OSw3ICsxOTksNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5EZWFk
Q2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CisgICAg
U2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25l
ZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBi
eSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRTaXpl
OyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIgcmVz
b3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAzMGY1ZjY5NGUzMGJiMmQu
LjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0
aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMgZXhwaXJl
IG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9uVGltZSA9
IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1OyAK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1X3M7CiAKIHN0YXRpYyBi
b29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3ZDMxNWVkZmJmOWM1MGUw
YTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFkZmI5NzcyMzQ0NGRlYmQw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKQEAg
LTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGRvdWJsZSBh
dXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBh
blNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1h
a2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAu
MDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1X3M7CiAK
ICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQuLjAw
MDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJl
bmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXgg
OThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNWQ2Y2Q0OTM4NDVjZGJl
ODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0
aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJp
bmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhv
ZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBv
cgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0g
ICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
U3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKaW5kZXggYTk2OWQ5NDhlN2UzOWMwMjY5YzVhMzBmZjljZDAxN2M5MmRk
OTU4Yy4uMzI0NzYxNzMwNTI4YjQ0MzAxMDc1ZGRmOTk5NjBhMWYzYmE0NDhkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGlu
ZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0IGF1
dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBtczsg
Ly8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IDFf
czsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
SW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDFfczsgLy8gRW1waXJp
Y2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMgY29uc3Qg
aW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJlU3RhdGUg
ewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1lcnNNYXA6
OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBib29sIHNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
LCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2Vy
R2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJldHVy
biBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICAgICAg
JiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcKICAgICAg
ICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJkZWQg
dG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVU
b2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVydmFsLCBp
bnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGlu
dGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE3NSwx
MiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVzZXJHZXN0
dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6OkRPTVRp
bWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwg
Ym9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihj
b250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZlbCgp
KQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5hbEludGVy
dmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkKICAgICAs
IG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkpCiAgICAg
LCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChp
bnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERPTVRpbWVy
Ojp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91dCwg
Ym9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBhc3NlcyBv
d25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNvbnN0cnVj
dG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21hdGljYWxs
eSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAgLTIxMCw3
ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVmZXJUaW1l
b3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAgICAgIGlm
ICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2luZ2xlU2hv
dCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IDEwMF9tcyAm
JiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShX
S0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9i
c2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlm
IG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3
LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3Bl
bmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRp
bWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7Cisg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGlt
ZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVl
KCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBp
bnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRU
aW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIx
IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VS
VChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhE
T01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20g
JSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhp
cywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFs
KTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBl
YXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwg
dGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1
cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVy
dmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxp
bmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVy
dmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90
dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50
VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2
YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9N
aW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAg
QVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1
dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0
byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAv
LyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9u
ZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBA
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1zdGQ6Om9wdGlvbmFsPHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBmaXJlVGltZSkgY29uc3QKK3N0ZDo6b3B0aW9uYWw8TW9ub3Rv
bmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lIGZpcmVUaW1l
KSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwgPj0gbWF4VGlt
ZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAwbXMpCisgICAg
U2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7CisgICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBfcykKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byBpbml0aWFs
aXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91
YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3Jj
ZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJl
dHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBlLmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRv
IHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVu
dEludGVydmFscywgZS5nLgogICAgIC8vIGlmIGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCBy
YW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAu
Li4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6
ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJh
bmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRG
aXJlVGltZSAlIGFsaWdubWVudEludGVydmFsKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9t
aXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRl
cnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uOworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRG
aXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0
ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChhZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVw
b2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50
ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OwogfQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggMzlhMDQ2
MWRhZWVlZTI1ZWFiYTMzOTk2ZTdhMGRjOGRkOTFhNjc4NS4uODI4YjY0YjAwOWJiMjIxOTE1ZWM3
YWRiYTZhYTc0OGUxYWY2NjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0
LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+
LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGlt
ZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5p
bXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAg
ICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50
ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWlu
aW11bUludGVydmFsKCkgeyByZXR1cm4gNF9tczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1
bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDBfczsgfQorICAgIHN0YXRpYyBTZWNvbmRz
IGhpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDFfczsgfQogCiAgICAgLy8g
Q3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgc3RhcnRzIGl0CiAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBp
bnQgaW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5n
bGVTaG90KTsKKyAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2
YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApA
QCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRl
cmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01U
aW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CisgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwog
ICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0
bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdT
dGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZFN0b3AoKSBvdmVycmlkZTsKLSAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25p
Y1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fdGltZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90dGxlU3RhdGUgbV90
aHJvdHRsZVN0YXRlOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9jdXJyZW50VGlt
ZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IG1f
dXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJv
dHRsZVN0YXRlIHsgVW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYTljMDNjNDcxOGY5ZTJiY2I0MGM4YzE2
ODI2YjllYzc1OWZmOTcxYi4uMjNjYTIzNzVmYzk1ZTc5YjA3ZjlhMjZiNzc3NmI4ZTRhNGRjODE5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTY0LDcgKzk2NCw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cmIGNhbGxlCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBh
dXRvKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBtZXNzYWdlLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBzb3VyY2VPcmlnaW4sIGNhbGxlcldpbmRvdywgY2hhbm5lbHMucmVsZWFz
ZVJldHVyblZhbHVlKCksIFdURk1vdmUodGFyZ2V0KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0g
ICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMTY1NCw3ICsxNjU0LDcgQEAgRXhjZXB0aW9uT3I8
aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwor
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBET01X
aW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4Niw3ICsxNjg2LDcgQEAg
RXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxT
Y2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgq
Y29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVv
dXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0MzA5NTYzNDk2MjJh
ZTJlMTlmZDViNzYwMzg1Yzk1OTA0Y2MuLmVmZWYzNmJhMGY3OTIxOTk5NjI3ODU1NGEyYTk1OGI1
OGM2MWU1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcApAQCAt
NDgsNyArNDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVu
ZXIoRE9NV2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkpIHsKICAgICAgICAg
bV9sYXN0RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlmICghbV90aW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhNzU0MjdjYTQ2YzcxZjll
NjEzNDM3YWYwOTdhM2VkYWIxYjdlZDFiLi5lOTMzYmI0ZTRiNTY1MGY1MTBiZmMwMDg1NjkyYzU3
NTk3ZTM5NTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUg
KzE1NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRp
bWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAog
Ly8gZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29u
dGVudCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVy
YXRpb25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVz
ZWQuCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsK
LWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRv
dWJsZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFr
ZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMV9zOworY29uc3QgU2Vjb25kcyBmYWtl
TW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlTG9uZ0ludGVydmFsID0gMC4yNV9zOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NV
UFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRl
IG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8g
YmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBj
dXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUlu
dGVydmFsID0gMC4wMl9zOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNpemUgPSAxMjg7CiAj
ZW5kaWYKQEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNzIE1heGltdW1EdXJh
dGlvblRyYWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNr
ZXIoZG91YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyKFNlY29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVyYXRpb24obWF4RHVy
YXRpb24pCi0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
KyAgICAgICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgIHsKICAgICB9CiAK
ICAgICB+TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAgICAqbV9tYXhEdXJh
dGlvbiA9IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3RkOjptYXgobV9tYXhE
dXJhdGlvbiwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBtX3N0YXJ0OworICAg
IFNlY29uZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0OwogfTsK
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykK
QEAgLTQ2Myw3ICs0NjMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogICAgIG1fb3Jp
Z2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1fb3JpZ2luYXRpbmdU
b3VjaFBvaW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0
aW9uID0gMDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDBfczsKICAgICBtX2Jhc2VF
dmVudFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBm
YWxzZTsKIH0KQEAgLTE4MjEsNyArMTgyMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1v
dmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBw
cm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3Io
bV9mcmFtZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25U
cmFja2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlciBtYXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAg
aWYgKG1fZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91
c2VFdmVudChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjkwMiw3ICsyOTAyLDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQg
RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9o
b3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVO
QUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDli
Y2FjNzJjN2UyMTYzMjEwOTE1ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUz
YjM2ODliNmEyZDUyYTY5NDg4ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtNTcwLDcgKzU3MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAg
fTsKKyAgICBTZWNvbmRzIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZl
bnQ6OlR5cGUgbV9iYXNlRXZlbnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAg
Ym9vbCBtX2RpZFN0YXJ0RHJhZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVl
bEV2ZW50IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggZDU1
NTVlZDJjMGZiNTdiOTYzYjdiNjAwMjE5ODcxNzEyNmY2NWZkNy4uYjdhMDRmNDg1Zjg5YzhjODlk
Y2RmY2ZhZWQxZDE5M2E5ZmRjOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRf
dCBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29u
ZHMgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDNfczsKIAogaW5saW5lIEV2
ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBVUkwmIHVybCwgY29uc3QgSW5pdCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQpAQCAtMTMyLDEzICsxMzIsMTMgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVD
VElORyk7CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBtX2Nvbm5lY3RU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKICAgICBt
X3N0YXRlID0gQ09OTkVDVElORzsKLSAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9y
ZWNvbm5lY3REZWxheSAvIDEwMDAuMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90
KG1fcmVjb25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZAogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAyYmUzZjlmMWI3NWQzOWQ1M2IyZmUzOTEyOTNmNThj
YzBmMTgyNzgyLi5hNGU3ZGQ5YWM0NzQzMzFjOGI3ZTNmZWE3NjNmMDE3ZTI3YzYzMGE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uNzJjMzM5
MTdmN2ZiYjJiM2NmOGM4MWEwZGEwOGRiMGU0NzUwNDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzNfcyk7CiB9CiAKIHZv
aWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggMzkxNDEyZTVmNDgwYWQ2ZDNjYjVkYzQ3NjE4MGY1ZGNhNWYzNWJlNy4uYzE5
NjkzN2IzYjg1MDRlNWYzOWE0NmRjYTlmMzJkMmZiNzg1OTlmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWduZWQgc2Nyb2xs
RnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsRnJlcXVl
bmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xP
QkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODA2MWI3NTE0ZDk2NmQ2YzcyNTJmZDAy
ZWMzY2RkMTA4NjEyMTJmOS4uOTIxODhjYjhkMjZhZTYxNmVjODhlNTIxNTc2YzY0ZDg2ZjY2NjIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYwLDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIC8vIGRl
ZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlciB3ZSByZXR1
cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1cyBuZWVkIHRv
IHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBjeWNsZSB1bmxl
c3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIgaGVyZS4KLSAg
ICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
ICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAg
ICB9CkBAIC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAg
ICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2
ZW50KCk7CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJv
dHRsaW5nRGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZl
YWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29u
dGVudFJlY3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw4ICsyODQxLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3Nw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIC8vIERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dl
ciBmdXJ0aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKLSAgICBtX3NwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkp
OworICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3QoMC41X3Mp
OwogfQogCiB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVk
KCkKQEAgLTM0MzEsNyArMzQzMCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91
dFRhc2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIu
CiAgICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0
ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
MGE3Mzk3OTg2MjQ2Yzc4MWE4Y2E5YjcxMjM1ZjAyNGZmOTQ3YzFkMC4uMTdlOWEzMDdlYTJlNWU1
YTcwMTBkM2UyNDVmMTkxMGJhODhjNWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcg
KzEyNDMsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0
bGluZ1N0YXRlIHN0YXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGlu
Z1N0YXRlID0gc3RhdGU7Ci0gICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVw
ZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAg
dm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBz
dGF0ZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsK
ICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAg
LTEyODQsOCArMTI4NCw4IEBAIHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpCiAgICAgICAgIGlmIChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFs
aWdubWVudEludGVydmFsID0gbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZS50aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPihzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJv
dHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVu
dEludGVydmFsID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRl
TGFzdENoYW5nZWRUaW1lOwogICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0
LCBzZXQgdGhlIHRpbWVyLiBJZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBp
ZiAobV90aW1lckFsaWdubWVudEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5j
cmVhc2VMaW1pdCkKICAgICAgICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAyMjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2ZWQ2ZGVlMTI0YjRi
Li4zNWZhNTExMWEwYjI2MWJjNGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjI1LDcgKzIyNSw3IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dy
ZXNzKCkgY29uc3QgeyByZXR1cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRy
b2xsZXImIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9s
bGVyOyB9CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAg
ICBTZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElB
KQogICAgIGVudW0gVmlld01vZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNob3dBbGxQbHVnaW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0g
c2hvd0FsbDsgfQogICAgIGJvb2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRv
bWF0aW9uOyB9CiAgICAgdm9pZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJv
bGxlZCkgeyBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02Njcs
MTAgKzY2NywxMCBAQCBwcml2YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01F
RElBKQogCiAgICAgVGltZXJUaHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7
IFRpbWVyVGhyb3R0bGluZ1N0YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSB7IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBN
b25vdG9uaWNUaW1lIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAg
U2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdu
bWVudEludGVydmFsSW5jcmVhc2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25k
cyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lz
RWRpdGFibGU7CiAgICAgYm9vbCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcAppbmRleCBlNzBiY2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5l
OTAyYjAyNThkMWUxODlhNjAwMzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRp
YyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZmFkZUFuaW1hdGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0
YXRpYyBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQog
ewpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0
aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9m
YWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRp
b25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAg
bV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFs
KTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEyZDVhMWZiY2RhYzdm
YTFiN2RlYzVkLi5lYjhmODE5NDU0MWFjZTg2NTlmZDUwMjNkYmFjNDJmNjRkZmM3MDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY5LDE1ICsxNjksMTUgQEAgc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlVG9M
b2FkVmlkZW8gPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgZG91YmxlIGRl
ZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7
CisKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKIHN0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYK
Kwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5h
YmxlZCA9IGZhbHNlOwogCkBAIC0yMTEsNyArMjExLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBh
Z2UqIHBhZ2UpCiAgICAgLCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2Vu
ZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0g
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisg
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykK
ICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjpp
bWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoZmFsc2UpCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5n
czo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGlt
cG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRo
ZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8g
cmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBt
b3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1h
Z2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBw
cmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElG
cmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGRO
b3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRN
aW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKQEAgLTQ1
Nyw3ICs0NTcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKQogCiAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50
cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwob2xkVGlt
ZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11
bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhvbGRUaW1lckludGVydmFsKSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdlZmUwZWVkOTFhMDQwMDlhZTE1N2Q1NDM2Nzg5
YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNkMmE0NzA0NjNkNTNmZmYwYmYwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAg
IGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1f
bmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFs
aXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMg
bWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91dEludGVydmFs
KFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJ
bkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KLSAgICBkb3VibGUgdGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVy
biBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CisgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNv
bmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpAQCAtMzI2LDcgKzMyNiw3
IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxp
ZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJs
b2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIFNlY29uZHMgbV9sYXlv
dXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwogCiAg
ICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0
ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
IDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1l
cjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFhYWE2YWU0
YmM1ZGZkZDQ2YjI0YzU3NjQzNS4uMjg3NjI4NmM4YzA3MThmODM2MmRhYmMxNWYyYmYzZDQxMWQw
ZjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMywx
MCArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3Bl
bmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
YXZlZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCgwKQot
ICAgICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcsNyBAQCB2
b2lkIFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVkID0gZmFs
c2U7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhTZWNv
bmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3ICsxMDgs
MjcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hv
dChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChT
ZWNvbmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zYXZl
ZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBpbnRl
cnZhbDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gMF9zOwogICAgIH0KIH0KIAotZG91YmxlIFN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKK1NlY29uZHMgU3VzcGVuZGFibGVUaW1lcjo6cmVw
ZWF0SW50ZXJ2YWwoKSBjb25zdAogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIHJl
dHVybiBUaW1lckJhc2U6OnJlcGVhdEludGVydmFsKCk7CiAgICAgaWYgKG1fc2F2ZWRJc0FjdGl2
ZSkKICAgICAgICAgcmV0dXJuIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMF9zOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50Rmly
ZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAg
ICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3
LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUg
ZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zYXZlZElzQWN0aXZlID0gdHJ1ZTsKICAg
ICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBkZWx0YTsKLSAgICAgICAgbV9zYXZlZFJl
cGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMF9zOwog
ICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1l
ckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcwOTM3ODUwYTNhNjkwMWY3MjBjNWRlMWY2MDk5
MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4NTU1MTc4MWEwMzY1ZDE5MzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00MywxNyArNDMsMTIgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZl
KCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3Vz
cGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKTsKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwotICAg
IHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpOwotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGlu
dGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3Q7CiAKLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwp
IHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZv
aWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3Rh
cnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhy
ZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29u
ZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRz
KGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAKICAgICB1
c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsOwogICAgIHVzaW5nIFRp
bWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEsMTEgKzY2LDExIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1l
KCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVuZGVkOworICAgIFNlY29uZHMgbV9zYXZlZE5l
eHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7CiAKLSAg
ICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7Ci0gICAgZG91YmxlIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZTsKKyAgICBib29sIG1fc3VzcGVu
ZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZl
bnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNl
Mzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2JmZTViODNlMmY1ZjljMDJiY2E0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3Rh
cnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1f
dGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIu
c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRl
c3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXgg
OWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgxZGFkMmY3NWNlZC4uYTg1YmFhYTg5NjNjNmVi
MGM0ZmMzMWQ3YTQzOTUzZThmZmYyZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTQ4LDggKzQ4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNBbmltYXRpb25U
aW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNCZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRpYyBjb25zdCBhdXRvIGFuaW1hdGlvblRpbWVy
RGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsKK3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRh
dGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3ICs3MSw3IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSYgZnJhbWUpCiAgICAgOiBt
X2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCp0
aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKKyAgICAsIG1fYmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAg
ICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCgwKQogICAgICwgbV93YWl0aW5nRm9yQXN5
bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCkBA
IC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qCiAKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0g
MDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlOwogCiAgICAgY29uc3QgQ29tcG9zaXRl
QW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0
KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21wb3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkg
JiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNBbmltYXRpb25zKCkpCi0gICAgICAgIHRpbWVUb05l
eHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOworICAg
ICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHMoY29tcG9zaXRlQW5pbWF0aW9uLT50aW1l
VG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkg
JiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSB8fCBtX2FuaW1hdGlvblRpbWVy
Lm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1lVG9OZXh0U2VydmljZSkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYKIAogdm9pZCBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0Q2hhbmdl
ZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hhbmdlZCovKQogewotICAgIGRvdWJs
ZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpOwor
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZlcnQgcmVzdCBvZiBhbmltYXRpb25zIGNvZGUgdG8g
U2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4KKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNl
ID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKSk7CiAKLSAgICBMT0co
QW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAl
LjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOworICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5p
bWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUuMmZtcyIsIHRpbWVUb05leHRTZXJ2
aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAgIC8vIElmIHdlIHdhbnQgc2VydmljZSBpbW1lZGlh
dGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcgdGltZXIgdG8gcmVkdWNlIHRoZSBvdmVyaGVhZCBv
ZiBzdGFydGluZwogICAgIGlmICghdGltZVRvTmV4dFNlcnZpY2UpIHsKLSAgICAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRl
cnZhbCgpID09IDApCi0gICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5n
KGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlz
QWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAg
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoYW5pbWF0aW9uVGltZXJEZWxheSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHNlcnZp
Y2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSB0aW1lciBpcyBubyBsb25nZXIgcnVubmluZwot
ICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDApIHsKKyAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwX3MpIHsKICAgICAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgICAgICByZXR1cm47CkBAIC0y
MjIsNyArMjIzLDcgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6ZmlyZUV2ZW50
c0FuZFVwZGF0ZVN0eWxlKCkKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0
VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKQogewogICAgIGlmICghbV91cGRhdGVTdHls
ZUlmTmVlZGVkRGlzcGF0Y2hlci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVN0eWxlSWZO
ZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVTdHlsZUlm
TmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4g
ZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiBy
ZW5kZXJlciwKIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
KTsKLSAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0g
YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJu
IG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsK
ICAgICBpZiAoIW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAg
ICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMy
Njg5OTAzNjNjNGZkMGY2ZDE2YTI3MWUzNjkuLjM3OGRlYjBiMTdmYWFlZGNiNTgzOGI2OGJmN2Nl
NzI5ZTBmM2E1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0KQEAgLTc4LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRj
aGVkU3RhdGVEZWxheSA9IDAuMV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJy
ZW50TlNFdmVudFNsb3QoKQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRm
b3JtV2hlCiAgICAgLy8gcmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3Ag
dGhlIHRpbWVyLCBsZWF2aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAo
IW1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAg
IGlmIChldmVudC5pc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVu
ZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3Rh
dGVUaW1lb3V0KTsKKyAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1l
ci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgLy8gSWYgYW5vdGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRo
ZSB0aW1lciBtYW51YWxseSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5
LgogICAgICAgICBpZiAoZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5k
ZXggNTVlNGQ2NTk1ZWViNjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZh
ZTdhMWU3MjdjOTQ0ZGVkZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAg
ICBib29sIG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVy
QnV0dG9uKSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vj
b25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCop
IGNvbnN0OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwog
CiAgICAgc3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0
KiBhLCBjb25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAK
ICAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFu
Z2VUaW1lOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0
U2VsZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAog
ICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0
OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1
OTY0OTliZGY2MTZlZDQyMTFiOWE1MjM4MTVlNjIuLmU4ODQ5Mjk0NmE1YmFlZTE2OTRlMDRjNTI2
NzY5NzQ0ZWI5NGVlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9y
PExheW91dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBt
X2lzVGV4dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dp
dGhHYXBSZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEs
NyArMzkxLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGln
aGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpidWlsZFBv
dGVudGlhbEhpZ2hsaWdodHNJZk5lZWRlZCgpCkBAIC00MzMsMTUgKzQzMywxNSBAQCBib29sIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYg
aGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBob3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNv
bmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFo
aWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAg
ICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAwbXM7Cisg
ICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDAuMl9z
OwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0aW9uKCku
c2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAgbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAgIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMV9zOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQg
PSBtX21haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5tb3VzZVByZXNzZWQoKTsKIApAQCAtNDQ5LDE1
ICs0NDksMTQgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICAvLyBieSB2aXJ0dWUgb2Yg
YmVpbmcgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgZW50aXJlIHRlbGVwaG9uZSBudW1iZXIuIEhv
d2V2ZXIsIHdlIHdpbGwgc3RpbGwgYXZvaWQgaGlnaGxpZ2h0aW5nCiAgICAgLy8gdGVsZXBob25l
IG51bWJlcnMgd2hpbGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgaWYgKGhpZ2hsaWdodC0+dHlw
ZSgpID09IEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSkKLSAgICAgICAgcmV0dXJuIG1v
dXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMG1z
OworICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24gOiAwX3M7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAg
ICAgYXV0byB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0
aW9uQ2hhbmdlVGltZTsKICAgICBhdXRvIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9
IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2lu
Y2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBU
aW1lOworICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwX3Mg
OiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsKIAotICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBt
aW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWlu
KHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFj
dGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1
cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOwor
ICAgIHJldHVybiBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6
bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hs
aWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVk
KCkKQEAgLTcyMyw3ICs3MjIsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAv
LyBoaWdobGlnaHQsIGFuZCBvbmx5IHJlc2V0IHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVz
aXMgd2hlbiB0aGF0IGNoYW5nZXMuCiAgICAgICAgIGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQg
IT0gbmV3QWN0aXZlSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHQgPSBuZXdBY3RpdmVIaWdobGlnaHQ7Ci0gICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAg
ICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hs
aWdodCA9IG51bGxwdHI7CkBAIC03MzQsNyArNzMzLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3Rp
dmUKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
U2hvdWxkQmVTaG93biA9IHRoaXMtPnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24obmV3QWN0aXZlSGlnaGxpZ2h0LmdldCgpKTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
OjpkdXJhdGlvbjo6emVybygpKSB7CisgICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID4gMF9zKSB7CiAgICAgICAgICAgICBtX2RldGVybWluZUFjdGl2
ZUhpZ2hsaWdodFRpbWVyLnN0YXJ0T25lU2hvdChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNzY2LDcg
Kzc2NSw3IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVudChQYWdl
T3ZlcmxheSYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVuCiAgICAgICAgIFJlZlB0cjxIaWdobGln
aHQ+IG1vdXNlRG93bkhpZ2hsaWdodCA9IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxw
dHI7CiAKLSAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKIAogICAgICAgICBpZiAobW91c2VJc092ZXJBY3RpdmVIaWdobGlnaHRCdXR0b24gJiYg
bW91c2VEb3duSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBoYW5kbGVDbGljayhtX21vdXNlUG9z
aXRpb24sICptb3VzZURvd25IaWdobGlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTRlMjBkMjI3NjhjODgyZTkwMGIxMmI0MWZl
MDJlY2RmYjQ4ZjYyOC4uNTA0NGVhZjYyMDRhM2JjMmI4ZGRlNmFlNGE4NTk5YWI1MTE2YjFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCkBA
IC00NzUsNyArNDc1LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5kaWNh
dG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21fdGV4
dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dEluZGlj
YXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4dElu
ZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAgICAg
IG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHRpbWVC
ZWZvcmVGYWRlU3RhcnRzKSk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmNmU1NDZiOTg3MWM5MDgwNGJiNTc4
MTMwNWUxNDNjZWUyMWVjODk2Li44MWMzMDE0ZmE2NTI1ZTFmNmZkZjdkM2UwYzM2ZGNkMjI3NjI0
ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVy
QXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUgPSBz
Y3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3Jv
bGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi5lZDFk
N2Q2MTM5ZjIwNTJiNGJkOGExNjg1NzUwN2Q2MTI4ZjA0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21t
aXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUz
ZjQwZDYwMTQ0ZDA5NGY2ODUzNWY0MTM0ODhmYzRmOTMwOGY2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFi
NDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4uMzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5
NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBl
bmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZCht
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigp
LmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rp
c3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUyYTc0ODMwOWUwNjI4MjBlZGM4
MjM5ODBjMGIyZTEuLmFkNGViNzdhZTU3YmUzMmIzOTM3OGYzODMwOTliOTNkNDU4YWY3ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0zMCw3
ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBEZWZh
dWx0SHlzdGVyZXNpc0ludGVydmFsID0gNV9zOwogCiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lz
U3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewogcHVibGljOgotICAgIGV4cGxp
Y2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRl
KT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNT
ZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVz
aXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sg
PSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBE
ZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAg
ICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwg
bV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rp
dml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAgICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAg
ICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRv
dWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCmluZGV4IGM4
ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2NGVlNzYuLjBlNjVhN2IxMTMwNmIwYTdj
NTJiY2I1ZTJiMDk2MGRhYzk3OWMyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAtNDI0LDcgKzQyNCw3IEBAIHZvaWQgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIpCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3Rh
cnROZXh0VGltZXIoZG91YmxlIGRlbGF5KQogewotICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KGRlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5KSk7CiB9CiAjZWxzZQogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4
dFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDg4MTgxZDMw
NTdmNDY4OTRkZmViOWE5NzdhNTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1MzVlNzk4YTBk
MGU4MDBlMzhiZjZkOTQyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApA
QCAtMTgzLDcgKzE4Myw3IEBAIHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShTY3JvbGxiYXIq
IHNjcm9sbGJhcikKICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPj0gdGh1bWJQ
b3MgJiYgc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1iTGVuZ3RoOwog
fQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkK
K3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSkKIHsK
ICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5vdGhpbmcgd2Fz
IHByZXNzZWQuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8IG1fcHJlc3Nl
ZFBhcnQgPT0gTm9QYXJ0KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjphdXRv
c2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRpbWVySWZOZWVk
ZWQoZGVsYXkpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJs
ZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxh
eSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgogICAgIGlmICht
X3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNjcm9s
bGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAg
bV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIFNj
cm9sbGJhcjo6c3RvcFRpbWVySWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
aAppbmRleCBmODZhOTYyYWZlMDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFhLi5hMjM2Yzdl
OGViMTI3YWVhMzc1NjUyM2ViZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaApAQCAtMTQ0LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZp
cmVkKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKKyAgICB2
b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1l
cklmTmVlZGVkKCk7Ci0gICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5
KTsKKyAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KTsKICAgICBT
Y3JvbGxEaXJlY3Rpb24gcHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAgICBTY3JvbGxH
cmFudWxhcml0eSBwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2JhNGEwZTNhMGRm
YjQ3NjFkZDRhNjU3NWVkYmMuLmZkYzVmOGQ1ZDY0NWRmMzJmNjAyOTFmNTQ2MGJlNTkzMmRkYzQ4
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMTA1LDgg
KzEwNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFn
ZXMoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9CiAKLSAgICB2
aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1
OyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAw
LjA1OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IHsgcmV0dXJuIDAuMjVfczsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIHsgcmV0dXJuIDAuMDVfczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Ny
b2xsYmFyKFNjcm9sbGJhciYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xs
YmFyKFNjcm9sbGJhciYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNTkxMTk3OGFl
ZWMxOGYwODNmZGJmODVmMWFmM2VkMjQxNzkwMTE2NS4uODczNTk0MmZiNjkwNTk2NDRjNGZhZWNi
OTQ0NDI2YWUyZmYyMTZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250
LCBGb250RGVzY3JpcHRpb24mKSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAg
CiAgICAgLy8gSG93IGZhc3QgdGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2
aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
MC41X3M7IH0KIAogICAgIC8vIE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdl
ZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCmluZGV4IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFh
MTBmY2ZkYmNhNDQuLjZhMTg3N2YxMzZmZTE3OWMxODMzZGRjMDRlN2IyNjcxYjc5YmYyMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBA
QAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgog
CiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcg
KzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVu
Z3RoIG9mIHRpbWUsIGFuZCB0aGVuIHF1aXQgdG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVz
ZXIgaW5wdXQgZXZlbnRzLgogLy8gMTAwbXMgaXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBp
biBVSSwgc28gdXNlIGEgaGFsZiBvZiB0aGF0IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0
byBwcmV2ZW50IFVJIGZyZWV6ZSB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFj
aGluZSBwZXJmb3JtYW5jZSBpcyBsb3cuCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSA1MF9tczsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVk
IGFuZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93
biBUaHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3Vy
cmVudGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJl
YWRUaW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMo
ZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYg
KGlzVUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRU
aW1lcjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6
c2V0U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJl
ZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0
cik7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hh
cmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSB7IH07CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFyZWRUaW1lcjsK
QEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIo
KQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1RpbWVycyB8fCBt
X3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJl
VGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAg
ICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3Vi
bGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7Ci0g
ICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOworICAgICAgICBhdXRvIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0
KCktPm1fbmV4dEZpcmVUaW1lOworICAgICAgICBhdXRvIGN1cnJlbnRNb25vdG9uaWNUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lKSB7CiAgICAgICAgICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlm
IGJvdGggdGhlIHBlbmRpbmcgZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4g
dGhlIHBhc3QuCiAgICAgICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8
PSBjdXJyZW50TW9ub3RvbmljVGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25p
Y1RpbWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJl
ZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBj
dXJyZW50TW9ub3RvbmljVGltZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRG
aXJlSW50ZXJ2YWwoc3RkOjptYXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90
b25pY1RpbWUsIDBfcykpOwogICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBU
aHJlYWRUaW1lcnM6OnNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5n
VGltZXJzKQogICAgICAgICByZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAg
IG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRp
bWVyRmlyZVRpbWUgPSB7IH07CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4
RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKKyAgICBhdXRvIGZpcmVUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CisgICAgYXV0byB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9m
RmlyaW5nVGltZXJzOwogCiAgICAgd2hpbGUgKCFtX3RpbWVySGVhcC5pc0VtcHR5KCkgJiYgbV90
aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRpbWUpIHsKICAgICAgICAg
VGltZXJCYXNlKiB0aW1lciA9IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0gICAgICAgIHRpbWVyLT5t
X25leHRGaXJlVGltZSA9IDA7Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZSA9IDA7CisgICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsK
KyAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgICAgICB0aW1lci0+aGVhcERlbGV0ZU1pbigpOwogCi0gICAgICAgIGRvdWJsZSBpbnRl
cnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwotICAgICAgICB0aW1lci0+c2V0TmV4dEZp
cmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDApOworICAgICAgICBTZWNv
bmRzIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7CisgICAgICAgIHRpbWVyLT5z
ZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogTW9ub3Rvbmlj
VGltZSgpKTsKIAogICAgICAgICAvLyBPbmNlIHRoZSB0aW1lciBoYXMgYmVlbiBmaXJlZCwgaXQg
bWF5IGJlIGRlbGV0ZWQsIHNvIGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0IGFmdGVyIHRoaXMgcG9p
bnQuCiAgICAgICAgIHRpbWVyLT5maXJlZCgpOwogCiAgICAgICAgIC8vIENhdGNoIHRoZSBjYXNl
IHdoZXJlIHRoZSB0aW1lciBhc2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBhIG5lc3RlZCBldmVudCBs
b29wLCBvciB3ZSBhcmUgb3ZlciB0aW1lIGxpbWl0LgotICAgICAgICBpZiAoIW1fZmlyaW5nVGlt
ZXJzIHx8IHRpbWVUb1F1aXQgPCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAg
ICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgTW9ub3RvbmljVGltZTo6bm93
KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lk
IFRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIAogICAgIGlmICht
X3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPmludmFsaWRhdGUoKTsKLSAg
ICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGlu
Z1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGlt
ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIx
ZTgyNjY2MmU5YWJiMzA0ZTM4M2YxN2IxZTcyOWE5Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2
ZWM2OTE3MzlhODkwM2EwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFk
VGltZXJzX2gKIAorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGlt
ZXJIZWFwOwogICAgICAgICBTaGFyZWRUaW1lciogbV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwg
b2JqZWN0LCBjYW4gYmUgYSBydW4gbG9vcCBvbiBhIHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNl
dC9yZXNldCBieSB3b3JrZXIgdGhyZWFkLgogICAgICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAv
LyBSZWVudHJhbmN5IGd1YXJkLgotICAgICAgICBkb3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJG
aXJlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVU
aW1lOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZl
N2NjNTU4OTEyOTQ3NDYzOTc2ZDhkMTg1ZjkxMTE0YmJhLi44ODg0YTE0NjVmNGQ2ZjI4M2RhOWI3
ZTkyMTU3MTg3ODVkZDlmNjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIs
OCArMTcyLDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0
b3IoKShjb25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFy
aXNvbnMgYmVsb3cgYXJlICJiYWNrd2FyZHMiIGJlY2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFy
Z2VzdCAKICAgICAvLyBlbGVtZW50IGZpcnN0IGFuZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0
byBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBoZWFwLgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBh
LT5tX25leHRGaXJlVGltZTsKLSAgICBkb3VibGUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRp
bWU7CisgICAgTW9ub3RvbmljVGltZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAg
ICBNb25vdG9uaWNUaW1lIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChi
RmlyZVRpbWUgIT0gYUZpcmVUaW1lKQogICAgICAgICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVU
aW1lOwogICAgIApAQCAtMTg2LDExICsxODYsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNz
VGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQog
Ly8gLS0tLS0tLS0tLS0tLS0tLQogCiBUaW1lckJhc2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25l
eHRGaXJlVGltZSgwKQotICAgICwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1f
cmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1faGVhcEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRU
aHJlYWRHbG9iYWxUaW1lckhlYXAoMCkKKyAgICA6IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9j
YWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAobnVsbHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAg
LCBtX3RocmVhZChjdXJyZW50VGhyZWFkKCkpCiAgICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBA
IC0yMDcsMzIgKzIwNCwzMiBAQCBUaW1lckJhc2U6On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAK
LXZvaWQgVGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKICAgICBtX3JlcGVhdEludGVydmFs
ID0gcmVwZWF0SW50ZXJ2YWw7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpICsgbmV4dEZpcmVJbnRlcnZhbCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1v
bm90b25pY1RpbWU6Om5vdygpICsgbmV4dEZpcmVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJC
YXNlOjpzdG9wKCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhy
ZWFkKG1fdGhyZWFkKSk7CiAKLSAgICBtX3JlcGVhdEludGVydmFsID0gMDsKLSAgICBzZXROZXh0
RmlyZVRpbWUoMCk7CisgICAgbV9yZXBlYXRJbnRlcnZhbCA9IDBfczsKKyAgICBzZXROZXh0Rmly
ZVRpbWUoTW9ub3RvbmljVGltZSgpKTsKIAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAw
KTsKLSAgICBBU1NFUlQobV9yZXBlYXRJbnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4
dEZpcmVUaW1lKTsKKyAgICBBU1NFUlQoIW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VSVCgh
aW5IZWFwKCkpOwogfQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29u
c3QKK1NlY29uZHMgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBB
U1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICBpZiAobV9uZXh0RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBj
dXJyZW50OwogfQogCkBAIC0yNDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6
OmNoZWNrSGVhcEluZGV4KCkgY29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25z
aXN0ZW5jeSgpIGNvbnN0CiB7CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBp
ZiBhbmQgb25seSBpZiB0aGV5IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBB
U1NFUlQoaW5IZWFwKCkgPT0gKG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5I
ZWFwKCkgPT0gISFtX25leHRGaXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBj
aGVja0hlYXBJbmRleCgpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkK
IHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZp
cmVUaW1lKTsKICAgICBjaGVja0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRh
ID0gdGltZXJIZWFwKCkuZGF0YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvciho
ZWFwRGF0YSksIFRpbWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwg
VGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRp
bWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFw
RGVsZXRlKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92
ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGlu
ZSB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVs
ZXRlTWluKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJl
bW92ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZv
aWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpo
ZWFwSW5jcmVhc2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAg
ICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVh
c2VLZXkoKTsKIH0KQEAgLTI5Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6Omhl
YXBJbnNlcnQoKQogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBU
ZW1wb3JhcmlseSBmb3JjZSB0aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdl
IGNhbiBwb3AgaXQuCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAg
bV9uZXh0RmlyZVRpbWUgPSAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
OworICAgIE1vbm90b25pY1RpbWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25l
eHRGaXJlVGltZSA9IC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFz
ZUtleSgpOwogICAgIGhlYXBQb3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1l
OwpAQCAtMzQ3LDcgKzM0NCw3IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlv
bigpIGNvbnN0CiAgICAgcmV0dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwg
Y2hpbGRJbmRleDEpICYmIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJ
bmRleDIpOwogfQogCi12b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKQordm9pZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1l
IG9sZFRpbWUpCiB7CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0
aW9uKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFz
ZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFw
KCkgfHwgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXRO
ZXh0RmlyZVRpbWUoZG91YmxlIG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVU
aW1lKE1vbm90b25pY1RpbWUgbmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFk
TG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQp
OwpAQCAtMzc5LDExICszNzYsMTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShk
b3VibGUgbmV3VGltZSkKICAgICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAm
dGhyZWFkR2xvYmFsVGltZXJIZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUg
Y2hhbmdpbmcgdGhlIG5leHQtZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0
RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAg
ICAgLy8gRG9uJ3QgcmVhbGlnbiB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkg
ewotICAgICAgICBpZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNv
bmRzVG9NUyhuZXdUaW1lKSkpCi0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3
QWxpZ25lZFRpbWUudmFsdWUoKSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0g
YWxpZ25lZEZpcmVUaW1lKG5ld1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWdu
ZWRUaW1lLnZhbHVlKCk7CiAgICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpA
QCAtNDE2LDEwICs0MTMsMTAgQEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudElu
dGVydmFsKCkKICAgICBzZXROZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwog
fQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QK
K1NlY29uZHMgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lIC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAg
cmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6
bm93KCksIDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCmluZGV4IDUyYTE2NmViYTJkMjMxOWQxNWExYjdlZDkwODJiNmIxNDMzZjNiMjQuLjMw
ZmQyMmQ5OGIwMmVlZDUxNjMwYTdiNmY4ZTVmNTYyZTk4ODdjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUg
PGZ1bmN0aW9uYWw+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgpAQCAtNDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7
CiBjbGFzcyBUaW1lckJhc2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlu
bGluZSBkb3VibGUgbXNUb1NlY29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlv
bikgeyByZXR1cm4gZHVyYXRpb24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGlu
ZSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikg
eyByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kczo6cmVwKShkdXJhdGlvbiAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgVGltZXJCYXNlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNl
KCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVy
dmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVy
dmFsKTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRl
cnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7
IHN0YXJ0KGludGVydmFsLCAwKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVy
dmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0
KGludGVydmFsLnZhbHVlKCksIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRz
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVy
dmFsLCAwX3MpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKICAgICBib29s
IGlzQWN0aXZlKCkgY29uc3Q7CiAKLSAgICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0
OwotICAgIGRvdWJsZSBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91
YmxlIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQot
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsg
cmV0dXJuIHNlY29uZHNUb01TKHJlcGVhdEludGVydmFsKCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21l
bnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJl
VGltZSArIGRlbHRhKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICBTZWNvbmRzIG5leHRG
aXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2
YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
bV9yZXBlYXRJbnRlcnZhbDsgfQogCi0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91
YmxlIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFs
ICs9IGRlbHRhOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEp
IHsgYXVnbWVudFJlcGVhdEludGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZp
cmVUaW1lICsgZGVsdGEpOyB9CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25k
cyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCAr
PSBkZWx0YTsgfQogCiAgICAgdm9pZCBkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBA
IC04OCwxNyArNzQsMTcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmly
ZWQoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0
IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb25v
dG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3QgeyByZXR1cm4g
c3RkOjpudWxsb3B0OyB9CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAg
ICB2b2lkIGNoZWNrSGVhcEluZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGlt
ZShkb3VibGUpOworICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAg
ICAgYm9vbCBpbkhlYXAoKSBjb25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAg
ICAgYm9vbCBoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVh
cElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChN
b25vdG9uaWNUaW1lIG9sZFRpbWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAg
ICB2b2lkIGhlYXBEZWxldGUoKTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBW
ZWN0b3I8VGltZXJCYXNlKj4mIHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhy
ZWFkR2xvYmFsVGltZXJIZWFwKTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVh
cDsgfQogCi0gICAgZG91YmxlIG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAg
ZG91YmxlIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29u
c2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7
IC8vIDAgaWYgbm90IHJlcGVhdGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7
IC8vIDAgaWYgaW5hY3RpdmUKKyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVU
aW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFs
CisgICAgU2Vjb25kcyBtX3JlcGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAg
ICBpbnQgbV9oZWFwSW5kZXg7IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9o
ZWFwSW5zZXJ0aW9uT3JkZXI7IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJl
LXRpbWUgdGltZXJzCiAgICAgVmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2Jh
bFRpbWVySGVhcDsKQEAgLTE1OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6
aXNBY3RpdmUoKSBjb25zdAogI2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkg
fHwgcHRocmVhZF9tYWluX25wKCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNl
bmRpZiAvLyBQTEFURk9STShJT1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJl
dHVybiAhIW1fbmV4dEZpcmVUaW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVy
IDogcHJvdGVjdGVkIFRpbWVyQmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VGltZXJGaXJlZENsYXNzPgotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENs
YXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGlt
ZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgp
LCBTZWNvbmRzIGRlbGF5KQogICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpi
aW5kKGZ1bmN0aW9uLCAmb2JqZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVy
cmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0
ZDo6ZnVuY3Rpb248dm9pZCAoKT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDog
bV9mdW5jdGlvbihXVEZNb3ZlKGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQog
ICAgICAgICAsIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcg
KzE5OCw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rp
b247CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25k
cyBtX2RlbGF5OwogICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUw
MTkxNDRhMjFmZjRkM2RjMGUxOGY5ZmM5MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlm
MWU1ODNmNWM5MGM4ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9k
ZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRv
bigpCiBWTm9kZVRyYWNrZXI6OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihb
dGhpc10oUmVmQ291bnRlckV2ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZl
bnQ6OkluY3JlbWVudCkgY2hlY2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJl
V2FybmluZ1RpbWVyKCp0aGlzLCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZp
cmVkKQotICAgICwgbV9sYXN0V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
bm93KCkpCisgICAgLCBtX2xhc3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsK
ICAgICBwbGF0Zm9ybUluaXRpYWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5v
ZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNv
dW50ZXIudmFsdWUoKSA8PSBtX3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAg
ICBtX2xhc3RXYXJuaW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwor
ICAgIG1fbGFzdFdhcm5pbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWdu
ZWQgdm5vZGVDb3VudCA9IG1fdm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNh
bCA9IHZub2RlQ291bnQgPiBtX2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRp
Y2FsOjpObzsKICAgICBtX3ByZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9y
eVByZXNzdXJlLCAidm5vZGUgcHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBv
ZiAldSAoY3JpdGljYWwgcHJlc3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRl
ci52YWx1ZSgpLCB2bm9kZUNvdW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIg
OiAiTm8iKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5l
eHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6
bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhl
IHZub2RlIHByZXNzdXJlIGhhbmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0
YXRpYyBjb25zdCBhdXRvIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDMwIH07Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgbWluaW11bVdhcm5pbmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1l
U2luY2VMYXN0V2FybmluZyA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1Rp
bWU7CiAgICAgaWYgKHRpbWVTaW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZh
bCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHM+KG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2Fy
bmluZyk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAg
ICAgIHJldHVybiBtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7
CisKKyAgICByZXR1cm4gMF9zOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4
NWFiZmUxODI2MGY0YTI0Li4wNGZiMzc5NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHBy
ZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFBy
ZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZSgpOwogCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVy
IG1fcHJlc3N1cmVIYW5kbGVyOwogICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAg
ICBUaW1lciBtX3ByZXNzdXJlV2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X2xhc3RXYXJuaW5nVGltZTsKIH07CiAKIGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJl
c3N1cmVIYW5kbGVyKFByZXNzdXJlSGFuZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2
NzY2OWEyMDYwODQ4Y2M2ODEyY2Y0NmU0Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4
ZDRjNDBjNzkzNjgxNjE1ZWI4OTk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkgPSAwLjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVm
ZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBz
dGF0aWMgY29uc3QgY2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBz
dGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLm1tCmluZGV4IDNlMThkNGJmMDNiZjVlN2Y4NDExY2FjZDkzMTg3NWY1YjIxNzY3OTguLjhj
MGE0YzYyOTkyMzBkNWZmM2RkYTVmYWY2YTBkMTczODUzYTgxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNDExLDcgKzQx
MSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNv
bnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7
CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnVi
YmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2Ns
aWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNzKTsKIH0KQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAg
IHJldHVybjsKIAogICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBE
ZWxheSA9IDc1MF9tczsKLSAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRP
bmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVz
c1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxh
eSk7CiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApA
QCAtNjEwLDcgKzYxMCw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFw
VGltZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsK
ICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9s
bGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IDZhNTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlk
OTAuLmU0YzQyMjE2MjNlMWM4MDA4NTdiMGVhNmM2NTBlZGVmZGNmYTQ0MGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1l
cGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2Nv
YS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZU
X0xJTktfQ09OU1RBTlRfTUFZX0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERp
c2Nvbm5lY3ROb3RpZmljYXRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1z
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2X21zOwog
CiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJv
dmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlhMDUw
ZDE4YWE4NzA4OWU5NThlODEyMTRlMWNkZmIxNGViLi4xYzZiNWQ4M2E4YTkwMzQ4MzUwOTQyNTEz
MTMyNmU5Y2Y5YTczMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25E
ZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlv
bkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUludGVy
dmFsID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5
ID0gMC4wNV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0
Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBA
IC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKElP
SElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gdGVs
bCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAgICAgICAvLyBUaGUgbV9jb25uZWN0
aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQgc3BpbiBvZiB0aGUgcnVubG9vcCBh
ZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlvbiBldmVudHMgYXJlIGFjdHVhbCBu
ZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAK
ICAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAgd2FzIGFkZGVkIHdoaWxlIHN1cHByZXNz
aW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUgYW4gJ2FscmVhZHkgY29ubmVjdGVkJyBl
dmVudCIsIGRldmljZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ds
aWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCmluZGV4IDI4NGY4YjE3ZWNkNjlj
MGMxNzIwMmExYzFhNDhkNjY2MGRhNjI3ZjIuLmJiMzZhOGYxZGRiN2JhNWQ1ZTVlYTQ5ZjkwZGFm
Njk0NGU4NDkwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFp
blRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcApAQCAtNDIsNyArNDIsNyBAQCBNYWlu
VGhyZWFkU2hhcmVkVGltZXI6Ok1haW5UaHJlYWRTaGFyZWRUaW1lcigpCiB2b2lkIE1haW5UaHJl
YWRTaGFyZWRUaW1lcjo6c2V0RmlyZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAg
QVNTRVJUKG1fZmlyZWRGdW5jdGlvbik7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2
YWwudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogfQogCiB2
b2lkIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMGFjNjNmYjQ3MmQzMTdhZDlh
OTk3YTMyODFhZGU5ZTcwNWI0YzEzZC4uN2VmYzM5ZDcwZjg1NWNmMzU0NjhkYWU4MWMzODI0OGI0
ZWI1YWNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGlt
ZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6
OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihT
ZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1l
VGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmlt
YXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgIH0K
IAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlvblJlc3VsdDo6
U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0
aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAg
aWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBt
X2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNp
cmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAgICAgc3RhcnRU
aW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA0MTI0ZmE2NTM0ZDEwODI3
NzhhNmVkZWI0MGE5OTJiNjg0NzZhYjM1Li44Njg2ZDNhZTk4Yzg3N2I1ZmIxNWU2N2Q4NjY4NTg5
MzVjYjkzNjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAg
dm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxheSk7Cisg
ICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRtYXBJbWFn
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAoVGV4dFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTljZjE1ZGM3ZmFl
MDZjNjFiNjBjLi5mNTYyOWQ4YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0MzdkNDk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMy
OSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQcmVzc3VyZUlu
YWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1p
bHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVz
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9v
bCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgICAgICBt
X3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiBw
bGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwg
ZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tp
bmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIw
Ni4uNWUwN2M1Zjc3ZjMwYjE5NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEw
LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAwLjFfczsK
IAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihD
bGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRk
MTRhM2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAxODg0NTZhNWI1
NThhY2ZiYWU5NTg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6
bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkg
Pj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEp
IHsKICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAg
ICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVu
dE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlh
RW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggMzI5Y2ExMDA5YmNhOGRhMWE4Y2UxMDExODIw
MzUwZmZlOTk0YTNmOS4uYjM0MDQyYWM1YmI3Y2VmNWE5NDNiMTk1OGEyMjA4MzRkNDkxYmVlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
QEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNB
Y3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29u
c3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3Qg
YXV0byBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAgICAgbV9wdXJnZVRp
bWVyLnN0YXJ0T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmlu
ZGV4IDZlZThiYzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLjhkZWUwOWNlMDg2
YWRhZjViZTI3YzIwMDhhY2IyNWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBjaGFyYWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJy
ZWRPcHRpb24pKTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJy
ZWRPcHRpb24pOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZG
T2JqQyogb3B0aW9uKQpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoK
ICAgICBtX3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2Vs
ZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVj
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZi
YTY0YTc5ODYzNjNkMjgzZWQ0ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFmNGMzZTU3OTBiNjY3
ZGQ2ZmI2YjYyYjY4MDI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3
ICsyMjgsNyBAQCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBvdXRwdXRDb2RlY3Mg
PSBbZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJG
b3JJbnB1dE1JTUVDb2RlY1BhcmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcg
KnR5cGVTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIl
QFwiIiwgKE5TU3RyaW5nICopcGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2Rl
Y3NdOwotICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVk
TUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBs
YXllcjo6TWF5QmVTdXBwb3J0ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkg
aXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNT
dXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFy
ayAtCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlm
IChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0g
ICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIwNzIzNTAwMThhZGM0
YmNkYjg0NWYuLjBjYzRmYWM1OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBhZjk3YTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApA
QCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKCkKIHsKICAg
ICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3By
dW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3Qo
MV9zKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAK
aW5kZXggZTQyNWI4MmY4MDM0NzQ3ZWFmZWMxOGU4MGUwZTk2OGFmZDVjMDQ3Ny4uYmM5NDk2MTNl
Njk1MTQ0MjIyM2UzNGZiOGRlNTNjMjkxOTIwZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtNDksNyAr
NDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbGVT
aXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7CiAKIFN0cmluZyBU
aWxlQ29udHJvbGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcg
KzI2Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2lu
ZG93KQogICAgIGlmIChtX2lzSW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRp
bGVzKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9u
VGltZW91dCA9IDQ7CisgICAgICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVv
dXQgPSA0X3M7CiAgICAgICAgIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0
aW9uVGltZW91dCk7CiAgICAgfQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRy
b2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNv
bnN0IEZsb2F0CiAjZW5kaWYKIH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxl
UmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVS
ZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5l
eHRGaXJlSW50ZXJ2YWwoKSA8IGludGVydmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRl
eCA4Yzg0YzdjYzkyNzY2YzQ2Zjk3NTkxMTcxMWY4OTdiZGViYjE4ZGE4Li44Y2FlNDQ3NzgzZmJk
MGQ0N2RlNDVmYzg1Y2FkZTdkYjgzMTY2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICpt
X3RpbGVHcmlkOyB9CiAKLSAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUg
aW50ZXJ2YWwpOworICAgIHZvaWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50
ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2lu
ZG93OyB9CiAgICAgZmxvYXQgdG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BD
b250ZW50SW5zZXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFh
ZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjli
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVD
b3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5U
aWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkK
IHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRl
eCAyOGYyOWNiZGU4ZTIxZjcxODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi4yM2IzOGE3YzIyNzBi
ZmIxMzc5YzcyMTVhZDljYTFmY2FmMjcyYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBU
aWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Q
b2xpY3kpCiAgICAgVGlsZUNvaG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAg
ICB1bnNpZ25lZCB0aWxlc0luQ29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxp
ZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7
CisgICAgU2Vjb25kcyBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6
OmluZmluaXR5KCk7CiAgICAgYm9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAg
ICAKICAgICBhdXRvIHRpbGVTaXplID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEs
OCArMzgxLDggQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9u
UG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hv
cnQgOiBtX2NvaG9ydExpc3QpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hv
cnQgIT0gdGlsZUluZm8uY29ob3J0KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29o
b3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVV
bnRpbENvaG9ydEV4cGlyZXMgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdGltZVVu
dGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMF9zKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6
bWluKG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uLCB0aW1lVW50aWxDb2hvcnRFeHBp
cmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDc4LDcgKzQ3OCw3IEBAIFRpbGVH
cmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQg
VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hvcnQpCiB7Ci0gICAgbV9j
b2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpKSk7CisgICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhj
b2hvcnQsIE1vbm90b25pY1RpbWU6Om5vdygpKSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlm
ICghbV9jb250cm9sbGVyLmlzSW5XaW5kb3coKSkKICAgICAgICAgdGlsZUNvbnRyb2xsZXJNZW1v
cnlIYW5kbGVyKCkudGlsZUNvbnRyb2xsZXJHYWluZWRVbnBhcmVudGVkVGlsZXMoJm1fY29udHJv
bGxlcik7CkBAIC00OTcsMTcgKzQ5NywxNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3Jp
ZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29o
b3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29u
ZHMgPSAxOworICAgIGNvbnN0IGF1dG8gY29ob3J0UmVtb3ZhbEludGVydmFsID0gMV9zOwogCiAg
ICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5vdyBp
ZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29o
b3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyk7CisgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKGNvaG9ydFJlbW92YWxJbnRlcnZhbCk7CiB9CiAKLWRvdWJsZSBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBj
b2hvcnRMaWZlVGltZVNlY29uZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAg
Y29uc3QgU2Vjb25kcyBjb2hvcnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3Rvbmlj
VGltZSB0aW1lVGhyZXNob2xkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGlt
ZTsKICAgICByZXR1cm4gY3JlYXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4
LDcgKzUxOCw3IEBAIHZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHko
KSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7Cisg
ICAgd2hpbGUgKCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgp
LnRpbWVVbnRpbEV4cGlyYXRpb24oKSA8IDBfcykgewogICAgICAgICBUaWxlQ29ob3J0SW5mbyBm
aXJzdENvaG9ydCA9IG1fY29ob3J0TGlzdC50YWtlRmlyc3QoKTsKICAgICAgICAgcmVtb3ZlVGls
ZXNJbkNvaG9ydChmaXJzdENvaG9ydC5jb2hvcnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIz
Yzc1NWQ4NzgyYzQyYWEwZGU1NzY1MWQuLjQyNjkzNzc0YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVl
OThhZTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuaApAQCAtMTIxLDEzICsxMjEsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBUaWxl
Q29ob3J0SW5mbyB7CiAgICAgICAgIFRpbGVDb2hvcnQgY29ob3J0OwotICAgICAgICBkb3VibGUg
Y3JlYXRpb25UaW1lOyAvLyBpbiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAg
ICAgVGlsZUNvaG9ydEluZm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgZG91YmxlIGluVGltZSkKKyAg
ICAgICAgTW9ub3RvbmljVGltZSBjcmVhdGlvblRpbWU7CisgICAgICAgIFRpbGVDb2hvcnRJbmZv
KFRpbGVDb2hvcnQgaW5Db2hvcnQsIE1vbm90b25pY1RpbWUgaW5UaW1lKQogICAgICAgICAgICAg
OiBjb2hvcnQoaW5Db2hvcnQpCiAgICAgICAgICAgICAsIGNyZWF0aW9uVGltZShpblRpbWUpCiAg
ICAgICAgIHsgfQogCi0gICAgICAgIGRvdWJsZSB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAg
ICAgIFNlY29uZHMgdGltZVVudGlsRXhwaXJhdGlvbigpOwogICAgIH07CiAKICAgICB2b2lkIHJl
bW92ZUFsbFRpbGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCmluZGV4IGI4MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVj
M2E4YTBmZTBiZmYxNDguLmY5NGY0YTE0NzA0NzcyZTg4MjFkYWJmNjEzZTM4NzQwM2U5MzJhY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFj
ZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3Vy
ZmFjZVBvb2wuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9IDUwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgc3VyZmFjZUFnZUJlZm9yZU1hcmtpbmdQdXJnZWFibGUgPSAyczsKK2NvbnN0IFNlY29uZHMg
Y29sbGVjdGlvbkludGVydmFsID0gMC41X3M7Citjb25zdCBTZWNvbmRzIHN1cmZhY2VBZ2VCZWZv
cmVNYXJraW5nUHVyZ2VhYmxlID0gMl9zOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0
ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3Jl
IHRoYW4gMS8yIG9mIHRoZSBjYWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMs
IGJlY2F1c2UKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3RJ
blVzZVN1cmZhY2VzKCkKIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJn
ZWFibGUoKQogewogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1dG8g
bWFya1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG1h
cmtUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZhY2VB
bmREZXRhaWxzIDogbV9zdXJmYWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFuZERl
dGFpbHMudmFsdWUuaGFzTWFya2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3YzU0
Njk2ZDdiNWI1NjM5NWYzZjNlMmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgyMDA2
ZWJjOTRmZTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIDogaGFzTWFya2VkUHVyZ2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAgICB2
b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6bm93KCk7IH0KKyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0
VXNlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3Rvbmlj
VGltZSBsYXN0VXNlVGltZTsKICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3Vi
aW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0MDhi
NGU4MzYzZjQ4ZTNlZDIzMGZmZDc2Li5kYmQzYjMyMDEyMDdiNTdmZjQ4MTg5NDg5MTEwNWNhNzA0
NjlmMzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9T
dWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVD
bGVhckRlbGF5ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3QgYXV0
byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IDFfczsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3Vi
aW1hZ2VDYWNoZVNpemUgPSAzMDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZWFkZGRk
YThkYzQ2NDk1NmQ1NDA1MmUwNWFkYTc3MDZkNDgzZjkxLi45OTNiZTU5ODY2Zjc2OTZhNmE5NTFm
NzNmN2RkOTI0ZDcwZjFhN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcApAQCAtMzY3LDcgKzM2Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAg
IGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIu
aXNBY3RpdmUoKSkgewogICAgICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5
IGluIHRoZSBSRUFEWSBzdGF0ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJl
cXVlc3RzLgotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjA7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjBfczsKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlT
dGF0ZVRpbWVyRGVsYXkpOwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JF
QURZKQogICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1
OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZl
cmluZygpCiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5h
Ymxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxp
bmUuZ2V0KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAg
ICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIu
c3RhcnRSZXBlYXRpbmcoMC4yX3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygi
RGlzYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3Bp
cGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3Bw
CmluZGV4IDk2OTM2OWEzNWU3OTcxNTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLmJlY2VmMjEz
ZmVmNDcxOWYzZWYwOTNjYTJjODk5ZTE0NjkzODE3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdz
dFNhbXBsZSogc2FtcGxlKQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkK
ICAgICBpZiAoIW1fcGxheWVyLT5jbGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgp
OwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2Ry
YXdNdXRleCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzUsNyArNjc1LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1w
bGUqIHNhbXBsZSkKICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAg
TG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
ICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRl
b1NpbmtHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIx
YjE1MjFjMDQxZjZiNzI3OTkyOC4uY2NjNjk0MTk5ZDE1YWQ4NTE3MDllYTdlOGZiNTJmNDM0YzY0
MDVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTks
NyBAQCBwdWJsaWM6CiAgICAgICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAg
IG1fc2luayA9IHNpbms7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2Fp
dChtX3NhbXBsZU11dGV4KTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYw
YzFlZjJmYjRmLi4xOTgyMzUxOTJmYTJiODEzZWRjNGY1ZjdlOGNmZjdiMmQ2MWZjNDhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBp
ZiAobWF4TWVkaWFUaW1lU2Vla2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7
CiAgICAgZWxzZSAKLSAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAg
IG1fc2Vla1RpbWVyLnN0YXJ0KDBfcywgMC41X3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Ojpkb1NlZWsoKSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IDFiNDZm
Mzc1MjQ5ODkwN2UwMGJjMjgyZDJkOWQ2ZjFhZjczYjQ1OWUuLjkxYzAzMjQwODY3YjQ2ZWM5Yjk3
NWRkMzQ4OWJmN2VjMWFhZDMwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMzQs
NyArMzQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIHNf
cmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBz
X3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAog
I2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0
dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDVlM2M4MmYx
ZjMzYWQ1MjkyNTA2Njg5NmM5YzIxNGEzM2JmOGIzMDUuLjljMmIxMWIzZjhhMWE2YzdiZWRhZjhm
NWM1MWU2MDUzODNjYzIyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllckJ1ZmZlci5oIgogCiBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2Vk
U2Vjb25kc1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVy
c1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZEJ1ZmZl
cnNUaW1lckludGVydmFsID0gMC41X3M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTYz
LDcgKzE2Myw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1
bGVVcGRhdGVPbkNvbXBvc2l0b3JUaHJlYWQoc3RkOjpmdW5jCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRh
dGVGdW5jdGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDU1ZWY5OTU0OWU2OTQy
NjI0MTAzZDg4OGNiYzc1NGQ2ZmI2ZDNlYy4uMGRjNjkyNWE1MTkxOTE4MTMyMmQ4YjZjNWM3MDAz
MTU4NDFjOThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZh
bHVlTGlzdCwKIAogICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1h
dGlvbnMuYWRkKFRleHR1cmVNYXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0
LCBib3hTaXplLCAqYW5pbSwgbGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAw
LCBUZXh0dXJlTWFwcGVyQW5pbWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAg
IG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlv
blN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25z
KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5
ZWZjM2ZhYWVjNDMyMzM2YTYxLi42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRl
OGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdl
QmFja2luZy5jcHAKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nOjpyZWxlYXNlU3VyZmFjZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwog
fQogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25k
cygzKTsKIAogdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlm
TmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRk
ODdmOWZjMDlkZmNmMTIyYWMxOTdjZDVlLi5iMjRjZmE2YTFmNTg3NjQ3MWE2NTBmMDZkZTZjYjE5
NmQ0ODU3ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xs
QW5pbWF0b3JHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3Rr
OjpvdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29u
c3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRl
bHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05l
eHRGcmFtZSk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKGRlbHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAg
aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1
cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUg
KyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UK
ICAgICAgICAgaGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAg
dm9pZCBTY3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlk
ZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRp
b25EdXJhdGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3Jv
bGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25I
aWRlRGVsYXkpKTsKIH0KIAogdm9pZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29u
dGVudEFyZWEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bGJhclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhl
bWVHdGsuaAppbmRleCA1MWJkZDI1OWRiY2U2NDZkMjI1NDQ1OTkxMGM2OTg1YjUzOTAxODZmLi45
Y2I0N2NkZDc3ODUzOGUxNjUxNTBmZGRiYTFmZTQ2Y2YxNTY1NTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaApAQCAtNTIsOCArNTIsOCBA
QCBwdWJsaWM6CiAgICAgaW50IG1pbmltdW1UaHVtYkxlbmd0aChTY3JvbGxiYXImKSBvdmVycmlk
ZTsKIAogICAgIC8vIFRPRE86IFRoZXNlIGFyZSB0aGUgZGVmYXVsdCBHVEsrIHZhbHVlcy4gQXQg
c29tZSBwb2ludCB3ZSBzaG91bGQgcHVsbCB0aGVzZSBmcm9tIHRoZSB0aGVtZSBpdHNlbGYuCi0g
ICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJu
IDAuMjA7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJl
dHVybiAwLjAyOyB9CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBv
dmVycmlkZSB7IHJldHVybiAyMDBfbXM7IH0KKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRl
bGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gMjBfbXM7IH0KICAgICB2b2lkIHRoZW1lQ2hhbmdlZCgp
IG92ZXJyaWRlOwogICAgIGJvb2wgdXNlc092ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV91c2VzT3ZlcmxheVNjcm9sbGJhcnM7IH0KICAgICAvLyBXaGVuIHVzaW5n
IG92ZXJsYXkgc2Nyb2xsYmFycywgYWx3YXlzIGludmFsaWRhdGUgdGhlIHdob2xlIHNjcm9sbGJh
ciB3aGVuIGVudGVyaW5nL2xlYXZpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L0xlZ2FjeVRpbGVDYWNoZS5tbQppbmRleCA2NmEyNmUxZTY4ZTNjNGQ1NzdhYjNlYjU2ODUxOGZh
YzU4ZjU5NjllLi45YWMwNWZjNTUxNGUxNjQ2MGNiYWM3YTQ0N2JiYTc4ZDIxYTcyOWY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KQEAgLTQy
MCw3ICs0MjAsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVz
KGJvb2wgZGlkQ3JlYXRlVGlsZXMsIGJvb2wgY3JlYXRlTW9yZQogCiAgICAgLy8gS2VlcCBjcmVh
dGluZyB0aWxlcyB1bnRpbCB0aGUgd2hvbGUgY292ZXJSZWN0IGlzIGNvdmVyZWQuCiAgICAgaWYg
KGNyZWF0ZU1vcmUpCi0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2
b2lkIExlZ2FjeVRpbGVDYWNoZTo6dGlsZUNyZWF0aW9uVGltZXJGaXJlZCgpCkBAIC03ODIsNyAr
NzgyLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OnNldFNwZWN1bGF0aXZlVGlsZUNyZWF0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2lzU3BlY3VsYXRp
dmVUaWxlQ3JlYXRpb25FbmFibGVkID0gZW5hYmxlZDsKICAgICBpZiAobV9pc1NwZWN1bGF0aXZl
VGlsZUNyZWF0aW9uRW5hYmxlZCkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIGJvb2wgTGVnYWN5VGlsZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1
NmQ0MDYwN2Y1NjNhNmNlNTk4ZTI5YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBm
YzBmZmY2OGQ1M2Q0MzQ3YTA3NGIxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAK
ICAgICBib29sIHN1cHBvcnRzQ29udHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJy
aWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNl
Y29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25k
cyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9u
c1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUy
MGJlZjU0OGY1NDAyMDNhOWE2YTNjNzc3ZDgxNmRhYTUwOTkwLi5mZTI5MDc3NWJkZTM4OTNjYTY5
MTYwZjMyMzI3YjNjNWZmMjA3M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJh
clRoZW1lSU9TOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAg
cmV0dXJuIDA7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAot
ZG91YmxlIFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRz
IFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIDBfczsKIH0KICAgICAKIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQg
U2Nyb2xsYmFyVGhlbWVJT1M6OmJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lm1tCmluZGV4IGNjNjJlM2E4ODRhZWYyOTUxOTdlMmJiNzZiYjBmYTdlYzMw
NzBiYTEuLmRkMTk2MzRiNzM3OTFjNWYzY2NmMmI1MmEyOWY2NzRkODRiZTkwMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IGNo
YXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBhdXRvIGRl
ZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxX3M7CiAKIEBjbGFzcyBXZWJBVk1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKFdlYlZpZGVv
RnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVlbk1vZGUoSFRN
TE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAgICBpZiAo
IW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3Rh
cnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dhdGNo
ZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwogCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCmluZGV4IDQyMWM2MTYw
Zjg4OTEyNDY0NzczZDRlYTNmY2FlZDQ5NjNkNWE3ZmQuLmU4ZGVjNWU0NWZjM2Y5ZGMyZWNhMjVl
MjEyZDgyMzEyNWIzZTBhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKQEAgLTI2OSw3ICsy
NjksNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZlRpbWVyRmlyZWQoKQog
CiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZih1bnNpZ25lZCBzZWNvbmRzKQog
ewotICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzKTsKKyAgICBtX2hvbGRP
ZmZUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzZWNvbmRzKSk7CiB9CiAKIHN0YXRpYyBzaXpl
X3QgcHJvY2Vzc01lbW9yeVVzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBhYzdmNGZkNGE5ODRkYzMxZGRkNGZjODBiMTY5
MzQxNTE5MDI1MDk1Li5mNzNkNzk2ODhlMmI4MDI1NDZmMjQzNTlmY2NiY2E1ODJkMjZjZmUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1t
CkBAIC0xMzM4LDcgKzEzMzgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3Jv
bGxlclN0eWxlKCkKIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWlu
dFRpbWVyKCkKIHsKLSAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hv
dCgwLjEpOworICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAu
MV9zKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRUaW1lcklz
QWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIGRlbHRhKQog
ICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsKIAogICAg
IGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAg
IGlmIChtX3doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAgICAgbV93aGVlbEV2ZW50VGVzdFRy
aWdnZXItPmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVz
dFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0
VHJpZ2dlcjo6Q29udGVudFNjcm9sbEluUHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhNzI4Mjk4YzhlYmI1YzU1NTQ3
ZDZkM2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFhOTExYmI5MmIwOGYwMWI3ZDk5MjY2ZDAxM2E0NzZj
N2RkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFy
VGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhl
bWVNYWMuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2VzT3ZlcmxheVNj
cm9sbGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxiYXJPdmVy
bGF5U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGluaXRpYWxBdXRv
c2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRl
OwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29u
c3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxi
YXJUaGVtZU1hYy5tbQppbmRleCBiMmUxNjE4YzAzMmZiN2M2NWYxZmUxOTE3ZjIwNGUyOTY3NGMz
ODlmLi40MzU0OWNiNTYxOTgzZDUzMDc0MzljMzYyOTM2MDQzYjE2MGI1YWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC0xMzAs
OCArMTMwLDggQEAgc3RhdGljIGNvbnN0IGludCBjQnV0dG9uTGVuZ3RoW10gPSB7IDE0LCAxMCB9
Owogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25MZW5ndGhbXSA9IHsgMTYsIDE0IH07IC8v
IFRoZSBvdXRlciBidXR0b24gaW4gYSBkb3VibGUgYnV0dG9uIHBhaXIgaXMgYSBiaXQgYmlnZ2Vy
Lgogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25PdmVybGFwID0gMjsKIAotc3RhdGljIGZs
b2F0IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAwLjVmOwotc3RhdGljIGZsb2F0IGdBdXRvc2Nyb2xs
QnV0dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRpYyBTZWNvbmRzIGdJbml0aWFsQnV0dG9uRGVsYXkg
PSAwLjVfczsKK3N0YXRpYyBTZWNvbmRzIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1X3M7
CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1Vz
ZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBT
Y3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZh
dWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwog
ICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtk
ZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRv
c2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0
dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRz
IGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xs
QnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJC
dXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZv
cktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Ny
b2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFy
VGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJh
cikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFy
VGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJh
clRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBn
SW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxU
aW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVu
dE1vY2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMwNTU2MWM3YzFkNjA2N2FkZWM1MTU5ZjIzNTQu
LmJmMjczYmVmOTRhODRhYzcwZDBiNDRlMWEwMjY5NmYxNDAwMjM5YWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNw
cApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnNldE1vdGlv
bihQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1vdGlvbikKIHsKICAgICBtX21vdGlvbiA9
IG1vdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNlMWZhNDMwZWUx
ZTI2NzJkOGQ2MTAxYzIuLjIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIxYzIxMGJiODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3Jp
ZW50YXRpb25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiAgICAgaWYg
KG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
CmluZGV4IGI3Y2ZiOWJlMDZkY2JmZmM3YzE2YjNjZmU3NDY1MDEzMGZhNzAwZTUuLjc1NGE4MjVj
YWU1NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTEwNiw3
ICsxMDYsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVQZXJtaXNz
aW9uKCkKIHsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVybWlzc2lvblN0YXRl
VW5zZXQpOwogICAgIGlmICghbV9wZXJtaXNzaW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Blcm1pc3Npb25U
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6
OnBlcm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEdlb2xvY2F0
aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBBU1NFUlQobV9j
b250cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVyVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9s
b2NhdGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1
Yi4uYTc2YmMyNmZhNjA0ZDAzMzgxYTUzNTNmYWJlZmRhODVmZTk4YjA0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9j
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lcklu
dGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwg
PSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50
KQogICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDYwYmIw
MTgxYWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJlMGRlNTkuLmM4MzEwZGYxNTQxZTVhMTU3MTYw
MmYzMDUzODA1NWQxNGYyNjFhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAgLy8gUmV2ZXJz
ZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgog
ICAgIG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VDYW5kaWRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJG
aXJlZCgpCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2Fu
ZGlkYXRlVGltZXJGaXJlZCgpCiAKICAgICBpZiAoIW1fZmFrZUljZUNhbmRpZGF0ZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIG1fY2xpZW50LmdvdEljZUNhbmRpZGF0ZShtX21pZHNbMF0sIG1fZmFr
ZUljZUNhbmRpZGF0ZXMudGFrZUxhc3QoKSk7Ci0gICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVyaW5nQ2FuZGlk
YXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8g
dXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2ljZVRy
YW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVk
KCkKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3Bv
cnRUaW1lckZpcmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFuc3BvcnRTdGF0
ZUNoYW5nZXMudGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRTdGF0ZUNoYW5n
ZWQoc3RhdGVDaGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAgICBtX2ljZVRy
YW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1v
dGVTb3VyY2VzQnlNaWQoKQpAQCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9p
bnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCiAgICAgZm9yIChpbnQgaSA9IG1fbWlkcy5z
aXplKCkgLSAxOyBpID49IDA7IC0taSkKICAgICAgICAgbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUu
YXBwZW5kKG1fbWlkc1tpXSk7CiAKLSAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1v
Y2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRN
dXRlZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHko
KSkKLSAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5t
dXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVW
aWRlb1NvdXJjZS5jcHAKaW5kZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0ZTM2MTcxNDQxYjRj
ZGM2ZS4uNjRhMzVhNmQyN2JjZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBmMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6
c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpOworICAgIG1f
dGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygobHJvdW5kKDEw
MDAgLyBmcmFtZVJhdGUoKSkpKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6
OnN0b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIE1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVhbHRpbWVNZWRp
YVNvdXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFtZVJhdGUoZG91
YmxlIHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8g
cmF0ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0ZVNhbXBsZUJ1ZmZl
cigpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBm
M2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi5kOGE3YzA4OTdmOTg1ZGZj
OGM1ZjdlYTQxZDgwYzg2NTkzZjEwZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApA
QCAtNjgsNyArNjgsNyBAQCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVh
ayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5i
b3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5
LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ug
c3BlZWNoIGpvYiBzb21lIHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhh
dmUgdGltZSB0byBiZSBjYWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRP
bmVTaG90KC4xKTsKKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoMC4x
X3MpOwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpjYW5jZWwoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRN
b2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2su
aAppbmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2FjLi44NjNmOWQ2
NWI3NjkwMTZkMGQ5N2NkMjY4OWIyZDRmZjU3NjYyYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMsNyArNjMsNyBA
QCBwdWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6OnRpbWVyRmly
ZWQpCiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNV9z
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCA1ODc3M2Fh
MzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi5lMWM0MTBlZDE1MjU4YWNhZjNmMGMz
OTE5ZDg1YTA4MmEwOTI3ZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRpYXRlbHkgPSA0
OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25nIGJlZm9yZSBz
ZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VEZWxheUluU2Vj
b25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkgPSAxX3M7CiAK
IC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNvbWUg
Z2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1ZXMg
d2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91
c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4U2lt
dWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNUb1F1
ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRuJ3Qg
YmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBhZnRl
ciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNlY29u
ZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXRyeVJlc29sdmluZ0RlbGF5ID0gMC4x
X3M7CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0b24oKQogewpA
QCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29uc3QgU3RyaW5n
JiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVzdHNUb1F1ZXVl
KSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYgKCFtX3RpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjb2FsZXNj
ZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIEROU1Jlc29sdmVR
dWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlzRW1wdHkoKSkK
LSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzKTsK
KyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmV0cnlSZXNvbHZpbmdEZWxheSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXggYWJmYjQ2Y2VjZjgyMTQzYjlmZmFjZDAx
YmU1Nzg2YTUzYTAwOGVjMC4uNDVjYTFjNWMzNjJiNTQ1ZTg3ZWRjOGNkYjM1ZjIyMDI4YmMyNmRi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmVmKCk7CiAKICAg
ICAgICAgYXV0byBzY2hlZHVsZWRQYWlycyA9IG1fZGVjb2RlVGFzay0+c2NoZWR1bGVDb250ZXh0
LnNjaGVkdWxlZFBhaXJzOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV90aW1lci5zY2hlZHVsZShz
Y2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2YwYjhkMDExZjJiYjlj
YjFiZDEuLjFhMGQ1Y2U2MjNhZGY4YTM0MDUzZDZmYWU4ZDBmNzYzOTAyYmQxN2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3
IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0
aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZl
cnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1l
ci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3QoMTAwMF9taW4pOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggNjQ3ZjYwNDE5YmZjZDBm
ZWU2Mzc1ZDlkMTg4MDc2NTkyYTFmOTIwYy4uMDBjMGQwMjljYzZmYzJjMWNjYTc5N2M5OTI4MTRk
MDcwNDc3ZTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5k
bGU+IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0CiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlw
ZSkKIHsKICAgICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVk
KCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2Fk
aW5nKGJvb2wgZGVmZXJzKQogICAgICAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RvcCgpOwog
ICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpIHsK
ICAgICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAg
ZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBkLT5tX2ZhaWx1cmVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBwbGF0Zm9ybVNldERlZmVyc0xv
YWRpbmcoZGVmZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAppbmRleCA1NWFkZTIx
OGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi5kNGQ5OGRhMzFmNjU3NjEzYjVlZDhk
NmRiMjJmZjliNzViMDFlNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCkBAIC0z
MSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBz
dGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZp
ZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlS
ZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQgYmUgZXhwZW5z
aXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAgIC8vIHdoZW4g
dGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hh
bmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CisgICAgbm90
aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlQ2hhbmdl
VGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6Om5ldHdvcmtT
dGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA4ODdhOWVk
Nzk1ZDFjYjRlNThjY2RkZTU2ZTM4OGQ5OWNkYzBiZjNlLi5lY2YxODRjZTQwYmRmOWVjNGQzMWJm
NzMyMDYzMzc3MTIyZGU5YjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNzUwLDcgKzc1
MCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCgpCiAjZW5kaWYK
IAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAg
ICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoZC0+bV9maXJzdFJlcXVlc3QudGlt
ZW91dEludGVydmFsKCkpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90
KFNlY29uZHMoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpKTsKIAogICAgIC8v
IEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdo
aWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJlZigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBm
Yzg3YjcwMzI5MjM4NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi45ZWE0MTdkZDAzMGExY2Y0
OWFlZjU1ZGM2NGJlYWFhNGFkYzRhZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEw
MSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2lu
c3RhbGxlZCA9IHRydWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxD
aGVja01lbW9yeVRpbWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVh
dGluZyg2MC4wKTsKKyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKDFfbWluKTsK
IH0KIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXgg
YTFmZThmY2MxYzg4ZjI2ZTE2YTYzZjEyYjY0MzJkNWEwZTgxY2VkNi4uNWY1ZDA3NjU3OWMyMTA0
MDdjMGJjZmM2YjU4NjI3MzkwZDcyOTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0aW9uQ3V0
b2ZmID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRo
cmVzaG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvd1F1YWxp
dHlUaW1lVGhyZXNob2xkID0gMC41X3M7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OkltYWdl
UXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6IG1f
cmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVhbGl0
eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2b2lkIEltYWdl
UXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8SW50ZXJwb2xh
dGlvblF1YWxpdHk+IEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmludGVycG9sYXRpb25RdWFsaXR5
RnJvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNjM0MjIxMzVjMWEz
OWM1OWFjZjU5MjM5MTcxYzMxY2FlMzUwY2MyNC4uOTU4MGU0MGIyM2Y4ZDRjYmQxYzgyODBkNGE1
YmU3Zjk1YWM5ZjYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDExICs5MiwxMSBAQCBzdGF0aWMgY29uc3QgaW50
IGNhbnZhc0FyZWFUaHJlc2hvbGRSZXF1aXJpbmdDb21wb3NpdGluZyA9IDUwICogMTAwOwogI2Vu
ZGlmCiAvLyBEdXJpbmcgcGFnZSBsb2FkaW5nIGRlbGF5IGxheWVyIGZsdXNoZXMgdXAgdG8gdGhp
cyBtYW55IHNlY29uZHMgdG8gYWxsb3cgdGhlbSBjb2FsZXNjZSwgcmVkdWNpbmcgd29ya2xvYWQu
CiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZs
dXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVy
Rmx1c2hEZWxheSA9IDEuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1
c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExh
eWVyRmx1c2hEZWxheSA9IDEuNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0
bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJv
dHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxl
ZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRo
cm90dGxlZExheWVyRmx1c2hEZWxheSA9IDAuNV9zOwogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFj
ZSBIVE1MTmFtZXM7CkBAIC02MzQsNyArNjM0LDcgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmVuY2xvc2luZ0NvbXBvc2l0b3JGbHVzaGluZ0xheWVycygK
IHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUoKQogewogICAgIGlmICghbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uYjc0
MDk3Y2YyMWUxYTgyMjVhNmFlZDhmZDlhM2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVu
ZGVyTWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAK
LSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKIH0K
IAogdm9pZCBSZW5kZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lk
IFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0g
bWFycXVlZVNwZWVkKCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAg
ICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVh
dGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAgCiAg
ICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3RvcC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5j
cHAKaW5kZXggNDc1MDZhY2QzM2I3MDc0MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uODY5YWY0
MmEwOTk4MjY2ZWIwZjY1YzNmMTBmOTczODgxYTYxNTUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1MzAs
NyBAQCB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hh
bmdlRXZlbnRJZk5lZWRlZCgpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFu
Z2VSZWdpb25PdmVyc2V0KGRvY3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAo
IW1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3co
KS5oYXNFdmVudExpc3RlbmVycygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVu
dFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OnJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5kZXggOWExZjI0MGZhNWY5YWZmODcwMWMx
MzQ4Y2NjNTdkMzZhYjNlMGI4NC4uNTFhMzA4ZmJhMzcwYzQ3OTg5YzhjNWNlYWUwYjA4Nzc0MmM5
YzdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBA
IC04NSw3ICs4NSw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQo
KQogewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUo
KSAmJiBtX2FuaW1hdGluZykKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
bV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogfQogCiB2b2lk
IFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCkBAIC0xMDAsNyArMTAwLDcg
QEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQogICAgIG1fYW5p
bWF0aW5nID0gYW5pbWF0aW5nOwogICAgIGlmIChtX2FuaW1hdGluZykgewogICAgICAgICBtX2Fu
aW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFs
KTsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhtX2FuaW1h
dGlvblJlcGVhdEludGVydmFsKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fYW5pbWF0aW9uVGlt
ZXIuc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaAppbmRleCBlZDQ5YmVkY2JkYjYxNWQwYTczMjcxN2Q3Y2FhMzhkYmNjOGRkYjc3
Li40MWJkODIzYWFhMDE0NjU2YjExYWI2ZDI2MTlkZDE2ZmEwZWI3ODY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAtNDcsOCArNDcs
OCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRlIHsgcmV0dXJuIFNj
cm9sbGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChzY3JvbGxiYXIsIGV2
ZW50LCBwcmVzc2VkUGFydCk7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxU
aW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92
ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KIAogICAgIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJiBzY3JvbGxi
YXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnJlZ2lzdGVyU2Ny
b2xsYmFyKHNjcm9sbGJhcik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xs
YmFyJiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgp
LnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCmluZGV4IDM3YjA3NDE4NzhhMWJkOTgzOGVjNjI1M2RlZDA3MTkxMDAx
ZmNjNDguLjY3OTVmNzI4NzMwYTBjNGNmNjgzZGQ3OWE1YWVlMDI3MjdmNzAwNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBpbmxp
bmUgU2VjdXJlVGV4dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVuZGVyVGV4dCYgcmVuZGVyZXIp
CiBpbmxpbmUgdm9pZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQodW5zaWduZWQgb2Zmc2V0QWZ0
ZXJMYXN0VHlwZWRDaGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlciA9IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwotICAgIHN0YXJ0T25lU2hvdCht
X3JlbmRlcmVyLmZyYW1lKCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25k
cygpKTsKKyAgICBzdGFydE9uZVNob3QoU2Vjb25kcyhtX3JlbmRlcmVyLmZyYW1lKCkuc2V0dGlu
Z3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygpKSk7CiB9CiAKIGlubGluZSB1bnNp
Z25lZCBTZWN1cmVUZXh0VGltZXI6OnRha2VPZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3Rlcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDM1NDk5YmJlNjkxMWY1
ZmE4YzNkMDEzOGNlZjQwZWM4MjhmOWMyYmUuLjg5ZjRiOWM5ZTQ5NGZmZGVkNTkzZDBjZTI0MDRi
MGFmMjAxYmE0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE3NSw3ICsxNzYsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAg
IHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsg
fQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biAwLjVfczsgfQogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9yIENTUy4KICAg
ICB2b2lkIHN5c3RlbUZvbnQoQ1NTVmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYpIGNv
bnN0OwpAQCAtMjA0LDggKzIwNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc01l
ZGlhQ29udHJvbFN0YXR1c0Rpc3BsYXkoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCB1c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0
aW9uKCkgeyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjFfczsgfQorICAgIHZpcnR1YWwg
U2Vjb25kcyBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zX3M7IH0K
ICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBj
b25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUo
ZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0
cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwg
ZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUd0ay5jcHAKaW5kZXggZmE4MGIyODE3M2NjYmQ0NzEwMmY2NDY2OWQwNjBjOGJiNzEwNjU2
YS4uMmU0ZDU3ZTlmZGU4N2I1MzhkNmYzNjRlYTU1ZmZmZDIyYjdmY2VmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCkBAIC0xODAyLDcgKzE4MDIsNyBA
QCBib29sIFJlbmRlclRoZW1lR3RrOjpwYWludElubmVyU3BpbkJ1dHRvbihjb25zdCBSZW5kZXJP
YmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogfQogI2VuZGlmIC8vIEdUS19DSEVDS19WRVJTSU9O
KDMsIDIwLCAwKQogCi1kb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgp
IGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25z
dAogewogICAgIEd0a1NldHRpbmdzKiBzZXR0aW5ncyA9IGd0a19zZXR0aW5nc19nZXRfZGVmYXVs
dCgpOwogCkBAIC0xODEyLDkgKzE4MTIsOSBAQCBkb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0
QmxpbmtJbnRlcnZhbCgpIGNvbnN0CiAgICAgZ19vYmplY3RfZ2V0KHNldHRpbmdzLCAiZ3RrLWN1
cnNvci1ibGluayIsICZzaG91bGRCbGluaywgImd0ay1jdXJzb3ItYmxpbmstdGltZSIsICZ0aW1l
LCBudWxscHRyKTsKIAogICAgIGlmICghc2hvdWxkQmxpbmspCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gMF9zOwogCi0gICAgcmV0dXJuIHRpbWUgLyAyMDAwLjsKKyAgICByZXR1
cm4gU2Vjb25kcyh0aW1lIC8gMjAwMC4pOwogfQogCiBlbnVtIFN0eWxlQ29sb3JUeXBlIHsgU3R5
bGVDb2xvckJhY2tncm91bmQsIFN0eWxlQ29sb3JGb3JlZ3JvdW5kIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDkxNzIzNDU1Zjc3M2NhMjc1M2Q4NjFh
YzM3N2JiZjI1OWY5OWE4YmUuLjdiODJkOTMxNDY0NDRmZDRlZmVlNTYxNGU1YzExZDc2ZGIxZWQ4
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCkBAIC04MSw3
ICs4MSw3IEBAIHB1YmxpYzoKICAgICBDb2xvciBwbGF0Zm9ybUluYWN0aXZlTGlzdEJveFNlbGVj
dGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIENvbG9yIHBsYXRmb3Jt
SW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
U2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQg
cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDkxYWMwODAwMjM4MWZhNjVjZjBiMjVhNThjOTAzMWY4
YWE2ZDgxN2QuLmVlNTM2YzA0NTdhNGVlZGJhYWFmOWVkY2NmOTEwZTNjODRjYTdmNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCB2
b2lkIFJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiByZW5kZXJlcikK
ICAgICByZW5kZXJlci5zZXRSZW5kZXJCb3hOZWVkc0xhenlSZXBhaW50KHRydWUpOwogICAgIG1f
cmVuZGVyZXJzTmVlZGluZ0xhenlSZXBhaW50LmFkZCgmcmVuZGVyZXIpOwogICAgIGlmICghbV9s
YXp5UmVwYWludFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBSZW5kZXJWaWV3Ojp1bnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVy
Qm94JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJp
bmdJbnB1dEN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRD
dXJzb3IuY3BwCmluZGV4IDk5NjQ5YmZlMjkwMzY2NzZhZDQ5NjhhMzZkZjFmNWMzYzYyZTBlZDku
LjViNDM0OWZhOTM0ZjMyYjQxMDk1ZDVhMGY4NDQ5NjkxNGY4N2Y1MjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcApAQCAtNTgsMTEgKzU4LDgg
QEAgdm9pZCBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4KIHsKICAgICBBU1NFUlRfQVJHKGlucHV0LCBpbnB1
dCk7CiAKLSAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5wdXRRdWV1ZTo6RXZlbnRMb29wSW5w
dXQpIHsKLSAgICAgICAgLy8gRklYTUU6IHJld3JpdGUgdGhpcyAoYW5kIHJlbGF0ZWQgZGlzcGF0
Y2ggY29kZSkgdG8gdXNlIHN0ZDo6Y2hyb25vLgotICAgICAgICBkb3VibGUgbm93ID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChub3cpOwotICAgIH0KKyAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5w
dXRRdWV1ZTo6RXZlbnRMb29wSW5wdXQpCisgICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChNb25vdG9uaWNUaW1lOjpub3coKSk7CiAKICAgICBtX3NlZ21lbnQtPnN0
b3JhZ2UoKS5zdG9yZShXVEZNb3ZlKGlucHV0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDUxMDI5M2ZjMTZjNjRh
YzliNWZiNTFlN2I5OGQwOTBkOGI1MTM2NjcuLmIwN2QyNmZmODRmMzg3MTFkMzQ0MzViNDZiZWIw
YmIxZWYzMjViYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCkBAIC01MSw4ICs1MSw2IEBAIEV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKFBhZ2UmIHBhZ2UsIFJlcGxheWluZ0lucHV0
Q3VyCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1l
ckZpcmVkKQogICAgICwgbV9zcGVlZChEaXNwYXRjaFNwZWVkOjpGYXN0Rm9yd2FyZCkKIHsKLSAg
ICBtX2N1cnJlbnRXb3JrLmlucHV0ID0gbnVsbHB0cjsKLSAgICBtX2N1cnJlbnRXb3JrLnRpbWVz
dGFtcCA9IDAuMDsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnJ1bigpCkBA
IC05MSw3ICs4OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElu
cHV0U29vbigpCiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5z
dG9wKCk7CiAKLSAgICBkb3VibGUgd2FpdEludGVydmFsID0gMDsKKyAgICBTZWNvbmRzIHdhaXRJ
bnRlcnZhbDsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7
CiAgICAgICAgIC8vIFRoZSBnb2FsIGlzIHRvIHJlcHJvZHVjZSB0aGUgZGlzcGF0Y2ggZGVsYXkg
YmV0d2VlbiBpbnB1dHMgYXMgaXQgd2FzCkBAIC0xMDIsMjIgKzEwMCwyMiBAQCB2b2lkIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgICAgICBpZiAoIW1f
cHJldmlvdXNJbnB1dFRpbWVzdGFtcCkKICAgICAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVz
dGFtcCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogCi0gICAgICAgIGRvdWJsZSB0YXJnZXRJ
bnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0VGltZXN0
YW1wOwotICAgICAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpIC0gbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOworICAgICAgICBTZWNvbmRzIHRhcmdl
dEludGVydmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1l
c3RhbXA7CisgICAgICAgIFNlY29uZHMgZWxhcHNlZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgICAgICB3YWl0SW50ZXJ2YWwgPSB0YXJn
ZXRJbnRlcnZhbCAtIGVsYXBzZWQ7CiAgICAgfQogCiAgICAgLy8gQSBuZWdhdGl2ZSB3YWl0IHRp
bWUgbWVhbnMgdGhhdCBkaXNwYXRjaCB0b29rIGxvbmdlciBvbiByZXBsYXkgdGhhbiBvbgogICAg
IC8vIGNhcHR1cmUuIEluIHRoaXMgY2FzZSwgcHJvY2VlZCB3aXRob3V0IHdhaXRpbmcgYXQgYWxs
LgotICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwKQotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOwor
ICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwX3MpCisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsK
IAotICAgIGlmICh3YWl0SW50ZXJ2YWwgPiAxMDAwLjApIHsKKyAgICBpZiAod2FpdEludGVydmFs
ID4gMTAwMF9zKSB7CiAgICAgICAgIExPR19FUlJPUigiJS0yMHMgVHJpZWQgdG8gd2FpdCBmb3Ig
b3ZlciAxMDAwIHNlY29uZHMgYmVmb3JlIGRpc3BhdGNoaW5nIG5leHQgZXZlbnQgbG9vcCBpbnB1
dDsgdGhpcyBpcyBwcm9iYWJseSBhIGJ1Zy4iLCAiUmVwbGF5RXZlbnRzIik7Ci0gICAgICAgIHdh
aXRJbnRlcnZhbCA9IDA7CisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiAKLSAg
ICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIs
IHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlU
OiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRzKHdhaXRJbnRlcnZhbCAqIDEwMDAu
MCkubWlsbGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJbnRlcnZh
bCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hl
cjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rpc3BhdGNoaW5nKTsKIAogICAgIGlm
IChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7Ci0gICAgICAgIG1fcHJldmlv
dXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAg
ICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsK
ICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50aW1lc3Rh
bXA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1ZTRjM2Y5YTUyMzIzNWIwYzc5NWYz
NC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFiNmI0NDBkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0LmgiCiAjaW5jbHVkZSAiUmVwbGF5aW5n
SW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAgcHJpdmF0ZToKIAogICAgIERpc3Bh
dGNoU3BlZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBhdCB3aGljaCB0aGUgbGFzdCBpbnB1
dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAgIGRvdWJsZSBtX3ByZXZpb3VzRGlz
cGF0Y2hTdGFydFRpbWUgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzRGlzcGF0
Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhlIGxhc3Qg
ZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wIHsw
LjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5
L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2RjMDQ0NmVlNDAwOGI4MWIzOWJmNmM0
YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJlMDA4NDg5ZTMxZjM5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBAIC00Nyw4
ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2VnbWVudCgp
CiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+
KCkpCisgICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAsIG1faWRl
bnRpZmllcihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQotICAgICwgbV90aW1lc3RhbXAoY3Vy
cmVudFRpbWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
UmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNz
aW9uU2VnbWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0NjMyOTk3Y2ExOWY5NDhkZTIzYTJk
OWMuLmY3Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1MzM2NDU3ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCkBAIC0zMCw2ICszMCw3IEBA
CiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIwICs1MiwyMSBAQCBwdWJsaWM6CiAg
ICAgflJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgZG91YmxlIHRpbWVzdGFtcCgpIGNv
bnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAo
KSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgU2VnbWVu
dGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQotICAgIFZl
Y3Rvcjxkb3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BU
aW1pbmdzOyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+JiBldmVudExvb3BUaW1pbmdz
KCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHByaXZhdGU6CiAgICAgUmVwbGF5
U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTZWdtZW50ZWRJbnB1dFN0
b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9vcFRpbWlu
Z3M7CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1fZXZlbnRMb29wVGltaW5nczsKIAor
ICAgIE1vbm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAgdW5zaWduZWQgbV9pZGVudGlmaWVy
OwogICAgIGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAgICBkb3VibGUgbV90aW1lc3RhbXA7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlpbmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQyMGM4ZmFkNDRkZTUzYmMwMTUyZGJl
OTc2YmRkNmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVlYzIzNzdlMGRjNzc5NTFiYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCkBAIC0zMCw2
ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDxyZXBsYXkvSW5w
dXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsOCArNDIsOCBAQCBjbGFz
cyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKIHN0cnVjdCBFdmVudExvb3BJ
bnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0gICAgZG91YmxlIHRp
bWVzdGFtcDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0IHsgbnVsbHB0ciB9OworICAg
IE1vbm90b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xhc3MgUmVwbGF5aW5nSW5wdXRDdXJz
b3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
LmNwcAppbmRleCA4MjI3MGFkZDBmMmYwY2YzZWNkZDc2NTQ4ZTA1YzE0MTgyMGI4NWU2Li4zMDgw
ZDZhOGIxNmJmODcxNDE4YTdmODg3YjcxZWE4MTgyMTk0ZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlLmNwcApAQCAtNTA3LDcgKzUwNyw3IEBAIHZvaWQgU2NvcGU6OnNjaGVkdWxlVXBk
YXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1fcGVuZGluZ1VwZGF0ZVRpbWVyLmlz
QWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BlbmRpbmdVcGRhdGVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgU2NvcGU6OmRpZENoYW5nZUFjdGl2ZVN0eWxlU2hlZXRDYW5kaWRhdGVzKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBmMDQxNWZjYTMwZjljZTRjNDEwMmZhNThk
N2IzNTJmYWZmODVlYzNjLi40MTk2MmFhNzNiNjVkOWJlNjI4MTY5ODgwMjUxOTIxZTc4YTk5OGFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBT
VkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZShib29sIHNlbmRQYXJlbnRMb2Fk
RXZlbnRzKQogCiB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5
bmNocm9ub3VzbHkoKQogewotICAgIHN2Z0xvYWRFdmVudFRpbWVyKCktPnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTVkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggY2JmM2I3YmE1
ODQ4NTA3NzM3ZTk3NWNkZDBhODE5MmQzMzVmYmY1MC4uNzUzZTQwMTRiY2MyMTJjYjMwOGQ4ZDY2
N2NmZmViZmQxM2M0NDVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAgLTIwNSw3ICsyMDUsNyBAQCB2b2lkIFNNSUxUaW1l
Q29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBzZWQsIFNNSUxUaW1lIGZpcmVUaW1l
LCBTTUlMVGltZQogICAgICAgICByZXR1cm47CiAKICAgICBTTUlMVGltZSBkZWxheSA9IHN0ZDo6
bWF4KGZpcmVUaW1lIC0gZWxhcHNlZCwgbWluaW11bURlbGF5KTsKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChkZWxheS52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5LnZhbHVlKCkpKTsKIH0KIAogdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA2
MTFjOTJiOGZiMzQ1MWNmYzZjZjk2YzhlZDM3ZTc4NWEzMmQ5N2Y4Li5hZmFmNWVkYWE4NmMyMzY5
NWZmMmYzMzg2NzUyMzExOWFiNmYyZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFj
a3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgLCBtX2RlZmF1bHRW
aWRlb1Bvc3RlclVSTChzZXR0aW5ncy5kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoKSkKICAgICAsIG1f
Zm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koc2V0dGluZ3MuaXNGb3JjZVBlbmRpbmdXZWJHTFBvbGlj
eSgpKQotICAgICwgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKCkpCisgICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKCkpCiAgICAgLCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3Io
c2V0dGluZ3MudXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpKQogICAg
ICwgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKHNldHRpbmdzLmF1dG9zY3JvbGxG
b3JEcmFnQW5kRHJvcEVuYWJsZWQoKSkKICAgICAsIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1l
bnRFbmFibGVkKHNldHRpbmdzLnF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCgpKQpA
QCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3Jl
VG8oU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgc2V0dGluZ3Muc2V0RGVmYXVsdFZp
ZGVvUG9zdGVyVVJMKG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMKTsKICAgICBzZXR0aW5ncy5zZXRG
b3JjZVBlbmRpbmdXZWJHTFBvbGljeShtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KTsKLSAgICBz
ZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyht
X29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwor
ICAgIHNldHRpbmdzLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwogICAg
IHNldHRpbmdzLnNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IobV91
c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKTsKICAgICBzZXR0aW5ncy5z
ZXRBdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKG1fYXV0b3Njcm9sbEZvckRyYWdBbmRE
cm9wRW5hYmxlZCk7CiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVP
bkNvcHkobV9zaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSk7CkBAIC01MzYsNyArNTM2
LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVy
SW50ZXJ2YWwoZG91YmxlIGludGVydmFsSW5TZWMKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdz
KCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbEluU2Vjb25kcyAqIDEwMDAp
KSk7CisgICAgc2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGlu
dGVydmFsSW5TZWNvbmRzKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNTYwLDcgKzU2MCw3
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygp
LnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOwor
ICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoU2Vjb25kcyh0aW1lKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA1YTRmNmU0ZGFkNDg1Y2I1YWYzMTI3
ZGVmODA3OGRjNzc2MWMxOTQwLi5iZDYzZWJhYjc1MjcxZTkzOTZjOTQxMGJjOTRlMDQ2ZDlmNjE4
NTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTQz
LDcgKzE0Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0cmlidXRlQXdhcmVG
b3JtQ29udHJvbFVJRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ltYWdlc0VuYWJsZWQ7CiAgICAg
ICAgIGJvb2wgbV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKLSAgICAgICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOworICAgICAgICBTZWNvbmRzIG1f
bWluaW11bVRpbWVySW50ZXJ2YWw7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBi
b29sIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlczsKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3Bs
YXlDYXB0aW9uczsKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAg
IFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVu
ZGluZ1dlYkdMUG9saWN5OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX3RpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNl
TGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1
dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQ
bHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3NWM0
YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyArMTg3
LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAKIGlu
dCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVk
QWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5z
dGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRp
bWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1v
dmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9
CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpA
QCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChp
bnQgdGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAg
cmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6
Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25k
cyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhcklu
dGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApp
bmRleCA2YjdkZThjY2VkYjIyNDhiN2M5NzIwM2NiZGU0OThkNTEyYWIyYmRlLi44ZDA3ZGJlMzcy
ZjA5ZTQzMTgxNTZjNjdmZDQyMzRhNTFkYTYxZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRw
UmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4geyB9
OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0
IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0IHdp
dGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0aW9u
PGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0
TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGltZW91
dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsKKyAg
ICBhdXRvIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxs
aXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3RvbmljVGlt
ZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoMF9zLCBpbnRlcnZhbCkpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTQ5
Niw3ICs0OTYsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVx
dWVzdDo6cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9p
ZD4geyBFeGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07CiAgICAgICAgIHNldFBlbmRpbmdBY3Rp
dml0eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25l
dHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+
IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxI
dHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVv
dXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0g
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRU
aW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1p
bGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykpOwogICAgICAgICB9CiAg
ICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwog
ICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVy
LnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgbV9leGNlcHRpb25Db2RlID0gTkVUV09SS19FUlI7CkBAIC0xMTgz
LDcgKzExODMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUoKQogICAgIC8vIFdlIGFy
ZSBub3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBpbiByZXN1bWUoKSBzbyBkaXNw
YXRjaAogICAgIC8vIHRoZSBlcnJvciBldmVudCBpbiBhIHRpbWVyLgogICAgIGlmIChtX2Rpc3Bh
dGNoRXJyb3JPblJlc3VtaW5nICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggMDRhYmMwOWRkN2Y2YmI4
YjhhOTVhNTI0MTI3YzE0NjhjZmRhYzI3MS4uMmY4OGY1OTc0NzYwNDY2ZGU2MGJhOTYyNDBhMjJj
OWQwY2FmOGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya0Vycm9yVGltZXJGaXJlZCgpOwogCiAg
ICAgdW5zaWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRzIHsgMCB9OwotICAgIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5kaW5nVGltZTsKKyAgICBNb25vdG9uaWNU
aW1lIG1fc2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90aW1lb3V0VGltZXI7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMw
ODczLi5lNGM5OTU1MTA0MDYxMzI3M2FkZmUxNzU4M2I4YTA3ZjJmZDdkMjE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMg
cGVyIHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgPSA1
MF9tczsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVu
dFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEy
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhy
b3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJvdHRs
ZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhD
b21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIHN0
YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAg
ICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3Qg
ZnJlcXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVl
bnQgZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApA
QCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGU6OnJlc3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2YgYWN0aXZlIERPTSBvYmplY3RzIHRvIHJl
c3VtZSB0aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBldmVudC1oYW5kbGVyCiAgICAgLy8gY291
bGQgaW5zZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMgdG8gdGhlIGxpc3QuCiAgICAgLy8gbV9k
ZWZlckV2ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxsIGRlZmVycmVkIGV2ZW50cyBoYXZlIGJl
ZW4gZGlzcGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXgg
OTcxYmQyMzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUwMzQ4NGE4ZC4uMzQwZmI1YzAwZDE3M2Zi
NjE2MWE3NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAgLTU1LDcgKzU1
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNl
Y29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAgICAgdm9pZCBk
aXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTku
LmZhZjQ0YmFmNDYyZjQ5ZDc3OGFiMTE3ZDRiYWUwNDZkMWY0MmM3MmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5n
ZXMsIGRvbid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVw
IGEgYmF0Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhl
IGZvbGxvd2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRl
cnZhbCA9IDEuMDsKK3N0YXRpYyBjb25zdCBhdXRvIHN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxX3M7
CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBz
eW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZl
IHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdl
bmVyYWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxl
SXRlbUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUKIAogICAg
IG1fY2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5j
SW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJ
bnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUg
Y2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1Rp
bWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5
bmM6OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9p
dGVtc0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewot
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7Cisg
ICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAog
ICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJs
ZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5j
dGlvbi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsKICAgICAKICAg
ICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3Rh
cnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFy
dE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICAvLyBUaGUg
Zm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0
aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3
ICsxNzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgICAg
ICAvLyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwgc2NoZWR1bGUg
aXQgYW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9maW5hbFN5bmNT
Y2hlZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7
Ci0gICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZh
bCk7CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3
IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRp
YWxTeW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2luZywgdGhlbiB3
ZSBuZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQoIW1fc3luY1Rp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFn
ZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdl
U3luY0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGJhbGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhl
CiAgICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hl
ZHVsZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFj
a2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi5h
ZDc1N2Q4OGRkMTY2ZTc2MTk1YTUwMzVhZDUzZjAwOTUwOTlmNzVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUxLDggKzUxLDggQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsK
IAogLy8gSWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFi
YXNlLCBjbG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQotLy8gYWZ0ZXIgaXQgaGFzIGJlZW4g
aWRsZSBmb3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBj
b25zdCBkb3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMDsKKy8v
IGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
IHNlY29uZHMuCitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsID0gMzAwX3M7CiAgICAgCiB2b2lkIFN0b3JhZ2VUcmFja2VyOjppbml0aWFsaXplVHJh
Y2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdlVHJhY2tlckNsaWVudCogY2xp
ZW50KQogewpAQCAtOTcsNyArOTcsNyBAQCBTdG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIo
Y29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCkKICAgICAsIG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlx
dWU8U3RvcmFnZVRocmVhZD4oKSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX25l
ZWRzSW5pdGlhbGl6YXRpb24oZmFsc2UpCi0gICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbChEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQorICAgICwgbV9zdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWwoZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBk
MjJlOWEzOWY5YjhjMDg5MzdmNTk0ZThmYTNiZGFjYTg4Li43MjZmMzI1MWIxZDFlZWY2YzFhYWYx
MTI2MWMwZDI5OTdiNTkxNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIu
aApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpc0FjdGl2ZSgpOwog
Ci0gICAgZG91YmxlIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9Ci0gICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bCgpIHsgcmV0dXJuIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9CisgICAgdm9pZCBz
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkgeyBtX3N0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CiAKICAgICB2b2lkIHN5bmNGaWxl
U3lzdGVtQW5kVHJhY2tlckRhdGFiYXNlKCk7CiAKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRl
OgogICAgIAogICAgIGJvb2wgbV9pc0FjdGl2ZTsKICAgICBib29sIG1fbmVlZHNJbml0aWFsaXph
dGlvbjsKLSAgICBkb3VibGUgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vj
b25kcyBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKIH07CiAgICAgCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0
L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggMTFiY2UzYmVlMGUwYmExZDcwMmY3
MmM2NjQ1M2NjMmEyYmRlYjdmNi4uYTZjZjg0ZmMxOTUyNTk2M2Q0NmQyYmFjOTU3YWZhMmIzZmE4
YTFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2Vi
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpyZXN1bWVQZW5kaW5nUmVxdWVzdHMoKQogdm9pZCBXZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKQogewogICAg
IGlmICghbV9yZXF1ZXN0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCBiOWFiOGEwZGRkY2M3NjQ3ZGE3
ODYzMzk4NDIzMjdjYTVjN2E5N2E5Li4wNmU5ZWQ2YzU3ZGI1NDcyMjdhZjQyYzVhMmYwNWFmZGFj
ZGVlZTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC03NDQsNyArNzQ0LDcg
QEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKCkK
ICAgICBtX3BsdWdpblJlcXVlc3RzLnJlbW92ZUZpcnN0KCk7CiAgICAgCiAgICAgaWYgKCFtX3Bs
dWdpblJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAK
ICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBA
QCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9
IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQ
b3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJl
cXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBSZWZQdHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0+IHN0cmVhbSA9IEhvc3RlZE5ldHNj
YXBlUGx1Z2luU3RyZWFtOjpjcmVhdGUodGhpcywgcmVxdWVzdElELCByZXF1ZXN0KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0u
bW0KaW5kZXggMDVjYzRkNDcyZGE4NjEwYTM0YmE1YmRiZWM4YTE2M2U0YWQzOGI5NC4uZGIwYzAw
ZmU3YWM1ZGM3ZGY3MGU5OTBiZjYwMWNlMTlmZWZmNWYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC01MjksNyAr
NTI5LDcgQEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAg
ICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7CiAgICAgICAgICAgICAvLyBQbHVnLWluIGNh
bid0IHJlY2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0IG5vdy4gU2VuZCBpdCBsYXRlci4KICAgICAg
ICAgICAgIGlmICghbV9kZWxpdmVyRGF0YVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAg
ICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgICAgICBt
X2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihk
ZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxCeXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4
IGQ5ZTU4ZTMzNjk0ZDUwY2MxZjY3NmIwNGZjMWY5OGUzZWZhNGJkM2UuLmMyYzY0ZTJhM2EwNTFm
OTg1YmU5YTRjMDU3YmJkNGZjNzNkYzRmYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xMTEsNyArMTExLDcgQEAgc3Rh
dGljIFdlYk5ldHNjYXBlUGx1Z2luVmlldyAqY3VycmVudFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5
cGVkZWYgc3RydWN0IE9wYXF1ZVBvcnRTdGF0ZSogUG9ydFN0YXRlOwogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1Oworc3RhdGljIGNvbnN0IGF1dG8g
VGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjVfczsKIAogY2xhc3MgUGx1Z2luVGltZXIgOiBw
dWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAg
ICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0aW1l
SW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBhdXRvIHRpbWVJbnRlcnZh
bCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAgICAgICAgIAogICAg
ICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0
aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZh
ZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2Iw
NWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdl
TWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5h
Z2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIHB0aHJlYWRfb25jZV90IHJlZ2lzdGVy
TG9jYWxTdG9yYWdlUGF0aCA9IFBUSFJFQURfT05DRV9JTklUOwogCiArICh2b2lkKXNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVydmFsCiB7Ci0gICAgV2ViS2l0OjpT
dG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChp
bnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKICsgKHZvaWQp
Y2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KaW5kZXggMTUyMjg5MzY4ODZiNWRjMDc5NDYwZjYwOTJhMDQzNDY0NTI4YWEzMS4uOWIw
MWJhNDE0N2ExODg4N2Y2NjVkY2Y1OTFhZDMyZmIzMTg2NzNhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtODMzNCw3ICs4MzM0LDcgQEAgc3RhdGljIFdlYkZyYW1lVmll
dyAqY29udGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAgICAgdW5zaWduZWQgY2FjaGVU
b3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7
CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9Owor
ICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAgIHVuc2ln
bmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDYxLDcgKzg0NjEsNyBAQCBzdGF0aWMgV2Vi
RnJhbWVWaWV3ICpjb250YWluaW5nRnJhbWVWaWV3KE5TVmlldyAqdmlldykKICAgICAgICAgLy8g
Y2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUg
cmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heDx1bnNp
Z25lZD4oMjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAg
ICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJjMThkZWI3NWNjZDcwODI3
YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLjdkYjI3NmUwNzg0ZmFlMGMyNzE4NjAzYjhmMDQyYzY4
MThjZDU1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0aW1lckludGVydmFsID0g
MC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4wMzNfczsKIAog
Ly8gSFVEIFNpemUKIHN0YXRpYyBjb25zdCBpbnQgd2luZG93SGVpZ2h0ID0gNTk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4u
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2lu
LmNwcAppbmRleCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li4xNzI5
ZmZmNjNjMGZmYTQ2NzVkMzc4MTNhYzZhYzcwZDc2NDlkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAg
LTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3Mg
Rmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRl
bwogLy8gcGxheWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tp
bmcgaW50byBoaWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldp
bi5jcHApLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwg
PSAwLjAxNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZh
bCA9IFNlY29uZHMoMC4wMTYpOwogCiAvLyBEdXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBt
ZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZlcnkgNW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNz
YWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVydmFsID0gMC4wMDU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwIGIvU291cmNlL1dlYktpdC93aW4v
UGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCBiNjdmYTUzZmU4MGIxZWY4YzAxYWZmYzg2
ZGE1ZDcxNjMxNTVkZDI0Li4xNzU0YmRkNTRmMDczOWUyZGY2Y2FjYjc5ZTE1MTVhNDkyMTdjZjFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTY3
LDcgKzY3LDcgQEAgdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24oKQogICAgIEFT
U0VSVChtX21vZHVsZSk7CiAgICAgQVNTRVJUKCFtX2xvYWRDb3VudCk7CiAKLSAgICBtX2ZyZWVM
aWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnJlZUxpYnJhcnlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJl
YW0uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCmluZGV4
IDJlZjM5NTViZTYxYThkMDU0MjRhZDEzOTk2MmRkMGQ3ZmE2YWU0NDQuLmRhODMzYWFmNGY4YmFl
NDRiNDgwNGIzNTIxZmNkMTc3YjhjYWRkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblN0cmVhbS5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIFBsdWdpblN0cmVhbTo6
ZGVsaXZlckRhdGEoKQogICAgICAgICBpbnQzMl90IGRlbGl2ZXJ5Qnl0ZXMgPSBtX3BsdWdpbkZ1
bmNzLT53cml0ZXJlYWR5KG1faW5zdGFuY2UsICZtX3N0cmVhbSk7CiAKICAgICAgICAgaWYgKGRl
bGl2ZXJ5Qnl0ZXMgPD0gMCkgewotICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFs
Qnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
aW5kZXggMjA3YTk2MTNjY2E4ZDljMTAzN2NmYjRkMWIxZTQyYTY4NTE5NTY5Ni4uNGVkNmQ1YjBi
NTU5NDVmMTcwMDNlY2MyNGYzOTZmYTg2NDQ5NjAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC00NzMsNyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpy
ZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgLy8gU2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUg
Y2FsbGluZyBwZXJmb3JtUmVxdWVzdCBzaW5jZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1S
ZXF1ZXN0IGNhbiBjYXVzZSB0aGUgcGx1Z2luIHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAo
IW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAg
cGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC00ODMsNyArNDgzLDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpzY2hlZHVsZVJlcXVlc3Qoc3RkOjp1bmlxdWVfcHRyPFBsdWdpblJlcXVl
c3Q+IHJlcXVlc3QpCiAgICAgbV9yZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAK
ICAgICBpZiAoIW1faXNKYXZhU2NyaXB0UGF1c2VkKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBOUEVycm9yIFBsdWdpblZpZXc6OmxvYWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYg
ZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRh
KQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNl
ZChib29sIHBhdXNlZCkKICAgICBpZiAobV9pc0phdmFTY3JpcHRQYXVzZWQpCiAgICAgICAgIG1f
cmVxdWVzdFRpbWVyLnN0b3AoKTsKICAgICBlbHNlIGlmICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZl
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCmluZGV4IDJmY2E5ZjNjOTVkNzNkYmEzYWMz
MjYyNTllYTg2ZGRjZGRhMjA3MGYuLmU1YzNjNTRhZjk3MWM2ZWQ5MzgxMjI2YzZiZjRkMDY2ODli
MmZlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dp
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApA
QCAtMzM0LDcgKzMzNCw3IEBAIFBsdWdpblZpZXc6OnduZFByb2MoSFdORCBoV25kLCBVSU5UIG1l
c3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiAKICAgICAgICAgcHVzaFBvcHVw
c0VuYWJsZWRTdGF0ZSh0cnVlKTsKIAotICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgfQogCiAgICAgaWYgKG1lc3NhZ2UgPT0gV01fUFJJTlRDTElFTlQpIHsKQEAg
LTgzOCw3ICs4MzgsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KE5QUmVjdCog
cmVjdCkKICAgICAgICAgaWYgKG1fcGx1Z2luLT5xdWlya3MoKS5jb250YWlucyhQbHVnaW5RdWly
a1Rocm90dGxlSW52YWxpZGF0ZSkpIHsKICAgICAgICAgICAgIG1faW52YWxpZFJlY3RzLmFwcGVu
ZChyKTsKICAgICAgICAgICAgIGlmICghbV9pbnZhbGlkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMC4wMDEpOworICAg
ICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgxX21zKTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChyKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIzODY5NzA4
YjVhYjdjN2E0YWQyMjI4Mi4uYTEwYTAyMDY0YmU5MzAxZTA4NDRiNWUwYjRjMDA5OGU2MDBmNGU5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcApAQCAtMzQ5LDcgKzM0OSw3
IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVz
aCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAgICBtX2xh
eWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNV9zKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAKaW5kZXggZDU3MDA0OGRhN2EyNjQwNmJjYWQwNmMyNWRlODY4ZmU1YWNiMmIwMy4u
ZDJhM2QyNTZmYzQzMGJmZDNlZTVmMDcxMzkyY2RhOTFlMDVlMzA1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5jcHAKQEAgLTUyNSw3ICs1MjUsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2Vi
Q2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9
IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVk
IGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVT
aXplID0gMDsKIApAQCAtNjM3LDcgKzYzNyw3IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2Rl
bChXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRo
ZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAg
ICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gbWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkp
OwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwgPSA2MF9zOwogCiAgICAgICAgIC8vIE1lbW9yeSBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMp
CiAgICAgICAgIC8vIChUaGVzZSB2YWx1ZXMgYXJlIHNtYWxsIGJlY2F1c2UgV2ViQ29yZSBkb2Vz
IG1vc3QgY2FjaGluZyBpdHNlbGYuKQpAQCAtMTUxNiw3ICsxNTE2LDcgQEAgdm9pZCBXZWJWaWV3
OjpjbG9zZVdpbmRvd1Nvb24oKQogICAgIG1fY2xvc2VXaW5kb3dUaW1lciA9IFdpbmRvd0Nsb3Nl
VGltZXI6OmNyZWF0ZSh0aGlzKTsKICAgICBpZiAoIW1fY2xvc2VXaW5kb3dUaW1lcikKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBBZGRSZWYoKTsK
IH0KQEAgLTc0NTIsNyArNzQ1Miw4IEBAIEhSRVNVTFQgV2ViVmlldzo6ZGVmYXVsdE1pbmltdW1U
aW1lckludGVydmFsKF9PdXRfIGRvdWJsZSogaW50ZXJ2YWwpCiB7CiAgICAgaWYgKCFpbnRlcnZh
bCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqaW50ZXJ2YWwgPSBET01UaW1lcjo6
ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLmNvdW50KCkgLyAxMDAwLjsKKworICAgICppbnRlcnZh
bCA9IERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkudmFsdWUoKTsKICAgICByZXR1
cm4gU19PSzsKIH0KIApAQCAtNzQ2MSw4ICs3NDYyLDcgQEAgSFJFU1VMVCBXZWJWaWV3OjpzZXRN
aW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCiAgICAgaWYgKCFtX3BhZ2UpCiAg
ICAgICAgIHJldHVybiBFX0ZBSUw7CiAKLSAgICBhdXRvIGludGVydmFsTVMgPSBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGludGVydmFs
ICogMTAwMCkpOwotICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRl
cnZhbChpbnRlcnZhbE1TKTsKKyAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURPTVRp
bWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgIHJldHVybiBTX09LOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2su
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcApp
bmRleCA5YmZhNGVjNjRjODQ3MGM3ZGJlYmNlNGZmZTNiZmMwNGM4NTYzYjkwLi45NGUxNDdmNTI4
YTU4M2ZkMGRlY2E3MTE1MzAzNjE5MzJlMTI2NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9p
ZCBOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQogewog
ICAgIEFTU0VSVCh0eXBlICE9IE5vRmFpbHVyZSk7CiAgICAgbV9zY2hlZHVsZWRGYWlsdXJlVHlw
ZSA9IHR5cGU7Ci0gICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZmFp
bHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VD
b21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCmluZGV4IDUxN2Y4NDVhYWJlNTIzZjJlZmE5
NjE4NGVlZjcyNTNhZTJjYTRkOWYuLjBmMzAwMmRhZTI1ZmFhN2FlOWViMjc5Yjc0MzkyOTQ0YmQw
MjE3NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5j
cHAKQEAgLTUwLDcgKzUwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAjaWYgVVNFKE5F
VFdPUktfU0VTU0lPTikKIAogc3RydWN0IE5ldHdvcmtMb2FkOjpUaHJvdHRsZSB7Ci0gICAgVGhy
b3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXks
IFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCisgICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIFNlY29uZHMgZGVsYXks
IFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCiAgICAgICAgIDogdGltZXIobG9hZCwgJk5ldHdvcmtMb2FkOjp0aHJvdHRsZURl
bGF5Q29tcGxldGVkKQogICAgICAgICAsIHJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2UpKQogICAg
ICAgICAsIHJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKQEAgLTMx
Miw3ICszMTIsNyBAQCB2b2lkIE5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3Jr
U2Vzc2lvbihSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsCiAgICAgfQogCiAgICAgYXV0byBk
ZWxheSA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5sb2FkVGhyb3R0bGVMYXRlbmN5KCk7
Ci0gICAgaWYgKGRlbGF5ID4gMG1zKSB7CisgICAgaWYgKGRlbGF5ID4gMF9zKSB7CiAgICAgICAg
IG1fdGhyb3R0bGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFRocm90dGxlPigqdGhpcywgZGVsYXksIFdU
Rk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAppbmRleCBjOTZkMDgyOWUxNWI2ZDg4YmFlMTVjZjBjMTJjYzRjZDIzOGYxMTNiLi44
YzViN2E0ODg1ZmM0NDllZWFkZTA3NDRjZDlmYzYwMjVhY2U2MWE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTExNSw3ICsxMTUsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGdyYW50U2FuZGJveEV4dGVuc2lvbnNUb0RhdGFiYXNlUHJv
Y2Vzc0ZvckJsb2JzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZ1bmN0aW9uPHZv
aWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVM
YXRlbmN5OyB9CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1
cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CiAKIHByaXZhdGU6CiAgICAgTmV0d29ya1Byb2Nl
c3MoKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zdXBwcmVzc01l
bW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2tDYWNoZUlzRGlz
YWJsZWRGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZh
bHVhdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0
ZW5jeTsKKyAgICBTZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIHR5cGVkZWYg
SGFzaE1hcDxjb25zdCBjaGFyKiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQcm9jZXNzU3VwcGxl
bWVudD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+PiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXA7
CiAgICAgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBmNDU2OWM5NDY5YTU3NzJlNjBiMWM5YmZmNTYw
ODVkM2FjYjQzYzNkLi43MDk1MTUzMGUzMjlmYTFjNWYzZmY4ZTY3MmI5MzQzMDhjNThmOGFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNs
dWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIlNh
bmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNzMsNyAr
NzQsNyBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJv
b2wgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJv
b2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOwogICAgIGJvb2wgdXJsUGFyc2VyRW5h
YmxlZCB7IGZhbHNlIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0
bGVMYXRlbmN5IHsgMG1zIH07CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5OwogCiAg
ICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHM7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCmluZGV4IDQyNTVhZGU0MTE1MGRhOTY5ZjIxMTE3
NTEyZDdkZjZmN2Y3YzljNGEuLjViMjllMGViZDQzYTM4YmU1MmFlNjZkYzUyMTAzMmVjMjA2NzBh
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6
CiAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBpZGVudGlmaWVyIHsgMCB9OwogICAgIFZlY3Rv
cjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IHJlcXVlc3RCb2R5U2FuZGJveEV4dGVuc2lvbnM7
IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBSZWZQdHI8U2Fu
ZGJveEV4dGVuc2lvbj4gcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOyAvLyBDcmVhdGVkIGF1dG9t
YXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBt
YXhpbXVtQnVmZmVyaW5nVGltZSB7IDBtcyB9OworICAgIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmlu
Z1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkw
MTA1OTk2OGEzOTEzMDFkYTJhYzkyMzc0YjdmOTI0NWQ2OTRkZDYuLjJjN2FlM2FhNzZiNzI5NzU2
NDgwMzAzNTZiZDlmMDc0MjBlYzJmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjA5LDcgKzIwOSw3
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIAogICAgIGNvbnN1bWVTYW5kYm94RXh0ZW5zaW9ucygp
OwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMubWF4aW11bUJ1ZmZl
cmluZ1RpbWUgPiAwbXMpCisgICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMu
bWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiAwX3MpCiAgICAgICAgIG1fYnVmZmVyZWREYXRhID0gU2hh
cmVkQnVmZmVyOjpjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKaW5kZXggMzAwYzMwODEyNGYzNGNhNjdh
OWRhNWJiNzQwNTRlNjAyZWMyOWQxMi4uYjE0OGE1ZWRjZTliYjk5NWY3ZTU5NjhjMTY1OTJmMjc5
ODQ4NDIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xv
YWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCkBAIC00
Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJl
c3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8v
IFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dGFydE9uZVNob3QoMTAwMF9taW4pOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGNjYTk4NWZjZGFm
MDFkNWI2OGE0YjNmMTU3YWM2ZjJhZDljZmFkYzMuLjEyNWQ3ZTg1ZmUzMGNiNTRhZDAzNmM5ODgx
MTc4MWJlNDVhYjgxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVk
RW50cnlMaWZldGltZSA9IDEwczsKK3N0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlm
ZXRpbWUgPSAxMF9zOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIEhhc2hDb3VudGVkU2V0
PFN0cmluZz4mIGFsbFNwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdlcygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
dGF0aXN0aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0YXRpc3RpY3MuY3BwCmluZGV4IDEwYTUyMDNlZmQ4MTgwZTBhY2EzNGJlNTRkZjUy
NTgyZjU5Yzk1ZjcuLjgyMTJjNzYzN2MzMTJkZmZmNzcxY2I3YmEwOTE5YmU5MTliNThlNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBT
dGF0aXN0aWNzRGF0YWJhc2VOYW1lID0gIldlYktpdENhY2hlU3RhdGlzdGljcy5kYiI7Ci1zdGF0
aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCA9
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoMTAwMDApOworc3RhdGljIGNvbnN0IFNlY29uZHMg
bWluaW51bVdyaXRlSW50ZXJ2YWwgPSAxMF9zOwogCiBzdGF0aWMgYm9vbCBleGVjdXRlU1FMQ29t
bWFuZChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgc3Fs
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCA0NTMwODNhNGE0OWIwN2Y3ZGEwMjMwODlj
OTdhODU0MTgxN2I3ZGQ2Li4wNzNhZDZkMmRjOWQxOWI2ZjhjZWU0N2E1OTMwNTc0Y2IxZjhiODM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtNTY1LDcgKzU2NSw3IEBAIHZvaWQgU3RvcmFn
ZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9uPiBy
ZWFkT3BlcmF0aW9uCiAgICAgbV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92ZShyZWFk
T3BlcmF0aW9uUHRyKSk7CiAKICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVy
YXRpb25zIHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhl
ciBnbyB0byBuZXR3b3JrLgotICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7Cisg
ICAgY29uc3QgU2Vjb25kcyByZWFkVGltZW91dCA9IDEuNV9zOwogICAgIG1fcmVhZE9wZXJhdGlv
blRpbWVvdXRUaW1lci5zdGFydE9uZVNob3QocmVhZFRpbWVvdXQpOwogCiAgICAgYm9vbCBzaG91
bGRHZXRCb2R5QmxvYiA9IG1heUNvbnRhaW5CbG9iKHJlYWRPcGVyYXRpb24ua2V5KTsKQEAgLTc4
Nyw3ICs3ODcsNyBAQCB2b2lkIFN0b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBN
YXBwZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJvZHlIYW5kbGVyKQogCiAgICAgLy8gRGVsYXkgdGhl
IHN0YXJ0IG9mIHdyaXRlcyBhIGJpdCB0byBhdm9pZCBhZmZlY3RpbmcgZWFybHkgcGFnZSBsb2Fk
LgogICAgIC8vIENvbXBsZXRpbmcgd3JpdGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3cml0ZXMgd2l0
aG91dCBkZWxheS4KLSAgICBzdGF0aWMgY29uc3QgYXV0byBpbml0aWFsV3JpdGVEZWxheSA9IDFz
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxXcml0ZURlbGF5ID0gMV9zOwogICAg
IG1fd3JpdGVPcGVyYXRpb25EaXNwYXRjaFRpbWVyLnN0YXJ0T25lU2hvdChpbml0aWFsV3JpdGVE
ZWxheSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggNGNlZmE4ZWIzNTdhZTQ0YmQy
NWE1NzQ2YjQ1ZmY5YTA4YjRlMjBkZi4uMThmMGNjZDhmNzE0MTIzYzk4YTk1MTU0OTJkNzU4NjM2
ZTZlYzQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTMzMyw3ICszMzMsNyBAQCB2b2lk
IE5ldHdvcmtEYXRhVGFza0NvY29hOjpjYW5jZWwoKQogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2Nv
YTo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1
cmUpCi0gICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9m
YWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgW21fdGFzayByZXN1bWVdOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtE
YXRhVGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3
b3JrRGF0YVRhc2tTb3VwLmNwcAppbmRleCAzYjU1YzJkZDE3ZmU5ZjYzYTY0NTgxMWRjMzAyN2Q2
ZGU5NTcwMzU5Li5kNmE4NmEyNGU0ZjEyYmNiZTI4NDcwNGIwYmFjNDhlNTkyODczNWEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFz
a1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a0RhdGFUYXNrU291cC5jcHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFz
a1NvdXA6OnRpbWVvdXRGaXJlZCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnN0YXJ0VGlt
ZW91dCgpCiB7CiAgICAgaWYgKG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkK
LSAgICAgICAgbV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChtX2ZpcnN0UmVxdWVzdC50aW1l
b3V0SW50ZXJ2YWwoKSk7CisgICAgICAgIG1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoU2Vj
b25kcyhtX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSkpOwogfQogCiB2b2lkIE5ldHdv
cmtEYXRhVGFza1NvdXA6OnN0b3BUaW1lb3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDlhYzc2YzZkMzk0N2RlMjY4NzFlYjY4OTIw
NjViZGE2Yjc3OGNmZTEuLmQwNDZhZjVkZTIwNzM2MzI3YjEwNzY4MzBlY2I5YjhhOWVmZWQ1ODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcApA
QCAtMzIsNiArMzIsMzYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25p
Y1RpbWUmIHRpbWUpCit7CisgICAgZW5jb2RlciA8PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCku
dmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBkb3VibGUgdmFs
dWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIHRpbWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZW5jb2Rl
ciA8PCBzZWNvbmRzLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZG91Ymxl
IHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50Pjo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86
OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYgdGltZVBvaW50KQogewogICAgIGVuY29kZXIgPDwg
c3RhdGljX2Nhc3Q8aW50NjRfdD4odGltZVBvaW50LnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKaW5kZXgg
ZjZkODhiN2NkYmI3ZGU2ZmE2YTJkY2I1NGFmODZmYTNjYTc5NzZiMi4uMDc1YmZmNTM1MTlkZjg5
N2Y3NTAzNjgyNWJkMjY5Zjg3ZjI2OWFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTE2Myw3ICsxNjMsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZS4uLiBFbGVtZW50cz4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjp0dXBsZTxFbGVtZW50cy4u
Lj4+IHsKICAgICB9CiB9OwogCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFJlcCwgdHlwZW5hbWUgUGVy
aW9kPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQZXJp
b2Q+PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlvZD4mIGR1cmF0aW9uKQogICAgIHsKQEAgLTM3
OSw2ICszNzgsMTYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBIYXNoQXJn
LCB0eXBlbmFtZSBLZXlUcmFpdHNBcmc+IHN0cnVjdCBBcmd1bWUKICAgICB9CiB9OwogCit0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3RvbmljVGltZT4geworICAgIHN0
YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpNb25vdG9uaWNUaW1lJik7Cisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKK307
CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpTZWNvbmRzPiB7CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6OlNlY29uZHMmKTsKKyAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25kcyYpOworfTsKKwogdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBzdGQ6OmNo
cm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2Rl
KERlY29kZXImLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCBmMDEyYTAxYjU0ZGU3ZDFm
Y2UyMTc5N2U2ZjQ1NTA1MGM4M2U2ODg1Li45MDJiZTRkMWE3M2Y4ZTA0N2Q5MjA5ZjMyZDQ1YTI4
NmE5NzAzMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAg
LTE4Niw3ICsxODYsNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGtpbGwoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRz
KTsKKyAgICB2b2lkIHRlcm1pbmF0ZVNvb24oU2Vjb25kcyk7CiAjZW5kaWYKIAogICAgIGJvb2wg
aXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmluZGV4IDI4OTk1MTI5NDYzZTgz
MTkxMDcwYmVlODVmZGJlODcwNTQ4ZTU1YjEuLjcwNDQ2OTE1NmFmODFiZDQxNThmMTcxZTA4MTdk
ODhlZGJmYjE3YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMv
Q29ubmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nv
bm5lY3Rpb25NYWMubW0KQEAgLTgwLDIwICs4MCwyMCBAQCBlbnVtIHsKIC8vICAgIHRvIGVuc3Vy
ZSBpdCBoYXMgYSBjaGFuY2UgdG8gdGVybWluYXRlIGNsZWFubHkuCiBjbGFzcyBDb25uZWN0aW9u
VGVybWluYXRpb25XYXRjaGRvZyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4m
IHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBzdGF0aWMgdm9p
ZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29u
bmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICB7Ci0gICAg
ICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRl
cnZhbEluU2Vjb25kcyk7CisgICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90
PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIENvbm5lY3Rp
b25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGND
b25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgICAgICA6IG1feHBjQ29ubmVjdGlvbih4
cGNDb25uZWN0aW9uKQogICAgICAgICAsIG1fd2F0Y2hkb2dUaW1lcihSdW5Mb29wOjptYWluKCks
IHRoaXMsICZDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6d2F0Y2hkb2dUaW1lckZpcmVk
KQogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgLCBtX2Fzc2VydGlvbihzdGQ6Om1ha2VfdW5p
cXVlPFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNfY29ubmVjdGlvbl9nZXRfcGlk
KG1feHBjQ29ubmVjdGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91
bmQpKQogI2VuZGlmCiAgICAgewotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90
KGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hv
dChpbnRlcnZhbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgd2F0Y2hkb2dUaW1lckZpcmVkKCkK
QEAgLTE1MSwxMCArMTUxLDEwIEBAIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1JbnZhbGlkYXRl
KCkKICNlbmRpZgogfQogICAgIAotdm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKGRvdWJs
ZSBpbnRlcnZhbEluU2Vjb25kcykKK3ZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihTZWNv
bmRzIGludGVydmFsKQogewogICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCi0gICAgICAgIENvbm5l
Y3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRj
aGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgQ29ubmVj
dGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNo
ZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogfQogICAgIAogdm9pZCBDb25uZWN0aW9u
OjpwbGF0Zm9ybUluaXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCmlu
ZGV4IGRhOWRiMjI0ZWRjMGVhMGNiZDAwMmRjMTcxMmEwYzE4NmQxOTM1ZTQuLjE3Mzk1MjUwOTU3
MWQ4ZjQ5MGE3M2U3ZmE5Njk1OTNjN2I4MzI0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTE0Nyw3ICsx
NDcsNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSgpCiAgICAgaWYgKG1f
cGx1Z2luRGVzdHJ1Y3Rpb25Qcm90ZWN0Q291bnQgfHwgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9u
KCktPmluU2VuZFN5bmMoKSkgewogICAgICAgICAvLyBXZSBoYXZlIHBsdWctaW4gY29kZSBvbiB0
aGUgc3RhY2sgc28gd2UgY2FuJ3QgZGVzdHJveSBpdCByaWdodCBub3cuCiAgICAgICAgIC8vIERl
c3Ryb3kgaXQgbGF0ZXIuCi0gICAgICAgIG1fcGx1Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIxNSw3ICsyMTUsNyBAQCB2b2lkIFBsdWdpbkNv
bnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
Ly8gU3RhcnQgdGhlIHRpbWVyLgotICAgIG1fcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgbV93YWl0aW5nRm9yRGlk
VXBkYXRlID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuY3BwCmluZGV4IGE3MjRlYjA4ZjkwZDU5ZGIxMjk4MjM0NDFlNzdlMDhmZWVjN2Iy
NWIuLjM5NWQ3NjRkNDcxZjUxZGU5OTgwYzYxMjFlNjAzMmNmYWM0OTgyZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMjIwLDkgKzIy
MCw5IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRl
RGF0YUZvckhvc3ROYW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0
aW1lIDw9IDAuMCkKKyAgICBpZiAobGlmZXRpbWUgPD0gMF9zKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgZGlzYWJsZVRlcm1pbmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDlhOTBlNGMyNTM5M2E3ZWQ0NmM5ODdiNWVlNDQ0
OWE3NGFiOTIzM2IuLjIwYWMwNjdiMDQ5NWU2YWM3NjIyYzAwNjIwMDM4YzAxZjVmMzAyOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0xMDIs
NyArMTAyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2lu
UHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIAotICAgIHZv
aWQgc2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRp
bWUoU2Vjb25kcyk7CiAgICAgdm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCk7CiAgICAg
Ly8gT3VyIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb25zLgogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DYWNoZU1vZGVsLmNwcAppbmRleCA0MDNmMzRkZmNkNGI3YWRjNDliYTA0NjJiOWZkZWZhNmRl
ZjNmZDQ1Li5lYmU2ZWQyZDJlOTFhNDc4OWVhMTVmY2I3MzQzNDkwZDVkNzE2ZDRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
aW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJv
bm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBw
YWdlQ2FjaGVDYXBhY2l0eSkKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1v
ZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBj
YWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNv
bmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hl
Q2FwYWNpdHkpCiB7CiAgICAgdWludDY0X3QgbWVtb3J5U2l6ZSA9IHJhbVNpemUoKSAvIE1COwog
CkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hl
TW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2kKICAgICAgICAgLy8g
Y2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUg
cmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heCgyNHUs
IGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICAgICAgICAgYnJlYWs7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKaW5kZXggY2Y0NzM0NTRmZTJhYzMzZDNjYTQz
YTcyZmE1OTNlNGM0ZTUxZDNkNS4uMWUwNzc2ODhlYTc4ZGM4NDI5ODhmNGY1ZjAzYWNhYmI5MzEy
NGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCkBAIC0yNiw4ICsyNiw4IEBACiAj
aWZuZGVmIENhY2hlTW9kZWxfaAogI2RlZmluZSBDYWNoZU1vZGVsX2gKIAotI2luY2x1ZGUgPGNo
cm9ubz4KICNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzcsNyArMzcsNyBAQCBlbnVtIENhY2hlTW9kZWwgewog
ICAgIENhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlcgogfTsKIAotdm9pZCBjYWxjdWxhdGVNZW1v
cnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVu
c2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFj
aXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2Fj
aGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25l
ZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwg
U2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VD
YWNoZUNhcGFjaXR5KTsKIHZvaWQgY2FsY3VsYXRlVVJMQ2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1
aW50NjRfdCBkaXNrRnJlZVNpemUsIHVuc2lnbmVkJiB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1
aW50NjRfdCYgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXggMTc1Nzg5ZmI5YWU3MTNm
MTZlZWVkYmZhYmUwMGQ2ZjMzZTYzY2YyMy4uNDliNzk0NjVkZjZlMWIyYTEyMWMzZmE1MmQwMDNm
YjE5NTFiYzI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMz
LDggKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJv
Y2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlv
bkNvdW50ZXIoMCkKKyAgICA6IG1fdGVybWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1p
bmF0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9j
ZXNzIFN1cHByZXNzaW9uIERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggYTA2ZTM0OWEzOGMyODFmNWFjZThkMzYyMmEwNTQ2MWY5
NDA0ZGE1Yy4uOTg1YWQ2YTYxYjJhODJhYjc4NTAyOWZlNDJkZWM0NzUyZWZjNDZjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNz
KCk7CiAKLSAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBt
X3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9u
VGltZW91dChTZWNvbmRzIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRz
OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxp
emVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
KTsKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGlu
IHNlY29uZHMsIGJlZm9yZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1p
bmF0aW9uCiAgICAgLy8gaGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNv
bmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91
YmxlIG1fdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVv
dXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVh
Y2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBh
IGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9v
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAppbmRleCA0MGRjNGY0NDU2YzI4ZmM5
MzdkOWExNjZhYTIyMTljZjdlOGVjNTMwLi4xMjQ4OGVkMWM2ODhiMTAyN2U2NzhiYzUyYTk5YjVh
OWQ0MTg5MzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIHZvaWQgQ29tcG9z
aXRpbmdSdW5Mb29wOjpzdGFydFVwZGF0ZVRpbWVyKFVwZGF0ZVRpbWluZyB0aW1pbmcpCiAgICAg
aWYgKHRpbWluZyA9PSBXYWl0VW50aWxOZXh0RnJhbWUpCiAgICAgICAgIG5leHRVcGRhdGVUaW1l
ID0gc3RkOjptYXgoKDEgLyB0YXJnZXRGUFMpIC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpIC0gbV9sYXN0VXBkYXRlVGltZSksIDAuMCk7CiAKLSAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0
T25lU2hvdChuZXh0VXBkYXRlVGltZSk7CisgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcyhuZXh0VXBkYXRlVGltZSkpOwogfQogCiB2b2lkIENvbXBvc2l0aW5nUnVuTG9vcDo6
c3RvcFVwZGF0ZVRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhMTJh
NDQ0NWJiMTZjYWFmNjkyNzNiNjRhODYzMjEwOGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJkODI1OThh
Y2E2Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiUGx1
Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+CkBAIC01
MSw4ICs1Miw4IEBAIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAg
ICBQbHVnaW5Qcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAgICBib29sIHN1cHBvcnRzQXN5bmNo
cm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CiAKLSAgICBkb3VibGUgbWluaW11bUxpZmV0aW1l
OwotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtaW5pbXVtTGlm
ZXRpbWU7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBXZWJDb3JlOjpNYWNoU2VuZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQ
b3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cAppbmRleCBmMGZmYjc3MjZhNTNlZTRmODQyM2Q0NmI3OWJiMGZkYWYwNWRlN2M0Li4zODBlMDFl
NWU3NDYxNzM3ZTU3NTNlOTY2NWFjMmUzNDYwNTUyNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTA2LDM2ICsxMDYsNiBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdm9pZCBBcmd1bWVu
dENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgTW9u
b3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1NpbmNlRXBv
Y2goKS52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAgIGRvdWJs
ZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgdGltZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKHZhbHVl
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBBcmd1bWVudENvZGVyPFNlY29uZHM+Ojpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBl
bmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBk
b3VibGUgdmFsdWU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFmZmluZVRyYW5zZm9ybSkK
IHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShlbmNv
ZGVyLCBhZmZpbmVUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCmluZGV4IDQ4MTlmY2JjMDRhYzcxNjI1NjczYTg0NDY3Zjc0NTQyY2Ni
OTI5OTUuLjMxNTQwNjJkOWRjMzUyYTkxZjRiMzNiYjY1NDM5OTU2ZTU4ODA5YjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMxLDExICsz
MSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVkREIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BheW1lbnRIZWFkZXJzLmg+CiAKLW5hbWVzcGFjZSBXVEYgewotY2xhc3MgTW9ub3RvbmljVGlt
ZTsKLWNsYXNzIFNlY29uZHM7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFmZmlu
ZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwpAQCAtMTUyLDE2ICsx
NDcsNiBAQCB1c2luZyBJREJLZXlQYXRoID0gVmFyaWFudDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+
PjsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8
V1RGOjpNb25vdG9uaWNUaW1lPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBj
b25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2Rl
ciYsIFdURjo6TW9ub3RvbmljVGltZSYpOwotfTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYs
IGNvbnN0IFdURjo6U2Vjb25kcyYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwg
V1RGOjpTZWNvbmRzJik7Ci19OwotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OkFmZmluZVRyYW5zZm9ybT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVy
JiwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7CiAgICAgc3RhdGljIGJvb2wgZGVj
b2RlKERlY29kZXImLCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAwNTNmYTZlYTI5NzNjZTdiMWRiM2Nm
ZjM5Mjc1MWVhYmY0ZTE4ZDEwLi5kZGVhMmFiZGM0NGU0ZWEwMjI3ZTI5ZTc2ZTRiZTNhZWNlZTYw
NWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC01
Nyw3ICs1Nyw2IEBAIFdlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIoKQogICAgIDog
bV9zYW1wbGVUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQp
CiAgICAgLCBtX3N0b3BUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZp
cmVkKQogICAgICwgbV9pc1J1bm5pbmcoZmFsc2UpCi0gICAgLCBtX3J1bm5pbmdUaW1lKDApCiB7
CiB9CiAKQEAgLTY3LDcgKzY2LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25z
dCBkb3VibGUgaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpbml0aWFsaXpl
VGVtcExvZ0ZpbGUoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAgICBpbml0
aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBXZWJNZW1vcnlTYW1w
bGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVI
YW5kbGUsIGNvbnN0IFN0cmluZyYgc2FtcGxlTG9nRmlsZVBhdGgsIGNvbnN0IGRvdWJsZSBpbnRl
cnZhbCkgCkBAIC04MiwxNyArODEsMTcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChj
b25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUKICAgICB9
CiAgICAgICAgIAogICAgIGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKHNhbXBsZUxvZ0ZpbGVI
YW5kbGUsIHNhbXBsZUxvZ0ZpbGVQYXRoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFs
KTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKICAgIAogfQogCi12
b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVydmFsKQor
dm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKFNlY29uZHMgaW50ZXJ2YWwp
CiB7Ci0gICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxKTsKKyAgICBtX3NhbXBsZVRp
bWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMSkpOwogICAgIHByaW50ZigiU3RhcnRlZCBtZW1v
cnkgc2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgpLmRhdGEo
KSwgZ2V0cGlkKCkpOwotICAgIGlmIChpbnRlcnZhbCA+IDApIHsKKyAgICBpZiAoaW50ZXJ2YWwg
PiAwX3MpIHsKICAgICAgICAgbV9zdG9wVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKLSAg
ICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsKTsK
KyAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFs
LnZhbHVlKCkpOwogICAgIH0KICAgICBwcmludGYoIjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQg
YXQ6ICVzXG4iLCBtX3NhbXBsZUxvZ0ZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwogICAgIG1fcnVu
bmluZ1RpbWUgPSBpbnRlcnZhbDsKQEAgLTE1OSw3ICsxNTgsNyBAQCB2b2lkIFdlYk1lbW9yeVNh
bXBsZXI6OnN0b3BUaW1lckZpcmVkKCkKIHsKICAgICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAg
ICByZXR1cm47Ci0gICAgcHJpbnRmKCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9y
eSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5pbmdUaW1lKTsKKyAgICBwcmludGYoIiVnIHNlY29uZHMg
ZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5IHNhbXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUudmFs
dWUoKSk7CiAgICAgc3RvcCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNh
bXBsZXIuaAppbmRleCAyNzg3YjUxNWRhYmM1MWViZWM1YmMwNjQ2ZjEzYmVmZTUxMjk4NjIyLi5k
YTQyODhiNTg0MDlmZmJhYWY4ZDI3M2NiMzg1ODQ1YjBkMWQ4ODYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKQEAgLTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGluaXRpYWxpemVUZW1wTG9nRmlsZSgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVNhbmRi
b3hlZExvZ0ZpbGUoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiwgY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCB3cml0ZUhlYWRlcnMoKTsKLSAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMo
ZG91YmxlKTsKKyAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyk7CiAgICAgdm9pZCBz
YW1wbGVUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBzdG9wVGltZXJGaXJlZCgpOwogICAgIHZvaWQg
YXBwZW5kQ3VycmVudE1lbW9yeVVzYWdlVG9GaWxlKFdlYkNvcmU6OlBsYXRmb3JtRmlsZUhhbmRs
ZSYpOwpAQCAtMTAwLDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VGltZXIgbV9z
YW1wbGVUaW1lcjsKICAgICBXZWJDb3JlOjpUaW1lciBtX3N0b3BUaW1lcjsKICAgICBib29sIG1f
aXNSdW5uaW5nOwotICAgIGRvdWJsZSBtX3J1bm5pbmdUaW1lOworICAgIFNlY29uZHMgbV9ydW5u
aW5nVGltZTsKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94
RXh0ZW5zaW9uOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZWM4NmUxZTIxZmZjY2Q2ZDg3MmFhYTFmMmQ0
MTllNDY2NmEzMjdkYi4uMGQzN2I5YTNlZDdlMzY0YzFjNGI2OTkzZjkwNjc5MmE1ZmVhZWVkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCkBAIC0xMTMsNyArMTEzLDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMgewogCiAgICAgYm9vbCBpY29uRGF0YWJhc2VFbmFibGVkOwogCi0gICAgZG91Ymxl
IHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAog
ICAgIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCmluZGV4IDZhZjc5MDJkYTNmOWZh
OWMyZWFiZGFhYTBlNWQ3ODVmNjUzMmU2ZTcuLjQzNjhjYzJjYzFiM2Y1YzZkNWE4ZWIzYjM4MGIy
ZThiZGIzYTRhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSU9TdXJmYWNlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZWdpb24uaD4KLSNpbmNsdWRlIDxjaHJvbm8+CisjaW5jbHVkZSA8d3RmL01vbm90
b25pY1RpbWUuaD4KIAogT0JKQ19DTEFTUyBDQUxheWVyOwogCkBAIC05MSw3ICs5MSw3IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgc2V0QnVmZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlIHR5cGUsIGJv
b2wgaXNWb2xhdGlsZSk7CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3Bv
aW50IGxhc3REaXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9
CisgICAgTW9ub3RvbmljVGltZSBsYXN0RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xh
c3REaXNwbGF5VGltZTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgZHJhd0luQ29udGV4dChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQmLCBDR0ltYWdlUmVmIGJhY2tJbWFnZSk7CkBAIC0xMDMsOCAr
MTAzLDEwIEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBtX2xheWVyOwog
CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fc2l6ZTsKLSAgICBmbG9hdCBtX3NjYWxlOwotICAg
IGJvb2wgbV9pc09wYXF1ZTsKKyAgICBmbG9hdCBtX3NjYWxlIHsgMSB9OworCisgICAgYm9vbCBt
X2lzT3BhcXVlIHsgZmFsc2UgfTsKKyAgICBib29sIG1fYWNjZWxlcmF0ZXNEcmF3aW5nIHsgZmFs
c2UgfTsKIAogICAgIFdlYkNvcmU6OlJlZ2lvbiBtX2RpcnR5UmVnaW9uOwogCkBAIC0xMTIsNyAr
MTE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFw
OwogI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJ
T1N1cmZhY2U+IHN1cmZhY2U7Ci0gICAgICAgIGJvb2wgaXNWb2xhdGlsZSA9IGZhbHNlOworICAg
ICAgICBib29sIGlzVm9sYXRpbGUgeyBmYWxzZSB9OwogI2VuZGlmCiAKICAgICAgICAgZXhwbGlj
aXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0CkBAIC0xMzgsMTEgKzE0MCw5IEBAIHByaXZhdGU6CiAK
ICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaDsK
IAotICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmc7Ci0KICAgICBXZWJDb3JlOjpSZXBhaW50
UmVjdExpc3QgbV9wYWludGluZ1JlY3RzOwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX2xhc3REaXNwbGF5VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFz
dERpc3BsYXlUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCBk
NTcxOWRkYTEyYmVhYjgyMmRmMzJiNzIxNThlYmE2YTVlOTk0MjA1Li5jYmNmNzFjNWY3NTRlZWMz
ZTg2MGZmMTJmYzczZmZhODVjNjdkZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KQEAgLTYyLDggKzYyLDYgQEAgc3Rh
dGljIFdlYkNvcmU6OklPU3VyZmFjZTo6Rm9ybWF0IGJ1ZmZlckZvcm1hdChib29sIGlzT3BhcXVl
KQogCiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoUGxh
dGZvcm1DQUxheWVyUmVtb3RlKiBsYXllcikKICAgICA6IG1fbGF5ZXIobGF5ZXIpCi0gICAgLCBt
X2lzT3BhcXVlKGZhbHNlKQotICAgICwgbV9sYXN0RGlzcGxheVRpbWUoc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6dGltZV9wb2ludDo6bWluKCkpCiB7CiAgICAgaWYgKCFtX2xheWVyKQogICAg
ICAgICByZXR1cm47CkBAIC0yMzEsNyArMjI5LDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZTo6ZGlzcGxheSgpCiB7CiAgICAgQVNTRVJUKCFtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVz
aCk7CiAKLSAgICBtX2xhc3REaXNwbGF5VGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6
Om5vdygpOworICAgIG1fbGFzdERpc3BsYXlUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAK
ICAgICBib29sIG5lZWRUb0VuY29kZUJhY2tpbmdTdG9yZSA9IGZhbHNlOwogICAgIGlmIChSZW1v
dGVMYXllclRyZWVDb250ZXh0KiBjb250ZXh0ID0gbV9sYXllci0+Y29udGV4dCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmVDb2xsZWN0aW9uLmgKaW5kZXggZmU0OTcxZWU3MzkyNDE0YWJjMTE5NDBhYzc5ZjhmNzkx
NGNhNDg2Mi4uY2Q4M2EzOGQ5ODQ1NWRiNWQ1NGVkM2Y0NjUzOTg2ZWVkOTc0NTMyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfTsK
ICAgICB0eXBlZGVmIHVuc2lnbmVkIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3M7CiAgICAgYm9vbCBt
YXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZSYsIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3Mgdm9sYXRpbGl0eU1hcmtpbmdGbGFncyA9IDApOwot
ICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Jiwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBub3cpOworICAgIGJvb2wg
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgTW9ub3Rv
bmljVGltZSBub3cpOwogCiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1f
bGl2ZUJhY2tpbmdTdG9yZTsKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4g
bV91bnBhcmVudGVkQmFja2luZ1N0b3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRl
eCAyNjgzNmU3YmYzODY0N2U0ODAwYTY0YjBjNzVjZTZmZmIwY2ExNGJlLi40NjBjZDliY2M1MThl
YzhkNjFmYTQ5ZTFmZmNjNDc0ZWRkODA3MDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5t
bQpAQCAtMzAsOSArMzAsOSBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCIK
ICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUNvbnRleHQuaCIKIAotY29uc3Qgc3RkOjpjaHJvbm86
OnNlY29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAxczsKLWNvbnN0IHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQgPSAyMDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwgPSAyMDBtczsKK2NvbnN0IGF1dG8gdm9sYXRpbGVCYWNraW5nU3Rv
cmVBZ2VUaHJlc2hvbGQgPSAxX3M7Citjb25zdCBhdXRvIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2lu
Z1N0b3JlQWdlVGhyZXNob2xkID0gMC4yX3M7Citjb25zdCBhdXRvIHZvbGF0aWxpdHlUaW1lcklu
dGVydmFsID0gMC4yX3M7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0xMjAsNyArMTIwLDcg
QEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW8KICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJh
Y2tpbmdTdG9yZVZvbGF0aWxlOwogfQogCi1ib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
JiBiYWNraW5nU3RvcmUsIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93
KQorYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBNb25vdG9u
aWNUaW1lIG5vdykKIHsKICAgICBpZiAobm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGlt
ZSgpIDwgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQpIHsKICAgICAgICAgaWYgKG5v
dyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA+PSB2b2xhdGlsZVNlY29uZGFyeUJh
Y2tpbmdTdG9yZUFnZVRocmVzaG9sZCkKQEAgLTE2NCw3ICsxNjQsNyBAQCB2b2lkIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewogICAg
IGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIAotICAg
IGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBu
b3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGJhY2tpbmdT
dG9yZSA6IG1fbGl2ZUJhY2tpbmdTdG9yZSkKICAgICAgICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tp
bmdTdG9yZVZvbGF0aWxlICY9IG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZSgqYmFja2luZ1N0b3Jl
LCBub3cpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0
NWRmZWQzMWM1OTE4MzU4YmU3ZjY3MTZiMWJmZTcwMTg4YjU5Li4xYjVkZDAzNjM5MWYyMmI5ZWJj
NWI3MjNkOTIyM2Y4MDI5MGU5YTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29j
b2EubW0KQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKCFtX2Nv
bnRleHQpIHsKICAgICAgICAgICAgIG1fY29udGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxs
b2NdIGluaXRdKTsKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9zKTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm4gbV9jb250ZXh0LmdldCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHAKaW5kZXggZDI3NzAwNTk2MWQyOWFlZDY3NTA5MzY5NGIyM2U0ZTgy
NTVlMTA4Ni4uMTEzNWY3OTc4NWVkOWY3N2MwYTVhYjk1OWJmMTI0ZDcwNmU5ZTcyNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTU5MCw3ICs1
OTAsNyBAQCB2b2lkIEV3a1ZpZXc6OnNjaGVkdWxlVXBkYXRlRGlzcGxheSgpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghbV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9k
aXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Rpc3BsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpzZXRWaWV3cG9ydFBvc2l0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRzUG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggMDRjN2U5
NTQ3Mjk5NTdjZTQyODJlYjQwZTFjODcxMDNjMTQ0NWY1Zi4uYzJiZTM2NWY3MWU5OGYzNGY5ZTg1
ZTRkNmFkMTg5M2NlYzY5ZjNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKFdl
YktpdFdlYlZpZXdCYXNlKiB3ZWJWCiAgICAgaWYgKHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcml2LT51cGRhdGVBY3Rp
dml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5
U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogc3RhdGljIGdib29sZWFuIHRvcGxl
dmVsV2luZG93Rm9jdXNJbkV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEZvY3VzKiwg
V2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZmQ4YmM1YWM5YTk3YzgzMDU1ZDQ4Yjc1
YmE4MDA5MzM5OTY1MTdiMC4uMmQ2ZmViOTQ3ZjFjODY4MWUzMGJmMTRiMGRjNzY1YzgxNDMyZjYz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3Bw
CkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9j
ZXNzKCkKICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdhdGNoZG9nIGluIHRoZSBVSSBwcm9j
ZXNzLCBzaW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUgc3VzcGVuZGVkLgogICAgICAgICAv
LyBJZiAzMHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgdG8g
Y29tcGxldGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtpbGxlZC4KICAgICAgICAgQVNTRVJU
KG1fY29ubmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMCk7
CisgICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMF9zKTsKICNlbmRpZgogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFN0YXRlOjpUZXJtaW5hdGVkOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNDUyOTkyMmI0
ZmJmNmJmNTMxYzdjMDVhN2MyMjNiNjM1MTQzMjU2MC4uZjgxNmU3ZjBjMzIxYWYyYTlkODYyMWE3
YjRjNWYxYThhNzgwMzk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC04NTIsNyArODUyLDcgQEAgdm9pZCBOYXZpZ2F0aW9u
U3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZygpCiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gRGVs
YXkgcmVsZWFzaW5nIHRoZSBiYWNrZ3JvdW5kIGFjdGl2aXR5IGZvciAzIHNlY29uZHMgdG8gZ2l2
ZSB0aGUgYXBwbGljYXRpb24gYSBjaGFuY2UgdG8gc3RhcnQgYW5vdGhlciBuYXZpZ2F0aW9uCiAg
ICAgICAgIC8vIGJlZm9yZSBzdXNwZW5kaW5nIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgPHJkYXI6
Ly9wcm9ibGVtLzI3OTEwOTY0Pi4KLSAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFy
dE9uZVNob3QoM3MpOworICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hv
dCgzX3MpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQ5ZjE4ZTM3OGE1
MjlkMDU2NWIwZDdlZTllNjE4ODIxMmNmZGQyYjguLjRkYmQ3OGY2NDJjNTg1YzRjYWQ3NzE4MjZk
MDgyYjhhMGM4YWMzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MCwxMyArNDAsMTMgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29u
c3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVy
Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25zdCBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1v
bml0b3JpbmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGljIGNvbnN0IGF1dG8gc3dpcGVTbmFwc2hv
dFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24g
PSAzX3M7CitzdGF0aWMgY29uc3QgYXV0byBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRN
b25pdG9yaW5nSW50ZXJ2YWwgPSAwLjI1X3M7CiAKICNpZiBQTEFURk9STShNQUMpCi1zdGF0aWMg
Y29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1
cmF0aW9uID0gNXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdh
dGNoZG9nRHVyYXRpb24gPSA1X3M7CiAjZWxzZQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNzOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM19z
OwogI2VuZGlmCiAKIHN0YXRpYyBIYXNoTWFwPHVpbnQ2NF90LCBWaWV3R2VzdHVyZUNvbnRyb2xs
ZXIqPiYgdmlld0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkKQEAgLTI5NywxMCArMjk3
LDEwIEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2Vy
Ojp3YXRjaGRvZ1RpbWVyRmlyZWQoKQogICAgIGZpcmVSZW1vdmFsQ2FsbGJhY2tJbW1lZGlhdGVs
eSgpOwogfQogCi12b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJh
Y2tlcjo6c3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyBkdXJhdGlvbikKK3ZvaWQg
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNo
ZG9nKFNlY29uZHMgZHVyYXRpb24pCiB7Ci0gICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3Rh
cnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJWxsZCBzZWNvbmRzIiwgZHVyYXRpb24uY291bnQoKSkp
OwotICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24uY291bnQoKSk7Cisg
ICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJS4z
ZiBzZWNvbmRzIiwgZHVyYXRpb24udmFsdWUoKSkpOworICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFy
dE9uZVNob3QoZHVyYXRpb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
aAppbmRleCA3NThkNzM1MGRiZDg0NzU3NDY2Y2NkYmE4NDM2YjZlNDlkNjJiYzJkLi5lMTRkNzM5
NzE5MmFkMGMwN2YxMjI4MDlmYzg3YjE0NDQ3NmQ0ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCkBAIC0xNTcs
NyArMTU3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBldmVudE9jY3VycmVkKEV2ZW50cyk7
CiAgICAgICAgIGJvb2wgY2FuY2VsT3V0c3RhbmRpbmdFdmVudChFdmVudHMpOwogCi0gICAgICAg
IHZvaWQgc3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyk7CisgICAgICAgIHZvaWQg
c3RhcnRXYXRjaGRvZyhTZWNvbmRzKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBT
dHJpbmcgZXZlbnRzRGVzY3JpcHRpb24oRXZlbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggNGU4NzNlYWQ2
NTE4NWY2NTlkOTYxMWE4YWY5OWRiMjNhM2RjNzc4OC4uMzVlZTRlYjFhNGFkYTc0N2ExODM5OWJh
MzE5MWE5MzYxODc2NGI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTI3NSw3ICsyNzUsNyBAQCB2b2lkIFdl
YlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYQogI2VuZGlmCiAKICAgICBwYXJhbWV0ZXJzLnNob3VsZFN1cHByZXNz
TWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0U3VwcHJl
c3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJEZWZhdWx0c0tleV07Ci0gICAgcGFyYW1ldGVycy5sb2Fk
VGhyb3R0bGVMYXRlbmN5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhbZGVmYXVsdHMgaW50
ZWdlckZvcktleTpXZWJLaXROZXR3b3JrTG9hZFRocm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25kc0Rl
ZmF1bHRzS2V5XSk7CisgICAgcGFyYW1ldGVycy5sb2FkVGhyb3R0bGVMYXRlbmN5ID0gU2Vjb25k
czo6ZnJvbU1pbGxpc2Vjb25kcyhbZGVmYXVsdHMgaW50ZWdlckZvcktleTpXZWJLaXROZXR3b3Jr
TG9hZFRocm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25kc0RlZmF1bHRzS2V5XSk7CiAKICNpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMTAwCiAg
ICAgUmV0YWluUHRyPENGRGF0YVJlZj4gY29va2llU3RvcmFnZURhdGEgPSBhZG9wdENGKENGSFRU
UENvb2tpZVN0b3JhZ2VDcmVhdGVJZGVudGlmeWluZ0RhdGEoa0NGQWxsb2NhdG9yRGVmYXVsdCwg
W1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBfY29va2llU3Rv
cmFnZV0pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNw
cAppbmRleCBiNDVmMjI3OWU3MmJlZWUwYWU3MzNjNmUxMGFiMTQxOTJlMDFmMmU1Li44NWVjMzgz
N2M5MTVlZThhYzI3ZDljZjEzZThlYzM0YzYzZGQ5Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgRHJh
d2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
RmxvYXRSZWN0PiB2aWV3CiAgICAgbV92aWV3RXhwb3NlZFJlY3QgPSB2aWV3RXhwb3NlZFJlY3Q7
CiAKICAgICBpZiAoIW1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eTo6dmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHAKaW5kZXggNDQwZGY5YTMzZWU2OTg2N2I2NDI1OGQwMzJlMDVlODE5ZjEzYTgxNC4uMDA5
OWE1ZjY3MTAzYzdlM2MxYmI2OWFjYjFmODg2ZGQzMzExMDNhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCkBAIC0xODAsNyArMTgw
LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24o
KQogCiAgICAgLy8gV2UnbGwgd2FpdCB0aGlzIG1hbnkgc2Vjb25kcyBhZnRlciB0aGUgbGFzdCBw
YWludCBiZWZvcmUgdGhyb3dpbmcgYXdheSBvdXIgYmFja2luZyBzdG9yZSB0byBzYXZlIG1lbW9y
eS4KICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgc21hcnRlciB0byBtYWtlIHRoaXMgZGVsYXkg
YmFzZWQgb24gaG93IGV4cGVuc2l2ZSBwYWludGluZyBpcy4gU2VlIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzU1NzMzPi4KLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIGRpc2NhcmRCYWNraW5nU3RvcmVE
ZWxheSA9IDI7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgZGlzY2FyZEJhY2tpbmdTdG9yZURl
bGF5ID0gMl9zOwogCiAgICAgbV9kaXNjYXJkQmFja2luZ1N0b3JlVGltZXIuc3RhcnRPbmVTaG90
KGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSk7CiB9CkBAIC0yMTEsMTMgKzIxMSwxMyBAQCBpbnQg
RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjp3ZWJWaWV3RHJhd0NhbGxiYWNr
KERyYXdpbmdBcmVhUHJveHlJbQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5n
TW9uaXRvcjo6c3RhcnQoc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4g
Y2FsbGJhY2spCiB7Ci0gICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWVNUygpOworICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgbV9j
YWxsYmFjayA9IGNhbGxiYWNrOwogI2lmIFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9jb25u
ZWN0X3N3YXBwZWQobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgImRyYXciLCByZWludGVycHJldF9j
YXN0PEdDYWxsYmFjaz4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwotICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDEpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwog
I2Vsc2UKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogI2VuZGlmCiB9CiAKQEAgLTIyNyw3ICsyMjcsNyBAQCB2b2lkIERyYXdpbmdB
cmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RvcCgpCiAjaWYgUExBVEZPUk0oR1RLKQog
ICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhtX3dlYlBhZ2Uudmlld1dp
ZGdldCgpLCByZWludGVycHJldF9jYXN0PGdwb2ludGVyPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwg
dGhpcyk7CiAjZW5kaWYKLSAgICBtX3N0YXJ0VGltZSA9IDA7CisgICAgbV9zdGFydFRpbWUgPSBN
b25vdG9uaWNUaW1lKCk7CiAgICAgaWYgKG1fY2FsbGJhY2spIHsKICAgICAgICAgbV9jYWxsYmFj
ayhDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKTsKICAgICAgICAgbV9jYWxsYmFjayA9IG51bGxw
dHI7CkBAIC0yMzksMTAgKzIzOSwxMCBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3
aW5nTW9uaXRvcjo6ZGlkRHJhdygpCiAgICAgLy8gV2Ugd2FpdCB1cCB0byAxIHNlY29uZCBmb3Ig
ZHJhdyBldmVudHMuIElmIHRoZXJlIGFyZSBzZXZlcmFsIGRyYXcgZXZlbnRzIHF1ZXVlZCBxdWlj
a2x5LAogICAgIC8vIHdlIHdhbnQgdG8gd2FpdCB1bnRpbCBhbGwgb2YgdGhlbSBoYXZlIGJlZW4g
cHJvY2Vzc2VkLCBzbyBhZnRlciByZWNlaXZpbmcgYSBkcmF3LCB3ZSB3YWl0CiAgICAgLy8gdXAg
dG8gMTAwbXMgZm9yIHRoZSBuZXh0IG9uZSBvciBzdG9wLgotICAgIGlmIChtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWVNUygpIC0gbV9zdGFydFRpbWUgPiAxMDAwKQorICAgIGlmIChNb25vdG9u
aWNUaW1lOjpub3coKSAtIG1fc3RhcnRUaW1lID4gMV9zKQogICAgICAgICBzdG9wKCk7CiAgICAg
ZWxzZQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjEwMCk7CisgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6
ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQoQ2FsbGJhY2tC
YXNlOjpFcnJvcik+IGNhbGxiYWNrRnVuY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCmluZGV4IDg5YzcxM2ZjODdhNzM1NDkzMDM4YWQx
MGQ5MGRjMWNmNjA2MWQ0NTcuLjVhYTY2YzZkMDQ4YmQwZjdkMjZmOGM3YzY0ZWQwZDFhMjgyZjdm
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZGlkRHJhdygpOwog
CiAgICAgICAgIFdlYlBhZ2VQcm94eSYgbV93ZWJQYWdlOwotICAgICAgICBkb3VibGUgbV9zdGFy
dFRpbWUgeyAwIH07CisgICAgICAgIE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IG1fY2FsbGJhY2s7CiAg
ICAgICAgIFJ1bkxvb3A6OlRpbWVyPERyYXdpbmdNb25pdG9yPiBtX3RpbWVyOwogICAgIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92
aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92
aWRlci5jcHAKaW5kZXggNjc3Y2Q2NzM5MWFmNTY5ZjQyYWZmYmRmNDQwYWFlMjE1NTE1ZjQzZS4u
Y2VhOTgyZjZlMjJjNjA0OThlYWI4Mjk2OTQzZjUwNTMyYjhiNDM2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApA
QCAtMzksNyArMzksNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZh
bCA9IDEgLyAxMjAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1HYW1lcGFkVXBkYXRl
SW50ZXJ2YWwgPSBTZWNvbmRzKDEgLyAxMjAuMCk7CiAKIFVJR2FtZXBhZFByb3ZpZGVyJiBVSUdh
bWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IDU0ZGZiM2Iw
NThkNGZlOTAzNzQ2MTU3OTJlZmE1NmIwOGZkZDBiNjguLjQ2MGJlYmY1ZGIwOTkzNzU1YTY2MmMz
M2IyOWQwNzQ4MTRjNzBhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSBtaW5pbXVtTGlmZXRpbWUgPSAyICogNjA7Ci1zdGF0aWMgY29uc3QgZG91Ymxl
IHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSA9IDMwOworc3RhdGljIGNvbnN0IGF1dG8gbWlu
aW11bUxpZmV0aW1lID0gMl9taW47CitzdGF0aWMgY29uc3QgYXV0byBzbmFwc2hvdHRpbmdNaW5p
bXVtTGlmZXRpbWUgPSAzMF9zOwogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNodXRkb3duVGltZW91
dCA9IDEgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nU2h1dGRvd25UaW1l
b3V0ID0gMTU7CitzdGF0aWMgY29uc3QgYXV0byBzaHV0ZG93blRpbWVvdXQgPSAxX21pbjsKK3N0
YXRpYyBjb25zdCBhdXRvIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1X3M7CiAKIHN0
YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAppbmRl
eCAzZTFjMmVmNWFmNjY3N2E5Mjk5ZGU4NTQ5NDVmOTE0NTgwMzM0OWUzLi5kNWZiMWIyMzFiNDM3
MGYwNmVkYzMxMzRmMzQ1YzVjM2NjZWNkMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcApAQCAtMTYyLDcg
KzE2Miw3IEBAIHZvaWQgUGx1Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKGNvbnN0IFN0
cmluZyYgcGx1Z2luUGF0aCwgY29uc3QgUGx1Z2luTW9kCiAgICAgICAgIGlmIChtX3NhdmVUb0Zp
bGVJZGxlLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9zYXZl
VG9GaWxlSWRsZS5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3Rh
cnRPbmVTaG90KDBfcyk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UHJvY2Vzc1Rocm90dGxlci5jcHAKaW5kZXggMjI3NWJiM2IyMjZiN2RiZDQ4ZDMzY2YwZjM2ZDIz
NDlkODUwYmVjNi4uY2Q4MjVlMWVlMGEwOWM1N2YzZTJkNjMxMmI3OWU3ZDRmMTcwZTNjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAtMzEs
NyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAKLXN0YXRpYyBjb25zdCB1bnNp
Z25lZCBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2Nlc3NTdXNwZW5zaW9uVGltZW91dCA9IDMwX3M7CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVy
OjpQcm9jZXNzVGhyb3R0bGVyKFByb2Nlc3NUaHJvdHRsZXJDbGllbnQmIHByb2Nlc3MpCiAgICAg
OiBtX3Byb2Nlc3MocHJvY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNw
b25zaXZlbmVzc1RpbWVyLmNwcAppbmRleCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFj
NDA2N2VlZjJiLi42MDNiYzlmMTNmZTk2OWJmMzRkYjM0NjBhYmI0NzhiYjg5OWJkYzNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBA
IC0yOCw3ICsyOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91
YmxlIHJlc3BvbnNpdmVuZXNzVGltZW91dCA9IDM7CitzdGF0aWMgY29uc3QgYXV0byByZXNwb25z
aXZlbmVzc1RpbWVvdXQgPSAzX3M7CiAKIFJlc3BvbnNpdmVuZXNzVGltZXI6OlJlc3BvbnNpdmVu
ZXNzVGltZXIoUmVzcG9uc2l2ZW5lc3NUaW1lcjo6Q2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2Ns
aWVudChjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRl
ZExpbmtTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9y
ZS5jcHAKaW5kZXggYTNmYjc3MGY1Y2RiY2RjYjVmYTc3YWI0ZDJmMGI1NDc0NDg5MGY2Zi4uM2Vk
NTU3NTMxNmJmZGQwMzY1MDM3YWQ2YThiZDdkNGFhODQ3YjRmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcApAQCAtOTgsNyArOTgsNyBAQCB2b2lk
IFZpc2l0ZWRMaW5rU3RvcmU6OmFkZFZpc2l0ZWRMaW5rSGFzaChMaW5rSGFzaCBsaW5rSGFzaCkK
ICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3MuYWRkKGxpbmtIYXNoKTsKIAogICAgIGlmICghbV9w
ZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nVmlz
aXRlZExpbmtzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdWaXNpdGVk
TGlua3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBWaXNpdGVkTGlua1N0b3Jl
OjpyZW1vdmVBbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKaW5kZXggOTczNjE4ZDJjNWYzYWIwMmQ4NTZmN2FjZmVkYjMwMDBiN2QyZWZhMC4uZjI4N2Y1
YWE2ZTdlNTRiZGNjNDY2N2MwNmQzNmM5MTQ1OGU4MDY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xNzMsNyArMTczLDcgQEAgV2ViUHJvY2Vz
c1Bvb2w6OldlYlByb2Nlc3NQb29sKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25m
aWd1cmF0aW9uKQogICAgICwgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkobV9jb25m
aWd1cmF0aW9uLT5hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkoKSkKICAgICAsIG1fdXNl
ck9ic2VydmFibGVQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVBy
b2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRp
c2FibGVkRm9yUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9j
ZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQotICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1
dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRkZW5QYWdl
VGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsgfSkKKyAgICAsIG1faGlkZGVuUGFnZVRo
cm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1f
aGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsgfSkKICAgICAsIG1f
aGlkZGVuUGFnZVRocm90dGxpbmdUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQcm9j
ZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCkKIHsK
ICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUmV2YWxpZGF0
ZWRVUkxTY2hlbWVzKCkpCkBAIC01OTUsNyArNTk1LDcgQEAgV2ViUHJvY2Vzc1Byb3h5JiBXZWJQ
cm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2VzcygpCiAKICAgICBwYXJhbWV0ZXJzLmljb25E
YXRhYmFzZUVuYWJsZWQgPSAhaWNvbkRhdGFiYXNlUGF0aCgpLmlzRW1wdHkoKTsKIAotICAgIHBh
cmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMDsKKyAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0
aW9uVGltZW91dCA9IDBfczsKIAogICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSA9IFRl
eHRDaGVja2VyOjpzdGF0ZSgpOwogCkBAIC0xNDE2LDEwICsxNDE2LDEwIEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQoKQog
ICAgIC8vIFdlJ3JlIGVzdGltYXRpbmcgYW4gdXBwZXIgYm91bmQgZm9yIGEgc2V0IG9mIGJhY2tn
cm91bmQgdGltZXIgZmlyZXMgZm9yIGEgcGFnZSB0byBiZSAyMDBtcwogICAgIC8vIChpbmNsdWRp
bmcgYWxsIHRpbWVyIGZpcmVzLCBhbGwgcGFnaW5nLWluLCBhbmQgYW55IHJlc3VsdGluZyBHQyku
IFRvIGVuc3VyZSB0aGlzIGRvZXMgbm90CiAgICAgLy8gcmVzdWx0IGluIG1vcmUgdGhhbiAxJSBD
UFUgbG9hZCBhbGxvdyBmb3Igb25lIHRpbWVyIGZpcmUgcGVyIDEwMHggdGhpcyBkdXJhdGlvbi4K
LSAgICBzdGF0aWMgaW50IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgPSAyMDAgKiAx
MDA7CisgICAgc3RhdGljIGNvbnN0IGF1dG8gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlID0g
MjAwX21zICogMTAwOwogCi0gICAgaW50IGxpbWl0SW5NaWxsaXNlY29uZHMgPSBtYXhpbXVtVGlt
ZXJUaHJvdHRsZVBlclBhZ2VJbk1TICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFz
ZXNDb3VudGVyLnZhbHVlKCk7Ci0gICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdElu
TWlsbGlzZWNvbmRzKSk7CisgICAgYXV0byBsaW1pdCA9IG1heGltdW1UaW1lclRocm90dGxlUGVy
UGFnZSAqIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgp
OworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXQpKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1Rl
eHRDaGVja2VyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4
dENoZWNrZXJDbGllbnRFZmwuY3BwCmluZGV4IDg1NzQ1YWMzMGFjN2I4M2UxNDgyNGJmZmVlYmE2
OTA5MTNlOWI0NGEuLjNiMjIzNzdjODM5MWQzYjgzNmM4YWQ3MDBjMzg0ZDAwM2VmZTZkMTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGll
bnRFZmwuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6
ZW5zdXJlU3BlbGxDaGVja2luZ0xhbmd1YWdlKCkKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6
OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRlZmF1
bHRMYW5ndWFnZXMpCiB7CiAgICAgbV9zcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0gZGVmYXVsdExh
bmd1YWdlczsKLSAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRl
eHRDaGVja2VyQ2xpZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZpcmVkKCkKQEAgLTEyOCw3
ICsxMjgsNyBAQCBWZWN0b3I8U3RyaW5nPiBUZXh0Q2hlY2tlckNsaWVudEVmbDo6bG9hZGVkU3Bl
bGxDaGVja2luZ0xhbmd1YWdlcygpIGNvbnN0CiAKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6
OmNhbGxDb250aW51b3VzU3BlbGxDaGVja2luZ0NoYW5nZUNhbGxiYWNrQXN5bmMoKQogewotICAg
IG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiBib29sIFRleHRDaGVja2VyQ2xpZW50RWZsOjppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZENhbGxiYWNrKGNvbnN0IHZvaWQqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA3ZTE1NzdjYmE4YjE1NzA1MjY0ZTVi
YTU0NzVmZmM1OTYyZGFiODg5Li45M2RkZDc2OGRiYTRjYmUwMzBkNDMxZTRiNGQ4NTdhNjg4ZDBm
OTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250
cm9sbGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRy
YWdHZXN0dXJlOjpiZWdpbihEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkCiAg
ICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtfZXZlbnRfY29udHJvbGxlcl9nZXRfd2lkZ2V0KEdU
S19FVkVOVF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKICAgICB1bnNpZ25lZCBkZWxheTsKICAgICBn
X29iamVjdF9nZXQoZ3RrX3dpZGdldF9nZXRfc2V0dGluZ3Mod2lkZ2V0KSwgImd0ay1sb25nLXBy
ZXNzLXRpbWUiLCAmZGVsYXksIG51bGxwdHIpOwotICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVz
c1RpbWVvdXQuc3RhcnRPbmVTaG90KGRlbGF5IC8gMTAwMC4wKTsKKyAgICBkcmFnR2VzdHVyZS0+
bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KGRlbGF5KSk7CiB9CiAKIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjp1cGRh
dGUoRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZG91YmxlIHksIEd0a0dlc3R1
cmUqIGdlc3R1cmUpCkBAIC0yMDYsNyArMjA2LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6
Wm9vbUdlc3R1cmU6OnNjYWxlQ2hhbmdlZChab29tR2VzdHVyZSogem9vbUdlc3R1cmUsIGRvdWIK
ICAgICBpZiAoem9vbUdlc3R1cmUtPm1faWRsZS5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB6b29tR2Vz
dHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBHZXN0dXJlQ29udHJvbGxlcjo6
Wm9vbUdlc3R1cmU6Olpvb21HZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKaW5k
ZXggZGMxOThkODU4ZjEzYTNjMTIzNmU1MTFkMzhkYjY4NTI2MTM3ODRhNC4uNTMxN2ZlZDlkODky
OTNhYmQ0MjEyYzIwODVkNjRjMmI5NDM3YTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKQEAgLTI2MSw3ICsyNjEs
NyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjptZW51VW5tYXBwZWRDYWxsYmFjayhHdGtX
aWRnZXQqLCBXZWJQb3B1cE1lbnVQcm94eUd0awogICAgIC8vIFdoZW4gYW4gaXRlbSBpcyBhY3Rp
dmF0ZWQsIHRoZSBtZW51IGlzIGZpcnN0IGhpZGRlbiBhbmQgdGhlbiBhY3RpdmF0ZSBzaWduYWwg
aXMgZW1pdHRlZCwgc28gYXQgdGhpcyBwb2ludCB3ZSBkb24ndCBrbm93CiAgICAgLy8gaWYgdGhl
IG1lbnUgaGFzIGJlZW4gaGlkZGVuIGJlY2F1c2UgYW4gaXRlbSBoYXMgYmVlbiBzZWxlY3RlZCBv
ciBiZWNhdXNlIHRoZSBtZW51IGhhcyBiZWVuIGRpc21pc3NlZC4gV2FpdCB1bnRpbCB0aGUgbmV4
dAogICAgIC8vIG1haW4gbG9vcCBpdGVyYXRpb24gdG8gZGlzbWlzcyB0aGUgbWVudSwgaWYgYW4g
aXRlbSBpcyBhY3RpdmF0ZWQgdGhlIHRpbWVyIHdpbGwgYmUgY2FuY2VsbGVkLgotICAgIHBvcHVw
TWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBwb3B1cE1lbnUt
Pm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJQb3B1
cE1lbnVQcm94eUd0azo6c2VsZWN0SXRlbUNhbGxiYWNrKEd0a1dpZGdldCogaXRlbSwgV2ViUG9w
dXBNZW51UHJveHlHdGsqIHBvcHVwTWVudSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDgxOGJkMzkwZDQ4M2QwODIy
YmFlNzkzNGUxMDZmZGJiMGNkZmY4NTQuLmRmYWQzMmVjZWY4YzQwOGExMGIyNTkxZjhiMDM3Nzg2
MjE1MzM0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5z
cGVjdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgTlNVSW50
ZWdlciB3aW5kb3dTdHlsZU1hc2sgPSBOU1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8IE5TV2luZG93
U3R5bAogCiAvLyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9z
aW5nIGl0IGFuZCBpdHMgcHJvY2Vzcy4KIC8vIFJldXNpbmcgdGhlIFdlYlZpZXcgaW1wcm92ZXMg
c3RhcnQgdXAgdGltZSBmb3IgcGVvcGxlIHRoYXQganVtcCBpbiBhbmQgb3V0IG9mIHRoZSBJbnNw
ZWN0b3IuCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwX3M7CiAKIC8vIFdL
V2ViSW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlciBpcyBhIGhlbHBlciBPYmpDIG9iamVjdCB1c2Vk
IGFzIGEgZGVsZWdhdGUgb3Igbm90aWZpY2F0aW9uIG9ic2VydmVyCiAvLyBmb3IgdGhlIHNvbGUg
cHVycG9zZSBvZiBnZXR0aW5nIGJhY2sgaW50byB0aGUgQysrIGNvZGUgZnJvbSBhbiBPYmpDIGNh
bGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
TG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IGU4OTFjZDAzMmIyZjQzNjY0YjY3ZTA2ZGJlY2NjOGVl
MDM1OGRkOGYuLmM1ZmNkZTk3N2E5ODFhMzYwZDUwMjY2NGU4YjU2MDA5YmZjNTJhMDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVn
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0
cmF0ZWd5LmNwcApAQCAtOTEsMTQgKzkxLDE0IEBAIFJlZlB0cjxOZXRzY2FwZVBsdWdJblN0cmVh
bUxvYWRlcj4gV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlUGx1Z2luU3RyZWFtTG9hZChGCiAg
ICAgcmV0dXJuIGxvYWRlcjsKIH0KIAotc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQorc3RhdGljIFNl
Y29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogewog
I2lmICFFTkFCTEUoTkVUV09SS19DQUNIRSkKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVybiAw
X3M7CiAjZW5kaWYKIAogICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgIHJldHVybiAwbXM7Cisg
ICAgICAgIHJldHVybiAwX3M7CiAKICAgICBzd2l0Y2ggKHJlc291cmNlLT50eXBlKCkpIHsKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgpAQCAtMTA3LDkgKzEwNyw5IEBA
IHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENh
Y2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdGb250
UmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6
Ci0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAgICAg
ICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
SW1hZ2VSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIDUwMG1zOworICAgICAgICByZXR1cm4gNTAw
X21zOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1lZGlhUmVzb3VyY2U6CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6TWFpblJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlJh
d1Jlc291cmNlOgpAQCAtMTI0LDExICsxMjQsMTEgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQog
I2lmIEVOQUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6
CiAjZW5kaWYKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICB9
CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVy
biAwX3M7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJj
ZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBz
aG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQpAQCAtMjMxLDcgKzIzMSw3
IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYg
cmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hl
ZHVsZUludGVybmFsbHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyJiByZXNvdXJj
ZUxvYWRlcikKIHsKICAgICBtX2ludGVybmFsbHlGYWlsZWRSZXNvdXJjZUxvYWRlcnMuYWRkKCZy
ZXNvdXJjZUxvYWRlcik7Ci0gICAgbV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OmludGVybmFsbHlGYWlsZWRMb2FkVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCmluZGV4IDQ5OTIwZjJj
YWE4NGY3NjliNjJkMjQ2MmE5Yzk4MDdmNTIwY2YzZWQuLjFjMWVlNjIxZDI0YjcwYWYzYWFkYTEz
MzEwNjI0MjdhMzAyYzYwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCkBA
IC0yOTMsNyArMjkzLDcgQEAgdm9pZCBOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0
aW9uUXVldWUoTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIGlmICh0cnlTYWZlUmVsZWFzZU5QT2Jq
ZWN0KG5wT2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX25wT2JqZWN0c1RvRmlu
YWxpemUuaXNFbXB0eSgpKQotICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICBBU1NFUlQobV9maW5hbGl6YXRpb25UaW1lci5pc0FjdGl2ZSgpKTsKICAgICBtX25wT2JqZWN0
c1RvRmluYWxpemUuYXBwZW5kKG5wT2JqZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3Bw
CmluZGV4IDVjOWE5MTgyNDU2NmE0NjMwMTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2QuLjFjZGZlY2Yz
YTkwOTdkNWY4ZDNhZGM3M2I3MWIwOTQ5MGM4MmE4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
LmNwcApAQCAtMzI2LDcgKzMyNiw3IEBAIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6flRpbWVyKCkK
IAogdm9pZCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6OnN0YXJ0KCkKIHsKLSAgICBkb3VibGUgdGlt
ZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICBhdXRvIHRpbWVJbnRlcnZhbCA9
IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAKICAgICBpZiAobV9yZXBl
YXQpCiAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZVBsdWdpblN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCmluZGV4IDdkNTRkODhjN2U4OThjNWNlMGJh
ZGYxZDc2OWIyZTVkMzVkOWEyNTQuLjIzNDk5MTMwY2M1OTY1YmNhNjFiN2I4MjgyZTk1ZDNhN2Zm
N2I3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcApAQCAtMjIyLDcg
KzIyMiw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVnaW4o
KQogCiAgICAgICAgIGlmIChudW1CeXRlc1BsdWdpbkNhbkhhbmRsZSA8PSAwKSB7CiAgICAgICAg
ICAgICAvLyBUaGUgcGx1Zy1pbiBjYW4ndCBoYW5kbGUgbW9yZSBkYXRhLCB3ZSdsbCBzZW5kIHRo
ZSByZXN0IGxhdGVyCi0gICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1t
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2Fw
ZVBsdWdpbk1hYy5tbQppbmRleCBiOTI2ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1NDNjNmFjYzJl
NWUwLi41MDQ0MmE3ZTY4NzJlMDkxMTNmYzNkNGM2MjY1ZDkyMTZlY2MzMzU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBl
UGx1Z2luTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmbmRlZiBOUF9OT19DQVJC
T04KLXN0YXRpYyBjb25zdCBkb3VibGUgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyX3M7CiAK
IHN0YXRpYyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21MYXN0TW91c2VFdmVudDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGFj
MWRhYWJhZDA2M2E0OTYyNmIzN2UwNDAyZTllYmY1NDkyZDNiMWIuLjM5MWMwZTg1ODMwOWQxMGE5
MmZmMzdkOGE3ZGQ3ZDk1M2UzMmFiODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gVGhpcyBzaW11bGF0ZWQgbW91
c2UgY2xpY2sgZGVsYXkgaW4gSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgc2hvdWxkIGdlbmVy
YWxseSBiZSB0aGUgc2FtZSBvciBzaG9ydGVyIHRoYW4gdGhpcyBkZWxheS4KLXN0YXRpYyBjb25z
dCBhdXRvIHBsdWdpblNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgeyAxMTAwIH07CitzdGF0aWMgY29uc3QgYXV0byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkg
PSAxLjFfczsKIAogY2xhc3MgUGx1Z2luVmlldzo6VVJMUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFVSTFJlcXVlc3Q+IHsKIHB1YmxpYzoKQEAgLTExNjQsNyArMTE2NCw3IEBAIHZvaWQgUGx1
Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCgpCiAKICAgICAvLyBJZiB0aGVy
ZSBhcmUgbW9yZSByZXF1ZXN0cyB0byBwZXJmb3JtLCByZXNjaGVkdWxlIHRoZSB0aW1lci4KICAg
ICBpZiAoIW1fcGVuZGluZ1VSTFJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wZW5kaW5n
VVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1VSTFJl
cXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgCiAgICAgcGVyZm9ybVVSTFJlcXVl
c3QodXJsUmVxdWVzdC5nZXQoKSk7CiB9CkBAIC0xNDIzLDcgKzE0MjMsNyBAQCB2b2lkIFBsdWdp
blZpZXc6OmxvYWRVUkwodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJpbmcmIG1ldGhvZCwg
Y29uc3QgU3RyaW5nJgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
LnNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAKICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0cy5h
cHBlbmQoVVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3RJRCwgZnJhbWVMb2FkUmVxdWVzdCwgYWxs
b3dQb3B1cHMpKTsKLSAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFBsdWdpblZpZXc6OmNhbmNlbFN0cmVhbUxvYWQodWludDY0X3Qgc3RyZWFtSUQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWRE
cmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxl
cmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggYjg3OGZiYzk4NDJlM2ViYWQ2N2Y2ZmY5OGQ3OTkw
YzljYTYzMDVlNS4uNzRlMmMyMzM3NGNhOWYzYzQ1ZWEzMDg5NzI2M2YzZjVhMWIxMWYzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJh
d2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2Nl
bGVyYXRlZERyYXdpbmdBcmVhLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgQWNjZWxlcmF0
ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlU29vbigpCiAgICAg
aWYgKGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVBlbmRpbmcoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGYzZGFlZmM3ODc2
ZDk4M2JlMTVjOWJiYzJkYWFjMTgyNWU4YWJjMjcuLjFjZTc2MWQxYTUwZDgwMDBiY2FiODNlMjNj
NzgxZDQxOTMwN2QwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xNTUsMTEgKzE1NSwxMSBAQCB2b2lkIENvbXBv
c2l0aW5nQ29vcmRpbmF0b3I6OnN5bmNEaXNwbGF5U3RhdGUoKQogfQogCiAjaWYgRU5BQkxFKFJF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotZG91YmxlIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6Om5l
eHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0CitTZWNvbmRzIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6Om5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0CiB7CiAgICAgLy8gQWNjb3Jk
aW5nIHRvIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc3BlYywgckFGIGNhbGxiYWNrcyBzaG91
bGQgbm90IGJlIGZhc3RlciB0aGFuIDYwRlBTLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgTWlu
aW1hbFRpbWVvdXRGb3JBbmltYXRpb25zID0gMS4gLyA2MC47Ci0gICAgcmV0dXJuIHN0ZDo6bWF4
PGRvdWJsZT4oMC4sIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyAtIHRpbWVzdGFtcCgpICsg
bV9sYXN0QW5pbWF0aW9uU2VydmljZVRpbWUpOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIE1p
bmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyA9IFNlY29uZHMoMS4wIC8gNjApOworICAgIHJldHVy
biBzdGQ6Om1heDxTZWNvbmRzPigwX3MsIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyAtIFNl
Y29uZHModGltZXN0YW1wKCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGltZSkpOwogfQogI2Vu
ZGlmCiAKQEAgLTM5OCw3ICszOTgsNyBAQCBib29sIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnBh
aW50VG9TdXJmYWNlKGNvbnN0IEludFNpemUmIHNpemUsIENvb3JkaW5hdGVkU3VyZgogICAgIHJl
dHVybiBtX3VwZGF0ZUF0bGFzZXMubGFzdCgpLT5wYWludE9uQXZhaWxhYmxlQnVmZmVyKHNpemUs
IGF0bGFzSUQsIG9mZnNldCwgY2xpZW50KTsKIH0KIAotY29uc3QgZG91YmxlIFJlbGVhc2VJbmFj
dGl2ZUF0bGFzZXNUaW1lckludGVydmFsID0gMC41OworY29uc3QgU2Vjb25kcyBSZWxlYXNlSW5h
Y3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCA9IDAuNV9zOwogCiB2b2lkIENvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFzZUluYWN0aXZlQXRsYXNlcygpCiB7CkBAIC00MTQsNyAr
NDE0LDcgQEAgdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxh
c2VzVGltZXJGaXJlZCgpCiAgICAgZm9yIChpbnQgaSA9IG1fdXBkYXRlQXRsYXNlcy5zaXplKCkg
LSAxOyAgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgVXBkYXRlQXRsYXMqIGF0bGFzID0gbV91cGRh
dGVBdGxhc2VzW2ldLmdldCgpOwogICAgICAgICBpZiAoIWF0bGFzLT5pc0luVXNlKCkpCi0gICAg
ICAgICAgICBhdGxhcy0+YWRkVGltZUluYWN0aXZlKFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1l
ckludGVydmFsKTsKKyAgICAgICAgICAgIGF0bGFzLT5hZGRUaW1lSW5hY3RpdmUoUmVsZWFzZUlu
YWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIGJvb2wgdXNhYmxl
Rm9yUm9vdENvbnRlbnRzTGF5ZXIgPSAhYXRsYXMtPnN1cHBvcnRzQWxwaGEoKTsKICAgICAgICAg
aWYgKGF0bGFzLT5pc0luYWN0aXZlKCkpIHsKICAgICAgICAgICAgIGlmICghZm91bmRBY3RpdmVB
dGxhc0ZvclJvb3RDb250ZW50c0xheWVyICYmICFhdGxhc1RvS2VlcEFueXdheSAmJiB1c2FibGVG
b3JSb290Q29udGVudHNMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuaAppbmRleCBmOThhMzZiYzI3YTdmMmJjZTE3N2QxMjdjZjk3
ZjY5ZGJlMWM3NTFhLi5lYmY2NWJiN2Y5Y2RiN2VjZTI3YmNmMDEwMzM3NWQ0Y2ZkOGUyMzg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN5bmNEaXNwbGF5U3RhdGUo
KTsKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLSAgICBkb3VibGUgbmV4
dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0QW5pbWF0aW9u
U2VydmljZVRpbWUoKSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXgg
OWY2YTgzMjFlM2YyNTFhYTVlMzZlNTM3MThkOGNhYTk3NzgwOTU2YS4uYzQ3YmIwN2NkNWQ1ZjI2
MDdlODM3NWVhMGQ1YmU0NzJjNjQ0YTU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC03OSw3ICs3OSw3IEBA
IHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sYXll
ckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0OjpjYW5jZWxQZW5kaW5nTGF5ZXJGbHVzaCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDU0YjRl
YWQ5ODNmNzU2YmQxNDhlMWFmNGNiZWQ2NDczOTgwNzk0MmQuLjBkMWI1MTAxMDY4NTE4NWY4MDMx
OWU5MDhiZWNmNzQ4Y2E1NThiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9p
ZCBEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxlRGlzcGxheSgpCiAgICAgaWYgKG1fZGlzcGxheVRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZGlzcGxheVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBlOGJjODg5ZGNhMDNl
YmRhMTJhYTY0MGQ5Mzk1YTI5ZTZlYTVjZTJkLi41YmE4Y2E5NGVjZDIxZGI4M2Q5ZjE4ZTEzNWQw
M2VhODE1MDdmNjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC0yNTMsOSArMjUzLDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBhZ2VTY3JvbGxIeXN0
ZXJlc2lzU2Vjb25kcyA9IDAuMzsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMjAgfTsKLXN0YXRpYyBj
b25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRl
cnZhbCB7IDIgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzID0g
MC4zX3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJ
bnRlcnZhbCA9IDIwX21zOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUxheWVyVm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCguLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBMYXllcnMs
IF9fVkFfQVJHU19fKQogI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKC4uLikg
UkVMRUFTRV9MT0dfRVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVycywg
X19WQV9BUkdTX18pCkBAIC0zMTUsNyArMzE1LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRf
dCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKCp0aGlzKQogI2VuZGlmCi0gICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMo
W3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0
YXRlOjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVy
ZXNpc1NlY29uZHMpCisgICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3Rl
cmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVk
KSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpcykKICAgICAs
IG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKHBhcmFtZXRlcnMuY2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKQogICAgICwgbV9jYW5SdW5Nb2RhbChwYXJhbWV0ZXJzLmNhblJ1
bk1vZGFsKQogI2lmIFBMQVRGT1JNKElPUykKQEAgLTIwNjIsNyArMjA2Miw3IEBAIHZvaWQgV2Vi
UGFnZTo6Y2FsbFZvbGF0aWxpdHlDb21wbGV0aW9uSGFuZGxlcnMoKQogCiB2b2lkIFdlYlBhZ2U6
OmxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewotICAgIGF1dG8gbmV3SW50ZXJ2YWwgPSAy
ICogbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbE1TKCk7CisgICAgYXV0byBu
ZXdJbnRlcnZhbCA9IG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIucmVwZWF0SW50ZXJ2YWwoKSAqIDI7
CiAgICAgYm9vbCBkaWRTdWNjZWVkID0gbWFya0xheWVyc1ZvbGF0aWxlSW1tZWRpYXRlbHlJZlBv
c3NpYmxlKCk7CiAgICAgaWYgKGRpZFN1Y2NlZWQgfHwgbmV3SW50ZXJ2YWwgPiBtYXhpbXVtTGF5
ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCkgewogICAgICAgICBtX2xheWVyVm9sYXRpbGl0eVRp
bWVyLnN0b3AoKTsKQEAgLTIwNzEsNyArMjA3MSw3IEBAIHZvaWQgV2ViUGFnZTo6bGF5ZXJWb2xh
dGlsaXR5VGltZXJGaXJlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNF
X0xPR19FUlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBhbGwg
bGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQgbXMiLCB0aGlzLCBzdGF0aWNf
Y2FzdDxsb25nIGxvbmc+KG5ld0ludGVydmFsLmNvdW50KCkpKTsKKyAgICBSRUxFQVNFX0xPR19F
UlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJz
IGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICUuM2YgcyIsIHRoaXMsIG5ld0ludGVydmFsLnZh
bHVlKCkpOwogICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRpbmcobmV3SW50
ZXJ2YWwpOwogfQogCkBAIC0yMTAyLDcgKzIxMDIsNyBAQCB2b2lkIFdlYlBhZ2U6Om1hcmtMYXll
cnNWb2xhdGlsZShzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiJXAgLSBG
YWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQg
bXMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5jb3VudCgpKTsK
KyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXll
cnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgaW5pdGlhbExheWVy
Vm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlU
aW1lci5zdGFydFJlcGVhdGluZyhpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCk7
CiB9CiAKQEAgLTI1NDEsNyArMjU0MSw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlSXNJbldpbmRv
dyhib29sIGlzSW5pdGlhbFN0YXRlKQogICAgICAgICAvLyBpbiBvcmRlciB0byBnZXQgcGx1Zy1p
biBjb25uZWN0aW9ucywgYW5kIHRoZSBVSSBwcm9jZXNzIHdpbGwgYmUgd2FpdGluZyBmb3IgdGhl
IFdlYiBwcm9jZXNzIHRvIHVwZGF0ZSB0aGUgYmFja2luZwogICAgICAgICAvLyBzdG9yZSBhZnRl
ciBtb3ZpbmcgdGhlIHZpZXcgaW50byBhIHdpbmRvdywgdW50aWwgaXQgdGltZXMgb3V0IGFuZCBw
YWludHMgd2hpdGUuIFNlZSA8cmRhcjovL3Byb2JsZW0vOTI0Mjc3MT4uCiAgICAgICAgIGlmICht
X21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cpCi0gICAgICAgICAgICBtX3NldENhblN0YXJ0TWVk
aWFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5wYWdlRGlkRW50ZXJXaW5kb3cobV9wYWdlSUQpOwogICAgIH0KQEAgLTM4NzMsNyArMzg3Myw3
IEBAIHZvaWQgV2ViUGFnZTo6YWRkUGx1Z2luVmlldyhQbHVnaW5WaWV3KiBwbHVnaW5WaWV3KQog
ICAgIG1faGFzU2VlblBsdWdpbiA9IHRydWU7CiAjaWYgRU5BQkxFKFBSSU1BUllfU05BUFNIT1RU
RURfUExVR0lOX0hFVVJJU1RJQykKICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBE
ZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0ZWN0aW9uIGZyb20gYWRkUGx1Z2luVmlldyglcCkiLCBw
bHVnaW5WaWV3KTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCiB9CiAKQEAgLTQ0MTAsNyArNDQxMCw3
IEBAIHZvaWQgV2ViUGFnZTo6c2V0TWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyhib29sIG1heVN0
YXJ0TWVkaWEpCiAKICAgICBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgPSBtYXlTdGFydE1l
ZGlhOwogICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgJiYgbV9wYWdlLT5pc0lu
V2luZG93KCkpCi0gICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgV2ViUGFnZTo6cnVuTW9kYWwoKQpAQCAtNTE4OCw3ICs1MTg4LDcgQEAgdm9pZCBX
ZWJQYWdlOjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAogICAgIG1fcmVhZHlUb0Zp
bmRQcmltYXJ5U25hcHNob3R0ZWRQbHVnaW4gPSB0cnVlOwogICAgIExPRyhQbHVnaW5zLCAiUHJp
bWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBkaWRGaW5p
c2hMb2FkIChtYXJraW5nIGFzIHJlYWR5IHRvIGRldGVjdCkuIik7Ci0gICAgbV9kZXRlcm1pbmVQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRl
cm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNl
bHNlCiAgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKICNlbmRpZgpAQCAtNTIwMCw3ICs1MjAwLDcg
QEAgc3RhdGljIGNvbnN0IGZsb2F0IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblNlYXJjaEJ1Y2tl
dFNpemUgPSAxLjE7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1p
bmltdW1XaWR0aCA9IDQwMDsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luTWluaW11bUhlaWdodCA9IDMwMDsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cyA9IDI7Ci1zdGF0aWMgY29uc3QgaW50
IGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAzOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rp
b25EZWxheSA9IDNfczsKIHN0YXRpYyBjb25zdCBmbG9hdCBvdmVybGFwcGluZ0ltYWdlQm91bmRz
U2NhbGUgPSAxLjE7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWluaW11bU92ZXJsYXBwaW5nSW1hZ2VU
b1BsdWdpbkRpbWVuc2lvblNjYWxlID0gLjk7CiAKQEAgLTUzMDgsNyArNTMwOCw3IEBAIHZvaWQg
V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKCkKICAgICBpZiAoIWNh
bmRpZGF0ZVBsdWdJbikgewogICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBE
ZXRlY3Rpb246IGZhaWwgLSBkaWQgbm90IGZpbmQgYSBjYW5kaWRhdGUgcGx1Zy1pbi4iKTsKICAg
ICAgICAgaWYgKG1fbnVtYmVyT2ZQcmltYXJ5U25hcHNob3REZXRlY3Rpb25BdHRlbXB0cyA8IG1h
eFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzKSB7Ci0gICAgICAgICAg
ICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBh
Z2FpbiBpbiAlZHMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25E
ZWxheSk7CisgICAgICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rp
b246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBpbiAlLjNmcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5LnZhbHVlKCkpOwogICAgICAgICAgICAgbV9kZXRlcm1p
bmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoZGVmZXJyZWRQcmlt
YXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CiAgICAgICAgIH0KICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggOTA5ZDJmOTEyNjZjZDhmZDUxOTYxOGVkMGQxYzU3ZTA5MmZmYzU5OC4uNzViZjQ2YjIzZTM5
N2M4NTE0MTg0ZTBmZTFiYWI0NjA5YWE3OWFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0zMDAsNyArMzAwLDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY3RpdmVQ
b3B1cE1lbnUoV2ViUG9wdXBNZW51Kik7CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGltaXQpCisg
ICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRz
IGxpbWl0KQogICAgIHsKICAgICAgICAgbV9wYWdlLT5zZXRUaW1lckFsaWdubWVudEludGVydmFs
SW5jcmVhc2VMaW1pdChsaW1pdCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0KaW5kZXggNWE2NzMzNGQ4YWEzYTQ2MWIzMzhlMGI4ZWE4NDA3MWRkYzhkMDdkNC4u
OTFkOGE1NjUxZjg3NjAzNTg0MzE0ZWM2ZGZmYjEyNzMxOGRjY2UwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCkBAIC0yODUsNyArMjg1LDcgQEAgVGlsZWRCYWNraW5n
KiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6bWFpbkZyYW1lVGlsZWRCYWNraW5nKCkgY29u
c3QKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyRmx1c2hJbW1lZGlhdGVseSgpCiB7Ci0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRP
bmVTaG90KDBtcyk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKCkKQEAgLTMwNCw5ICszMDQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJG
bHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IGF1dG8g
aW5pdGlhbEZsdXNoRGVsYXkgPSA1MDBtczsKLSAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAx
NTAwbXM7Ci0gICAgYXV0byB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNo
ZXMgPyAobV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkg
OiBmbHVzaERlbGF5KSA6IDBtczsKKyAgICBjb25zdCBhdXRvIGluaXRpYWxGbHVzaERlbGF5ID0g
MC41X3M7CisgICAgY29uc3QgYXV0byBmbHVzaERlbGF5ID0gMS41X3M7CisgICAgYXV0byB0aHJv
dHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9pc0luaXRpYWxUaHJv
dHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERlbGF5KSA6IDBfczsK
ICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsKIAogICAgIG1fbGF5
ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IGY0ZWVhMDFmZTZlYTU3MWMzYjVjYjQz
MGY5YzE4NzQzY2U5YTQwY2MuLmNjY2YxYWMyMDU1NzhkYzRjYWM1ZjE4ZmRhMTk4ZmM3ZTdkMWQw
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNDcy
LDcgKzQ3Miw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5
U3RhdGVEaWRDaGFuZ2UoQWN0aXZpdHlTdGF0ZTo6RmxhZ3MKICAgICB9CiAKICAgICBpZiAobV93
YW50c0RpZFVwZGF0ZUFjdGl2aXR5U3RhdGUgfHwgIW1fbmV4dEFjdGl2aXR5U3RhdGVDaGFuZ2VD
YWxsYmFja0lEcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5U3Rh
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5
U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYTo6ZGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZGQwMGExOGQ5YjYyMTY1ZDkz
NjJhOTgyZTRmZTc2NTg4NzFlNTE5YS4uMjYzMmRiYWZiMjRjNjcyYjVjZTM0NTQxYzU4NDg4ZmQ2
OTgwNjJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0x
NDIsNyArMTQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBzdGF0aWMgY29uc3QgZG91
YmxlIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBkYXRlVGhyZXNob2xkID0gMjkgKiAy
NCAqIDYwICogNjA7CiAKIC8vIFRoaXMgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aWxlUmV2YWxp
ZGF0aW9uVGltZW91dCBpbiBUaWxlQ29udHJvbGxlci4KLXN0YXRpYyBjb25zdCBkb3VibGUgbm9u
VmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMDsKK3N0YXRpYyBjb25zdCBhdXRvIG5vblZp
c2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTBfczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
QEAgLTIxMSw3ICsyMTEsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAgICAgaWYg
KG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICAKLSAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hv
dChzdGQ6OmNocm9ubzo6c2Vjb25kcyg1KSk7CisgICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRU
aW1lci5zdGFydE9uZVNob3QoNV9zKTsKICAgICB9KTsKIH0KIApAQCAtNTM4LDcgKzUzOCw3IEBA
IHZvaWQgV2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKICAgICB1bnNpZ25l
ZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFj
aXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0
byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMg
eyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogICAg
IHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogICAgIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6
ZXMoY2FjaGVNb2RlbCwgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwg
Y2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBh
Z2VDYWNoZVNpemUpOwogCkBAIC0xMjQ0LDEwICsxMjQ0LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6
ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IE9wdGlvCiAgICAgfQogfQogCi12b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCit2b2lkIFdlYlByb2Nlc3M6
OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQp
CiB7CiAgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQotICAgICAgICBw
YWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kcykpOworICAgICAgICBwYWdlLT5zZXRIaWRkZW5Q
YWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCk7CiB9CiAKICNpZiAhUExBVEZP
Uk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0
MWJmZDU0ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFhMWYyN2I1YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3
NTY2ZGIzODM0ZWY3YzRmOTA3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCkBAIC0xODgsNyArMTg4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQ
YWdlcygpOwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VM
aW1pdChpbnQgbWlsbGlzZWNvbmRzKTsKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgdm9pZCBwcm9jZXNzV2lsbFN1c3Bl
bmRJbW1pbmVudGx5KGJvb2wmIGhhbmRsZWQpOwogICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IDZkNzZlNTgzMjZlZDM1MjRhYWM1YTk4NmM0OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4
YTZlNGE5NzA2YjFmYzFkNjY5YjFlMWM2Yjc4MjAyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVz
c2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURh
dGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0
aW1lX3BvaW50IG1vZGlmaWVkU2luY2UpIC0+ICgpCiAgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JP
cmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6Oldl
YnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YT4gb3JpZ2lucykgLT4gKCkKIAotICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCisgICAgU2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICBTZXRQcm9jZXNz
U3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBT
ZXRRT1MoaW50IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE2ZTA1OGFlN2RiZDkzYzgxYzM3
NDVlZjQ2OWRhZTU0Y2ZjM2I2M2EuLmEzNjM2YzNmYWZkMjBlZWQyY2JmZGE1NDdmZjk4OTNjOTRm
ZDk5MGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29w
LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE2LTEyLTA0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggYSBidWls
ZCBicmVhayBvbiBFRkwgc2luY2UgcjIwOTMwMy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZm
ZTNkYi4uNWE0ODkyOGZjYjVmMDgyMTYxOGE4ZDJhNDdhYTUxOGZiZGQzYjU2MyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgVEVT
VChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGlt
ZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMSk7
CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiAgICAgICAgIFV0aWw6OnJ1bigm
dGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CkBAIC0xMjksNyArMTI5LDcgQEAgVEVTVChXVEZfUnVu
TG9vcCwgUmVwZWF0aW5nVGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1l
cih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygwLjAxKTsKKyAg
ICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMV9zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0
ZXN0RmluaXNoZWQpOwogICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296148</attachid>
            <date>2016-12-05 09:28:39 -0800</date>
            <delta_ts>2016-12-05 09:28:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165079-20161205092759.patch</filename>
            <type>text/plain</type>
            <size>387961</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZThlNTQyZjhiY2IxNzdmMjQ1NWEyOTczNzllNzg4NGQ5YTg1OGVmLi5mODJmNzE0ODNmMDAzMDQ0
YTIzNmNlNGUyZTA1OGQ5OTUwMjc5YWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCBy
YXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5j
cHA6CisgICAgICAgIChJbnNwZWN0b3I6OlNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6
OmFkZEdhcmJhZ2VDb2xsZWN0aW9uKToKKwogMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHog
YW5kIHBvcGNudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCA0ZjEyZWQzNGQ4NGU3MzgyMjViMDUwYzk3YmEyYmYxZTM1NjRmNGQ0
Li5hNjMyNjk2NWI5ZjJjNTY3MTU3YWIwOTJiZmVhNmQ0M2QyMWVlMGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29t
PgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBk
b3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcpOgorICAgICAgICAoV1RGOjpSdW5Mb29wOjpUaW1lckJh
c2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgICogd3RmL1J1bkxvb3BUaW1lci5oOgorICAgICAg
ICAqIHd0Zi9SdW5Mb29wVGltZXJDRi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3BUaW1lckJh
c2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvY2YvUnVuTG9vcENGLmNwcDoKKyAgICAgICAgKFdU
Rjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAgICogd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcDoKKyAgICAgICAgKFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydCk6CisgICAg
ICAgICogd3RmL2dlbmVyaWMvUnVuTG9vcEdlbmVyaWMuY3BwOgorICAgICAgICAoV1RGOjpSdW5M
b29wOjpUaW1lckJhc2U6OnN0YXJ0KToKKyAgICAgICAgKiB3dGYvZ2xpYi9SdW5Mb29wR0xpYi5j
cHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAq
IHd0Zi93aW4vUnVuTG9vcFdpbi5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OlRpbWVyQmFz
ZTo6c3RhcnQpOgorCiAyMDE2LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21h
aWwuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFN5bWJvbEltcGwgbGF5b3V0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggZmFmYzg3YzQ3ZmM3NTJkNmMyMGI5ODkwNTU3ZTdmM2E2NTZmMDJmZC4uNzFmNDUwYjY4MDk5
YjA5M2YxNWFmZmI4NTFmMTE0NGZlNWYxNjIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyNyBA
QAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91Ymxl
cyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2Vv
Tm90aWZpZXI6OnNldEZhdGFsRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6R2VvTm90aWZpZXI6
OnNldFVzZUNhY2hlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb05vdGlmaWVyOjpz
dGFydFRpbWVySWZOZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnJlc3VtZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb246OnNjaGVkdWxlUGVuZGluZ09wZXJhdGlvblRpbWVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZUNvbXBsZXRlZE9wZXJhdGlv
blRpbWVyKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFz
ZTo6aW52b2tlT3BlcmF0aW9uQW5kVHJhbnNhY3Rpb25UaW1lcik6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyOjpjb25maWd1cmVXYXRjaGRvZ1RpbWVyKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmg6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlQnVmZmVyOjpyYW5nZVJlbW92YWwpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXJJbnRlcm5hbCk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVh
bTo6c2NoZWR1bGVBY3RpdmVTdGF0ZUNoYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6
OnNjaGVkdWxlRGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVEaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6cmVx
dWVzdFBlcm1pc3Npb24pOgorICAgICAgICAqIE1vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpWaWJyYXRpb246OnZpYnJhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6VmlicmF0aW9uOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6cmVzdW1lKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJTb2NrZXRDaGFubmVsOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJTb2NrZXRDaGFubmVsOjpyZXN1bWUpOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0Tm90
aWZpY2F0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R0NDb250cm9sbGVyOjpnYXJiYWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3Ap
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZTo6c2V0U3RhdHVzKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2FkaW5nRm9udFNvb24p
OgorICAgICAgICAqIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcDoKKyAgICAgICAgKCk6
IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVSZXNvbHZlcjo6YWRkVG9NYXRjaGVkUHJvcGVydGllc0NhY2hlKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldFZp
c3VhbFVwZGF0ZXNBbGxvd2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzY2hlZHVs
ZVN0eWxlUmVjYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjptaW5pbXVtVGltZXJJ
bnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dGltZXJBbGlnbm1lbnRJbnRl
cnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZmluaXNoZWRQYXJzaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXN1bWVTY2hlZHVsZWRUYXNrcyk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRlY3JlbWVudExvYWRFdmVu
dERlbGF5Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRDYWNoZWRET01Db29r
aWVzKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRF
dmVudFF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50RXZlbnRRdWV1ZTo6ZW5x
dWV1ZUV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnRTZW5kZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbik6CisgICAgICAgICogZG9tL01p
Y3JvdGFza3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWljcm90YXNrUXVldWU6OmFwcGVuZCk6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaDoKKyAgICAgICAgKiBkb20vU2NyaXB0UnVubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdFJ1bm5lcjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdFJ1bm5lcjo6
bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
Y2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhbmVyOjpkaWRIaXRQ
cmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpQcmVzZW50YXRp
b25BdHRyaWJ1dGVDYWNoZUNsZWFuZXI6OmNsZWFuQ2FjaGUpOgorICAgICAgICAqIGVkaXRpbmcv
QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbHRlcm5h
dGl2ZVRleHRDb250cm9sbGVyOjpzdGFydEFsdGVybmF0aXZlVGV4dFVJVGltZXIpOgorICAgICAg
ICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVzcG9u
ZFRvQ2hhbmdlZFNlbGVjdGlvbik6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQXBwZWFyYW5jZSk6
CisgICAgICAgICogZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3BlbGxDaGVja2VyOjpkaWRDaGVjayk6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpmaW5pc2hSZXF1ZXN0QXV0
b2NvbXBsZXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxk
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnN0YXJ0UHJvZ3Jlc3NFdmVu
dFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2Nhbm5p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVUaW1ldXBk
YXRlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vl
a1RvUGxheWJhY2tQb3NpdGlvbik6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRl
KToKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAo
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpzY2hlZHVsZUVycm9yRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnJlc3VtZSk6CisgICAgICAgICogaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpNZWRpYUNvbnRyb2xsZXIpOgorICAgICAgICAoTWVk
aWFDb250cm9sbGVyOjpjdXJyZW50VGltZSk6CisgICAgICAgIChNZWRpYUNvbnRyb2xsZXI6OnNj
aGVkdWxlRXZlbnQpOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyOjpzY2hlZHVsZVRpbWV1cGRh
dGVFdmVudCk6CisgICAgICAgICogaHRtbC9NZWRpYUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBo
dG1sL01lZGlhRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFEb2N1bWVudDo6
bWVkaWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MpOgorICAgICAgICAqIGh0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9u
OjpleHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZURpZENoYW5nZSk6CisgICAgICAgICogaHRt
bC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBl
OjpzdGFydFNlYXJjaEV2ZW50VGltZXIpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2VET01BbmRT
dGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkYXRpb25NZXNzYWdlOjpyZXF1ZXN0
VG9IaWRlTWVzc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
Ojpsb3NlQ29udGV4dEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6Zm9yY2VSZXN0b3JlQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCk6
CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmly
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6c2NoZWR1bGVGb3JS
ZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclNjaGVkdWxlcjo6cmVzdW1lKToK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQYW5lbEVsZW1lbnQ6OnN0YXJ0VGltZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6bWFrZVRyYW5zcGFyZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6
OnVwZGF0ZVNpemVzKToKKyAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxvYWRhYmxlVGV4dFRyYWNrOjpzY2hlZHVsZUxvYWQpOgor
ICAgICAgICAqIGh0bWwvdHJhY2svVlRUUmVnaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZU
VFJlZ2lvbjo6c3RhcnRUaW1lcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0Fn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjpzY2hl
ZHVsZUZvcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6OnNjaGVkdWxlRm9y
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjpkaXNwYXRj
aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hUYXNrOjp0aW1l
ckZpcmVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpzaG93UGFpbnRSZWN0KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
YnVpbGRJbnNwZWN0b3JPYmplY3RGb3JTZWdtZW50KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0
YUxvYWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZGVsaXZlclN1
YnN0aXR1dGVSZXNvdXJjZXNBZnRlckRlbGF5KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VMb2FkZXI6OnVwZGF0ZWRIYXNQZW5kaW5nRXZlbnQpOgorICAgICAgICAqIGxv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRp
b25TY2hlZHVsZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwOgorICAgICAgICAqIGxvYWRlci9UZXh0VHJhY2tMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2tMb2FkZXI6Om5ld0N1ZXNQYXJzZWQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrTG9hZGVyOjpmaWxlRmFpbGVkVG9QYXJzZSk6CisgICAgICAgICogbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
aWNhdGlvbkNhY2hlR3JvdXA6OnNjaGVkdWxlUmVhY2hlZE1heEFwcENhY2hlU2l6ZUNhbGxiYWNr
KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbEZvclJlc291cmNlVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6ZGVzdHJveURlY29kZWREYXRhSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhbGxiYWNrOjpDYWxs
YmFjayk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpsb2FkRG9uZSk6CisgICAg
ICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUNhY2hlOjpwcnVuZVNvb24pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnNldERlYWREZWNvZGVkRGF0YURl
bGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OmRlYWREZWNv
ZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwpOgorICAgICAgICAqIGxvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5jcHA6CisgICAgICAgICogcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHA6CisgICAg
ICAgICogcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSk6CisgICAgICAgICogcGFnZS9DYXB0aW9u
VXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNl
clByZWZlcmVuY2VzTWVkaWFBRjo6c2V0SW50ZXJlc3RlZEluQ2FwdGlvblByZWZlcmVuY2VDaGFu
Z2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVRpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjp1c2VyR2VzdHVyZVRv
a2VuVG9Gb3J3YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpET01UaW1lcik6Cisg
ICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6aW5zdGFsbCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01UaW1lcjo6dXBkYXRlVGltZXJJbnRlcnZhbElmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVRpbWVyOjppbnRlcnZhbENsYW1wZWRUb01pbmltdW0pOgorICAgICAgICAoV2ViQ29y
ZTo6RE9NVGltZXI6OmFsaWduZWRGaXJlVGltZSk6CisgICAgICAgICogcGFnZS9ET01UaW1lci5o
OgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdp
bmRvdzo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpzZXRUaW1l
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c2V0SW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VD
b250cm9sbGVyOjphZGREZXZpY2VFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBwYWdlL0V2ZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXhpbXVtRHVyYXRpb25UcmFja2VyOjpN
YXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1heGltdW1EdXJhdGlv
blRyYWNrZXI6On5NYXhpbXVtRHVyYXRpb25UcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjptb3Vz
ZU1vdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6c2NoZWR1bGVIb3ZlclN0
YXRlVXBkYXRlKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICAqIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlSW5pdGlhbENvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OnNjaGVk
dWxlUmVjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpwYXJzZUV2ZW50
U3RyZWFtTGluZSk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBh
Z2UvRm9jdXNDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQpOgorICAgICAgICAqIHBhZ2UvRnJhbWUu
Y3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZW5hYmxlU3BlY3Vs
YXRpdmVUaWxpbmdJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MpOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpzZXRUaW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdCk6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjp1cGRhdGVET01UaW1lckFsaWdubWVudEludGVydmFsKToKKyAgICAg
ICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRvbVRpbWVyQWxpZ25t
ZW50SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbik6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwpOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjptaW5pbXVt
RE9NVGltZXJJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VGltZVdp
dGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xz
KToKKyAgICAgICAgKiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VzcGVuZGFibGVUaW1lcjo6U3VzcGVuZGFibGVUaW1lcik6CisgICAgICAgIChXZWJDb3Jl
OjpTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
dXNwZW5kYWJsZVRpbWVyOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFi
bGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5k
YWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvU3VzcGVu
ZGFibGVUaW1lci5oOgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6c3RhcnRS
ZXBlYXRpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVuZGFibGVUaW1lcjo6
c3RhcnRPbmVTaG90KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VzcGVu
ZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwpOiBEZWxldGVkLgor
ICAgICAgICAqIHBhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3RhcnROb3RpZmlj
YXRpb25UaW1lcik6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRp
bWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdGFy
dFVwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBk
YXRlKToKKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyT3JTY2hlZHVsZUNsZWFyaW5nTGF0Y2hlZFN0YXRl
SWZOZWVkZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6
aW52YWxpZGF0ZUhpZ2hsaWdodHNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93
bik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1p
bmVBY3RpdmVIaWdobGlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMvVGV4dEluZGljYXRvcldp
bmRvdy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3c6OnNldFRleHRJ
bmRpY2F0b3IpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6
c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGwpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1p
dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNjaGVkdWxl
VHJlZVN0YXRlQ29tbWl0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9HZW5lcmljVGFza1F1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRhc2tEaXNwYXRjaGVyPFRpbWVyPjo6cG9zdFRhc2spOgor
ICAgICAgICAqIHBsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oOgorICAgICAgICAoV2ViQ29y
ZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpIeXN0ZXJlc2lzQWN0aXZpdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5OjpzdG9wKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3Jv
bGxiYXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3Nl
ZFBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhci5oOgorICAgICAgICAqIHBsYXRmb3JtL1Nj
cm9sbGJhclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6aW5pdGlh
bEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
OjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWUuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRoZW1lOjpjYXJldEJsaW5rSW50ZXJ2YWwpOgorICAgICAgICAqIHBs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6
OlRocmVhZFRpbWVycyk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJl
ZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGlt
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50
ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpmaXJlVGltZXJzSW5OZXN0
ZWRFdmVudExvb3ApOgorICAgICAgICAqIHBsYXRmb3JtL1RocmVhZFRpbWVycy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVySGVhcExlc3NU
aGFuRnVuY3Rpb246Om9wZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpU
aW1lckJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpzdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNl
OjpuZXh0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6Y2hlY2tD
b25zaXN0ZW5jeSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWNyZWFzZUtl
eSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OmhlYXBEZWxldGUpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKToKKyAgICAgICAgKFdlYkNvcmU6OlRp
bWVyQmFzZTo6aGVhcEluY3JlYXNlS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6
aGVhcFBvcCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaW1lckJhc2U6Om5leHRVbmFsaWduZWRGaXJlSW50ZXJ2YWwpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6OnN0
YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c3RhcnRPbmVTaG90
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKToKKyAgICAgICAgKFdl
YkNvcmU6OlRpbWVyQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyQmFzZTo6YWxpZ25lZEZpcmVUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
QmFzZTo6aXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGVmZXJyYWJsZU9uZVNob3RUaW1l
cjo6RGVmZXJyYWJsZU9uZVNob3RUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckJhc2U6
Om1zVG9TZWNvbmRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyQmFzZTo6c2Vj
b25kc1RvTVMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6VGltZXJCYXNlOjpyZXBlYXRJ
bnRlcnZhbE1TKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bV9sYXN0V2FybmluZ1RpbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Vk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlZOb2RlVHJhY2tlcjo6bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvU2Nyb2xs
Q29udHJvbGxlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0
U25hcFJ1YmJlcmJhbmRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxDb250cm9sbGVy
OjpzY2hlZHVsZVN0YXRlbGVzc1Njcm9sbFNuYXApOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Q29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFwVGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dh
bWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW06CisgICAgICAgICog
cGxhdGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhJREdhbWVwYWRQcm92aWRlcjo6ZGV2aWNlQWRkZWQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcElt
YWdlOjpzdGFydFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjppbnRlcm5h
bFN0YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjphZHZhbmNl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGb250Q2FjaGU6OmZvbnRGb3JGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpu
ZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dC
bHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmF0Y2hCdWZmZXI6OnNjaGVkdWxlU2NyYXRj
aEJ1ZmZlclB1cmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQzo6dXBkYXRlT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2JqQzo6c2V0U2VsZWN0ZWRPcHRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c2Vla1dpdGhUb2xlcmFuY2UpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXllclBvb2w6OnNjaGVkdWxlUHJ1bmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250
cm9sbGVyOjpzZXRJc0luV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9sbGVy
OjpzY2hlZHVsZVRpbGVSZXZhbGlkYXRpb24pOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jYS9UaWxlR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlR3JpZDo6cmV2
YWxpZGF0ZVRpbGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzdGFydGVkTmV3Q29o
b3J0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpzY2hlZHVsZUNvaG9ydFJlbW92YWwp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZUdyaWQ6OlRpbGVDb2hvcnRJbmZvOjp0aW1lVW50aWxF
eHBpcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpjb2hvcnRSZW1vdmFsVGlt
ZXJGaXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVHcmlkOjpUaWxlQ29ob3J0SW5mbzo6VGlsZUNvaG9ydEluZm8p
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJnZWFibGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZVBvb2w6OkNhY2hlZFN1cmZhY2VEZXRhaWxzOjpyZXNldExh
c3RVc2VUaW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9TdWJpbWFnZUNhY2hl
V2l0aFRpbWVyLmNwcDoKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNoYW5nZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpz
ZXREb3dubG9hZEJ1ZmZlcmluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6dHJpZ2dlclJlcGFpbnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoVmlkZW9SZW5kZXJSZXF1ZXN0U2NoZWR1bGVyOjpyZXF1ZXN0UmVuZGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQcml2YXRlUVRLaXQu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5OjpzY2hlZHVsZVVwZGF0ZU9uQ29tcG9zaXRvclRocmVhZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmFk
ZEFuaW1hdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5h
dGVkL0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsv
U2Nyb2xsQW5pbWF0b3JHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JH
dGs6Om92ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yR3RrOjpzaG93T3ZlcmxheVNjcm9sbGJhcnMpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JHdGs6OmhpZGVPdmVybGF5U2Nyb2xsYmFycyk6CisgICAg
ICAgICogcGxhdGZvcm0vaW9zL0xlZ2FjeVRpbGVDYWNoZS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkxlZ2FjeVRpbGVDYWNoZTo6c2V0U3BlY3VsYXRpdmVUaWxlQ3JlYXRpb25FbmFibGVkKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAg
ICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNob3VsZEV4aXRGdWxsc2Ny
ZWVuV2l0aFJlYXNvbik6CisgICAgICAgICogcGxhdGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyTGludXguY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJh
clBhaW50VGltZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnNlbmRD
b250ZW50QXJlYVNjcm9sbGVkU29vbik6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjphdXRv
c2Nyb2xsVGltZXJEZWxheSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudE1vY2s6
OnNldE1vdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRN
b2NrOjpzZXRPcmllbnRhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlv
bkNsaWVudE1vY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25DbGllbnRNb2Nr
Ojphc3luY1VwZGF0ZVBlcm1pc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb25D
bGllbnRNb2NrOjphc3luY1VwZGF0ZUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21v
Y2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2suY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlh
RW5kcG9pbnQ6OmRpc3BhdGNoRmFrZUljZUNhbmRpZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja01lZGlhRW5kcG9pbnQ6OmljZUNhbmRpZGF0ZVRpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OmljZVRyYW5zcG9ydFRpbWVyRmlyZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja01lZGlhRW5kcG9pbnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNC
eU1pZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFFbmRwb2ludDo6dW5tdXRlVGltZXJG
aXJlZCk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6c3RhcnRQcm9k
dWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSZWFsdGltZVZpZGVvU291cmNlOjph
cHBseUZyYW1lUmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVyTW9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVNwZWVjaFN5bnRo
ZXNpemVyTW9jazo6c3BlYWspOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svVGltZXJFdmVudEJh
c2VkTW9jay5oOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJFdmVudDo6VGltZXJFdmVudCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE5TUmVzb2x2ZVF1ZXVlOjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RE5TUmVz
b2x2ZVF1ZXVlOjp0aW1lckZpcmVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFV
UkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFVUkxEZWNvZGVyOjpEZWNvZGlu
Z1Jlc3VsdERpc3BhdGNoZXI6OnN0YXJ0VGltZXIpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnNjaGVkdWxlRmFpbHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0RGVmZXJzTG9hZGluZyk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya1N0YXRlTm90aWZpZXI6OmR5bmFtaWNTdG9y
ZUNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZW5kUGVuZGlu
Z1JlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxs
KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZVF1YWxpdHlDb250cm9sbGVyOjpyZXN0YXJ0VGltZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hcnF1ZWU6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
cnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OmRpc3BhdGNoUmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50SWZOZWVkZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6YW5pbWF0aW9uVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQ
cm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXJUaGVtZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlY3VyZVRleHRUaW1lcjo6cmVzdGFydCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6
Y2FyZXRCbGlua0ludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjptZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6
Om1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJl
cGFpbnQpOgorICAgICAgICAqIHJlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dCk6CisgICAgICAg
ICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OmRpc3BhdGNoSW5wdXRT
b29uKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0
Y2hJbnB1dCk6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oOgor
ICAgICAgICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXBsYXlTZXNzaW9uU2VnbWVudDo6UmVwbGF5U2Vzc2lvblNlZ21lbnQpOgorICAgICAg
ICAqIHJlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVw
bGF5U2Vzc2lvblNlZ21lbnQ6OnRpbWVzdGFtcCk6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYXlT
ZXNzaW9uU2VnbWVudDo6ZXZlbnRMb29wVGltaW5ncyk6CisgICAgICAgICogcmVwbGF5L1JlcGxh
eWluZ0lucHV0Q3Vyc29yLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVTY29wZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnNjaGVkdWxlVXBkYXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpzZW5kU1ZH
TG9hZEV2ZW50SWZQb3NzaWJsZUFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNNSUxUaW1lQ29u
dGFpbmVyOjpzdGFydFRpbWVyKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8p
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVySW50
ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0VGltZVdpdGhv
dXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldFRpbWVvdXQpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKToKKyAgICAg
ICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJl
cXVlc3Q6OnNldFRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnBy
ZXBhcmVUb1NlbmQpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmNyZWF0ZVJl
cXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OmRpZEZhaWwpOgorICAg
ICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnJlc3VtZSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0Lmg6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjpkaXNwYXRjaFRocm90dGxlZFByb2dyZXNzRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6WE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OnJlc3VtZSk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmg6CisKIDIw
MTYtMTItMDQgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBQ
YXJzZXJdIEVsaW1pbmF0ZSBpbi1wbGFjZSBsb3dlcmNhc2luZyBpbiB0aGUgcGFyc2VyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCA2NjJjYTI0MTk1YWM0YjQ2MzFjMTczMjNhZTQxZWFmZjJjM2FhOTRjLi4zNmRiNGNk
NWNlZDk2NTk3MzEzNDVmZWE5ZmE3OGM2OTMyN2JkMDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkgU2Vjb25kcywgbm90IHJhdyBkb3Vi
bGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFN0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUl0ZW1Gb3JTeW5jKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFTeW5jOjpzY2hlZHVsZUNsb3NlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlQXJlYVN5bmM6OnN5bmNUaW1lckZpcmVkKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VU
cmFja2VyKToKKyAgICAgICAgKiBTdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChX
ZWJLaXQ6OlN0b3JhZ2VUcmFja2VyOjpzdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6c2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZVNlcnZlUGVu
ZGluZ1JlcXVlc3RzKToKKwogMjAxNi0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNYWNdW1dLMV0gSW1wbGVtZW50IG5ldyBIVE1MIGludGVyYWN0aXZl
IGZvcm0gdmFsaWRhdGlvbiB1c2VyIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGVjMTU5
MmNmYjA2NWNjNzk4NTI2ODMzZmJjYmZhMWIwMDVjZmU5MzIuLjllOTg2NWUxZjU2OWJjY2NlMmM3
NDYyNDZkZTNmM2E2ZDY0MzI4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAg
ICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMsIG5vdCByYXcgZG91YmxlcyBv
ciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6cmVxdWVzdFRpbWVy
RmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6Omxv
YWRSZXF1ZXN0KToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1t
OgorICAgICAgICAoV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAgICAg
ICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKFBsdWdpblRp
bWVyOjpzdGFydCk6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbToKKyAg
ICAgICAgKCtbV2ViU3RvcmFnZU1hbmFnZXIgc2V0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBf
c2V0Q2FjaGVNb2RlbDpdKToKKwogMjAxNi0xMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIHRoZSBiZWhhdmlvciBvZiBzY3JvbGwt
aW50by12aWV3IHdoZW4gdGhlIHRhcmdldCBpcyBpbnNpZGUgcG9zaXRpb246Zml4ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwppbmRleCAyMmZiOWI0ZjQ3YWQxYjE3MWQ5Nzk1NjcwZjMwZTQ2ZTFkN2FiZTJlLi5h
Yzk5Y2ZkYzZmYTQwYjJlNWJlNjRmOTdiODk3NDNmN2FhZjVmNTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzEgQEAKKzIwMTYtMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIFRpbWVycyB0byB1c2Ugb25seSBTZWNvbmRz
LCBub3QgcmF3IGRvdWJsZXMgb3Igc3RkOjpjaHJvbm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTA3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2luLmNwcDoKKyAgICAg
ICAgKiBQbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
UGFja2FnZTo6ZnJlZUxpYnJhcnlTb29uKToKKyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblN0cmVh
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhKToKKyAg
ICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2lu
Vmlldzo6cmVxdWVzdFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6
c2NoZWR1bGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsdWdpblZpZXc6OnNldEphdmFT
Y3JpcHRQYXVzZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGx1Z2luVmlldzo6a2VlcEFsaXZlKToK
KyAgICAgICAgKiBQbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGx1Z2luVmlldzo6d25kUHJvYyk6CisgICAgICAgIChXZWJDb3JlOjpQbHVnaW5WaWV3OjppbnZh
bGlkYXRlUmVjdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6
OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChX
ZWJWaWV3OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYlZpZXc6OmNsb3NlV2luZG93U29v
bik6CisgICAgICAgIChXZWJWaWV3OjpzZXRNaW5pbXVtVGltZXJJbnRlcnZhbCk6CisKIDIwMTYt
MTEtMjYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAg
W1dURl0gSW1wb3J0IHN0ZDo6b3B0aW9uYWwgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFzIFdU
Rjo6T3B0aW9uYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1NGVmM2JlNTJmMGNjNGZmNjhiMGZmYjBiMWMzMDA0
MjU0MzJmNWU5Li45YTgzYTgzZDU3YWMzOTU0NjQ3ZTQ0OTRlYmZkNzZmZThjYjEwNWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTY3IEBACisyMDE2LTEyLTA0ICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBUaW1lcnMgdG8gdXNlIG9ubHkg
U2Vjb25kcywgbm90IHJhdyBkb3VibGVzIG9yIHN0ZDo6Y2hyb25vCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUwNzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtE
YXRhVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFzazo6c2NoZWR1bGVG
YWlsdXJlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtMb2FkOjpUaHJvdHRsZTo6VGhyb3R0bGUpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrTG9hZDo6ZGlkUmVjZWl2ZVJlc3BvbnNlTmV0d29ya1Nlc3Npb24pOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpsb2FkVGhyb3R0bGVMYXRlbmN5KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRpc3BhdGNoUmVhZE9wZXJhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6c3RvcmUpOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKyAgICAgICAgKiBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1v
bm90b25pY1RpbWU+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPE1vbm90
b25pY1RpbWU+OjpkZWNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+
OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFNlY29uZHM+OjpkZWNvZGUp
OgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFBs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zzo6Y3JlYXRlQ29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2cpOgorICAgICAgICAoSVBDOjpD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hk
b2cpOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKToKKyAgICAgICAg
KiBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkNvbnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKToKKyAgICAgICAgKiBQbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNz
OjpzZXRNaW5pbXVtTGlmZXRpbWUpOgorICAgICAgICAqIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJv
Y2Vzcy5oOgorICAgICAgICAqIFNoYXJlZC9DYWNoZU1vZGVsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Y2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyk6CisgICAgICAgICogU2hhcmVkL0NhY2hlTW9k
ZWwuaDoKKyAgICAgICAgKiBTaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6Q2hpbGRQcm9jZXNzOjpDaGlsZFByb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9DaGlsZFBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNzOjpzZXRUZXJtaW5hdGlvblRp
bWVvdXQpOgorICAgICAgICAqIFNoYXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoK
KyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKTogRGVs
ZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxNb25vdG9uaWNUaW1lPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZGVjb2Rl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJNZW1vcnlTYW1wbGVyOjpXZWJNZW1vcnlTYW1wbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVtb3J5U2FtcGxlcjo6c3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVy
Ojppbml0aWFsaXplVGltZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVtb3J5U2FtcGxlcjo6
c3RvcFRpbWVyRmlyZWQpOgorICAgICAgICAqIFNoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmg6Cisg
ICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAg
KiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpsYXN0RGlzcGxheVRpbWUpOgorICAgICAgICAqIFNo
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KToKKyAgICAgICAgKiBT
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW06CisgICAgICAgIChBUEk6
OlNoYXJlZEpTQ29udGV4dDo6ZW5zdXJlQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChFd2tWaWV3OjpzY2hlZHVsZVVwZGF0ZURpc3Bs
YXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uU3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJhY2tlcjo6c3RhcnRXYXRjaGRvZyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RHJhd2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJl
YVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24pOgorICAgICAgICAoV2ViS2l0OjpE
cmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01vbml0b3I6OnN0YXJ0KToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpzdG9wKToKKyAgICAg
ICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpkaWREcmF3
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92aWRlci5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1
Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUHJv
Y2Vzc1Rocm90dGxlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6VmlzaXRlZExpbmtTdG9yZTo6YWRkVmlzaXRlZExpbmtIYXNoKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjptX2hp
ZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlc0NvdW50ZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjp1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFzZUxp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1RleHRDaGVja2VyQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKToKKyAgICAgICAgKFRleHRDaGVja2VyQ2xpZW50RWZsOjpjYWxsQ29udGludW91c1NwZWxs
Q2hlY2tpbmdDaGFuZ2VDYWxsYmFja0FzeW5jKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0dl
c3R1cmVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUNvbnRyb2xsZXI6
OkRyYWdHZXN0dXJlOjpiZWdpbik6CisgICAgICAgIChXZWJLaXQ6Okdlc3R1cmVDb250cm9sbGVy
Ojpab29tR2VzdHVyZTo6c2NhbGVDaGFuZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51UHJv
eHlHdGs6Om1lbnVVbm1hcHBlZENhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1heGltdW1CdWZmZXJpbmdUaW1l
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlSW50ZXJuYWxs
eUZhaWxlZExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1
bnRpbWVPYmplY3RNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOUFJ1bnRpbWVPYmplY3RNYXA6
OmFkZFRvSW52YWxpZGF0aW9uUXVldWUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpUaW1lcjo6c3RhcnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luU3RyZWFtOjpkZWxpdmVyRGF0YVRvUGx1Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luVmll
dzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
blZpZXc6OmxvYWRVUkwpOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkFjY2VsZXJhdGVkRHJhd2luZ0FyZWE6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVNv
b24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb21wb3NpdGluZ0Nv
b3JkaW5hdG9yOjpuZXh0QW5pbWF0aW9uU2VydmljZVRpbWUpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q6OnNjaGVkdWxlTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1w
bDo6c2NoZWR1bGVEaXNwbGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlSXNJbldpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmFkZFBsdWdp
blZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRNYXlTdGFydE1lZGlhV2hlbklu
V2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmluaXNoTG9hZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbik6
CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVs
eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVs
ZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JhZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
OjpzZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6c2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bjoKKwogMjAxNi0xMi0wMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gRXhwb3NlIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudCB2aWEgdGhl
IE9iamVjdGl2ZS1DIGJ1bmRsZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JIZWFwQWdlbnQuY3BwCmluZGV4IDdl
NmViNTBhYzRiMDY0NWNjOWJkOTllNjFhYjQwMzgxNjE2YjE1YzkuLmEzOGQzZTIxNTE5MThlMTFj
OTU3NTNlMTk5MTE3MmE0NDM1OTgwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckhlYXBBZ2VudC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9ySGVhcEFnZW50LmNwcApAQCAt
NzMsNyArNzMsNyBAQCB2b2lkIFNlbmRHYXJiYWdlQ29sbGVjdGlvbkV2ZW50c1Rhc2s6OmFkZEdh
cmJhZ2VDb2xsZWN0aW9uKEdhcmJhZ2VDb2xsZWN0aW9uRGF0YQogICAgIH0KIAogICAgIGlmICgh
bV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZW5kR2FyYmFnZUNv
bGxlY3Rpb25FdmVudHNUYXNrOjpyZXNldCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9S
dW5Mb29wLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKaW5kZXggNTU1ZDQ0NzMxY2YzMDhi
Y2JkOWVlYmRmYmU2NWIyMWZkYWE1OGVkZS4uNjNkMGM3OTk5MWVkOTJkNjg4ZTViOThiNTFjYmZj
NDc0N2MzODM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1J1bkxvb3AuaApAQCAtODgsMTAgKzg4LDggQEAgcHVibGljOgogICAgICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgZXhwbGljaXQgVGltZXJCYXNlKFJ1bkxvb3AmKTsKICAgICAg
ICAgV1RGX0VYUE9SVF9QUklWQVRFIHZpcnR1YWwgflRpbWVyQmFzZSgpOwogCi0gICAgICAgIHZv
aWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdElu
dGVydmFsLCB0cnVlKTsgfQotICAgICAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnRSZXBlYXRpbmcocmVwZWF0SW50
ZXJ2YWwuY291bnQoKSAqIDAuMDAxKTsgfQotICAgICAgICB2b2lkIHN0YXJ0T25lU2hvdChkb3Vi
bGUgaW50ZXJ2YWwpIHsgc3RhcnQoaW50ZXJ2YWwsIGZhbHNlKTsgfQotICAgICAgICB2b2lkIHN0
YXJ0T25lU2hvdChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGlu
dGVydmFsLmNvdW50KCkgKiAwLjAwMSwgZmFsc2UpOyB9CisgICAgICAgIHZvaWQgc3RhcnRSZXBl
YXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgdHJ1
ZSk7IH0KKyAgICAgICAgdm9pZCBzdGFydE9uZVNob3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFy
dChpbnRlcnZhbCwgZmFsc2UpOyB9CiAKICAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQg
c3RvcCgpOwogICAgICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0
OwpAQCAtMTAzLDcgKzEwMSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2
YWwsIGJvb2wgcmVwZWF0KTsKKyAgICAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc3RhcnQo
U2Vjb25kcyBuZXh0RmlyZUludGVydmFsLCBib29sIHJlcGVhdCk7CiAKICAgICAgICAgUnVuTG9v
cCYgbV9ydW5Mb29wOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXIu
aCBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCmluZGV4IDM3ODBlNzZjMDMxMzEwNGFl
YzdmZDc5NzMyM2ViNDEwNGY4M2U1OTcuLjZjNGZkNmVjMWE4MDVjNDEzNDA2MGY0N2U3NjQ2NDhk
NDdhZDc4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lci5oCkBAIC00NSwxMCArNDUsMTAgQEAgcHVibGlj
OgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFp
ciopOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxl
UGFpckhhc2hTZXQmKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIHN0YXJ0KGRvdWJs
ZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgU2Vjb25kcyBy
ZXBlYXRJbnRlcnZhbCk7CiAKLSAgICB2b2lkIHN0YXJ0UmVwZWF0aW5nKGRvdWJsZSByZXBlYXRJ
bnRlcnZhbCkgeyBzdGFydChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9Ci0gICAg
dm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsLCAwKTsg
fQorICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkgeyBzdGFy
dChyZXBlYXRJbnRlcnZhbCwgcmVwZWF0SW50ZXJ2YWwpOyB9CisgICAgdm9pZCBzdGFydE9uZVNo
b3QoU2Vjb25kcyBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCwgMF9zKTsgfQogCiAgICAgV1RG
X0VYUE9SVF9QUklWQVRFIHZvaWQgc3RvcCgpOwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1J1bkxvb3BUaW1lckNGLmNwcAppbmRleCBlYTY1Y2JiNTMyZTIzYmE3YmY5NTczYzMx
YjdjYWJiM2I4OWE5OGNiLi4wODVjYmE2M2NjZDQ2ZWUwZWFkZmUxOTc5Yzg4NTIwZWZlNWJlYTc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wVGltZXJDRi5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvUnVuTG9vcFRpbWVyQ0YuY3BwCkBAIC01MiwxMiArNTIsMTIgQEAgc3RhdGlj
IHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCogY29udGV4dCkKICAgICB0
aW1lci0+ZmlyZWQoKTsKIH0KIAotdm9pZCBSdW5Mb29wVGltZXJCYXNlOjpzdGFydChkb3VibGUg
bmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQordm9pZCBSdW5Mb29wVGlt
ZXJCYXNlOjpzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVwZWF0SW50
ZXJ2YWwpCiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIENGUnVuTG9vcFRpbWVySW52YWxp
ZGF0ZShtX3RpbWVyLmdldCgpKTsKICAgICBDRlJ1bkxvb3BUaW1lckNvbnRleHQgY29udGV4dCA9
IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIG1fdGltZXIgPSBhZG9wdENGKENGUnVuTG9vcFRp
bWVyQ3JlYXRlKDAsIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgbmV4dEZpcmVJbnRlcnZh
bCwgcmVwZWF0SW50ZXJ2YWwsIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CisgICAgbV90
aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoMCwgQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLnZhbHVl
KCksIDAsIDAsIHRpbWVyRmlyZWQsICZjb250ZXh0KSk7CiB9CiAKIHZvaWQgUnVuTG9vcFRpbWVy
QmFzZTo6c2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKiBzY2hlZHVsZVBhaXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwIGIvU291cmNlL1dURi93dGYvY2Yv
UnVuTG9vcENGLmNwcAppbmRleCA3ZTg0MGRkNTJkZjhjZjYwNGFmMThhOTg2ZGU5MjNlODcyOTI0
NDYyLi45NmU3OGRiMzY1MTAzMGMzMjU0MzEzMTBmZmFiZjk1ZTVmNTQ5OGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jZi9SdW5Mb29wQ0YuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nm
L1J1bkxvb3BDRi5jcHAKQEAgLTEwMSwxNCArMTAxLDE0IEBAIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
flRpbWVyQmFzZSgpCiAgICAgc3RvcCgpOwogfQogCi12b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6
c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRlcnZhbCwgYm9vbCByZXBlYXQp
CiB7CiAgICAgaWYgKG1fdGltZXIpCiAgICAgICAgIHN0b3AoKTsKICAgICAKICAgICBDRlJ1bkxv
b3BUaW1lckNvbnRleHQgY29udGV4dCA9IHsgMCwgdGhpcywgMCwgMCwgMCB9OwotICAgIENGVGlt
ZUludGVydmFsIHJlcGVhdEludGVydmFsID0gcmVwZWF0ID8gbmV4dEZpcmVJbnRlcnZhbCA6IDA7
Ci0gICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVydmFsLCBy
ZXBlYXRJbnRlcnZhbCwgMCwgMCwgdGltZXJGaXJlZCwgJmNvbnRleHQpKTsKKyAgICBDRlRpbWVJ
bnRlcnZhbCByZXBlYXRJbnRlcnZhbCA9IHJlcGVhdCA/IG5leHRGaXJlSW50ZXJ2YWwudmFsdWUo
KSA6IDA7CisgICAgbV90aW1lciA9IGFkb3B0Q0YoQ0ZSdW5Mb29wVGltZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBuZXh0RmlyZUludGVy
dmFsLnZhbHVlKCksIHJlcGVhdEludGVydmFsLCAwLCAwLCB0aW1lckZpcmVkLCAmY29udGV4dCkp
OwogICAgIENGUnVuTG9vcEFkZFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3AuZ2V0KCksIG1fdGlt
ZXIuZ2V0KCksIGtDRlJ1bkxvb3BDb21tb25Nb2Rlcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL2VmbC9SdW5Mb29wRWZsLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9SdW5Mb29w
RWZsLmNwcAppbmRleCA1ZGZjMjkwM2U4YjRkMTA3NDNiNTI5ZjRjMGM3NGM2NzUwZGFlNTk2Li42
MGZjMmIyOTAxOTdkOWU5ZmRhYTkwYjllMjY1YWIwYjViZmIyNTk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9lZmwvUnVuTG9vcEVmbC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvZWZsL1J1
bkxvb3BFZmwuY3BwCkBAIC0xMDUsMTQgKzEwNSwxNCBAQCBib29sIFJ1bkxvb3A6OlRpbWVyQmFz
ZTo6dGltZXJGaXJlZCh2b2lkKiBkYXRhKQogICAgIHJldHVybiB0aW1lci0+bV9pc1JlcGVhdGlu
ZyA/IEVDT1JFX0NBTExCQUNLX1JFTkVXIDogRUNPUkVfQ0FMTEJBQ0tfQ0FOQ0VMOwogfQogCi12
b2lkIFJ1bkxvb3A6OlRpbWVyQmFzZTo6c3RhcnQoZG91YmxlIG5leHRGaXJlSW50ZXJ2YWwsIGJv
b2wgcmVwZWF0KQordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZp
cmVJbnRlcnZhbCwgYm9vbCByZXBlYXQpCiB7CiAgICAgaWYgKGlzQWN0aXZlKCkpCiAgICAgICAg
IHN0b3AoKTsKIAogICAgIG1faXNSZXBlYXRpbmcgPSByZXBlYXQ7CiAgICAgQVNTRVJUKCFtX3Rp
bWVyKTsKLSAgICBtX3RpbWVyID0gZWNvcmVfdGltZXJfYWRkKG5leHRGaXJlSW50ZXJ2YWwsIHJl
aW50ZXJwcmV0X2Nhc3Q8RWNvcmVfVGFza19DYj4odGltZXJGaXJlZCksIHRoaXMpOworICAgIG1f
dGltZXIgPSBlY29yZV90aW1lcl9hZGQobmV4dEZpcmVJbnRlcnZhbC52YWx1ZSgpLCByZWludGVy
cHJldF9jYXN0PEVjb3JlX1Rhc2tfQ2I+KHRpbWVyRmlyZWQpLCB0aGlzKTsKIH0KIAogdm9pZCBS
dW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ2Vu
ZXJpYy9SdW5Mb29wR2VuZXJpYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BH
ZW5lcmljLmNwcAppbmRleCA5YTNjMDlhODUxMDcxMzAyZTEyYTVlOTQxNjdlYzdiNWZkYTI2NjM4
Li5mZDI3NWM1MzAwMjYzZWI5ODk1YWFhNjI3NDNlMmI1ZDQ2NzcwZWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9nZW5lcmljL1J1bkxvb3BHZW5lcmljLmNwcApAQCAtMjYzLDEyICsyNjMsMTIgQEAgUnVu
TG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKICAgICBzdG9wKCk7CiB9CiAKLXZvaWQgUnVu
TG9vcDo6VGltZXJCYXNlOjpzdGFydChkb3VibGUgaW50ZXJ2YWwsIGJvb2wgcmVwZWF0aW5nKQor
dm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgcmVw
ZWF0aW5nKQogewogICAgIHN0b3AoKTsKICAgICBtX3NjaGVkdWxlZFRhc2sgPSBTY2hlZHVsZWRU
YXNrOjpjcmVhdGUoW3RoaXNdIHsKICAgICAgICAgZmlyZWQoKTsKLSAgICB9LCBTZWNvbmRzKGlu
dGVydmFsKSwgcmVwZWF0aW5nKTsKKyAgICB9LCBpbnRlcnZhbCwgcmVwZWF0aW5nKTsKICAgICBt
X3J1bkxvb3Auc2NoZWR1bGVBbmRXYWtlVXAobV9zY2hlZHVsZWRUYXNrKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcAppbmRleCA5MjdjZTMyNTRmOGI1NjI3OGJhNmI3ZmYwMjFj
MGRmMGFhNWYzMjE2Li5kNjA1YzUyYjhjN2NjNDBlMGU0YTc1OTczNGQ0Njg3ODEzNjMzYTMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcApAQCAtMTkwLDkgKzE5MCw5IEBAIHZvaWQg
UnVuTG9vcDo6VGltZXJCYXNlOjp1cGRhdGVSZWFkeVRpbWUoKQogICAgIGdfc291cmNlX3NldF9y
ZWFkeV90aW1lKG1fc291cmNlLmdldCgpLCB0YXJnZXRUaW1lKTsKIH0KIAotdm9pZCBSdW5Mb29w
OjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBmaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQordm9p
ZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgZmlyZUludGVydmFsLCBib29sIHJl
cGVhdCkKIHsKLSAgICBhdXRvIGludGVydmFsRHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRp
b248ZG91YmxlPihmaXJlSW50ZXJ2YWwpOworICAgIGF1dG8gaW50ZXJ2YWxEdXJhdGlvbiA9IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxkb3VibGU+KGZpcmVJbnRlcnZhbC52YWx1ZSgpKTsKICAgICBh
dXRvIHNhZmVEdXJhdGlvbiA9IHN0ZDo6Y2hyb25vOjptaWNyb3NlY29uZHM6Om1heCgpOwogICAg
IGlmIChpbnRlcnZhbER1cmF0aW9uIDwgc2FmZUR1cmF0aW9uKQogICAgICAgICBzYWZlRHVyYXRp
b24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWljcm9zZWNvbmRz
PihpbnRlcnZhbER1cmF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5M
b29wV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9SdW5Mb29wV2luLmNwcAppbmRleCA0YjQ1
YWQ0NTg5Zjc4ZDVjM2NhMGJlZWY4Y2UxZjE0OGJlZWMwMDE3Li5lYTAyMWY3ZGI0Y2EyYTI4YjE5
ZGYzNGUzNTllMTIxNzZlNGNiNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi93aW4vUnVu
TG9vcFdpbi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvd2luL1J1bkxvb3BXaW4uY3BwCkBAIC0x
NTEsMTEgKzE1MSwxMSBAQCBSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UoKQogICAgIHN0
b3AoKTsKIH0KIAotdm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBib29sIHJlcGVhdCkKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChT
ZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIGJvb2wgcmVwZWF0KQogewogICAgIG1faXNSZXBlYXRp
bmcgPSByZXBlYXQ7CiAgICAgbV9ydW5Mb29wLm1fYWN0aXZlVGltZXJzLnNldChtX0lELCB0aGlz
KTsKLSAgICA6OlNldFRpbWVyKG1fcnVuTG9vcC5tX3J1bkxvb3BNZXNzYWdlV2luZG93LCBtX0lE
LCBuZXh0RmlyZUludGVydmFsICogMTAwMCwgMCk7CisgICAgOjpTZXRUaW1lcihtX3J1bkxvb3Au
bV9ydW5Mb29wTWVzc2FnZVdpbmRvdywgbV9JRCwgbmV4dEZpcmVJbnRlcnZhbC5taWxsaXNlY29u
ZHMoKSwgMCk7CiB9CiAKIHZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1l
ZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IDBmYWYyMTIwMmExMzBiOTJl
NWQxMjcwMjM2MmM0NDdiZDhlNzIzZGEuLjYwYTk3NzhmYTY2OTdhZjViMWMxNWE3NDI3YzgyY2M3
MTEyZDZmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmNwcApA
QCAtODUsNyArODUsNyBAQCBjb25zdCBTdHJpbmcmIFdlYktpdE1lZGlhS2V5U2Vzc2lvbjo6c2Vz
c2lvbklkKCkgY29uc3QKIHZvaWQgV2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZUtleVJl
cXVlc3QoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgUmVmPFVpbnQ4QXJyYXk+JiYgaW5pdERhdGEp
CiB7CiAgICAgbV9wZW5kaW5nS2V5UmVxdWVzdHMuYXBwZW5kKHsgbWltZVR5cGUsIFdURk1vdmUo
aW5pdERhdGEpIH0pOwotICAgIG1fa2V5UmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2tleVJlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJLaXRN
ZWRpYUtleVNlc3Npb246OmtleVJlcXVlc3RUaW1lckZpcmVkKCkKQEAgLTE0Miw3ICsxNDIsNyBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBXZWJLaXRNZWRpYUtleVNlc3Npb246OnVwZGF0ZShSZWY8VWlu
dDhBcnJheT4mJiBrZXkpCiAKICAgICAvLyAyLiBTY2hlZHVsZSBhIHRhc2sgdG8gaGFuZGxlIHRo
ZSBjYWxsLCBwcm92aWRpbmcga2V5LgogICAgIG1fcGVuZGluZ0tleXMuYXBwZW5kKFdURk1vdmUo
a2V5KSk7Ci0gICAgbV9hZGRLZXlUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9hZGRLZXlU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb05vdGlmaWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCmluZGV4IGNl
Yzk3Y2M5MDJlNDUwNjg5N2ZlZmJkM2VhZTJmOTc5MDdhYWNjMTYuLjU4NmM1OTY4NjFkYWI3MGRk
YzJiNjg2MWMyYzcxNjgxNzU5YTM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZ2VvbG9jYXRpb24vR2VvTm90aWZpZXIuY3BwCkBAIC01OSwxMyArNTksMTMgQEAgdm9pZCBH
ZW9Ob3RpZmllcjo6c2V0RmF0YWxFcnJvcihSZWZQdHI8UG9zaXRpb25FcnJvcj4mJiBlcnJvcikK
ICAgICBtX2ZhdGFsRXJyb3IgPSBXVEZNb3ZlKGVycm9yKTsKICAgICAvLyBBbiBleGlzdGluZyB0
aW1lciBtYXkgbm90IGhhdmUgYSB6ZXJvIHRpbWVvdXQuCiAgICAgbV90aW1lci5zdG9wKCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6c2V0VXNlQ2FjaGVkUG9zaXRpb24oKQogewogICAg
IG1fdXNlQ2FjaGVkUG9zaXRpb24gPSB0cnVlOwotICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIGJvb2wgR2VvTm90aWZpZXI6
Omhhc1plcm9UaW1lb3V0KCkgY29uc3QKQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBHZW9Ob3RpZmll
cjo6cnVuRXJyb3JDYWxsYmFjayhQb3NpdGlvbkVycm9yKiBlcnJvcikKIHZvaWQgR2VvTm90aWZp
ZXI6OnN0YXJ0VGltZXJJZk5lZWRlZCgpCiB7CiAgICAgaWYgKG1fb3B0aW9ucy0+aGFzVGltZW91
dCgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChtX29wdGlvbnMtPnRpbWVvdXQoKSAv
IDEwMDAuMCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHM6OmZyb21NaWxs
aXNlY29uZHMobV9vcHRpb25zLT50aW1lb3V0KCkpKTsKIH0KIAogdm9pZCBHZW9Ob3RpZmllcjo6
c3RvcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbi5jcHAKaW5kZXggODVhZTQwZjYzNDE3NTMyNzE2NzJmM2EzNzdmZTk5M2RmNGEz
MThjMC4uYzA5YzM3OWIwMjk2NDNkYTkwY2Q4YzU2NDc0M2E3MTU1MDZmMGZkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAKQEAg
LTE5OCw3ICsxOTgsNyBAQCB2b2lkIEdlb2xvY2F0aW9uOjpyZXN1bWUoKQogICAgIEFjdGl2ZURP
TU9iamVjdDo6cmVzdW1lKCk7CiAKICAgICBpZiAoIW1fcmVzdW1lVGltZXIuaXNBY3RpdmUoKSkK
LSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVzdW1l
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgR2VvbG9jYXRpb246OnJlc3VtZVRp
bWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCmluZGV4IDA1ZGEwMmZiMjkwNzJjNWM1MGRjNmJiZDUxZmEwYjdlYzk2
NTk0ZDUuLmNiODFiODk0OGJkMGJhMGEyNWE3MTYwNzMxZDVkZWI0YzRmYTNlYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAK
QEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpzY2hlZHVsZVBlbmRpbmdP
cGVyYXRpb25UaW1lcigpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNl
LT5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmICghbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIu
aXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgICAgICBtX3BlbmRpbmdPcGVyYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsK
IH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6cGVuZGluZ09wZXJhdGlvblRpbWVyRmlyZWQoKQpA
QCAtNDQyLDcgKzQ0Miw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnNjaGVkdWxlQ29tcGxldGVk
T3BlcmF0aW9uVGltZXIoKQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFz
ZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIW1fY29tcGxldGVkT3BlcmF0aW9uVGlt
ZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9jb21wbGV0ZWRPcGVyYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fY29tcGxldGVkT3BlcmF0aW9uVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbXBsZXRlZE9wZXJhdGlvblRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5kZXggOTkxMDE1N2MyZDhiOWE4YTli
NTk2ZTI0N2I1YmMwYzVjYTdjMGZkNS4uZmJkYTFhZDEwMmE4MDUxN2E1YjlmMmI0ZDcxNWRjOWI4
OGUwMDhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCkBAIC0xNDk0LDcgKzE0OTQsNyBA
QCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppbnZva2VPcGVyYXRpb25BbmRUcmFuc2FjdGlvblRp
bWVyKCkKICAgICBBU1NFUlQoIW1faGFyZENsb3NlZEZvclVzZXJEZWxldGUpOwogCiAgICAgaWYg
KCFtX29wZXJhdGlvbkFuZFRyYW5zYWN0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9v
cGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFVuaXF1ZUlEQkRhdGFiYXNlOjpvcGVyYXRpb25BbmRUcmFuc2FjdGlvblRpbWVyRmlyZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFT
ZXNzaW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9X
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAppbmRleCA3YTMzNjlmMTBlNTMwZTRkYzg3ZTcxN2Q1
Njc1ZjcwOTExM2I4MGU5Li5jOTdhNDQ0ZDllOWJhMDA4YmJkNGQ2MmI2ZmIxYWE0OTdmZGM0NzQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRp
YVNlc3Npb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgdGFza0RlbGF5SW50ZXJ2YWwg
PSAxLjAgLyAxMC4wOworc3RhdGljIGNvbnN0IFNlY29uZHMgdGFza0RlbGF5SW50ZXJ2YWwgPSAw
LjFfczsKIAogc3RydWN0IENsaWVudFN0YXRlIHsKICAgICBleHBsaWNpdCBDbGllbnRTdGF0ZShX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50JiBjbGllbnQsIHVpbnQ2NF90IGNvbnRleHRJZCkK
QEAgLTQyMyw4ICs0MjMsOCBAQCBzaXplX3QgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6ZmluZChX
ZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50KiBjbGllbnQsIHVpbnQ2NAogCiB2b2lkIFdlYk1l
ZGlhU2Vzc2lvbk1hbmFnZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIoKQogewotICAgIHN0YXRp
YyBjb25zdCBkb3VibGUgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nID0gNjAgKiA2
MDsKLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kID0gOCAqIDYwOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHdhdGNoZG9nVGlt
ZXJJbnRlcnZhbEFmdGVyUGF1c2luZyA9IFNlY29uZHMoNjAgKiA2MCk7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQbGF5aW5nVG9FbmQgPSBTZWNv
bmRzKDggKiA2MCk7CiAKICAgICBpZiAoIW1fcGxheWJhY2tUYXJnZXQgfHwgIW1fcGxheWJhY2tU
YXJnZXQtPmhhc0FjdGl2ZVJvdXRlKCkpIHsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3Ao
KTsKQEAgLTQ0MiwxNCArNDQyLDE0IEBAIHZvaWQgV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29u
ZmlndXJlV2F0Y2hkb2dUaW1lcigpCiAgICAgfQogCiAgICAgaWYgKHN0b3BUaW1lcikgewotICAg
ICAgICBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFsID0gMDsKKyAgICAgICAgbV9jdXJyZW50V2F0
Y2hkb2dJbnRlcnZhbCA9IDBfczsKICAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0b3AoKTsKICAg
ICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFuYWdlcjo6Y29uZmlndXJlV2F0Y2hk
b2dUaW1lciAtIHRpbWVyIHN0b3BwZWQiKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3VibGUg
aW50ZXJ2YWwgPSBkaWRQbGF5VG9FbmQgPyB3YXRjaGRvZ1RpbWVySW50ZXJ2YWxBZnRlclBsYXlp
bmdUb0VuZCA6IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGF1c2luZzsKKyAgICAgICAgYXV0
byBpbnRlcnZhbCA9IGRpZFBsYXlUb0VuZCA/IHdhdGNoZG9nVGltZXJJbnRlcnZhbEFmdGVyUGxh
eWluZ1RvRW5kIDogd2F0Y2hkb2dUaW1lckludGVydmFsQWZ0ZXJQYXVzaW5nOwogICAgICAgICBp
ZiAoaW50ZXJ2YWwgIT0gbV9jdXJyZW50V2F0Y2hkb2dJbnRlcnZhbCB8fCAhbV93YXRjaGRvZ1Rp
bWVyLmlzQWN0aXZlKCkpIHsKICAgICAgICAgICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNo
b3QoaW50ZXJ2YWwpOwotICAgICAgICAgICAgTE9HKE1lZGlhLCAiV2ViTWVkaWFTZXNzaW9uTWFu
YWdlcjo6Y29uZmlndXJlV2F0Y2hkb2dUaW1lciAtIHRpbWVyIHNjaGVkdWxlZCBmb3IgJS4wZiIs
IGludGVydmFsKTsKKyAgICAgICAgICAgIExPRyhNZWRpYSwgIldlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OmNvbmZpZ3VyZVdhdGNoZG9nVGltZXIgLSB0aW1lciBzY2hlZHVsZWQgZm9yICUuM2ZzIiwg
aW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIH0KICAgICAgICAgbV9jdXJyZW50V2F0Y2hkb2dJ
bnRlcnZhbCA9IGludGVydmFsOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA1
N2Q1OGVmOTE0Y2IyM2YxOTQwMWNjY2ZlYzM4ZWNlMzhlYWVhNjA5Li4yOTUwOWUyOGM0YWZhNTRj
NmQ0NmExM2FkM2MxZjExYjE2YzFhMzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc2Vzc2lvbi9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC0x
MDIsNyArMTAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFQbGF5YmFja1RhcmdldD4g
bV9wbGF5YmFja1RhcmdldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFQbGF5
YmFja1RhcmdldFBpY2tlck1vY2s+IG1fcGlja2VyT3ZlcnJpZGU7CiAgICAgQ29uZmlndXJhdGlv
blRhc2tzIG1fdGFza0ZsYWdzIHsgTm9UYXNrIH07Ci0gICAgZG91YmxlIG1fY3VycmVudFdhdGNo
ZG9nSW50ZXJ2YWwgeyAwIH07CisgICAgU2Vjb25kcyBtX2N1cnJlbnRXYXRjaGRvZ0ludGVydmFs
OwogICAgIGJvb2wgbV9leHRlcm5hbE91dHB1dERldmljZUF2YWlsYWJsZSB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3RhcmdldENoYW5nZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tb2NrUGlja2Vy
RW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggZjU1OTgxMThhODhmMjgwMDMxNWQ5NDE3MzBh
YWZjMjFlMDU1Mjg0Yi4uZDY0ZWM2M2UzNTE0ODE0ZmFjMzUxMzBmYzExMzkyNzI0YTYzNjBjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmNwcApAQCAtMzQ4LDcgKzM0OCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpyYW5nZVJlbW92
YWwoY29uc3QgTWVkaWFUaW1lJiBzdGFydCwgY29uc3QgTWVkaWFUaW1lJiBlbmQpCiAgICAgLy8g
NS4gUmV0dXJuIGNvbnRyb2wgdG8gdGhlIGNhbGxlciBhbmQgcnVuIHRoZSByZXN0IG9mIHRoZSBz
dGVwcyBhc3luY2hyb25vdXNseS4KICAgICBtX3BlbmRpbmdSZW1vdmVTdGFydCA9IHN0YXJ0Owog
ICAgIG1fcGVuZGluZ1JlbW92ZUVuZCA9IGVuZDsKLSAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX3JlbW92ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lk
IFNvdXJjZUJ1ZmZlcjo6YWJvcnRJZlVwZGF0aW5nKCkKQEAgLTUzMyw3ICs1MzMsNyBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBTb3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlckludGVybmFsKGNvbnN0IHVu
c2lnbmVkIGNoYXIqIGRhdGEsCiAgICAgc2NoZWR1bGVFdmVudChldmVudE5hbWVzKCkudXBkYXRl
c3RhcnRFdmVudCk7CiAKICAgICAvLyA2LiBBc3luY2hyb25vdXNseSBydW4gdGhlIGJ1ZmZlciBh
cHBlbmQgYWxnb3JpdGhtLgotICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIG1fYXBwZW5kQnVmZmVyVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICByZXBv
cnRFeHRyYU1lbW9yeUFsbG9jYXRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDFkNTJhNDhhNTNkYWUyODhjODQ3
MTlmZGMxZTFlZWJkNDdlZTZlNTcuLjFmOWY3MTAzZGUyZWM5ZWYxNTk2OTgyMjhmMjUwMzIyZTk5
ODQwNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW0uY3BwCkBAIC0zNjQsNyArMzY0LDcgQEAgdm9pZCBNZWRpYVN0cmVhbTo6c2NoZWR1
bGVBY3RpdmVTdGF0ZUNoYW5nZSgpCiAgICAgbV9zY2hlZHVsZWRBY3Rpdml0eUV2ZW50cy5hcHBl
bmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCBmYWxzZSkpOwogCiAgICAgaWYgKCFt
X2FjdGl2aXR5RXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2FjdGl2aXR5RXZlbnRU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYWN0aXZpdHlFdmVudFRpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtOjphY3Rpdml0eUV2ZW50VGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCA1ZGQyZjFlNDFjZjUxMjI5NmQ3NGQyMGMxYmQ3YzQ4YmIyYjIy
ZDc5Li5hMmJlZmM1NDQ2M2ViZjQzNTAxYmI2MTM4ZGRlZDc1MzBkYjQ0YTU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFJUQ0RUTUZTZW5kZXI6OnNjaGVkdWxlRGlzcGF0Y2hF
dmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdU
Rk1vdmUoZXZlbnQpKTsKIAogICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fc2NoZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBS
VENEVE1GU2VuZGVyOjpzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAppbmRleCAw
NTFjNzAxNDlhZTJkYTEyZTYwMGE0MDUwZjA5YzFlYzhiZmQ1NzU2Li4yZGJjYWYxZjIxYmZkNDk4
ODAwNzBhM2Q4M2RiOGFlYTgyZTJlYjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmNwcApAQCAtMjM3LDcgKzIzNyw3IEBA
IHZvaWQgUlRDRGF0YUNoYW5uZWw6OnNjaGVkdWxlRGlzcGF0Y2hFdmVudChSZWY8RXZlbnQ+JiYg
ZXZlbnQpCiAgICAgbV9zY2hlZHVsZWRFdmVudHMuYXBwZW5kKFdURk1vdmUoZXZlbnQpKTsKIAog
ICAgIGlmICghbV9zY2hlZHVsZWRFdmVudFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fc2No
ZWR1bGVkRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2NoZWR1bGVkRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSVENEYXRhQ2hhbm5lbDo6c2No
ZWR1bGVkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKaW5kZXggMWUwMmNlMWNmNjdmNmU0ZDkx
Mjg3NWFiZjgwYjJkZGRlODM3YTdlNy4uYmI4NzE5ZDgyZjUyMDg2YTBlNDNiN2QwZTg0OGIxODIy
OGRhZDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25z
L05vdGlmaWNhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgTm90aWZpY2F0aW9uOjpOb3Rp
ZmljYXRpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRpdGxlKQogICAgIC8v
IEZJWE1FOiBTZWVtcyB0aGF0IG1fbm90aWZpY2F0aW9uQ2VudGVyIGNhbiBiZSBudWxsIHNvIHNo
b3VsZCBub3QgYmUgY2hhbmdlZCBmcm9tIFJlZlB0ciB0byBSZWYuCiAgICAgLy8gQnV0IHRoZSBy
ZXN0IG9mIHRoZSBjb2RlIGluIHRoaXMgY2xhc3MgaXNuJ3QgdHJ5aW5nIHRvIGhhbmRsZSB0aGF0
IGNhc2UuCiAgICAgQVNTRVJUKG1fbm90aWZpY2F0aW9uQ2VudGVyLT5jbGllbnQoKSk7Ci0gICAg
bV90YXNrVGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Rhc2tUaW1lci0+c3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAppbmRleCBhOTI5OGY3
NTI1Y2U3YTg4NGEwNWFlMmU0NzNkZTFjYWIxMGViZmUwLi45MjVlYjk2YTMxYzM4OGU2NjU4N2M5
OWM1NDZkZTg5MzdlZjY0NjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmNwcApAQCAtOTQsNyArOTQs
NyBAQCB2b2lkIE5vdGlmaWNhdGlvbkNlbnRlcjo6cmVxdWVzdFBlcm1pc3Npb24oUmVmUHRyPFZv
aWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYXNlIFNlY3VyaXR5T3JpZ2luOjpBbHdheXNE
ZW55OgogICAgICAgICBpZiAobV9jYWxsYmFja3MuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBy
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgdGhlIGRlcmVmcyBpbiBOb3RpZmljYXRpb25DZW50ZXI6OnN0
b3AgYW5kIE5vdGlmaWNhdGlvbkNlbnRlcjo6dGltZXJGaXJlZC4KLSAgICAgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICAgICAgfQogICAgICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoW2NhbGxiYWNrXSgpIHsK
ICAgICAgICAgICAgIGlmIChjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Zp
YnJhdGlvbi9WaWJyYXRpb24uY3BwCmluZGV4IDg2MDkxNDIwOWM4YmIzNDI4MDQwYWExNGZjOWZj
ZDAzZDBkZDVjNTkuLjMzYjAyMjBlOTQ3Zjg0MzcwNjI3YjE2MjExZTZlYzI0OTA5ZWQxYjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvdmlicmF0aW9uL1ZpYnJhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy92aWJyYXRpb24vVmlicmF0aW9uLmNwcApAQCAt
NzYsNyArNzYsNyBAQCBib29sIFZpYnJhdGlvbjo6dmlicmF0ZShjb25zdCBWaWJyYXRpb25QYXR0
ZXJuJiBwYXR0ZXJuKQogCiAgICAgbV9wYXR0ZXJuID0gc2FuaXRpemVkOwogCi0gICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBt
X3N0YXRlID0gU3RhdGU6OldhaXRpbmc7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMTAsNyAr
MTEwLDcgQEAgdm9pZCBWaWJyYXRpb246OnRpbWVyRmlyZWQoKQogICAgICAgICBtX3ZpYnJhdGlv
bkNsaWVudC0+dmlicmF0ZShtX3BhdHRlcm5bMF0pOwogICAgICAgICBicmVhazsKICAgICB9Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QobV9wYXR0ZXJuWzBdIC8gMTAwMC4wKTsKKyAgICBtX3Rp
bWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fcGF0dGVyblswXSkp
OwogICAgIG1fcGF0dGVybi5yZW1vdmUoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAKaW5kZXggYmVkOTM2MjY3ZDU2ODRmYzc4ODE3
MDkxZjExZjA3YzQ1ZWFiM2I3OS4uMDhlMTJhMTYwMWM4YTI0ZTZhYjZjMjI0NDYyN2QxMGFkYzRm
MjkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5jcHAKQEAgLTUwMyw3ICs1MDMsNyBAQCB2b2lkIFdlYlNvY2tldDo6cmVzdW1lKCkKICAgICAg
ICAgbV9jaGFubmVsLT5yZXN1bWUoKTsKICAgICBlbHNlIGlmICghbV9wZW5kaW5nRXZlbnRzLmlz
RW1wdHkoKSAmJiAhbV9yZXN1bWVUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAgIC8vIEZpcmUg
dGhlIHBlbmRpbmcgZXZlbnRzIGluIGEgdGltZXIgYXMgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIGV4
ZWN1dGUgYXJiaXRyYXJ5IEpTIGZyb20gcmVzdW1lKCkuCi0gICAgICAgIG1fcmVzdW1lVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogICAgIH0KIAogICAgIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
Y3BwCmluZGV4IDgwZGJiNGJhMGVlM2IyYzQ3MzNjODFkMmUxYjg1OTdkOGJiZTc4YzQuLjY4Y2My
YzA2YjU4YjNlYjIyNWQ4MDJkY2VmZjRjOTJmMjkxNzc5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUgVENQTWF4
aW11bVNlZ21lbnRMaWZldGltZSA9IDIgKiA2MC4wOworY29uc3QgU2Vjb25kcyBUQ1BNYXhpbXVt
U2VnbWVudExpZmV0aW1lID0gU2Vjb25kcygyICogNjApOwogCiBXZWJTb2NrZXRDaGFubmVsOjpX
ZWJTb2NrZXRDaGFubmVsKERvY3VtZW50JiBkb2N1bWVudCwgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCYgY2xpZW50LCBTb2NrZXRQcm92aWRlciYgcHJvdmlkZXIpCiAgICAgOiBtX2RvY3VtZW50KCZk
b2N1bWVudCkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmNsb3Nl
KGludCBjb2RlLCBjb25zdCBTdHJpbmcmIHJlYXNvbikKICAgICBSZWY8V2ViU29ja2V0Q2hhbm5l
bD4gcHJvdGVjdGVkVGhpcygqdGhpcyk7IC8vIEFuIGF0dGVtcHQgdG8gc2VuZCBjbG9zaW5nIGhh
bmRzaGFrZSBtYXkgZmFpbCwgd2hpY2ggd2lsbCBnZXQgdGhlIGNoYW5uZWwgY2xvc2VkIGFuZCBk
ZXJlZmVyZW5jZWQuCiAgICAgc3RhcnRDbG9zaW5nSGFuZHNoYWtlKGNvZGUsIHJlYXNvbik7CiAg
ICAgaWYgKG1fY2xvc2luZyAmJiAhbV9jbG9zaW5nVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KDIgKiBUQ1BNYXhpbXVtU2VnbWVudExpZmV0aW1l
KTsKKyAgICAgICAgbV9jbG9zaW5nVGltZXIuc3RhcnRPbmVTaG90KFRDUE1heGltdW1TZWdtZW50
TGlmZXRpbWUgKiAyKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFubmVsOjpmYWlsKGNvbnN0IFN0
cmluZyYgcmVhc29uKQpAQCAtMjY2LDcgKzI2Niw3IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6
cmVzdW1lKCkKIHsKICAgICBtX3N1c3BlbmRlZCA9IGZhbHNlOwogICAgIGlmICgoIW1fYnVmZmVy
LmlzRW1wdHkoKSB8fCBtX2Nsb3NlZCkgJiYgbV9jbGllbnQgJiYgIW1fcmVzdW1lVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9yZXN1bWVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgV2ViU29ja2V0Q2hh
bm5lbDo6ZGlkT3BlblNvY2tldFN0cmVhbShTb2NrZXRTdHJlYW1IYW5kbGUmIGhhbmRsZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQx
ZTgyMDVhMTE2MTJmMGRhZjg0MTBiOGU2MzE4OThhMWUyNmMwNzQuLjBmNGUxMWM1ZmI0YjJiMTE5
MmQ2NmU3ZWIxYWZiMjMxZmU5OTEyN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtMTEwLDggKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIC8vIFBvc3QgdmFsdWUgY2hhbmdl
IG5vdGlmaWNhdGlvbnMgZm9yIHBhc3N3b3JkIGZpZWxkcyBvciBlbGVtZW50cyBjb250YWluZWQg
aW4gcGFzc3dvcmQgZmllbGRzIGF0IGEgNDBoeiBpbnRlcnZhbCB0byB0aHdhcnQgYW5hbHlzaXMg
b2YgdHlwaW5nIGNhZGVuY2UKLXN0YXRpYyBkb3VibGUgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFs
dWVDaGFuZ2VOb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDI1Owotc3RhdGljIGRvdWJsZSBBY2Nl
c3NpYmlsaXR5TGl2ZVJlZ2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDIwOwor
c3RhdGljIFNlY29uZHMgQWNjZXNzaWJpbGl0eVBhc3N3b3JkVmFsdWVDaGFuZ2VOb3RpZmljYXRp
b25JbnRlcnZhbCA9IDAuMDI1X3M7CitzdGF0aWMgU2Vjb25kcyBBY2Nlc3NpYmlsaXR5TGl2ZVJl
Z2lvbkNoYW5nZWROb3RpZmljYXRpb25JbnRlcnZhbCA9IDAuMDJfczsKIAogQWNjZXNzaWJpbGl0
eU9iamVjdEluY2x1c2lvbiBBWENvbXB1dGVkT2JqZWN0QXR0cmlidXRlQ2FjaGU6OmdldElnbm9y
ZWQoQVhJRCBpZCkgY29uc3QKIHsKQEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIEFYT2JqZWN0Q2Fj
aGU6OnBvc3ROb3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBEb2N1bWVu
dCogZG9jdQogICAgIGlmIChwb3N0VHlwZSA9PSBQb3N0QXN5bmNocm9ub3VzbHkpIHsKICAgICAg
ICAgbV9ub3RpZmljYXRpb25zVG9Qb3N0LmFwcGVuZChzdGQ6Om1ha2VfcGFpcihvYmplY3QsIG5v
dGlmaWNhdGlvbikpOwogICAgICAgICBpZiAoIW1fbm90aWZpY2F0aW9uUG9zdFRpbWVyLmlzQWN0
aXZlKCkpCi0gICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgICAgICBtX25vdGlmaWNhdGlvblBvc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKICAgICB9IGVsc2UKICAgICAgICAgcG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKG9iamVjdCwg
bm90aWZpY2F0aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuY3BwCmluZGV4IGJmZjNiMGNhZWVmOGQ0YjBkMzYxYzJjYzRiMjQ5ZmYwODM1ODJlMjUuLmU2
ZTY1NjkwZDNiMmQxYmU0ZDEzZDkwZGRjNDA1NzFmOTIzYzE1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEdD
Q29udHJvbGxlcjo6Z2FyYmFnZUNvbGxlY3RTb29uKCkKIHZvaWQgR0NDb250cm9sbGVyOjpnYXJi
YWdlQ29sbGVjdE9uTmV4dFJ1bkxvb3AoKQogewogICAgIGlmICghbV9HQ1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fR0NUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fR0NUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHQ0NvbnRyb2xsZXI6OmdjVGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCAyNTY3MWMxZGUwOWI1NTBiZDcx
OWM5Y2Y1Yjk1OGU1ZmIyMjU1NjRkLi5kZGI4ZjhiM2M0MTgyMDE4OTBmODBjYzBmNmNlZjNjYmQx
YmJkYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTQ5Nyw3ICs0OTcsNyBA
QCB2b2lkIENTU0ZvbnRGYWNlOjpzZXRTdGF0dXMoU3RhdHVzIG5ld1N0YXR1cykKICAgICB9CiAK
ICAgICBpZiAobmV3U3RhdHVzID09IFN0YXR1czo6TG9hZGluZykKLSAgICAgICAgbV90aW1lb3V0
VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSA/IDAgOiAz
KTsKKyAgICAgICAgbV90aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHdlYkZvbnRzU2hvdWxkQWx3
YXlzRmFsbEJhY2soKSA/IDBfcyA6IDNfcyk7CiAgICAgZWxzZSBpZiAobmV3U3RhdHVzID09IFN0
YXR1czo6U3VjY2VzcyB8fCBuZXdTdGF0dXMgPT0gU3RhdHVzOjpGYWlsdXJlKQogICAgICAgICBt
X3RpbWVvdXRUaW1lci5zdG9wKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKaW5kZXggZTg0OTg4ZWJlMDZiNmY1NmUyMmM3ZmUyNDZjNmRhNGJlYmZiNmEyYi4uNDQwNDFk
NjNhNzBiZDY5ZWEyMjM2NDBiZDUwYzVhMzMyZjE1NzhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM0MCw3ICszNDAsNyBAQCB2b2lkIENTU0ZvbnRTZWxlY3Rv
cjo6YmVnaW5Mb2FkaW5nRm9udFNvb24oQ2FjaGVkRm9udCYgZm9udCkKICAgICAvLyBhZnRlciB0
aGlzIGZvbnQgaGFzIGJlZW4gcmVxdWVzdGVkIGJ1dCBiZWZvcmUgaXQgYmVnYW4gbG9hZGluZy4g
QmFsYW5jZWQgYnkKICAgICAvLyBkZWNyZW1lbnRSZXF1ZXN0Q291bnQoKSBpbiBiZWdpbkxvYWRU
aW1lckZpcmVkKCkgYW5kIGluIGNsZWFyRG9jdW1lbnQoKS4KICAgICBtX2RvY3VtZW50LT5jYWNo
ZWRSZXNvdXJjZUxvYWRlcigpLmluY3JlbWVudFJlcXVlc3RDb3VudChmb250KTsKLSAgICBtX2Jl
Z2luTG9hZGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2JlZ2luTG9hZGluZ1RpbWVy
LnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YmVnaW5Mb2Fk
VGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAKaW5kZXggYTc1MjgzYTJiMjdjM2RlZDhkOTQzMTJkZTA0YTQxNThlZWNjMmY5My4uNGQ0
MDYxNzI2MzljNDllZmQ3NzUyYWRmZWEzZjkzZGU1YTZmOWY4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcApAQCAtMzksNyArMzksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbWVUb0tlZXBDYWNoZWRH
ZW5lcmF0ZWRJbWFnZXMgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDMgfTsKK3N0YXRpYyBjb25z
dCBTZWNvbmRzIHRpbWVUb0tlZXBDYWNoZWRHZW5lcmF0ZWRJbWFnZXMgPSAzX3M7CiAKIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU6OkNTU0ltYWdlR2VuZXJhdG9yVmFsdWUoQ2xhc3NUeXBlIGNsYXNz
VHlwZSkKICAgICA6IENTU1ZhbHVlKGNsYXNzVHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAppbmRleCAxMGY2NWMzY2ViYzViNmFmZGEwMGMwMGU3M2RjYjhlYjQyYWJlNjVkLi45
YjFhYTBiMzFiZDE0MWVlOTgyNzAyZDVhODZjZDQzMzA2Y2FiNmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xMjM3LDEwICsxMjM3LDggQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphZGRUb01hdGNoZWRQcm9wZXJ0aWVzQ2FjaGUoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxl
LCBjb25zdAogewogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXRjaGVkRGVjbGFyYXRpb25D
YWNoZUFkZGl0aW9uc0JldHdlZW5Td2VlcHMgPSAxMDA7CiAgICAgaWYgKCsrbV9tYXRjaGVkUHJv
cGVydGllc0NhY2hlQWRkaXRpb25zU2luY2VMYXN0U3dlZXAgPj0gbWF0Y2hlZERlY2xhcmF0aW9u
Q2FjaGVBZGRpdGlvbnNCZXR3ZWVuU3dlZXBzCi0gICAgICAgICYmICFtX21hdGNoZWRQcm9wZXJ0
aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1hdGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzID0gNjA7Ci0g
ICAgICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KG1h
dGNoZWREZWNsYXJhdGlvbkNhY2hlU3dlZXBUaW1lSW5TZWNvbmRzKTsKLSAgICB9CisgICAgICAg
ICYmICFtX21hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVTd2VlcFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
ICAgIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZVN3ZWVwVGltZXIuc3RhcnRPbmVTaG90KDYwX3Mp
OwogCiAgICAgQVNTRVJUKGhhc2gpOwogICAgIE1hdGNoZWRQcm9wZXJ0aWVzQ2FjaGVJdGVtIGNh
Y2hlSXRlbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZlZTU3OTI1YTE2ODk3ZjBlYTUy
OWEzZDg4MjlkODBkZWRmNzE4NTcuLjA5OTBkZTI2ZWI5MDRiOTljNTg0YzE4MjBiMWE1OWUwMzI2
MzU4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTI1OCw3ICsxMjU4LDcgQEAgdm9p
ZCBEb2N1bWVudDo6c2V0VmlzdWFsVXBkYXRlc0FsbG93ZWQoYm9vbCB2aXN1YWxVcGRhdGVzQWxs
b3dlZCkKICAgICBpZiAodmlzdWFsVXBkYXRlc0FsbG93ZWQpCiAgICAgICAgIG1fdmlzdWFsVXBk
YXRlc1N1cHByZXNzaW9uVGltZXIuc3RvcCgpOwogICAgIGVsc2UKLSAgICAgICAgbV92aXN1YWxV
cGRhdGVzU3VwcHJlc3Npb25UaW1lci5zdGFydE9uZVNob3Qoc2V0dGluZ3MoKS0+aW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSk7CisgICAgICAgIG1fdmlz
dWFsVXBkYXRlc1N1cHByZXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoc2V0dGluZ3Mo
KS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXRJblNlY29uZHMoKSkpOwog
CiAgICAgaWYgKCF2aXN1YWxVcGRhdGVzQWxsb3dlZCkKICAgICAgICAgcmV0dXJuOwpAQCAtMTc0
NSw3ICsxNzQ1LDcgQEAgdm9pZCBEb2N1bWVudDo6c2NoZWR1bGVTdHlsZVJlY2FsYygpCiAgICAg
Ly8gRklYTUU6IFdoeSBvbiBlYXJ0aCBpcyB0aGlzIGhlcmU/IFRoaXMgaXMgY2xlYXJseSBtaXNw
bGFjZWQuCiAgICAgaW52YWxpZGF0ZUFjY2Vzc0tleU1hcCgpOwogICAgIAotICAgIG1fc3R5bGVS
ZWNhbGNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zdHlsZVJlY2FsY1RpbWVyLnN0YXJ0
T25lU2hvdCgwX3MpOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVs
ZVN0eWxlUmVjYWxjdWxhdGlvbigqdGhpcyk7CiB9CkBAIC0yODI0LDcgKzI4MjQsNyBAQCB2b2lk
IERvY3VtZW50Ojp3cml0ZWxuKGNvbnN0IFN0cmluZyYgdGV4dCwgRG9jdW1lbnQqIG93bmVyRG9j
dW1lbnQpCiAgICAgd3JpdGUoV1RGTW92ZSh0ZXh0V2l0aE5ld2xpbmUpLCBvd25lckRvY3VtZW50
KTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVy
SW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBEb2N1bWVudDo6bWluaW11bVRpbWVySW50ZXJ2YWwo
KSBjb25zdAogewogICAgIGF1dG8qIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdl
KQpAQCAtMjg0MSw3ICsyODQxLDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0VGltZXJUaHJvdHRsaW5n
RW5hYmxlZChib29sIHNob3VsZFRocm90dGxlKQogICAgIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBEb2N1bWVudDo6dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0
CitTZWNvbmRzIERvY3VtZW50Ojp0aW1lckFsaWdubWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hl
ZE1heE5lc3RpbmdMZXZlbCkgY29uc3QKIHsKICAgICBhdXRvIGFsaWdubWVudEludGVydmFsID0g
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChoYXNSZWFjaGVk
TWF4TmVzdGluZ0xldmVsKTsKIApAQCAtNTAyNyw4ICs1MDI3LDggQEAgdm9pZCBEb2N1bWVudDo6
ZmluaXNoZWRQYXJzaW5nKCkKICAgICAvLyBzbyB0aGF0IGR5bmFtaWNhbGx5IGluc2VydGVkIGNv
bnRlbnQgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHNoYXJpbmcgb3B0aW1pemF0aW9ucy4KICAgICAv
LyBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVmcmVzaCB0aGUgdGltZXIgb24gcG9vbCBhY2Nlc3Mgc2lu
Y2UgdGhhdCBjb3VsZCBsZWFkIHRvIGh1Z2UgY2FjaGVzIGJlaW5nIGtlcHQKICAgICAvLyBhbGl2
ZSBpbmRlZmluaXRlbHkgYnkgc29tZXRoaW5nIGlubm9jdW91cyBsaWtlIEpTIHNldHRpbmcgLmlu
bmVySFRNTCByZXBlYXRlZGx5IG9uIGEgdGltZXIuCi0gICAgc3RhdGljIGNvbnN0IGludCB0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMg
PSAxMDsKLSAgICBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1l
VG9LZWVwU2hhcmVkT2JqZWN0UG9vbEFsaXZlQWZ0ZXJQYXJzaW5nRmluaXNoZWRJblNlY29uZHMp
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVUb0tlZXBTaGFyZWRPYmplY3RQb29sQWxp
dmVBZnRlclBhcnNpbmdGaW5pc2hlZCA9IDEwX3M7CisgICAgbV9zaGFyZWRPYmplY3RQb29sQ2xl
YXJUaW1lci5zdGFydE9uZVNob3QodGltZVRvS2VlcFNoYXJlZE9iamVjdFBvb2xBbGl2ZUFmdGVy
UGFyc2luZ0ZpbmlzaGVkKTsKIAogICAgIC8vIFBhcnNlciBzaG91bGQgaGF2ZSBwaWNrZWQgdXAg
YWxsIHByZWxvYWRzIGJ5IG5vdwogICAgIG1fY2FjaGVkUmVzb3VyY2VMb2FkZXItPmNsZWFyUHJl
bG9hZHMoKTsKQEAgLTUyNTUsNyArNTI1NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUZvY3Vz
QXBwZWFyYW5jZVNvb24oU2VsZWN0aW9uUmVzdG9yYXRpb25Nb2RlIG1vZGUpCiB7CiAgICAgbV91
cGRhdGVGb2N1c0FwcGVhcmFuY2VSZXN0b3Jlc1NlbGVjdGlvbiA9IG1vZGU7CiAgICAgaWYgKCFt
X3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3VwZGF0ZUZv
Y3VzQXBwZWFyYW5jZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50
OjpjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKQpAQCAtNTQ0MCw3ICs1NDQwLDcgQEAgdm9p
ZCBEb2N1bWVudDo6cmVzdW1lU2NoZWR1bGVkVGFza3MoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25G
b3JTdXNwZW5zaW9uIHJlYXNvbikKICAgICBpZiAocmVhc29uID09IEFjdGl2ZURPTU9iamVjdDo6
V2lsbERlZmVyTG9hZGluZyAmJiBtX3BhcnNlcikKICAgICAgICAgbV9wYXJzZXItPnJlc3VtZVNj
aGVkdWxlZFRhc2tzKCk7CiAgICAgaWYgKCFtX3BlbmRpbmdUYXNrcy5pc0VtcHR5KCkpCi0gICAg
ICAgIG1fcGVuZGluZ1Rhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRp
bmdUYXNrc1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIHNjcmlwdFJ1bm5lcigpLT5yZXN1
bWUoKTsKICAgICByZXN1bWVBY3RpdmVET01PYmplY3RzKHJlYXNvbik7CiAgICAgcmVzdW1lU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyQ2FsbGJhY2tzKCk7CkBAIC01Njg3LDcgKzU2ODcsNyBA
QCB2b2lkIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoRWxlbWVudCogZWxl
bWVudCwgdW5zaWduZWQgc2hvcnQgZmxhZwogICAgIH0gd2hpbGUgKDApOwogCiAgICAgbV9mdWxs
U2NyZWVuRXJyb3JFdmVudFRhcmdldFF1ZXVlLmFwcGVuZChlbGVtZW50ID8gZWxlbWVudCA6IGRv
Y3VtZW50RWxlbWVudCgpKTsKLSAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogfQogCiB2b2lkIERvY3VtZW50Ojp3ZWJraXRDYW5jZWxGdWxsU2NyZWVuKCkKQEAg
LTU4NTQsNyArNTg1NCw3IEBAIHZvaWQgRG9jdW1lbnQ6OndlYmtpdERpZEVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQoRWxlbWVudCopCiAKICAgICBtX2Z1bGxTY3JlZW5FbGVtZW50LT5kaWRCZWNv
bWVGdWxsc2NyZWVuRWxlbWVudCgpOwogCi0gICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6d2Via2l0V2lsbEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChFbGVtZW50KikKQEAgLTU4OTEsNyArNTg5MSw3IEBAIHZvaWQgRG9jdW1l
bnQ6OndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChFbGVtZW50KikKICAgICBib29s
IGV2ZW50VGFyZ2V0UXVldWVzRW1wdHkgPSBtX2Z1bGxTY3JlZW5DaGFuZ2VFdmVudFRhcmdldFF1
ZXVlLmlzRW1wdHkoKSAmJiBtX2Z1bGxTY3JlZW5FcnJvckV2ZW50VGFyZ2V0UXVldWUuaXNFbXB0
eSgpOwogICAgIERvY3VtZW50JiBleGl0aW5nRG9jdW1lbnQgPSBldmVudFRhcmdldFF1ZXVlc0Vt
cHR5ID8gdG9wRG9jdW1lbnQoKSA6ICp0aGlzOwogCi0gICAgZXhpdGluZ0RvY3VtZW50Lm1fZnVs
bFNjcmVlbkNoYW5nZURlbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGV4aXRpbmdEb2N1
bWVudC5tX2Z1bGxTY3JlZW5DaGFuZ2VEZWxheVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIERvY3VtZW50OjpzZXRGdWxsU2NyZWVuUmVuZGVyZXIoUmVuZGVyRnVsbFNjcmVlbiog
cmVuZGVyZXIpCkBAIC02MDU3LDcgKzYwNTcsNyBAQCB2b2lkIERvY3VtZW50OjpkZWNyZW1lbnRM
b2FkRXZlbnREZWxheUNvdW50KCkKICAgICAtLW1fbG9hZEV2ZW50RGVsYXlDb3VudDsKIAogICAg
IGlmIChmcmFtZSgpICYmICFtX2xvYWRFdmVudERlbGF5Q291bnQgJiYgIW1fbG9hZEV2ZW50RGVs
YXlUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgICAgICBtX2xvYWRFdmVudERlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZCgpCkBAIC02
NzAxLDcgKzY3MDEsNyBAQCB2b2lkIERvY3VtZW50OjpkaWRBc3NvY2lhdGVGb3JtQ29udHJvbChF
bGVtZW50KiBlbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgbV9hc3NvY2lhdGVkRm9ybUNv
bnRyb2xzLmFkZChlbGVtZW50KTsKICAgICBpZiAoIW1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xz
VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzVGlt
ZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRpZEFzc29jaWF0ZUZv
cm1Db250cm9sc1RpbWVyRmlyZWQoKQpAQCAtNjcyMSw3ICs2NzIxLDcgQEAgdm9pZCBEb2N1bWVu
dDo6c2V0Q2FjaGVkRE9NQ29va2llcyhjb25zdCBTdHJpbmcmIGNvb2tpZXMpCiAgICAgQVNTRVJU
KCFpc0RPTUNvb2tpZUNhY2hlVmFsaWQoKSk7CiAgICAgbV9jYWNoZWRET01Db29raWVzID0gY29v
a2llczsKICAgICAvLyBUaGUgY29va2llIGNhY2hlIGlzIHZhbGlkIGF0IG1vc3QgdW50aWwgd2Ug
Z28gYmFjayB0byB0aGUgZXZlbnQgbG9vcC4KLSAgICBtX2Nvb2tpZUNhY2hlRXhwaXJ5VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgIG1fY29va2llQ2FjaGVFeHBpcnlUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6aW52YWxpZGF0ZURPTUNvb2tpZUNhY2hlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNTBlMmI4MzkyMmNhOWExZWExMzUyMjg0ZDYzMDE3Zjc5
ODEzMDI0MC4uYWYyYWM3ODAyYWFiNjAwZDNjMGY2NTgzYjljNzM3MTVhY2UxZDcwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTEzMzcsOSArMTMzNyw5IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIFJlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFjaz4mJiwg
SlNDOjpFeGVjU3RhdGUqID0gbnVsbHB0ciwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmll
ciA9IDApIGZpbmFsOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtVGlt
ZXJJbnRlcnZhbCgpIGNvbnN0IGZpbmFsOworICAgIFNlY29uZHMgbWluaW11bVRpbWVySW50ZXJ2
YWwoKSBjb25zdCBmaW5hbDsKIAotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJB
bGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZp
bmFsOworICAgIFNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNoZWRN
YXhOZXN0aW5nTGV2ZWwpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVUaXRsZUZyb21U
aXRsZUVsZW1lbnQoKTsKICAgICB2b2lkIHVwZGF0ZVRpdGxlKGNvbnN0IFN0cmluZ1dpdGhEaXJl
Y3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEV2ZW50UXVl
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKaW5kZXgg
OWUwNzdmNzJmMTM2NTlhMzg2OTE1YTljYmU2MDE0NmYyMDI5OWMyNy4uYmQ5M2JhNjJjZTZlMjIx
ZDk0MGUwZTgwNjk3ODE1ZWFlNTYyNGU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
RXZlbnRRdWV1ZS5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgYm9vbCBEb2N1bWVudEV2ZW50UXVldWU6
OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiAKICAgICBtX3F1ZXVlZEV2ZW50cy5h
ZGQoZXZlbnQucHRyKCkpOwogICAgIGlmICghbV9wZW5kaW5nRXZlbnRUaW1lci0+aXNBY3RpdmUo
KSkKLSAgICAgICAgbV9wZW5kaW5nRXZlbnRUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3BlbmRpbmdFdmVudFRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50U2VuZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAppbmRleCA4NzJkODVhMWE0NTUxYWQwMTk5
MDgwOTgwZTZmNWYzYWQyOGE3YjdmLi4xNWNkYjE3NzliMjAwYWYzNjkyYmZlZTFlNzBjOWFiMDJj
NmIzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRTZW5kZXIuaApAQCAtNjYsNyArNjYsNyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiB2b2lkIEV2ZW50U2VuZGVyPFQ+OjpkaXNwYXRjaEV2ZW50U29vbihU
JiBzZW5kZXIpCiB7CiAgICAgbV9kaXNwYXRjaFNvb25MaXN0LmFwcGVuZCgmc2VuZGVyKTsKICAg
ICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgRXZlbnRTZW5kZXI8VD46OmNhbmNlbEV2ZW50KFQmIHNlbmRlcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NaWNyb3Rhc2tzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NaWNyb3Rhc2tzLmNwcAppbmRleCAxOTZkZmVkMTAyMDY0MzVmNmZlY2U0YzdhODU5
MTQ2ZmNlYjlmOGY3Li4wZTE2MzhlZmU1ZTQ0NmY3NjQ2ODU5OTE3ODAyNTUyMTY5ODk2MDIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWljcm90YXNrcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL01pY3JvdGFza3MuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgTWljcm90
YXNrUXVldWU6OmFwcGVuZChzdGQ6OnVuaXF1ZV9wdHI8TWljcm90YXNrPiYmIHRhc2spCiAgICAg
ZWxzZQogICAgICAgICBtX21pY3JvdGFza1F1ZXVlLmFwcGVuZChXVEZNb3ZlKHRhc2spKTsKIAot
ICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgTWljcm90YXNrUXVldWU6OnJlbW92ZShjb25zdCBNaWNyb3Rhc2smIHRh
c2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggOTM3ZjFjMjNiZDdlOTk0Y2FlZWI2ZTJkMDQ4OWMwMGVlMTljZjU2Yi4uN2U4ZGE5YzczZGQ5
ZGM0YTU5ZGJhZTBlMTM4OTJhMWM4NDVjZTIxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcApAQCAtNDQ1LDcgKzQ0NSw3IEBAIFB1YmxpY1VSTE1h
bmFnZXImIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnB1YmxpY1VSTE1hbmFnZXIoKQogICAgIHJl
dHVybiAqbV9wdWJsaWNVUkxNYW5hZ2VyOwogfQogCi12b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OmFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
b2xkTWluaW11bVRpbWVySW50ZXJ2YWwpCit2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFk
anVzdE1pbmltdW1UaW1lckludGVydmFsKFNlY29uZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwp
CiB7CiAgICAgaWYgKG1pbmltdW1UaW1lckludGVydmFsKCkgIT0gb2xkTWluaW11bVRpbWVySW50
ZXJ2YWwpIHsKICAgICAgICAgZm9yIChhdXRvJiB0aW1lciA6IG1fdGltZW91dHMudmFsdWVzKCkp
CkBAIC00NTMsNyArNDUzLDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjphZGp1c3RN
aW5pbXVtVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmQKICAgICB9CiB9CiAK
LXN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6bWluaW11
bVRpbWVySW50ZXJ2YWwoKSBjb25zdAorU2Vjb25kcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpt
aW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0CiB7CiAgICAgLy8gVGhlIGRlZmF1bHQgaW1wbGVt
ZW50YXRpb24gcmV0dXJucyB0aGUgRE9NVGltZXIncyBkZWZhdWx0CiAgICAgLy8gbWluaW11bSB0
aW1lciBpbnRlcnZhbC4gRklYTUU6IHRvIG1ha2UgaXQgd29yayB3aXRoIGRlZGljYXRlZApAQCAt
NDY5LDcgKzQ2OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZGlkQ2hhbmdlVGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbCgpCiAgICAgICAgIHRpbWVyLT5kaWRDaGFuZ2VBbGlnbm1lbnRJ
bnRlcnZhbCgpOwogfQogCi1zdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoYm9vbCkgY29uc3QKK1NlY29uZHMgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6dGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sKSBjb25zdAog
ewogICAgIHJldHVybiBET01UaW1lcjo6ZGVmYXVsdEFsaWdubWVudEludGVydmFsKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBjOTI5OGQz
MmNhNDAxNmJlMDVmY2ZmMTg0YTk5NzY4MjY1NGFlNjhlLi43ZmRlNzhkNWZiZjlhODIwZThhZjRk
OGJjOGQzYTBmMzY0ZDc4YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKQEAgLTE5MiwxMSArMTkyLDExIEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBKU0M6OlZNJiB2bSgpOwogCiAgICAgLy8gSW50ZXJ2YWwgaXMgaW4gc2Vjb25kcy4KLSAg
ICB2b2lkIGFkanVzdE1pbmltdW1UaW1lckludGVydmFsKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgb2xkTWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgIHZpcnR1YWwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtaW5pbXVtVGltZXJJbnRlcnZhbCgpIGNvbnN0OworICAgIHZvaWQgYWRqdXN0
TWluaW11bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBvbGRNaW5pbXVtVGltZXJJbnRlcnZhbCk7Cisg
ICAgdmlydHVhbCBTZWNvbmRzIG1pbmltdW1UaW1lckludGVydmFsKCkgY29uc3Q7CiAKICAgICB2
b2lkIGRpZENoYW5nZVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKLSAgICB2aXJ0dWFsIHN0ZDo6
Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXJBbGlnbm1lbnRJbnRlcnZhbChib29sIGhhc1JlYWNo
ZWRNYXhOZXN0aW5nTGV2ZWwpIGNvbnN0OworICAgIHZpcnR1YWwgU2Vjb25kcyB0aW1lckFsaWdu
bWVudEludGVydmFsKGJvb2wgaGFzUmVhY2hlZE1heE5lc3RpbmdMZXZlbCkgY29uc3Q7CiAKICAg
ICB2aXJ0dWFsIEV2ZW50UXVldWUmIGV2ZW50UXVldWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRSdW5uZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggNzA5ODllYjQwYzA0NWFkZTc3NGFlNTdkMDlhNDA0
OGI1OWUzODgwNC4uNDY4NGUwZGQ5N2NmZTI4YzViMTc5ZWE3NzM5M2Q5ODEwZGJkM2ZhNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdFJ1bm5lci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgdm9pZCBTY3Jp
cHRSdW5uZXI6OnN1c3BlbmQoKQogdm9pZCBTY3JpcHRSdW5uZXI6OnJlc3VtZSgpCiB7CiAgICAg
aWYgKGhhc1BlbmRpbmdTY3JpcHRzKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNjcmlwdFJ1
bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1NjcmlwdCYgcGVuZGluZ1NjcmlwdCkKQEAgLTEw
MCw3ICsxMDAsNyBAQCB2b2lkIFNjcmlwdFJ1bm5lcjo6bm90aWZ5RmluaXNoZWQoUGVuZGluZ1Nj
cmlwdCYgcGVuZGluZ1NjcmlwdCkKICAgICAgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBl
bmQobV9wZW5kaW5nQXN5bmNTY3JpcHRzLnRha2UocGVuZGluZ1NjcmlwdCktPnB0cigpKTsKICAg
ICB9CiAgICAgcGVuZGluZ1NjcmlwdC5jbGVhckNsaWVudCgpOwotICAgIG1fdGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgU2Ny
aXB0UnVubmVyOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggNzE3ODJmMmYxMTBlM2ZkYzRhNjc0MDE5
NzZkOWE5ZjY0YWE2NWYyNC4uNDNjNzBjNGE2MjFiZTI5ZTk0MTk4NzgyZTk1MTE5ODYxZjEwMjgz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5jcHAKQEAgLTIxOCw3ICsyMTgsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c2NoZWR1bGVBbmltYXRpb24oKQogI2VuZGlmCiAKICAgICBkb3VibGUgc2NoZWR1bGVE
ZWxheSA9IHN0ZDo6bWF4PGRvdWJsZT4oYW5pbWF0aW9uSW50ZXJ2YWwgLSAobV9kb2N1bWVudC0+
ZG9tV2luZG93KCktPm5vd1RpbWVzdGFtcCgpIC0gbV9sYXN0QW5pbWF0aW9uRnJhbWVUaW1lc3Rh
bXApLCAwKTsKLSAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChzY2hlZHVsZURlbGF5
KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHNjaGVkdWxlRGVs
YXkpKTsKICNlbHNlCiAgICAgaWYgKEZyYW1lVmlldyogZnJhbWVWaWV3ID0gbV9kb2N1bWVudC0+
dmlldygpKQogICAgICAgICBmcmFtZVZpZXctPnNjaGVkdWxlQW5pbWF0aW9uKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggYjgwOGFmMjdkNjk2NTkyMWI0MzM2N2Y5Njg0
MDNkMTQ3ZTgzZmJiMS4uYTMxZDI4ODQ0OGUxYTYyMDJlMTcwMzljN2RmNWRiZjJkMGI5YjJmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtNzQsNiArNzQsOSBAQCBzdGF0
aWMgUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGUmIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hl
KCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHByZXNlbnRh
dGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lID0gNjBfczsKK3N0YXRpYyBjb25zdCBpbnQgbWlu
aW11bVByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlU2l6ZUZvckNsZWFuaW5nID0gMTAwOworCiBj
bGFzcyBQcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUNsZWFuZXIgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgpAQCAtOTEsMTYgKzk0LDE0IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9oaXRDb3VudCsrOwogCiAgICAgICAgIGlmICghbV9jbGVhblRpbWVyLmlzQWN0aXZlKCkp
Ci0gICAgICAgICAgICBtX2NsZWFuVGltZXIuc3RhcnRPbmVTaG90KHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzKTsKKyAgICAgICAgICAgIG1fY2xlYW5UaW1lci5z
dGFydE9uZVNob3QocHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVDbGVhblRpbWUpOwogICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHByZXNlbnRhdGlvbkF0dHJp
YnV0ZUNhY2hlQ2xlYW5UaW1lSW5TZWNvbmRzID0gNjA7Ci0gICAgc3RhdGljIGNvbnN0IGludCBt
aW5pbXVtUHJlc2VudGF0aW9uQXR0cmlidXRlQ2FjaGVTaXplRm9yQ2xlYW5pbmcgPSAxMDA7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNo
ZUhpdENvdW50UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xl
YW5UaW1lSW5TZWNvbmRzKSAvIDYwOwotCiAgICAgdm9pZCBjbGVhbkNhY2hlKCkKICAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIG1pbmltdW1QcmVzZW50YXRpb25BdHRyaWJ1dGVDYWNoZUhpdENvdW50
UGVyTWludXRlID0gKDEwMCAqIHByZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlQ2xlYW5UaW1lLnZh
bHVlKCkpIC8gNjA7CisKICAgICAgICAgdW5zaWduZWQgaGl0Q291bnQgPSBtX2hpdENvdW50Owog
ICAgICAgICBtX2hpdENvdW50ID0gMDsKICAgICAgICAgaWYgKGhpdENvdW50ID4gbWluaW11bVBy
ZXNlbnRhdGlvbkF0dHJpYnV0ZUNhY2hlSGl0Q291bnRQZXJNaW51dGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9BbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcAppbmRleCBk
NWNkMWVhNjdkZDkwYjg5M2Y1MzQ3YTdhMTdlZWNlMDk0YTRhYTZjLi42OWU5ZTNmZGRhZmVhZmJi
YmY3MTYxMTU1ZWJmMWJkMDdjZWEyNTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0FsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5jcHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyOjp+QWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcigpCiAK
IHZvaWQgQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlcjo6c3RhcnRBbHRlcm5hdGl2ZVRleHRVSVRp
bWVyKEFsdGVybmF0aXZlVGV4dFR5cGUgdHlwZSkKIHsKLSAgICBjb25zdCBkb3VibGUgY29ycmVj
dGlvblBhbmVsVGltZXJJbnRlcnZhbCA9IDAuMzsKKyAgICBjb25zdCBhdXRvIGNvcnJlY3Rpb25Q
YW5lbFRpbWVySW50ZXJ2YWwgPSAwLjNfczsKICAgICBpZiAoIWlzQXV0b21hdGljU3BlbGxpbmdD
b3JyZWN0aW9uRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAppbmRleCAyMGU2YjBjMmI3NGNhZmNlZWEyMjhmODJjY2UyMjJiYzVmYzE3YTM3Li4z
YmE1YmQxOTFjNmM5YWZlYTFiZjgzM2IyMjdjMGQ3YmJhNGZhMjJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0b3IuY3BwCkBAIC0zMjYyLDcgKzMyNjIsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRv
Q2hhbmdlZFNlbGVjdGlvbihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246
OgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChzaG91bGREZXRlY3RUZWxlcGhvbmVOdW1iZXJzKCkpCi0gICAgICAgIG1f
dGVsZXBob25lTnVtYmVyRGV0ZWN0aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RlbGVwaG9uZU51bWJlckRldGVjdGlvblVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogI2VuZGlmCiAKICAgICBzZXRTdGFydE5ld0tpbGxSaW5nU2VxdWVuY2UodHJ1ZSk7CkBA
IC0zMjc0LDcgKzMyNzQsNyBAQCB2b2lkIEVkaXRvcjo6cmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlv
bihjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiwgRnJhbWVTZWxlY3Rpb246OgogICAgIG1fZWRpdG9y
VUlVcGRhdGVUaW1lclNob3VsZENoZWNrU3BlbGxpbmdBbmRHcmFtbWFyID0gb3B0aW9ucyAmIEZy
YW1lU2VsZWN0aW9uOjpDbG9zZVR5cGluZwogICAgICAgICAmJiAhKG9wdGlvbnMgJiBGcmFtZVNl
bGVjdGlvbjo6U3BlbGxDb3JyZWN0aW9uVHJpZ2dlcmVkKTsKICAgICBtX2VkaXRvclVJVXBkYXRl
VGltZXJXYXNUcmlnZ2VyZWRCeURpY3RhdGlvbiA9IG9wdGlvbnMgJiBGcmFtZVNlbGVjdGlvbjo6
RGljdGF0aW9uVHJpZ2dlcmVkOwotICAgIG1fZWRpdG9yVUlVcGRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgbV9lZGl0b3JVSVVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiAhUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAppbmRleCA2NzU5ZmYx
NzdmZTc2NzFjYmIxNjkzNWViMzYxMGQyYTU2OTdiNzg2Li44NzRiZDY4NmE2OWQ0ZGQyNWI1ZmE3
NmFmM2EyY2I1ZGQyM2NlZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcApAQCAtMjA1MCw3ICsyMDUwLDcgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRl
QXBwZWFyYW5jZSgpCiAgICAgLy8gU3RhcnQgYmxpbmtpbmcgd2l0aCBhIGJsYWNrIGNhcmV0LiBC
ZSBzdXJlIG5vdCB0byByZXN0YXJ0IGlmIHdlJ3JlCiAgICAgLy8gYWxyZWFkeSBibGlua2luZyBp
biB0aGUgcmlnaHQgbG9jYXRpb24uCiAgICAgaWYgKHNob3VsZEJsaW5rICYmICFtX2NhcmV0Qmxp
bmtUaW1lci5pc0FjdGl2ZSgpKSB7Ci0gICAgICAgIGlmIChkb3VibGUgYmxpbmtJbnRlcnZhbCA9
IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJsaW5rSW50ZXJ2YWwoKSkKKyAgICAgICAg
aWYgKGF1dG8gYmxpbmtJbnRlcnZhbCA9IG1fZnJhbWUtPnBhZ2UoKS0+dGhlbWUoKS5jYXJldEJs
aW5rSW50ZXJ2YWwoKSkKICAgICAgICAgICAgIG1fY2FyZXRCbGlua1RpbWVyLnN0YXJ0UmVwZWF0
aW5nKGJsaW5rSW50ZXJ2YWwpOwogCiAgICAgICAgIGlmICghbV9jYXJldFBhaW50KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKaW5kZXggOWQwZjg3MzZlMDgxYzNkZjRm
Y2E3ZTIxYTdmZjY1YzE4NWM0MWZkNC4uMDI0ODgxM2NlMGM5YzdiYWM1MTliZmI1ODQ1Y2IzYmU3
M2UzOTBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcApAQCAtMjE2
LDcgKzIxNiw3IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNv
bnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAKICAgICBtX3Byb2Nlc3NpbmdS
ZXF1ZXN0ID0gbnVsbHB0cjsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKLSAg
ICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdC5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENoZWNrU3VjY2VlZChpbnQgc2VxdWVuY2UsIGNvbnN0
IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4IDQxNmEyZDFhN2I5MjUxMzQxMGU0MDZmNDM0NWRjODNj
ZjVjZmExMGMuLmQ3ODRkYjQyMGNhY2RlOThiODVlMzBhZGNiYTkzYTZiZDVkMGZhMjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2
b2lkIEhUTUxGb3JtRWxlbWVudDo6ZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0ZShBdXRvY29tcGxl
dGVSZXN1bHQgcmVzdWx0KQogCiAgICAgLy8gRGlzcGF0Y2ggZXZlbnRzIGxhdGVyIGFzIHRoaXMg
QVBJIGlzIG1lYW50IHRvIHdvcmsgYXN5bmNocm9ub3VzbHkgaW4gYWxsIHNpdHVhdGlvbnMgYW5k
IGltcGxlbWVudGF0aW9ucy4KICAgICBpZiAoIW1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fcmVxdWVzdEF1dG9jb21wbGV0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9yZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpyZXF1ZXN0QXV0b2NvbXBsZXRlVGltZXJG
aXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzZGRh
N2E3YWMzZmY4NmFjNDk2MDVjNWQ3M2ZlYmRmYmRkYmNjMGJiLi5mMTJiYTUxMGJhMTQyNjIyYTgy
MTFkY2RhNzMyZWRjNDY4YzJlYWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKQEAgLTE1NiwxMiArMTU2LDEyIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrUmVwZWF0RGVsYXkgPSAwLjE7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBTZWVrUmVwZWF0RGVsYXkgPSAwLjFfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIFNj
YW5SZXBlYXREZWxheSA9IDEuNV9zOwogc3RhdGljIGNvbnN0IGRvdWJsZSBTZWVrVGltZSA9IDAu
MjsKLXN0YXRpYyBjb25zdCBkb3VibGUgU2NhblJlcGVhdERlbGF5ID0gMS41Owogc3RhdGljIGNv
bnN0IGRvdWJsZSBTY2FuTWF4aW11bVJhdGUgPSA4OwogCi1zdGF0aWMgY29uc3QgZG91YmxlIEhp
ZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IEhpZGVNZWRpYUNvbnRyb2xzQWZ0ZXJFbmRlZERlbGF5ID0gNl9zOwogCiBzdGF0aWMgdm9pZCBz
ZXRGbGFncyh1bnNpZ25lZCYgdmFsdWUsIHVuc2lnbmVkIGZsYWdzKQogewpAQCAtOTM3LDcgKzkz
Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2NoZWR1bGVEZWxheWVkQWN0aW9uKERlbGF5
ZWRBY3Rpb25UeXBlIGFjdGlvblR5cGUpCiAgICAgaWYgKGFjdGlvblR5cGUgJiBVcGRhdGVQbGF5
U3RhdGUpCiAgICAgICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBVcGRhdGVQbGF5
U3RhdGUpOwogCi0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
IG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKQEAgLTk0NSw3ICs5NDUsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCkKICAgICAv
LyBTY2hlZHVsZSB0aGUgdGltZXIgdG8gdHJ5IHRoZSBuZXh0IDxzb3VyY2U+IGVsZW1lbnQgV0lU
SE9VVCByZXNldHRpbmcgc3RhdGUgYWxhIHByZXBhcmVGb3JMb2FkLgogICAgIExPRyhNZWRpYSwg
IkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTmV4dFNvdXJjZUNoaWxkKCVwKSAtIHNldHRpbmcg
JXMgZmxhZyIsIHRoaXMsIGFjdGlvbk5hbWUoTG9hZE1lZGlhUmVzb3VyY2UpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIHNldEZsYWdzKG1fcGVuZGluZ0FjdGlvbkZsYWdzLCBMb2FkTWVkaWFSZXNvdXJj
ZSk7Ci0gICAgbV9wZW5kaW5nQWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcGVu
ZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyQWN0aXZlU291cmNlQnVmZmVyc0NoYW5nZWQoY29uc3QgTWVkaWFQ
bGF5ZXIqKQpAQCAtMTk4NCw3ICsxOTg0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzdGFy
dFByb2dyZXNzRXZlbnRUaW1lcigpCiAKICAgICBtX3ByZXZpb3VzUHJvZ3Jlc3NUaW1lID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgLy8gMzUwbXMgaXMgbm90IG1hZ2ljLCBp
dCBpcyBpbiB0aGUgc3BlYyEKLSAgICBtX3Byb2dyZXNzRXZlbnRUaW1lci5zdGFydFJlcGVhdGlu
ZygwLjM1MCk7CisgICAgbV9wcm9ncmVzc0V2ZW50VGltZXIuc3RhcnRSZXBlYXRpbmcoMzUwX21z
KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp3YWl0Rm9yU291cmNlQ2hhbmdlKCkKQEAg
LTMzNzEsNyArMzM3MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6YmVnaW5TY2FubmluZyhT
Y2FuRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICAgICAgc2V0UGxheWJhY2tSYXRlKG5leHRTY2Fu
UmF0ZSgpKTsKICAgICB9CiAKLSAgICBtX3NjYW5UaW1lci5zdGFydCgwLCBtX3NjYW5UeXBlID09
IFNlZWsgPyBTZWVrUmVwZWF0RGVsYXkgOiBTY2FuUmVwZWF0RGVsYXkpOworICAgIG1fc2NhblRp
bWVyLnN0YXJ0KDBfcywgbV9zY2FuVHlwZSA9PSBTZWVrID8gU2Vla1JlcGVhdERlbGF5IDogU2Nh
blJlcGVhdERlbGF5KTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbmRTY2FubmluZygp
CkBAIC0zNDEwLDcgKzM0MTAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjYW5UaW1lckZp
cmVkKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGljIHRpbWV1cGRhdGUgZXZl
bnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAiMTUgdG8gMjUwbXMiLCB3
ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29uc3QgZG91YmxlIG1heFRp
bWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhU
aW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAwLjI1X3M7CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6c3RhcnRQbGF5YmFja1Byb2dyZXNzVGltZXIoKQogewpAQCAtMzQ1Nyw3ICszNDU3LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZVRpbWV1cGRhdGVFdmVudChib29sIHBlcmlv
ZGljRXZlbnQpCiAgICAgZG91YmxlIHRpbWVkZWx0YSA9IG5vdyAtIG1fY2xvY2tUaW1lQXRMYXN0
VXBkYXRlRXZlbnQ7CiAKICAgICAvLyB0aHJvdHRsZSB0aGUgcGVyaW9kaWMgZXZlbnRzCi0gICAg
aWYgKHBlcmlvZGljRXZlbnQgJiYgdGltZWRlbHRhIDwgbWF4VGltZXVwZGF0ZUV2ZW50RnJlcXVl
bmN5KQorICAgIGlmIChwZXJpb2RpY0V2ZW50ICYmIHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVF
dmVudEZyZXF1ZW5jeS52YWx1ZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBTb21lIG1l
ZGlhIGVuZ2luZXMgbWFrZSBtdWx0aXBsZSAidGltZSBjaGFuZ2VkIiBjYWxsYmFja3MgYXQgdGhl
IHNhbWUgdGltZSwgYnV0IHdlIG9ubHkgd2FudCBvbmUKQEAgLTQzODgsNyArNDM4OCw3IEBAIHZv
aWQgSFRNTE1lZGlhRWxlbWVudDo6aGFuZGxlU2Vla1RvUGxheWJhY2tQb3NpdGlvbihkb3VibGUg
cG9zaXRpb24pCiAgICAgLy8gUGxlYXNlIHNlZSA8cmRhcjovL3Byb2JsZW0vMjg0NTcyMTk+IGZv
ciBtb3JlIGRldGFpbHMuCiAgICAgc2VlayhNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUocG9z
aXRpb24pKTsKICAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0b3AoKTsK
LSAgICBtX3NlZWtUb1BsYXliYWNrUG9zaXRpb25FbmRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwLjUp
OworICAgIG1fc2Vla1RvUGxheWJhY2tQb3NpdGlvbkVuZGVkVGltZXIuc3RhcnRPbmVTaG90KDAu
NV9zKTsKIAogICAgIGlmICghbV9pc1NjcnViYmluZ1JlbW90ZWx5KSB7CiAgICAgICAgIG1faXNT
Y3J1YmJpbmdSZW1vdGVseSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVs
ZW1lbnQuY3BwCmluZGV4IGE4NjRlODdlYWZkNDI4M2U1NGYxZTQwYmZlY2Y5MjI1YTVjYjVkZDYu
LjE1MTBjNTg5ZmRlZDJiMWUzOTE4NjU2YWE3YzcyNzY1MGM3ZmU1ZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBI
VE1MUGx1Z0luRWxlbWVudDo6c2V0RGlzcGxheVN0YXRlKERpc3BsYXlTdGF0ZSBzdGF0ZSkKICAg
ICBtX2Rpc3BsYXlTdGF0ZSA9IHN0YXRlOwogICAgIAogICAgIGlmICgoc3RhdGUgPT0gRGlzcGxh
eWluZ1NuYXBzaG90IHx8IGRpc3BsYXlTdGF0ZSgpID09IFByZXBhcmluZ1BsdWdpblJlcGxhY2Vt
ZW50KSAmJiAhbV9zd2FwUmVuZGVyZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3N3YXBS
ZW5kZXJlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9zd2FwUmVuZGVyZXJUaW1l
ci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGlkQWRk
VXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KiByb290KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAKaW5kZXggYjk2ZTNjZTMxM2RmNDhkMjky
ZTM3MjgwZjNmOTk5NjdmY2IwYTkwOC4uNTA0MWI1YjZjOTVkZDVjZjg0ZTY1YjQzMzdkZGQzMGY5
YjIzNjczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luSW1hZ2VF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5JbWFnZUVsZW1l
bnQuY3BwCkBAIC03MiwxMCArNzIsMTAgQEAgc3RhdGljIGNvbnN0IGZsb2F0IHNpemluZ0Z1bGxQ
YWdlQXJlYVJhdGlvVGhyZXNob2xkID0gMC45NjsKIHN0YXRpYyBjb25zdCBmbG9hdCBhdXRvc3Rh
cnRTb29uQWZ0ZXJVc2VyR2VzdHVyZVRocmVzaG9sZCA9IDUuMDsKIAogLy8gVGhpcyBkZWxheSBz
aG91bGQgbm90IGV4Y2VlZCB0aGUgc25hcHNob3QgZGVsYXkgaW4gUGx1Z2luVmlldy5jcHAKLXN0
YXRpYyBjb25zdCBhdXRvIHNpbXVsYXRlZE1vdXNlQ2xpY2tUaW1lckRlbGF5ID0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyB7IDc1MCB9Oworc3RhdGljIGNvbnN0IFNlY29uZHMgc2ltdWxhdGVk
TW91c2VDbGlja1RpbWVyRGVsYXkgPSAwLjc1X3M7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLXN0
YXRpYyBjb25zdCBhdXRvIHJlbW92ZVNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgeyAxNTAwIH07CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZW1vdmVTbmFwc2hv
dFRpbWVyRGVsYXkgPSAxLjVfczsKICNlbmRpZgogCiBzdGF0aWMgY29uc3QgU3RyaW5nIHRpdGxl
VGV4dChQYWdlKiBwYWdlLCBTdHJpbmcgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDQ1MDE4YjcxYzFjOGMyNmU0ODRmNTFjMGMzNjVhZjgx
NWU3ZjYzOWYuLmVkYWUwYzRjYjhjYWVmYWY1ODA3YjY0MjMzOGQ2YTEyNTBkOTQ2OTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCkBAIC0xMjUsNyArMTI1LDcg
QEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6c2NoZWR1bGVFcnJvckV2ZW50KCkKICAgICBpZiAo
bV9lcnJvckV2ZW50VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9l
cnJvckV2ZW50VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5jZWxQZW5k
aW5nRXJyb3JFdmVudCgpCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVu
dDo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHZvaWQgSFRNTFNvdXJjZUVsZW1l
bnQ6OnJlc3VtZSgpCiB7CiAgICAgaWYgKG1fc2hvdWxkUmVzY2hlZHVsZUVycm9yRXZlbnRPblJl
c3VtZSkgewotICAgICAgICBtX2Vycm9yRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fZXJyb3JFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX3Nob3Vs
ZFJlc2NoZWR1bGVFcnJvckV2ZW50T25SZXN1bWUgPSBmYWxzZTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCAwN2Y0MmQ5OWY4ZDdiNDhhOWJh
MjQxYjRjNDcxZDU3OWY1NWU4YmQ1Li5mYTAyNjJjYzY4Y2EzZGJmOGE0NTc3MjRiMmE1NjJmNmM2
NDVlYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKQEAgLTE3
OCw3ICsxNzgsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBz
IGFzeW5jaHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8g
cnVuIHRvIGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X2xvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBIVE1MVHJhY2tFbGVtZW50
Ojpsb2FkVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhQ29udHJvbGxlci5jcHAK
aW5kZXggOTU0MDUyNTA5ZWI3ZTIyYmEyOTcyZWVhYjc2OTFiYzU3NDQzZjM4Yi4uNmZiZjQ2YTNm
NzU2NTQ4ZTFiMDMzYzBkOWYxMDY4YTUxNjQwZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFDb250cm9sbGVyLmNwcApAQCAtNTcsNyArNTcsNiBAQCBNZWRpYUNvbnRyb2xsZXI6Ok1lZGlh
Q29udHJvbGxlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQogICAgICwgbV9jbG9j
ayhDbG9jazo6Y3JlYXRlKCkpCiAgICAgLCBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29udGV4
dCkKICAgICAsIG1fdGltZXVwZGF0ZVRpbWVyKCp0aGlzLCAmTWVkaWFDb250cm9sbGVyOjpzY2hl
ZHVsZVRpbWV1cGRhdGVFdmVudCkKLSAgICAsIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZSgwKQog
ewogfQogCkBAIC0xNDgsNyArMTQ3LDcgQEAgZG91YmxlIE1lZGlhQ29udHJvbGxlcjo6Y3VycmVu
dFRpbWUoKSBjb25zdAogICAgIGlmIChtX3Bvc2l0aW9uID09IE1lZGlhUGxheWVyOjppbnZhbGlk
VGltZSgpKSB7CiAgICAgICAgIC8vIFNvbWUgY2xvY2tzIG1heSByZXR1cm4gdGltZXMgb3V0c2lk
ZSB0aGUgcmFuZ2Ugb2YgWzAuLmR1cmF0aW9uXS4KICAgICAgICAgbV9wb3NpdGlvbiA9IHN0ZDo6
bWF4PGRvdWJsZT4oMCwgc3RkOjptaW4oZHVyYXRpb24oKSwgbV9jbG9jay0+Y3VycmVudFRpbWUo
KSkpOwotICAgICAgICBtX2NsZWFyUG9zaXRpb25UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
ICAgIG1fY2xlYXJQb3NpdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAg
IHJldHVybiBtX3Bvc2l0aW9uOwpAQCAtNTM3LDcgKzUzNiw3IEBAIHZvaWQgTWVkaWFDb250cm9s
bGVyOjpzY2hlZHVsZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnROYW1lKQogewogICAg
IG1fcGVuZGluZ0V2ZW50cy5hcHBlbmQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIGZhbHNlLCB0
cnVlKSk7CiAgICAgaWYgKCFtX2FzeW5jRXZlbnRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBt
X2FzeW5jRXZlbnRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fYXN5bmNFdmVudFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhQ29udHJvbGxlcjo6YXN5bmNF
dmVudFRpbWVyRmlyZWQoKQpAQCAtNjYzLDcgKzY2Miw3IEBAIHZvaWQgTWVkaWFDb250cm9sbGVy
OjpyZXR1cm5Ub1JlYWx0aW1lKCkKIAogLy8gVGhlIHNwZWMgc2F5cyB0byBmaXJlIHBlcmlvZGlj
IHRpbWV1cGRhdGUgZXZlbnRzICh0aG9zZSBzZW50IHdoaWxlIHBsYXlpbmcpIGV2ZXJ5CiAvLyAi
MTUgdG8gMjUwbXMiLCB3ZSBjaG9vc2UgdGhlIHNsb3dlc3QgZnJlcXVlbmN5Ci1zdGF0aWMgY29u
c3QgZG91YmxlIG1heFRpbWV1cGRhdGVFdmVudEZyZXF1ZW5jeSA9IDAuMjU7CitzdGF0aWMgY29u
c3QgU2Vjb25kcyBtYXhUaW1ldXBkYXRlRXZlbnRGcmVxdWVuY3kgPSAyNTBfbXM7CiAKIHZvaWQg
TWVkaWFDb250cm9sbGVyOjpzdGFydFRpbWV1cGRhdGVUaW1lcigpCiB7CkBAIC02NzUsOCArNjc0
LDggQEAgdm9pZCBNZWRpYUNvbnRyb2xsZXI6OnN0YXJ0VGltZXVwZGF0ZVRpbWVyKCkKIAogdm9p
ZCBNZWRpYUNvbnRyb2xsZXI6OnNjaGVkdWxlVGltZXVwZGF0ZUV2ZW50KCkKIHsKLSAgICBkb3Vi
bGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgZG91YmxlIHRpbWVk
ZWx0YSA9IG5vdyAtIG1fcHJldmlvdXNUaW1ldXBkYXRlVGltZTsKKyAgICBhdXRvIG5vdyA9IE1v
bm90b25pY1RpbWU6Om5vdygpOworICAgIGF1dG8gdGltZWRlbHRhID0gbm93IC0gbV9wcmV2aW91
c1RpbWV1cGRhdGVUaW1lOwogCiAgICAgaWYgKHRpbWVkZWx0YSA8IG1heFRpbWV1cGRhdGVFdmVu
dEZyZXF1ZW5jeSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9s
bGVyLmgKaW5kZXggMTc4ZmE3NDJkZjgzYTNmMjMyMDYzNWUzODM4NDAzMTc2M2I1YjNkMi4uYTkx
OTI0ODE3YzUxNGViYzgwMGZjYzgwY2E1ZDAzZWM3YThhNjBiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhQ29udHJvbGxlci5oCkBAIC0xNDUsNyArMTQ1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8Q2xvY2s+IG1fY2xvY2s7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFRpbWVyIG1fdGltZXVwZGF0ZVRpbWVyOwot
ICAgIGRvdWJsZSBtX3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X3ByZXZpb3VzVGltZXVwZGF0ZVRpbWU7CiAgICAgYm9vbCBtX3Jlc2V0Q3VycmVudFRpbWVJbk5l
eHRQbGF5IHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRG9jdW1lbnQuY3Bw
CmluZGV4IDc4NTM4NjMyY2FhNWIzMzA0YWVlMzIxYzc4YWM1MWYxYjdmNjBmZmUuLmNkNjZkMjg0
MDU4MmZiNDI0NTE0OGUyZmM5ZTU2MjY4NTViMGZlZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YURvY3VtZW50LmNwcApAQCAtMjI5LDcgKzIyOSw3IEBAIHZvaWQgTWVkaWFEb2N1bWVudDo6bWVk
aWFFbGVtZW50U2F3VW5zdXBwb3J0ZWRUcmFja3MoKQogICAgIC8vIGFuZCBsZXQgdGhlIHBsdWdp
biBoYW5kbGUgdGhpcy4gRG9uJ3QgZG8gaXQgaW1tZWRpYXRlbHkgYXMgdGhpcyAKICAgICAvLyBm
dW5jdGlvbiBtYXkgYmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gYSBtZWRpYSBlbmdpbmUgY2FsbGJh
Y2ssIGFuZCAKICAgICAvLyByZXBsYWNlQ2hpbGQgd2lsbCBkZXN0cm95IHRoZSBlbGVtZW50LCBt
ZWRpYSBwbGF5ZXIsIGFuZCBtZWRpYSBlbmdpbmUuCi0gICAgbV9yZXBsYWNlTWVkaWFFbGVtZW50
VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fcmVwbGFjZU1lZGlhRWxlbWVudFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhRG9jdW1lbnQ6OnJlcGxhY2VNZWRpYUVs
ZW1lbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCmluZGV4IDVjYjczYmJjMjVmMzA0MDEzNzA0NDczMWZiNTVlM2ZmOGUyZmNkYTMuLjNk
MjU4YjYyNjM1YTAzYjE5NThjNGM4Zjc4YTJmNGExY2U5MzI5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTcsNyArNTcsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgZWxlbWVudE1haW5Db250ZW50
Q2hlY2tJbnRlcnZhbCA9IC4yNTA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBlbGVtZW50TWFpbkNv
bnRlbnRDaGVja0ludGVydmFsID0gMjUwX21zOwogCiBzdGF0aWMgYm9vbCBpc0VsZW1lbnRSZWN0
TW9zdGx5SW5NYWluRnJhbWUoY29uc3QgSFRNTE1lZGlhRWxlbWVudCYpOwogc3RhdGljIGJvb2wg
aXNFbGVtZW50TGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudChjb25zdCBIVE1MTWVkaWFFbGVtZW50
JiwgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlKTsKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2
b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlk
Q2hhbmdlKGJvb2wgaGFzVGFyZ2V0cwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Np
b246OmV4dGVybmFsT3V0cHV0RGV2aWNlQXZhaWxhYmxlRGlkQ2hhbmdlKCVwKSAtIGhhc1Rhcmdl
dHMgJXMiLCB0aGlzLCBoYXNUYXJnZXRzID8gIlRSVUUiIDogIkZBTFNFIik7CiAKICAgICBtX2hh
c1BsYXliYWNrVGFyZ2V0cyA9IGhhc1RhcmdldHM7Ci0gICAgbV90YXJnZXRBdmFpbGFiaWxpdHlD
aGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdGFyZ2V0QXZhaWxhYmlsaXR5Q2hh
bmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmNhblBsYXlUb1dpcmVsZXNzUGxheWJhY2tUYXJnZXQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCmluZGV4IGY1ZDJiYjk1NTMyOTA3MTk4MjY2NmRiNzU4
ZWVjMmJjNzY2ZDUwYTcuLjg5ZDk1ODliZmI0MTZmOTBjNzdiODc5ZTVmZDc5OThkZTIyYmJmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKQEAgLTE2NSw3ICsxNjUs
NyBAQCB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RhcnRTZWFyY2hFdmVudFRpbWVyKCkKIAogICAg
IC8vIEFmdGVyIHR5cGluZyB0aGUgZmlyc3Qga2V5LCB3ZSB3YWl0IDAuNSBzZWNvbmRzLgogICAg
IC8vIEFmdGVyIHRoZSBzZWNvbmQga2V5LCAwLjQgc2Vjb25kcywgdGhlbiAwLjMsIHRoZW4gMC4y
IGZyb20gdGhlbiBvbi4KLSAgICBtX3NlYXJjaEV2ZW50VGltZXIuc3RhcnRPbmVTaG90KHN0ZDo6
bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSk7CisgICAgbV9zZWFyY2hFdmVudFRpbWVyLnN0
YXJ0T25lU2hvdChTZWNvbmRzKHN0ZDo6bWF4KDAuMiwgMC42IC0gMC4xICogbGVuZ3RoKSkpOwog
fQogCiB2b2lkIFNlYXJjaElucHV0VHlwZTo6c3RvcFNlYXJjaEV2ZW50VGltZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA5ZDVkY2FjZmJlYzFlMzBj
YmY4NzAxMTFjNGU0MjUyMTFmOWNhYWU0Li5iN2JmNWUxYmFiMmE2ZDVkN2FmMzA5MjA4Y2I0Yjdi
ODI3N2EyMDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNz
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApA
QCAtMTE3LDcgKzExNyw3IEBAIHZvaWQgVmFsaWRhdGlvbk1lc3NhZ2U6OnNldE1lc3NhZ2UoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogICAgICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxU
aW1lcj4oKnRoaXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6YnVpbGRCdWJibGVUcmVlKTsKICAgICBl
bHNlCiAgICAgICAgIG1fdGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJlZh
bGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcik7Ci0gICAgbV90aW1l
ci0+c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFZhbGlkYXRpb25NZXNzYWdlOjpzZXRNZXNzYWdlRE9NQW5kU3RhcnRUaW1lcigpCkBA
IC0xNDQsNyArMTQ0LDcgQEAgdm9pZCBWYWxpZGF0aW9uTWVzc2FnZTo6c2V0TWVzc2FnZURPTUFu
ZFN0YXJ0VGltZXIoKQogICAgICAgICBtX3RpbWVyID0gbnVsbHB0cjsKICAgICBlbHNlIHsKICAg
ICAgICAgbV90aW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KCp0aGlzLCAmVmFsaWRhdGlv
bk1lc3NhZ2U6OmRlbGV0ZUJ1YmJsZVRyZWUpOwotICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoNS4wLCBzdGF0aWNfY2FzdDxkb3VibGU+KG1fbWVzc2FnZS5sZW5ndGgoKSkg
KiBtYWduaWZpY2F0aW9uIC8gMTAwMCkpOworICAgICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
c3RkOjptYXgoNV9zLCBTZWNvbmRzKG1fbWVzc2FnZS5sZW5ndGgoKSkgKiBtYWduaWZpY2F0aW9u
IC8gMTAwMC4wKSk7CiAgICAgfQogfQogCkBAIC0yMjgsNyArMjI4LDcgQEAgdm9pZCBWYWxpZGF0
aW9uTWVzc2FnZTo6cmVxdWVzdFRvSGlkZU1lc3NhZ2UoKQogCiAgICAgLy8gV2UgbXVzdCBub3Qg
bW9kaWZ5IHRoZSBET00gdHJlZSBpbiB0aGlzIGNvbnRleHQgYnkgdGhlIHNhbWUgcmVhc29uIGFz
IHNldE1lc3NhZ2UoKS4KICAgICBtX3RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oKnRo
aXMsICZWYWxpZGF0aW9uTWVzc2FnZTo6ZGVsZXRlQnViYmxlVHJlZSk7Ci0gICAgbV90aW1lci0+
c3RhcnRPbmVTaG90KDApOworICAgIG1fdGltZXItPnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBi
b29sIFZhbGlkYXRpb25NZXNzYWdlOjpzaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSYgbm9k
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMmMwZDgwNzU2MDU1ZTU5Njk3ZDg5MTZhZDM0
OTRhNjI0YTU5YWJmNC4uNjQ4MDMwMGQxMDc5OTNlZjNiMzZlODJiMmQzMTA5MjJhOGM5ZWE5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5jcHAKQEAgLTk4LDcgKzk4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jb25zdCBkb3VibGUgc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMgPSAxLjA7Citj
b25zdCBTZWNvbmRzIHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRzID0gMV9zOwogY29uc3QgaW50
IG1heEdMRXJyb3JzQWxsb3dlZFRvQ29uc29sZSA9IDI1NjsKIAogbmFtZXNwYWNlIHsKQEAgLTQ2
NjYsNyArNDY2Niw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUNvbnRl
eHRJbXBsKFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Okxvc3RDCiAKICAgICAvLyBBbHdheXMg
ZGVmZXIgdGhlIGRpc3BhdGNoIG9mIHRoZSBjb250ZXh0IGxvc3QgZXZlbnQsIHRvIGltcGxlbWVu
dAogICAgIC8vIHRoZSBzcGVjIGJlaGF2aW9yIG9mIHF1ZXVlaW5nIGEgdGFzay4KLSAgICBtX2Rp
c3BhdGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3Bh
dGNoQ29udGV4dExvc3RFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZvcmNlUmVzdG9yZUNvbnRleHQoKQpAQCAtNDY4Myw3
ICs0NjgzLDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpmb3JjZVJlc3RvcmVD
b250ZXh0KCkKICAgICB9CiAKICAgICBpZiAoIW1fcmVzdG9yZVRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fcmVzdG9yZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXN0b3Jl
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApAQCAtNTYxNCw3ICs1NjE0LDcg
QEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkaXNwYXRjaENvbnRleHRMb3N0RXZl
bnQoKQogICAgIGNhbnZhcygpLmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIG1fcmVzdG9yZUFs
bG93ZWQgPSBldmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwogICAgIGlmIChtX2NvbnRleHRMb3N0
TW9kZSA9PSBSZWFsTG9zdENvbnRleHQgJiYgbV9yZXN0b3JlQWxsb3dlZCkKLSAgICAgICAgbV9y
ZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXli
ZVJlc3RvcmVDb250ZXh0KCkKQEAgLTU2NzksNyArNTY3OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6bWF5YmVSZXN0b3JlQ29udGV4dCgpCiAgICAgUmVmUHRyPEdyYXBoaWNz
Q29udGV4dDNEPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUobV9hdHRyaWJ1dGVz
LCBob3N0V2luZG93KSk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRl
eHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCi0gICAgICAgICAgICBtX3Jlc3RvcmVUaW1l
ci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOworICAgICAgICAg
ICAgbV9yZXN0b3JlVGltZXIuc3RhcnRPbmVTaG90KHRpbWVCZXR3ZWVuUmVzdG9yZUF0dGVtcHRz
KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLy8gVGhpcyBsaWtlbHkgc2hvdWxkbid0IGhh
cHBlbiBidXQgaXMgdGhlIGJlc3Qgd2F5IHRvIHJlcG9ydCBpdCB0byB0aGUgV2ViR0wgYXBwLgog
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURf
T1BFUkFUSU9OLCAiIiwgImVycm9yIHJlc3RvcmluZyBjb250ZXh0Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCmluZGV4IDI4MzM3
ZDg2ZDUzZjg5ZGVhNTM5OGJmNjNjNmZiOGMxMTM1ZDM2MWQuLmU2YzM4MmY0NDU4NTJlYTAyN2E5
MTI2ZjYzOTMxNjk5YjNhMmIyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBIVE1M
UGFyc2VyU2NoZWR1bGVyOjpjb250aW51ZU5leHRDaHVua1RpbWVyRmlyZWQoKQogICAgIC8vIEZJ
WE1FOiBUaGUgdGltZXIgY2xhc3Mgc2hvdWxkIGhhbmRsZSB0aW1lciBwcmlvcml0aWVzIGluc3Rl
YWQgb2YgdGhpcyBjb2RlLgogICAgIC8vIElmIGEgbGF5b3V0IGlzIHNjaGVkdWxlZCwgd2FpdCBh
Z2FpbiB0byBsZXQgdGhlIGxheW91dCB0aW1lciBydW4gZmlyc3QuCiAgICAgaWYgKG1fcGFyc2Vy
LmRvY3VtZW50KCktPmlzTGF5b3V0VGltZXJBY3RpdmUoKSkgewotICAgICAgICBtX2NvbnRpbnVl
TmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2NvbnRpbnVlTmV4dENo
dW5rVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
bV9wYXJzZXIucmVzdW1lUGFyc2luZ0FmdGVyWWllbGQoKTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBi
b29sIEhUTUxQYXJzZXJTY2hlZHVsZXI6OnNob3VsZFlpZWxkQmVmb3JlRXhlY3V0aW5nU2NyaXB0
KFB1bXBTZXNzaW9uJiBzZXNzaW9uKQogdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpzY2hlZHVs
ZUZvclJlc3VtZSgpCiB7CiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7Ci0gICAgbV9jb250aW51
ZU5leHRDaHVua1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2NvbnRpbnVlTmV4dENodW5r
VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgSFRNTFBhcnNlclNjaGVkdWxlcjo6
c3VzcGVuZCgpCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBIVE1MUGFyc2VyU2NoZWR1bGVyOjpy
ZXN1bWUoKQogICAgIGlmICghbV9pc1N1c3BlbmRlZFdpdGhBY3RpdmVUaW1lcikKICAgICAgICAg
cmV0dXJuOwogICAgIG1faXNTdXNwZW5kZWRXaXRoQWN0aXZlVGltZXIgPSBmYWxzZTsKLSAgICBt
X2NvbnRpbnVlTmV4dENodW5rVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fY29udGludWVO
ZXh0Q2h1bmtUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCmluZGV4IDE1ZWEx
ZjA4YzMwNjNjNjEzNDIwZGJlMTU2NjY1YTgxODNiZWM1NDUuLjVlMjllNjdkY2ZiZmIyMGJjMjNi
ZjUwNDkxZjViNzg5ZWRiZTA0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIE1l
ZGlhQ29udHJvbFBhbmVsRWxlbWVudDo6c3RhcnRUaW1lcigpCiAgICAgLy8gVGhlIHRpbWVyIGlz
IHJlcXVpcmVkIHRvIHNldCB0aGUgcHJvcGVydHkgZGlzcGxheTonbm9uZScgb24gdGhlIHBhbmVs
LAogICAgIC8vIHN1Y2ggdGhhdCBjYXB0aW9ucyBhcmUgY29ycmVjdGx5IGRpc3BsYXllZCBhdCB0
aGUgYm90dG9tIG9mIHRoZSB2aWRlbwogICAgIC8vIGF0IHRoZSBlbmQgb2YgdGhlIGZhZGVvdXQg
dHJhbnNpdGlvbi4KLSAgICBkb3VibGUgZHVyYXRpb24gPSBkb2N1bWVudCgpLnBhZ2UoKSA/IGRv
Y3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRlT3V0RHVyYXRpb24oKSA6
IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5w
YWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMF9zOwogICAg
IG1fdHJhbnNpdGlvblRpbWVyLnN0YXJ0T25lU2hvdChkdXJhdGlvbik7CiB9CiAKQEAgLTE4OCwx
MCArMTg4LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50OjptYWtlT3BhcXVlKCkK
ICAgICBpZiAobV9vcGFxdWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlv
biA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1lbnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFD
b250cm9sc0ZhZGVJbkR1cmF0aW9uKCkgOiAwOworICAgIGF1dG8gZHVyYXRpb24gPSBkb2N1bWVu
dCgpLnBhZ2UoKSA/IGRvY3VtZW50KCkucGFnZSgpLT50aGVtZSgpLm1lZGlhQ29udHJvbHNGYWRl
SW5EdXJhdGlvbigpIDogMF9zOwogCiAgICAgc2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVRyYW5zaXRpb25Qcm9wZXJ0eSwgQ1NTUHJvcGVydHlPcGFjaXR5KTsKLSAgICBzZXRJbmxp
bmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbiwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TKTsKKyAgICBzZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uLCBkdXJhdGlvbi52YWx1ZSgpLCBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1MpOwogICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlP
cGFjaXR5LCAxLjAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIAogICAgIG1fb3Bh
cXVlID0gdHJ1ZTsKQEAgLTIwNSwxMCArMjA1LDEwIEBAIHZvaWQgTWVkaWFDb250cm9sUGFuZWxF
bGVtZW50OjptYWtlVHJhbnNwYXJlbnQoKQogICAgIGlmICghbV9vcGFxdWUpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGRvdWJsZSBkdXJhdGlvbiA9IGRvY3VtZW50KCkucGFnZSgpID8gZG9jdW1l
bnQoKS5wYWdlKCktPnRoZW1lKCkubWVkaWFDb250cm9sc0ZhZGVPdXREdXJhdGlvbigpIDogMDsK
KyAgICBhdXRvIGR1cmF0aW9uID0gZG9jdW1lbnQoKS5wYWdlKCkgPyBkb2N1bWVudCgpLnBhZ2Uo
KS0+dGhlbWUoKS5tZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgOiAwX3M7CiAKICAgICBz
ZXRJbmxpbmVTdHlsZVByb3BlcnR5KENTU1Byb3BlcnR5VHJhbnNpdGlvblByb3BlcnR5LCBDU1NQ
cm9wZXJ0eU9wYWNpdHkpOwotICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlU
cmFuc2l0aW9uRHVyYXRpb24sIGR1cmF0aW9uLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1MpOwor
ICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlUcmFuc2l0aW9uRHVyYXRpb24s
IGR1cmF0aW9uLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUyk7CiAgICAgc2V0SW5s
aW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eU9wYWNpdHksIDAuMCwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19OVU1CRVIpOwogCiAgICAgbV9vcGFxdWUgPSBmYWxzZTsKQEAgLTEzMzYsNyArMTMz
Niw3IEBAIHZvaWQgTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6dXBkYXRl
U2l6ZXMoYm9vbCBmb3JjZVVwZGF0ZSkKICAgICBtX3VwZGF0ZVRleHRUcmFja1JlcHJlc2VudGF0
aW9uU3R5bGUgPSB0cnVlOwogCiAgICAgLy8gRklYTUUgKDEyMTE3MCk6IFRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGR1cmluZyBsYXlvdXQsIGFuZCBzaG91bGQgbGF5IG91dCB0aGUgdGV4dCB0cmFj
a3MgaW1tZWRpYXRlbHkuCi0gICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV91cGRhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogUmVmUHRyPEltYWdlPiBNZWRp
YUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50OjpjcmVhdGVUZXh0VHJhY2tSZXByZXNl
bnRhdGlvbkltYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9h
ZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5jcHAKaW5kZXggMjEwZjZhOWRmNWFjNzcxNzVhOTgxMmFjMDUxMDQyMjMyYTM0MGYz
My4uODBmYmIzNWIwMWVlNzgyNTc1NTlhYTcxZWI3MzZhNWIxYjllODU2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKQEAgLTU4LDcgKzU4
LDcgQEAgdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYgdXJs
KQogICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGls
ZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKICAgICAvLyB3YXMgcmVzcG9uc2libGUg
Zm9yIGNyZWF0aW5nIHRoZSB0ZXh0IHRyYWNrIG9yIGNoYW5naW5nIHRoZSB0ZXh0IHRyYWNrIG1v
ZGUuCiAgICAgaWYgKCFtX2xvYWRUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2xvYWRUaW1l
ci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1ZUVFJlZ2lvbi5jcHAKaW5kZXggMDU3OGJmOTEyNjdjYjU1MGFmMDJkYjdl
MjIzZGQ0MzZjMDdkNTFiNi4uNjY2Njk0NzVhMGJlY2UyNzcwODIxZDEzNmJhODAxOTdlNzc3Mzc3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9WVFRSZWdpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVlRUUmVnaW9uLmNwcApAQCAtNTYsNyArNTYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgZmxvYXQgbGluZUhlaWdodCA9
IDUuMzM7CiAKIC8vIERlZmF1bHQgc2Nyb2xsaW5nIGFuaW1hdGlvbiB0aW1lIHBlcmlvZCAocyku
Ci1zdGF0aWMgY29uc3QgZmxvYXQgc2Nyb2xsVGltZSA9IDAuNDMzOworc3RhdGljIGNvbnN0IFNl
Y29uZHMgc2Nyb2xsVGltZSA9IDQzM19tczsKIAogVlRUUmVnaW9uOjpWVFRSZWdpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IENvbnRleHREZXN0cnVjdGlvbk9ic2Vy
dmVyKCZjb250ZXh0KQpAQCAtNDAzLDcgKzQwMyw3IEBAIHZvaWQgVlRUUmVnaW9uOjpzdGFydFRp
bWVyKCkKICAgICBpZiAobV9zY3JvbGxUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBkb3VibGUgZHVyYXRpb24gPSBpc1Njcm9sbGluZ1JlZ2lvbigpID8gc2Nyb2xsVGlt
ZSA6IDA7CisgICAgYXV0byBkdXJhdGlvbiA9IGlzU2Nyb2xsaW5nUmVnaW9uKCkgPyBzY3JvbGxU
aW1lIDogMF9zOwogICAgIG1fc2Nyb2xsVGltZXIuc3RhcnRPbmVTaG90KGR1cmF0aW9uKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5k
ZXggM2Q1NDIyMWM1ZGM4OTNjZGQ5NTcxZGMzZjNiMWZlNjg3YmIwODYzMy4uNmI1NmMxOGYyYWRl
ZjI3NzFlY2RlMDlmN2Y0NzA3ZTdkMTBjOTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBDaGFu
Z2VSZWdpb25PdmVyc2V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZs
b3csIGludCBkb2N1bWUKICAgICBtX25hbWVkRmxvd3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnRO
b2RlSWQpOwogCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIENoYW5nZVJlZ2lvbk92ZXJzZXRUYXNrOjp1bnNjaGVkdWxlKFdlYktpdE5hbWVkRmxv
dyogbmFtZWRGbG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHAKaW5kZXggODNhMDI0YmNkZGQyMTMwOTc4NzU5ODcyMjQxMjcxZTBhOGZiM2YwZi4u
OTEyNzI2MmFlODhhY2NiYjRlNGVlMWY4NjE3ZDlkMzJmNDFlOGNkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcg
QEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpzY2hlZHVsZUZvcihFbGVtZW50
KiBlbGVtZW50KQogewogICAgIG1fZWxlbWVudHMuYWRkKGVsZW1lbnQpOwogICAgIGlmICghbV90
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZXZhbGlkYXRlU3R5bGVB
dHRyaWJ1dGVUYXNrOjp0aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAppbmRleCA4YTM1YTE3
OWViOGJmNTliNGJjMDk4ZGM2ZWRjOTBjZGUwZGEwNTkzLi41MThhYWRmN2QxMjI2OGE0N2Y4ZjJi
NTMwOWZjM2Y1NDFhZTg1MzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwCkBAIC04MCw3ICs4MCw3IEBA
IHB1YmxpYzoKIAogICAgICAgICBtX21lc3NhZ2VzLmFwcGVuZChtZXNzYWdlKTsKICAgICAgICAg
aWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgfQogCiAg
ICAgdm9pZCByZXNldCgpCkBAIC0xMDIsNyArMTAyLDcgQEAgcHVibGljOgogICAgICAgICAgICAg
bV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlci0+ZGlzcGF0Y2hNZXNzYWdlRnJvbUZyb250ZW5kKG1f
bWVzc2FnZXMudGFrZUZpcnN0KCkpOwogCiAgICAgICAgIGlmICghbV9tZXNzYWdlcy5pc0VtcHR5
KCkgJiYgbV9pbnNwZWN0ZWRQYWdlQ29udHJvbGxlcikKLSAgICAgICAgICAgIG1fdGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zl
cmxheS5jcHAKaW5kZXggNWZjYTMxMGQwMGFjMjFkYzdiNjFiZTBhOWZlMDU1YzhiN2Y3YWFkOC4u
MTg2ZTcwMGJkYTJlYjI4NjBlMTUzNDJjNDU2NDEyNTBkNTVkMGU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtNTA5LDggKzUwOSw4IEBA
IHZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6c2hvd1BhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHJl
Y3QpCiAgICAgbV9wYWludFJlY3RzLmFwcGVuZChUaW1lUmVjdFBhaXIocmVtb3ZlVGltZSwgcm9v
dFJlY3QpKTsKIAogICAgIGlmICghbV9wYWludFJlY3RVcGRhdGVUaW1lci5pc0FjdGl2ZSgpKSB7
Ci0gICAgICAgIGNvbnN0IGRvdWJsZSBwYWludFJlY3RzVXBkYXRlSW50ZXJ2YWxTZWNvbmRzID0g
MC4wMzI7Ci0gICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGltZXIuc3RhcnRSZXBlYXRpbmcocGFp
bnRSZWN0c1VwZGF0ZUludGVydmFsU2Vjb25kcyk7CisgICAgICAgIGNvbnN0IGF1dG8gcGFpbnRS
ZWN0c1VwZGF0ZUludGVydmFsID0gMzJfbXM7CisgICAgICAgIG1fcGFpbnRSZWN0VXBkYXRlVGlt
ZXIuc3RhcnRSZXBlYXRpbmcocGFpbnRSZWN0c1VwZGF0ZUludGVydmFsKTsKICAgICB9CiAKICAg
ICBkcmF3UGFpbnRSZWN0cygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlcGxheUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXBsYXlBZ2VudC5jcHAKaW5kZXggM2FhYTUyYTZiOGFhNjJmM2RjNzhkMTI0YWRjZTE4
YWVkMDc5N2Y5Ny4uNzkwZGExNzNhM2U1MGI2NDUyYWExMGM1YzU4OTRlMjgwMjEzNTg2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlcGxheUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVwbGF5QWdlbnQuY3Bw
CkBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBs
YXk6OlNlc3Npb25TZWdtZW50PiBidWlsZEluc3BlY3Rvck9iamVjdEZvclMKIAogICAgIHJldHVy
biBJbnNwZWN0b3I6OlByb3RvY29sOjpSZXBsYXk6OlNlc3Npb25TZWdtZW50OjpjcmVhdGUoKQog
ICAgICAgICAuc2V0SWQoc2VnbWVudC0+aWRlbnRpZmllcigpKQotICAgICAgICAuc2V0VGltZXN0
YW1wKHNlZ21lbnQtPnRpbWVzdGFtcCgpKQorICAgICAgICAuc2V0VGltZXN0YW1wKHNlZ21lbnQt
PnRpbWVzdGFtcCgpLnNlY29uZHNTaW5jZUVwb2NoKCkudmFsdWUoKSkKICAgICAgICAgLnNldFF1
ZXVlcyhXVEZNb3ZlKHF1ZXVlc09iamVjdCkpCiAgICAgICAgIC5yZWxlYXNlKCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCAyZDNjZDk1MGUzMTg0Mzkz
N2I4YjcwNWQzMTc1NGIzOGFhMzNiODU5Li45MGNlZTYyNjZhYWFjOTE2YzZiMjllYzQ2YTlmMTQ2
ZDE2ZDY2NGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTQ4OSw3ICs0ODksNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0
YUxvYWROb3coKQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydERhdGFMb2FkVGltZXIoKQog
ewotICAgIG1fZGF0YUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kYXRhTG9hZFRp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAjaWYgSEFWRShSVU5MT09QX1RJTUVSKQogICAgIGlm
IChTY2hlZHVsZVBhaXJIYXNoU2V0KiBzY2hlZHVsZWRQYWlycyA9IG1fZnJhbWUtPnBhZ2UoKS0+
c2NoZWR1bGVkUnVuTG9vcFBhaXJzKCkpCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpkZWxpdmVyU3Vic3RpdHV0ZVJlc291cmNlc0FmdGVyRGVsYXkoKQogICAgIGlm
IChtX2ZyYW1lLT5wYWdlKCktPmRlZmVyc0xvYWRpbmcoKSkKICAgICAgICAgcmV0dXJuOwogICAg
IGlmICghbV9zdWJzdGl0dXRlUmVzb3VyY2VEZWxpdmVyeVRpbWVyLmlzQWN0aXZlKCkpCi0gICAg
ICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGJkNTU0
Mzc3YjE2NDUyNGE0NmYwMDExYjYyOTNkNmMxODg5NTFlYzYuLmIzZjY0M2FhZjFlZjNkMjc0ZTQ3
YTNjMGI2NjBiMWRhNjM0YjRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cApAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0Q2hlY2tDb21wbGV0
ZVRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX2NoZWNrVGltZXIuaXNBY3RpdmUo
KSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2hlY2tUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9jaGVja1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVy
OjpzY2hlZHVsZUNoZWNrQ29tcGxldGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE1M2FmMTFiYjlmOTNiYTJhODEyM2RiMWE4MTBmMzg4Nzk5NmZkYzUuLjc3OWJm
NzUxYjQyZWFiOTUxNDk5ZTgzMjVmZDA5ZDUzZDE5OTUxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgSW1hZ2VMb2FkZXI6OnVw
ZGF0ZWRIYXNQZW5kaW5nRXZlbnQoKQogICAgICAgICAgICAgbV9wcm90ZWN0ZWRFbGVtZW50ID0g
JmVsZW1lbnQoKTsKICAgICB9IGVsc2UgewogICAgICAgICBBU1NFUlQoIW1fZGVyZWZFbGVtZW50
VGltZXIuaXNBY3RpdmUoKSk7Ci0gICAgICAgIG1fZGVyZWZFbGVtZW50VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX2RlcmVmRWxlbWVudFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
ICAgIH0gICAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCmluZGV4IDdlZmZhZDdmYTFjNWFhMzQ0NmVhYzAwMjk2MThmMTJiYjU3NWI0ZTUuLjJi
ZDlkOTM1YTdkNDJlZGVlZWIyYWYzZmYzMjIyNzM2MGZjYzQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIG1faGF2ZVRvbGRDbGllbnQgPSB0cnVlOwogCiAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3IodXNlckdlc3R1cmVUb0ZvcndhcmQo
KSk7Ci0gICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91cmwsIGRlbGF5
KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCksIGxvY2tCYWNrRm9y
d2FyZExpc3QoKSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudFJlZGlyZWN0ZWQobV91
cmwsIGRlbGF5KCksIGN1cnJlbnRUaW1lKCkgKyB0aW1lci5uZXh0RmlyZUludGVydmFsKCkudmFs
dWUoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKICAgICB9CiAKICAgICB2b2lkIGRpZFN0b3BU
aW1lcihGcmFtZSYgZnJhbWUsIGJvb2wgbmV3TG9hZEluUHJvZ3Jlc3MpIG92ZXJyaWRlCkBAIC0y
NzUsNyArMjc1LDcgQEAgcHVibGljOgogICAgICAgICBtX2hhdmVUb2xkQ2xpZW50ID0gdHJ1ZTsK
IAogICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0
dXJlVG9Gb3J3YXJkKCkpOwotICAgICAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVk
KG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGlt
ZXIubmV4dEZpcmVJbnRlcnZhbCgpLCBsb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jbGllbnRSZWRpcmVjdGVkKG1fc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgp
LCBkZWxheSgpLCBjdXJyZW50VGltZSgpICsgdGltZXIubmV4dEZpcmVJbnRlcnZhbCgpLnZhbHVl
KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSk7CiAgICAgfQogCiAgICAgdm9pZCBkaWRTdG9wVGlt
ZXIoRnJhbWUmIGZyYW1lLCBib29sIG5ld0xvYWRJblByb2dyZXNzKSBvdmVycmlkZQpAQCAtNTM5
LDcgKzUzOSw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c3RhcnRUaW1lcigpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGRvdWJsZSBkZWxheSA9IG1fcmVkaXJlY3QtPmRlbGF5KCk7Ci0g
ICAgbV90aW1lci5zdGFydE9uZVNob3QoZGVsYXkpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90
KFNlY29uZHMoZGVsYXkpKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyYW1lU2No
ZWR1bGVkTmF2aWdhdGlvbihtX2ZyYW1lLCBkZWxheSk7CiAgICAgbV9yZWRpcmVjdC0+ZGlkU3Rh
cnRUaW1lcihtX2ZyYW1lLCBtX3RpbWVyKTsgLy8gbV9yZWRpcmVjdCBtYXkgYmUgbnVsbCBvbiBy
ZXR1cm4gKGUuZy4gdGhlIGNsaWVudCBjYW5jZWxlZCB0aGUgbG9hZCkKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggZmUwYzcyMjllNmVhYjY1ZjU2ZTI0
ZGRhYzFiYmQ0ZDU5MDQ3YjE1ZS4uN2VhZmQzMDU2Yzk3NGIwMzk3ODZhZWNlNjI5ODU0ODJmZDg1
NGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUy
LDcgKzUyLDcgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7
IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNz
SXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKIC8vIENoZWNrIGlmIHRo
ZSBsb2FkIGlzIHByb2dyZXNzaW5nIHRoaXMgb2Z0ZW4uCi1zdGF0aWMgY29uc3QgZG91YmxlIHBy
b2dyZXNzSGVhcnRiZWF0SW50ZXJ2YWwgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsID0gMC4xX3M7CiAKIC8vIEhvdyBtYW55IGhlYXJ0YmVhdHMg
bXVzdCBwYXNzIHdpdGhvdXQgcHJvZ3Jlc3MgYmVmb3JlIGRlY2lkaW5nIHRoZSBsb2FkIGlzIGN1
cnJlbnRseSBzdGFsbGVkLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvYWRTdGFsbGVkSGVhcnRi
ZWF0Q291bnQgPSA0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRUcmFj
a0xvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcApp
bmRleCA5NmU5MGI1ZmQyMmQ1MThjMTUzYjlmODMwNGE5ZGUwZDNlODliYjg4Li5iMjY2YzMzMTNi
MmE0OGI2MzFiNzgzZTA2MTkyMTFiNzFmNTVlNmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFRyYWNrTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFRyYWNrTG9hZGVyLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQgVGV4dFRyYWNrTG9h
ZGVyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiAgICAgICAgIG1f
Y3VlUGFyc2VyLT5mbHVzaCgpOwogCiAgICAgaWYgKCFtX2N1ZUxvYWRUaW1lci5pc0FjdGl2ZSgp
KQotICAgICAgICBtX2N1ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fY3Vl
TG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgY2FuY2VsTG9hZCgpOwogfQpAQCAt
MTcyLDcgKzE3Miw3IEBAIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdDdWVzUGFyc2VkKCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbV9uZXdDdWVzQXZhaWxhYmxlID0gdHJ1ZTsKLSAgICBtX2N1
ZUxvYWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgVGV4dFRyYWNrTG9hZGVyOjpuZXdSZWdpb25zUGFyc2VkKCkK
QEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkIFRleHRUcmFja0xvYWRlcjo6ZmlsZUZhaWxlZFRvUGFy
c2UoKQogICAgIG1fc3RhdGUgPSBGYWlsZWQ7CiAKICAgICBpZiAoIW1fY3VlTG9hZFRpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fY3VlTG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV9jdWVMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBjYW5jZWxMb2FkKCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDM3YWM3NWRiZjUwMWM0OGI2NmQwNWJlNDU5NTNhNTYx
N2NmOTJlMTAuLjQxZmU5ODM2Y2E2NjI2NmVmZWEzMjU2YjIzMzRiZjFkYTMwOTAxYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3Jv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCkBAIC0xMDcwLDcgKzEwNzAsNyBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cDo6c2NoZWR1bGVSZWFjaGVkTWF4QXBwQ2FjaGVTaXplQ2FsbGJhY2soKQogewogICAgIEFT
U0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lciogdGlt
ZXIgPSBuZXcgQ2hyb21lQ2xpZW50Q2FsbGJhY2tUaW1lcih0aGlzKTsKLSAgICB0aW1lci0+c3Rh
cnRPbmVTaG90KDApOworICAgIHRpbWVyLT5zdGFydE9uZVNob3QoMF9zKTsKICAgICAvLyBUaGUg
dGltZXIgd2lsbCBkZWxldGUgaXRzZWxmIG9uY2UgaXQgZmlyZXMuCiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IGY2ODBjYzRmOTVk
MmVmNjQ3NDQ4ZDU1OWM5ZWM4OWY0OTNhMDlhOTkuLjY2YTlmOGYxZmM0YmFkZTNkYmYwZDUxZmFk
NzdjY2JjMjZhNjNhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcApAQCAtMTAzLDEwICsxMDMsMTAgQEAgUmVzb3VyY2VMb2FkUHJpb3JpdHkg
Q2FjaGVkUmVzb3VyY2U6OmRlZmF1bHRQcmlvcml0eUZvclJlc291cmNlVHlwZShUeXBlIHR5cGUp
CiAgICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5OjpMb3c7CiB9CiAKLXN0YXRpYyBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JS
ZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSkKK3N0YXRpYyBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWxGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgdHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0
KQotICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IDAgfTsKKyAgICAg
ICAgcmV0dXJuIDBfczsKIAogICAgIHJldHVybiBNZW1vcnlDYWNoZTo6c2luZ2xldG9uKCkuZGVh
ZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCgpOwogfQpAQCAtNTQyLDcgKzU0Miw3IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2U6OmRlc3Ryb3lEZWNvZGVkRGF0YUlmTmVlZGVkKCkKIHsKICAgICBp
ZiAoIW1fZGVjb2RlZFNpemUpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAoIU1lbW9yeUNhY2hl
OjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkuY291bnQoKSkK
KyAgICBpZiAoIU1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5kZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsKCkpCiAgICAgICAgIHJldHVybjsKICAgICBtX2RlY29kZWREYXRhRGVsZXRpb25U
aW1lci5yZXN0YXJ0KCk7CiB9CkBAIC04MTksNyArODE5LDcgQEAgaW5saW5lIENhY2hlZFJlc291
cmNlOjpDYWxsYmFjazo6Q2FsbGJhY2soQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlLCBDYWNoZWRS
ZXNvdXIKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fdGltZXIoKnRoaXMsICZDYWxs
YmFjazo6dGltZXJGaXJlZCkKIHsKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBt
X3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBpbmxpbmUgdm9pZCBDYWNoZWRSZXNvdXJj
ZTo6Q2FsbGJhY2s6OmNhbmNlbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlMTYzZThiYTc3ZDEzZTc3MjJlOTJm
M2RmMzYxMWZiNzU5MzM1NGFhLi5jNTBkNmQ0NjBmNWIyNDQwZjliMzY2OTNjNjEyYWE5ODZjZTQz
ZTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAKQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmxvYWREb25lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRQZXJm
b3JtCiAgICAgICAgIHBlcmZvcm1Qb3N0TG9hZEFjdGlvbnMoKTsKIAogICAgIGlmICghbV9nYXJi
YWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9n
YXJiYWdlQ29sbGVjdERvY3VtZW50UmVzb3VyY2VzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2dhcmJhZ2VDb2xsZWN0RG9jdW1lbnRSZXNvdXJjZXNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogLy8gR2FyYmFnZSBjb2xsZWN0aW5nIG1fZG9jdW1lbnRSZXNvdXJjZXMgaXMg
YSB3b3JrYXJvdW5kIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCmluZGV4IGQ4ZDMwZGZjNGVlOTEwM2IzNGRmOGExN2JiZDQ3NWRkOGE5ZTgyNzku
LjkxMDA3NDcxMWQyNzE5OTg4YzMzZDI3MTMzMDIzNjgwZDA5MGUwODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgaW50IGNEZWZhdWx0Q2FjaGVDYXBhY2l0eSA9
IDgxOTIgKiAxMDI0Owogc3RhdGljIGNvbnN0IGRvdWJsZSBjTWluRGVsYXlCZWZvcmVMaXZlRGVj
b2RlZFBydW5lID0gMTsgLy8gU2Vjb25kcy4KIHN0YXRpYyBjb25zdCBmbG9hdCBjVGFyZ2V0UHJ1
bmVQZXJjZW50YWdlID0gLjk1ZjsgLy8gUGVyY2VudGFnZSBvZiBjYXBhY2l0eSB0b3dhcmQgd2hp
Y2ggd2UgcHJ1bmUsIHRvIGF2b2lkIGltbWVkaWF0ZWx5IHBydW5pbmcgYWdhaW4uCi1zdGF0aWMg
Y29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJv
bm86OnNlY29uZHMgeyAwIH07CitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0RGVjb2RlZERhdGFE
ZWxldGlvbkludGVydmFsID0gMF9zOwogCiBNZW1vcnlDYWNoZSYgTWVtb3J5Q2FjaGU6OnNpbmds
ZXRvbigpCiB7CkBAIC03NjcsMTEgKzc2NywxMyBAQCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZSgp
CiAKIHZvaWQgTWVtb3J5Q2FjaGU6OnBydW5lU29vbigpCiB7Ci0gICAgIGlmIChtX3BydW5lVGlt
ZXIuaXNBY3RpdmUoKSkKKyAgICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IHJldHVybjsKLSAgICAgaWYgKCFuZWVkc1BydW5pbmcoKSkKLSAgICAgICAgIHJldHVybjsKLSAg
ICAgbV9wcnVuZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKworICAgIGlmICghbmVlZHNQcnVuaW5n
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKaW5kZXggMTgzNmMyYmYxMDA5ZWU3YWVkMjQ5NjMwNTM4ZjI4MmJlNThkMTcwZC4u
NzljMGEyNjlkMDU2ZWY4OTljYTZhY2M0MjViY2Y3MWExMTkyNmIzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTEyNSw4ICsxMjUsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwcnVuZVNvb24oKTsKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9saXZlU2l6ZSArIG1fZGVhZFNpemU7IH0KIAotICAgIHZvaWQgc2V0RGVhZERlY29kZWRE
YXRhRGVsZXRpb25JbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKSB7
IG1fZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IGludGVydmFsOyB9Ci0gICAgc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOyB9CisgICAg
dm9pZCBzZXREZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwp
IHsgbV9kZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gaW50ZXJ2YWw7IH0KKyAgICBT
ZWNvbmRzIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7IH0KIAogICAgIC8vIENhbGxzIHRvIHB1
dCB0aGUgY2FjaGVkIHJlc291cmNlIGludG8gYW5kIG91dCBvZiBMUlUgbGlzdHMuCiAgICAgdm9p
ZCBpbnNlcnRJbkxSVUxpc3QoQ2FjaGVkUmVzb3VyY2UmKTsKQEAgLTE5OSw3ICsxOTksNyBAQCBw
cml2YXRlOgogICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9taW5EZWFk
Q2FwYWNpdHk7CiAgICAgdW5zaWduZWQgbV9tYXhEZWFkQ2FwYWNpdHk7Ci0gICAgc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CisgICAg
U2Vjb25kcyBtX2RlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25l
ZCBtX2xpdmVTaXplOyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBi
eSAibGl2ZSIgcmVzb3VyY2VzIGluIHRoZSBjYWNoZS4KICAgICB1bnNpZ25lZCBtX2RlYWRTaXpl
OyAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBjb25zdW1lZCBieSAiZGVhZCIgcmVz
b3VyY2VzIGluIHRoZSBjYWNoZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuY3BwCmluZGV4IGVlNDM3ZTg2MjhlYmY0ZTg2MzI3Y2M3NzAzMGY1ZjY5NGUzMGJiMmQu
LjE1ZGMzMmNhZjA4YmVlYTZmZDljZTY3M2YxMGYxZGExODczYzI5YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBzdGF0
aWMgY29uc3QgaW50IGN1cnJlbnREYXRhYmFzZVZlcnNpb24gPSA2OwogLy8gSWNvbnMgZXhwaXJl
IG9uY2UgZXZlcnkgNCBkYXlzCiBzdGF0aWMgY29uc3QgaW50IGljb25FeHBpcmF0aW9uVGltZSA9
IDYwKjYwKjI0KjQ7IAogCi1zdGF0aWMgY29uc3QgaW50IHVwZGF0ZVRpbWVyRGVsYXkgPSA1OyAK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIHVwZGF0ZVRpbWVyRGVsYXkgPSA1X3M7CiAKIHN0YXRpYyBi
b29sIGNoZWNrSW50ZWdyaXR5T25PcGVuID0gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQXV0b3Njcm9sbENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKaW5kZXggYTdjN2E1OGU3ZDMxNWVkZmJmOWM1MGUw
YTg3MWMyMGNiNzJmNGNhMi4uMjVlZWE1ZDBkOGMyNzkxZjJjYWQ1ZmFkZmI5NzcyMzQ0NGRlYmQw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9BdXRvc2Nyb2xsQ29udHJvbGxlci5jcHAKQEAg
LTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IGRvdWJsZSBh
dXRvc2Nyb2xsRGVsYXkgPSAwLjI7CiAKIC8vIFdoZW4gdGhlIGF1dG9zY3JvbGwgb3IgdGhlIHBh
blNjcm9sbCBpcyB0cmlnZ2VyZWQgd2hlbiBkbyB0aGUgc2Nyb2xsIGV2ZXJ5IDAuMDVzIHRvIG1h
a2UgaXQgc21vb3RoCi1zdGF0aWMgY29uc3QgZG91YmxlIGF1dG9zY3JvbGxJbnRlcnZhbCA9IDAu
MDU7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBhdXRvc2Nyb2xsSW50ZXJ2YWwgPSAwLjA1X3M7CiAK
ICNpZiBFTkFCTEUoUEFOX1NDUk9MTElORykKIHN0YXRpYyBGcmFtZSogZ2V0TWFpbkZyYW1lKEZy
YW1lKiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQ
cmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IGNmZWExMGM0ZDljZWVhMzRjYmRmZDIxMGI1M2Y3MWFhN2Y4MWJlNDQuLjAw
MDEyYzA1NWQ3NTdlMGRhMGFlM2NhZGU3OTQ2MzhmNDNmMDQyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzLmNwcApAQCAtNzksNyArNzksNyBAQCB2
b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXM6Om5vdGlmeSgpCiAKICAgICBtX2hhdmVQcmVmZXJl
bmNlcyA9IHRydWU7CiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwog
fQogCiBDYXB0aW9uVXNlclByZWZlcmVuY2VzOjpDYXB0aW9uRGlzcGxheU1vZGUgQ2FwdGlvblVz
ZXJQcmVmZXJlbmNlczo6Y2FwdGlvbkRpc3BsYXlNb2RlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKaW5kZXgg
OThiMjJiYWZlMmNmYmJkNmEwYzIxOTExMjM1MGU3YzkwNzBmYjI1OC4uNWQ2Y2Q0OTM4NDVjZGJl
ODJiMzFkMjBmNWVlZmQxNjYxNDQ1ODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAKQEAgLTI0Niw3ICsyNDYsNyBA
QCB2b2lkIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGOjpzZXRJbnRlcmVzdGVkSW5DYXB0
aW9uUHJlZmVyZW5jZUNoYW5nZXMoKQogCiAgICAgLy8gR2VuZXJhdGluZyBhbmQgcmVnaXN0ZXJp
bmcgdGhlIGNhcHRpb24gc3R5bGVzaGVldCBjYW4gYmUgZXhwZW5zaXZlIGFuZCB0aGlzIG1ldGhv
ZCBpcyBjYWxsZWQgaW5kaXJlY3RseSB3aGVuIHRoZSBwYXJzZXIgY3JlYXRlcyBhbiBhdWRpbyBv
cgogICAgIC8vIHZpZGVvIGVsZW1lbnQsIHNvIGRvIGl0IGFmdGVyIGEgYnJpZWYgcGF1c2UuCi0g
ICAgbV91cGRhdGVTdHlsZVNoZWV0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdXBkYXRl
U3R5bGVTaGVldFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIENhcHRpb25Vc2Vy
UHJlZmVyZW5jZXNNZWRpYUFGOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFuZ2VkKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01UaW1lci5jcHAKaW5kZXggYTk2OWQ5NDhlN2UzOWMwMjY5YzVhMzBmZjljZDAxN2M5MmRk
OTU4Yy4uMzI0NzYxNzMwNTI4YjQ0MzAxMDc1ZGRmOTk5NjBhMWYzYmE0NDhkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01UaW1lci5jcHAKQEAgLTUxLDggKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgYXV0byBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGlu
ZyA9IDEwMDBtczsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgotc3RhdGljIGNvbnN0IGF1
dG8gbWluSW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDEwMDBtczsg
Ly8gRW1waXJpY2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCitzdGF0
aWMgY29uc3QgU2Vjb25kcyBtYXhJbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZyA9IDFf
czsgLy8gT25lIHNlY29uZCBtYXRjaGVzIEdlY2tvLgorc3RhdGljIGNvbnN0IFNlY29uZHMgbWlu
SW50ZXJ2YWxGb3JOb25Vc2VyT2JzZXJ2YWJsZUNoYW5nZVRpbWVycyA9IDFfczsgLy8gRW1waXJp
Y2FsbHkgZGV0ZXJtaW5lZCB0byBtYXhpbWl6ZSBiYXR0ZXJ5IGxpZmUuCiBzdGF0aWMgY29uc3Qg
aW50IG1heFRpbWVyTmVzdGluZ0xldmVsID0gNTsKIAogY2xhc3MgRE9NVGltZXJGaXJlU3RhdGUg
ewpAQCAtMTYwLDE0ICsxNjAsMTQgQEAgcHJpdmF0ZToKIAogYm9vbCBOZXN0ZWRUaW1lcnNNYXA6
OmlzVHJhY2tpbmdOZXN0ZWRUaW1lcnMgPSBmYWxzZTsKIAotc3RhdGljIGlubGluZSBib29sIHNo
b3VsZEZvcndhcmRVc2VyR2VzdHVyZShzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
LCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBib29sIHNob3VsZEZvcndhcmRVc2Vy
R2VzdHVyZShTZWNvbmRzIGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQogewogICAgIHJldHVy
biBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkKICAgICAgICAg
JiYgaW50ZXJ2YWwgPD0gbWF4SW50ZXJ2YWxGb3JVc2VyR2VzdHVyZUZvcndhcmRpbmcKICAgICAg
ICAgJiYgIW5lc3RpbmdMZXZlbDsgLy8gR2VzdHVyZXMgc2hvdWxkIG5vdCBiZSBmb3J3YXJkZWQg
dG8gbmVzdGVkIHRpbWVycy4KIH0KIAotc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdlc3R1cmVU
b2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGludGVydmFsLCBpbnQgbmVzdGluZ0xldmVsKQorc3RhdGljIGlubGluZSBSZWZQdHI8VXNlckdl
c3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChTZWNvbmRzIGludGVydmFsLCBp
bnQgbmVzdGluZ0xldmVsKQogewogICAgIGlmICghc2hvdWxkRm9yd2FyZFVzZXJHZXN0dXJlKGlu
dGVydmFsLCBuZXN0aW5nTGV2ZWwpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE3NSwx
MiArMTc1LDExIEBAIHN0YXRpYyBpbmxpbmUgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQoc3RkOjpjaHJvbm86Om1pCiAgICAgcmV0dXJuIFVzZXJHZXN0
dXJlSW5kaWNhdG9yOjpjdXJyZW50VXNlckdlc3R1cmUoKTsKIH0KIAotRE9NVGltZXI6OkRPTVRp
bWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hl
ZHVsZWRBY3Rpb24+IGFjdGlvbiwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBpbnRlcnZhbCwg
Ym9vbCBzaW5nbGVTaG90KQorRE9NVGltZXI6OkRPTVRpbWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgU2Vj
b25kcyBpbnRlcnZhbCwgYm9vbCBzaW5nbGVTaG90KQogICAgIDogU3VzcGVuZGFibGVUaW1lcihj
b250ZXh0KQogICAgICwgbV9uZXN0aW5nTGV2ZWwoY29udGV4dC50aW1lck5lc3RpbmdMZXZlbCgp
KQogICAgICwgbV9hY3Rpb24oV1RGTW92ZShhY3Rpb24pKQogICAgICwgbV9vcmlnaW5hbEludGVy
dmFsKGludGVydmFsKQotICAgICwgbV90aHJvdHRsZVN0YXRlKFVuZGV0ZXJtaW5lZCkKICAgICAs
IG1fY3VycmVudFRpbWVySW50ZXJ2YWwoaW50ZXJ2YWxDbGFtcGVkVG9NaW5pbXVtKCkpCiAgICAg
LCBtX3VzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZChp
bnRlcnZhbCwgbV9uZXN0aW5nTGV2ZWwpKQogewpAQCAtMjAxLDcgKzIwMCw3IEBAIERPTVRpbWVy
Ojp+RE9NVGltZXIoKQogewogfQogCi1pbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlvbj4gYWN0
aW9uLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkK
K2ludCBET01UaW1lcjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBz
dGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBhY3Rpb24sIFNlY29uZHMgdGltZW91dCwg
Ym9vbCBzaW5nbGVTaG90KQogewogICAgIC8vIERPTVRpbWVyIGNvbnN0cnVjdG9yIHBhc3NlcyBv
d25lcnNoaXAgb2YgdGhlIGluaXRpYWwgcmVmIG9uIHRoZSBvYmplY3QgdG8gdGhlIGNvbnN0cnVj
dG9yLgogICAgIC8vIFRoaXMgcmVmZXJlbmNlIHdpbGwgYmUgcmVsZWFzZWQgYXV0b21hdGljYWxs
eSB3aGVuIGEgb25lLXNob3QgdGltZXIgZmlyZXMsIHdoZW4gdGhlIGNvbnRleHQKQEAgLTIxMCw3
ICsyMDksNyBAQCBpbnQgRE9NVGltZXI6Omluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZAogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBpZiAoaXM8RG9jdW1lbnQ+KGNvbnRleHQpKSB7CiAgICAgICAgIGJvb2wgZGlkRGVmZXJUaW1l
b3V0ID0gY29udGV4dC5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCk7Ci0gICAgICAgIGlm
ICghZGlkRGVmZXJUaW1lb3V0ICYmIHRpbWVvdXQuY291bnQoKSA8PSAxMDAgJiYgc2luZ2xlU2hv
dCkgeworICAgICAgICBpZiAoIWRpZERlZmVyVGltZW91dCAmJiB0aW1lb3V0IDw9IDEwMF9tcyAm
JiBzaW5nbGVTaG90KSB7CiAgICAgICAgICAgICBXS1NldE9ic2VydmVkQ29udGVudENoYW5nZShX
S0NvbnRlbnRJbmRldGVybWluYXRlQ2hhbmdlKTsKICAgICAgICAgICAgIFdlYlRocmVhZEFkZE9i
c2VydmVkQ29udGVudE1vZGlmaWVyKHRpbWVyKTsgLy8gV2lsbCBvbmx5IHRha2UgYWZmZWN0IGlm
IG5vdCBhbHJlYWR5IHZpc2liaWxpdHkgY2hhbmdlLgogICAgICAgICB9CkBAIC0yMTgsNyArMjE3
LDcgQEAgaW50IERPTVRpbWVyOjppbnN0YWxsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWQKICNlbmRpZgogCiAgICAgdGltZXItPnN1c3Bl
bmRJZk5lZWRlZCgpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW5zdGFsbFRp
bWVyKGNvbnRleHQsIHRpbWVyLT5tX3RpbWVvdXRJZCwgdGltZW91dCwgc2luZ2xlU2hvdCk7Cisg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnN0YWxsVGltZXIoY29udGV4dCwgdGlt
ZXItPm1fdGltZW91dElkLCBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPihzdGQ6OmNocm9ubzo6ZHVyYXRpb248ZG91YmxlPih0aW1lb3V0LnZhbHVl
KCkpKSwgc2luZ2xlU2hvdCk7CiAKICAgICAvLyBLZWVwIHRyYWNrIG9mIG5lc3RlZCB0aW1lciBp
bnN0YWxscy4KICAgICBpZiAoTmVzdGVkVGltZXJzTWFwKiBuZXN0ZWRUaW1lcnMgPSBOZXN0ZWRU
aW1lcnNNYXA6Omluc3RhbmNlRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTM5OSwyMSArMzk4LDIx
IEBAIHZvaWQgRE9NVGltZXI6OnVwZGF0ZVRpbWVySW50ZXJ2YWxJZk5lY2Vzc2FyeSgpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIGlmIChyZXBlYXRJbnRlcnZhbCgpKSB7Ci0gICAgICAgIEFTU0VS
VChyZXBlYXRJbnRlcnZhbE1TKCkgPT0gcHJldmlvdXNJbnRlcnZhbCk7Ci0gICAgICAgIExPRyhE
T01UaW1lcnMsICIlcCAtIFVwZGF0aW5nIERPTVRpbWVyJ3MgcmVwZWF0IGludGVydmFsIGZyb20g
JSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwgdGhp
cywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVydmFsLmNvdW50
KCkpOworICAgICAgICBBU1NFUlQocmVwZWF0SW50ZXJ2YWwoKSA9PSBwcmV2aW91c0ludGVydmFs
KTsKKyAgICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyByZXBl
YXQgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90dGxpbmcuIiwg
dGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50VGltZXJJbnRl
cnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRSZXBlYXRJbnRlcnZhbChtX2N1
cnJlbnRUaW1lckludGVydmFsIC0gcHJldmlvdXNJbnRlcnZhbCk7CiAgICAgfSBlbHNlIHsKLSAg
ICAgICAgTE9HKERPTVRpbWVycywgIiVwIC0gVXBkYXRpbmcgRE9NVGltZXIncyBmaXJlIGludGVy
dmFsIGZyb20gJSIgUFJJZDY0ICIgbXMgdG8gJSIgUFJJZDY0ICIgbXMgZHVlIHRvIHRocm90dGxp
bmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5jb3VudCgpLCBtX2N1cnJlbnRUaW1lckludGVy
dmFsLmNvdW50KCkpOworICAgICAgICBMT0coRE9NVGltZXJzLCAiJXAgLSBVcGRhdGluZyBET01U
aW1lcidzIGZpcmUgaW50ZXJ2YWwgZnJvbSAlLjNmIG1zIHRvICUuM2YgbXMgZHVlIHRvIHRocm90
dGxpbmcuIiwgdGhpcywgcHJldmlvdXNJbnRlcnZhbC5taWxsaXNlY29uZHMoKSwgbV9jdXJyZW50
VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgICAgIGF1Z21lbnRGaXJlSW50ZXJ2
YWwobV9jdXJyZW50VGltZXJJbnRlcnZhbCAtIHByZXZpb3VzSW50ZXJ2YWwpOwogICAgIH0KIH0K
IAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBET01UaW1lcjo6aW50ZXJ2YWxDbGFtcGVkVG9N
aW5pbXVtKCkgY29uc3QKK1NlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWluaW11
bSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAg
QVNTRVJUKG1fbmVzdGluZ0xldmVsIDw9IG1heFRpbWVyTmVzdGluZ0xldmVsKTsKIAotICAgIGF1
dG8gaW50ZXJ2YWwgPSBzdGQ6Om1heCgxbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CisgICAgYXV0
byBpbnRlcnZhbCA9IHN0ZDo6bWF4KDFfbXMsIG1fb3JpZ2luYWxJbnRlcnZhbCk7CiAKICAgICAv
LyBPbmx5IGFwcGx5IHRocm90dGxpbmcgdG8gcmVwZWF0aW5nIHRpbWVycy4KICAgICBpZiAobV9u
ZXN0aW5nTGV2ZWwgPCBtYXhUaW1lck5lc3RpbmdMZXZlbCkKQEAgLTQyNiwxOSArNDI1LDIwIEBA
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgRE9NVGltZXI6OmludGVydmFsQ2xhbXBlZFRvTWlu
aW11bSgpIGNvbnN0CiAgICAgcmV0dXJuIGludGVydmFsOwogfQogCi1zdGQ6Om9wdGlvbmFsPHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IERPTVRpbWVyOjphbGlnbmVkRmlyZVRpbWUoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBmaXJlVGltZSkgY29uc3QKK3N0ZDo6b3B0aW9uYWw8TW9ub3Rv
bmljVGltZT4gRE9NVGltZXI6OmFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lIGZpcmVUaW1l
KSBjb25zdAogewotICAgIGF1dG8gYWxpZ25tZW50SW50ZXJ2YWwgPSBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCktPnRpbWVyQWxpZ25tZW50SW50ZXJ2YWwobV9uZXN0aW5nTGV2ZWwgPj0gbWF4VGlt
ZXJOZXN0aW5nTGV2ZWwpOwotICAgIGlmIChhbGlnbm1lbnRJbnRlcnZhbCA9PSAwbXMpCisgICAg
U2Vjb25kcyBhbGlnbm1lbnRJbnRlcnZhbCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+dGlt
ZXJBbGlnbm1lbnRJbnRlcnZhbChtX25lc3RpbmdMZXZlbCA+PSBtYXhUaW1lck5lc3RpbmdMZXZl
bCk7CisgICAgaWYgKGFsaWdubWVudEludGVydmFsID09IDBfcykKICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKICAgICAKKyAgICAvLyBGSVhNRTogSXMgaXQgY29ycmVjdCB0byBpbml0aWFs
aXplIHJhbmRvbWl6ZWRQcm9wb3J0aW9uIGp1c3Qgb25jZT8KICAgICBzdGF0aWMgY29uc3QgZG91
YmxlIHJhbmRvbWl6ZWRQcm9wb3J0aW9uID0gcmFuZG9tTnVtYmVyKCk7CiAKLSAgICAvLyBGb3Jj
ZSBhbGlnbm1lbnQgdG8gcmFuZG9taXplZEFsaWdubWVudCBmcmFjdGlvbiBvZiB0aGUgd2F5IGJl
dHdlZW4gYWxpZ25lbW50SW50ZXJ2YWxzLCBlLmcuCisgICAgLy8gRm9yY2UgYWxpZ25tZW50IHRv
IHJhbmRvbWl6ZWRBbGlnbm1lbnQgZnJhY3Rpb24gb2YgdGhlIHdheSBiZXR3ZWVuIGFsaWdubWVu
dEludGVydmFscywgZS5nLgogICAgIC8vIGlmIGFsaWdubWVudEludGVydmFsIGlzIDEwIGFuZCBy
YW5kb21pemVkQWxpZ25tZW50IGlzIDAuMyB0aGlzIHdpbGwgYWxpZ24gdG8gMywgMTMsIDIzLCAu
Li4KLSAgICBhdXRvIHJhbmRvbWl6ZWRPZmZzZXQgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2Fz
dDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihhbGlnbm1lbnRJbnRlcnZhbCAqIHJhbmRvbWl6
ZWRQcm9wb3J0aW9uKTsKLSAgICBhdXRvIGFkanVzdGVkRmlyZVRpbWUgPSBmaXJlVGltZSAtIHJh
bmRvbWl6ZWRPZmZzZXQ7Ci0gICAgcmV0dXJuIGFkanVzdGVkRmlyZVRpbWUgLSAoYWRqdXN0ZWRG
aXJlVGltZSAlIGFsaWdubWVudEludGVydmFsKSArIGFsaWdubWVudEludGVydmFsICsgcmFuZG9t
aXplZE9mZnNldDsKKyAgICBTZWNvbmRzIHJhbmRvbWl6ZWRPZmZzZXQgPSBhbGlnbm1lbnRJbnRl
cnZhbCAqIHJhbmRvbWl6ZWRQcm9wb3J0aW9uOworICAgIE1vbm90b25pY1RpbWUgYWRqdXN0ZWRG
aXJlVGltZSA9IGZpcmVUaW1lIC0gcmFuZG9taXplZE9mZnNldDsKKyAgICByZXR1cm4gYWRqdXN0
ZWRGaXJlVGltZSAtIFNlY29uZHMoZm1vZChhZGp1c3RlZEZpcmVUaW1lLnNlY29uZHNTaW5jZUVw
b2NoKCkudmFsdWUoKSwgYWxpZ25tZW50SW50ZXJ2YWwudmFsdWUoKSkpICsgYWxpZ25tZW50SW50
ZXJ2YWwgKyByYW5kb21pemVkT2Zmc2V0OwogfQogCiBjb25zdCBjaGFyKiBET01UaW1lcjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmgKaW5kZXggMzlhMDQ2
MWRhZWVlZTI1ZWFiYTMzOTk2ZTdhMGRjOGRkOTFhNjc4NS4uODI4YjY0YjAwOWJiMjIxOTE1ZWM3
YWRiYTZhYTc0OGUxYWY2NjVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01U
aW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NVGltZXIuaApAQCAtNDQsMTMgKzQ0
LDEzIEBAIGNsYXNzIERPTVRpbWVyIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NVGltZXI+
LCBwdWJsaWMgU3VzcGVuZGFibGVUaW1lciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NVGlt
ZXIoKTsKIAotICAgIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRlZmF1bHRNaW5p
bXVtSW50ZXJ2YWwoKSB7IHJldHVybiA0bXM7IH0KLSAgICBzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBkZWZhdWx0QWxpZ25tZW50SW50ZXJ2YWwoKSB7IHJldHVybiAwbXM7IH0KLSAg
ICBzdGF0aWMgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBoaWRkZW5QYWdlQWxpZ25tZW50SW50
ZXJ2YWwoKSB7IHJldHVybiAxMDAwbXM7IH0KKyAgICBzdGF0aWMgU2Vjb25kcyBkZWZhdWx0TWlu
aW11bUludGVydmFsKCkgeyByZXR1cm4gNF9tczsgfQorICAgIHN0YXRpYyBTZWNvbmRzIGRlZmF1
bHRBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDBfczsgfQorICAgIHN0YXRpYyBTZWNvbmRz
IGhpZGRlblBhZ2VBbGlnbm1lbnRJbnRlcnZhbCgpIHsgcmV0dXJuIDFfczsgfQogCiAgICAgLy8g
Q3JlYXRlcyBhIG5ldyB0aW1lciBvd25lZCBieSBzcGVjaWZpZWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgc3RhcnRzIGl0CiAgICAgLy8gYW5kIHJldHVybnMgaXRzIElkLgotICAgIHN0YXRpYyBp
bnQgaW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVk
dWxlZEFjdGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZW91dCwgYm9vbCBzaW5n
bGVTaG90KTsKKyAgICBzdGF0aWMgaW50IGluc3RhbGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IHN0ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIHRpbWVvdXQsIGJvb2wg
c2luZ2xlU2hvdCk7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlQnlJZChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgaW50IHRpbWVvdXRJZCk7CiAKICAgICAvLyBOb3RpZnkgdGhhdCB0aGUgaW50ZXJ2
YWwgbWF5IG5lZWQgdXBkYXRpbmcgKGUuZy4gYmVjYXVzZSB0aGUgbWluaW11bSBpbnRlcnZhbApA
QCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzY3JpcHREaWRJbnRl
cmFjdFdpdGhQbHVnaW4oSFRNTFBsdWdJbkVsZW1lbnQmKTsKIAogcHJpdmF0ZToKLSAgICBET01U
aW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFj
dGlvbj4sIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwsIGJvb2wgc2luZ2xlU2hv
dCk7CisgICAgRE9NVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6dW5pcXVlX3B0
cjxTY2hlZHVsZWRBY3Rpb24+LCBTZWNvbmRzIGludGVydmFsLCBib29sIHNpbmdsZVNob3QpOwog
ICAgIGZyaWVuZCBjbGFzcyBJbnRlcm5hbHM7CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGludGVydmFsQ2xhbXBlZFRvTWluaW11bSgpIGNvbnN0OworICAgIFNlY29uZHMgaW50ZXJ2
YWxDbGFtcGVkVG9NaW5pbXVtKCkgY29uc3Q7CiAKICAgICBib29sIGlzRE9NVGltZXJzVGhyb3R0
bGluZ0VuYWJsZWQoRG9jdW1lbnQmKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdT
dGF0ZUlmTmVjZXNzYXJ5KGNvbnN0IERPTVRpbWVyRmlyZVN0YXRlJik7CkBAIC03MSw3ICs3MSw3
IEBAIHByaXZhdGU6CiAgICAgLy8gU3VzcGVuZGFibGVUaW1lcgogICAgIHZvaWQgZmlyZWQoKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZFN0b3AoKSBvdmVycmlkZTsKLSAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+IGFsaWduZWRGaXJlVGltZShzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKSBjb25zdCBvdmVycmlkZTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1vbm90b25p
Y1RpbWU+IGFsaWduZWRGaXJlVGltZShNb25vdG9uaWNUaW1lKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtODUsMTAgKzg1LDEwIEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fdGltZW91dElkOwogICAgIGludCBtX25lc3RpbmdMZXZlbDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2NoZWR1bGVkQWN0aW9uPiBtX2FjdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKLSAgICBUaW1lclRocm90dGxlU3RhdGUgbV90
aHJvdHRsZVN0YXRlOwotICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbV9jdXJyZW50VGlt
ZXJJbnRlcnZhbDsKKyAgICBTZWNvbmRzIG1fb3JpZ2luYWxJbnRlcnZhbDsKKyAgICBTZWNvbmRz
IG1fY3VycmVudFRpbWVySW50ZXJ2YWw7CiAgICAgUmVmUHRyPFVzZXJHZXN0dXJlVG9rZW4+IG1f
dXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAgICBUaW1lclRocm90dGxlU3RhdGUgbV90aHJv
dHRsZVN0YXRlIHsgVW5kZXRlcm1pbmVkIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYTljMDNjNDcxOGY5ZTJiY2I0MGM4YzE2
ODI2YjllYzc1OWZmOTcxYi4uMjNjYTIzNzVmYzk1ZTc5YjA3ZjlhMjZiNzc3NmI4ZTRhNGRjODE5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtOTY0LDcgKzk2NCw3IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBET01XaW5kb3cmIGNhbGxlCiAKICAgICAvLyBTY2hlZHVsZSB0aGUgbWVzc2FnZS4KICAgICBh
dXRvKiB0aW1lciA9IG5ldyBQb3N0TWVzc2FnZVRpbWVyKCp0aGlzLCBtZXNzYWdlLnJlbGVhc2VS
ZXR1cm5WYWx1ZSgpLCBzb3VyY2VPcmlnaW4sIGNhbGxlcldpbmRvdywgY2hhbm5lbHMucmVsZWFz
ZVJldHVyblZhbHVlKCksIFdURk1vdmUodGFyZ2V0KSwgV1RGTW92ZShzdGFja1RyYWNlKSk7Ci0g
ICAgdGltZXItPnN0YXJ0T25lU2hvdCgwKTsKKyAgICB0aW1lci0+c3RhcnRPbmVTaG90KDBfcyk7
CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAtMTY1NCw3ICsxNjU0LDcgQEAgRXhjZXB0aW9uT3I8
aW50PiBET01XaW5kb3c6OnNldFRpbWVvdXQoc3RkOjp1bmlxdWVfcHRyPFNjaGVkdWxlZEFjdGlv
bj4gYWN0aW9uLAogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07Ci0gICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHModGltZW91dCksIHRydWUpOwor
ICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgqY29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBT
ZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHRpbWVvdXQpLCB0cnVlKTsKIH0KIAogdm9pZCBET01X
aW5kb3c6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpAQCAtMTY4Niw3ICsxNjg2LDcgQEAg
RXhjZXB0aW9uT3I8aW50PiBET01XaW5kb3c6OnNldEludGVydmFsKHN0ZDo6dW5pcXVlX3B0cjxT
Y2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwKICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHJldHVybiBET01UaW1lcjo6aW5zdGFsbCgq
Y29udGV4dCwgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRpbWVv
dXQpLCBmYWxzZSk7CisgICAgcmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCpjb250ZXh0LCBXVEZN
b3ZlKGFjdGlvbiksIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsK
IH0KIAogdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2YWwoaW50IHRpbWVvdXRJZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RldmljZUNvbnRyb2xsZXIuY3BwCmluZGV4IDNjMzg0MzA5NTYzNDk2MjJh
ZTJlMTlmZDViNzYwMzg1Yzk1OTA0Y2MuLmVmZWYzNmJhMGY3OTIxOTk5NjI3ODU1NGEyYTk1OGI1
OGM2MWU1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGV2aWNlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZXZpY2VDb250cm9sbGVyLmNwcApAQCAt
NDgsNyArNDgsNyBAQCB2b2lkIERldmljZUNvbnRyb2xsZXI6OmFkZERldmljZUV2ZW50TGlzdGVu
ZXIoRE9NV2luZG93KiB3aW5kb3cpCiAgICAgaWYgKGhhc0xhc3REYXRhKCkpIHsKICAgICAgICAg
bV9sYXN0RXZlbnRMaXN0ZW5lcnMuYWRkKHdpbmRvdyk7CiAgICAgICAgIGlmICghbV90aW1lci5p
c0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgIH0KIAogICAgIGlmICh3YXNFbXB0
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBhNzU0MjdjYTQ2YzcxZjll
NjEzNDM3YWYwOTdhM2VkYWIxYjdlZDFiLi5lOTMzYmI0ZTRiNTY1MGY1MTBiZmMwMDg1NjkyYzU3
NTk3ZTM5NTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTYsMTUg
KzE1NiwxNSBAQCB1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CiAvLyBUaGUgYW1vdW50IG9mIHRp
bWUgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyBhIGZha2UgbW91c2UgZXZlbnQsIHRyaWdnZXJlZAog
Ly8gZHVyaW5nIGEgc2Nyb2xsLiBUaGUgc2hvcnQgaW50ZXJ2YWwgaXMgdXNlZCBpZiB0aGUgY29u
dGVudCByZXNwb25kcyB0byB0aGUgbW91c2UgZXZlbnRzCiAvLyBpbiBmYWtlTW91c2VNb3ZlRHVy
YXRpb25UaHJlc2hvbGQgb3IgbGVzcywgb3RoZXJ3aXNlIHRoZSBsb25nIGludGVydmFsIGlzIHVz
ZWQuCi1jb25zdCBkb3VibGUgZmFrZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMTsK
LWNvbnN0IGRvdWJsZSBmYWtlTW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMTsKLWNvbnN0IGRv
dWJsZSBmYWtlTW91c2VNb3ZlTG9uZ0ludGVydmFsID0gMC4yNTsKK2NvbnN0IFNlY29uZHMgZmFr
ZU1vdXNlTW92ZUR1cmF0aW9uVGhyZXNob2xkID0gMC4wMV9zOworY29uc3QgU2Vjb25kcyBmYWtl
TW91c2VNb3ZlU2hvcnRJbnRlcnZhbCA9IDAuMV9zOworY29uc3QgU2Vjb25kcyBmYWtlTW91c2VN
b3ZlTG9uZ0ludGVydmFsID0gMC4yNV9zOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1VSU09SX1NV
UFBPUlQpCiAvLyBUaGUgYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgYSBjdXJzb3IgdXBkYXRl
IG9uIHN0eWxlIGFuZCBsYXlvdXQgY2hhbmdlcwogLy8gU2V0IHRvIDUwSHosIG5vIG5lZWQgdG8g
YmUgZmFzdGVyIHRoYW4gY29tbW9uIHNjcmVlbiByZWZyZXNoIHJhdGUKLWNvbnN0IGRvdWJsZSBj
dXJzb3JVcGRhdGVJbnRlcnZhbCA9IDAuMDI7Citjb25zdCBTZWNvbmRzIGN1cnNvclVwZGF0ZUlu
dGVydmFsID0gMC4wMl9zOwogCiBjb25zdCBpbnQgbWF4aW11bUN1cnNvclNpemUgPSAxMjg7CiAj
ZW5kaWYKQEAgLTE5MywyMCArMTkzLDIwIEBAIHByaXZhdGU6CiAKIGNsYXNzIE1heGltdW1EdXJh
dGlvblRyYWNrZXIgewogcHVibGljOgotICAgIGV4cGxpY2l0IE1heGltdW1EdXJhdGlvblRyYWNr
ZXIoZG91YmxlICptYXhEdXJhdGlvbikKKyAgICBleHBsaWNpdCBNYXhpbXVtRHVyYXRpb25UcmFj
a2VyKFNlY29uZHMmIG1heER1cmF0aW9uKQogICAgICAgICA6IG1fbWF4RHVyYXRpb24obWF4RHVy
YXRpb24pCi0gICAgICAgICwgbV9zdGFydChtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkK
KyAgICAgICAgLCBtX3N0YXJ0KE1vbm90b25pY1RpbWU6Om5vdygpKQogICAgIHsKICAgICB9CiAK
ICAgICB+TWF4aW11bUR1cmF0aW9uVHJhY2tlcigpCiAgICAgewotICAgICAgICAqbV9tYXhEdXJh
dGlvbiA9IHN0ZDo6bWF4KCptX21heER1cmF0aW9uLCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKSAtIG1fc3RhcnQpOworICAgICAgICBtX21heER1cmF0aW9uID0gc3RkOjptYXgobV9tYXhE
dXJhdGlvbiwgTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3N0YXJ0KTsKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgZG91YmxlKiBtX21heER1cmF0aW9uOwotICAgIGRvdWJsZSBtX3N0YXJ0OworICAg
IFNlY29uZHMmIG1fbWF4RHVyYXRpb247CisgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0OwogfTsK
IAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykK
QEAgLTQ2Myw3ICs0NjMsNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogICAgIG1fb3Jp
Z2luYXRpbmdUb3VjaFBvaW50RG9jdW1lbnQgPSBudWxscHRyOwogICAgIG1fb3JpZ2luYXRpbmdU
b3VjaFBvaW50VGFyZ2V0S2V5ID0gMDsKICNlbmRpZgotICAgIG1fbWF4TW91c2VNb3ZlZER1cmF0
aW9uID0gMDsKKyAgICBtX21heE1vdXNlTW92ZWREdXJhdGlvbiA9IDBfczsKICAgICBtX2Jhc2VF
dmVudFR5cGUgPSBQbGF0Zm9ybUV2ZW50OjpOb1R5cGU7CiAgICAgbV9kaWRTdGFydERyYWcgPSBm
YWxzZTsKIH0KQEAgLTE4MjEsNyArMTgyMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZU1v
dmVkKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBw
cm90ZWN0ZWRGcmFtZShtX2ZyYW1lKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiBwcm90ZWN0b3Io
bV9mcmFtZS52aWV3KCkpOwotICAgIE1heGltdW1EdXJhdGlvblRyYWNrZXIgbWF4RHVyYXRpb25U
cmFja2VyKCZtX21heE1vdXNlTW92ZWREdXJhdGlvbik7CisgICAgTWF4aW11bUR1cmF0aW9uVHJh
Y2tlciBtYXhEdXJhdGlvblRyYWNrZXIobV9tYXhNb3VzZU1vdmVkRHVyYXRpb24pOwogCiAgICAg
aWYgKG1fZnJhbWUubWFpbkZyYW1lKCkucGFnZU92ZXJsYXlDb250cm9sbGVyKCkuaGFuZGxlTW91
c2VFdmVudChldmVudCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjkwMiw3ICsyOTAyLDcg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OnNlbmRDb250ZXh0TWVudUV2ZW50Rm9yS2V5KCkKIHZvaWQg
RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUhvdmVyU3RhdGVVcGRhdGUoKQogewogICAgIGlmICghbV9o
b3ZlclRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1faG92ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIEVO
QUJMRShDVVJTT1JfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDli
Y2FjNzJjN2UyMTYzMjEwOTE1ZjcyYzFmODNlZDk1YTBkZWM5MzMuLmE3YTkxZjY2N2YyNmY5MTUz
YjM2ODliNmEyZDUyYTY5NDg4ZjYxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApA
QCAtNTcwLDcgKzU3MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RvdWNoUHJlc3NlZCB7IGZh
bHNlIH07CiAjZW5kaWYKIAotICAgIGRvdWJsZSBtX21heE1vdXNlTW92ZWREdXJhdGlvbiB7IDAg
fTsKKyAgICBTZWNvbmRzIG1fbWF4TW91c2VNb3ZlZER1cmF0aW9uOwogICAgIFBsYXRmb3JtRXZl
bnQ6OlR5cGUgbV9iYXNlRXZlbnRUeXBlIHsgUGxhdGZvcm1FdmVudDo6Tm9UeXBlIH07CiAgICAg
Ym9vbCBtX2RpZFN0YXJ0RHJhZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdXaGVl
bEV2ZW50IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggZDU1
NTVlZDJjMGZiNTdiOTYzYjdiNjAwMjE5ODcxNzEyNmY2NWZkNy4uYjdhMDRmNDg1Zjg5YzhjODlk
Y2RmY2ZhZWQxZDE5M2E5ZmRjOTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTQ3LDcgKzQ3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCB1aW50NjRf
dCBFdmVudFNvdXJjZTo6ZGVmYXVsdFJlY29ubmVjdERlbGF5ID0gMzAwMDsKK2NvbnN0IFNlY29u
ZHMgRXZlbnRTb3VyY2U6OmRlZmF1bHRSZWNvbm5lY3REZWxheSA9IDNfczsKIAogaW5saW5lIEV2
ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBVUkwmIHVybCwgY29uc3QgSW5pdCYgZXZlbnRTb3VyY2VJbml0KQogICAgIDogQWN0aXZl
RE9NT2JqZWN0KCZjb250ZXh0KQpAQCAtMTMyLDEzICsxMzIsMTMgQEAgdm9pZCBFdmVudFNvdXJj
ZTo6c2NoZWR1bGVJbml0aWFsQ29ubmVjdCgpCiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gQ09OTkVD
VElORyk7CiAgICAgQVNTRVJUKCFtX3JlcXVlc3RJbkZsaWdodCk7CiAKLSAgICBtX2Nvbm5lY3RU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgRXZlbnRTb3VyY2U6OnNjaGVkdWxlUmVjb25uZWN0KCkKIHsKICAgICBt
X3N0YXRlID0gQ09OTkVDVElORzsKLSAgICBtX2Nvbm5lY3RUaW1lci5zdGFydE9uZVNob3QobV9y
ZWNvbm5lY3REZWxheSAvIDEwMDAuMCk7CisgICAgbV9jb25uZWN0VGltZXIuc3RhcnRPbmVTaG90
KG1fcmVjb25uZWN0RGVsYXkpOwogICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuZXJyb3JFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKQEAgLTM1NSw5ICszNTUs
OSBAQCB2b2lkIEV2ZW50U291cmNlOjpwYXJzZUV2ZW50U3RyZWFtTGluZSh1bnNpZ25lZCBwb3Np
dGlvbiwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZAogICAgICAgICAgICAgLy8gRklYTUU6IERvIHdl
IHJlYWxseSB3YW50IHRvIGlnbm9yZSB0cmFpbGluZyBnYXJiYWdlIGhlcmU/IFNob3VsZCB3ZSBi
ZSB1c2luZyB0aGUgc3RyaWN0IHZlcnNpb24gaW5zdGVhZD8KICAgICAgICAgICAgIC8vIEZJWE1F
OiBJZiB3ZSBjYW4ndCBwYXJzZSB0aGUgdmFsdWUsIHNob3VsZCB3ZSBsZWF2ZSBtX3JlY29ubmVj
dERlbGF5IGFsb25lIG9yIHNldCBpdCB0byBkZWZhdWx0UmVjb25uZWN0RGVsYXk/CiAgICAgICAg
ICAgICBib29sIG9rOwotICAgICAgICAgICAgYXV0byByZWNvbm5lY3REZWxheSA9IGNoYXJhY3Rl
cnNUb1VJbnQ2NCgmbV9yZWNlaXZlQnVmZmVyW3Bvc2l0aW9uXSwgdmFsdWVMZW5ndGgsICZvayk7
CisgICAgICAgICAgICBhdXRvIHJlY29ubmVjdERlbGF5TVMgPSBjaGFyYWN0ZXJzVG9VSW50NjQo
Jm1fcmVjZWl2ZUJ1ZmZlcltwb3NpdGlvbl0sIHZhbHVlTGVuZ3RoLCAmb2spOwogICAgICAgICAg
ICAgaWYgKG9rKQotICAgICAgICAgICAgICAgIG1fcmVjb25uZWN0RGVsYXkgPSByZWNvbm5lY3RE
ZWxheTsKKyAgICAgICAgICAgICAgICBtX3JlY29ubmVjdERlbGF5ID0gU2Vjb25kczo6ZnJvbU1p
bGxpc2Vjb25kcyhyZWNvbm5lY3REZWxheU1TKTsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCAyYmUzZjlmMWI3NWQzOWQ1M2IyZmUzOTEyOTNmNThj
YzBmMTgyNzgyLi5hNGU3ZGQ5YWM0NzQzMzFjOGI3ZTNmZWE3NjNmMDE3ZTI3YzYzMGE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC05OCw3ICs5OCw3IEBAIHByaXZhdGU6CiAKICAg
ICBib29sIHJlc3BvbnNlSXNWYWxpZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgY29uc3Q7CiAK
LSAgICBzdGF0aWMgY29uc3QgdWludDY0X3QgZGVmYXVsdFJlY29ubmVjdERlbGF5OworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKIAogICAgIFVSTCBtX3Vy
bDsKICAgICBib29sIG1fd2l0aENyZWRlbnRpYWxzOwpAQCAtMTE1LDcgKzExNSw3IEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFVDaGFyPiBtX2RhdGE7CiAgICAgU3RyaW5nIG1fY3VycmVudGx5UGFy
c2VkRXZlbnRJZDsKICAgICBTdHJpbmcgbV9sYXN0RXZlbnRJZDsKLSAgICB1aW50NjRfdCBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CisgICAgU2Vjb25kcyBtX3Jl
Y29ubmVjdERlbGF5IHsgZGVmYXVsdFJlY29ubmVjdERlbGF5IH07CiAgICAgU3RyaW5nIG1fZXZl
bnRTdHJlYW1PcmlnaW47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAKaW5kZXggYTdiMjU1N2U2OTQ2ZGI5ZTU2MTE1N2FkZjcyY2MyODI2ZWZlODc0Ny4uNzJjMzM5
MTdmN2ZiYjJiM2NmOGM4MWEwZGEwOGRiMGU0NzUwNDIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmNwcApAQCAtMTA4OCw3ICsxMDg4LDcgQEAgYm9vbCBGb2N1c0NvbnRy
b2xsZXI6OmFkdmFuY2VGb2N1c0RpcmVjdGlvbmFsbHkoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
LCBLZXlib2EKIAogdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWRFbGVtZW50TmVlZHNS
ZXBhaW50KCkKIHsKLSAgICBtX2ZvY3VzUmVwYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjAzMyk7
CisgICAgbV9mb2N1c1JlcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4wMzNfcyk7CiB9CiAKIHZv
aWQgRm9jdXNDb250cm9sbGVyOjpmb2N1c1JlcGFpbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggMzkxNDEyZTVmNDgwYWQ2ZDNjYjVkYzQ3NjE4MGY1ZGNhNWYzNWJlNy4uYzE5
NjkzN2IzYjg1MDRlNWYzOWE0NmRjYTlmMzJkMmZiNzg1OTlmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCiAjaWYgUExBVEZPUk0oSU9TKQotY29uc3QgdW5zaWduZWQgc2Nyb2xs
RnJlcXVlbmN5ID0gMTAwMCAvIDYwOworc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsRnJlcXVl
bmN5ID0gU2Vjb25kcygxLjAgLyA2MCk7CiAjZW5kaWYKIAogREVGSU5FX0RFQlVHX09OTFlfR0xP
QkFMKFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyLCBmcmFtZUNvdW50ZXIsICgiRnJhbWUiKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODA2MWI3NTE0ZDk2NmQ2YzcyNTJmZDAy
ZWMzY2RkMTA4NjEyMTJmOS4uOTIxODhjYjhkMjZhZTYxNmVjODhlNTIxNTc2YzY0ZDg2ZjY2NjIx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTU2MCw3ICsxNTYwLDcgQEAgdm9p
ZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZSkKICAgICAgICAgICAgIC8vIGRl
ZmVyIHdpZGdldCB1cGRhdGVzIGFuZCBldmVudCBkaXNwYXRjaCB1bnRpbCBhZnRlciB3ZSByZXR1
cm4uIHBvc3RMYXlvdXRUYXNrcygpCiAgICAgICAgICAgICAvLyBjYW4gbWFrZSB1cyBuZWVkIHRv
IHVwZGF0ZSBhZ2FpbiwgYW5kIHdlIGNhbiBnZXQgc3R1Y2sgaW4gYSBuYXN0eSBjeWNsZSB1bmxl
c3MKICAgICAgICAgICAgIC8vIHdlIGNhbGwgaXQgdGhyb3VnaCB0aGUgdGltZXIgaGVyZS4KLSAg
ICAgICAgICAgIG1fcG9zdExheW91dFRhc2tzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAg
ICAgIGlmIChuZWVkc0xheW91dCgpKQogICAgICAgICAgICAgICAgIGxheW91dCgpOwogICAgICAg
ICB9CkBAIC0yNDQzLDcgKzI0NDMsNyBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBvbGRQb3NpdGlvbiwgY29uc3QgUwogICAgICAg
ICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0b3AoKTsKICAgICAgICAgc2VuZFNjcm9sbEV2
ZW50KCk7CiAgICAgfSBlbHNlIGlmICghbV9kZWxheWVkU2Nyb2xsRXZlbnRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2RlbGF5ZWRTY3JvbGxFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJv
dHRsaW5nRGVsYXkudmFsdWUoKSk7CisgICAgICAgIG1fZGVsYXllZFNjcm9sbEV2ZW50VGltZXIu
c3RhcnRPbmVTaG90KHRocm90dGxpbmdEZWxheSk7CiAKICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKQogICAgICAgICBkb2N1bWVudC0+c2VuZFdpbGxSZXZl
YWxFZGdlRXZlbnRzSWZOZWVkZWQob2xkUG9zaXRpb24sIG5ld1Bvc2l0aW9uLCB2aXNpYmxlQ29u
dGVudFJlY3QoKSwgY29udGVudHNTaXplKCkpOwpAQCAtMjg0MSw4ICsyODQxLDcgQEAgdm9pZCBG
cmFtZVZpZXc6OmVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKQogICAgIGlmIChtX3Nw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIC8vIERlbGF5IGVuYWJsaW5nIGEgYml0IGFzIGxvYWQgY29tcGxldGlvbiBtYXkgdHJpZ2dl
ciBmdXJ0aGVyIGxvYWRpbmcgZnJvbSBzY3JpcHRzLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVEZWxheSA9IDAuNTsKLSAgICBtX3NwZWN1bGF0aXZlVGls
aW5nRW5hYmxlVGltZXIuc3RhcnRPbmVTaG90KHNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlRGVsYXkp
OworICAgIG1fc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lci5zdGFydE9uZVNob3QoMC41X3Mp
OwogfQogCiB2b2lkIEZyYW1lVmlldzo6c3BlY3VsYXRpdmVUaWxpbmdFbmFibGVUaW1lckZpcmVk
KCkKQEAgLTM0MzEsNyArMzQzMCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91
dFRhc2tzKCkKICAgICAvLyBpcyBjYWxsZWQgdGhyb3VnaCB0aGUgcG9zdCBsYXlvdXQgdGltZXIu
CiAgICAgUmVmPEZyYW1lVmlldz4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAKLSAgICBtX3VwZGF0
ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3VwZGF0ZUVtYmVk
ZGVkT2JqZWN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgaWYgKGF1dG8qIHBhZ2Ug
PSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXgg
MGE3Mzk3OTg2MjQ2Yzc4MWE4Y2E5YjcxMjM1ZjAyNGZmOTQ3YzFkMC4uMTdlOWEzMDdlYTJlNWU1
YTcwMTBkM2UyNDVmMTkxMGJhODhjNWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xMjQzLDcg
KzEyNDMsNyBAQCB2b2lkIFBhZ2U6OnNldFRpbWVyVGhyb3R0bGluZ1N0YXRlKFRpbWVyVGhyb3R0
bGluZ1N0YXRlIHN0YXRlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX3RpbWVyVGhyb3R0bGlu
Z1N0YXRlID0gc3RhdGU7Ci0gICAgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIHVw
ZGF0ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKTsKIApAQCAtMTI1Niw3ICsxMjU2LDcgQEAg
dm9pZCBQYWdlOjpzZXRUaW1lclRocm90dGxpbmdTdGF0ZShUaW1lclRocm90dGxpbmdTdGF0ZSBz
dGF0ZSkKICAgICB9CiB9CiAKLXZvaWQgUGFnZTo6c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbElu
Y3JlYXNlTGltaXQoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsaW1pdCkKK3ZvaWQgUGFnZTo6
c2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKIHsK
ICAgICBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0ID0gbGltaXQ7CiAKQEAg
LTEyODQsOCArMTI4NCw4IEBAIHZvaWQgUGFnZTo6dXBkYXRlRE9NVGltZXJBbGlnbm1lbnRJbnRl
cnZhbCgpCiAgICAgICAgIGlmIChtX2lzUHJlcmVuZGVyKQogICAgICAgICAgICAgbV90aW1lckFs
aWdubWVudEludGVydmFsID0gbV90aW1lckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdDsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90aW1lclRocm90dGxpbmdTdGF0
ZUxhc3RDaGFuZ2VkVGltZS50aW1lX3NpbmNlX2Vwb2NoKCkgIT0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6ZHVyYXRpb246Onplcm8oKSk7Ci0gICAgICAgICAgICBtX3RpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPihzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fdGltZXJUaHJvdHRs
aW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgQVNTRVJUKG1fdGltZXJUaHJv
dHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWUpOworICAgICAgICAgICAgbV90aW1lckFsaWdubWVu
dEludGVydmFsID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBtX3RpbWVyVGhyb3R0bGluZ1N0YXRl
TGFzdENoYW5nZWRUaW1lOwogICAgICAgICAgICAgLy8gSWYgd2UncmUgYmVsb3cgdGhlIGxpbWl0
LCBzZXQgdGhlIHRpbWVyLiBJZiBhYm92ZSwgY2xhbXAgdG8gbGltaXQuCiAgICAgICAgICAgICBp
ZiAobV90aW1lckFsaWdubWVudEludGVydmFsIDwgbV90aW1lckFsaWdubWVudEludGVydmFsSW5j
cmVhc2VMaW1pdCkKICAgICAgICAgICAgICAgICBuZWVkc0luY3JlYXNlVGltZXIgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAppbmRleCAyMjgzNGZmNzAzYmY4ODFkNmMyODdjOWRkYjM2ZWQ2ZGVlMTI0YjRi
Li4zNWZhNTExMWEwYjI2MWJjNGU3MDVjNThjYzQzMDExYjAzN2EyOTk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjI1LDcgKzIyNSw3IEBAIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXImIHByb2dy
ZXNzKCkgY29uc3QgeyByZXR1cm4gKm1fcHJvZ3Jlc3M7IH0KICAgICBCYWNrRm9yd2FyZENvbnRy
b2xsZXImIGJhY2tGb3J3YXJkKCkgY29uc3QgeyByZXR1cm4gKm1fYmFja0ZvcndhcmRDb250cm9s
bGVyOyB9CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KKyAg
ICBTZWNvbmRzIGRvbVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Rp
bWVyQWxpZ25tZW50SW50ZXJ2YWw7IH0KIAogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElB
KQogICAgIGVudW0gVmlld01vZGUgewpAQCAtNTI4LDcgKzUyOCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFNob3dBbGxQbHVnaW5zKGJvb2wgc2hvd0FsbCkgeyBtX3Nob3dBbGxQbHVnaW5zID0g
c2hvd0FsbDsgfQogICAgIGJvb2wgc2hvd0FsbFBsdWdpbnMoKSBjb25zdDsKIAotICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0VGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQoc3Rk
OjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaW1l
ckFsaWdubWVudEludGVydmFsSW5jcmVhc2VMaW1pdChTZWNvbmRzKTsKIAogICAgIGJvb2wgaXND
b250cm9sbGVkQnlBdXRvbWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sbGVkQnlBdXRv
bWF0aW9uOyB9CiAgICAgdm9pZCBzZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJv
bGxlZCkgeyBtX2NvbnRyb2xsZWRCeUF1dG9tYXRpb24gPSBjb250cm9sbGVkOyB9CkBAIC02Njcs
MTAgKzY2NywxMCBAQCBwcml2YXRlOgogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01PREVfQ1NTX01F
RElBKQogCiAgICAgVGltZXJUaHJvdHRsaW5nU3RhdGUgbV90aW1lclRocm90dGxpbmdTdGF0ZSB7
IFRpbWVyVGhyb3R0bGluZ1N0YXRlOjpEaXNhYmxlZCB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV90aW1lclRocm90dGxpbmdTdGF0ZUxhc3RDaGFuZ2VkVGlt
ZSB7IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OmR1cmF0aW9uOjp6ZXJvKCkgfTsKLSAgICBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbDsKKyAgICBN
b25vdG9uaWNUaW1lIG1fdGltZXJUaHJvdHRsaW5nU3RhdGVMYXN0Q2hhbmdlZFRpbWU7CisgICAg
U2Vjb25kcyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAgICAgVGltZXIgbV90aW1lckFsaWdu
bWVudEludGVydmFsSW5jcmVhc2VUaW1lcjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG1fdGltZXJBbGlnbm1lbnRJbnRlcnZhbEluY3JlYXNlTGltaXQgeyAwIH07CisgICAgU2Vjb25k
cyBtX3RpbWVyQWxpZ25tZW50SW50ZXJ2YWxJbmNyZWFzZUxpbWl0OwogCiAgICAgYm9vbCBtX2lz
RWRpdGFibGU7CiAgICAgYm9vbCBtX2lzUHJlcmVuZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcAppbmRleCBlNzBiY2EwNTIzZjBlMzk1Zjg3N2ZmNjNjMTJhYTM5NTU3YWRlZDdjLi5l
OTAyYjAyNThkMWUxODlhNjAwMzIyNGZjZGEyNDY4ZDlhNGJlNzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgY29uc3QgZG91YmxlIGZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMjsKLXN0YXRp
YyBjb25zdCBkb3VibGUgZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSA9IDMwOworc3RhdGljIGNvbnN0
IFNlY29uZHMgZmFkZUFuaW1hdGlvbkludGVydmFsID0gU2Vjb25kcygxLjAgLyAzMCk7CiAKIHN0
YXRpYyBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQog
ewpAQCAtMjUwLDcgKzI1MCw3IEBAIHZvaWQgUGFnZU92ZXJsYXk6OnN0b3BGYWRlT3V0QW5pbWF0
aW9uKCkKIHZvaWQgUGFnZU92ZXJsYXk6OnN0YXJ0RmFkZUFuaW1hdGlvbigpCiB7CiAgICAgbV9m
YWRlQW5pbWF0aW9uU3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKLSAgICBtX2ZhZGVBbmltYXRp
b25UaW1lci5zdGFydFJlcGVhdGluZygxIC8gZmFkZUFuaW1hdGlvbkZyYW1lUmF0ZSk7CisgICAg
bV9mYWRlQW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoZmFkZUFuaW1hdGlvbkludGVydmFs
KTsKIH0KIAogdm9pZCBQYWdlT3ZlcmxheTo6ZmFkZUFuaW1hdGlvblRpbWVyRmlyZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA0OTE3NWZiMDhkMjMxZDE3OGEyZDVhMWZiY2RhYzdm
YTFiN2RlYzVkLi5lYjhmODE5NDU0MWFjZTg2NTlmZDUwMjNkYmFjNDJmNjRkZmM3MDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMTY5LDE1ICsxNjksMTUgQEAgc3RhdGljIGNvbnN0
IGJvb2wgZGVmYXVsdFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCA9IGZhbHNlOwog
I2VuZGlmCiAKIHN0YXRpYyBjb25zdCBib29sIGRlZmF1bHRSZXF1aXJlc1VzZXJHZXN0dXJlVG9M
b2FkVmlkZW8gPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0QWxsb3dzUGljdHVy
ZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSB0cnVlOwotCiBzdGF0aWMgY29uc3QgZG91YmxlIGRl
ZmF1bHRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dEluU2Vjb25kcyA9IDU7
CisKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKQogc3RhdGljIGNvbnN0IGJvb2wgZGVm
YXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSB0cnVlOwogI2Vsc2UKIHN0YXRpYyBjb25z
dCBib29sIGRlZmF1bHRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkID0gZmFsc2U7CiAjZW5kaWYK
Kwogc3RhdGljIGNvbnN0IGJvb2wgZGVmYXVsdFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCA9IHRy
dWU7CiBzdGF0aWMgY29uc3QgYm9vbCBkZWZhdWx0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5h
YmxlZCA9IGZhbHNlOwogCkBAIC0yMTEsNyArMjExLDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBh
Z2UqIHBhZ2UpCiAgICAgLCBtX3RvdWNoRXZlbnRFbXVsYXRpb25FbmFibGVkKGZhbHNlKQogI2Vu
ZGlmCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCi0g
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDMpCisg
ICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKDNfcykK
ICAgICAsIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lcigqdGhpcywgJlNldHRpbmdzOjpp
bWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyRmlyZWQpCiAgICAgLCBtX2hpZGRlblBhZ2VET01UaW1l
clRocm90dGxpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9oaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoZmFsc2UpCkBAIC0zNjgsNyArMzY4LDcgQEAgdm9pZCBTZXR0aW5n
czo6c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KGJvb2wgbG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogICAgIC8vIFN0YXJ0aW5nIHRoZXNlIGxvYWRzIHN5bmNocm9ub3VzbHkgaXMgbm90IGlt
cG9ydGFudC4gIEJ5IHB1dHRpbmcgaXQgb24gYSAwLWRlbGF5LCBwcm9wZXJseSBjbG9zaW5nIHRo
ZSBQYWdlIGNhbmNlbHMgdGhlbQogICAgIC8vIGJlZm9yZSB0aGV5IGhhdmUgYSBjaGFuY2UgdG8g
cmVhbGx5IHN0YXJ0LgogICAgIC8vIFNlZSBodHRwOi8vd2Via2l0Lm9yZy9iLzYwNTcyIGZvciBt
b3JlIGRpc2N1c3Npb24uCi0gICAgbV9zZXRJbWFnZUxvYWRpbmdTZXR0aW5nc1RpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKKyAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OmltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJG
aXJlZCgpCkBAIC00MDcsNyArNDA3LDcgQEAgdm9pZCBTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxl
ZChib29sIGFyZUltYWdlc0VuYWJsZWQpCiAgICAgbV9hcmVJbWFnZXNFbmFibGVkID0gYXJlSW1h
Z2VzRW5hYmxlZDsKIAogICAgIC8vIFNlZSBjb21tZW50IGluIHNldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseS4KLSAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90
KDApOworICAgIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0UHJlZmVyTUlNRVR5cGVGb3JJbWFnZXMoYm9vbCBw
cmVmZXJNSU1FVHlwZUZvckltYWdlcykKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFNldHRpbmdz
OjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3VsZE5vdFJlbG9hZElG
cmFtZXNGb3JVbgogICAgIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsgPSBzaG91bGRO
b3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRN
aW5pbXVtRE9NVGltZXJJbnRlcnZhbChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFs
KQordm9pZCBTZXR0aW5nczo6c2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoU2Vjb25kcyBpbnRl
cnZhbCkKIHsKICAgICBhdXRvIG9sZFRpbWVySW50ZXJ2YWwgPSBtX21pbmltdW1ET01UaW1lcklu
dGVydmFsOwogICAgIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWwgPSBpbnRlcnZhbDsKQEAgLTQ1
Nyw3ICs0NTcsNyBAQCB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGludGVydmFsKQogCiAgICAgZm9yIChGcmFtZSogZnJh
bWUgPSAmbV9wYWdlLT5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50
cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAg
ICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11bVRpbWVySW50ZXJ2YWwob2xkVGlt
ZXJJbnRlcnZhbCk7CisgICAgICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+YWRqdXN0TWluaW11
bVRpbWVySW50ZXJ2YWwoU2Vjb25kcyhvbGRUaW1lckludGVydmFsKSk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMGE5NTdlZmUwZWVkOTFhMDQwMDlhZTE1N2Q1NDM2Nzg5
YWY0ZDRlZi4uNjg2MjkzOGNhNTY4OGViNTJmNGNkMmE0NzA0NjNkNTNmZmYwYmYwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMTY5LDggKzE2OSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAg
IGJvb2wgbmVlZHNBY3JvYmF0RnJhbWVSZWxvYWRpbmdRdWlyaygpIGNvbnN0IHsgcmV0dXJuIG1f
bmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcms7IH0KIAotICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyk7
IC8vIEluaXRpYWxpemVkIHRvIERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkuCi0g
ICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbXVtRE9NVGltZXJJbnRlcnZhbCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWluaW11bURPTVRpbWVySW50ZXJ2YWw7IH0KKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldE1pbmltdW1ET01UaW1lckludGVydmFsKFNlY29uZHMpOyAvLyBJbml0aWFs
aXplZCB0byBET01UaW1lcjo6ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLgorICAgIFNlY29uZHMg
bWluaW11bURPTVRpbWVySW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1ET01UaW1l
ckludGVydmFsOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExheW91dEludGVydmFs
KFNlY29uZHMpOwogICAgIFNlY29uZHMgbGF5b3V0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBt
X2xheW91dEludGVydmFsOyB9CkBAIC0yNDQsOCArMjQ0LDggQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyB2b2lkIHNldFNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycyhib29sKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJ
bkNTU0F0dHJpYnV0ZVNldHRlcnMoKTsKIAotICAgIHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1v
dmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91YmxlIHRpbWUpIHsgbV90aW1lV2l0aG91dE1v
dXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyA9IHRpbWU7IH0KLSAgICBkb3VibGUgdGlt
ZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoKSBjb25zdCB7IHJldHVy
biBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOyB9CisgICAg
dm9pZCBzZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyhTZWNv
bmRzIHRpbWUpIHsgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9s
cyA9IHRpbWU7IH0KKyAgICBTZWNvbmRzIHRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhp
ZGluZ0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRC
ZWZvcmVIaWRpbmdDb250cm9sczsgfQogCiAgICAgYm9vbCBoaWRkZW5QYWdlQ1NTQW5pbWF0aW9u
U3VzcGVuc2lvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2hpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZDsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlkZGVu
UGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkKGJvb2wpOwpAQCAtMzI2LDcgKzMyNiw3
IEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPEZvbnRHZW5lcmljRmFtaWxp
ZXM+IG1fZm9udEdlbmVyaWNGYW1pbGllczsKICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJs
b2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgIFNlY29uZHMgbV9sYXlv
dXRJbnRlcnZhbDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bURPTVRp
bWVySW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX21pbmltdW1ET01UaW1lckludGVydmFsOwogCiAg
ICAgU0VUVElOR1NfTUVNQkVSX1ZBUklBQkxFUwogCkBAIC0zNDksNyArMzQ5LDcgQEAgcHJpdmF0
ZToKICNlbmRpZgogICAgIGJvb2wgbV9zY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVk
IDogMTsKIAotICAgIGRvdWJsZSBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzOworICAgIFNlY29uZHMgbV90aW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVI
aWRpbmdDb250cm9sczsKIAogICAgIFRpbWVyIG1fc2V0SW1hZ2VMb2FkaW5nU2V0dGluZ3NUaW1l
cjsKICAgICB2b2lkIGltYWdlTG9hZGluZ1NldHRpbmdzVGltZXJGaXJlZCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzY1ODNjMTJiYTgyOTFhYWE2YWU0
YmM1ZGZkZDQ2YjI0YzU3NjQzNS4uMjg3NjI4NmM4YzA3MThmODM2MmRhYmMxNWYyYmYzZDQxMWQw
ZjIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBAIC0zMywx
MCArMzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN1c3BlbmRhYmxlVGltZXI6OlN1c3Bl
bmRhYmxlVGltZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICA6IEFjdGl2
ZURPTU9iamVjdCgmY29udGV4dCkKLSAgICAsIG1fc3VzcGVuZGVkKGZhbHNlKQotICAgICwgbV9z
YXZlZE5leHRGaXJlSW50ZXJ2YWwoMCkKLSAgICAsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCgwKQot
ICAgICwgbV9zYXZlZElzQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC0xMDEsNyArOTcsNyBAQCB2
b2lkIFN1c3BlbmRhYmxlVGltZXI6OmNhbmNlbCgpCiAgICAgICAgIG1fc3VzcGVuZGVkID0gZmFs
c2U7CiB9CiAKLXZvaWQgU3VzcGVuZGFibGVUaW1lcjo6c3RhcnRSZXBlYXRpbmcoZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhTZWNv
bmRzIHJlcGVhdEludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRp
bWVyQmFzZTo6c3RhcnRSZXBlYXRpbmcocmVwZWF0SW50ZXJ2YWwpOwpAQCAtMTEyLDI3ICsxMDgs
MjcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpzdGFydFJlcGVhdGluZyhkb3VibGUgcmVwZWF0
SW50ZXJ2YWwpCiAgICAgfQogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hv
dChkb3VibGUgaW50ZXJ2YWwpCit2b2lkIFN1c3BlbmRhYmxlVGltZXI6OnN0YXJ0T25lU2hvdChT
ZWNvbmRzIGludGVydmFsKQogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIFRpbWVy
QmFzZTo6c3RhcnRPbmVTaG90KGludGVydmFsKTsKICAgICBlbHNlIHsKICAgICAgICAgbV9zYXZl
ZElzQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBpbnRl
cnZhbDsKLSAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZl
ZFJlcGVhdEludGVydmFsID0gMF9zOwogICAgIH0KIH0KIAotZG91YmxlIFN1c3BlbmRhYmxlVGlt
ZXI6OnJlcGVhdEludGVydmFsKCkgY29uc3QKK1NlY29uZHMgU3VzcGVuZGFibGVUaW1lcjo6cmVw
ZWF0SW50ZXJ2YWwoKSBjb25zdAogewogICAgIGlmICghbV9zdXNwZW5kZWQpCiAgICAgICAgIHJl
dHVybiBUaW1lckJhc2U6OnJlcGVhdEludGVydmFsKCk7CiAgICAgaWYgKG1fc2F2ZWRJc0FjdGl2
ZSkKICAgICAgICAgcmV0dXJuIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbDsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMF9zOwogfQogCi12b2lkIFN1c3BlbmRhYmxlVGltZXI6OmF1Z21lbnRGaXJl
SW50ZXJ2YWwoZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50Rmly
ZUludGVydmFsKFNlY29uZHMgZGVsdGEpCiB7CiAgICAgaWYgKCFtX3N1c3BlbmRlZCkKICAgICAg
ICAgVGltZXJCYXNlOjphdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsKQEAgLTE0MSwxMSArMTM3
LDExIEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6YXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUg
ZGVsdGEpCiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9zYXZlZElzQWN0aXZlID0gdHJ1ZTsKICAg
ICAgICAgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwgPSBkZWx0YTsKLSAgICAgICAgbV9zYXZlZFJl
cGVhdEludGVydmFsID0gMDsKKyAgICAgICAgbV9zYXZlZFJlcGVhdEludGVydmFsID0gMF9zOwog
ICAgIH0KIH0KIAotdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2YWwo
ZG91YmxlIGRlbHRhKQordm9pZCBTdXNwZW5kYWJsZVRpbWVyOjphdWdtZW50UmVwZWF0SW50ZXJ2
YWwoU2Vjb25kcyBkZWx0YSkKIHsKICAgICBpZiAoIW1fc3VzcGVuZGVkKQogICAgICAgICBUaW1l
ckJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkZWx0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Vz
cGVuZGFibGVUaW1lci5oCmluZGV4IGUxNWYwYTcwOTM3ODUwYTNhNjkwMWY3MjBjNWRlMWY2MDk5
MTM4NjQuLjEzNDU3NTE4NTI0ZGQyMTJhOTJiN2Y4NTU1MTc4MWEwMzY1ZDE5MzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC00MywxNyArNDMsMTIgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCB7IHJldHVybiBUaW1lckJhc2U6OmlzQWN0aXZl
KCkgfHwgKG1fc3VzcGVuZGVkICYmIG1fc2F2ZWRJc0FjdGl2ZSk7IH0KICAgICBib29sIGlzU3Vz
cGVuZGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdXNwZW5kZWQ7IH0KIAotICAgIHZvaWQgc3RhcnRS
ZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVydmFsKTsKLSAgICB2b2lkIHN0YXJ0T25lU2hvdChk
b3VibGUgaW50ZXJ2YWwpOwotICAgIGRvdWJsZSByZXBlYXRJbnRlcnZhbCgpIGNvbnN0OwotICAg
IHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChkb3VibGUgZGVsdGEpOwotICAgIHZvaWQgYXVnbWVu
dFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhT
ZWNvbmRzIHJlcGVhdEludGVydmFsKTsKKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGlu
dGVydmFsKTsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3Q7CiAKLSAgICB2b2lk
IHN0YXJ0UmVwZWF0aW5nKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWwp
IHsgc3RhcnRSZXBlYXRpbmcobXNUb1NlY29uZHMocmVwZWF0SW50ZXJ2YWwpKTsgfQotICAgIHZv
aWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3Rh
cnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVydmFsKSk7IH0KLSAgICBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHJlcGVhdEludGVydmFsTVMoKSBjb25zdCB7IHJldHVybiBzZWNvbmRzVG9NUyhy
ZXBlYXRJbnRlcnZhbCgpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29u
ZHMoZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgZGVsdGEpIHsgYXVnbWVudFJlcGVhdEludGVydmFsKG1zVG9TZWNvbmRz
KGRlbHRhKSk7IH0KKyAgICB2b2lkIGF1Z21lbnRGaXJlSW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7
CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25kcyBkZWx0YSk7CiAKICAgICB1
c2luZyBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudEludGVydmFsOwogICAgIHVzaW5nIFRp
bWVyQmFzZTo6b3BlcmF0b3IgbmV3OwpAQCAtNzEsMTEgKzY2LDExIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1l
KCkgZmluYWw7CiAKLSAgICBib29sIG1fc3VzcGVuZGVkOworICAgIFNlY29uZHMgbV9zYXZlZE5l
eHRGaXJlSW50ZXJ2YWw7CisgICAgU2Vjb25kcyBtX3NhdmVkUmVwZWF0SW50ZXJ2YWw7CiAKLSAg
ICBkb3VibGUgbV9zYXZlZE5leHRGaXJlSW50ZXJ2YWw7Ci0gICAgZG91YmxlIG1fc2F2ZWRSZXBl
YXRJbnRlcnZhbDsKLSAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZTsKKyAgICBib29sIG1fc3VzcGVu
ZGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fc2F2ZWRJc0FjdGl2ZSB7IGZhbHNlIH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1doZWVsRXZlbnRUZXN0VHJpZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1doZWVsRXZl
bnRUZXN0VHJpZ2dlci5jcHAKaW5kZXggMzk4ODdmMTM1MjI5NDEyZTNmMDM1MjNkZjRiNTk3YmNl
Mzc2MGM3NS4uZWZiYjM2ZGVhOTY5MGUxMmI4Y2JmZTViODNlMmY1ZjljMDJiY2E0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdFRyaWdnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RUcmlnZ2VyLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCB2b2lkIFdoZWVsRXZlbnRUZXN0VHJpZ2dlcjo6c2V0VGVzdENhbGxiYWNrQW5kU3Rh
cnROb3RpZmljYXRpb25UaW1lcihzdGQ6OmZ1bmN0aQogICAgIH0KICAgICAKICAgICBpZiAoIW1f
dGVzdFRyaWdnZXJUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3Rlc3RUcmlnZ2VyVGltZXIu
c3RhcnRSZXBlYXRpbmcoMS4wIC8gNjAuMCk7CisgICAgICAgIG1fdGVzdFRyaWdnZXJUaW1lci5z
dGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiB9CiAKIHZvaWQgV2hlZWxFdmVudFRl
c3RUcmlnZ2VyOjpkZWZlclRlc3RzRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBp
ZGVudGlmaWVyLCBEZWZlclRlc3RUcmlnZ2VyUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXgg
OWE0NmRlYjQxMWFmYzlhY2FiMTRkOWU2Y2Q3YTgxZGFkMmY3NWNlZC4uYTg1YmFhYTg5NjNjNmVi
MGM0ZmMzMWQ3YTQzOTUzZThmZmYyZmEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTQ4LDggKzQ4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNBbmltYXRpb25U
aW1lckRlbGF5ID0gMS4wIC8gNjA7Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNCZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWVOb3RTZXQgPSAtMTsKK3N0YXRpYyBjb25zdCBhdXRvIGFuaW1hdGlvblRpbWVy
RGVsYXkgPSBTZWNvbmRzKDEuMCAvIDYwKTsKK3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lTm90U2V0ID0gLTE7CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRh
dGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MSw3ICs3MSw3IEBAIEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSYgZnJhbWUpCiAgICAgOiBt
X2FuaW1hdGlvblRpbWVyKCp0aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmFuaW1h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3VwZGF0ZVN0eWxlSWZOZWVkZWREaXNwYXRjaGVyKCp0
aGlzLCAmQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZVN0eWxlSWZOZWVkZWREaXNw
YXRjaGVyRmlyZWQpCiAgICAgLCBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUoY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKKyAgICAsIG1fYmVn
aW5BbmltYXRpb25VcGRhdGVUaW1lKGJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKICAg
ICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCgwKQogICAgICwgbV93YWl0aW5nRm9yQXN5
bmNTdGFydE5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1faXNTdXNwZW5kZWQoZmFsc2UpCkBA
IC0xNTIsMTEgKzE1MiwxMSBAQCBkb3VibGUgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvbnMoU2V0Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qCiAKIHZvaWQgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7Ci0gICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0g
MDsKKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNlOwogCiAgICAgY29uc3QgQ29tcG9zaXRl
QW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24gPSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0
KCZyZW5kZXJlcik7CiAgICAgaWYgKCFjb21wb3NpdGVBbmltYXRpb24tPmlzU3VzcGVuZGVkKCkg
JiYgY29tcG9zaXRlQW5pbWF0aW9uLT5oYXNBbmltYXRpb25zKCkpCi0gICAgICAgIHRpbWVUb05l
eHRTZXJ2aWNlID0gY29tcG9zaXRlQW5pbWF0aW9uLT50aW1lVG9OZXh0U2VydmljZSgpOworICAg
ICAgICB0aW1lVG9OZXh0U2VydmljZSA9IFNlY29uZHMoY29tcG9zaXRlQW5pbWF0aW9uLT50aW1l
VG9OZXh0U2VydmljZSgpKTsKIAogICAgIGlmIChtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkg
JiYgKG1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSB8fCBtX2FuaW1hdGlvblRpbWVy
Lm5leHRGaXJlSW50ZXJ2YWwoKSA8PSB0aW1lVG9OZXh0U2VydmljZSkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTE2NiwxOSArMTY2LDIwIEBAIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyRWxlbWVudCYKIAogdm9pZCBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0Q2hhbmdl
ZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hhbmdlZCovKQogewotICAgIGRvdWJs
ZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5nZWQpOwor
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGNvbnZlcnQgcmVzdCBvZiBhbmltYXRpb25zIGNvZGUgdG8g
U2Vjb25kcyBhbmQgTW9ub3RvbmljVGltZS4KKyAgICBTZWNvbmRzIHRpbWVUb05leHRTZXJ2aWNl
ID0gU2Vjb25kcyh1cGRhdGVBbmltYXRpb25zKGNhbGxTZXRDaGFuZ2VkKSk7CiAKLSAgICBMT0co
QW5pbWF0aW9ucywgInVwZGF0ZUFuaW1hdGlvblRpbWVyOiB0aW1lVG9OZXh0U2VydmljZSBpcyAl
LjJmIiwgdGltZVRvTmV4dFNlcnZpY2UpOworICAgIExPRyhBbmltYXRpb25zLCAidXBkYXRlQW5p
bWF0aW9uVGltZXI6IHRpbWVUb05leHRTZXJ2aWNlIGlzICUuMmZtcyIsIHRpbWVUb05leHRTZXJ2
aWNlLm1pbGxpc2Vjb25kcygpKTsKIAogICAgIC8vIElmIHdlIHdhbnQgc2VydmljZSBpbW1lZGlh
dGVseSwgd2Ugc3RhcnQgYSByZXBlYXRpbmcgdGltZXIgdG8gcmVkdWNlIHRoZSBvdmVyaGVhZCBv
ZiBzdGFydGluZwogICAgIGlmICghdGltZVRvTmV4dFNlcnZpY2UpIHsKLSAgICAgICAgaWYgKCFt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRl
cnZhbCgpID09IDApCi0gICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5n
KGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlz
QWN0aXZlKCkgfHwgIW1fYW5pbWF0aW9uVGltZXIucmVwZWF0SW50ZXJ2YWwoKSkKKyAgICAgICAg
ICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRSZXBlYXRpbmcoYW5pbWF0aW9uVGltZXJEZWxheSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHNlcnZp
Y2UsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZSB0aW1lciBpcyBubyBsb25nZXIgcnVubmluZwot
ICAgIGlmICh0aW1lVG9OZXh0U2VydmljZSA8IDApIHsKKyAgICBpZiAodGltZVRvTmV4dFNlcnZp
Y2UgPCAwX3MpIHsKICAgICAgICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3RvcCgpOwogICAgICAgICByZXR1cm47CkBAIC0y
MjIsNyArMjIzLDcgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6ZmlyZUV2ZW50
c0FuZFVwZGF0ZVN0eWxlKCkKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0
VXBkYXRlU3R5bGVJZk5lZWRlZERpc3BhdGNoZXIoKQogewogICAgIGlmICghbV91cGRhdGVTdHls
ZUlmTmVlZGVkRGlzcGF0Y2hlci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3VwZGF0ZVN0eWxlSWZO
ZWVkZWREaXNwYXRjaGVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV91cGRhdGVTdHlsZUlm
TmVlZGVkRGlzcGF0Y2hlci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZTo6YWRkRXZlbnRUb0Rpc3BhdGNoKFBhc3NSZWZQdHI8RWxlbWVudD4g
ZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgZG91YmxlIGVsYXBzZWRUaW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIGJvb2wgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OnBhdXNlVHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiBy
ZW5kZXJlciwKIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRp
b25VcGRhdGVUaW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
KTsKLSAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0gY0JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUgPT0g
YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAgICAgICBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogCiAgICAgcmV0dXJu
IG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwpAQCAtMzkzLDcgKzM5NCw3IEBAIGRvdWJsZSBB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHZv
aWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsK
ICAgICBpZiAoIW1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAg
ICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
Tm90U2V0KTsKICAgICArK21fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGIwMzUyNzA4OTFkMGMy
Njg5OTAzNjNjNGZkMGY2ZDE2YTI3MWUzNjkuLjM3OGRlYjBiMTdmYWFlZGNiNTgzOGI2OGJmN2Nl
NzI5ZTBmM2E1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMu
bW0KQEAgLTc4LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgZG91YmxlIEV2
ZW50SGFuZGxlcjo6VGV4dERyYWdEZWxheSA9IDAuMTU7CiAjZW5kaWYKIAotY29uc3QgZG91Ymxl
IHJlc2V0TGF0Y2hlZFN0YXRlVGltZW91dCA9IDAuMTsKK2NvbnN0IFNlY29uZHMgcmVzZXRMYXRj
aGVkU3RhdGVEZWxheSA9IDAuMV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJy
ZW50TlNFdmVudFNsb3QoKQogewpAQCAtOTI0LDcgKzkyNCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVy
OjpjbGVhck9yU2NoZWR1bGVDbGVhcmluZ0xhdGNoZWRTdGF0ZUlmTmVlZGVkKGNvbnN0IFBsYXRm
b3JtV2hlCiAgICAgLy8gcmVzZXQgdGhlIGxhdGNoZWQgc3RhdGUuIElmIGl0IGRvZXMsIHN0b3Ag
dGhlIHRpbWVyLCBsZWF2aW5nIHRoZSBsYXRjaGVkIHN0YXRlIHVudG91Y2hlZC4KICAgICBpZiAo
IW1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5pc0FjdGl2ZSgpKSB7CiAgICAgICAg
IGlmIChldmVudC5pc0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSkKLSAgICAgICAgICAgIG1fcGVu
ZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1lci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3Rh
dGVUaW1lb3V0KTsKKyAgICAgICAgICAgIG1fcGVuZGluZ01vbWVudHVtV2hlZWxFdmVudHNUaW1l
ci5zdGFydE9uZVNob3QocmVzZXRMYXRjaGVkU3RhdGVEZWxheSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgLy8gSWYgYW5vdGhlciB3aGVlbCBldmVudCBzY3JvbGxpbmcgc3RhcnRzLCBzdG9wIHRo
ZSB0aW1lciBtYW51YWxseSwgYW5kIHJlc2V0IHRoZSBsYXRjaGVkIHN0YXRlIGltbWVkaWF0ZWx5
LgogICAgICAgICBpZiAoZXZlbnQuc2hvdWxkQ29uc2lkZXJMYXRjaGluZygpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5k
ZXggNTVlNGQ2NTk1ZWViNjA1M2Y2YTZhOTQ1MGI5ZGFlYjgxMjhjNTI3MC4uMGJiMDk4MDBmOGZh
ZTdhMWU3MjdjOTQ0ZGVkZGIxZjZhNTY2ZDIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtMTIyLDcgKzEyMiw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKCk7CiAKICAg
ICBib29sIG1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYsIGJvb2wmIG1vdXNlSXNPdmVy
QnV0dG9uKSBjb25zdDsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KikgY29uc3Q7CisgICAgU2Vj
b25kcyByZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duKEhpZ2hsaWdodCop
IGNvbnN0OwogICAgIHZvaWQgZGV0ZXJtaW5lQWN0aXZlSGlnaGxpZ2h0VGltZXJGaXJlZCgpOwog
CiAgICAgc3RhdGljIGJvb2wgaGlnaGxpZ2h0c0FyZUVxdWl2YWxlbnQoY29uc3QgSGlnaGxpZ2h0
KiBhLCBjb25zdCBIaWdobGlnaHQqIGIpOwpAQCAtMTUxLDkgKzE1MSw5IEBAIHByaXZhdGU6CiAK
ICAgICBIaWdobGlnaHQ6OlR5cGUgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHsgMCB9OwogCi0gICAg
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2xhc3RTZWxlY3Rpb25DaGFu
Z2VUaW1lOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9uZXh0
QWN0aXZlSGlnaGxpZ2h0Q2hhbmdlVGltZTsKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
Ojp0aW1lX3BvaW50IG1fbGFzdE1vdXNlVXBUaW1lOworICAgIE1vbm90b25pY1RpbWUgbV9sYXN0
U2VsZWN0aW9uQ2hhbmdlVGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbmV4dEFjdGl2ZUhpZ2hs
aWdodENoYW5nZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX2xhc3RNb3VzZVVwVGltZTsKIAog
ICAgIFJlZlB0cjxIaWdobGlnaHQ+IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxpZ2h0
OwogICAgIEludFBvaW50IG1fbW91c2VQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmluZGV4IDlhODE1YjVhZTU1
OTY0OTliZGY2MTZlZDQyMTFiOWE1MjM4MTVlNjIuLmU4ODQ5Mjk0NmE1YmFlZTE2OTRlMDRjNTI2
NzY5NzQ0ZWI5NGVlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtMzY4LDcgKzM2OCw3IEBAIHZvaWQgU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6c2VsZWN0aW9uUmVjdHNEaWRDaGFuZ2UoY29uc3QgVmVjdG9y
PExheW91dFJlY3Q+CiAgICAgbV9jdXJyZW50U2VsZWN0aW9uUmVjdHMgPSByZWN0czsKICAgICBt
X2lzVGV4dE9ubHkgPSBpc1RleHRPbmx5OwogCi0gICAgbV9sYXN0U2VsZWN0aW9uQ2hhbmdlVGlt
ZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgIG1fbGFzdFNlbGVjdGlv
bkNoYW5nZVRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKIAogICAgIGNvbXBhY3RSZWN0c1dp
dGhHYXBSZWN0cyhtX2N1cnJlbnRTZWxlY3Rpb25SZWN0cywgZ2FwUmVjdHMpOwogCkBAIC0zOTEs
NyArMzkxLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjppbnZhbGlkYXRlSGln
aGxpZ2h0c09mVHlwZShIaWdobGlnaHQ6OlR5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9kaXJ0eUhpZ2hsaWdodFR5cGVzIHw9IHR5cGU7Ci0gICAgbV9idWlsZEhpZ2hsaWdodHNU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9idWlsZEhpZ2hsaWdodHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIH0KIAogdm9pZCBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpidWlsZFBv
dGVudGlhbEhpZ2hsaWdodHNJZk5lZWRlZCgpCkBAIC00MzMsMTUgKzQzMywxNSBAQCBib29sIFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlSXNPdmVySGlnaGxpZ2h0KEhpZ2hsaWdodCYg
aGlnaGxpZ2h0LCBib29sJgogICAgIHJldHVybiBob3ZlcmVkOwogfQogCi1zdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CitTZWNv
bmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24oSGlnaGxpZ2h0KiBoaWdobGlnaHQpIGNvbnN0CiB7CiAgICAgaWYgKCFo
aWdobGlnaHQpCi0gICAgICAgIHJldHVybiAwbXM7CisgICAgICAgIHJldHVybiAwX3M7CiAKLSAg
ICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAwbXM7Cisg
ICAgU2Vjb25kcyBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biA9IDAuMl9z
OwogICAgIFBhZ2UqIHBhZ2UgPSBtX21haW5GcmFtZS5wYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYg
cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuc2VsZWN0aW9uKCku
c2VsZWN0aW9uKCkuaXNDb250ZW50RWRpdGFibGUoKSkKLSAgICAgICAgbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CisgICAgICAgIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMV9zOwogCiAgICAgYm9vbCBtb3VzZVByZXNzZWQg
PSBtX21haW5GcmFtZS5ldmVudEhhbmRsZXIoKS5tb3VzZVByZXNzZWQoKTsKIApAQCAtNDQ5LDE1
ICs0NDksMTQgQEAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHQKICAgICAvLyBieSB2aXJ0dWUgb2Yg
YmVpbmcgZXhwYW5kZWQgdG8gaW5jbHVkZSB0aGUgZW50aXJlIHRlbGVwaG9uZSBudW1iZXIuIEhv
d2V2ZXIsIHdlIHdpbGwgc3RpbGwgYXZvaWQgaGlnaGxpZ2h0aW5nCiAgICAgLy8gdGVsZXBob25l
IG51bWJlcnMgd2hpbGUgdGhlIG1vdXNlIGlzIGRvd24uCiAgICAgaWYgKGhpZ2hsaWdodC0+dHlw
ZSgpID09IEhpZ2hsaWdodDo6VGVsZXBob25lTnVtYmVyVHlwZSkKLSAgICAgICAgcmV0dXJuIG1v
dXNlUHJlc3NlZCA/IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIDogMG1z
OworICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdo
dFNob3VsZEJlU2hvd24gOiAwX3M7CiAKLSAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVh
ZHlfY2xvY2s6Om5vdygpOworICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAg
ICAgYXV0byB0aW1lU2luY2VMYXN0U2VsZWN0aW9uQ2hhbmdlID0gbm93IC0gbV9sYXN0U2VsZWN0
aW9uQ2hhbmdlVGltZTsKICAgICBhdXRvIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFjdGl2ZSA9
IG5vdyAtIG1fbmV4dEFjdGl2ZUhpZ2hsaWdodENoYW5nZVRpbWU7Ci0gICAgYXV0byB0aW1lU2lu
Y2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBU
aW1lOworICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwX3Mg
OiBub3cgLSBtX2xhc3RNb3VzZVVwVGltZTsKIAotICAgIGF1dG8gcmVtYWluaW5nRGVsYXkgPSBt
aW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6bWluKHN0ZDo6bWlu
KHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hsaWdodEJlY2FtZUFj
dGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKLSAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1
cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4ocmVtYWluaW5nRGVsYXkpOwor
ICAgIHJldHVybiBtaW5pbXVtVGltZVVudGlsSGlnaGxpZ2h0U2hvdWxkQmVTaG93biAtIHN0ZDo6
bWluKHN0ZDo6bWluKHRpbWVTaW5jZUxhc3RTZWxlY3Rpb25DaGFuZ2UsIHRpbWVTaW5jZUhpZ2hs
aWdodEJlY2FtZUFjdGl2ZSksIHRpbWVTaW5jZUxhc3RNb3VzZVVwKTsKIH0KIAogdm9pZCBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHRUaW1lckZpcmVk
KCkKQEAgLTcyMyw3ICs3MjIsNyBAQCB2b2lkIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OmRl
dGVybWluZUFjdGl2ZUhpZ2hsaWdodChib29sJiBtb3VzZUlzT3ZlckFjdGl2ZQogICAgICAgICAv
LyBoaWdobGlnaHQsIGFuZCBvbmx5IHJlc2V0IHRoZSBhY3RpdmUgaGlnaGxpZ2h0IGh5c3RlcmVz
aXMgd2hlbiB0aGF0IGNoYW5nZXMuCiAgICAgICAgIGlmIChtX25leHRBY3RpdmVIaWdobGlnaHQg
IT0gbmV3QWN0aXZlSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHQgPSBuZXdBY3RpdmVIaWdobGlnaHQ7Ci0gICAgICAgICAgICBtX25leHRBY3RpdmVIaWdobGln
aHRDaGFuZ2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAg
ICAgICBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hs
aWdodCA9IG51bGxwdHI7CkBAIC03MzQsNyArNzMzLDcgQEAgdm9pZCBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyOjpkZXRlcm1pbmVBY3RpdmVIaWdobGlnaHQoYm9vbCYgbW91c2VJc092ZXJBY3Rp
dmUKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gcmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0
U2hvdWxkQmVTaG93biA9IHRoaXMtPnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJl
U2hvd24obmV3QWN0aXZlSGlnaGxpZ2h0LmdldCgpKTsKLSAgICAgICAgaWYgKHJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPiBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr
OjpkdXJhdGlvbjo6emVybygpKSB7CisgICAgICAgIGlmIChyZW1haW5pbmdUaW1lVW50aWxIaWdo
bGlnaHRTaG91bGRCZVNob3duID4gMF9zKSB7CiAgICAgICAgICAgICBtX2RldGVybWluZUFjdGl2
ZUhpZ2hsaWdodFRpbWVyLnN0YXJ0T25lU2hvdChyZW1haW5pbmdUaW1lVW50aWxIaWdobGlnaHRT
aG91bGRCZVNob3duKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtNzY2LDcg
Kzc2NSw3IEBAIGJvb2wgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVudChQYWdl
T3ZlcmxheSYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVuCiAgICAgICAgIFJlZlB0cjxIaWdobGln
aHQ+IG1vdXNlRG93bkhpZ2hsaWdodCA9IG1fY3VycmVudE1vdXNlRG93bk9uQnV0dG9uSGlnaGxp
Z2h0OwogICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25PbkJ1dHRvbkhpZ2hsaWdodCA9IG51bGxw
dHI7CiAKLSAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Ns
b2NrOjpub3coKTsKKyAgICAgICAgbV9sYXN0TW91c2VVcFRpbWUgPSBNb25vdG9uaWNUaW1lOjpu
b3coKTsKIAogICAgICAgICBpZiAobW91c2VJc092ZXJBY3RpdmVIaWdobGlnaHRCdXR0b24gJiYg
bW91c2VEb3duSGlnaGxpZ2h0KSB7CiAgICAgICAgICAgICBoYW5kbGVDbGljayhtX21vdXNlUG9z
aXRpb24sICptb3VzZURvd25IaWdobGlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFj
L1RleHRJbmRpY2F0b3JXaW5kb3cubW0KaW5kZXggZTRlMjBkMjI3NjhjODgyZTkwMGIxMmI0MWZl
MDJlY2RmYjQ4ZjYyOC4uNTA0NGVhZjYyMDRhM2JjMmI4ZGRlNmFlNGE4NTk5YWI1MTE2YjFjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvVGV4dEluZGljYXRvcldpbmRvdy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9UZXh0SW5kaWNhdG9yV2luZG93Lm1tCkBA
IC00NzUsNyArNDc1LDcgQEAgdm9pZCBUZXh0SW5kaWNhdG9yV2luZG93OjpzZXRUZXh0SW5kaWNh
dG9yKFJlZjxUZXh0SW5kaWNhdG9yPiB0ZXh0SW5kaWNhdG9yLCBDR1IKICAgICAgICAgW21fdGV4
dEluZGljYXRvclZpZXcgcHJlc2VudF07CiAKICAgICBpZiAobGlmZXRpbWUgPT0gVGV4dEluZGlj
YXRvcldpbmRvd0xpZmV0aW1lOjpUZW1wb3JhcnkpCi0gICAgICAgIG1fdGVtcG9yYXJ5VGV4dElu
ZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdCh0aW1lQmVmb3JlRmFkZVN0YXJ0cyk7CisgICAgICAg
IG1fdGVtcG9yYXJ5VGV4dEluZGljYXRvclRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRzKHRpbWVC
ZWZvcmVGYWRlU3RhcnRzKSk7CiB9CiAKIHZvaWQgVGV4dEluZGljYXRvcldpbmRvdzo6Y2xvc2VX
aW5kb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBmNmU1NDZiOTg3MWM5MDgwNGJiNTc4
MTMwNWUxNDNjZWUyMWVjODk2Li44MWMzMDE0ZmE2NTI1ZTFmNmZkZjdkM2UwYzM2ZGNkMjI3NjI0
ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9B
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIHZvaWQgQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVTY3JvbGxQb3NpdGlvbkFmdGVy
QXN5bmNTY3JvbGwoU2NyCiAgICAgfQogCiAgICAgbV9zY2hlZHVsZWRTY3JvbGxVcGRhdGUgPSBz
Y3JvbGxVcGRhdGU7Ci0gICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV91cGRhdGVOb2RlU2Nyb2xsUG9zaXRpb25UaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVTY3Jv
bGxQb3NpdGlvbkFmdGVyQXN5bmNTY3JvbGxUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQppbmRleCA0Y2NmNDQ0MjlmOTllMTA5Zjg3NTViOTQ2MDEyNmJiY2E3ZTViOWVhLi5lZDFk
N2Q2MTM5ZjIwNTJiNGJkOGExNjg1NzUwN2Q2MTI4ZjA0MmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCkBAIC04Niw3ICs4Niw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OnNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWVDb21t
aXR0ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3Njcm9sbGlu
Z1N0YXRlVHJlZUNvbW1pdHRlclRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjb21taXRUcmVlU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCmluZGV4IGQ0M2Q5NGIyNDdhNmU0ZjkzOTc0MTU4MjYxOTdjMmIwYWRmMDcxNDguLjUz
ZjQwZDYwMTQ0ZDA5NGY2ODUzNWY0MTM0ODhmYzRmOTMwOGY2OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgpCiAgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVUcmVl
Q29tbWl0dGVyVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9zY3Jv
bGxpbmdTdGF0ZVRyZWVDb21taXR0ZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlbmVyaWNUYXNrUXVldWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1ZS5jcHAKaW5kZXggMWFhN2UxYjg3NjNmZjFi
NDdkZmI4ZTIxMzk0MDc2NDVlYjc1NWViMi4uMzc5NGYxZWYxZDAxY2Y1YWU2MjExZGJlNDU4NzE5
NTNhNjM0ZjJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rh
c2tRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VuZXJpY1Rhc2tRdWV1
ZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgdm9pZCBUYXNrRGlzcGF0Y2hlcjxUaW1lcj46OnBvc3RU
YXNrKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICBtX3BlbmRpbmdUYXNrcy5hcHBl
bmQoV1RGTW92ZShmdW5jdGlvbikpOwogICAgIHBlbmRpbmdEaXNwYXRjaGVycygpLmFwcGVuZCht
X3dlYWtQdHJGYWN0b3J5LmNyZWF0ZVdlYWtQdHIoKSk7CiAgICAgaWYgKCFzaGFyZWRUaW1lcigp
LmlzQWN0aXZlKCkpCi0gICAgICAgIHNoYXJlZFRpbWVyKCkuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBzaGFyZWRUaW1lcigpLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBUaW1lciYgVGFza0Rp
c3BhdGNoZXI8VGltZXI+OjpzaGFyZWRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9IeXN0ZXJlc2lzQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0h5c3RlcmVzaXNBY3Rpdml0eS5oCmluZGV4IDEyOGVmODIwOWUyYTc0ODMwOWUwNjI4MjBlZGM4
MjM5ODBjMGIyZTEuLmFkNGViNzdhZTU3YmUzMmIzOTM3OGYzODMwOTliOTNkNDU4YWY3ODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0h5c3RlcmVzaXNBY3Rpdml0eS5oCkBAIC0zMCw3
ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSBE
ZWZhdWx0SHlzdGVyZXNpc1NlY29uZHMgPSA1LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBEZWZh
dWx0SHlzdGVyZXNpc0ludGVydmFsID0gNV9zOwogCiBlbnVtIGNsYXNzIEh5c3RlcmVzaXNTdGF0
ZSB7CiAgICAgU3RhcnRlZCwKQEAgLTM5LDkgKzM5LDkgQEAgZW51bSBjbGFzcyBIeXN0ZXJlc2lz
U3RhdGUgewogCiBjbGFzcyBIeXN0ZXJlc2lzQWN0aXZpdHkgewogcHVibGljOgotICAgIGV4cGxp
Y2l0IEh5c3RlcmVzaXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRl
KT4gY2FsbGJhY2sgPSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgZG91YmxlIGh5c3RlcmVzaXNT
ZWNvbmRzID0gRGVmYXVsdEh5c3RlcmVzaXNTZWNvbmRzKQorICAgIGV4cGxpY2l0IEh5c3RlcmVz
aXNBY3Rpdml0eShzdGQ6OmZ1bmN0aW9uPHZvaWQoSHlzdGVyZXNpc1N0YXRlKT4gY2FsbGJhY2sg
PSBbXShIeXN0ZXJlc2lzU3RhdGUpIHsgfSwgU2Vjb25kcyBoeXN0ZXJlc2lzSW50ZXJ2YWwgPSBE
ZWZhdWx0SHlzdGVyZXNpc0ludGVydmFsKQogICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2sp
Ci0gICAgICAgICwgbV9oeXN0ZXJlc2lzU2Vjb25kcyhoeXN0ZXJlc2lzU2Vjb25kcykKKyAgICAg
ICAgLCBtX2h5c3RlcmVzaXNJbnRlcnZhbChoeXN0ZXJlc2lzSW50ZXJ2YWwpCiAgICAgICAgICwg
bV9hY3RpdmUoZmFsc2UpCiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJkh5c3RlcmVzaXNBY3Rp
dml0eTo6aHlzdGVyZXNpc1RpbWVyRmlyZWQpCiAgICAgewpAQCAtNjUsNyArNjUsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIG1fYWN0aXZlID0gZmFsc2U7CiAKLSAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QobV9oeXN0ZXJlc2lzU2Vjb25kcyk7CisgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KG1faHlzdGVyZXNpc0ludGVydmFsKTsKICAgICB9CiAKICAg
ICB2b2lkIGltcHVsc2UoKQpAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZChIeXN0ZXJlc2lzU3RhdGUpPiBtX2NhbGxiYWNrOwotICAgIGRv
dWJsZSBtX2h5c3RlcmVzaXNTZWNvbmRzOworICAgIFNlY29uZHMgbV9oeXN0ZXJlc2lzSW50ZXJ2
YWw7CiAgICAgYm9vbCBtX2FjdGl2ZTsKICAgICBUaW1lciBtX3RpbWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRpb25TbW9vdGguY3BwCmluZGV4IGM4
ZjVkNWRjMDM1NDViYmU1NjA2Nzk3ODZlZDkxMTk3NDE2NGVlNzYuLjBlNjVhN2IxMTMwNmIwYTdj
NTJiY2I1ZTJiMDk2MGRhYzk3OWMyMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbEFuaW1hdGlvblNtb290aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsQW5pbWF0aW9uU21vb3RoLmNwcApAQCAtNDI0LDcgKzQyNCw3IEBAIHZvaWQgU2Ny
b2xsQW5pbWF0aW9uU21vb3RoOjphbmltYXRpb25UaW1lckZpcmVkKCkKICNpZiBVU0UoUkVRVUVT
VF9BTklNQVRJT05fRlJBTUVfVElNRVIpCiB2b2lkIFNjcm9sbEFuaW1hdGlvblNtb290aDo6c3Rh
cnROZXh0VGltZXIoZG91YmxlIGRlbGF5KQogewotICAgIG1fYW5pbWF0aW9uVGltZXIuc3RhcnRP
bmVTaG90KGRlbGF5KTsKKyAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5KSk7CiB9CiAjZWxzZQogdm9pZCBTY3JvbGxBbmltYXRpb25TbW9vdGg6OnN0YXJ0TmV4
dFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuY3BwCmluZGV4IDg4MTgxZDMw
NTdmNDY4OTRkZmViOWE5NzdhNTY3MDY2MTY0NTM1N2MuLmYwOWU5NGIwOWYwNjE1MzVlNzk4YTBk
MGU4MDBlMzhiZjZkOTQyOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcApA
QCAtMTgzLDcgKzE4Myw3IEBAIHN0YXRpYyBib29sIHRodW1iVW5kZXJNb3VzZShTY3JvbGxiYXIq
IHNjcm9sbGJhcikKICAgICByZXR1cm4gc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPj0gdGh1bWJQ
b3MgJiYgc2Nyb2xsYmFyLT5wcmVzc2VkUG9zKCkgPCB0aHVtYlBvcyArIHRodW1iTGVuZ3RoOwog
fQogCi12b2lkIFNjcm9sbGJhcjo6YXV0b3Njcm9sbFByZXNzZWRQYXJ0KGRvdWJsZSBkZWxheSkK
K3ZvaWQgU2Nyb2xsYmFyOjphdXRvc2Nyb2xsUHJlc3NlZFBhcnQoU2Vjb25kcyBkZWxheSkKIHsK
ICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iIG9yIGlmIG5vdGhpbmcgd2Fz
IHByZXNzZWQuCiAgICAgaWYgKG1fcHJlc3NlZFBhcnQgPT0gVGh1bWJQYXJ0IHx8IG1fcHJlc3Nl
ZFBhcnQgPT0gTm9QYXJ0KQpAQCAtMjAxLDcgKzIwMSw3IEBAIHZvaWQgU2Nyb2xsYmFyOjphdXRv
c2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5KQogICAgICAgICBzdGFydFRpbWVySWZOZWVk
ZWQoZGVsYXkpOwogfQogCi12b2lkIFNjcm9sbGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJs
ZSBkZWxheSkKK3ZvaWQgU2Nyb2xsYmFyOjpzdGFydFRpbWVySWZOZWVkZWQoU2Vjb25kcyBkZWxh
eSkKIHsKICAgICAvLyBEb24ndCBkbyBhbnl0aGluZyBmb3IgdGhlIHRodW1iLgogICAgIGlmICht
X3ByZXNzZWRQYXJ0ID09IFRodW1iUGFydCkKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIFNjcm9s
bGJhcjo6c3RhcnRUaW1lcklmTmVlZGVkKGRvdWJsZSBkZWxheSkKICAgICAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBtX3Njcm9sbFRpbWVyLnN0YXJ0T25lU2hvdChkZWxheSk7CisgICAg
bV9zY3JvbGxUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhkZWxheSkpOwogfQogCiB2b2lkIFNj
cm9sbGJhcjo6c3RvcFRpbWVySWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
aAppbmRleCBmODZhOTYyYWZlMDJiNTI2MDM4YmQ3ZDVlZGRlYTk2NGJiYTZmNzFhLi5hMjM2Yzdl
OGViMTI3YWVhMzc1NjUyM2ViZWM0MWY5OTNhOWE1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaApAQCAtMTQ0LDkgKzE0NCw5IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CiAKICAgICB2b2lkIGF1dG9zY3JvbGxUaW1lckZp
cmVkKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVySWZOZWVkZWQoZG91YmxlIGRlbGF5KTsKKyAgICB2
b2lkIHN0YXJ0VGltZXJJZk5lZWRlZChTZWNvbmRzIGRlbGF5KTsKICAgICB2b2lkIHN0b3BUaW1l
cklmTmVlZGVkKCk7Ci0gICAgdm9pZCBhdXRvc2Nyb2xsUHJlc3NlZFBhcnQoZG91YmxlIGRlbGF5
KTsKKyAgICB2b2lkIGF1dG9zY3JvbGxQcmVzc2VkUGFydChTZWNvbmRzIGRlbGF5KTsKICAgICBT
Y3JvbGxEaXJlY3Rpb24gcHJlc3NlZFBhcnRTY3JvbGxEaXJlY3Rpb24oKTsKICAgICBTY3JvbGxH
cmFudWxhcml0eSBwcmVzc2VkUGFydFNjcm9sbEdyYW51bGFyaXR5KCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDcyNTI5NDJiMGNhY2JhNGEwZTNhMGRm
YjQ3NjFkZDRhNjU3NWVkYmMuLmZkYzVmOGQ1ZDY0NWRmMzJmNjAyOTFmNTQ2MGJlNTkzMmRkYzQ4
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMTA1LDgg
KzEwNSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgaW50IG1heE92ZXJsYXBCZXR3ZWVuUGFn
ZXMoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGludD46Om1heCgpOyB9CiAKLSAgICB2
aXJ0dWFsIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAwLjI1
OyB9Ci0gICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiAw
LjA1OyB9CisgICAgdmlydHVhbCBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IHsgcmV0dXJuIDAuMjVfczsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIHsgcmV0dXJuIDAuMDVfczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Ny
b2xsYmFyKFNjcm9sbGJhciYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xs
YmFyKFNjcm9sbGJhciYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lLmgKaW5kZXggNTkxMTk3OGFl
ZWMxOGYwODNmZGJmODVmMWFmM2VkMjQxNzkwMTE2NS4uODczNTk0MmZiNjkwNTk2NDRjNGZhZWNi
OTQ0NDI2YWUyZmYyMTZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZS5oCkBAIC03Niw3ICs3Niw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZvbnRDYXNjYWRlIHN5c3RlbUZvbnQoVGhlbWVGb250
LCBGb250RGVzY3JpcHRpb24mKSBjb25zdCB7IHJldHVybiBGb250Q2FzY2FkZSgpOyB9CiAgICAg
CiAgICAgLy8gSG93IGZhc3QgdGhlIGNhcmV0IGJsaW5rcyBpbiB0ZXh0IGZpZWxkcy4KLSAgICB2
aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiAwLjU7IH0K
KyAgICB2aXJ0dWFsIFNlY29uZHMgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
MC41X3M7IH0KIAogICAgIC8vIE5vdGlmaWNhdGlvbiB3aGVuIHRoZSB0aGVtZSBoYXMgY2hhbmdl
ZAogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuY3BwCmluZGV4IGUzZDY1ZWFiYmU0NTlkM2I3YWVmZDE2ZDIzMWFh
MTBmY2ZkYmNhNDQuLjZhMTg3N2YxMzZmZTE3OWMxODMzZGRjMDRlN2IyNjcxYjc5YmYyMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmNwcApAQCAtMzMsNiArMzMsNyBA
QAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgog
CiAjaWYgUExBVEZPUk0oSU9TKQogI2luY2x1ZGUgIldlYkNvcmVUaHJlYWQuaCIKQEAgLTQzLDcg
KzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gRmlyZSB0aW1lcnMgZm9yIHRoaXMgbGVu
Z3RoIG9mIHRpbWUsIGFuZCB0aGVuIHF1aXQgdG8gbGV0IHRoZSBydW4gbG9vcCBwcm9jZXNzIHVz
ZXIgaW5wdXQgZXZlbnRzLgogLy8gMTAwbXMgaXMgYWJvdXQgYSBwZXJjZXB0YWJsZSBkZWxheSBp
biBVSSwgc28gdXNlIGEgaGFsZiBvZiB0aGF0IGFzIGEgdGhyZXNob2xkLgogLy8gVGhpcyBpcyB0
byBwcmV2ZW50IFVJIGZyZWV6ZSB3aGVuIHRoZXJlIGFyZSB0b28gbWFueSB0aW1lcnMgb3IgbWFj
aGluZSBwZXJmb3JtYW5jZSBpcyBsb3cuCi1zdGF0aWMgY29uc3QgZG91YmxlIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSAwLjA1MDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heER1cmF0aW9u
T2ZGaXJpbmdUaW1lcnMgPSA1MF9tczsKIAogLy8gVGltZXJzIGFyZSBjcmVhdGVkLCBzdGFydGVk
IGFuZCBmaXJlZCBvbiB0aGUgc2FtZSB0aHJlYWQsIGFuZCBlYWNoIHRocmVhZCBoYXMgaXRzIG93
biBUaHJlYWRUaW1lcnMKIC8vIGNvcHkgdG8ga2VlcCB0aGUgaGVhcCBhbmQgYSBzZXQgb2YgY3Vy
cmVudGx5IGZpcmluZyB0aW1lcnMuCkBAIC01MSw3ICs1Miw2IEBAIHN0YXRpYyBjb25zdCBkb3Vi
bGUgbWF4RHVyYXRpb25PZkZpcmluZ1RpbWVycyA9IDAuMDUwOwogVGhyZWFkVGltZXJzOjpUaHJl
YWRUaW1lcnMoKQogICAgIDogbV9zaGFyZWRUaW1lcigwKQogICAgICwgbV9maXJpbmdUaW1lcnMo
ZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lKDApCiB7CiAgICAgaWYg
KGlzVUlUaHJlYWQoKSkKICAgICAgICAgc2V0U2hhcmVkVGltZXIoJk1haW5UaHJlYWRTaGFyZWRU
aW1lcjo6c2luZ2xldG9uKCkpOwpAQCAtNjQsNyArNjQsNyBAQCB2b2lkIFRocmVhZFRpbWVyczo6
c2V0U2hhcmVkVGltZXIoU2hhcmVkVGltZXIqIHNoYXJlZFRpbWVyKQogICAgIGlmIChtX3NoYXJl
ZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnNldEZpcmVkRnVuY3Rpb24obnVsbHB0
cik7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKLSAgICAgICAgbV9wZW5kaW5nU2hh
cmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRp
bWUgPSB7IH07CiAgICAgfQogICAgIAogICAgIG1fc2hhcmVkVGltZXIgPSBzaGFyZWRUaW1lcjsK
QEAgLTgxLDE4ICs4MSwxOCBAQCB2b2lkIFRocmVhZFRpbWVyczo6dXBkYXRlU2hhcmVkVGltZXIo
KQogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGlmIChtX2ZpcmluZ1RpbWVycyB8fCBt
X3RpbWVySGVhcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJl
VGltZSA9IDA7CisgICAgICAgIG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAg
ICAgICAgIG1fc2hhcmVkVGltZXItPnN0b3AoKTsKICAgICB9IGVsc2UgewotICAgICAgICBkb3Vi
bGUgbmV4dEZpcmVUaW1lID0gbV90aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWU7Ci0g
ICAgICAgIGRvdWJsZSBjdXJyZW50TW9ub3RvbmljVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOworICAgICAgICBhdXRvIG5leHRGaXJlVGltZSA9IG1fdGltZXJIZWFwLmZpcnN0
KCktPm1fbmV4dEZpcmVUaW1lOworICAgICAgICBhdXRvIGN1cnJlbnRNb25vdG9uaWNUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIGlmIChtX3BlbmRpbmdTaGFyZWRUaW1lckZp
cmVUaW1lKSB7CiAgICAgICAgICAgICAvLyBObyBuZWVkIHRvIHJlc3RhcnQgdGhlIHRpbWVyIGlm
IGJvdGggdGhlIHBlbmRpbmcgZmlyZSB0aW1lIGFuZCB0aGUgbmV3IGZpcmUgdGltZSBhcmUgaW4g
dGhlIHBhc3QuCiAgICAgICAgICAgICBpZiAobV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA8
PSBjdXJyZW50TW9ub3RvbmljVGltZSAmJiBuZXh0RmlyZVRpbWUgPD0gY3VycmVudE1vbm90b25p
Y1RpbWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9IAogICAgICAgICBtX3Bl
bmRpbmdTaGFyZWRUaW1lckZpcmVUaW1lID0gbmV4dEZpcmVUaW1lOwotICAgICAgICBtX3NoYXJl
ZFRpbWVyLT5zZXRGaXJlSW50ZXJ2YWwoU2Vjb25kcyhzdGQ6Om1heChuZXh0RmlyZVRpbWUgLSBj
dXJyZW50TW9ub3RvbmljVGltZSwgMC4wKSkpOworICAgICAgICBtX3NoYXJlZFRpbWVyLT5zZXRG
aXJlSW50ZXJ2YWwoc3RkOjptYXg8U2Vjb25kcz4obmV4dEZpcmVUaW1lIC0gY3VycmVudE1vbm90
b25pY1RpbWUsIDBfcykpOwogICAgIH0KIH0KIApAQCAtMTAzLDI1ICsxMDMsMjUgQEAgdm9pZCBU
aHJlYWRUaW1lcnM6OnNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbCgpCiAgICAgaWYgKG1fZmlyaW5n
VGltZXJzKQogICAgICAgICByZXR1cm47CiAgICAgbV9maXJpbmdUaW1lcnMgPSB0cnVlOwotICAg
IG1fcGVuZGluZ1NoYXJlZFRpbWVyRmlyZVRpbWUgPSAwOworICAgIG1fcGVuZGluZ1NoYXJlZFRp
bWVyRmlyZVRpbWUgPSB7IH07CiAKLSAgICBkb3VibGUgZmlyZVRpbWUgPSBtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBkb3VibGUgdGltZVRvUXVpdCA9IGZpcmVUaW1lICsgbWF4
RHVyYXRpb25PZkZpcmluZ1RpbWVyczsKKyAgICBhdXRvIGZpcmVUaW1lID0gTW9ub3RvbmljVGlt
ZTo6bm93KCk7CisgICAgYXV0byB0aW1lVG9RdWl0ID0gZmlyZVRpbWUgKyBtYXhEdXJhdGlvbk9m
RmlyaW5nVGltZXJzOwogCiAgICAgd2hpbGUgKCFtX3RpbWVySGVhcC5pc0VtcHR5KCkgJiYgbV90
aW1lckhlYXAuZmlyc3QoKS0+bV9uZXh0RmlyZVRpbWUgPD0gZmlyZVRpbWUpIHsKICAgICAgICAg
VGltZXJCYXNlKiB0aW1lciA9IG1fdGltZXJIZWFwLmZpcnN0KCk7Ci0gICAgICAgIHRpbWVyLT5t
X25leHRGaXJlVGltZSA9IDA7Ci0gICAgICAgIHRpbWVyLT5tX3VuYWxpZ25lZE5leHRGaXJlVGlt
ZSA9IDA7CisgICAgICAgIHRpbWVyLT5tX25leHRGaXJlVGltZSA9IE1vbm90b25pY1RpbWUoKTsK
KyAgICAgICAgdGltZXItPm1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gTW9ub3RvbmljVGltZSgp
OwogICAgICAgICB0aW1lci0+aGVhcERlbGV0ZU1pbigpOwogCi0gICAgICAgIGRvdWJsZSBpbnRl
cnZhbCA9IHRpbWVyLT5yZXBlYXRJbnRlcnZhbCgpOwotICAgICAgICB0aW1lci0+c2V0TmV4dEZp
cmVUaW1lKGludGVydmFsID8gZmlyZVRpbWUgKyBpbnRlcnZhbCA6IDApOworICAgICAgICBTZWNv
bmRzIGludGVydmFsID0gdGltZXItPnJlcGVhdEludGVydmFsKCk7CisgICAgICAgIHRpbWVyLT5z
ZXROZXh0RmlyZVRpbWUoaW50ZXJ2YWwgPyBmaXJlVGltZSArIGludGVydmFsIDogTW9ub3Rvbmlj
VGltZSgpKTsKIAogICAgICAgICAvLyBPbmNlIHRoZSB0aW1lciBoYXMgYmVlbiBmaXJlZCwgaXQg
bWF5IGJlIGRlbGV0ZWQsIHNvIGRvIG5vdGhpbmcgZWxzZSB3aXRoIGl0IGFmdGVyIHRoaXMgcG9p
bnQuCiAgICAgICAgIHRpbWVyLT5maXJlZCgpOwogCiAgICAgICAgIC8vIENhdGNoIHRoZSBjYXNl
IHdoZXJlIHRoZSB0aW1lciBhc2tlZCB0aW1lcnMgdG8gZmlyZSBpbiBhIG5lc3RlZCBldmVudCBs
b29wLCBvciB3ZSBhcmUgb3ZlciB0aW1lIGxpbWl0LgotICAgICAgICBpZiAoIW1fZmlyaW5nVGlt
ZXJzIHx8IHRpbWVUb1F1aXQgPCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKKyAgICAg
ICAgaWYgKCFtX2ZpcmluZ1RpbWVycyB8fCB0aW1lVG9RdWl0IDwgTW9ub3RvbmljVGltZTo6bm93
KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lk
IFRocmVhZFRpbWVyczo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIAogICAgIGlmICht
X3NoYXJlZFRpbWVyKSB7CiAgICAgICAgIG1fc2hhcmVkVGltZXItPmludmFsaWRhdGUoKTsKLSAg
ICAgICAgbV9wZW5kaW5nU2hhcmVkVGltZXJGaXJlVGltZSA9IDA7CisgICAgICAgIG1fcGVuZGlu
Z1NoYXJlZFRpbWVyRmlyZVRpbWUgPSB7IH07CiAgICAgfQogCiAgICAgdXBkYXRlU2hhcmVkVGlt
ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggZWFiYzRkMTIx
ZTgyNjY2MmU5YWJiMzA0ZTM4M2YxN2IxZTcyOWE5Ny4uY2Y1OGM5MTdhOTVjZTM2NzJjMTZiN2U2
ZWM2OTE3MzlhODkwM2EwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgK
QEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFk
VGltZXJzX2gKIAorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC01Niw3ICs1Nyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVmVjdG9yPFRpbWVyQmFzZSo+IG1fdGlt
ZXJIZWFwOwogICAgICAgICBTaGFyZWRUaW1lciogbV9zaGFyZWRUaW1lcjsgLy8gRXh0ZXJuYWwg
b2JqZWN0LCBjYW4gYmUgYSBydW4gbG9vcCBvbiBhIHdvcmtlciB0aHJlYWQuIE5vcm1hbGx5IHNl
dC9yZXNldCBieSB3b3JrZXIgdGhyZWFkLgogICAgICAgICBib29sIG1fZmlyaW5nVGltZXJzOyAv
LyBSZWVudHJhbmN5IGd1YXJkLgotICAgICAgICBkb3VibGUgbV9wZW5kaW5nU2hhcmVkVGltZXJG
aXJlVGltZTsKKyAgICAgICAgTW9ub3RvbmljVGltZSBtX3BlbmRpbmdTaGFyZWRUaW1lckZpcmVU
aW1lOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBjZDU5NGZl
N2NjNTU4OTEyOTQ3NDYzOTc2ZDhkMTg1ZjkxMTE0YmJhLi44ODg0YTE0NjVmNGQ2ZjI4M2RhOWI3
ZTkyMTU3MTg3ODVkZDlmNjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0xNzIs
OCArMTcyLDggQEAgaW5saW5lIGJvb2wgVGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbjo6b3BlcmF0
b3IoKShjb25zdCBUaW1lckJhc2UqIGEsIGNvbnN0IFRpbWUKIHsKICAgICAvLyBUaGUgY29tcGFy
aXNvbnMgYmVsb3cgYXJlICJiYWNrd2FyZHMiIGJlY2F1c2UgdGhlIGhlYXAgcHV0cyB0aGUgbGFy
Z2VzdCAKICAgICAvLyBlbGVtZW50IGZpcnN0IGFuZCB3ZSB3YW50IHRoZSBsb3dlc3QgdGltZSB0
byBiZSB0aGUgZmlyc3Qgb25lIGluIHRoZSBoZWFwLgotICAgIGRvdWJsZSBhRmlyZVRpbWUgPSBh
LT5tX25leHRGaXJlVGltZTsKLSAgICBkb3VibGUgYkZpcmVUaW1lID0gYi0+bV9uZXh0RmlyZVRp
bWU7CisgICAgTW9ub3RvbmljVGltZSBhRmlyZVRpbWUgPSBhLT5tX25leHRGaXJlVGltZTsKKyAg
ICBNb25vdG9uaWNUaW1lIGJGaXJlVGltZSA9IGItPm1fbmV4dEZpcmVUaW1lOwogICAgIGlmIChi
RmlyZVRpbWUgIT0gYUZpcmVUaW1lKQogICAgICAgICByZXR1cm4gYkZpcmVUaW1lIDwgYUZpcmVU
aW1lOwogICAgIApAQCAtMTg2LDExICsxODYsOCBAQCBpbmxpbmUgYm9vbCBUaW1lckhlYXBMZXNz
VGhhbkZ1bmN0aW9uOjpvcGVyYXRvcigpKGNvbnN0IFRpbWVyQmFzZSogYSwgY29uc3QgVGltZQog
Ly8gLS0tLS0tLS0tLS0tLS0tLQogCiBUaW1lckJhc2U6OlRpbWVyQmFzZSgpCi0gICAgOiBtX25l
eHRGaXJlVGltZSgwKQotICAgICwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUoMCkKLSAgICAsIG1f
cmVwZWF0SW50ZXJ2YWwoMCkKLSAgICAsIG1faGVhcEluZGV4KC0xKQotICAgICwgbV9jYWNoZWRU
aHJlYWRHbG9iYWxUaW1lckhlYXAoMCkKKyAgICA6IG1faGVhcEluZGV4KC0xKQorICAgICwgbV9j
YWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAobnVsbHB0cikKICNpZm5kZWYgTkRFQlVHCiAgICAg
LCBtX3RocmVhZChjdXJyZW50VGhyZWFkKCkpCiAgICAgLCBtX3dhc0RlbGV0ZWQoZmFsc2UpCkBA
IC0yMDcsMzIgKzIwNCwzMiBAQCBUaW1lckJhc2U6On5UaW1lckJhc2UoKQogI2VuZGlmCiB9CiAK
LXZvaWQgVGltZXJCYXNlOjpzdGFydChkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJl
cGVhdEludGVydmFsKQordm9pZCBUaW1lckJhc2U6OnN0YXJ0KFNlY29uZHMgbmV4dEZpcmVJbnRl
cnZhbCwgU2Vjb25kcyByZXBlYXRJbnRlcnZhbCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAKICAgICBtX3JlcGVhdEludGVydmFs
ID0gcmVwZWF0SW50ZXJ2YWw7Ci0gICAgc2V0TmV4dEZpcmVUaW1lKG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpICsgbmV4dEZpcmVJbnRlcnZhbCk7CisgICAgc2V0TmV4dEZpcmVUaW1lKE1v
bm90b25pY1RpbWU6Om5vdygpICsgbmV4dEZpcmVJbnRlcnZhbCk7CiB9CiAKIHZvaWQgVGltZXJC
YXNlOjpzdG9wKCkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRhRm9yVGhy
ZWFkKG1fdGhyZWFkKSk7CiAKLSAgICBtX3JlcGVhdEludGVydmFsID0gMDsKLSAgICBzZXROZXh0
RmlyZVRpbWUoMCk7CisgICAgbV9yZXBlYXRJbnRlcnZhbCA9IDBfczsKKyAgICBzZXROZXh0Rmly
ZVRpbWUoTW9ub3RvbmljVGltZSgpKTsKIAotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSA9PSAw
KTsKLSAgICBBU1NFUlQobV9yZXBlYXRJbnRlcnZhbCA9PSAwKTsKKyAgICBBU1NFUlQoIW1fbmV4
dEZpcmVUaW1lKTsKKyAgICBBU1NFUlQoIW1fcmVwZWF0SW50ZXJ2YWwpOwogICAgIEFTU0VSVCgh
aW5IZWFwKCkpOwogfQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29u
c3QKK1NlY29uZHMgVGltZXJCYXNlOjpuZXh0RmlyZUludGVydmFsKCkgY29uc3QKIHsKICAgICBB
U1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgZG91YmxlIGN1cnJlbnQgPSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKTsKKyAgICBNb25vdG9uaWNUaW1lIGN1cnJlbnQgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICBpZiAobV9uZXh0RmlyZVRpbWUgPCBjdXJyZW50KQotICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICByZXR1cm4gbV9uZXh0RmlyZVRpbWUgLSBj
dXJyZW50OwogfQogCkBAIC0yNDgsMTQgKzI0NSwxNCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6
OmNoZWNrSGVhcEluZGV4KCkgY29uc3QKIGlubGluZSB2b2lkIFRpbWVyQmFzZTo6Y2hlY2tDb25z
aXN0ZW5jeSgpIGNvbnN0CiB7CiAgICAgLy8gVGltZXJzIHNob3VsZCBiZSBpbiB0aGUgaGVhcCBp
ZiBhbmQgb25seSBpZiB0aGV5IGhhdmUgYSBub24temVybyBuZXh0IGZpcmUgdGltZS4KLSAgICBB
U1NFUlQoaW5IZWFwKCkgPT0gKG1fbmV4dEZpcmVUaW1lICE9IDApKTsKKyAgICBBU1NFUlQoaW5I
ZWFwKCkgPT0gISFtX25leHRGaXJlVGltZSk7CiAgICAgaWYgKGluSGVhcCgpKQogICAgICAgICBj
aGVja0hlYXBJbmRleCgpOwogfQogCiB2b2lkIFRpbWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkK
IHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgIT0gMCk7CisgICAgQVNTRVJUKG1fbmV4dEZp
cmVUaW1lKTsKICAgICBjaGVja0hlYXBJbmRleCgpOwogICAgIFRpbWVyQmFzZSoqIGhlYXBEYXRh
ID0gdGltZXJIZWFwKCkuZGF0YSgpOwogICAgIHB1c2hfaGVhcChUaW1lckhlYXBJdGVyYXRvciho
ZWFwRGF0YSksIFRpbWVySGVhcEl0ZXJhdG9yKGhlYXBEYXRhICsgbV9oZWFwSW5kZXggKyAxKSwg
VGltZXJIZWFwTGVzc1RoYW5GdW5jdGlvbigpKTsKQEAgLTI2NCw3ICsyNjEsNyBAQCB2b2lkIFRp
bWVyQmFzZTo6aGVhcERlY3JlYXNlS2V5KCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFw
RGVsZXRlKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcCgpOwogICAgIHRpbWVySGVhcCgpLnJlbW92
ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjcyLDcgKzI2OSw3IEBAIGlubGlu
ZSB2b2lkIFRpbWVyQmFzZTo6aGVhcERlbGV0ZSgpCiAKIHZvaWQgVGltZXJCYXNlOjpoZWFwRGVs
ZXRlTWluKCkKIHsKLSAgICBBU1NFUlQobV9uZXh0RmlyZVRpbWUgPT0gMCk7CisgICAgQVNTRVJU
KCFtX25leHRGaXJlVGltZSk7CiAgICAgaGVhcFBvcE1pbigpOwogICAgIHRpbWVySGVhcCgpLnJl
bW92ZUxhc3QoKTsKICAgICBtX2hlYXBJbmRleCA9IC0xOwpAQCAtMjgwLDcgKzI3Nyw3IEBAIHZv
aWQgVGltZXJCYXNlOjpoZWFwRGVsZXRlTWluKCkKIAogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpo
ZWFwSW5jcmVhc2VLZXkoKQogewotICAgIEFTU0VSVChtX25leHRGaXJlVGltZSAhPSAwKTsKKyAg
ICBBU1NFUlQobV9uZXh0RmlyZVRpbWUpOwogICAgIGhlYXBQb3AoKTsKICAgICBoZWFwRGVjcmVh
c2VLZXkoKTsKIH0KQEAgLTI5Niw4ICsyOTMsOCBAQCBpbmxpbmUgdm9pZCBUaW1lckJhc2U6Omhl
YXBJbnNlcnQoKQogaW5saW5lIHZvaWQgVGltZXJCYXNlOjpoZWFwUG9wKCkKIHsKICAgICAvLyBU
ZW1wb3JhcmlseSBmb3JjZSB0aGlzIHRpbWVyIHRvIGhhdmUgdGhlIG1pbmltdW0ga2V5IHNvIHdl
IGNhbiBwb3AgaXQuCi0gICAgZG91YmxlIGZpcmVUaW1lID0gbV9uZXh0RmlyZVRpbWU7Ci0gICAg
bV9uZXh0RmlyZVRpbWUgPSAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
OworICAgIE1vbm90b25pY1RpbWUgZmlyZVRpbWUgPSBtX25leHRGaXJlVGltZTsKKyAgICBtX25l
eHRGaXJlVGltZSA9IC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpOwogICAgIGhlYXBEZWNyZWFz
ZUtleSgpOwogICAgIGhlYXBQb3BNaW4oKTsKICAgICBtX25leHRGaXJlVGltZSA9IGZpcmVUaW1l
OwpAQCAtMzQ3LDcgKzM0NCw3IEBAIGJvb2wgVGltZXJCYXNlOjpoYXNWYWxpZEhlYXBQb3NpdGlv
bigpIGNvbnN0CiAgICAgcmV0dXJuIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwg
Y2hpbGRJbmRleDEpICYmIGNoaWxkSGVhcFByb3BlcnR5SG9sZHModGhpcywgaGVhcCwgY2hpbGRJ
bmRleDIpOwogfQogCi12b2lkIFRpbWVyQmFzZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBv
bGRUaW1lKQordm9pZCBUaW1lckJhc2U6OnVwZGF0ZUhlYXBJZk5lZWRlZChNb25vdG9uaWNUaW1l
IG9sZFRpbWUpCiB7CiAgICAgaWYgKG1fbmV4dEZpcmVUaW1lICYmIGhhc1ZhbGlkSGVhcFBvc2l0
aW9uKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM2Niw3ICszNjMsNyBAQCB2b2lkIFRpbWVyQmFz
ZTo6dXBkYXRlSGVhcElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKQogICAgIEFTU0VSVCghaW5IZWFw
KCkgfHwgaGFzVmFsaWRIZWFwUG9zaXRpb24oKSk7CiB9CiAKLXZvaWQgVGltZXJCYXNlOjpzZXRO
ZXh0RmlyZVRpbWUoZG91YmxlIG5ld1RpbWUpCit2b2lkIFRpbWVyQmFzZTo6c2V0TmV4dEZpcmVU
aW1lKE1vbm90b25pY1RpbWUgbmV3VGltZSkKIHsKICAgICBBU1NFUlQoY2FuQWNjZXNzVGhyZWFk
TG9jYWxEYXRhRm9yVGhyZWFkKG1fdGhyZWFkKSk7CiAgICAgQVNTRVJUKCFtX3dhc0RlbGV0ZWQp
OwpAQCAtMzc5LDExICszNzYsMTEgQEAgdm9pZCBUaW1lckJhc2U6OnNldE5leHRGaXJlVGltZShk
b3VibGUgbmV3VGltZSkKICAgICAgICAgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAm
dGhyZWFkR2xvYmFsVGltZXJIZWFwKCk7CiAKICAgICAvLyBLZWVwIGhlYXAgdmFsaWQgd2hpbGUg
Y2hhbmdpbmcgdGhlIG5leHQtZmlyZSB0aW1lLgotICAgIGRvdWJsZSBvbGRUaW1lID0gbV9uZXh0
RmlyZVRpbWU7CisgICAgTW9ub3RvbmljVGltZSBvbGRUaW1lID0gbV9uZXh0RmlyZVRpbWU7CiAg
ICAgLy8gRG9uJ3QgcmVhbGlnbiB6ZXJvLWRlbGF5IHRpbWVycy4KICAgICBpZiAobmV3VGltZSkg
ewotICAgICAgICBpZiAoYXV0byBuZXdBbGlnbmVkVGltZSA9IGFsaWduZWRGaXJlVGltZShzZWNv
bmRzVG9NUyhuZXdUaW1lKSkpCi0gICAgICAgICAgICBuZXdUaW1lID0gbXNUb1NlY29uZHMobmV3
QWxpZ25lZFRpbWUudmFsdWUoKSk7CisgICAgICAgIGlmIChhdXRvIG5ld0FsaWduZWRUaW1lID0g
YWxpZ25lZEZpcmVUaW1lKG5ld1RpbWUpKQorICAgICAgICAgICAgbmV3VGltZSA9IG5ld0FsaWdu
ZWRUaW1lLnZhbHVlKCk7CiAgICAgfQogCiAgICAgaWYgKG9sZFRpbWUgIT0gbmV3VGltZSkgewpA
QCAtNDE2LDEwICs0MTMsMTAgQEAgdm9pZCBUaW1lckJhc2U6OmRpZENoYW5nZUFsaWdubWVudElu
dGVydmFsKCkKICAgICBzZXROZXh0RmlyZVRpbWUobV91bmFsaWduZWROZXh0RmlyZVRpbWUpOwog
fQogCi1kb3VibGUgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QK
K1NlY29uZHMgVGltZXJCYXNlOjpuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQoaXNBY3RpdmUoKSk7Ci0gICAgcmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVk
TmV4dEZpcmVUaW1lIC0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCksIDAuMCk7CisgICAg
cmV0dXJuIHN0ZDo6bWF4KG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lIC0gTW9ub3RvbmljVGltZTo6
bm93KCksIDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCmluZGV4IDUyYTE2NmViYTJkMjMxOWQxNWExYjdlZDkwODJiNmIxNDMzZjNiMjQuLjMw
ZmQyMmQ5OGIwMmVlZDUxNjMwYTdiNmY4ZTVmNTYyZTk4ODdjY2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUg
PGZ1bmN0aW9uYWw+CisjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3
dGYvU2Vjb25kcy5oPgpAQCAtNDcsMzkgKzQ4LDI0IEBAIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7
CiBjbGFzcyBUaW1lckJhc2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wcm90ZWN0ZWQ6Ci0gICAgc3RhdGljIGlu
bGluZSBkb3VibGUgbXNUb1NlY29uZHMoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlv
bikgeyByZXR1cm4gZHVyYXRpb24uY291bnQoKSAqIDAuMDAxOyB9Ci0gICAgc3RhdGljIGlubGlu
ZSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNlY29uZHNUb01TKGRvdWJsZSBkdXJhdGlvbikg
eyByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygoc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kczo6cmVwKShkdXJhdGlvbiAqIDEwMDApKTsgfQotCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgVGltZXJCYXNlKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+VGltZXJCYXNl
KCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVy
dmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpOwotCi0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhk
b3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwsIHJlcGVhdEludGVy
dmFsKTsgfQotICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cyByZXBlYXRJbnRlcnZhbCkgeyBzdGFydFJlcGVhdGluZyhtc1RvU2Vjb25kcyhyZXBlYXRJbnRl
cnZhbCkpOyB9Ci0gICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRzIHJlcGVhdEludGVydmFs
KSB7IHN0YXJ0UmVwZWF0aW5nKHJlcGVhdEludGVydmFsLnZhbHVlKCkpOyB9CisgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzdGFydChTZWNvbmRzIG5leHRGaXJlSW50ZXJ2YWwsIFNlY29uZHMgcmVw
ZWF0SW50ZXJ2YWwpOwogCi0gICAgdm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7
IHN0YXJ0KGludGVydmFsLCAwKTsgfQotICAgIHZvaWQgc3RhcnRPbmVTaG90KHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHMgaW50ZXJ2YWwpIHsgc3RhcnRPbmVTaG90KG1zVG9TZWNvbmRzKGludGVy
dmFsKSk7IH0KLSAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0
KGludGVydmFsLnZhbHVlKCksIDApOyB9CisgICAgdm9pZCBzdGFydFJlcGVhdGluZyhTZWNvbmRz
IHJlcGVhdEludGVydmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsLCByZXBlYXRJbnRlcnZhbCk7
IH0KKyAgICB2b2lkIHN0YXJ0T25lU2hvdChTZWNvbmRzIGludGVydmFsKSB7IHN0YXJ0KGludGVy
dmFsLCAwX3MpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3AoKTsKICAgICBib29s
IGlzQWN0aXZlKCkgY29uc3Q7CiAKLSAgICBkb3VibGUgbmV4dEZpcmVJbnRlcnZhbCgpIGNvbnN0
OwotICAgIGRvdWJsZSBuZXh0VW5hbGlnbmVkRmlyZUludGVydmFsKCkgY29uc3Q7Ci0gICAgZG91
YmxlIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQot
ICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgcmVwZWF0SW50ZXJ2YWxNUygpIGNvbnN0IHsg
cmV0dXJuIHNlY29uZHNUb01TKHJlcGVhdEludGVydmFsKCkpOyB9Ci0KLSAgICB2b2lkIGF1Z21l
bnRGaXJlSW50ZXJ2YWwoZG91YmxlIGRlbHRhKSB7IHNldE5leHRGaXJlVGltZShtX25leHRGaXJl
VGltZSArIGRlbHRhKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudEZpcmVJbnRlcnZhbChTZWNvbmRzIGRlbHRhKSB7
IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEudmFsdWUoKSk7IH0KKyAgICBTZWNvbmRzIG5leHRG
aXJlSW50ZXJ2YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIG5leHRVbmFsaWduZWRGaXJlSW50ZXJ2
YWwoKSBjb25zdDsKKyAgICBTZWNvbmRzIHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4g
bV9yZXBlYXRJbnRlcnZhbDsgfQogCi0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91
YmxlIGRlbHRhKSB7IGF1Z21lbnRGaXJlSW50ZXJ2YWwoZGVsdGEpOyBtX3JlcGVhdEludGVydmFs
ICs9IGRlbHRhOyB9Ci0gICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBkZWx0YSkgeyBhdWdtZW50UmVwZWF0SW50ZXJ2YWwobXNUb1NlY29uZHMo
ZGVsdGEpKTsgfQotICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKFNlY29uZHMgZGVsdGEp
IHsgYXVnbWVudFJlcGVhdEludGVydmFsKGRlbHRhLnZhbHVlKCkpOyB9CisgICAgdm9pZCBhdWdt
ZW50RmlyZUludGVydmFsKFNlY29uZHMgZGVsdGEpIHsgc2V0TmV4dEZpcmVUaW1lKG1fbmV4dEZp
cmVUaW1lICsgZGVsdGEpOyB9CisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoU2Vjb25k
cyBkZWx0YSkgeyBhdWdtZW50RmlyZUludGVydmFsKGRlbHRhKTsgbV9yZXBlYXRJbnRlcnZhbCAr
PSBkZWx0YTsgfQogCiAgICAgdm9pZCBkaWRDaGFuZ2VBbGlnbm1lbnRJbnRlcnZhbCgpOwogCkBA
IC04OCwxNyArNzQsMTcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmly
ZWQoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4gYWxpZ25lZEZpcmVUaW1lKHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpIGNvbnN0
IHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb25v
dG9uaWNUaW1lPiBhbGlnbmVkRmlyZVRpbWUoTW9ub3RvbmljVGltZSkgY29uc3QgeyByZXR1cm4g
c3RkOjpudWxsb3B0OyB9CiAKICAgICB2b2lkIGNoZWNrQ29uc2lzdGVuY3koKSBjb25zdDsKICAg
ICB2b2lkIGNoZWNrSGVhcEluZGV4KCkgY29uc3Q7CiAKLSAgICB2b2lkIHNldE5leHRGaXJlVGlt
ZShkb3VibGUpOworICAgIHZvaWQgc2V0TmV4dEZpcmVUaW1lKE1vbm90b25pY1RpbWUpOwogCiAg
ICAgYm9vbCBpbkhlYXAoKSBjb25zdCB7IHJldHVybiBtX2hlYXBJbmRleCAhPSAtMTsgfQogCiAg
ICAgYm9vbCBoYXNWYWxpZEhlYXBQb3NpdGlvbigpIGNvbnN0OwotICAgIHZvaWQgdXBkYXRlSGVh
cElmTmVlZGVkKGRvdWJsZSBvbGRUaW1lKTsKKyAgICB2b2lkIHVwZGF0ZUhlYXBJZk5lZWRlZChN
b25vdG9uaWNUaW1lIG9sZFRpbWUpOwogCiAgICAgdm9pZCBoZWFwRGVjcmVhc2VLZXkoKTsKICAg
ICB2b2lkIGhlYXBEZWxldGUoKTsKQEAgLTExMCw5ICs5Niw5IEBAIHByaXZhdGU6CiAKICAgICBW
ZWN0b3I8VGltZXJCYXNlKj4mIHRpbWVySGVhcCgpIGNvbnN0IHsgQVNTRVJUKG1fY2FjaGVkVGhy
ZWFkR2xvYmFsVGltZXJIZWFwKTsgcmV0dXJuICptX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVh
cDsgfQogCi0gICAgZG91YmxlIG1fbmV4dEZpcmVUaW1lOyAvLyAwIGlmIGluYWN0aXZlCi0gICAg
ZG91YmxlIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29u
c2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFsCi0gICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7
IC8vIDAgaWYgbm90IHJlcGVhdGluZworICAgIE1vbm90b25pY1RpbWUgbV9uZXh0RmlyZVRpbWU7
IC8vIDAgaWYgaW5hY3RpdmUKKyAgICBNb25vdG9uaWNUaW1lIG1fdW5hbGlnbmVkTmV4dEZpcmVU
aW1lOyAvLyBtX25leHRGaXJlVGltZSBub3QgY29uc2lkZXJpbmcgYWxpZ25tZW50IGludGVydmFs
CisgICAgU2Vjb25kcyBtX3JlcGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcKICAg
ICBpbnQgbV9oZWFwSW5kZXg7IC8vIC0xIGlmIG5vdCBpbiBoZWFwCiAgICAgdW5zaWduZWQgbV9o
ZWFwSW5zZXJ0aW9uT3JkZXI7IC8vIFVzZWQgdG8ga2VlcCBvcmRlciBhbW9uZyBlcXVhbC1maXJl
LXRpbWUgdGltZXJzCiAgICAgVmVjdG9yPFRpbWVyQmFzZSo+KiBtX2NhY2hlZFRocmVhZEdsb2Jh
bFRpbWVySGVhcDsKQEAgLTE1OSwxOCArMTQ1LDE4IEBAIGlubGluZSBib29sIFRpbWVyQmFzZTo6
aXNBY3RpdmUoKSBjb25zdAogI2Vsc2UKICAgICBBU1NFUlQoV2ViVGhyZWFkSXNDdXJyZW50KCkg
fHwgcHRocmVhZF9tYWluX25wKCkgfHwgbV90aHJlYWQgPT0gY3VycmVudFRocmVhZCgpKTsKICNl
bmRpZiAvLyBQTEFURk9STShJT1MpCi0gICAgcmV0dXJuIG1fbmV4dEZpcmVUaW1lOworICAgIHJl
dHVybiAhIW1fbmV4dEZpcmVUaW1lOwogfQogCiBjbGFzcyBEZWZlcnJhYmxlT25lU2hvdFRpbWVy
IDogcHJvdGVjdGVkIFRpbWVyQmFzZSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VGltZXJGaXJlZENsYXNzPgotICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGltZXJGaXJlZENs
YXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgpLCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGRlbGF5KQorICAgIERlZmVycmFibGVPbmVTaG90VGltZXIoVGlt
ZXJGaXJlZENsYXNzJiBvYmplY3QsIHZvaWQgKFRpbWVyRmlyZWRDbGFzczo6KmZ1bmN0aW9uKSgp
LCBTZWNvbmRzIGRlbGF5KQogICAgICAgICA6IERlZmVycmFibGVPbmVTaG90VGltZXIoc3RkOjpi
aW5kKGZ1bmN0aW9uLCAmb2JqZWN0KSwgZGVsYXkpCiAgICAgewogICAgIH0KIAotICAgIERlZmVy
cmFibGVPbmVTaG90VGltZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBmdW5jdGlvbiwgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyBkZWxheSkKKyAgICBEZWZlcnJhYmxlT25lU2hvdFRpbWVyKHN0
ZDo6ZnVuY3Rpb248dm9pZCAoKT4gZnVuY3Rpb24sIFNlY29uZHMgZGVsYXkpCiAgICAgICAgIDog
bV9mdW5jdGlvbihXVEZNb3ZlKGZ1bmN0aW9uKSkKICAgICAgICAgLCBtX2RlbGF5KGRlbGF5KQog
ICAgICAgICAsIG1fc2hvdWxkUmVzdGFydFdoZW5UaW1lckZpcmVzKGZhbHNlKQpAQCAtMjEyLDcg
KzE5OCw3IEBAIHByaXZhdGU6CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IG1fZnVuY3Rp
b247CiAKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fZGVsYXk7CisgICAgU2Vjb25k
cyBtX2RlbGF5OwogICAgIGJvb2wgbV9zaG91bGRSZXN0YXJ0V2hlblRpbWVyRmlyZXM7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmNwcAppbmRleCBkNGZjZjk2MWUw
MTkxNDRhMjFmZjRkM2RjMGUxOGY5ZmM5MjhlMWE3Li41NTM1MTRkZjIyNDBhYWZhNGIxOGU3MTlm
MWU1ODNmNWM5MGM4ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9k
ZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZOb2RlVHJhY2tlci5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgVk5vZGVUcmFja2VyJiBWTm9kZVRyYWNrZXI6OnNpbmdsZXRv
bigpCiBWTm9kZVRyYWNrZXI6OlZOb2RlVHJhY2tlcigpCiAgICAgOiBtX3Zub2RlQ291bnRlcihb
dGhpc10oUmVmQ291bnRlckV2ZW50IGV2ZW50KSB7IGlmIChldmVudCA9PSBSZWZDb3VudGVyRXZl
bnQ6OkluY3JlbWVudCkgY2hlY2tQcmVzc3VyZVN0YXRlKCk7IH0pCiAgICAgLCBtX3ByZXNzdXJl
V2FybmluZ1RpbWVyKCp0aGlzLCAmVk5vZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZp
cmVkKQotICAgICwgbV9sYXN0V2FybmluZ1RpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6
bm93KCkpCisgICAgLCBtX2xhc3RXYXJuaW5nVGltZShNb25vdG9uaWNUaW1lOjpub3coKSkKIHsK
ICAgICBwbGF0Zm9ybUluaXRpYWxpemUoKTsKIApAQCAtNjMsMjEgKzYzLDIyIEBAIHZvaWQgVk5v
ZGVUcmFja2VyOjpwcmVzc3VyZVdhcm5pbmdUaW1lckZpcmVkKCkKICAgICBpZiAobV92bm9kZUNv
dW50ZXIudmFsdWUoKSA8PSBtX3NvZnRWTm9kZUxpbWl0KQogICAgICAgICByZXR1cm47CiAKLSAg
ICBtX2xhc3RXYXJuaW5nVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwor
ICAgIG1fbGFzdFdhcm5pbmdUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgdW5zaWdu
ZWQgdm5vZGVDb3VudCA9IG1fdm5vZGVDb3VudGVyLnZhbHVlKCk7CiAgICAgYXV0byBjcml0aWNh
bCA9IHZub2RlQ291bnQgPiBtX2hhcmRWTm9kZUxpbWl0ID8gQ3JpdGljYWw6OlllcyA6IENyaXRp
Y2FsOjpObzsKICAgICBtX3ByZXNzdXJlSGFuZGxlcihjcml0aWNhbCk7CiAgICAgTE9HKE1lbW9y
eVByZXNzdXJlLCAidm5vZGUgcHJlc3N1cmUgaGFuZGxlciBmcmVlZCAlbHUgdm5vZGVzIG91dCBv
ZiAldSAoY3JpdGljYWwgcHJlc3N1cmU6ICVzKSIsIHZub2RlQ291bnQgLSBtX3Zub2RlQ291bnRl
ci52YWx1ZSgpLCB2bm9kZUNvdW50LCBjcml0aWNhbCA9PSBDcml0aWNhbDo6WWVzID8gIlllcyIg
OiAiTm8iKTsKIH0KIAotc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBWTm9kZVRyYWNrZXI6Om5l
eHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0CitTZWNvbmRzIFZOb2RlVHJhY2tlcjo6
bmV4dFByZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3QKIHsKICAgICAvLyBXZSBydW4gdGhl
IHZub2RlIHByZXNzdXJlIGhhbmRsZXIgZXZlcnkgMzAgc2Vjb25kcyBhdCBtb3N0LgotICAgIHN0
YXRpYyBjb25zdCBhdXRvIG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vj
b25kcyB7IDMwIH07Ci0gICAgYXV0byB0aW1lU2luY2VMYXN0V2FybmluZyA9IHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6Om5vdygpIC0gbV9sYXN0V2FybmluZ1RpbWU7CisgICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgbWluaW11bVdhcm5pbmdJbnRlcnZhbCA9IDMwX3M7CisgICAgYXV0byB0aW1l
U2luY2VMYXN0V2FybmluZyA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0gbV9sYXN0V2FybmluZ1Rp
bWU7CiAgICAgaWYgKHRpbWVTaW5jZUxhc3RXYXJuaW5nIDwgbWluaW11bVdhcm5pbmdJbnRlcnZh
bCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25v
OjptaWxsaXNlY29uZHM+KG1pbmltdW1XYXJuaW5nSW50ZXJ2YWwgLSB0aW1lU2luY2VMYXN0V2Fy
bmluZyk7Ci0gICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgeyAwIH07CisgICAg
ICAgIHJldHVybiBtaW5pbXVtV2FybmluZ0ludGVydmFsIC0gdGltZVNpbmNlTGFzdFdhcm5pbmc7
CisKKyAgICByZXR1cm4gMF9zOwogfQogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVk5vZGVUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAppbmRleCAxYjAxMTBlODNlN2ExNmRhOTY0ODAxMzA4
NWFiZmUxODI2MGY0YTI0Li4wNGZiMzc5NWQ2NWM3ODc1MjkzYjljN2JkZGYzODcwMTUzZWExZjFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WTm9kZVRyYWNrZXIuaApAQCAtNTMsNyArNTMsNyBA
QCBwcml2YXRlOgogCiAgICAgdm9pZCBjaGVja1ByZXNzdXJlU3RhdGUoKTsKICAgICB2b2lkIHBy
ZXNzdXJlV2FybmluZ1RpbWVyRmlyZWQoKTsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IG5leHRQcmVzc3VyZVdhcm5pbmdJbnRlcnZhbCgpIGNvbnN0OworICAgIFNlY29uZHMgbmV4dFBy
ZXNzdXJlV2FybmluZ0ludGVydmFsKCkgY29uc3Q7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZSgpOwogCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgUHJlc3N1cmVIYW5kbGVy
IG1fcHJlc3N1cmVIYW5kbGVyOwogICAgIFZOb2RlQ291bnRlciBtX3Zub2RlQ291bnRlcjsKICAg
ICBUaW1lciBtX3ByZXNzdXJlV2FybmluZ1RpbWVyOwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbV9sYXN0V2FybmluZ1RpbWU7CisgICAgTW9ub3RvbmljVGltZSBt
X2xhc3RXYXJuaW5nVGltZTsKIH07CiAKIGlubGluZSB2b2lkIFZOb2RlVHJhY2tlcjo6c2V0UHJl
c3N1cmVIYW5kbGVyKFByZXNzdXJlSGFuZGxlciBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCmluZGV4IDE2
NzY2OWEyMDYwODQ4Y2M2ODEyY2Y0NmU0Nzc4NjU5OGUxMTQzZTguLjJmYmI3MzcxYjk4NWM0Mzg4
ZDRjNDBjNzkzNjgxNjE1ZWI4OTk5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKQEAgLTM0LDcgKzM0LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jb25zdCBkb3VibGUga0NsaWVudERhdGFCdWZmZXJp
bmdUaW1lclRocm90dGxlRGVsYXkgPSAwLjE7Citjb25zdCBTZWNvbmRzIGtDbGllbnREYXRhQnVm
ZmVyaW5nVGltZXJUaHJvdHRsZURlbGF5ID0gMC4xX3M7CiAKICNpZiAhTE9HX0RJU0FCTEVECiBz
dGF0aWMgY29uc3QgY2hhciogc3RhdGVOYW1lKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpTdGF0ZSBz
dGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9s
bGVyLm1tCmluZGV4IDNlMThkNGJmMDNiZjVlN2Y4NDExY2FjZDkzMTg3NWY1YjIxNzY3OTguLjhj
MGE0YzYyOTkyMzBkNWZmM2RkYTVmYWY2YTBkMTczODUzYTgxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpAQCAtNDExLDcgKzQx
MSw3IEBAIGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpIGNv
bnN0CiB2b2lkIFNjcm9sbENvbnRyb2xsZXI6OnN0YXJ0U25hcFJ1YmJlcmJhbmRUaW1lcigpCiB7
CiAgICAgbV9jbGllbnQuc3RhcnRTbmFwUnViYmVyYmFuZFRpbWVyKCk7Ci0gICAgbV9zbmFwUnVi
YmVyYmFuZFRpbWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc25hcFJ1YmJl
cmJhbmRUaW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzKDEuMCAvIDYwKSk7CiAKICAgICBtX2Ns
aWVudC5kZWZlclRlc3RzRm9yUmVhc29uKHJlaW50ZXJwcmV0X2Nhc3Q8V2hlZWxFdmVudFRlc3RU
cmlnZ2VyOjpTY3JvbGxhYmxlQXJlYUlkZW50aWZpZXI+KHRoaXMpLCBXaGVlbEV2ZW50VGVzdFRy
aWdnZXI6OlJ1YmJlcmJhbmRJblByb2dyZXNzKTsKIH0KQEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lk
IFNjcm9sbENvbnRyb2xsZXI6OnNjaGVkdWxlU3RhdGVsZXNzU2Nyb2xsU25hcCgpCiAgICAgICAg
IHJldHVybjsKIAogICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHN0YXRlbGVzc1Njcm9sbFNuYXBE
ZWxheSA9IDc1MF9tczsKLSAgICBtX3N0YXRlbGVzc1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRP
bmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxheS52YWx1ZSgpKTsKKyAgICBtX3N0YXRlbGVz
c1NuYXBUcmFuc2l0aW9uVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlbGVzc1Njcm9sbFNuYXBEZWxh
eSk7CiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsKIH0KIApA
QCAtNjEwLDcgKzYxMCw3IEBAIHZvaWQgU2Nyb2xsQ29udHJvbGxlcjo6c3RhcnRTY3JvbGxTbmFw
VGltZXIoKQogCiAgICAgc3RhcnREZWZlcnJpbmdUZXN0c0R1ZVRvU2Nyb2xsU25hcHBpbmcoKTsK
ICAgICBtX2NsaWVudC5zdGFydFNjcm9sbFNuYXBUaW1lcigpOwotICAgIG1fc2Nyb2xsU25hcFRp
bWVyLnN0YXJ0UmVwZWF0aW5nKDEuMCAvIDYwLjApOworICAgIG1fc2Nyb2xsU25hcFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKFNlY29uZHMoMS4wIC8gNjApKTsKIH0KIAogdm9pZCBTY3JvbGxDb250cm9s
bGVyOjpzdG9wU2Nyb2xsU25hcFRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJvdmlkZXIubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBh
ZFByb3ZpZGVyLm1tCmluZGV4IDZhNTNmMTIyOTIxOWY0OGNlYzk3MjI4NGQyYjU5YzdkOGEyYTlk
OTAuLmU0YzQyMjE2MjNlMWM4MDA4NTdiMGVhNmM2NTBlZGVmZGNmYTQ0MGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1l
cGFkUHJvdmlkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2Nv
YS9HYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5tbQpAQCAtNDAsNyArNDAsNyBAQCBTT0ZU
X0xJTktfQ09OU1RBTlRfTUFZX0ZBSUwoR2FtZUNvbnRyb2xsZXIsIEdDQ29udHJvbGxlckRpZERp
c2Nvbm5lY3ROb3RpZmljYXRpbwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25z
dCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIElucHV0Tm90aWZpY2F0aW9uRGVsYXkgPSAxNm1z
Oworc3RhdGljIGNvbnN0IFNlY29uZHMgSW5wdXROb3RpZmljYXRpb25EZWxheSA9IDE2X21zOwog
CiBHYW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlciYgR2FtZUNvbnRyb2xsZXJHYW1lcGFkUHJv
dmlkZXI6OnNpbmdsZXRvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nYW1lcGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ2FtZXBhZC9tYWMvSElER2FtZXBhZFByb3ZpZGVyLmNwcAppbmRleCAwZDhhNzlhMDUw
ZDE4YWE4NzA4OWU5NThlODEyMTRlMWNkZmIxNGViLi4xYzZiNWQ4M2E4YTkwMzQ4MzUwOTQyNTEz
MTMyNmU5Y2Y5YTczMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1l
cGFkL21hYy9ISURHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dhbWVwYWQvbWFjL0hJREdhbWVwYWRQcm92aWRlci5jcHAKQEAgLTM0LDggKzM0LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIENvbm5lY3Rpb25E
ZWxheUludGVydmFsID0gMC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSBJbnB1dE5vdGlmaWNhdGlv
bkRlbGF5ID0gMC4wNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIENvbm5lY3Rpb25EZWxheUludGVy
dmFsID0gMC41X3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBJbnB1dE5vdGlmaWNhdGlvbkRlbGF5
ID0gMC4wNV9zOwogCiBzdGF0aWMgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gZGV2aWNlTWF0
Y2hpbmdEaWN0aW9uYXJ5KHVpbnQzMl90IHVzYWdlUGFnZSwgdWludDMyX3QgdXNhZ2UpCiB7CkBA
IC0yMDEsNyArMjAxLDcgQEAgdm9pZCBISURHYW1lcGFkUHJvdmlkZXI6OmRldmljZUFkZGVkKElP
SElERGV2aWNlUmVmIGRldmljZSkKICAgICAgICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gdGVs
bCB0aGUgY2xpZW50IGFib3V0IGFueSBvZiB0aGVtLgogICAgICAgICAvLyBUaGUgbV9jb25uZWN0
aW9uRGVsYXlUaW1lciBmaXJlcyBpbiBhIHN1YnNlcXVlbnQgc3BpbiBvZiB0aGUgcnVubG9vcCBh
ZnRlciB3aGljaAogICAgICAgICAvLyBhbnkgY29ubmVjdGlvbiBldmVudHMgYXJlIGFjdHVhbCBu
ZXcgZGV2aWNlcy4KLSAgICAgICAgbV9jb25uZWN0aW9uRGVsYXlUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fY29ubmVjdGlvbkRlbGF5VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAK
ICAgICAgICAgTE9HKEdhbWVwYWQsICJEZXZpY2UgJXAgd2FzIGFkZGVkIHdoaWxlIHN1cHByZXNz
aW5nIGNhbGxiYWNrcywgc28gdGhpcyBzaG91bGQgYmUgYW4gJ2FscmVhZHkgY29ubmVjdGVkJyBl
dmVudCIsIGRldmljZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ds
aWIvTWFpblRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9nbGliL01haW5UaHJlYWRTaGFyZWRUaW1lckdMaWIuY3BwCmluZGV4IDI4NGY4YjE3ZWNkNjlj
MGMxNzIwMmExYzFhNDhkNjY2MGRhNjI3ZjIuLmJiMzZhOGYxZGRiN2JhNWQ1ZTVlYTQ5ZjkwZGFm
Njk0NGU4NDkwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvTWFp
blRocmVhZFNoYXJlZFRpbWVyR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z2xpYi9NYWluVGhyZWFkU2hhcmVkVGltZXJHTGliLmNwcApAQCAtNDIsNyArNDIsNyBAQCBNYWlu
VGhyZWFkU2hhcmVkVGltZXI6Ok1haW5UaHJlYWRTaGFyZWRUaW1lcigpCiB2b2lkIE1haW5UaHJl
YWRTaGFyZWRUaW1lcjo6c2V0RmlyZUludGVydmFsKFNlY29uZHMgaW50ZXJ2YWwpCiB7CiAgICAg
QVNTRVJUKG1fZmlyZWRGdW5jdGlvbik7Ci0gICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2
YWwudmFsdWUoKSk7CisgICAgbV90aW1lci5zdGFydE9uZVNob3QoaW50ZXJ2YWwpOwogfQogCiB2
b2lkIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKaW5kZXggMGFjNjNmYjQ3MmQzMTdhZDlh
OTk3YTMyODFhZGU5ZTcwNWI0YzEzZC4uN2VmYzM5ZDcwZjg1NWNmMzU0NjhkYWU4MWMzODI0OGI0
ZWI1YWNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmNwcApAQCAtMjIxLDcgKzIyMSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmNsZWFyVGlt
ZXIoKQogICAgIG1fZnJhbWVUaW1lciA9IG51bGxwdHI7CiB9CiAKLXZvaWQgQml0bWFwSW1hZ2U6
OnN0YXJ0VGltZXIoZG91YmxlIGRlbGF5KQordm9pZCBCaXRtYXBJbWFnZTo6c3RhcnRUaW1lcihT
ZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKICAgICBtX2ZyYW1l
VGltZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFRpbWVyPigqdGhpcywgJkJpdG1hcEltYWdlOjphZHZh
bmNlQW5pbWF0aW9uKTsKQEAgLTI4NSw3ICsyODUsNyBAQCBCaXRtYXBJbWFnZTo6U3RhcnRBbmlt
YXRpb25SZXN1bHQgQml0bWFwSW1hZ2U6OmludGVybmFsU3RhcnRBbmltYXRpb24oKQogICAgIH0K
IAogICAgIEFTU0VSVCghbV9mcmFtZVRpbWVyKTsKLSAgICBzdGFydFRpbWVyKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSk7CisgICAgc3RhcnRUaW1lcihTZWNvbmRzKG1fZGVzaXJlZEZy
YW1lU3RhcnRUaW1lIC0gdGltZSkpOwogICAgIHJldHVybiBTdGFydEFuaW1hdGlvblJlc3VsdDo6
U3RhcnRlZDsKIH0KIApAQCAtMjk5LDcgKzI5OSw3IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmFkdmFu
Y2VBbmltYXRpb24oKQogICAgICAgICBkb3VibGUgdGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwogICAgICAgICAvLyBTdGFydCBhIHRpbWVyIHdpdGggdGhlIHJlbWFpbmluZyB0
aW1lIGZyb20gbm93IHRpbGwgdGhlIG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZS4KICAgICAgICAg
aWYgKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgPiBzdGQ6Om1heCh0aW1lLCBt
X2Rlc2lyZWRGcmFtZVN0YXJ0VGltZSkpIHsKLSAgICAgICAgICAgIHN0YXJ0VGltZXIobV9kZXNp
cmVkRnJhbWVEZWNvZGVUaW1lRm9yVGVzdGluZyAtIHRpbWUpOworICAgICAgICAgICAgc3RhcnRU
aW1lcihTZWNvbmRzKG1fZGVzaXJlZEZyYW1lRGVjb2RlVGltZUZvclRlc3RpbmcgLSB0aW1lKSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA0MTI0ZmE2NTM0ZDEwODI3
NzhhNmVkZWI0MGE5OTJiNjg0NzZhYjM1Li44Njg2ZDNhZTk4Yzg3N2I1ZmIxNWU2N2Q4NjY4NTg5
MzVjYjkzNjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKQEAgLTE4Niw3ICsxODYsNyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAg
dm9pZCBjbGVhclRpbWVyKCk7Ci0gICAgdm9pZCBzdGFydFRpbWVyKGRvdWJsZSBkZWxheSk7Cisg
ICAgdm9pZCBzdGFydFRpbWVyKFNlY29uZHMgZGVsYXkpOwogICAgIGJvb2wgaXNCaXRtYXBJbWFn
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIGR1bXAoVGV4dFN0
cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAwM2E3OGU3YWZhOGU0MWU1ZWU0NTljZjE1ZGM3ZmFl
MDZjNjFiNjBjLi5mNTYyOWQ4YWY2NjMzZWNlMDRjYTU5Y2Y4MmJjNzRkZGE0MzdkNDk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTMy
OSw3ICszMjksNyBAQCBjb25zdCB1bnNpZ25lZCBjVGFyZ2V0VW5kZXJNZW1vcnlQcmVzc3VyZUlu
YWN0aXZlRm9udERhdGEgPSAzMDsKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OmZvbnRGb3JGYW1p
bHkoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5LCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVz
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgYm9v
bCBjaGVja2luZ0FsdGVybmF0ZU5hbWUpCiB7CiAgICAgaWYgKCFtX3B1cmdlVGltZXIuaXNBY3Rp
dmUoKSkKLSAgICAgICAgbV9wdXJnZVRpbWVyLnN0YXJ0T25lU2hvdCgwbXMpOworICAgICAgICBt
X3B1cmdlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBGb250UGxhdGZvcm1EYXRhKiBw
bGF0Zm9ybURhdGEgPSBnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwg
ZmFtaWx5LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgY2hlY2tp
bmdBbHRlcm5hdGVOYW1lKTsKICAgICBpZiAoIXBsYXRmb3JtRGF0YSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1Rhcmdl
dFBpY2tlci5jcHAKaW5kZXggNDkzMTY4NmIzMTUxMjc3MTYyNTA0ODg4YjcxNWUyODFhMjc1OTIw
Ni4uNWUwN2M1Zjc3ZjMwYjE5NjZhMmQxZmRjZTUwYTIxOTNmMDEyZWFiOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFja1RhcmdldFBpY2tl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5YmFj
a1RhcmdldFBpY2tlci5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBlbmRpbmdBY3Rpb25JbnRlcnZhbCA9IDEuMCAvIDEw
LjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBwZW5kaW5nQWN0aW9uSW50ZXJ2YWwgPSAwLjFfczsK
IAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcjo6TWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihD
bGllbnQmIGNsaWVudCkKICAgICA6IG1fY2xpZW50KCZjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMGRjODhjN2Q5MzRk
MTRhM2Y0NGNkODA3NGQyZjhiYmRkZjM2MzY3My4uZTNjOTc4YWUzYmNlNWIxNjAxODg0NTZhNWI1
NThhY2ZiYWU5NTg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcApAQCAtMTA5OCw3ICsxMDk4LDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6
bmV0d29ya1N0YXRlQ2hhbmdlZCgpCiAgICAgaWYgKG1fcHJpdmF0ZS0+bmV0d29ya1N0YXRlKCkg
Pj0gRm9ybWF0RXJyb3IgJiYgbV9wcml2YXRlLT5yZWFkeVN0YXRlKCkgPCBIYXZlTWV0YWRhdGEp
IHsKICAgICAgICAgbV9jbGllbnQubWVkaWFQbGF5ZXJFbmdpbmVGYWlsZWRUb0xvYWQoKTsKICAg
ICAgICAgaWYgKGluc3RhbGxlZE1lZGlhRW5naW5lcygpLnNpemUoKSA+IDEgJiYgKG1fY29udGVu
dE1JTUVUeXBlLmlzRW1wdHkoKSB8fCBuZXh0QmVzdE1lZGlhRW5naW5lKG1fY3VycmVudE1lZGlh
RW5naW5lKSkpIHsKLSAgICAgICAgICAgIG1fcmVsb2FkVGltZXIuc3RhcnRPbmVTaG90KDApOwor
ICAgICAgICAgICAgbV9yZWxvYWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKaW5kZXggMzI5Y2ExMDA5YmNhOGRhMWE4Y2UxMDExODIw
MzUwZmZlOTk0YTNmOS4uYjM0MDQyYWM1YmI3Y2VmNWE5NDNiMTk1OGEyMjA4MzRkNDkxYmVlOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
QEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChtX3B1cmdlVGltZXIuaXNB
Y3RpdmUoKSkKICAgICAgICAgICAgIG1fcHVyZ2VUaW1lci5zdG9wKCk7CiAKLSAgICAgICAgY29u
c3QgZG91YmxlIHNjcmF0Y2hCdWZmZXJQdXJnZUludGVydmFsID0gMjsKKyAgICAgICAgY29uc3Qg
YXV0byBzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCA9IDJfczsKICAgICAgICAgbV9wdXJnZVRp
bWVyLnN0YXJ0T25lU2hvdChzY3JhdGNoQnVmZmVyUHVyZ2VJbnRlcnZhbCk7CiAgICAgfQogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDLm1tCmlu
ZGV4IDZlZThiYzRlZmIzMTdhYmYxNjYzNGE0YzI5MzU0ZWI4NWM0OWFlNmQuLjhkZWUwOWNlMDg2
YWRhZjViZTI3YzIwMDhhY2IyNWRkODkyYzM1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakMubW0KQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIE1l
ZGlhU2VsZWN0aW9uR3JvdXBBVkZPYmpDOjp1cGRhdGVPcHRpb25zKGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBjaGFyYWN0ZXJpcwogCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5jb250YWlucyhwcmVmZXJy
ZWRPcHRpb24pKTsKICAgICBtX3NlbGVjdGVkT3B0aW9uID0gbV9vcHRpb25zLmdldChwcmVmZXJy
ZWRPcHRpb24pOwotICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1f
c2VsZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rp
b25Hcm91cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZG
T2JqQyogb3B0aW9uKQpAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91
cEFWRk9iakM6OnNldFNlbGVjdGVkT3B0aW9uKE1lZGlhU2VsZWN0aW9uT3B0aW9uQVZGT2JqQyoK
ICAgICBtX3NlbGVjdGVkT3B0aW9uID0gb3B0aW9uOwogICAgIGlmIChtX3NlbGVjdGlvblRpbWVy
LmlzQWN0aXZlKCkpCiAgICAgICAgIG1fc2VsZWN0aW9uVGltZXIuc3RvcCgpOwotICAgIG1fc2Vs
ZWN0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2VsZWN0aW9uVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgTWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9iakM6OnNlbGVj
dGlvblRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IGZmMjk5NGZi
YTY0YTc5ODYzNjNkMjgzZWQ0ZjUyOGRkOGUxMzY1NjEuLjRmZTBmNjAxNDFmNGMzZTU3OTBiNjY3
ZGQ2ZmI2YjYyYjY4MDI3MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTIyOCw3
ICsyMjgsNyBAQCBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6c3VwcG9ydHNUeXBlKGNvbgogICAgICAgICBvdXRwdXRDb2RlY3Mg
PSBbZ2V0QVZTdHJlYW1EYXRhUGFyc2VyQ2xhc3MoKSBvdXRwdXRNSU1FQ29kZWNQYXJhbWV0ZXJG
b3JJbnB1dE1JTUVDb2RlY1BhcmFtZXRlcjpvdXRwdXRDb2RlY3NdOwogCiAgICAgTlNTdHJpbmcg
KnR5cGVTdHJpbmcgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOyBjb2RlY3M9XCIl
QFwiIiwgKE5TU3RyaW5nICopcGFyYW1ldGVycy50eXBlLCAoTlNTdHJpbmcgKilvdXRwdXRDb2Rl
Y3NdOwotICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkgaXNQbGF5YWJsZUV4dGVuZGVk
TUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBs
YXllcjo6TWF5QmVTdXBwb3J0ZWQ7OworICAgIHJldHVybiBbZ2V0QVZVUkxBc3NldENsYXNzKCkg
aXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGU6dHlwZVN0cmluZ10gPyBNZWRpYVBsYXllcjo6SXNT
dXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAKICNwcmFnbWEgbWFy
ayAtCkBAIC0zOTYsNyArMzk2LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakM6OnNlZWtXaXRoVG9sZXJhbmNlKGNvbnN0IE1lZGlhVGltZSYgdGkKIAogICAgIGlm
IChtX3NlZWtUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3NlZWtUaW1lci5zdG9wKCk7Ci0g
ICAgbV9zZWVrVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fc2Vla1RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c2Vla0ludGVybmFsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhL0xheWVyUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9MYXllclBvb2wuY3BwCmluZGV4IDBjZjdmNzdlNjExYWQyYmQ0ZWIwNzIzNTAwMThhZGM0
YmNkYjg0NWYuLjBjYzRmYWM1OGEzMDQyYWI2Njg0Y2UxNmJlNzBkNGMyNTBhZjk3YTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0xheWVyUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvTGF5ZXJQb29sLmNwcApA
QCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTGF5ZXJQb29sOjpzY2hlZHVsZVBydW5lKCkKIHsKICAg
ICBpZiAobV9wcnVuZVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3By
dW5lVGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgIG1fcHJ1bmVUaW1lci5zdGFydE9uZVNob3Qo
MV9zKTsKIH0KIAogdm9pZCBMYXllclBvb2w6OnBydW5lVGltZXJGaXJlZCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAK
aW5kZXggZTQyNWI4MmY4MDM0NzQ3ZWFmZWMxOGU4MGUwZTk2OGFmZDVjMDQ3Ny4uYmM5NDk2MTNl
Njk1MTQ0MjIyM2UzNGZiOGRlNTNjMjkxOTIwZWNmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcApAQCAtNDksNyAr
NDksNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHRpbGVT
aXplVXBkYXRlRGVsYXkgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgNTAwIH07CitzdGF0
aWMgY29uc3QgU2Vjb25kcyB0aWxlU2l6ZVVwZGF0ZURlbGF5ID0gMC41X3M7CiAKIFN0cmluZyBU
aWxlQ29udHJvbGxlcjo6dGlsZUdyaWRDb250YWluZXJMYXllck5hbWUoKQogewpAQCAtMjY2LDcg
KzI2Niw3IEBAIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2lu
ZG93KQogICAgIGlmIChtX2lzSW5XaW5kb3cpCiAgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRp
bGVzKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGNvbnN0IGRvdWJsZSB0aWxlUmV2YWxpZGF0aW9u
VGltZW91dCA9IDQ7CisgICAgICAgIGNvbnN0IFNlY29uZHMgdGlsZVJldmFsaWRhdGlvblRpbWVv
dXQgPSA0X3M7CiAgICAgICAgIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbih0aWxlUmV2YWxpZGF0
aW9uVGltZW91dCk7CiAgICAgfQogfQpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgVGlsZUNvbnRy
b2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNv
bnN0IEZsb2F0CiAjZW5kaWYKIH0KIAotdm9pZCBUaWxlQ29udHJvbGxlcjo6c2NoZWR1bGVUaWxl
UmV2YWxpZGF0aW9uKGRvdWJsZSBpbnRlcnZhbCkKK3ZvaWQgVGlsZUNvbnRyb2xsZXI6OnNjaGVk
dWxlVGlsZVJldmFsaWRhdGlvbihTZWNvbmRzIGludGVydmFsKQogewogICAgIGlmIChtX3RpbGVS
ZXZhbGlkYXRpb25UaW1lci5pc0FjdGl2ZSgpICYmIG1fdGlsZVJldmFsaWRhdGlvblRpbWVyLm5l
eHRGaXJlSW50ZXJ2YWwoKSA8IGludGVydmFsKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRl
eCA4Yzg0YzdjYzkyNzY2YzQ2Zjk3NTkxMTcxMWY4OTdiZGViYjE4ZGE4Li44Y2FlNDQ3NzgzZmJk
MGQ0N2RlNDVmYzg1Y2FkZTdkYjgzMTY2OTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTEzNCw3ICsxMzQsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFRpbGVHcmlkJiB0aWxlR3JpZCgpIHsgcmV0dXJuICpt
X3RpbGVHcmlkOyB9CiAKLSAgICB2b2lkIHNjaGVkdWxlVGlsZVJldmFsaWRhdGlvbihkb3VibGUg
aW50ZXJ2YWwpOworICAgIHZvaWQgc2NoZWR1bGVUaWxlUmV2YWxpZGF0aW9uKFNlY29uZHMgaW50
ZXJ2YWwpOwogCiAgICAgYm9vbCBpc0luV2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc0luV2lu
ZG93OyB9CiAgICAgZmxvYXQgdG9wQ29udGVudEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BD
b250ZW50SW5zZXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1RpbGVDb3ZlcmFnZU1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9UaWxlQ292ZXJhZ2VNYXAuY3BwCmluZGV4IDc5MjM5NjdlZjU3NWZhZDFiYjMyZjFh
ZjAzYzk4OThmZmJiMTcxNWMuLjMxZDZhNTg4ZTg5M2U3N2ZiZjRjNDMwNzk5NDU5ZGQ4NDYwYjli
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVD
b3ZlcmFnZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
VGlsZUNvdmVyYWdlTWFwLmNwcApAQCAtNzksNyArNzksNyBAQCBUaWxlQ292ZXJhZ2VNYXA6On5U
aWxlQ292ZXJhZ2VNYXAoKQogdm9pZCBUaWxlQ292ZXJhZ2VNYXA6OnNldE5lZWRzVXBkYXRlKCkK
IHsKICAgICBpZiAoIW1fdXBkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV91cGRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdXBkYXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIHZvaWQgVGlsZUNvdmVyYWdlTWFwOjp1cGRhdGVUaW1lckZpcmVkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmNwcAppbmRl
eCAyOGYyOWNiZGU4ZTIxZjcxODAxYjg4NjIyNzk1NjFlZjkyMmZhMWMxLi4yM2IzOGE3YzIyNzBi
ZmIxMzc5YzcyMTVhZDljYTFmY2FmMjcyYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUdyaWQuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9pZCBU
aWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9uUG9saWN5IHZhbGlkYXRpb25Q
b2xpY3kpCiAgICAgVGlsZUNvaG9ydCBjdXJyQ29ob3J0ID0gbmV4dFRpbGVDb2hvcnQoKTsKICAg
ICB1bnNpZ25lZCB0aWxlc0luQ29ob3J0ID0gMDsKIAotICAgIGRvdWJsZSBtaW5pbXVtUmV2YWxp
ZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7
CisgICAgU2Vjb25kcyBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IFNlY29uZHM6
OmluZmluaXR5KCk7CiAgICAgYm9vbCBuZWVkc1RpbGVSZXZhbGlkYXRpb24gPSBmYWxzZTsKICAg
ICAKICAgICBhdXRvIHRpbGVTaXplID0gbV9jb250cm9sbGVyLnRpbGVTaXplKCk7CkBAIC0zODEs
OCArMzgxLDggQEAgdm9pZCBUaWxlR3JpZDo6cmV2YWxpZGF0ZVRpbGVzKFRpbGVWYWxpZGF0aW9u
UG9saWN5IHZhbGlkYXRpb25Qb2xpY3kpCiAgICAgICAgICAgICAgICAgZm9yIChhdXRvJiBjb2hv
cnQgOiBtX2NvaG9ydExpc3QpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGNvaG9ydC5jb2hv
cnQgIT0gdGlsZUluZm8uY29ob3J0KQogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgICAgIGRvdWJsZSB0aW1lVW50aWxDb2hvcnRFeHBpcmVzID0gY29o
b3J0LnRpbWVVbnRpbEV4cGlyYXRpb24oKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVV
bnRpbENvaG9ydEV4cGlyZXMgPiAwKSB7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gdGltZVVu
dGlsQ29ob3J0RXhwaXJlcyA9IGNvaG9ydC50aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICh0aW1lVW50aWxDb2hvcnRFeHBpcmVzID4gMF9zKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBtaW5pbXVtUmV2YWxpZGF0aW9uVGltZXJEdXJhdGlvbiA9IHN0ZDo6
bWluKG1pbmltdW1SZXZhbGlkYXRpb25UaW1lckR1cmF0aW9uLCB0aW1lVW50aWxDb2hvcnRFeHBp
cmVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRzVGlsZVJldmFsaWRhdGlvbiA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQpAQCAtNDc4LDcgKzQ3OCw3IEBAIFRpbGVH
cmlkOjpUaWxlQ29ob3J0IFRpbGVHcmlkOjpuZXh0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQg
VGlsZUdyaWQ6OnN0YXJ0ZWROZXdDb2hvcnQoVGlsZUNvaG9ydCBjb2hvcnQpCiB7Ci0gICAgbV9j
b2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhjb2hvcnQsIG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpKSk7CisgICAgbV9jb2hvcnRMaXN0LmFwcGVuZChUaWxlQ29ob3J0SW5mbyhj
b2hvcnQsIE1vbm90b25pY1RpbWU6Om5vdygpKSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlm
ICghbV9jb250cm9sbGVyLmlzSW5XaW5kb3coKSkKICAgICAgICAgdGlsZUNvbnRyb2xsZXJNZW1v
cnlIYW5kbGVyKCkudGlsZUNvbnRyb2xsZXJHYWluZWRVbnBhcmVudGVkVGlsZXMoJm1fY29udHJv
bGxlcik7CkBAIC00OTcsMTcgKzQ5NywxNyBAQCBUaWxlR3JpZDo6VGlsZUNvaG9ydCBUaWxlR3Jp
ZDo6b2xkZXN0VGlsZUNvaG9ydCgpIGNvbnN0CiAKIHZvaWQgVGlsZUdyaWQ6OnNjaGVkdWxlQ29o
b3J0UmVtb3ZhbCgpCiB7Ci0gICAgY29uc3QgZG91YmxlIGNvaG9ydFJlbW92YWxUaW1lclNlY29u
ZHMgPSAxOworICAgIGNvbnN0IGF1dG8gY29ob3J0UmVtb3ZhbEludGVydmFsID0gMV9zOwogCiAg
ICAgLy8gU3RhcnQgdGhlIHRpbWVyLCBvciByZXNjaGVkdWxlIHRoZSB0aW1lciBmcm9tIG5vdyBp
ZiBpdCdzIGFscmVhZHkgYWN0aXZlLgogICAgIGlmICghbV9jb2hvcnRSZW1vdmFsVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb2hvcnRSZW1vdmFsVGltZXIuc3RhcnRSZXBlYXRpbmcoY29o
b3J0UmVtb3ZhbFRpbWVyU2Vjb25kcyk7CisgICAgICAgIG1fY29ob3J0UmVtb3ZhbFRpbWVyLnN0
YXJ0UmVwZWF0aW5nKGNvaG9ydFJlbW92YWxJbnRlcnZhbCk7CiB9CiAKLWRvdWJsZSBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQorU2Vjb25kcyBUaWxlR3Jp
ZDo6VGlsZUNvaG9ydEluZm86OnRpbWVVbnRpbEV4cGlyYXRpb24oKQogewotICAgIGRvdWJsZSBj
b2hvcnRMaWZlVGltZVNlY29uZHMgPSAyOwotICAgIGRvdWJsZSB0aW1lVGhyZXNob2xkID0gbW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkgLSBjb2hvcnRMaWZlVGltZVNlY29uZHM7CisgICAg
Y29uc3QgU2Vjb25kcyBjb2hvcnRMaWZlVGltZSA9IFNlY29uZHMoMik7CisgICAgTW9ub3Rvbmlj
VGltZSB0aW1lVGhyZXNob2xkID0gTW9ub3RvbmljVGltZTo6bm93KCkgLSBjb2hvcnRMaWZlVGlt
ZTsKICAgICByZXR1cm4gY3JlYXRpb25UaW1lIC0gdGltZVRocmVzaG9sZDsKIH0KIApAQCAtNTE4
LDcgKzUxOCw3IEBAIHZvaWQgVGlsZUdyaWQ6OmNvaG9ydFJlbW92YWxUaW1lckZpcmVkKCkKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHdoaWxlICghbV9jb2hvcnRMaXN0LmlzRW1wdHko
KSAmJiBtX2NvaG9ydExpc3QuZmlyc3QoKS50aW1lVW50aWxFeHBpcmF0aW9uKCkgPCAwKSB7Cisg
ICAgd2hpbGUgKCFtX2NvaG9ydExpc3QuaXNFbXB0eSgpICYmIG1fY29ob3J0TGlzdC5maXJzdCgp
LnRpbWVVbnRpbEV4cGlyYXRpb24oKSA8IDBfcykgewogICAgICAgICBUaWxlQ29ob3J0SW5mbyBm
aXJzdENvaG9ydCA9IG1fY29ob3J0TGlzdC50YWtlRmlyc3QoKTsKICAgICAgICAgcmVtb3ZlVGls
ZXNJbkNvaG9ydChmaXJzdENvaG9ydC5jb2hvcnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVHcmlkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlR3JpZC5oCmluZGV4IDMyNTMzNmY4MTkxZTQ1ODIz
Yzc1NWQ4NzgyYzQyYWEwZGU1NzY1MWQuLjQyNjkzNzc0YmE0ZjFjNWFiNGNkMzRlMjhhMzI3ZmVl
OThhZTBjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L1RpbGVHcmlkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGls
ZUdyaWQuaApAQCAtMTIxLDEzICsxMjEsMTMgQEAgcHJpdmF0ZToKIAogICAgIHN0cnVjdCBUaWxl
Q29ob3J0SW5mbyB7CiAgICAgICAgIFRpbGVDb2hvcnQgY29ob3J0OwotICAgICAgICBkb3VibGUg
Y3JlYXRpb25UaW1lOyAvLyBpbiBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKS4KLSAgICAg
ICAgVGlsZUNvaG9ydEluZm8oVGlsZUNvaG9ydCBpbkNvaG9ydCwgZG91YmxlIGluVGltZSkKKyAg
ICAgICAgTW9ub3RvbmljVGltZSBjcmVhdGlvblRpbWU7CisgICAgICAgIFRpbGVDb2hvcnRJbmZv
KFRpbGVDb2hvcnQgaW5Db2hvcnQsIE1vbm90b25pY1RpbWUgaW5UaW1lKQogICAgICAgICAgICAg
OiBjb2hvcnQoaW5Db2hvcnQpCiAgICAgICAgICAgICAsIGNyZWF0aW9uVGltZShpblRpbWUpCiAg
ICAgICAgIHsgfQogCi0gICAgICAgIGRvdWJsZSB0aW1lVW50aWxFeHBpcmF0aW9uKCk7CisgICAg
ICAgIFNlY29uZHMgdGltZVVudGlsRXhwaXJhdGlvbigpOwogICAgIH07CiAKICAgICB2b2lkIHJl
bW92ZUFsbFRpbGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCmluZGV4IGI4MWQ1OGU2M2QxOGIyNmFmNGRiMTRmYTVj
M2E4YTBmZTBiZmYxNDguLmY5NGY0YTE0NzA0NzcyZTg4MjFkYWJmNjEzZTM4NzQwM2U5MzJhY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFj
ZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3Vy
ZmFjZVBvb2wuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9IDUwMG1zOwotY29uc3Qgc3RkOjpjaHJvbm86OnNlY29u
ZHMgc3VyZmFjZUFnZUJlZm9yZU1hcmtpbmdQdXJnZWFibGUgPSAyczsKK2NvbnN0IFNlY29uZHMg
Y29sbGVjdGlvbkludGVydmFsID0gMC41X3M7Citjb25zdCBTZWNvbmRzIHN1cmZhY2VBZ2VCZWZv
cmVNYXJraW5nUHVyZ2VhYmxlID0gMl9zOwogY29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0
ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3Jl
IHRoYW4gMS8yIG9mIHRoZSBjYWNoZSB0byBiZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMs
IGJlY2F1c2UKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIElPU3VyZmFjZVBvb2w6OmNvbGxlY3RJ
blVzZVN1cmZhY2VzKCkKIGJvb2wgSU9TdXJmYWNlUG9vbDo6bWFya09sZGVyU3VyZmFjZXNQdXJn
ZWFibGUoKQogewogICAgIGJvb2wgbWFya2VkQWxsU3VyZmFjZXMgPSB0cnVlOwotICAgIGF1dG8g
bWFya1RpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICBhdXRvIG1h
cmtUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAKICAgICBmb3IgKGF1dG8mIHN1cmZhY2VB
bmREZXRhaWxzIDogbV9zdXJmYWNlRGV0YWlscykgewogICAgICAgICBpZiAoc3VyZmFjZUFuZERl
dGFpbHMudmFsdWUuaGFzTWFya2VkUHVyZ2VhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5oCmluZGV4IDM0OWEzYmMzZDI3YzU0
Njk2ZDdiNWI1NjM5NWYzZjNlMmYyN2YzYzQuLjk4MjFhNGZmMDk3MTAwZjU1ZTFiZjNjNDgyMDA2
ZWJjOTRmZTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NnL0lPU3VyZmFjZVBvb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9JT1N1cmZhY2VQb29sLmgKQEAgLTYzLDkgKzYzLDkgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIDogaGFzTWFya2VkUHVyZ2VhYmxlKGZhbHNlKQogICAgICAgICB7IH0KIAotICAgICAgICB2
b2lkIHJlc2V0TGFzdFVzZVRpbWUoKSB7IGxhc3RVc2VUaW1lID0gc3RkOjpjaHJvbm86OnN0ZWFk
eV9jbG9jazo6bm93KCk7IH0KKyAgICAgICAgdm9pZCByZXNldExhc3RVc2VUaW1lKCkgeyBsYXN0
VXNlVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOyB9CiAKLSAgICAgICAgc3RkOjpjaHJvbm86
OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBsYXN0VXNlVGltZTsKKyAgICAgICAgTW9ub3Rvbmlj
VGltZSBsYXN0VXNlVGltZTsKICAgICAgICAgYm9vbCBoYXNNYXJrZWRQdXJnZWFibGU7CiAgICAg
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvU3Vi
aW1hZ2VDYWNoZVdpdGhUaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAppbmRleCA0ZmFmNzdlMjU0ZTJhYWM0MDhi
NGU4MzYzZjQ4ZTNlZDIzMGZmZDc2Li5kYmQzYjMyMDEyMDdiNTdmZjQ4MTg5NDg5MTEwNWNhNzA0
NjlmMzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9T
dWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9TdWJpbWFnZUNhY2hlV2l0aFRpbWVyLmNwcApAQCAtMzQsNyArMzQsNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHN1YmltYWdlQ2FjaGVD
bGVhckRlbGF5ID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyAxIH07CitzdGF0aWMgY29uc3QgYXV0
byBzdWJpbWFnZUNhY2hlQ2xlYXJEZWxheSA9IDFfczsKIHN0YXRpYyBjb25zdCBpbnQgbWF4U3Vi
aW1hZ2VDYWNoZVNpemUgPSAzMDA7CiAKIHN0cnVjdCBTdWJpbWFnZVJlcXVlc3QgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCBmZWFkZGRk
YThkYzQ2NDk1NmQ1NDA1MmUwNWFkYTc3MDZkNDgzZjkxLi45OTNiZTU5ODY2Zjc2OTZhNmE5NTFm
NzNmN2RkOTI0ZDcwZjFhN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcApAQCAtMzY3LDcgKzM2Nyw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjaGFuZ2VQaXBlbGluZVN0YXRlKEdzdFN0YXRlIG5ld1N0YXRlKQogICAg
IGlmIChuZXdTdGF0ZSA9PSBHU1RfU1RBVEVfUkVBRFkgJiYgIW1fcmVhZHlUaW1lckhhbmRsZXIu
aXNBY3RpdmUoKSkgewogICAgICAgICAvLyBNYXggaW50ZXJ2YWwgaW4gc2Vjb25kcyB0byBzdGF5
IGluIHRoZSBSRUFEWSBzdGF0ZSBvbiBtYW51YWwKICAgICAgICAgLy8gc3RhdGUgY2hhbmdlIHJl
cXVlc3RzLgotICAgICAgICBzdGF0aWMgY29uc3QgZG91YmxlIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjA7CisgICAgICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIHJlYWR5U3RhdGVUaW1lckRlbGF5
ID0gNjBfczsKICAgICAgICAgbV9yZWFkeVRpbWVySGFuZGxlci5zdGFydE9uZVNob3QocmVhZHlT
dGF0ZVRpbWVyRGVsYXkpOwogICAgIH0gZWxzZSBpZiAobmV3U3RhdGUgIT0gR1NUX1NUQVRFX1JF
QURZKQogICAgICAgICBtX3JlYWR5VGltZXJIYW5kbGVyLnN0b3AoKTsKQEAgLTE4NTgsNyArMTg1
OCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXREb3dubG9hZEJ1ZmZl
cmluZygpCiAgICAgaWYgKHNob3VsZERvd25sb2FkKSB7CiAgICAgICAgIEdTVF9ERUJVRygiRW5h
Ymxpbmcgb24tZGlzayBidWZmZXJpbmciKTsKICAgICAgICAgZ19vYmplY3Rfc2V0KG1fcGlwZWxp
bmUuZ2V0KCksICJmbGFncyIsIGZsYWdzIHwgZmxhZ0Rvd25sb2FkLCBudWxscHRyKTsKLSAgICAg
ICAgbV9maWxsVGltZXIuc3RhcnRSZXBlYXRpbmcoMC4yKTsKKyAgICAgICAgbV9maWxsVGltZXIu
c3RhcnRSZXBlYXRpbmcoMC4yX3MpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdTVF9ERUJVRygi
RGlzYWJsaW5nIG9uLWRpc2sgYnVmZmVyaW5nIik7CiAgICAgICAgIGdfb2JqZWN0X3NldChtX3Bp
cGVsaW5lLmdldCgpLCAiZmxhZ3MiLCBmbGFncyAmIH5mbGFnRG93bmxvYWQsIG51bGxwdHIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3Bw
CmluZGV4IDk2OTM2OWEzNWU3OTcxNTk4ZWNmMThlZjlmMjQ4MDkxZmI1Y2Q1NjguLmJlY2VmMjEz
ZmVmNDcxOWYzZWYwOTNjYTJjODk5ZTE0NjkzODE3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTY1Myw3ICs2NTMsNyBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnRyaWdnZXJSZXBhaW50KEdz
dFNhbXBsZSogc2FtcGxlKQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkK
ICAgICBpZiAoIW1fcGxheWVyLT5jbGllbnQoKS5tZWRpYVBsYXllckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkKCkpIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgp
OwotICAgICAgICBtX2RyYXdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1Rp
bWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2Ry
YXdNdXRleCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzUsNyArNjc1LDcgQEAgdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp0cmlnZ2VyUmVwYWludChHc3RTYW1w
bGUqIHNhbXBsZSkKICAgICAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAKICAgICAgICAg
TG9ja0hvbGRlciBsb2NrZXIobV9kcmF3TXV0ZXgpOwotICAgICAgICBtX2RyYXdUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgICAgIG1fZHJhd1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAg
ICAgICBtX2RyYXdDb25kaXRpb24ud2FpdChtX2RyYXdNdXRleCk7CiAgICAgfQogI2Vsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRl
b1NpbmtHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKaW5kZXggZDE4MWVjZjAxNzhjZTJhNTdkZjIx
YjE1MjFjMDQxZjZiNzI3OTkyOC4uY2NjNjk0MTk5ZDE1YWQ4NTE3MDllYTdlOGZiNTJmNDM0YzY0
MDVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTExOSw3ICsxMTks
NyBAQCBwdWJsaWM6CiAgICAgICAgIG1fc2FtcGxlID0gbnVsbHB0cjsKICNlbHNlCiAgICAgICAg
IG1fc2luayA9IHNpbms7Ci0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogICAgICAgICBtX2RhdGFDb25kaXRpb24ud2Fp
dChtX3NhbXBsZU11dGV4KTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBsYXllclByaXZh
dGVRVEtpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9NZWRpYVBs
YXllclByaXZhdGVRVEtpdC5tbQppbmRleCA5NjhhMmQ4OGI2NTFiY2JiMjMwNjIyNzEzM2RmNTYw
YzFlZjJmYjRmLi4xOTgyMzUxOTJmYTJiODEzZWRjNGY1ZjdlOGNmZjdiMmQ2MWZjNDhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTWVkaWFQbGF5ZXJQ
cml2YXRlUVRLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L01lZGlhUGxheWVyUHJpdmF0ZVFUS2l0Lm1tCkBAIC02NDcsNyArNjQ3LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVRVEtpdDo6c2Vlayhjb25zdCBNZWRpYVRpbWUmIGluVGltZSkKICAgICBp
ZiAobWF4TWVkaWFUaW1lU2Vla2FibGUoKSA+PSBtX3NlZWtUbykKICAgICAgICAgZG9TZWVrKCk7
CiAgICAgZWxzZSAKLSAgICAgICAgbV9zZWVrVGltZXIuc3RhcnQoMCwgMC41Zik7CisgICAgICAg
IG1fc2Vla1RpbWVyLnN0YXJ0KDBfcywgMC41X3MpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZVFUS2l0Ojpkb1NlZWsoKSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvQml0bWFwVGV4dHVyZVBvb2wuY3BwCmluZGV4IDFiNDZm
Mzc1MjQ5ODkwN2UwMGJjMjgyZDJkOWQ2ZjFhZjczYjQ1OWUuLjkxYzAzMjQwODY3YjQ2ZWM5Yjk3
NWRkMzQ4OWJmN2VjMWFhZDMwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9CaXRtYXBUZXh0dXJlUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0JpdG1hcFRleHR1cmVQb29sLmNwcApAQCAtMzQs
NyArMzQsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIHNf
cmVsZWFzZVVudXNlZFNlY29uZHNUb2xlcmFuY2UgPSAzOwotc3RhdGljIGNvbnN0IGRvdWJsZSBz
X3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjU7CitzdGF0aWMgY29uc3Qg
U2Vjb25kcyBzX3JlbGVhc2VVbnVzZWRUZXh0dXJlc1RpbWVySW50ZXJ2YWwgPSAwLjVfczsKIAog
I2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIEJpdG1hcFRleHR1cmVQb29sOjpCaXRtYXBUZXh0
dXJlUG9vbChSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+JiYgY29udGV4dDNEKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCmluZGV4IDVlM2M4MmYx
ZjMzYWQ1MjkyNTA2Njg5NmM5YzIxNGEzM2JmOGIzMDUuLjljMmIxMWIzZjhhMWE2YzdiZWRhZjhm
NWM1MWU2MDUzODNjYzIyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJUZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllckJ1ZmZlci5oIgogCiBjb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2Vk
U2Vjb25kc1RvbGVyYW5jZSA9IDE7Ci1jb25zdCBkb3VibGUgc19yZWxlYXNlVW51c2VkQnVmZmVy
c1RpbWVySW50ZXJ2YWwgPSAwLjU7Citjb25zdCBTZWNvbmRzIHNfcmVsZWFzZVVudXNlZEJ1ZmZl
cnNUaW1lckludGVydmFsID0gMC41X3M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTYz
LDcgKzE2Myw3IEBAIGJvb2wgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6c2NoZWR1
bGVVcGRhdGVPbkNvbXBvc2l0b3JUaHJlYWQoc3RkOjpmdW5jCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIG1fY29tcG9zaXRvclRocmVhZFVwZGF0ZUZ1bmN0aW9uID0gV1RGTW92ZSh1cGRh
dGVGdW5jdGlvbik7Ci0gICAgbV9jb21wb3NpdG9yVGhyZWFkVXBkYXRlVGltZXItPnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2NvbXBvc2l0b3JUaHJlYWRVcGRhdGVUaW1lci0+c3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNz
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMDU1ZWY5OTU0OWU2OTQy
NjI0MTAzZDg4OGNiYzc1NGQ2ZmI2ZDNlYy4uMGRjNjkyNWE1MTkxOTE4MTMyMmQ4YjZjNWM3MDAz
MTU4NDFjOThkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3NMYXllci5jcHAKQEAgLTEyMDAsNyArMTIwMCw3IEBAIGJvb2wgQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZh
bHVlTGlzdCwKIAogICAgIG1fbGFzdEFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJ
bmNyZWFzaW5nVGltZSgpIC0gZGVsYXlBc05lZ2F0aXZlVGltZU9mZnNldDsKICAgICBtX2FuaW1h
dGlvbnMuYWRkKFRleHR1cmVNYXBwZXJBbmltYXRpb24oa2V5ZnJhbWVzTmFtZSwgdmFsdWVMaXN0
LCBib3hTaXplLCAqYW5pbSwgbGlzdHNNYXRjaCwgbV9sYXN0QW5pbWF0aW9uU3RhcnRUaW1lLCAw
LCBUZXh0dXJlTWFwcGVyQW5pbWF0aW9uOjpBbmltYXRpb25TdGF0ZTo6UGxheWluZykpOwotICAg
IG1fYW5pbWF0aW9uU3RhcnRlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2FuaW1hdGlv
blN0YXJ0ZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICBkaWRDaGFuZ2VBbmltYXRpb25z
KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVk
L0Nvb3JkaW5hdGVkSW1hZ2VCYWNraW5nLmNwcAppbmRleCAzZjU2NzNlOGZkNTM2NWYwOGNmZDY5
ZWZjM2ZhYWVjNDMyMzM2YTYxLi42Yjg0YjYzNDlhMDBmZDZjYTVhMTk2MGZmYzgzMGI3ODcyYjRl
OGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEltYWdl
QmFja2luZy5jcHAKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIENvb3JkaW5hdGVkSW1hZ2VCYWNr
aW5nOjpyZWxlYXNlU3VyZmFjZUlmTmVlZGVkKCkKICAgICBtX3N1cmZhY2UgPSBudWxscHRyOwog
fQogCi1zdGF0aWMgY29uc3QgZG91YmxlIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gMzsK
K3N0YXRpYyBjb25zdCBTZWNvbmRzIGNsZWFyQ29udGVudHNUaW1lckludGVydmFsID0gU2Vjb25k
cygzKTsKIAogdm9pZCBDb29yZGluYXRlZEltYWdlQmFja2luZzo6dXBkYXRlVmlzaWJpbGl0eUlm
TmVlZGVkKGJvb2wmIGNoYW5nZWRUb1Zpc2libGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1Njcm9sbEFuaW1hdG9yR3RrLmNwcAppbmRleCAxM2U2MzU0YjA5MjYxMzRk
ODdmOWZjMDlkZmNmMTIyYWMxOTdjZDVlLi5iMjRjZmE2YTFmNTg3NjQ3MWE2NTBmMDZkZTZjYjE5
NmQ0ODU3ODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xs
QW5pbWF0b3JHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9TY3JvbGxB
bmltYXRvckd0ay5jcHAKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yR3Rr
OjpvdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXJGaXJlZCgpCiAgICAgICAgIHN0YXRpYyBj
b25zdCBkb3VibGUgdGlja1RpbWUgPSAxIC8gZnJhbWVSYXRlOwogICAgICAgICBzdGF0aWMgY29u
c3QgZG91YmxlIG1pbmltdW1UaW1lckludGVydmFsID0gLjAwMTsKICAgICAgICAgZG91YmxlIGRl
bHRhVG9OZXh0RnJhbWUgPSBzdGQ6Om1heCh0aWNrVGltZSAtIChtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSAtIGN1cnJlbnRUaW1lKSwgbWluaW11bVRpbWVySW50ZXJ2YWwpOwotICAgICAg
ICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoZGVsdGFUb05l
eHRGcmFtZSk7CisgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblRpbWVyLnN0YXJ0
T25lU2hvdChTZWNvbmRzKGRlbHRhVG9OZXh0RnJhbWUpKTsKICAgICB9IGVsc2UKICAgICAgICAg
aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMTMsNyArMjEzLDcgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvckd0azo6c2hvd092ZXJsYXlTY3JvbGxiYXJzKCkKICAgICBpZiAobV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGFyZ2V0ICE9IG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkN1
cnJlbnQpIHsKICAgICAgICAgbV9vdmVybGF5U2Nyb2xsYmFyQW5pbWF0aW9uU3RhcnRUaW1lID0g
bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgICAgIG1fb3ZlcmxheVNjcm9sbGJh
ckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUg
KyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25EdXJhdGlvbjsKLSAgICAgICAgbV9vdmVybGF5
U2Nyb2xsYmFyQW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UK
ICAgICAgICAgaGlkZU92ZXJsYXlTY3JvbGxiYXJzKCk7CiB9CkBAIC0yMzMsNyArMjMzLDcgQEAg
dm9pZCBTY3JvbGxBbmltYXRvckd0azo6aGlkZU92ZXJsYXlTY3JvbGxiYXJzKCkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvblN0YXJ0VGltZSA9IG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICsgb3ZlcmZsb3dTY3JvbGxiYXJzQW5pbWF0aW9uSGlk
ZURlbGF5OwogICAgIG1fb3ZlcmxheVNjcm9sbGJhckFuaW1hdGlvbkVuZFRpbWUgPSBtX292ZXJs
YXlTY3JvbGxiYXJBbmltYXRpb25TdGFydFRpbWUgKyBvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRp
b25EdXJhdGlvbiArIG92ZXJmbG93U2Nyb2xsYmFyc0FuaW1hdGlvbkhpZGVEZWxheTsKLSAgICBt
X292ZXJsYXlTY3JvbGxiYXJBbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qob3ZlcmZsb3dTY3Jv
bGxiYXJzQW5pbWF0aW9uSGlkZURlbGF5KTsKKyAgICBtX292ZXJsYXlTY3JvbGxiYXJBbmltYXRp
b25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhvdmVyZmxvd1Njcm9sbGJhcnNBbmltYXRpb25I
aWRlRGVsYXkpKTsKIH0KIAogdm9pZCBTY3JvbGxBbmltYXRvckd0azo6bW91c2VFbnRlcmVkQ29u
dGVudEFyZWEoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Njcm9s
bGJhclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhl
bWVHdGsuaAppbmRleCA1MWJkZDI1OWRiY2U2NDZkMjI1NDQ1OTkxMGM2OTg1YjUzOTAxODZmLi45
Y2I0N2NkZDc3ODUzOGUxNjUxNTBmZGRiYTFmZTQ2Y2YxNTY1NTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuaApAQCAtNTIsOCArNTIsOCBA
QCBwdWJsaWM6CiAgICAgaW50IG1pbmltdW1UaHVtYkxlbmd0aChTY3JvbGxiYXImKSBvdmVycmlk
ZTsKIAogICAgIC8vIFRPRE86IFRoZXNlIGFyZSB0aGUgZGVmYXVsdCBHVEsrIHZhbHVlcy4gQXQg
c29tZSBwb2ludCB3ZSBzaG91bGQgcHVsbCB0aGVzZSBmcm9tIHRoZSB0aGVtZSBpdHNlbGYuCi0g
ICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlIHsgcmV0dXJu
IDAuMjA7IH0KLSAgICBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBvdmVycmlkZSB7IHJl
dHVybiAwLjAyOyB9CisgICAgU2Vjb25kcyBpbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKSBv
dmVycmlkZSB7IHJldHVybiAyMDBfbXM7IH0KKyAgICBTZWNvbmRzIGF1dG9zY3JvbGxUaW1lckRl
bGF5KCkgb3ZlcnJpZGUgeyByZXR1cm4gMjBfbXM7IH0KICAgICB2b2lkIHRoZW1lQ2hhbmdlZCgp
IG92ZXJyaWRlOwogICAgIGJvb2wgdXNlc092ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV91c2VzT3ZlcmxheVNjcm9sbGJhcnM7IH0KICAgICAvLyBXaGVuIHVzaW5n
IG92ZXJsYXkgc2Nyb2xsYmFycywgYWx3YXlzIGludmFsaWRhdGUgdGhlIHdob2xlIHNjcm9sbGJh
ciB3aGVuIGVudGVyaW5nL2xlYXZpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L0xlZ2FjeVRpbGVDYWNoZS5tbQppbmRleCA2NmEyNmUxZTY4ZTNjNGQ1NzdhYjNlYjU2ODUxOGZh
YzU4ZjU5NjllLi45YWMwNWZjNTUxNGUxNjQ2MGNiYWM3YTQ0N2JiYTc4ZDIxYTcyOWY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvTGVnYWN5VGlsZUNhY2hlLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9MZWdhY3lUaWxlQ2FjaGUubW0KQEAgLTQy
MCw3ICs0MjAsNyBAQCB2b2lkIExlZ2FjeVRpbGVDYWNoZTo6ZmluaXNoZWRDcmVhdGluZ1RpbGVz
KGJvb2wgZGlkQ3JlYXRlVGlsZXMsIGJvb2wgY3JlYXRlTW9yZQogCiAgICAgLy8gS2VlcCBjcmVh
dGluZyB0aWxlcyB1bnRpbCB0aGUgd2hvbGUgY292ZXJSZWN0IGlzIGNvdmVyZWQuCiAgICAgaWYg
KGNyZWF0ZU1vcmUpCi0gICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgICAgICBtX3RpbGVDcmVhdGlvblRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2
b2lkIExlZ2FjeVRpbGVDYWNoZTo6dGlsZUNyZWF0aW9uVGltZXJGaXJlZCgpCkBAIC03ODIsNyAr
NzgyLDcgQEAgdm9pZCBMZWdhY3lUaWxlQ2FjaGU6OnNldFNwZWN1bGF0aXZlVGlsZUNyZWF0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgICAgIHJldHVybjsKICAgICBtX2lzU3BlY3VsYXRp
dmVUaWxlQ3JlYXRpb25FbmFibGVkID0gZW5hYmxlZDsKICAgICBpZiAobV9pc1NwZWN1bGF0aXZl
VGlsZUNyZWF0aW9uRW5hYmxlZCkKLSAgICAgICAgbV90aWxlQ3JlYXRpb25UaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgICAgIG1fdGlsZUNyZWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIGJvb2wgTGVnYWN5VGlsZUNhY2hlOjpoYXNQZW5kaW5nRHJhdygpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCmluZGV4IDc1
NmQ0MDYwN2Y1NjNhNmNlNTk4ZTI5YmIyN2I0MGU5NTVlYmE2MWYuLmFjY2QyOWMxMDYwMzY3ZTBm
YzBmZmY2OGQ1M2Q0MzQ3YTA3NGIxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5oCkBAIC00MSw4ICs0MSw4IEBAIHB1YmxpYzoKICAgICAK
ICAgICBib29sIHN1cHBvcnRzQ29udHJvbFRpbnRzKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQogCi0gICAgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJy
aWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOworICAgIFNl
Y29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25k
cyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwogCiAgICAgU2Nyb2xsYmFyQnV0dG9u
c1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxiYXJUaGVtZUlPUy5tbQppbmRleCA2ZTUy
MGJlZjU0OGY1NDAyMDNhOWE2YTNjNzc3ZDgxNmRhYTUwOTkwLi5mZTI5MDc3NWJkZTM4OTNjYTY5
MTYwZjMyMzI3YjNjNWZmMjA3M2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvU2Nyb2xsYmFyVGhlbWVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1Njcm9sbGJhclRoZW1lSU9TLm1tCkBAIC02NiwxNCArNjYsMTQgQEAgaW50IFNjcm9sbGJh
clRoZW1lSU9TOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUpCiAgICAg
cmV0dXJuIDA7CiB9CiAKLWRvdWJsZSBTY3JvbGxiYXJUaGVtZUlPUzo6aW5pdGlhbEF1dG9zY3Jv
bGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVJT1M6OmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDBfczsKIH0KIAot
ZG91YmxlIFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRz
IFNjcm9sbGJhclRoZW1lSU9TOjphdXRvc2Nyb2xsVGltZXJEZWxheSgpCiB7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIDBfczsKIH0KICAgICAKIFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQg
U2Nyb2xsYmFyVGhlbWVJT1M6OmJ1dHRvbnNQbGFjZW1lbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lm1tCmluZGV4IGNjNjJlM2E4ODRhZWYyOTUxOTdlMmJiNzZiYjBmYTdlYzMw
NzBiYTEuLmRkMTk2MzRiNzM3OTFjNWYzY2NmMmI1MmEyOWY2NzRkODRiZTkwMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGNvbnN0IGNo
YXIqIGJvb2xTdHJpbmcoYm9vbCB2YWwpCiB9CiAjZW5kaWYKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBEZWZhdWx0V2F0Y2hkb2dUaW1lckludGVydmFsID0gMTsKK3N0YXRpYyBjb25zdCBhdXRvIGRl
ZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwgPSAxX3M7CiAKIEBjbGFzcyBXZWJBVk1lZGlhU2Vs
ZWN0aW9uT3B0aW9uOwogCkBAIC05ODYsNyArOTg2LDcgQEAgYm9vbCBXZWJWaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdDo6c2hvdWxkRXhpdEZ1bGxzY3JlZW5XaXRoUmVhc29uKFdlYlZpZGVv
RnUKICAgICBtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsLT5yZXF1ZXN0RnVsbHNjcmVlbk1vZGUoSFRN
TE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAKICAgICBpZiAo
IW1fd2F0Y2hkb2dUaW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3Rh
cnRPbmVTaG90KERlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOworICAgICAgICBtX3dhdGNo
ZG9nVGltZXIuc3RhcnRPbmVTaG90KGRlZmF1bHRXYXRjaGRvZ1RpbWVySW50ZXJ2YWwpOwogCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbGludXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTGludXguY3BwCmluZGV4IDQyMWM2MTYw
Zjg4OTEyNDY0NzczZDRlYTNmY2FlZDQ5NjNkNWE3ZmQuLmU4ZGVjNWU0NWZjM2Y5ZGMyZWNhMjVl
MjEyZDgyMzEyNWIzZTBhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xp
bnV4L01lbW9yeVByZXNzdXJlSGFuZGxlckxpbnV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9saW51eC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJMaW51eC5jcHAKQEAgLTI2OSw3ICsy
NjksNyBAQCB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZlRpbWVyRmlyZWQoKQog
CiB2b2lkIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6aG9sZE9mZih1bnNpZ25lZCBzZWNvbmRzKQog
ewotICAgIG1faG9sZE9mZlRpbWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzKTsKKyAgICBtX2hvbGRP
ZmZUaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhzZWNvbmRzKSk7CiB9CiAKIHN0YXRpYyBzaXpl
X3QgcHJvY2Vzc01lbW9yeVVzYWdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCBhYzdmNGZkNGE5ODRkYzMxZGRkNGZjODBiMTY5
MzQxNTE5MDI1MDk1Li5mNzNkNzk2ODhlMmI4MDI1NDZmMjQzNTlmY2NiY2E1ODJkMjZjZmUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1t
CkBAIC0xMzM4LDcgKzEzMzgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3Jv
bGxlclN0eWxlKCkKIAogdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWlu
dFRpbWVyKCkKIHsKLSAgICBtX2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hv
dCgwLjEpOworICAgIG1faW5pdGlhbFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAu
MV9zKTsKIH0KIAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsYmFyUGFpbnRUaW1lcklz
QWN0aXZlKCkgY29uc3QKQEAgLTEzNjQsNyArMTM2NCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6OnNlbmRDb250ZW50QXJlYVNjcm9sbGVkU29vbihjb25zdCBGbG9hdFNpemUmIGRlbHRhKQog
ICAgIG1fY29udGVudEFyZWFTY3JvbGxlZFRpbWVyU2Nyb2xsRGVsdGEgPSBkZWx0YTsKIAogICAg
IGlmICghbV9zZW5kQ29udGVudEFyZWFTY3JvbGxlZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAg
IG1fc2VuZENvbnRlbnRBcmVhU2Nyb2xsZWRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAg
IGlmIChtX3doZWVsRXZlbnRUZXN0VHJpZ2dlcikKICAgICAgICAgbV93aGVlbEV2ZW50VGVzdFRy
aWdnZXItPmRlZmVyVGVzdHNGb3JSZWFzb24ocmVpbnRlcnByZXRfY2FzdDxXaGVlbEV2ZW50VGVz
dFRyaWdnZXI6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllcj4odGhpcyksIFdoZWVsRXZlbnRUZXN0
VHJpZ2dlcjo6Q29udGVudFNjcm9sbEluUHJvZ3Jlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhNzI4Mjk4YzhlYmI1YzU1NTQ3
ZDZkM2NiZDhkNWUxNDc0MGE0ZThjLi43ZWFhOTExYmI5MmIwOGYwMWI3ZDk5MjY2ZDAxM2E0NzZj
N2RkNWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFy
VGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhl
bWVNYWMuaApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1c2VzT3ZlcmxheVNj
cm9sbGJhcnNDaGFuZ2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVTY3JvbGxiYXJPdmVy
bGF5U3R5bGUoU2Nyb2xsYmFyJikgIG92ZXJyaWRlOwogCi0gICAgZG91YmxlIGluaXRpYWxBdXRv
c2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRlOwotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJE
ZWxheSgpIG92ZXJyaWRlOworICAgIFNlY29uZHMgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KCkgb3ZlcnJpZGU7CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92ZXJyaWRl
OwogCiAgICAgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29u
c3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxi
YXJUaGVtZU1hYy5tbQppbmRleCBiMmUxNjE4YzAzMmZiN2M2NWYxZmUxOTE3ZjIwNGUyOTY3NGMz
ODlmLi40MzU0OWNiNTYxOTgzZDUzMDc0MzljMzYyOTM2MDQzYjE2MGI1YWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC0xMzAs
OCArMTMwLDggQEAgc3RhdGljIGNvbnN0IGludCBjQnV0dG9uTGVuZ3RoW10gPSB7IDE0LCAxMCB9
Owogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25MZW5ndGhbXSA9IHsgMTYsIDE0IH07IC8v
IFRoZSBvdXRlciBidXR0b24gaW4gYSBkb3VibGUgYnV0dG9uIHBhaXIgaXMgYSBiaXQgYmlnZ2Vy
Lgogc3RhdGljIGNvbnN0IGludCBjT3V0ZXJCdXR0b25PdmVybGFwID0gMjsKIAotc3RhdGljIGZs
b2F0IGdJbml0aWFsQnV0dG9uRGVsYXkgPSAwLjVmOwotc3RhdGljIGZsb2F0IGdBdXRvc2Nyb2xs
QnV0dG9uRGVsYXkgPSAwLjA1ZjsKK3N0YXRpYyBTZWNvbmRzIGdJbml0aWFsQnV0dG9uRGVsYXkg
PSAwLjVfczsKK3N0YXRpYyBTZWNvbmRzIGdBdXRvc2Nyb2xsQnV0dG9uRGVsYXkgPSAwLjA1X3M7
CiBzdGF0aWMgYm9vbCBnSnVtcE9uVHJhY2tDbGljayA9IGZhbHNlOwogc3RhdGljIGJvb2wgZ1Vz
ZXNPdmVybGF5U2Nyb2xsYmFycyA9IGZhbHNlOwogCkBAIC0yMzQsOCArMjM0LDggQEAgdm9pZCBT
Y3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXNDaGFuZ2VkKCkKIHsKICAgICBOU1VzZXJEZWZh
dWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwog
ICAgIFtkZWZhdWx0cyBzeW5jaHJvbml6ZV07Ci0gICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFtk
ZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJCdXR0b25EZWxheSJdOwotICAgIGdBdXRv
c2Nyb2xsQnV0dG9uRGVsYXkgPSBbZGVmYXVsdHMgZmxvYXRGb3JLZXk6QCJOU1Njcm9sbGVyQnV0
dG9uUGVyaW9kIl07CisgICAgZ0luaXRpYWxCdXR0b25EZWxheSA9IFNlY29uZHMoW2RlZmF1bHRz
IGZsb2F0Rm9yS2V5OkAiTlNTY3JvbGxlckJ1dHRvbkRlbGF5Il0pOworICAgIGdBdXRvc2Nyb2xs
QnV0dG9uRGVsYXkgPSBTZWNvbmRzKFtkZWZhdWx0cyBmbG9hdEZvcktleTpAIk5TU2Nyb2xsZXJC
dXR0b25QZXJpb2QiXSk7CiAgICAgZ0p1bXBPblRyYWNrQ2xpY2sgPSBbZGVmYXVsdHMgYm9vbEZv
cktleTpAIkFwcGxlU2Nyb2xsZXJQYWdpbmdCZWhhdmlvciJdOwogICAgIHVzZXNPdmVybGF5U2Ny
b2xsYmFyc0NoYW5nZWQoKTsKIH0KQEAgLTI3NywxMiArMjc3LDEyIEBAIHZvaWQgU2Nyb2xsYmFy
VGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJh
cikKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCi1kb3VibGUgU2Nyb2xsYmFy
VGhlbWVNYWM6OmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpCitTZWNvbmRzIFNjcm9sbGJh
clRoZW1lTWFjOjppbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKQogewogICAgIHJldHVybiBn
SW5pdGlhbEJ1dHRvbkRlbGF5OwogfQogCi1kb3VibGUgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9z
Y3JvbGxUaW1lckRlbGF5KCkKK1NlY29uZHMgU2Nyb2xsYmFyVGhlbWVNYWM6OmF1dG9zY3JvbGxU
aW1lckRlbGF5KCkKIHsKICAgICByZXR1cm4gZ0F1dG9zY3JvbGxCdXR0b25EZWxheTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50
TW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0RldmljZU1vdGlvbkNsaWVu
dE1vY2suY3BwCmluZGV4IDkyMmFkNDM5N2EwNGMwNTU2MWM3YzFkNjA2N2FkZWM1MTU5ZjIzNTQu
LmJmMjczYmVmOTRhODRhYzcwZDBiNDRlMWEwMjY5NmYxNDAwMjM5YWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlTW90aW9uQ2xpZW50TW9jay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNw
cApAQCAtNTksNyArNTksNyBAQCB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnNldE1vdGlv
bihQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE+IG1vdGlvbikKIHsKICAgICBtX21vdGlvbiA9
IG1vdGlvbjsKICAgICBpZiAobV9pc1VwZGF0aW5nICYmICFtX3RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogfQogCiB2b2lkIERldmljZU1vdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudE1vY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9EZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2suY3BwCmluZGV4IGFmMGE4MzRjMzIwNDIyYjNlMWZhNDMwZWUx
ZTI2NzJkOGQ2MTAxYzIuLjIxZGZlZGQzNmE1NzU0OGRhODZhOTU1NTZmZGFhYjIxYzIxMGJiODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0Rldmlj
ZU9yaWVudGF0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgdm9pZCBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2s6OnNldE9yaWVudGF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlT3Jp
ZW50YXRpb25EYXQKIHsKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiAgICAgaWYg
KG1faXNVcGRhdGluZyAmJiAhbV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX3RpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAog
dm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s6OnRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9HZW9sb2NhdGlvbkNsaWVudE1vY2suY3Bw
CmluZGV4IGI3Y2ZiOWJlMDZkY2JmZmM3YzE2YjNjZmU3NDY1MDEzMGZhNzAwZTUuLjc1NGE4MjVj
YWU1NDQ3OWUxNGRkMWUzMDBjNDJjZDEyZTNmYzk4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svR2VvbG9jYXRpb25DbGllbnRNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL0dlb2xvY2F0aW9uQ2xpZW50TW9jay5jcHAKQEAgLTEwNiw3
ICsxMDYsNyBAQCB2b2lkIEdlb2xvY2F0aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVQZXJtaXNz
aW9uKCkKIHsKICAgICBBU1NFUlQobV9wZXJtaXNzaW9uU3RhdGUgIT0gUGVybWlzc2lvblN0YXRl
VW5zZXQpOwogICAgIGlmICghbV9wZXJtaXNzaW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAg
bV9wZXJtaXNzaW9uVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Blcm1pc3Npb25U
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9sb2NhdGlvbkNsaWVudE1vY2s6
OnBlcm1pc3Npb25UaW1lckZpcmVkKCkKQEAgLTE2NSw3ICsxNjUsNyBAQCB2b2lkIEdlb2xvY2F0
aW9uQ2xpZW50TW9jazo6YXN5bmNVcGRhdGVDb250cm9sbGVyKCkKIHsKICAgICBBU1NFUlQobV9j
b250cm9sbGVyKTsKICAgICBpZiAobV9pc0FjdGl2ZSAmJiAhbV9jb250cm9sbGVyVGltZXIuaXNB
Y3RpdmUoKSkKLSAgICAgICAgbV9jb250cm9sbGVyVGltZXIuc3RhcnRPbmVTaG90KDApOworICAg
ICAgICBtX2NvbnRyb2xsZXJUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBHZW9s
b2NhdGlvbkNsaWVudE1vY2s6OmNvbnRyb2xsZXJUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlj
a2VyTW9jay5jcHAKaW5kZXggMWE2MGNhMjRiYmM2MDk2YjdhOTVlMjEwNjYwNDk1MTJmZTJmMjU1
Yi4uYTc2YmMyNmZhNjA0ZDAzMzgxYTUzNTNmYWJlZmRhODVmZTk4YjA0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFyZ2V0UGlja2VyTW9j
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9NZWRpYVBsYXliYWNrVGFy
Z2V0UGlja2VyTW9jay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJsZSB0aW1lcklu
dGVydmFsID0gMS4wIC8gMTAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRpbWVySW50ZXJ2YWwg
PSAwLjFfczsKIAogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlck1vY2s6Ok1lZGlhUGxheWJhY2tU
YXJnZXRQaWNrZXJNb2NrKE1lZGlhUGxheWJhY2tUYXJnZXRQaWNrZXI6OkNsaWVudCYgY2xpZW50
KQogICAgIDogTWVkaWFQbGF5YmFja1RhcmdldFBpY2tlcihjbGllbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCmluZGV4IDYwYmIw
MTgxYWU4Y2QzYjc3Yjg5ZWRmNDlhMzY1Mzg0ZjJlMGRlNTkuLmM4MzEwZGYxNTQxZTVhMTU3MTYw
MmYzMDUzODA1NWQxNGYyNjFhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yNDUsNyArMjQ1LDcgQEAgdm9pZCBNb2Nr
TWVkaWFFbmRwb2ludDo6ZGlzcGF0Y2hGYWtlSWNlQ2FuZGlkYXRlcygpCiAgICAgLy8gUmV2ZXJz
ZSBvcmRlciB0byB1c2UgdGFrZUxhc3QoKSB3aGlsZSBrZWVwaW5nIHRoZSBhYm92ZSBvcmRlcgog
ICAgIG1fZmFrZUljZUNhbmRpZGF0ZXMucmV2ZXJzZSgpOwogCi0gICAgbV9pY2VDYW5kaWRhdGVU
aW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9pY2VDYW5kaWRhdGVUaW1lci5zdGFydE9uZVNo
b3QoMF9zKTsKIH0KIAogdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2FuZGlkYXRlVGltZXJG
aXJlZCgpCkBAIC0yNTUsNyArMjU1LDcgQEAgdm9pZCBNb2NrTWVkaWFFbmRwb2ludDo6aWNlQ2Fu
ZGlkYXRlVGltZXJGaXJlZCgpCiAKICAgICBpZiAoIW1fZmFrZUljZUNhbmRpZGF0ZXMuaXNFbXB0
eSgpKSB7CiAgICAgICAgIG1fY2xpZW50LmdvdEljZUNhbmRpZGF0ZShtX21pZHNbMF0sIG1fZmFr
ZUljZUNhbmRpZGF0ZXMudGFrZUxhc3QoKSk7Ci0gICAgICAgIG1faWNlQ2FuZGlkYXRlVGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2ljZUNhbmRpZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dCgwX3MpOwogICAgIH0gZWxzZQogICAgICAgICBtX2NsaWVudC5kb25lR2F0aGVyaW5nQ2FuZGlk
YXRlcyhtX21pZHNbMF0pOwogfQpAQCAtMjk0LDcgKzI5NCw3IEBAIHZvaWQgTW9ja01lZGlhRW5k
cG9pbnQ6OnN0ZXBJY2VUcmFuc3BvcnRTdGF0ZXMoKQogICAgIC8vIFJldmVyc2Ugb3JkZXIgdG8g
dXNlIHRha2VMYXN0KCkgd2hpbGUga2VlcGluZyB0aGUgYWJvdmUgb3JkZXIKICAgICBtX2ljZVRy
YW5zcG9ydFN0YXRlQ2hhbmdlcy5yZXZlcnNlKCk7CiAKLSAgICBtX2ljZVRyYW5zcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgw
X3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3BvcnRUaW1lckZpcmVk
KCkKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIE1vY2tNZWRpYUVuZHBvaW50OjppY2VUcmFuc3Bv
cnRUaW1lckZpcmVkKCkKICAgICBhdXRvIHN0YXRlQ2hhbmdlID0gbV9pY2VUcmFuc3BvcnRTdGF0
ZUNoYW5nZXMudGFrZUxhc3QoKTsKICAgICBtX2NsaWVudC5pY2VUcmFuc3BvcnRTdGF0ZUNoYW5n
ZWQoc3RhdGVDaGFuZ2UuZmlyc3QsIHN0YXRlQ2hhbmdlLnNlY29uZCk7CiAKLSAgICBtX2ljZVRy
YW5zcG9ydFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2ljZVRyYW5zcG9ydFRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRpYUVuZHBvaW50Ojp1bm11dGVSZW1v
dGVTb3VyY2VzQnlNaWQoKQpAQCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgTW9ja01lZGlhRW5kcG9p
bnQ6OnVubXV0ZVJlbW90ZVNvdXJjZXNCeU1pZCgpCiAgICAgZm9yIChpbnQgaSA9IG1fbWlkcy5z
aXplKCkgLSAxOyBpID49IDA7IC0taSkKICAgICAgICAgbV9taWRzT2ZTb3VyY2VzVG9Vbm11dGUu
YXBwZW5kKG1fbWlkc1tpXSk7CiAKLSAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX3VubXV0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE1vY2tNZWRp
YUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKQEAgLTMzMCw3ICszMzAsNyBAQCB2b2lkIE1v
Y2tNZWRpYUVuZHBvaW50Ojp1bm11dGVUaW1lckZpcmVkKCkKICAgICAgICAgc291cmNlLT5zZXRN
dXRlZChmYWxzZSk7CiAKICAgICBpZiAoIW1fbWlkc09mU291cmNlc1RvVW5tdXRlLmlzRW1wdHko
KSkKLSAgICAgICAgbV91bm11dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fdW5t
dXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVW
aWRlb1NvdXJjZS5jcHAKaW5kZXggZWY5NzI3NmE0NDM0MmFiYzVjNzVhZWE0ZTM2MTcxNDQxYjRj
ZGM2ZS4uNjRhMzVhNmQyN2JjZTk1YzY1OWJjNTkxYmU1MDkwNGJhODEzNjBmMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6
c3RhcnRQcm9kdWNpbmdEYXRhKCkKICAgICB9CiAKICAgICBtX3N0YXJ0VGltZSA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcoc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kcyhscm91bmQoMTAwMCAvIGZyYW1lUmF0ZSgpKSkpOworICAgIG1f
dGltZXIuc3RhcnRSZXBlYXRpbmcoU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcygobHJvdW5kKDEw
MDAgLyBmcmFtZVJhdGUoKSkpKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2U6
OnN0b3BQcm9kdWNpbmdEYXRhKCkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIE1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlOjppbml0aWFsaXplU3VwcG9ydGVkQ29uc3RyYWludHMoUmVhbHRpbWVNZWRp
YVNvdXJjZQogYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZTo6YXBwbHlGcmFtZVJhdGUoZG91
YmxlIHJhdGUpCiB7CiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8g
cmF0ZSkpKTsKKyAgICAgICAgbV90aW1lci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWls
bGlzZWNvbmRzKGxyb3VuZCgxMDAwIC8gcmF0ZSkpKTsKIAogICAgIHVwZGF0ZVNhbXBsZUJ1ZmZl
cigpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9QbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAppbmRleCBm
M2JjNzFjMGY3MzNkMjgzM2VjMzQ4NWU4OTQ5NDQ4ZDM4ZGQzZjExLi5kOGE3YzA4OTdmOTg1ZGZj
OGM1ZjdlYTQxZDgwYzg2NTkzZjEwZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1BsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcApA
QCAtNjgsNyArNjgsNyBAQCB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpzcGVh
ayhSZWZQdHI8UGxhdGZvcm1TcGVlY2hTeW50aGVzaXNVdHRlcmFuYwogICAgIGNsaWVudCgpLT5i
b3VuZGFyeUV2ZW50T2NjdXJyZWQoKm1fdXR0ZXJhbmNlLCBTcGVlY2hTZW50ZW5jZUJvdW5kYXJ5
LCBtX3V0dGVyYW5jZS0+dGV4dCgpLmxlbmd0aCgpKTsKIAogICAgIC8vIEdpdmUgdGhlIGZha2Ug
c3BlZWNoIGpvYiBzb21lIHRpbWUgc28gdGhhdCBwYXVzZSBhbmQgb3RoZXIgZnVuY3Rpb25zIGhh
dmUgdGltZSB0byBiZSBjYWxsZWQuCi0gICAgbV9zcGVha2luZ0ZpbmlzaGVkVGltZXIuc3RhcnRP
bmVTaG90KC4xKTsKKyAgICBtX3NwZWFraW5nRmluaXNoZWRUaW1lci5zdGFydE9uZVNob3QoMC4x
X3MpOwogfQogCiB2b2lkIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrOjpjYW5jZWwoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9UaW1lckV2ZW50QmFzZWRN
b2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2su
aAppbmRleCBkZTBlOGE5ZmQ2NTk2YjJlMmFiNzM3MDMwNDdkZTVlZDM3ZmZlY2FjLi44NjNmOWQ2
NWI3NjkwMTZkMGQ5N2NkMjY4OWIyZDRmZjU3NjYyYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL1RpbWVyRXZlbnRCYXNlZE1vY2suaApAQCAtNjMsNyArNjMsNyBA
QCBwdWJsaWM6CiAgICAgICAgICwgbV90aW1lcigqdGhpcywgJlRpbWVyRXZlbnQ6OnRpbWVyRmly
ZWQpCiAgICAgICAgICwgbV9ub3RpZmllcihub3RpZmllcikKICAgICB7Ci0gICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDAuNSk7CisgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDAuNV9z
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5UaW1lckV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TUmVzb2x2ZVF1ZXVlLmNwcAppbmRleCA1ODc3M2Fh
MzMyOTFjYTdhNjg5NTc1ODZlZTgyMDNjNmJhYzJjZmYzLi5lMWM0MTBlZDE1MjU4YWNhZjNmMGMz
OTE5ZDg1YTA4MmEwOTI3ZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0ROU1Jlc29sdmVRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9ETlNSZXNvbHZlUXVldWUuY3BwCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBpbnQgZ05hbWVzVG9SZXNvbHZlSW1tZWRpYXRlbHkgPSA0
OwogCiAvLyBDb2FsZXNjZSBwcmVmZXRjaCByZXF1ZXN0cyBmb3IgdGhpcyBsb25nIGJlZm9yZSBz
ZW5kaW5nIHRoZW0gb3V0Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnQ29hbGVzY2VEZWxheUluU2Vj
b25kcyA9IDEuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGNvYWxlc2NlRGVsYXkgPSAxX3M7CiAK
IC8vIFNlbmRpbmcgbWFueSBETlMgcmVxdWVzdHMgYXQgb25jZSBjYW4gb3ZlcndoZWxtIHNvbWUg
Z2F0ZXdheXMuIFNlZSA8cmRhcjovLzgxMDU1NTA+IGZvciBzcGVjaWZpYyBDRk5FVCBpc3N1ZXMg
d2l0aCBDRkhvc3QgdGhyb3R0bGluZy4KIHN0YXRpYyBjb25zdCBpbnQgZ01heFNpbXVsdGFuZW91
c1JlcXVlc3RzID0gODsKQEAgLTQ4LDcgKzQ4LDcgQEAgc3RhdGljIGNvbnN0IGludCBnTWF4U2lt
dWx0YW5lb3VzUmVxdWVzdHMgPSA4Owogc3RhdGljIGNvbnN0IGludCBnTWF4UmVxdWVzdHNUb1F1
ZXVlID0gNjQ7CiAKIC8vIElmIHRoZXJlIHdlcmUgcXVldWVkIG5hbWVzIHRoYXQgY291bGRuJ3Qg
YmUgc2VudCBzaW11bHRhbmVvdXNseSwgY2hlY2sgdGhlIHN0YXRlIG9mIHJlc29sdmVycyBhZnRl
ciB0aGlzIGRlbGF5Lgotc3RhdGljIGNvbnN0IGRvdWJsZSBnUmV0cnlSZXNvbHZpbmdJblNlY29u
ZHMgPSAwLjE7CitzdGF0aWMgY29uc3QgU2Vjb25kcyByZXRyeVJlc29sdmluZ0RlbGF5ID0gMC4x
X3M7CiAKIEROU1Jlc29sdmVRdWV1ZSYgRE5TUmVzb2x2ZVF1ZXVlOjpzaW5nbGV0b24oKQogewpA
QCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgRE5TUmVzb2x2ZVF1ZXVlOjphZGQoY29uc3QgU3RyaW5n
JiBob3N0bmFtZSkKICAgICBpZiAobV9uYW1lcy5zaXplKCkgPCBnTWF4UmVxdWVzdHNUb1F1ZXVl
KSB7CiAgICAgICAgIG1fbmFtZXMuYWRkKGhvc3RuYW1lKTsKICAgICAgICAgaWYgKCFtX3RpbWVy
LmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChnQ29hbGVzY2VE
ZWxheUluU2Vjb25kcyk7CisgICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChjb2FsZXNj
ZURlbGF5KTsKICAgICB9CiB9CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCB2b2lkIEROU1Jlc29sdmVR
dWV1ZTo6dGltZXJGaXJlZCgpCiAgICAgfQogCiAgICAgaWYgKCFtX25hbWVzLmlzRW1wdHkoKSkK
LSAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoZ1JldHJ5UmVzb2x2aW5nSW5TZWNvbmRzKTsK
KyAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QocmV0cnlSZXNvbHZpbmdEZWxheSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXggYWJmYjQ2Y2VjZjgyMTQzYjlmZmFjZDAx
YmU1Nzg2YTUzYTAwOGVjMC4uNDVjYTFjNWMzNjJiNTQ1ZTg3ZWRjOGNkYjM1ZjIyMDI4YmMyNmRi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVj
b2Rlci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmVmKCk7CiAKICAg
ICAgICAgYXV0byBzY2hlZHVsZWRQYWlycyA9IG1fZGVjb2RlVGFzay0+c2NoZWR1bGVDb250ZXh0
LnNjaGVkdWxlZFBhaXJzOwotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAg
ICAgbV90aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgbV90aW1lci5zY2hlZHVsZShz
Y2hlZHVsZWRQYWlycyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGluZ0hhbmRsZS5oCmluZGV4IGNkOWYyYmY5NjAwNjNlNzAzZjhjM2YwYjhkMDExZjJiYjlj
YjFiZDEuLjFhMGQ1Y2U2MjNhZGY4YTM0MDUzZDZmYWU4ZDBmNzYzOTAyYmQxN2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGluZ0hhbmRsZS5oCkBAIC01Myw3ICs1Myw3
IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0
aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZl
cnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3RpbWVvdXRUaW1l
ci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3QoMTAwMF9taW4pOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHAKaW5kZXggNjQ3ZjYwNDE5YmZjZDBm
ZWU2Mzc1ZDlkMTg4MDc2NTkyYTFmOTIwYy4uMDBjMGQwMjljYzZmYzJjMWNjYTc5N2M5OTI4MTRk
MDcwNDc3ZTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTEwNSw3ICsxMDUsNyBAQCBSZWZQdHI8UmVzb3VyY2VIYW5k
bGU+IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0CiB2b2lkIFJlc291cmNlSGFuZGxlOjpzY2hlZHVsZUZhaWx1cmUoRmFpbHVyZVR5cGUgdHlw
ZSkKIHsKICAgICBkLT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlID0gdHlwZTsKLSAgICBkLT5tX2Zh
aWx1cmVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVk
KCkKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXREZWZlcnNMb2Fk
aW5nKGJvb2wgZGVmZXJzKQogICAgICAgICAgICAgZC0+bV9mYWlsdXJlVGltZXIuc3RvcCgpOwog
ICAgIH0gZWxzZSBpZiAoZC0+bV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpIHsK
ICAgICAgICAgQVNTRVJUKCFkLT5tX2ZhaWx1cmVUaW1lci5pc0FjdGl2ZSgpKTsKLSAgICAgICAg
ZC0+bV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBkLT5tX2ZhaWx1cmVU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9CiAKICAgICBwbGF0Zm9ybVNldERlZmVyc0xv
YWRpbmcoZGVmZXJzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL05ldHdvcmtTdGF0ZU5vdGlmaWVyTWFjLmNwcAppbmRleCA1NWFkZTIx
OGMxMzg4OGMwY2MyNmViZWNiNzkyNjNkY2E3MDA5MTZkLi5kNGQ5OGRhMzFmNjU3NjEzYjVlZDhk
NmRiMjJmZjliNzViMDFlNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9OZXR3b3JrU3RhdGVOb3RpZmllck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9tYWMvTmV0d29ya1N0YXRlTm90aWZpZXJNYWMuY3BwCkBAIC0z
MSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGNvbnN0IGRvdWJs
ZSBTdGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyLjA7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBz
dGF0ZUNoYW5nZVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZp
ZXI6OnVwZGF0ZVN0YXRlKCkKIHsKQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCBOZXR3b3JrU3RhdGVO
b3RpZmllcjo6ZHluYW1pY1N0b3JlQ2FsbGJhY2soU0NEeW5hbWljU3RvcmVSZWYsIENGQXJyYXlS
ZWYsIHYKICAgICAKICAgICAvLyBDYWxsaW5nIHVwZGF0ZVN0YXRlKCkgY291bGQgYmUgZXhwZW5z
aXZlIHNvIHdlIHNjaGVkdWxlIGEgdGltZXIgdGhhdCB3aWxsIGRvIGl0IAogICAgIC8vIHdoZW4g
dGhpbmdzIGhhdmUgY29vbGVkIGRvd24uCi0gICAgbm90aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hh
bmdlVGltZXIuc3RhcnRPbmVTaG90KFN0YXRlQ2hhbmdlVGltZXJJbnRlcnZhbCk7CisgICAgbm90
aWZpZXItPm1fbmV0d29ya1N0YXRlQ2hhbmdlVGltZXIuc3RhcnRPbmVTaG90KHN0YXRlQ2hhbmdl
VGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgTmV0d29ya1N0YXRlTm90aWZpZXI6Om5ldHdvcmtT
dGF0ZUNoYW5nZVRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA4ODdhOWVk
Nzk1ZDFjYjRlNThjY2RkZTU2ZTM4OGQ5OWNkYzBiZjNlLi5lY2YxODRjZTQwYmRmOWVjNGQzMWJm
NzMyMDYzMzc3MTIyZGU5YjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNzUwLDcgKzc1
MCw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnNlbmRQZW5kaW5nUmVxdWVzdCgpCiAjZW5kaWYK
IAogICAgIGlmIChkLT5tX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSA+IDApCi0gICAg
ICAgIGQtPm1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoZC0+bV9maXJzdFJlcXVlc3QudGlt
ZW91dEludGVydmFsKCkpOworICAgICAgICBkLT5tX3RpbWVvdXRTb3VyY2Uuc3RhcnRPbmVTaG90
KFNlY29uZHMoZC0+bV9maXJzdFJlcXVlc3QudGltZW91dEludGVydmFsKCkpKTsKIAogICAgIC8v
IEJhbGFuY2VkIGJ5IGEgZGVyZWYoKSBpbiBjbGVhbnVwU291cFJlcXVlc3RPcGVyYXRpb24sIHdo
aWNoIHNob3VsZCBhbHdheXMgcnVuLgogICAgIHJlZigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAppbmRleCBm
Yzg3YjcwMzI5MjM4NzE2ZDFjNjM1ODc4Y2UwNzkyZGJiN2RmZDMyLi45ZWE0MTdkZDAzMGExY2Y0
OWFlZjU1ZGM2NGJlYWFhNGFkYzRhZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApAQCAtMTAxLDcgKzEw
MSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjppbnN0YWxsKCkKIHsKICAgICBtX2lu
c3RhbGxlZCA9IHRydWU7CiAgICAgbWVtQ2hlY2tUaW1lcigpID0gc3RkOjptYWtlX3VuaXF1ZTxD
aGVja01lbW9yeVRpbWVyPigqdGhpcyk7Ci0gICAgbWVtQ2hlY2tUaW1lcigpLT5zdGFydFJlcGVh
dGluZyg2MC4wKTsKKyAgICBtZW1DaGVja1RpbWVyKCktPnN0YXJ0UmVwZWF0aW5nKDFfbWluKTsK
IH0KIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnVuaW5zdGFsbCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW1hZ2VRdWFsaXR5Q29udHJvbGxlci5jcHAKaW5kZXgg
YTFmZThmY2MxYzg4ZjI2ZTE2YTYzZjEyYjY0MzJkNWEwZTgxY2VkNi4uNWY1ZDA3NjU3OWMyMTA0
MDdjMGJjZmM2YjU4NjI3MzkwZDcyOTIyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0ltYWdlUXVhbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9JbWFnZVF1YWxpdHlDb250cm9sbGVyLmNwcApAQCAtMzUsNyArMzUsNyBAQAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgZG91YmxlIGNJbnRlcnBvbGF0aW9uQ3V0
b2ZmID0gODAwLiAqIDgwMC47Ci1zdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRo
cmVzaG9sZCA9IDAuNTAwOyAvLyA1MDAgbXMKK3N0YXRpYyBjb25zdCBTZWNvbmRzIGxvd1F1YWxp
dHlUaW1lVGhyZXNob2xkID0gMC41X3M7CiAKIEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OkltYWdl
UXVhbGl0eUNvbnRyb2xsZXIoY29uc3QgUmVuZGVyVmlldyYgcmVuZGVyVmlldykKICAgICA6IG1f
cmVuZGVyVmlldyhyZW5kZXJWaWV3KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIEltYWdlUXVhbGl0
eUNvbnRyb2xsZXI6OmhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoKQogCiB2b2lkIEltYWdl
UXVhbGl0eUNvbnRyb2xsZXI6OnJlc3RhcnRUaW1lcigpCiB7Ci0gICAgbV90aW1lci5zdGFydE9u
ZVNob3QoY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dChsb3dRdWFsaXR5VGltZVRocmVzaG9sZCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8SW50ZXJwb2xh
dGlvblF1YWxpdHk+IEltYWdlUXVhbGl0eUNvbnRyb2xsZXI6OmludGVycG9sYXRpb25RdWFsaXR5
RnJvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNjM0MjIxMzVjMWEz
OWM1OWFjZjU5MjM5MTcxYzMxY2FlMzUwY2MyNC4uOTU4MGU0MGIyM2Y4ZDRjYmQxYzgyODBkNGE1
YmU3Zjk1YWM5ZjYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDExICs5MiwxMSBAQCBzdGF0aWMgY29uc3QgaW50
IGNhbnZhc0FyZWFUaHJlc2hvbGRSZXF1aXJpbmdDb21wb3NpdGluZyA9IDUwICogMTAwOwogI2Vu
ZGlmCiAvLyBEdXJpbmcgcGFnZSBsb2FkaW5nIGRlbGF5IGxheWVyIGZsdXNoZXMgdXAgdG8gdGhp
cyBtYW55IHNlY29uZHMgdG8gYWxsb3cgdGhlbSBjb2FsZXNjZSwgcmVkdWNpbmcgd29ya2xvYWQu
CiAjaWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJvdHRsZWRMYXllckZs
dXNoSW5pdGlhbERlbGF5ID0gLjU7Ci1zdGF0aWMgY29uc3QgZG91YmxlIHRocm90dGxlZExheWVy
Rmx1c2hEZWxheSA9IDEuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExheWVyRmx1
c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxlZExh
eWVyRmx1c2hEZWxheSA9IDEuNV9zOwogI2Vsc2UKLXN0YXRpYyBjb25zdCBkb3VibGUgdGhyb3R0
bGVkTGF5ZXJGbHVzaEluaXRpYWxEZWxheSA9IC41Owotc3RhdGljIGNvbnN0IGRvdWJsZSB0aHJv
dHRsZWRMYXllckZsdXNoRGVsYXkgPSAuNTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRocm90dGxl
ZExheWVyRmx1c2hJbml0aWFsRGVsYXkgPSAwLjVfczsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHRo
cm90dGxlZExheWVyRmx1c2hEZWxheSA9IDAuNV9zOwogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFj
ZSBIVE1MTmFtZXM7CkBAIC02MzQsNyArNjM0LDcgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmVuY2xvc2luZ0NvbXBvc2l0b3JGbHVzaGluZ0xheWVycygK
IHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJVcGRh
dGUoKQogewogICAgIGlmICghbV91cGRhdGVDb21wb3NpdGluZ0xheWVyc1RpbWVyLmlzQWN0aXZl
KCkpCi0gICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3Qo
MCk7CisgICAgICAgIG1fdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzVGltZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWFycXVlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5jcHAKaW5kZXggNjA1OWQyNmQxZGZjZmIzNjE1YmJiYmUxNmNmZDIzZTI1ZGRmYzE1Ny4uYjc0
MDk3Y2YyMWUxYTgyMjVhNmFlZDhmZDlhM2IyYTlhNTJlOWE2YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmNwcApAQCAtMTY4LDcgKzE2OCw3IEBAIHZvaWQgUmVu
ZGVyTWFycXVlZTo6c3RhcnQoKQogICAgICAgICBtX3N0b3BwZWQgPSBmYWxzZTsKICAgICB9CiAK
LSAgICBtX3RpbWVyLnN0YXJ0UmVwZWF0aW5nKHNwZWVkKCkgKiAwLjAwMSk7CisgICAgbV90aW1l
ci5zdGFydFJlcGVhdGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKIH0K
IAogdm9pZCBSZW5kZXJNYXJxdWVlOjpzdXNwZW5kKCkKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lk
IFJlbmRlck1hcnF1ZWU6OnVwZGF0ZU1hcnF1ZWVTdHlsZSgpCiAgICAgaWYgKHNwZWVkKCkgIT0g
bWFycXVlZVNwZWVkKCkpIHsKICAgICAgICAgbV9zcGVlZCA9IG1hcnF1ZWVTcGVlZCgpOwogICAg
ICAgICBpZiAobV90aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICAgICAgbV90aW1lci5zdGFydFJl
cGVhdGluZyhzcGVlZCgpICogMC4wMDEpOworICAgICAgICAgICAgbV90aW1lci5zdGFydFJlcGVh
dGluZyhTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHNwZWVkKCkpKTsKICAgICB9CiAgICAgCiAg
ICAgLy8gQ2hlY2sgdGhlIGxvb3AgY291bnQgdG8gc2VlIGlmIHdlIHNob3VsZCBub3cgc3RvcC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJl
YWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5j
cHAKaW5kZXggNDc1MDZhY2QzM2I3MDc0MzVlNTllMTY1Y2M2MDcwM2ZlNjRlNDZlNi4uODY5YWY0
MmEwOTk4MjY2ZWIwZjY1YzNmMTBmOTczODgxYTYxNTUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAKQEAgLTUzMCw3ICs1MzAs
NyBAQCB2b2lkIFJlbmRlck5hbWVkRmxvd1RocmVhZDo6ZGlzcGF0Y2hSZWdpb25PdmVyc2V0Q2hh
bmdlRXZlbnRJZk5lZWRlZCgpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDaGFu
Z2VSZWdpb25PdmVyc2V0KGRvY3VtZW50KCksIG5hbWVkRmxvdygpKTsKICAgICAKICAgICBpZiAo
IW1fcmVnaW9uT3ZlcnNldENoYW5nZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAmJiBuYW1lZEZsb3co
KS5oYXNFdmVudExpc3RlbmVycygpKQotICAgICAgICBtX3JlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVu
dFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZWdpb25PdmVyc2V0Q2hhbmdlRXZl
bnRUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBSZW5kZXJOYW1lZEZsb3dUaHJl
YWQ6OnJlZ2lvbk92ZXJzZXRDaGFuZ2VFdmVudFRpbWVyRmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJQcm9ncmVzcy5jcHAKaW5kZXggOWExZjI0MGZhNWY5YWZmODcwMWMx
MzQ4Y2NjNTdkMzZhYjNlMGI4NC4uNTFhMzA4ZmJhMzcwYzQ3OTg5YzhjNWNlYWUwYjA4Nzc0MmM5
YzdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCkBA
IC04NSw3ICs4NSw3IEBAIHZvaWQgUmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblRpbWVyRmlyZWQo
KQogewogICAgIHJlcGFpbnQoKTsKICAgICBpZiAoIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUo
KSAmJiBtX2FuaW1hdGluZykKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3Qo
bV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCk7CisgICAgICAgIG1fYW5pbWF0aW9uVGltZXIuc3Rh
cnRPbmVTaG90KFNlY29uZHMobV9hbmltYXRpb25SZXBlYXRJbnRlcnZhbCkpOwogfQogCiB2b2lk
IFJlbmRlclByb2dyZXNzOjp1cGRhdGVBbmltYXRpb25TdGF0ZSgpCkBAIC0xMDAsNyArMTAwLDcg
QEAgdm9pZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQogICAgIG1fYW5p
bWF0aW5nID0gYW5pbWF0aW5nOwogICAgIGlmIChtX2FuaW1hdGluZykgewogICAgICAgICBtX2Fu
aW1hdGlvblN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0T25lU2hvdChtX2FuaW1hdGlvblJlcGVhdEludGVydmFs
KTsKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QoU2Vjb25kcyhtX2FuaW1h
dGlvblJlcGVhdEludGVydmFsKSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fYW5pbWF0aW9uVGlt
ZXIuc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNjcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaAppbmRleCBlZDQ5YmVkY2JkYjYxNWQwYTczMjcxN2Q3Y2FhMzhkYmNjOGRkYjc3
Li40MWJkODIzYWFhMDE0NjU2YjExYWI2ZDI2MTlkZDE2ZmEwZWI3ODY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaApAQCAtNDcsOCArNDcs
OCBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxiYXJCdXR0b25QcmVzc0FjdGlvbiBoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZlbnQsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQpIG92ZXJyaWRlIHsgcmV0dXJuIFNj
cm9sbGJhclRoZW1lOjp0aGVtZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChzY3JvbGxiYXIsIGV2
ZW50LCBwcmVzc2VkUGFydCk7IH0KIAotICAgIGRvdWJsZSBpbml0aWFsQXV0b3Njcm9sbFRpbWVy
RGVsYXkoKSBvdmVycmlkZSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKS5pbml0aWFs
QXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQotICAgIGRvdWJsZSBhdXRvc2Nyb2xsVGltZXJEZWxh
eSgpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxU
aW1lckRlbGF5KCk7IH0KKyAgICBTZWNvbmRzIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
IG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmluaXRpYWxBdXRvc2Ny
b2xsVGltZXJEZWxheSgpOyB9CisgICAgU2Vjb25kcyBhdXRvc2Nyb2xsVGltZXJEZWxheSgpIG92
ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLmF1dG9zY3JvbGxUaW1lckRl
bGF5KCk7IH0KIAogICAgIHZvaWQgcmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xsYmFyJiBzY3JvbGxi
YXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnJlZ2lzdGVyU2Ny
b2xsYmFyKHNjcm9sbGJhcik7IH0KICAgICB2b2lkIHVucmVnaXN0ZXJTY3JvbGxiYXIoU2Nyb2xs
YmFyJiBzY3JvbGxiYXIpIG92ZXJyaWRlIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjp0aGVtZSgp
LnVucmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwCmluZGV4IDM3YjA3NDE4NzhhMWJkOTgzOGVjNjI1M2RlZDA3MTkxMDAx
ZmNjNDguLjY3OTVmNzI4NzMwYTBjNGNmNjgzZGQ3OWE1YWVlMDI3MjdmNzAwNDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKQEAgLTEwNyw3ICsxMDcsNyBAQCBpbmxp
bmUgU2VjdXJlVGV4dFRpbWVyOjpTZWN1cmVUZXh0VGltZXIoUmVuZGVyVGV4dCYgcmVuZGVyZXIp
CiBpbmxpbmUgdm9pZCBTZWN1cmVUZXh0VGltZXI6OnJlc3RhcnQodW5zaWduZWQgb2Zmc2V0QWZ0
ZXJMYXN0VHlwZWRDaGFyYWN0ZXIpCiB7CiAgICAgbV9vZmZzZXRBZnRlckxhc3RUeXBlZENoYXJh
Y3RlciA9IG9mZnNldEFmdGVyTGFzdFR5cGVkQ2hhcmFjdGVyOwotICAgIHN0YXJ0T25lU2hvdCht
X3JlbmRlcmVyLmZyYW1lKCkuc2V0dGluZ3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25k
cygpKTsKKyAgICBzdGFydE9uZVNob3QoU2Vjb25kcyhtX3JlbmRlcmVyLmZyYW1lKCkuc2V0dGlu
Z3MoKS5wYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcygpKSk7CiB9CiAKIGlubGluZSB1bnNp
Z25lZCBTZWN1cmVUZXh0VGltZXI6OnRha2VPZmZzZXRBZnRlckxhc3RUeXBlZENoYXJhY3Rlcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDM1NDk5YmJlNjkxMWY1
ZmE4YzNkMDEzOGNlZjQwZWM4MjhmOWMyYmUuLjg5ZjRiOWM5ZTQ5NGZmZGVkNTkzZDBjZTI0MDRi
MGFmMjAxYmE0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE3NSw3ICsxNzYsNyBAQCBwdWJsaWM6CiAj
ZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKTsKIAotICAg
IHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIDAuNTsg
fQorICAgIHZpcnR1YWwgU2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCB7IHJldHVy
biAwLjVfczsgfQogCiAgICAgLy8gU3lzdGVtIGZvbnRzIGFuZCBjb2xvcnMgZm9yIENTUy4KICAg
ICB2b2lkIHN5c3RlbUZvbnQoQ1NTVmFsdWVJRCwgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYpIGNv
bnN0OwpAQCAtMjA0LDggKzIwNSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgdXNlc01l
ZGlhQ29udHJvbFN0YXR1c0Rpc3BsYXkoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCB1c2VzTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZpcnR1YWwgYm9vbCB1c2VzVmVydGljYWxWb2x1bWVTbGlkZXIoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0ZhZGVJbkR1cmF0
aW9uKCkgeyByZXR1cm4gMC4xOyB9Ci0gICAgdmlydHVhbCBkb3VibGUgbWVkaWFDb250cm9sc0Zh
ZGVPdXREdXJhdGlvbigpIHsgcmV0dXJuIDAuMzsgfQorICAgIHZpcnR1YWwgU2Vjb25kcyBtZWRp
YUNvbnRyb2xzRmFkZUluRHVyYXRpb24oKSB7IHJldHVybiAwLjFfczsgfQorICAgIHZpcnR1YWwg
U2Vjb25kcyBtZWRpYUNvbnRyb2xzRmFkZU91dER1cmF0aW9uKCkgeyByZXR1cm4gMC4zX3M7IH0K
ICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzVGltZShmbG9hdCB0aW1lKSBj
b25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzQ3VycmVudFRpbWUo
ZmxvYXQgY3VycmVudFRpbWUsIGZsb2F0IGR1cmF0aW9uKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0
cmluZyBmb3JtYXRNZWRpYUNvbnRyb2xzUmVtYWluaW5nVGltZShmbG9hdCBjdXJyZW50VGltZSwg
ZmxvYXQgZHVyYXRpb24pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZUd0ay5jcHAKaW5kZXggZmE4MGIyODE3M2NjYmQ0NzEwMmY2NDY2OWQwNjBjOGJiNzEwNjU2
YS4uMmU0ZDU3ZTlmZGU4N2I1MzhkNmYzNjRlYTU1ZmZmZDIyYjdmY2VmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lR3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuY3BwCkBAIC0xODAyLDcgKzE4MDIsNyBA
QCBib29sIFJlbmRlclRoZW1lR3RrOjpwYWludElubmVyU3BpbkJ1dHRvbihjb25zdCBSZW5kZXJP
YmplY3QmIHJlbmRlck9iamVjdCwgY29ucwogfQogI2VuZGlmIC8vIEdUS19DSEVDS19WRVJTSU9O
KDMsIDIwLCAwKQogCi1kb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0QmxpbmtJbnRlcnZhbCgp
IGNvbnN0CitTZWNvbmRzIFJlbmRlclRoZW1lR3RrOjpjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25z
dAogewogICAgIEd0a1NldHRpbmdzKiBzZXR0aW5ncyA9IGd0a19zZXR0aW5nc19nZXRfZGVmYXVs
dCgpOwogCkBAIC0xODEyLDkgKzE4MTIsOSBAQCBkb3VibGUgUmVuZGVyVGhlbWVHdGs6OmNhcmV0
QmxpbmtJbnRlcnZhbCgpIGNvbnN0CiAgICAgZ19vYmplY3RfZ2V0KHNldHRpbmdzLCAiZ3RrLWN1
cnNvci1ibGluayIsICZzaG91bGRCbGluaywgImd0ay1jdXJzb3ItYmxpbmstdGltZSIsICZ0aW1l
LCBudWxscHRyKTsKIAogICAgIGlmICghc2hvdWxkQmxpbmspCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gMF9zOwogCi0gICAgcmV0dXJuIHRpbWUgLyAyMDAwLjsKKyAgICByZXR1
cm4gU2Vjb25kcyh0aW1lIC8gMjAwMC4pOwogfQogCiBlbnVtIFN0eWxlQ29sb3JUeXBlIHsgU3R5
bGVDb2xvckJhY2tncm91bmQsIFN0eWxlQ29sb3JGb3JlZ3JvdW5kIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVHdGsuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCmluZGV4IDkxNzIzNDU1Zjc3M2NhMjc1M2Q4NjFh
YzM3N2JiZjI1OWY5OWE4YmUuLjdiODJkOTMxNDY0NDRmZDRlZmVlNTYxNGU1YzExZDc2ZGIxZWQ4
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUd0ay5oCkBAIC04MSw3
ICs4MSw3IEBAIHB1YmxpYzoKICAgICBDb2xvciBwbGF0Zm9ybUluYWN0aXZlTGlzdEJveFNlbGVj
dGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIENvbG9yIHBsYXRmb3Jt
SW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKLSAgICBkb3VibGUgY2FyZXRCbGlua0ludGVydmFsKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
U2Vjb25kcyBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQg
cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDkxYWMwODAwMjM4MWZhNjVjZjBiMjVhNThjOTAzMWY4
YWE2ZDgxN2QuLmVlNTM2YzA0NTdhNGVlZGJhYWFmOWVkY2NmOTEwZTNjODRjYTdmNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCB2
b2lkIFJlbmRlclZpZXc6OnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVyQm94JiByZW5kZXJlcikK
ICAgICByZW5kZXJlci5zZXRSZW5kZXJCb3hOZWVkc0xhenlSZXBhaW50KHRydWUpOwogICAgIG1f
cmVuZGVyZXJzTmVlZGluZ0xhenlSZXBhaW50LmFkZCgmcmVuZGVyZXIpOwogICAgIGlmICghbV9s
YXp5UmVwYWludFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fbGF6eVJlcGFpbnRUaW1lci5zdGFydE9uZVNob3Qo
MF9zKTsKIH0KIAogdm9pZCBSZW5kZXJWaWV3Ojp1bnNjaGVkdWxlTGF6eVJlcGFpbnQoUmVuZGVy
Qm94JiByZW5kZXJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJp
bmdJbnB1dEN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvQ2FwdHVyaW5nSW5wdXRD
dXJzb3IuY3BwCmluZGV4IDk5NjQ5YmZlMjkwMzY2NzZhZDQ5NjhhMzZkZjFmNWMzYzYyZTBlZDku
LjViNDM0OWZhOTM0ZjMyYjQxMDk1ZDVhMGY4NDQ5NjkxNGY4N2Y1MjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9DYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0NhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcApAQCAtNTgsMTEgKzU4LDgg
QEAgdm9pZCBDYXB0dXJpbmdJbnB1dEN1cnNvcjo6c3RvcmVJbnB1dChzdGQ6OnVuaXF1ZV9wdHI8
Tm9uZGV0ZXJtaW5pc3RpY0lucHV0QmFzZT4KIHsKICAgICBBU1NFUlRfQVJHKGlucHV0LCBpbnB1
dCk7CiAKLSAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5wdXRRdWV1ZTo6RXZlbnRMb29wSW5w
dXQpIHsKLSAgICAgICAgLy8gRklYTUU6IHJld3JpdGUgdGhpcyAoYW5kIHJlbGF0ZWQgZGlzcGF0
Y2ggY29kZSkgdG8gdXNlIHN0ZDo6Y2hyb25vLgotICAgICAgICBkb3VibGUgbm93ID0gbW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0gICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChub3cpOwotICAgIH0KKyAgICBpZiAoaW5wdXQtPnF1ZXVlKCkgPT0gSW5w
dXRRdWV1ZTo6RXZlbnRMb29wSW5wdXQpCisgICAgICAgIG1fc2VnbWVudC0+ZXZlbnRMb29wVGlt
aW5ncygpLmFwcGVuZChNb25vdG9uaWNUaW1lOjpub3coKSk7CiAKICAgICBtX3NlZ21lbnQtPnN0
b3JhZ2UoKS5zdG9yZShXVEZNb3ZlKGlucHV0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDUxMDI5M2ZjMTZjNjRh
YzliNWZiNTFlN2I5OGQwOTBkOGI1MTM2NjcuLmIwN2QyNmZmODRmMzg3MTFkMzQ0MzViNDZiZWIw
YmIxZWYzMjViYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dERpc3BhdGNoZXIuY3BwCkBAIC01MSw4ICs1MSw2IEBAIEV2ZW50TG9vcElucHV0RGlzcGF0
Y2hlcjo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyKFBhZ2UmIHBhZ2UsIFJlcGxheWluZ0lucHV0
Q3VyCiAgICAgLCBtX3RpbWVyKCp0aGlzLCAmRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjp0aW1l
ckZpcmVkKQogICAgICwgbV9zcGVlZChEaXNwYXRjaFNwZWVkOjpGYXN0Rm9yd2FyZCkKIHsKLSAg
ICBtX2N1cnJlbnRXb3JrLmlucHV0ID0gbnVsbHB0cjsKLSAgICBtX2N1cnJlbnRXb3JrLnRpbWVz
dGFtcCA9IDAuMDsKIH0KIAogdm9pZCBFdmVudExvb3BJbnB1dERpc3BhdGNoZXI6OnJ1bigpCkBA
IC05MSw3ICs4OSw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRjaElu
cHV0U29vbigpCiAgICAgaWYgKG1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5z
dG9wKCk7CiAKLSAgICBkb3VibGUgd2FpdEludGVydmFsID0gMDsKKyAgICBTZWNvbmRzIHdhaXRJ
bnRlcnZhbDsKIAogICAgIGlmIChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7
CiAgICAgICAgIC8vIFRoZSBnb2FsIGlzIHRvIHJlcHJvZHVjZSB0aGUgZGlzcGF0Y2ggZGVsYXkg
YmV0d2VlbiBpbnB1dHMgYXMgaXQgd2FzCkBAIC0xMDIsMjIgKzEwMCwyMiBAQCB2b2lkIEV2ZW50
TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1dFNvb24oKQogICAgICAgICBpZiAoIW1f
cHJldmlvdXNJbnB1dFRpbWVzdGFtcCkKICAgICAgICAgICAgIG1fcHJldmlvdXNJbnB1dFRpbWVz
dGFtcCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wOwogCi0gICAgICAgIGRvdWJsZSB0YXJnZXRJ
bnRlcnZhbCA9IG1fY3VycmVudFdvcmsudGltZXN0YW1wIC0gbV9wcmV2aW91c0lucHV0VGltZXN0
YW1wOwotICAgICAgICBkb3VibGUgZWxhcHNlZCA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpIC0gbV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOworICAgICAgICBTZWNvbmRzIHRhcmdl
dEludGVydmFsID0gbV9jdXJyZW50V29yay50aW1lc3RhbXAgLSBtX3ByZXZpb3VzSW5wdXRUaW1l
c3RhbXA7CisgICAgICAgIFNlY29uZHMgZWxhcHNlZCA9IE1vbm90b25pY1RpbWU6Om5vdygpIC0g
bV9wcmV2aW91c0Rpc3BhdGNoU3RhcnRUaW1lOwogICAgICAgICB3YWl0SW50ZXJ2YWwgPSB0YXJn
ZXRJbnRlcnZhbCAtIGVsYXBzZWQ7CiAgICAgfQogCiAgICAgLy8gQSBuZWdhdGl2ZSB3YWl0IHRp
bWUgbWVhbnMgdGhhdCBkaXNwYXRjaCB0b29rIGxvbmdlciBvbiByZXBsYXkgdGhhbiBvbgogICAg
IC8vIGNhcHR1cmUuIEluIHRoaXMgY2FzZSwgcHJvY2VlZCB3aXRob3V0IHdhaXRpbmcgYXQgYWxs
LgotICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwKQotICAgICAgICB3YWl0SW50ZXJ2YWwgPSAwOwor
ICAgIGlmICh3YWl0SW50ZXJ2YWwgPCAwX3MpCisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsK
IAotICAgIGlmICh3YWl0SW50ZXJ2YWwgPiAxMDAwLjApIHsKKyAgICBpZiAod2FpdEludGVydmFs
ID4gMTAwMF9zKSB7CiAgICAgICAgIExPR19FUlJPUigiJS0yMHMgVHJpZWQgdG8gd2FpdCBmb3Ig
b3ZlciAxMDAwIHNlY29uZHMgYmVmb3JlIGRpc3BhdGNoaW5nIG5leHQgZXZlbnQgbG9vcCBpbnB1
dDsgdGhpcyBpcyBwcm9iYWJseSBhIGJ1Zy4iLCAiUmVwbGF5RXZlbnRzIik7Ci0gICAgICAgIHdh
aXRJbnRlcnZhbCA9IDA7CisgICAgICAgIHdhaXRJbnRlcnZhbCA9IDBfczsKICAgICB9CiAKLSAg
ICBMT0coV2ViUmVwbGF5LCAiJS0yMHMgKFdBSVQ6ICUuM2YgbXMpIiwgIlJlcGxheUV2ZW50cyIs
IHdhaXRJbnRlcnZhbCAqIDEwMDAuMCk7CisgICAgTE9HKFdlYlJlcGxheSwgIiUtMjBzIChXQUlU
OiAlLjNmIG1zKSIsICJSZXBsYXlFdmVudHMiLCBTZWNvbmRzKHdhaXRJbnRlcnZhbCAqIDEwMDAu
MCkubWlsbGlzZWNvbmRzKCkpOwogICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHdhaXRJbnRlcnZh
bCk7CiB9CiAKQEAgLTEyNyw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hl
cjo6ZGlzcGF0Y2hJbnB1dCgpCiAgICAgQVNTRVJUKCFtX2Rpc3BhdGNoaW5nKTsKIAogICAgIGlm
IChtX3NwZWVkID09IERpc3BhdGNoU3BlZWQ6OlJlYWxUaW1lKSB7Ci0gICAgICAgIG1fcHJldmlv
dXNEaXNwYXRjaFN0YXJ0VGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworICAg
ICAgICBtX3ByZXZpb3VzRGlzcGF0Y2hTdGFydFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsK
ICAgICAgICAgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wID0gbV9jdXJyZW50V29yay50aW1lc3Rh
bXA7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXRE
aXNwYXRjaGVyLmgKaW5kZXggMjA2N2U3OGQ0M2YyNWE1ZDI1ZTRjM2Y5YTUyMzIzNWIwYzc5NWYz
NC4uNTkzMmI0MmI2ZDQyYzM4MjA5NGU1NDgxNDM2MGYwZGFiNmI0NDBkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkV2ZW50TG9vcElucHV0LmgiCiAjaW5jbHVkZSAiUmVwbGF5aW5n
SW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKQEAgLTg2LDkgKzg3LDkgQEAgcHJpdmF0ZToKIAogICAgIERpc3Bh
dGNoU3BlZWQgbV9zcGVlZDsKICAgICAvLyBUaGUgdGltZSBhdCB3aGljaCB0aGUgbGFzdCBpbnB1
dCBkaXNwYXRjaCgpIG1ldGhvZCB3YXMgY2FsbGVkLgotICAgIGRvdWJsZSBtX3ByZXZpb3VzRGlz
cGF0Y2hTdGFydFRpbWUgezAuMH07CisgICAgTW9ub3RvbmljVGltZSBtX3ByZXZpb3VzRGlzcGF0
Y2hTdGFydFRpbWU7CiAgICAgLy8gVGhlIHRpbWVzdGFtcCBzcGVjaWZpZWQgYnkgdGhlIGxhc3Qg
ZGlzcGF0Y2hlZCBpbnB1dC4KLSAgICBkb3VibGUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wIHsw
LjB9OworICAgIE1vbm90b25pY1RpbWUgbV9wcmV2aW91c0lucHV0VGltZXN0YW1wOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5
L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlT
ZXNzaW9uU2VnbWVudC5jcHAKaW5kZXggZjE4ZGRmNDFmY2RjMDQ0NmVlNDAwOGI4MWIzOWJmNmM0
YTY1MTYyYS4uMjgxMWU3NGJmMDNmNzg0YzMxNmNjZDkxZmJlMDA4NDg5ZTMxZjM5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheVNlc3Npb25TZWdtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5U2Vzc2lvblNlZ21lbnQuY3BwCkBAIC00Nyw4
ICs0Nyw4IEBAIFJlZjxSZXBsYXlTZXNzaW9uU2VnbWVudD4gUmVwbGF5U2Vzc2lvblNlZ21lbnQ6
OmNyZWF0ZSgpCiAKIFJlcGxheVNlc3Npb25TZWdtZW50OjpSZXBsYXlTZXNzaW9uU2VnbWVudCgp
CiAgICAgOiBtX3N0b3JhZ2Uoc3RkOjptYWtlX3VuaXF1ZTxTZWdtZW50ZWRJbnB1dFN0b3JhZ2U+
KCkpCisgICAgLCBtX3RpbWVzdGFtcChNb25vdG9uaWNUaW1lOjpub3coKSkKICAgICAsIG1faWRl
bnRpZmllcihzX25leHRTZWdtZW50SWRlbnRpZmllcisrKQotICAgICwgbV90aW1lc3RhbXAoY3Vy
cmVudFRpbWVNUygpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
UmVwbGF5U2Vzc2lvblNlZ21lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNz
aW9uU2VnbWVudC5oCmluZGV4IGQ1NjJiNTNjMDQ0ODQxM2Y0NjMyOTk3Y2ExOWY5NDhkZTIzYTJk
OWMuLmY3Njc0MmM2NThlZGMwMTIzMmNlMzNiZmVmNzk0ZjM1MzM2NDU3ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlTZXNzaW9uU2VnbWVudC5oCkBAIC0zMCw2ICszMCw3IEBA
CiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTUxLDIwICs1MiwyMSBAQCBwdWJsaWM6CiAg
ICAgflJlcGxheVNlc3Npb25TZWdtZW50KCk7CiAKICAgICB1bnNpZ25lZCBpZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9Ci0gICAgZG91YmxlIHRpbWVzdGFtcCgpIGNv
bnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CisgICAgTW9ub3RvbmljVGltZSB0aW1lc3RhbXAo
KSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgU2VnbWVu
dGVkSW5wdXRTdG9yYWdlJiBzdG9yYWdlKCkgeyByZXR1cm4gKm1fc3RvcmFnZTsgfQotICAgIFZl
Y3Rvcjxkb3VibGUsIDA+JiBldmVudExvb3BUaW1pbmdzKCkgeyByZXR1cm4gbV9ldmVudExvb3BU
aW1pbmdzOyB9CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+JiBldmVudExvb3BUaW1pbmdz
KCkgeyByZXR1cm4gbV9ldmVudExvb3BUaW1pbmdzOyB9CiAKIHByaXZhdGU6CiAgICAgUmVwbGF5
U2Vzc2lvblNlZ21lbnQoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxTZWdtZW50ZWRJbnB1dFN0
b3JhZ2U+IG1fc3RvcmFnZTsKLSAgICBWZWN0b3I8ZG91YmxlLCAwPiBtX2V2ZW50TG9vcFRpbWlu
Z3M7CisgICAgVmVjdG9yPE1vbm90b25pY1RpbWUsIDA+IG1fZXZlbnRMb29wVGltaW5nczsKIAor
ICAgIE1vbm90b25pY1RpbWUgbV90aW1lc3RhbXA7CiAgICAgdW5zaWduZWQgbV9pZGVudGlmaWVy
OwogICAgIGJvb2wgbV9jYW5DYXB0dXJlIHt0cnVlfTsKLSAgICBkb3VibGUgbV90aW1lc3RhbXA7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlpbmdJbnB1dEN1cnNvci5oCmluZGV4IDc3YzNiOTQyMGM4ZmFkNDRkZTUzYmMwMTUyZGJl
OTc2YmRkNmI2OTIuLjBmZWQxMDkyODEwN2IzZTg0YmFlOTVlYzIzNzdlMGRjNzc5NTFiYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oCkBAIC0zMCw2
ICszMCw3IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlIDxyZXBsYXkvSW5w
dXRDdXJzb3IuaD4KKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsOCArNDIsOCBAQCBjbGFz
cyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKIHN0cnVjdCBFdmVudExvb3BJ
bnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0gICAgZG91YmxlIHRp
bWVzdGFtcDsKKyAgICBFdmVudExvb3BJbnB1dEJhc2UqIGlucHV0IHsgbnVsbHB0ciB9OworICAg
IE1vbm90b25pY1RpbWUgdGltZXN0YW1wOwogfTsKIAogY2xhc3MgUmVwbGF5aW5nSW5wdXRDdXJz
b3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3Bl
LmNwcAppbmRleCA4MjI3MGFkZDBmMmYwY2YzZWNkZDc2NTQ4ZTA1YzE0MTgyMGI4NWU2Li4zMDgw
ZDZhOGIxNmJmODcxNDE4YTdmODg3YjcxZWE4MTgyMTk0ZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZVNjb3BlLmNwcApAQCAtNTA3LDcgKzUwNyw3IEBAIHZvaWQgU2NvcGU6OnNjaGVkdWxlVXBk
YXRlKFVwZGF0ZVR5cGUgdXBkYXRlKQogCiAgICAgaWYgKG1fcGVuZGluZ1VwZGF0ZVRpbWVyLmlz
QWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3BlbmRpbmdVcGRhdGVUaW1lci5zdGFy
dE9uZVNob3QoMCk7CisgICAgbV9wZW5kaW5nVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiB9CiAKIHZvaWQgU2NvcGU6OmRpZENoYW5nZUFjdGl2ZVN0eWxlU2hlZXRDYW5kaWRhdGVzKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBmMDQxNWZjYTMwZjljZTRjNDEwMmZhNThk
N2IzNTJmYWZmODVlYzNjLi40MTk2MmFhNzNiNjVkOWJlNjI4MTY5ODgwMjUxOTIxZTc4YTk5OGFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC02MjEsNyArNjIxLDcgQEAgdm9pZCBT
VkdFbGVtZW50OjpzZW5kU1ZHTG9hZEV2ZW50SWZQb3NzaWJsZShib29sIHNlbmRQYXJlbnRMb2Fk
RXZlbnRzKQogCiB2b2lkIFNWR0VsZW1lbnQ6OnNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlQXN5
bmNocm9ub3VzbHkoKQogewotICAgIHN2Z0xvYWRFdmVudFRpbWVyKCktPnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBzdmdMb2FkRXZlbnRUaW1lcigpLT5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9p
ZCBTVkdFbGVtZW50OjpzdmdMb2FkRXZlbnRUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU01JTFRpbWVDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHAKaW5kZXggY2JmM2I3YmE1
ODQ4NTA3NzM3ZTk3NWNkZDBhODE5MmQzMzVmYmY1MC4uNzUzZTQwMTRiY2MyMTJjYjMwOGQ4ZDY2
N2NmZmViZmQxM2M0NDVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlv
bi9TTUlMVGltZUNvbnRhaW5lci5jcHAKQEAgLTIwNSw3ICsyMDUsNyBAQCB2b2lkIFNNSUxUaW1l
Q29udGFpbmVyOjpzdGFydFRpbWVyKFNNSUxUaW1lIGVsYXBzZWQsIFNNSUxUaW1lIGZpcmVUaW1l
LCBTTUlMVGltZQogICAgICAgICByZXR1cm47CiAKICAgICBTTUlMVGltZSBkZWxheSA9IHN0ZDo6
bWF4KGZpcmVUaW1lIC0gZWxhcHNlZCwgbWluaW11bURlbGF5KTsKLSAgICBtX3RpbWVyLnN0YXJ0
T25lU2hvdChkZWxheS52YWx1ZSgpKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
KGRlbGF5LnZhbHVlKCkpKTsKIH0KIAogdm9pZCBTTUlMVGltZUNvbnRhaW5lcjo6dGltZXJGaXJl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCA2
MTFjOTJiOGZiMzQ1MWNmYzZjZjk2YzhlZDM3ZTc4NWEzMmQ5N2Y4Li5hZmFmNWVkYWE4NmMyMzY5
NWZmMmYzMzg2NzUyMzExOWFiNmYyZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFj
a3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgLCBtX2RlZmF1bHRW
aWRlb1Bvc3RlclVSTChzZXR0aW5ncy5kZWZhdWx0VmlkZW9Qb3N0ZXJVUkwoKSkKICAgICAsIG1f
Zm9yY2VQZW5kaW5nV2ViR0xQb2xpY3koc2V0dGluZ3MuaXNGb3JjZVBlbmRpbmdXZWJHTFBvbGlj
eSgpKQotICAgICwgbV9vcmlnaW5hbFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGlu
Z0NvbnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKCkpCisgICAgLCBtX3RpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0Nv
bnRyb2xzKHNldHRpbmdzLnRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKCkpCiAgICAgLCBtX3VzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3Io
c2V0dGluZ3MudXNlTGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcigpKQogICAg
ICwgbV9hdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKHNldHRpbmdzLmF1dG9zY3JvbGxG
b3JEcmFnQW5kRHJvcEVuYWJsZWQoKSkKICAgICAsIG1fcXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1l
bnRFbmFibGVkKHNldHRpbmdzLnF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCgpKQpA
QCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3Jl
VG8oU2V0dGluZ3MmIHNldHRpbmdzKQogI2VuZGlmCiAgICAgc2V0dGluZ3Muc2V0RGVmYXVsdFZp
ZGVvUG9zdGVyVVJMKG1fZGVmYXVsdFZpZGVvUG9zdGVyVVJMKTsKICAgICBzZXR0aW5ncy5zZXRG
b3JjZVBlbmRpbmdXZWJHTFBvbGljeShtX2ZvcmNlUGVuZGluZ1dlYkdMUG9saWN5KTsKLSAgICBz
ZXR0aW5ncy5zZXRUaW1lV2l0aG91dE1vdXNlTW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9scyht
X29yaWdpbmFsVGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwor
ICAgIHNldHRpbmdzLnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRy
b2xzKG1fdGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMpOwogICAg
IHNldHRpbmdzLnNldFVzZUxlZ2FjeUJhY2tncm91bmRTaXplU2hvcnRoYW5kQmVoYXZpb3IobV91
c2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2aW9yKTsKICAgICBzZXR0aW5ncy5z
ZXRBdXRvc2Nyb2xsRm9yRHJhZ0FuZERyb3BFbmFibGVkKG1fYXV0b3Njcm9sbEZvckRyYWdBbmRE
cm9wRW5hYmxlZCk7CiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVP
bkNvcHkobV9zaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSk7CkBAIC01MzYsNyArNTM2
LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0TWluaW11bVRpbWVy
SW50ZXJ2YWwoZG91YmxlIGludGVydmFsSW5TZWMKIHsKICAgICBpZiAoIW1fcGFnZSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwotICAgIHNldHRpbmdz
KCkuc2V0TWluaW11bURPTVRpbWVySW50ZXJ2YWwoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygo
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwKShpbnRlcnZhbEluU2Vjb25kcyAqIDEwMDAp
KSk7CisgICAgc2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChTZWNvbmRzKGlu
dGVydmFsSW5TZWNvbmRzKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApAQCAtNTYwLDcgKzU2MCw3
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyCiB7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX0FDQ0VTU19FUlIgfTsKLSAgICBzZXR0aW5ncygp
LnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOwor
ICAgIHNldHRpbmdzKCkuc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29u
dHJvbHMoU2Vjb25kcyh0aW1lKSk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA1YTRmNmU0ZGFkNDg1Y2I1YWYzMTI3
ZGVmODA3OGRjNzc2MWMxOTQwLi5iZDYzZWJhYjc1MjcxZTkzOTZjOTQxMGJjOTRlMDQ2ZDlmNjE4
NTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTQz
LDcgKzE0Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9sYW5nQXR0cmlidXRlQXdhcmVG
b3JtQ29udHJvbFVJRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX2ltYWdlc0VuYWJsZWQ7CiAgICAg
ICAgIGJvb2wgbV9wcmVmZXJNSU1FVHlwZUZvckltYWdlczsKLSAgICAgICAgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyBtX21pbmltdW1UaW1lckludGVydmFsOworICAgICAgICBTZWNvbmRzIG1f
bWluaW11bVRpbWVySW50ZXJ2YWw7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBi
b29sIG1fc2hvdWxkRGlzcGxheVN1YnRpdGxlczsKICAgICAgICAgYm9vbCBtX3Nob3VsZERpc3Bs
YXlDYXB0aW9uczsKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgICAg
IFN0cmluZyBtX2RlZmF1bHRWaWRlb1Bvc3RlclVSTDsKICAgICAgICAgYm9vbCBtX2ZvcmNlUGVu
ZGluZ1dlYkdMUG9saWN5OwotICAgICAgICBib29sIG1fb3JpZ2luYWxUaW1lV2l0aG91dE1vdXNl
TW92ZW1lbnRCZWZvcmVIaWRpbmdDb250cm9sczsKKyAgICAgICAgU2Vjb25kcyBtX3RpbWVXaXRo
b3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzOwogICAgICAgICBib29sIG1fdXNl
TGVnYWN5QmFja2dyb3VuZFNpemVTaG9ydGhhbmRCZWhhdmlvcjsKICAgICAgICAgYm9vbCBtX2F1
dG9zY3JvbGxGb3JEcmFnQW5kRHJvcEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9xdWlja1RpbWVQ
bHVnaW5SZXBsYWNlbWVudEVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCmluZGV4IGVkMmZlZGEyZGRjNDMwNjQ3Y2IyODNhMGQ5ZmYxOTg3NWM0
YWEyM2YuLmM3MTk0ZWRlYWIzYTc4N2ZjZWY0NjUxNmE3YWFjYjUxYjA0OGUyZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xODcsNyArMTg3
LDcgQEAgdm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6cG9zdFRhc2soVGFzayYmIHRhc2spCiAKIGlu
dCBXb3JrZXJHbG9iYWxTY29wZTo6c2V0VGltZW91dChzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVk
QWN0aW9uPiBhY3Rpb24sIGludCB0aW1lb3V0KQogewotICAgIHJldHVybiBET01UaW1lcjo6aW5z
dGFsbCgqdGhpcywgV1RGTW92ZShhY3Rpb24pLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKHRp
bWVvdXQpLCB0cnVlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6Omluc3RhbGwoKnRoaXMsIFdURk1v
dmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyh0aW1lb3V0KSwgdHJ1ZSk7CiB9
CiAKIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChpbnQgdGltZW91dElkKQpA
QCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyVGltZW91dChp
bnQgdGltZW91dElkKQogCiBpbnQgV29ya2VyR2xvYmFsU2NvcGU6OnNldEludGVydmFsKHN0ZDo6
dW5pcXVlX3B0cjxTY2hlZHVsZWRBY3Rpb24+IGFjdGlvbiwgaW50IHRpbWVvdXQpCiB7Ci0gICAg
cmV0dXJuIERPTVRpbWVyOjppbnN0YWxsKCp0aGlzLCBXVEZNb3ZlKGFjdGlvbiksIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHModGltZW91dCksIGZhbHNlKTsKKyAgICByZXR1cm4gRE9NVGltZXI6
Omluc3RhbGwoKnRoaXMsIFdURk1vdmUoYWN0aW9uKSwgU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25k
cyh0aW1lb3V0KSwgZmFsc2UpOwogfQogCiB2b2lkIFdvcmtlckdsb2JhbFNjb3BlOjpjbGVhcklu
dGVydmFsKGludCB0aW1lb3V0SWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApp
bmRleCA2YjdkZThjY2VkYjIyNDhiN2M5NzIwM2NiZGU0OThkNTEyYWIyYmRlLi44ZDA3ZGJlMzcy
ZjA5ZTQzMTgxNTZjNjdmZDQyMzRhNTFkYTYxZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKQEAgLTI0NSw4ICsyNDUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRw
UmVxdWVzdDo6c2V0VGltZW91dCh1bnNpZ25lZCB0aW1lb3V0KQogICAgICAgICByZXR1cm4geyB9
OwogCiAgICAgLy8gSWYgdGltZW91dCBpcyB6ZXJvLCB3ZSBzaG91bGQgdXNlIHRoZSBkZWZhdWx0
IG5ldHdvcmsgdGltZW91dC4gQnV0IHdlIGRpc2FibGVkIGl0IHNvIGxldCdzIG1pbWljIGl0IHdp
dGggYSA2MCBzZWNvbmRzIHRpbWVvdXQgdmFsdWUuCi0gICAgc3RkOjpjaHJvbm86OmR1cmF0aW9u
PGRvdWJsZT4gaW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHsgbV90aW1lb3V0
TWlsbGlzZWNvbmRzID8gbV90aW1lb3V0TWlsbGlzZWNvbmRzIDogNjAwMDAgfSAtIChzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIG1fc2VuZGluZ1RpbWUpOwotICAgIG1fdGltZW91
dFRpbWVyLnN0YXJ0T25lU2hvdChzdGQ6Om1heCgwLjAsIGludGVydmFsLmNvdW50KCkpKTsKKyAg
ICBhdXRvIGludGVydmFsID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhtX3RpbWVvdXRNaWxs
aXNlY29uZHMgPyBtX3RpbWVvdXRNaWxsaXNlY29uZHMgOiA2MDAwMCkgLSAoTW9ub3RvbmljVGlt
ZTo6bm93KCkgLSBtX3NlbmRpbmdUaW1lKTsKKyAgICBtX3RpbWVvdXRUaW1lci5zdGFydE9uZVNo
b3Qoc3RkOjptYXgoMF9zLCBpbnRlcnZhbCkpOwogICAgIHJldHVybiB7IH07CiB9CiAKQEAgLTQ5
Niw3ICs0OTYsNyBAQCBzdGQ6Om9wdGlvbmFsPEV4Y2VwdGlvbk9yPHZvaWQ+PiBYTUxIdHRwUmVx
dWVzdDo6cHJlcGFyZVRvU2VuZCgpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uT3I8dm9p
ZD4geyBFeGNlcHRpb24geyBORVRXT1JLX0VSUiB9IH07CiAgICAgICAgIHNldFBlbmRpbmdBY3Rp
dml0eSh0aGlzKTsKICAgICAgICAgbV90aW1lb3V0VGltZXIuc3RvcCgpOwotICAgICAgICBtX25l
dHdvcmtFcnJvclRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9uZXR3b3JrRXJyb3JU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbk9yPHZvaWQ+
IHsgfTsKICAgICB9CiAKQEAgLTY3NSw4ICs2NzUsOCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxI
dHRwUmVxdWVzdDo6Y3JlYXRlUmVxdWVzdCgpCiAgICAgICAgICAgICByZXF1ZXN0LnNldFRpbWVv
dXRJbnRlcnZhbChtX3RpbWVvdXRNaWxsaXNlY29uZHMgLyAxMDAwLjApOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHJlcXVlc3Quc2V0VGltZW91dEludGVydmFsKHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSk7Ci0gICAgICAgICAgICBtX3NlbmRpbmdUaW1lID0g
c3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7Ci0gICAgICAgICAgICBtX3RpbWVvdXRU
aW1lci5zdGFydE9uZVNob3Qoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB7IG1fdGltZW91dE1p
bGxpc2Vjb25kcyB9KTsKKyAgICAgICAgICAgIG1fc2VuZGluZ1RpbWUgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKKyAgICAgICAgICAgIG1fdGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChTZWNvbmRz
Ojpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dE1pbGxpc2Vjb25kcykpOwogICAgICAgICB9CiAg
ICAgfQogCkBAIC05NjAsNyArOTYwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkRmFpbChj
b25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICAgICAgbV9zZW5kRmxhZyA9IGZhbHNlOwog
ICAgICAgICBzZXRQZW5kaW5nQWN0aXZpdHkodGhpcyk7CiAgICAgICAgIG1fdGltZW91dFRpbWVy
LnN0b3AoKTsKLSAgICAgICAgbV9uZXR3b3JrRXJyb3JUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgICAgIG1fbmV0d29ya0Vycm9yVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgbV9leGNlcHRpb25Db2RlID0gTkVUV09SS19FUlI7CkBAIC0xMTgz
LDcgKzExODMsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWUoKQogICAgIC8vIFdlIGFy
ZSBub3QgYWxsb3dlZCB0byBleGVjdXRlIGFyYml0cmFyeSBKUyBpbiByZXN1bWUoKSBzbyBkaXNw
YXRjaAogICAgIC8vIHRoZSBlcnJvciBldmVudCBpbiBhIHRpbWVyLgogICAgIGlmIChtX2Rpc3Bh
dGNoRXJyb3JPblJlc3VtaW5nICYmICFtX3Jlc3VtZVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAg
IG1fcmVzdW1lVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3Jlc3VtZVRpbWVyLnN0
YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpyZXN1bWVUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggMDRhYmMwOWRkN2Y2YmI4
YjhhOTVhNTI0MTI3YzE0NjhjZmRhYzI3MS4uMmY4OGY1OTc0NzYwNDY2ZGU2MGJhOTYyNDBhMjJj
OWQwY2FmOGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTIzMCw3ICsy
MzAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbmV0d29ya0Vycm9yVGltZXJGaXJlZCgpOwogCiAg
ICAgdW5zaWduZWQgbV90aW1lb3V0TWlsbGlzZWNvbmRzIHsgMCB9OwotICAgIHN0ZDo6Y2hyb25v
OjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbV9zZW5kaW5nVGltZTsKKyAgICBNb25vdG9uaWNU
aW1lIG1fc2VuZGluZ1RpbWU7CiAgICAgVGltZXIgbV90aW1lb3V0VGltZXI7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhy
b3R0bGUuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dFRocm90dGxlLmNwcAppbmRleCAzNjY2MjY1NmI1MWJmOGM5ZTlmMjI1YmNiMDY3NmU2MGY0NjMw
ODczLi5lNGM5OTU1MTA0MDYxMzI3M2FkZmUxNzU4M2I4YTA3ZjJmZDdkMjE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRU
aHJvdHRsZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
b25zdCBkb3VibGUgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6Om1pbmltdW1Q
cm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyA9IC4wNTsgLy8gNTAgbXMg
cGVyIHNwZWNpZmljYXRpb24uCitjb25zdCBTZWNvbmRzIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudFRocm90dGxlOjptaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWwgPSA1
MF9tczsgLy8gNTAgbXMgcGVyIHNwZWNpZmljYXRpb24uCiAKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlOjpYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZShFdmVu
dFRhcmdldCogdGFyZ2V0KQogICAgIDogbV90YXJnZXQodGFyZ2V0KQpAQCAtNzMsMTIgKzczLDEy
IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0bGU6OmRpc3BhdGNoVGhy
b3R0bGVkUHJvZ3Jlc3NFdmVudChib29sIGxlCiAgICAgICAgIEFTU0VSVCghbV9oYXNUaHJvdHRs
ZWRQcm9ncmVzc0V2ZW50KTsKIAogICAgICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5wcm9ncmVzc0V2ZW50LCBsZW5ndGhD
b21wdXRhYmxlLCBsb2FkZWQsIHRvdGFsKSk7Ci0gICAgICAgIHN0YXJ0UmVwZWF0aW5nKG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyk7CisgICAgICAgIHN0
YXJ0UmVwZWF0aW5nKG1pbmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCk7CiAg
ICAgICAgIG1faGFzVGhyb3R0bGVkUHJvZ3Jlc3NFdmVudCA9IGZhbHNlOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1pbmlt
dW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbEluU2Vjb25kcyBpcyB0aGUgbGVhc3Qg
ZnJlcXVlbnQgZXZlbnQuCisgICAgLy8gVGhlIHRpbWVyIGlzIGFscmVhZHkgYWN0aXZlIHNvIG1p
bmltdW1Qcm9ncmVzc0V2ZW50RGlzcGF0Y2hpbmdJbnRlcnZhbCBpcyB0aGUgbGVhc3QgZnJlcXVl
bnQgZXZlbnQuCiAgICAgbV9oYXNUaHJvdHRsZWRQcm9ncmVzc0V2ZW50ID0gdHJ1ZTsKIH0KIApA
QCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50VGhyb3R0
bGU6OnJlc3VtZSgpCiAgICAgLy8gdGhlIGxpc3Qgb2YgYWN0aXZlIERPTSBvYmplY3RzIHRvIHJl
c3VtZSB0aGVtLCBhbmQgYW55IGFjdGl2YXRlZCBKUyBldmVudC1oYW5kbGVyCiAgICAgLy8gY291
bGQgaW5zZXJ0IG5ldyBhY3RpdmUgRE9NIG9iamVjdHMgdG8gdGhlIGxpc3QuCiAgICAgLy8gbV9k
ZWZlckV2ZW50cyBpcyBrZXB0IHRydWUgdW50aWwgYWxsIGRlZmVycmVkIGV2ZW50cyBoYXZlIGJl
ZW4gZGlzcGF0Y2hlZC4KLSAgICBtX2Rpc3BhdGNoRGVmZXJyZWRFdmVudHNUaW1lci5zdGFydE9u
ZVNob3QoMCk7CisgICAgbV9kaXNwYXRjaERlZmVycmVkRXZlbnRzVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnRUaHJvdHRsZS5oIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKaW5kZXgg
OTcxYmQyMzQyYzA1NmIxMTU4YjQwMTlmYjJiM2FhMjUwMzQ4NGE4ZC4uMzQwZmI1YzAwZDE3M2Zi
NjE2MWE3NGU0MTVhMDEyYmFlZmI0Zjc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudFRocm90dGxlLmgKQEAgLTU1LDcgKzU1
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzdW1lKCk7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBtaW5pbXVtUHJvZ3Jlc3NFdmVudERpc3BhdGNoaW5nSW50ZXJ2YWxJblNl
Y29uZHM7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgbWluaW11bVByb2dyZXNzRXZlbnREaXNw
YXRjaGluZ0ludGVydmFsOwogCiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCk7CiAgICAgdm9pZCBk
aXNwYXRjaERlZmVycmVkRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZUFyZWFTeW5jLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJl
YVN5bmMuY3BwCmluZGV4IGFjMGRjYzEyNTY5NGRhZDRjNGI5MjI4N2EwMzFlZmEwOTM1NGVhMTku
LmZhZjQ0YmFmNDYyZjQ5ZDc3OGFiMTE3ZDRiYWUwNDZkMWY0MmM3MmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiAvLyBJZiB0aGUgU3RvcmFnZUFyZWEgdW5kZXJnb2VzIHJhcGlkIGNoYW5n
ZXMsIGRvbid0IHN5bmMgZWFjaCBjaGFuZ2UgdG8gZGlzay4KIC8vIEluc3RlYWQsIHF1ZXVlIHVw
IGEgYmF0Y2ggb2YgaXRlbXMgdG8gc3luYyBhbmQgYWN0dWFsbHkgZG8gdGhlIHN5bmMgYXQgdGhl
IGZvbGxvd2luZyBpbnRlcnZhbC4KLXN0YXRpYyBjb25zdCBkb3VibGUgU3RvcmFnZVN5bmNJbnRl
cnZhbCA9IDEuMDsKK3N0YXRpYyBjb25zdCBhdXRvIHN0b3JhZ2VTeW5jSW50ZXJ2YWwgPSAxX3M7
CiAKIC8vIEEgc2FuZSBsaW1pdCBvbiBob3cgbWFueSBpdGVtcyB3ZSdsbCBzY2hlZHVsZSB0byBz
eW5jIGFsbCBhdCBvbmNlLiAgVGhpcyBtYWtlcyBpdAogLy8gbXVjaCBoYXJkZXIgdG8gc3RhcnZl
IHRoZSByZXN0IG9mIExvY2FsU3RvcmFnZSBhbmQgdGhlIE9TJ3MgSU8gc3Vic3lzdGVtIGluIGdl
bmVyYWwuCkBAIC0xMTcsNyArMTE3LDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxl
SXRlbUZvclN5bmMoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUKIAogICAg
IG1fY2hhbmdlZEl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICBpZiAoIW1fc3luY1RpbWVyLmlz
QWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3RhcnRPbmVTaG90KFN0b3JhZ2VTeW5j
SW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJ
bnRlcnZhbCk7CiAKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBiYWxhbmNlZCBieSB0aGUg
Y2FsbCB0byBlbmFibGVTdWRkZW5UZXJtaW5hdGlvbiBpbiB0aGUKICAgICAgICAgLy8gc3luY1Rp
bWVyRmlyZWQgZnVuY3Rpb24uCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBTdG9yYWdlQXJlYVN5
bmM6OnNjaGVkdWxlQ2xlYXIoKQogICAgIG1fY2hhbmdlZEl0ZW1zLmNsZWFyKCk7CiAgICAgbV9p
dGVtc0NsZWFyZWQgPSB0cnVlOwogICAgIGlmICghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSkgewot
ICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZhbCk7Cisg
ICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdlU3luY0ludGVydmFsKTsKIAog
ICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJs
ZVN1ZGRlblRlcm1pbmF0aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5j
dGlvbi4KQEAgLTE1Miw3ICsxNTIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c2NoZWR1bGVD
bG9zZURhdGFiYXNlKCkKICAgICBtX3N5bmNDbG9zZURhdGFiYXNlID0gdHJ1ZTsKICAgICAKICAg
ICBpZiAoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpIHsKLSAgICAgICAgbV9zeW5jVGltZXIuc3Rh
cnRPbmVTaG90KFN0b3JhZ2VTeW5jSW50ZXJ2YWwpOworICAgICAgICBtX3N5bmNUaW1lci5zdGFy
dE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRlcnZhbCk7CiAgICAgICAgIAogICAgICAgICAvLyBUaGUg
Zm9sbG93aW5nIGlzIGJhbGFuY2VkIGJ5IHRoZSBjYWxsIHRvIGVuYWJsZVN1ZGRlblRlcm1pbmF0
aW9uIGluIHRoZQogICAgICAgICAvLyBzeW5jVGltZXJGaXJlZCBmdW5jdGlvbi4KQEAgLTE3Miw3
ICsxNzIsNyBAQCB2b2lkIFN0b3JhZ2VBcmVhU3luYzo6c3luY1RpbWVyRmlyZWQoKQogICAgICAg
ICAvLyBwcmV2aW91cyBvbmUuIEJ1dCwgaWYgd2UncmUgc2h1dHRpbmcgZG93biwgc2NoZWR1bGUg
aXQgYW55d2F5LgogICAgICAgICBpZiAobV9zeW5jSW5Qcm9ncmVzcyAmJiAhbV9maW5hbFN5bmNT
Y2hlZHVsZWQpIHsKICAgICAgICAgICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3RpdmUoKSk7
Ci0gICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFnZVN5bmNJbnRlcnZh
bCk7CisgICAgICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3Qoc3RvcmFnZVN5bmNJbnRl
cnZhbCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtMjE5LDcgKzIxOSw3
IEBAIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpzeW5jVGltZXJGaXJlZCgpCiAgICAgaWYgKHBhcnRp
YWxTeW5jKSB7CiAgICAgICAgIC8vIElmIHdlIGRpZG4ndCBmaW5pc2ggc3luY2luZywgdGhlbiB3
ZSBuZWVkIHRvIGZpbmlzaCB0aGUgam9iIGxhdGVyLgogICAgICAgICBBU1NFUlQoIW1fc3luY1Rp
bWVyLmlzQWN0aXZlKCkpOwotICAgICAgICBtX3N5bmNUaW1lci5zdGFydE9uZVNob3QoU3RvcmFn
ZVN5bmNJbnRlcnZhbCk7CisgICAgICAgIG1fc3luY1RpbWVyLnN0YXJ0T25lU2hvdChzdG9yYWdl
U3luY0ludGVydmFsKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlz
IGJhbGFuY2VkIGJ5IHRoZSBjYWxscyB0byBkaXNhYmxlU3VkZGVuVGVybWluYXRpb24gaW4gdGhl
CiAgICAgICAgIC8vIHNjaGVkdWxlSXRlbUZvclN5bmMsIHNjaGVkdWxlQ2xlYXIsIGFuZCBzY2hl
ZHVsZUZpbmFsU3luYyBmdW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFj
a2VyLmNwcAppbmRleCA1OWEwMGZlMzBhOTYzZjU4MTNkOGIwZGRhMDRkYjYwODFhNjYyM2JkLi5h
ZDc1N2Q4OGRkMTY2ZTc2MTk1YTUwMzVhZDUzZjAwOTUwOTlmNzVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTUxLDggKzUxLDggQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBzdGF0aWMgU3RvcmFnZVRyYWNrZXIqIHN0b3JhZ2VUcmFja2VyID0gbnVsbHB0cjsK
IAogLy8gSWYgdGhlcmUgaXMgbm8gZG9jdW1lbnQgcmVmZXJlbmNpbmcgYSBzdG9yYWdlIGRhdGFi
YXNlLCBjbG9zZSB0aGUgdW5kZXJseWluZyBkYXRhYmFzZQotLy8gYWZ0ZXIgaXQgaGFzIGJlZW4g
aWRsZSBmb3IgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwgc2Vjb25kcy4KLXN0YXRpYyBj
b25zdCBkb3VibGUgRGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IDMwMDsKKy8v
IGFmdGVyIGl0IGhhcyBiZWVuIGlkbGUgZm9yIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFs
IHNlY29uZHMuCitzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUlu
dGVydmFsID0gMzAwX3M7CiAgICAgCiB2b2lkIFN0b3JhZ2VUcmFja2VyOjppbml0aWFsaXplVHJh
Y2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdlVHJhY2tlckNsaWVudCogY2xp
ZW50KQogewpAQCAtOTcsNyArOTcsNyBAQCBTdG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIo
Y29uc3QgU3RyaW5nJiBzdG9yYWdlUGF0aCkKICAgICAsIG1fdGhyZWFkKHN0ZDo6bWFrZV91bmlx
dWU8U3RvcmFnZVRocmVhZD4oKSkKICAgICAsIG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX25l
ZWRzSW5pdGlhbGl6YXRpb24oZmFsc2UpCi0gICAgLCBtX1N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRl
cnZhbChEZWZhdWx0U3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsKQorICAgICwgbV9zdG9yYWdl
RGF0YWJhc2VJZGxlSW50ZXJ2YWwoZGVmYXVsdFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCkK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1N0b3JhZ2VUcmFja2Vy
LmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAppbmRleCA1NWQ1YjBk
MjJlOWEzOWY5YjhjMDg5MzdmNTk0ZThmYTNiZGFjYTg4Li43MjZmMzI1MWIxZDFlZWY2YzFhYWYx
MTI2MWMwZDI5OTdiNTkxNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3Rv
cmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIu
aApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgYm9vbCBpc0FjdGl2ZSgpOwog
Ci0gICAgZG91YmxlIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbCgpIHsgcmV0dXJuIG1fU3Rv
cmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9Ci0gICAgdm9pZCBzZXRTdG9yYWdlRGF0YWJhc2VJ
ZGxlSW50ZXJ2YWwoZG91YmxlIGludGVydmFsKSB7IG1fU3RvcmFnZURhdGFiYXNlSWRsZUludGVy
dmFsID0gaW50ZXJ2YWw7IH0KKyAgICBTZWNvbmRzIHN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZh
bCgpIHsgcmV0dXJuIG1fc3RvcmFnZURhdGFiYXNlSWRsZUludGVydmFsOyB9CisgICAgdm9pZCBz
ZXRTdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWwoU2Vjb25kcyBpbnRlcnZhbCkgeyBtX3N0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbCA9IGludGVydmFsOyB9CiAKICAgICB2b2lkIHN5bmNGaWxl
U3lzdGVtQW5kVHJhY2tlckRhdGFiYXNlKCk7CiAKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRl
OgogICAgIAogICAgIGJvb2wgbV9pc0FjdGl2ZTsKICAgICBib29sIG1fbmVlZHNJbml0aWFsaXph
dGlvbjsKLSAgICBkb3VibGUgbV9TdG9yYWdlRGF0YWJhc2VJZGxlSW50ZXJ2YWw7CisgICAgU2Vj
b25kcyBtX3N0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbDsKIH07CiAgICAgCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0L1dl
YlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYkNvcmVTdXBwb3J0
L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggMTFiY2UzYmVlMGUwYmExZDcwMmY3
MmM2NjQ1M2NjMmEyYmRlYjdmNi4uYTZjZjg0ZmMxOTUyNTk2M2Q0NmQyYmFjOTU3YWZhMmIzZmE4
YTFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQ29yZVN1cHBvcnQvV2Vi
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpyZXN1bWVQZW5kaW5nUmVxdWVzdHMoKQogdm9pZCBXZWJSZXNv
dXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKQogewogICAg
IGlmICghbV9yZXF1ZXN0VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIu
c3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9z
KTsKIH0KIAogdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnJlcXVlc3RUaW1lckZpcmVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBl
UGx1Z2luSW5zdGFuY2VQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5tbQppbmRleCBiOWFiOGEwZGRkY2M3NjQ3ZGE3
ODYzMzk4NDIzMjdjYTVjN2E5N2E5Li4wNmU5ZWQ2YzU3ZGI1NDcyMjdhZjQyYzVhMmYwNWFmZGFj
ZGVlZTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRz
Y2FwZVBsdWdpbkluc3RhbmNlUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lm1tCkBAIC03NDQsNyArNzQ0LDcg
QEAgdm9pZCBOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHk6OnJlcXVlc3RUaW1lckZpcmVkKCkK
ICAgICBtX3BsdWdpblJlcXVlc3RzLnJlbW92ZUZpcnN0KCk7CiAgICAgCiAgICAgaWYgKCFtX3Bs
dWdpblJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVT
aG90KDApOworICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICAK
ICAgICBwZXJmb3JtUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIH0KQEAgLTgwMCw3ICs4MDAsNyBA
QCBOUEVycm9yIE5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eTo6bG9hZFJlcXVlc3QoTlNVUkxS
ZXF1ZXN0ICpyZXF1ZXN0LCBjb25zdCBjaAogCiAgICAgICAgIGF1dG8gcGx1Z2luUmVxdWVzdCA9
IFBsdWdpblJlcXVlc3Q6OmNyZWF0ZShyZXF1ZXN0SUQsIHJlcXVlc3QsIHRhcmdldCwgYWxsb3dQ
b3B1cHMpOwogICAgICAgICBtX3BsdWdpblJlcXVlc3RzLmFwcGVuZChXVEZNb3ZlKHBsdWdpblJl
cXVlc3QpKTsKLSAgICAgICAgbV9yZXF1ZXN0VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAg
ICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBSZWZQdHI8SG9zdGVkTmV0c2NhcGVQbHVnaW5TdHJlYW0+IHN0cmVhbSA9IEhvc3RlZE5ldHNj
YXBlUGx1Z2luU3RyZWFtOjpjcmVhdGUodGhpcywgcmVxdWVzdElELCByZXF1ZXN0KTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVh
bS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5TdHJlYW0u
bW0KaW5kZXggMDVjYzRkNDcyZGE4NjEwYTM0YmE1YmRiZWM4YTE2M2U0YWQzOGI5NC4uZGIwYzAw
ZmU3YWM1ZGM3ZGY3MGU5OTBiZjYwMWNlMTlmZWZmNWYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblN0cmVhbS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luU3RyZWFtLm1tCkBAIC01MjksNyAr
NTI5LDcgQEAgdm9pZCBXZWJOZXRzY2FwZVBsdWdpblN0cmVhbTo6ZGVsaXZlckRhdGEoKQogICAg
ICAgICBpZiAoZGVsaXZlcnlCeXRlcyA8PSAwKSB7CiAgICAgICAgICAgICAvLyBQbHVnLWluIGNh
bid0IHJlY2VpdmUgYW55bW9yZSBkYXRhIHJpZ2h0IG5vdy4gU2VuZCBpdCBsYXRlci4KICAgICAg
ICAgICAgIGlmICghbV9kZWxpdmVyRGF0YVRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICAg
ICAgbV9kZWxpdmVyRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgICAgICAgICBt
X2RlbGl2ZXJEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBzdGQ6Om1pbihk
ZWxpdmVyeUJ5dGVzLCB0b3RhbEJ5dGVzIC0gdG90YWxCeXRlc0RlbGl2ZXJlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCmluZGV4
IGQ5ZTU4ZTMzNjk0ZDUwY2MxZjY3NmIwNGZjMWY5OGUzZWZhNGJkM2UuLmMyYzY0ZTJhM2EwNTFm
OTg1YmU5YTRjMDU3YmJkNGZjNzNkYzRmYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCkBAIC0xMTEsNyArMTExLDcgQEAgc3Rh
dGljIFdlYk5ldHNjYXBlUGx1Z2luVmlldyAqY3VycmVudFBsdWdpblZpZXcgPSBuaWw7CiAKIHR5
cGVkZWYgc3RydWN0IE9wYXF1ZVBvcnRTdGF0ZSogUG9ydFN0YXRlOwogCi1zdGF0aWMgY29uc3Qg
ZG91YmxlIFRocm90dGxlZFRpbWVySW50ZXJ2YWwgPSAwLjI1Oworc3RhdGljIGNvbnN0IGF1dG8g
VGhyb3R0bGVkVGltZXJJbnRlcnZhbCA9IDAuMjVfczsKIAogY2xhc3MgUGx1Z2luVGltZXIgOiBw
dWJsaWMgVGltZXJCYXNlIHsKIHB1YmxpYzoKQEAgLTEzMCw3ICsxMzAsNyBAQCBwdWJsaWM6CiAg
ICAgewogICAgICAgICBBU1NFUlQoIWlzQWN0aXZlKCkpOwogCi0gICAgICAgIGRvdWJsZSB0aW1l
SW50ZXJ2YWwgPSBtX2ludGVydmFsIC8gMTAwMC4wOworICAgICAgICBhdXRvIHRpbWVJbnRlcnZh
bCA9IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAgICAgICAgIAogICAg
ICAgICBpZiAodGhyb3R0bGUpCiAgICAgICAgICAgICB0aW1lSW50ZXJ2YWwgPSBzdGQ6Om1heCh0
aW1lSW50ZXJ2YWwsIFRocm90dGxlZFRpbWVySW50ZXJ2YWwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViU3RvcmFnZU1hbmFnZXIubW0KaW5kZXggMWY5ZWFlNTVlZmRjYTVlNmZh
ZDVkNjBlNGJlMGYxYjk4NzQzNjg0ZC4uMTE4YTExMzQ1NmFkYzVlYjVhY2U5NGE5OTUwYjNhN2Iw
NWEyNzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdl
TWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VNYW5h
Z2VyLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIHB0aHJlYWRfb25jZV90IHJlZ2lzdGVy
TG9jYWxTdG9yYWdlUGF0aCA9IFBUSFJFQURfT05DRV9JTklUOwogCiArICh2b2lkKXNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbDooZG91YmxlKWludGVydmFsCiB7Ci0gICAgV2ViS2l0OjpT
dG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3JhZ2VEYXRhYmFzZUlkbGVJbnRlcnZhbChp
bnRlcnZhbCk7CisgICAgV2ViS2l0OjpTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLnNldFN0b3Jh
Z2VEYXRhYmFzZUlkbGVJbnRlcnZhbChTZWNvbmRzKGludGVydmFsKSk7CiB9CiAKICsgKHZvaWQp
Y2xvc2VJZGxlTG9jYWxTdG9yYWdlRGF0YWJhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KaW5kZXggMTUyMjg5MzY4ODZiNWRjMDc5NDYwZjYwOTJhMDQzNDY0NTI4YWEzMS4uOWIw
MWJhNDE0N2ExODg4N2Y2NjVkY2Y1OTFhZDMyZmIzMTg2NzNhMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtODMzNCw3ICs4MzM0LDcgQEAgc3RhdGljIFdlYkZyYW1lVmll
dyAqY29udGFpbmluZ0ZyYW1lVmlldyhOU1ZpZXcgKnZpZXcpCiAgICAgdW5zaWduZWQgY2FjaGVU
b3RhbENhcGFjaXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1pbkRlYWRDYXBhY2l0eSA9IDA7
CiAgICAgdW5zaWduZWQgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSAwOwotICAgIGF1dG8gZGVhZERl
Y29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHsgMCB9Owor
ICAgIFNlY29uZHMgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbDsKIAogICAgIHVuc2ln
bmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogCkBAIC04NDYxLDcgKzg0NjEsNyBAQCBzdGF0aWMgV2Vi
RnJhbWVWaWV3ICpjb250YWluaW5nRnJhbWVWaWV3KE5TVmlldyAqdmlldykKICAgICAgICAgLy8g
Y2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUg
cmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heDx1bnNp
Z25lZD4oMjQsIGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERh
dGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAg
ICBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgICAgIGlmIChtZW1TaXplID49IDEwMjQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCmluZGV4IGJjMThkZWI3NWNjZDcwODI3
YWZmYWU5ZTA3NjIxZjIzNTAxZjU0ZWEuLjdkYjI3NmUwNzg0ZmFlMGMyNzE4NjAzYjhmMDQyYzY4
MThjZDU1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuY3BwCkBAIC01Miw3ICs1Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBmbG9hdCB0aW1lckludGVydmFsID0g
MC4wMzM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyB0aW1lckludGVydmFsID0gMC4wMzNfczsKIAog
Ly8gSFVEIFNpemUKIHN0YXRpYyBjb25zdCBpbnQgd2luZG93SGVpZ2h0ID0gNTk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4u
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5NZXNzYWdlVGhyb3R0bGVyV2lu
LmNwcAppbmRleCBhNTNjMzE1YzIwMTg0Mzk0ZjNiNDA2NGEzZjU0NDc1NzNlZDJjZjA5Li4xNzI5
ZmZmNjNjMGZmYTQ2NzVkMzc4MTNhYzZhYzcwZDc2NDlkOTkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpbk1lc3NhZ2VUaHJvdHRsZXJXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luTWVzc2FnZVRocm90dGxlcldpbi5jcHAKQEAg
LTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gVGhpcyB2YWx1ZSBhbGxvd3Mg
Rmxhc2ggNjAgbWVzc2FnZXMvc2Vjb25kLCB3aGljaCBzaG91bGQgYmUgZW5vdWdoIGZvciB2aWRl
bwogLy8gcGxheWJhY2ssIGFuZCBhbHNvIGdldHMgdXMgb3ZlciB0aGUgbGltaXQgZm9yIGtpY2tp
bmcgaW50byBoaWdoLXJlc29sdXRpb24KIC8vIHRpbWVyIG1vZGUgKHNlZSBTaGFyZWRUaW1lcldp
bi5jcHApLgotc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNzYWdlVGhyb3R0bGVUaW1lSW50ZXJ2YWwg
PSAwLjAxNjsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIE1lc3NhZ2VUaHJvdHRsZVRpbWVJbnRlcnZh
bCA9IFNlY29uZHMoMC4wMTYpOwogCiAvLyBEdXJpbmcgYSBjb250aW51b3VzIHN0cmVhbSBvZiBt
ZXNzYWdlcywgcHJvY2VzcyBvbmUgZXZlcnkgNW1zLgogc3RhdGljIGNvbnN0IGRvdWJsZSBNZXNz
YWdlRGlyZWN0UHJvY2Vzc2luZ0ludGVydmFsID0gMC4wMDU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3BwIGIvU291cmNlL1dlYktpdC93aW4v
UGx1Z2lucy9QbHVnaW5QYWNrYWdlLmNwcAppbmRleCBiNjdmYTUzZmU4MGIxZWY4YzAxYWZmYzg2
ZGE1ZDcxNjMxNTVkZDI0Li4xNzU0YmRkNTRmMDczOWUyZGY2Y2FjYjc5ZTE1MTVhNDkyMTdjZjFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5zL1BsdWdpblBhY2thZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luUGFja2FnZS5jcHAKQEAgLTY3
LDcgKzY3LDcgQEAgdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVNvb24oKQogICAgIEFT
U0VSVChtX21vZHVsZSk7CiAgICAgQVNTRVJUKCFtX2xvYWRDb3VudCk7CiAKLSAgICBtX2ZyZWVM
aWJyYXJ5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZnJlZUxpYnJhcnlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBQbHVnaW5QYWNrYWdlOjpmcmVlTGlicmFyeVRpbWVy
RmlyZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJl
YW0uY3BwIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5TdHJlYW0uY3BwCmluZGV4
IDJlZjM5NTViZTYxYThkMDU0MjRhZDEzOTk2MmRkMGQ3ZmE2YWU0NDQuLmRhODMzYWFmNGY4YmFl
NDRiNDgwNGIzNTIxZmNkMTc3YjhjYWRkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1BsdWdpbnMvUGx1Z2luU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVnaW5z
L1BsdWdpblN0cmVhbS5jcHAKQEAgLTM0OSw3ICszNDksNyBAQCB2b2lkIFBsdWdpblN0cmVhbTo6
ZGVsaXZlckRhdGEoKQogICAgICAgICBpbnQzMl90IGRlbGl2ZXJ5Qnl0ZXMgPSBtX3BsdWdpbkZ1
bmNzLT53cml0ZXJlYWR5KG1faW5zdGFuY2UsICZtX3N0cmVhbSk7CiAKICAgICAgICAgaWYgKGRl
bGl2ZXJ5Qnl0ZXMgPD0gMCkgewotICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICAgICAgbV9kZWxheURlbGl2ZXJ5VGltZXIuc3RhcnRPbmVT
aG90KDBfcyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIGRlbGl2ZXJ5Qnl0ZXMgPSBtaW4oZGVsaXZlcnlCeXRlcywgdG90YWxCeXRlcyAtIHRvdGFs
Qnl0ZXNEZWxpdmVyZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAK
aW5kZXggMjA3YTk2MTNjY2E4ZDljMTAzN2NmYjRkMWIxZTQyYTY4NTE5NTY5Ni4uNGVkNmQ1YjBi
NTU5NDVmMTcwMDNlY2MyNGYzOTZmYTg2NDQ5NjAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCkBAIC00NzMsNyArNDczLDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpy
ZXF1ZXN0VGltZXJGaXJlZCgpCiAgICAgLy8gU2NoZWR1bGUgYSBuZXcgcmVxdWVzdCBiZWZvcmUg
Y2FsbGluZyBwZXJmb3JtUmVxdWVzdCBzaW5jZSB0aGUgY2FsbCB0bwogICAgIC8vIHBlcmZvcm1S
ZXF1ZXN0IGNhbiBjYXVzZSB0aGUgcGx1Z2luIHZpZXcgdG8gYmUgZGVsZXRlZC4KICAgICBpZiAo
IW1fcmVxdWVzdHMuaXNFbXB0eSgpKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5zdGFydE9uZVNo
b3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAg
cGVyZm9ybVJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiB9CkBAIC00ODMsNyArNDgzLDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpzY2hlZHVsZVJlcXVlc3Qoc3RkOjp1bmlxdWVfcHRyPFBsdWdpblJlcXVl
c3Q+IHJlcXVlc3QpCiAgICAgbV9yZXF1ZXN0cy5hcHBlbmQoV1RGTW92ZShyZXF1ZXN0KSk7CiAK
ICAgICBpZiAoIW1faXNKYXZhU2NyaXB0UGF1c2VkKQotICAgICAgICBtX3JlcXVlc3RUaW1lci5z
dGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogfQogCiBOUEVycm9yIFBsdWdpblZpZXc6OmxvYWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYg
ZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRh
KQpAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgUGx1Z2luVmlldzo6c2V0SmF2YVNjcmlwdFBhdXNl
ZChib29sIHBhdXNlZCkKICAgICBpZiAobV9pc0phdmFTY3JpcHRQYXVzZWQpCiAgICAgICAgIG1f
cmVxdWVzdFRpbWVyLnN0b3AoKTsKICAgICBlbHNlIGlmICghbV9yZXF1ZXN0cy5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fcmVxdWVzdFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9yZXF1
ZXN0VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKQEAgLTExNzMsNyArMTE3Myw3IEBAIHZvaWQgUGx1Z2luVmlldzo6a2VlcEFsaXZl
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgcmVmKCk7Ci0gICAgbV9saWZlU3VwcG9ydFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2xpZmVTdXBwb3J0VGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9QbHVnaW5zL1BsdWdpblZpZXdXaW4uY3BwCmluZGV4IDJmY2E5ZjNjOTVkNzNkYmEzYWMz
MjYyNTllYTg2ZGRjZGRhMjA3MGYuLmU1YzNjNTRhZjk3MWM2ZWQ5MzgxMjI2YzZiZjRkMDY2ODli
MmZlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1BsdWdpbnMvUGx1Z2luVmlld1dp
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vUGx1Z2lucy9QbHVnaW5WaWV3V2luLmNwcApA
QCAtMzM0LDcgKzMzNCw3IEBAIFBsdWdpblZpZXc6OnduZFByb2MoSFdORCBoV25kLCBVSU5UIG1l
c3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pCiAKICAgICAgICAgcHVzaFBvcHVw
c0VuYWJsZWRTdGF0ZSh0cnVlKTsKIAotICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3Rh
cnRPbmVTaG90KDApOworICAgICAgICBtX3BvcFBvcHVwc1N0YXRlVGltZXIuc3RhcnRPbmVTaG90
KDBfcyk7CiAgICAgfQogCiAgICAgaWYgKG1lc3NhZ2UgPT0gV01fUFJJTlRDTElFTlQpIHsKQEAg
LTgzOCw3ICs4MzgsNyBAQCB2b2lkIFBsdWdpblZpZXc6OmludmFsaWRhdGVSZWN0KE5QUmVjdCog
cmVjdCkKICAgICAgICAgaWYgKG1fcGx1Z2luLT5xdWlya3MoKS5jb250YWlucyhQbHVnaW5RdWly
a1Rocm90dGxlSW52YWxpZGF0ZSkpIHsKICAgICAgICAgICAgIG1faW52YWxpZFJlY3RzLmFwcGVu
ZChyKTsKICAgICAgICAgICAgIGlmICghbV9pbnZhbGlkYXRlVGltZXIuaXNBY3RpdmUoKSkKLSAg
ICAgICAgICAgICAgICBtX2ludmFsaWRhdGVUaW1lci5zdGFydE9uZVNob3QoMC4wMDEpOworICAg
ICAgICAgICAgICAgIG1faW52YWxpZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgxX21zKTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBpbnZhbGlkYXRlUmVjdChyKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVyYXRlZENvbXBvc2l0
aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9BY2NlbGVy
YXRlZENvbXBvc2l0aW5nQ29udGV4dC5jcHAKaW5kZXggZmMwZDE1NTcwZmVhZWM5ZGIzODY5NzA4
YjVhYjdjN2E0YWQyMjI4Mi4uYTEwYTAyMDY0YmU5MzAxZTA4NDRiNWUwYjRjMDA5OGU2MDBmNGU5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0LmNwcApAQCAtMzQ5LDcgKzM0OSw3
IEBAIHZvaWQgQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0NvbnRleHQ6OnNjaGVkdWxlTGF5ZXJGbHVz
aCgpCiAgICAgaWYgKG1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwLjA1KTsKKyAgICBtX2xh
eWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3QoMC4wNV9zKTsKIH0KIAogYm9vbCBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dDo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Vmlldy5jcHAKaW5kZXggZDU3MDA0OGRhN2EyNjQwNmJjYWQwNmMyNWRlODY4ZmU1YWNiMmIwMy4u
ZDJhM2QyNTZmYzQzMGJmZDNlZTVmMDcxMzkyY2RhOTFlMDVlMzA1NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5jcHAKQEAgLTUyNSw3ICs1MjUsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2Vi
Q2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogICAgIHVuc2lnbmVkIGNhY2hlVG90YWxDYXBhY2l0eSA9
IDA7CiAgICAgdW5zaWduZWQgY2FjaGVNaW5EZWFkQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVk
IGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gMDsKLSAgICBhdXRvIGRlYWREZWNvZGVkRGF0YURlbGV0
aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9ubzo6c2Vjb25kcyB7IDAgfTsKKyAgICBTZWNvbmRzIGRl
YWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWw7CiAKICAgICB1bnNpZ25lZCBwYWdlQ2FjaGVT
aXplID0gMDsKIApAQCAtNjM3LDcgKzYzNyw3IEBAIHZvaWQgV2ViVmlldzo6c2V0Q2FjaGVNb2Rl
bChXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAgICAgICAgIC8vIGNhbiBwcm92ZSB0aGF0IHRo
ZSBvdmVyYWxsIHN5c3RlbSBnYWluIHdvdWxkIGp1c3RpZnkgdGhlIHJlZ3Jlc3Npb24uCiAgICAg
ICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0gbWF4KDI0dSwgY2FjaGVNYXhEZWFkQ2FwYWNpdHkp
OwogCi0gICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwgPSBzdGQ6OmNocm9u
bzo6c2Vjb25kcyB7IDYwIH07CisgICAgICAgIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2
YWwgPSA2MF9zOwogCiAgICAgICAgIC8vIE1lbW9yeSBjYWNoZSBjYXBhY2l0eSAoaW4gYnl0ZXMp
CiAgICAgICAgIC8vIChUaGVzZSB2YWx1ZXMgYXJlIHNtYWxsIGJlY2F1c2UgV2ViQ29yZSBkb2Vz
IG1vc3QgY2FjaGluZyBpdHNlbGYuKQpAQCAtMTUxNiw3ICsxNTE2LDcgQEAgdm9pZCBXZWJWaWV3
OjpjbG9zZVdpbmRvd1Nvb24oKQogICAgIG1fY2xvc2VXaW5kb3dUaW1lciA9IFdpbmRvd0Nsb3Nl
VGltZXI6OmNyZWF0ZSh0aGlzKTsKICAgICBpZiAoIW1fY2xvc2VXaW5kb3dUaW1lcikKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDApOworICAg
IG1fY2xvc2VXaW5kb3dUaW1lci0+c3RhcnRPbmVTaG90KDBfcyk7CiAKICAgICBBZGRSZWYoKTsK
IH0KQEAgLTc0NTIsNyArNzQ1Miw4IEBAIEhSRVNVTFQgV2ViVmlldzo6ZGVmYXVsdE1pbmltdW1U
aW1lckludGVydmFsKF9PdXRfIGRvdWJsZSogaW50ZXJ2YWwpCiB7CiAgICAgaWYgKCFpbnRlcnZh
bCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKLSAgICAqaW50ZXJ2YWwgPSBET01UaW1lcjo6
ZGVmYXVsdE1pbmltdW1JbnRlcnZhbCgpLmNvdW50KCkgLyAxMDAwLjsKKworICAgICppbnRlcnZh
bCA9IERPTVRpbWVyOjpkZWZhdWx0TWluaW11bUludGVydmFsKCkudmFsdWUoKTsKICAgICByZXR1
cm4gU19PSzsKIH0KIApAQCAtNzQ2MSw4ICs3NDYyLDcgQEAgSFJFU1VMVCBXZWJWaWV3OjpzZXRN
aW5pbXVtVGltZXJJbnRlcnZhbChkb3VibGUgaW50ZXJ2YWwpCiAgICAgaWYgKCFtX3BhZ2UpCiAg
ICAgICAgIHJldHVybiBFX0ZBSUw7CiAKLSAgICBhdXRvIGludGVydmFsTVMgPSBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKChzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXApKGludGVydmFs
ICogMTAwMCkpOwotICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRNaW5pbXVtRE9NVGltZXJJbnRl
cnZhbChpbnRlcnZhbE1TKTsKKyAgICBwYWdlKCktPnNldHRpbmdzKCkuc2V0TWluaW11bURPTVRp
bWVySW50ZXJ2YWwoU2Vjb25kcyhpbnRlcnZhbCkpOwogICAgIHJldHVybiBTX09LOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2su
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0RhdGFUYXNrLmNwcApp
bmRleCA5YmZhNGVjNjRjODQ3MGM3ZGJlYmNlNGZmZTNiZmMwNGM4NTYzYjkwLi45NGUxNDdmNTI4
YTU4M2ZkMGRlY2E3MTE1MzAzNjE5MzJlMTI2NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrRGF0YVRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtEYXRhVGFzay5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9p
ZCBOZXR3b3JrRGF0YVRhc2s6OnNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSB0eXBlKQogewog
ICAgIEFTU0VSVCh0eXBlICE9IE5vRmFpbHVyZSk7CiAgICAgbV9zY2hlZHVsZWRGYWlsdXJlVHlw
ZSA9IHR5cGU7Ci0gICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fZmFp
bHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIE5ldHdvcmtEYXRhVGFzazo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VD
b21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWQuY3BwCmluZGV4IDUxN2Y4NDVhYWJlNTIzZjJlZmE5
NjE4NGVlZjcyNTNhZTJjYTRkOWYuLjBmMzAwMmRhZTI1ZmFhN2FlOWViMjc5Yjc0MzkyOTQ0YmQw
MjE3NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtM
b2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZC5j
cHAKQEAgLTUwLDcgKzUwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAjaWYgVVNFKE5F
VFdPUktfU0VTU0lPTikKIAogc3RydWN0IE5ldHdvcmtMb2FkOjpUaHJvdHRsZSB7Ci0gICAgVGhy
b3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgZGVsYXks
IFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCisgICAgVGhyb3R0bGUoTmV0d29ya0xvYWQmIGxvYWQsIFNlY29uZHMgZGVsYXks
IFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYm
IGhhbmRsZXIpCiAgICAgICAgIDogdGltZXIobG9hZCwgJk5ldHdvcmtMb2FkOjp0aHJvdHRsZURl
bGF5Q29tcGxldGVkKQogICAgICAgICAsIHJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2UpKQogICAg
ICAgICAsIHJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGVyKSkKQEAgLTMx
Miw3ICszMTIsNyBAQCB2b2lkIE5ldHdvcmtMb2FkOjpkaWRSZWNlaXZlUmVzcG9uc2VOZXR3b3Jr
U2Vzc2lvbihSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsCiAgICAgfQogCiAgICAgYXV0byBk
ZWxheSA9IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5sb2FkVGhyb3R0bGVMYXRlbmN5KCk7
Ci0gICAgaWYgKGRlbGF5ID4gMG1zKSB7CisgICAgaWYgKGRlbGF5ID4gMF9zKSB7CiAgICAgICAg
IG1fdGhyb3R0bGUgPSBzdGQ6Om1ha2VfdW5pcXVlPFRocm90dGxlPigqdGhpcywgZGVsYXksIFdU
Rk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaAppbmRleCBjOTZkMDgyOWUxNWI2ZDg4YmFlMTVjZjBjMTJjYzRjZDIzOGYxMTNiLi44
YzViN2E0ODg1ZmM0NDllZWFkZTA3NDRjZDlmYzYwMjVhY2U2MWE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTExNSw3ICsxMTUsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGdyYW50U2FuZGJveEV4dGVuc2lvbnNUb0RhdGFiYXNlUHJv
Y2Vzc0ZvckJsb2JzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZ1bmN0aW9uPHZv
aWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVM
YXRlbmN5OyB9CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1
cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CiAKIHByaXZhdGU6CiAgICAgTmV0d29ya1Byb2Nl
c3MoKTsKQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zdXBwcmVzc01l
bW9yeVByZXNzdXJlSGFuZGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Rpc2tDYWNoZUlzRGlz
YWJsZWRGb3JUZXN0aW5nOwogICAgIGJvb2wgbV9jYW5IYW5kbGVIVFRQU1NlcnZlclRydXN0RXZh
bHVhdGlvbjsKLSAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0
ZW5jeTsKKyAgICBTZWNvbmRzIG1fbG9hZFRocm90dGxlTGF0ZW5jeTsKIAogICAgIHR5cGVkZWYg
SGFzaE1hcDxjb25zdCBjaGFyKiwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQcm9jZXNzU3VwcGxl
bWVudD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+PiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnRNYXA7
CiAgICAgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBmNDU2OWM5NDY5YTU3NzJlNjBiMWM5YmZmNTYw
ODVkM2FjYjQzYzNkLi43MDk1MTUzMGUzMjlmYTFjNWYzZmY4ZTY3MmI5MzQzMDhjNThmOGFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNs
dWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIlNh
bmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNzMsNyAr
NzQsNyBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJv
b2wgc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgeyBmYWxzZSB9OwogICAgIGJv
b2wgc2hvdWxkVXNlVGVzdGluZ05ldHdvcmtTZXNzaW9uOwogICAgIGJvb2wgdXJsUGFyc2VyRW5h
YmxlZCB7IGZhbHNlIH07Ci0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0
bGVMYXRlbmN5IHsgMG1zIH07CisgICAgU2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5OwogCiAg
ICAgVmVjdG9yPFN0cmluZz4gdXJsU2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHM7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCmluZGV4IDQyNTVhZGU0MTE1MGRhOTY5ZjIxMTE3
NTEyZDdkZjZmN2Y3YzljNGEuLjViMjllMGViZDQzYTM4YmU1MmFlNjZkYzUyMTAzMmVjMjA2NzBh
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6
CiAgICAgUmVzb3VyY2VMb2FkSWRlbnRpZmllciBpZGVudGlmaWVyIHsgMCB9OwogICAgIFZlY3Rv
cjxSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4+IHJlcXVlc3RCb2R5U2FuZGJveEV4dGVuc2lvbnM7
IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBSZWZQdHI8U2Fu
ZGJveEV4dGVuc2lvbj4gcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOyAvLyBDcmVhdGVkIGF1dG9t
YXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCi0gICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBt
YXhpbXVtQnVmZmVyaW5nVGltZSB7IDBtcyB9OworICAgIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmlu
Z1RpbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDkw
MTA1OTk2OGEzOTEzMDFkYTJhYzkyMzc0YjdmOTI0NWQ2OTRkZDYuLjJjN2FlM2FhNzZiNzI5NzU2
NDgwMzAzNTZiZDlmMDc0MjBlYzJmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjA5LDcgKzIwOSw3
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5ldHdvcmtMb2FkKGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIAogICAgIGNvbnN1bWVTYW5kYm94RXh0ZW5zaW9ucygp
OwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMubWF4aW11bUJ1ZmZl
cmluZ1RpbWUgPiAwbXMpCisgICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMu
bWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiAwX3MpCiAgICAgICAgIG1fYnVmZmVyZWREYXRhID0gU2hh
cmVkQnVmZmVyOjpjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xvYWQuaCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL1BpbmdMb2FkLmgKaW5kZXggMzAwYzMwODEyNGYzNGNhNjdh
OWRhNWJiNzQwNTRlNjAyZWMyOWQxMi4uYjE0OGE1ZWRjZTliYjk5NWY3ZTU5NjhjMTY1OTJmMjc5
ODQ4NDIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvUGluZ0xv
YWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9QaW5nTG9hZC5oCkBAIC00
Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJl
c3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8v
IFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgotICAgICAgICBtX3Rp
bWVvdXRUaW1lci5zdGFydE9uZVNob3QoNjAwMDApOworICAgICAgICBtX3RpbWVvdXRUaW1lci5z
dGFydE9uZVNob3QoMTAwMF9taW4pOwogICAgIH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxh
dGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmluZGV4IGNjYTk4NWZjZGFm
MDFkNWI2OGE0YjNmMTU3YWM2ZjJhZDljZmFkYzMuLjEyNWQ3ZTg1ZmUzMGNiNTRhZDAzNmM5ODgx
MTc4MWJlNDVhYjgxZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVk
RW50cnlMaWZldGltZSA9IDEwczsKK3N0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlm
ZXRpbWUgPSAxMF9zOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIEhhc2hDb3VudGVkU2V0
PFN0cmluZz4mIGFsbFNwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdlcygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVT
dGF0aXN0aWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVN0YXRpc3RpY3MuY3BwCmluZGV4IDEwYTUyMDNlZmQ4MTgwZTBhY2EzNGJlNTRkZjUy
NTgyZjU5Yzk1ZjcuLjgyMTJjNzYzN2MzMTJkZmZmNzcxY2I3YmEwOTE5YmU5MTliNThlNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBT
dGF0aXN0aWNzRGF0YWJhc2VOYW1lID0gIldlYktpdENhY2hlU3RhdGlzdGljcy5kYiI7Ci1zdGF0
aWMgY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBtaW5pbnVtV3JpdGVJbnRlcnZhbCA9
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoMTAwMDApOworc3RhdGljIGNvbnN0IFNlY29uZHMg
bWluaW51bVdyaXRlSW50ZXJ2YWwgPSAxMF9zOwogCiBzdGF0aWMgYm9vbCBleGVjdXRlU1FMQ29t
bWFuZChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZSYgZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgc3Fs
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCA0NTMwODNhNGE0OWIwN2Y3ZGEwMjMwODlj
OTdhODU0MTgxN2I3ZGQ2Li4wNzNhZDZkMmRjOWQxOWI2ZjhjZWU0N2E1OTMwNTc0Y2IxZjhiODM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtNTY1LDcgKzU2NSw3IEBAIHZvaWQgU3RvcmFn
ZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9uPiBy
ZWFkT3BlcmF0aW9uCiAgICAgbV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92ZShyZWFk
T3BlcmF0aW9uUHRyKSk7CiAKICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlzayBvcGVy
YXRpb25zIHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdlIHJhdGhl
ciBnbyB0byBuZXR3b3JrLgotICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7Cisg
ICAgY29uc3QgU2Vjb25kcyByZWFkVGltZW91dCA9IDEuNV9zOwogICAgIG1fcmVhZE9wZXJhdGlv
blRpbWVvdXRUaW1lci5zdGFydE9uZVNob3QocmVhZFRpbWVvdXQpOwogCiAgICAgYm9vbCBzaG91
bGRHZXRCb2R5QmxvYiA9IG1heUNvbnRhaW5CbG9iKHJlYWRPcGVyYXRpb24ua2V5KTsKQEAgLTc4
Nyw3ICs3ODcsNyBAQCB2b2lkIFN0b3JhZ2U6OnN0b3JlKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBN
YXBwZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJvZHlIYW5kbGVyKQogCiAgICAgLy8gRGVsYXkgdGhl
IHN0YXJ0IG9mIHdyaXRlcyBhIGJpdCB0byBhdm9pZCBhZmZlY3RpbmcgZWFybHkgcGFnZSBsb2Fk
LgogICAgIC8vIENvbXBsZXRpbmcgd3JpdGVzIHdpbGwgZGlzcGF0Y2ggbW9yZSB3cml0ZXMgd2l0
aG91dCBkZWxheS4KLSAgICBzdGF0aWMgY29uc3QgYXV0byBpbml0aWFsV3JpdGVEZWxheSA9IDFz
OworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIGluaXRpYWxXcml0ZURlbGF5ID0gMV9zOwogICAg
IG1fd3JpdGVPcGVyYXRpb25EaXNwYXRjaFRpbWVyLnN0YXJ0T25lU2hvdChpbml0aWFsV3JpdGVE
ZWxheSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggNGNlZmE4ZWIzNTdhZTQ0YmQy
NWE1NzQ2YjQ1ZmY5YTA4YjRlMjBkZi4uMThmMGNjZDhmNzE0MTIzYzk4YTk1MTU0OTJkNzU4NjM2
ZTZlYzQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTMzMyw3ICszMzMsNyBAQCB2b2lk
IE5ldHdvcmtEYXRhVGFza0NvY29hOjpjYW5jZWwoKQogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2Nv
YTo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9zY2hlZHVsZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1
cmUpCi0gICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9m
YWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgW21fdGFzayByZXN1bWVdOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtE
YXRhVGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3
b3JrRGF0YVRhc2tTb3VwLmNwcAppbmRleCAzYjU1YzJkZDE3ZmU5ZjYzYTY0NTgxMWRjMzAyN2Q2
ZGU5NTcwMzU5Li5kNmE4NmEyNGU0ZjEyYmNiZTI4NDcwNGIwYmFjNDhlNTkyODczNWEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFz
a1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a0RhdGFUYXNrU291cC5jcHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFz
a1NvdXA6OnRpbWVvdXRGaXJlZCgpCiB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OnN0YXJ0VGlt
ZW91dCgpCiB7CiAgICAgaWYgKG1fZmlyc3RSZXF1ZXN0LnRpbWVvdXRJbnRlcnZhbCgpID4gMCkK
LSAgICAgICAgbV90aW1lb3V0U291cmNlLnN0YXJ0T25lU2hvdChtX2ZpcnN0UmVxdWVzdC50aW1l
b3V0SW50ZXJ2YWwoKSk7CisgICAgICAgIG1fdGltZW91dFNvdXJjZS5zdGFydE9uZVNob3QoU2Vj
b25kcyhtX2ZpcnN0UmVxdWVzdC50aW1lb3V0SW50ZXJ2YWwoKSkpOwogfQogCiB2b2lkIE5ldHdv
cmtEYXRhVGFza1NvdXA6OnN0b3BUaW1lb3V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDlhYzc2YzZkMzk0N2RlMjY4NzFlYjY4OTIw
NjViZGE2Yjc3OGNmZTEuLmQwNDZhZjVkZTIwNzM2MzI3YjEwNzY4MzBlY2I5YjhhOWVmZWQ1ODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmNwcApA
QCAtMzIsNiArMzIsMzYgQEAKIAogbmFtZXNwYWNlIElQQyB7CiAKK3ZvaWQgQXJndW1lbnRDb2Rl
cjxNb25vdG9uaWNUaW1lPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IE1vbm90b25p
Y1RpbWUmIHRpbWUpCit7CisgICAgZW5jb2RlciA8PCB0aW1lLnNlY29uZHNTaW5jZUVwb2NoKCku
dmFsdWUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPE1vbm90b25pY1RpbWU+OjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlciwgTW9ub3RvbmljVGltZSYgdGltZSkKK3sKKyAgICBkb3VibGUgdmFs
dWU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIHRpbWUgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyh2YWx1ZSk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZW5jb2Rl
ciA8PCBzZWNvbmRzLnZhbHVlKCk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxTZWNvbmRzPjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNlY29uZHMmIHNlY29uZHMpCit7CisgICAgZG91Ymxl
IHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUodmFsdWUpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBzZWNvbmRzID0gU2Vjb25kcyh2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50Pjo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlciwgY29uc3Qgc3RkOjpjaHJvbm86
OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCYgdGltZVBvaW50KQogewogICAgIGVuY29kZXIgPDwg
c3RhdGljX2Nhc3Q8aW50NjRfdD4odGltZVBvaW50LnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKaW5kZXgg
ZjZkODhiN2NkYmI3ZGU2ZmE2YTJkY2I1NGFmODZmYTNjYTc5NzZiMi4uMDc1YmZmNTM1MTlkZjg5
N2Y3NTAzNjgyNWJkMjY5Zjg3ZjI2OWFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL0FyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL0FyZ3VtZW50Q29kZXJzLmgKQEAgLTE2Myw3ICsxNjMsNiBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZS4uLiBFbGVtZW50cz4gc3RydWN0IEFyZ3VtZW50Q29kZXI8c3RkOjp0dXBsZTxFbGVtZW50cy4u
Lj4+IHsKICAgICB9CiB9OwogCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFJlcCwgdHlwZW5hbWUgUGVy
aW9kPiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6ZHVyYXRpb248UmVwLCBQZXJp
b2Q+PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0
ZDo6Y2hyb25vOjpkdXJhdGlvbjxSZXAsIFBlcmlvZD4mIGR1cmF0aW9uKQogICAgIHsKQEAgLTM3
OSw2ICszNzgsMTYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBIYXNoQXJn
LCB0eXBlbmFtZSBLZXlUcmFpdHNBcmc+IHN0cnVjdCBBcmd1bWUKICAgICB9CiB9OwogCit0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdURjo6TW9ub3RvbmljVGltZT4geworICAgIHN0
YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV1RGOjpNb25vdG9uaWNUaW1lJik7Cisg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKK307
CisKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V1RGOjpTZWNvbmRzPiB7CisgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXVEY6OlNlY29uZHMmKTsKKyAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdURjo6U2Vjb25kcyYpOworfTsKKwogdGVtcGxh
dGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBzdGQ6OmNo
cm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2Rl
KERlY29kZXImLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAppbmRleCBmMDEyYTAxYjU0ZGU3ZDFm
Y2UyMTc5N2U2ZjQ1NTA1MGM4M2U2ODg1Li45MDJiZTRkMWE3M2Y4ZTA0N2Q5MjA5ZjMyZDQ1YTI4
NmE5NzAzMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAg
LTE4Niw3ICsxODYsNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGtpbGwoKTsKLSAgICB2b2lkIHRlcm1pbmF0ZVNvb24oZG91YmxlIGludGVydmFsSW5TZWNvbmRz
KTsKKyAgICB2b2lkIHRlcm1pbmF0ZVNvb24oU2Vjb25kcyk7CiAjZW5kaWYKIAogICAgIGJvb2wg
aXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCmluZGV4IDI4OTk1MTI5NDYzZTgz
MTkxMDcwYmVlODVmZGJlODcwNTQ4ZTU1YjEuLjcwNDQ2OTE1NmFmODFiZDQxNThmMTcxZTA4MTdk
ODhlZGJmYjE3YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMv
Q29ubmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nv
bm5lY3Rpb25NYWMubW0KQEAgLTgwLDIwICs4MCwyMCBAQCBlbnVtIHsKIC8vICAgIHRvIGVuc3Vy
ZSBpdCBoYXMgYSBjaGFuY2UgdG8gdGVybWluYXRlIGNsZWFubHkuCiBjbGFzcyBDb25uZWN0aW9u
VGVybWluYXRpb25XYXRjaGRvZyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgY3JlYXRlQ29u
bmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2coT1NPYmplY3RQdHI8eHBjX2Nvbm5lY3Rpb25fdD4m
IHhwY0Nvbm5lY3Rpb24sIGRvdWJsZSBpbnRlcnZhbEluU2Vjb25kcykKKyAgICBzdGF0aWMgdm9p
ZCBjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29u
bmVjdGlvbl90PiYgeHBjQ29ubmVjdGlvbiwgU2Vjb25kcyBpbnRlcnZhbCkKICAgICB7Ci0gICAg
ICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyh4cGNDb25uZWN0aW9uLCBpbnRl
cnZhbEluU2Vjb25kcyk7CisgICAgICAgIG5ldyBDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRv
Zyh4cGNDb25uZWN0aW9uLCBpbnRlcnZhbCk7CiAgICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBD
b25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZyhPU09iamVjdFB0cjx4cGNfY29ubmVjdGlvbl90
PiYgeHBjQ29ubmVjdGlvbiwgZG91YmxlIGludGVydmFsSW5TZWNvbmRzKQorICAgIENvbm5lY3Rp
b25UZXJtaW5hdGlvbldhdGNoZG9nKE9TT2JqZWN0UHRyPHhwY19jb25uZWN0aW9uX3Q+JiB4cGND
b25uZWN0aW9uLCBTZWNvbmRzIGludGVydmFsKQogICAgICAgICA6IG1feHBjQ29ubmVjdGlvbih4
cGNDb25uZWN0aW9uKQogICAgICAgICAsIG1fd2F0Y2hkb2dUaW1lcihSdW5Mb29wOjptYWluKCks
IHRoaXMsICZDb25uZWN0aW9uVGVybWluYXRpb25XYXRjaGRvZzo6d2F0Y2hkb2dUaW1lckZpcmVk
KQogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgLCBtX2Fzc2VydGlvbihzdGQ6Om1ha2VfdW5p
cXVlPFdlYktpdDo6UHJvY2Vzc0FuZFVJQXNzZXJ0aW9uPih4cGNfY29ubmVjdGlvbl9nZXRfcGlk
KG1feHBjQ29ubmVjdGlvbi5nZXQoKSksIFdlYktpdDo6QXNzZXJ0aW9uU3RhdGU6OkJhY2tncm91
bmQpKQogI2VuZGlmCiAgICAgewotICAgICAgICBtX3dhdGNoZG9nVGltZXIuc3RhcnRPbmVTaG90
KGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgbV93YXRjaGRvZ1RpbWVyLnN0YXJ0T25lU2hv
dChpbnRlcnZhbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgd2F0Y2hkb2dUaW1lckZpcmVkKCkK
QEAgLTE1MSwxMCArMTUxLDEwIEBAIHZvaWQgQ29ubmVjdGlvbjo6cGxhdGZvcm1JbnZhbGlkYXRl
KCkKICNlbmRpZgogfQogICAgIAotdm9pZCBDb25uZWN0aW9uOjp0ZXJtaW5hdGVTb29uKGRvdWJs
ZSBpbnRlcnZhbEluU2Vjb25kcykKK3ZvaWQgQ29ubmVjdGlvbjo6dGVybWluYXRlU29vbihTZWNv
bmRzIGludGVydmFsKQogewogICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pCi0gICAgICAgIENvbm5l
Y3Rpb25UZXJtaW5hdGlvbldhdGNoZG9nOjpjcmVhdGVDb25uZWN0aW9uVGVybWluYXRpb25XYXRj
aGRvZyhtX3hwY0Nvbm5lY3Rpb24sIGludGVydmFsSW5TZWNvbmRzKTsKKyAgICAgICAgQ29ubmVj
dGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OmNyZWF0ZUNvbm5lY3Rpb25UZXJtaW5hdGlvbldhdGNo
ZG9nKG1feHBjQ29ubmVjdGlvbiwgaW50ZXJ2YWwpOwogfQogICAgIAogdm9pZCBDb25uZWN0aW9u
OjpwbGF0Zm9ybUluaXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwCmlu
ZGV4IGRhOWRiMjI0ZWRjMGVhMGNiZDAwMmRjMTcxMmEwYzE4NmQxOTM1ZTQuLjE3Mzk1MjUwOTU3
MWQ4ZjQ5MGE3M2U3ZmE5Njk1OTNjN2I4MzI0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAKQEAgLTE0Nyw3ICsx
NDcsNyBAQCB2b2lkIFBsdWdpbkNvbnRyb2xsZXJQcm94eTo6ZGVzdHJveSgpCiAgICAgaWYgKG1f
cGx1Z2luRGVzdHJ1Y3Rpb25Qcm90ZWN0Q291bnQgfHwgbV9jb25uZWN0aW9uLT5jb25uZWN0aW9u
KCktPmluU2VuZFN5bmMoKSkgewogICAgICAgICAvLyBXZSBoYXZlIHBsdWctaW4gY29kZSBvbiB0
aGUgc3RhY2sgc28gd2UgY2FuJ3QgZGVzdHJveSBpdCByaWdodCBub3cuCiAgICAgICAgIC8vIERl
c3Ryb3kgaXQgbGF0ZXIuCi0gICAgICAgIG1fcGx1Z2luRGVzdHJveVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9wbHVnaW5EZXN0cm95VGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIxNSw3ICsyMTUsNyBAQCB2b2lkIFBsdWdpbkNv
bnRyb2xsZXJQcm94eTo6c3RhcnRQYWludFRpbWVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
Ly8gU3RhcnQgdGhlIHRpbWVyLgotICAgIG1fcGFpbnRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV9wYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogCiAgICAgbV93YWl0aW5nRm9yRGlk
VXBkYXRlID0gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuY3BwCmluZGV4IGE3MjRlYjA4ZjkwZDU5ZGIxMjk4MjM0NDFlNzdlMDhmZWVjN2Iy
NWIuLjM5NWQ3NjRkNDcxZjUxZGU5OTgwYzYxMjFlNjAzMmNmYWM0OTgyZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcApAQCAtMjIwLDkgKzIy
MCw5IEBAIHZvaWQgUGx1Z2luUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JIb3N0TmFtZXMo
Y29uc3QgVmVjdG9yPFN0cmluZz4mIGhvc3ROYW1lCiAgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpEaWREZWxldGVXZWJzaXRl
RGF0YUZvckhvc3ROYW1lcyhjYWxsYmFja0lEKSwgMCk7CiB9CiAKLXZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSBsaWZldGltZSkKK3ZvaWQgUGx1Z2luUHJvY2Vz
czo6c2V0TWluaW11bUxpZmV0aW1lKFNlY29uZHMgbGlmZXRpbWUpCiB7Ci0gICAgaWYgKGxpZmV0
aW1lIDw9IDAuMCkKKyAgICBpZiAobGlmZXRpbWUgPD0gMF9zKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgZGlzYWJsZVRlcm1pbmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDlhOTBlNGMyNTM5M2E3ZWQ0NmM5ODdiNWVlNDQ0
OWE3NGFiOTIzM2IuLjIwYWMwNjdiMDQ5NWU2YWM3NjIyYzAwNjIwMDM4YzAxZjVmMzAyOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBAIC0xMDIs
NyArMTAyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplUGx1Z2lu
UHJvY2VzcyhQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYpOwogICAgIAotICAgIHZv
aWQgc2V0TWluaW11bUxpZmV0aW1lKGRvdWJsZSk7CisgICAgdm9pZCBzZXRNaW5pbXVtTGlmZXRp
bWUoU2Vjb25kcyk7CiAgICAgdm9pZCBtaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCk7CiAgICAg
Ly8gT3VyIHdlYiBwcm9jZXNzIGNvbm5lY3Rpb25zLgogICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24+PiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9DYWNoZU1vZGVsLmNwcAppbmRleCA0MDNmMzRkZmNkNGI3YWRjNDliYTA0NjJiOWZkZWZhNmRl
ZjNmZDQ1Li5lYmU2ZWQyZDJlOTFhNDc4OWVhMTVmY2I3MzQzNDkwZDVkNzE2ZDRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi12b2lkIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6ZXMoQ2FjaGVNb2RlbCBj
YWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25lZCYgY2FjaGVN
aW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwgc3RkOjpjaHJv
bm86OnNlY29uZHMmIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHVuc2lnbmVkJiBw
YWdlQ2FjaGVDYXBhY2l0eSkKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2FjaGVTaXplcyhDYWNoZU1v
ZGVsIGNhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVuc2lnbmVkJiBj
YWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFjaXR5LCBTZWNv
bmRzJiBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsLCB1bnNpZ25lZCYgcGFnZUNhY2hl
Q2FwYWNpdHkpCiB7CiAgICAgdWludDY0X3QgbWVtb3J5U2l6ZSA9IHJhbVNpemUoKSAvIE1COwog
CkBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBjYWxjdWxhdGVNZW1vcnlDYWNoZVNpemVzKENhY2hl
TW9kZWwgY2FjaGVNb2RlbCwgdW5zaWduZWQmIGNhY2hlVG90YWxDYXBhY2kKICAgICAgICAgLy8g
Y2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlmeSB0aGUg
cmVncmVzc2lvbi4KICAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBzdGQ6Om1heCgyNHUs
IGNhY2hlTWF4RGVhZENhcGFjaXR5KTsKIAotICAgICAgICBkZWFkRGVjb2RlZERhdGFEZWxldGlv
bkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMgeyA2MCB9OworICAgICAgICBkZWFkRGVj
b2RlZERhdGFEZWxldGlvbkludGVydmFsID0gMV9taW47CiAKICAgICAgICAgYnJlYWs7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmgKaW5kZXggY2Y0NzM0NTRmZTJhYzMzZDNjYTQz
YTcyZmE1OTNlNGM0ZTUxZDNkNS4uMWUwNzc2ODhlYTc4ZGM4NDI5ODhmNGY1ZjAzYWNhYmI5MzEy
NGE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oCkBAIC0yNiw4ICsyNiw4IEBACiAj
aWZuZGVmIENhY2hlTW9kZWxfaAogI2RlZmluZSBDYWNoZU1vZGVsX2gKIAotI2luY2x1ZGUgPGNo
cm9ubz4KICNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzcsNyArMzcsNyBAQCBlbnVtIENhY2hlTW9kZWwgewog
ICAgIENhY2hlTW9kZWxQcmltYXJ5V2ViQnJvd3NlcgogfTsKIAotdm9pZCBjYWxjdWxhdGVNZW1v
cnlDYWNoZVNpemVzKENhY2hlTW9kZWwsIHVuc2lnbmVkJiBjYWNoZVRvdGFsQ2FwYWNpdHksIHVu
c2lnbmVkJiBjYWNoZU1pbkRlYWRDYXBhY2l0eSwgdW5zaWduZWQmIGNhY2hlTWF4RGVhZENhcGFj
aXR5LCBzdGQ6OmNocm9ubzo6c2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZh
bCwgdW5zaWduZWQmIHBhZ2VDYWNoZUNhcGFjaXR5KTsKK3ZvaWQgY2FsY3VsYXRlTWVtb3J5Q2Fj
aGVTaXplcyhDYWNoZU1vZGVsLCB1bnNpZ25lZCYgY2FjaGVUb3RhbENhcGFjaXR5LCB1bnNpZ25l
ZCYgY2FjaGVNaW5EZWFkQ2FwYWNpdHksIHVuc2lnbmVkJiBjYWNoZU1heERlYWRDYXBhY2l0eSwg
U2Vjb25kcyYgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCwgdW5zaWduZWQmIHBhZ2VD
YWNoZUNhcGFjaXR5KTsKIHZvaWQgY2FsY3VsYXRlVVJMQ2FjaGVTaXplcyhDYWNoZU1vZGVsLCB1
aW50NjRfdCBkaXNrRnJlZVNpemUsIHVuc2lnbmVkJiB1cmxDYWNoZU1lbW9yeUNhcGFjaXR5LCB1
aW50NjRfdCYgdXJsQ2FjaGVEaXNrQ2FwYWNpdHkpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKaW5kZXggMTc1Nzg5ZmI5YWU3MTNm
MTZlZWVkYmZhYmUwMGQ2ZjMzZTYzY2YyMy4uNDliNzk0NjVkZjZlMWIyYTEyMWMzZmE1MmQwMDNm
YjE5NTFiYzI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAKQEAgLTMz
LDggKzMzLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBDaGlsZFByb2Nlc3M6OkNoaWxkUHJv
Y2VzcygpCi0gICAgOiBtX3Rlcm1pbmF0aW9uVGltZW91dCgwKQotICAgICwgbV90ZXJtaW5hdGlv
bkNvdW50ZXIoMCkKKyAgICA6IG1fdGVybWluYXRpb25Db3VudGVyKDApCiAgICAgLCBtX3Rlcm1p
bmF0aW9uVGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmQ2hpbGRQcm9jZXNzOjp0ZXJtaW5h
dGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRpc2FibGVkKCJQcm9j
ZXNzIFN1cHByZXNzaW9uIERpc2FibGVkIGJ5IFVJUHJvY2VzcyIpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggYTA2ZTM0OWEzOGMyODFmNWFjZThkMzYyMmEwNTQ2MWY5
NDA0ZGE1Yy4uOTg1YWQ2YTYxYjJhODJhYjc4NTAyOWZlNDJkZWM0NzUyZWZjNDZjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtODEsNyArODEsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgZXhwbGljaXQgQ2hpbGRQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB+Q2hpbGRQcm9jZXNz
KCk7CiAKLSAgICB2b2lkIHNldFRlcm1pbmF0aW9uVGltZW91dChkb3VibGUgc2Vjb25kcykgeyBt
X3Rlcm1pbmF0aW9uVGltZW91dCA9IHNlY29uZHM7IH0KKyAgICB2b2lkIHNldFRlcm1pbmF0aW9u
VGltZW91dChTZWNvbmRzIHNlY29uZHMpIHsgbV90ZXJtaW5hdGlvblRpbWVvdXQgPSBzZWNvbmRz
OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxp
emVQcm9jZXNzTmFtZShjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMm
KTsKQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhlIHRpbWVvdXQsIGlu
IHNlY29uZHMsIGJlZm9yZSB0aGlzIHByb2Nlc3Mgd2lsbCBiZSB0ZXJtaW5hdGVkIGlmIHRlcm1p
bmF0aW9uCiAgICAgLy8gaGFzIGJlZW4gZW5hYmxlZC4gSWYgdGhlIHRpbWVvdXQgaXMgMCBzZWNv
bmRzLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQgaW1tZWRpYXRlbHkuCi0gICAgZG91
YmxlIG1fdGVybWluYXRpb25UaW1lb3V0OworICAgIFNlY29uZHMgbV90ZXJtaW5hdGlvblRpbWVv
dXQ7CiAKICAgICAvLyBBIHRlcm1pbmF0aW9uIGNvdW50ZXI7IHdoZW4gdGhlIGNvdW50ZXIgcmVh
Y2hlcyB6ZXJvLCB0aGUgcHJvY2VzcyB3aWxsIGJlIHRlcm1pbmF0ZWQKICAgICAvLyBhZnRlciBh
IGdpdmVuIHBlcmlvZCBvZiB0aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL0NvbXBvc2l0aW5nUnVuTG9v
cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAppbmRleCA0MGRjNGY0NDU2YzI4ZmM5
MzdkOWExNjZhYTIyMTljZjdlOGVjNTMwLi4xMjQ4OGVkMWM2ODhiMTAyN2U2NzhiYzUyYTk5YjVh
OWQ0MTg5MzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0
b3IvQ29tcG9zaXRpbmdSdW5Mb29wLmNwcApAQCAtMTUwLDcgKzE1MCw3IEBAIHZvaWQgQ29tcG9z
aXRpbmdSdW5Mb29wOjpzdGFydFVwZGF0ZVRpbWVyKFVwZGF0ZVRpbWluZyB0aW1pbmcpCiAgICAg
aWYgKHRpbWluZyA9PSBXYWl0VW50aWxOZXh0RnJhbWUpCiAgICAgICAgIG5leHRVcGRhdGVUaW1l
ID0gc3RkOjptYXgoKDEgLyB0YXJnZXRGUFMpIC0gKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpIC0gbV9sYXN0VXBkYXRlVGltZSksIDAuMCk7CiAKLSAgICBtX3VwZGF0ZVRpbWVyLnN0YXJ0
T25lU2hvdChuZXh0VXBkYXRlVGltZSk7CisgICAgbV91cGRhdGVUaW1lci5zdGFydE9uZVNob3Qo
U2Vjb25kcyhuZXh0VXBkYXRlVGltZSkpOwogfQogCiB2b2lkIENvbXBvc2l0aW5nUnVuTG9vcDo6
c3RvcFVwZGF0ZVRpbWVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL1BsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhMTJh
NDQ0NWJiMTZjYWFmNjkyNzNiNjRhODYzMjEwOGU3ZDU0OWY0Li5iMWEzNGE0ZGYxZDJkODI1OThh
Y2E2Y2Y4NDU0ZWI0ZmExY2RlNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiUGx1
Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuaCIKKyNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+CkBAIC01
MSw4ICs1Miw4IEBAIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAg
ICBQbHVnaW5Qcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKICAgICBib29sIHN1cHBvcnRzQXN5bmNo
cm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb247CiAKLSAgICBkb3VibGUgbWluaW11bUxpZmV0aW1l
OwotICAgIGRvdWJsZSB0ZXJtaW5hdGlvblRpbWVvdXQ7CisgICAgU2Vjb25kcyBtaW5pbXVtTGlm
ZXRpbWU7CisgICAgU2Vjb25kcyB0ZXJtaW5hdGlvblRpbWVvdXQ7CiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBXZWJDb3JlOjpNYWNoU2VuZFJpZ2h0IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQ
b3J0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cAppbmRleCBmMGZmYjc3MjZhNTNlZTRmODQyM2Q0NmI3OWJiMGZkYWYwNWRlN2M0Li4zODBlMDFl
NWU3NDYxNzM3ZTU3NTNlOTY2NWFjMmUzNDYwNTUyNjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTA2LDM2ICsxMDYsNiBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBuYW1lc3BhY2UgSVBDIHsKIAotdm9pZCBBcmd1bWVu
dENvZGVyPE1vbm90b25pY1RpbWU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgTW9u
b3RvbmljVGltZSYgdGltZSkKLXsKLSAgICBlbmNvZGVyIDw8IHRpbWUuc2Vjb25kc1NpbmNlRXBv
Y2goKS52YWx1ZSgpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8TW9ub3RvbmljVGltZT46OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBNb25vdG9uaWNUaW1lJiB0aW1lKQotewotICAgIGRvdWJs
ZSB2YWx1ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgdGltZSA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKHZhbHVl
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9pZCBBcmd1bWVudENvZGVyPFNlY29uZHM+Ojpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgU2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBl
bmNvZGVyIDw8IHNlY29uZHMudmFsdWUoKTsKLX0KLQotYm9vbCBBcmd1bWVudENvZGVyPFNlY29u
ZHM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgU2Vjb25kcyYgc2Vjb25kcykKLXsKLSAgICBk
b3VibGUgdmFsdWU7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZSh2YWx1ZSkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIHNlY29uZHMgPSBTZWNvbmRzKHZhbHVlKTsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFmZmluZVRyYW5zZm9ybSkK
IHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPEFmZmluZVRyYW5zZm9ybT46OmVuY29kZShlbmNv
ZGVyLCBhZmZpbmVUcmFuc2Zvcm0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCmluZGV4IDQ4MTlmY2JjMDRhYzcxNjI1NjczYTg0NDY3Zjc0NTQyY2Ni
OTI5OTUuLjMxNTQwNjJkOWRjMzUyYTkxZjRiMzNiYjY1NDM5OTU2ZTU4ODA5YjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMxLDExICsz
MSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVkREIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BheW1lbnRIZWFkZXJzLmg+CiAKLW5hbWVzcGFjZSBXVEYgewotY2xhc3MgTW9ub3RvbmljVGlt
ZTsKLWNsYXNzIFNlY29uZHM7Ci19Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFmZmlu
ZVRyYW5zZm9ybTsKIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwpAQCAtMTUyLDE2ICsx
NDcsNiBAQCB1c2luZyBJREJLZXlQYXRoID0gVmFyaWFudDxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+
PjsKIAogbmFtZXNwYWNlIElQQyB7CiAKLXRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8
V1RGOjpNb25vdG9uaWNUaW1lPiB7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBj
b25zdCBXVEY6Ok1vbm90b25pY1RpbWUmKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2Rl
ciYsIFdURjo6TW9ub3RvbmljVGltZSYpOwotfTsKLQotdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXVEY6OlNlY29uZHM+IHsKLSAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYs
IGNvbnN0IFdURjo6U2Vjb25kcyYpOwotICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwg
V1RGOjpTZWNvbmRzJik7Ci19OwotCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OkFmZmluZVRyYW5zZm9ybT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVy
JiwgY29uc3QgV2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtJik7CiAgICAgc3RhdGljIGJvb2wgZGVj
b2RlKERlY29kZXImLCBXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcAppbmRleCAwNTNmYTZlYTI5NzNjZTdiMWRiM2Nm
ZjM5Mjc1MWVhYmY0ZTE4ZDEwLi5kZGVhMmFiZGM0NGU0ZWEwMjI3ZTI5ZTc2ZTRiZTNhZWNlZTYw
NWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC01
Nyw3ICs1Nyw2IEBAIFdlYk1lbW9yeVNhbXBsZXI6OldlYk1lbW9yeVNhbXBsZXIoKQogICAgIDog
bV9zYW1wbGVUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQp
CiAgICAgLCBtX3N0b3BUaW1lcigqdGhpcywgJldlYk1lbW9yeVNhbXBsZXI6OnN0b3BUaW1lckZp
cmVkKQogICAgICwgbV9pc1J1bm5pbmcoZmFsc2UpCi0gICAgLCBtX3J1bm5pbmdUaW1lKDApCiB7
CiB9CiAKQEAgLTY3LDcgKzY2LDcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChjb25z
dCBkb3VibGUgaW50ZXJ2YWwpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpbml0aWFsaXpl
VGVtcExvZ0ZpbGUoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFsKTsKKyAgICBpbml0
aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKIH0KIAogdm9pZCBXZWJNZW1vcnlTYW1w
bGVyOjpzdGFydChjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVI
YW5kbGUsIGNvbnN0IFN0cmluZyYgc2FtcGxlTG9nRmlsZVBhdGgsIGNvbnN0IGRvdWJsZSBpbnRl
cnZhbCkgCkBAIC04MiwxNyArODEsMTcgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjpzdGFydChj
b25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbXBsZUxvZ0ZpbGVIYW5kbGUKICAgICB9
CiAgICAgICAgIAogICAgIGluaXRpYWxpemVTYW5kYm94ZWRMb2dGaWxlKHNhbXBsZUxvZ0ZpbGVI
YW5kbGUsIHNhbXBsZUxvZ0ZpbGVQYXRoKTsKLSAgICBpbml0aWFsaXplVGltZXJzKGludGVydmFs
KTsKKyAgICBpbml0aWFsaXplVGltZXJzKFNlY29uZHMoaW50ZXJ2YWwpKTsKICAgIAogfQogCi12
b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmluaXRpYWxpemVUaW1lcnMoZG91YmxlIGludGVydmFsKQor
dm9pZCBXZWJNZW1vcnlTYW1wbGVyOjppbml0aWFsaXplVGltZXJzKFNlY29uZHMgaW50ZXJ2YWwp
CiB7Ci0gICAgbV9zYW1wbGVUaW1lci5zdGFydFJlcGVhdGluZygxKTsKKyAgICBtX3NhbXBsZVRp
bWVyLnN0YXJ0UmVwZWF0aW5nKFNlY29uZHMoMSkpOwogICAgIHByaW50ZigiU3RhcnRlZCBtZW1v
cnkgc2FtcGxlciBmb3IgcHJvY2VzcyAlcyAlZCIsIHByb2Nlc3NOYW1lKCkudXRmOCgpLmRhdGEo
KSwgZ2V0cGlkKCkpOwotICAgIGlmIChpbnRlcnZhbCA+IDApIHsKKyAgICBpZiAoaW50ZXJ2YWwg
PiAwX3MpIHsKICAgICAgICAgbV9zdG9wVGltZXIuc3RhcnRPbmVTaG90KGludGVydmFsKTsKLSAg
ICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFsKTsK
KyAgICAgICAgcHJpbnRmKCIgZm9yIGEgaW50ZXJ2YWwgb2YgJWcgc2Vjb25kcyIsIGludGVydmFs
LnZhbHVlKCkpOwogICAgIH0KICAgICBwcmludGYoIjsgU2FtcGxlciBsb2cgZmlsZSBzdG9yZWQg
YXQ6ICVzXG4iLCBtX3NhbXBsZUxvZ0ZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwogICAgIG1fcnVu
bmluZ1RpbWUgPSBpbnRlcnZhbDsKQEAgLTE1OSw3ICsxNTgsNyBAQCB2b2lkIFdlYk1lbW9yeVNh
bXBsZXI6OnN0b3BUaW1lckZpcmVkKCkKIHsKICAgICBpZiAoIW1faXNSdW5uaW5nKQogICAgICAg
ICByZXR1cm47Ci0gICAgcHJpbnRmKCIlZyBzZWNvbmRzIGVsYXBzZWQuIFN0b3BwaW5nIG1lbW9y
eSBzYW1wbGVyLi4uXG4iLCBtX3J1bm5pbmdUaW1lKTsKKyAgICBwcmludGYoIiVnIHNlY29uZHMg
ZWxhcHNlZC4gU3RvcHBpbmcgbWVtb3J5IHNhbXBsZXIuLi5cbiIsIG1fcnVubmluZ1RpbWUudmFs
dWUoKSk7CiAgICAgc3RvcCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNh
bXBsZXIuaAppbmRleCAyNzg3YjUxNWRhYmM1MWViZWM1YmMwNjQ2ZjEzYmVmZTUxMjk4NjIyLi5k
YTQyODhiNTg0MDlmZmJhYWY4ZDI3M2NiMzg1ODQ1YjBkMWQ4ODYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKQEAgLTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGluaXRpYWxpemVUZW1wTG9nRmlsZSgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVNhbmRi
b3hlZExvZ0ZpbGUoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiwgY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCB3cml0ZUhlYWRlcnMoKTsKLSAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMo
ZG91YmxlKTsKKyAgICB2b2lkIGluaXRpYWxpemVUaW1lcnMoU2Vjb25kcyk7CiAgICAgdm9pZCBz
YW1wbGVUaW1lckZpcmVkKCk7CiAgICAgdm9pZCBzdG9wVGltZXJGaXJlZCgpOwogICAgIHZvaWQg
YXBwZW5kQ3VycmVudE1lbW9yeVVzYWdlVG9GaWxlKFdlYkNvcmU6OlBsYXRmb3JtRmlsZUhhbmRs
ZSYpOwpAQCAtMTAwLDcgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6VGltZXIgbV9z
YW1wbGVUaW1lcjsKICAgICBXZWJDb3JlOjpUaW1lciBtX3N0b3BUaW1lcjsKICAgICBib29sIG1f
aXNSdW5uaW5nOwotICAgIGRvdWJsZSBtX3J1bm5pbmdUaW1lOworICAgIFNlY29uZHMgbV9ydW5u
aW5nVGltZTsKICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lvbj4gbV9zYW1wbGVMb2dTYW5kYm94
RXh0ZW5zaW9uOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggZWM4NmUxZTIxZmZjY2Q2ZDg3MmFhYTFmMmQ0
MTllNDY2NmEzMjdkYi4uMGQzN2I5YTNlZDdlMzY0YzFjNGI2OTkzZjkwNjc5MmE1ZmVhZWVkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCkBAIC0xMTMsNyArMTEzLDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMgewogCiAgICAgYm9vbCBpY29uRGF0YWJhc2VFbmFibGVkOwogCi0gICAgZG91Ymxl
IHRlcm1pbmF0aW9uVGltZW91dDsKKyAgICBTZWNvbmRzIHRlcm1pbmF0aW9uVGltZW91dDsKIAog
ICAgIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCmluZGV4IDZhZjc5MDJkYTNmOWZh
OWMyZWFiZGFhYTBlNWQ3ODVmNjUzMmU2ZTcuLjQzNjhjYzJjYzFiM2Y1YzZkNWE4ZWIzYjM4MGIy
ZThiZGIzYTRhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L0Zsb2F0UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSU9TdXJmYWNlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZWdpb24uaD4KLSNpbmNsdWRlIDxjaHJvbm8+CisjaW5jbHVkZSA8d3RmL01vbm90
b25pY1RpbWUuaD4KIAogT0JKQ19DTEFTUyBDQUxheWVyOwogCkBAIC05MSw3ICs5MSw3IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgc2V0QnVmZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlIHR5cGUsIGJv
b2wgaXNWb2xhdGlsZSk7CiAKLSAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3Bv
aW50IGxhc3REaXNwbGF5VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdERpc3BsYXlUaW1lOyB9
CisgICAgTW9ub3RvbmljVGltZSBsYXN0RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xh
c3REaXNwbGF5VGltZTsgfQogCiBwcml2YXRlOgogICAgIHZvaWQgZHJhd0luQ29udGV4dChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQmLCBDR0ltYWdlUmVmIGJhY2tJbWFnZSk7CkBAIC0xMDMsOCAr
MTAzLDEwIEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBtX2xheWVyOwog
CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fc2l6ZTsKLSAgICBmbG9hdCBtX3NjYWxlOwotICAg
IGJvb2wgbV9pc09wYXF1ZTsKKyAgICBmbG9hdCBtX3NjYWxlIHsgMSB9OworCisgICAgYm9vbCBt
X2lzT3BhcXVlIHsgZmFsc2UgfTsKKyAgICBib29sIG1fYWNjZWxlcmF0ZXNEcmF3aW5nIHsgZmFs
c2UgfTsKIAogICAgIFdlYkNvcmU6OlJlZ2lvbiBtX2RpcnR5UmVnaW9uOwogCkBAIC0xMTIsNyAr
MTE0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFw
OwogI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpJ
T1N1cmZhY2U+IHN1cmZhY2U7Ci0gICAgICAgIGJvb2wgaXNWb2xhdGlsZSA9IGZhbHNlOworICAg
ICAgICBib29sIGlzVm9sYXRpbGUgeyBmYWxzZSB9OwogI2VuZGlmCiAKICAgICAgICAgZXhwbGlj
aXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0CkBAIC0xMzgsMTEgKzE0MCw5IEBAIHByaXZhdGU6CiAK
ICAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVzaDsK
IAotICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmc7Ci0KICAgICBXZWJDb3JlOjpSZXBhaW50
UmVjdExpc3QgbV9wYWludGluZ1JlY3RzOwogCi0gICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9j
azo6dGltZV9wb2ludCBtX2xhc3REaXNwbGF5VGltZTsKKyAgICBNb25vdG9uaWNUaW1lIG1fbGFz
dERpc3BsYXlUaW1lOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCBk
NTcxOWRkYTEyYmVhYjgyMmRmMzJiNzIxNThlYmE2YTVlOTk0MjA1Li5jYmNmNzFjNWY3NTRlZWMz
ZTg2MGZmMTJmYzczZmZhODVjNjdkZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KQEAgLTYyLDggKzYyLDYgQEAgc3Rh
dGljIFdlYkNvcmU6OklPU3VyZmFjZTo6Rm9ybWF0IGJ1ZmZlckZvcm1hdChib29sIGlzT3BhcXVl
KQogCiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoUGxh
dGZvcm1DQUxheWVyUmVtb3RlKiBsYXllcikKICAgICA6IG1fbGF5ZXIobGF5ZXIpCi0gICAgLCBt
X2lzT3BhcXVlKGZhbHNlKQotICAgICwgbV9sYXN0RGlzcGxheVRpbWUoc3RkOjpjaHJvbm86OnN0
ZWFkeV9jbG9jazo6dGltZV9wb2ludDo6bWluKCkpCiB7CiAgICAgaWYgKCFtX2xheWVyKQogICAg
ICAgICByZXR1cm47CkBAIC0yMzEsNyArMjI5LDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZTo6ZGlzcGxheSgpCiB7CiAgICAgQVNTRVJUKCFtX2Zyb250Q29udGV4dFBlbmRpbmdGbHVz
aCk7CiAKLSAgICBtX2xhc3REaXNwbGF5VGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6
Om5vdygpOworICAgIG1fbGFzdERpc3BsYXlUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAK
ICAgICBib29sIG5lZWRUb0VuY29kZUJhY2tpbmdTdG9yZSA9IGZhbHNlOwogICAgIGlmIChSZW1v
dGVMYXllclRyZWVDb250ZXh0KiBjb250ZXh0ID0gbV9sYXllci0+Y29udGV4dCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmVDb2xsZWN0aW9uLmgKaW5kZXggZmU0OTcxZWU3MzkyNDE0YWJjMTE5NDBhYzc5ZjhmNzkx
NGNhNDg2Mi4uY2Q4M2EzOGQ5ODQ1NWRiNWQ1NGVkM2Y0NjUzOTg2ZWVkOTc0NTMyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfTsK
ICAgICB0eXBlZGVmIHVuc2lnbmVkIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3M7CiAgICAgYm9vbCBt
YXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZSYsIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3Mgdm9sYXRpbGl0eU1hcmtpbmdGbGFncyA9IDApOwot
ICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Jiwgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBub3cpOworICAgIGJvb2wg
bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgTW9ub3Rv
bmljVGltZSBub3cpOwogCiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1f
bGl2ZUJhY2tpbmdTdG9yZTsKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4g
bV91bnBhcmVudGVkQmFja2luZ1N0b3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRl
eCAyNjgzNmU3YmYzODY0N2U0ODAwYTY0YjBjNzVjZTZmZmIwY2ExNGJlLi40NjBjZDliY2M1MThl
YzhkNjFmYTQ5ZTFmZmNjNDc0ZWRkODA3MDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5t
bQpAQCAtMzAsOSArMzAsOSBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCIK
ICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZUNvbnRleHQuaCIKIAotY29uc3Qgc3RkOjpjaHJvbm86
OnNlY29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAxczsKLWNvbnN0IHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQgPSAyMDBtczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwgPSAyMDBtczsKK2NvbnN0IGF1dG8gdm9sYXRpbGVCYWNraW5nU3Rv
cmVBZ2VUaHJlc2hvbGQgPSAxX3M7Citjb25zdCBhdXRvIHZvbGF0aWxlU2Vjb25kYXJ5QmFja2lu
Z1N0b3JlQWdlVGhyZXNob2xkID0gMC4yX3M7Citjb25zdCBhdXRvIHZvbGF0aWxpdHlUaW1lcklu
dGVydmFsID0gMC4yX3M7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0xMjAsNyArMTIwLDcg
QEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW8KICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFkZUJh
Y2tpbmdTdG9yZVZvbGF0aWxlOwogfQogCi1ib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
JiBiYWNraW5nU3RvcmUsIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6OnRpbWVfcG9pbnQgbm93
KQorYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBNb25vdG9u
aWNUaW1lIG5vdykKIHsKICAgICBpZiAobm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGlt
ZSgpIDwgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQpIHsKICAgICAgICAgaWYgKG5v
dyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxheVRpbWUoKSA+PSB2b2xhdGlsZVNlY29uZGFyeUJh
Y2tpbmdTdG9yZUFnZVRocmVzaG9sZCkKQEAgLTE2NCw3ICsxNjQsNyBAQCB2b2lkIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewogICAg
IGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIAotICAg
IGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgYXV0byBu
b3cgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGJhY2tpbmdT
dG9yZSA6IG1fbGl2ZUJhY2tpbmdTdG9yZSkKICAgICAgICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tp
bmdTdG9yZVZvbGF0aWxlICY9IG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZSgqYmFja2luZ1N0b3Jl
LCBub3cpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCA4Mzk0
NWRmZWQzMWM1OTE4MzU4YmU3ZjY3MTZiMWJmZTcwMTg4YjU5Li4xYjVkZDAzNjM5MWYyMmI5ZWJj
NWI3MjNkOTIyM2Y4MDI5MGU5YTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL0FQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29j
b2EubW0KQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKCFtX2Nv
bnRleHQpIHsKICAgICAgICAgICAgIG1fY29udGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQgYWxs
b2NdIGluaXRdKTsKLSAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDEpOworICAgICAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMV9zKTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm4gbV9jb250ZXh0LmdldCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvRXdrVmlldy5jcHAKaW5kZXggZDI3NzAwNTk2MWQyOWFlZDY3NTA5MzY5NGIyM2U0ZTgy
NTVlMTA4Ni4uMTEzNWY3OTc4NWVkOWY3N2MwYTVhYjk1OWJmMTI0ZDcwNmU5ZTcyNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTU5MCw3ICs1
OTAsNyBAQCB2b2lkIEV3a1ZpZXc6OnNjaGVkdWxlVXBkYXRlRGlzcGxheSgpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghbV9kaXNwbGF5VGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9k
aXNwbGF5VGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX2Rpc3BsYXlUaW1lci5zdGFy
dE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpzZXRWaWV3cG9ydFBvc2l0aW9uKGNv
bnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRzUG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggMDRjN2U5
NTQ3Mjk5NTdjZTQyODJlYjQwZTFjODcxMDNjMTQ0NWY1Zi4uYzJiZTM2NWY3MWU5OGYzNGY5ZTg1
ZTRkNmFkMTg5M2NlYzY5ZjNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw3IEBAIHN0
YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2NoZWR1bGVVcGRhdGVBY3Rpdml0eVN0YXRlKFdl
YktpdFdlYlZpZXdCYXNlKiB3ZWJWCiAgICAgaWYgKHByaXYtPnVwZGF0ZUFjdGl2aXR5U3RhdGVU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwcml2LT51cGRhdGVBY3Rp
dml0eVN0YXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIHByaXYtPnVwZGF0ZUFjdGl2aXR5
U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogc3RhdGljIGdib29sZWFuIHRvcGxl
dmVsV2luZG93Rm9jdXNJbkV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEZvY3VzKiwg
V2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9DaGlsZFByb2Nlc3NQcm94eS5jcHAKaW5kZXggZmQ4YmM1YWM5YTk3YzgzMDU1ZDQ4Yjc1
YmE4MDA5MzM5OTY1MTdiMC4uMmQ2ZmViOTQ3ZjFjODY4MWUzMGJmMTRiMGRjNzY1YzgxNDMyZjYz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NoaWxkUHJvY2Vzc1Byb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ2hpbGRQcm9jZXNzUHJveHkuY3Bw
CkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBDaGlsZFByb2Nlc3NQcm94eTo6c2h1dERvd25Qcm9j
ZXNzKCkKICAgICAgICAgLy8gT24gaU9TIGRlcGxveSBhIHdhdGNoZG9nIGluIHRoZSBVSSBwcm9j
ZXNzLCBzaW5jZSB0aGUgY2hpbGQgcHJvY2VzcyBtYXkgYmUgc3VzcGVuZGVkLgogICAgICAgICAv
LyBJZiAzMHMgaXMgaW5zdWZmaWNpZW50IGZvciBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgdG8g
Y29tcGxldGUgY2xlYW5seSwgdGhlbiBpdCB3aWxsIGJlIGtpbGxlZC4KICAgICAgICAgQVNTRVJU
KG1fY29ubmVjdGlvbik7Ci0gICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMCk7
CisgICAgICAgIG1fY29ubmVjdGlvbi0+dGVybWluYXRlU29vbigzMF9zKTsKICNlbmRpZgogICAg
ICAgICBicmVhazsKICAgICBjYXNlIFN0YXRlOjpUZXJtaW5hdGVkOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggNDUyOTkyMmI0
ZmJmNmJmNTMxYzdjMDVhN2MyMjNiNjM1MTQzMjU2MC4uZjgxNmU3ZjBjMzIxYWYyYTlkODYyMWE3
YjRjNWYxYThhNzgwMzk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL05hdmlnYXRpb25TdGF0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tCkBAIC04NTIsNyArODUyLDcgQEAgdm9pZCBOYXZpZ2F0aW9u
U3RhdGU6OmRpZENoYW5nZUlzTG9hZGluZygpCiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gRGVs
YXkgcmVsZWFzaW5nIHRoZSBiYWNrZ3JvdW5kIGFjdGl2aXR5IGZvciAzIHNlY29uZHMgdG8gZ2l2
ZSB0aGUgYXBwbGljYXRpb24gYSBjaGFuY2UgdG8gc3RhcnQgYW5vdGhlciBuYXZpZ2F0aW9uCiAg
ICAgICAgIC8vIGJlZm9yZSBzdXNwZW5kaW5nIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgPHJkYXI6
Ly9wcm9ibGVtLzI3OTEwOTY0Pi4KLSAgICAgICAgbV9yZWxlYXNlQWN0aXZpdHlUaW1lci5zdGFy
dE9uZVNob3QoM3MpOworICAgICAgICBtX3JlbGVhc2VBY3Rpdml0eVRpbWVyLnN0YXJ0T25lU2hv
dCgzX3MpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCmluZGV4IDQ5ZjE4ZTM3OGE1
MjlkMDU2NWIwZDdlZTllNjE4ODIxMmNmZGQyYjguLjRkYmQ3OGY2NDJjNTg1YzRjYWQ3NzE4MjZk
MDgyYjhhMGM4YWMzYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwCkBAIC00MCwxMyArNDAsMTMgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29u
c3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0FmdGVy
Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24gPSAzczsKLXN0YXRpYyBjb25zdCBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1v
bml0b3JpbmdJbnRlcnZhbCA9IDI1MG1zOworc3RhdGljIGNvbnN0IGF1dG8gc3dpcGVTbmFwc2hv
dFJlbW92YWxXYXRjaGRvZ0FmdGVyRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RHVyYXRpb24g
PSAzX3M7CitzdGF0aWMgY29uc3QgYXV0byBzd2lwZVNuYXBzaG90UmVtb3ZhbEFjdGl2ZUxvYWRN
b25pdG9yaW5nSW50ZXJ2YWwgPSAwLjI1X3M7CiAKICNpZiBQTEFURk9STShNQUMpCi1zdGF0aWMg
Y29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1
cmF0aW9uID0gNXM7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdh
dGNoZG9nRHVyYXRpb24gPSA1X3M7CiAjZWxzZQotc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpz
ZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDNzOworc3RhdGlj
IGNvbnN0IFNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM19z
OwogI2VuZGlmCiAKIHN0YXRpYyBIYXNoTWFwPHVpbnQ2NF90LCBWaWV3R2VzdHVyZUNvbnRyb2xs
ZXIqPiYgdmlld0dlc3R1cmVDb250cm9sbGVyc0ZvckFsbFBhZ2VzKCkKQEAgLTI5NywxMCArMjk3
LDEwIEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2Vy
Ojp3YXRjaGRvZ1RpbWVyRmlyZWQoKQogICAgIGZpcmVSZW1vdmFsQ2FsbGJhY2tJbW1lZGlhdGVs
eSgpOwogfQogCi12b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6U25hcHNob3RSZW1vdmFsVHJh
Y2tlcjo6c3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyBkdXJhdGlvbikKK3ZvaWQg
Vmlld0dlc3R1cmVDb250cm9sbGVyOjpTbmFwc2hvdFJlbW92YWxUcmFja2VyOjpzdGFydFdhdGNo
ZG9nKFNlY29uZHMgZHVyYXRpb24pCiB7Ci0gICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3Rh
cnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJWxsZCBzZWNvbmRzIiwgZHVyYXRpb24uY291bnQoKSkp
OwotICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFydE9uZVNob3QoZHVyYXRpb24uY291bnQoKSk7Cisg
ICAgbG9nKFN0cmluZzo6Zm9ybWF0KCIocmUpc3RhcnRlZCB3YXRjaGRvZyB0aW1lciBmb3IgJS4z
ZiBzZWNvbmRzIiwgZHVyYXRpb24udmFsdWUoKSkpOworICAgIG1fd2F0Y2hkb2dUaW1lci5zdGFy
dE9uZVNob3QoZHVyYXRpb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
aAppbmRleCA3NThkNzM1MGRiZDg0NzU3NDY2Y2NkYmE4NDM2YjZlNDlkNjJiYzJkLi5lMTRkNzM5
NzE5MmFkMGMwN2YxMjI4MDlmYzg3YjE0NDQ3NmQ0ZGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oCkBAIC0xNTcs
NyArMTU3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBldmVudE9jY3VycmVkKEV2ZW50cyk7
CiAgICAgICAgIGJvb2wgY2FuY2VsT3V0c3RhbmRpbmdFdmVudChFdmVudHMpOwogCi0gICAgICAg
IHZvaWQgc3RhcnRXYXRjaGRvZyhzdGQ6OmNocm9ubzo6c2Vjb25kcyk7CisgICAgICAgIHZvaWQg
c3RhcnRXYXRjaGRvZyhTZWNvbmRzKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBT
dHJpbmcgZXZlbnRzRGVzY3JpcHRpb24oRXZlbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggNGU4NzNlYWQ2
NTE4NWY2NTlkOTYxMWE4YWY5OWRiMjNhM2RjNzc4OC4uMzVlZTRlYjFhNGFkYTc0N2ExODM5OWJh
MzE5MWE5MzYxODc2NGI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTI3NSw3ICsyNzUsNyBAQCB2b2lkIFdl
YlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2VzcyhOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYQogI2VuZGlmCiAKICAgICBwYXJhbWV0ZXJzLnNob3VsZFN1cHByZXNz
TWVtb3J5UHJlc3N1cmVIYW5kbGVyID0gW2RlZmF1bHRzIGJvb2xGb3JLZXk6V2ViS2l0U3VwcHJl
c3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJEZWZhdWx0c0tleV07Ci0gICAgcGFyYW1ldGVycy5sb2Fk
VGhyb3R0bGVMYXRlbmN5ID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyhbZGVmYXVsdHMgaW50
ZWdlckZvcktleTpXZWJLaXROZXR3b3JrTG9hZFRocm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25kc0Rl
ZmF1bHRzS2V5XSk7CisgICAgcGFyYW1ldGVycy5sb2FkVGhyb3R0bGVMYXRlbmN5ID0gU2Vjb25k
czo6ZnJvbU1pbGxpc2Vjb25kcyhbZGVmYXVsdHMgaW50ZWdlckZvcktleTpXZWJLaXROZXR3b3Jr
TG9hZFRocm90dGxlTGF0ZW5jeU1pbGxpc2Vjb25kc0RlZmF1bHRzS2V5XSk7CiAKICNpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMTAwCiAg
ICAgUmV0YWluUHRyPENGRGF0YVJlZj4gY29va2llU3RvcmFnZURhdGEgPSBhZG9wdENGKENGSFRU
UENvb2tpZVN0b3JhZ2VDcmVhdGVJZGVudGlmeWluZ0RhdGEoa0NGQWxsb2NhdG9yRGVmYXVsdCwg
W1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBfY29va2llU3Rv
cmFnZV0pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNw
cAppbmRleCBiNDVmMjI3OWU3MmJlZWUwYWU3MzNjNmUxMGFiMTQxOTJlMDFmMmU1Li44NWVjMzgz
N2M5MTVlZThhYzI3ZDljZjEzZThlYzM0YzYzZGQ5Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC04Myw3ICs4Myw3IEBAIHZvaWQgRHJh
d2luZ0FyZWFQcm94eTo6c2V0Vmlld0V4cG9zZWRSZWN0KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
RmxvYXRSZWN0PiB2aWV3CiAgICAgbV92aWV3RXhwb3NlZFJlY3QgPSB2aWV3RXhwb3NlZFJlY3Q7
CiAKICAgICBpZiAoIW1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fdmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICAgICAgbV92aWV3RXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgRHJhd2luZ0FyZWFQcm94eTo6dmlld0V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmly
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHAKaW5kZXggNDQwZGY5YTMzZWU2OTg2N2I2NDI1OGQwMzJlMDVlODE5ZjEzYTgxNC4uMDA5
OWE1ZjY3MTAzYzdlM2MxYmI2OWFjYjFmODg2ZGQzMzExMDNhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCkBAIC0xODAsNyArMTgw
LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGlzY2FyZEJhY2tpbmdTdG9yZVNvb24o
KQogCiAgICAgLy8gV2UnbGwgd2FpdCB0aGlzIG1hbnkgc2Vjb25kcyBhZnRlciB0aGUgbGFzdCBw
YWludCBiZWZvcmUgdGhyb3dpbmcgYXdheSBvdXIgYmFja2luZyBzdG9yZSB0byBzYXZlIG1lbW9y
eS4KICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgc21hcnRlciB0byBtYWtlIHRoaXMgZGVsYXkg
YmFzZWQgb24gaG93IGV4cGVuc2l2ZSBwYWludGluZyBpcy4gU2VlIDxodHRwOi8vd2Via2l0Lm9y
Zy9iLzU1NzMzPi4KLSAgICBzdGF0aWMgY29uc3QgZG91YmxlIGRpc2NhcmRCYWNraW5nU3RvcmVE
ZWxheSA9IDI7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgZGlzY2FyZEJhY2tpbmdTdG9yZURl
bGF5ID0gMl9zOwogCiAgICAgbV9kaXNjYXJkQmFja2luZ1N0b3JlVGltZXIuc3RhcnRPbmVTaG90
KGRpc2NhcmRCYWNraW5nU3RvcmVEZWxheSk7CiB9CkBAIC0yMTEsMTMgKzIxMSwxMyBAQCBpbnQg
RHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjp3ZWJWaWV3RHJhd0NhbGxiYWNr
KERyYXdpbmdBcmVhUHJveHlJbQogCiB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5n
TW9uaXRvcjo6c3RhcnQoc3RkOjpmdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4g
Y2FsbGJhY2spCiB7Ci0gICAgbV9zdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWVNUygpOworICAgIG1fc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgbV9j
YWxsYmFjayA9IGNhbGxiYWNrOwogI2lmIFBMQVRGT1JNKEdUSykKICAgICBnX3NpZ25hbF9jb25u
ZWN0X3N3YXBwZWQobV93ZWJQYWdlLnZpZXdXaWRnZXQoKSwgImRyYXciLCByZWludGVycHJldF9j
YXN0PEdDYWxsYmFjaz4od2ViVmlld0RyYXdDYWxsYmFjayksIHRoaXMpOwotICAgIG1fdGltZXIu
c3RhcnRPbmVTaG90KDEpOworICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KFNlY29uZHMoMSkpOwog
I2Vsc2UKLSAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwX3MpOwogI2VuZGlmCiB9CiAKQEAgLTIyNyw3ICsyMjcsNyBAQCB2b2lkIERyYXdpbmdB
cmVhUHJveHlJbXBsOjpEcmF3aW5nTW9uaXRvcjo6c3RvcCgpCiAjaWYgUExBVEZPUk0oR1RLKQog
ICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhtX3dlYlBhZ2Uudmlld1dp
ZGdldCgpLCByZWludGVycHJldF9jYXN0PGdwb2ludGVyPih3ZWJWaWV3RHJhd0NhbGxiYWNrKSwg
dGhpcyk7CiAjZW5kaWYKLSAgICBtX3N0YXJ0VGltZSA9IDA7CisgICAgbV9zdGFydFRpbWUgPSBN
b25vdG9uaWNUaW1lKCk7CiAgICAgaWYgKG1fY2FsbGJhY2spIHsKICAgICAgICAgbV9jYWxsYmFj
ayhDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lKTsKICAgICAgICAgbV9jYWxsYmFjayA9IG51bGxw
dHI7CkBAIC0yMzksMTAgKzIzOSwxMCBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3
aW5nTW9uaXRvcjo6ZGlkRHJhdygpCiAgICAgLy8gV2Ugd2FpdCB1cCB0byAxIHNlY29uZCBmb3Ig
ZHJhdyBldmVudHMuIElmIHRoZXJlIGFyZSBzZXZlcmFsIGRyYXcgZXZlbnRzIHF1ZXVlZCBxdWlj
a2x5LAogICAgIC8vIHdlIHdhbnQgdG8gd2FpdCB1bnRpbCBhbGwgb2YgdGhlbSBoYXZlIGJlZW4g
cHJvY2Vzc2VkLCBzbyBhZnRlciByZWNlaXZpbmcgYSBkcmF3LCB3ZSB3YWl0CiAgICAgLy8gdXAg
dG8gMTAwbXMgZm9yIHRoZSBuZXh0IG9uZSBvciBzdG9wLgotICAgIGlmIChtb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWVNUygpIC0gbV9zdGFydFRpbWUgPiAxMDAwKQorICAgIGlmIChNb25vdG9u
aWNUaW1lOjpub3coKSAtIG1fc3RhcnRUaW1lID4gMV9zKQogICAgICAgICBzdG9wKCk7CiAgICAg
ZWxzZQotICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwLjEwMCk7CisgICAgICAgIG1fdGlt
ZXIuc3RhcnRPbmVTaG90KDAuMV9zKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6
ZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQoQ2FsbGJhY2tC
YXNlOjpFcnJvcik+IGNhbGxiYWNrRnVuY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCmluZGV4IDg5YzcxM2ZjODdhNzM1NDkzMDM4YWQx
MGQ5MGRjMWNmNjA2MWQ0NTcuLjVhYTY2YzZkMDQ4YmQwZjdkMjZmOGM3YzY0ZWQwZDFhMjgyZjdm
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oCkBAIC03Nyw3ICs3Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZvaWQgZGlkRHJhdygpOwog
CiAgICAgICAgIFdlYlBhZ2VQcm94eSYgbV93ZWJQYWdlOwotICAgICAgICBkb3VibGUgbV9zdGFy
dFRpbWUgeyAwIH07CisgICAgICAgIE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgICAg
IHN0ZDo6ZnVuY3Rpb248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IG1fY2FsbGJhY2s7CiAg
ICAgICAgIFJ1bkxvb3A6OlRpbWVyPERyYXdpbmdNb25pdG9yPiBtX3RpbWVyOwogICAgIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92
aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvR2FtZXBhZC9VSUdhbWVwYWRQcm92
aWRlci5jcHAKaW5kZXggNjc3Y2Q2NzM5MWFmNTY5ZjQyYWZmYmRmNDQwYWFlMjE1NTE1ZjQzZS4u
Y2VhOTgyZjZlMjJjNjA0OThlYWI4Mjk2OTQzZjUwNTMyYjhiNDM2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0dhbWVwYWQvVUlHYW1lcGFkUHJvdmlkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9HYW1lcGFkL1VJR2FtZXBhZFByb3ZpZGVyLmNwcApA
QCAtMzksNyArMzksNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLXN0YXRpYyBjb25zdCBkb3VibGUgbWF4aW11bUdhbWVwYWRVcGRhdGVJbnRlcnZh
bCA9IDEgLyAxMjAuMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIG1heGltdW1HYW1lcGFkVXBkYXRl
SW50ZXJ2YWwgPSBTZWNvbmRzKDEgLyAxMjAuMCk7CiAKIFVJR2FtZXBhZFByb3ZpZGVyJiBVSUdh
bWVwYWRQcm92aWRlcjo6c2luZ2xldG9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCmluZGV4IDU0ZGZiM2Iw
NThkNGZlOTAzNzQ2MTU3OTJlZmE1NmIwOGZkZDBiNjguLjQ2MGJlYmY1ZGIwOTkzNzU1YTY2MmMz
M2IyOWQwNzQ4MTRjNzBhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcApAQCAtNDYsMTEgKzQ2LDExIEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIGNv
bnN0IGRvdWJsZSBtaW5pbXVtTGlmZXRpbWUgPSAyICogNjA7Ci1zdGF0aWMgY29uc3QgZG91Ymxl
IHNuYXBzaG90dGluZ01pbmltdW1MaWZldGltZSA9IDMwOworc3RhdGljIGNvbnN0IGF1dG8gbWlu
aW11bUxpZmV0aW1lID0gMl9taW47CitzdGF0aWMgY29uc3QgYXV0byBzbmFwc2hvdHRpbmdNaW5p
bXVtTGlmZXRpbWUgPSAzMF9zOwogCi1zdGF0aWMgY29uc3QgZG91YmxlIHNodXRkb3duVGltZW91
dCA9IDEgKiA2MDsKLXN0YXRpYyBjb25zdCBkb3VibGUgc25hcHNob3R0aW5nU2h1dGRvd25UaW1l
b3V0ID0gMTU7CitzdGF0aWMgY29uc3QgYXV0byBzaHV0ZG93blRpbWVvdXQgPSAxX21pbjsKK3N0
YXRpYyBjb25zdCBhdXRvIHNuYXBzaG90dGluZ1NodXRkb3duVGltZW91dCA9IDE1X3M7CiAKIHN0
YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNhbGxiYWNrSUQoKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9DYWNoZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAppbmRl
eCAzZTFjMmVmNWFmNjY3N2E5Mjk5ZGU4NTQ5NDVmOTE0NTgwMzM0OWUzLi5kNWZiMWIyMzFiNDM3
MGYwNmVkYzMxMzRmMzQ1YzVjM2NjZWNkMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb0NhY2hlLmNwcApAQCAtMTYyLDcg
KzE2Miw3IEBAIHZvaWQgUGx1Z2luSW5mb0NhY2hlOjp1cGRhdGVQbHVnaW5JbmZvKGNvbnN0IFN0
cmluZyYgcGx1Z2luUGF0aCwgY29uc3QgUGx1Z2luTW9kCiAgICAgICAgIGlmIChtX3NhdmVUb0Zp
bGVJZGxlLmlzQWN0aXZlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbV9zYXZl
VG9GaWxlSWRsZS5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2F2ZVRvRmlsZUlkbGUuc3Rh
cnRPbmVTaG90KDBfcyk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUHJvY2Vzc1Rocm90dGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UHJvY2Vzc1Rocm90dGxlci5jcHAKaW5kZXggMjI3NWJiM2IyMjZiN2RiZDQ4ZDMzY2YwZjM2ZDIz
NDlkODUwYmVjNi4uY2Q4MjVlMWVlMGEwOWM1N2YzZTJkNjMxMmI3OWU3ZDRmMTcwZTNjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NUaHJvdHRsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzVGhyb3R0bGVyLmNwcApAQCAtMzEs
NyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAKLXN0YXRpYyBjb25zdCB1bnNp
Z25lZCBwcm9jZXNzU3VzcGVuc2lvblRpbWVvdXQgPSAzMDsKK3N0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2Nlc3NTdXNwZW5zaW9uVGltZW91dCA9IDMwX3M7CiAgICAgCiBQcm9jZXNzVGhyb3R0bGVy
OjpQcm9jZXNzVGhyb3R0bGVyKFByb2Nlc3NUaHJvdHRsZXJDbGllbnQmIHByb2Nlc3MpCiAgICAg
OiBtX3Byb2Nlc3MocHJvY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9SZXNw
b25zaXZlbmVzc1RpbWVyLmNwcAppbmRleCBmZWI0NjlmMDg0MmI1YWU2OWIzNmYwZmNmZDY4NjFj
NDA2N2VlZjJiLi42MDNiYzlmMTNmZTk2OWJmMzRkYjM0NjBhYmI0NzhiYjg5OWJkYzNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwCkBA
IC0yOCw3ICsyOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91
YmxlIHJlc3BvbnNpdmVuZXNzVGltZW91dCA9IDM7CitzdGF0aWMgY29uc3QgYXV0byByZXNwb25z
aXZlbmVzc1RpbWVvdXQgPSAzX3M7CiAKIFJlc3BvbnNpdmVuZXNzVGltZXI6OlJlc3BvbnNpdmVu
ZXNzVGltZXIoUmVzcG9uc2l2ZW5lc3NUaW1lcjo6Q2xpZW50JiBjbGllbnQpCiAgICAgOiBtX2Ns
aWVudChjbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRl
ZExpbmtTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtTdG9y
ZS5jcHAKaW5kZXggYTNmYjc3MGY1Y2RiY2RjYjVmYTc3YWI0ZDJmMGI1NDc0NDg5MGY2Zi4uM2Vk
NTU3NTMxNmJmZGQwMzY1MDM3YWQ2YThiZDdkNGFhODQ3YjRmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1N0b3JlLmNwcApAQCAtOTgsNyArOTgsNyBAQCB2b2lk
IFZpc2l0ZWRMaW5rU3RvcmU6OmFkZFZpc2l0ZWRMaW5rSGFzaChMaW5rSGFzaCBsaW5rSGFzaCkK
ICAgICBtX3BlbmRpbmdWaXNpdGVkTGlua3MuYWRkKGxpbmtIYXNoKTsKIAogICAgIGlmICghbV9w
ZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9wZW5kaW5nVmlz
aXRlZExpbmtzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgICAgICBtX3BlbmRpbmdWaXNpdGVk
TGlua3NUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBWaXNpdGVkTGlua1N0b3Jl
OjpyZW1vdmVBbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKaW5kZXggOTczNjE4ZDJjNWYzYWIwMmQ4NTZmN2FjZmVkYjMwMDBiN2QyZWZhMC4uZjI4N2Y1
YWE2ZTdlNTRiZGNjNDY2N2MwNmQzNmM5MTQ1OGU4MDY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0xNzMsNyArMTczLDcgQEAgV2ViUHJvY2Vz
c1Bvb2w6OldlYlByb2Nlc3NQb29sKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25m
aWd1cmF0aW9uKQogICAgICwgbV9hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkobV9jb25m
aWd1cmF0aW9uLT5hbHdheXNSdW5zQXRCYWNrZ3JvdW5kUHJpb3JpdHkoKSkKICAgICAsIG1fdXNl
ck9ic2VydmFibGVQYWdlQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IHVwZGF0ZVBy
b2Nlc3NTdXBwcmVzc2lvblN0YXRlKCk7IH0pCiAgICAgLCBtX3Byb2Nlc3NTdXBwcmVzc2lvbkRp
c2FibGVkRm9yUGFnZUNvdW50ZXIoW3RoaXNdKFJlZkNvdW50ZXJFdmVudCkgeyB1cGRhdGVQcm9j
ZXNzU3VwcHJlc3Npb25TdGF0ZSgpOyB9KQotICAgICwgbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1
dG9JbmNyZWFzZXNDb3VudGVyKFt0aGlzXShSZWZDb3VudGVyRXZlbnQpIHsgbV9oaWRkZW5QYWdl
VGhyb3R0bGluZ1RpbWVyLnN0YXJ0T25lU2hvdCgwKTsgfSkKKyAgICAsIG1faGlkZGVuUGFnZVRo
cm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlcihbdGhpc10oUmVmQ291bnRlckV2ZW50KSB7IG1f
aGlkZGVuUGFnZVRocm90dGxpbmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsgfSkKICAgICAsIG1f
aGlkZGVuUGFnZVRocm90dGxpbmdUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZXZWJQcm9j
ZXNzUG9vbDo6dXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VMaW1pdCkKIHsK
ICAgICBmb3IgKGF1dG8mIHNjaGVtZSA6IG1fY29uZmlndXJhdGlvbi0+YWx3YXlzUmV2YWxpZGF0
ZWRVUkxTY2hlbWVzKCkpCkBAIC01OTUsNyArNTk1LDcgQEAgV2ViUHJvY2Vzc1Byb3h5JiBXZWJQ
cm9jZXNzUG9vbDo6Y3JlYXRlTmV3V2ViUHJvY2VzcygpCiAKICAgICBwYXJhbWV0ZXJzLmljb25E
YXRhYmFzZUVuYWJsZWQgPSAhaWNvbkRhdGFiYXNlUGF0aCgpLmlzRW1wdHkoKTsKIAotICAgIHBh
cmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0ID0gMDsKKyAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0
aW9uVGltZW91dCA9IDBfczsKIAogICAgIHBhcmFtZXRlcnMudGV4dENoZWNrZXJTdGF0ZSA9IFRl
eHRDaGVja2VyOjpzdGF0ZSgpOwogCkBAIC0xNDE2LDEwICsxNDE2LDEwIEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnVwZGF0ZUhpZGRlblBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlTGltaXQoKQog
ICAgIC8vIFdlJ3JlIGVzdGltYXRpbmcgYW4gdXBwZXIgYm91bmQgZm9yIGEgc2V0IG9mIGJhY2tn
cm91bmQgdGltZXIgZmlyZXMgZm9yIGEgcGFnZSB0byBiZSAyMDBtcwogICAgIC8vIChpbmNsdWRp
bmcgYWxsIHRpbWVyIGZpcmVzLCBhbGwgcGFnaW5nLWluLCBhbmQgYW55IHJlc3VsdGluZyBHQyku
IFRvIGVuc3VyZSB0aGlzIGRvZXMgbm90CiAgICAgLy8gcmVzdWx0IGluIG1vcmUgdGhhbiAxJSBD
UFUgbG9hZCBhbGxvdyBmb3Igb25lIHRpbWVyIGZpcmUgcGVyIDEwMHggdGhpcyBkdXJhdGlvbi4K
LSAgICBzdGF0aWMgaW50IG1heGltdW1UaW1lclRocm90dGxlUGVyUGFnZUluTVMgPSAyMDAgKiAx
MDA7CisgICAgc3RhdGljIGNvbnN0IGF1dG8gbWF4aW11bVRpbWVyVGhyb3R0bGVQZXJQYWdlID0g
MjAwX21zICogMTAwOwogCi0gICAgaW50IGxpbWl0SW5NaWxsaXNlY29uZHMgPSBtYXhpbXVtVGlt
ZXJUaHJvdHRsZVBlclBhZ2VJbk1TICogbV9oaWRkZW5QYWdlVGhyb3R0bGluZ0F1dG9JbmNyZWFz
ZXNDb3VudGVyLnZhbHVlKCk7Ci0gICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpTZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdElu
TWlsbGlzZWNvbmRzKSk7CisgICAgYXV0byBsaW1pdCA9IG1heGltdW1UaW1lclRocm90dGxlUGVy
UGFnZSAqIG1faGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzQ291bnRlci52YWx1ZSgp
OworICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2V0SGlkZGVu
UGFnZVRpbWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQobGltaXQpKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1Rl
eHRDaGVja2VyQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4
dENoZWNrZXJDbGllbnRFZmwuY3BwCmluZGV4IDg1NzQ1YWMzMGFjN2I4M2UxNDgyNGJmZmVlYmE2
OTA5MTNlOWI0NGEuLjNiMjIzNzdjODM5MWQzYjgzNmM4YWQ3MDBjMzg0ZDAwM2VmZTZkMTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGllbnRF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvVGV4dENoZWNrZXJDbGll
bnRFZmwuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAgdm9pZCBUZXh0Q2hlY2tlckNsaWVudEVmbDo6
ZW5zdXJlU3BlbGxDaGVja2luZ0xhbmd1YWdlKCkKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6
OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRlZmF1
bHRMYW5ndWFnZXMpCiB7CiAgICAgbV9zcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0gZGVmYXVsdExh
bmd1YWdlczsKLSAgICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAg
ICBtX2xhbmd1YWdlc1VwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiB2b2lkIFRl
eHRDaGVja2VyQ2xpZW50RWZsOjpsYW5ndWFnZXNVcGRhdGVUaW1lckZpcmVkKCkKQEAgLTEyOCw3
ICsxMjgsNyBAQCBWZWN0b3I8U3RyaW5nPiBUZXh0Q2hlY2tlckNsaWVudEVmbDo6bG9hZGVkU3Bl
bGxDaGVja2luZ0xhbmd1YWdlcygpIGNvbnN0CiAKIHZvaWQgVGV4dENoZWNrZXJDbGllbnRFZmw6
OmNhbGxDb250aW51b3VzU3BlbGxDaGVja2luZ0NoYW5nZUNhbGxiYWNrQXN5bmMoKQogewotICAg
IG1fc3BlbGxDaGVja2luZ1NldHRpbmdDaGFuZ2VUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9zcGVsbENoZWNraW5nU2V0dGluZ0NoYW5nZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiBib29sIFRleHRDaGVja2VyQ2xpZW50RWZsOjppc0NvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZENhbGxiYWNrKGNvbnN0IHZvaWQqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2d0ay9HZXN0dXJlQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZ3RrL0dlc3R1cmVDb250cm9sbGVyLmNwcAppbmRleCA3ZTE1NzdjYmE4YjE1NzA1MjY0ZTVi
YTU0NzVmZmM1OTYyZGFiODg5Li45M2RkZDc2OGRiYTRjYmUwMzBkNDMxZTRiNGQ4NTdhNjg4ZDBm
OTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0dlc3R1cmVDb250
cm9sbGVyLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRy
YWdHZXN0dXJlOjpiZWdpbihEcmFnR2VzdHVyZSogZHJhZ0dlc3R1cmUsIGRvdWJsZSB4LCBkCiAg
ICAgR3RrV2lkZ2V0KiB3aWRnZXQgPSBndGtfZXZlbnRfY29udHJvbGxlcl9nZXRfd2lkZ2V0KEdU
S19FVkVOVF9DT05UUk9MTEVSKGdlc3R1cmUpKTsKICAgICB1bnNpZ25lZCBkZWxheTsKICAgICBn
X29iamVjdF9nZXQoZ3RrX3dpZGdldF9nZXRfc2V0dGluZ3Mod2lkZ2V0KSwgImd0ay1sb25nLXBy
ZXNzLXRpbWUiLCAmZGVsYXksIG51bGxwdHIpOwotICAgIGRyYWdHZXN0dXJlLT5tX2xvbmdQcmVz
c1RpbWVvdXQuc3RhcnRPbmVTaG90KGRlbGF5IC8gMTAwMC4wKTsKKyAgICBkcmFnR2VzdHVyZS0+
bV9sb25nUHJlc3NUaW1lb3V0LnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRz
KGRlbGF5KSk7CiB9CiAKIHZvaWQgR2VzdHVyZUNvbnRyb2xsZXI6OkRyYWdHZXN0dXJlOjp1cGRh
dGUoRHJhZ0dlc3R1cmUqIGRyYWdHZXN0dXJlLCBkb3VibGUgeCwgZG91YmxlIHksIEd0a0dlc3R1
cmUqIGdlc3R1cmUpCkBAIC0yMDYsNyArMjA2LDcgQEAgdm9pZCBHZXN0dXJlQ29udHJvbGxlcjo6
Wm9vbUdlc3R1cmU6OnNjYWxlQ2hhbmdlZChab29tR2VzdHVyZSogem9vbUdlc3R1cmUsIGRvdWIK
ICAgICBpZiAoem9vbUdlc3R1cmUtPm1faWRsZS5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICB6b29tR2VzdHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwKTsKKyAgICB6b29tR2Vz
dHVyZS0+bV9pZGxlLnN0YXJ0T25lU2hvdCgwX3MpOwogfQogCiBHZXN0dXJlQ29udHJvbGxlcjo6
Wm9vbUdlc3R1cmU6Olpvb21HZXN0dXJlKFdlYlBhZ2VQcm94eSYgcGFnZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKaW5k
ZXggZGMxOThkODU4ZjEzYTNjMTIzNmU1MTFkMzhkYjY4NTI2MTM3ODRhNC4uNTMxN2ZlZDlkODky
OTNhYmQ0MjEyYzIwODVkNjRjMmI5NDM3YTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAKQEAgLTI2MSw3ICsyNjEs
NyBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjptZW51VW5tYXBwZWRDYWxsYmFjayhHdGtX
aWRnZXQqLCBXZWJQb3B1cE1lbnVQcm94eUd0awogICAgIC8vIFdoZW4gYW4gaXRlbSBpcyBhY3Rp
dmF0ZWQsIHRoZSBtZW51IGlzIGZpcnN0IGhpZGRlbiBhbmQgdGhlbiBhY3RpdmF0ZSBzaWduYWwg
aXMgZW1pdHRlZCwgc28gYXQgdGhpcyBwb2ludCB3ZSBkb24ndCBrbm93CiAgICAgLy8gaWYgdGhl
IG1lbnUgaGFzIGJlZW4gaGlkZGVuIGJlY2F1c2UgYW4gaXRlbSBoYXMgYmVlbiBzZWxlY3RlZCBv
ciBiZWNhdXNlIHRoZSBtZW51IGhhcyBiZWVuIGRpc21pc3NlZC4gV2FpdCB1bnRpbCB0aGUgbmV4
dAogICAgIC8vIG1haW4gbG9vcCBpdGVyYXRpb24gdG8gZGlzbWlzcyB0aGUgbWVudSwgaWYgYW4g
aXRlbSBpcyBhY3RpdmF0ZWQgdGhlIHRpbWVyIHdpbGwgYmUgY2FuY2VsbGVkLgotICAgIHBvcHVw
TWVudS0+bV9kaXNtaXNzTWVudVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBwb3B1cE1lbnUt
Pm1fZGlzbWlzc01lbnVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBXZWJQb3B1
cE1lbnVQcm94eUd0azo6c2VsZWN0SXRlbUNhbGxiYWNrKEd0a1dpZGdldCogaXRlbSwgV2ViUG9w
dXBNZW51UHJveHlHdGsqIHBvcHVwTWVudSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDgxOGJkMzkwZDQ4M2QwODIy
YmFlNzkzNGUxMDZmZGJiMGNkZmY4NTQuLmRmYWQzMmVjZWY4YzQwOGExMGIyNTkxZjhiMDM3Nzg2
MjE1MzM0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViSW5z
cGVjdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgY29uc3QgTlNVSW50
ZWdlciB3aW5kb3dTdHlsZU1hc2sgPSBOU1dpbmRvd1N0eWxlTWFza1RpdGxlZCB8IE5TV2luZG93
U3R5bAogCiAvLyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9z
aW5nIGl0IGFuZCBpdHMgcHJvY2Vzcy4KIC8vIFJldXNpbmcgdGhlIFdlYlZpZXcgaW1wcm92ZXMg
c3RhcnQgdXAgdGltZSBmb3IgcGVvcGxlIHRoYXQganVtcCBpbiBhbmQgb3V0IG9mIHRoZSBJbnNw
ZWN0b3IuCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgd2ViVmlld0Nsb3NlVGltZW91dCA9IDYwX3M7CiAKIC8vIFdL
V2ViSW5zcGVjdG9yUHJveHlPYmpDQWRhcHRlciBpcyBhIGhlbHBlciBPYmpDIG9iamVjdCB1c2Vk
IGFzIGEgZGVsZWdhdGUgb3Igbm90aWZpY2F0aW9uIG9ic2VydmVyCiAvLyBmb3IgdGhlIHNvbGUg
cHVycG9zZSBvZiBnZXR0aW5nIGJhY2sgaW50byB0aGUgQysrIGNvZGUgZnJvbSBhbiBPYmpDIGNh
bGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJM
b2FkZXJTdHJhdGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
TG9hZGVyU3RyYXRlZ3kuY3BwCmluZGV4IGU4OTFjZDAzMmIyZjQzNjY0YjY3ZTA2ZGJlY2NjOGVl
MDM1OGRkOGYuLmM1ZmNkZTk3N2E5ODFhMzYwZDUwMjY2NGU4YjU2MDA5YmZjNTJhMDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVn
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0
cmF0ZWd5LmNwcApAQCAtOTEsMTQgKzkxLDE0IEBAIFJlZlB0cjxOZXRzY2FwZVBsdWdJblN0cmVh
bUxvYWRlcj4gV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlUGx1Z2luU3RyZWFtTG9hZChGCiAg
ICAgcmV0dXJuIGxvYWRlcjsKIH0KIAotc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
bWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQorc3RhdGljIFNl
Y29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogewog
I2lmICFFTkFCTEUoTkVUV09SS19DQUNIRSkKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVybiAw
X3M7CiAjZW5kaWYKIAogICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgIHJldHVybiAwbXM7Cisg
ICAgICAgIHJldHVybiAwX3M7CiAKICAgICBzd2l0Y2ggKHJlc291cmNlLT50eXBlKCkpIHsKICAg
ICBjYXNlIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgpAQCAtMTA3LDkgKzEwNyw5IEBA
IHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENh
Y2hlZFJlc291cmNlKiByZXNvdXJjZSkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdGb250
UmVzb3VyY2U6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6
Ci0gICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAgICAg
ICAgcmV0dXJuIFNlY29uZHM6OmluZmluaXR5KCk7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
SW1hZ2VSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIDUwMG1zOworICAgICAgICByZXR1cm4gNTAw
X21zOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1lZGlhUmVzb3VyY2U6CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6TWFpblJlc291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlJh
d1Jlc291cmNlOgpAQCAtMTI0LDExICsxMjQsMTEgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQog
I2lmIEVOQUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6
CiAjZW5kaWYKLSAgICAgICAgcmV0dXJuIDBtczsKKyAgICAgICAgcmV0dXJuIDBfczsKICAgICB9
CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMG1zOworICAgIHJldHVy
biAwX3M7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJj
ZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgYm9vbCBz
aG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KQpAQCAtMjMxLDcgKzIzMSw3
IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYg
cmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291CiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hl
ZHVsZUludGVybmFsbHlGYWlsZWRMb2FkKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyJiByZXNvdXJj
ZUxvYWRlcikKIHsKICAgICBtX2ludGVybmFsbHlGYWlsZWRSZXNvdXJjZUxvYWRlcnMuYWRkKCZy
ZXNvdXJjZUxvYWRlcik7Ci0gICAgbV9pbnRlcm5hbGx5RmFpbGVkTG9hZFRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKKyAgICBtX2ludGVybmFsbHlGYWlsZWRMb2FkVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OmludGVybmFsbHlGYWlsZWRMb2FkVGlt
ZXJGaXJlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCmluZGV4IDQ5OTIwZjJj
YWE4NGY3NjliNjJkMjQ2MmE5Yzk4MDdmNTIwY2YzZWQuLjFjMWVlNjIxZDI0YjcwYWYzYWFkYTEz
MzEwNjI0MjdhMzAyYzYwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwCkBA
IC0yOTMsNyArMjkzLDcgQEAgdm9pZCBOUFJ1bnRpbWVPYmplY3RNYXA6OmFkZFRvSW52YWxpZGF0
aW9uUXVldWUoTlBPYmplY3QqIG5wT2JqZWN0KQogICAgIGlmICh0cnlTYWZlUmVsZWFzZU5QT2Jq
ZWN0KG5wT2JqZWN0KSkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChtX25wT2JqZWN0c1RvRmlu
YWxpemUuaXNFbXB0eSgpKQotICAgICAgICBtX2ZpbmFsaXphdGlvblRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgbV9maW5hbGl6YXRpb25UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICAg
ICBBU1NFUlQobV9maW5hbGl6YXRpb25UaW1lci5pc0FjdGl2ZSgpKTsKICAgICBtX25wT2JqZWN0
c1RvRmluYWxpemUuYXBwZW5kKG5wT2JqZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3Bw
CmluZGV4IDVjOWE5MTgyNDU2NmE0NjMwMTBjMGU3Mzk2ODAzNDU3ZTMzMzQ3N2QuLjFjZGZlY2Yz
YTkwOTdkNWY4ZDNhZGM3M2I3MWIwOTQ5MGM4MmE4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2lu
LmNwcApAQCAtMzI2LDcgKzMyNiw3IEBAIE5ldHNjYXBlUGx1Z2luOjpUaW1lcjo6flRpbWVyKCkK
IAogdm9pZCBOZXRzY2FwZVBsdWdpbjo6VGltZXI6OnN0YXJ0KCkKIHsKLSAgICBkb3VibGUgdGlt
ZUludGVydmFsID0gbV9pbnRlcnZhbCAvIDEwMDAuMDsKKyAgICBhdXRvIHRpbWVJbnRlcnZhbCA9
IFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMobV9pbnRlcnZhbCk7CiAKICAgICBpZiAobV9yZXBl
YXQpCiAgICAgICAgIG1fdGltZXIuc3RhcnRSZXBlYXRpbmcodGltZUludGVydmFsKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZVBsdWdpblN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwCmluZGV4IDdkNTRkODhjN2U4OThjNWNlMGJh
ZGYxZDc2OWIyZTVkMzVkOWEyNTQuLjIzNDk5MTMwY2M1OTY1YmNhNjFiN2I4MjgyZTk1ZDNhN2Zm
N2I3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcApAQCAtMjIyLDcg
KzIyMiw3IEBAIHZvaWQgTmV0c2NhcGVQbHVnaW5TdHJlYW06OmRlbGl2ZXJEYXRhVG9QbHVnaW4o
KQogCiAgICAgICAgIGlmIChudW1CeXRlc1BsdWdpbkNhbkhhbmRsZSA8PSAwKSB7CiAgICAgICAg
ICAgICAvLyBUaGUgcGx1Zy1pbiBjYW4ndCBoYW5kbGUgbW9yZSBkYXRhLCB3ZSdsbCBzZW5kIHRo
ZSByZXN0IGxhdGVyCi0gICAgICAgICAgICBtX2RlbGl2ZXJ5RGF0YVRpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKKyAgICAgICAgICAgIG1fZGVsaXZlcnlEYXRhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1t
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2Fw
ZVBsdWdpbk1hYy5tbQppbmRleCBiOTI2ZGIwOTAyZjViOGY3NTA0N2ZlYWRjMmM1NDNjNmFjYzJl
NWUwLi41MDQ0MmE3ZTY4NzJlMDkxMTNmYzNkNGM2MjY1ZDkyMTZlY2MzMzU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBl
UGx1Z2luTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KQEAgLTQ1LDcgKzQ1LDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmbmRlZiBOUF9OT19DQVJC
T04KLXN0YXRpYyBjb25zdCBkb3VibGUgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyOwor
c3RhdGljIGNvbnN0IFNlY29uZHMgbnVsbEV2ZW50SW50ZXJ2YWxBY3RpdmUgPSAwLjAyX3M7CiAK
IHN0YXRpYyB1bnNpZ25lZCBidXR0b25TdGF0ZUZyb21MYXN0TW91c2VFdmVudDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCmluZGV4IGFj
MWRhYWJhZDA2M2E0OTYyNmIzN2UwNDAyZTllYmY1NDkyZDNiMWIuLjM5MWMwZTg1ODMwOWQxMGE5
MmZmMzdkOGE3ZGQ3ZDk1M2UzMmFiODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gVGhpcyBzaW11bGF0ZWQgbW91
c2UgY2xpY2sgZGVsYXkgaW4gSFRNTFBsdWdJbkltYWdlRWxlbWVudC5jcHAgc2hvdWxkIGdlbmVy
YWxseSBiZSB0aGUgc2FtZSBvciBzaG9ydGVyIHRoYW4gdGhpcyBkZWxheS4KLXN0YXRpYyBjb25z
dCBhdXRvIHBsdWdpblNuYXBzaG90VGltZXJEZWxheSA9IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgeyAxMTAwIH07CitzdGF0aWMgY29uc3QgYXV0byBwbHVnaW5TbmFwc2hvdFRpbWVyRGVsYXkg
PSAxLjFfczsKIAogY2xhc3MgUGx1Z2luVmlldzo6VVJMUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFVSTFJlcXVlc3Q+IHsKIHB1YmxpYzoKQEAgLTExNjQsNyArMTE2NCw3IEBAIHZvaWQgUGx1
Z2luVmlldzo6cGVuZGluZ1VSTFJlcXVlc3RzVGltZXJGaXJlZCgpCiAKICAgICAvLyBJZiB0aGVy
ZSBhcmUgbW9yZSByZXF1ZXN0cyB0byBwZXJmb3JtLCByZXNjaGVkdWxlIHRoZSB0aW1lci4KICAg
ICBpZiAoIW1fcGVuZGluZ1VSTFJlcXVlc3RzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wZW5kaW5n
VVJMUmVxdWVzdHNUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fcGVuZGluZ1VSTFJl
cXVlc3RzVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAgICAgCiAgICAgcGVyZm9ybVVSTFJlcXVl
c3QodXJsUmVxdWVzdC5nZXQoKSk7CiB9CkBAIC0xNDIzLDcgKzE0MjMsNyBAQCB2b2lkIFBsdWdp
blZpZXc6OmxvYWRVUkwodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTdHJpbmcmIG1ldGhvZCwg
Y29uc3QgU3RyaW5nJgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
LnNldEhUVFBSZWZlcnJlcihyZWZlcnJlcik7CiAKICAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0cy5h
cHBlbmQoVVJMUmVxdWVzdDo6Y3JlYXRlKHJlcXVlc3RJRCwgZnJhbWVMb2FkUmVxdWVzdCwgYWxs
b3dQb3B1cHMpKTsKLSAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICBtX3BlbmRpbmdVUkxSZXF1ZXN0c1RpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogfQog
CiB2b2lkIFBsdWdpblZpZXc6OmNhbmNlbFN0cmVhbUxvYWQodWludDY0X3Qgc3RyZWFtSUQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0ZWRE
cmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxl
cmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggYjg3OGZiYzk4NDJlM2ViYWQ2N2Y2ZmY5OGQ3OTkw
YzljYTYzMDVlNS4uNzRlMmMyMzM3NGNhOWYzYzQ1ZWEzMDg5NzI2M2YzZjVhMWIxMWYzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkRHJh
d2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9BY2Nl
bGVyYXRlZERyYXdpbmdBcmVhLmNwcApAQCAtMzQyLDcgKzM0Miw3IEBAIHZvaWQgQWNjZWxlcmF0
ZWREcmF3aW5nQXJlYTo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlU29vbigpCiAgICAg
aWYgKGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZVBlbmRpbmcoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAg
bV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGluZ0Nv
b3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGYzZGFlZmM3ODc2
ZDk4M2JlMTVjOWJiYzJkYWFjMTgyNWU4YWJjMjcuLjFjZTc2MWQxYTUwZDgwMDBiY2FiODNlMjNj
NzgxZDQxOTMwN2QwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0xNTUsMTEgKzE1NSwxMSBAQCB2b2lkIENvbXBv
c2l0aW5nQ29vcmRpbmF0b3I6OnN5bmNEaXNwbGF5U3RhdGUoKQogfQogCiAjaWYgRU5BQkxFKFJF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotZG91YmxlIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6Om5l
eHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0CitTZWNvbmRzIENvbXBvc2l0aW5nQ29vcmRp
bmF0b3I6Om5leHRBbmltYXRpb25TZXJ2aWNlVGltZSgpIGNvbnN0CiB7CiAgICAgLy8gQWNjb3Jk
aW5nIHRvIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc3BlYywgckFGIGNhbGxiYWNrcyBzaG91
bGQgbm90IGJlIGZhc3RlciB0aGFuIDYwRlBTLgotICAgIHN0YXRpYyBjb25zdCBkb3VibGUgTWlu
aW1hbFRpbWVvdXRGb3JBbmltYXRpb25zID0gMS4gLyA2MC47Ci0gICAgcmV0dXJuIHN0ZDo6bWF4
PGRvdWJsZT4oMC4sIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyAtIHRpbWVzdGFtcCgpICsg
bV9sYXN0QW5pbWF0aW9uU2VydmljZVRpbWUpOworICAgIHN0YXRpYyBjb25zdCBTZWNvbmRzIE1p
bmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyA9IFNlY29uZHMoMS4wIC8gNjApOworICAgIHJldHVy
biBzdGQ6Om1heDxTZWNvbmRzPigwX3MsIE1pbmltYWxUaW1lb3V0Rm9yQW5pbWF0aW9ucyAtIFNl
Y29uZHModGltZXN0YW1wKCkgKyBtX2xhc3RBbmltYXRpb25TZXJ2aWNlVGltZSkpOwogfQogI2Vu
ZGlmCiAKQEAgLTM5OCw3ICszOTgsNyBAQCBib29sIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnBh
aW50VG9TdXJmYWNlKGNvbnN0IEludFNpemUmIHNpemUsIENvb3JkaW5hdGVkU3VyZgogICAgIHJl
dHVybiBtX3VwZGF0ZUF0bGFzZXMubGFzdCgpLT5wYWludE9uQXZhaWxhYmxlQnVmZmVyKHNpemUs
IGF0bGFzSUQsIG9mZnNldCwgY2xpZW50KTsKIH0KIAotY29uc3QgZG91YmxlIFJlbGVhc2VJbmFj
dGl2ZUF0bGFzZXNUaW1lckludGVydmFsID0gMC41OworY29uc3QgU2Vjb25kcyBSZWxlYXNlSW5h
Y3RpdmVBdGxhc2VzVGltZXJJbnRlcnZhbCA9IDAuNV9zOwogCiB2b2lkIENvbXBvc2l0aW5nQ29v
cmRpbmF0b3I6OnNjaGVkdWxlUmVsZWFzZUluYWN0aXZlQXRsYXNlcygpCiB7CkBAIC00MTQsNyAr
NDE0LDcgQEAgdm9pZCBDb21wb3NpdGluZ0Nvb3JkaW5hdG9yOjpyZWxlYXNlSW5hY3RpdmVBdGxh
c2VzVGltZXJGaXJlZCgpCiAgICAgZm9yIChpbnQgaSA9IG1fdXBkYXRlQXRsYXNlcy5zaXplKCkg
LSAxOyAgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgVXBkYXRlQXRsYXMqIGF0bGFzID0gbV91cGRh
dGVBdGxhc2VzW2ldLmdldCgpOwogICAgICAgICBpZiAoIWF0bGFzLT5pc0luVXNlKCkpCi0gICAg
ICAgICAgICBhdGxhcy0+YWRkVGltZUluYWN0aXZlKFJlbGVhc2VJbmFjdGl2ZUF0bGFzZXNUaW1l
ckludGVydmFsKTsKKyAgICAgICAgICAgIGF0bGFzLT5hZGRUaW1lSW5hY3RpdmUoUmVsZWFzZUlu
YWN0aXZlQXRsYXNlc1RpbWVySW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgICAgIGJvb2wgdXNhYmxl
Rm9yUm9vdENvbnRlbnRzTGF5ZXIgPSAhYXRsYXMtPnN1cHBvcnRzQWxwaGEoKTsKICAgICAgICAg
aWYgKGF0bGFzLT5pc0luYWN0aXZlKCkpIHsKICAgICAgICAgICAgIGlmICghZm91bmRBY3RpdmVB
dGxhc0ZvclJvb3RDb250ZW50c0xheWVyICYmICFhdGxhc1RvS2VlcEFueXdheSAmJiB1c2FibGVG
b3JSb290Q29udGVudHNMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuaAppbmRleCBmOThhMzZiYzI3YTdmMmJjZTE3N2QxMjdjZjk3
ZjY5ZGJlMWM3NTFhLi5lYmY2NWJiN2Y5Y2RiN2VjZTI3YmNmMDEwMzM3NWQ0Y2ZkOGUyMzg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRv
ci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN5bmNEaXNwbGF5U3RhdGUo
KTsKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLSAgICBkb3VibGUgbmV4
dEFuaW1hdGlvblNlcnZpY2VUaW1lKCkgY29uc3Q7CisgICAgU2Vjb25kcyBuZXh0QW5pbWF0aW9u
U2VydmljZVRpbWUoKSBjb25zdDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXgg
OWY2YTgzMjFlM2YyNTFhYTVlMzZlNTM3MThkOGNhYTk3NzgwOTU2YS4uYzQ3YmIwN2NkNWQ1ZjI2
MDdlODM3NWVhMGQ1YmU0NzJjNjQ0YTU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC03OSw3ICs3OSw3IEBA
IHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpzY2hlZHVsZUxheWVyRmx1c2goKQogICAg
ICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fbGF5ZXJGbHVzaFRpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICAgICAgbV9sYXll
ckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0OjpjYW5jZWxQZW5kaW5nTGF5ZXJGbHVzaCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDU0YjRl
YWQ5ODNmNzU2YmQxNDhlMWFmNGNiZWQ2NDczOTgwNzk0MmQuLjBkMWI1MTAxMDY4NTE4NWY4MDMx
OWU5MDhiZWNmNzQ4Y2E1NThiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBAIC0zNDIsNyArMzQyLDcgQEAgdm9p
ZCBEcmF3aW5nQXJlYUltcGw6OnNjaGVkdWxlRGlzcGxheSgpCiAgICAgaWYgKG1fZGlzcGxheVRp
bWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZGlzcGxheVRpbWVyLnN0
YXJ0T25lU2hvdCgwKTsKKyAgICBtX2Rpc3BsYXlUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0K
IAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXlUaW1lckZpcmVkKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBlOGJjODg5ZGNhMDNl
YmRhMTJhYTY0MGQ5Mzk1YTI5ZTZlYTVjZTJkLi41YmE4Y2E5NGVjZDIxZGI4M2Q5ZjE4ZTEzNWQw
M2VhODE1MDdmNjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC0yNTMsOSArMjUzLDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgZG91YmxlIHBhZ2VTY3JvbGxIeXN0
ZXJlc2lzU2Vjb25kcyA9IDAuMzsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGluaXRpYWxMYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsIHsgMjAgfTsKLXN0YXRpYyBj
b25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRl
cnZhbCB7IDIgfTsKK3N0YXRpYyBjb25zdCBTZWNvbmRzIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzID0g
MC4zX3M7CitzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJ
bnRlcnZhbCA9IDIwX21zOworc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUxheWVyVm9sYXRp
bGl0eVRpbWVySW50ZXJ2YWwgPSAyX3M7CiAKICNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCguLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBMYXllcnMs
IF9fVkFfQVJHU19fKQogI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKC4uLikg
UkVMRUFTRV9MT0dfRVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIExheWVycywg
X19WQV9BUkdTX18pCkBAIC0zMTUsNyArMzE1LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRf
dCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKCp0aGlzKQogI2VuZGlmCi0gICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMo
W3RoaXNdKEh5c3RlcmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0
YXRlOjpTdG9wcGVkKSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVy
ZXNpc1NlY29uZHMpCisgICAgLCBtX3BhZ2VTY3JvbGxlZEh5c3RlcmVzaXMoW3RoaXNdKEh5c3Rl
cmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gSHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVk
KSBwYWdlU3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpcykKICAgICAs
IG1fY2FuUnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKHBhcmFtZXRlcnMuY2FuUnVuQmVmb3Jl
VW5sb2FkQ29uZmlybVBhbmVsKQogICAgICwgbV9jYW5SdW5Nb2RhbChwYXJhbWV0ZXJzLmNhblJ1
bk1vZGFsKQogI2lmIFBMQVRGT1JNKElPUykKQEAgLTIwNjIsNyArMjA2Miw3IEBAIHZvaWQgV2Vi
UGFnZTo6Y2FsbFZvbGF0aWxpdHlDb21wbGV0aW9uSGFuZGxlcnMoKQogCiB2b2lkIFdlYlBhZ2U6
OmxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQoKQogewotICAgIGF1dG8gbmV3SW50ZXJ2YWwgPSAy
ICogbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbE1TKCk7CisgICAgYXV0byBu
ZXdJbnRlcnZhbCA9IG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIucmVwZWF0SW50ZXJ2YWwoKSAqIDI7
CiAgICAgYm9vbCBkaWRTdWNjZWVkID0gbWFya0xheWVyc1ZvbGF0aWxlSW1tZWRpYXRlbHlJZlBv
c3NpYmxlKCk7CiAgICAgaWYgKGRpZFN1Y2NlZWQgfHwgbmV3SW50ZXJ2YWwgPiBtYXhpbXVtTGF5
ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCkgewogICAgICAgICBtX2xheWVyVm9sYXRpbGl0eVRp
bWVyLnN0b3AoKTsKQEAgLTIwNzEsNyArMjA3MSw3IEBAIHZvaWQgV2ViUGFnZTo6bGF5ZXJWb2xh
dGlsaXR5VGltZXJGaXJlZCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNF
X0xPR19FUlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBhbGwg
bGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQgbXMiLCB0aGlzLCBzdGF0aWNf
Y2FzdDxsb25nIGxvbmc+KG5ld0ludGVydmFsLmNvdW50KCkpKTsKKyAgICBSRUxFQVNFX0xPR19F
UlJPUl9JRl9BTExPV0VEKCIlcCAtIFdlYlBhZ2UgLSBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJz
IGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICUuM2YgcyIsIHRoaXMsIG5ld0ludGVydmFsLnZh
bHVlKCkpOwogICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRpbmcobmV3SW50
ZXJ2YWwpOwogfQogCkBAIC0yMTAyLDcgKzIxMDIsNyBAQCB2b2lkIFdlYlBhZ2U6Om1hcmtMYXll
cnNWb2xhdGlsZShzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiJXAgLSBG
YWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVsbGQg
bXMiLCB0aGlzLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5jb3VudCgpKTsK
KyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCIlcCAtIEZhaWxlZCB0byBtYXJrIGFsbCBsYXll
cnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJS4zZiBzIiwgdGhpcywgaW5pdGlhbExheWVy
Vm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwudmFsdWUoKSk7CiAgICAgbV9sYXllclZvbGF0aWxpdHlU
aW1lci5zdGFydFJlcGVhdGluZyhpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCk7
CiB9CiAKQEAgLTI1NDEsNyArMjU0MSw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlSXNJbldpbmRv
dyhib29sIGlzSW5pdGlhbFN0YXRlKQogICAgICAgICAvLyBpbiBvcmRlciB0byBnZXQgcGx1Zy1p
biBjb25uZWN0aW9ucywgYW5kIHRoZSBVSSBwcm9jZXNzIHdpbGwgYmUgd2FpdGluZyBmb3IgdGhl
IFdlYiBwcm9jZXNzIHRvIHVwZGF0ZSB0aGUgYmFja2luZwogICAgICAgICAvLyBzdG9yZSBhZnRl
ciBtb3ZpbmcgdGhlIHZpZXcgaW50byBhIHdpbmRvdywgdW50aWwgaXQgdGltZXMgb3V0IGFuZCBw
YWludHMgd2hpdGUuIFNlZSA8cmRhcjovL3Byb2JsZW0vOTI0Mjc3MT4uCiAgICAgICAgIGlmICht
X21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cpCi0gICAgICAgICAgICBtX3NldENhblN0YXJ0TWVk
aWFUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgICAgICBtX3NldENhblN0YXJ0TWVkaWFU
aW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5wYWdlRGlkRW50ZXJXaW5kb3cobV9wYWdlSUQpOwogICAgIH0KQEAgLTM4NzMsNyArMzg3Myw3
IEBAIHZvaWQgV2ViUGFnZTo6YWRkUGx1Z2luVmlldyhQbHVnaW5WaWV3KiBwbHVnaW5WaWV3KQog
ICAgIG1faGFzU2VlblBsdWdpbiA9IHRydWU7CiAjaWYgRU5BQkxFKFBSSU1BUllfU05BUFNIT1RU
RURfUExVR0lOX0hFVVJJU1RJQykKICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBE
ZXRlY3Rpb246IHRyaWdnZXJpbmcgZGV0ZWN0aW9uIGZyb20gYWRkUGx1Z2luVmlldyglcCkiLCBw
bHVnaW5WaWV3KTsKLSAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX2RldGVybWluZVByaW1hcnlTbmFwc2hvdHRlZFBsdWdJ
blRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwogI2VuZGlmCiB9CiAKQEAgLTQ0MTAsNyArNDQxMCw3
IEBAIHZvaWQgV2ViUGFnZTo6c2V0TWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyhib29sIG1heVN0
YXJ0TWVkaWEpCiAKICAgICBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgPSBtYXlTdGFydE1l
ZGlhOwogICAgIGlmIChtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3cgJiYgbV9wYWdlLT5pc0lu
V2luZG93KCkpCi0gICAgICAgIG1fc2V0Q2FuU3RhcnRNZWRpYVRpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKKyAgICAgICAgbV9zZXRDYW5TdGFydE1lZGlhVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgV2ViUGFnZTo6cnVuTW9kYWwoKQpAQCAtNTE4OCw3ICs1MTg4LDcgQEAgdm9pZCBX
ZWJQYWdlOjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAogICAgIG1fcmVhZHlUb0Zp
bmRQcmltYXJ5U25hcHNob3R0ZWRQbHVnaW4gPSB0cnVlOwogICAgIExPRyhQbHVnaW5zLCAiUHJp
bWFyeSBQbHVnLUluIERldGVjdGlvbjogdHJpZ2dlcmluZyBkZXRlY3Rpb24gZnJvbSBkaWRGaW5p
c2hMb2FkIChtYXJraW5nIGFzIHJlYWR5IHRvIGRldGVjdCkuIik7Ci0gICAgbV9kZXRlcm1pbmVQ
cmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9kZXRl
cm1pbmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoMF9zKTsKICNl
bHNlCiAgICAgVU5VU0VEX1BBUkFNKGZyYW1lKTsKICNlbmRpZgpAQCAtNTIwMCw3ICs1MjAwLDcg
QEAgc3RhdGljIGNvbnN0IGZsb2F0IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJblNlYXJjaEJ1Y2tl
dFNpemUgPSAxLjE7CiBzdGF0aWMgY29uc3QgaW50IHByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbk1p
bmltdW1XaWR0aCA9IDQwMDsKIHN0YXRpYyBjb25zdCBpbnQgcHJpbWFyeVNuYXBzaG90dGVkUGx1
Z0luTWluaW11bUhlaWdodCA9IDMwMDsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhQcmltYXJ5
U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25BdHRlbXB0cyA9IDI7Ci1zdGF0aWMgY29uc3QgaW50
IGRlZmVycmVkUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luRGV0ZWN0aW9uRGVsYXkgPSAzOworc3Rh
dGljIGNvbnN0IFNlY29uZHMgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rp
b25EZWxheSA9IDNfczsKIHN0YXRpYyBjb25zdCBmbG9hdCBvdmVybGFwcGluZ0ltYWdlQm91bmRz
U2NhbGUgPSAxLjE7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWluaW11bU92ZXJsYXBwaW5nSW1hZ2VU
b1BsdWdpbkRpbWVuc2lvblNjYWxlID0gLjk7CiAKQEAgLTUzMDgsNyArNTMwOCw3IEBAIHZvaWQg
V2ViUGFnZTo6ZGV0ZXJtaW5lUHJpbWFyeVNuYXBzaG90dGVkUGx1Z0luKCkKICAgICBpZiAoIWNh
bmRpZGF0ZVBsdWdJbikgewogICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBE
ZXRlY3Rpb246IGZhaWwgLSBkaWQgbm90IGZpbmQgYSBjYW5kaWRhdGUgcGx1Zy1pbi4iKTsKICAg
ICAgICAgaWYgKG1fbnVtYmVyT2ZQcmltYXJ5U25hcHNob3REZXRlY3Rpb25BdHRlbXB0cyA8IG1h
eFByaW1hcnlTbmFwc2hvdHRlZFBsdWdJbkRldGVjdGlvbkF0dGVtcHRzKSB7Ci0gICAgICAgICAg
ICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rpb246IHdpbGwgYXR0ZW1wdCBh
Z2FpbiBpbiAlZHMuIiwgZGVmZXJyZWRQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25E
ZWxheSk7CisgICAgICAgICAgICBMT0coUGx1Z2lucywgIlByaW1hcnkgUGx1Zy1JbiBEZXRlY3Rp
b246IHdpbGwgYXR0ZW1wdCBhZ2FpbiBpbiAlLjNmcy4iLCBkZWZlcnJlZFByaW1hcnlTbmFwc2hv
dHRlZFBsdWdJbkRldGVjdGlvbkRlbGF5LnZhbHVlKCkpOwogICAgICAgICAgICAgbV9kZXRlcm1p
bmVQcmltYXJ5U25hcHNob3R0ZWRQbHVnSW5UaW1lci5zdGFydE9uZVNob3QoZGVmZXJyZWRQcmlt
YXJ5U25hcHNob3R0ZWRQbHVnSW5EZXRlY3Rpb25EZWxheSk7CiAgICAgICAgIH0KICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggOTA5ZDJmOTEyNjZjZDhmZDUxOTYxOGVkMGQxYzU3ZTA5MmZmYzU5OC4uNzViZjQ2YjIzZTM5
N2M4NTE0MTg0ZTBmZTFiYWI0NjA5YWE3OWFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0zMDAsNyArMzAwLDcgQEAgcHVibGljOgogICAgIGJv
b2wgaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY3RpdmVQ
b3B1cE1lbnUoV2ViUG9wdXBNZW51Kik7CiAKLSAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbGltaXQpCisg
ICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChTZWNvbmRz
IGxpbWl0KQogICAgIHsKICAgICAgICAgbV9wYWdlLT5zZXRUaW1lckFsaWdubWVudEludGVydmFs
SW5jcmVhc2VMaW1pdChsaW1pdCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0KaW5kZXggNWE2NzMzNGQ4YWEzYTQ2MWIzMzhlMGI4ZWE4NDA3MWRkYzhkMDdkNC4u
OTFkOGE1NjUxZjg3NjAzNTg0MzE0ZWM2ZGZmYjEyNzMxOGRjY2UwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCkBAIC0yODUsNyArMjg1LDcgQEAgVGlsZWRCYWNraW5n
KiBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6bWFpbkZyYW1lVGlsZWRCYWNraW5nKCkgY29u
c3QKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyRmx1c2hJbW1lZGlhdGVseSgpCiB7Ci0gICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRP
bmVTaG90KDBtcyk7CisgICAgbV9sYXllckZsdXNoVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiB9
CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKCkKQEAgLTMwNCw5ICszMDQsOSBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJGbHVzaCgpCiAgICAgaWYgKG1fbGF5ZXJG
bHVzaFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IGF1dG8g
aW5pdGlhbEZsdXNoRGVsYXkgPSA1MDBtczsKLSAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAx
NTAwbXM7Ci0gICAgYXV0byB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNo
ZXMgPyAobV9pc0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkg
OiBmbHVzaERlbGF5KSA6IDBtczsKKyAgICBjb25zdCBhdXRvIGluaXRpYWxGbHVzaERlbGF5ID0g
MC41X3M7CisgICAgY29uc3QgYXV0byBmbHVzaERlbGF5ID0gMS41X3M7CisgICAgYXV0byB0aHJv
dHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9pc0luaXRpYWxUaHJv
dHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERlbGF5KSA6IDBfczsK
ICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsKIAogICAgIG1fbGF5
ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IGY0ZWVhMDFmZTZlYTU3MWMzYjVjYjQz
MGY5YzE4NzQzY2U5YTQwY2MuLmNjY2YxYWMyMDU1NzhkYzRjYWM1ZjE4ZmRhMTk4ZmM3ZTdkMWQw
NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNDcy
LDcgKzQ3Miw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmFjdGl2aXR5
U3RhdGVEaWRDaGFuZ2UoQWN0aXZpdHlTdGF0ZTo6RmxhZ3MKICAgICB9CiAKICAgICBpZiAobV93
YW50c0RpZFVwZGF0ZUFjdGl2aXR5U3RhdGUgfHwgIW1fbmV4dEFjdGl2aXR5U3RhdGVDaGFuZ2VD
YWxsYmFja0lEcy5pc0VtcHR5KCkpCi0gICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5U3Rh
dGVUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgICAgIG1fc2VuZERpZFVwZGF0ZUFjdGl2aXR5
U3RhdGVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYTo6ZGlkVXBkYXRlQWN0aXZpdHlTdGF0ZVRpbWVyRmlyZWQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZGQwMGExOGQ5YjYyMTY1ZDkz
NjJhOTgyZTRmZTc2NTg4NzFlNTE5YS4uMjYzMmRiYWZiMjRjNjcyYjVjZTM0NTQxYzU4NDg4ZmQ2
OTgwNjJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0x
NDIsNyArMTQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBzdGF0aWMgY29uc3QgZG91
YmxlIHBsdWdJbkF1dG9TdGFydEV4cGlyYXRpb25UaW1lVXBkYXRlVGhyZXNob2xkID0gMjkgKiAy
NCAqIDYwICogNjA7CiAKIC8vIFRoaXMgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aWxlUmV2YWxp
ZGF0aW9uVGltZW91dCBpbiBUaWxlQ29udHJvbGxlci4KLXN0YXRpYyBjb25zdCBkb3VibGUgbm9u
VmlzaWJsZVByb2Nlc3NDbGVhbnVwRGVsYXkgPSAxMDsKK3N0YXRpYyBjb25zdCBhdXRvIG5vblZp
c2libGVQcm9jZXNzQ2xlYW51cERlbGF5ID0gMTBfczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
QEAgLTIxMSw3ICsyMTEsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICAgICAgICAgaWYg
KG1fc3RhdGlzdGljc0NoYW5nZWRUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICAKLSAgICAgICAgbV9zdGF0aXN0aWNzQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hv
dChzdGQ6OmNocm9ubzo6c2Vjb25kcyg1KSk7CisgICAgICAgIG1fc3RhdGlzdGljc0NoYW5nZWRU
aW1lci5zdGFydE9uZVNob3QoNV9zKTsKICAgICB9KTsKIH0KIApAQCAtNTM4LDcgKzUzOCw3IEBA
IHZvaWQgV2ViUHJvY2Vzczo6c2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjbSkKICAgICB1bnNpZ25l
ZCBjYWNoZVRvdGFsQ2FwYWNpdHkgPSAwOwogICAgIHVuc2lnbmVkIGNhY2hlTWluRGVhZENhcGFj
aXR5ID0gMDsKICAgICB1bnNpZ25lZCBjYWNoZU1heERlYWRDYXBhY2l0eSA9IDA7Ci0gICAgYXV0
byBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsID0gc3RkOjpjaHJvbm86OnNlY29uZHMg
eyAwIH07CisgICAgU2Vjb25kcyBkZWFkRGVjb2RlZERhdGFEZWxldGlvbkludGVydmFsOwogICAg
IHVuc2lnbmVkIHBhZ2VDYWNoZVNpemUgPSAwOwogICAgIGNhbGN1bGF0ZU1lbW9yeUNhY2hlU2l6
ZXMoY2FjaGVNb2RlbCwgY2FjaGVUb3RhbENhcGFjaXR5LCBjYWNoZU1pbkRlYWRDYXBhY2l0eSwg
Y2FjaGVNYXhEZWFkQ2FwYWNpdHksIGRlYWREZWNvZGVkRGF0YURlbGV0aW9uSW50ZXJ2YWwsIHBh
Z2VDYWNoZVNpemUpOwogCkBAIC0xMjQ0LDEwICsxMjQ0LDEwIEBAIHZvaWQgV2ViUHJvY2Vzczo6
ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IE9wdGlvCiAgICAgfQogfQogCi12b2lkIFdlYlByb2Nlc3M6OnNldEhpZGRlblBhZ2VUaW1lclRo
cm90dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCit2b2lkIFdlYlByb2Nlc3M6
OnNldEhpZGRlblBhZ2VUaW1lclRocm90dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQp
CiB7CiAgICAgZm9yIChhdXRvJiBwYWdlIDogbV9wYWdlTWFwLnZhbHVlcygpKQotICAgICAgICBw
YWdlLT5zZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kcykpOworICAgICAgICBwYWdlLT5zZXRIaWRkZW5Q
YWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VMaW1pdChsaW1pdCk7CiB9CiAKICNpZiAhUExBVEZP
Uk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDJhOTY0
MWJmZDU0ZTgzNDc4Mjg0ZDY1YTVlYTM1NzFhMWYyN2I1YjkuLjMzM2ZkYjZjMTY1NTliOTgzYzc3
NTY2ZGIzODM0ZWY3YzRmOTA3YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCkBAIC0xODgsNyArMTg4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVBY3RpdmVQ
YWdlcygpOwogCi0gICAgdm9pZCBzZXRIaWRkZW5QYWdlVGltZXJUaHJvdHRsaW5nSW5jcmVhc2VM
aW1pdChpbnQgbWlsbGlzZWNvbmRzKTsKKyAgICB2b2lkIHNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMpOwogCiAgICAgdm9pZCBwcm9jZXNzV2lsbFN1c3Bl
bmRJbW1pbmVudGx5KGJvb2wmIGhhbmRsZWQpOwogICAgIHZvaWQgcHJlcGFyZVRvU3VzcGVuZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IDZkNzZlNTgzMjZlZDM1MjRhYWM1YTk4NmM0OTkwNjc4YTUyNDE2NmIuLjI1OTA0NDk4
YTZlNGE5NzA2YjFmYzFkNjY5YjFlMWM2Yjc4MjAyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTgwLDcgKzgwLDcgQEAgbWVz
c2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGVsZXRlV2Vic2l0ZURh
dGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0
aW1lX3BvaW50IG1vZGlmaWVkU2luY2UpIC0+ICgpCiAgICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JP
cmlnaW5zKFdlYkNvcmU6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6Oldl
YnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YT4gb3JpZ2lucykgLT4gKCkKIAotICAgIFNldEhpZGRlblBhZ2VUaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KGludCBtaWxsaXNlY29uZHMpCisgICAgU2V0SGlkZGVuUGFnZVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKICAgICBTZXRQcm9jZXNz
U3VwcHJlc3Npb25FbmFibGVkKGJvb2wgZmxhZykKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBT
ZXRRT1MoaW50IGxhdGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE2ZTA1OGFlN2RiZDkzYzgxYzM3
NDVlZjQ2OWRhZTU0Y2ZjM2I2M2EuLmEzNjM2YzNmYWZkMjBlZWQyY2JmZGE1NDdmZjk4OTNjOTRm
ZDk5MGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxNi0xMi0wNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2UgVGltZXJzIHRvIHVzZSBvbmx5IFNlY29uZHMs
IG5vdCByYXcgZG91YmxlcyBvciBzdGQ6OmNocm9ubworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29w
LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE2LTEyLTA0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggYSBidWls
ZCBicmVhayBvbiBFRkwgc2luY2UgcjIwOTMwMy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvUnVuTG9vcC5jcHAKaW5kZXggMWRjN2U5MzhhNzZlOTk0YmU5NzY5OGVlODA1Y2M2ZmZlZDZm
ZTNkYi4uNWE0ODkyOGZjYjVmMDgyMTYxOGE4ZDJhNDdhYTUxOGZiZGQzYjU2MyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAKQEAgLTk1LDcgKzk1LDcgQEAgVEVT
VChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogCiAgICAgewogICAgICAgICBEZXJpdmVkVGlt
ZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKLSAgICAgICAgdGltZXIuc3RhcnRPbmVTaG90KDAuMSk7
CisgICAgICAgIHRpbWVyLnN0YXJ0T25lU2hvdCgwLjFfcyk7CiAgICAgICAgIFV0aWw6OnJ1bigm
dGVzdEZpbmlzaGVkKTsKICAgICB9CiB9CkBAIC0xMjksNyArMTI5LDcgQEAgVEVTVChXVEZfUnVu
TG9vcCwgUmVwZWF0aW5nVGltZXIpCiAKICAgICB7CiAgICAgICAgIERlcml2ZWRUaW1lciB0aW1l
cih0ZXN0RmluaXNoZWQpOwotICAgICAgICB0aW1lci5zdGFydFJlcGVhdGluZygwLjAxKTsKKyAg
ICAgICAgdGltZXIuc3RhcnRSZXBlYXRpbmcoMC4wMV9zKTsKICAgICAgICAgVXRpbDo6cnVuKCZ0
ZXN0RmluaXNoZWQpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKaW5kZXggYTlmN2Y0
MDljMDliZjk4M2Q0YTc0YjgzZGYzYTkxZTZkYjU5ZjI3ZS4uOTcwMzkwNzY0NTk1MmJkZDdiOTYz
OTE3NzFmZTVlZDQ5Yjg1ZWM4NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKQEAgLTQ4LDcgKzQ4
LDcgQEAgdm9pZCBUZXN0UnVubmVyOjppbml0aWFsaXplV2FpdFRvRHVtcFdhdGNoZG9nVGltZXJJ
Zk5lZWRlZCgpCiAgICAgaWYgKG1fd2FpdFRvRHVtcFdhdGNoZG9nVGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV93YWl0VG9EdW1wV2F0Y2hkb2dUaW1lci5zdGFydE9u
ZVNob3QobV90aW1lb3V0IC8gMTAwMC4wKTsKKyAgICBtX3dhaXRUb0R1bXBXYXRjaGRvZ1RpbWVy
LnN0YXJ0T25lU2hvdChTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKG1fdGltZW91dCkpOwogfQog
CiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6cGF0aFRvTG9jYWxSZXNvdXJj
ZShKU1N0cmluZ1JlZiB1cmwpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>